*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0b2a45;color:#fff}main{--gut:10px;max-width:980px;margin:0 auto;padding:8px var(--gut) 16px}@media(min-width:700px){main{--gut:16px;padding-top:14px}}h1{margin:0 0 4px;font-size:1.3rem;letter-spacing:-.01em}@media(min-width:700px){h1{margin-bottom:8px;font-size:1.7rem}}.controls{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.25fr) auto;gap:6px;align-items:end;margin:0 calc(-1*var(--gut));padding:6px var(--gut) 8px;background:#0b2a45;border-bottom:2px solid #fff3}.controls label{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.15}.controls select{width:100%;min-width:0;padding:8px 4px;font-size:.85rem}.controls #go{padding:8px 10px;font-size:.95rem;white-space:nowrap}@media(min-width:700px){.controls{grid-template-columns:repeat(3,minmax(0,210px)) auto;gap:8px 12px;padding-top:8px}.controls label{font-size:.7rem;letter-spacing:.06em}.controls select{padding:9px 12px;font-size:.95rem}.controls #go{padding:9px 18px;font-size:1.1rem}}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:8px 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{--sub:16px;--mark:22px;--tag:144px;--flag:42px;--lanes:6;--river:260px;position:relative}@supports (height:100svh){.layout{--river:clamp(220px,calc(100svh - 222px - var(--lanes)*var(--sub)),620px)}}.layout.many{--sub:12px;--mark:16px}@media(min-width:700px){.layout{--sub:18px;--tag:150px;--flag:58px}.layout.many{--sub:14px;--mark:18px}}@media(min-width:700px){@supports (height:100svh){.layout{--river:clamp(300px,calc(100svh - 250px - var(--lanes)*var(--sub)),640px)}}}.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}.leaders{position:absolute;z-index:2;top:calc(var(--lanes)*var(--sub) + 12px);right:8px;width:138px;max-width:calc(100% - 16px);padding:2px 8px 4px;box-shadow:3px 3px #0007}@media(min-width:700px){.leaders{width:228px;padding:4px 12px 6px}}.leaders-head{display:flex;align-items:center;justify-content:space-between;gap:6px}aside h2,.stats h2{margin:6px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.leaders h2{margin:4px 0;font-size:.68rem}@media(min-width:700px){.leaders h2{font-size:.8rem}}.fold{min-height:26px;padding:2px 8px;font-size:.72rem;box-shadow:2px 2px #000}.leaders.folded #board{display:none}#board{padding-left:22px;margin:0 0 2px}#board li{position:relative;padding:1px 0;font-size:.74rem;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;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#board .ico{width:16px;height:16px}@media(min-width:700px){#board li{padding:2px 0;font-size:.88rem}#board .ico{width:22px;height:22px}}#board .pc{font-weight:700}#board li.mine{font-weight:800}.pond{min-width:0;overflow:hidden}.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:var(--mark);height:var(--mark);margin-top:calc(var(--mark)/-2 - 1px);z-index:1}.layout.many .sub{font-size:.55rem}@media(min-width:700px){.layout.many .sub{font-size:.62rem}}.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}
