.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative;background:var(--color-bg);z-index:0}.top-nav{display:flex;align-items:center;gap:var(--space-4);height:var(--nav-height);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);position:relative;z-index:100;flex-shrink:0}.nav-brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.brand-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent)}.brand-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:-.3px;color:var(--color-text);white-space:nowrap}.brand-sub{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1;margin-top:1px;font-weight:var(--weight-medium)}.desktop-tabs{flex:1;display:flex;justify-content:center;gap:var(--space-1)}@media (max-width: 640px){.desktop-tabs{display:none}.lang-trigger{padding:8px 12px;min-height:44px;min-width:auto}.icon-btn{width:44px;height:44px}}.tab-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-normal) var(--ease-spring),background var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring);white-space:nowrap;position:relative}.tab-btn:hover{background:var(--color-hover);color:var(--color-text)}.tab-btn:active{transform:translateY(0) scale(.97)}.tab-btn.active{background:var(--color-accent-warm);color:var(--color-accent);font-weight:var(--weight-semibold)}.tab-icon{display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-spring)}.tab-btn.active .tab-icon{transform:scale(1.1)}.tab-btn:hover .tab-icon{transform:scale(1.08)}.tab-label{font-size:var(--text-sm)}.nav-controls{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;margin-left:auto}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;color:var(--color-text-secondary);font-size:1.1rem;transition:color var(--duration-fast) var(--ease-spring),background var(--duration-fast) var(--ease-spring),transform var(--duration-fast) var(--ease-spring)}.icon-btn:hover{background:var(--color-hover);color:var(--color-text)}.icon-btn:active{transform:scale(.92);transition-duration:var(--duration-instant)}.lang-selector{position:relative}.lang-trigger{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--duration-fast) var(--ease-gentle),background var(--duration-fast) var(--ease-gentle),border-color var(--duration-fast) var(--ease-gentle);white-space:nowrap;min-width:88px;justify-content:space-between}.lang-trigger:hover{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--shadow-sm)}.lang-native{font-size:var(--text-sm);font-weight:var(--weight-bold)}.lang-chevron{display:flex;align-items:center;color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-spring)}.lang-chevron.open{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:220px;max-height:360px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:999;padding:var(--space-1);animation:scaleSpring var(--duration-normal) var(--ease-spring) both}.lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:color var(--duration-fast) var(--ease-gentle),background var(--duration-fast) var(--ease-gentle),transform var(--duration-fast) var(--ease-gentle);color:var(--color-text)}.lang-option:hover{background:var(--color-hover);transform:translate(2px)}.lang-option.selected{background:var(--color-accent-soft)}.lang-opt-native{font-size:var(--text-base);font-weight:var(--weight-bold);min-width:70px}.lang-opt-label{font-size:var(--text-xs);color:var(--color-text-muted);flex:1}.lang-check{display:flex;align-items:center;color:var(--color-accent)}.main-content{flex:1;overflow:hidden;position:relative;z-index:1}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{height:var(--bottom-nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);display:none;justify-content:space-around;align-items:center;padding:0 var(--space-3);flex-shrink:0;z-index:100;box-shadow:var(--shadow-xs)}@media (max-width: 640px){.bottom-nav{display:flex;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav .tab-btn{flex-direction:column;gap:0;padding:8px 0;min-width:44px;border-radius:var(--radius-lg);position:relative}.bottom-nav .tab-btn:active{transform:scale(.9)}.bottom-nav .tab-icon{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.bottom-nav .tab-btn.active .tab-icon:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-accent);animation:dotPop var(--duration-normal) var(--ease-spring) both}.bottom-nav .tab-label{display:none}.bottom-nav .tab-btn.active .tab-label{font-weight:var(--weight-semibold)}}@keyframes dotPop{0%{transform:translate(-50%) scale(0)}60%{transform:translate(-50%) scale(1.3)}to{transform:translate(-50%) scale(1)}}.saathi-layout{display:flex;height:100%;overflow:hidden;animation:fadeIn var(--duration-slow) var(--ease-out) both}.heal-tab-wrap,.safar-tab-wrap{height:100%;overflow:hidden;background:var(--color-bg);border-radius:var(--radius-xl, 12px)}.you-tab-wrap{background:var(--color-bg);overflow-y:auto;height:100%}.sangam-tab-wrap{height:100%;overflow-y:auto;background:var(--color-bg);border-radius:var(--radius-xl, 12px);padding:var(--space-4);color:var(--color-text)}.sangam-section-divider{height:1px;background:var(--color-border, rgba(0,0,0,.08));margin:16px 0}.sangam-section-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;border-radius:var(--radius-lg, 10px);background:var(--color-surface, rgba(0,0,0,.03));color:var(--color-text);font-size:.9rem;cursor:pointer;transition:background .2s;margin-bottom:8px;text-align:left}.sangam-section-trigger:hover{background:var(--color-surface-hover, rgba(0,0,0,.06))}.sangam-section-emoji{font-size:1.2rem;flex-shrink:0}.sangam-section-label{flex:1;font-weight:500}.sangam-section-arrow{color:var(--color-text-muted, #999);font-size:1rem}.overlay-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--color-bg, #faf9f7);overflow-y:auto;padding:16px;padding-top:env(safe-area-inset-top,16px)}.overlay-back-btn{position:sticky;top:0;z-index:10;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:20px;background:var(--color-surface, rgba(0,0,0,.05));color:var(--color-text, #1a1816);font-size:.85rem;cursor:pointer;margin-bottom:12px;transition:background .2s}.overlay-back-btn:hover{background:var(--color-surface-hover, rgba(0,0,0,.08))}.tab-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);padding:var(--space-8)}.tab-placeholder-icon{font-size:52px;opacity:.35;line-height:1}.tab-placeholder-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-secondary);margin:0}.tab-placeholder-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;text-align:center;max-width:320px;line-height:1.6}.lang-auto-flash{border-color:var(--color-accent)!important;box-shadow:0 0 0 3px var(--color-accent-soft);animation:langFlash 2s var(--ease-gentle) forwards}@keyframes langFlash{0%{box-shadow:0 0 0 4px var(--color-accent-soft)}to{box-shadow:none}}.lang-auto-badge{font-size:9px;font-weight:var(--weight-bold);background:var(--color-accent);color:#fff;border-radius:var(--radius-full);padding:1px 6px;text-transform:uppercase;letter-spacing:.5px;animation:scaleSpring var(--duration-normal) var(--ease-spring) both}@media (prefers-reduced-motion: reduce){.top-nav,.bottom-nav,.brand-icon{animation:none!important}.brand-icon .icon-animated path{animation:none!important}.lang-auto-flash,.lang-dropdown{animation:none!important}.tab-btn,.icon-btn,.tab-icon{transition:none!important}.main-content>*{animation:none!important;opacity:1!important}}.night-watch{--color-bg-nw: oklch(12% .01 270);--color-surface-nw: oklch(16% .01 270);--color-text-nw: oklch(75% .01 270);--color-accent-nw: oklch(55% .08 280)}.night-watch body,.night-watch{filter:brightness(.85) saturate(.8)}.night-watch *{transition-duration:.4s!important;animation-duration:1.5s!important}.night-watch .chat-container,.night-watch .message-bubble,.night-watch .heal-menu,.night-watch .safar-container{background:var(--color-surface-nw, oklch(16% .01 270))!important}.night-watch .sendBtn:not(:disabled){opacity:.7}.night-watch .nav-bar button.active{filter:brightness(.9)}@keyframes nightPulse{0%,to{box-shadow:0 0 8px #686ca033}50%{box-shadow:0 0 16px #686ca066}}.night-watch .sendBtn:not(:disabled){animation:nightPulse 3s ease-in-out infinite}.night-watch .mood-particles{opacity:.3!important}.night-watch-badge{position:fixed;bottom:80px;right:16px;background:var(--color-surface-alt);color:var(--color-text-secondary);padding:4px 10px;border-radius:12px;font-size:11px;z-index:100;border:1px solid var(--color-border);pointer-events:none;animation:fadeIn .5s ease}.report-banner{position:fixed;top:76px;left:50%;transform:translate(-50%);z-index:7500;display:flex;align-items:center;gap:12px;padding:12px 20px 12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--duration-normal) var(--ease-snap),box-shadow var(--duration-normal) var(--ease-snap),border-color var(--duration-normal) var(--ease-snap);box-shadow:var(--shadow-md);max-width:360px}@keyframes bannerSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.report-banner:hover{transform:translate(-50%) translateY(-1px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.report-banner:active{transform:translate(-50%) scale(.98)}.report-banner-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#c47a8a1a,#7a9e7e1a);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.report-banner-text{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--color-text, #3d3530);font-weight:500;flex:1;line-height:1.3}.report-banner-sub{display:block;font-size:.72rem;font-weight:400;color:var(--color-text-muted, #8a7e76);margin-top:1px}.report-banner-arrow{color:var(--color-accent, #c47a8a);font-size:1rem;transition:transform .25s cubic-bezier(.22,1,.36,1);flex-shrink:0}.report-banner:hover .report-banner-arrow{transform:translate(3px)}.report-banner-dismiss{width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted, #8a7e76);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;flex-shrink:0}.report-banner-dismiss:hover{background:var(--color-surface-alt, rgba(0,0,0,.04));color:var(--color-text, #3d3530)}.chat{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--color-bg)}.chatToolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-alt)}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar-left,.toolbar-right{flex-shrink:0}.btnSmall{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:5px 12px;cursor:pointer;font-weight:var(--weight-medium);font-size:var(--text-sm);transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);white-space:nowrap;position:relative;overflow:hidden}.btnSmall:hover{background:var(--color-hover);color:var(--color-text);border-color:var(--color-border-strong)}.btnSmall:active{transform:translateY(0) scale(.96);transition-duration:var(--duration-instant)}.btnSmall:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btnSmall.danger{border-color:#d4726a4d;background:var(--color-coral-soft);color:var(--color-coral)}.btnSmall.danger:hover{background:#d4726a26;box-shadow:0 0 12px #d4726a14}.toolbar-action{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);padding:6px 12px;border-color:var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted)}.toolbar-action:hover{color:var(--color-text);background:var(--color-hover);border-color:var(--color-border-strong)}.toolbar-action-label{font-size:11px;font-weight:var(--weight-medium);letter-spacing:.2px}.toolbar-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);cursor:pointer;transition:background .15s var(--ease-gentle),color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),transform .15s var(--ease-spring)}.toolbar-toggle:hover{background:var(--color-hover);color:var(--color-text);border-color:var(--color-border-strong)}.toolbar-toggle:active{transform:scale(.92)}.toolbar-toggle.active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.btnSmall.emergency{border-color:#d4726a66;background:#d4726a1f;color:var(--color-coral)}.btnSmall.emergency:hover{background:#d4726a33;box-shadow:var(--shadow-sm);transform:translateY(-1px) scale(1.02)}.more-menu-container{position:relative}.more-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:100;min-width:180px;animation:slideInDown var(--duration-normal) var(--ease-spring) both}.more-menu button{display:block;width:100%;padding:10px 16px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.more-menu button:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.more-menu button:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.more-menu button:hover{background:var(--color-hover);color:var(--color-text);transform:translate(2px)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chatList{flex:1;min-height:0;overflow:auto;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.msg{display:flex;animation:msgSlideIn var(--duration-slow) var(--ease-spring) both}.msg.user{justify-content:flex-end}.msg.bot{justify-content:flex-start}.msg:nth-child(1){animation-delay:0ms}.msg:nth-child(2){animation-delay:30ms}.msg:nth-child(3){animation-delay:60ms}.bubble{width:min(600px,85%);border-radius:var(--radius-xl);background:var(--color-bot-bg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);transition:background-color .15s var(--ease-gentle)}.bubble:hover{box-shadow:var(--shadow-sm),inset 0 1px #ffffff0a}.msg.user .bubble{background:var(--color-user-bg);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl)}.msg.bot .bubble{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm)}.msgText{white-space:pre-wrap;line-height:1.6;word-break:break-word}.msgMeta{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex;gap:var(--space-2);align-items:center}.badge{padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--weight-semibold);font-size:10px;text-transform:uppercase;letter-spacing:.3px;animation:scaleSpring var(--duration-normal) var(--ease-spring) both}.badge.high{background:var(--color-coral-soft);color:var(--color-coral);border:1px solid rgba(212,114,106,.2)}.badge.medium{background:var(--color-amber-soft);color:var(--color-amber);border:1px solid rgba(196,154,108,.2)}.badge.low{background:var(--color-sky-soft);color:var(--color-sky);border:1px solid rgba(106,143,168,.2)}.typing{display:flex;gap:0;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bot-bg);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);width:min(300px,60%);overflow:hidden}.typing span{display:block;width:100%;height:8px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-surface-alt) 0%,var(--color-hover) 25%,var(--color-accent-soft) 50%,var(--color-hover) 75%,var(--color-surface-alt) 100%);background-size:200% 100%;animation:shimmerSweep 1.8s var(--ease-gentle) infinite}.typing span:nth-child(2){width:75%;margin-top:6px;animation-delay:.15s}.typing span:nth-child(3){width:50%;margin-top:6px;animation-delay:.3s}.loading-msg{display:block;width:100%;font-size:var(--text-sm);line-height:1.6;color:var(--color-text-muted);white-space:pre-line;animation:fadeIn .3s var(--ease-out)}.chatComposer{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);align-items:flex-end}.chatComposer input{flex:1;min-width:0;border-radius:var(--radius-xl);border:1.5px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);padding:12px 18px;outline:none;font-size:var(--text-base);line-height:1.5;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.chatComposer input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);background:var(--color-surface)}.chatComposer input:focus::placeholder{color:var(--color-text-secondary)}.chatComposer input::placeholder{color:var(--color-text-muted);transition:color var(--duration-fast)}.sendBtn{border-radius:var(--radius-md);border:none;background:var(--color-accent);color:#fff;padding:12px 24px;cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);white-space:nowrap;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.sendBtn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.sendBtn:active:not(:disabled){transform:translateY(0) scale(.96);box-shadow:var(--shadow-sm)}.sendBtn:disabled{opacity:.35;cursor:not-allowed}.coping-chips-bar{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-4);overflow-x:auto;scrollbar-width:none;animation:fadeSlideUp .4s var(--ease-spring) both}.coping-chips-bar::-webkit-scrollbar{display:none}.coping-chips-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium);white-space:nowrap;flex-shrink:0}.coping-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle);white-space:nowrap}.coping-chip:hover{background:var(--color-hover);border-color:var(--color-border-strong);color:var(--color-text)}.raga-suggestion{display:flex;align-items:center;gap:var(--space-3);padding:10px 16px;margin:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-accent-warm);border:1px solid var(--color-accent-soft);cursor:pointer;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle);animation:fadeSlideUp .4s var(--ease-spring) both}.raga-suggestion:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.raga-suggestion-icon{font-size:1.2rem}.raga-suggestion-text{flex:1;font-size:var(--text-sm);color:var(--color-text-secondary)}.raga-suggestion-arrow{color:var(--color-accent);font-size:.9rem;transition:transform .2s ease}.raga-suggestion:hover .raga-suggestion-arrow{transform:translate(3px)}.silent-mode-btn{height:40px;padding:0 14px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface-alt);font-size:1.2rem;cursor:pointer;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);flex-shrink:0;display:flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;color:var(--color-text-muted)}.silent-mode-btn:hover{background:var(--color-hover);border-color:var(--color-accent)}.silent-mode-bar{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-4);background:var(--color-accent-warm);border-top:1px solid var(--color-border);animation:fadeSlideUp .4s var(--ease-spring) both}.silent-mode-text{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.silent-mode-pulse{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:gentlePulse 3s ease-in-out infinite}@keyframes gentlePulse{0%,to{opacity:.3}50%{opacity:.8}}.silent-mode-ready{padding:8px 18px;border-radius:var(--radius-md);border:1px solid var(--color-accent);background:#c47a8a14;color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);font-family:DM Sans,sans-serif}.silent-mode-ready:hover{background:#c47a8a26;box-shadow:0 4px 16px #c47a8a26}.silent-mode-breathe{flex:1;display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic}.breathe-circle{width:48px;height:48px;border-radius:50%;border:2px solid var(--color-accent-soft);animation:breatheExpand 8s ease-in-out infinite}@keyframes breatheExpand{0%,to{opacity:.3;border-color:var(--color-accent-soft)}25%{opacity:.7;border-color:var(--color-accent)}50%{opacity:.7;border-color:var(--color-accent)}75%{opacity:.3;border-color:var(--color-accent-soft)}}@media (max-width: 640px){.chatToolbar{padding:var(--space-2) var(--space-3);gap:var(--space-1);flex-wrap:wrap}.btnSmall{font-size:var(--text-xs);padding:8px 12px;min-height:36px}.toolbar-action-label{display:none}.toolbar-action{padding:8px 10px;min-height:36px}.chatList{padding:var(--space-4) var(--space-3)}.bubble{width:min(600px,92%);padding:var(--space-3) var(--space-4)}.chatComposer{padding:var(--space-3);gap:var(--space-2)}.chatComposer input{min-height:44px;font-size:16px}.sendBtn{padding:10px 18px;font-size:var(--text-xs);min-height:44px}.chat-disclaimer{font-size:11px;padding:4px 12px}}@media (prefers-reduced-motion: reduce){.msg{animation:none!important;opacity:1!important}.msg.bot:last-child .bubble{animation:none!important;opacity:1!important}.typing span{animation:none!important;opacity:.4;background:var(--color-border)}.sendBtn,.bubble,.btnSmall{transition:none!important;transform:none!important}.chatComposer input:focus{box-shadow:0 0 0 3px var(--color-accent-soft);background-image:none}}.chatInput input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-8);text-align:center;gap:var(--space-3)}.chat-empty-icon{color:var(--color-text-muted);opacity:.4;margin-bottom:var(--space-2)}.chat-empty-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-secondary);font-weight:var(--weight-normal)}.chat-empty-sub{font-size:var(--text-sm);color:var(--color-text-muted);max-width:280px;line-height:1.5}.chat-empty-disclaimer{font-size:var(--text-xs);color:var(--color-text-muted);max-width:300px;line-height:1.5;opacity:.7;margin-top:var(--space-2)}.msg-error .bubble{background:var(--color-coral-soft);border-color:#d4726a33}.msg-error .msgText{color:var(--color-coral)}.msg-error-retry{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-2);padding:4px 10px;border:1px solid rgba(212,114,106,.3);border-radius:var(--radius-md);background:transparent;color:var(--color-coral);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background .15s var(--ease-gentle),border-color .15s var(--ease-gentle)}.msg-error-retry:hover{background:#d4726a14;border-color:var(--color-coral)}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--color-surface-alt);border-right:1px solid var(--color-border);overflow:hidden;animation:fadeIn var(--duration-drift) var(--ease-out) both}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-new-btn{width:100%;padding:10px 14px;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);box-shadow:var(--shadow-sm)}.sidebar-new-btn:hover{background:var(--color-accent-hover)}.sidebar-new-btn:active{transform:translateY(0) scale(.97)}.sidebar-list{flex:1;overflow-y:auto;padding:var(--space-2)}.sidebar-empty{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-8);padding:0 var(--space-4)}.sidebar-item{display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;margin-bottom:2px;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.sidebar-item:hover{background:var(--color-hover)}.sidebar-item.active{background:var(--color-accent-soft)}.sidebar-item-title{flex:1;font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--weight-medium)}.sidebar-item-date{font-size:10px;color:var(--color-text-muted);flex-shrink:0}.sidebar-item-del{display:none;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0;align-items:center;justify-content:center;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.sidebar-item-del:hover{color:var(--color-coral);background:var(--color-coral-soft)}.sidebar-item:hover .sidebar-item-del{display:flex}@media (max-width: 640px){.sidebar{display:none}}.cinematic-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;transition:opacity var(--duration-slow) var(--ease-gentle)}.cinematic-root.phase-in{opacity:0;animation:cinematicFadeIn .6s var(--ease-out) forwards}.cinematic-root.phase-question{opacity:1}.cinematic-root.phase-out{opacity:0;pointer-events:none;transition:opacity .5s var(--ease-gentle)}@keyframes cinematicFadeIn{0%{opacity:0}to{opacity:1}}.cinematic-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg);pointer-events:none}.cinematic-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 60% at 50% 40%,rgba(196,122,138,.05) 0%,transparent 70%);pointer-events:none}.cinematic-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-12) var(--space-8);max-width:500px;width:100%}.cinematic-content>*{animation:fadeUp var(--duration-drift) var(--ease-spring) both}.cinematic-content>:nth-child(1){animation-delay:.2s}.cinematic-content>:nth-child(2){animation-delay:.4s}.cinematic-content>:nth-child(3){animation-delay:.6s}.cinematic-logo{font-size:56px;margin-bottom:var(--space-8);line-height:1;animation:gentleFloat 3s var(--ease-gentle) infinite,fadeUp var(--duration-drift) var(--ease-spring) .2s both!important}.cinematic-question{font-family:var(--font-display);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:400;line-height:1.5;color:var(--color-text);margin-bottom:var(--space-10)}.cinematic-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.cinematic-btn{padding:14px 32px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.cinematic-btn:active{transform:translateY(0) scale(.97)}.cinematic-btn.primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md)}.cinematic-btn.primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-lg),var(--shadow-glow)}.cinematic-btn.ghost{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-secondary)}.cinematic-btn.ghost:hover{background:var(--color-hover);color:var(--color-text)}@media (max-width: 480px){.cinematic-content{padding:var(--space-8) var(--space-5)}.cinematic-logo{font-size:44px}.cinematic-btn{padding:12px 24px;font-size:var(--text-sm)}}@media (prefers-reduced-motion: reduce){.cinematic-root.phase-in{animation:none!important;opacity:1}.cinematic-content>*{animation-delay:0ms!important}.cinematic-logo{animation:none!important}}.crisisBanner{z-index:70;border-bottom:1px solid var(--color-border)}.crisisBannerInner{padding:10px 16px;font-weight:var(--weight-semibold);font-size:var(--text-sm);text-align:center}.crisisBanner.high{background:var(--color-coral-soft);color:var(--color-coral);border-color:#d4726a33}.crisisBanner.medium{background:var(--color-amber-soft);color:var(--color-amber);border-color:#c49a6c33}.crisisBanner.low{background:var(--color-sky-soft);color:var(--color-sky);border-color:#6a8fa833}.crisisCorner{position:fixed;left:var(--space-4);bottom:var(--space-4);z-index:2000;border-radius:var(--radius-full);padding:10px 16px;font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer;border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-md);transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring);animation:fadeUp var(--duration-slow) var(--ease-spring) both}.crisisCorner:hover{background:var(--color-surface);box-shadow:var(--shadow-lg)}.crisisCorner:active{transform:translateY(0) scale(.97)}.crisisCorner.high{background:var(--color-coral-soft);border-color:#d4726a40;color:var(--color-coral);box-shadow:var(--shadow-md),0 0 16px #d4726a1f}.crisisCorner.medium{background:var(--color-amber-soft);border-color:#c49a6c40;color:var(--color-amber)}.crisisCorner.low{background:var(--color-sky-soft);border-color:#6a8fa840;color:var(--color-sky)}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px;background:var(--color-bg, #faf9f7);font-family:var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif)}.error-boundary-card{max-width:420px;text-align:center;padding:40px 32px;border-radius:20px;background:var(--color-surface, #fff);box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f}.error-boundary-emoji{font-size:3rem;display:block;margin-bottom:16px}.error-boundary-title{font-size:1.3rem;font-weight:600;color:var(--color-text, #1a1816);margin:0 0 12px}.error-boundary-msg{font-size:.9rem;color:var(--color-text-muted, #64748b);line-height:1.6;margin:0 0 24px}.error-boundary-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.error-boundary-btn{padding:10px 24px;border-radius:24px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .15s}.error-boundary-btn:active{transform:scale(.97)}.error-boundary-btn.primary{background:var(--color-primary, #1a1816);color:var(--color-primary-text, #fff)}.error-boundary-btn.secondary{background:var(--color-surface, rgba(0,0,0,.05));color:var(--color-text, #1a1816)}.error-boundary-helpline{font-size:.78rem;color:var(--color-text-muted, #999);margin:0;line-height:1.5}.error-boundary-helpline a{color:var(--color-primary, #1a1816);text-decoration:underline;text-underline-offset:2px}.error-boundary-details{margin-top:20px;text-align:left;font-size:.72rem;color:#c00;background:#00000008;border-radius:8px;padding:12px;overflow-x:auto}.error-boundary-details pre{margin:4px 0;white-space:pre-wrap;word-break:break-word}@media (max-width: 640px){.error-boundary-card{padding:32px 24px}}.safar-journey{position:relative;width:100%;height:100%;overflow:hidden;border-radius:var(--radius-xl,12px)}.safar-landscape{position:relative;width:100%;height:100%;min-height:400px;cursor:crosshair;overflow:hidden}.safar-canvas{display:block;width:100%;height:100%}.safar-landscape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:256px 256px;animation:paperGrain 8s steps(6) infinite}@keyframes paperGrain{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px)}to{transform:translate(0)}}.safar-landscape:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 65% at 50% 50%,transparent 50%,rgba(80,60,40,.12) 100%)}.safar-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;pointer-events:none}.safar-empty-compass{color:#78645066;margin-bottom:16px;animation:safarFloat 6s ease-in-out infinite}@keyframes safarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.safar-empty-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem;color:#504132b3;margin:0 0 6px}.safar-empty-sub{font-family:DM Sans,sans-serif;font-size:.85rem;color:#78645080;margin:0}.safar-stats{position:absolute;bottom:20px;left:20px;z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:14px 18px;min-width:180px;pointer-events:none;box-shadow:var(--shadow-sm);animation:slideInUp var(--duration-slow) var(--ease-out) both}.safar-stats-row{display:flex;align-items:center;gap:16px;margin-bottom:8px}.safar-stats-row:last-child{margin-bottom:0}.safar-stat{display:flex;align-items:baseline;gap:5px}.safar-stat-num{font-family:"DM Serif Display",Georgia,serif;font-size:1.3rem;color:#8b6b50;font-weight:700}.safar-stat-label{font-family:DM Sans,sans-serif;font-size:.7rem;color:#9a8a7a;text-transform:uppercase;letter-spacing:.5px}.safar-mood-dots{display:flex;align-items:center;gap:6px}.safar-mood-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:transform .3s ease}.safar-mood-dot:hover{transform:scale(1.5)}.safar-mood-label{font-family:DM Sans,sans-serif;font-size:.65rem;color:#aa9a8a;margin-left:4px}.safar-tooltip{position:absolute;z-index:20;transform:translate(-50%);background:#f5f0e6eb;border:1px solid rgba(180,160,130,.25);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:tooltipIn .2s ease-out}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.safar-tooltip-title{font-family:DM Sans,sans-serif;font-size:.8rem;color:#5a4a3a;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.safar-tooltip-date{font-family:DM Sans,sans-serif;font-size:.65rem;color:#9a8a7a}.safar-checkin-trigger{position:absolute;bottom:20px;right:20px;z-index:10;background:#f5f0e6bf;border:1px solid rgba(139,107,80,.3);border-radius:12px;padding:10px 20px;color:#6a5a4a;font-family:DM Sans,sans-serif;font-size:.8rem;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}.safar-checkin-trigger:hover{background:#8b6b501f;border-color:#8b6b5080;transform:translateY(-1px);box-shadow:0 4px 16px #8b6b5026}.safar-checkin{position:absolute;bottom:70px;right:20px;z-index:15;background:#f5f0e6f2;border:1px solid rgba(180,160,130,.25);border-radius:16px;padding:20px;min-width:300px;animation:checkinSlide .3s ease}@keyframes checkinSlide{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.safar-checkin-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.1rem;color:#5a4a3a;margin:0 0 14px;text-align:center}.safar-checkin-scale{display:flex;gap:4px;justify-content:center;margin-bottom:12px}.safar-checkin-emoji{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:2px solid transparent;border-radius:12px;padding:8px 6px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.safar-checkin-emoji:hover{background:#8b6b5014;border-color:#8b6b5033;transform:translateY(-3px)}.safar-checkin-emoji.selected{background:#8b6b501f;border-color:#8b6b50}.safar-emoji-char{font-size:1.5rem;line-height:1}.safar-emoji-label{font-family:DM Sans,sans-serif;font-size:.55rem;color:#9a8a7a;text-transform:uppercase;letter-spacing:.3px}.safar-checkin-cancel{display:block;width:100%;background:transparent;border:1px solid rgba(139,107,80,.15);border-radius:8px;padding:6px;color:#9a8a7a;font-family:DM Sans,sans-serif;font-size:.75rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.safar-checkin-cancel:hover{border-color:#8b6b5059;color:#6a5a4a}.safar-timeline-toggle{position:absolute;top:16px;right:16px;z-index:12;background:#f5f0e6a6;border:1px solid rgba(180,160,130,.15);border-radius:20px;padding:6px 14px;color:#8a7a6a;font-family:DM Sans,sans-serif;font-size:.7rem;cursor:pointer;transition:background .3s ease,color .3s ease}.safar-timeline-toggle:hover{background:#f5f0e6d9;color:#6a5a4a}.safar-timeline{position:absolute;top:12px;right:12px;z-index:11;background:#f5f0e6d9;border:1px solid rgba(180,160,130,.2);border-radius:12px;padding:14px 16px;min-width:200px;animation:timelineIn .3s ease}@keyframes timelineIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.safar-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.safar-timeline-title{font-family:DM Sans,sans-serif;font-size:.7rem;color:#8a7a6a;text-transform:uppercase;letter-spacing:.5px}.safar-timeline-close{background:none;border:none;color:#aa9a8a;cursor:pointer;font-size:.8rem;padding:2px;transition:color .2s ease}.safar-timeline-close:hover{color:#6a5a4a}.safar-timeline-sparkline{display:flex;align-items:flex-end;gap:2px;height:40px;margin-bottom:8px}.safar-timeline-bar{flex:1;min-width:4px;border-radius:2px 2px 0 0;transition:height .3s ease}.safar-timeline-meta{display:flex;justify-content:space-between;font-family:DM Sans,sans-serif;font-size:.6rem;color:#aa9a8a}.safar-timeline-streak{display:flex;align-items:center;gap:4px}.safar-mini-timeline{position:absolute;bottom:140px;right:20px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:4px}.safar-mini-sparkline{display:flex;align-items:flex-end;gap:3px;height:45px;background:#f5f0e6b3;padding:8px 12px;border-radius:12px;border:1px solid rgba(180,160,130,.2)}.safar-spark-bar{width:8px;border-radius:3px 3px 0 0;transition:height .3s ease}.safar-spark-bar:hover{opacity:.8;transform:scaleX(1.2)}.safar-mini-label{font-family:DM Sans,sans-serif;font-size:.6rem;color:#8a7a6ab3;text-transform:uppercase;letter-spacing:.5px}.safar-checkin-area{position:absolute;bottom:20px;right:20px;z-index:10}.safar-checkin-trigger{display:flex;align-items:center;gap:10px;background:#f5f0e6d9;border:1px solid rgba(139,107,80,.35);border-radius:12px;padding:14px 24px;color:#5a4a3a;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #8b6b501f}.safar-checkin-icon{font-size:1.2rem}.safar-checkin-text{flex:1}.safar-checkin-arrow{color:#8b6b5080;transition:transform .2s ease}.safar-checkin-trigger:hover{background:#8b6b501f;border-color:#8b6b508c;transform:translateY(-2px);box-shadow:0 6px 24px #8b6b502e}.safar-checkin-trigger:hover .safar-checkin-arrow{transform:translate(4px);color:#8b6b50cc}.safar-checkin-trigger:active{transform:scale(.97)}@media (max-width:768px){.safar-stats{bottom:12px;left:12px;padding:10px 14px;min-width:150px}.safar-mini-timeline{bottom:130px;right:12px}.safar-mini-sparkline{padding:6px 10px}.safar-checkin-area{bottom:12px;right:12px}.safar-checkin-trigger{padding:10px 18px;font-size:.8rem}.safar-checkin{bottom:55px;right:12px;left:12px;min-width:auto}.safar-timeline{top:8px;right:8px;left:8px;min-width:auto}}@media (prefers-reduced-motion:reduce){.safar-empty-compass,.safar-landscape:after{animation:none}.safar-checkin-trigger,.safar-checkin-emoji,.safar-timeline-toggle{transition:none}.safar-checkin,.safar-tooltip,.safar-timeline{animation:none}}.safar-scroll-indicator{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:10;animation:scrollFadeIn .3s ease}@keyframes scrollFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.safar-scroll-track{width:120px;height:3px;background:#8b6b5026;border-radius:2px;position:relative}.safar-scroll-thumb{position:absolute;top:-1px;width:8px;height:5px;background:#8b6b5080;border-radius:3px;transform:translate(-50%);transition:left .1s ease}[data-theme=dark] .safar-scroll-track{background:#d4a87426}[data-theme=dark] .safar-scroll-thumb{background:#d4a87480}.safar-landscape{cursor:crosshair}.safar-landscape.dragging{cursor:grabbing}[data-theme=dark] .safar-empty-compass{color:#e8e2d84d}[data-theme=dark] .safar-empty-title{color:#e8e2d8bf}[data-theme=dark] .safar-empty-sub{color:#a89e92b3}[data-theme=dark] .safar-stats{background:#242220c7;border-color:#4a464273}[data-theme=dark] .safar-stat-num{color:#d4a574}[data-theme=dark] .safar-stat-label{color:#a89e92}[data-theme=dark] .safar-mood-label{color:#8a8078}[data-theme=dark] .safar-tooltip{background:#2a2826f2;border-color:#4a464280}[data-theme=dark] .safar-tooltip-title{color:#e8e2d8}[data-theme=dark] .safar-tooltip-date{color:#a89e92}[data-theme=dark] .safar-checkin-trigger{background:#242220c7;border-color:#d48a9859;color:#d8cec4}[data-theme=dark] .safar-checkin-trigger:hover{background:#d48a981f;border-color:#d48a988c;box-shadow:0 4px 16px #00000059}[data-theme=dark] .safar-checkin{background:#242220f5;border-color:#4a464280}[data-theme=dark] .safar-checkin-title{color:#e8e2d8}[data-theme=dark] .safar-checkin-emoji:hover{background:#d48a9814;border-color:#d48a9840}[data-theme=dark] .safar-checkin-emoji.selected{background:#d48a9824;border-color:#d48a98}[data-theme=dark] .safar-emoji-label{color:#a89e92}[data-theme=dark] .safar-checkin-cancel{border-color:#4a46428c;color:#a89e92}[data-theme=dark] .safar-mini-sparkline{background:#242220c7;border-color:#4a464273}[data-theme=dark] .safar-mini-label{color:#a89e92b3}[data-theme=dark] .safar-checkin-trigger{background:#242220d9;color:#d8cec4}[data-theme=dark] .safar-checkin-trigger:hover{background:#d48a981f;border-color:#d48a988c}[data-theme=dark] .safar-checkin-arrow{color:#d48a9880}[data-theme=dark] .safar-checkin-cancel:hover{border-color:#d48a9873;color:#e8e2d8}[data-theme=dark] .safar-timeline-toggle{background:#242220b3;border-color:#4a464273;color:#a89e92}[data-theme=dark] .safar-timeline-toggle:hover{background:#242220e6;color:#e8e2d8}[data-theme=dark] .safar-timeline{background:#242220e6;border-color:#4a464280}[data-theme=dark] .safar-timeline-title{color:#a89e92}[data-theme=dark] .safar-timeline-close{color:#8a8078}[data-theme=dark] .safar-timeline-close:hover{color:#e8e2d8}[data-theme=dark] .safar-timeline-meta{color:#8a8078}[data-theme=dark] .safar-landscape:after{mix-blend-mode:screen;opacity:.03}.safar-journal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#0a0e27d9;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .3s ease}.safar-journal-card{background:linear-gradient(180deg,#1e1b4bf2,#0f172afa);border:1px solid rgba(255,255,255,.08);border-radius:20px;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;box-shadow:0 24px 80px #00000080;animation:scaleSpring .4s var(--ease-spring, cubic-bezier(.22, 1, .36, 1)) both}.safar-journal-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid rgba(255,255,255,.06)}.safar-journal-mood{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.safar-journal-date{font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:#e2e8f0}.safar-journal-mood-label{font-family:DM Sans,sans-serif;font-size:12px;color:#94a3b8;text-transform:capitalize}.safar-journal-close{margin-left:auto;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff0f;color:#94a3b8;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.safar-journal-close:hover{background:#ffffff1f;color:#e2e8f0}.safar-journal-messages{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.safar-journal-msg{padding:10px 14px;border-radius:12px;font-family:DM Sans,sans-serif;font-size:13px;line-height:1.5;color:#cbd5e1}.safar-journal-msg.user{background:#8b5cf61f;border:1px solid rgba(139,92,246,.15);align-self:flex-end;max-width:85%;border-radius:12px 12px 4px}.safar-journal-msg.bot{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);align-self:flex-start;max-width:85%;border-radius:12px 12px 12px 4px}.safar-journal-more{text-align:center;font-size:12px;color:#64748b;padding:8px}.safar-journal-stats{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#64748b}.safar-tooltip-hint{display:block;font-size:10px;color:#64748b;margin-top:2px;font-style:italic}.heal-experience{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg, #1a1816);transition:background 4s ease;overflow:hidden;animation:healFadeIn 1.5s ease both}@keyframes healFadeIn{0%{opacity:0}to{opacity:1}}.heal-phase-inhale{background:linear-gradient(180deg,rgba(196,122,138,.06) 0%,rgba(196,122,138,.02) 40%,var(--color-bg, #1a1816) 100%)}.heal-phase-hold{background:linear-gradient(180deg,rgba(180,170,160,.04) 0%,rgba(180,170,160,.01) 40%,var(--color-bg, #1a1816) 100%)}.heal-phase-exhale{background:linear-gradient(180deg,rgba(122,158,126,.06) 0%,rgba(122,158,126,.02) 40%,var(--color-bg, #1a1816) 100%)}.heal-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.heal-particle{position:absolute;bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--color-accent, #c47a8a);opacity:0;animation:healParticleRise linear infinite}@keyframes healParticleRise{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.2}90%{opacity:.15}to{transform:translateY(-100vh) translate(20px);opacity:0}}.heal-tech-selector{position:absolute;top:20px;display:flex;gap:8px;z-index:5;animation:healSlideDown .8s ease both}@keyframes healSlideDown{0%{opacity:0}to{opacity:1;transform:translateY(0)}}.heal-tech-btn{padding:6px 16px;border-radius:20px;border:1px solid var(--color-border, rgba(255,255,255,.1));background:#1e1c1a99;color:var(--color-text-secondary, #999);font-family:DM Sans,sans-serif;font-size:.75rem;cursor:pointer;transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.heal-tech-btn:hover{background:#1e1c1acc;color:var(--color-text, #e0d8cf)}.heal-tech-btn.active{background:#c47a8a26;border-color:var(--color-accent, #c47a8a);color:var(--color-accent, #c47a8a)}.heal-mandala-container{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center;z-index:2}.heal-mandala-svg{filter:drop-shadow(0 0 30px rgba(196,122,138,.15)) drop-shadow(0 0 60px rgba(196,122,138,.05));transition:transform .1s linear}.heal-center-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:4px}.heal-instruction{font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;color:var(--color-text, #e0d8cf);text-align:center;animation:healTextFade .5s ease}@keyframes healTextFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.heal-countdown{font-family:"DM Serif Display",Georgia,serif;font-size:2.8rem;color:var(--color-text, #e0d8cf);line-height:1;opacity:.8}.heal-warm-msg{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--color-text-secondary, #999);text-align:center;margin:0;min-height:20px;z-index:2;animation:healMsgFade 1s ease;font-style:italic}@keyframes healMsgFade{0%{opacity:0}to{opacity:.7}}.heal-cycles{font-family:DM Sans,sans-serif;font-size:.7rem;color:var(--color-text-muted, #666);margin:0;z-index:2}.heal-controls{position:absolute;bottom:28px;display:flex;align-items:center;gap:12px;z-index:5}.heal-start-btn{padding:12px 40px;border-radius:12px;border:none;background:var(--color-accent, #c47a8a);color:#fff;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #c47a8a4d;transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.heal-start-btn:hover{box-shadow:0 6px 28px #c47a8a66}.heal-music-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border, rgba(255,255,255,.1));background:#1e1c1a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-secondary, #999);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.heal-music-btn:hover{background:#1e1c1acc}.heal-stop-btn{padding:10px 24px;border-radius:12px;border:1px solid var(--color-border, rgba(255,255,255,.1));background:#1e1c1a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-secondary, #999);font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.heal-stop-btn:hover{background:#1e1c1acc;color:var(--color-text, #e0d8cf)}.heal-back-btn{position:absolute;top:20px;left:20px;background:transparent;border:none;color:var(--color-text-muted, #666);font-family:DM Sans,sans-serif;font-size:.8rem;cursor:pointer;z-index:5;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.heal-back-btn:hover{color:var(--color-text, #e0d8cf);transform:translate(-2px)}@media (max-width: 600px){.heal-mandala-container{width:200px;height:200px}.heal-countdown{font-size:2.2rem}.heal-tech-selector{top:12px;gap:4px}.heal-tech-btn{padding:5px 12px;font-size:.7rem}}@media (prefers-reduced-motion: reduce){.heal-experience,.heal-particle,.heal-tech-selector,.heal-instruction,.heal-warm-msg{animation:none!important}.heal-mandala-svg{transition:none!important}}.heal-menu{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:24px;padding:40px 24px;background:var(--color-bg, #1a1816);animation:healFadeIn .6s ease both;overflow-y:auto;-webkit-overflow-scrolling:touch}.heal-menu-header{text-align:center}.heal-menu-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;color:var(--color-text, #e0d8cf);margin:0 0 6px;font-weight:400;letter-spacing:-.01em}.heal-menu-subtitle{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--color-text-muted, #666);margin:0}.heal-menu-cards{display:flex;flex-direction:column;gap:12px;width:100%;max-width:400px;padding-bottom:40px}.heal-menu-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:16px;border:1px solid var(--color-border, rgba(255,255,255,.08));background:var(--color-surface, rgba(30, 28, 26, .5));cursor:pointer;text-align:left;transition:transform .35s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle);animation:healCardIn .5s ease both}@keyframes healCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.heal-menu-card:hover{background:var(--color-surface-hover, rgba(40, 38, 36, .7));border-color:var(--card-accent, var(--color-accent, #c47a8a));box-shadow:0 8px 30px #0003,0 0 0 1px var(--card-accent, var(--color-accent, #c47a8a)) inset}.heal-card-icon{font-size:2rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#ffffff0a;flex-shrink:0;transition:transform .3s ease}.heal-card-text{flex:1;min-width:0}.heal-card-title{font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;color:var(--color-text, #e0d8cf);margin:0 0 2px}.heal-card-subtitle{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--card-accent, var(--color-accent, #c47a8a));font-weight:500}.heal-card-desc{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--color-text-muted, #666);margin:6px 0 0;line-height:1.4}.heal-card-arrow{font-size:1.1rem;color:var(--color-text-muted, #666);transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle);flex-shrink:0}.heal-menu-card:hover .heal-card-arrow{color:var(--card-accent, var(--color-accent, #c47a8a));transform:translate(3px)}@media (max-width: 600px){.heal-menu{padding:24px 16px;gap:24px}.heal-menu-title{font-size:1.25rem}.heal-menu-card{padding:16px;gap:12px}.heal-card-icon{font-size:1.6rem;width:44px;height:44px}}@media (prefers-reduced-motion: reduce){.heal-menu,.heal-menu-card{animation:none!important}.heal-menu-card:hover{transform:none}}.grounding-experience{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--color-bg, #1a1816);overflow:hidden;animation:healFadeIn .6s ease both}.grounding-intro{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 32px;max-width:420px;text-align:center;animation:healCardIn .6s ease both}.grounding-intro-icon{font-size:3rem;margin-bottom:8px;animation:gentlePulse 3s ease-in-out infinite}@keyframes gentlePulse{}.grounding-intro-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.6rem;color:var(--color-text, #e0d8cf);margin:0;font-weight:400}.grounding-intro-text{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--color-text-secondary, #999);margin:0;line-height:1.6}.grounding-progress-bar{display:flex;gap:12px;margin-bottom:20px;z-index:2}.grounding-progress-dot{width:12px;height:12px;border-radius:50%;background:var(--color-border, rgba(255,255,255,.1));transition:transform .4s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.grounding-progress-dot.current{background:var(--dot-color, var(--color-accent, #c47a8a));box-shadow:0 0 12px var(--dot-color, var(--color-accent, #c47a8a))}.grounding-progress-dot.done{background:var(--dot-color, var(--color-accent, #c47a8a));opacity:.6}.grounding-active{display:flex;flex-direction:column;align-items:center;gap:16px;z-index:2;animation:healCardIn .5s ease both}.grounding-sense{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:360px;animation:senseReveal .6s ease both}@keyframes senseReveal{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.grounding-sense-icon{font-size:2.5rem;margin-bottom:4px}.grounding-sense-count{font-family:"DM Serif Display",Georgia,serif;font-size:4rem;font-weight:400;color:var(--sense-color, var(--color-accent, #c47a8a));line-height:1;opacity:.9}.grounding-sense-label{font-family:DM Sans,sans-serif;font-size:1.2rem;font-weight:600;color:var(--color-text, #e0d8cf);margin:0;text-transform:uppercase;letter-spacing:.08em}.grounding-sense-instruction{font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--color-text, #e0d8cf);margin:0;font-weight:500}.grounding-sense-prompt{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--color-text-muted, #666);margin:4px 0 0;line-height:1.5;font-style:italic}.grounding-controls{display:flex;align-items:center;gap:12px;margin-top:16px;z-index:2}.grounding-nav-btn{padding:10px 20px;border-radius:12px;border:1px solid var(--color-border, rgba(255,255,255,.1));background:#1e1c1a99;color:var(--color-text-secondary, #999);font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:transform .3s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.grounding-nav-btn:hover{background:#1e1c1acc;color:var(--color-text, #e0d8cf)}.grounding-complete{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 32px;max-width:420px;text-align:center;animation:healCardIn .8s ease both}.grounding-complete-icon{font-size:3rem;animation:gentlePulse 3s ease-in-out infinite}.grounding-complete-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.6rem;color:var(--color-text, #e0d8cf);margin:0;font-weight:400}.grounding-complete-text{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--color-text-secondary, #999);margin:0;line-height:1.6}.grounding-complete-steps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0}.grounding-step-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:16px;font-size:.75rem;font-family:DM Sans,sans-serif;background:#ffffff0a;border:1px solid var(--step-color, var(--color-border));color:var(--step-color, var(--color-text));opacity:.8}@media (max-width: 600px){.grounding-sense-count{font-size:3rem}.grounding-intro,.grounding-complete{padding:24px 20px}}@media (prefers-reduced-motion: reduce){.grounding-experience,.grounding-intro,.grounding-active,.grounding-complete,.grounding-sense,.grounding-intro-icon,.grounding-complete-icon{animation:none!important}}.grounding-step-back{background:transparent;border:none;color:#ffffff59;font-family:DM Sans,sans-serif;font-size:.75rem;cursor:pointer;padding:6px 12px;border-radius:8px;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.grounding-step-back:hover{color:#fff9;background:#ffffff0d}.sleep-experience{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:40px 24px;background:var(--color-bg, #1a1816);overflow:hidden;animation:healFadeIn .6s ease both}.sleep-header{text-align:center}.sleep-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;color:var(--color-text, #e0d8cf);margin:0 0 6px;font-weight:400}.sleep-subtitle{font-family:DM Sans,sans-serif;font-size:.8rem;color:var(--color-text-muted, #666);margin:0}.sleep-sounds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:360px}.sleep-sound-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border-radius:16px;border:1px solid var(--color-border, rgba(255,255,255,.08));background:var(--color-surface, rgba(30, 28, 26, .5));cursor:pointer;transition:transform .35s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle);animation:healCardIn .5s ease both;position:relative;overflow:hidden}.sleep-sound-btn:hover{background:var(--color-surface-hover, rgba(40, 38, 36, .7));border-color:#7a8ec44d}.sleep-sound-btn.active{border-color:#7a8ec4;background:#7a8ec41a;box-shadow:var(--shadow-xs),inset 0 0 20px #7a8ec40d}.sleep-sound-icon{font-size:1.8rem}.sleep-sound-label{font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--color-text, #e0d8cf)}.sleep-sound-desc{font-family:DM Sans,sans-serif;font-size:.65rem;color:var(--color-text-muted, #666);line-height:1.3}.sleep-sound-playing{position:absolute;top:8px;right:8px;font-size:.6rem;color:#7a8ec4;font-family:DM Sans,sans-serif;animation:sleepPulse 2s ease-in-out infinite}@keyframes sleepPulse{0%,to{opacity:.5}50%{opacity:1}}.sleep-timer-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.sleep-timer-label{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--color-text-muted, #666)}.sleep-timer-options{display:flex;gap:6px}.sleep-timer-btn{padding:5px 14px;border-radius:14px;border:1px solid var(--color-border, rgba(255,255,255,.08));background:#1e1c1a66;color:var(--color-text-muted, #666);font-family:DM Sans,sans-serif;font-size:.7rem;cursor:pointer;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.sleep-timer-btn:hover{background:#1e1c1ab3;color:var(--color-text, #e0d8cf)}.sleep-timer-btn.active{border-color:#7a8ec4;color:#7a8ec4;background:#7a8ec41a}.sleep-volume-section{display:flex;align-items:center;gap:10px}.sleep-volume-icon{font-size:.9rem}.sleep-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:4px;border-radius:2px;background:var(--color-border, rgba(255,255,255,.1));outline:none;cursor:pointer}.sleep-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#7a8ec4;border:none;cursor:pointer;box-shadow:0 0 8px #7a8ec466}.sleep-volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#7a8ec4;border:none;cursor:pointer}.sleep-volume-pct{font-family:DM Sans,sans-serif;font-size:.7rem;color:var(--color-text-muted, #666);min-width:32px}.sleep-remaining{font-family:DM Sans,sans-serif;font-size:.75rem;color:var(--color-text-muted, #666);margin:0;opacity:.7}@media (max-width: 600px){.sleep-experience{padding:24px 16px;gap:20px}.sleep-sounds-grid{max-width:300px;gap:8px}.sleep-sound-btn{padding:14px 10px}}@media (prefers-reduced-motion: reduce){.sleep-experience,.sleep-sound-btn{animation:none!important}}.ss-range:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-surface-alt: #f5f0e8;--color-surface-warm: #fef9f3;--color-hover: #f0ebe2;--color-text: #2d2a26;--color-text-secondary: #6b6560;--color-text-muted: #9e9890;--color-text-on-dark: #faf7f2;--color-border: #e8e2d8;--color-border-strong: #d4cdc2;--color-accent: #c47a8a;--color-accent-hover: #b86a7a;--color-accent-soft: rgba(196, 122, 138, .1);--color-accent-warm: rgba(196, 122, 138, .06);--color-accent-glow: rgba(196, 122, 138, .15);--color-sage: #7a9e7e;--color-sage-soft: rgba(122, 158, 126, .1);--color-sky: #6a8fa8;--color-sky-soft: rgba(106, 143, 168, .1);--color-amber: #c49a6c;--color-amber-soft: rgba(196, 154, 108, .1);--color-coral: #d4726a;--color-coral-soft: rgba(212, 114, 106, .1);--color-bot-bg: #f5f0e8;--color-bot-border: #e8e2d8;--color-user-bg: #e8d5d9;--color-user-border: #d4bcc2;--shadow-xs: 0 1px 2px rgba(45, 42, 38, .04);--shadow-sm: 0 1px 3px rgba(45, 42, 38, .06), 0 1px 2px rgba(45, 42, 38, .04);--shadow-md: 0 4px 12px rgba(45, 42, 38, .08);--shadow-lg: 0 8px 24px rgba(45, 42, 38, .1);--shadow-xl: 0 16px 40px rgba(45, 42, 38, .12);--shadow-glow: 0 0 20px rgba(196, 122, 138, .12), 0 0 60px rgba(196, 122, 138, .04);--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "DM Serif Display", Georgia, serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--ease-gentle: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-instant: 80ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-drift: .6s;--nav-height: 60px;--bottom-nav-height: 56px;--sidebar-width: 260px;--color-active: #ebe5da;--color-border-focus: rgba(196, 122, 138, .4);--color-accent-deep: #a86070;--shadow-inner: inset 0 1px 2px rgba(45, 42, 38, .06);--font-mono: monospace;--text-4xl: 3rem;--leading-tight: 1.2;--leading-snug: 1.35;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-wide: .02em;--tracking-wider: .04em;--space-20: 5rem;--space-24: 6rem;--ease-bounce: cubic-bezier(.34, 2.2, .64, 1);--ease-snap: cubic-bezier(.22, 1, .36, 1);--duration-glacial: .9s;--max-content: 720px;--ring-width: 2px;--ring-offset: 2px;--ring-color: var(--color-accent);--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-radius: var(--radius-full);--btn-transition: color .15s var(--ease-gentle), background-color .15s var(--ease-gentle), border-color .15s var(--ease-gentle), box-shadow .15s var(--ease-gentle);--card-bg: var(--color-surface);--card-border: transparent;--card-radius: var(--radius-lg);--card-padding: var(--space-5);--card-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.04);--card-shadow-hover: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.06);--card-transition: box-shadow .3s var(--ease-gentle), transform .3s var(--ease-gentle);--input-height: var(--btn-height-md);--input-radius: var(--radius-md);--input-border: var(--color-border);--input-transition: border-color .15s var(--ease-gentle), box-shadow .15s var(--ease-gentle);--badge-radius: var(--radius-full);--badge-padding: 2px 8px}[data-theme=dark]{--color-bg: #1a1816;--color-surface: #242220;--color-surface-alt: #2a2826;--color-surface-warm: #2e2a26;--color-hover: #34302c;--color-text: #e8e2d8;--color-text-secondary: #a89e92;--color-text-muted: #6b6560;--color-border: #3a3632;--color-border-strong: #4a4642;--color-accent: #d48a98;--color-accent-hover: #c47a8a;--color-accent-soft: rgba(212, 138, 152, .12);--color-accent-warm: rgba(212, 138, 152, .06);--color-accent-glow: rgba(212, 138, 152, .15);--color-bot-bg: #2a2826;--color-bot-border: #3a3632;--color-user-bg: #3a2e32;--color-user-border: #4a3a40;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .35);--shadow-glow: 0 0 20px rgba(212, 138, 152, .1), 0 0 60px rgba(212, 138, 152, .03);--color-active: #3a3632;--color-border-focus: rgba(212, 138, 152, .4);--color-accent-deep: #e8a0b0;--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .12);--card-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.03);--card-shadow-hover: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(196,122,138,.03) 0%,transparent 60%)}[data-theme=dark] .app-shell:before{background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(212,138,152,.02) 0%,transparent 60%)}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--color-accent);text-decoration:none}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-soft);color:var(--color-text)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleSpring{0%{opacity:0;transform:scale(.92)}70%{opacity:1;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.88}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}60%{opacity:1;transform:translateY(-2px) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingWave{0%,60%,to{transform:translateY(0);opacity:.25}30%{transform:translateY(-5px);opacity:.7}}@keyframes rippleOut{0%{transform:scale(0);opacity:.4}to{transform:scale(2.5);opacity:0}}.icon-stroke path,.icon-stroke polyline,.icon-stroke circle:not([fill=currentColor]):not([fill=none]),.icon-stroke line,.icon-stroke rect:not([fill]){transition:stroke-dashoffset .4s var(--ease-gentle),stroke .2s}.icon-animated path,.icon-animated polyline{stroke-dasharray:1;stroke-dashoffset:1}.icon-btn:hover .icon-animated path,.icon-btn:hover .icon-animated polyline,.tab-btn:hover .icon-animated path,.tab-btn:hover .icon-animated polyline,.sidebar-new-btn:hover .icon-animated path,.sidebar-new-btn:hover .icon-animated polyline{stroke-dashoffset:0}.brand-icon .icon-animated path{stroke-dasharray:1;animation:iconDraw 2s var(--ease-gentle) infinite alternate}@keyframes iconDraw{0%{stroke-dashoffset:0}to{stroke-dashoffset:.15}}@keyframes arrivalGlow{0%{box-shadow:0 0 0 0 var(--color-accent-glow),var(--shadow-xs)}30%{box-shadow:0 0 20px 2px var(--color-accent-glow),var(--shadow-sm)}to{box-shadow:var(--shadow-xs)}}.msg.bot:last-child .bubble{animation:msgSlideIn var(--duration-slow) var(--ease-spring) both,arrivalGlow 1.8s var(--ease-gentle) both}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--color-surface-alt) 0%,var(--color-hover) 40%,var(--color-surface-alt) 80%);background-size:200% 100%;animation:shimmerSweep 1.8s var(--ease-gentle) infinite;border-radius:var(--radius-md)}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:50ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.15s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.25s}.stagger-7{animation-delay:.3s}.stagger-8{animation-delay:.35s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.icon-animated path,.icon-animated polyline{stroke-dasharray:none!important;stroke-dashoffset:0!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-height-md);padding:0 16px;border:1px solid transparent;border-radius:var(--btn-radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:var(--btn-transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-decoration:none}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--color-accent);color:var(--color-text-on-dark);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-hover);color:var(--color-text)}.btn-outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover{background:var(--color-hover);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-coral);color:var(--color-text-on-dark);border-color:var(--color-coral)}.btn-danger:hover{opacity:.9}.btn-sm{height:var(--btn-height-sm);padding:0 12px;font-size:var(--text-xs)}.btn-lg{height:var(--btn-height-lg);padding:0 24px;font-size:var(--text-base)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);transition:var(--card-transition)}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.card-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.card-interactive:active{transform:translateY(0) scale(.99)}.badge{display:inline-flex;align-items:center;height:22px;padding:var(--badge-padding);border-radius:var(--badge-radius);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.02em;line-height:1}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent)}.badge-sage{background:var(--color-sage-soft);color:var(--color-sage)}.badge-sky{background:var(--color-sky-soft);color:var(--color-sky)}.badge-amber{background:var(--color-amber-soft);color:var(--color-amber)}.badge-coral{background:var(--color-coral-soft);color:var(--color-coral)}.input{height:var(--input-height);padding:0 12px;border:1px solid var(--input-border);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-sm);transition:var(--input-transition);outline:none;width:100%}.input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input::placeholder{color:var(--color-text-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.toggle{position:relative;display:inline-flex;width:44px;height:24px;border-radius:12px;background:var(--color-border-strong);border:none;cursor:pointer;transition:background .2s var(--ease-gentle);touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-shrink:0}.toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-spring)}.toggle[aria-checked=true]{background:var(--color-accent)}.toggle[aria-checked=true]:after{transform:translate(20px)}.separator{height:1px;background:var(--color-border);border:none;margin:var(--space-4) 0}button,a,input,textarea,select,[role=button],[role=tab]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{text-wrap:balance}[id]{scroll-margin-top:calc(var(--nav-height) + 16px)}.modal,.overlay,[role=dialog],[role=alertdialog]{overscroll-behavior:contain}.stat-value,.stat-number,[data-stat]{font-variant-numeric:tabular-nums}img:not([width]):not([style*=width]){width:100%;height:auto}:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}@media (max-width: 640px){.card{padding:var(--space-4)}.btn{height:var(--btn-height-lg);min-height:44px}}.t-btn{transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle),border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle),transform .15s var(--ease-spring)}.t-card{transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-gentle),border-color .2s var(--ease-gentle),opacity .2s var(--ease-gentle)}.t-input{transition:border-color .15s var(--ease-gentle),box-shadow .15s var(--ease-gentle)}.t-color{transition:color .15s var(--ease-gentle),background-color .15s var(--ease-gentle)}.t-fade{transition:opacity .2s var(--ease-gentle)}
