:root{color-scheme:dark;--bg: #121418;--panel: #1b1f26;--ink: #f2f4f8;--muted: #9aa3b2;--accent: #ffcf3f}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.35 system-ui,sans-serif;overflow:hidden}button{font:inherit;color:inherit;background:var(--panel);border:1px solid #39414f;border-radius:6px;padding:4px 14px;cursor:pointer;min-height:44px;min-width:44px}[hidden]{display:none!important}#app{height:100%;display:grid;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);gap:6px;position:relative}#stage{grid-area:stage;position:relative;min-width:0;min-height:0}#court{position:absolute;inset:0;width:100%;height:100%;display:block}#scoreboard{grid-area:score;background:var(--panel);border-radius:8px;padding:8px 12px;display:flex;gap:10px;align-items:center;justify-content:space-between}#ticker-panel{grid-area:ticker}#legend-panel{grid-area:legend}.team{display:flex;align-items:center;gap:8px}.swatch{width:14px;height:14px;border-radius:50%;border:2px solid #fff;display:inline-block}.code{font-weight:700;letter-spacing:.04em}.score{font-size:1.6em;font-weight:800;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.status{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:center;align-items:center;color:var(--muted);font-variant-numeric:tabular-nums}.badge{background:#c0392b;color:#fff;border-radius:4px;padding:1px 6px;font-weight:700;font-size:.85em}.badge[data-kind=final]{background:#3a6fd8}.badge[data-kind=waiting],.badge[data-kind=stopped],.badge[data-kind=connecting]{background:#6b7385}.speed{color:var(--accent);font-weight:700}.clock{color:var(--ink);font-weight:600}#banner,#toast{position:absolute;left:50%;transform:translate(-50%);max-width:90%;background:#0a0c10eb;border:1px solid #39414f;border-radius:8px;padding:8px 14px;text-align:center;z-index:3}#banner{top:8px}#toast{bottom:12px;color:var(--accent)}#ticker-panel,#legend-panel{background:var(--panel);border-radius:8px;padding:8px 12px;min-height:0}#ticker{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}#ticker li{font-size:.92em;overflow-wrap:anywhere}#ticker li:first-child{color:var(--ink)}#ticker li:not(:first-child){color:var(--muted)}#ticker strong{color:var(--accent)}#legend{margin-top:6px;color:var(--muted);font-size:.85em}#legend p{margin:2px 0}.key{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-2px;border:2px solid #fff;background:#555}.key.dashed{border-style:dashed;border-color:#ccc}#provenance[data-sim=true]{color:var(--ink)}#ticker-toggle,#legend-toggle{display:none}#app[data-orientation=landscape][data-scoreboard=side]{grid-template-columns:70% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"stage score" "stage ticker" "stage legend"}#app[data-scoreboard=side] #scoreboard{flex-direction:column;align-items:stretch}#app[data-scoreboard=side] .team{justify-content:space-between}#app[data-orientation=landscape][data-scoreboard=top]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"score" "stage"}#app[data-orientation=portrait]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"score" "stage" "ticker"}#app[data-ticker=toggle] #ticker-panel{grid-area:stage;align-self:end;justify-self:end;position:relative;z-index:2;max-width:80%;background:transparent;padding:0;margin:0 6px 6px 0}#app[data-scoreboard=top] #legend-panel{grid-area:stage;align-self:end;justify-self:start;position:relative;z-index:2;background:transparent;padding:0;margin:0 0 6px 6px}#app[data-ticker=toggle] #ticker-toggle,#app[data-scoreboard=top] #legend-toggle{display:inline-block}#app[data-ticker=toggle] #ticker{display:none}#app[data-ticker=toggle][data-ticker-open=true] #ticker{display:grid;background:var(--panel);border:1px solid #39414f;border-radius:8px;padding:8px 12px}#app[data-scoreboard=top] #legend{display:none}#app[data-scoreboard=top][data-legend-open=true] #legend{display:block;position:absolute;left:0;bottom:52px;width:min(280px,80vw);background:var(--panel);border:1px solid #39414f;border-radius:8px;padding:8px 12px}#app[data-mini=true]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"score" "stage"}#app[data-mini=true] #ticker-panel,#app[data-mini=true] #legend-panel,#app[data-mini=true] .shot,#app[data-mini=true] .clock{display:none}#app[data-mini=true] #scoreboard{padding:2px 8px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
