.nba-page { max-width:1440px; }
.nba-page .site-header { height:76px; padding-left:38px; }
.nba-hero { position:relative; min-height:324px; padding:40px 48px 24px; isolation:isolate; background:#03131f; overflow:hidden; }
.nba-hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; z-index:-2; }
.nba-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#00101cf0 0%,#00101c55 33%,transparent 54%),linear-gradient(0deg,#00101c,transparent 22%); z-index:-1; }
.nba-hero-copy { width:51%; }
.nba-hero-heading { display:flex; align-items:flex-start; gap:20px; }
.nba-hero-heading>img { width:75px; height:162px; object-fit:contain; }
.nba-hero h1 { font:800 72px/.95 var(--body); letter-spacing:-1px; margin:0 0 10px; }
.nba-hero h2 { font-size:22px; font-weight:500; }
.nba-hero p { font-size:18px; line-height:1.25; margin-top:13px; }
.nba-hero-actions { display:flex; gap:16px; margin-top:23px; }
.nba-hero-actions button { min-width:190px; padding:10px 20px; }
.nba-hero-actions .primary-button { background:#fff; color:#0074ff; }
.nba-hero-actions .icon { width:20px; height:20px; }
.nba-season { position:absolute; top:23px; right:22px; width:250px; padding:16px; background:#00101ce8; box-shadow:0 12px 35px #0008; }
.nba-season h2 { font-size:19px; font-weight:600; }
.nba-season p { margin:2px 0 8px; }
#nba-countdown { display:flex; justify-content:space-around; text-align:center; min-height:61px; }
#nba-countdown strong { display:block; font-size:31px; line-height:1.1; }
#nba-countdown small { color:var(--muted); font-size:13px; }
.nba-season>a { display:flex; justify-content:center; border:1px solid var(--border); padding:8px; border-radius:4px; margin-top:12px; }
.nba-tabs { display:flex; align-items:stretch; justify-content:space-between; gap:10px; padding:0 45px; border-bottom:1px solid var(--border); background:#00121d; overflow:auto; }
.nba-tabs a { display:flex; align-items:center; gap:12px; padding:15px 12px; font-size:18px; white-space:nowrap; border-bottom:2px solid transparent; }
.nba-tabs a.active { background:linear-gradient(#0c293b,#041925); border-bottom-color:var(--cyan); }
.nba-tabs .icon { width:22px; height:22px; color:#bddbeb; }
.nba-dashboard { padding:0 25px 24px; display:grid; gap:15px; }
.nba-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; color:var(--muted); font-size:14px; padding-top:10px; }
.nba-toolbar>div { display:flex; align-items:center; gap:10px; }
.nba-toolbar input { max-width:145px; padding:5px 8px; }
.nba-page select,.nba-page input[type=date] { font:inherit; color:#dcefff; background:#041b29; border:1px solid var(--border); border-radius:4px; }
.nba-page select:focus-visible,.nba-page input:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.nba-page select { padding:7px 9px; max-width:100%; }
.nba-panel { padding:13px; min-width:0; }
.nba-panel .panel-heading { min-height:24px; margin-bottom:10px; }
.nba-panel .panel-heading h2 { font-size:22px; font-weight:600; }
.nba-panel .text-link { font-size:16px; }
.nba-top-grid { display:grid; grid-template-columns:1.2fr 1.06fr .92fr; gap:13px; align-items:start; }
.nba-scorecards { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.nba-scorecard { background:linear-gradient(135deg,#08243577,#00121b); border:1px solid #174459; border-radius:6px; padding:12px; min-width:0; }
.nba-game-label { display:flex; justify-content:space-between; gap:5px; min-height:28px; color:var(--muted); font-size:14px; }
.nba-game-label .live { color:#ff655c; }
.nba-score-team { display:flex; align-items:center; gap:10px; margin:10px 0; font-size:18px; }
.nba-score-team img { width:40px; height:40px; object-fit:contain; }
.nba-score-team strong { font-size:30px; margin-inline-start:auto; }
.nba-scorecard>a { display:flex; padding:9px 7px; font-size:16px; margin-top:15px; }
.nba-panel-footer { display:flex; justify-content:space-between; gap:10px; margin-top:12px; }
.nba-live-count { color:#ff514c; font-size:17px; }
.nba-game-day { font-size:17px; margin:9px 0 4px; border-bottom:1px solid #1b3848; padding-bottom:5px; }
.nba-fixture { display:grid; grid-template-columns:68px 1fr 16px 1fr; gap:7px; align-items:center; border-bottom:1px solid #112e3e; padding:7px 0; font-size:16px; }
.nba-fixture>span { display:flex; gap:7px; align-items:center; min-width:0; }
.nba-fixture img { width:28px; height:28px; object-fit:contain; }
.nba-fixture time { color:var(--muted); font-size:15px; }
.nba-fixture small { color:var(--muted); }
.nba-switch { display:flex; padding:2px; gap:3px; border:1px solid #163b50; border-radius:5px; }
.nba-switch button { padding:4px 24px; border-radius:4px; font-size:16px; }
.nba-switch [aria-pressed=true] { background:var(--blue); }
#nba-standings>.nba-switch button { flex:1; }
.nba-standings-table { width:100%; border-collapse:collapse; font-size:16px; margin-top:8px; }
.nba-standings-table th { color:var(--muted); font-weight:400; text-align:end; }
.nba-standings-table td { padding:5px 2px; border-top:1px solid #173241; text-align:end; }
.nba-standings-table th:nth-child(2),.nba-standings-table td:nth-child(2) { text-align:start; }
.nba-standings-table td:first-child,.nba-standings-table th:first-child { text-align:start; width:23px; }
.nba-standings-table td:nth-child(2)>a { display:flex; align-items:center; gap:8px; }
.nba-standings-table img { width:28px; height:28px; object-fit:contain; }
.nba-expand { margin-top:9px; }
.nba-media-grid { display:grid; grid-template-columns:2.58fr 1fr; gap:13px; align-items:start; }
.nba-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.nba-video { min-width:0; }
.nba-video button { display:block; width:100%; text-align:start; }
.nba-video-image { display:block; position:relative; border:1px solid #254858; border-radius:7px; overflow:hidden; }
.nba-video-image img { width:100%; aspect-ratio:1.12; object-fit:cover; }
.nba-video-play { position:absolute; bottom:9px; left:9px; width:43px; height:43px; display:grid; place-items:center; border:2px solid white; border-radius:50%; background:#00101ca8; font:19px Arial; }
.nba-video strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:21px; font-weight:500; line-height:1.15; margin-top:7px; min-height:48px; }
.nba-video>a { display:inline-block; color:var(--muted); font-size:15px; margin-top:5px; }
.nba-source-note { color:var(--muted); font-size:13px; margin-top:10px; line-height:1.35; }
#nba-source { padding:4px 7px; width:100%; margin-bottom:7px; font-size:15px; }
.nba-story { display:flex; gap:10px; padding:8px 0; align-items:center; }
.nba-story-rank { display:grid; place-items:center; flex-shrink:0; width:26px; height:30px; color:var(--cyan); border-radius:7px; background:#06324a; font-size:20px; }
.nba-story img { width:65px; height:46px; object-fit:cover; border-radius:4px; }
.nba-story strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:16px; font-weight:400; line-height:1.2; }
.nba-story small { display:block; font-size:13px; color:var(--muted); margin-top:4px; }
#nba-teams .panel-heading { justify-content:flex-start; gap:24px; }
.nba-team-list { display:grid; grid-template-columns:repeat(15,minmax(0,1fr)); gap:9px; }
.nba-team-tile { display:flex; flex-direction:column; align-items:center; border:1px solid #174359; border-radius:6px; padding:10px 2px 8px; gap:6px; min-width:0; }
.nba-team-tile img { width:47px; height:47px; object-fit:contain; }
.nba-team-tile span { font-size:14px; }
.nba-featured-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.nba-featured-card { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:162px; padding:12px; overflow:hidden; isolation:isolate; border:1px solid #244761; border-radius:6px; background:linear-gradient(90deg,var(--team-color,#123956),#00121b); }
.nba-featured-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#000b15,transparent 80%); z-index:-1; }
.nba-featured-card>img:not(.nba-featured-art) { width:68px; height:68px; object-fit:contain; }
.nba-featured-art { position:absolute; width:400%; max-width:none; height:200%; object-fit:cover; right:-30%; top:-35%; opacity:.45; z-index:-2; }
.nba-featured-card>div { display:flex; align-items:end; gap:6px; justify-content:space-between; }
.nba-featured-card h3 { font-size:22px; font-weight:600; line-height:1.1; text-shadow:0 2px 4px #000; }
.nba-featured-card small { display:block; font-size:14px; font-weight:400; color:var(--muted); margin-top:4px; }
.nba-featured-card button { padding:6px 10px; font-size:16px; border-radius:4px; }
.nba-analysis-grid { display:grid; grid-template-columns:2.15fr 1fr; gap:13px; align-items:start; }
.nba-analysis-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.nba-analysis-card { position:relative; display:flex; flex-direction:column; min-height:204px; padding:12px; background:#001b2c66; border:1px solid #17435a; border-radius:6px; overflow:hidden; }
.nba-analysis-card h3 { font-size:18px; font-weight:500; }
.nba-analysis-card p { color:var(--muted); font-size:15px; }
.nba-analysis-card>.text-link { margin-top:auto; padding:6px 2px; border:1px solid #078bd5; border-radius:4px; text-align:center; display:block; white-space:normal; }
.nba-line-chart { margin:22px 0 12px; width:100%; }
.nba-line-chart path { stroke:#00c7ff; fill:none; stroke-width:3; }
.nba-line-chart path+path { stroke:#f52089; }
.nba-whatif { background:linear-gradient(0deg,#00101c 9%,#00101c11 55%,#00101c),url('/assets/photos/nba-fictional-hero.png') 60% center/auto 120%; }
.nba-court { margin:15px 0; border:2px solid #adbdc4; border-radius:4px; color:#d9f5ff; text-align:center; letter-spacing:5px; font:20px/1.5 monospace; }
.nba-vs { margin:auto; font:700 38px var(--heading); color:#48cfff; }
#nba-simulator { display:grid; gap:10px; }
#nba-simulator label { font-size:16px; }
.nba-slider-label { display:flex; justify-content:space-between; gap:8px; }
#nba-sim-rate { width:100%; accent-color:#00baff; cursor:pointer; }
#nba-projection { display:block; min-height:40px; color:#cfebfb; font-size:19px; }
#nba-simulator .primary-button { padding:8px; }
.nba-bottom-grid { display:grid; grid-template-columns:2fr 1fr; gap:13px; }
.nba-arena-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.nba-arena-grid>* { display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 5px; background:#04203099; border:1px solid #17435a; border-radius:6px; text-align:center; }
.nba-arena-grid .icon { width:35px; height:35px; color:#00bcff; }
.nba-arena-grid>:nth-child(n+3) .icon { color:#ffc549; }
.nba-arena-grid strong { font-size:18px; font-weight:500; }
.nba-arena-grid span,.nba-subtitle { color:var(--muted); font-size:15px; }
.nba-glory { padding:20px; background:linear-gradient(120deg,#102728,#020c13); }
.nba-glory h2 { font:700 italic 30px var(--body); color:#ffbd45; margin-bottom:12px; }
.nba-glory h2 .icon { width:39px; height:39px; }
.nba-glory p { font-size:17px; color:var(--muted); }
.nba-glory-track { height:12px; background:#193c4d; border-radius:10px; margin:12px 0; }
.nba-glory .text-link { margin-top:12px; color:#ffc24c; }
.nba-sources,.nba-destinations { display:flex; flex-wrap:wrap; gap:12px 24px; }
.nba-sources>a { border:1px solid #164258; padding:8px 14px; border-radius:5px; color:#dff5ff; font-size:17px; }
.nba-empty { color:var(--muted); padding:18px 6px; }
.nba-video-frame { width:100%; aspect-ratio:16/9; border:0; min-height:220px; background:#000; margin:15px 0; }
#detail-dialog:has(.nba-video-frame) { width:min(960px,94vw); max-width:960px; }
.nba-dialog-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:15px; }
.nba-dialog-team-grid button { display:flex; align-items:center; gap:8px; text-align:start; padding:8px; border:1px solid var(--border); border-radius:6px; }
.nba-dialog-team-grid button[aria-pressed=true] { border-color:var(--cyan); background:#064365; }
.nba-dialog-team-grid img { width:36px; height:36px; object-fit:contain; }
.nba-pick-game { padding:12px; border:1px solid var(--border); border-radius:6px; margin:10px 0; }
.nba-pick-game>div { display:flex; gap:10px; margin-top:8px; }
.nba-pick-game button { flex:1; padding:9px; border:1px solid var(--border); border-radius:5px; }
.nba-pick-game button[aria-pressed=true] { background:#006bff; }
.nba-alert-label { display:flex; align-items:start; gap:12px; margin-top:15px; }
[dir=rtl] .nba-hero-copy { position:relative; margin-inline-start:auto; direction:rtl; text-align:right; }
[dir=rtl] .nba-hero { direction:ltr; }
[dir=rtl] .nba-hero-copy { direction:rtl; }
@media(min-width:1500px) { .nba-hero { min-height:340px; } }
@media(max-width:1200px) {
  .nba-page .site-header { height:58px; }
  .nba-hero { padding:26px 30px 22px; min-height:244px; }
  .nba-hero h1 { font-size:54px; }
  .nba-hero h2 { font-size:19px; }
  .nba-hero p { font-size:16px; margin-top:10px; }
  .nba-hero-heading>img { width:55px; height:123px; }
  .nba-hero-actions { margin-top:18px; }
  .nba-hero-actions button { min-width:160px; padding:8px 16px; font-size:16px; }
  .nba-season { width:220px; }
  .nba-tabs { padding:0 25px; gap:3px; }
  .nba-tabs a { padding:12px 8px; gap:9px; font-size:16px; }
  .nba-tabs .icon { width:20px; }
  .nba-dashboard { padding-inline:18px; gap:12px; }
  .nba-panel { padding:10px; }
  .nba-panel .panel-heading h2 { font-size:20px; }
  .nba-panel .text-link { font-size:14px; }
  .nba-scorecard { padding:9px; }
  .nba-score-team { font-size:16px; gap:6px; }
  .nba-score-team img { width:33px; height:33px; }
  .nba-score-team strong { font-size:26px; }
  .nba-fixture { grid-template-columns:58px 1fr 12px 1fr; gap:4px; font-size:14px; }
  .nba-fixture img { width:25px; height:25px; }
  .nba-team-list { gap:7px; }
  .nba-team-tile img { width:40px; height:40px; }
  .nba-team-tile span { font-size:12px; }
  .nba-video strong { font-size:19px; }
  .nba-story img { width:50px; height:40px; }
  .nba-featured-card { padding:10px; }
  .nba-featured-card h3 { font-size:20px; }
  .nba-analysis-card { padding:9px; }
}
@media(max-width:950px) {
  .nba-hero-copy { width:65%; }
  .nba-hero-heading p { max-width:320px; }
  .nba-season { width:190px; right:16px; }
  .nba-top-grid { grid-template-columns:1fr 1fr; }
  #nba-standings { grid-column:1/-1; }
  .nba-standings-table { font-size:17px; }
  .nba-media-grid { grid-template-columns:1fr; }
  #nba-stories { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
  .nba-team-list { display:flex; overflow:auto; }
  .nba-team-tile { flex:0 0 67px; }
  .nba-featured-list { grid-template-columns:repeat(3,1fr); }
  .nba-analysis-grid { grid-template-columns:1fr; }
  .nba-bottom-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .nba-page .site-header { padding-left:16px; }
  .nba-hero { min-height:470px; padding:23px 18px 150px; }
  .nba-hero-art { object-position:61% center; opacity:.55; }
  .nba-hero::after { background:linear-gradient(90deg,#00101ccc,#00101c44),linear-gradient(0deg,#00101c,transparent); }
  .nba-hero-copy { width:100%; }
  .nba-hero-heading { gap:14px; }
  .nba-hero-heading>img { width:54px; height:136px; }
  .nba-hero h1 { font-size:56px; }
  .nba-hero h2 { font-size:20px; }
  .nba-hero p { font-size:17px; }
  .nba-hero-actions { gap:8px; margin-top:20px; }
  .nba-hero-actions button { min-width:0; flex:1; padding:9px; font-size:15px; gap:7px; }
  .nba-season { top:auto; bottom:15px; left:18px; right:18px; width:auto; display:grid; grid-template-columns:1fr 1fr; column-gap:10px; padding:12px; }
  .nba-season>h2 { grid-column:1; }
  .nba-season>p { grid-column:1; margin:0; }
  #nba-countdown { grid-column:2; grid-row:1/3; min-height:45px; }
  #nba-countdown strong { font-size:26px; }
  .nba-season>a { grid-column:1/-1; padding:4px; margin-top:7px; }
  .nba-tabs { padding-inline:10px; }
  .nba-dashboard { padding-inline:10px; gap:10px; }
  .nba-toolbar { flex-direction:column; align-items:start; gap:7px; }
  .nba-top-grid { grid-template-columns:1fr; gap:10px; }
  .nba-scorecard { padding:12px; }
  .nba-score-team { font-size:18px; }
  .nba-fixture { grid-template-columns:74px 1fr 20px 1fr; font-size:17px; }
  .nba-video-grid { grid-template-columns:1fr 1fr; }
  .nba-video-image img { aspect-ratio:1.5; }
  #nba-stories { grid-template-columns:1fr; }
  .nba-story img { width:70px; height:45px; }
  .nba-story strong { font-size:18px; }
  .nba-featured-list { grid-template-columns:1fr 1fr; }
  .nba-featured-card:last-child { grid-column:1/-1; }
  .nba-analysis-cards,.nba-arena-grid { grid-template-columns:1fr 1fr; }
  .nba-dialog-team-grid { grid-template-columns:1fr 1fr; }
  .nba-subtitle { font-size:13px; }
  .nba-panel .panel-heading { flex-wrap:wrap; }
  #nba-teams .panel-heading { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .nba-page * { scroll-behavior:auto; } }
