:root,[data-theme=light]{--bg-primary: #faf7f4;--bg-card: #ffffff;--bg-card-hover: #f5f1ed;--bg-prompt: linear-gradient(135deg, #fdfbf9, #f7f3ee);--bg-active: #8b7355;--text-primary: #3d3530;--text-heading: #2a2320;--text-secondary: #6b5f55;--text-muted: #9a8e82;--text-placeholder: #c4b9ad;--text-on-active: #ffffff;--border: rgba(139, 115, 85, .12);--border-focus: rgba(139, 115, 85, .35);--border-light: rgba(139, 115, 85, .06);--btn-disabled: #d4ccc3;--prompt-accent: #8b7355;--shadow-sm: 0 1px 3px rgba(60, 45, 30, .04), 0 1px 2px rgba(60, 45, 30, .03);--shadow-md: 0 4px 12px rgba(60, 45, 30, .06), 0 1px 4px rgba(60, 45, 30, .04);--shadow-lg: 0 8px 24px rgba(60, 45, 30, .08), 0 2px 8px rgba(60, 45, 30, .04);--accent: #8b7355;--accent-soft: rgba(139, 115, 85, .08);--accent-hover: #7a6348;--mood-selected-bg: rgba(139, 115, 85, .1);--mood-selected-border: rgba(139, 115, 85, .4)}[data-theme=dark]{--bg-primary: #1c1917;--bg-card: #282422;--bg-card-hover: #332e2b;--bg-prompt: linear-gradient(135deg, #2d2925, #282422);--bg-active: #c9b99a;--text-primary: #d8d0c6;--text-heading: #ede7df;--text-secondary: #a89f94;--text-muted: #7d7368;--text-placeholder: #524b44;--text-on-active: #1c1917;--border: rgba(201, 185, 154, .1);--border-focus: rgba(201, 185, 154, .25);--border-light: rgba(201, 185, 154, .05);--btn-disabled: #3d3835;--prompt-accent: #a89070;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .2), 0 1px 4px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .25), 0 2px 8px rgba(0, 0, 0, .15);--accent: #c9b99a;--accent-soft: rgba(201, 185, 154, .1);--accent-hover: #d4c7ab;--mood-selected-bg: rgba(201, 185, 154, .12);--mood-selected-border: rgba(201, 185, 154, .4)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:-webkit-fill-available;transition:background-color .4s ease,color .4s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.app{max-width:760px;margin:0 auto;padding:24px 28px 60px;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.main{transition:opacity .12s ease,transform .12s ease;will-change:opacity,transform}.view-exit{opacity:0;transform:translateY(6px)}.view-enter{animation:viewFadeIn .25s ease-out forwards}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;margin-bottom:36px}.header-content{display:flex;flex-direction:column;gap:3px}.header-title{display:flex;align-items:center;gap:10px;color:var(--text-heading)}.header-content h1{font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--text-heading);letter-spacing:-.02em}.tagline{font-family:Lora,Georgia,serif;font-size:.82rem;color:var(--text-muted);font-style:italic;padding-left:34px;letter-spacing:.01em}.nav{display:flex;gap:6px}.nav button{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:var(--accent-soft);border-radius:24px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:all .25s ease}.nav button:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.nav button.active{background:var(--accent);color:var(--text-on-active);box-shadow:var(--shadow-sm)}.theme-toggle{padding:8px 10px!important;border-radius:50%!important;width:38px;height:38px;justify-content:center}.nav-primary,.nav-secondary{display:contents}.streak-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:all .3s ease}.streak-active{background:rgba(232,120,44,.12);color:#c66a1a}.streak-pending{background:var(--accent-soft);color:var(--text-secondary)}.streak-flame{flex-shrink:0}.streak-active .streak-flame{color:#e0781e;animation:streakPulse 2s ease-in-out infinite}@keyframes streakPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.streak-count{line-height:1}.streak-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bg-secondary);border-radius:12px;margin-bottom:16px;border:1px solid var(--border);transition:all .3s ease}.streak-card-complete{border-color:#e8782c33;background:rgba(232,120,44,.04)}.streak-card-main{display:flex;align-items:center;gap:12px}.streak-card-flame{color:#e0781e;flex-shrink:0}.streak-card-complete .streak-card-flame{animation:streakPulse 2s ease-in-out infinite}.streak-card-info{display:flex;flex-direction:column;gap:2px}.streak-card-number{font-family:DM Sans,sans-serif;font-size:.92rem;font-weight:600;color:var(--text-primary)}.streak-card-sub{font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-muted)}.streak-card-best{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.nav-label-mobile{display:none}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:var(--accent-soft);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-menu-btn:hover{background:var(--bg-card-hover)}.mobile-menu-btn:active{transform:scale(.92);transition:transform .06s ease}.mobile-menu-backdrop{display:none}.billing-btn{display:flex;align-items:center;gap:6px;padding:4px 12px!important;font-size:.75rem;border-radius:20px!important;background:var(--bg-prompt)!important;color:var(--accent)!important;font-family:DM Sans,sans-serif;font-weight:500}.billing-btn:hover{opacity:.85}.plan-badge{text-transform:uppercase;letter-spacing:.5px}.plan-canceling{opacity:.7;font-style:italic}.plan-grace{color:#d4a030;font-style:italic}.trial-badge{font-size:.72rem;padding:4px 10px;border-radius:12px;background:var(--accent-soft);color:var(--text-secondary);font-weight:500}.trial-badge.trial-expired{color:#c0392b;background:rgba(192,57,43,.08)}.admin-badge{font-size:.72rem;padding:4px 10px;border-radius:12px;background:rgba(129,178,154,.15);color:#527a65;font-weight:600}.account-grace-warning{color:#d4a030;font-weight:500}.dark .account-grace-warning{color:#e8b84d}.signout-btn{display:flex;align-items:center;gap:6px;padding:6px 14px!important;font-size:.8rem;border-radius:20px!important;font-family:DM Sans,sans-serif;font-weight:500;color:var(--text-muted)!important;background:transparent!important;box-shadow:none!important}.signout-btn:hover{color:var(--text-primary)!important;background:var(--bg-prompt)!important}.nav-icon-btn{padding:0!important;width:38px;height:38px;border-radius:50%!important;display:flex;align-items:center;justify-content:center;background:transparent!important;box-shadow:none!important;color:var(--text-muted)!important}.nav-icon-btn:hover,.nav-icon-btn.active{color:var(--text-primary)!important;background:var(--bg-prompt)!important}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}.settings-panel{background:var(--bg-card);border-radius:16px;padding:28px 32px;width:380px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.settings-title{font-family:Lora,Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 24px}.settings-option{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.settings-option+.settings-option{border-top:1px solid var(--bg-prompt)}.settings-option-info{display:flex;flex-direction:column;gap:2px}.settings-option-label{font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;color:var(--text-primary)}.settings-option-desc{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--text-muted)}.settings-toggle{width:44px;height:24px;border-radius:12px;padding:2px!important;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0;margin-left:16px;box-shadow:none!important}.settings-toggle.on{background:var(--accent)!important}.settings-toggle.off{background:var(--text-muted)!important;opacity:.4}.settings-toggle-knob{display:block;width:20px;height:20px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 3px #0003}.settings-toggle.on .settings-toggle-knob{transform:translate(20px)}.settings-toggle.off .settings-toggle-knob{transform:translate(0)}.settings-section-label{font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-top:16px;padding-top:16px;border-top:1px solid var(--bg-prompt)}.settings-export-group{display:flex;flex-direction:column;gap:10px;margin-top:12px}.settings-export-btn{display:flex;align-items:center;gap:10px;padding:10px 16px!important;background:var(--bg-prompt)!important;border-radius:10px!important;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-primary)!important;cursor:pointer;transition:all .2s ease;box-shadow:none!important}.settings-export-btn:hover{background:var(--accent-soft)!important;color:var(--text-heading)!important}.settings-export-locked{margin-top:12px;padding:12px 16px;background:var(--bg-prompt);border-radius:10px;text-align:center}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:120px 0;color:var(--text-muted)}.loading-state p{font-family:Lora,Georgia,serif;font-size:1rem;font-style:italic}.write-view{display:flex;flex-direction:column;gap:28px}.prompt-card{background:var(--bg-prompt);border:none;border-left:3px solid var(--prompt-accent);border-radius:12px;padding:20px 24px;box-shadow:var(--shadow-sm);transition:border-color .3s ease}.prompt-card-mood{border-left-color:#8b7355}.prompt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.prompt-label{display:flex;align-items:center;gap:6px;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:600}.prompt-dismiss{background:none;border:none;font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-placeholder);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.prompt-dismiss:hover{color:var(--text-secondary);background:var(--accent-soft)}.prompt-text{font-family:Lora,Georgia,serif;font-size:1.05rem;line-height:1.7;color:var(--text-primary);font-style:italic;margin-bottom:16px}.prompt-use-btn{padding:8px 20px;background:var(--accent-soft);border:none;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .25s ease}.prompt-use-btn:hover{background:var(--accent);color:var(--text-on-active);border-color:var(--accent)}.mood-selector{display:flex;flex-direction:column;gap:12px}.mood-label{font-size:.82rem;color:var(--text-muted);font-weight:500;letter-spacing:.01em}.mood-options{display:flex;flex-wrap:wrap;gap:8px}.mood-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border:none;background:var(--accent-soft);border-radius:24px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all .25s ease}.mood-btn:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.mood-btn.selected{background:var(--mood-selected-bg);color:var(--text-heading);box-shadow:inset 0 0 0 1.5px var(--mood-selected-border)}.mood-emoji{font-size:1rem;line-height:1}.mood-name{line-height:1}.entry-box{display:flex;flex-direction:column;gap:14px}.entry-box textarea{width:100%;min-height:180px;max-height:60vh;padding:24px 28px;border:none;border-radius:14px;font-family:Lora,Georgia,serif;font-size:1.05rem;line-height:1.8;resize:none;background:var(--bg-card);color:var(--text-primary);outline:none;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,background-color .4s ease,min-height .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.entry-box textarea:focus{box-shadow:var(--shadow-md),inset 0 0 0 1.5px var(--border-focus)}.entry-box textarea::placeholder{color:var(--text-placeholder);font-style:italic}.submit-btn{align-self:flex-end;padding:11px 32px;background:var(--accent);color:var(--text-on-active);border:none;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-sm)}.submit-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-btn:disabled{background:var(--btn-disabled);cursor:not-allowed;opacity:1;box-shadow:none;transform:none}.response-box{background:var(--bg-card);border:none;border-radius:14px;padding:28px 32px;box-shadow:var(--shadow-md);min-height:120px}.response-box h3{font-size:.72rem;color:var(--text-muted);margin-bottom:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.response-box p{font-family:Lora,Georgia,serif;font-size:1.05rem;line-height:1.85;color:var(--text-primary)}.timeline-view h2{font-family:Lora,Georgia,serif;font-size:1.3rem;margin-bottom:24px;color:var(--text-heading);letter-spacing:-.01em}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-family:Lora,Georgia,serif;font-style:italic;font-size:.95rem}.timeline-entry{background:var(--bg-card);border:none;border-radius:14px;padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease}.timeline-entry:hover{box-shadow:var(--shadow-md)}.entry-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.entry-date{font-size:.78rem;color:var(--text-muted);font-weight:500}.entry-meta-actions{display:flex;align-items:center;gap:8px}.entry-mood-badge{font-size:.76rem;padding:4px 12px;border-radius:24px;background:var(--accent-soft);color:var(--text-secondary);border:none;font-weight:500}.entry-delete-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-family:DM Sans,sans-serif;opacity:.5;transition:opacity .2s,color .2s,background .2s}.entry-delete-btn:hover{opacity:1;color:#c0392b}.entry-delete-btn.confirm{opacity:1;color:#c0392b;background:rgba(192,57,43,.08)}.entry-edit-btn{display:flex;align-items:center;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-family:DM Sans,sans-serif;opacity:.5;transition:opacity .2s,color .2s}.entry-edit-btn:hover{opacity:1;color:var(--accent)}.share-btn-group{display:flex;align-items:center;gap:2px;position:relative}.entry-share-btn,.entry-copy-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-family:DM Sans,sans-serif;opacity:.5;transition:opacity .2s,color .2s,background .2s;position:relative}.entry-share-btn:hover,.entry-copy-btn:hover{opacity:1;color:var(--prompt-accent)}.entry-share-btn.shared{opacity:.7;color:var(--prompt-accent)}.entry-share-btn.shared:hover{opacity:1;color:#c75050}.entry-share-btn.copied{opacity:1;color:#5a9a6a}.entry-copy-btn{opacity:.6}.share-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text-heading);color:var(--bg-primary);padding:4px 10px;border-radius:6px;font-size:.7rem;font-family:DM Sans,sans-serif;white-space:nowrap;pointer-events:none;animation:shareTooltipIn .2s ease}@keyframes shareTooltipIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.review-share-row{display:flex;justify-content:flex-end;padding-top:12px;margin-top:8px;border-top:1px solid var(--border-light)}.review-share-btn,.review-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-family:DM Sans,sans-serif;transition:all .2s}.review-share-btn:hover{background:rgba(139,115,85,.06);border-color:var(--border-focus);color:var(--prompt-accent)}.review-share-btn.shared{color:var(--prompt-accent);border-color:var(--border-focus)}.review-share-btn.shared:hover{color:#c75050;border-color:#c75050}.review-share-btn.copied{color:#5a9a6a;border-color:#5a9a6a}.review-copy-btn{margin-left:4px}.review-copy-btn:hover{background:rgba(139,115,85,.06);border-color:var(--border-focus);color:var(--prompt-accent)}.edit-entry-form{margin-top:8px;display:flex;flex-direction:column;gap:10px}.edit-mood-selector{display:flex;gap:4px;flex-wrap:wrap}.mood-btn-mini{width:32px;height:32px;border-radius:50%;border:2px solid transparent;background:var(--bg-card);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:border-color .2s,transform .15s}.mood-btn-mini:hover{transform:scale(1.15)}.mood-btn-mini.selected{border-color:var(--accent);background:var(--accent-soft)}.edit-textarea{width:100%;min-height:100px;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-family:Lora,Georgia,serif;font-size:.95rem;line-height:1.7;resize:vertical;box-sizing:border-box}.edit-textarea:focus{outline:none;border-color:var(--accent)}.edit-actions{display:flex;gap:8px}.edit-save-btn,.edit-cancel-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:6px;border:none;cursor:pointer;font-size:.8rem;font-family:DM Sans,sans-serif;font-weight:500;transition:opacity .2s}.edit-save-btn{background:var(--accent);color:#fff}.edit-save-btn:disabled{opacity:.5;cursor:not-allowed}.edit-cancel-btn{background:transparent;color:var(--text-muted)}.edit-cancel-btn:hover{color:var(--text-primary)}.edit-error{font-size:.8rem;color:#c0392b;font-family:DM Sans,sans-serif;margin:0}.entry-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px}.entry-meta-info{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted);font-family:DM Sans,sans-serif}.word-count,.char-count{opacity:.7}.draft-status{font-style:italic;transition:opacity .3s}.draft-status.saving{opacity:.5}.draft-status.saved{opacity:.7;color:var(--accent)}.draft-status.restored{opacity:.9;color:var(--accent)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.timeline-header h2{margin:0}.filter-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-family:DM Sans,sans-serif;font-weight:500;transition:background .2s,color .2s;position:relative;box-shadow:0 1px 3px #0000000f}.filter-toggle-btn:hover,.filter-toggle-btn.active{background:var(--accent-soft);color:var(--accent)}.filter-badge{width:8px;height:8px;border-radius:50%;background:var(--accent);position:absolute;top:6px;right:6px}.timeline-filters{background:var(--bg-card);border-radius:12px;padding:16px 20px;margin-bottom:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 8px #0000000a;animation:fadeInUp .25s ease-out}.search-bar{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:10px 36px 10px 38px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.9rem;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center}.search-clear:hover{color:var(--text-primary)}.filter-row{display:flex;gap:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:DM Sans,sans-serif}.mood-filter-options{display:flex;gap:4px;flex-wrap:wrap}.mood-filter-btn{width:34px;height:34px;border-radius:50%;border:2px solid transparent;background:var(--bg-primary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:border-color .2s,transform .15s,background .2s}.mood-filter-btn:hover{transform:scale(1.1);background:var(--accent-soft)}.mood-filter-btn.selected{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.1)}.date-filter-inputs{display:flex;align-items:center;gap:8px}.cal-picker{position:relative}.cal-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.82rem;cursor:pointer;transition:border-color .2s;white-space:nowrap}.cal-trigger:hover{border-color:var(--accent)}.cal-trigger-placeholder{color:var(--text-muted)}.cal-trigger-value{font-weight:500}.cal-clear{display:flex;align-items:center;color:var(--text-muted);margin-left:2px}.cal-clear:hover{color:var(--text-primary)}.cal-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:100;background:var(--bg-card);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:12px;width:260px;animation:fadeInUp .2s ease-out}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cal-title{font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;color:var(--text-primary)}.cal-nav{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .2s,background .2s}.cal-nav:hover{color:var(--text-primary);background:var(--bg-card-hover)}.cal-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.cal-day-label{font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-empty{aspect-ratio:1}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;border-radius:50%;font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--text-primary);transition:background .15s,color .15s}.cal-day:hover{background:var(--bg-card-hover)}.cal-day.today{font-weight:700;color:var(--accent)}.cal-day.selected{background:var(--accent);color:#fff;font-weight:600}.cal-day.selected:hover{background:var(--accent)}.date-separator{font-size:.8rem;color:var(--text-muted);font-family:DM Sans,sans-serif}.filter-summary{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid var(--border)}.result-count{font-size:.8rem;color:var(--text-muted);font-family:DM Sans,sans-serif}.clear-filters-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8rem;font-family:DM Sans,sans-serif;font-weight:500;padding:4px 8px;border-radius:4px}.clear-filters-btn:hover{background:var(--accent-soft)}.clear-filters-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;font-family:DM Sans,sans-serif;font-weight:500;margin-top:8px}@media (max-width: 600px){.filter-row{flex-direction:column;gap:12px}.date-filter-inputs{flex-wrap:wrap}.timeline-header{flex-wrap:wrap;gap:8px}}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .7s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.offline-banner,.sync-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.82rem;animation:fadeInUp .3s ease-out}.offline-banner{background:#b45309;color:#fff}.offline-count{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.sync-banner.syncing{background:var(--accent);color:#fff}.sync-banner.synced{background:#059669;color:#fff}.feature-hint{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;background:var(--bg-card);border-left:3px solid var(--accent);font-family:DM Sans,sans-serif;font-size:.82rem;line-height:1.5;color:var(--text-secondary);margin-bottom:16px;animation:fadeInUp .3s ease-out}.feature-hint svg:first-child{flex-shrink:0;color:var(--accent);margin-top:1px}.feature-hint span{flex:1}.hint-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:color .2s}.hint-dismiss:hover{color:var(--text-primary)}.save-confirmation{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;animation:fadeInUp .4s ease-out;margin-top:12px}.ai-memory-indicator{display:flex;align-items:center;gap:8px;padding:8px 2px;font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-muted);letter-spacing:.2px}.ai-memory-icon{flex-shrink:0;color:var(--accent);opacity:.7}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.entry-box.just-saved textarea{animation:softPulse .6s ease-out}@keyframes softPulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}to{box-shadow:0 0 0 0 transparent}}.entry-content{display:flex;flex-direction:column;gap:16px}.user-entry strong,.ai-entry strong{font-size:.72rem;color:var(--text-muted);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.user-entry p,.ai-entry p{font-family:Lora,Georgia,serif;font-size:.95rem;line-height:1.7}.ai-entry{padding-top:16px;border-top:1px solid var(--border-light)}.insights-view{display:flex;flex-direction:column;gap:24px}.insights-header{display:flex;justify-content:space-between;align-items:center}.insights-header h2{font-family:Lora,Georgia,serif;font-size:1.3rem;color:var(--text-heading);letter-spacing:-.01em}.period-selector{display:flex;gap:4px}.period-selector button{padding:6px 14px;border:none;background:var(--accent-soft);border-radius:24px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .25s ease}.period-selector button:hover{background:var(--bg-card-hover)}.period-selector button.active{background:var(--accent);color:var(--text-on-active)}.stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{background:var(--bg-card);border:none;border-radius:14px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--shadow-sm)}.stat-number{font-family:Lora,Georgia,serif;font-size:2rem;font-weight:600;color:var(--text-heading);line-height:1}.stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:500}.insight-card{background:var(--bg-card);border:none;border-radius:14px;padding:24px;box-shadow:var(--shadow-sm)}.insight-card h3{font-size:.72rem;color:var(--text-muted);margin-bottom:18px;font-weight:600;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px}.mood-bars{display:flex;flex-direction:column;gap:12px}.mood-bar-row{display:flex;align-items:center;gap:14px}.mood-bar-label{display:flex;align-items:center;gap:8px;min-width:110px;flex-shrink:0}.mood-bar-emoji{font-size:1rem;line-height:1}.mood-bar-name{font-size:.82rem;color:var(--text-primary);font-weight:500}.mood-bar-track{flex:1;height:18px;background:var(--accent-soft);border-radius:10px;overflow:hidden}.mood-bar-fill{height:100%;border-radius:10px;transition:width .6s ease;min-width:4px}.mood-bar-count{font-size:.8rem;color:var(--text-muted);min-width:36px;text-align:right;font-weight:500}.mood-dow-grid{display:flex;flex-direction:column;gap:10px}.mood-dow-day{display:flex;align-items:center;gap:12px}.mood-dow-name{font-size:.8rem;color:var(--text-secondary);font-weight:500;min-width:36px;flex-shrink:0}.mood-dow-bar-track{flex:1;height:20px;background:var(--accent-soft);border-radius:10px;overflow:hidden;display:flex}.mood-dow-segment{height:100%;transition:width .6s ease;min-width:2px}.mood-dow-empty{height:100%;width:100%}.mood-dow-top{font-size:.9rem;min-width:24px;text-align:center}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-light)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:500}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.reflection-card{background:linear-gradient(135deg,rgba(139,115,85,.06),rgba(129,178,154,.06));border-radius:14px;padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.reflection-card .prompt-label svg{color:#81b29a}.patterns-view{max-width:760px;margin:0 auto}.patterns-header{margin-bottom:28px}.patterns-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--text-heading)}.patterns-title-row h2{font-family:Lora,serif;font-size:1.5rem;font-weight:600;margin:0}.patterns-title-row svg{color:var(--accent)}.patterns-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0;line-height:1.5}.patterns-cta{text-align:center;padding:48px 24px;background:var(--bg-card);border-radius:14px;box-shadow:var(--shadow-md)}.patterns-cta p{color:var(--text-secondary);font-size:1.05rem;margin-bottom:24px;font-family:Lora,serif}.patterns-discover-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--accent);color:var(--text-on-active);border:none;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:DM Sans,sans-serif}.patterns-discover-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.patterns-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-secondary)}.patterns-loading .spin{animation:spin 1.2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.patterns-message{text-align:center;padding:32px 24px;color:var(--text-secondary);font-family:Lora,serif;font-style:italic}.patterns-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--text-muted);font-size:.85rem}.patterns-refresh{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:999px;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-family:DM Sans,sans-serif}.patterns-refresh:hover{background:var(--accent-soft)}.patterns-list{display:flex;flex-direction:column;gap:16px}.pattern-card{background:var(--bg-card);border-radius:14px;padding:24px;box-shadow:var(--shadow-md);transition:box-shadow .2s ease}.pattern-card:hover{box-shadow:var(--shadow-lg)}.pattern-type-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-family:DM Sans,sans-serif}.pattern-insight{color:var(--text-primary);font-size:1rem;line-height:1.6;margin:0 0 16px;font-family:Lora,serif}.pattern-question{background:var(--accent-soft);border-radius:10px;padding:14px 18px}.pattern-question-label{display:block;font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-family:DM Sans,sans-serif}.pattern-question p{margin:0;color:var(--text-secondary);font-size:.93rem;line-height:1.5;font-family:Lora,serif;font-style:italic}.review-progress{background:var(--bg-card);border-radius:14px;padding:24px;box-shadow:var(--shadow-md);margin-bottom:20px}.review-progress.unlocked{background:linear-gradient(135deg,var(--bg-card) 0%,var(--accent-soft) 100%)}.review-progress-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.review-progress-icon{flex-shrink:0}.review-progress-icon.locked{color:var(--text-muted)}.review-progress-icon.unlocked{color:var(--accent)}.review-progress-title{font-family:DM Sans,sans-serif;font-weight:600;font-size:.95rem;color:var(--text-primary)}.review-progress-bar-container{width:100%;height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin-bottom:16px}.review-progress-bar{height:100%;background:var(--accent);border-radius:999px;transition:width .5s ease}.review-progress-steps{display:flex;gap:12px;margin-bottom:12px}.review-progress-step{display:flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-muted);padding:6px 12px;border-radius:999px;background:var(--bg-secondary)}.review-progress-step.completed{color:var(--accent);background:var(--accent-soft);font-weight:500}.review-progress-hint{margin:0;font-family:Lora,serif;font-size:.88rem;color:var(--text-secondary);font-style:italic}.reviews-timeline-title{font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 12px}.reviews-timeline{display:flex;flex-direction:column;gap:12px;margin-top:8px}.review-card{background:var(--bg-card);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.review-card.latest{box-shadow:var(--shadow-md)}.review-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;font-family:DM Sans,sans-serif;color:var(--text-primary);transition:background .15s ease}.review-card-header:hover{background:var(--bg-card-hover)}.review-card-header-left{display:flex;align-items:center;gap:10px}.review-card-header-left svg{color:var(--accent)}.review-week-range{font-weight:600;font-size:.88rem}.review-meta{font-size:.78rem;color:var(--text-muted)}.review-card-header-right{display:flex;align-items:center;gap:10px;color:var(--text-muted)}.review-time-ago{font-size:.76rem}.review-card-body{padding:0 20px 20px}.review-summary{padding:16px 20px;background:var(--accent-soft);border-radius:10px;margin-bottom:16px}.review-summary p{margin:0;color:var(--text-primary);font-family:Lora,serif;font-size:.95rem;line-height:1.65;font-style:italic}.patterns-next-review{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;margin-bottom:16px;border-radius:10px;background:var(--bg-card);color:var(--text-muted);font-size:.82rem;font-family:DM Sans,sans-serif;box-shadow:var(--shadow-sm)}.response-header,.ai-entry-header{display:flex;align-items:center;justify-content:space-between}.response-header h3{margin:0}.speak-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--accent-soft);color:var(--text-secondary);border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0}.speak-btn:hover{background:var(--accent);color:var(--text-on-active)}.speak-btn.speaking{background:var(--accent);color:var(--text-on-active);animation:pulse-speak 1.5s ease-in-out infinite}@keyframes pulse-speak{0%,to{opacity:1}50%{opacity:.7}}.ai-entry-header{margin-bottom:4px}.ai-entry-header .speak-btn{width:28px;height:28px}.voice-option{flex-wrap:wrap;gap:12px}.reminder-time-row{display:flex;align-items:center;gap:12px;padding:8px 0 4px;flex-wrap:wrap}.reminder-time-label{display:flex;align-items:center;gap:10px;font-family:DM Sans,sans-serif;font-size:.88rem;color:var(--text-secondary);cursor:pointer}.reminder-time-input{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.92rem;cursor:pointer;transition:border-color .2s ease;width:120px}.reminder-time-input:focus{outline:none;border-color:var(--border-focus)}.reminder-timezone{font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-muted)}.reminder-saved-msg{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--accent);animation:reminderFade 2s ease forwards}@keyframes reminderFade{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.voice-select{width:100%;padding:10px 32px 10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.88rem;cursor:pointer;transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a8e82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.voice-select:focus{outline:none;border-color:var(--border-focus)}.voice-preview-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s ease}.voice-preview-btn:hover{background:var(--accent);color:var(--text-on-active)}@media (max-width: 768px){.app{padding:16px 16px 80px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.header{flex-direction:column;align-items:flex-start;gap:0;padding:16px 0;margin-bottom:20px;position:relative}.header-content{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.tagline{display:none}.header-content h1{font-size:1.25rem}.mobile-menu-btn{display:flex}.mobile-menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.3);z-index:98;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav{display:none;width:100%;flex-direction:column;gap:4px;padding:16px 0 8px;position:relative;z-index:99}.nav.mobile-open{display:flex}.nav-primary,.nav-secondary{display:flex;flex-direction:column;gap:4px}.nav-secondary{margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.nav button{padding:12px 14px;font-size:.88rem;white-space:nowrap;flex-shrink:0;justify-content:flex-start;border-radius:12px;width:100%;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.nav button:active{transform:scale(.98);transition:transform .06s ease}.nav .nav-icon-btn{width:100%;border-radius:12px;justify-content:flex-start;padding:10px 14px}.nav .theme-toggle{width:100%!important;height:auto!important;border-radius:12px!important;padding:10px 14px!important;justify-content:flex-start!important}.nav-label-mobile{display:inline}.nav .signout-btn{width:100%;justify-content:flex-start;border-radius:12px}.nav .billing-btn{width:100%;justify-content:flex-start;border-radius:12px;padding:10px 14px}.nav .plan-badge,.nav .trial-badge,.nav .admin-badge{margin-left:0}.write-view{gap:20px}.prompt-card,.reflection-card{padding:16px 18px}.prompt-text{font-size:.95rem}.mood-options{gap:6px}.mood-btn{padding:8px 12px;font-size:.75rem;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mood-btn:active{transform:scale(.93);transition:transform .08s ease}.mood-emoji{font-size:.9rem}.entry-box textarea{min-height:140px;padding:18px 20px;font-size:16px;line-height:1.75;-webkit-appearance:none;-moz-appearance:none;appearance:none}.submit-btn{align-self:stretch;padding:14px 24px;min-height:48px;font-size:.95rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.submit-btn:active:not(:disabled){transform:scale(.97);transition:transform .08s ease}.speak-btn{width:44px;height:44px;min-width:44px;touch-action:manipulation}.speak-btn:active{transform:scale(.9);transition:transform .08s ease}.ai-entry-header .speak-btn{width:40px;height:40px;min-width:36px}.voice-select{font-size:16px;padding:12px 14px}.voice-preview-btn{padding:10px 16px;font-size:.85rem}.response-box{padding:20px 22px}.response-box p{font-size:.95rem}.timeline-entry{padding:18px}.user-entry p,.ai-entry p{font-size:.9rem}.stats-summary{grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{padding:14px 10px}.stat-number{font-size:1.5rem}.insight-card{padding:18px}.patterns-view{max-width:100%}.patterns-cta{padding:32px 20px}.pattern-card{padding:20px 18px}.settings-overlay{padding-top:40px;align-items:flex-start}.settings-panel{padding:24px 20px;width:100%;max-width:92vw;max-height:80vh;overflow-y:auto}.insights-header{flex-direction:column;align-items:flex-start;gap:12px}.period-selector{width:100%;justify-content:flex-start}}@media (max-width: 480px){.app{padding:12px 12px 72px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.header-content h1{font-size:1.1rem}.nav button{padding:12px 14px;font-size:.85rem;gap:6px;min-height:44px}.mood-btn .mood-name{display:none}.mood-btn{padding:8px 10px}.mood-emoji{font-size:1.1rem}.entry-box textarea{min-height:120px;padding:14px 16px;font-size:.92rem;line-height:1.7}.response-box{padding:16px 18px}.stats-summary{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat-card{padding:12px 8px}.stat-number{font-size:1.3rem}.stat-label{font-size:.65rem}}.contact-form{display:flex;flex-direction:column;gap:10px}.contact-input{width:100%;padding:10px 14px;border:none;border-radius:8px;background:rgba(0,0,0,.04);font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);box-sizing:border-box}.dark .contact-input{background:rgba(255,255,255,.08)}.contact-input:focus{outline:none;box-shadow:0 0 0 2px #8b73554d}.contact-textarea{width:100%;padding:10px 14px;border:none;border-radius:8px;background:rgba(0,0,0,.04);font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);resize:vertical;min-height:80px;box-sizing:border-box}.dark .contact-textarea{background:rgba(255,255,255,.08)}.contact-textarea:focus{outline:none;box-shadow:0 0 0 2px #8b73554d}.contact-actions{display:flex;gap:8px;justify-content:flex-end}.contact-cancel-btn{padding:8px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer}.contact-cancel-btn:hover{background:rgba(0,0,0,.04)}.dark .contact-cancel-btn:hover{background:rgba(255,255,255,.06)}.contact-send-btn{padding:8px 20px;border:none;border-radius:6px;background:#8b7355;color:#fff;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;box-shadow:0 2px 8px #8b73554d}.contact-send-btn:hover:not(:disabled){background:#7a644a}.contact-send-btn:disabled{opacity:.5;cursor:not-allowed}.contact-success{padding:14px;text-align:center;color:#6b8f71;font-family:DM Sans,sans-serif;font-size:.9rem}.contact-error{color:#c75050;font-size:.8rem;text-align:center;margin:4px 0 0}.account-info{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;background:rgba(139,115,85,.06);border-radius:10px}.dark .account-info{background:rgba(255,255,255,.04)}.account-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}.account-details{display:flex;flex-direction:column;gap:3px;min-width:0}.account-name{font-family:DM Sans,sans-serif;font-weight:600;font-size:.95rem;color:#3a3530}.dark .account-name{color:#e8e0d4}.account-email{font-family:DM Sans,sans-serif;font-size:.82rem;color:#8b7355;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .account-email{color:#a89880}.account-meta{font-family:DM Sans,sans-serif;font-size:.78rem;color:#a89880}.dark .account-meta{color:#8b7b6b}.referral-section{display:flex;flex-direction:column;gap:8px}.referral-code-box{background:rgba(139,115,85,.06);border:1px solid rgba(139,115,85,.12);border-radius:8px;padding:10px 12px}.dark .referral-code-box{background:rgba(200,180,150,.06);border-color:#c8b4961f}.referral-code-label{display:block;font-size:11px;color:#8b7b6b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.referral-code-row{display:flex;align-items:center;gap:8px}.referral-code{font-family:DM Sans,monospace;font-size:18px;font-weight:600;letter-spacing:2px;color:#3d3225;flex:1}.dark .referral-code{color:#d4c5a9}.referral-copy-btn{background:none;border:1px solid rgba(139,115,85,.2);border-radius:6px;padding:6px 8px;cursor:pointer;color:#8b7b6b;display:flex;align-items:center;transition:all .15s ease}.referral-copy-btn:hover{background:rgba(139,115,85,.08)}.referral-bonus{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b8f5e;font-weight:500;margin:4px 0}.referral-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.referral-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#5c4f3c;padding:4px 0}.dark .referral-item{color:#b5a88a}.referral-status{font-size:12px;font-weight:500}.referral-completed{color:#6b8f5e}.referral-redeem{margin-top:8px;padding-top:10px;border-top:1px solid rgba(139,115,85,.1)}.dark .referral-redeem{border-top-color:#c8b4961a}.referral-redeem-row{display:flex;gap:8px;margin-top:6px}.referral-input{flex:1;padding:8px 10px;font-size:14px;font-family:DM Sans,monospace;letter-spacing:1px;border:1px solid rgba(139,115,85,.2);border-radius:6px;background:transparent;color:inherit;text-transform:uppercase}.referral-input::placeholder{text-transform:none;letter-spacing:normal}.referral-redeem-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:6px;background:#3d3225;color:#f5f0e8;cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.dark .referral-redeem-btn{background:#c8b496;color:#2a2520}.referral-redeem-btn:disabled{opacity:.5;cursor:not-allowed}.referral-success{font-size:13px;color:#6b8f5e;margin-top:6px}.referral-error{font-size:13px;color:#c75050;margin-top:6px}.settings-danger-label{color:#c75050}.settings-delete-btn{width:100%;padding:10px 16px;border:none;border-radius:8px;background:rgba(199,80,80,.08);color:#c75050;font-family:DM Sans,sans-serif;font-size:.9rem;cursor:pointer;text-align:left}.settings-delete-btn:hover{background:rgba(199,80,80,.15)}.dark .settings-delete-btn{background:rgba(199,80,80,.12);color:#e07070}.dark .settings-delete-btn:hover{background:rgba(199,80,80,.22)}.delete-confirm{display:flex;flex-direction:column;gap:10px}.delete-warning{font-family:DM Sans,sans-serif;font-size:.85rem;color:#c75050;line-height:1.5;margin:0}.dark .delete-warning{color:#e07070}.delete-confirm-btn{padding:8px 20px;border:none;border-radius:6px;background:#c75050;color:#fff;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;box-shadow:0 2px 8px #c750504d}.delete-confirm-btn:hover:not(:disabled){background:#b54040}.delete-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.analytics-page{min-height:100vh;padding:30px 20px;background:var(--bg-primary)}.analytics-container{max-width:1000px;margin:0 auto}.analytics-header{margin-bottom:30px}.analytics-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:.9rem;cursor:pointer;padding:6px 0;margin-bottom:16px}.analytics-back:hover{color:var(--text-primary)}.analytics-title{display:flex;align-items:center;gap:10px;font-family:Lora,serif;font-size:1.6rem;color:var(--text-primary);font-weight:600}.analytics-loading,.analytics-error{text-align:center;padding:60px 20px;color:var(--text-secondary);font-family:DM Sans,sans-serif}.analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.analytics-card{background:var(--bg-card);border-radius:12px;padding:20px;box-shadow:0 2px 12px #0000000f}.stat-card{text-align:center}.stat-icon{color:var(--accent);margin-bottom:8px}.stat-value{font-family:DM Sans,sans-serif;font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.analytics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.analytics-card h3{font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.analytics-metric-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(139,115,85,.08)}.analytics-metric-row:last-child{border-bottom:none}.metric-label{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--text-secondary);text-transform:capitalize}.metric-value{font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary)}.metric-sub{font-weight:400;font-size:.75rem;color:var(--text-secondary)}.wide-card{grid-column:1 / -1}.analytics-chart{height:160px;display:flex;align-items:flex-end}.bar-chart{display:flex;align-items:flex-end;gap:3px;width:100%;height:100%}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative;cursor:pointer}.bar-fill{width:100%;min-height:2px;background:var(--accent);border-radius:3px 3px 0 0;opacity:.75;transition:opacity .2s}.bar-fill-active,.bar-fill:hover{opacity:1}.bar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-primary, #3a3226);color:#fff;padding:6px 10px;border-radius:6px;font-family:DM Sans,sans-serif;text-align:center;white-space:nowrap;pointer-events:none;z-index:10;margin-bottom:4px;display:flex;flex-direction:column;gap:1px}.bar-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--text-primary, #3a3226)}.bar-tooltip-count{font-size:.85rem;font-weight:700}.bar-tooltip-date{font-size:.65rem;opacity:.8}.bar-label{font-family:DM Sans,sans-serif;font-size:.6rem;color:var(--text-secondary);margin-top:4px;white-space:nowrap}.chart-empty{color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:.85rem;text-align:center;width:100%;padding:40px 0}.mood-bars{display:flex;flex-direction:column;gap:8px}.mood-bar-row{display:flex;align-items:center;gap:10px}.mood-bar-label{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--text-secondary);width:80px;text-transform:capitalize}.mood-bar-track{flex:1;height:14px;background:rgba(139,115,85,.08);border-radius:7px;overflow:hidden}.mood-bar-fill{height:100%;background:var(--accent);border-radius:7px;opacity:.65;min-width:4px}.mood-bar-count{font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-primary);width:30px;text-align:right}.event-list{max-height:300px;overflow-y:auto;padding-right:12px}.event-list .metric-value{white-space:nowrap;flex-shrink:0;padding-left:12px}@media (max-width: 768px){.analytics-grid{grid-template-columns:repeat(2,1fr)}.analytics-row{grid-template-columns:1fr}.stat-value{font-size:1.5rem}}@media (max-width: 480px){.analytics-grid{grid-template-columns:1fr 1fr}}.flagged-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.flagged-item{padding:14px;border:1px solid rgba(139,115,85,.15);border-radius:10px;background:rgba(139,115,85,.03)}.flagged-resolved{opacity:.6}.flagged-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-family:DM Sans,sans-serif;font-size:.82rem}.flagged-status{padding:2px 8px;border-radius:10px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.flagged-pending{background:#f0d8a0;color:#8a6520}.flagged-reviewed{background:#a0d8f0;color:#205a8a}.flagged-actioned{background:#a8d8a8;color:#2a6a2a}.flagged-dismissed{background:#d8d0c8;color:#6a6058}.flagged-reason{color:#c07050;font-weight:500}.flagged-user{color:var(--text-secondary)}.flagged-date{color:var(--text-secondary);margin-left:auto}.flagged-details{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--text-secondary);margin:0 0 8px;font-style:italic}.flagged-content{font-family:DM Sans,sans-serif;font-size:.85rem;line-height:1.5;color:var(--text-primary)}.flagged-entry-text,.flagged-ai-text{margin-bottom:4px}.flagged-ai-text{color:var(--text-secondary)}.flagged-actions{display:flex;gap:8px;margin-top:10px}.flagged-action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid rgba(139,115,85,.2);border-radius:6px;background:transparent;font-family:DM Sans,sans-serif;font-size:.8rem;cursor:pointer;transition:all .15s}.flagged-action-btn:disabled{opacity:.5}.flagged-review{color:#3a7ca5}.flagged-review:hover{background:rgba(58,124,165,.08)}.flagged-action{color:#4a9a4a}.flagged-action:hover{background:rgba(74,154,74,.08)}.flagged-dismiss{color:#8a8078}.flagged-dismiss:hover{background:rgba(138,128,120,.08)}.flagged-reply-section{margin-top:10px}.flagged-reply-input{width:100%;padding:10px 12px;border:1px solid rgba(139,115,85,.2);border-radius:8px;background:rgba(255,255,255,.6);font-family:DM Sans,sans-serif;font-size:.85rem;line-height:1.5;color:var(--text-primary);resize:vertical;margin-bottom:8px;box-sizing:border-box}.flagged-reply-input:focus{outline:none;border-color:#8b735566}.flagged-reply-hint{display:flex;align-items:center;gap:5px;margin:6px 0 0;font-family:DM Sans,sans-serif;font-size:.78rem;color:#8b7355;font-style:italic}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px 20px;background:#faf8f5;box-shadow:0 -4px 20px #00000014;animation:cookieSlideUp .4s ease-out}@keyframes cookieSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.dark .cookie-banner{background:#2a2520;box-shadow:0 -4px 20px #0000004d}.cookie-content{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.cookie-text{flex:1;min-width:200px;font-family:DM Sans,sans-serif;font-size:.85rem;color:#5c5347;line-height:1.5;margin:0}.dark .cookie-text{color:#a89880}.cookie-link{background:none;border:none;color:#8b7355;text-decoration:underline;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.85rem;padding:0}.dark .cookie-link{color:#c4a882}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-accept{padding:8px 22px;border:none;border-radius:6px;background:#8b7355;color:#fff;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #8b735540}.cookie-accept:hover{background:#7a6348}.cookie-decline{padding:8px 18px;border:none;border-radius:6px;background:transparent;color:#8b7355;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer}.cookie-decline:hover{background:rgba(139,115,85,.08)}.dark .cookie-accept{background:#a08060}.dark .cookie-accept:hover{background:#8b7050}.dark .cookie-decline{color:#a89880}.dark .cookie-decline:hover{background:rgba(255,255,255,.05)}.privacy-page{min-height:100vh;background:#faf8f5;color:#3a3530}.privacy-page.dark{background:#1e1a16;color:#e8e0d8}.privacy-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:800px;margin:0 auto}.privacy-back-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:transparent;color:#8b7355;font-family:DM Sans,sans-serif;font-size:.9rem;cursor:pointer}.privacy-back-btn:hover{background:rgba(139,115,85,.1)}.dark .privacy-back-btn{color:#d4bea0}.dark .privacy-back-btn:hover{background:rgba(212,190,160,.1)}.privacy-brand{display:flex;align-items:center;gap:8px;color:#8b7355;font-family:Lora,serif;font-size:1rem}.dark .privacy-brand{color:#d4bea0}.privacy-content{max-width:700px;margin:0 auto;padding:20px 32px 60px;font-family:DM Sans,sans-serif;line-height:1.7}.privacy-content h1{font-family:Lora,serif;font-size:2rem;font-weight:600;margin-bottom:4px;color:#3a3530}.dark .privacy-content h1{color:#e8e0d8}.privacy-effective{color:#8a8078;font-size:.85rem;margin-bottom:32px}.dark .privacy-effective{color:#a89888}.privacy-content h2{font-family:Lora,serif;font-size:1.15rem;font-weight:600;margin:32px 0 12px;color:#3a3530}.dark .privacy-content h2{color:#e8e0d8}.privacy-content p{margin:0 0 12px;font-size:.92rem;color:#5a5550}.dark .privacy-content p{color:#c8c0b8}.privacy-content ul{margin:0 0 12px;padding-left:20px}.privacy-content li{margin-bottom:8px;font-size:.92rem;color:#5a5550}.dark .privacy-content li{color:#c8c0b8}.privacy-content a{color:#8b7355;text-decoration:underline}.dark .privacy-content a{color:#d4bea0}.privacy-content strong{color:#3a3530;font-weight:600}.dark .privacy-content strong{color:#e8e0d8}.about-content p{line-height:1.85;margin-bottom:16px}.about-content h2{margin-top:40px}.about-founder{margin-top:48px;padding-top:32px;border-top:1px solid rgba(139,115,85,.2)}.about-signature{margin-top:24px;font-family:Lora,serif;font-style:italic;color:#8b7355;font-size:1.05rem}.dark .about-signature{color:#c4a67a}.dark .about-founder{border-top-color:#c4a67a33}.privacy-footer{text-align:center;padding:32px;opacity:.6}.privacy-footer .footer-brand{display:inline-flex;align-items:center;gap:8px;color:#8b7355;font-family:Lora,serif;font-size:.9rem}.dark .privacy-footer .footer-brand{color:#d4bea0}.privacy-footer .footer-tagline{font-family:DM Sans,sans-serif;font-size:.8rem;color:#8a8078;margin-top:4px}.flag-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:6px;background:transparent;color:#b8a898;font-family:DM Sans,sans-serif;font-size:.78rem;cursor:pointer;margin-top:8px;opacity:.6;transition:opacity .2s,color .2s}.flag-btn:hover{opacity:1;color:#c07050}.dark .flag-btn{color:#8a7a6a}.dark .flag-btn:hover{color:#d09070}.flag-confirmed{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:.78rem;color:#8b7355;margin-top:8px;opacity:.7}.dark .flag-confirmed{color:#d4bea0}.flag-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.flag-modal{background:#faf8f5;border-radius:14px;padding:24px;max-width:400px;width:100%;box-shadow:0 8px 32px #00000026}.dark .flag-modal{background:#2a2520}.flag-modal-title{font-family:Lora,serif;font-size:1.15rem;color:#3a3530;margin:0 0 6px}.dark .flag-modal-title{color:#f0e8e0}.flag-modal-desc{font-family:DM Sans,sans-serif;font-size:.88rem;color:#8a8078;margin:0 0 16px;line-height:1.5}.dark .flag-modal-desc{color:#a89888}.flag-reasons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.flag-reason-btn{padding:6px 14px;border:1px solid rgba(139,115,85,.2);border-radius:20px;background:transparent;color:#6b6056;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;transition:all .15s}.flag-reason-btn:hover{border-color:#8b7355;color:#8b7355}.flag-reason-btn.selected{background:#8b7355;color:#fff;border-color:#8b7355}.dark .flag-reason-btn{border-color:#d4bea033;color:#b8a898}.dark .flag-reason-btn:hover{border-color:#d4bea0;color:#d4bea0}.dark .flag-reason-btn.selected{background:#d4bea0;color:#1e1a16;border-color:#d4bea0}.flag-details{width:100%;padding:10px 12px;border:1px solid rgba(139,115,85,.2);border-radius:8px;background:transparent;color:#3a3530;font-family:DM Sans,sans-serif;font-size:.88rem;resize:vertical;margin-bottom:12px;box-sizing:border-box}.flag-details:focus{outline:none;border-color:#8b7355}.dark .flag-details{border-color:#d4bea033;color:#e8e0d8}.dark .flag-details:focus{border-color:#d4bea0}.flag-actions{display:flex;justify-content:flex-end;gap:10px}.flag-cancel{padding:8px 16px;border:none;border-radius:8px;background:transparent;color:#8a8078;font-family:DM Sans,sans-serif;font-size:.88rem;cursor:pointer}.flag-cancel:hover{background:rgba(139,115,85,.08)}.flag-submit{padding:8px 20px;border:none;border-radius:8px;background:#8b7355;color:#fff;font-family:DM Sans,sans-serif;font-size:.88rem;cursor:pointer;transition:background .15s}.flag-submit:hover{background:#7a6548}.flag-submit:disabled{opacity:.5;cursor:default}.dark .flag-submit{background:#d4bea0;color:#1e1a16}.dark .flag-submit:hover{background:#c4ae90}.flag-success{display:flex;align-items:center;gap:8px;padding:16px 0;color:#8b7355;font-family:DM Sans,sans-serif;font-size:.95rem}.dark .flag-success{color:#d4bea0}.flag-error{color:#c07050;font-family:DM Sans,sans-serif;font-size:.85rem;margin:0 0 8px}.crisis-intro{font-size:1.05rem;line-height:1.7;color:#6b6056;margin-bottom:24px}.dark .crisis-intro{color:#b8a898}.crisis-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}.crisis-card{background:rgba(139,115,85,.06);border:1px solid rgba(139,115,85,.12);border-radius:10px;padding:16px 18px}.dark .crisis-card{background:rgba(212,190,160,.06);border-color:#d4bea01f}.crisis-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:#8b7355}.dark .crisis-card-header{color:#d4bea0}.crisis-card p{font-size:.88rem;line-height:1.5;color:#6b6056;margin:0 0 8px}.dark .crisis-card p{color:#b8a898}.crisis-contact{font-family:DM Sans,sans-serif;font-size:.88rem;color:#3a3530;margin-top:4px}.dark .crisis-contact{color:#e8e0d8}.crisis-contact a{color:#8b7355;text-decoration:none;font-weight:500}.crisis-contact a:hover{text-decoration:underline}.dark .crisis-contact a{color:#d4bea0}.crisis-flag{font-size:1.1em;margin-right:4px}.crisis-globe-icon{vertical-align:middle;margin-right:2px}.crisis-emergency{font-weight:500;margin-bottom:12px}.crisis-emergency-numbers{display:flex;flex-wrap:wrap;gap:16px 28px;font-family:DM Sans,sans-serif;font-size:.92rem}.crisis-closing{margin-top:16px;padding-top:20px;border-top:1px solid rgba(139,115,85,.15)}.dark .crisis-closing{border-top-color:#d4bea026}.crisis-closing p{font-style:italic;color:#8b7355}.dark .crisis-closing p{color:#d4bea0}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:onboardingFadeIn .4s ease}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes onboardingSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-card{background:var(--bg-card, #faf6f0);border-radius:20px;padding:40px 36px 32px;max-width:480px;width:100%;position:relative;box-shadow:0 24px 80px #0003;animation:onboardingSlideUp .4s ease;text-align:center}.onboarding-skip{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted, #a09890);cursor:pointer;padding:4px;border-radius:50%;transition:color .2s,background .2s}.onboarding-skip:hover{color:var(--text-primary, #3a322a);background:var(--bg-prompt, #f0ebe3)}.onboarding-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--bg-prompt, #f0ebe3);color:var(--accent, #8b7355);margin-bottom:20px}.onboarding-title{font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--text-primary, #3a322a);margin:0 0 6px}.onboarding-subtitle{font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--accent, #8b7355);margin:0 0 16px;font-weight:500}.onboarding-description{font-family:DM Sans,sans-serif;font-size:.92rem;line-height:1.65;color:var(--text-secondary, #6b6056);margin:0 0 20px}.onboarding-tip{display:inline-flex;align-items:flex-start;gap:8px;background:var(--bg-prompt, #f0ebe3);border-radius:12px;padding:12px 16px;margin-bottom:24px;text-align:left}.onboarding-tip svg{flex-shrink:0;color:var(--accent, #8b7355);margin-top:2px}.onboarding-tip span{font-family:DM Sans,sans-serif;font-size:.82rem;color:var(--text-secondary, #6b6056);line-height:1.5;font-style:italic}.onboarding-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-prompt, #e0d8ce);transition:all .3s ease}.onboarding-dot.active{width:24px;border-radius:4px;background:var(--accent, #8b7355)}.onboarding-dot.completed{background:var(--accent, #8b7355);opacity:.5}.onboarding-actions{display:flex;align-items:center;justify-content:center;gap:12px}.onboarding-back-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;background:var(--bg-prompt, #f0ebe3);color:var(--text-secondary, #6b6056);font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.onboarding-back-btn:hover{background:var(--bg-hover, #e8e0d5)}.onboarding-next-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 28px;border:none;border-radius:10px;background:var(--accent, #8b7355);color:#fff;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s}.onboarding-next-btn:hover{background:var(--accent-hover, #7a6348);transform:translateY(-1px)}@media (max-width: 600px){.onboarding-card{padding:32px 24px 24px;border-radius:16px}.onboarding-title{font-size:1.3rem}.onboarding-description{font-size:.88rem}.onboarding-icon-wrap{width:52px;height:52px}.onboarding-icon-wrap svg{width:24px;height:24px}}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;background:#3a3530;color:#f5f0e8;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:10000;box-shadow:0 -4px 20px #00000026;animation:slideUpBanner .4s ease-out}@keyframes slideUpBanner{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-install-content{display:flex;align-items:center;gap:12px;flex:1}.pwa-install-content svg{color:#c4a67a;flex-shrink:0}.pwa-install-text{display:flex;flex-direction:column;gap:2px}.pwa-install-text strong{font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600}.pwa-install-text span{font-family:DM Sans,sans-serif;font-size:.78rem;opacity:.7}.pwa-install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-install-btn{background:#8b7355;color:#f5f0e8;border:none;padding:8px 20px;border-radius:6px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pwa-install-btn:hover{background:#a08968}.pwa-install-dismiss{background:none;border:none;color:#f5f0e8;opacity:.5;cursor:pointer;padding:4px;display:flex;align-items:center;transition:opacity .2s}.pwa-install-dismiss:hover{opacity:1}@media (max-width: 480px){.pwa-install-banner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.pwa-install-actions{justify-content:flex-end}.pwa-install-dismiss{position:absolute;top:10px;right:10px}.pwa-install-banner{position:relative}}.mobile-tab-bar{display:none}@media (max-width: 768px){.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);z-index:97;padding:4px 8px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 12px #0000000f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-tab-bar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;border:none;background:none;color:var(--text-muted);font-family:DM Sans,sans-serif;font-size:.65rem;font-weight:500;cursor:pointer;border-radius:8px;transition:color .15s ease,transform .08s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.mobile-tab-bar button:active{transform:scale(.9)}.mobile-tab-bar button.tab-active{color:var(--accent)}.mobile-tab-bar button.tab-active svg{filter:drop-shadow(0 0 4px rgba(139,115,85,.2))}}.landing{max-width:960px;margin:0 auto;padding:0 24px}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.landing-logo{display:flex;align-items:center;gap:10px;font-family:Lora,Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--text-heading)}.landing-header-actions{display:flex;gap:12px;align-items:center}.landing-signin{padding:9px 24px;border:none;background:var(--accent-soft);border-radius:24px;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .25s ease}.landing-signin:hover{background:var(--accent);color:var(--text-on-active)}.landing-theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:var(--accent-soft);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .25s ease}.landing-theme-toggle:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.landing-hero{text-align:center;padding:80px 0 72px;max-width:620px;margin:0 auto}.landing-hero h1{font-family:Lora,Georgia,serif;font-size:3.2rem;font-weight:600;color:var(--text-heading);letter-spacing:-.03em;line-height:1.15;margin-bottom:20px}.hero-subtitle{font-family:Lora,Georgia,serif;font-size:1.12rem;line-height:1.75;color:var(--text-secondary);margin-bottom:36px;font-style:italic}.hero-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;background:var(--accent);color:var(--text-on-active);border:none;border-radius:24px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-md)}.hero-cta:hover{background:var(--accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.landing-features{padding:60px 0}.landing-features h2,.landing-pricing h2,.landing-closing h2{font-family:Lora,Georgia,serif;font-size:2rem;font-weight:600;color:var(--text-heading);text-align:center;letter-spacing:-.02em;margin-bottom:10px}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:1rem;line-height:1.6;max-width:480px;margin:0 auto 44px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:var(--bg-card);border-radius:16px;padding:28px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .25s ease}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);margin-bottom:16px}.feature-card h3{font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-heading);margin-bottom:8px}.feature-card p{font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.landing-pricing{padding:60px 0 72px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.pricing-card{background:var(--bg-card);border-radius:18px;padding:32px 28px;box-shadow:var(--shadow-sm);position:relative;transition:box-shadow .25s ease,transform .25s ease}.pricing-card:hover{box-shadow:var(--shadow-md)}.pricing-card.highlighted{box-shadow:var(--shadow-lg);transform:scale(1.03);z-index:1}.pricing-card.highlighted:hover{transform:scale(1.04)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent);color:var(--text-on-active);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;padding:5px 16px;border-radius:24px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.pricing-card h3{font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.pricing-amount{display:flex;align-items:baseline;gap:2px;margin-bottom:8px}.price-currency{font-family:DM Sans,sans-serif;font-size:1.4rem;font-weight:600;color:var(--text-heading)}.price-value{font-family:Lora,Georgia,serif;font-size:3rem;font-weight:600;color:var(--text-heading);line-height:1}.price-period{font-size:.88rem;color:var(--text-muted);margin-left:4px}.pricing-alt{font-family:DM Sans,sans-serif;font-size:.82rem;color:var(--text-muted);margin-bottom:12px;letter-spacing:.01em}.pricing-description{font-size:.88rem;color:var(--text-secondary);margin-bottom:24px}.pricing-features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}.pricing-features li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--text-primary);line-height:1.4}.pricing-features li svg{flex-shrink:0;color:var(--accent);margin-top:1px}.pricing-cta{display:block;width:100%;padding:12px 24px;border:none;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .25s ease;text-align:center}.pricing-cta.primary{background:var(--accent);color:var(--text-on-active);box-shadow:var(--shadow-sm)}.pricing-cta.primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pricing-cta.secondary{background:var(--accent-soft);color:var(--text-secondary)}.pricing-cta.secondary:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.landing-personal-ai{padding:40px 0 20px}.personal-ai-card{background:var(--bg-card);border-radius:20px;padding:56px 48px;box-shadow:var(--shadow-lg);text-align:center;max-width:720px;margin:0 auto}.personal-ai-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);margin-bottom:24px}.personal-ai-card h2{font-family:Lora,Georgia,serif;font-size:1.7rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;line-height:1.3}.personal-ai-description{font-size:1rem;color:var(--text-secondary);line-height:1.7;max-width:580px;margin:0 auto 32px}.personal-ai-examples{display:flex;flex-direction:column;gap:16px;text-align:left}.personal-ai-example{padding:20px 24px;border-radius:14px;background:var(--bg-main)}.personal-ai-example.personal{background:var(--accent-soft)}.example-label{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px;font-family:DM Sans,sans-serif}.personal-ai-example.personal .example-label{color:var(--accent)}.personal-ai-example p{font-family:Lora,Georgia,serif;font-size:.92rem;line-height:1.6;color:var(--text-secondary);font-style:italic;margin:0}.personal-ai-example.personal p{color:var(--text-primary)}.personal-ai-privacy{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:.82rem;color:var(--text-muted);font-family:DM Sans,sans-serif}.landing-spotlight{padding:40px 0 60px}.spotlight-card{background:var(--bg-card);border-radius:20px;padding:56px 48px;box-shadow:var(--shadow-lg);text-align:center;position:relative;overflow:hidden}.spotlight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#81b29a,#8b7355,#e07a5f)}.spotlight-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:linear-gradient(135deg,rgba(129,178,154,.12),rgba(139,115,85,.12));color:var(--accent);border-radius:999px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:24px}.spotlight-card h2{font-family:Lora,Georgia,serif;font-size:2.2rem;font-weight:600;color:var(--text-heading);letter-spacing:-.02em;margin-bottom:16px}.spotlight-description{font-family:Lora,Georgia,serif;font-size:1.08rem;line-height:1.75;color:var(--text-secondary);max-width:560px;margin:0 auto 40px;font-style:italic}.spotlight-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;margin-bottom:40px}.spotlight-feature{display:flex;gap:14px;align-items:flex-start}.spotlight-feature>svg{flex-shrink:0;color:#81b29a;margin-top:2px}.spotlight-feature strong{display:block;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-heading);margin-bottom:4px}.spotlight-feature p{font-size:.84rem;line-height:1.55;color:var(--text-secondary);margin:0}.landing-testimonials{padding:40px 0 60px}.landing-testimonials h2{font-family:Lora,Georgia,serif;font-size:2.2rem;font-weight:600;color:var(--text-heading);text-align:center;letter-spacing:-.02em;margin-bottom:8px}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.testimonial-card{background:var(--bg-card);border-radius:16px;padding:32px 28px 28px;box-shadow:var(--shadow-md);position:relative;display:flex;flex-direction:column;gap:16px}.testimonial-quote-icon{color:var(--accent);opacity:.3;flex-shrink:0}.testimonial-text{font-family:Lora,Georgia,serif;font-size:.95rem;line-height:1.7;color:var(--text-secondary);font-style:italic;margin:0;flex:1}.testimonial-author{display:flex;align-items:center;gap:12px;margin-top:8px}.testimonial-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#81b29a);color:#fff;display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;flex-shrink:0}.testimonial-author strong{display:block;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;color:var(--text-heading)}.testimonial-author span{font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-muted)}.trust-signals{display:flex;justify-content:center;gap:32px;margin-top:48px;flex-wrap:wrap}.trust-signal{display:flex;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:.84rem;color:var(--text-secondary)}.trust-signal svg{color:#81b29a;flex-shrink:0}.landing-closing{padding:40px 0 60px}.closing-card{text-align:center;background:var(--bg-card);border-radius:20px;padding:56px 40px;box-shadow:var(--shadow-md)}.closing-card h2{margin-bottom:14px}.closing-card p{font-family:Lora,Georgia,serif;font-size:1.05rem;line-height:1.7;color:var(--text-secondary);max-width:500px;margin:0 auto 32px;font-style:italic}.email-capture{margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.email-capture-label{font-family:DM Sans,sans-serif!important;font-size:.92rem!important;font-style:normal!important;color:var(--text-secondary);margin-bottom:20px!important}.subscribe-form{display:flex;gap:10px;max-width:420px;margin:0 auto}.subscribe-input{flex:1;padding:12px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-family:DM Sans,sans-serif;font-size:.92rem;color:var(--text-primary);outline:none;transition:border-color .2s ease}.subscribe-input:focus{border-color:var(--accent)}.subscribe-input::placeholder{color:var(--text-muted)}.subscribe-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;border:none;border-radius:12px;background:var(--accent);color:var(--text-on-active);font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.subscribe-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.subscribe-btn:disabled{opacity:.6;cursor:not-allowed}.subscribe-success{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:rgba(129,178,154,.12);color:#81b29a;border-radius:12px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500}.subscribe-error{font-family:DM Sans,sans-serif!important;font-size:.82rem!important;font-style:normal!important;color:#e07a5f!important;margin-top:10px!important;margin-bottom:0!important}.email-capture-privacy{font-family:DM Sans,sans-serif!important;font-size:.78rem!important;font-style:normal!important;color:var(--text-muted)!important;margin-top:12px!important;margin-bottom:0!important}.landing-footer{padding:32px 0;text-align:center}.footer-content{display:flex;flex-direction:column;align-items:center;gap:6px}.footer-brand{display:flex;align-items:center;gap:8px;font-family:Lora,Georgia,serif;font-size:.95rem;font-weight:600;color:var(--text-heading)}.footer-tagline{font-family:Lora,Georgia,serif;font-size:.8rem;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.landing-hero{padding:48px 0 44px}.landing-hero h1{font-size:2.2rem}.hero-subtitle{font-size:1rem}.features-grid{grid-template-columns:1fr;gap:14px}.pricing-grid{grid-template-columns:1fr;gap:16px;max-width:400px;margin:0 auto}.pricing-card.highlighted,.pricing-card.highlighted:hover{transform:none}.personal-ai-card{padding:40px 24px}.personal-ai-card h2{font-size:1.4rem}.spotlight-card{padding:40px 24px}.spotlight-card h2{font-size:1.6rem}.spotlight-features{grid-template-columns:1fr;gap:20px}.closing-card{padding:40px 24px}.testimonials-grid{grid-template-columns:1fr;gap:16px;max-width:480px;margin:40px auto 0}.landing-testimonials h2{font-size:1.6rem}.trust-signals{flex-direction:column;align-items:center;gap:16px}.subscribe-form{flex-direction:column;max-width:320px}.subscribe-btn{justify-content:center}}@media (max-width: 480px){.landing{padding:0 16px}.landing-hero h1{font-size:1.8rem}}.footer-contact-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;border:none;border-radius:6px;background:rgba(139,115,85,.1);color:#8b7355;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer}.dark .footer-contact-btn{background:rgba(212,190,160,.12);color:#d4bea0}.footer-contact-btn:hover{background:rgba(139,115,85,.2)}.contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.contact-modal{background:#faf8f5;border-radius:16px;padding:28px;max-width:440px;width:100%;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:12px}.dark .contact-modal{background:#2a2520}.contact-modal-title{font-family:Lora,serif;font-size:1.2rem;color:#3a3530;margin:0 0 4px}.dark .contact-modal-title{color:#e8e0d8}.contact-modal .contact-input,.contact-modal .contact-textarea{width:100%;padding:10px 14px;border:none;border-radius:8px;background:rgba(0,0,0,.04);font-family:DM Sans,sans-serif;font-size:.9rem;color:#3a3530;box-sizing:border-box}.dark .contact-modal .contact-input,.dark .contact-modal .contact-textarea{background:rgba(255,255,255,.08);color:#e8e0d8}.contact-modal .contact-input:focus,.contact-modal .contact-textarea:focus{outline:none;box-shadow:0 0 0 2px #8b73554d}.contact-modal .contact-textarea{resize:vertical;min-height:80px}.contact-modal .contact-actions{display:flex;gap:8px;justify-content:flex-end}.contact-modal .contact-cancel-btn{padding:8px 16px;border:none;border-radius:6px;background:transparent;color:#8a8078;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer}.contact-modal .contact-cancel-btn:hover{background:rgba(0,0,0,.04)}.dark .contact-modal .contact-cancel-btn{color:#a89888}.dark .contact-modal .contact-cancel-btn:hover{background:rgba(255,255,255,.06)}.contact-modal .contact-send-btn{padding:8px 20px;border:none;border-radius:6px;background:#8b7355;color:#fff;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;box-shadow:0 2px 8px #8b73554d}.contact-modal .contact-send-btn:hover:not(:disabled){background:#7a644a}.contact-modal .contact-send-btn:disabled{opacity:.5;cursor:not-allowed}.contact-modal .contact-success{padding:14px;text-align:center;color:#6b8f71;font-family:DM Sans,sans-serif;font-size:.9rem}.footer-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}.footer-links .footer-contact-btn{margin-top:0}.contact-modal .contact-error{color:#c75050;font-size:.8rem;text-align:center;margin:4px 0 0}
