/* Basketball supplies its court and statistics. Shared MLB styles own the layout. */
.nba-feedback{width:calc(100% - 56px);max-width:1280px;margin:20px auto;padding:14px 18px;background:var(--bb-paper-hover);color:var(--bb-ink);border-radius:4px;font-size:15px;line-height:1.5}
.nba-feedback[hidden]{display:none}.nba-feedback.is-error{background:var(--bb-paper-hover);color:var(--bb-ink)}
.nba-hero-scoreboard-art{display:block;width:100%;height:auto;background:transparent}
.nba-scoreboard-start{position:absolute;left:14.45%;top:86.6%;width:63.55%;height:8.3%;min-height:44px;transform:translateY(-50%);border:0;border-radius:4px;padding:0;background:transparent;cursor:pointer;touch-action:manipulation}
.nba-scoreboard-start:hover:not(:disabled){background:color-mix(in srgb,var(--bb-text) 8%,transparent)}.nba-scoreboard-start:focus-visible{outline:3px solid var(--bb-text);outline-offset:3px;background:color-mix(in srgb,var(--bb-text) 8%,transparent)}
.nba-scoreboard-start:disabled{opacity:1;cursor:wait;background:var(--bb-accent)}.nba-scoreboard-start:disabled::after{content:'Starting your draft…';position:absolute;inset:0;display:grid;place-items:center;padding:4px 8px;color:var(--bb-ink);font:700 clamp(12px,1.5vw,19px)/1.2 var(--body);text-align:center}
.nba-home .ballpark-how{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:36px;align-items:center;padding-block:28px}
.nba-home .ballpark-how h2{margin-bottom:24px}
.nba-home .ballpark-how-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}
.nba-home .ballpark-step,.nba-home .ballpark-step+.ballpark-step{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto 1fr;gap:6px 12px;padding:0;border:0}
.nba-home .ballpark-step-mark{grid-row:1/3;grid-column:1;align-self:start;margin:0;display:block}
.nba-home .ballpark-step-mark svg{width:32px;height:32px;color:var(--bb-muted-ink)}
.nba-home .ballpark-step h3{grid-column:2;grid-row:1;margin:0;font-size:20px;line-height:1.25}
.nba-home .ballpark-step p{grid-column:2;grid-row:2;font-size:14px;line-height:1.5}
.nba-home .ballpark-how-note{margin-top:24px;max-width:60ch}
.nba-home-court{aspect-ratio:auto;width:100%;max-width:400px;justify-self:center}
.nba-lineup-preview{overflow:hidden;margin:0;background:var(--bb-panel);color:var(--bb-text);border-radius:4px}
.nba-lineup-preview .nba-court{position:relative;aspect-ratio:540/510;isolation:isolate;overflow:hidden}
.nba-court-lines{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nba-court-floor{fill:var(--bb-paper-hover)}.nba-court-paint{fill:var(--bb-panel-raised)}
.nba-court-markings{stroke:var(--bb-ink);stroke-width:2.2}
.nba-court-paint-lines{stroke:var(--bb-text);stroke-width:2.2}.nba-court-free-throw{stroke-dasharray:7 7}.nba-court-backboard{stroke-width:4}.nba-court-rim{stroke:var(--bb-accent);stroke-width:4}
.nba-lineup-preview .nba-court-slot{position:absolute;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;min-height:0;width:auto;max-width:32%;padding:0;transform:translate(-50%,-50%);text-align:center}
.nba-lineup-preview .nba-position-tag{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--bb-ink);border-radius:50%;background:var(--bb-accent);color:var(--bb-ink);font:400 17px/1 var(--display)}
.nba-lineup-preview .nba-court-slot strong{font:650 12px/1.3 var(--body);color:var(--bb-ink);white-space:nowrap}
.nba-lineup-preview .nba-slot-pg{left:50%;top:23%}.nba-lineup-preview .nba-slot-sg{left:82%;top:45%}.nba-lineup-preview .nba-slot-sf{left:18%;top:45%}.nba-lineup-preview .nba-slot-pf{left:77%;top:76%}.nba-lineup-preview .nba-slot-c{left:50%;top:70%}
.nba-lineup-preview .nba-slot-c strong{color:var(--bb-text)}
.nba-rotation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px}
.nba-lineup-preview .nba-rotation .nba-court-slot{position:static;transform:none;flex-direction:row;justify-content:center;gap:6px;max-width:none;padding:0}
.nba-lineup-preview .nba-rotation .nba-position-tag{display:inline;width:auto;height:auto;border:0;border-radius:0;background:none;color:var(--bb-accent-hover);font-size:16px}
.nba-lineup-preview .nba-rotation .nba-court-slot strong{color:var(--bb-text);font-size:12px;font-weight:500}
@media(max-width:900px){.nba-home .ballpark-how{grid-template-columns:minmax(0,1fr);gap:24px}.nba-home-court{max-width:360px}}
@media(max-width:420px){.nba-home .ballpark-how{gap:20px}.nba-home .ballpark-how-steps{gap:20px 16px}.nba-home .ballpark-step,.nba-home .ballpark-step+.ballpark-step{grid-template-columns:28px minmax(0,1fr);gap:6px 8px}.nba-home .ballpark-step-mark svg{width:26px;height:26px}.nba-home .ballpark-step h3{font-size:18px}.nba-home .ballpark-step p{font-size:13px}.nba-lineup-preview .nba-position-tag{width:27px;height:27px;font-size:16px}.nba-lineup-preview .nba-court-slot strong{font-size:11px}.nba-rotation{gap:6px;padding:10px 8px}}
@media(max-width:360px){.nba-lineup-preview .nba-slot-sg{left:78%}.nba-lineup-preview .nba-slot-sf{left:22%}}
.nba-page .ballpark-coverage>a{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:underline;font-weight:600}
.nba-page .ballpark-competition .button:disabled{cursor:default;opacity:.7}
.nba-home-activity.panel-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px;margin-bottom:24px}
.nba-home-column{min-width:0}.nba-home-column+.nba-home-column{border-left:1px solid var(--bb-rule-paper);padding-left:24px}
.nba-home-column h2{margin:0 0 12px;font:400 26px/1.2 var(--display);text-transform:uppercase}
.nba-home-column ul{list-style:none;padding:0;margin:0}.nba-home-column li{border-top:1px solid var(--bb-rule-paper)}
.nba-home-note,.nba-home-empty{margin:0 0 12px;color:var(--bb-muted-ink);font-size:13px;line-height:1.5}
.nba-home-draft,.nba-home-bests a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 0;color:var(--bb-ink);text-decoration:none}
.nba-home-draft>span:first-child,.nba-home-bests a>span{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.4}
.nba-home-draft strong,.nba-home-bests strong{font-size:14px;line-height:1.4;font-weight:700}
.nba-home-draft small,.nba-home-bests small{display:block;margin-top:4px;color:var(--bb-muted-ink);font-size:12px;line-height:1.4}
.nba-home-draft-result{flex:none;text-align:right}.nba-home-draft-result b,.nba-home-bests b{font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.nba-home-draft-result small{display:flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap}
.nba-home-draft-result svg{width:16px;height:14px;flex:none}.nba-home-draft:hover strong,.nba-home-bests a:hover strong{text-decoration:underline;text-underline-offset:4px}
.nba-home-bests a{min-height:52px;padding-block:8px}.nba-home-bests b{font-size:18px}
.nba-home-bests small:empty{display:none}
.nba-home-more{border-top:1px solid var(--bb-rule-paper)}.nba-home-more>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:650}
.nba-home-boards nav{display:grid}.nba-home-boards nav>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding-block:10px;border-top:1px solid var(--bb-rule-paper);color:var(--bb-ink);font-size:14px;font-weight:650;text-decoration:none}
.nba-home-boards nav>a:hover span{text-decoration:underline;text-underline-offset:4px}.nba-home-boards nav svg{width:18px;height:14px;flex:none}
.nba-home-activity a:focus-visible,.nba-home-activity summary:focus-visible,.nba-home-activity button:focus-visible{outline:2px solid var(--bb-ink);outline-offset:3px}
@media(max-width:1099px) and (min-width:701px){.nba-home-activity.panel-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.nba-home-boards{grid-column:1/-1}.nba-home-column.nba-home-boards{border-left:0;border-top:1px solid var(--bb-rule-paper);padding:20px 0 0}.nba-home-boards nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}}
@media(max-width:700px){.nba-home-activity.panel-pad{grid-template-columns:minmax(0,1fr);padding:20px;gap:20px}.nba-home-column+.nba-home-column{padding:20px 0 0;border-left:0;border-top:1px solid var(--bb-rule-paper)}.nba-home-column h2{font-size:25px}.nba-home-boards nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.nba-home-boards nav>a{font-size:13px}}
.nba-home-activity.is-empty{grid-template-columns:minmax(0,1fr)}.nba-home-activity.is-empty .nba-home-column:not(.nba-home-boards){display:none}.nba-home-activity.is-empty .nba-home-boards{grid-column:auto;padding:0;border:0}.nba-home-activity.is-empty nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px}
@media(max-width:700px){.nba-home-activity.is-empty nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
.nba-source-note{max-width:1280px;width:calc(100% - 56px);margin:28px auto;color:var(--bb-muted);border-top:1px solid var(--bb-rule);border-bottom:1px solid var(--bb-rule);font-size:15px;line-height:1.65}.nba-source-note>summary{min-height:56px;padding:16px 0;cursor:pointer;font-weight:650;color:var(--bb-text)}.nba-source-note>div{max-width:75ch;padding:0 0 18px}.nba-source-note a{text-decoration:underline;color:var(--bb-text)}.nba-source-note p{margin:0 0 12px}.nba-source-note ul{padding-left:22px;margin:0}
.nba-setup{max-width:760px}.nba-setup .form-field{max-width:440px;margin-bottom:22px}.nba-setup p{max-width:65ch;font-size:16px;line-height:1.6}.nba-setup form>.button{margin:12px 20px 0 0}.nba-stats-note{color:var(--bb-muted-ink);font-size:14px}
.nba-draft-page .draft-head h1{color:var(--bb-text)}.nba-draft-page .draft-head p{color:var(--bb-muted)}.nba-draft-page .daily-position-tools .reroll-button>svg{width:20px;height:20px;flex-shrink:0}.nba-draft-page .daily-roster-button{margin-left:0}.nba-draft-page .daily-clock-foot>p:not(.daily-pick-clock-meta){max-width:66ch}.nba-draft-page .roster-progress{grid-template-columns:repeat(8,minmax(0,1fr))}
.nba-table-wrap{max-width:100%;overflow:auto;scrollbar-color:var(--bb-rule) var(--bb-paper)}.nba-roster-table th:nth-child(n+3),.nba-roster-table td:nth-child(n+3){text-align:right}.nba-roster-table small{display:block;margin-top:3px;font-size:11px;color:var(--bb-muted-ink)}.nba-roster-table tbody th{min-width:110px}.nba-grade-record>div{border-right:0;padding-right:0}
.nba-guest-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:16px 28px;padding:20px;background:var(--bb-paper);color:var(--bb-ink);border-radius:4px;margin:20px 0}.nba-guest-entry h2{font:400 27px/1.2 var(--display);text-transform:uppercase;margin:0 0 8px}.nba-guest-entry p{font-size:14px;line-height:1.55;margin:0;color:var(--bb-muted-ink)}.nba-guest-entry label{display:flex;justify-content:space-between;font-size:14px;font-weight:650}.nba-guest-entry label>span{color:var(--bb-muted-ink);font-size:12px;font-weight:400}.nba-guest-entry form>div{display:flex;gap:8px;margin-top:6px}.nba-guest-entry input{min-width:0;width:100%;min-height:44px;padding:10px;border:1px solid var(--bb-rule);border-radius:3px;background:var(--bb-paper);color:var(--bb-ink);font:16px var(--body)}.nba-guest-entry form>p{font-size:12px;margin-top:6px}.nba-guest-entry form>.nba-name-error{padding:10px;background:var(--bb-paper-hover);color:var(--bb-ink);font-size:14px}.nba-guest-entry .button{font-size:14px;min-height:44px;padding:10px 14px;white-space:nowrap}.nba-guest-entry .nba-save-account{grid-column:1/-1;border-top:1px solid var(--bb-rule-paper);padding-top:12px}.nba-save-account a,.nba-text-link{font-weight:650;text-decoration:underline;text-underline-offset:4px}.nba-text-link{display:inline-flex;align-items:center;min-height:44px;border:0;background:none;padding:0;color:inherit}.nba-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:700px){.nba-feedback,.nba-source-note{width:calc(100% - 32px)}.nba-hero-scoreboard{align-self:center}.nba-home-court{max-width:390px}.nba-guest-entry{grid-template-columns:1fr;padding:18px;gap:16px}.nba-guest-entry form>div{flex-wrap:wrap}.nba-guest-entry input{flex:1 1 160px}.nba-guest-entry .nba-save-account{font-size:13px}.nba-history li{align-items:flex-start}.nba-history strong{font-size:14px}.nba-history small{font-size:12px}.nba-source-note{font-size:14px}.nba-roster-table th,.nba-roster-table td{padding-inline:6px;font-size:13px}.nba-roster-table tbody strong{font-size:14px}.nba-roster-table tbody th span{font-size:11px}.nba-roster-table thead th{font-size:10px}.nba-draft-page .daily-position-tools{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.nba-scoreboard-start{transition:none}}
.nba-roster-modal .modal-inner{padding:54px 18px 18px}.nba-roster-modal .modal-close{display:grid;place-items:center;width:44px;height:44px;top:6px;right:12px}.nba-roster-modal .modal-close svg{width:22px;height:22px}.nba-roster-modal .roster-panel{display:block}.nba-roster-modal .roster-header h2{margin:0;font-size:28px}.nba-roster-modal .roster-header{padding:16px}.nba-roster-modal .roster-slot{padding-block:10px}.nba-roster-modal:focus-visible{outline:3px solid var(--bb-rule);outline-offset:3px}

/* Keep timed player comparison compact while preserving full touch targets. */
.nba-draft-page .draft-head{margin-bottom:12px}
.nba-draft-page .draft-head p{margin:6px 0 0;font-size:14px;line-height:1.4}
.nba-draft-page .player-panel .player-toolbar{padding-block:8px}
.nba-draft-page .player-panel .player-position-group{margin-bottom:12px}
.nba-draft-page .player-panel .player-row{min-height:56px;padding-block:6px}
@container draft-players (min-width:680px){.nba-draft-page .player-panel .player-position-groups{column-count:2}}
@media(max-width:640px){.nba-draft-page .player-panel .player-row{min-height:60px;padding-block:8px}}

/* NBA Daily uses the same lobby and compact draft components as baseball. */
.nba-daily-best{margin-top:22px;padding-top:18px;border-top:1px solid var(--bb-rule-paper)}
.nba-daily-best h3{font:400 25px/1.25 var(--display);text-transform:uppercase;margin:0 0 8px}
.nba-daily-best p{margin:0;font-size:15px;color:var(--bb-muted-ink)}
.nba-daily-best p>strong{color:var(--bb-ink)}
.nba-page .daily-lobby-actions .button,.nba-page .daily-attempt-list a{min-height:44px}

/* Untimed solo controls share Daily spacing without a timer readout. */
.nba-untimed-tools{grid-template-columns:minmax(0,1fr)}
.nba-untimed-tools .daily-position-tools{grid-column:1/-1}
.nba-untimed-tools .daily-clock-foot{grid-column:1/-1}
.nba-board-play{min-height:48px;white-space:normal;text-align:center}
.nba-format-ball{width:92px;height:92px;object-fit:contain;flex:none}
@media(max-width:600px){.nba-page .board-count{gap:12px;align-items:stretch;flex-direction:column}.nba-board-play{width:100%;justify-content:center}.nba-format-ball{width:70px;height:70px}}

/* Saved practice uses the existing Daily roster list. */
.nba-practice-history{margin-top:24px;border-top:1px solid var(--bb-rule-paper)}
.nba-practice-history>summary{min-height:48px;padding:14px 0;cursor:pointer;font-weight:650}
.nba-practice-history>.daily-attempt-list{margin-top:0}
.nba-page .ballpark-hero-art{object-position:50% 38%}

