:root{--red:#ec1d24;--bg:#0f0f0f;--panel:#181818;--panel-2:#202020;--text:#f5f5f5;--muted:#9a9a9a;--line:#333;--gold:#f5b700}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}.shell{background:radial-gradient(circle at 20% 0%, #ec1d241f, transparent 28rem), var(--bg);min-height:100vh;padding:20px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.brand,.eyebrow,.panelHeader,.clockStrip span,.actions button,.copyButton,.liveStatus,.subtitle,.hitBadge{letter-spacing:.055em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.brand{background:var(--red);color:#fff;padding:8px 12px 6px;font-size:clamp(1.5rem,4vw,2.5rem);display:inline-block}.subtitle{color:var(--muted);margin-top:7px;font-size:.85rem}.liveStatus{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.statusDot{background:var(--gold);border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px #f5b70073}.statusDot.ok{background:#3bd66f;box-shadow:0 0 12px #3bd66f73}.clockStrip{border:1px solid var(--line);border-left:8px solid var(--red);background:#141414;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:16px;padding:12px 16px;display:grid}.clockStrip strong{letter-spacing:.06em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2rem,6vw,4rem)}.clockStrip small{color:var(--muted);text-align:right;justify-self:end}.grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr) minmax(240px,.65fr);gap:16px;display:grid}.heroPanel,.rosterPanel,.historyPanel{background:var(--panel);border:1px solid var(--line)}.heroPanel{padding:clamp(18px,4vw,36px)}.eyebrow{color:var(--red);font-size:1rem}.playerName{text-transform:uppercase;overflow-wrap:anywhere;margin:6px 0 12px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(3.4rem,10vw,7.5rem);line-height:.95}.hitBadge{background:var(--red);padding:8px 14px 6px;font-size:clamp(1.5rem,4vw,2.4rem);display:inline-block}.comingUp{grid-template-columns:1fr 1fr;gap:10px;margin:28px 0 20px;display:grid}.comingUp>div{background:var(--panel-2);border-left:4px solid var(--red);padding:14px;display:grid}.comingUp span,.comingUp small{color:var(--muted);font-size:.76rem}.comingUp strong{margin:4px 0;font-size:1.35rem}.actions{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.actions button,.copyButton{color:#fff;cursor:pointer;background:0 0;border:1px solid #555;min-height:50px}.actions .done{background:var(--red);border-color:var(--red);font-size:1.35rem}.actions button:disabled{opacity:.5;cursor:wait}.messageBox{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.messageLabel{color:var(--muted);font-size:.75rem;font-weight:700}.messageBox p{line-height:1.5}.copyButton{min-height:40px;padding:0 14px}.panelHeader{background:var(--red);color:#fff;justify-content:space-between;align-items:center;padding:14px;display:flex}.roster,.history{max-height:620px;overflow:auto}.rosterRow{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.position{color:var(--muted);font-weight:700}.memberInfo{gap:3px;display:grid}.memberInfo small{color:var(--muted);font-size:.72rem}.ready{color:var(--muted);font-size:.72rem;font-weight:800}.ready.yes{color:#3bd66f}.historyItem{border-bottom:1px solid var(--line);gap:4px;padding:12px 14px;display:grid}.historyItem strong{color:var(--red);font-size:.8rem}.historyItem span,.empty{color:var(--muted);font-size:.82rem}.empty{padding:18px}footer{color:var(--muted);text-align:center;margin-top:20px;font-size:.75rem}@media (max-width:1000px){.grid{grid-template-columns:1fr 1fr}.heroPanel{grid-column:1/-1}}@media (max-width:650px){.shell{padding:10px}.topbar{align-items:flex-start}.liveStatus{margin-top:9px}.clockStrip{grid-template-columns:1fr auto}.clockStrip small{display:none}.grid{grid-template-columns:1fr}.heroPanel{grid-column:auto}.comingUp{grid-template-columns:1fr}.actions{grid-template-columns:1.5fr 1fr 1fr}.actions button{min-height:52px}}
