:root{--page:#e7ebf2;--bg:#f3f5f9;--surface:#ffffff;--surface-2:#f6f8fb;--line:#dfe4ee;--ink:#12264a;--ink-2:#4b5a78;--ink-3:#7c88a1;--navy:#12264a;--navy-2:#1d3d6e;--on-navy:#ffffff;--on-navy-2:#b9c6dd;--gold:#c9a24b;--gold-ink:#8a6a22;--gold-soft:#f7efdc;--good:#2d8656;--good-soft:#e2f2e9;--warn:#a96f12;--warn-soft:#fbf0d9;--bad:#c0463e;--bad-soft:#fbe6e4;--info:#2a64a8;--info-soft:#e3edf9;--shadow:0 1px 2px rgba(18,38,74,.06),0 6px 18px rgba(18,38,74,.06);--f-ui:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--f-data:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#070d18;--bg:#0c1526;--surface:#132036;--surface-2:#182842;--line:#24365a;--ink:#e9eef7;--ink-2:#aab6cc;--ink-3:#7d8ba6;--navy:#0f2142;--navy-2:#1a3560;--on-navy:#ffffff;--on-navy-2:#a9b8d3;--gold:#d8b25f;--gold-ink:#e4c47c;--gold-soft:#332b19;--good:#5cc08a;--good-soft:#15301f;--warn:#e2a948;--warn-soft:#352914;--bad:#ec7b72;--bad-soft:#3a1c1b;--info:#79aee8;--info-soft:#152b47;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);color-scheme:dark}}:root[data-theme=dark]{--page:#070d18;--bg:#0c1526;--surface:#132036;--surface-2:#182842;--line:#24365a;--ink:#e9eef7;--ink-2:#aab6cc;--ink-3:#7d8ba6;--navy:#0f2142;--navy-2:#1a3560;--on-navy:#ffffff;--on-navy-2:#a9b8d3;--gold:#d8b25f;--gold-ink:#e4c47c;--gold-soft:#332b19;--good:#5cc08a;--good-soft:#15301f;--warn:#e2a948;--warn-soft:#352914;--bad:#ec7b72;--bad-soft:#3a1c1b;--info:#79aee8;--info-soft:#152b47;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.45 var(--f-ui);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0}.num{font-family:var(--f-data);font-variant-numeric:tabular-nums}.app{height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:var(--bg);position:relative;overflow:hidden}@media (min-width:600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.screen{padding:16px 16px 28px;display:flex;flex-direction:column;gap:14px}.topbar{background:var(--navy);color:var(--on-navy);padding:calc(16px + env(safe-area-inset-top,0px)) 18px 18px;display:flex;align-items:center;gap:12px}.topbar .t{flex:1;min-width:0}.topbar .k{font-size:12px;color:var(--on-navy-2);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.topbar h2{font-size:21px;letter-spacing:-.01em}.mark{width:38px;height:38px;border-radius:11px;background:var(--gold);color:#12264a;display:grid;place-items:center;font-weight:700;font-size:14px;letter-spacing:-.02em;flex:none}.iconbtn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--on-navy);display:grid;place-items:center;position:relative;flex:none}.iconbtn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--gold)}.tabs{display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px))}.tabs button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:600;color:var(--ink-3);position:relative}.tabs button[aria-current=true]{color:var(--ink)}.tabs button[aria-current=true] svg{color:var(--gold-ink)}.tabs .badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:16px;height:16px;border-radius:8px;background:var(--bad);color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}.card.hero{background:var(--navy);color:var(--on-navy);border-color:transparent}.card.hero .sub{color:var(--on-navy-2)}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.label{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}.hero .label{color:var(--gold)}.sub{color:var(--ink-2);font-size:13.5px}.small{font-size:12.5px;color:var(--ink-3)}.h3{font-size:17px;font-weight:650;letter-spacing:-.01em}.sect{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}.sect h3{font-size:15px}.link{border:0;background:none;padding:0;color:var(--gold-ink);font-weight:600;font-size:13px}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn.gold{background:var(--gold);color:#12264a}.btn.navy{background:var(--navy);color:var(--on-navy)}.btn.ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}.hero .btn.ghost{background:#ffffff14;color:var(--on-navy);border-color:#fff3}.btn.block{width:100%}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.gold{background:var(--gold-soft);color:var(--gold-ink)}.pill.mute{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}.bar>i{display:block;height:100%;background:var(--gold);border-radius:3px}.bar.good>i{background:var(--good)}.bar.warn>i{background:var(--warn)}.bar.bad>i{background:var(--bad)}.list{display:flex;flex-direction:column}.li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;width:100%}.li:first-child{border-top:0}.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy-2);color:var(--on-navy);display:grid;place-items:center;font-weight:600;font-size:13px;flex:none}.chev{color:var(--ink-3);flex:none}.countdown{display:flex;gap:8px}.countdown div{flex:1;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px 0;text-align:center}.countdown b{display:block;font-family:var(--f-data);font-size:22px;font-weight:600}.countdown span{font-size:11px;color:var(--on-navy-2);text-transform:uppercase;letter-spacing:.08em}.ring{width:64px;height:64px;flex:none}.focus{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.focus:first-of-type{border-top:0}.focus .n{width:26px;height:26px;border-radius:8px;background:var(--navy);color:var(--on-navy);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.focus .done{margin-left:auto;flex:none}.tick{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--good-soft);color:var(--good)}.tick.no{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.install{display:flex;gap:12px;align-items:center;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:var(--r);padding:12px 14px}.note-head{background:var(--navy);color:var(--on-navy);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px}.note-head .k{color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.note-head h2{font-size:22px;letter-spacing:-.01em}.box{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.box.good{background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 30%,transparent)}.box.amber{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.box.blue{background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent)}.box .t{font-weight:650;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.box.good .t{color:var(--good)}.box.amber .t{color:var(--warn)}.box.blue .t{color:var(--info)}.point{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.point .ph{background:var(--navy);color:var(--on-navy);padding:12px 16px;display:flex;gap:12px;align-items:center}.point .ph .n{width:28px;height:28px;border-radius:50%;background:var(--gold);color:#12264a;font-weight:700;display:grid;place-items:center;flex:none}.point .ph h3{font-size:16px}.point .pb{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.point .pb p{margin:0}.drill{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.drill .dl{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}.notecard{display:flex;gap:14px;align-items:center;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}.datechip{width:50px;flex:none;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);text-align:center;padding:6px 0}.datechip b{display:block;font-size:20px;font-family:var(--f-data);line-height:1.1}.datechip span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.segtabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:3px}.segtabs button{border:0;background:none;padding:8px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--ink-2)}.segtabs button[aria-pressed=true]{background:var(--navy);color:var(--on-navy)}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:260px;width:100%;align-self:center}.heat .d{aspect-ratio:1;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);max-width:100%}.heat .d.l1{background:color-mix(in srgb,var(--gold) 35%,var(--surface));border-color:transparent}.heat .d.l2{background:color-mix(in srgb,var(--gold) 65%,var(--surface));border-color:transparent}.heat .d.l3{background:var(--gold);border-color:transparent}.heat .d.lesson{outline:2px solid var(--navy-2);outline-offset:-2px}.heat .h{font-size:10.5px;text-align:center;color:var(--ink-3);font-weight:600}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);align-items:center}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.session{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.session:first-child{border-top:0}.feel{display:flex;gap:3px}.feel i{width:7px;height:7px;border-radius:50%;background:var(--line)}.feel i.on{background:var(--gold)}.vid{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.vid:first-child{border-top:0}.thumb{width:76px;aspect-ratio:9/16;max-width:100%;border-radius:10px;flex:none;position:relative;overflow:hidden;background:linear-gradient(160deg,#1d3d6e,#0d1d38);display:grid;place-items:center;color:#fff}.thumb video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.thumb svg{position:relative;width:24px;height:24px}.reply{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13.5px}.reply b{color:var(--gold-ink);font-size:12px;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:2px}.chat{display:flex;flex-direction:column;gap:10px}.msg{max-width:86%;padding:10px 13px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}.msg.me{align-self:flex-end;background:var(--navy);color:var(--on-navy);border-bottom-right-radius:5px}.msg.them{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px}.msg .who{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);display:block;margin-bottom:3px}.msg .meta{font-size:11px;color:var(--ink-3);margin-top:4px;display:block}.msg.me .meta{color:var(--on-navy-2)}.msg .esc{margin-top:8px}.composer{display:flex;gap:8px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line)}.composer textarea{flex:1;min-width:0;resize:none;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:10px 12px;height:44px;max-height:120px}.composer button{flex:none;width:44px;height:44px;border-radius:12px;border:0;background:var(--gold);color:#12264a;display:grid;place-items:center}.suggest{display:flex;gap:8px;flex-wrap:wrap}.suggest button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font-size:13px;text-align:left}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}.stat b{font-family:var(--f-data);font-size:20px;font-weight:600}.stat .d{font-size:12px;font-weight:600}.up{color:var(--good)}.down{color:var(--bad)}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bdg{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600}.bdg .c{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#12264a}.bdg.locked{opacity:.55}.bdg.locked .c{background:var(--line);color:var(--ink-3)}.chart svg{width:100%;height:auto;display:block}.chart text{fill:var(--ink-3);font:11px var(--f-data)}.code{font-family:var(--f-data);font-weight:600;font-size:20px;letter-spacing:.1em;background:var(--surface-2);border:1px dashed var(--gold);border-radius:12px;padding:10px 14px;text-align:center}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;text-align:left}.tile b{font-family:var(--f-data);font-size:26px;font-weight:600;line-height:1.1}.tile.alert{border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.tile.alert b{color:var(--bad)}.crow{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);width:100%;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0}.crow:first-child{border-top:0}.kb{width:100%;min-height:260px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px;font-size:13.5px;line-height:1.5;resize:vertical}.drillrow{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.drillrow:first-child{border-top:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#070d1873;display:flex;align-items:flex-end;z-index:20;animation:fade .18s ease}.sheet{background:var(--bg);width:100%;max-width:560px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom,0px);max-height:88%;border-radius:22px 22px 0 0;display:flex;flex-direction:column;animation:up .22s ease}.sheet .sh{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.sheet .sh h3{flex:1;font-size:17px}.sheet .sb{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.x{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--ink-2)}.field input[type=text],.field textarea,.field select{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 13px;font-size:13.5px;font-weight:500}.chip[aria-pressed=true]{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}.feelpick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.feelpick button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:9px 2px;font-size:12px;font-weight:600}.feelpick button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#12264a}.toggle{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.toggle:first-child{border-top:0}.sw{width:46px;height:28px;border-radius:14px;background:var(--line);border:0;position:relative;flex:none;transition:background .15s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.sw[aria-checked=true]{background:var(--good)}.sw[aria-checked=true]:after{transform:translate(18px)}.toast{position:fixed;max-width:528px;margin:0 auto;left:16px;right:16px;bottom:84px;background:var(--navy);color:var(--on-navy);padding:12px 14px;border-radius:14px;box-shadow:0 8px 24px #00000040;z-index:30;font-size:14px;animation:up .2s ease}.push{position:fixed;max-width:540px;margin:0 auto;left:10px;right:10px;top:10px;z-index:40;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:12px 14px;display:flex;gap:12px;box-shadow:0 10px 30px #0000002e;animation:drop .3s ease}.demo-tag{font-size:11px;font-weight:600;color:var(--ink-3);text-align:center;padding:4px 0 0}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(16px);opacity:0}}@keyframes drop{0%{transform:translateY(-20px);opacity:0}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}html,body{height:100%}.auth{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:32px 24px;max-width:420px;margin:0 auto}.auth .logo{width:120px;height:auto;align-self:flex-start}.auth h1{font-size:28px;letter-spacing:-.02em}.auth input{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:13px 14px;width:100%;font-size:16px}.auth .err{color:var(--bad);font-size:13.5px}.otp{letter-spacing:.4em;font-family:var(--f-data);text-align:center;font-size:22px!important}.empty{text-align:center;padding:28px 16px;display:flex;flex-direction:column;gap:8px;align-items:center;color:var(--ink-2)}.empty .h3{color:var(--ink)}.vplayer{display:flex;flex-direction:column;gap:8px}.vplayer video{width:100%;max-height:60vh;background:#000;border-radius:12px}.speeds{display:flex;gap:6px;flex-wrap:wrap}.speeds button{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 10px;font-size:13px;font-weight:600;font-family:var(--f-data)}.speeds button[aria-pressed=true]{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}.pointedit{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field input[type=date],.field input[type=datetime-local],.field input[type=email],.field input[type=number]{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;width:100%}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.threadlist .li{cursor:pointer}.unread-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex:none}.composer .mic{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}.mic.on{background:var(--bad)!important;color:#fff!important;border-color:var(--bad)!important;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.7}}.btn.mic{width:44px;padding:0;flex:none}input,textarea,select,.composer textarea,.field input,.field textarea,.field select,.kb{font-size:16px!important}.composer{align-items:flex-end}.composer textarea{min-height:44px;line-height:1.35}
