/* PointsBall 2.18 — scoreboard-first home, projected-starter markets, production light controls */
.score-home-tabs{display:flex;gap:8px;margin:0 0 18px;overflow:auto}.score-home-tabs a{border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-text);border-radius:999px;padding:9px 14px;font:900 10px var(--mono);letter-spacing:.08em}.score-home-tabs a:hover{background:var(--control-hover-bg);color:var(--control-hover-text)}
.score-command{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin:0 0 18px;overflow:hidden;box-shadow:0 10px 30px var(--shadow-soft)}.score-command>header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line)}.score-command>header span,.prime-label{font:900 9px var(--mono);letter-spacing:.12em;color:var(--cyan);text-transform:uppercase}.score-command>header h2{font-size:22px;margin:3px 0}.score-command>header p{margin:0;color:var(--muted);font-size:11px}.score-command-list{display:grid}.score-command-row{display:grid;grid-template-columns:120px 1fr 1fr 150px;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);transition:.15s}.score-command-row:last-child{border:0}.score-command-row:hover{background:var(--hover)}.score-command-row.is-live{box-shadow:inset 3px 0 var(--red)}.score-source{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px}.score-source small{grid-column:1/-1;color:var(--muted);font:800 8px var(--mono)}.score-team{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;font:850 12px var(--font)}.score-team img,.score-team .logo-fallback{width:26px;height:26px}.score-team b{font:950 17px var(--mono)}.score-state{text-align:right}.score-state strong,.score-state small{display:block}.score-state strong{font:850 10px var(--mono)}.score-state small{color:var(--muted);font-size:9px;margin-top:2px}
.home-action{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);background:linear-gradient(135deg,var(--panel),var(--panel2));border-radius:16px;padding:20px;margin:18px 0}.home-action span{font:900 9px var(--mono);color:var(--green);letter-spacing:.12em}.home-action h2{margin:4px 0}.home-action p{margin:0;color:var(--muted);font-size:11px}
.starter-home-rail{display:flex;gap:10px;overflow:auto;padding:2px 1px 7px;scroll-snap-type:x proximity}.starter-home-card{flex:0 0 185px;scroll-snap-align:start;border:1px solid var(--control-border);background:var(--control-bg);color:var(--ink);border-radius:14px;padding:12px;text-align:left}.starter-home-card:hover{background:var(--control-hover-bg);border-color:var(--cyan-deep)}.starter-home-card>div{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--panel3);display:grid;place-items:center;margin-bottom:9px}.starter-home-card img{width:100%;height:100%;object-fit:cover}.starter-home-card>span{display:block;color:var(--muted);font:800 8px var(--mono)}.starter-home-card>strong{display:block;font-size:13px;margin:3px 0}.starter-home-card>small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.starter-home-card>em{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font:900 11px var(--mono);font-style:normal}.starter-home-card>em b{color:var(--cyan)}
.starter-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.starter-market-card{display:grid;grid-template-columns:52px minmax(0,1fr) 86px 105px;align-items:center;gap:11px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--ink);border-radius:13px;padding:10px 12px;text-align:left}.starter-market-card:hover{background:var(--control-hover-bg);border-color:var(--cyan-deep)}.starter-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--panel3);display:grid;place-items:center}.starter-avatar img{width:100%;height:100%;object-fit:cover}.starter-identity span{display:flex;align-items:center;gap:4px;color:var(--muted);font:800 8px var(--mono)}.starter-identity strong{display:block;margin:3px 0;font-size:13px}.starter-identity small{display:block;color:var(--muted);font-size:9px}.starter-featured{text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 8px}.starter-featured small,.starter-featured b,.starter-featured span{display:block}.starter-featured small{color:var(--muted);font:800 8px var(--mono)}.starter-featured b{font:950 19px var(--mono)}.starter-featured span{color:var(--cyan);font:900 9px var(--mono)}.starter-status{text-align:right}.starter-status i,.starter-status b{display:block;font-style:normal}.starter-status i{color:var(--muted);font-size:8px}.starter-status b{color:var(--cyan);font:850 9px var(--mono);margin-top:4px}
.player-market-sheet{position:fixed;z-index:121;top:0;right:0;width:min(560px,100%);height:100dvh;background:var(--s2);border-left:1px solid var(--line2);box-shadow:-24px 0 70px var(--shadow-strong);transform:translateX(105%);transition:.23s ease;overflow:auto}.player-market-sheet.open{transform:none}.player-market-scrim{position:fixed;z-index:120;inset:0;background:var(--overlay);opacity:0;visibility:hidden;transition:.2s}.player-market-scrim.open{opacity:1;visibility:visible}.player-market-sheet-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px)}.player-market-sheet-head small{font:900 8px var(--mono);color:var(--cyan);letter-spacing:.12em}.player-market-sheet-head h2{margin:3px 0 0;font-size:20px}.player-market-body{padding:16px}.player-market-profile{display:flex;gap:13px;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:13px}.player-market-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--panel3);display:grid;place-items:center;flex:0 0 auto}.player-market-avatar img{width:100%;height:100%;object-fit:cover}.player-market-profile span,.player-market-profile small{font:800 8px var(--mono);color:var(--muted)}.player-market-profile h3{margin:3px 0;font-size:20px}.player-market-profile p{margin:0 0 4px;color:var(--soft);font-size:10px}.player-production{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.player-production div{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:9px;text-align:center}.player-production span{display:block;color:var(--muted);font:800 8px var(--mono)}.player-production b{font:950 16px var(--mono)}.player-market-group{border:1px solid var(--line);background:var(--panel);border-radius:13px;margin:9px 0;overflow:hidden}.player-market-group>header{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.player-market-group header span{font:850 7px var(--mono);color:var(--cyan);letter-spacing:.1em}.player-market-group h4{margin:2px 0 0;font-size:13px}.player-market-group header small{color:var(--muted);font:750 8px var(--mono)}.player-line-grid{display:grid}.player-line-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:6px;align-items:center;padding:7px;border-bottom:1px solid var(--line)}.player-line-row:last-child{border:0}.player-line-row>b{text-align:center;font:950 16px var(--mono)}.player-line-row .vba-prop-side{min-height:43px}.player-specials{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:12px;margin-top:12px}.player-specials header span{font:850 8px var(--mono);color:var(--amber)}.player-specials header h4{margin:2px 0 9px}.player-specials>div{display:grid;grid-template-columns:130px 1fr auto;gap:9px;padding:8px 0;border-top:1px solid var(--line)}.player-specials small{color:var(--muted);font-size:9px}.player-specials em{font:800 7px var(--mono);font-style:normal;color:var(--muted)}.player-model-note{color:var(--muted);font-size:9px;line-height:1.5}
/* Semantic control layer fixes light mode without dark-only button assumptions. */
.btn.secondary,.filter,.sport-tab,.setting-options button,.theme-segment button,.quick-stakes button,.vba-prop-side,.icon-button{background:var(--control-bg)!important;border-color:var(--control-border)!important;color:var(--control-text)!important}.btn:not(.secondary):not(.green){background:var(--primary-button-bg);color:var(--primary-button-text)}.btn.secondary:hover,.filter:hover,.sport-tab:hover,.setting-options button:hover,.theme-segment button:hover,.quick-stakes button:hover,.vba-prop-side:hover{background:var(--control-hover-bg)!important;color:var(--control-hover-text)!important}.filter.active,.sport-tab.active,.setting-options button.active,.theme-segment button.active,.vba-prop-side.selected{background:var(--control-selected-bg)!important;border-color:var(--control-selected-border)!important;color:var(--control-selected-text)!important}.btn:disabled,.filter:disabled,.sport-tab:disabled,.vba-prop-side:disabled{background:var(--disabled-bg)!important;color:var(--disabled-text)!important;opacity:.72}
html[data-theme="light"] .mobile-nav{background:rgba(255,255,255,.97)!important;border-color:var(--b2)!important}html[data-theme="light"] .mobile-nav a{color:var(--t3)}html[data-theme="light"] .mobile-nav a.active{color:var(--cyan-ink)}html[data-theme="light"] .mobile-slip-hero i{box-shadow:0 7px 22px rgba(39,55,78,.18)}
@media(max-width:850px){.score-command-row{grid-template-columns:90px 1fr 1fr 105px}.starter-market-grid{grid-template-columns:1fr}.starter-market-card{grid-template-columns:48px minmax(0,1fr) 74px 90px}}
@media(max-width:600px){.score-command>header{align-items:start}.score-command>header p{display:none}.score-command-row{grid-template-columns:70px 1fr 1fr 70px;padding:10px 9px;gap:5px}.score-source .src-pill{display:none}.score-source{grid-template-columns:1fr}.score-team{grid-template-columns:23px minmax(0,1fr) auto;gap:5px}.score-team img,.score-team .logo-fallback{width:22px;height:22px}.score-state strong{font-size:8px}.starter-market-card{grid-template-columns:44px minmax(0,1fr) 68px;padding:9px}.starter-status{display:none}.player-market-sheet{top:auto;bottom:0;height:min(88dvh,780px);width:100%;border-left:0;border-top:1px solid var(--line2);border-radius:18px 18px 0 0;transform:translateY(105%)}.player-market-sheet.open{transform:none}.player-market-body{padding:12px}.player-specials>div{grid-template-columns:1fr}.player-production{gap:5px}.player-line-row{grid-template-columns:48px 1fr 1fr}.home-action{align-items:flex-start;flex-direction:column}.score-home-tabs{position:sticky;top:calc(var(--header) + 35px);z-index:12;background:var(--bg);padding:6px 0}}
.prime-section-tabs{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.prime-section-tabs span{font:900 9px var(--mono);letter-spacing:.12em;color:var(--blue-ink)}.prime-section-tabs a{font:900 9px var(--mono);color:var(--cyan)}
