*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0b2a45;color:#fff}main{max-width:980px;margin:0 auto;padding:16px}h1{margin:0 0 10px;font-size:1.7rem;letter-spacing:-.01em}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;align-items:end}.controls label{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.controls select{width:100%}.controls .vote,.controls #go{grid-column:1/-1}@media(min-width:700px){.controls{display:flex;flex-wrap:wrap;align-items:flex-end}.controls select{width:auto}}select,button{font:inherit;padding:9px 12px;border-radius:3px;border:2px solid #fff6;background:#12395c;color:#fff}select{font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:0}button{background:#ffd400;color:#111;border-color:#111;font-weight:800;font-size:1.1rem;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:3px 3px #000;transition:transform .08s,box-shadow .08s}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #000}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:2px}.status{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:center;min-height:78px;margin:12px 0;padding:8px 12px;background:#12395c;border:2px solid #fff6;border-radius:4px}@media(min-width:700px){.status{min-height:66px}}.clock{display:flex;align-items:baseline;gap:2px;padding:2px 10px;border:2px solid #fff;border-radius:3px;font-weight:900;font-variant-numeric:tabular-nums;background:#0b2a45}#timer{font-size:1.9rem;line-height:1.1;min-width:2ch;text-align:right}.clock .unit{font-size:.8rem;opacity:.85}.call{margin:0;font-size:1rem;font-weight:700}#result{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-weight:800}#result:empty{display:none}#result .ico{width:30px;height:30px}#result .who{font-size:1.25rem}#result .note{flex-basis:100%;font-size:.9rem;font-weight:600}@media(min-width:700px){#result .note{flex-basis:auto}}.status.done{background:#ffd400;color:#111;border-color:#111;box-shadow:4px 4px #000}.status.done{grid-template-columns:1fr}.status.done .call,.status.done .clock{display:none}@keyframes pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}to{transform:scale(1)}}.status.done{animation:pop .35s ease-out}@keyframes tick{50%{background:#c62828;border-color:#ff8a80}}.status.hot .clock{animation:tick .5s steps(1,end) infinite}.layout{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.paper,.pond{--ink:#111;--paper:#fbfaf4;background:var(--paper);color:var(--ink);border-radius:4px;border:2px solid var(--ink)}.paper button:focus-visible,.paper select:focus-visible{outline:3px solid var(--ink);outline-offset:2px}aside{flex:1 1 180px;max-width:100%;padding:6px 14px}@media(min-width:700px){aside{flex:0 0 250px}}aside h2,.stats h2{margin:6px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}#board{padding-left:20px;margin:0 0 8px}#board li{position:relative;padding:3px 0;font-size:.9rem;font-variant-numeric:tabular-nums;background:var(--paper)}#board .row{display:flex;align-items:center;gap:6px}.ico{flex:none;width:22px;height:22px}#board .nm{flex:1;min-width:0}#board .pc{font-weight:700}#board li.mine{font-weight:800}.pond{--sub:16px;--river:236px;--tag:144px;--flag:42px;flex:1 1 300px;min-width:0;overflow:hidden}@media(min-width:700px){.pond{--sub:18px;--river:300px;--tag:150px;--flag:58px}}.track{position:relative;padding-right:var(--flag);border-bottom:2px solid var(--ink)}.track:empty{min-height:calc(6*var(--sub) + 2px)}.sub{display:flex;height:var(--sub);font-size:.6rem;line-height:var(--sub);font-weight:800}.sub+.sub{box-shadow:0 -1px #1113}.sub.mine{background:#ffd40055}.sub .tag{flex:0 0 var(--tag);display:flex;justify-content:space-between;gap:4px;padding:0 6px;border-right:2px solid var(--ink);white-space:nowrap;overflow:hidden}.sub .who{overflow:hidden;text-overflow:ellipsis}.sub .pct{font-variant-numeric:tabular-nums}.sub .lane{position:relative;flex:1;min-width:0}.sub .fill{position:absolute;inset:0 auto 0 0;width:0;background:repeating-linear-gradient(135deg,#1116 0 1.5px,#1112 1.5px 5px);border-right:2px solid var(--ink)}.sub .mark{position:absolute;left:0;top:50%;width:22px;height:22px;margin-top:-12px;z-index:1}.track .flag{position:absolute;inset:0 0 0 auto;width:var(--flag);border-left:2px solid var(--ink);background:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/12px 12px;display:grid;place-items:center}.track .flag span{background:var(--paper);border:2px solid var(--ink);padding:0 2px;font-size:.55rem;line-height:1.35;font-weight:900;letter-spacing:.04em}@media(min-width:700px){.track .flag span{font-size:.68rem;padding:0 3px}}.river{display:block;width:100%;height:var(--river)}.stats{margin-top:12px;padding:6px 14px 12px}.stats table{width:100%;border-collapse:collapse;font-size:.85rem}.stats th,.stats td{padding:4px 3px;text-align:left;border-bottom:1.5px solid var(--ink)}.stats thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.stats tbody th{position:relative;padding-left:30px;font-weight:700;overflow-wrap:anywhere}.stats tbody th .ico{position:absolute;left:2px;top:50%;margin-top:-11px}.stats .races,.stats .wins,.stats td.rate{font-variant-numeric:tabular-nums}.stats td.rate{white-space:nowrap}.meter{display:inline-block;width:36px;height:9px;border:2px solid var(--ink);border-radius:2px;margin-left:6px;vertical-align:middle;overflow:hidden}.meter b{display:block;height:100%;width:0;background:var(--ink)}.stats-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 4px}.stats button{font-size:1rem;padding:6px 12px}.hint{margin:4px 0 0;font-size:.75rem}.piece{position:fixed;top:-12px;width:10px;height:14px;animation:fall linear forwards;pointer-events:none}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@media(prefers-reduced-motion:reduce){.piece{display:none}.status.done,.status.hot .clock{animation:none}button{transition:none}}.foot{margin-top:16px}.legal{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:.85rem}.legal a{color:#ffd400}.legal a:focus-visible{outline:3px solid #fff;outline-offset:2px}.copy{margin:8px 0 0;text-align:center;font-size:.8rem}.badge{margin-top:8px;text-align:center;font-size:.8rem;opacity:.7;letter-spacing:.04em}
