*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a1f;--bg-card: rgba(139, 92, 246, .07);--bg-card-hover: rgba(139, 92, 246, .13);--border: rgba(139, 92, 246, .18);--border-active: rgba(139, 92, 246, .55);--purple: #8b5cf6;--purple-light: #a78bfa;--purple-dark: #6d28d9;--text: #e2e8f0;--text-dim: #94a3b8;--text-muted: #64748b;--radius: 14px;--radius-sm: 8px;--radius-pill: 100px}html{min-height:100%;background:var(--bg)}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:clip}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.star{position:absolute;border-radius:50%;background:#fff;animation:twinkle linear infinite}@keyframes twinkle{0%,to{opacity:.08;transform:scale(1)}50%{opacity:.85;transform:scale(1.3)}}.header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);background:#0a0a1fbf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-left{display:flex;align-items:center;gap:14px}.logo-moon{font-size:2rem;filter:drop-shadow(0 0 10px rgba(251,191,36,.65));line-height:1}.logo-title{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(130deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-sub{font-size:.72rem;color:var(--text-muted);letter-spacing:.04em;margin-top:1px}.header-stats{display:flex;gap:10px}.header-right{display:flex;align-items:center;gap:14px}.header-actions{display:flex;align-items:center;gap:8px}.star-link,.share-btn,.dl-share{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.38);background:#fbbf2424;color:#fde68a;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;white-space:nowrap}.star-link:hover,.share-btn:hover,.dl-share:hover{background:#fbbf2440;border-color:#fbbf24b3;transform:translateY(-1px)}.share-btn{border-color:#60a5fa57;background:#60a5fa1a;color:#bfdbfe}.share-btn:hover{background:#60a5fa33;border-color:#60a5fa9e}.stat-chip{display:flex;flex-direction:column;align-items:center;padding:8px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:80px}.stat-num{font-size:1.05rem;font-weight:700;color:var(--purple-light);line-height:1}.stat-label{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:3px}.main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;padding:36px 24px 56px;gap:32px;max-width:920px;margin:0 auto;width:100%}.snore-intro{width:min(100%,680px);text-align:center}.snore-intro h1{margin-top:8px;font-size:1.65rem;line-height:1.15}.snore-intro p{margin-top:8px;color:var(--text-dim);font-size:.86rem;line-height:1.5}.home-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.home-session-stats{display:none}.home-more{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f172a66}.home-more summary{padding:14px 16px;color:var(--text-dim);cursor:pointer;font-size:.8rem;font-weight:700}.home-more-body{display:flex;flex-direction:column;gap:18px;padding:0 16px 16px}.experiment-note{color:var(--text-muted);font-size:.74rem;line-height:1.5}.insanity-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insanity-card{min-height:176px;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f172a7a}.mission-card{border-color:#fbbf2447;background:linear-gradient(135deg,#fbbf241a,#8b5cf60f),#0f172a80}.report-card{border-color:#60a5fa4d;background:linear-gradient(135deg,#60a5fa1a,#10b9810f),#0f172a80}.alibi-card{border-color:#f472b647;background:linear-gradient(135deg,#f472b614,#8b5cf60f),#0f172a80}.achievement-card{border-color:#10b98142}.insanity-card h2{font-size:1.02rem;line-height:1.22;color:var(--text)}.insanity-card p{color:var(--text-dim);font-size:.76rem;line-height:1.5}.insanity-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.score-row{display:flex;align-items:baseline;gap:10px}.score-row strong{font-size:2.4rem;line-height:.9;color:#bfdbfe}.score-row span{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.lifetime-row{display:flex;flex-wrap:wrap;gap:7px}.lifetime-row span{padding:4px 8px;border:1px solid rgba(96,165,250,.22);border-radius:var(--radius-pill);background:#60a5fa14;color:#bfdbfe;font-size:.67rem;font-weight:700}.copy-status{color:var(--text-muted);font-size:.68rem}.alibi-card blockquote{color:var(--text);font-size:1.08rem;line-height:1.4}.achievement-list{display:grid;grid-template-columns:1fr;gap:7px}.achievement-pill{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(100,116,139,.18);border-radius:var(--radius-sm);background:#02061738;color:var(--text-muted)}.achievement-pill>span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(100,116,139,.32);font-weight:900;line-height:1}.achievement-pill strong{display:block;color:var(--text-dim);font-size:.75rem}.achievement-pill small{display:block;margin-top:1px;color:var(--text-muted);font-size:.66rem}.achievement-pill.unlocked{border-color:#10b9814d;background:#10b98114}.achievement-pill.unlocked>span{border-color:#10b98180;color:#86efac;background:#10b98129}.achievement-pill.unlocked strong{color:#d1fae5}.demo-btn{min-height:46px;padding:0 18px;border:1px solid rgba(251,191,36,.42);border-radius:var(--radius-sm);background:#fbbf2424;color:#fde68a;cursor:pointer;font:inherit;font-size:.84rem;font-weight:800;white-space:nowrap}.demo-btn:hover{background:#fbbf243b}.character-area{position:relative;display:flex;justify-content:center;align-items:flex-end;height:210px}.character-wrap{position:relative;width:190px;height:190px;display:flex;align-items:center;justify-content:center}.character-wrap.snoring{animation:snore-bob 3.2s ease-in-out infinite}@keyframes snore-bob{0%,to{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-5px) rotate(1.2deg)}}.sleeping-face{width:100%;height:100%;transition:filter .4s ease;filter:drop-shadow(0 10px 28px rgba(139,92,246,.22))}.character-wrap.snoring .sleeping-face{filter:drop-shadow(0 10px 32px rgba(139,92,246,.5)) drop-shadow(0 0 14px rgba(251,191,36,.18))}.zzz-container{position:absolute;top:0;left:50%;width:0;height:0;pointer-events:none}.zzz-bubble{position:absolute;top:-10px;left:var(--x-offset, 0px);transform:translate(-50%);font-size:1.35rem;font-weight:700;color:var(--purple-light);text-shadow:0 0 10px rgba(139,92,246,.9);animation:float-up 3.2s ease-out forwards;-webkit-user-select:none;user-select:none;white-space:nowrap}@keyframes float-up{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.7) rotate(-5deg)}12%{opacity:1;transform:translate(-50%) translateY(-18px) scale(1.15) rotate(3deg)}75%{opacity:.55;transform:translate(-50%) translateY(-95px) scale(.9) rotate(-2deg)}to{opacity:0;transform:translate(-50%) translateY(-130px) scale(.65) rotate(5deg)}}.button-area{display:flex;justify-content:center}.snore-btn{width:155px;height:155px;border-radius:50%;border:3px solid var(--p-color, var(--purple));background:radial-gradient(circle at 38% 35%,#8b5cf647,#6d28d9a6);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:transform .18s ease,box-shadow .25s ease,border-color .25s ease;position:relative}.snore-btn:hover{transform:scale(1.06);box-shadow:0 0 36px var(--p-color, var(--purple))}.snore-btn:active{transform:scale(.96)}.snore-btn.active{background:radial-gradient(circle at 38% 35%,#a78bfa61,#6d28d9d1);border-color:var(--p-color, var(--purple-light));animation:btn-pulse 2.2s ease-in-out infinite}@keyframes btn-pulse{0%,to{box-shadow:0 0 28px var(--p-color),0 0 55px #8b5cf62e}50%{box-shadow:0 0 52px var(--p-color),0 0 100px #8b5cf652}}.snore-btn-icon{font-size:2.6rem;line-height:1}.snore-btn-text{font-size:.82rem;font-weight:700;letter-spacing:.14em;color:var(--text)}.section{width:100%;display:flex;flex-direction:column;gap:12px}.section-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.agent-console{width:min(100%,520px);display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 16px;background:#10b98112;border:1px solid rgba(16,185,129,.22);border-radius:var(--radius-sm)}.agent-status{display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.agent-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.agent-dot.online{background:#10b981;box-shadow:0 0 12px #10b981cc}.agent-line{font-size:1rem;color:var(--text);text-align:center}.audio-row{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:.74rem}.demo-status{color:var(--text-muted);font-size:.72rem}.inline-action{min-height:30px;padding:0 10px;border:1px solid rgba(16,185,129,.28);border-radius:var(--radius-sm);background:#10b9811a;color:#86efac;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700}.inline-action:active,.small-action:active,.quick-meeting:active,.ghost-action:active{transform:translateY(1px) scale(.99)}.phase-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.phase-panel{min-height:138px;display:flex;flex-direction:column;gap:13px;padding:16px;background:#0f172a73;border:1px solid var(--border);border-radius:var(--radius-sm)}.phase-note{color:var(--text-muted);font-size:.72rem;line-height:1.45}.mini-list{display:flex;flex-direction:column;gap:4px;padding-left:16px;color:var(--text-muted);font-size:.7rem;line-height:1.35}.phase-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.toggle-row,.range-row{display:flex;align-items:center;gap:9px;font-size:.76rem;color:var(--text-dim)}.toggle-row{white-space:nowrap}.toggle-row input{width:18px;height:18px;accent-color:var(--purple-light)}.range-row{width:100%}.range-row input{flex:1;min-height:32px;accent-color:var(--purple-light)}.range-row strong{min-width:44px;text-align:right;color:var(--text);font-size:.76rem}.meeting-row,.name-row{display:flex;gap:8px}.meeting-input,.name-input,.phrase-input{min-width:0;height:36px;padding:0 11px;background:#02061773;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.78rem}.meeting-input,.phrase-input{flex:1}.name-input{width:82px}.meeting-input:focus,.name-input:focus,.phrase-input:focus{outline:none;border-color:var(--purple-light)}.small-action,.quick-meeting,.ghost-action{min-height:38px;padding:0 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#8b5cf624;color:var(--text);cursor:pointer;font:inherit;font-size:.76rem;font-weight:600;transition:background .16s,border-color .16s,color .16s}.small-action:hover,.quick-meeting:hover,.ghost-action:hover,.small-action.active{background:#8b5cf642;border-color:var(--purple-light)}.quick-meetings{display:flex;flex-wrap:wrap;gap:7px}.quick-meeting{height:30px;padding:0 11px;color:var(--text-dim)}.hold-display{display:flex;align-items:center;justify-content:space-between;gap:14px}.hold-display strong{font-size:1.2rem;color:var(--purple-light)}.hold-bars{display:flex;align-items:end;gap:4px;height:34px}.hold-bars span{width:8px;height:12px;border-radius:5px;background:#a78bfa47}.hold-bars.active span{animation:hold-wave 1s ease-in-out infinite}.hold-bars span:nth-child(2){animation-delay:.12s}.hold-bars span:nth-child(3){animation-delay:.24s}.hold-bars span:nth-child(4){animation-delay:.36s}@keyframes hold-wave{0%,to{height:12px}50%{height:32px}}.ghost-action{width:fit-content;background:transparent;color:var(--text-dim)}.wake-pill{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;border:1px solid rgba(16,185,129,.24);border-radius:var(--radius-pill);color:#86efac;background:#10b98114;font-size:.68rem}.soon-pill{padding:4px 9px;border:1px solid rgba(251,191,36,.26);border-radius:var(--radius-pill);background:#fbbf2414;color:#fde68a;font-size:.66rem;font-weight:700;white-space:nowrap}.transcript-line{padding:8px 10px;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);background:#10b9810f;color:var(--text-dim);font-size:.72rem;line-height:1.4}.personality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.personality-grid.featured{grid-template-columns:repeat(3,minmax(0,1fr))}.personality-more{width:100%}.personality-more summary{width:fit-content;padding:7px 0;color:var(--text-dim);cursor:pointer;font-size:.76rem;font-weight:700}.personality-more .personality-grid{margin-top:5px}.personality-chip{display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;color:var(--text);text-align:center}.personality-chip:hover{background:var(--bg-card-hover);border-color:var(--p-color, var(--purple));transform:translateY(-2px)}.personality-chip.active{background:#8b5cf624;border-color:var(--p-color, var(--purple));box-shadow:0 0 18px #8b5cf62e,inset 0 0 22px #8b5cf60f}.p-emoji{font-size:1.9rem;line-height:1}.p-name{font-size:.78rem;font-weight:600;color:var(--text)}.p-desc{font-size:.63rem;color:var(--text-dim);line-height:1.35}.situation-picker{width:100%;display:flex;flex-direction:column;gap:12px}.situation-grid{display:flex;flex-wrap:wrap;gap:8px}.situation-chip{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background .18s,border-color .18s,color .18s;color:var(--text)}.situation-chip:hover{background:var(--bg-card-hover);border-color:var(--purple)}.situation-chip.active{background:#8b5cf62e;border-color:var(--purple-light);color:var(--purple-light)}.situation-emoji{font-size:1rem;line-height:1}.situation-label{font-size:.78rem;font-weight:500}.situation-desc{font-size:.78rem;color:var(--text-dim);padding:9px 14px;background:var(--bg-card);border-left:3px solid var(--purple);border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.4}.situation-rate{color:var(--text-muted);font-style:normal}.boredom-section{width:100%;display:flex;flex-direction:column;gap:9px}.boredom-header{display:flex;align-items:center;justify-content:space-between}.boredom-label{font-size:.78rem;font-weight:500;color:var(--text-dim);transition:color .3s}.boredom-label.low{color:#94a3b8}.boredom-label.mid{color:#818cf8}.boredom-label.high{color:#c084fc}.boredom-label.max{color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.55);animation:max-pulse 1s ease-in-out infinite}@keyframes max-pulse{0%,to{opacity:1}50%{opacity:.55}}.boredom-track{height:11px;background:#8b5cf61a;border-radius:var(--radius-pill);overflow:hidden;border:1px solid var(--border)}.boredom-fill{height:100%;background:linear-gradient(90deg,#6d28d9,#8b5cf6,#a78bfa);border-radius:var(--radius-pill);transition:width 1s linear;position:relative}.boredom-fill:after{content:"";position:absolute;right:0;top:0;height:100%;width:24px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28));border-radius:var(--radius-pill)}.boredom-fill.full{background:linear-gradient(90deg,#7c3aed,#fbbf24,#f97316);animation:full-shimmer 1.5s linear infinite}@keyframes full-shimmer{0%{filter:brightness(1)}50%{filter:brightness(1.3)}to{filter:brightness(1)}}.boredom-footer{display:flex;align-items:center;justify-content:space-between;font-size:.73rem;color:var(--text-muted)}.reset-btn{font-size:.73rem;padding:5px 14px;background:#fbbf241a;border:1px solid rgba(251,191,36,.32);border-radius:var(--radius-pill);color:#fbbf24;cursor:pointer;transition:background .18s,border-color .18s;font-family:inherit}.reset-btn:hover{background:#fbbf2433;border-color:#fbbf2499}@media (max-width: 640px){.header{padding:14px 16px;flex-wrap:wrap;gap:10px}.header-left{width:100%}.header-right{display:none}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.header-actions .star-link,.header-actions .share-btn{width:100%}.header-stats{width:100%;justify-content:stretch}.stat-chip{flex:1}.main{padding:24px 16px 48px;gap:20px}.insanity-grid{grid-template-columns:1fr}.insanity-actions .small-action,.insanity-actions .ghost-action,.demo-btn{width:100%}.personality-grid{grid-template-columns:repeat(2,1fr)}.phase-grid{grid-template-columns:1fr}.phase-panel-head,.name-row{align-items:stretch;flex-direction:column}.phase-panel{min-height:0;padding:18px 20px}.audio-row,.meeting-row{align-items:stretch;flex-direction:column}.inline-action,.small-action,.ghost-action{width:100%}.meeting-input,.name-input,.phrase-input{height:48px;font-size:.9rem}.name-input{width:100%}.wake-pill{max-width:100%}.character-area{height:150px}.character-wrap{width:145px;height:145px}.snore-intro h1{font-size:1.35rem}.snore-btn{width:142px;height:142px}.home-secondary-actions{display:grid;grid-template-columns:1fr;width:100%}.home-secondary-actions .small-action,.home-secondary-actions .ghost-action{width:100%}.home-session-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-session-stats div{min-width:0;padding:10px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);text-align:center}.home-session-stats strong,.home-session-stats span{display:block}.home-session-stats strong{overflow:hidden;color:var(--purple-light);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.home-session-stats span{margin-top:4px;color:var(--text-muted);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.personality-grid.featured,.personality-more .personality-grid{grid-template-columns:1fr}}.home-install-link{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.74rem;text-decoration:underline;text-underline-offset:3px}.home-install-link:hover{color:var(--text-dim)}.tab-nav{position:relative;z-index:10;display:flex;gap:0;border-bottom:1px solid var(--border);background:#0a0a1f99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0 32px}.tab-btn{padding:13px 22px;font-size:.85rem;font-weight:600;font-family:inherit;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .18s,border-color .18s;letter-spacing:.02em;margin-bottom:-1px}.tab-btn:hover{color:var(--text-dim)}.tab-btn.active{color:var(--purple-light);border-bottom-color:var(--purple-light)}.lab-page{position:relative;z-index:10;max-width:960px;margin:0 auto;width:100%;padding:36px 24px 64px;display:flex;flex-direction:column;gap:18px}.lab-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:stretch;padding:20px;border:1px solid rgba(96,165,250,.26);border-radius:var(--radius-sm);background:linear-gradient(135deg,#60a5fa1c,#10b98112),#0f172a80}.lab-hero h1{margin-top:7px;font-size:1.45rem;line-height:1.15;color:var(--text)}.lab-hero p{margin-top:9px;max-width:650px;color:var(--text-dim);font-size:.84rem;line-height:1.55}.lab-actions{display:grid;grid-template-columns:1fr;gap:10px}.upload-card,.record-card{min-height:155px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border:1px dashed rgba(96,165,250,.46);border-radius:var(--radius-sm);background:#0206174d;color:#bfdbfe;cursor:pointer;text-align:center}.record-card{font:inherit}.upload-card:hover,.record-card:hover:not(:disabled){border-color:#60a5facc;background:#60a5fa17}.record-card:disabled,.upload-card:has(input:disabled){cursor:not-allowed;opacity:.65}.record-card.recording{border-color:#f87171b8;background:#7f1d1d2e;color:#fecaca}.record-card.recording .upload-icon{border-color:#f871718c;color:#fecaca}.upload-card input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.upload-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(96,165,250,.38);border-radius:50%;color:#dbeafe;font-size:1.35rem}.upload-card strong{color:var(--text);font-size:.9rem}.upload-card small{color:var(--text-muted);font-size:.72rem}.lab-status{padding:11px 13px;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);background:#10b9810f;color:var(--text-dim);font-size:.78rem}.lab-history{display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid rgba(96,165,250,.22);border-radius:var(--radius-sm);background:#0f172a75}.lab-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.lab-history h2{margin-top:5px;color:var(--text);font-size:1rem}.trend-callout{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border:1px solid rgba(251,191,36,.22);border-radius:var(--radius-sm);background:#fbbf2412}.trend-callout.better{border-color:#10b98142;background:#10b98114}.trend-callout.worse{border-color:#f871713d;background:#7f1d1d1f}.trend-callout strong{color:var(--text);font-size:.92rem;white-space:nowrap}.trend-callout span{color:var(--text-dim);font-size:.76rem}.history-list{display:grid;gap:8px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(96,165,250,.16);border-radius:var(--radius-sm);background:#0206173d}.history-row strong,.history-row span{display:block}.history-row strong{color:var(--text);font-size:.78rem;overflow-wrap:anywhere}.history-row span{margin-top:2px;color:var(--text-muted);font-size:.68rem}.history-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.history-stats span{margin:0;padding:4px 7px;border:1px solid rgba(96,165,250,.18);border-radius:var(--radius-pill);background:#60a5fa12;color:#bfdbfe;font-size:.66rem;font-weight:700}.lab-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lab-metric{padding:15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f172a75}.lab-metric span{display:block;color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.lab-metric strong{display:block;margin-top:8px;color:var(--text);font-size:1.2rem;line-height:1.1}.timeline-panel,.events-panel,.lab-guide{padding:18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f172a75}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.timeline-head h2,.events-panel h2{margin-top:5px;color:var(--text);font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.snore-timeline{height:118px;display:flex;align-items:flex-end;gap:2px;padding:10px;border:1px solid rgba(96,165,250,.16);border-radius:var(--radius-sm);background:#02061757;overflow:hidden}.timeline-bar{flex:1;min-width:2px;max-width:12px;border-radius:5px 5px 0 0;background:#64748b6b}.timeline-bar.active{background:linear-gradient(180deg,#fbbf24,#60a5fa);box-shadow:0 0 10px #60a5fa59}.timeline-legend{display:flex;justify-content:space-between;margin-top:7px;color:var(--text-muted);font-size:.7rem}.events-panel{display:flex;flex-direction:column;gap:14px}.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-row{min-height:42px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(96,165,250,.18);border-radius:var(--radius-sm);background:#60a5fa0f}.event-row span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#60a5fa24;color:#bfdbfe;font-size:.68rem;font-weight:800}.event-row strong{color:var(--text-dim);font-size:.76rem}.event-row small{color:var(--text-muted);font-size:.7rem}.empty-events{color:var(--text-dim);font-size:.8rem;line-height:1.5}.lab-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lab-guide p{margin-top:7px;color:var(--text-dim);font-size:.78rem;line-height:1.5}.stop-page{position:relative;z-index:10;max-width:960px;margin:0 auto;width:100%;padding:36px 24px 64px;display:flex;flex-direction:column;gap:48px}.science-banner{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius)}.science-banner-icon{font-size:1.6rem;flex-shrink:0;line-height:1;margin-top:1px}.science-banner-body{font-size:.83rem;color:var(--text-dim);line-height:1.6}.science-banner-body p+p{margin-top:8px}.science-banner-body strong{color:var(--text)}.practice-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid rgba(16,185,129,.24);border-radius:var(--radius);background:linear-gradient(135deg,#10b9811a,#60a5fa12),#0f172a7a}.practice-panel h2{margin-top:6px;color:var(--text);font-size:1.08rem}.practice-panel p{margin-top:7px;color:var(--text-dim);font-size:.78rem;line-height:1.5}.practice-metrics{display:flex;gap:8px}.practice-metric{min-width:82px;padding:10px 12px;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);background:#0206173d;text-align:center}.practice-metric strong{display:block;color:#d1fae5;font-size:1.25rem;line-height:1}.practice-metric span{display:block;margin-top:5px;color:var(--text-muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.practice-week{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.practice-day{min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px;border:1px solid rgba(100,116,139,.18);border-radius:var(--radius-sm);background:#02061738;text-align:center}.practice-day span{color:var(--text-muted);font-size:.64rem}.practice-day strong{color:var(--text-dim);font-size:.7rem}.practice-day.done{border-color:#10b98159;background:#10b9811a}.practice-day.done strong{color:#86efac}.practice-last{grid-column:1 / -1}.stop-section{display:flex;flex-direction:column;gap:16px}.stop-section-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;color:var(--text)}.stop-section-sub{font-size:.8rem;color:var(--text-muted);margin-top:-8px}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.program-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--prog-color, var(--purple));border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s,background .2s}.program-card:hover{background:var(--bg-card-hover);border-color:var(--prog-color, var(--purple))}.program-card-top{display:flex;gap:14px;align-items:flex-start}.program-emoji-wrap{width:48px;height:48px;border-radius:12px;background:#8b5cf61a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.6rem}.program-meta{display:flex;flex-direction:column;gap:4px;flex:1}.program-name{font-size:.92rem;font-weight:700;color:var(--text)}.program-desc{font-size:.76rem;color:var(--text-dim);line-height:1.4}.program-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.program-tag{font-size:.65rem;padding:2px 8px;background:#8b5cf61a;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);font-weight:500}.program-freq{font-size:.7rem;color:var(--text-muted);margin-top:2px}.program-exercises-list{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0003;border-radius:var(--radius-sm)}.program-ex-row{display:flex;align-items:center;gap:10px}.program-ex-num{font-size:.65rem;font-weight:700;color:var(--text-muted);width:16px;text-align:right}.program-ex-emoji{font-size:1.1rem;line-height:1}.program-ex-info{flex:1;display:flex;flex-direction:column;gap:1px}.program-ex-name{font-size:.78rem;font-weight:600;color:var(--text)}.program-ex-detail{font-size:.65rem;color:var(--text-muted)}.program-ex-start{font-size:.68rem;padding:4px 10px;background:#8b5cf626;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--purple-light);cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s;white-space:nowrap}.program-ex-start:hover{background:#8b5cf647}.program-card-actions{display:flex;gap:8px;justify-content:flex-end}.program-btn-secondary{font-size:.76rem;padding:7px 14px;background:none;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-dim);cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.program-btn-secondary:hover{border-color:var(--purple);color:var(--text)}.program-btn-primary{font-size:.76rem;padding:7px 16px;background:#8b5cf633;border:1px solid var(--prog-color, var(--purple));border-radius:var(--radius-pill);color:var(--purple-light);cursor:pointer;font-family:inherit;font-weight:600;transition:background .15s}.program-btn-primary:hover{background:#8b5cf659}.cat-filter{display:flex;flex-wrap:wrap;gap:8px}.cat-btn{font-size:.78rem;padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.cat-btn:hover{border-color:var(--cat-color, var(--purple));color:var(--text)}.cat-btn.active{background:#8b5cf626;border-color:var(--cat-color, var(--purple));color:var(--text)}.exercises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.exercise-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px;transition:background .18s,border-color .18s,transform .18s}.exercise-card:hover{background:var(--bg-card-hover);transform:translateY(-2px)}.exercise-card-header{display:flex;align-items:center;justify-content:space-between}.exercise-emoji{font-size:1.9rem;line-height:1}.exercise-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.exercise-cat-badge{font-size:.62rem;padding:2px 8px;border-radius:var(--radius-pill);background:#8b5cf61f;border:1px solid var(--cat-color, var(--purple));color:var(--cat-color, var(--purple));font-weight:600}.exercise-diff-badge{font-size:.6rem;padding:2px 8px;border-radius:var(--radius-pill);font-weight:600;border:1px solid transparent}.diff-beginner{background:#10b9811f;border-color:#10b98166;color:#10b981}.diff-intermediate{background:#f59e0b1f;border-color:#f59e0b66;color:#f59e0b}.exercise-name{font-size:.94rem;font-weight:700;color:var(--text)}.exercise-benefit{font-size:.76rem;color:var(--text-dim);line-height:1.45}.exercise-science-note{font-size:.7rem;color:var(--text-muted);line-height:1.4;display:flex;gap:5px}.science-icon{flex-shrink:0}.exercise-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding-top:10px;border-top:1px solid var(--border)}.exercise-stats{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-muted)}.exercise-start-btn{font-size:.76rem;padding:6px 16px;background:#8b5cf626;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--purple-light);cursor:pointer;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s}.exercise-start-btn:hover{background:#8b5cf64d;border-color:var(--purple)}.how-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.how-card{padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px}.how-emoji{font-size:1.6rem;line-height:1}.how-title{font-size:.82rem;color:var(--text)}.how-desc{font-size:.73rem;color:var(--text-dim);line-height:1.45}.player-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#050512d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.player-card{background:#12122a;border:1px solid var(--border-active);border-radius:20px;padding:28px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 80px #000000b3,0 0 0 1px #8b5cf61a}.player-card.completion{align-items:center;text-align:center;gap:14px;padding:40px 32px}.player-header{display:flex;align-items:center;justify-content:space-between}.player-exercise-name{font-size:.92rem;font-weight:700;color:var(--text)}.player-close-btn{width:32px;height:32px;border-radius:50%;background:#ffffff0f;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.player-close-btn:hover{background:#ffffff1f;color:var(--text)}.player-overall-track{height:4px;background:#8b5cf61f;border-radius:var(--radius-pill);overflow:hidden}.player-overall-fill{height:100%;background:linear-gradient(90deg,#6d28d9,#a78bfa);border-radius:var(--radius-pill);transition:width .8s linear}.player-reps{display:flex;align-items:center;gap:10px}.rep-dots{display:flex;gap:6px}.rep-dot{width:8px;height:8px;border-radius:50%;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);transition:background .2s,border-color .2s}.rep-dot.active{background:var(--purple);border-color:var(--purple-light);box-shadow:0 0 6px #8b5cf680}.rep-dot.done{background:#8b5cf673;border-color:transparent}.rep-label{font-size:.7rem;color:var(--text-muted);margin-left:auto}.player-step-area{display:flex;gap:20px;align-items:center}.countdown-wrap{position:relative;width:110px;height:110px;flex-shrink:0}.countdown-svg{width:110px;height:110px}.countdown-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.countdown-cue{font-size:1.6rem;line-height:1}.countdown-time{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1;margin-top:2px}.countdown-unit{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.step-text-area{flex:1;display:flex;flex-direction:column;gap:6px}.step-position{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.step-title-text{font-size:1rem;font-weight:700;color:var(--purple-light);line-height:1.2}.step-instruction-text{font-size:.8rem;color:var(--text-dim);line-height:1.55}.step-pip-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.step-pip{width:28px;height:6px;border-radius:var(--radius-pill);background:#8b5cf626;border:1px solid rgba(139,92,246,.2);cursor:pointer;transition:background .18s}.step-pip.active{background:var(--purple);border-color:var(--purple-light)}.step-pip.done{background:#8b5cf659;border-color:transparent}.player-controls{display:flex;gap:10px;align-items:center;justify-content:center}.ctrl-btn{padding:10px 18px;border-radius:var(--radius-pill);font-family:inherit;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .12s;font-size:.82rem}.ctrl-btn:active{transform:scale(.97)}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed}.ctrl-btn.secondary{background:none;border:1px solid var(--border);color:var(--text-dim)}.ctrl-btn.secondary:hover:not(:disabled){border-color:var(--purple);color:var(--text)}.ctrl-btn.primary{background:#8b5cf633;border:1px solid var(--purple);color:var(--purple-light);min-width:110px;font-size:.9rem}.ctrl-btn.primary:hover{background:#8b5cf659}.ctrl-btn.primary.running{background:#ef444426;border-color:#ef4444;color:#fca5a5}.ctrl-btn.primary.running:hover{background:#ef444447}.completion-emoji{font-size:3.5rem;line-height:1}.completion-title{font-size:1.3rem;font-weight:700;color:var(--text)}.completion-name{font-size:.88rem;color:var(--purple-light);font-weight:600}.completion-benefit{font-size:.78rem;color:var(--text-dim);line-height:1.5;max-width:340px}.completion-stats{display:flex;gap:12px;align-items:center;font-size:.78rem;color:var(--text-dim)}.completion-stat strong{color:var(--text)}.completion-sep{color:var(--text-muted)}.player-done-btn{margin-top:8px;padding:11px 32px;background:#8b5cf633;border:1px solid var(--purple);border-radius:var(--radius-pill);color:var(--purple-light);font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .15s}.player-done-btn:hover{background:#8b5cf659}.install-page{position:relative;z-index:10;max-width:960px;width:100%;margin:0 auto;padding:36px 24px 64px}.install-back{margin-bottom:22px}.install-hero{max-width:660px}.install-hero h1{margin-top:8px;color:var(--text);font-size:2rem;line-height:1.1}.install-hero p{margin-top:10px;color:var(--text-dim);font-size:.9rem;line-height:1.55}.install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.install-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:#0f172a80}.install-icon{font-size:1.8rem}.install-card h2{color:var(--text);font-size:1rem}.install-card p,.install-card small{color:var(--text-dim);font-size:.78rem;line-height:1.5}.install-card small{color:var(--text-muted)}.install-action{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;text-decoration:none}@media (max-width: 640px){.install-page{padding:24px 16px 48px}.install-grid{grid-template-columns:1fr}.install-action{width:100%}}@media (max-width: 640px){.stop-page{padding:24px 16px 48px;gap:36px}.programs-grid,.exercises-grid,.practice-panel,.practice-metrics{grid-template-columns:1fr}.practice-panel{display:flex;flex-direction:column;align-items:stretch}.practice-metrics{display:grid}.practice-week{grid-template-columns:repeat(2,minmax(0,1fr))}.how-grid{grid-template-columns:1fr 1fr}.player-step-area{flex-direction:column;align-items:center;text-align:center}.player-card{padding:20px}.tab-nav{padding:0 16px}}@media (max-width: 640px){.lab-page{padding:24px 16px 48px}.lab-hero,.lab-guide{grid-template-columns:1fr}.lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-head,.lab-history-head,.history-row,.trend-callout{align-items:stretch;flex-direction:column}.history-row{display:flex}.history-stats{justify-content:flex-start}.timeline-head .small-action,.lab-history-head .ghost-action{width:100%}.event-list{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.stars{display:none}}
