@font-face{font-family:anton;src:url(../media/anton_latin_400_normal-s.p.0z9txtls0b40a.woff2)format("woff2");font-display:swap}@font-face{font-family:anton Fallback;src:local(Arial);ascent-override:127.93%;descent-override:35.79%;line-gap-override:0.0%;size-adjust:91.94%}.iRgZTq_className{font-family:anton,anton Fallback}.iRgZTq_variable{--font-anton:"anton", "anton Fallback"}
@font-face{font-family:inter;src:url(../media/inter_latin_400_normal-s.p.0xmzz69y5uali.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:inter;src:url(../media/inter_latin_600_normal-s.p.3ruivxdtawxx9.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:inter;src:url(../media/inter_latin_800_normal-s.p.3mihatb-boz5p.woff2)format("woff2");font-display:swap;font-weight:800}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.ywLiHW_className{font-family:inter,inter Fallback}.ywLiHW_variable{--font-inter:"inter", "inter Fallback"}
@font-face{font-family:mono;src:url(../media/jetbrains_mono_latin_500_normal-s.p.0xnqbr179dfjq.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:mono;src:url(../media/jetbrains_mono_latin_700_normal-s.p.1li_8_ohg06t0.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.U0xmTq_className{font-family:mono,mono Fallback}.U0xmTq_variable{--font-mono:"mono", "mono Fallback"}
:root{--bg:#0a0a0a;--surface:#141414;--surface-2:#1c1c1c;--line:#2a2a2a;--text:#ededed;--muted:#a3a3a3;--caution:#ffe500;--on-caution:#0a0a0a;--accent-text:#ffe500;--good:#7ee08a;--warn:#ff8a70;--stripe:repeating-linear-gradient(135deg, var(--caution) 0 14px, #0a0a0a 14px 28px);--radius:0px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f4f2;--surface:#fff;--surface-2:#ededeb;--line:#d6d6d3;--text:#111;--muted:#5c5c5c;--accent-text:#7a6500;--good:#1f7a33;--warn:#b33a1e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-inter), system-ui, sans-serif;min-height:100dvh;margin:0;font-size:16px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--caution);outline-offset:2px}.display{font-family:var(--font-anton), Impact, sans-serif;text-transform:uppercase;letter-spacing:.01em;font-weight:400;line-height:.95}.mono{font-family:var(--font-mono), ui-monospace, monospace}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);font-size:11px}.muted{color:var(--muted)}.small{font-size:13px}h1,h2,h3{margin:0}h1.display{font-size:clamp(36px,9vw,56px)}h2.display{font-size:28px}.shell{max-width:760px;padding:16px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.mark{font-family:var(--font-anton), sans-serif;letter-spacing:.08em;align-items:center;gap:8px;font-size:18px;text-decoration:none;display:flex}.mark i{background:var(--caution);width:32px;height:24px;color:var(--on-caution);letter-spacing:0;place-items:center;font-size:12px;font-style:normal;display:grid}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:10px 4px;font-size:11px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--text);box-shadow:inset 0 3px 0 var(--caution)}.tabbar svg{width:22px;height:22px}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.card{background:var(--surface);border:1px solid var(--line);padding:16px}.card.hl{border-color:var(--caution)}.stripe{background:var(--stripe);height:10px}.btn{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--caution)}.btn.primary{background:var(--caution);color:var(--on-caution);border-color:var(--caution);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.btn.ghost{background:0 0}.btn.sm{min-height:36px;padding:6px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{letter-spacing:.08em;text-transform:uppercase;background:var(--caution);color:var(--on-caution);padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.badge.outline{color:var(--muted);border:1px solid var(--line);background:0 0}label.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.input{background:var(--bg);border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);padding:10px 12px;font-size:16px}.input:focus{border-color:var(--caution);outline:none}.seg{border:1px solid var(--line);background:var(--surface);grid-auto-flow:column;display:inline-grid}.seg button,.seg a{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;min-height:40px;color:var(--muted);background:0 0;border:0;align-items:center;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.seg [aria-pressed=true],.seg [aria-current=true]{background:var(--caution);color:var(--on-caution)}.bar{background:var(--surface-2);height:10px;position:relative;overflow:hidden}.bar>i{background:var(--caution);position:absolute;inset:0 auto 0 0}.bar.over>i{background:var(--warn)}.macro{flex-direction:column;gap:6px;display:flex}.macro .num{font-family:var(--font-anton), sans-serif;font-size:26px;line-height:1}.fb{border-left:4px solid var(--caution);background:var(--surface);padding:12px 14px}.fb.good{border-color:var(--good)}.fb.warn{border-color:var(--warn)}.fb b{display:block}.list{border-top:1px solid var(--line);flex-direction:column;display:flex}.list>*{border-bottom:1px solid var(--line);padding:12px 0}.ex-order{font-family:var(--font-anton), sans-serif;color:var(--accent-text);min-width:40px;font-size:28px;line-height:1}.sets{grid-template-columns:36px 1fr 1fr 1fr 44px;align-items:center;gap:6px;display:grid}.sets .input{text-align:center;min-height:40px;padding:6px 8px}.week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week a,.week div{background:var(--surface);border:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;padding:8px 4px;text-decoration:none;display:flex}.week .train{border-color:var(--caution)}.week .today{background:var(--caution);color:var(--on-caution)}.week .today .muted{color:var(--on-caution)}.milestones{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.milestones>div{border:1px solid var(--line);padding:8px;font-size:12px}.milestones>div.hit{background:var(--caution);color:var(--on-caution);border-color:var(--caution)}.scanner{aspect-ratio:4/3;background:#000;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner .reticle{border:3px solid var(--caution);position:absolute;inset:25% 12%;box-shadow:0 0 0 9999px #00000073}dialog.sheet{background:var(--bg);width:min(560px,100vw);max-height:92dvh;color:var(--text);border:0;margin:auto auto 0;padding:0}dialog.sheet::backdrop{background:#0009}.sheet-in{flex-direction:column;gap:12px;padding:16px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:420px){.grid3,.milestones{grid-template-columns:1fr 1fr}}.skel{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;animation:1.2s ease-in-out infinite skel}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.scale-dot span{border:1px solid var(--line);background:var(--surface);cursor:pointer;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.scale-dot input:checked+span{background:var(--caution);color:var(--on-caution);border-color:var(--caution)}.scale-dot input:focus-visible+span{outline:3px solid var(--caution);outline-offset:2px}.bubble{background:var(--surface);border:1px solid var(--line);align-self:flex-start;max-width:85%;padding:10px 12px}.bubble.mine{background:var(--surface-2);border-color:var(--caution);align-self:flex-end}.dot{background:var(--caution);min-width:18px;height:18px;color:var(--on-caution);text-align:center;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;display:inline-block}.orb{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:35;cursor:pointer;background:0 0;border:0;border-radius:50%;width:58px;height:58px;padding:0;position:fixed}.orb-core{width:100%;height:100%;box-shadow:0 0 0 3px var(--bg), 0 0 24px 4px #ffe50073;background:radial-gradient(circle at 35% 30%,#fff9b0 0%,#ffe500 35%,#c9b400 70%,#2a2600 100%);border-radius:50%;animation:3.2s ease-in-out infinite orb;display:block}.orb-core.sm{flex:none;width:34px;height:34px}@keyframes orb{0%,to{box-shadow:0 0 0 3px var(--bg), 0 0 18px 2px #ffe50059;transform:scale(1)}50%{box-shadow:0 0 0 3px var(--bg), 0 0 30px 8px #ffe5008c;transform:scale(1.06)}}.typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;margin:0 2px;animation:1s infinite typing;display:inline-block}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.orb-core,.typing i{animation:none}}
