:root{--bg-primary: #f3f7fd;--bg-secondary: #e8eff9;--bg-card: #ffffff;--bg-card-hover: #ffffff;--bg-input: rgba(28, 34, 64, .05);--border-subtle: rgba(28, 34, 64, .1);--border-medium: rgba(28, 34, 64, .18);--border-accent: rgba(67, 86, 214, .32);--text-primary: #1c2240;--text-secondary: #4b5571;--text-muted: #8590ab;--accent-purple: #4356d6;--accent-pink: #a8487f;--accent-violet: #3343ae;--accent-rose: #c2602e;--gold: #c08a00;--gold-dim: rgba(192, 138, 0, .5);--gold-glow: rgba(192, 138, 0, .1);--gradient-brand: linear-gradient(135deg, #4356d6, #a8487f);--gradient-button: linear-gradient(135deg, #3343ae, #5468e8);--gradient-bg: radial-gradient(ellipse at 30% 0%, #fbfdff 0%, #f3f7fd 55%, #e9f1fa 100%);--error: #b33944;--success: #1f7a55;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--shadow-card: 0 6px 24px rgba(51, 67, 174, .08), 0 1px 2px rgba(28, 34, 64, .06);--shadow-glow-purple: 0 4px 20px rgba(67, 86, 214, .14);--shadow-glow-gold: 0 4px 20px rgba(192, 138, 0, .15);--app-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.5 0 0 0 0 0.72 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23p)'/%3E%3C/svg%3E"), radial-gradient(ellipse at 30% 0%, #fbfdff 0%, #f3f7fd 55%, #e9f1fa 100%);--skeleton-sheen: rgba(28, 34, 64, .05);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--text-xs: clamp(.69rem, .66rem + .15vw, .75rem);--text-sm: clamp(.81rem, .78rem + .15vw, .875rem);--text-base: clamp(.94rem, .9rem + .2vw, 1rem);--text-lg: clamp(1.06rem, 1rem + .3vw, 1.125rem);--text-xl: clamp(1.25rem, 1.15rem + .5vw, 1.375rem);--text-2xl: clamp(1.5rem, 1.35rem + .75vw, 1.75rem);--text-hero: clamp(1.75rem, 1.5rem + 1.25vw, 2.25rem);--surface-1: rgba(28, 34, 64, .045);--surface-2: rgba(28, 34, 64, .08);--surface-3: #ffffff;--surface-solid: #ffffff;--hairline: inset 0 1px 0 rgba(255, 255, 255, .9);--text-1: #1c2240;--text-2: #4b5571;--text-3: #8590ab;--accent: #4356d6;--accent-soft: rgba(67, 86, 214, .09);--scrim: rgba(28, 34, 64, .45);--tap-min: 44px;--tap-comfortable: 52px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--dock-height: 64px;--dock-gap: 12px}html[data-theme=dark]{--bg-primary: #080816;--bg-secondary: #0f0d25;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--bg-input: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .13);--border-accent: rgba(167, 139, 250, .3);--text-primary: #e8e8f4;--text-secondary: #a0a0c0;--text-muted: #60607a;--accent-purple: #a78bfa;--accent-pink: #f472b6;--accent-violet: #7c3aed;--accent-rose: #ec4899;--gold: #e9c46a;--gold-dim: rgba(233, 196, 106, .5);--gold-glow: rgba(233, 196, 106, .15);--gradient-brand: linear-gradient(135deg, #a78bfa, #f472b6);--gradient-button: linear-gradient(135deg, #7c3aed, #ec4899);--gradient-bg: radial-gradient(ellipse at 30% 20%, #1a1050 0%, #080816 55%, #0d0820 100%);--error: #f87171;--success: #34d399;--shadow-card: 0 10px 34px rgba(18, 10, 45, .55);--shadow-glow-purple: 0 0 24px rgba(124, 58, 237, .25);--shadow-glow-gold: 0 0 24px rgba(233, 196, 106, .2);--app-bg: radial-gradient(1.5px 1.5px at 18% 12%, rgba(255,255,255,.55), transparent), radial-gradient(1px 1px at 72% 18%, rgba(205,191,255,.5), transparent), radial-gradient(1.5px 1.5px at 42% 30%, rgba(255,255,255,.45), transparent), radial-gradient(1px 1px at 88% 9%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 60% 58%, rgba(255,255,255,.32), transparent), radial-gradient(1.5px 1.5px at 30% 78%, rgba(205,191,255,.3), transparent), radial-gradient(1px 1px at 82% 70%, rgba(255,255,255,.3), transparent), radial-gradient(ellipse at 30% 20%, #1a1050 0%, #080816 55%, #0d0820 100%);--skeleton-sheen: rgba(255, 255, 255, .06);--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--surface-3: rgba(255, 255, 255, .11);--surface-solid: #12102b;--hairline: inset 0 1px 0 rgba(255, 255, 255, .06);--text-1: #e8e8f4;--text-2: #a0a0c0;--text-3: #60607a;--accent: #a78bfa;--accent-soft: rgba(167, 139, 250, .14);--scrim: rgba(4, 4, 14, .66)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--app-bg);background-attachment:fixed;color:var(--text-primary);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;position:relative}h1,h2,h3,h4{font-weight:700;line-height:1.3}.display-heading{font-family:Fraunces,Playfair Display,Georgia,serif;font-weight:600}.display-italic{font-family:Fraunces,Playfair Display,Georgia,serif;font-style:italic;font-weight:400}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.85;display:block;margin-bottom:8px}.eyebrow-purple{color:var(--accent-purple)}.gold-text{color:var(--gold)}.border-gold{border-color:#e9c46a4d!important}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);transition:border-color .25s,background .25s,box-shadow .25s,transform .15s ease}.card:hover{border-color:var(--border-medium)}.card-interactive{cursor:pointer}.card-interactive:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--shadow-glow-purple)}.card-interactive:active{transform:scale(.985)}.card-glow{background:var(--bg-card);border:1px solid var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow-purple)}html[data-theme=dark] .card-glow{background:radial-gradient(ellipse at top,#7c3aed1f,#ffffff08 70%);border:1px solid rgba(167,139,250,.2);box-shadow:0 8px 40px #00000080,var(--shadow-glow-purple)}.card-dark{background:radial-gradient(ellipse at center,#1a1550,#0c0a20 60%,#080816);border:1px solid rgba(167,139,250,.15);border-radius:var(--radius-lg);box-shadow:0 8px 40px #0009}.insight-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:18px 20px;background:linear-gradient(125deg,#5eead4,#a78bfa 52%,#fb7185);color:#0b1026;box-shadow:0 12px 34px #7c3aed52}.insight-card .insight-kicker{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.72}.insight-card .insight-text{font-family:Fraunces,Playfair Display,Georgia,serif;font-weight:600;font-size:1.18rem;line-height:1.42;margin-top:8px;color:#0b1026}.num{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-button);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 8px 24px #7c3aed52}.btn-primary:hover{box-shadow:inset 0 1px #ffffff38,0 10px 30px #7c3aed6b}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-medium);color:var(--text-primary)}.btn-ghost{background:none;border:1px solid var(--border-medium);color:var(--text-secondary)}.input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;outline:none;transition:border-color .2s}.input:focus{border-color:var(--accent-purple)}.input::placeholder{color:var(--text-muted)}.energy-bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.energy-fill{height:100%;background:var(--gradient-button);border-radius:4px;transition:width .5s ease}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.text-center{text-align:center}.grid-coaches{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeSlideUp .35s ease-out forwards}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.bottom-tabs{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;height:64px;background:#0a0a1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(233,196,106,.15);z-index:20;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0)}.tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s,transform .12s ease;font-size:11px;min-width:56px}.tab-item:active{transform:scale(.9)}.tab-item .tab-icon{font-size:20px;line-height:1;transition:transform .18s ease,filter .18s ease}.tab-item .tab-label{font-weight:500}.tab-active{color:#e9c46a}.tab-active .tab-icon{filter:drop-shadow(0 0 8px rgba(233,196,106,.55));transform:translateY(-1px) scale(1.12)}.tab-active .tab-label{color:#e9c46a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:32px;width:100%;max-width:440px;max-height:80vh;overflow-y:auto}.fab{position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--gradient-button);border:none;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 16px #7c3aed66;z-index:15;display:flex;align-items:center;justify-content:center;transition:transform .2s}.fab:active{transform:scale(.95)}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#86efac;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.has-bottom-tabs{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media (max-width: 640px){.grid-coaches{grid-template-columns:1fr}}@media (max-width: 768px){.desktop-nav{display:none!important}}.cosmic-hero{background:radial-gradient(ellipse at 50% 0%,#2d1b6b,#130f35,#080816);border-bottom:1px solid rgba(167,139,250,.12);padding:28px 20px 24px;position:relative;overflow:hidden}.cosmic-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200'%3E%3Ccircle cx='50' cy='40' r='1' fill='white' opacity='0.3'/%3E%3Ccircle cx='120' cy='80' r='1.5' fill='white' opacity='0.2'/%3E%3Ccircle cx='200' cy='20' r='1' fill='white' opacity='0.4'/%3E%3Ccircle cx='280' cy='60' r='1' fill='white' opacity='0.25'/%3E%3Ccircle cx='350' cy='35' r='1.5' fill='white' opacity='0.3'/%3E%3Ccircle cx='80' cy='130' r='1' fill='white' opacity='0.2'/%3E%3Ccircle cx='160' cy='150' r='1' fill='white' opacity='0.35'/%3E%3Ccircle cx='320' cy='120' r='1' fill='white' opacity='0.2'/%3E%3Ccircle cx='380' cy='160' r='1.5' fill='white' opacity='0.3'/%3E%3C/svg%3E") repeat;opacity:.6;pointer-events:none}.reveal-chamber{background:radial-gradient(ellipse at center,#1e1545,#100d28 55%,#080816);border:1px solid rgba(167,139,250,.2);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;position:relative;overflow:hidden;box-shadow:0 8px 40px #00000080,inset 0 1px #ffffff0d}.reveal-chamber:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.012) 2px,rgba(255,255,255,.012) 4px);pointer-events:none}.tarot-card-back{width:80px;height:112px;margin:0 auto 20px;background:radial-gradient(ellipse at center,#2d1b6b,#1a0f3d);border:1.5px solid rgba(167,139,250,.4);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 4px 20px #7c3aed4d;cursor:pointer;transition:transform .2s,box-shadow .2s}.tarot-card-back:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c3aed80}.btn-reveal{background:none;border:1px solid rgba(233,196,106,.5);color:var(--gold);padding:10px 28px;border-radius:30px;font-size:.85rem;font-weight:600;letter-spacing:.1em;cursor:pointer;font-family:Nunito,sans-serif;transition:background .2s,box-shadow .2s}.btn-reveal:hover{background:#e9c46a1a;box-shadow:0 0 20px #e9c46a33}@keyframes revealUp{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.card-revealed{animation:revealUp .5s cubic-bezier(.22,1,.36,1) forwards}.mood-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0}.mood-btn{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:30px;padding:7px 14px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;font-family:Nunito,sans-serif;font-weight:600;transition:all .2s;white-space:nowrap}.mood-btn:hover{border-color:#a78bfa66;color:var(--text-primary)}.mood-btn.selected{background:#a78bfa26;border-color:#a78bfa80;color:var(--accent-purple);box-shadow:0 0 12px #a78bfa33}.coach-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .25s;text-align:left;width:100%}.coach-card:hover{background:var(--bg-card-hover);transform:translateY(-1px)}.coach-avatar-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;border:1.5px solid transparent}@keyframes blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.typing-dots{display:flex;gap:5px;align-items:center;padding:4px 0}.typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--accent-purple);animation:blink 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.streak-pill{display:inline-flex;align-items:center;gap:6px;background:#e9c46a1a;border:1px solid rgba(233,196,106,.3);border-radius:30px;padding:4px 12px;font-size:.8rem;font-weight:700;color:var(--gold)}@keyframes pulseGreen{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.pulse-dot{display:inline-block;animation:pulseGreen 1.8s ease-in-out infinite;line-height:1}.section-sep{border:none;border-top:1px solid var(--border-subtle);margin:4px 0}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.8}}.shimmer-accent{animation:shimmer 3s ease-in-out infinite}.chat-header-luna{box-shadow:0 4px 30px #f472b626;border-bottom:1px solid rgba(244,114,182,.15)}.chat-header-sol{box-shadow:0 4px 30px #f59e0b26;border-bottom:1px solid rgba(245,158,11,.15)}.chat-header-stella{box-shadow:0 4px 30px #818cf826;border-bottom:1px solid rgba(129,140,248,.15)}.chat-header-sage{box-shadow:0 4px 30px #4ade8026;border-bottom:1px solid rgba(74,222,128,.15)}.chat-header-nova{box-shadow:0 4px 30px #fb923c26;border-bottom:1px solid rgba(251,146,60,.15)}.chat-header-terra{box-shadow:0 4px 30px #2dd4bf26;border-bottom:1px solid rgba(45,212,191,.15)}.chat-header-mystica{box-shadow:0 4px 30px #a855f733;border-bottom:1px solid rgba(168,85,247,.2)}.chat-header-phoenix{box-shadow:0 4px 30px #f8717126;border-bottom:1px solid rgba(248,113,113,.15)}.avatar-luna{background:#f472b626;border-color:#f472b680;box-shadow:0 0 16px #f472b633}.avatar-sol{background:#f59e0b26;border-color:#f59e0b80;box-shadow:0 0 16px #f59e0b33}.avatar-stella{background:#818cf826;border-color:#818cf880;box-shadow:0 0 16px #818cf833}.avatar-sage{background:#4ade8026;border-color:#4ade8080;box-shadow:0 0 16px #4ade8033}.avatar-nova{background:#fb923c26;border-color:#fb923c80;box-shadow:0 0 16px #fb923c33}.avatar-terra{background:#2dd4bf26;border-color:#2dd4bf80;box-shadow:0 0 16px #2dd4bf33}.avatar-mystica{background:#a855f733;border-color:#a855f780;box-shadow:0 0 16px #a855f740}.avatar-phoenix{background:#f8717126;border-color:#f8717180;box-shadow:0 0 16px #f8717133}.card-hover{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 32px #a78bfa26;border-color:#a78bfa4d}.coach-card-nebula{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.coach-card-nebula:hover{transform:translateY(-3px);border-color:#a78bfa66!important;box-shadow:0 12px 40px #a78bfa33}.specialty-tag{display:inline-block;padding:3px 10px;background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:20px;font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.02em}.online-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#86efac;font-weight:600}.online-badge:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#86efac;animation:pulse-green 2s ease-in-out infinite}.btn-gold{background:linear-gradient(135deg,#e9c46a,#f4a261);color:#0a0a1a;font-weight:700;border:none;border-radius:12px;padding:10px 20px;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;transition:opacity .2s ease,transform .2s ease}.btn-gold:hover{opacity:.9;transform:translateY(-1px)}.coach-rating{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.coach-rating .star{color:#e9c46a}input:focus,textarea:focus{outline:none;border-color:#a78bfa80!important;box-shadow:0 0 0 3px #a78bfa1a}.grid-coaches-nebula{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.shell-31{width:100%;max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;display:flex;flex-direction:column}@media (min-width: 768px){.shell-31{box-shadow:0 0 80px #7c3aed2e,0 0 1px #a78bfa66;border-left:1px solid rgba(167,139,250,.08);border-right:1px solid rgba(167,139,250,.08)}}.shell-main{flex:1;width:100%;padding:0 var(--space-4);padding-bottom:calc(var(--dock-height) + var(--dock-gap) * 2 + 16px + env(safe-area-inset-bottom,0px))}.page-head{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px 10px;padding-top:calc(14px + env(safe-area-inset-top,0px));margin:0 -16px 4px;padding-left:18px;padding-right:18px;background:linear-gradient(to bottom,var(--bg-primary) 60%,transparent)}.page-head-title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:var(--text-xl);letter-spacing:.01em}.tab-dock{position:fixed;bottom:calc(var(--dock-gap) + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:calc(100% - 28px);max-width:492px;height:var(--dock-height);display:flex;align-items:stretch;justify-content:space-around;background:#ffffffe0;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(28,34,64,.12);border-radius:26px;box-shadow:0 12px 36px #3343ae29,inset 0 1px #ffffffe6;z-index:20;padding:0 6px}html[data-theme=dark] .tab-dock{background:#0d0c20d1;border-color:#a78bfa29;box-shadow:0 12px 40px #0000008c,inset 0 1px #ffffff12}.dock-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:10px;font-weight:600;font-family:Nunito,sans-serif;min-width:var(--tap-min);min-height:var(--tap-min);border-radius:18px;transition:color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-spring);position:relative}.dock-item:active{transform:scale(.88)}.dock-item .dock-icon{line-height:1;transition:transform var(--dur-base) var(--ease-spring),filter var(--dur-base) ease}.dock-item.dock-active{color:var(--gold)}.dock-item.dock-active .dock-icon{transform:translateY(-2px) scale(1.12);filter:drop-shadow(0 0 9px var(--gold-dim))}.dock-item.dock-active:after{content:"";position:absolute;bottom:7px;width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}.dock-orb{flex:0 0 auto;width:58px;height:58px;margin-top:-22px;align-self:flex-start;border-radius:50%;border:none;cursor:pointer;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.3),transparent 42%),linear-gradient(140deg,#3343ae,#4356d6 55%,#5468e8);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #3343ae66,0 0 0 5px #fffffff2,inset 0 1px #ffffff4d;transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) ease}html[data-theme=dark] .dock-orb{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.32),transparent 42%),linear-gradient(140deg,#7c3aed,#a855f7 45%,#ec4899);color:#fff;box-shadow:0 8px 26px #7c3aed8c,0 0 0 5px #0d0c20e6,inset 0 1px #ffffff59}.dock-orb:active{transform:scale(.9)}.dock-orb.dock-active{box-shadow:0 8px 28px #4356d680,0 0 0 5px #fffffff2,0 0 20px #c08a0059,inset 0 1px #ffffff4d}html[data-theme=dark] .dock-orb.dock-active{box-shadow:0 8px 30px #ec489999,0 0 0 5px #0d0c20e6,0 0 22px #e9c46a80,inset 0 1px #ffffff59}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:90;animation:sheetFade var(--dur-base) ease forwards}@keyframes sheetFade{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;max-height:88vh;max-height:88dvh;overflow-y:auto;background:var(--surface-solid);border:1px solid var(--border-medium);border-bottom:none;border-radius:24px 24px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom,0px));z-index:95;animation:sheetUp var(--dur-slow) var(--ease-out) forwards;box-shadow:0 -16px 50px #1c224040,var(--hairline)}html[data-theme=dark] .sheet{box-shadow:0 -16px 60px #00000080,var(--hairline)}@keyframes sheetUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.sheet-handle{width:38px;height:4px;border-radius:2px;background:var(--border-medium);margin:4px auto 14px}.sheet-closing{animation:sheetDown var(--dur-base) ease-in forwards}@keyframes sheetDown{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(105%)}}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:30px;font-size:var(--text-sm);font-weight:700;font-family:Nunito,sans-serif;background:var(--surface-2);border:1px solid var(--border-medium);color:var(--text-1);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) ease;min-height:34px}.pill:active{transform:scale(.95)}.pill-glyph{background:var(--accent-soft);border-color:var(--border-accent)}.pill-glyph .glyph{color:var(--gold);font-size:1.05em}.pill-gold{background:var(--gold-glow);border-color:#e9c46a59;color:var(--gold)}.pill-quiet{background:transparent;color:var(--text-2)}.segmented{display:flex;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:14px;padding:3px;gap:2px}.segmented button{flex:1;border:none;background:transparent;color:var(--text-2);font-family:Nunito,sans-serif;font-size:var(--text-sm);font-weight:700;padding:8px 4px;border-radius:11px;cursor:pointer;min-height:36px;transition:background var(--dur-base) ease,color var(--dur-base) ease;display:inline-flex;align-items:center;justify-content:center;gap:5px}.segmented button.seg-active{background:var(--surface-3);color:var(--text-1);box-shadow:var(--shadow-card),var(--hairline)}.segmented .seg-lock{font-size:.85em;opacity:.7}.skeleton{position:relative;overflow:hidden;background:var(--surface-1);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-sheen),transparent);animation:skeletonSweep 1.4s ease-in-out infinite}@keyframes skeletonSweep{to{transform:translate(100%)}}.page-enter{animation:pageEnter var(--dur-base) var(--ease-out) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.aurora-hero{position:relative;overflow:hidden;margin:0 -16px;padding:18px 20px 22px;background:radial-gradient(120% 90% at 80% -20%,rgba(13,148,136,.08),transparent 55%),radial-gradient(130% 100% at 10% -30%,rgba(67,86,214,.13),transparent 60%),linear-gradient(to bottom,#e2ebfa 0%,transparent 100%);border-bottom:1px solid rgba(28,34,64,.09)}html[data-theme=dark] .aurora-hero{background:radial-gradient(120% 90% at 80% -20%,rgba(94,234,212,.13),transparent 55%),radial-gradient(130% 100% at 10% -30%,rgba(167,139,250,.28),transparent 60%),radial-gradient(ellipse at 50% 0%,#251a5e 0%,#120f33 55%,transparent 100%);border-bottom:none}.aurora-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E")}.glyph{font-family:Fraunces,Georgia,serif;font-weight:500}.stat-num{font-family:Fraunces,Georgia,serif;font-weight:600;font-variant-numeric:tabular-nums}.meter-track{height:9px;border-radius:5px;background:var(--surface-1);overflow:hidden;box-shadow:var(--hairline)}.meter-fill{height:100%;border-radius:5px;transition:width .9s var(--ease-out)}.iris-ring{position:relative;border-radius:50%;padding:2px;background:conic-gradient(from 210deg,#5eead4,#a78bfa,#f472b6,#e9c46a,#5eead4)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-2)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
