.game-detail-page { background:#f3f6f8; min-height:70vh; padding:22px 0 54px; }
.game-detail-shell { max-width:1320px; }
.game-detail-back { display:inline-flex; align-items:center; gap:8px; color:#275b7d; font-size:13px; font-weight:700; margin-bottom:10px; min-height:40px; }
.game-detail-back .icon { width:17px; height:17px; }
.game-detail-hero { background:radial-gradient(circle at 50% 120%,#286b9a 0,transparent 52%),linear-gradient(128deg,#0d2130,#143851); border-radius:14px; overflow:hidden; color:#fff; box-shadow:0 12px 32px #10233215; }
.game-detail-scoreboard { padding:20px 28px 10px; }
.game-detail-kicker { display:block; color:#a7d5f0; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:10px; }
.game-detail-matchup { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.8fr) minmax(0,1fr); align-items:center; gap:14px; }
.game-detail-team { text-align:center; min-width:0; }
.game-detail-team img { object-fit:contain; height:60px; width:60px; margin:0 auto 8px; }
.game-detail-team h1,.game-detail-team h2 { font:700 16px/1.25 var(--body); letter-spacing:0; text-transform:none; overflow-wrap:anywhere; }
.game-detail-center { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.game-detail-state { padding:5px 9px; border-radius:5px; color:#e0f3ff; background:#2b6183; font-size:10px; font-weight:800; letter-spacing:.08em; }
.game-detail-state.is-live { color:#fff; background:#bc344c; }
.game-detail-score,.game-detail-tipoff { font:700 clamp(46px,5vw,66px)/1 var(--display); letter-spacing:-.025em; white-space:nowrap; }
.game-detail-score span { padding:0 8px; color:#7ea9c4; }
.game-detail-meta { display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 18px 16px; text-align:center; }
.game-detail-meta time { color:#dceef8; font-size:12px; font-weight:700; }
.game-detail-venue { color:#a9c4d5; font-size:11px; line-height:1.3; }
.game-detail-tabs { display:flex; gap:24px; border-bottom:1px solid #d4e0e8; margin:20px 0 21px; }
.game-detail-tabs a { display:flex; align-items:center; min-height:44px; border-bottom:3px solid transparent; color:#657581; font-size:17px; font-weight:700; }
.game-detail-tabs a[aria-current="page"] { color:#112331; border-color:#338bc1; }
.game-detail-tabs a:hover { color:#154d72; }
.game-detail-section { margin:0 0 20px; }
.game-detail-section h2 { font:700 22px/1.2 var(--body); letter-spacing:0; text-transform:none; margin:0 0 10px; }
.game-detail-player-panel[hidden] { display:none; }
.game-detail-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:12px; border:1px solid #dbe5eb; background:#fff; }
.game-period-table,.game-player-table { width:100%; border-collapse:collapse; color:#152b39; }
.game-period-table { min-width:590px; }
.game-period-table th,.game-period-table td { padding:12px 16px; border-bottom:1px solid #e7edf0; text-align:center; font-variant-numeric:tabular-nums; }
.game-period-table thead th { background:#e7eff4; color:#526a7a; font-size:11px; text-transform:uppercase; }
.game-period-table th:first-child { text-align:left; min-width:140px; }
.game-period-table tbody tr:last-child th,.game-period-table tbody tr:last-child td { border-bottom:0; }
.game-period-table tbody th { font-size:13px; }
.game-table-team { display:flex; align-items:center; gap:9px; }
.game-table-team img { object-fit:contain; flex:none; }
.game-period-table td { font-size:17px; }
.game-period-table td.is-quarter-winner,.game-period-table td.is-game-winner { color:#0d7aaf; font-weight:800; }
.game-team-stats { border:1px solid #dbe5eb; border-radius:12px; background:#fff; overflow:hidden; }
.game-team-stats-head,.game-team-stat { display:grid; grid-template-columns:minmax(0,1fr) minmax(115px,1.1fr) minmax(0,1fr); align-items:center; gap:12px; padding:9px 18px; }
.game-team-stats-head { grid-template-columns:1fr 1fr; background:#e7eff4; font-weight:700; font-size:14px; }
.game-team-stats-team { display:flex; align-items:center; gap:9px; }
.game-team-stats-team:last-child { justify-content:flex-end; }
.game-team-stats-team img { width:30px; height:30px; object-fit:contain; }
.game-team-stat { border-top:1px solid #e7edf0; min-height:43px; font-size:12px; }
.game-team-stat strong { font-size:15px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.game-team-stat strong:last-child { text-align:right; }
.game-team-stat>span { text-align:center; color:#617480; }
.game-detail-team-picker { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
.game-detail-team-picker a { display:flex; align-items:center; gap:10px; min-height:60px; padding:8px 14px; background:#fff; border:2px solid #dbe5eb; border-radius:9px; color:#173242; font-weight:700; font-size:13px; }
.game-detail-team-picker a[aria-current="true"] { border-color:#2183bb; background:#f5fbff; }
.game-detail-team-picker a:hover { border-color:#2183bb; }
.game-detail-team-picker img { object-fit:contain; flex:none; width:32px; height:32px; }
.game-player-table { min-width:1030px; font-size:12px; font-variant-numeric:tabular-nums; }
.game-player-table thead { background:#e7eff4; }
.game-player-table th,.game-player-table td { padding:9px 11px; border-bottom:1px solid #e8eef2; text-align:center; white-space:nowrap; }
.game-player-table thead th { color:#536b79; font-size:11px; }
.game-player-table th:nth-child(2) { text-align:left; min-width:175px; }
.game-player-table tbody th { font-weight:700; }
.game-player-table tbody tr:nth-child(even) { background:#f8fafb; }
.game-player-table tbody tr:last-child td,.game-player-table tbody tr:last-child th { border-bottom:0; }
.game-player-table small { display:block; color:#738693; font-size:10px; margin-top:3px; }
.game-player-table .game-player-points { font-weight:800; color:#0d73a8; font-size:15px; }
.game-detail-empty { background:#fff; border:1px solid #dbe5eb; border-radius:12px; padding:28px 22px; text-align:center; }
.game-detail-empty h2 { font:700 22px/1.3 var(--body); letter-spacing:0; text-transform:none; }
.game-detail-empty p { color:#657581; margin:10px 0 0; font-size:14px; }
@media(max-width:600px) {
  .game-detail-page { padding:12px 0 42px; }
  .game-detail-back { margin-bottom:7px; }
  .game-detail-scoreboard { padding:15px 13px 7px; }
  .game-detail-kicker { font-size:9px; margin-bottom:8px; }
  .game-detail-matchup { grid-template-columns:minmax(0,1fr) minmax(100px,.8fr) minmax(0,1fr); gap:5px; }
  .game-detail-team img { width:47px; height:47px; margin-bottom:6px; }
  .game-detail-team h1,.game-detail-team h2 { font-size:11px; }
  .game-detail-score,.game-detail-tipoff { font-size:39px; }
  .game-detail-score span { padding:0 3px; }
  .game-detail-state { font-size:8px; }
  .game-detail-meta { padding:7px 10px 12px; }
  .game-detail-venue { font-size:10px; }
  .game-detail-tabs { margin:15px 0 17px; }
  .game-detail-tabs a { font-size:16px; min-height:40px; }
  .game-detail-section h2 { font-size:19px; }
  .game-period-table { min-width:540px; }
  .game-period-table th,.game-period-table td { padding:10px 8px; }
  .game-period-table th:first-child { min-width:118px; width:118px; position:sticky; left:0; z-index:1; background:#fff; }
  .game-period-table thead th:first-child { background:#e7eff4; z-index:2; }
  .game-period-table tbody th { font-size:10px; line-height:1.2; }
  .game-table-team { gap:6px; }
  .game-table-team img { width:24px; height:24px; }
  .game-period-table.is-four-quarters { min-width:0; table-layout:fixed; }
  .game-period-table.is-four-quarters th,.game-period-table.is-four-quarters td { padding:10px 3px; }
  .game-period-table.is-four-quarters th:first-child { min-width:0; width:27%; position:static; }
  .game-period-table.is-four-quarters thead th { font-size:10px; }
  .game-period-table.is-four-quarters tbody th { font-size:10px; }
  .game-period-table.is-four-quarters td { font-size:17px; }
  .game-period-table.is-four-quarters .game-table-team { gap:3px; white-space:nowrap; overflow:hidden; }
  .game-period-table.is-four-quarters .game-table-team img { width:22px; height:22px; }
  .game-team-stats-head,.game-team-stat { padding:8px 10px; gap:5px; }
  .game-team-stats-head { font-size:12px; }
  .game-team-stats-team img { width:23px; height:23px; }
  .game-team-stat { grid-template-columns:minmax(0,1fr) minmax(85px,1fr) minmax(0,1fr); min-height:40px; font-size:11px; }
  .game-team-stat strong { font-size:11px; }
  .game-detail-team-picker { gap:7px; }
  .game-detail-team-picker a { gap:6px; padding:6px; font-size:10px; line-height:1.2; min-height:62px; }
  .game-detail-team-picker img { width:25px; height:25px; }
  .game-player-table th,.game-player-table td { padding:8px 10px; }
  .game-player-table th:first-child,.game-player-table td:first-child { width:42px; min-width:42px; padding-left:5px; padding-right:5px; }
  .game-player-table th:nth-child(2) { width:clamp(160px,calc(82vw - 102px),260px); min-width:160px; max-width:260px; overflow:hidden; text-overflow:ellipsis; }
  .game-player-table th:nth-child(3),.game-player-table td:nth-child(3) { width:50px; min-width:50px; padding-left:6px; padding-right:6px; }
  .game-player-table th:nth-child(4),.game-player-table td:nth-child(4) { text-align:left; padding-left:7px; }
}
@media(max-width:370px) {
  .game-period-table.is-four-quarters thead th,.game-period-table.is-four-quarters tbody th { font-size:9px; }
  .game-period-table.is-four-quarters td { font-size:15px; }
  .game-period-table.is-four-quarters .game-table-team img { width:18px; height:18px; }
}
