/* Scoreboard: shared visual system. Existing classes remain behavior hooks. */
:root { --sb-bg:#eff3f7; --sb-surface:#fff; --sb-raised:#e2ebf3; --sb-text:#132636; --sb-muted:#516477; --sb-line:#bdcfdd; --sb-orange:#ff980c; --sb-blue:#006b9d; --sb-viewport:100dvh; }
:root.dark { --sb-bg:#040e16; --sb-surface:#091924; --sb-raised:#102737; --sb-text:#f3f7fb; --sb-muted:#aec1d1; --sb-line:#244153; --sb-blue:#70caff; }
.scoreboard-app { -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums; }
.scoreboard-app body { background:#07131e; color:var(--sb-text); }
.scoreboard-app #app-container { background:var(--sb-bg)!important; color:var(--sb-text); max-width:480px; border-color:var(--sb-line); }
.scoreboard-app #app-container > header { height:44px; min-height:44px; padding:0 14px; background:var(--sb-bg)!important; border-color:var(--sb-line); justify-content:flex-start; }
.scoreboard-app .app-header-spacer { display:none; }
.scoreboard-app .app-brand { min-height:44px; }
.scoreboard-app #app-container .app-brand span { font-family:Oswald,sans-serif; color:var(--sb-text)!important; }
.scoreboard-app .app-brand-icon { width:26px;height:26px; }
.scoreboard-app h1,.scoreboard-app h2,.scoreboard-app h3 { font-family:Oswald,sans-serif; text-wrap:balance; }
.scoreboard-app h1 { font-size:26px;line-height:1.25; }
.scoreboard-app h2 { font-size:19px;line-height:1.3; }
.scoreboard-app p { text-wrap:pretty; }
.scoreboard-app button { touch-action:manipulation; }
.scoreboard-app button:focus-visible,.scoreboard-app a:focus-visible,.scoreboard-app input:focus-visible,.scoreboard-app select:focus-visible,.scoreboard-app [tabindex]:focus-visible { outline:3px solid var(--sb-blue);outline-offset:2px; }
.scoreboard-app button:disabled { opacity:.48;cursor:not-allowed; }
.scoreboard-app input:not([type=checkbox]),.scoreboard-app select { font-size:16px; min-height:44px; }
.scoreboard-app .hidden { display:none!important; }
.sb-primary,.sb-secondary,.sb-text-button { min-height:44px; padding:8px 13px; border-radius:9px; font-weight:750; font-size:13px; line-height:1.25; transition:background-color .15s,transform .15s; }
.sb-primary { background:linear-gradient(#ffa614,#ff8500);color:#211000;box-shadow:inset 0 1px #ffd59066,0 3px 10px #0002; }
.sb-secondary { background:var(--sb-raised);color:var(--sb-blue); box-shadow:inset 0 0 0 1px var(--sb-line); }
.sb-text-button { background:transparent;color:var(--sb-blue);padding:8px; }
.sb-primary:active,.sb-secondary:active { transform:scale(.96); }
.sb-danger { color:#dd635d; }
.sb-muted,.sb-disclosure { color:var(--sb-muted);font-size:12px; }
.sb-disclosure { text-align:center;line-height:1.45;margin:10px 0; }
.sb-section-heading { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px; }
.sb-section-heading h2 { font-family:Inter,sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--sb-muted);font-weight:800; }
.sb-section-heading>span { font-size:12px;color:var(--sb-muted); }
.scoreboard-app #view-home { padding:0 14px 8px;gap:0;background:var(--sb-bg); }
.scoreboard-app #view-home::before,.scoreboard-app #view-home::after { display:none; }
.sb-home-hero { height:150px;min-height:150px;margin:0 -14px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:17px 16px; }
.sb-home-hero img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%; }
.sb-home-hero::after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,#040e16 0%,#040e1666 52%,#040e1611); }
.sb-home-hero>div { position:relative;z-index:1;color:#fff;text-shadow:0 1px 5px #000; }
.sb-home-hero h1 { font-size:29px; }
.sb-home-hero p { font-size:12px;line-height:1.5;margin-top:5px; }
.sb-home-empty .sb-home-hero { height:240px;min-height:240px; }
.sb-home-actions,.sb-two-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0; }
.sb-ticket-rail { display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 1px 6px;position:relative; }
.sb-ticket { display:grid;grid-template-columns:minmax(0,1fr) 64px;flex:0 0 93%;min-width:0;scroll-snap-align:start;background:var(--sb-surface);border:1px solid #a76a1c;border-radius:10px;position:relative;box-shadow:inset 0 0 12px #ffa00009,0 4px 14px #0002; }
.sb-ticket::before,.sb-ticket::after { content:'';position:absolute;right:57px;width:13px;height:7px;background:var(--sb-bg);border:1px solid #a76a1c; }
.sb-ticket::before { top:-1px;border-top:0;border-radius:0 0 8px 8px; }
.sb-ticket::after { bottom:-1px;border-bottom:0;border-radius:8px 8px 0 0; }
.sb-ticket-main { padding:10px;min-width:0; }
.sb-ticket-main>.sb-primary { width:100%;margin-top:8px; }
.sb-ticket-stub { border-left:1px dashed #ab8658;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px; }
.sb-ticket-stub small { font-size:9px;letter-spacing:.1em;color:var(--sb-muted); }
.sb-ticket-stub strong { font:600 18px Oswald,sans-serif;color:var(--sb-orange);overflow-wrap:anywhere;text-align:center; }
.sb-ticket-matchup { display:flex;align-items:center;gap:6px;margin:8px 0;min-height:38px; }
.sb-ticket-matchup img { height:29px;width:32px;object-fit:contain; }
.sb-ticket-matchup strong { font:600 20px Oswald,sans-serif;overflow-wrap:anywhere; }
.sb-ticket-terms { color:var(--sb-muted);font-size:11px; }
.sb-ticket-time { display:block;color:var(--sb-muted);font-size:10px;line-height:1.4;margin:3px 0; }
.sb-ticket-time:empty { display:none; }
.sb-status { display:inline-flex;align-items:center;gap:5px;color:var(--sb-muted);font-size:10px;font-weight:700; }
.sb-status i { width:7px;height:7px;background:#8093a4;border-radius:50%; }
.sb-status.is-active i { background:#39d180;box-shadow:0 0 6px #39d18066; }
.sb-rail-controls { display:flex;align-items:center;justify-content:space-between;min-height:44px;color:var(--sb-muted);font-size:11px; }
.sb-rail-controls button { min-height:44px;min-width:44px;font-size:25px;color:var(--sb-blue); }
.sb-empty { padding:24px 12px;text-align:center;color:var(--sb-muted);width:100%;font-size:14px; }
.sb-empty strong,.sb-empty h2 { color:var(--sb-text);display:block;margin-bottom:8px; }
.sb-history-ticket { border:1px solid var(--sb-line);border-radius:9px;background:var(--sb-surface);padding:10px 12px;position:relative;overflow:visible;margin-bottom:10px; }
.sb-history-ticket::before,.sb-history-ticket::after { content:'';position:absolute;top:42%;width:6px;height:12px;border:1px solid var(--sb-line);background:var(--sb-bg); }
.sb-history-ticket::before { left:-1px;border-left:0;border-radius:0 8px 8px 0; }
.sb-history-ticket::after { right:-1px;border-right:0;border-radius:8px 0 0 8px; }
.sb-history-top,.sb-history-details { display:flex;justify-content:space-between;align-items:center;gap:10px; }
.sb-history-top strong { font:500 18px Oswald,sans-serif;overflow-wrap:anywhere; }
.sb-history-details { margin-top:7px;font-size:11px;color:var(--sb-muted); }
.sb-history-details b { color:#248752;text-align:right; }
.dark .sb-history-details b { color:#87e6a8; }
.sb-history-actions { display:flex;flex-wrap:wrap;border-top:1px dashed var(--sb-line);margin-top:8px; }
.sb-history-actions .sb-danger { margin-left:auto; }
.scoreboard-app #view-setup { background:var(--sb-bg);padding:12px 14px 0;overflow:auto;gap:16px; }
.sb-setup-heading { flex:none; }
.sb-step-labels { display:grid;grid-template-columns:1fr 1fr;margin-top:8px;gap:8px;color:var(--sb-muted);font-size:12px; }
.sb-step-labels>* { min-height:44px;display:flex;align-items:center;text-align:left;border-bottom:2px solid var(--sb-line); }
.sb-step-labels [aria-current=step] { color:var(--sb-orange);border-color:var(--sb-orange); }
.sb-setup-step { display:flex;flex-direction:column;gap:16px; }
.scoreboard-app #view-setup>.flex-1 { flex:1 0 auto; }
.scoreboard-app .sport-tabs-scroll { background:transparent;padding:0;gap:6px;scroll-snap-type:x proximity; }
.scoreboard-app .sport-tab { min-height:44px;padding:7px 12px;font-size:11px;border-radius:7px;background:var(--sb-raised);color:var(--sb-text);border:1px solid var(--sb-line);scroll-snap-align:start; }
.scoreboard-app .sport-tab[aria-pressed=true] { background:var(--sb-orange);color:#241200;border-color:var(--sb-orange); }
.sb-discovery-hint { font-size:10px;text-align:right;color:var(--sb-muted);padding-top:7px; }
.scoreboard-app #game-carousel { gap:12px;padding:2px 1px 6px;touch-action:pan-x pan-y; }
.scoreboard-app #game-carousel>.game-card { flex:0 0 92%; }
.scoreboard-app .game-card { border-radius:9px;min-width:0; }
.scoreboard-app .setup-create-actions { position:sticky;bottom:0;display:flex;gap:10px;background:var(--sb-bg);padding:10px 0;flex:none;z-index:5; }
.scoreboard-app .setup-create-actions>* { flex:1;min-height:44px;margin:0;font-size:14px;padding:10px; }
.scoreboard-app #btn-create { background:linear-gradient(#ffa614,#ff8500);color:#211000;border-radius:9px;box-shadow:none; }
.sb-setup-summary { border:1px solid var(--sb-line);padding:12px;border-radius:9px;background:var(--sb-surface);font:500 18px Oswald,sans-serif; }
.scoreboard-app .setup-terms-fieldset { background:var(--sb-surface);border:1px solid var(--sb-line);padding:14px;border-radius:10px; }
.scoreboard-app .setup-terms-fieldset>div:first-of-type { flex-wrap:wrap;gap:10px;margin-bottom:10px; }
.scoreboard-app .setup-terms-fieldset>label { padding-top:10px;min-height:54px; }
.scoreboard-app .setup-terms-fieldset>div:last-child { margin-top:10px;padding-top:10px; }
.sb-wager { gap:5px; }
.sb-wager button { min-width:44px;min-height:44px;background:var(--sb-raised);color:var(--sb-text);border-radius:8px;font-size:24px; }
.scoreboard-app #input-wager { width:64px;text-align:center;font-size:26px;padding:0;appearance:textfield; }
.scoreboard-app #input-wager::-webkit-inner-spin-button { appearance:none; }
#setup-bonus-amount { display:block;color:var(--sb-muted);font-size:11px;max-width:145px; }
.scoreboard-app #view-game { background:var(--sb-bg)!important;padding:0; }
.scoreboard-app #view-game .strip-card-physical { border:0;border-radius:0;box-shadow:none;background:var(--sb-bg)!important;overflow:hidden; }
.scoreboard-app #view-game .strip-card-top { padding:0;border:0;background:transparent!important;max-height:none; }
.scoreboard-app #view-game .strip-card-header-content { padding:0; }
.sb-scoreboard { height:74px;display:grid;grid-template-columns:1fr 62px 1fr;background:linear-gradient(105deg,var(--away-color,#8f1333) 0%,var(--away-color,#8f1333) 49%,var(--home-color,#0753ae) 50%,var(--home-color,#0753ae) 100%);color:white; }
.sb-score-team { display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(0deg,#0008,transparent);min-width:0;padding:4px; }
.sb-score-team img { width:42px;height:42px;object-fit:contain; }
.sb-score-team>div { display:flex;flex-direction:column;align-items:center;min-width:0; }
.sb-score-team span { font:500 16px Oswald,sans-serif;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.scoreboard-app .sb-score-team input { width:64px;height:44px;min-height:44px;color:white!important;background:transparent!important;padding:0;text-align:center;font:600 32px Oswald,sans-serif;line-height:1;box-shadow:none;border:0; }
.scoreboard-app .sb-score-team input::placeholder { color:#eee;opacity:1; }
.scoreboard-app .sb-score-team input[data-manual-score-input] { border:1px solid #ffffff70;border-radius:6px;background:#0003!important; }
.sb-score-status { align-self:center;background:#030c16eb;border:1px solid #ffffff25;border-radius:5px;text-align:center;z-index:1;padding:6px 2px;color:white; }
.sb-score-status b { display:block;font:500 13px Oswald,sans-serif;overflow-wrap:anywhere; }
.sb-score-status small { display:block;font-size:9px;color:#d1dce5; }
.sb-manual-title { padding:4px 10px;font-size:11px;text-align:center;color:var(--sb-muted); }
.sb-terms-strip { display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;min-height:28px;padding:5px 7px;gap:5px;border-bottom:1px solid var(--sb-line);font-size:10px;color:var(--sb-muted); }
.sb-terms-strip b { color:var(--sb-text); }
.sb-winner { min-height:36px;display:flex;align-items:center;flex:none;margin:6px 10px 0;border-radius:7px;color:#fffaf1;background:linear-gradient(105deg,#ad5800 0%,#874000 30%,#985000 78%,#c06b00 100%);box-shadow:inset 0 0 0 1px #e59b22,inset 0 1px #ffce67,0 3px 9px #0003;overflow:hidden; }
.sb-trophy { display:flex;align-items:center;justify-content:center;align-self:stretch;width:48px;min-height:36px;flex:none;background:linear-gradient(100deg,#8a4200,#6a340066);border-right:1px solid #ffd36b33; }
.sb-trophy svg { width:28px;height:28px;filter:drop-shadow(0 1px 3px #5a2900); }
.sb-final-digit { padding:0 9px;font-size:10px;font-weight:800;flex:none;border-right:1px solid #ffe0a366; }
.sb-winner strong { font:600 17px/1.2 Oswald,sans-serif;padding:4px 9px;overflow-wrap:anywhere; }
.sb-game-tabs { display:grid;grid-template-columns:repeat(3,1fr);height:44px;flex:none;border-bottom:1px solid var(--sb-line);padding:0 10px; }
.sb-game-tabs button { min-height:44px;font:500 16px Oswald,sans-serif;color:var(--sb-muted);position:relative; }
.sb-game-tabs button[aria-selected=true] { color:var(--sb-orange); }
.sb-game-tabs button[aria-selected=true]::after { content:'';position:absolute;bottom:0;left:8px;right:8px;height:3px;background:var(--sb-orange);border-radius:3px; }
.sb-game-pane { flex:1;min-height:0;overflow:auto;padding:0 12px 10px;overscroll-behavior:contain;scrollbar-width:thin; }
.scoreboard-app #view-game .strip-card-body { flex:none;background:transparent!important;overflow:visible;align-items:stretch; }
.scoreboard-app #view-game .strip-card-foil { flex:0 0 76px;width:76px;background:transparent!important;border:0;overflow:hidden; }
.scoreboard-app #view-game .strip-card-lines { flex:1;min-width:0;background:transparent!important;overflow:visible; }
.scoreboard-app #view-game .strip-foil-track,.scoreboard-app #view-game .strip-lines-list { display:grid;grid-template-rows:repeat(10,44px);height:440px;flex:none;gap:0;padding:0;margin:0; }
.scoreboard-app #view-game .strip-line-row { height:44px;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 4px;overflow:visible;border:0;border-bottom:1px solid var(--sb-line)!important; }
.scoreboard-app #view-game .strip-number-row { margin:0 7px;border-radius:5px;background:linear-gradient(125deg,#f0f4f8,#aab9c7 60%,#dce4ec)!important;box-shadow:inset 0 1px #fff,inset 0 -1px #687b8d; }
.scoreboard-app #view-game .strip-line-digit { font:600 25px Oswald,sans-serif;color:#15222e; }
.scoreboard-app #view-game .strip-line-name { font-family:Inter,sans-serif!important;font-size:13px;line-height:1.25;color:var(--sb-text);min-width:0;flex:1;overflow-wrap:anywhere; }
.scoreboard-app #view-game .strip-line-index { width:16px;min-width:16px;font:500 11px Oswald,sans-serif;color:var(--sb-muted);order:-2; }
.sb-avatar { width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--avatar);color:#fff;font:700 11px Inter,sans-serif;box-shadow:inset 0 1px 2px #ffffff40; }
.scoreboard-app #view-game .line-action-controls { order:5;margin-left:auto;flex:none; }
.scoreboard-app #view-game .line-action-btn { width:44px;min-width:44px;height:44px;border:0;border-radius:7px;background:transparent; }
.scoreboard-app #view-game .line-lock-pill { display:none; }
.scoreboard-app #view-game .line-name-input { min-width:0;min-height:44px;padding:4px;font-size:16px; }
.scoreboard-app #view-game .strip-line-row.winner { background:#17693e!important;color:#fff;border-radius:5px; }
.scoreboard-app #view-game .strip-line-row.winner .strip-line-name { color:white; }
.scoreboard-app #view-game .strip-card-bonus-row,.scoreboard-app #view-game .strip-lines-summary-slot { height:54px;min-height:54px;padding:5px 0;margin:0;border:0;background:transparent!important;display:flex;align-items:center; }
.scoreboard-app #view-game .strip-bonus-ball { width:44px;height:44px; }
.scoreboard-app #view-game .strip-bonus-icon { height:44px;min-height:44px;display:flex;align-items:center;justify-content:center; }
.scoreboard-app #view-game .strip-foil-spacer { height:0; }
.scoreboard-app #view-game .strip-bonus-winner-info,.scoreboard-app #view-game #lines-room-actions,.scoreboard-app #view-game .strip-lines-status-stack,.scoreboard-app #view-game #host-action-panel { display:none!important; }
#sb-bonus-copy { display:flex;flex-direction:column;gap:4px;font-size:10px;line-height:1.3;color:var(--sb-muted); }
#sb-bonus-copy strong { color:var(--sb-text);font-size:11px; }
#sb-game-action:empty { display:none; }
.scoreboard-app #connection-status.sb-connection { display:block;width:100%;padding:6px 8px;margin:6px 0;font-size:11px;color:var(--sb-text);background:var(--sb-raised);border:1px solid var(--sb-line);border-radius:6px; }
#sb-game-action>p { font-size:11px;color:var(--sb-muted);padding:8px 0; }
.sb-play-action { display:flex;gap:7px;align-items:center;padding:7px 0; }
.sb-play-action button { flex:none; }
.sb-play-action span { font-size:10px;color:var(--sb-muted);line-height:1.4; }
.scoreboard-app #fab-container { position:static;padding:8px 0 0;margin:0; }
.scoreboard-app .draft-line-actions { display:flex;gap:8px; }
.scoreboard-app .draft-action-btn { min-height:44px;padding:8px;font-size:12px;border-radius:8px; }
.scoreboard-app #draft-trash-container { position:static;margin-top:8px; }
.scoreboard-app .strip-card-footer { display:none; }
.sb-room-code { display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:8px; }
.sb-room-code small { display:block;color:var(--sb-muted);font-size:10px;letter-spacing:.12em; }
.sb-room-code strong { display:block;font:600 32px Oswald,sans-serif;color:var(--sb-orange); }
.sb-roster-row { display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--sb-line);padding:5px 0;font-size:13px; }
.sb-roster-row>div { flex:1;min-width:0;overflow-wrap:anywhere; }
.sb-roster-row small { display:block;font-size:10px;color:var(--sb-muted);margin-top:2px; }
.sb-roster-row>b { margin-left:auto; }
.sb-room-details { display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:var(--sb-muted);margin-top:14px; }
#pane-settlement>h2 { margin:14px 0 10px; }
.sb-payout-totals { padding:12px;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:9px;font-size:13px; }
.sb-payout-totals>span { display:flex;justify-content:space-between;margin:6px 0; }
.sb-payout-totals small { color:var(--sb-muted);display:block;border-top:1px solid var(--sb-line);padding-top:8px; }
.scoreboard-app #bottom-nav { display:grid;grid-template-columns:1fr 1fr 1fr 1fr;height:calc(62px + env(safe-area-inset-bottom));min-height:62px;padding:4px 12px max(6px,env(safe-area-inset-bottom));background:var(--sb-bg)!important;border-color:var(--sb-line); }
.scoreboard-app .bottom-nav-item { min-height:48px;min-width:44px;color:var(--sb-muted);font-size:10px; }
.scoreboard-app .bottom-nav-item.active { color:var(--sb-orange); }
.scoreboard-app .bottom-nav-primary { width:48px;height:48px;border-radius:50%;justify-self:center;background:var(--sb-orange);color:#211000;box-shadow:0 0 0 4px var(--sb-bg),0 0 0 5px var(--sb-line);margin:0;transform:none; }
.scoreboard-app .bottom-nav-item i { font-size:18px; }
.scoreboard-app .bottom-nav-primary i { font-size:24px; }
.scoreboard-app #view-history { padding:10px 14px;overflow:hidden;min-height:0; }
.scoreboard-app #menu-activity-panel { display:flex;flex-direction:column;min-height:0;flex:1; }
.scoreboard-app .menu-activity-scroll { overflow:auto;min-height:0;flex:1; }
.scoreboard-app .menu-activity-tools { flex:none; }
.scoreboard-app .menu-panel-top { margin-bottom:10px; }
.scoreboard-app .menu-brand-icon { width:30px;height:30px; }
.scoreboard-app .menu-title { font-size:24px; }
.scoreboard-app .menu-panel,.scoreboard-app [role=dialog]>div { background:var(--sb-surface);color:var(--sb-text);border-radius:18px 18px 0 0;border:1px solid var(--sb-line);box-shadow:0 -12px 48px #0006; }
.scoreboard-app [role=dialog]:not(#menu-overlay) { align-items:flex-end; }
.scoreboard-app [role=dialog]:not(#menu-overlay)>div { width:100%;max-width:none;margin:0;padding:20px;max-height:90%;overflow:auto; }
.scoreboard-app .menu-panel { padding:18px;max-height:90%; }
.sb-menu-link { display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:8px 12px;border-bottom:1px solid var(--sb-line);font-weight:700; }
.scoreboard-app #view-settings { padding:14px; }
.scoreboard-app #view-settings>.flex { margin-bottom:12px; }
.scoreboard-app #view-settings>div:nth-child(2) { background:var(--sb-surface);border-color:var(--sb-line); }
.scoreboard-app #view-settings .p-4 { padding:11px 13px; }
.scoreboard-app #view-settings input,.scoreboard-app #view-settings select,.scoreboard-app .menu-field { background:var(--sb-raised);color:var(--sb-text);border-color:var(--sb-line); }
.scoreboard-app .settings-field-help,.scoreboard-app .settings-toggle-copy,.scoreboard-app .settlement-boundary-note { font-size:11px;line-height:1.4;color:var(--sb-muted); }
.scoreboard-app #view-settings label,.scoreboard-app #view-settings .font-medium { color:var(--sb-text); }
.scoreboard-app #view-settings button,.scoreboard-app label:has(input[type=checkbox]) { min-height:44px;min-width:44px; }
.scoreboard-app label:has(>input[type=checkbox])>div { position:relative; }
.scoreboard-app .segment-radios-slot { width:100%; }
.scoreboard-app #game-carousel .segment-row { justify-content:center; }
.scoreboard-app #view-howto { padding:16px;display:flex;flex-direction:column;gap:20px; }
#sb-help-page { flex:1;display:flex;justify-content:center;flex-direction:column;gap:24px; }
.sb-help-number { display:flex;width:60px;height:60px;border-radius:50%;background:var(--sb-orange);color:#221100;align-items:center;justify-content:center;font:700 32px Oswald,sans-serif; }
#sb-help-page p { font-size:22px;line-height:1.5; }
.sb-help-controls { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.scoreboard-app #main-content { min-height:0; }
.scoreboard-app .menu-room-grid { grid-template-columns:1fr; }
.scoreboard-app .menu-close-btn { min-width:44px;min-height:44px; }
.scoreboard-app .view-section { animation:none; }
.scoreboard-app #menu-overlay .menu-panel { height:auto;max-height:90%;background:var(--sb-surface)!important; }
.scoreboard-app #menu-overlay .menu-panel::before,.scoreboard-app #menu-overlay .menu-panel::after { display:none; }
@media(max-width:639px) { .scoreboard-app #app-container { max-width:none;height:var(--sb-viewport);padding-top:env(safe-area-inset-top);border:0;border-radius:0; } }
@media(max-height:730px) { .sb-home-hero { min-height:140px;height:140px; }.sb-home-empty .sb-home-hero { height:180px;min-height:180px; } }
@media(max-width:359px) { .sb-score-team img { width:32px;height:32px; }.sb-score-team input { width:50px; }.sb-winner strong { font-size:16px;padding-left:6px; }.sb-final-digit { padding:0 6px;font-size:9px; }.scoreboard-app #view-game .strip-card-foil { flex-basis:65px;width:65px; }.scoreboard-app #view-game .strip-line-row { gap:5px; }.sb-avatar { width:24px;height:24px; }.sb-play-action { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .scoreboard-app *, .scoreboard-app *::before,.scoreboard-app *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
/* Resolve old theme selectors at the component boundary. */
.scoreboard-app #view-home h1 { text-transform:none;letter-spacing:0;text-shadow:0 2px 6px #0008;font-size:29px; }
.scoreboard-app #app-container .sb-primary { background:linear-gradient(#ffa614,#ff8500)!important;color:#211000!important; }
.scoreboard-app #app-container .sb-secondary { background:var(--sb-raised)!important;color:var(--sb-blue)!important; }
.scoreboard-app #sport-tabs-container { background:transparent!important;border:0;padding:0;box-shadow:none; }
.scoreboard-app #sport-tabs-container .sport-tab { background:var(--sb-raised)!important;color:var(--sb-text)!important;border:1px solid var(--sb-line);box-shadow:none;min-height:44px;text-transform:none;font-size:11px;padding:7px 12px; }
.scoreboard-app #sport-tabs-container .sport-tab[aria-pressed=true] { background:var(--sb-orange)!important;color:#211000!important;border-color:var(--sb-orange); }
.scoreboard-app #game-carousel .carousel-card { flex:0 0 92%;padding:0;overflow:hidden;border:1px solid var(--sb-line);border-radius:9px;background:var(--sb-surface)!important;box-shadow:none; }
.scoreboard-app #game-carousel .carousel-card.active { border-color:var(--sb-orange);box-shadow:0 0 0 1px var(--sb-orange); }
.scoreboard-app #game-carousel .game-card-body { padding:0; }
.scoreboard-app #game-carousel .game-card-grid { display:flex;flex-direction:column;gap:0;align-items:stretch; }
.scoreboard-app #game-carousel .game-card-teams { display:grid;grid-template-columns:1fr 28px 1fr;order:0;padding:20px 8px;gap:4px;min-height:138px;align-items:center;background:linear-gradient(105deg,var(--away-color,#a91231),var(--away-color,#a91231) 48%,var(--home-color,#085bbb) 50%,var(--home-color,#085bbb));position:relative; }
.scoreboard-app #game-carousel .game-card-team-row { flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative;z-index:1; }
.scoreboard-app #game-carousel .game-card-team-row img { width:52px;height:44px; }
.scoreboard-app #game-carousel .game-card-team { color:white;font:600 26px Oswald,sans-serif;text-shadow:0 1px 3px #000; }
.scoreboard-app #game-carousel .game-card-at { text-align:center;color:white;font:500 14px Oswald,sans-serif;background:#07121bd9;padding:4px 0;border-radius:3px;z-index:1; }
.scoreboard-app #game-carousel .game-card-time { order:1;display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:34px;padding:6px 10px;color:var(--sb-muted);font-size:11px;background:var(--sb-surface); }
.scoreboard-app #game-carousel .game-card-mode-label { order:2;padding:12px 10px 4px;font-size:10px;color:var(--sb-muted); }
.scoreboard-app #game-carousel .segment-radios-container { order:3;display:block;padding:4px 8px 10px;margin:0;border:0; }
.scoreboard-app #game-carousel .segment-labels-container { display:none!important; }
.scoreboard-app #game-carousel .segment-row { display:flex;gap:7px;justify-content:flex-start; }
.scoreboard-app #game-carousel .segment-radio { width:auto;min-width:44px;min-height:44px;border-radius:7px;border:1px solid var(--sb-line);background:var(--sb-raised);color:var(--sb-text);font-size:12px;padding:7px 10px; }
.scoreboard-app #game-carousel .segment-radio::after { display:none; }
.scoreboard-app #game-carousel .segment-radio[aria-checked=true] { color:#211000!important;background:var(--sb-orange)!important;border-color:var(--sb-orange); }
.scoreboard-app #game-carousel .selection-indicator { display:none!important; }
/* Stable text/surfaces also override the previous matchup theme in light mode. */
.scoreboard-app #app-container #view-game .strip-card-physical,
.scoreboard-app #app-container #view-game .strip-line-name { color:var(--sb-text)!important; }
.scoreboard-app #app-container #view-game .winner .strip-line-name { color:white!important; }
.scoreboard-app #game-card-header,.scoreboard-app .sb-manual-title,.scoreboard-app .sb-terms-strip { background:var(--sb-bg)!important; }
.scoreboard-app #view-history,.scoreboard-app #view-settings,.scoreboard-app #view-howto { background:var(--sb-bg)!important;color:var(--sb-text)!important; }
.scoreboard-app .menu-brand-copy,.scoreboard-app .menu-brand-copy h2,.scoreboard-app #view-settings h2 { color:var(--sb-text)!important; }
.scoreboard-app .activity-filter-chip,.scoreboard-app #menu-clear-history-btn,.scoreboard-app [role=dialog] button { min-height:44px;min-width:44px; }
.scoreboard-app #view-settings [role=button] { min-height:44px; }
.scoreboard-app #view-settings [data-action=toggle-theme] { color:var(--sb-blue)!important; }
.scoreboard-app #app-container #view-settings>div:nth-child(2),
.scoreboard-app #app-container #view-setup .setup-terms-fieldset { background:var(--sb-surface)!important;color:var(--sb-text)!important;border-color:var(--sb-line)!important; }
.scoreboard-app #app-container #view-settings input,.scoreboard-app #app-container #view-settings select,
.scoreboard-app #app-container #view-setup input:not([type=checkbox]),.scoreboard-app #app-container #view-setup select,
.scoreboard-app #app-container [role=dialog] input:not([type=checkbox]) { background:var(--sb-raised)!important;color:var(--sb-text)!important;border-color:var(--sb-line)!important; }
.scoreboard-app #app-container #view-settings label,.scoreboard-app #app-container #view-settings .font-medium { color:var(--sb-text)!important; }
.scoreboard-app #app-container #view-settings p,.scoreboard-app #app-container #view-settings .text-xs { color:var(--sb-muted)!important; }
.scoreboard-app #app-container #view-game .strip-settlement-copy,
.scoreboard-app #app-container #view-game .strip-settlement-actions { background:var(--sb-surface)!important;color:var(--sb-text)!important;border:1px solid var(--sb-line);box-shadow:none; }
.scoreboard-app #app-container #view-game .strip-settlement-copy strong { color:var(--sb-text)!important;font-size:13px; }
.scoreboard-app #app-container #view-game .strip-settlement-copy span { color:var(--sb-muted)!important;font-size:11px; }
.scoreboard-app #app-container #view-game .strip-settlement-actions button { min-width:44px;min-height:44px;background:var(--sb-raised);color:var(--sb-blue); }
.scoreboard-app #pane-settlement .strip-settlement-actions:has([data-action=copy-settlement-summary]) { display:none; }
:root:not(.dark).scoreboard-app .sb-game-tabs button[aria-selected=true],
:root:not(.dark).scoreboard-app .bottom-nav-item.active,
:root:not(.dark).scoreboard-app .sb-ticket-stub strong { color:#994b00; }
:root:not(.dark).scoreboard-app .sb-game-tabs button[aria-selected=true]::after { background:#ad5600; }
