:root{--map-west:#1685eb;--map-east:#ed3d56;--map-ink:#0b1730;--map-muted:#65738a;--map-line:#d9e2ed}
.page-nba-map{background:#f1f5f9;color:var(--map-ink)}
.nba-map-page{width:min(1280px,calc(100% - 28px));margin:24px auto 76px}
.nba-map-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;overflow:hidden;position:relative;padding:42px 46px;border:1px solid #203b5a;border-radius:28px;background:radial-gradient(circle at 8% 18%,rgba(18,120,220,.2),transparent 34%),radial-gradient(circle at 96% 100%,rgba(237,45,73,.2),transparent 33%),linear-gradient(125deg,#06172c 0%,#092744 58%,#241526 100%);box-shadow:0 22px 55px rgba(5,20,39,.2);color:#f5f8fd}
.nba-map-hero:after{content:"USA";position:absolute;right:28px;bottom:-35px;color:rgba(255,255,255,.045);font-size:170px;font-weight:1000;letter-spacing:-.09em;line-height:1;pointer-events:none}
.nba-map-eyebrow,.nba-map-kicker{margin:0 0 9px;color:#0874d1;font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.nba-map-hero .nba-map-eyebrow{color:#55adff}.nba-map-hero h1{position:relative;z-index:1;margin:0;color:#f7faff;font-size:clamp(40px,6vw,76px);font-weight:1000;letter-spacing:-.065em;line-height:.92}
.nba-map-hero h1 span{display:block;color:#e42b48}
.nba-map-lead{position:relative;z-index:1;max-width:690px;margin:18px 0 0;color:#b6c6d9;font-size:17px;font-weight:650;line-height:1.55}
.nba-map-kpis{display:flex;position:relative;z-index:1;gap:10px;margin:0}
.nba-map-kpis div{display:flex;min-width:106px;flex-direction:column;padding:15px 16px;border:1px solid rgba(150,190,230,.2);border-radius:16px;background:rgba(4,19,37,.58);backdrop-filter:blur(8px)}
.nba-map-kpis dt{color:#fff;font-size:28px;font-weight:1000;letter-spacing:-.04em;line-height:1}.nba-map-kpis dt span{color:#ff526a;font-size:17px}.nba-map-kpis dd{margin:6px 0 0;color:#9fb2c9;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.nba-map-card,.nba-map-conferences{margin-top:22px;border:1px solid #d9e2ed;border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(15,35,65,.07)}
.nba-map-card{overflow:hidden;padding:24px}
.nba-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.nba-map-head h2,.nba-map-conferences>header h2{margin:0;color:#10243f;font-size:clamp(24px,3vw,36px);font-weight:1000;letter-spacing:-.045em}.nba-map-head>div>p:last-child{max-width:650px;margin:7px 0 0;color:var(--map-muted);font-size:13px;line-height:1.55}
.nba-map-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.nba-map-filters button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #d8e2ed;border-radius:999px;background:#fff;color:#506078;cursor:pointer;font:800 12px/1 system-ui;transition:.15s}.nba-map-filters button:hover,.nba-map-filters button.is-active{border-color:#183a63;background:#183a63;color:#fff}.nba-map-filters i,.nba-map-legend>span>i{width:9px;height:9px;border-radius:50%}.is-west{background:var(--map-west)}.is-east{background:var(--map-east)}
.nba-map-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:10px 13px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.nba-map-legend>span{display:inline-flex;align-items:center;gap:7px;color:#52627a;font-size:11px;font-weight:850}.mini-flag{display:inline-flex;overflow:hidden;width:23px;height:14px;border:1px solid #cad5e1;border-radius:4px}.mini-flag i{flex:1}.mini-flag i:nth-child(1){background:#143f91}.mini-flag i:nth-child(2){background:#fff}.mini-flag i:nth-child(3){background:#ed2939}
.nba-map-scroll{overflow:auto;border-radius:22px;background:#07172b;scrollbar-width:thin;scrollbar-color:#4b6685 #0a1c33}.nba-map-stage{position:relative;min-width:960px}.nba-map-svg{display:block;width:100%;height:auto}.conference-divider{fill:none;stroke:rgba(255,255,255,.34);stroke-width:2;stroke-dasharray:8 8}.conference-name{font:1000 15px/1 system-ui;letter-spacing:.16em}.conference-name.is-west{fill:#69b8ff}.conference-name.is-east{fill:#ff8496}.canada-label{fill:rgba(255,255,255,.32);font:900 10px/1 system-ui;letter-spacing:.12em}.marker-leader{stroke:rgba(255,255,255,.55);stroke-width:1.5;stroke-dasharray:3 3}.team-marker{outline:none}.team-marker-halo{fill:rgba(8,21,38,.9);stroke-width:3}.team-marker.is-west .team-marker-halo{stroke:var(--map-west)}.team-marker.is-east .team-marker-halo{stroke:var(--map-east)}.team-marker-disc{fill:#fff;stroke:rgba(255,255,255,.65);stroke-width:1}.team-marker-tri{fill:#fff;paint-order:stroke;stroke:#07172b;stroke-width:4px;stroke-linejoin:round;font:1000 10px/1 system-ui;letter-spacing:.05em}.team-marker-flag .flag-border{fill:#fff;stroke:#fff;stroke-width:2}.team-marker-flag .flag-count{fill:#fff;paint-order:stroke;stroke:#07172b;stroke-width:4px;font:1000 10px/1 system-ui}.team-marker g{transform-box:fill-box;transform-origin:center;transition:opacity .16s ease}.team-marker:hover .team-marker-halo,.team-marker:focus .team-marker-halo{stroke-width:5}.team-marker:hover>g,.team-marker:focus>g{opacity:1}.team-marker.is-dimmed{pointer-events:none}.team-marker.is-dimmed>g{opacity:.1}.marker-leader.is-dimmed{opacity:.08}
.team-trigram-layer{pointer-events:none}.team-trigram{transition:opacity .16s ease}.team-trigram.is-dimmed{opacity:.1}
.nba-map-brand{pointer-events:none}.nba-map-brand image{filter:drop-shadow(0 4px 28px rgba(0,85,164,.5)) drop-shadow(0 2px 12px rgba(0,0,0,.6))}
.nba-map-tooltip{position:absolute;z-index:10;width:max-content;max-width:320px;padding:11px 13px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(5,17,33,.97);box-shadow:0 12px 30px rgba(0,0,0,.38);color:#fff;pointer-events:none;transform:translate(-50%,calc(-100% - 12px))}.nba-map-tooltip.is-below{transform:translate(-50%,12px)}.nba-map-tooltip>strong{display:block;font-size:13px}.nba-map-tooltip>span{display:block;margin-top:3px;color:#9eb1c9;font-size:10px;font-weight:750}.nba-map-tooltip em{display:block;margin-top:8px;color:#fff;font-size:10px;font-style:normal;font-weight:900}.nba-map-tooltip-players{display:flex;gap:7px;margin-top:5px}.nba-map-tooltip-player{display:flex!important;width:68px;align-items:center;flex-direction:column;margin:0!important;color:#dfe9f5!important;text-align:center}.nba-map-tooltip-player img{width:66px;height:48px;object-fit:cover;object-position:center top;filter:drop-shadow(0 4px 7px rgba(0,0,0,.42))}.nba-map-tooltip-player b{display:block;margin-top:2px;font-size:8px;line-height:1.15}
.nba-map-note{margin:12px 3px 0;color:#7b899c;font-size:10px;line-height:1.5}.nba-map-note a{color:#37658f;font-weight:800}.nba-map-mobile-hint{display:none;margin:0 0 8px;color:#65758b;font-size:11px;font-weight:800}
.nba-map-filters .nba-map-export{border-color:#0d6fc8;background:#0874d1;color:#fff}.nba-map-filters .nba-map-export:hover{border-color:#e42b48;background:#e42b48}.nba-map-filters .nba-map-export:disabled{cursor:wait;opacity:.68}
.nba-map-guide{margin-top:22px;padding:27px 30px;border:1px solid #d9e2ed;border-radius:24px;background:linear-gradient(120deg,#fff,#f3f8fd);box-shadow:0 14px 38px rgba(15,35,65,.06)}.nba-map-guide h2{margin:0;color:#10243f;font-size:clamp(23px,3vw,34px);font-weight:1000;letter-spacing:-.04em}.nba-map-guide p:not(.nba-map-kicker){max-width:970px;margin:11px 0 0;color:#5f6f85;font-size:14px;line-height:1.65}
.nba-map-conferences{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px}.nba-map-conferences>header{grid-column:1/-1}.conference-roster{overflow:hidden;border:1px solid #dce5ef;border-radius:18px}.conference-roster-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;color:#fff}.conference-roster.is-west .conference-roster-head{background:linear-gradient(110deg,#07569e,#1685eb)}.conference-roster.is-east .conference-roster-head{background:linear-gradient(110deg,#a61631,#ed3d56)}.conference-roster-head h3{margin:0;font-size:17px;font-weight:1000}.conference-roster-head span{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;opacity:.78}.conference-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e8eef5}.conference-team{display:flex;min-width:0;align-items:center;gap:10px;padding:11px;background:#fff;color:#17243b;text-decoration:none;transition:background .15s}.conference-team:hover{background:#f1f7fd}.conference-team img{width:34px;height:34px;flex:0 0 34px;object-fit:contain}.conference-team>span{display:flex;min-width:0;flex:1;flex-direction:column}.conference-team strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:950}.conference-team small{margin-top:2px;color:#7b899c;font-size:9px;font-weight:700}.conference-team>b{display:inline-flex;align-items:center;gap:2px;font-size:13px}.conference-team>b em{display:inline-grid;width:15px;height:15px;place-items:center;border-radius:50%;background:#e42b48;color:#fff;font-size:8px;font-style:normal}.conference-team.is-dimmed{display:none}
@media(max-width:900px){.nba-map-hero{grid-template-columns:1fr;padding:32px}.nba-map-kpis{justify-content:flex-start}.nba-map-head{align-items:flex-start;flex-direction:column}.nba-map-filters{justify-content:flex-start}.nba-map-conferences{grid-template-columns:1fr}}
@media(max-width:620px){.nba-map-page{width:min(100% - 16px,1280px);margin-top:10px}.nba-map-hero{padding:26px 20px;border-radius:20px}.nba-map-hero:after{font-size:105px}.nba-map-lead{font-size:14px}.nba-map-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.nba-map-kpis div{min-width:0;padding:11px 9px}.nba-map-kpis dt{font-size:22px}.nba-map-kpis dd{font-size:8px}.nba-map-card,.nba-map-conferences{padding:14px;border-radius:18px}.nba-map-guide{padding:22px 19px;border-radius:18px}.nba-map-mobile-hint{display:block}.nba-map-stage{min-width:940px}.conference-team-grid{grid-template-columns:1fr}.nba-map-conferences{gap:13px}}
html.bbd-dark .page-nba-map{background:#081426;color:#edf4ff}html.bbd-dark .page-nba-map .nba-map-hero{border-color:#29425f;background:linear-gradient(125deg,#0d1d33,#112a4a 58%,#321a2b);box-shadow:none}html.bbd-dark .page-nba-map .nba-map-lead,html.bbd-dark .page-nba-map .nba-map-note{color:#9eb0c8}html.bbd-dark .page-nba-map .nba-map-kpis div{border-color:#304966;background:rgba(10,28,49,.72)}html.bbd-dark .page-nba-map .nba-map-kpis dt,html.bbd-dark .page-nba-map .nba-map-head h2,html.bbd-dark .page-nba-map .nba-map-conferences>header h2,html.bbd-dark .page-nba-map .nba-map-guide h2{color:#f2f7ff}html.bbd-dark .page-nba-map .nba-map-card,html.bbd-dark .page-nba-map .nba-map-conferences,html.bbd-dark .page-nba-map .nba-map-guide{border-color:#29425f;background:#0d1d33;box-shadow:none}html.bbd-dark .page-nba-map .nba-map-guide p:not(.nba-map-kicker){color:#aebed2}html.bbd-dark .page-nba-map .nba-map-legend{border-color:#29425f;background:#102039}html.bbd-dark .page-nba-map .nba-map-legend>span,html.bbd-dark .page-nba-map .nba-map-head>div>p:last-child{color:#aebed2}html.bbd-dark .page-nba-map .nba-map-filters button{border-color:#36506e;background:#102039;color:#c9d8e9}html.bbd-dark .page-nba-map .nba-map-filters button:hover,html.bbd-dark .page-nba-map .nba-map-filters button.is-active{border-color:#5ea9ff;background:#173b63;color:#fff}html.bbd-dark .page-nba-map .nba-map-filters .nba-map-export{border-color:#147acb;background:#116eb6;color:#fff}html.bbd-dark .page-nba-map .conference-roster{border-color:#29425f}html.bbd-dark .page-nba-map .conference-team-grid{background:#29425f}html.bbd-dark .page-nba-map .conference-team{background:#102039;color:#edf4ff}html.bbd-dark .page-nba-map .conference-team:hover{background:#173354}html.bbd-dark .page-nba-map .conference-team small{color:#9eb0c8}
