:root{--surface: #f4f7fb;--panel: #ffffff;--panel-inset: #eef2f9;--ink: #1f2a37;--dim: #64748b;--accent: #2563eb;--accent-ink: #ffffff;--accent-soft: #dbeafe;--ok: #16a34a;--away: #94a3b8;--danger: #b91c1c;--ping: #dc2626;--border: #dbe3ee;--radius: 10px;--radius-s: 6px;--radius-tile: 8px;--radius-pill: 999px;--radius-code: 4px;--glow: rgba(37, 99, 235, .35);--glow-spread: 3px;--halo-spread: 2px;--gap: 14px;--gap-s: 8px;--gap-xs: 6px;--gap-2xs: 4px;--board-gap: 6px;--chip-pad-y: 3px;--chip-pad-x: 12px;--badge-pad-y: 1px;--badge-pad-x: 8px;--dot: 8px;--code-pad-y: 2px;--code-pad-x: 6px;--btn-pad-x: 14px;--timer-inset: 6px;--idx-top: 2px;--idx-left: 4px}body[data-skin=arcade]{--surface: #0b0f1c;--panel: #131a2e;--panel-inset: #0d1424;--ink: #e6efff;--dim: #8fa3c8;--accent: #22d3ee;--accent-ink: #05121b;--accent-soft: rgba(34, 211, 238, .16);--ok: #4ade80;--away: #64748b;--danger: #fb7185;--ping: #f43f5e;--border: #263352;--glow: rgba(34, 211, 238, .55)}body{margin:0;background:var(--surface);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}h1{font-size:1.4rem;margin:0 0 var(--gap)}h2{font-size:1rem;margin-top:0}.sheet{max-width:640px;margin:0 auto;padding:var(--gap)}.dashboard{display:flex;flex-direction:column;gap:var(--gap)}@media (min-width: 860px){.dashboard{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"title timer" "board found" "board score";align-items:start}.area-title{grid-area:title}.area-timer{grid-area:timer;justify-self:end}.area-board{grid-area:board}.area-found{grid-area:found}.area-score{grid-area:score}}@media (min-width: 860px){.dashboard.intermission{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"title timer" "reveal board" "reveal score";align-items:start}.area-reveal{grid-area:reveal}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);margin-bottom:var(--gap-s)}.timer{--p: 1;--ring: var(--accent);position:relative;width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--p) * 360deg),var(--border) 0);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.timer:before{content:"";position:absolute;inset:var(--timer-inset);border-radius:50%;background:var(--panel)}.timer-digits,.timer-score{position:relative;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.timer-score{font-size:.65rem;font-weight:600;color:var(--dim)}.timer.low{--ring: var(--ping)}.timer.low .timer-digits{color:var(--ping)}.timer.low .timer-score{color:var(--ink)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:var(--gap-xs);padding:0;margin:var(--gap-s) 0 0}.chip{display:inline-flex;align-items:center;gap:var(--gap-xs);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);padding:var(--chip-pad-y) var(--chip-pad-x);font-size:.9rem;font-weight:600;white-space:nowrap}.chip small{font-weight:400;color:var(--dim)}.chip.find{text-transform:uppercase}.chip.find small{color:var(--accent);text-transform:none}.chip.none{color:var(--dim);font-weight:400;text-transform:none}.chip .place,.chip .no{color:var(--dim);font-weight:600;font-variant-numeric:tabular-nums}.chip .badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:var(--badge-pad-y) var(--badge-pad-x);border-radius:var(--radius-pill)}.chip .badge.host{background:var(--accent-soft);color:var(--accent)}.chip .badge.spec{border:1px solid var(--border);color:var(--dim)}.chip .dot{width:var(--dot);height:var(--dot);border-radius:50%;flex-shrink:0}.chip .dot.on{background:var(--ok)}.chip .dot.off{background:var(--away)}.chip .away{color:var(--dim);font-weight:400;font-size:.8rem}.chip.me{border-color:var(--accent);box-shadow:0 0 0 var(--halo-spread) var(--glow)}label{display:block;margin:var(--gap-s) 0;font-size:.9rem}select,input{display:block;width:100%;box-sizing:border-box;margin-top:var(--gap-2xs);padding:var(--gap-s);border:1px solid var(--border);border-radius:var(--radius-s);font:inherit;background:var(--panel-inset);color:var(--ink)}button{margin-top:var(--gap-s);padding:var(--gap-s) var(--btn-pad-x);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-s);font:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 var(--glow-spread) var(--glow)}button#leave-btn,button#home-btn{background:transparent;color:var(--ink);border-color:var(--border)}.dim{color:var(--dim);font-size:.85rem}.note{margin:0;color:var(--dim)}#error,#home-errors{color:var(--danger);font-size:.9rem;margin:0 0 var(--gap-s)}code{background:var(--panel-inset);border-radius:var(--radius-code);padding:var(--code-pad-y) var(--code-pad-x)}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--board-gap);max-width:320px;margin:var(--gap-s) auto;font-size:clamp(.8rem,calc(1.35rem / var(--tile-span, 1)),1.35rem);touch-action:none;user-select:none;-webkit-user-select:none}.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-tile);font-weight:700;text-transform:uppercase;position:relative;transition:background .1s,color .1s,border-color .1s}.tile.sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tile .idx{position:absolute;top:var(--idx-top);left:var(--idx-left);font-size:.6rem;color:var(--dim);font-weight:400}.trace{min-height:1.6rem;text-align:center;font-weight:600;text-transform:uppercase;margin-bottom:var(--gap-2xs)}.trace.hint{color:var(--dim);font-weight:400;text-transform:none}.reveal dl,dl#reveal{margin:0}dt{font-weight:600;margin-top:var(--gap-xs)}dd{margin:2px 0 0;overflow-wrap:anywhere}.rw{display:inline-flex;align-items:center;gap:var(--gap-xs);margin:2px var(--gap-s) 2px 0;font-weight:600}.rw-word{text-transform:uppercase;letter-spacing:.02em}.rw-pts{color:var(--accent);font-weight:400}.rw .fby{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:1px var(--gap-2xs);border-radius:var(--radius-pill)}.rw.missed{opacity:.55}
