:root{--bg:#e9ecea;--surface:#f7f8f6;--ink:#1a1e23;--muted:#5b636c;--line:#cdd3d1;--accent:#c2412d;--accent-ink:#fff;--bay:#2d5c7a;--good:#2f7d4f;--warn:#a8701a;--h0:#dde2e0;--h1:#f2c9bf;--h2:#e4917f;--h3:#d2624a;--h4:#a8321f;--display:"Big Shoulders Display", "Arial Narrow", Impact, sans-serif;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--nav-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1317;--surface:#171c21;--ink:#e6e9eb;--muted:#949da6;--line:#2a3138;--accent:#e2583f;--accent-ink:#140906;--bay:#78a9c8;--good:#5db37e;--warn:#d9a04a;--h0:#1f262c;--h1:#4a2a24;--h2:#7a3628;--h3:#b4472f;--h4:#ee6a4f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1317;--surface:#171c21;--ink:#e6e9eb;--muted:#949da6;--line:#2a3138;--accent:#e2583f;--accent-ink:#140906;--bay:#78a9c8;--good:#5db37e;--warn:#d9a04a;--h0:#1f262c;--h1:#4a2a24;--h2:#7a3628;--h3:#b4472f;--h4:#ee6a4f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:70px}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}a{color:var(--bay)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;display:block}.app{flex-direction:column;min-height:100dvh;display:flex}.side,.main{display:contents}.side .brand,.side-foot{display:none}.top{order:1}.save-warn{order:2;margin:0 16px 10px}.linebox{order:3;width:calc(100% - 32px);max-width:1080px;margin:2px auto 14px}.nav{order:4}main{flex:1;order:5}.top{padding:14px 16px 8px;padding-top:max(14px, env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{color:var(--ink);flex-direction:column;gap:3px;min-width:0;text-decoration:none;display:flex}.brand .eyebrow{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brand-name{font:800 30px/.9 var(--display);letter-spacing:.01em;text-transform:uppercase}.brand-name span{color:var(--accent)}.gear{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.gear[aria-current=page]{color:var(--accent);border-color:var(--accent)}main{padding:0 0 calc(var(--nav-h) + var(--safe-b) + 28px);width:calc(100% - 32px);max-width:1080px;margin:0 auto}.view-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:14px;display:grid}.nav{z-index:20;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:var(--safe-b);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav-i{height:var(--nav-h);color:var(--muted);font:600 10.5px/1 var(--body);letter-spacing:.01em;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;text-decoration:none;display:flex;position:relative}.nav-i span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-i[aria-current=page]{color:var(--accent)}.nav-i[aria-current=page]:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.nav-sec{display:none}@media (width>=768px){.top{padding:22px 24px 10px}.brand-name{font-size:42px}.brand .eyebrow{font-size:11px}.save-warn{margin:0 24px 10px}.nav{scrollbar-width:none;border-top:0;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);gap:2px;margin-bottom:18px;padding:0 24px;display:flex;position:sticky;top:0;bottom:auto;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav-i{height:auto;font:700 17px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;border-bottom:3px solid #0000;flex-direction:row;flex:none;gap:7px;padding:14px 12px 12px}.nav-i .icon{width:17px;height:17px}.nav-i:hover{color:var(--ink)}.nav-i[aria-current=page]{color:var(--ink);border-color:var(--accent)}.nav-i[aria-current=page]:before{display:none}main{width:calc(100% - 48px);padding:0 0 64px}.linebox{width:calc(100% - 48px);margin:4px auto 14px}}@media (width>=1100px){.app{grid-template-columns:248px minmax(0,1fr);align-items:start;display:grid}.side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:22px;height:100vh;padding:26px 16px 18px;display:flex;position:sticky;top:0}.side .brand{padding:0 8px;display:flex}.side .brand .eyebrow{line-height:1.35}.side .brand-name{font-size:34px}.side-foot{font:500 11px/1.4 var(--mono);color:var(--muted);margin:auto 8px 0;display:block}.main{min-width:0;display:block}.top{display:none}.save-warn{margin:18px 32px 0}.side-foot{order:2}.nav{-webkit-backdrop-filter:none;background:0 0;border:0;flex-direction:column;order:1;gap:2px;margin:0;padding:0;display:flex;position:static;overflow:visible}.nav-i{font:700 18px/1 var(--display);border:0;border-radius:10px;flex-direction:row;justify-content:flex-start;gap:11px;padding:11px 12px}.nav-i:hover{background:var(--bg)}.nav-i[aria-current=page]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.nav-sec{margin-top:10px;display:flex}.gear{display:none}.linebox{width:calc(100% - 64px);margin:24px auto 18px}main{width:calc(100% - 64px);padding:0 0 64px}}.linebox{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px 4px}.lineinfo{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.lineinfo .where{font:700 21px/1.05 var(--display);text-transform:uppercase;letter-spacing:.02em}.lineinfo .meta{font:500 11.5px/1.4 var(--mono);color:var(--muted)}@media (width>=768px){.lineinfo .where{font-size:26px}.linebox{padding:14px 16px 6px}}.linemap{width:100%;height:auto;margin-top:4px;display:block}.lm-base{stroke:var(--line);stroke-linecap:round}.lm-done{stroke:var(--accent);stroke-linecap:round}.lm-stop{stroke-width:2.5px}.lm-stop.past{fill:var(--accent);stroke:var(--accent)}.lm-stop.cur{fill:var(--surface);stroke:var(--accent);stroke-width:3.5px}.lm-stop.fut{fill:var(--surface);stroke:var(--line)}.lm-ring{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.45}@media (prefers-reduced-motion:no-preference){.lm-ring{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite pulse}}@keyframes pulse{0%,to{opacity:.6;transform:scale(.85)}50%{opacity:.15;transform:scale(1.2)}}.lm-ph{font:500 11px var(--mono);fill:var(--muted);letter-spacing:.08em}.lm-tick{stroke:var(--muted);stroke-width:1px}.lm-n{font:500 12px var(--mono);fill:var(--muted)}.lm-n.cur{fill:var(--accent);font-weight:600}.lm-end{font:800 17px var(--display);fill:var(--ink);letter-spacing:.06em}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;padding:16px}.panel h2{font:700 22px/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em;text-wrap:balance;margin:0 0 10px}.panel h3,.st-b h3{font:600 12.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:16px 0 6px}.muted{color:var(--muted)}.ink{color:var(--ink)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.pri:hover{filter:brightness(1.07)}.btn.ghost{background:0 0}.btn.danger{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.btn[disabled]{opacity:.5;cursor:default;filter:none}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.end{justify-content:flex-end}.row.inline{vertical-align:middle;margin-left:6px;display:inline-flex}.chip{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--bg);color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:5px 7px;display:inline-block}.chip.acc{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.chip.ok-chip{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, var(--line));vertical-align:1px;margin-left:6px}textarea,input[type=text],input[type=email],input[type=search],input[type=password],input[type=date],input[type=number],select{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-height:42px;padding:10px 12px}textarea{resize:vertical;min-height:104px;line-height:1.5;display:block}input[type=range]{accent-color:var(--accent);min-height:32px}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}label.lbl{font:500 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;display:block}label.check{cursor:pointer}.spk,.mic{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);vertical-align:middle;border-radius:9px;flex:none;place-items:center;padding:0;display:inline-grid}.spk:hover,.mic:hover{color:var(--accent);border-color:var(--accent)}.mic.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.mic.on{animation:1.4s ease-in-out infinite rec}}@keyframes rec{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 25%, transparent)}}.note{border-left:3px solid var(--bay);background:color-mix(in srgb, var(--bay) 9%, transparent);border-radius:0 8px 8px 0;padding:9px 12px;font-size:14px}.note.err{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 14px);background:var(--ink);color:var(--bg);z-index:40;border-radius:10px;max-width:calc(100vw - 32px);padding:11px 16px;font-size:14px;display:none;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0000002e}.toast.on{display:block}@media (width>=768px){.toast{bottom:24px}}.kbd{font:500 11px var(--mono);color:var(--muted)}@media (hover:none){.kbd,.kbd-h{display:none}}.today-head{grid-template-columns:1fr;align-items:start;gap:14px;display:grid}@media (width>=900px){.today-head{grid-template-columns:1.3fr 1fr}}.meter .big{font:800 50px/.9 var(--display);margin-top:12px}.meter .big small{color:var(--muted);font-size:21px;font-weight:600}.bar{background:var(--bg);border:1px solid var(--line);border-radius:99px;height:10px;margin:10px 0 8px;overflow:hidden}.bar i{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.kpis{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}.kpis.k2{grid-template-columns:repeat(2,1fr)}@media (width>=560px){.kpis.k2{grid-template-columns:repeat(3,1fr)}}.kpi b{font:700 22px/1 var(--display);font-variant-numeric:tabular-nums;display:block}.kpi span{font:500 10.5px/1.25 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.blocks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.blk{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px;padding:12px;display:grid}.blk.is-done{border-color:color-mix(in srgb, var(--good) 50%, var(--line))}.blk.is-done .blk-t{text-decoration:line-through;-webkit-text-decoration-color:var(--good);text-decoration-color:var(--good)}.chk{border:2px solid var(--line);background:var(--bg);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;margin-top:1px;padding:0;display:grid}.chk:hover{border-color:var(--good)}.chk[aria-pressed=true]{background:var(--good);border-color:var(--good)}.chk[aria-pressed=true]:after{content:"";border-top:0;border-bottom:2.5px solid #fff;border-left:2.5px solid #fff;border-right:0;width:10px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.blk-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.blk-t{font-weight:600}.blk-how{color:var(--muted);margin:3px 0 6px;font-size:14px}.blk-links{flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.blk-links a{border-bottom:1px solid color-mix(in srgb, var(--bay) 40%, transparent);padding:2px 0;text-decoration:none}.blk-links .go{color:var(--accent);background:0 0;border:0;padding:2px 0;font-size:13px;font-weight:600}.blk-time{flex-wrap:wrap;grid-column:2;align-items:center;gap:8px;margin-top:6px;display:flex}.blk-time .mins{font:500 13px var(--mono);color:var(--muted);align-items:center;gap:6px;display:flex}.blk-time input{text-align:right;width:64px;min-height:36px;font-family:var(--mono);padding:6px 8px}.timer{font:500 12px var(--mono);border:1px solid var(--line);background:var(--bg);border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:112px;min-height:36px;padding:0 10px;display:inline-flex}.timer.run{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (width>=640px){.blk{grid-template-columns:auto minmax(0,1fr) auto}.blk-time{flex-direction:column;grid-area:1/3;align-items:flex-end;min-width:120px;margin-top:0}}.challenge{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.challenge+.challenge{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.challenge p{margin:4px 0 0}.phase-h{flex-wrap:wrap;align-items:baseline;gap:10px;margin:6px 0;display:flex}.phase-h b{font:800 30px/1 var(--display);text-transform:uppercase;color:var(--accent)}.phase-h span{font:700 22px/1 var(--display);text-transform:uppercase;letter-spacing:.03em}.phase-h em{font:500 12px var(--mono);color:var(--muted);margin-left:auto;font-style:normal}.stations{border-left:5px solid var(--line);gap:6px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.st{position:relative}.st:before{content:"";background:var(--surface);border:3px solid var(--line);border-radius:50%;width:13px;height:13px;position:absolute;top:18px;left:-24px}.st.past:before{background:var(--accent);border-color:var(--accent)}.st.cur:before{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent)}.st-h{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:54px;padding:11px 12px;display:grid}.st-h:hover{border-color:var(--ink)}.st.open .st-h{border-bottom-color:#0000;border-radius:11px 11px 0 0}.st-n{font:500 12px var(--mono);color:var(--muted)}.st-t{font-weight:600}.st-g{color:var(--muted);font-size:13px}.st-b{border:1px solid var(--line);background:var(--surface);border-top:0;border-radius:0 0 11px 11px;padding:2px 16px 16px}@media (width<=420px){.st-h{grid-template-columns:minmax(0,1fr) auto}.st-n{display:none}.st-b{padding:2px 12px 14px}}.phr{gap:2px;margin:0;padding:0;list-style:none;display:grid}.phr li{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:6px 0;display:grid}.phr li:last-child{border-bottom:0}.phr .en{font-weight:500}.phr .pt{color:var(--muted);font-size:14px}@media (width>=900px){.phr.words{grid-template-columns:1fr 1fr;column-gap:20px}.phr.words li:nth-last-child(2){border-bottom:0}}.ex{counter-reset:ex;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.ex li{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px}.ex details summary{cursor:pointer;color:var(--accent);margin-top:6px;padding:2px 0;font-size:13px;font-weight:600}.res-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px;display:grid}.res-list a{color:var(--ink);border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;text-decoration:none;display:block}.res-list a:hover{border-color:var(--bay)}.res-list a span{color:var(--muted);font-size:13px;display:block}.deck-stats{flex-wrap:wrap;gap:8px;display:flex}.flash{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:260px;padding:52px 16px 22px;display:flex;position:relative}.flash .front{font:700 30px/1.12 var(--display);letter-spacing:.01em;text-wrap:balance;overflow-wrap:anywhere;max-width:28ch}.flash .back{color:var(--muted);text-wrap:balance;max-width:40ch;font-size:18px}.flash .tagline{justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}@media (width>=768px){.flash{min-height:290px;padding:56px 24px 26px}.flash .front{font-size:36px}.flash .back{font-size:19px}}.quiz-row{align-items:center;gap:8px;width:100%;max-width:560px;display:flex}.quiz-row input{flex:1}.grades{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.grades button{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:58px;padding:12px 6px;font-weight:600;display:flex}.grades button small{font:500 11px var(--mono);color:var(--muted)}.grades .g0{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.grades .g3{border-color:color-mix(in srgb, var(--good) 55%, var(--line))}.grades button:hover{border-color:var(--ink)}@media (width<=360px){.grades{grid-template-columns:repeat(2,1fr)}}.mycards{gap:4px;max-height:360px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.mycards li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;display:grid}.x{color:var(--muted);background:0 0;border:0;padding:8px 4px;font-size:13px}.x:hover{color:var(--accent)}.quiz-res{font-size:15px}.quiz-res.ok{color:var(--good)}.quiz-res.mid{color:var(--warn)}.quiz-res.no{color:var(--accent)}.quiz-res b{color:var(--ink)}.scen{scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px 2px;display:flex;overflow-x:auto}.scen::-webkit-scrollbar{display:none}@media (width>=768px){.scen{flex-wrap:wrap;margin:0;padding:0;overflow:visible}}.scen button{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;min-height:38px;padding:8px 13px;font-size:14px}.scen button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chat{border:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;border-radius:14px;flex-direction:column;gap:10px;height:52dvh;min-height:280px;padding:14px;display:flex;overflow:auto}@media (width>=1100px){.chat{height:58vh}}.chat-empty{text-align:center;max-width:44ch;margin:auto}.msg{overflow-wrap:anywhere;border-radius:14px;max-width:86%;padding:10px 13px;line-height:1.45}@media (width>=768px){.msg{max-width:76%}}.msg.ai{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.msg-me-wrap{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.msg.me{background:var(--bay);color:#fff;border-bottom-right-radius:4px}:root[data-theme=dark] .msg.me{color:#0f1317}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .msg.me{color:#0f1317}}.msg .who{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.msg .who .spk{width:30px;height:30px}.fix{border:1px dashed var(--warn);max-width:86%;color:var(--ink);background:color-mix(in srgb, var(--warn) 8%, transparent);border-radius:10px;padding:8px 11px;font-size:13px}.fix b{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);margin-bottom:2px;font-size:11px;display:block}.fix .spk{width:26px;height:26px}.composer{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;display:grid}.composer textarea{height:52px;min-height:52px;max-height:160px}.composer .mic,.composer .btn{height:44px;min-height:44px}.composer .mic{width:44px}.typing{color:var(--muted);font:500 13px var(--mono);margin:0}@media (width<=479px){.hide-xs{display:none}.composer .btn{width:48px;padding:0}}.heat{gap:4px;display:grid}.heat-row{grid-template-columns:40px repeat(7,minmax(0,1fr));align-items:center;gap:4px;display:grid}@media (width>=768px){.heat{grid-template-columns:1fr 1fr;column-gap:28px}}.heat .wl{font:500 11px var(--mono);color:var(--muted)}.heat .wl.cur{color:var(--accent);font-weight:600}.cell{aspect-ratio:1;background:var(--h0);border:1px solid #0000;border-radius:5px;width:100%;max-height:30px;padding:0}.cell.l1{background:var(--h1)}.cell.l2{background:var(--h2)}.cell.l3{background:var(--h3)}.cell.l4{background:var(--h4)}.cell.fut{border:1px dashed var(--line);background:0 0}.cell.today{outline:2px solid var(--ink);outline-offset:1px}.cell.sel{box-shadow:0 0 0 3px var(--bay)}.legend{font:500 11px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.legend .cell{width:14px;height:14px;display:inline-block}.legend-hint{flex-basis:100%;margin-top:4px}@media (width>=768px){.legend-hint{flex-basis:auto;margin:0 0 0 10px}}.catbars{gap:8px;display:grid}.catbar{grid-template-columns:86px minmax(0,1fr) 56px;align-items:center;gap:10px;font-size:13px;display:grid}.catbar .track{background:var(--bg);border:1px solid var(--line);border-radius:99px;height:10px;overflow:hidden}.catbar .track i{background:var(--bay);height:100%;display:block}.catbar .v{text-align:right;font-family:var(--mono);color:var(--muted)}.daydetail dl{gap:4px;margin:0;font-size:14px;display:grid}.dl-row{border-bottom:1px dashed color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:3px 0;display:grid}.daydetail dt{color:var(--muted)}.daydetail dd{font-family:var(--mono);margin:0}.entries{gap:10px;display:grid}.entry{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px}.entry .d{font:700 18px/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 8px}.entry .lab{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}@media (width<=767px){textarea,input[type=text],input[type=email],input[type=search],input[type=password],input[type=date],input[type=number],select{font-size:16px}.panel{padding:14px}.panel h2{font-size:21px}}@media (pointer:coarse){.spk,.mic{width:38px;height:38px}}.boot,.auth{min-height:100dvh;padding:24px 16px;padding-top:max(24px, env(safe-area-inset-top));place-items:center;display:grid}.boot{text-align:center;align-content:center;gap:8px}.boot .brand-name{font-size:36px}.auth-card{gap:18px;width:100%;max-width:420px;display:grid}.auth-card .brand-name{font-size:40px}.auth-form{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:10px;padding:20px;display:grid}.auth-form h1{font:700 26px/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em;margin:0 0 2px}.auth-form p{margin:0}.auth-form label.lbl{margin:6px 0 0}.auth-form .btn.pri{min-height:46px;margin-top:6px}.auth input[type=email],.auth input[type=password],.auth input[type=text]{font-size:16px}.code-in{letter-spacing:.3em;text-align:center;font:600 24px/1 var(--mono)!important}.qr{background:#fff;border-radius:12px;justify-self:center;width:220px;max-width:100%;padding:10px}.qr svg{width:100%;height:auto;display:block}.secret{font:500 15px/1.5 var(--mono);word-break:break-all;background:var(--bg);-webkit-user-select:all;user-select:all;border-radius:8px;margin-top:6px;padding:8px 10px;display:block}.codes{columns:2;font:500 15px/1.9 var(--mono);column-gap:18px;margin:4px 0 8px;padding-left:22px}.codes code{-webkit-user-select:all;user-select:all}.sync-dot{font:500 12px/1.3 var(--mono);color:var(--muted);align-items:center;gap:7px;display:inline-flex}.sync-dot:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.sync-dot.ok:before{background:var(--good)}.sync-dot.syncing:before{background:var(--bay)}.sync-dot.offline:before{background:var(--warn)}.sync-dot.error:before{background:var(--accent)}.top-sync{gap:0;margin-left:auto;font-size:0}.top-sync:before{width:10px;height:10px}.sync-row{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px}.devices{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:grid}.devices li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;display:grid}.cycle-box{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}
