:root{--night: #0e0e10;--night2: #18181c;--night3: #232329;--edge: #2e2e36;--paper: #f3efe4;--paper-rule: #cfc8b4;--paper-muted: #6f6955;--paper-slot: #8e8775;--ink: #151515;--text: #f4f4f6;--dim: #8e8e98;--lime: #c6f432;--accent: #c6f432;--lime-band: #e4f7a0;--lime-deep: #7c9a1d;--wrong: #c2321f;--right: #0b6b3a;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--spring: cubic-bezier(.34, 1.3, .64, 1);--column: 460px;color-scheme:dark}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--night: #e3e3e8;--night2: #f1f1f4;--night3: #d5d5dc;--edge: #bebec7;--text: #141416;--dim: #5a5a64;--accent: #3d6b00;color-scheme:light}}:root[data-theme=light]{--night: #e3e3e8;--night2: #f1f1f4;--night3: #d5d5dc;--edge: #bebec7;--text: #141416;--dim: #5a5a64;--accent: #3d6b00;color-scheme:light}@media (prefers-contrast: more){:root{--dim: #b4b4be;--edge: #4a4a55;--paper-muted: #5e5848;--paper-rule: #9e967f;--paper-slot: #6f6955;--wrong: #9e2615}:root[data-theme=light]{--dim: #45454d;--edge: #8e8e98;--accent: #2e5200}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%}body{background:var(--night);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.shell{display:flex;flex-direction:column;height:100dvh}.screen{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.column{max-width:var(--column);margin:0 auto;padding:0 18px 28px}.tabbar{display:flex;justify-content:center;border-top:1px solid var(--edge);background:var(--night);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{display:flex;width:100%;max-width:var(--column)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;min-height:52px;font-size:10.5px;font-weight:600;color:var(--dim)}.tab svg{width:22px;height:22px}.tab[aria-current=page]{color:var(--accent)}.section-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0}.leader{flex:1;min-width:12px;height:2px;margin:0 10px;align-self:center;background-image:radial-gradient(circle,var(--leader, var(--edge)) 1px,transparent 1.3px);background-size:6px 2px;background-repeat:repeat-x;background-position:left center;transform:translateY(2px)}.mode-chip{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--ink);background:var(--lime);border-radius:5px;padding:3px 7px;text-transform:uppercase;vertical-align:middle}.btn-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;border-radius:18px;background:var(--lime);color:var(--ink);font-size:17px;font-weight:800}.btn-secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:18px;border:1.5px solid var(--edge);color:var(--text);font-size:15px;font-weight:700}.btn-primary:active,.btn-secondary:active{opacity:.75}.paper{position:relative;background:var(--paper);color:var(--ink);border-radius:10px 10px 0 0;box-shadow:inset 0 1px #ffffff80;margin-bottom:8px}.paper:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(135deg,var(--paper) 50%,transparent 50%) 0 0 / 16px 8px repeat-x,linear-gradient(225deg,var(--paper) 50%,transparent 50%) 0 0 / 16px 8px repeat-x}.ledger-row{display:flex;align-items:baseline;width:100%;padding:13px 2px;text-align:left;border-bottom:1px solid var(--edge)}.ledger-row:last-child{border-bottom:0}.ledger-row .idx{font-family:var(--mono);font-size:13px;color:var(--dim);min-width:30px}.ledger-row .title{font-size:22px;font-weight:700}.ledger-row .value{font-family:var(--mono);font-size:15px;font-weight:600}.ledger-row.locked .title{color:var(--dim)}.stars{letter-spacing:2px;color:var(--accent)}.stars.empty{color:var(--dim)}.wordmark{display:flex;align-items:baseline;gap:10px;padding-top:18px}.wordmark h1{margin:0;font-size:20px;font-weight:800}.wordmark .date{margin-left:auto;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--dim)}.slip{padding:16px 16px 30px}.slip-caps{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--paper-muted)}.slip-make{font-family:var(--mono);font-size:22px;font-weight:500;color:var(--paper-muted);text-align:right;padding:14px 6px 0 0}.slip-target{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:clamp(64px,24vw,96px);letter-spacing:-.05em;line-height:1;text-align:right;padding-right:6px;white-space:nowrap}.slip-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;color:var(--paper-muted)}.slip-foot .mono{font-weight:600}.ink-button{flex-shrink:0;min-height:44px;padding:10px 18px;border-radius:12px;background:var(--ink);color:var(--lime);font-size:15px;font-weight:800}.weekly-make{display:flex;align-items:baseline;gap:8px}.weekly-make .make{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--paper-muted)}.weekly-make .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;letter-spacing:-.045em;line-height:1.05}.link-row{display:flex;align-items:baseline;width:100%;padding:12px 2px;text-align:left}.link-row .title{font-size:17px;font-weight:700}.link-row .value{font-family:var(--mono);font-size:12px;color:var(--dim)}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:26px 2px 4px}.topbar{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;min-height:44px;padding-top:6px}.topbar .back{width:44px;height:44px;display:flex;align-items:center}.topbar .back svg{width:22px;height:22px}.topbar .label{text-align:center;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--dim);white-space:pre-line;line-height:1.35}.topbar .time{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;color:var(--dim)}.topbar .time.urgent{color:var(--wrong);font-weight:700}.page-title{display:flex;align-items:baseline;gap:10px;padding-top:16px}.page-title h1{margin:0;font-size:34px;font-weight:800;letter-spacing:-.035em}.game{display:flex;flex-direction:column;max-width:var(--column);margin:0 auto;min-height:100%;padding:0 18px 10px;user-select:none;-webkit-user-select:none}.game .board-wrap{margin-top:14px;position:relative;z-index:1}.tape{padding:14px var(--tape-pad) 22px}.tape-header{display:flex;justify-content:space-between;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--paper-muted);padding-bottom:6px}.tape-row{position:relative;display:flex;align-items:stretch}.tape-row.lit:before,.tape-row.preview:before{content:"";position:absolute;inset:0 calc(-1 * var(--tape-pad));background:var(--lime-band);z-index:0}.tape-row.preview:before{background:#15151512}.tape-row>*{position:relative;z-index:1}.tape-row .rule{position:absolute;left:0;right:0;bottom:0;height:2px;margin:0;transform:scaleY(.5) translateY(1px);--leader: var(--paper-rule);z-index:1}.tape-row .rule.joined{--leader: rgba(124, 154, 29, .5)}.cell{position:relative;display:flex;align-items:center;touch-action:none}.cell.num{flex:1;justify-content:flex-end;padding-right:6px;min-width:0}.cell.op{justify-content:center;width:52px;flex-shrink:0}.cell.hover:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:2px solid var(--ink);border-radius:8px;pointer-events:none}.numeral{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;white-space:nowrap;line-height:1}.dragging-source{opacity:.25}.print{animation:print .28s var(--spring)}@keyframes print{0%{transform:scale(1.25);opacity:0}}.empty-dash{width:46px;height:3px;border-radius:2px;background:var(--paper-slot)}.empty-dash.cursor{background:var(--ink);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.empty-op{border-radius:50%;border:1.5px dashed var(--paper-slot)}.empty-op.cursor{border:1.5px solid var(--ink)}.margin-note{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;overflow:hidden;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--paper-muted);white-space:nowrap}.band-tag{position:absolute;left:0;z-index:3;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--lime);background:var(--ink);border-radius:4px;padding:2px 6px;white-space:nowrap;pointer-events:none}.band-tag.handle{pointer-events:auto;touch-action:none;cursor:grab}.band-tag.handle:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.bracket-stroke{position:absolute;left:calc(-1 * var(--tape-pad) + 4px);width:9px;border-left:3px solid var(--ink);z-index:2;pointer-events:none}.bracket-stroke.top{top:6px;bottom:0;border-top:3px solid var(--ink);border-top-left-radius:3px}.bracket-stroke.bottom{top:0;bottom:6px;border-bottom:3px solid var(--ink);border-bottom-left-radius:3px}.bracket-stroke.ghost{opacity:.35}.total-line{position:relative;display:flex;align-items:center;margin-top:6px;padding-top:6px}.double-rule{position:absolute;top:0;left:0;right:0;height:4px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.total-value{flex:1;text-align:right;padding-right:6px;font-weight:700;letter-spacing:-.04em;min-width:0;overflow:hidden}.total-value.roll{animation:roll .28s var(--spring)}@keyframes roll{0%{transform:translateY(30%);opacity:.2}}.total-note{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-align:right;flex-shrink:0;white-space:nowrap;overflow:hidden}.c-slot{color:var(--paper-slot)}.c-muted{color:var(--paper-muted)}.c-wrong{color:var(--wrong)}.c-right{color:var(--right)}.c-ink{color:var(--ink)}.stamp{position:absolute;z-index:5;font-family:var(--mono);font-weight:900;color:var(--ink);background:var(--lime);border:3px solid var(--ink);border-radius:6px;mix-blend-mode:multiply;pointer-events:none;white-space:nowrap;animation:slam .32s var(--spring)}@keyframes slam{0%{transform:rotate(var(--rot)) scale(1.6);opacity:0}}.jolt{animation:jolt .31s linear}@keyframes jolt{20%{transform:translate(-7px)}42%{transform:translate(6px)}62%{transform:translate(-3px)}}.pulse{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:3px solid var(--lime-deep);border-radius:10px;pointer-events:none;animation:pulse .9s ease-out forwards}@keyframes pulse{0%{transform:scale(.7);opacity:1}to{transform:scale(1);opacity:0}}.eq{padding:14px 14px 22px}.eq-row{position:relative}.eq-cells{position:absolute;display:flex;top:0}.eq-num{justify-content:center;border-radius:12px;border:2px dashed var(--paper-slot)}.eq-num.filled{border:1px solid var(--paper-rule);background:#fff9}.eq-num.cursor{border:2px solid var(--ink);animation:blink-soft 1s steps(1) infinite}@keyframes blink-soft{50%{border-color:#15151540}}.eq-num.hover:after,.eq-op.hover:after{top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:12px}.eq-op{justify-content:center}.eq-band{position:absolute;background:var(--lime-band);border-radius:16px}.eq-label{position:absolute;transform:translate(-50%);display:flex;gap:5px;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap;padding:3px 7px;border-radius:6px;background:var(--ink);color:var(--lime);z-index:3}.eq-label .v{color:var(--paper)}.eq-label.handle{touch-action:none;cursor:grab}.eq-label.handle:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.eq-chip{position:absolute;transform:translate(-50%);font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.06em;white-space:nowrap;padding:3px 6px;border-radius:6px;background:var(--lime-band);color:var(--ink)}.work{position:relative;margin-top:8px;padding-top:8px}.work>.leader{position:absolute;top:0;left:0;right:0;margin:0;transform:scaleY(.5);--leader: var(--paper-rule)}.work-empty{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;font-family:var(--mono);font-size:12px;color:var(--paper-muted)}.step{display:flex;align-items:baseline;justify-content:space-between;gap:8px;height:24px}.step .t{font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.07em;color:var(--paper-muted);white-space:nowrap}.step .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;white-space:nowrap;overflow:hidden}.step .worked{background:var(--lime-band);padding:0 3px}.coach{min-height:20px;margin-top:12px;text-align:center;font-size:13px;color:var(--dim);line-height:1.35}.coach strong{color:var(--accent)}.tray{margin-top:auto;padding-top:8px}.tray-row{display:flex;flex-wrap:wrap;justify-content:center}.tile{position:relative;touch-action:none;flex-shrink:0}.tile .face,.lifted .face{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.num-face{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600;color:var(--text);background:var(--night3);border:1px solid var(--edge)}.op-face{color:var(--accent);border:2px solid var(--accent);border-radius:50%;font-weight:500}.tile .ghost{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22}.tile.used{cursor:default}.lifted{position:fixed;left:0;top:0;z-index:100;pointer-events:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}.lifted .op-face{background:var(--night)}.lifted.springing{transition:transform .25s var(--spring)}.actions{display:flex;margin-top:14px;padding-top:4px;border-top:1px solid var(--edge)}.action{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;font-size:15px;font-weight:600;color:var(--text)}.action:disabled{color:var(--dim)}.action svg{width:18px;height:18px}.action .badge{color:var(--dim)}.win-panel,.rush-panel{display:flex;flex-direction:column;gap:12px;margin-top:16px;animation:rise .3s var(--spring)}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.win-stars{text-align:center;font-size:30px;letter-spacing:10px;color:var(--accent)}.strip{display:flex;border:1px solid var(--edge);border-radius:18px}.strip>div{flex:1;text-align:center;padding:10px 4px}.strip>div+div{border-left:1px solid var(--edge)}.strip .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.strip .l,.kpi .l{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--dim)}.row2{display:flex;gap:10px}.rush-panel{align-items:center;text-align:center;gap:6px}.rush-panel .count{font-family:var(--mono);font-size:72px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--accent)}.toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%);background:var(--text);color:var(--night);font-size:14px;font-weight:700;padding:10px 16px;border-radius:12px;z-index:200;animation:rise .25s var(--spring)}.field{flex:1;min-width:0;font:inherit;font-size:17px;color:var(--text);background:transparent;border:0;outline:none;padding:4px 0}.field::placeholder{color:var(--dim)}.field.code{font-family:var(--mono);font-weight:700;letter-spacing:.2em;text-transform:uppercase}.card:focus-within{box-shadow:0 0 0 2px var(--accent)}.ink-button.small{min-height:40px;padding:8px 16px}.c-error{color:#ff6b5a}:root[data-theme=light] .c-error{color:var(--wrong)}.race-code{font-family:var(--mono);font-weight:700;font-size:clamp(44px,14vw,64px);letter-spacing:.12em;text-align:center;padding:18px 0 6px;-webkit-user-select:all;user-select:all}.countdown{text-align:center;padding:40px 0 20px}.countdown .count{font-family:var(--mono);font-weight:700;font-size:120px;line-height:1;color:var(--accent)}.dot{width:9px;height:9px;border-radius:50%;background:var(--edge);margin-right:12px;align-self:center;flex-shrink:0}.dot.on{background:var(--accent)}.you{font-size:12px;font-weight:700;color:var(--dim);margin-left:6px}.standings{display:flex;gap:6px;margin-top:8px;overflow:hidden}.stand{display:flex;align-items:baseline;gap:5px;min-width:0;flex:1;padding:6px 8px;border:1px solid var(--edge);border-radius:10px;font-size:13px}.stand.me{border-color:var(--accent)}.stand .p{font-family:var(--mono);color:var(--dim)}.stand .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.stand .s{font-family:var(--mono);font-weight:700;color:var(--accent)}.kpi-grid{border:1px solid var(--edge);border-radius:20px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.kpi{padding:16px;border-color:var(--edge);border-style:solid;border-width:0}.kpi:nth-child(odd){border-right-width:1px}.kpi:nth-child(n+3){border-top-width:1px}.kpi .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:36px;font-weight:700;letter-spacing:-.045em;white-space:nowrap}.kpi .v.accent{color:var(--accent)}.heat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.heat-nav{display:flex;align-items:center;gap:4px}.heat-nav button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--dim);border-radius:10px}.heat-nav button:disabled{opacity:.3}.heat-nav svg{width:16px;height:16px}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:3px}.heat>div{aspect-ratio:1;border-radius:6px;position:relative}.heat .day{background:var(--night3)}.heat .solved{background:var(--accent)}.heat .hinted{background:var(--lime-deep)}.heat .later{background:var(--night3);box-shadow:inset 0 0 0 2.5px var(--accent)}.heat .later.hinted{box-shadow:inset 0 0 0 2.5px var(--lime-deep)}.heat .today:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:2px solid var(--text);border-radius:7px}.bars{display:flex;align-items:flex-end;gap:8px;height:140px;margin-top:10px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar .fill{width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.bar .v{font-family:var(--mono);font-size:11px;color:var(--dim);margin-bottom:4px}.bar .x{font-size:11px;color:var(--dim);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.best-row{display:flex;align-items:baseline;padding:10px 2px;font-size:15px;font-weight:700}.best-row .value{font-family:var(--mono)}.best-row.empty{color:var(--dim)}.note{font-size:13px;color:var(--dim)}.howto{display:flex;flex-direction:column;min-height:100%;max-width:var(--column);margin:0 auto}.howto-card{flex:1;padding:24px 18px 0}.howto-card h2{margin:0 0 12px;font-size:32px;font-weight:800;letter-spacing:-.025em}.howto-card p{margin:0;font-size:16px;line-height:1.4;color:var(--dim)}.watch{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:600;color:var(--accent)}.demo{margin-top:18px;pointer-events:none}.dots{display:flex;justify-content:center;gap:8px;padding:14px 0}.dots button{height:8px;width:8px;border-radius:4px;background:var(--edge);transition:width .28s var(--spring)}.dots button[aria-current=step]{width:20px;background:var(--accent)}.howto-foot{padding:0 18px 16px}.skip{display:flex;justify-content:flex-end;padding:6px 18px 0}.skip button{min-height:44px;font-weight:600;color:var(--dim)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--night);overflow-y:auto}.group{margin-top:26px}.group h2{margin:0 0 8px 4px}.card{background:var(--night2);border-radius:14px;overflow:hidden}.card>*+*{border-top:1px solid var(--edge)}.opt{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 16px;text-align:left;font-size:16px}.opt .check{margin-left:auto;color:var(--accent);font-weight:800}.opt .val{margin-left:auto;color:var(--dim)}.switch{margin-left:auto;flex-shrink:0;width:51px;height:31px;border-radius:16px;background:var(--edge);position:relative;transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000040;transition:transform .2s var(--spring)}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}select.inline{margin-left:auto;font:inherit;color:var(--dim);background:transparent;border:0;text-align:right}.foot{margin:8px 4px 0;font-size:13px;line-height:1.4;color:var(--dim)}.layouts{display:flex;gap:12px;padding:12px}.layout-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border:2px solid var(--edge);border-radius:14px;font-size:13px;font-weight:700}.layout-card[aria-checked=true]{border-color:var(--accent)}.layout-card .mini{width:100%;min-height:72px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:0 12px;background:var(--paper);color:var(--ink);border-radius:6px;font-family:var(--mono);font-size:11px;line-height:1.3}.layout-card .mini.eqn{align-items:center;font-size:14px;font-weight:600}.danger{color:#ff453a}:root[data-theme=light] .danger{color:var(--wrong)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:18px}.dialog{width:100%;max-width:420px;background:var(--night2);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;animation:rise .25s var(--spring)}.dialog h2{margin:0;font-size:18px}.dialog p{margin:0 0 6px;font-size:14px;color:var(--dim);line-height:1.4}.btn-danger{min-height:52px;border-radius:14px;background:var(--wrong);color:#fff;font-weight:800}.tabbar-brand,.tabbar-foot,.wide-only{display:none}.page{max-width:var(--column);margin:0 auto;padding:0 18px 28px}.daily-slip{margin-top:16px}.archive-link{margin-top:8px}.weekly-slip{margin-top:14px;padding:14px 16px 26px}.weekly-foot{margin-top:6px}.race-card{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:22px;padding:14px 16px 16px;text-align:left;border:1.5px solid var(--edge);border-radius:14px}.race-card-caps{display:flex;justify-content:space-between;align-items:baseline}.race-card-caps .live{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent)}.race-card-title{font-size:22px;font-weight:700}.race-card-body{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--dim)}.stats-kpis{margin-top:14px}.stats-grid>.stats-col:first-child{margin-top:22px}.game-body,.game-main,.game-side{display:contents}kbd{display:inline-block;min-width:20px;padding:1px 5px;font-family:var(--mono);font-size:11px;font-weight:600;line-height:16px;text-align:center;color:var(--dim);border:1px solid var(--edge);border-bottom-width:2px;border-radius:5px}.action kbd{margin-left:2px;font-family:var(--sans);font-size:12px}.key-hint{margin:14px 0 0;text-align:center;font-size:12px;color:var(--dim)}@media (hover: hover){.ledger-row:not(.locked):hover .title,.race-card:hover .race-card-title,.link-row:hover .title{color:var(--accent)}.race-card:hover{border-color:var(--accent)}.tile:not(.used):hover .num-face{border-color:var(--accent)}.tile:not(.used):hover .op-face{background:#c6f4321f}.action:not(:disabled):hover{color:var(--accent)}}@media (min-width: 900px){.shell{flex-direction:row}.tabbar{order:-1;flex-direction:column;justify-content:flex-start;width:236px;flex-shrink:0;padding:28px 16px 24px;border-top:0;border-right:1px solid var(--edge);background:var(--night)}.tabbar-brand{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 12px 28px}.tabbar-brand .name{font-size:24px;font-weight:800;letter-spacing:-.02em}.tabbar-inner{flex-direction:column;gap:2px}.tab{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:10px 12px;border-radius:10px;font-size:15px}.tab svg{width:20px;height:20px}.tab[aria-current=page]{background:var(--night2)}.tab:hover{color:var(--text)}.tab[aria-current=page]:hover{color:var(--accent)}.tabbar-foot{display:block;margin-top:auto;padding:0 12px;font-size:12px;line-height:1.4;color:var(--dim)}.page,.column.wide{max-width:1120px;padding:0 48px 56px}.column.mid{max-width:600px}.page .page-title{padding-top:40px}.page .page-title h1{font-size:40px}.wide-only{display:flex}.home .wordmark{display:none}.home-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;margin-top:24px}.home-daily,.home-side{display:flex;flex-direction:column}.daily-slip{flex:1;display:flex;flex-direction:column;margin-top:0;padding:22px 26px 34px}.daily-slip .slip-caps{font-size:12px}.daily-slip .slip-make{margin-top:auto;font-size:28px}.daily-slip .slip-target{font-size:clamp(96px,11vw,168px)}.daily-slip .slip-foot{font-size:14px;margin-top:18px}.daily-slip .ink-button{min-height:52px;padding:12px 28px;font-size:17px}.archive-link{margin-top:12px}.weekly-slip{flex:1;display:flex;flex-direction:column;margin-top:0;padding:20px 22px 30px}.weekly-foot{margin-top:auto;padding-top:18px}.weekly-slip .weekly-make{flex-direction:column;gap:0;margin-bottom:6px}.weekly-slip .weekly-make .make{font-size:20px}.weekly-slip .weekly-make .num{font-size:clamp(64px,7vw,112px);line-height:1}.race-card{flex:1;justify-content:flex-end;margin-top:28px;padding:20px 22px;border-radius:16px}.race-card-caps{margin-bottom:auto}.race-card-title{font-size:30px;padding-top:16px}.home-lists{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:20px}.archive-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:40px}.stats-kpis{margin-top:24px}.stats-kpis .kpi-grid{grid-template-columns:repeat(4,1fr)}.stats-kpis .kpi{padding:22px 24px;border-width:0}.stats-kpis .kpi+.kpi{border-left-width:1px}.stats-kpis .kpi .v{font-size:48px}.stats-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:36px}.stats-grid>.stats-col:first-child{margin-top:0}.stats-grid .section-head.first{padding-top:0}.stats-grid .bars{height:200px}.stats-bests{display:grid;grid-template-columns:1fr 1fr;gap:32px}.settings-cols{columns:2;column-gap:40px;margin-top:26px}.settings-cols .group{margin:0 0 28px;break-inside:avoid}.howto{max-width:620px}.overlay .howto{padding-top:32px}}.game.wide{max-width:1180px;padding:0 32px 24px}.game.wide .game-body{flex:1;display:flex;align-items:center;justify-content:center;gap:56px;padding:12px 0 24px}.game.wide .game-main,.game.wide .game-side{display:flex;flex-direction:column}.game.wide .board-wrap{margin-top:0}.game.wide .tape-header{font-size:12px}.game.wide .coach{min-height:44px;margin:0 0 18px;font-size:15px;text-align:left}.game.wide .tray{margin-top:0}.game.wide .tray-row{justify-content:flex-start}.game.wide .actions{margin-top:24px}.game.wide .win-panel,.game.wide .rush-panel{margin-top:0}.game.wide .standings{flex-direction:column;margin:0 0 20px}.game.wide .topbar{padding-top:14px}.game.wide .topbar .label{font-size:13px}@media (prefers-reduced-motion: reduce){.print,.total-value.roll,.jolt,.win-panel,.rush-panel,.dialog,.toast,.stamp{animation:fade .2s ease-out}.empty-dash.cursor,.eq-num.cursor{animation:none}.pulse{animation:fade-out .9s ease-out forwards}.lifted.springing,.dots button,.switch:after{transition:none}}@keyframes fade{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}
