:root{--bg: #F8F4EF;--bg2: #EDE8E1;--surface: #ffffff;--border: rgba(47,42,47,.1);--border2: rgba(47,42,47,.18);--text: #2F2A2F;--muted: rgba(47,42,47,.52);--faint: rgba(47,42,47,.05);--purple: #4B2E4F;--purple-light: #6B4570;--purple-dim: rgba(75,46,79,.09);--purple-border: rgba(75,46,79,.22);--gold: #c47a2a;--gold-bright: #F4A460;--gold-dim: rgba(244,164,96,.1);--gold-border: rgba(244,164,96,.25);--sage: #3d8a6a;--sage-dim: rgba(61,138,106,.08);--sage-border: rgba(61,138,106,.22);--rose: #D98C9A;--rose-dim: rgba(217,140,154,.1);--safe-top: env(safe-area-inset-top, 24px);--safe-bottom: env(safe-area-inset-bottom, 20px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden;background:var(--bg)}body{color:var(--text);font-family:DM Sans,sans-serif;max-width:430px;margin:0 auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.6}button{font-family:DM Sans,sans-serif;cursor:pointer}input,textarea{font-family:DM Sans,sans-serif}::-webkit-scrollbar{display:none}*{scrollbar-width:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.f1{opacity:0;animation:fadeUp .5s ease forwards}.f2{opacity:0;animation:fadeUp .5s ease .08s forwards}.f3{opacity:0;animation:fadeUp .5s ease .16s forwards}.f4{opacity:0;animation:fadeUp .5s ease .24s forwards}.f5{opacity:0;animation:fadeUp .5s ease .32s forwards}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + 10px) 20px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.logo{font-family:Lora,serif;font-size:17px;font-style:italic;color:var(--gold);letter-spacing:.04em}.header-right{display:flex;align-items:center;gap:8px}.streak-chip{font-size:12px;font-weight:500;color:var(--muted);background:var(--faint);border:1px solid var(--border2);border-radius:20px;padding:4px 10px;letter-spacing:.03em}.scroll{flex:1;overflow-y:auto;padding:20px 18px calc(var(--safe-bottom) + 80px);display:flex;flex-direction:column;gap:14px}.greeting{padding:4px 2px}.greeting-date{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.greeting-headline{font-family:Lora,serif;font-size:22px;font-weight:400;color:var(--text);line-height:1.35}.showup-wrap{display:flex;flex-direction:column;gap:8px}.showup-btn{background:var(--purple-dim);border:1.5px solid var(--purple-border);border-radius:22px;padding:11px 18px;font-size:13px;font-weight:600;color:var(--purple);letter-spacing:.04em;text-align:left;transition:background .2s,border-color .2s}.showup-btn.done{background:var(--gold-dim);border-color:var(--gold-border);color:var(--gold)}.progress-row{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:4px;background:var(--border2);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--gold);border-radius:4px;transition:width .4s ease}.progress-label{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 8px #2f2a2f0a}.card-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.feeling-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.feel-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;background:var(--faint);border:1.5px solid var(--border);border-radius:13px;cursor:pointer;transition:all .18s}.feel-btn.selected{background:var(--purple-dim);border-color:var(--purple-border)}.feel-emoji{font-size:22px;line-height:1}.feel-label{font-size:11px;font-weight:500;color:var(--muted);text-align:center}.feel-btn.selected .feel-label{color:var(--purple)}.rec-wrap{display:none}.rec-wrap.show{display:block;animation:fadeUp .3s ease}.rec-card{display:flex;align-items:center;gap:12px;background:var(--purple-dim);border:1px solid var(--purple-border);border-radius:13px;padding:14px;cursor:pointer;transition:background .2s}.rec-card:active{background:#4b2e4f26}.rec-icon{font-size:26px;flex-shrink:0}.rec-info{flex:1;min-width:0}.rec-tag{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-light);margin-bottom:2px}.rec-name{font-family:Lora,serif;font-size:15px;color:var(--text);margin-bottom:2px}.rec-desc{font-size:12px;color:var(--muted);line-height:1.45}.rec-arr{font-size:16px;color:var(--purple);flex-shrink:0}.iam-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 8px #2f2a2f0a}.iam-header{display:flex;justify-content:space-between;align-items:center}.iam-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}.notes-area{width:100%;min-height:80px;background:var(--faint);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:14px;color:var(--text);line-height:1.6;resize:none;outline:none;margin-bottom:10px}.notes-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.notes-tags{display:flex;gap:6px;flex-wrap:wrap}.tag-pill{font-size:11px;font-weight:500;padding:4px 10px;border-radius:20px;background:var(--faint);border:1px solid var(--border2);color:var(--muted);cursor:pointer;transition:all .15s}.tag-pill.active{background:var(--purple-dim);border-color:var(--purple-border);color:var(--purple)}.notes-save{font-size:12px;font-weight:600;color:var(--purple);background:var(--purple-dim);border:1px solid var(--purple-border);border-radius:20px;padding:6px 14px;white-space:nowrap}.theme-card{background:linear-gradient(135deg,var(--gold-dim) 0%,rgba(61,138,106,.06) 100%);border:1px solid var(--gold-border);border-radius:16px;padding:18px}.theme-from{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.theme-title{font-family:Lora,serif;font-size:17px;font-style:italic;color:var(--text);margin-bottom:8px;line-height:1.4}.theme-body{font-size:13px;color:var(--muted);line-height:1.65}.bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#f8f4efeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:8px 0 calc(var(--safe-bottom) + 4px);z-index:100}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;padding:4px 0}.ni{font-size:20px;line-height:1;transition:transform .15s}.nl{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.03em}.nav-btn.active .ni{transform:scale(1.1)}.nav-btn.active .nl{color:var(--purple);font-weight:600}.iam-screen-header{padding:calc(var(--safe-top) + 12px) 22px 14px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.iam-screen-title{font-family:Lora,serif;font-size:28px;font-style:italic;color:var(--purple);margin-bottom:4px}.iam-screen-sub{font-size:13px;color:var(--muted);line-height:1.5}.iam-tabs{display:flex;gap:0;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.iam-tab{flex:1;padding:13px 0;font-size:13px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;transition:all .18s}.iam-tab.active{color:var(--purple);font-weight:600;border-bottom-color:var(--purple)}.iam-scroll{flex:1;overflow-y:auto;padding:24px 18px calc(var(--safe-bottom) + 80px)}.discover-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px 22px 22px;box-shadow:0 2px 16px #2f2a2f0f}.discover-counter{font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--muted);margin-bottom:20px;text-align:center}.discover-stmt{font-family:Lora,serif;font-size:22px;font-style:italic;color:var(--text);line-height:1.5;text-align:center;min-height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}.discover-actions{display:flex;gap:10px}.disc-keep{flex:2;padding:14px;background:var(--purple);border:none;border-radius:14px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 14px #4b2e4f40}.disc-later{flex:1;padding:14px;background:var(--faint);border:1px solid var(--border2);border-radius:14px;color:var(--muted);font-size:14px;font-weight:500}.iam-empty{text-align:center;padding:48px 20px;color:var(--muted);font-size:15px;line-height:1.7}.my-list-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.my-list-text{flex:1;font-family:Lora,serif;font-size:15px;font-style:italic;color:var(--text);line-height:1.5}.my-list-rm{background:none;border:1px solid var(--border2);border-radius:8px;padding:4px 8px;font-size:14px;color:var(--muted);flex-shrink:0;margin-top:2px}.board-header{padding:calc(var(--safe-top) + 12px) 18px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.board-title{font-family:Lora,serif;font-size:28px;font-style:italic;color:var(--text);margin-bottom:2px}.board-sub{font-size:12px;color:var(--muted)}.board-add-btn{background:var(--purple-dim);border:1px solid var(--purple-border);border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--purple);flex-shrink:0;margin-top:4px}.board-cats{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.board-cat{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;background:var(--faint);border:1px solid var(--border2);color:var(--muted);transition:all .15s}.board-cat.active{background:var(--purple);border-color:var(--purple);color:#fff}.board-scroll{flex:1;overflow-y:auto;padding:16px;background:#c8a97a;background-image:radial-gradient(circle at 20% 30%,rgba(180,140,90,.4) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(160,120,70,.3) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");padding-bottom:calc(var(--safe-bottom) + 80px)}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.postit-note{position:relative;padding:14px 12px 36px;border-radius:3px;font-size:13px;font-weight:500;line-height:1.5;color:#281e0acc;box-shadow:2px 3px 8px #0000002e,inset 0 -1px #0000000d;cursor:pointer;transition:transform .15s,box-shadow .15s;min-height:100px;word-break:break-word;font-family:DM Sans,sans-serif}.postit-note:active{transform:scale(.97)}.postit-note.pinned{box-shadow:2px 3px 8px #00000038,inset 0 -1px #00000014,0 0 0 2px #4b2e4f66}.color-0{background:#fef9c3}.color-1{background:#fce7f3}.color-2{background:#dcfce7}.color-3{background:#dbeafe}.color-4{background:#ede9fe}.color-5{background:#ffedd5}.postit-pin-btn{position:absolute;bottom:8px;right:8px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;background:#fff9;border:1px solid rgba(0,0,0,.1);color:#281e0a99;cursor:pointer;transition:background .15s}.postit-pin-btn.pinned{background:#4b2e4f26;border-color:#4b2e4f4d;color:var(--purple)}.postit-mine-label{position:absolute;top:6px;right:8px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#281e0a66}.journal-header{padding:calc(var(--safe-top) + 12px) 22px 14px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.journal-title{font-family:Lora,serif;font-size:28px;font-style:italic;color:var(--text);margin-bottom:3px}.journal-sub{font-size:13px;color:var(--muted)}.journal-scroll{flex:1;overflow-y:auto;padding:16px 18px calc(var(--safe-bottom) + 90px);display:flex;flex-direction:column;gap:10px}.notebook-page{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .15s;box-shadow:0 1px 6px #2f2a2f0a}.notebook-page:active{box-shadow:0 2px 12px #2f2a2f1a}.notebook-page-inner{padding:14px 16px 12px;border-left:3px solid var(--gold-border)}.notebook-page-date{font-size:11px;color:var(--muted);font-weight:500;margin-bottom:5px;letter-spacing:.03em}.notebook-page-text{font-family:Lora,serif;font-size:15px;color:var(--text);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.notebook-page-footer{display:flex;gap:6px;flex-wrap:wrap;padding:8px 16px 10px;border-top:1px solid var(--border);background:var(--faint)}.notebook-tag{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:var(--purple-dim);color:var(--purple);border:1px solid var(--purple-border)}.journal-fab{position:fixed;bottom:calc(var(--safe-bottom) + 66px);right:calc(50% - 205px);width:52px;height:52px;border-radius:50%;background:var(--purple);color:#fff;font-size:26px;border:none;box-shadow:0 4px 16px #4b2e4f59;display:flex;align-items:center;justify-content:center;line-height:1}@media (max-width: 430px){.journal-fab{right:18px}}.profile-header{padding:calc(var(--safe-top) + 18px) 22px 18px;background:linear-gradient(160deg,var(--purple-dim) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);text-align:center;flex-shrink:0}.profile-avatar{font-size:32px;color:var(--gold);margin-bottom:8px;line-height:1}.profile-name{font-family:Lora,serif;font-size:20px;font-style:italic;color:var(--text);margin-bottom:4px}.tier-chip{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);background:var(--sage-dim);border:1px solid var(--sage-border);border-radius:20px;padding:3px 12px}.profile-scroll{flex:1;overflow-y:auto;padding:18px 18px calc(var(--safe-bottom) + 80px);display:flex;flex-direction:column;gap:14px}.stats-row{display:flex;gap:10px}.stat{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 1px 6px #2f2a2f0a}.stat-val{font-family:Lora,serif;font-size:26px;color:var(--purple);font-weight:400;margin-bottom:3px}.stat-lbl{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.library-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 8px #2f2a2f0a}.library-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px}.library-sub{font-size:12px;color:var(--muted);margin-bottom:12px}.library-empty{font-size:13px;color:var(--muted);line-height:1.65;padding:8px 0}.library-list{display:flex;flex-direction:column;gap:6px}.library-item{font-family:Lora,serif;font-size:14px;font-style:italic;color:var(--text);padding:10px 12px;background:var(--faint);border-radius:10px;border-left:2px solid var(--purple-border);line-height:1.45}.upgrade-card{background:linear-gradient(160deg,rgba(75,46,79,.06) 0%,var(--gold-dim) 100%);border:1px solid var(--gold-border);border-radius:18px;padding:18px}.upgrade-badge{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.upgrade-title{color:var(--text);margin-bottom:6px}.upgrade-desc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:14px}.upgrade-btn{width:100%;padding:12px;background:var(--purple);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;text-align:center;cursor:pointer;transition:opacity .15s}.upgrade-btn:active{opacity:.85}.upgrade-btn.secondary{background:transparent;border:1.5px solid var(--purple-border);color:var(--purple)}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 6px #2f2a2f0a}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.settings-row:last-child{border-bottom:none}.settings-row:active{background:var(--faint)}.settings-lbl{font-size:14px;color:var(--text)}.settings-arr{font-size:14px;color:var(--muted)}.breath-title{font-family:Lora,serif;font-size:26px;font-style:italic;color:var(--text);margin-bottom:6px;text-align:center}.breath-sub{font-size:13px;color:var(--muted);text-align:center;margin-bottom:48px}.breath-ring{width:180px;height:180px;border-radius:50%;background:var(--purple-dim);border:2px solid var(--purple-border);display:flex;align-items:center;justify-content:center;text-align:center;transition:transform 4s ease-in-out,background 4s ease-in-out}.breath-ring.inhale{transform:scale(1.25);background:#4b2e4f24}.breath-ring.exhale{transform:scale(.85);background:#3d8a6a1a}.breath-num{font-family:Lora,serif;font-size:52px;font-weight:400;color:var(--purple);line-height:1;margin-bottom:4px}.breath-phase-lbl{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.breath-start-btn{background:var(--purple);border:none;border-radius:50px;padding:14px 44px;color:#fff;font-size:16px;font-weight:600;box-shadow:0 6px 20px #4b2e4f4d}.jw-tag{font-size:11px;font-weight:500;padding:4px 10px;border-radius:20px;background:#ffffffb3;border:1px solid rgba(60,35,10,.12);color:#3c230a80;cursor:pointer;transition:all .15s}.jw-tag.active{background:var(--purple-dim);border-color:var(--purple-border);color:var(--purple)}.edit-sheet{background:var(--bg);border-radius:22px 22px 0 0;padding:28px 22px calc(var(--safe-bottom) + 24px);width:100%;max-width:430px}.edit-sheet-title{font-family:Lora,serif;font-size:20px;font-style:italic;color:var(--text);margin-bottom:14px}.edit-textarea{width:100%;background:var(--surface);border:1px solid var(--border2);border-radius:13px;padding:13px;font-family:Lora,serif;font-size:15px;font-style:italic;color:var(--text);outline:none;resize:none;line-height:1.55;margin-bottom:14px}.edit-actions{display:flex;gap:9px}.edit-cancel-btn{flex:1;padding:13px;background:var(--faint);border:1px solid var(--border2);border-radius:12px;font-size:14px;color:var(--muted)}.edit-delete-btn{flex:1;padding:13px;background:var(--rose-dim);border:1px solid rgba(217,140,154,.3);border-radius:12px;font-size:14px;color:var(--rose)}.edit-save-btn{flex:2;padding:13px;background:var(--purple);border:none;border-radius:12px;font-size:14px;font-weight:600;color:#fff}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 28px calc(var(--safe-bottom) + 32px);background:var(--bg)}.auth-logo{font-family:Lora,serif;font-size:13px;font-style:italic;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.auth-title{font-family:Lora,serif;font-size:28px;font-weight:400;color:var(--text);margin-bottom:8px;text-align:center;line-height:1.35}.auth-sub{font-size:14px;color:var(--muted);margin-bottom:32px;text-align:center;line-height:1.6}.auth-field{width:100%;max-width:340px;padding:14px 16px;background:var(--surface);border:1.5px solid var(--border2);border-radius:13px;font-size:15px;color:var(--text);outline:none;margin-bottom:10px;transition:border-color .18s}.auth-field:focus{border-color:var(--purple-border)}.auth-btn{width:100%;max-width:340px;padding:15px;background:var(--purple);border:none;border-radius:50px;color:#fff;font-size:16px;font-weight:600;margin-top:6px;box-shadow:0 6px 20px #4b2e4f40;transition:opacity .15s}.auth-btn:active{opacity:.85}.auth-err{font-size:13px;color:var(--rose);text-align:center;margin-top:8px;line-height:1.4}.auth-switch{margin-top:20px;font-size:13px;color:var(--muted);text-align:center}.auth-link{color:var(--purple);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
