@font-face{font-family:LeagueMono;src:local('SFMono-Regular'),local('Consolas')}
:root{--ink:#20201c;--paper:#f7f2e7;--red:#c44a2d;--kicker:#a23b25;--yellow:#f1c94c;--line:#d6d0c2;color:var(--ink);background:var(--paper);font-family:system-ui,sans-serif;font-size:16px;line-height:1.55;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}[hidden]{display:none!important}:focus-visible{outline:3px solid #244ac5;outline-offset:5px}.skip{position:absolute;top:-100px;left:16px;background:var(--paper);padding:12px;z-index:5}.skip:focus{top:8px}.topbar{background:var(--ink);color:var(--paper);padding:14px max(20px,calc((100vw - 1140px)/2));display:flex;justify-content:space-between;gap:16px;align-items:center;font:11px/1.5 monospace;letter-spacing:.09em}.topbar a{font-weight:700;text-decoration:none}.topbar span{text-align:right}main{max-width:1180px;margin:auto;padding:0 20px}nav{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}.hero{display:grid;grid-template-columns:1fr auto;gap:28px;padding:40px 0 28px;align-items:center}.kicker{font:11px/1.6 monospace;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;color:var(--kicker);font-weight:700}h1{font-size:clamp(44px,7vw,84px);line-height:.97;letter-spacing:-.06em;margin:0 0 24px;max-width:850px}h1 em{font-style:normal;color:var(--red)}.lead{font-size:17px;max-width:620px;margin:0}.mascot{width:150px;height:auto;image-rendering:pixelated;transform:rotate(5deg);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--yellow)}.disclosure{font-size:12px;max-width:900px;color:#555349;margin:0 0 24px}.mode{border:2px solid var(--ink);padding:20px;background:#fffdf6;display:flex;justify-content:space-between;gap:20px;align-items:center}.mode strong{font:700 12px/1.6 monospace;text-transform:uppercase;letter-spacing:.03em}.mode p{margin:6px 0 0;font-size:13px;max-width:640px}.controls{display:flex;flex-wrap:wrap;gap:10px}.button{border:2px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 16px;min-height:48px;font-size:12px;font-weight:700;white-space:normal}.button.light{color:var(--ink);background:var(--paper)}.sound{display:flex;gap:10px;align-items:center;font-size:13px;min-height:48px}.sound input{width:20px;height:20px;accent-color:var(--red)}.sound-note{font-size:12px;color:#555349}.sound-row{display:flex;gap:20px;align-items:center;margin:14px 0 24px;flex-wrap:wrap}.content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:26px;align-items:start}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}h2{font-size:24px;line-height:1.2;letter-spacing:-.035em;margin:0}.section-head span{font:11px monospace;color:#555349}.drums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team{border:1px solid var(--ink);padding:18px;background:#fffcf4;min-width:0}.team:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.team-head{display:flex;justify-content:space-between;gap:6px;align-items:center}.team-head h3{margin:0;font-size:20px;letter-spacing:-.04em}.team-head span{font:10px monospace;color:#555349}.pad{width:100%;aspect-ratio:1.2;max-height:190px;display:flex;align-items:center;justify-content:center;margin:20px auto 16px;background:var(--team);color:white;border:3px solid var(--ink);border-radius:50%;box-shadow:0 7px 0 var(--ink),inset 0 0 0 7px #ffffff30;position:relative;user-select:none;-webkit-user-select:none}.pad .goggles{width:58%;max-width:112px;height:auto;fill:var(--yellow);filter:drop-shadow(3px 3px 0 #20201c)}.pad .tap{position:absolute;bottom:15px;font:700 10px monospace;letter-spacing:.15em}.count{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums;margin:0;letter-spacing:-.04em}.count small{font-size:11px;font-weight:400;letter-spacing:0;display:block;color:#555349}.team-last-body .pad{margin:10px auto}.board{border:2px solid var(--ink);background:#eee7d6;padding:22px;position:sticky;top:20px}.board h2{font-size:25px}.board-note{font-size:12px;line-height:1.6;min-height:58px;margin:14px 0}.board table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:14px}.board th{text-align:left;font:10px/1.5 monospace;letter-spacing:.08em;padding:12px 0;border-bottom:2px solid var(--ink)}.board td{padding:15px 0;border-bottom:1px solid #c9c1af}.board td:first-child{width:32px;font:12px monospace;color:#555349}.board td:last-child,.board th:last-child{text-align:right}.board td:last-child{font-weight:700}.week{font-size:11px;line-height:1.7;margin:20px 0}.board .controls{margin-top:18px}.status{border-left:4px solid var(--red);padding:12px 16px;background:#fffdf6;font-size:13px;min-height:76px;margin:24px 0 34px}.rules{border-top:2px solid var(--ink);margin:0 0 36px;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.rules h2{margin-bottom:16px}.rules p,.rules li{font-size:13px}.rules li{margin-bottom:10px}.rules ul{padding-left:18px}.reset-confirm{background:#fff8d6;padding:15px;font-size:13px;border:1px solid var(--ink);margin-top:16px}.reset-confirm p{margin:0 0 12px}details{border-top:1px solid var(--line);padding:20px 0}summary{font-size:14px;font-weight:700;cursor:pointer;min-height:44px;display:list-item}details p,details li{font-size:12px}details li{margin:12px 0}.source{display:block;font-size:11px;color:#555349;margin:4px 0}footer{max-width:1180px;margin:20px auto 0;padding:30px 20px;border-top:1px solid var(--ink);font-size:11px;color:#555349}footer p{margin:6px 0}.noscript{padding:20px;border:2px solid var(--red);margin:20px 0}.hit{animation:thump .18s ease-out}@keyframes thump{50%{transform:translateY(5px);box-shadow:0 2px 0 var(--ink)}}
@media(max-width:850px){.hero{grid-template-columns:1fr auto;gap:18px}.mascot{width:110px}.content{grid-template-columns:1fr}.board{position:static}.mode{align-items:flex-start;flex-direction:column}.rules{gap:22px}.board-note{min-height:0}}
@media(max-width:480px){main{padding:0 16px}.topbar{padding:12px 16px;font-size:9px}.topbar span{max-width:150px}nav{font-size:12px;gap:18px;padding:18px 0}.hero{padding:30px 0 20px;grid-template-columns:1fr;position:relative}.mascot{width:62px;position:absolute;right:3px;top:32px;transform:rotate(6deg)}.kicker{max-width:200px;font-size:10px;margin-bottom:22px}h1{font-size:52px;max-width:290px}.lead{font-size:15px}.disclosure{font-size:11px}.mode{padding:16px}.mode p{font-size:12px}.drums{gap:10px}.team{padding:12px}.team-head h3{font-size:18px}.team-head span{font-size:8px}.pad{margin:18px auto 14px;aspect-ratio:1;max-height:none}.pad .tap{bottom:13px;font-size:8px}.pad .goggles{width:70%}.count{font-size:24px}.count small{font-size:10px}.team:last-child{gap:14px}.board{padding:18px}.rules{grid-template-columns:1fr;gap:14px}.sound-row{gap:10px;justify-content:space-between}.sound-note{max-width:140px;font-size:11px}.section-head span{font-size:9px}.status{min-height:95px}.board td:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hit{animation:none}.mascot{transform:none}}
