:root{color-scheme:dark;--bg:#10161d;--panel:#1b232e;--row:#222c38;--text:#f4f6f9;--muted:#a9b5c5;--line:#354354;--blue:#389ded;--green:#63cf99;--warning:#ffb344;--red:#ff686d}
:root[data-theme=light]{color-scheme:light;--bg:#eff3f7;--panel:#fff;--row:#edf2f7;--text:#172334;--muted:#546478;--line:#cfdae5;--green:#087e4d;--warning:#a96100;--red:#c63540}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;min-height:40px;border-radius:10px;border:1px solid var(--line);background:var(--row);padding:8px 12px}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}.subtle{color:var(--muted);font-size:12px}.error{color:var(--red);font-size:14px}.quiet{background:transparent;border-color:transparent}.wordmark{font-size:15px;letter-spacing:3px;font-weight:800;color:var(--text);text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.3;white-space:nowrap}.wordmark span{font-size:20px;letter-spacing:0;font-weight:600;color:var(--green)}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--green);font-weight:700}.access{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 0 0,#117c6229,transparent 65%)}.access-card{width:min(100%,440px);padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--panel)}.access-card .wordmark{margin-bottom:34px;display:flex}.access h1{font-size:42px;letter-spacing:-1.4px;line-height:1.1;margin:16px 0}.access h1 em{font-style:normal;color:var(--green)}.access p{line-height:1.55;color:var(--muted)}.access label{display:block;font-size:13px;font-weight:600;margin:22px 0 8px}.access input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;min-height:58px;font-size:30px;letter-spacing:8px;text-align:center}.primary{width:100%;margin-top:12px;background:var(--green);color:#102b1e;font-weight:700;min-height:48px;border:0;display:flex;justify-content:center;align-items:center;gap:10px}:root[data-theme=light] .primary{color:#fff}.access-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border-top:1px solid var(--line);margin-top:26px;padding-top:14px;font-size:11px;color:var(--muted)}a{color:var(--green)}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-bottom:1px solid var(--line)}.fixture-description{flex:1;color:var(--muted);font-size:12px;text-align:center;line-height:1.5}.top-actions{display:flex;align-items:center;gap:8px}.readonly{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:5px 9px;color:var(--muted)}.connection{padding:6px 18px;color:var(--green);font-size:11px;background:color-mix(in srgb,var(--green) 7%,transparent);min-height:25px}.connection.stale{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent)}.scorebug{display:grid;grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);min-height:150px}.team-score{display:flex;align-items:center;gap:14px;min-width:0}.team-score.away{flex-direction:row-reverse;text-align:right}.team-logo{height:48px;width:48px;object-fit:contain;border-radius:8px}.team-title{font-size:17px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.score{font-size:42px;font-weight:800;line-height:1}.ht{font-size:11px;color:var(--muted);margin-top:5px}.clock{text-align:center;grid-column:2;grid-row:1}.clock strong{font-size:42px;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}.phase{font-size:11px;color:var(--muted);margin-top:5px}.clock-status{font-size:10px;font-weight:700;color:var(--warning);margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}.metric{min-width:0;text-align:center;border:1px solid var(--blue);border-radius:7px;background:color-mix(in srgb,var(--blue) 10%,transparent);padding:5px 4px;font-size:8px;font-weight:700;white-space:nowrap}.metric b{display:block;font-size:16px;margin-top:2px}.warning{color:var(--warning)}.columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);gap:12px;padding:12px;height:calc(100dvh - 242px);min-height:400px}.column{min-width:0;min-height:0}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;min-width:0}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border-bottom:1px solid var(--line)}h2{font-size:14px;margin:0;font-weight:700}.scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;min-height:0;min-width:0}.commentary-panel{display:flex;flex-direction:column;flex:1;min-height:0}#commentary-column{display:flex;flex-direction:column;gap:12px}.activity-panel{flex-shrink:0}.lineup-panel{display:flex;flex-direction:column}.monitor-column{display:flex;flex-direction:column;gap:12px}.monitor-column>.panel{flex-shrink:0}.event{display:grid;grid-template-columns:49px 45px minmax(0,1fr);gap:8px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px}.event:last-child{border-bottom:0}.event-time{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:6px}.team-badge{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--team-color,var(--blue));background:color-mix(in srgb,var(--team-color,var(--blue)) 17%,transparent);min-width:38px;height:30px;border-radius:8px;font-size:12px;font-weight:800;color:var(--text)}.jersey{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:31px;border-radius:8px;background:var(--row);border:1px solid var(--line);font-size:17px;font-weight:700;flex-shrink:0}.row-title{font-size:13px;font-weight:700;line-height:1.4;margin-bottom:5px}.details{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}.player-name{font-size:12px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.note{color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.team-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.team-tab{min-height:42px;font-size:12px;border:1.5px solid var(--team-color);background:color-mix(in srgb,var(--team-color) 8%,var(--panel));overflow-wrap:anywhere}.team-tab[aria-selected=true]{background:color-mix(in srgb,var(--team-color) 22%,var(--panel));box-shadow:inset 0 0 0 1px var(--team-color);font-weight:700}.lineup-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);min-height:61px}.position{font-size:12px;color:var(--muted);width:23px;flex-shrink:0}.lineup-name{font-weight:600;font-size:13px;line-height:1.35;flex:1;min-width:0;overflow-wrap:anywhere}.player-status{max-width:105px;text-align:right;font-size:10px;color:var(--muted);line-height:1.35}.group-label{color:var(--muted);font-size:10px;letter-spacing:.7px;font-weight:700;padding:12px}.empty{font-size:12px;color:var(--muted);padding:14px}.monitor-row{display:grid;grid-template-columns:45px 42px minmax(0,1fr) minmax(65px,auto);gap:7px;padding:12px 10px;border-bottom:1px solid var(--line);align-items:start}.monitor-row .player-name{margin-top:5px}.timer{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;text-align:right;white-space:nowrap}.timer-sub{font-size:9px;text-align:right;color:var(--muted);margin-top:4px}.type-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;padding:5px 7px;font-size:10px;line-height:1.1;font-weight:800;min-height:26px;max-width:110px;text-align:center}.type-YC,.type-YCR,.type-YC-FR,.type-YC-FR-RETURN{color:#182031;background:#f4ce19;border-color:#e4bb16}.type-RC,.type-20RC,.type-BLOOD,.type-RC-FR,.type-RC-FR-RETURN{background:#9b233344;color:var(--text);border-color:#df4f60}.type-HIA,.type-HIA-B{background:#217bb333;border-color:#389ded;color:var(--text)}.shot{padding:12px;display:grid;place-items:center}.shot-card{border:2px solid var(--blue);border-radius:18px;background:color-mix(in srgb,var(--blue) 14%,transparent);min-width:170px;padding:14px 20px;display:grid;justify-items:center;gap:7px}.shot-heading{font-size:12px;font-weight:700}.shot-time{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums}.shot-card .team-badge{height:24px;font-size:11px;border-radius:18px}.activity-bars{height:67px;display:flex;align-items:end;gap:4px;padding:8px 14px 0}.activity-bar{flex:1;min-height:3px;background:var(--blue);border-radius:3px 3px 0 0;opacity:.65}.activity-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:9px 14px 12px}.mobile-tabs,#team-stats-mobile{display:none}
@media(min-width:1500px){.event,.lineup-row,.monitor-row{font-size:15px}.row-title,.lineup-name{font-size:15px}.player-name{font-size:14px}.timer{font-size:29px}.scorebug{padding-inline:36px}.columns{padding:16px;gap:16px}}
@media(max-width:1000px) and (min-width:761px){.scorebug{grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr);padding:12px;gap:10px}.clock strong{font-size:35px}.team-title{font-size:14px}.team-logo{width:32px;height:32px}.score{font-size:35px}.team-score{gap:7px}.metric{font-size:7px}.columns{gap:8px;padding:8px}.event{grid-template-columns:42px 35px minmax(0,1fr);gap:5px;padding:10px 8px}.event-time{font-size:10px}.team-badge{min-width:33px;font-size:10px}.monitor-row{grid-template-columns:38px 34px minmax(0,1fr) 63px;gap:4px;padding:10px 7px}.monitor-row .jersey{min-width:25px;height:29px;font-size:15px}.timer{font-size:21px}.type-badge{font-size:8px;padding:4px 5px}.lineup-row{gap:5px;padding:8px}.player-status{max-width:65px;font-size:9px}}
@media(max-width:760px){body{font-size:14px}.topbar{padding:10px 12px;gap:8px}.wordmark{font-size:11px}.wordmark span{font-size:15px}.fixture-description{display:none}.top-actions{gap:3px}.readonly{font-size:9px}.quiet{min-height:36px;padding:6px 9px}.connection{padding:5px 12px;font-size:10px;min-height:24px}.scorebug{grid-template-columns:minmax(0,1fr) 114px minmax(0,1fr);min-height:100px;padding:12px;gap:7px}.clock strong{font-size:33px}.phase{font-size:9px}.clock-status{font-size:9px}.team-score,.team-score.away{display:block}.team-title{font-size:12px}.team-logo{display:none}.score{font-size:28px;margin-top:4px}.ht{font-size:9px;margin-top:3px}.scorebug .metrics{display:none}.columns{display:block;height:calc(100dvh - 244px);min-height:230px;padding:10px 10px calc(12px + env(safe-area-inset-bottom));}.column{height:100%}.column[data-section]:not(.selected){display:none!important}#commentary-column.selected{display:flex}.mobile-tabs{position:relative;display:flex;justify-content:space-around;gap:6px;padding:8px 10px;background:var(--bg);border-bottom:1px solid var(--line)}.mobile-tabs button{flex:1;background:var(--panel);min-width:0;font-size:12px;min-height:38px;padding:6px;border:1px solid var(--line)}.mobile-tabs button[aria-selected=true]{border-color:var(--blue);color:var(--blue);font-weight:700}.unread{font-size:10px;background:var(--warning);color:#172334;border-radius:10px;padding:2px 5px;min-width:15px;display:inline-block}.monitor-row{grid-template-columns:43px 40px minmax(0,1fr) 73px;gap:6px;padding:12px 9px}.monitor-column{overflow-y:auto}.timer{font-size:25px}.type-badge{font-size:9px}.activity-panel{margin-top:0}.activity-bars{height:50px}.lineup-row{min-height:57px}.shots-panel:has(#shots:empty){display:none}#team-stats-mobile{display:block;padding:0 12px 10px}.team-tabs{padding-bottom:3px}.team-tab{min-height:42px}.metric{font-size:8px}.metric b{font-size:16px}.access-card{padding:25px}.access{padding:16px}.access h1{font-size:36px}.event{font-size:12px}.panel>header{padding:10px 12px}}
@media(max-width:380px){.monitor-row{grid-template-columns:38px 34px minmax(0,1fr) 61px;gap:4px;padding-inline:7px}.timer{font-size:21px}.team-badge{min-width:32px;font-size:10px}.monitor-row .jersey{min-width:25px;font-size:15px}.scorebug{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)}.clock strong{font-size:30px}.access h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
