.basketball-player-summary {
  width: 100%; min-width: 0; min-height: 66px; position: relative;
  display: grid; grid-template-columns: 48px minmax(0,1fr) 38px 18px;
  align-items: center; gap: 11px; padding: 8px 10px;
  border: 1px solid var(--line-soft); border-radius: 11px;
  background: rgba(255,255,255,.018); color: var(--text);
  text-align: left; cursor: pointer;
  transition: border-color .15s,background .15s,transform .15s,box-shadow .15s;
}

/* The pregame scoreboard opens the exact roster frozen into the current match snapshot. */
[data-match-team-heading] { align-items:center; display:grid; gap:8px; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); width:min(100%,760px); }
.match-team-heading__team { align-items:center; display:grid; gap:9px; grid-template-columns:34px minmax(0,1fr); min-height:52px; min-width:0; padding:7px 10px; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 38%,var(--line,#2d394c)); border-radius:10px; background:color-mix(in srgb,var(--accent,#e8612d) 8%,transparent); color:var(--text,#eef2f7); font:inherit; cursor:pointer; text-align:left; }
.match-team-heading__mark { height:34px; width:34px; }
.match-team-heading__copy { display:grid; gap:1px; min-width:0; }
.match-team-heading__copy small { color:var(--muted,#96a2b5); font-size:8px; font-weight:800; letter-spacing:.08em; line-height:1.2; }
.match-team-heading__copy strong { color:inherit; display:block; font-size:clamp(13px,1.55vw,18px); font-weight:900; letter-spacing:-.025em; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.match-team-heading__team:hover,.match-team-heading__team:focus-visible { border-color:var(--accent-strong,#f2a06f); background:color-mix(in srgb,var(--accent,#e8612d) 16%,transparent); color:var(--accent-strong,#f2a06f); outline:none; }
.match-team-heading__separator { color:var(--muted,#96a2b5); font-size:11px; font-weight:700; text-transform:uppercase; }
.basketball-match-team-dialog { width:min(900px,calc(100vw - 28px)); max-height:min(840px,calc(100dvh - 28px)); margin:auto; padding:0; overflow:hidden; border:1px solid var(--line-strong,#3a485d); border-radius:18px; background:linear-gradient(145deg,var(--surface,#111923),var(--surface-2,#0b111a)); color:var(--text,#eef2f7); box-shadow:0 30px 90px rgba(0,0,0,.68); }
.basketball-match-team-dialog::backdrop { background:rgba(3,6,10,.82); backdrop-filter:blur(6px); }
.basketball-match-team-dialog > header { position:sticky; z-index:3; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:17px 19px 14px; border-bottom:1px solid var(--line,#2d394c); background:rgba(10,15,23,.96); }
.basketball-match-team-dialog > header > div { display:grid; gap:2px; min-width:0; }
.basketball-match-team-dialog > header p,.basketball-match-team-dialog > header h2 { margin:0; }
.basketball-match-team-dialog > header p { color:var(--accent-strong,#f2a06f); font-size:9px; font-weight:900; letter-spacing:.12em; }
.basketball-match-team-dialog > header h2 { font-size:21px; }
.basketball-match-team-dialog > header span { color:var(--muted,#96a2b5); font-size:10px; }
.basketball-match-team-dialog > header button { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; padding:0; border:1px solid var(--line-strong,#3a485d); border-radius:50%; background:var(--surface-3,#172131); color:var(--text,#eef2f7); font-size:23px; cursor:pointer; }
.basketball-match-team-dialog > [data-match-team-dialog-content] { max-height:calc(min(840px,100dvh - 28px) - 82px); overflow-y:auto; overscroll-behavior:contain; }
.basketball-match-team-dialog__overview { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:20px; background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--accent,#e8612d) 17%,transparent),transparent 42%); }
.basketball-match-team-dialog__overview > div:first-child { display:flex; align-items:center; gap:13px; min-width:0; }
.basketball-match-team-dialog__overview > div:first-child > span { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 38%,var(--line,#2d394c)); border-radius:14px; background:color-mix(in srgb,var(--accent,#e8612d) 10%,var(--surface-3,#172131)); color:var(--accent-strong,#f2a06f); font-size:25px; font-weight:950; }
.basketball-match-team-dialog__overview > div:first-child > span img { height:86%; object-fit:contain; width:86%; }
.basketball-match-team-dialog__overview h3 { margin:3px 0 0; font-size:22px; }
.basketball-match-team-dialog__overview small { color:var(--accent-strong,#f2a06f); font-size:9px; font-weight:850; }
.basketball-match-team-dialog__metrics { display:grid; grid-template-columns:repeat(3,minmax(66px,1fr)); gap:7px; }
.basketball-match-team-dialog__metrics > div { display:grid; gap:3px; min-height:58px; padding:9px 11px; border:1px solid var(--line,#2d394c); border-radius:10px; background:rgba(7,12,19,.64); }
.basketball-match-team-dialog__metrics span { color:var(--muted,#96a2b5); font-size:9px; }
.basketball-match-team-dialog__metrics strong { color:var(--accent-strong,#f2a06f); font-size:18px; }
.basketball-match-team-dialog__roster { padding:0 18px 20px; }
.basketball-match-team-dialog__roster > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:14px 2px 10px; }
.basketball-match-team-dialog__roster h3 { margin:0; font-size:15px; }
.basketball-match-team-dialog__roster > header span { color:var(--muted,#96a2b5); font-size:10px; }
.basketball-match-team-dialog__players { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.basketball-match-team-dialog__players .basketball-player-summary { min-width:0; }
.basketball-match-team-dialog__player-fallback,.basketball-match-team-dialog__empty { min-height:54px; display:flex; align-items:center; padding:10px 12px; border:1px solid var(--line,#2d394c); border-radius:10px; background:rgba(7,12,19,.58); color:var(--muted,#96a2b5); }
.basketball-match-team-dialog__empty { grid-column:1/-1; justify-content:center; }
@media (max-width:650px) {
  [data-match-team-heading] { gap:5px; }
  .match-team-heading__team { gap:7px; grid-template-columns:30px minmax(0,1fr); min-height:48px; padding:6px 7px; }
  .match-team-heading__mark { height:30px; width:30px; }
  .match-team-heading__copy strong { font-size:12px; }
  .match-team-heading__copy small { font-size:7px; letter-spacing:.04em; }
  .basketball-match-team-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
  .basketball-match-team-dialog > [data-match-team-dialog-content] { max-height:calc(100dvh - 98px); }
  .basketball-match-team-dialog__overview { grid-template-columns:1fr; padding:15px 13px; }
  .basketball-match-team-dialog__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .basketball-match-team-dialog__roster { padding:0 10px 14px; }
  .basketball-match-team-dialog__roster > header { align-items:flex-start; flex-direction:column; gap:3px; }
  .basketball-match-team-dialog__players { grid-template-columns:1fr; }
}

/* Shared pregame/live command workspace used by every basketball mode. */
.live-match-console[hidden],.practice-client-result[hidden]{display:none}.live-match-console{border:1px solid rgba(232,97,45,.5);border-radius:14px;padding:16px;scroll-margin-top:84px}.live-match-scoreboard{align-items:center;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) auto auto}.live-match-scoreboard h2,.live-match-scoreboard p{margin:3px 0}.practice-scoreboard__matchup{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.practice-difficulty-badge{background:#172232;border:1px solid #52647c;border-radius:999px;color:#c8d4e4;font-size:9px;font-weight:900;padding:5px 8px}.live-match-score{align-items:center;display:flex;gap:12px}.live-match-score strong{font-size:clamp(30px,5vw,50px);line-height:1}.live-match-score span{color:var(--accent);font-size:24px}.live-match-clock{display:grid;justify-items:end}.live-match-clock b{color:#f2a06f}.live-match-clock span{color:var(--muted);font-size:13px}.practice-local-banner{align-items:center;background:rgba(232,97,45,.08);border:1px solid rgba(232,97,45,.28);border-radius:10px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;margin:16px 0;padding:10px 12px}.practice-local-banner strong{color:#f2a06f;font-size:10px}.practice-local-banner span{color:var(--muted);font-size:10px}.practice-local-banner button{background:transparent;border:1px solid #a64f31;border-radius:7px;color:#f3b092;min-height:38px}.live-match-progress{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;margin:18px 0}.live-match-progress progress{accent-color:var(--accent);height:8px;width:100%}.live-match-progress span{color:var(--muted);font-size:10px}.live-match-phase{align-items:center;background:linear-gradient(100deg,rgba(232,97,45,.12),rgba(12,18,27,.72));border:1px solid rgba(232,97,45,.34);border-radius:12px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:16px;padding:14px 15px}.live-match-phase__copy{display:grid;gap:4px}.live-match-phase__copy span{color:#f2a06f;font-size:9px;font-weight:900}.live-match-phase__copy small{color:var(--muted)}.live-match-phase__actions{align-items:flex-end;display:flex;gap:9px}.live-match-phase button,.practice-playback-speed select{background:#172131;border:1px solid #3b4a60;border-radius:8px;color:#fff;min-height:44px;padding:9px 13px}.practice-playback-speed{display:grid;gap:5px;min-width:142px}.practice-playback-speed>span{color:var(--muted);font-size:8px}.live-pause-view-switch{background:#0b111a;border:1px solid #283449;border-radius:12px;display:grid;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;padding:5px}.live-pause-view-switch[hidden]{display:none}.live-pause-view-switch button{background:transparent;border:0;border-radius:8px;color:#8997aa;display:grid;min-height:44px;padding:7px}.live-pause-view-switch button.is-active{background:rgba(232,97,45,.2);color:#fff}.live-match-layout{display:grid;gap:18px;grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr)}.live-match-feed,.live-match-controls{background:#090e16;border:1px solid #293548;border-radius:12px;min-width:0;padding:15px}.live-match-console[data-match-view="pregame"] .basketball-live-overview,.live-match-console:is([data-match-view="paused"],[data-match-view="running"]):not([data-pause-view="events"]) .basketball-live-overview{display:none}.live-match-console:is([data-match-view="paused"],[data-match-view="running"])[data-pause-view="events"] .live-match-controls{display:none}.live-match-console .live-team-performance[data-live-stats-panel]{display:none}.live-match-console:is([data-match-view="paused"],[data-match-view="running"])[data-pause-view="stats"] .live-match-controls>:not([data-live-stats-panel]){display:none}.live-match-console:is([data-match-view="paused"],[data-match-view="running"])[data-pause-view="stats"] .live-team-performance[data-live-stats-panel]{display:block}.live-match-console[data-match-view] .live-match-layout{grid-template-columns:minmax(0,1fr)}.practice-client-result{border:1px solid rgba(232,97,45,.35);border-radius:14px;margin-top:14px;padding:16px}.practice-client-result>header{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto auto}.practice-final-score{display:grid;justify-items:center}.practice-final-score strong{color:var(--accent);font-size:34px}.practice-result-tabs{display:flex;gap:5px;margin:16px 0}.practice-result-tabs button{min-height:40px}.practice-result-tabs button.is-active{background:var(--accent);color:#fff}@media(max-width:760px){.live-match-scoreboard{grid-template-columns:1fr auto}.live-match-scoreboard>div:first-child{grid-column:1/-1}.live-match-phase{grid-template-columns:1fr}.live-match-phase__actions{display:grid;grid-template-columns:1fr 1fr}.live-match-layout{grid-template-columns:1fr}.practice-local-banner,.practice-client-result>header{grid-template-columns:1fr}.live-pause-view-switch small{display:none}}
.basketball-kicker{color:#f08a57;font-size:11px;font-weight:800;letter-spacing:.18em;margin:0 0 8px}
.live-command-tabs{align-items:stretch;background:rgba(9,15,24,.82);border:1px solid #2d394b;border-radius:14px;display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px}.live-command-tabs>button{align-items:flex-start;background:transparent;border:1px solid transparent;border-radius:10px;color:#8f9caf;display:grid;gap:2px;justify-items:start;min-height:54px;padding:9px 12px;text-align:left}.live-command-tabs>button span{font-size:12px;font-weight:900}.live-command-tabs>button small{font-size:9px;font-weight:650}.live-command-tabs>button.is-active{background:linear-gradient(135deg,rgba(232,97,45,.22),rgba(232,97,45,.08));border-color:rgba(232,97,45,.55);color:#fff}.live-command-delivery{background:rgba(232,97,45,.1);border:1px solid rgba(232,97,45,.38);border-radius:10px;color:#ffc19e;font-size:11px;font-weight:850;padding:10px 12px}.live-command-delivery[data-status="pending"]{border-style:dashed}.live-command-delivery[data-status="active"]{background:rgba(76,190,132,.1);border-color:rgba(76,190,132,.38);color:#9ee7bd}.live-command-delivery[data-status="expired"]{background:rgba(113,128,151,.09);border-color:#344155;color:#9aa7ba}.live-quick-command-actions{align-items:center;border-top:1px solid #293548;display:flex;gap:14px;justify-content:space-between;margin-top:14px;padding-top:12px}.live-quick-command-actions>span{color:#8f9caf;font-size:10px;line-height:1.5}.live-quick-command-actions>button{flex:0 0 auto;min-width:150px}.live-match-controls[data-live-workspace-phase="running"] .live-command-hero{border-color:rgba(232,97,45,.45)}
@media(max-width:760px){.live-command-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.live-command-tabs::-webkit-scrollbar{display:none}.live-command-tabs>button{flex:1 0 122px}.live-quick-command-actions{align-items:stretch;flex-direction:column}.live-quick-command-actions>button{min-height:46px;width:100%}}

/* Shared courtside workspace: one court for substitutions, scoring order and duties. */
.live-match-controls{background:radial-gradient(circle at 0 0,rgba(232,97,45,.1),transparent 28%),linear-gradient(145deg,#0d141f,#080d14);border-color:#344258;border-radius:16px;padding:20px}
.live-command-hero{align-items:center;border-bottom:1px solid #2b3749;display:flex;gap:20px;justify-content:space-between;padding:0 1px 17px}
.live-command-hero>div:first-child>small,.live-adjustment-workspace>header small,.live-current-strategy>header small,.live-team-performance>header small{color:#e98251;display:block;font-size:8px;font-weight:950;letter-spacing:.13em;margin-bottom:4px}
.live-command-hero h3{font-size:20px;letter-spacing:-.02em;margin:0}.live-command-hero p{color:#8e9bb0;font-size:10px;line-height:1.55;margin:4px 0;max-width:720px}
.live-control-states{align-items:end;display:grid;gap:5px;justify-items:end}.live-control-states span{background:rgba(232,97,45,.12);border-radius:999px;color:#f2a06f;font-size:9px;padding:6px 9px}
.live-adjustment-workspace{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)}
.live-adjustment-workspace[hidden]{display:none}
.live-adjustment-workspace>header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.live-adjustment-workspace>header h3,.live-adjustment-workspace>header p{margin:0}.live-adjustment-workspace>header p{color:#8e9bb0;font-size:10px;line-height:1.5;margin-top:3px}.live-adjustment-workspace>header>span{background:rgba(232,97,45,.1);border:1px solid rgba(232,97,45,.32);border-radius:99px;color:#f2a06f;font-size:9px;font-weight:800;padding:6px 9px;white-space:nowrap}
.live-adjustment-workspace>header,.live-adjustment-workspace>.live-court-performance{grid-column:1/-1}
.live-adjustment-workspace>.live-remaining-rotation{grid-column:1/-1}
.live-court-performance{display:block!important}
.live-court-performance>.basketball-command-lineup-board{margin:0;max-width:none}
.live-court-performance>.basketball-command-lineup-board .basketball-lineup-plan{display:flex!important}
.live-court-performance>.basketball-command-lineup-board .basketball-lineup-board__workspace{grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr)!important}
.live-current-strategy,.live-adjustment-workspace>.live-command-section--quick{height:100%;margin:0}
.live-current-strategy,.live-team-performance,.live-adjustment-workspace>.live-command-section--quick{background:linear-gradient(145deg,rgba(18,27,40,.96),rgba(10,16,25,.96));border:1px solid #2e3a4d;border-radius:12px;padding:14px}
.live-current-strategy>header,.live-team-performance>header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.live-current-strategy h4,.live-current-strategy p,.live-team-performance h4,.live-team-performance p{margin:0}.live-current-strategy h4,.live-team-performance h4{color:#f4f7fb;font-size:14px}.live-current-strategy p,.live-team-performance p{color:#8e9bb0;font-size:10px;line-height:1.5;margin-top:3px}.live-current-strategy>header>span,.live-team-performance__header-tools>span{background:rgba(232,97,45,.1);border:1px solid rgba(232,97,45,.32);border-radius:99px;color:#f2a06f;font-size:9px;font-weight:800;padding:6px 9px;white-space:nowrap}
.live-current-strategy [data-live-current-strategy-values]{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.live-current-strategy [data-live-current-strategy-values]>span{background:#0b121c;border:1px solid #293548;border-radius:9px;display:grid;gap:3px;padding:9px 10px}.live-current-strategy [data-live-current-strategy-values] small{color:#7f8da3;font-size:8px}.live-current-strategy [data-live-current-strategy-values] strong{color:#eef3fa;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-team-performance__header-tools{align-items:flex-end;display:grid;gap:8px;justify-items:end}.live-box-view-switch{background:#09101a;border:1px solid #2c394b;border-radius:10px;display:grid;gap:3px;grid-template-columns:repeat(2,minmax(64px,1fr));padding:3px}.live-box-view-switch button{background:transparent;border:0;border-radius:7px;color:#8391a5;font-size:10px;font-weight:850;min-height:34px;padding:6px 11px}.live-box-view-switch button.is-active{background:linear-gradient(135deg,rgba(232,97,45,.25),rgba(232,97,45,.1));box-shadow:inset 0 0 0 1px rgba(232,97,45,.45);color:#fff}
.basketball-live-duty-performance{background:rgba(7,12,19,.34);border:1px solid var(--line);border-radius:10px;display:grid;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:8px}
.basketball-live-duty-performance>div{display:grid;gap:2px;justify-items:center;min-width:0}
.basketball-live-duty-performance dt{color:var(--muted);font-size:9px}
.basketball-live-duty-performance dd{color:var(--text);font-size:13px;font-weight:900;margin:0}
.basketball-live-duty-performance dd[data-energy="fresh"]{color:#87dfad}
.basketball-live-duty-performance dd[data-energy="tired"]{color:#f2bd74}
.basketball-live-duty-performance dd[data-energy="critical"]{color:#ef8174}
.basketball-live-player-instructions{background:rgba(7,12,19,.34);border:1px solid var(--line);border-radius:10px;display:grid;gap:9px;padding:10px}
.basketball-live-player-instructions>header{align-items:center;display:flex;gap:10px;justify-content:space-between}
.basketball-live-player-instructions>header strong{font-size:12px}
.basketball-live-player-instructions>header small{color:var(--muted);font-size:9px}
.basketball-live-player-instructions>div{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.basketball-live-player-instructions label{display:grid;gap:4px;min-width:0}
.basketball-live-player-instructions label>span{color:var(--muted);font-size:10px;font-weight:800}
.basketball-live-player-instructions select{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:8px;color:var(--text);font-size:11px;min-height:40px;padding:6px 8px;width:100%}
.basketball-live-player-instructions label>small{color:var(--muted);font-size:9px;line-height:1.35;min-height:25px}
.basketball-live-lineup-board .basketball-lineup-plan__identity.is-live-player{appearance:none;cursor:pointer;grid-template-columns:46px minmax(0,1fr) auto;width:100%}
.basketball-live-lineup-board .basketball-lineup-plan__identity.is-live-player:hover,.basketball-live-lineup-board .basketball-lineup-plan__identity.is-live-player:focus-visible{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--surface-3)),var(--surface-3));border-color:var(--accent);outline:none}
.basketball-lineup-plan__portrait{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;display:flex;height:42px;justify-content:center;overflow:hidden;width:46px}
.basketball-lineup-plan__portrait img{height:100%;object-fit:cover;object-position:center 18%;width:100%}
.basketball-lineup-plan__portrait i{color:var(--accent-strong);font-size:16px;font-style:normal;font-weight:900}
.basketball-live-lineup-board .basketball-lineup-plan__identity>.basketball-lineup-plan__rating{align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:none;display:flex;font-size:15px;font-weight:950;height:34px;justify-content:center;margin:0;min-width:38px;padding:0 6px;width:auto}
.basketball-live-lineup-board .basketball-lineup-plan__controls{grid-template-columns:1fr}
.basketball-live-court-slot__status{align-items:flex-end;bottom:4px;display:flex;height:22px;left:6px;pointer-events:none;position:absolute;z-index:5}
.basketball-live-court-slot__status em{align-items:center;background:#f2b84b;border-radius:999px;color:#201407;display:flex;font-size:8px;font-style:normal;font-weight:900;height:18px;justify-content:center;min-width:28px;padding:2px 6px;position:static}
.basketball-live-court-picker{width:min(760px,calc(100vw - 32px))}
.basketball-live-court-picker .basketball-court-picker__list{grid-template-columns:1fr}
.basketball-live-court-picker .basketball-court-candidate{grid-template-columns:minmax(0,1fr) minmax(178px,auto);align-items:stretch}
.basketball-live-court-picker .basketball-court-candidate>button:first-child{min-width:0}
.basketball-live-court-picker .basketball-court-candidate.is-selectable{cursor:pointer}.basketball-live-court-picker .basketball-court-candidate.is-selectable:hover,.basketball-live-court-picker .basketball-court-candidate.is-selectable:focus-within{border-color:rgba(232,97,45,.62);box-shadow:0 0 0 2px rgba(232,97,45,.12)}
.basketball-live-court-picker .basketball-live-candidate__profile{border:0;border-radius:0;background:transparent;min-height:82px}
.basketball-live-court-picker .basketball-live-candidate__profile:hover{background:rgba(232,97,45,.08)}
.basketball-live-court-picker .basketball-court-candidate.is-current .basketball-live-candidate__profile{cursor:default;opacity:1}
.basketball-live-candidate__state{align-content:center;align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding:9px 10px}
.basketball-live-court-picker .basketball-live-candidate__state em,.basketball-live-candidate__unit{padding:3px 6px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.04);font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}
.basketball-live-candidate__unit{color:#9eb0c6!important}
.basketball-live-candidate__performance{padding:3px 6px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);color:#aab5c4!important}.basketball-live-candidate__performance[data-performance="elite"],.basketball-live-candidate__performance[data-performance="carry"]{border-color:rgba(232,97,45,.32);background:rgba(232,97,45,.11);color:#ffad86!important}.basketball-live-candidate__performance[data-performance="positive"]{border-color:rgba(74,171,118,.26);background:rgba(74,171,118,.08);color:#93d8b2!important}.basketball-live-candidate__performance[data-performance="low"],.basketball-live-candidate__performance[data-performance="struggling"],.basketball-live-candidate__performance[data-performance="critical"]{border-color:rgba(218,94,83,.28);background:rgba(218,94,83,.09);color:#eaa099!important}
.basketball-live-candidate__state small{color:#87dfad;font-size:8px;font-weight:800;white-space:nowrap}
.basketball-live-candidate__state small[data-energy="tired"]{color:#f2bd74}
.basketball-live-candidate__state small[data-energy="critical"]{color:#ef8174}
.basketball-live-candidate__minutes{align-items:center;display:flex;gap:4px;color:#8f9caf;font-size:8px;white-space:nowrap}
.basketball-live-candidate__minutes input{appearance:textfield;background:#0d1622;border:1px solid #35445a;border-radius:7px;color:#f4f7fb;font-size:11px;font-weight:900;height:30px;padding:3px;text-align:center;width:44px}
.basketball-live-candidate__minutes input:focus{border-color:#e98251;outline:2px solid rgba(232,97,45,.18)}
[data-live-picker-minute-total]{display:inline-flex;margin-top:8px;padding:5px 8px;border:1px solid rgba(76,190,132,.28);border-radius:99px;background:rgba(76,190,132,.08);color:#9ee7bd;font-size:9px;font-weight:850}
[data-live-picker-minute-total][data-valid="false"]{border-color:rgba(239,129,116,.35);background:rgba(239,129,116,.08);color:#ef9a90}
@media(max-width:620px){.basketball-live-court-picker{width:100%}.basketball-live-court-picker .basketball-court-candidate{grid-template-columns:1fr}.basketball-live-candidate__state{border-top:1px solid rgba(255,255,255,.06);justify-content:flex-start;padding:8px 10px 10px}.basketball-live-candidate__minutes input{height:34px}}
.live-remaining-rotation{background:linear-gradient(145deg,rgba(18,27,40,.96),rgba(10,16,25,.96));border:1px solid #2e3a4d;border-radius:12px;overflow:hidden}
.live-remaining-rotation>header{align-items:center;border-bottom:1px solid #2e3a4d;display:flex;gap:16px;justify-content:space-between;min-height:58px;padding:11px 14px}
.live-remaining-rotation>header>span{display:grid;gap:2px;min-width:0}
.live-remaining-rotation>header small{color:#e98251;font-size:8px;font-weight:950;letter-spacing:.13em}
.live-remaining-rotation>header strong{color:#f4f7fb;font-size:14px}
.live-remaining-rotation>header em{color:#8e9bb0;font-size:10px;font-style:normal;line-height:1.4}
.live-remaining-rotation>header>b{background:rgba(232,97,45,.1);border:1px solid rgba(232,97,45,.42);border-radius:99px;color:#f2a06f;font-size:10px;padding:6px 10px;white-space:nowrap}
.live-remaining-rotation>[data-live-remaining-rotation]{padding:12px}
.live-remaining-rotation .basketball-tactics-rotation-panel{margin:0}
@media(max-width:1050px){
  .live-adjustment-workspace{grid-template-columns:1fr}
  .live-adjustment-workspace>header,.live-adjustment-workspace>.live-court-performance,.live-adjustment-workspace>.live-team-performance,.live-adjustment-workspace>.live-remaining-rotation{grid-column:auto}
}
@media(max-width:900px){
  .live-court-performance>.basketball-command-lineup-board .basketball-lineup-board__workspace{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .live-match-controls{border-radius:13px;padding:13px}.live-command-hero{align-items:flex-start}.live-command-hero h3{font-size:18px}
  .live-adjustment-workspace{gap:11px}
  .live-adjustment-workspace>header,.live-current-strategy>header,.live-team-performance>header{align-items:stretch;flex-direction:column;gap:8px}.live-adjustment-workspace>header>span,.live-current-strategy>header>span{align-self:flex-start}.live-current-strategy [data-live-current-strategy-values]{grid-template-columns:repeat(2,minmax(0,1fr))}.live-team-performance__header-tools{align-items:center;display:flex;justify-content:space-between;width:100%}.live-box-view-switch button{min-height:44px;min-width:70px}
  .live-adjustment-workspace>header p{font-size:11px!important}
  .live-court-performance>.basketball-command-lineup-board{padding:11px}
  .live-court-performance>.basketball-command-lineup-board .basketball-lineup-plan__players{max-height:none;overflow:visible;padding:9px}
  .basketball-live-duty-performance{grid-template-columns:repeat(5,minmax(46px,1fr));overflow-x:auto}
  .basketball-lineup-plan__duty-group>div,.basketball-lineup-plan__duty-special>div{grid-template-columns:1fr}
  .live-remaining-rotation>header{align-items:flex-start;padding:11px 12px}
  .live-remaining-rotation>header em{font-size:9px}
}
.basketball-player-summary:hover { border-color: rgba(232,97,45,.42); background: rgba(232,97,45,.06); transform: translateY(-1px); }
.basketball-player-summary--no-rating { grid-template-columns:48px minmax(0,1fr) 18px; }
.basketball-player-summary:focus-visible { outline: none; border-color: var(--accent-strong); box-shadow: 0 0 0 3px var(--accent-soft); }
.basketball-player-summary__portrait { width: 48px; height: 48px; overflow: hidden; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: var(--surface-3); }
.basketball-player-summary__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.basketball-player-summary__copy { min-width:0; display:grid; gap:2px; overflow:hidden; }
.basketball-player-summary__name { align-items: center; display: flex; gap: 6px; min-width: 0; }
.basketball-player-summary__name strong { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-player-summary__name em { background:rgba(232,97,45,.12); border:1px solid rgba(232,97,45,.28); border-radius:999px; color:#f2a06f; flex:0 1 auto; font-size:9px; font-style:normal; font-weight:850; letter-spacing:.04em; line-height:1; max-width:38%; overflow:hidden; padding:3px 5px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-player-summary__copy strong,.basketball-player-summary__copy small,.basketball-player-summary__copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.basketball-player-summary__copy strong { font-size: 14px; line-height: 1.35; }
.basketball-player-summary__copy small { color: var(--muted); font-size: 11px; }
.basketball-player-summary__copy > span { color: var(--muted-2); font-size: 10px; }
.basketball-player-summary__rating { width:38px; min-height:32px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:8px; background:var(--rating-badge-background); color:var(--rating-ink); font-size:12px; font-weight:900; }
.basketball-player-summary__rating.rating-breakthrough,.basketball-player-summary__rating.rating-peak { letter-spacing: -.045em; box-shadow: 0 0 0 1px rgba(255,255,255,.16),0 7px 18px var(--rating-soft); }
.basketball-overall-badge { align-items:center; background:var(--rating-badge-background); border:1px solid rgba(255,255,255,.18); border-radius:7px; color:var(--rating-ink); display:inline-flex; font-size:10px; font-weight:900; justify-content:center; min-height:28px; min-width:34px; padding:4px 7px; }
.basketball-player-summary__arrow { color: var(--muted-2); font-size: 20px; font-style: normal; line-height: 1; transition: color .15s,transform .15s; }
.basketball-player-summary:hover .basketball-player-summary__arrow { color: var(--accent-strong); transform: translateX(2px); }
.basketball-player-summary--plain { border-color: transparent; background: transparent; }
.basketball-player-summary--plain:hover { border-color: rgba(232,97,45,.28); }
.basketball-collectible-card {
  --collectible-accent: var(--accent-strong,#f28a52);
  --collectible-series-layer: radial-gradient(circle at 18% 0,color-mix(in srgb,var(--collectible-accent) 13%,transparent),transparent 42%);
  position: relative; isolation: isolate; overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--collectible-accent) 42%,var(--line,#354157));
  border-radius: 18px;
  background: var(--collectible-series-layer),linear-gradient(155deg,color-mix(in srgb,var(--collectible-accent) 10%,#172231),#090e16 70%);
  box-shadow: inset 0 1px rgba(255,255,255,.09),0 14px 32px rgba(0,0,0,.22);
  transition: border-color .16s,box-shadow .16s,transform .16s;
}
.basketball-collectible-card::before { content:""; position:absolute; z-index:2; inset:0 0 auto; height:4px; background:linear-gradient(90deg,transparent,var(--collectible-accent) 16% 84%,transparent); pointer-events:none; }
.basketball-collectible-card::after { content:""; position:absolute; z-index:-1; width:190px; height:310px; right:-112px; top:-92px; transform:rotate(26deg); background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--collectible-accent) 14%,transparent),transparent); pointer-events:none; }
.basketball-collectible-card:hover { border-color:var(--collectible-accent); box-shadow:inset 0 1px rgba(255,255,255,.12),0 18px 38px rgba(0,0,0,.3); transform:translateY(-2px); }
.basketball-collectible-card.tier-fringe,.basketball-collectible-card.tier-basic { --collectible-accent:#8694a8; }
.basketball-collectible-card.tier-role,.basketball-collectible-card.tier-advanced { --collectible-accent:#6f9bc9; }
.basketball-collectible-card.tier-rotation,.basketball-collectible-card.tier-premium { --collectible-accent:#e98251; }
.basketball-collectible-card.tier-all_star,.basketball-collectible-card.tier-elite { --collectible-accent:#a681ff; }
.basketball-collectible-card.tier-superstar,.basketball-collectible-card.tier-legendary { --collectible-accent:#ffca67; }
.basketball-collectible-card[data-card-series="curr"] { --collectible-series-layer:linear-gradient(125deg,rgba(232,97,45,.13),transparent 34%),radial-gradient(circle at 82% 8%,rgba(255,255,255,.06),transparent 31%); }
.basketball-collectible-card[data-card-series="class"] { --collectible-series-layer:repeating-linear-gradient(135deg,rgba(210,171,94,.07) 0 2px,transparent 2px 13px),radial-gradient(circle at 16% 0,rgba(210,171,94,.18),transparent 45%); }
.basketball-collectible-card[data-card-series="allt"] { --collectible-series-layer:radial-gradient(circle at 16% 18%,rgba(255,255,255,.13) 0 1px,transparent 2px),radial-gradient(circle at 78% 12%,rgba(166,129,255,.24),transparent 42%); background-size:34px 34px,auto; }
.basketball-collectible-card[data-card-series="generated"] { --collectible-series-layer:linear-gradient(135deg,rgba(93,205,185,.14),transparent 40%),radial-gradient(circle at 82% 0,rgba(93,205,185,.12),transparent 38%); }
.basketball-collectible-card__face { min-height:132px; margin:-4px -4px 12px; padding:17px 16px 14px; display:grid; align-content:end; gap:5px; border-bottom:1px solid color-mix(in srgb,var(--collectible-accent) 26%,transparent); background:radial-gradient(circle at 82% 24%,color-mix(in srgb,var(--collectible-accent) 22%,transparent),transparent 35%); }
.basketball-collectible-card__face header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.basketball-collectible-card__type { color:color-mix(in srgb,var(--collectible-accent) 72%,#fff); font-size:10px; font-weight:900; letter-spacing:.08em; }
.basketball-collectible-card__mark { width:52px; height:52px; display:grid; place-items:center; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--collectible-accent) 52%,rgba(255,255,255,.2)); border-radius:15px 15px 15px 5px; background:color-mix(in srgb,var(--collectible-accent) 18%,#0b111a); color:var(--collectible-accent); font-size:18px; font-weight:950; box-shadow:0 9px 20px rgba(0,0,0,.28); }
.basketball-collectible-card__face h2,.basketball-collectible-card__face h3 { margin:2px 0 0; font-size:20px; letter-spacing:-.025em; }
.basketball-collectible-card__face p { margin:0; color:#aeb8c8; font-size:11px; line-height:1.45; }
.basketball-fusion-rank { --fusion-color:#aeb8c8; --fusion-soft:rgba(134,148,168,.14); min-width:62px; min-height:48px; padding:6px 9px; display:grid; place-content:center; place-items:center; gap:1px; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--fusion-color) 55%,rgba(255,255,255,.12)); border-radius:14px 14px 14px 5px; background:linear-gradient(145deg,color-mix(in srgb,var(--fusion-color) 18%,#151d29),#0a0f17); box-shadow:0 9px 20px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.1); color:var(--fusion-color); line-height:1; text-align:center; }
.basketball-fusion-rank small { display:block; color:color-mix(in srgb,var(--fusion-color) 58%,#c5cfdd); font-size:8px; font-weight:900; letter-spacing:.12em; line-height:1; }
.basketball-fusion-rank strong { display:block; font-size:17px; font-weight:950; letter-spacing:-.02em; line-height:1; text-shadow:0 0 14px color-mix(in srgb,var(--fusion-color) 35%,transparent); }
.basketball-fusion-rank[data-rank="1"],.basketball-fusion-rank[data-rank="2"] { --fusion-color:#f2a06f; }
.basketball-fusion-rank[data-rank="3"],.basketball-fusion-rank[data-rank="4"] { --fusion-color:#b99aff; background:linear-gradient(145deg,rgba(166,129,255,.26),rgba(91,52,125,.14) 46%,#0a0f17); }
.basketball-fusion-rank[data-rank="5"] { --fusion-color:#ffcf6e; background:linear-gradient(145deg,rgba(255,215,118,.34),rgba(145,83,25,.2) 48%,#0a0f17); box-shadow:0 9px 24px rgba(255,175,61,.14),inset 0 1px rgba(255,255,255,.18); }
.basketball-fusion-rank--compact { min-width:0; min-height:25px; padding:3px 8px; display:inline-flex; align-items:center; justify-content:center; gap:5px; border-radius:999px; vertical-align:middle; }
.basketball-fusion-rank--compact small { letter-spacing:.06em; }
.basketball-fusion-rank--compact strong { font-size:11px; }
.basketball-player-summary--card {
  --player-card-accent: var(--collectible-accent,var(--accent-strong));
  min-height: 250px; padding: 0; overflow: hidden; isolation: isolate;
  grid-template: "portrait portrait" 178px "copy arrow" auto / minmax(0,1fr) 24px;
  align-items: stretch; gap: 0;
  border-color: color-mix(in srgb,var(--player-card-accent) 44%,var(--line));
  border-radius: 15px;
  background: linear-gradient(155deg,color-mix(in srgb,var(--player-card-accent) 8%,#182130),#090e16 68%);
  box-shadow: inset 0 1px rgba(255,255,255,.1),0 12px 30px rgba(0,0,0,.22);
}
.basketball-player-summary--card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; z-index: 3; background: linear-gradient(90deg,transparent,var(--player-card-accent) 18% 82%,transparent); }
.basketball-player-summary--card::after { content: ""; position: absolute; z-index: -1; width: 160px; height: 260px; right: -90px; top: -70px; transform: rotate(27deg); background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--player-card-accent) 16%,transparent),transparent); }
.basketball-player-summary--card .basketball-player-summary__portrait { grid-area: portrait; width: 100%; height: 178px; border: 0; border-radius: 0; position: relative; background: radial-gradient(circle at 50% 72%,color-mix(in srgb,var(--player-card-accent) 14%,transparent),transparent 56%),linear-gradient(155deg,#263244,#0d131c); }
.basketball-player-summary--card .basketball-player-summary__portrait::after { content: ""; position: absolute; inset: auto 0 0; height: 54px; background: linear-gradient(transparent,#0c121b); pointer-events: none; }
.basketball-player-summary--card .basketball-player-summary__portrait img { object-fit: contain; object-position: center bottom; filter: drop-shadow(0 10px 12px rgba(0,0,0,.35)); }
.basketball-player-summary--card .basketball-player-summary__copy { grid-area: copy; align-content: center; gap: 5px; padding: 13px 8px 14px 15px; }
.basketball-player-summary--card .basketball-player-summary__name strong { font-size: 18px; letter-spacing: -.025em; }
.basketball-player-summary--card .basketball-player-summary__copy small { color: color-mix(in srgb,var(--player-card-accent) 70%,#fff); font-weight: 800; }
.basketball-player-summary--card .basketball-player-summary__rating { position: absolute; z-index: 4; top: 13px; right: 13px; width: 56px; min-height: 56px; border: 1px solid rgba(255,255,255,.32); border-radius: 14px 14px 14px 5px; font-size: 20px; box-shadow: 0 10px 22px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.3); }
.basketball-player-summary--card .basketball-player-summary__arrow { grid-area: arrow; align-self: center; color: var(--player-card-accent); font-size: 27px; }
.basketball-player-summary--card .basketball-player-summary__corner-ribbon { align-items:center; background:linear-gradient(90deg,#286a50,#3c956f); border-block:1px solid rgba(174,237,206,.45); box-shadow:0 5px 14px rgba(0,0,0,.32); color:#e6fff2; display:flex; font-size:8px; font-weight:900; justify-content:center; letter-spacing:.06em; min-height:20px; pointer-events:none; position:absolute; right:-23px; bottom:17px; transform:rotate(-45deg); width:92px; z-index:5; }
.basketball-player-summary--card:hover { border-color: var(--player-card-accent); background: linear-gradient(155deg,color-mix(in srgb,var(--player-card-accent) 20%,#182130),#0b111a 68%); box-shadow: inset 0 1px rgba(255,255,255,.12),0 16px 34px rgba(0,0,0,.3); }
.basketball-player-summary--dense { min-height: 60px; grid-template-columns: 42px minmax(0,1fr) 36px 16px; padding: 6px 8px; }
.basketball-player-summary--dense .basketball-player-summary__portrait { width: 42px; height: 42px; }
.basketball-player-summary--dense .basketball-player-summary__rating { width: 36px; min-height: 30px; }
.basketball-player-summary--dense.basketball-player-summary--no-rating { grid-template-columns:42px minmax(0,1fr) 16px; }
@media (max-width: 390px) {
  .basketball-player-summary { grid-template-columns: 44px minmax(0,1fr) 36px 14px; gap: 8px; padding-inline: 8px; }
  .basketball-player-summary--no-rating { grid-template-columns:44px minmax(0,1fr) 14px; }
  .basketball-player-summary--dense.basketball-player-summary--no-rating { grid-template-columns:42px minmax(0,1fr) 14px; }
  .basketball-player-summary__portrait { width: 44px; height: 44px; }
  .basketball-player-summary--card { min-height: 238px; padding: 0; gap: 0; grid-template: "portrait portrait" 166px "copy arrow" auto / minmax(0,1fr) 22px; }
  .basketball-player-summary--card .basketball-player-summary__portrait { width: 100%; height: 166px; }
  .basketball-player-summary--card .basketball-player-summary__copy { padding: 12px 7px 13px 13px; }
  .basketball-player-summary--card .basketball-player-summary__rating { top: 11px; right: 11px; width: 52px; min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .basketball-player-summary,.basketball-player-summary__arrow,.basketball-collectible-card { transition: none; }
  .basketball-player-summary:hover,.basketball-collectible-card:hover { transform: none; }
}

.basketball-coach-profile { min-width: 0; padding: 14px; display: grid; gap: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
.basketball-coach-profile > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.basketball-coach-profile > header > div:first-child { min-width: 0; display: grid; gap: 3px; }
.basketball-coach-profile > header > div:first-child small { color: var(--accent-strong); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.basketball-coach-profile > header > div:first-child strong { overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.basketball-coach-profile__execution { display: grid; grid-template-columns: auto auto; align-items: center; gap: 1px 8px; text-align: right; }
.basketball-coach-profile__execution span { color: var(--muted); font-size: 10px; }
.basketball-coach-profile__execution b { grid-row: span 2; color: var(--accent-strong); font-size: 30px; line-height: 1; }
.basketball-coach-profile__execution small { color: var(--muted-2); font-size: 9px; }
.basketball-coach-profile__ratings,.basketball-coach-profile__styles { display: flex; flex-wrap: wrap; gap: 6px; }
.basketball-coach-profile__ratings span,.basketball-coach-profile__styles span { padding: 6px 8px; border: 1px solid var(--line-soft); border-radius: 7px; background: var(--surface-3); color: var(--muted); font-size: 10px; }
.basketball-coach-profile__ratings b,.basketball-coach-profile__styles b { color: var(--text); }
.basketball-coach-profile__styles small { color: var(--accent-strong); }
.basketball-coach-profile--compact { min-width: min(430px,42vw); padding: 12px 14px; background: rgba(10,14,20,.58); }
.basketball-coach-profile--compact .basketball-coach-profile__styles { justify-content: flex-end; }
@media (max-width: 620px) {
  .basketball-coach-profile--compact { min-width: 0; width: 100%; }
  .basketball-coach-profile--compact .basketball-coach-profile__styles { justify-content: flex-start; }
}

.basketball-game-browser { display: grid; gap: 10px; }
.basketball-game-toolbar { min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb,var(--surface) 88%,transparent); }
.basketball-game-toolbar > span { display: flex; gap: 4px; padding: 4px; border:1px solid var(--line-soft); border-radius: 9px; background: color-mix(in srgb,var(--surface-3) 78%,transparent); }
.basketball-game-toolbar button { min-height: 44px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-weight: 750; cursor: pointer; }
.basketball-game-toolbar button[aria-pressed="true"] { background: var(--accent); color: #fff; }
.basketball-game-toolbar small { margin-left: auto; color: var(--muted); font-size: 12px; }
.basketball-game-toolbar .basketball-game-jump { border: 1px solid var(--line); background: var(--surface-2); color: var(--text); }
.basketball-game-toolbar .basketball-game-jump:hover { border-color:var(--accent); color:var(--accent-strong); }
.basketball-game-empty { min-height: 110px; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); }
.basketball-game-row[hidden],.basketball-game-month[hidden],.basketball-game-empty[hidden] { display: none; }
.basketball-game-list { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.basketball-game-month { margin: 0; padding: 17px 18px 11px; border-top: 1px solid var(--line); color: #d3dae3; font-size: 14px; }
.basketball-game-month:first-child { border-top: 0; }
.basketball-game-row { min-height: 58px; display: grid; grid-template-columns: 90px 52px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 8px 18px; border-top: 1px solid var(--line-soft); }
.basketball-game-row.final { background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 62%); }
.basketball-game-row.final:has(.basketball-game-result.is-win) { box-shadow:inset 3px 0 #49c792; }
.basketball-game-row.final:has(.basketball-game-result.is-loss) { box-shadow:inset 3px 0 #e8612d; }
.basketball-game-row:not(.final) { background:color-mix(in srgb,var(--surface) 94%,#1d2a39); }
.basketball-game-row time { color: var(--muted); font-size: 12px; font-weight: 700; }
.basketball-game-location { color: var(--muted-2); font-size: 11px; }
.basketball-game-row > div { min-width: 0; display: flex; align-items: center; gap: 11px; }
.basketball-game-row > div b { width: 38px; color: var(--accent-strong); font-size: 12px; }
.basketball-game-row > div strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.basketball-game-status { padding: 5px 9px; border:1px solid var(--line-soft); border-radius: 99px; background: var(--surface-3); color: var(--muted); font-size: 11px; }
.basketball-game-status:has(.basketball-game-target) { padding:0; background:transparent; }
.basketball-game-target { min-height:38px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-3); color:var(--text); font:inherit; font-weight:800; cursor:pointer; }
.basketball-game-target:hover { border-color:var(--accent); color:var(--accent-strong); }
.basketball-game-score { font-size: 17px; font-weight: 800; }
.basketball-game-result { display: flex; align-items: center; gap: 10px; }
.basketball-game-outcome { width: 25px; height: 25px; display: grid; flex: 0 0 25px; place-items: center; border-radius: 7px; background: var(--surface-3); color: var(--muted); font-size: 11px; font-style: normal; font-weight: 900; }
.basketball-game-result.is-win .basketball-game-outcome { background: rgba(64,202,151,.13); color: #6ee7b7; }
.basketball-game-result.is-loss .basketball-game-outcome { background: rgba(232,97,45,.13); color: #ff9b70; }
.basketball-game-result button,.basketball-game-result a { padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-2); color: var(--muted); font-size: 10px; text-decoration: none; cursor: pointer; }
.basketball-game-result button:hover,.basketball-game-result a:hover { color: var(--text); border-color: var(--line-strong); }
.basketball-game-row.past:not(.final) { opacity: .62; }
.basketball-month-calendar { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 18px 46px rgba(0,0,0,.16); }
.basketball-month-calendar[hidden] { display:none; }
.basketball-month-calendar > header { min-height:82px; display:grid; grid-template-columns:minmax(88px,1fr) minmax(170px,1.2fr) minmax(88px,1fr); align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 50% -50%,rgba(232,97,45,.16),transparent 66%),var(--surface-2); }
.basketball-month-calendar > header > div { min-width:0; display:grid; justify-items:center; gap:2px; text-align:center; }
.basketball-month-calendar > header small { color:var(--muted-2); font-size:9px; font-weight:850; letter-spacing:.08em; }
.basketball-month-calendar > header h2 { margin:0; font-size:22px; letter-spacing:-.025em; }
.basketball-month-calendar > header button { width:auto; min-width:82px; height:44px; padding:0 13px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface-3) 82%,transparent); color:var(--text); cursor:pointer; }
.basketball-month-calendar > header button:first-child { justify-self:start; }
.basketball-month-calendar > header button:last-child { justify-self:end; }
.basketball-month-calendar > header button span { font-size:25px; font-weight:500; line-height:1; }
.basketball-month-calendar > header button small { color:inherit; font-size:10px; letter-spacing:0; }
.basketball-month-calendar > header button:hover:not(:disabled) { border-color:var(--accent); color:var(--accent-strong); }
.basketball-month-calendar > header button:disabled { cursor:not-allowed; opacity:.52; }
.basketball-month-calendar__weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); }
.basketball-month-calendar__weekdays span { min-width:0; padding:9px 4px; color:var(--muted); font-size:10px; font-weight:850; text-align:center; }
.basketball-month-calendar__grid { min-width:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; background:var(--line-soft); }
.basketball-calendar-week { display:contents; }
.basketball-calendar-day { min-width:0; min-height:116px; position:relative; padding:7px; overflow:hidden; background:linear-gradient(155deg,#111925,#0e151e); transition:background .15s,box-shadow .15s; }
.basketball-calendar-day.is-outside { background:#0c1118; opacity:.34; }
.basketball-calendar-day.is-weekend:not(.is-outside) { background:linear-gradient(155deg,#121b27,#0f161f); }
.basketball-calendar-day.is-today:not(.is-outside) { background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 10%,#111925),#0e151e); }
.basketball-calendar-day.is-next { box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 68%,transparent); }
.basketball-calendar-day.is-simulating { z-index:2; background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 18%,#111925),#0e151e); box-shadow:inset 0 0 0 2px var(--accent-strong),0 0 22px rgba(232,97,45,.16); animation:basketball-calendar-pulse 1.15s ease-in-out infinite alternate; }
.basketball-calendar-day.is-simulation-target { box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 58%,transparent); }
.basketball-calendar-day.is-pending-result { z-index:2; background:linear-gradient(155deg,color-mix(in srgb,#d9b65e 13%,#111925),#0e151e); box-shadow:inset 0 0 0 2px color-mix(in srgb,#d9b65e 64%,transparent),0 0 20px rgba(217,182,94,.11); }
@keyframes basketball-calendar-pulse { to { box-shadow:inset 0 0 0 2px var(--accent-strong),0 0 30px rgba(232,97,45,.3); } }
.basketball-calendar-day.is-actionable:hover { z-index:1; background:#141d28; }
.basketball-calendar-day__head { width:100%; min-height:24px; display:flex; align-items:center; justify-content:space-between; gap:4px; margin:0 0 3px; padding:0 2px; border:0; border-radius:5px; background:transparent; text-align:left; }
button.basketball-calendar-day__head { cursor:pointer; }
button.basketball-calendar-day__head:hover,button.basketball-calendar-day__head:focus-visible { background:color-mix(in srgb,var(--accent-strong) 13%,transparent); outline:1px solid color-mix(in srgb,var(--accent-strong) 55%,transparent); outline-offset:2px; }
.basketball-calendar-day__head time { color:#aeb9c7; font-size:12px; font-weight:850; line-height:1; font-variant-numeric:tabular-nums; }
.basketball-calendar-day__weekday { display:none; }
.basketball-calendar-day__head span { opacity:0; color:var(--accent-strong); font-size:7px; font-weight:850; transition:opacity .15s; }
.basketball-calendar-day.is-today .basketball-calendar-day__head time { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:var(--accent); color:#fff; box-shadow:0 4px 12px rgba(232,97,45,.24); }
.basketball-calendar-day.is-actionable:hover .basketball-calendar-day__head span,.basketball-calendar-day__head:focus-visible span,.basketball-calendar-day.is-today .basketball-calendar-day__head span,.basketball-calendar-day.is-simulating .basketball-calendar-day__head span,.basketball-calendar-day.is-simulation-target .basketball-calendar-day__head span,.basketball-calendar-day.is-pending-result .basketball-calendar-day__head span { opacity:1; }
.basketball-calendar-day.is-simulating .basketball-calendar-day__head time,.basketball-calendar-day.is-simulating .basketball-calendar-day__head span { color:#fff; }
.basketball-calendar-day.is-next .basketball-calendar-day__head time { color:var(--accent-strong); }
.basketball-calendar-rest { min-height:72px; display:grid; place-content:center; justify-items:center; gap:7px; border:1px dashed color-mix(in srgb,var(--line) 72%,transparent); border-radius:10px; background:linear-gradient(145deg,rgba(255,255,255,.014),rgba(0,0,0,.055)); color:var(--muted-2); user-select:none; }
.basketball-calendar-rest i { width:28px; height:18px; position:relative; display:block; border:1px solid color-mix(in srgb,var(--muted-2) 46%,transparent); border-radius:3px; opacity:.48; }
.basketball-calendar-rest i::before { content:""; position:absolute; top:-1px; bottom:-1px; left:50%; border-left:1px solid currentColor; }
.basketball-calendar-rest i::after { content:""; position:absolute; top:50%; left:50%; width:7px; height:7px; border:1px solid currentColor; border-radius:50%; transform:translate(-50%,-50%); background:#111923; }
.basketball-calendar-rest span { font-size:8px; font-weight:750; letter-spacing:.02em; }
.basketball-calendar-day.is-actionable:hover .basketball-calendar-rest { border-color:color-mix(in srgb,var(--accent-strong) 32%,var(--line)); color:var(--accent-strong); }
.basketball-calendar-game { width:100%; min-width:0; min-height:76px; display:grid; grid-template-rows:minmax(0,1fr) auto; padding:6px; border:1px solid var(--line-soft); border-left:3px solid #557aa5; border-radius:10px; background:linear-gradient(145deg,rgba(84,155,255,.08),rgba(7,11,17,.62)); color:var(--text); text-align:left; text-decoration:none; transition:border-color .15s; }
.basketball-calendar-day:hover .basketball-calendar-game { border-color:color-mix(in srgb,var(--accent-strong) 34%,var(--line)); }
.basketball-calendar-game.is-home { border-left-color:#e8612d; }
.basketball-calendar-game.is-final { background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(7,11,17,.82)); }
.basketball-calendar-game.is-win { border-color:color-mix(in srgb,#49c792 34%,var(--line)); box-shadow:inset 0 -2px rgba(64,202,151,.58); }
.basketball-calendar-game.is-loss { border-color:color-mix(in srgb,#e8612d 36%,var(--line)); box-shadow:inset 0 -2px rgba(232,97,45,.62); }
.basketball-calendar-game.is-pending-result { border-color:color-mix(in srgb,#d9b65e 56%,var(--line)); background:linear-gradient(145deg,rgba(217,182,94,.1),rgba(7,11,17,.72)); }
.basketball-team-mark { --team-primary:#59677a; --team-secondary:#dce4ee; width:42px; height:42px; position:relative; display:grid; flex:0 0 42px; place-items:center; overflow:hidden; border:1px solid color-mix(in srgb,var(--team-primary) 44%,rgba(255,255,255,.13)); border-radius:12px; background:color-mix(in srgb,var(--team-primary) 13%,rgba(255,255,255,.035)); }
.basketball-team-mark img { position:absolute; inset:4px; width:calc(100% - 8px); height:calc(100% - 8px); object-fit:contain; filter:drop-shadow(0 3px 4px rgba(0,0,0,.34)); }
.basketball-team-mark b { padding:0 2px; color:var(--team-secondary); font-size:8px; font-weight:950; letter-spacing:-.03em; text-align:center; }
.basketball-team-link { min-width:0; display:flex; align-items:center; gap:11px; padding:8px; border:1px solid transparent; border-radius:11px; color:var(--text); text-decoration:none; transition:background .15s,border-color .15s; }
.basketball-team-link:hover { border-color:var(--line); background:rgba(255,255,255,.035); }
.basketball-team-link > span:last-child { min-width:0; display:grid; gap:2px; }
.basketball-team-link small { color:var(--muted); font-size:9px; font-weight:850; }
.basketball-team-link strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-team-mini__copy { min-width:0; display:grid; gap:2px; }
.basketball-team-mini__copy strong,.basketball-team-mini__copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-team-dialog { width:min(920px,calc(100vw - 32px)); max-height:min(820px,calc(100dvh - 32px)); padding:0; overflow:hidden; border:1px solid var(--line-strong); border-radius:18px; background:#0d1218; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.68); }
.basketball-team-dialog::backdrop { background:rgba(3,6,10,.8); backdrop-filter:blur(6px); }
.basketball-team-dialog > header { position:absolute; z-index:5; top:12px; right:12px; left:12px; display:flex; align-items:center; justify-content:space-between; pointer-events:none; }
.basketball-team-dialog > header button { min-height:38px; pointer-events:auto; }
.basketball-team-dialog > header [data-team-dialog-back] { padding:0 11px; border:1px solid var(--line); border-radius:9px; background:rgba(10,15,22,.88); color:var(--text); cursor:pointer; }
.basketball-team-dialog [data-team-dialog-content] { max-height:min(820px,calc(100dvh - 32px)); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.basketball-team-dialog__loading { min-height:320px; display:grid; place-items:center; color:var(--muted); }
.basketball-team-dialog__view .basketball-team-profile__hero { min-height:154px; padding:26px 64px 24px 28px; }
.basketball-team-dialog__view .basketball-team-profile__mark { width:86px; height:86px; flex-basis:86px; }
.basketball-team-dialog__view .basketball-team-profile__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.basketball-team-dialog__roster { padding:16px 18px 22px; }
.basketball-team-dialog__roster .basketball-team-roster { border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.basketball-local-game-dialog { width:min(820px,calc(100vw - 30px)); max-height:min(820px,calc(100dvh - 30px)); padding:0; overflow:hidden; border:1px solid var(--line-strong); border-radius:18px; background:#0d141d; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.7); }
.basketball-local-game-dialog::backdrop { background:rgba(2,5,9,.86); backdrop-filter:blur(7px); }
.basketball-local-game-dialog > header { min-height:112px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:24px; padding:20px 24px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 0 0,rgba(232,97,45,.17),transparent 52%),linear-gradient(120deg,#182331,#0d141d); }
.basketball-local-game-dialog > header h2 { margin:4px 0 0; font-size:20px; }
.basketball-local-game-score { display:flex; align-items:center; gap:10px; font-variant-numeric:tabular-nums; }
.basketball-local-game-score strong { min-width:42px; font-size:32px; text-align:center; }
.basketball-local-game-score span { color:var(--muted); }
.basketball-local-game-dialog > header > div:last-child { display:grid; justify-items:end; gap:3px; }
.basketball-local-game-dialog > header > div:last-child b { color:var(--accent-strong); font-size:11px; }
.basketball-local-game-dialog > header > div:last-child span { font-size:18px; font-variant-numeric:tabular-nums; }
.basketball-local-game-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 20px; border-bottom:1px solid var(--line-soft); }
.basketball-local-game-progress progress { width:100%; height:7px; accent-color:var(--accent); }
.basketball-local-game-progress span { color:var(--muted); font-size:9px; }
.basketball-local-game-toolbar { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:8px 20px; border-bottom:1px solid var(--line-soft); background:rgba(255,255,255,.018); }
.basketball-local-game-toolbar label { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:10px; font-weight:800; }
.basketball-local-game-toolbar select { min-width:128px; min-height:38px; padding:0 30px 0 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); color:var(--text); }
.basketball-local-game-toolbar small { color:var(--muted); font-size:9px; }
.basketball-local-game-feed { padding:17px 20px; }
.basketball-local-game-feed > header { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:10px; }
.basketball-local-game-feed > header strong { font-size:14px; }
.basketball-local-game-feed > header small { color:var(--muted); font-size:8px; }
.basketball-local-game-feed ol { height:330px; margin:0; padding:0; overflow-y:auto; border:1px solid var(--line); border-radius:12px; background:#090f16; list-style:none; }
.basketball-local-game-feed li { min-height:45px; display:grid; grid-template-columns:48px minmax(0,1fr) 50px; align-items:center; gap:10px; padding:7px 12px; border-bottom:1px solid var(--line-soft); }
.basketball-local-game-feed li time { color:var(--accent-strong); font-size:9px; font-variant-numeric:tabular-nums; }
.basketball-local-game-feed li span { font-size:10px; line-height:1.4; }
.basketball-local-game-milestone { display:block; width:max-content; max-width:100%; margin-top:4px; padding:3px 7px; border:1px solid rgba(231,177,79,.34); border-radius:999px; background:rgba(231,177,79,.11); color:#f2d398; font-size:9px; font-style:normal; font-weight:850; }
.basketball-local-game-milestone.is-warning { border-color:rgba(216,112,94,.3); background:rgba(216,112,94,.1); color:#efa89c; }
.basketball-local-game-feed li b { font-size:11px; text-align:right; font-variant-numeric:tabular-nums; }
.basketball-local-game-dialog > footer { min-height:66px; display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:11px 20px 16px; border-top:1px solid var(--line); }
.basketball-local-game-dialog > footer > div { display:flex; gap:8px; }
.basketball-local-game-dialog > footer button { min-height:44px; }
.basketball-calendar-game__mark { width:38px; height:38px; flex-basis:38px; border-color:color-mix(in srgb,var(--team-primary) 44%,rgba(255,255,255,.13)); background:color-mix(in srgb,var(--team-primary) 13%,rgba(255,255,255,.035)); }
.basketball-calendar-game__mark.has-image b { visibility:hidden; }
.basketball-calendar-game__team { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:7px; color:inherit; text-decoration:none; border-radius:7px; }
.basketball-calendar-game__team:hover .basketball-calendar-game__copy strong { color:var(--accent-strong); }
.basketball-calendar-game__copy { min-width:0; display:grid; gap:2px; }
.basketball-calendar-game__copy strong,.basketball-calendar-game__copy small,.basketball-calendar-game__copy em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-calendar-game__copy strong { font-size:11px; }
.basketball-calendar-game__copy small { color:var(--muted); font-size:8px; }
.basketball-game-opponent-record { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; font-weight:750; white-space:nowrap; }
.basketball-calendar-game__result { min-height:24px; margin-top:3px; padding:3px 4px 0; display:flex; align-items:center; justify-content:space-between; gap:5px; border:0; border-top:1px solid var(--line-soft); background:transparent; color:var(--text); font-size:10px; font-style:normal; font-weight:900; font-variant-numeric:tabular-nums; text-decoration:none; cursor:pointer; }
.basketball-calendar-game__result b { margin-left:auto; font-size:11px; }
.basketball-calendar-game__outcome { width:19px; height:19px; display:grid; flex:0 0 19px; place-items:center; border-radius:6px; background:rgba(232,97,45,.14); color:#ff9b70; font-size:9px; font-style:normal; font-weight:950; }
.basketball-calendar-game__result.is-win .basketball-calendar-game__outcome { background:rgba(64,202,151,.15); color:#6ee7b7; }
.basketball-calendar-game__result:hover { color:var(--accent-strong); }
.basketball-calendar-game__pending { min-height:24px; margin-top:3px; padding:3px 5px 0; border:0; border-top:1px solid color-mix(in srgb,#d9b65e 28%,var(--line-soft)); background:transparent; color:#d9b65e; font:inherit; font-size:9px; font-weight:900; text-align:left; cursor:pointer; }
.basketball-game-row.is-pending-result { border-color:color-mix(in srgb,#d9b65e 48%,var(--line)); background:color-mix(in srgb,#d9b65e 6%,var(--surface)); }
.basketball-calendar-mobile-summary { display:none; }
.basketball-month-calendar > footer { min-height:48px; display:flex; align-items:center; gap:15px; padding:9px 14px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.basketball-month-calendar > footer span { display:flex; align-items:center; gap:6px; }
.basketball-month-calendar > footer i { width:3px; height:14px; border-radius:99px; background:#557aa5; }
.basketball-month-calendar > footer i.is-today { width:10px; height:10px; border-radius:3px; background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent); }
.basketball-month-calendar > footer i.is-home { background:#e8612d; }
.basketball-month-calendar > footer small { margin-left:auto; color:var(--muted); }
.basketball-month-calendar > footer .basketball-calendar-hint { color:var(--muted-2); }
.basketball-calendar-records { display:flex; align-items:center; gap:5px; margin-left:auto; }
.basketball-calendar-records > span { min-height:32px; padding:4px 9px; display:grid!important; align-content:center; gap:0!important; border:1px solid var(--line-soft); border-radius:8px; background:rgba(255,255,255,.025); }
.basketball-calendar-records small { margin:0!important; color:var(--muted-2)!important; font-size:7px; font-weight:850; }
.basketball-calendar-records b { color:var(--text); font-size:10px; font-variant-numeric:tabular-nums; }
.basketball-game-browser[data-game-view="calendar"] [data-game-list-view],.basketball-game-browser[data-game-view="calendar"] [data-game-list-tools] { display:none; }
.basketball-game-browser[data-game-view="list"] [data-month-calendar] { display:none; }

/* Shared tactics workbench. Modes provide their own roster and coach data only. */
.basketball-tactics-editor { width:100%; max-width:1120px; margin-inline:auto; }
.basketball-tactics-editor__heading { min-height:96px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:20px 22px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 13%,transparent),transparent 48%),var(--surface-2); }
.basketball-tactics-editor__heading h2,.basketball-tactics-editor__heading p { margin:3px 0 0; }
.basketball-tactics-editor__heading > div > p:last-child { color:var(--muted); font-size:13px; line-height:1.55; }
.basketball-tactics-editor__heading > span { color:var(--muted-2); font-size:11px; white-space:nowrap; }
.basketball-tactics-editor__body { display:grid; gap:16px; padding:20px; }
.basketball-tactics-panel { padding:16px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 45%),var(--surface); }
.basketball-tactics-panel > header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:13px; }
.basketball-tactics-panel > header > div { display:flex; align-items:center; gap:9px; }
.basketball-tactics-panel > header small { width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:7px; background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--accent-strong); font-size:9px; font-weight:900; }
.basketball-tactics-panel > header h3 { margin:0; font-size:17px; }
.basketball-tactics-panel > header p { margin:0; color:var(--muted); font-size:12px; text-align:right; }
.basketball-tactics-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.basketball-tactics-control-grid .basketball-tactic-select { padding:10px; border:1px solid var(--line-soft); border-radius:10px; background:color-mix(in srgb,var(--surface-3) 60%,#080d14); }
.basketball-tactics-control-grid .basketball-tactic-select > span { color:var(--text); font-weight:750; }
.basketball-tactics-control-grid .basketball-tactic-select select { background:var(--surface-3); border-color:var(--line-strong); }
.basketball-tactics-coach-panel .basketball-coach-profile { margin:0; }
.basketball-coach-workbench__layout { align-items:stretch; display:grid; gap:12px; grid-template-columns:minmax(220px,.66fr) minmax(0,1.34fr); }
.basketball-coach-workbench__source { align-content:start; background:var(--surface-3); border:1px solid var(--line-soft); border-radius:11px; display:grid; gap:5px; min-width:0; padding:14px; }
.basketball-coach-workbench__source > small { color:var(--accent-strong); font-size:8px; font-weight:900; letter-spacing:.12em; }
.basketball-coach-workbench__source > span { color:var(--muted); font-size:9px; }
.basketball-coach-workbench__source > strong { color:var(--text); font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-coach-workbench__source > p { color:var(--muted-2); font-size:9px; line-height:1.55; margin:5px 0 0; }
.basketball-coach-workbench__profile { min-width:0; }
.basketball-coach-workbench__profile > .basketball-coach-profile { height:100%; }
.basketball-coach-workbench__empty { align-items:center; border:1px dashed var(--line-strong); border-radius:11px; color:var(--muted); display:flex; height:100%; margin:0; min-height:110px; padding:16px; }
.pregame-roster-filters { display:flex; gap:6px; margin:0 0 10px; overflow-x:auto; scrollbar-width:none; }
.pregame-roster-filters::-webkit-scrollbar { display:none; }
.pregame-roster-filters button { align-items:center; background:var(--surface-3); border:1px solid var(--line-soft); border-radius:999px; color:var(--muted); cursor:pointer; display:flex; flex:0 0 auto; font-size:10px; font-weight:800; gap:6px; min-height:34px; padding:6px 11px; }
.pregame-roster-filters button b { align-items:center; background:rgba(255,255,255,.06); border-radius:999px; color:var(--text); display:inline-flex; font-size:9px; justify-content:center; min-width:20px; padding:2px 5px; }
.pregame-roster-filters button.is-active { background:color-mix(in srgb,var(--accent) 14%,var(--surface-3)); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); color:var(--accent-strong); }
.basketball-tactics-rotation-panel > .basketball-lineup-board { max-width:900px; margin-inline:auto; }
.basketball-tactics-rotation-panel > .fast-scorer-plan,.basketball-tactics-rotation-panel > .pregame-roster-editor { margin-top:16px; }
.basketball-lineup-sources { display:none!important; }
.basketball-plan-slots { background:var(--surface); border:1px solid var(--line); border-radius:14px; box-sizing:border-box; max-width:100%; min-width:0; overflow:hidden; padding:18px; width:100%; }.basketball-plan-slots > header { align-items:start; display:flex; gap:24px; justify-content:space-between; min-width:0; }.basketball-plan-slots > header h2,.basketball-plan-slots > header p { margin:2px 0; }.basketball-plan-slots > header > div > p:last-child,.basketball-plan-slots > header > small { color:var(--muted); font-size:12px; line-height:1.55; }.basketball-plan-slots > header > small { max-width:38ch; text-align:right; }
.basketball-plan-slots .lineup-scheme-tabs { display:grid; gap:7px; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:14px; }.basketball-plan-slots .lineup-scheme-tabs button { background:var(--surface-2); border:1px solid var(--line); border-radius:10px; color:var(--text); cursor:pointer; display:grid; gap:3px; min-height:76px; min-width:0; padding:10px 11px; text-align:left; }.basketball-plan-slots .lineup-scheme-tabs button > span { color:var(--muted); font-size:10px; font-weight:850; }.basketball-plan-slots .lineup-scheme-tabs em { color:var(--accent-strong); font-size:8px; font-style:normal; margin-left:5px; }.basketball-plan-slots .lineup-scheme-tabs strong { font-size:13px; }.basketball-plan-slots .lineup-scheme-tabs small { font-size:10px; }.basketball-plan-slots .lineup-scheme-tabs strong,.basketball-plan-slots .lineup-scheme-tabs small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-plan-slots .lineup-scheme-tabs button[aria-selected="true"] { background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 20%,transparent),var(--surface-2)); border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); }
.basketball-plan-slots .lineup-scheme-panels { margin-top:8px; }.basketball-plan-slots .lineup-scheme-panels article { align-items:center; background:var(--surface-2); border:1px solid var(--line); border-radius:10px; display:flex; gap:14px; justify-content:space-between; padding:10px; }.basketball-plan-slots .lineup-scheme-panels article.is-active { border-color:color-mix(in srgb,var(--accent) 52%,var(--line)); }.basketball-plan-slots .lineup-scheme-panels article > div:first-child { align-items:center; display:grid; gap:4px; grid-template-columns:auto minmax(150px,260px); }.basketball-plan-slots .lineup-scheme-panels small,.basketball-plan-slots .lineup-scheme-panels span { color:var(--muted); font-size:11px; }.basketball-plan-slots .lineup-scheme-panels span { grid-column:1/-1; }.basketball-plan-slots .lineup-scheme-panels input { background:var(--surface-3); border:1px solid var(--line-strong); border-radius:7px; color:var(--text); min-height:44px; min-width:0; padding:8px; }.basketball-plan-slots .lineup-scheme-panels article > div:last-child { display:flex; gap:7px; }.basketball-plan-slots .lineup-scheme-panels button { align-items:center; background:var(--surface-3); border:1px solid var(--line-strong); border-radius:8px; color:var(--text); cursor:pointer; display:inline-flex; font:inherit; font-size:12px; font-weight:800; justify-content:center; min-height:44px; padding:9px 13px; transition:background .15s,border-color .15s,color .15s,transform .15s; white-space:nowrap; }.basketball-plan-slots .lineup-scheme-panels button:hover:not(:disabled),.basketball-plan-slots .lineup-scheme-panels button:focus-visible { background:color-mix(in srgb,var(--accent) 10%,var(--surface-3)); border-color:var(--accent); color:var(--accent-strong); }.basketball-plan-slots .lineup-scheme-panels button:active:not(:disabled) { transform:translateY(1px); }.basketball-plan-slots .lineup-scheme-panels button.primary-button { background:var(--accent); border-color:var(--accent-strong); box-shadow:0 7px 18px rgba(232,97,45,.18); color:#fff; }.basketball-plan-slots .lineup-scheme-panels button.primary-button:hover:not(:disabled),.basketball-plan-slots .lineup-scheme-panels button.primary-button:focus-visible { background:var(--accent-strong); color:#fff; }.basketball-plan-slots .lineup-scheme-panels button.lineup-preset-reset { background:transparent; color:var(--muted); }.basketball-plan-slots .lineup-scheme-panels button:disabled { box-shadow:none; cursor:not-allowed; opacity:.42; transform:none; }
.basketball-roster-workspace { border:1px solid var(--line); border-radius:14px; background:var(--surface); overflow:hidden; }.basketball-roster-workspace > summary { align-items:end; cursor:pointer; display:flex; justify-content:space-between; list-style:none; padding:18px; }.basketball-roster-workspace > summary::-webkit-details-marker { display:none; }.basketball-roster-workspace > summary h2,.basketball-roster-workspace > summary p { margin:2px 0; }.basketball-roster-workspace > summary p:last-child { color:var(--muted); font-size:12px; }.basketball-roster-workspace > summary > span { color:var(--muted); display:flex; gap:8px; }.basketball-roster-filters { border-top:1px solid var(--line); display:flex; gap:6px; overflow-x:auto; padding:12px 18px 0; }.basketball-roster-filters button { background:var(--surface-2); border:1px solid var(--line); border-radius:999px; color:var(--muted); min-height:44px; padding:7px 12px; white-space:nowrap; }.basketball-roster-filters button.is-active { border-color:var(--accent); color:var(--accent-strong); }.basketball-fixed-roster-list { display:grid; gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px 18px 18px; }.basketball-fixed-roster-list article { min-width:0; }.basketball-fixed-roster-card { background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--surface-2)),var(--surface-2)); border:1px solid var(--line); border-radius:12px; overflow:hidden; }.basketball-fixed-roster-card .basketball-player-summary { background:transparent; border:0; border-radius:0; min-height:78px; width:100%; }.basketball-fixed-roster-card__plan { align-items:center; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; gap:6px; padding:9px 11px 11px; }.basketball-fixed-roster-card__plan span { background:var(--surface-3); border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:10px; font-weight:750; line-height:1; padding:6px 8px; white-space:nowrap; }.basketball-fixed-roster-card__plan span.is-unit { background:color-mix(in srgb,var(--accent) 12%,var(--surface-3)); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); color:var(--accent-strong); }.basketball-fixed-roster-card__plan b { color:var(--text); font-size:inherit; }
.basketball-roster-filterbar { align-items:center; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:10px 18px; justify-content:space-between; padding:12px 18px 0; }
.basketball-roster-filterbar .basketball-roster-filters { border:0; flex:1 1 auto; justify-content:flex-start; padding:0; }
.basketball-roster-filterbar .basketball-position-filter { flex:0 1 auto; }
.pregame-minute-validation { align-items:center; background:linear-gradient(110deg,color-mix(in srgb,#f0b14b 14%,var(--surface-2)),var(--surface-2)); border:1px solid color-mix(in srgb,#f0b14b 55%,var(--line)); border-radius:11px; display:flex; gap:14px; justify-content:space-between; margin:10px 0; padding:11px 12px; }
.pregame-minute-validation[hidden] { display:none; }
.pregame-minute-validation > span { display:grid; gap:3px; min-width:0; }
.pregame-minute-validation strong { color:var(--text); font-size:12px; }
.pregame-minute-validation small { color:var(--muted); font-size:10px; line-height:1.45; }
.pregame-minute-validation button { background:#d97a20; border:1px solid #f1a652; border-radius:8px; color:#fff; cursor:pointer; flex:0 0 auto; font-size:11px; font-weight:850; min-height:44px; padding:8px 13px; }
.is-invalid [data-minute-total] { color:#f0b14b; }
.basketball-lineup-workbench { background:var(--surface); border:1px solid var(--line); border-radius:16px; margin-top:16px; overflow:hidden; }
.basketball-lineup-workbench > header { align-items:end; background:linear-gradient(110deg,rgba(232,97,45,.1),transparent 52%); border-bottom:1px solid var(--line); display:flex; gap:24px; justify-content:space-between; padding:18px; }
.basketball-lineup-workbench > header h2,.basketball-lineup-workbench > header p { margin:2px 0; }.basketball-lineup-workbench > header > div > p:last-child { color:var(--muted); font-size:13px; line-height:1.55; }
.lineup-unit-tabs { display:flex; gap:5px; }.lineup-unit-tabs button { background:var(--surface-2); border:1px solid var(--line-strong); border-radius:8px; color:var(--muted); cursor:pointer; min-height:44px; padding:8px 10px; white-space:nowrap; }.lineup-unit-tabs button b { background:var(--surface-3); border-radius:999px; color:var(--text); font-size:9px; margin-left:4px; padding:3px 5px; }.lineup-unit-tabs button[aria-selected="true"] { background:var(--accent-soft); border-color:var(--accent); color:var(--text); }
.pregame-minute-editor input { min-height:44px; }
.lineup-unit-panel { padding:18px; }.lineup-unit-panel > .basketball-lineup-board { background:transparent; border:0; margin:0 auto; max-width:1080px; padding:0; }.lineup-unit-panel--tactics { background:var(--surface-2); }.lineup-unit-panel--tactics > .basketball-tactics-editor { margin:0; max-width:none; }
@media(max-width:760px) { .basketball-lineup-workbench > header { align-items:stretch; flex-direction:column; }.lineup-unit-tabs { overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; scrollbar-width:none; }.lineup-unit-tabs::-webkit-scrollbar { display:none; }.lineup-unit-tabs button { flex:0 0 auto; min-height:44px; scroll-snap-align:start; }.lineup-unit-panel { padding:14px; } }
@media(max-width:760px) { .basketball-plan-slots { padding:14px; }.basketball-plan-slots > header { flex-direction:column; }.basketball-plan-slots > header > small { max-width:none; text-align:left; }.basketball-plan-slots .lineup-scheme-tabs { grid-auto-columns:minmax(150px,45vw); grid-auto-flow:column; grid-template-columns:none; max-width:100%; overflow-x:auto; width:100%; }.basketball-plan-slots .lineup-scheme-panels article { align-items:stretch; flex-direction:column; }.basketball-plan-slots .lineup-scheme-panels article > div:first-child { grid-template-columns:1fr; }.basketball-plan-slots .lineup-scheme-panels span { grid-column:auto; }.basketball-plan-slots .lineup-scheme-panels article > div:last-child { display:grid; grid-template-columns:1fr 1fr; }.basketball-plan-slots .lineup-scheme-panels button { min-width:0; white-space:normal; }.basketball-plan-slots .lineup-scheme-panels button.primary-button { grid-column:1/-1; }.basketball-fixed-roster-list { grid-template-columns:1fr; padding-inline:14px; }.basketball-roster-workspace > summary { align-items:start; padding:14px; }.basketball-roster-workspace > summary > span small { display:none; }.basketball-roster-filters { padding-inline:14px; }.basketball-roster-filterbar { align-items:stretch; padding-inline:14px; }.basketball-roster-filterbar .basketball-position-filter { flex:1 1 100%; }.pregame-minute-validation { align-items:stretch; flex-direction:column; }.pregame-minute-validation button { width:100%; } }
.basketball-tactics-phase-panel .basketball-phase-strategies { gap:9px; }
.basketball-tactics-savebar { position:sticky; z-index:5; bottom:16px; margin-top:2px; padding:14px 18px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,#080b12 95%,transparent); box-shadow:0 14px 34px rgba(0,0,0,.28); backdrop-filter:blur(14px); }
@media (max-width:760px) {
  .basketball-tactics-editor__heading { min-height:0; align-items:flex-start; flex-direction:column; gap:8px; padding:17px 15px; }
  .basketball-tactics-editor__heading > span { white-space:normal; }
  .basketball-tactics-editor__body { padding:14px; }
  .basketball-tactics-panel { padding:14px; }
  .basketball-tactics-panel > header { align-items:flex-start; flex-direction:column; gap:6px; }
  .basketball-tactics-panel > header p { padding-left:33px; text-align:left; }
  .basketball-tactics-control-grid { grid-template-columns:1fr; }
  .basketball-tactics-savebar { bottom:calc(10px + env(safe-area-inset-bottom)); align-items:stretch; flex-direction:column; }
  .basketball-tactics-savebar button { width:100%; }
}
@media (max-width:700px) { .basketball-coach-workbench__layout { grid-template-columns:1fr; }.basketball-coach-workbench__source > strong { white-space:normal; }.pregame-roster-filters button { min-height:44px; padding-inline:13px; } }
@media (max-width: 700px) {
  .basketball-game-toolbar { align-items: stretch; flex-wrap: wrap; }
  .basketball-game-toolbar > span { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .basketball-game-toolbar > .basketball-game-view-toggle { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .basketball-game-toolbar button { min-height: 44px; padding-inline: 8px; }
  .basketball-game-toolbar small { margin: 0 auto 0 4px; align-self: center; }
  .basketball-game-toolbar .basketball-game-jump { flex:1 1 auto; }
  .basketball-game-row { grid-template-columns: 72px 40px minmax(0,1fr); padding-inline: 13px; }
  .basketball-game-row > :last-child { grid-column: 3; justify-self: start; }
  .basketball-game-target { min-height:44px; }
  .basketball-month-calendar { border-radius:13px; }
  .basketball-month-calendar > header { min-height:64px; grid-template-columns:48px minmax(0,1fr) 48px; gap:5px; padding:8px 7px; }
  .basketball-month-calendar > header button { min-width:44px; width:44px; height:44px; padding:0; gap:0; border-radius:10px; }
  .basketball-month-calendar > header button small { display:none; }
  .basketball-month-calendar > header button span { font-size:19px; }
  .basketball-month-calendar > header h2 { font-size:18px; }
  .basketball-month-calendar > header > div > small { font-size:7px; }
  .basketball-month-calendar__weekdays { display:none; }
  .basketball-month-calendar__grid { display:block; padding:8px; background:#0b1118; }
  .basketball-calendar-week { display:grid; gap:5px; margin-bottom:8px; padding:7px; border:1px solid var(--line-soft); border-radius:12px; background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.08)); }
  .basketball-calendar-week:last-child { margin-bottom:0; }
  .basketball-calendar-week::before { content:"第 " attr(data-calendar-week) " 周"; padding:2px 5px 4px; color:var(--muted-2); font-size:8px; font-weight:900; letter-spacing:.08em; }
  .basketball-calendar-day { min-height:58px; display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:7px; padding:5px; overflow:visible; border:1px solid transparent; border-radius:10px; cursor:pointer; touch-action:manipulation; }
  .basketball-calendar-day.is-outside { display:none; }
  .basketball-calendar-day.is-empty { min-height:50px; }
  .basketball-calendar-day.is-selected { z-index:1; box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 72%,transparent); }
  .basketball-calendar-day__head { min-height:44px; display:grid; place-content:center; justify-items:center; gap:3px; margin:0; padding:4px; border-right:1px solid var(--line-soft); text-align:center; }
  button.basketball-calendar-day__head { min-height:44px; margin:0; padding:4px; }
  .basketball-calendar-day__head time { font-size:15px; }
  .basketball-calendar-day__weekday { display:block; color:var(--muted); font-size:8px; font-weight:750; }
  .basketball-calendar-day.is-today .basketball-calendar-day__head time { width:22px; height:22px; border-radius:7px; }
  .basketball-calendar-day__head span { display:none; }
  .basketball-calendar-game { min-height:52px; padding:5px 7px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:1fr; align-items:center; gap:8px; border-left-width:3px; border-radius:9px; text-align:left; }
  .basketball-calendar-game__team { grid-template-columns:34px minmax(0,1fr); place-items:initial; align-items:center; gap:8px; }
  .basketball-calendar-game__mark { width:34px; height:34px; flex-basis:34px; border-radius:9px; }
  .basketball-calendar-game__mark img { inset:3px; width:calc(100% - 6px); height:calc(100% - 6px); }
  .basketball-calendar-game__copy { display:grid; }
  .basketball-calendar-game__copy strong { font-size:12px; }
  .basketball-calendar-game__copy small { font-size:8px; }
  .basketball-calendar-game__result { width:auto; min-height:36px; margin:0; padding:0 2px 0 8px; justify-content:center; border-top:0; border-left:1px solid var(--line-soft); font-size:9px; }
  .basketball-calendar-game__pending { min-height:36px; margin:0; padding:0 2px 0 8px; border-top:0; border-left:1px solid color-mix(in srgb,#d9b65e 28%,var(--line-soft)); text-align:center; }
  .basketball-calendar-game__result b { margin:0; font-size:11px; white-space:nowrap; }
  .basketball-calendar-game__outcome { width:20px; height:20px; flex-basis:20px; border-radius:6px; font-size:8px; }
  .basketball-calendar-rest { min-height:40px; display:flex; align-items:center; justify-content:flex-start; gap:8px; padding:0 10px; border-color:transparent; background:transparent; }
  .basketball-calendar-rest i { width:18px; height:12px; opacity:.3; }
  .basketball-calendar-rest span { display:block; color:var(--muted); font-size:9px; }
  .basketball-calendar-mobile-summary { display:grid; gap:10px; padding:12px; border-top:1px solid var(--line); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface-2)),var(--surface)); }
  .basketball-calendar-week > .basketball-calendar-mobile-summary { margin:0 0 2px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:10px; }
  .basketball-calendar-mobile-summary > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .basketball-calendar-mobile-summary > header > div { display:grid; gap:2px; }
  .basketball-calendar-mobile-summary > header small { color:var(--muted-2); font-size:7px; font-weight:900; letter-spacing:.1em; }
  .basketball-calendar-mobile-summary > header strong { font-size:14px; }
  .basketball-calendar-mobile-summary > header > span { padding:4px 7px; border:1px solid var(--line-soft); border-radius:999px; color:var(--muted); font-size:9px; }
  .basketball-calendar-mobile-summary__content { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:1px solid var(--line-soft); border-radius:11px; background:rgba(255,255,255,.025); }
  .basketball-calendar-mobile-summary__team { min-width:0; display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; }
  .basketball-calendar-mobile-summary__team > span:last-child { min-width:0; display:grid; gap:2px; }
  .basketball-calendar-mobile-summary__team small { color:var(--muted); font-size:8px; }
  .basketball-calendar-mobile-summary__team strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
  .basketball-calendar-mobile-summary__state { display:grid; flex:0 0 auto; justify-items:end; gap:2px; }
  .basketball-calendar-mobile-summary__state i { color:var(--muted); font-size:8px; font-style:normal; font-weight:900; }
  .basketball-calendar-mobile-summary__state strong { font-size:14px; font-variant-numeric:tabular-nums; }
  .basketball-calendar-mobile-summary__state.is-win i { color:#6ee7b7; }
  .basketball-calendar-mobile-summary__state.is-loss i { color:#ff9b70; }
  .basketball-calendar-mobile-summary__state.is-pending i,.basketball-calendar-mobile-summary__state.is-pending strong { color:#d9b65e; }
  .basketball-calendar-mobile-summary__rest { display:grid; gap:3px; }
  .basketball-calendar-mobile-summary__rest strong { font-size:12px; }
  .basketball-calendar-mobile-summary__rest small { color:var(--muted); font-size:9px; }
  .basketball-calendar-mobile-summary__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .basketball-calendar-mobile-summary__actions > * { min-height:44px; display:grid; place-items:center; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-3); color:var(--text); font-size:10px; font-weight:850; text-align:center; text-decoration:none; cursor:pointer; }
  .basketball-calendar-mobile-summary__actions > :only-child { grid-column:1/-1; }
  .basketball-calendar-mobile-summary__actions > .is-primary { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); background:var(--accent); color:#fff; }
  .basketball-team-link { padding:6px 2px; }
  .basketball-team-link .basketball-team-mark { width:36px; height:36px; flex-basis:36px; }
  .basketball-team-link strong { font-size:11px; white-space:normal; }
  .basketball-team-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; border-radius:16px; }
  .basketball-team-dialog > header { top:10px; right:10px; left:10px; }
  .basketball-team-dialog > header button { min-width:44px; min-height:44px; }
  .basketball-team-dialog [data-team-dialog-content] { max-height:calc(100dvh - 24px); scrollbar-gutter:auto; }
  .basketball-team-dialog__view .basketball-team-profile__hero { min-height:164px; align-items:flex-start; padding:56px 14px 16px; }
  .basketball-team-dialog__view .basketball-team-profile__mark { width:68px; height:68px; flex-basis:68px; }
  .basketball-team-dialog__view .basketball-team-profile__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .basketball-team-dialog__roster { padding:12px 10px 16px; }
  .basketball-local-game-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; border-radius:16px; }
  .basketball-local-game-dialog > header { min-height:126px; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:17px 15px; }
  .basketball-local-game-dialog > header > div:first-child { grid-column:1/-1; }
  .basketball-local-game-dialog > header > div:last-child { justify-items:end; }
  .basketball-local-game-score strong { min-width:34px; font-size:26px; }
  .basketball-local-game-progress { grid-template-columns:1fr; }
  .basketball-local-game-toolbar { align-items:stretch; flex-direction:column; gap:6px; padding:9px 10px; }
  .basketball-local-game-toolbar label { justify-content:space-between; }
  .basketball-local-game-toolbar select { min-width:160px; min-height:44px; }
  .basketball-local-game-feed { padding:12px 10px; }
  .basketball-local-game-feed ol { height:300px; }
  .basketball-local-game-feed li { grid-template-columns:38px minmax(0,1fr) 42px; padding-inline:8px; }
  .basketball-local-game-dialog > footer { display:block; width:100%; padding:10px 10px 12px; }
  .basketball-local-game-dialog > footer > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
  .basketball-local-game-dialog > footer button { width:100%; white-space:nowrap; }
  .basketball-local-game-dialog > footer [data-fast-playback-skip] { grid-column:1/-1; }
  .basketball-local-game-dialog > footer > [data-local-game-result] { grid-column:1/-1; width:100%; }
  .basketball-month-calendar > footer { align-items:flex-start; flex-wrap:wrap; gap:8px 13px; }
  .basketball-month-calendar > footer .basketball-calendar-hint { order:3; width:100%; }
  .basketball-calendar-records { order:2; width:100%; margin-left:0; display:grid; grid-template-columns:1fr 1fr; }
  .basketball-calendar-records > span { min-height:36px; }
  .basketball-month-calendar > footer > small { order:4; width:100%; margin-left:0; }
}

@media (max-width: 420px) {
  .basketball-game-toolbar { gap:8px; padding:10px; }
  .basketball-game-toolbar > span { width:100%; }
  .basketball-game-toolbar > span button { flex:1 1 0; min-width:0; padding-inline:6px; }
  .basketball-game-toolbar small { margin-left:2px; }
  .basketball-calendar-day { min-height:56px; grid-template-columns:48px minmax(0,1fr); gap:5px; }
  .basketball-calendar-game { min-height:50px; }
  .basketball-calendar-game__mark { width:32px; height:32px; flex-basis:32px; border-radius:8px; }
  .basketball-calendar-mobile-summary { padding:11px 10px; }
  .basketball-calendar-mobile-summary__content { padding:9px 8px; }
  .basketball-calendar-mobile-summary__team { gap:8px; }
  .basketball-calendar-mobile-summary__team .basketball-team-mark { width:38px; height:38px; flex-basis:38px; }
  .basketball-month-calendar > footer { padding-inline:10px; }
}

.basketball-leader-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.basketball-leader-card { padding: 0; overflow: hidden; }
.basketball-leader-card > header { min-height: 52px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.basketball-leader-card h3 { margin: 0; font-size: 17px; }
.basketball-leader-card header small { color: var(--muted); }
.basketball-leader-row { width: 100%; min-height: 68px; padding: 4px 10px; display: grid; grid-template-columns: 22px minmax(0,1fr) 48px; align-items: center; gap: 5px; border-bottom: 1px solid var(--line-soft); color: var(--text); }
.basketball-leader-row:hover { background: var(--surface-2); }
.basketball-leader-rank { color: var(--muted); font-size: 12px; text-align: center; }
.basketball-leader-row .basketball-leader-player { min-height: 58px; border-color: transparent; background: transparent; }
.basketball-leader-row .basketball-leader-player:hover { border-color: rgba(232,97,45,.28); }
.basketball-leader-row > em { min-width: 0; display: grid; justify-items: end; gap: 1px; color: var(--accent-strong); font-style: normal; }
.basketball-leader-row > em strong { font-size: 19px; font-weight: 900; line-height: 1; }
.basketball-leader-row > em small { color: var(--muted-2); font-size: 9px; font-weight: 750; }
.basketball-leader-card--turnovers .basketball-leader-row > em { color:#e98251; }
.basketball-leader-empty { min-height: 110px; display: grid; place-items: center; padding: 20px; color: var(--muted); font-size: 12px; text-align: center; }
@media (max-width: 900px) { .basketball-leader-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .basketball-leader-grid { grid-template-columns: 1fr; } .basketball-leader-row { min-height:72px; padding-inline:8px; grid-template-columns:20px minmax(0,1fr) 44px; } }

.basketball-bracket { display: grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:12px; overflow-x:auto; padding-bottom:8px; }
.basketball-bracket-round { min-width:210px; }
.basketball-bracket-round > header { min-height:58px; padding:8px 4px; }
.basketball-bracket-round > header small { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.08em; }
.basketball-bracket-round > header h3 { margin:4px 0 0; font-size:15px; }
.basketball-bracket-round > div { display:grid; align-content:space-around; gap:9px; min-height:100%; }
.basketball-bracket-series { padding:9px; border:1px solid var(--line-soft); border-radius:9px; background:var(--surface-2); }
.basketball-bracket-series.is-selected { border-color:var(--accent); box-shadow:inset 3px 0 0 var(--accent); }
.basketball-bracket-series > small { display:block; margin-bottom:5px; color:var(--muted); font-size:9px; }
.basketball-bracket-series p { display:grid; grid-template-columns:20px minmax(0,1fr) 20px; gap:6px; margin:0; padding:5px 3px; color:var(--muted); font-size:11px; }
.basketball-bracket-series p + p { border-top:1px solid var(--line-soft); }
.basketball-bracket-series p.is-winner { color:var(--text); font-weight:800; }
.basketball-bracket-series i { color:var(--muted-2); font-style:normal; }
.basketball-bracket-series span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-bracket-series b { color:var(--accent-strong); text-align:right; }
.basketball-standings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.basketball-standings-tabs { width:max-content; max-width:100%; display:flex; gap:5px; margin:0 0 14px; padding:4px; overflow-x:auto; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.basketball-standings-tabs button { min-width:86px; min-height:38px; padding:7px 13px; border:0; border-radius:8px; background:transparent; color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.basketball-standings-tabs button:hover { color:var(--text); }
.basketball-standings-tabs button[aria-selected="true"] { background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,var(--surface)),color-mix(in srgb,var(--accent) 9%,var(--surface))); color:var(--text); box-shadow:0 5px 14px rgba(0,0,0,.16); }
.basketball-standings--divisions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.basketball-standings-conference { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius,12px); background:var(--surface); }
.basketball-standings-conference > header,.basketball-standing-row { display:grid; grid-template-columns:34px minmax(0,1fr) 62px 54px 50px 60px; align-items:center; gap:10px; }
.basketball-standings-conference > header { min-height:52px; padding:0 16px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }
.basketball-standings-conference > header h3 { grid-column:1/3; margin:0; color:var(--text); font-size:17px; }
.basketball-standing-row { min-height:56px; padding:6px 16px; border-bottom:1px solid var(--line-soft); color:var(--text); }
.basketball-standing-row:last-child { border-bottom:0; }
.basketball-standing-row:hover { background:var(--surface-2); }
.basketball-standing-row.is-selected { background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent); box-shadow:inset 3px 0 var(--accent); }
.basketball-standing-row > b { color:var(--muted); text-align:center; }
.basketball-standing-streak { font-size:10px; font-weight:850; }
.basketball-standing-streak.is-win { color:#9edc76; }
.basketball-standing-streak.is-loss { color:#e58a7e; }
.basketball-standing-streak.is-none { color:var(--muted-2); }
.basketball-standing-team { width:100%; min-width:0; padding:4px 2px; gap:9px; }
.basketball-standing-team .basketball-team-mark { width:38px; height:38px; flex-basis:38px; border-radius:10px; }
.basketball-standing-team strong { color:var(--text); font-size:13px; font-weight:750; }
.basketball-standing-team small { font-size:10px; }
@media(max-width:1000px) { .basketball-standings--divisions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .basketball-standings { grid-template-columns:1fr; } .basketball-standings-tabs { width:100%; } .basketball-standings-tabs button { flex:1 0 auto; } .basketball-standings-conference > header,.basketball-standing-row { grid-template-columns:27px minmax(0,1fr) 52px 44px 52px; gap:8px; padding-inline:11px; } .basketball-standing-percentage { display:none; } .basketball-standing-team { gap:8px; } .basketball-standing-team .basketball-team-mark { width:36px; height:36px; flex-basis:36px; } }
.basketball-team-roster { padding:20px; border:1px solid var(--line); border-radius:var(--radius,12px); background:var(--surface); }
.basketball-team-roster > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:13px; }
.basketball-team-roster > header p { margin:0; }
.basketball-team-roster > header small { color:var(--muted); }
.basketball-roster-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.basketball-roster-filters button { min-width:44px; min-height:44px; padding:6px 10px; border:1px solid var(--line); border-radius:99px; background:var(--surface-2); color:var(--muted); font-size:11px; font-weight:750; cursor:pointer; }
.basketball-roster-filters button:hover,.basketball-roster-filters button.active { border-color:var(--accent); color:var(--text); }
.basketball-team-roster > [data-basketball-roster] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
@media(max-width:700px) { .basketball-team-roster > header { align-items:flex-start; flex-direction:column; } .basketball-roster-filters { justify-content:flex-start; } .basketball-team-roster > [data-basketball-roster] { grid-template-columns:1fr; } }
.basketball-lineup-board { --court-line:rgba(255,255,255,.48); background:linear-gradient(145deg,var(--surface),var(--surface-2)); border:1px solid var(--line); border-radius:16px; min-width:0; overflow:hidden; padding:18px; }
.basketball-lineup-board--standalone { margin:24px auto; max-width:860px; }
.basketball-lineup-board > header { align-items:flex-start; display:flex; gap:18px; justify-content:space-between; margin-bottom:14px; }.basketball-lineup-board > header h2,.basketball-lineup-board > header p { margin:2px 0; }.basketball-lineup-board > header > div > p:last-child { color:var(--muted); font-size:11px; line-height:1.5; }.basketball-lineup-board__count { background:var(--surface-3); border:1px solid var(--line-strong); border-radius:999px; color:var(--muted); font-size:10px; padding:6px 9px; white-space:nowrap; }.basketball-lineup-board__count strong { color:var(--accent-strong); font-size:14px; }.basketball-lineup-board.is-incomplete .basketball-lineup-board__count strong { color:#ff9c89; }
.basketball-lineup-board__actions { align-items:center; display:flex; flex:0 0 auto; gap:8px; }.basketball-lineup-board__actions [data-lineup-recommend] { background:var(--accent); border:1px solid var(--accent-strong); border-radius:999px; box-shadow:0 7px 18px rgba(232,97,45,.22); color:#fff; cursor:pointer; font-size:10px; font-weight:850; min-height:34px; padding:6px 12px; white-space:nowrap; }.basketball-lineup-board__actions [data-lineup-recommend]:hover,.basketball-lineup-board__actions [data-lineup-recommend]:focus-visible { background:var(--accent-strong); border-color:#ff9668; box-shadow:0 9px 22px rgba(232,97,45,.32); color:#fff; outline:none; transform:translateY(-1px); }.basketball-lineup-board__actions [data-lineup-recommend]:disabled { box-shadow:none; cursor:not-allowed; opacity:.48; transform:none; }
.basketball-lineup-board__workspace { align-items:start; display:grid; gap:14px; grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr); }
.basketball-lineup-court { aspect-ratio:1.45; background:linear-gradient(rgba(9,15,24,.28),rgba(9,15,24,.42)),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 24px),linear-gradient(155deg,#9b6038,#6d3d27); border:2px solid var(--court-line); border-radius:8px 8px 42% 42%; box-shadow:inset 0 0 38px rgba(0,0,0,.25); min-height:330px; overflow:hidden; position:relative; }
.basketball-lineup-court__markings { inset:0; pointer-events:none; position:absolute; }.basketball-lineup-court__markings::before { border:2px solid var(--court-line); border-top:0; content:""; height:34%; left:50%; position:absolute; top:0; transform:translateX(-50%); width:27%; }.basketball-lineup-court__markings::after { border:2px solid var(--court-line); border-radius:50%; content:""; height:30%; left:50%; position:absolute; top:18%; transform:translateX(-50%); width:31%; }.basketball-lineup-court__markings i { border:2px solid var(--court-line); border-radius:0 0 50% 50%; border-top:0; height:68%; inset:0 7% auto; position:absolute; }.basketball-lineup-court__markings b { background:var(--court-line); height:3px; left:44%; position:absolute; top:5%; width:12%; }.basketball-lineup-court__markings span { border:2px solid var(--court-line); border-radius:0 0 50% 50%; border-top:0; height:4%; left:47%; position:absolute; top:5%; width:6%; }
.basketball-court-slot { align-content:start; background:rgba(8,13,20,.94); border:1px solid rgba(255,255,255,.22); border-radius:13px; box-shadow:0 10px 22px rgba(0,0,0,.28); display:grid; gap:1px; min-height:120px; overflow:hidden; padding:9px 9px 46px 60px; position:absolute; transform:translate(-50%,-50%); width:clamp(150px,29%,194px); z-index:1; }.basketball-court-slot:hover,.basketball-court-slot:focus-within { border-color:var(--accent-strong); box-shadow:0 12px 28px rgba(0,0,0,.36),0 0 0 2px rgba(232,97,45,.18); }.basketball-court-slot > span { align-items:center; background:linear-gradient(145deg,#d7863f,#a94f24); border:1px solid rgba(255,190,133,.5); border-radius:8px; box-shadow:0 3px 9px rgba(70,28,8,.3); color:#fff8f1; display:flex; font-size:10px; font-weight:900; height:25px; justify-content:center; left:7px; position:absolute; top:6px; width:34px; z-index:2; }.basketball-court-slot img { border-radius:0 0 0 10px; bottom:46px; height:48px; left:5px; object-fit:cover; object-position:center 18%; position:absolute; width:50px; }.basketball-court-slot strong { color:var(--text); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-court-slot small { color:var(--muted); font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-court-slot em { background:#f2b84b; border-radius:999px; color:#201407; font-size:7px; font-style:normal; font-weight:900; padding:3px 5px; position:absolute; right:5px; top:-8px; }.basketball-court-slot [data-live-court-player-select] { cursor:pointer; inset:0; opacity:0; position:absolute; width:100%; }.basketball-court-slot [data-court-player-select] { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }.basketball-court-slot--pg { left:50%; top:82%; }.basketball-court-slot--sg { left:20%; top:61%; }.basketball-court-slot--sf { left:80%; top:61%; }.basketball-court-slot--pf { left:27%; top:25%; }.basketball-court-slot--c { left:68%; top:19%; }
.basketball-court-slot__player { background:transparent; border:0; color:inherit; cursor:pointer; display:grid; gap:2px; min-height:56px; min-width:0; padding:0; text-align:left; width:100%; }.basketball-court-slot__player small { display:block; padding-right:46px; }.basketball-court-slot__player:disabled { cursor:default; }.basketball-court-slot__player:focus-visible { outline:2px solid var(--accent-strong); outline-offset:3px; }
.basketball-court-slot__portrait { background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.1)); border:0; border-radius:8px 8px 5px 10px; bottom:46px; cursor:pointer; height:48px; left:5px; overflow:hidden; padding:0; position:absolute; width:50px; z-index:2; }.basketball-court-slot__portrait img { bottom:0; height:100%; left:0; width:100%; }.basketball-court-slot__portrait:hover,.basketball-court-slot__portrait:focus-visible { background:rgba(232,97,45,.2); box-shadow:0 0 0 2px var(--accent-strong); outline:0; }.basketball-court-slot__portrait:disabled { cursor:default; opacity:.45; }
.basketball-court-slot__name { align-items:center; background:transparent; border:0; color:var(--text); cursor:pointer; display:flex; gap:4px; min-height:25px; min-width:0; padding:0 2px 0 0; text-align:left; width:100%; }.basketball-court-slot__name strong { flex:1; line-height:1.08; min-width:0; overflow:visible; overflow-wrap:anywhere; text-overflow:clip; white-space:normal; }.basketball-court-slot__name i { color:var(--accent-strong); flex:0 0 auto; font-size:17px; font-style:normal; line-height:1; transition:transform .16s; }.basketball-court-slot__name:hover strong,.basketball-court-slot__name:focus-visible strong { color:var(--accent-strong); }.basketball-court-slot__name:hover i,.basketball-court-slot__name:focus-visible i { transform:translateX(2px); }.basketball-court-slot__name:focus-visible { border-radius:4px; outline:2px solid var(--accent-strong); outline-offset:2px; }
.basketball-court-slot .basketball-court-slot__player { align-items:center; min-height:22px; padding:0; }.basketball-court-slot .basketball-court-slot__player small { line-height:1.15; overflow:visible; overflow-wrap:anywhere; padding:0; text-overflow:clip; white-space:normal; }.basketball-court-slot .basketball-court-slot__player:hover small,.basketball-court-slot .basketball-court-slot__player:focus-visible small { color:var(--text); }.basketball-court-slot__quick { background:rgba(255,255,255,.04); border-top:1px solid rgba(255,255,255,.13); bottom:0; display:grid; grid-template-columns:1fr 1.3fr; height:42px; left:0; position:absolute; right:0; }.basketball-court-slot__overall,.basketball-court-slot__minutes { align-content:center; color:var(--muted); display:grid; gap:2px; justify-items:center; min-width:0; padding:3px 5px; }.basketball-court-slot__overall { background:var(--rating-badge-background); border-right:1px solid rgba(255,255,255,.18); color:var(--rating-ink); line-height:1; }.basketball-court-slot__overall small,.basketball-court-slot__minutes > span:first-child { color:var(--muted); font-size:9px; font-weight:800; line-height:1; overflow:visible; white-space:nowrap; }.basketball-court-slot__overall strong { color:inherit; font-size:15px; font-weight:900; line-height:1; }.basketball-court-slot__minutes[hidden] { display:none; }.basketball-court-slot__minutes > span:last-child { align-items:center; display:flex; gap:2px; }.basketball-court-slot__minutes input { appearance:textfield; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.16); border-radius:5px; color:var(--text); font:inherit; font-size:12px; font-weight:850; height:20px; min-width:0; padding:0 1px; text-align:center; width:25px; }.basketball-court-slot__minutes input::-webkit-inner-spin-button,.basketball-court-slot__minutes input::-webkit-outer-spin-button { appearance:none; margin:0; }.basketball-court-slot__minutes input:hover,.basketball-court-slot__minutes input:focus { background:rgba(232,97,45,.12); border-color:var(--accent-strong); outline:0; }.basketball-court-slot__minutes i { color:var(--muted); font-size:8px; font-style:normal; }
.basketball-court-slot.is-position-mismatch { border-color:#ff6255; box-shadow:0 12px 28px rgba(0,0,0,.4),0 0 0 2px rgba(255,71,61,.5),0 0 22px rgba(255,71,61,.2); }.basketball-court-slot.is-position-mismatch > span { background:linear-gradient(145deg,#e23e35,#a91f24); border:1px solid #ff8e83; box-shadow:0 4px 12px rgba(201,38,35,.42); color:#fff; cursor:help; overflow:visible; width:42px; }.basketball-court-slot.is-position-mismatch > span::after { align-items:center; background:#fff; border-radius:50%; color:#b51f27; content:"!"; display:flex; flex:0 0 11px; font-size:8px; height:11px; justify-content:center; line-height:1; margin-left:2px; }.basketball-court-slot.is-position-mismatch > span::before { background:#080d14; border:1px solid #ff6255; border-radius:7px; box-shadow:0 8px 22px rgba(0,0,0,.45); color:#ffe4e1; content:"该球员不适配此位置"; font-size:9px; font-weight:750; left:0; line-height:1.35; opacity:0; padding:6px 8px; pointer-events:none; position:absolute; top:calc(100% + 5px); transform:translateY(-3px); transition:opacity .14s,transform .14s; visibility:hidden; white-space:nowrap; z-index:8; }.basketball-court-slot.is-position-mismatch > span:hover::before,.basketball-court-slot.is-position-mismatch > span:focus::before { opacity:1; transform:translateY(0); visibility:visible; }.basketball-court-slot.is-position-mismatch > span:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.basketball-lineup-board > footer { align-items:center; color:var(--muted); display:flex; flex-wrap:wrap; font-size:10px; gap:14px; margin-top:10px; }.basketball-lineup-board > footer span { align-items:center; display:flex; gap:5px; line-height:1.4; }.basketball-lineup-board > footer i { background:var(--accent); border-radius:3px; flex:0 0 8px; height:8px; width:8px; }.basketball-lineup-board > footer b { align-items:center; background:#f2b84b; border-radius:50%; color:#201407; display:flex; flex:0 0 16px; font-size:8px; height:16px; justify-content:center; width:16px; }.basketball-lineup-board > footer > small { margin-left:auto; }
.basketball-lineup-plan { background:color-mix(in srgb,var(--surface-2) 86%,transparent); border:1px solid var(--line); border-radius:12px; min-width:0; overflow:hidden; }.basketball-lineup-plan > header { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:10px; justify-content:space-between; padding:11px 12px; }.basketball-lineup-plan > header div { display:grid; gap:2px; }.basketball-lineup-plan > header small { color:var(--accent-strong); font-size:7px; font-weight:900; letter-spacing:.12em; }.basketball-lineup-plan > header strong { font-size:12px; }.basketball-lineup-plan > header > span { color:var(--muted); font-size:8px; }.basketball-lineup-plan__players { display:grid; }.basketball-lineup-plan__players > article { border-bottom:1px solid var(--line); display:grid; gap:8px; padding:9px 10px; }.basketball-lineup-plan__identity { align-items:center; display:grid; gap:8px; grid-template-columns:28px minmax(0,1fr); }.basketball-lineup-plan__identity > b { align-items:center; background:var(--accent); border-radius:7px; color:#fff; display:flex; font-size:8px; height:27px; justify-content:center; }.basketball-lineup-plan__identity > span { display:grid; min-width:0; }.basketball-lineup-plan__identity strong,.basketball-lineup-plan__identity small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-lineup-plan__identity strong { font-size:10px; }.basketball-lineup-plan__identity small { color:var(--muted); font-size:7px; }.basketball-lineup-plan__controls { display:grid; gap:6px; grid-template-columns:70px minmax(0,1fr); }.basketball-lineup-plan__controls label { display:grid; gap:3px; }.basketball-lineup-plan__controls span { color:var(--muted); font-size:7px; }.basketball-lineup-plan__controls input,.basketball-lineup-plan__controls select,.basketball-lineup-plan__scorers select { background:var(--surface-3); border:1px solid var(--line-strong); border-radius:7px; color:var(--text); font-size:9px; min-height:32px; min-width:0; padding:5px 7px; width:100%; }.basketball-lineup-plan__duties summary { color:var(--muted); cursor:pointer; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-lineup-plan__duties > div { display:flex; flex-wrap:wrap; gap:4px; padding-top:7px; }.basketball-lineup-plan__duties label { cursor:pointer; }.basketball-lineup-plan__duties input { opacity:0; position:absolute; }.basketball-lineup-plan__duties label span { background:var(--surface-3); border:1px solid var(--line); border-radius:99px; color:var(--muted); display:block; font-size:7px; padding:4px 6px; }.basketball-lineup-plan__duties input:checked + span { background:color-mix(in srgb,var(--accent) 20%,var(--surface-3)); border-color:var(--accent); color:var(--text); }.basketball-lineup-plan__scorers { border-bottom:1px solid var(--line); padding:10px; }.basketball-lineup-plan__scorers > header { display:grid; gap:2px; margin-bottom:7px; }.basketball-lineup-plan__scorers > header strong { font-size:9px; }.basketball-lineup-plan__scorers > header small { color:var(--muted); font-size:7px; }.basketball-lineup-plan__scorers > div { display:grid; gap:6px; }.basketball-lineup-plan__scorers label { align-items:center; display:grid; gap:6px; grid-template-columns:58px minmax(0,1fr); }.basketball-lineup-plan__scorers label span { color:var(--muted); font-size:7px; }.basketball-lineup-plan__note { color:var(--muted); font-size:7px; line-height:1.5; margin:0; padding:9px 10px; }
@media(max-width:900px) { .basketball-lineup-board__workspace { grid-template-columns:1fr; }.basketball-lineup-plan__players { grid-template-columns:repeat(2,minmax(0,1fr)); }.basketball-lineup-plan__players > article { border-right:1px solid var(--line); } }
@media(max-width:620px) { .basketball-lineup-board { padding:12px; }.basketball-lineup-board > header { align-items:stretch; flex-direction:column; gap:8px; }.basketball-lineup-board__actions { justify-content:space-between; width:100%; }.basketball-lineup-board__actions [data-lineup-recommend] { min-height:44px; padding-inline:15px; }.basketball-lineup-board__count { align-self:center; }.basketball-lineup-court { aspect-ratio:.76; min-height:0; }.basketball-court-slot { min-height:96px; padding:0; width:33%; }.basketball-court-slot > span { border-radius:6px; font-size:8px; height:20px; left:5px; top:5px; width:27px; }.basketball-court-slot img { bottom:4px; height:44px; left:4px; width:44px; }.basketball-court-slot__portrait { bottom:4px; height:44px; left:4px; width:44px; }.basketball-court-slot__portrait img { bottom:0; height:100%; left:0; width:100%; }.basketball-court-slot__name { height:44px; min-height:44px; padding:3px 31px 0 34px; }.basketball-court-slot__name strong { overflow:hidden; overflow-wrap:normal; text-overflow:ellipsis; white-space:nowrap; }.basketball-court-slot__name i { font-size:15px; }.basketball-court-slot__quick { gap:0; }.basketball-court-slot .basketball-court-slot__player { bottom:4px; height:44px; left:52px; min-height:44px; padding:0; position:absolute; right:4px; width:auto; }.basketball-court-slot .basketball-court-slot__player small { overflow:hidden; overflow-wrap:normal; text-overflow:ellipsis; white-space:nowrap; }.basketball-court-slot__overall { background:linear-gradient(145deg,color-mix(in srgb,var(--rating-color) 72%,#fff),var(--rating-color) 58%,color-mix(in srgb,var(--rating-color) 78%,#111)); border:1px solid rgba(255,255,255,.2); border-radius:6px; color:var(--rating-ink); height:24px; min-width:26px; padding:0 3px; place-items:center; position:absolute; right:4px; top:4px; z-index:4; }.basketball-court-slot__overall small { display:none; }.basketball-court-slot__overall strong { color:inherit; font-size:10px; }.basketball-court-slot__minutes { display:none !important; }.basketball-court-slot strong { font-size:10px; }.basketball-court-slot--pg { top:86%; }.basketball-court-slot--sg { left:18%; top:58%; }.basketball-court-slot--sf { left:82%; top:58%; }.basketball-court-slot--pf { left:20%; top:25%; }.basketball-court-slot--c { left:80%; top:17%; }.basketball-lineup-plan__players { grid-template-columns:1fr; }.basketball-lineup-plan__players > article { border-right:0; }.basketball-lineup-plan__controls input,.basketball-lineup-plan__controls select,.basketball-lineup-plan__scorers select { min-height:44px; }.basketball-lineup-board > footer { align-items:start; display:grid; gap:7px; grid-template-columns:1fr; }.basketball-lineup-board > footer > small { margin-left:0; } }
.basketball-court-picker { background:transparent; border:0; color:var(--text); max-height:min(760px,calc(100dvh - 40px)); max-width:none; overflow:hidden; padding:0; width:min(720px,calc(100vw - 32px)); }.basketball-court-picker::backdrop { background:rgba(3,6,10,.82); backdrop-filter:blur(6px); }.basketball-court-picker > section { background:linear-gradient(145deg,var(--surface),var(--surface-2)); border:1px solid var(--line-strong); border-radius:18px; box-shadow:0 26px 80px rgba(0,0,0,.52); display:grid; grid-template-rows:auto minmax(0,1fr); max-height:min(760px,calc(100dvh - 40px)); overflow:hidden; }.basketball-court-picker > section > header { align-items:flex-start; border-bottom:1px solid var(--line); display:flex; gap:18px; justify-content:space-between; padding:20px 22px 16px; }.basketball-court-picker header small { color:var(--accent-strong); font-size:8px; font-weight:900; letter-spacing:.12em; }.basketball-court-picker header h2 { font-size:20px; margin:3px 0; }.basketball-court-picker header p { color:var(--muted); font-size:10px; margin:0; }.basketball-court-picker [data-court-picker-close] { align-items:center; background:var(--surface-3); border:1px solid var(--line-strong); border-radius:50%; color:var(--text); cursor:pointer; display:flex; flex:0 0 38px; font-size:21px; height:38px; justify-content:center; }.basketball-court-picker__list { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); overflow-y:auto; overscroll-behavior:contain; padding:14px; }.basketball-court-candidate { align-items:stretch; background:rgba(7,12,19,.58); border:1px solid var(--line); border-radius:12px; display:grid; grid-template-columns:minmax(0,1fr) 50px; min-width:0; overflow:hidden; }.basketball-court-candidate.is-current { border-color:rgba(232,97,45,.5); }.basketball-court-candidate.is-position-mismatch { opacity:.7; }.basketball-court-candidate > [data-court-candidate-select] { align-items:center; background:transparent; border:0; color:var(--text); cursor:pointer; display:grid; gap:3px 9px; grid-template-columns:40px minmax(0,1fr) 34px; min-width:0; padding:9px; text-align:left; }.basketball-court-candidate > [data-court-candidate-select]:hover { background:rgba(232,97,45,.1); }.basketball-court-candidate > [data-court-candidate-select]:disabled { cursor:default; opacity:.72; }.basketball-court-candidate__portrait { align-items:center; align-self:stretch; background:var(--surface-3); border-radius:9px; display:flex; grid-row:1/3; justify-content:center; min-height:44px; overflow:hidden; }.basketball-court-candidate__portrait img { height:100%; object-fit:cover; object-position:center 18%; width:100%; }.basketball-court-candidate__portrait i { color:var(--accent-strong); font-size:16px; font-style:normal; font-weight:900; }.basketball-court-candidate [data-court-candidate-select] > span:nth-child(2) { display:grid; min-width:0; }.basketball-court-candidate strong,.basketball-court-candidate small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-court-candidate strong { font-size:11px; }.basketball-court-candidate small { color:var(--muted); font-size:8px; }.basketball-court-candidate b { color:var(--accent-strong); font-size:16px; text-align:right; }.basketball-court-candidate em { color:#91caaa; font-size:7px; font-style:normal; grid-column:2/-1; }.basketball-court-candidate.is-position-mismatch em { color:#e99a8a; }.basketball-court-candidate__detail { background:var(--surface-3); border:0; border-left:1px solid var(--line); color:var(--muted); cursor:pointer; font-size:8px; font-weight:800; }.basketball-court-candidate__detail:hover { color:var(--accent-strong); }
.basketball-court-candidate.is-current{border-color:rgba(232,97,45,.68);background:linear-gradient(145deg,rgba(232,97,45,.14),rgba(7,12,19,.64));box-shadow:inset 3px 0 rgba(232,97,45,.72)}
.basketball-court-candidate.is-current>[data-court-candidate-select]{background:rgba(232,97,45,.07);color:#fff;cursor:default;opacity:1}
@media(max-width:620px) { .basketball-court-picker { margin:auto 0 0; max-height:82dvh; width:100%; }.basketball-court-picker > section { border-bottom:0; border-radius:18px 18px 0 0; max-height:82dvh; }.basketball-court-picker > section > header { padding:16px 16px 13px; }.basketball-court-picker__list { grid-template-columns:1fr; padding:10px 10px calc(12px + env(safe-area-inset-bottom)); }.basketball-court-candidate { grid-template-columns:minmax(0,1fr) 54px; }.basketball-court-candidate__detail { min-height:54px; } }
.basketball-lineup-plan { align-self:stretch; display:flex; flex-direction:column; overflow:hidden; }
.basketball-lineup-plan > header { padding:13px 14px; }
.basketball-lineup-plan > header small { font-size:9px; }
.basketball-lineup-plan > header strong { font-size:14px; }
.basketball-lineup-plan > header > span { font-size:11px; }
.basketball-lineup-plan__players { display:block; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:12px; scrollbar-gutter:stable; }
.basketball-lineup-plan__players > article { border:0; display:none; min-width:0; padding:0; }
.basketball-lineup-plan__players > article.is-active { align-content:start; display:grid; gap:12px; }
.basketball-lineup-plan__identity { align-items:center; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--surface-3)),var(--surface-3)); border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:11px; color:var(--text); display:grid; gap:10px; grid-template-columns:42px minmax(0,1fr) auto; min-width:0; padding:11px; text-align:left; }
.basketball-lineup-plan__identity > b { align-items:center; background:var(--accent); border:1px solid var(--accent-strong); border-radius:9px; box-shadow:0 6px 16px rgba(232,97,45,.22); color:#fff; display:flex; font-size:11px; height:38px; justify-content:center; margin:0; width:42px; }
.basketball-lineup-plan__identity > span { display:grid; min-width:0; }
.basketball-lineup-plan__identity strong { font-size:15px; line-height:1.25; }
.basketball-lineup-plan__identity small { color:var(--muted); display:block; font-size:11px; line-height:1.4; }
.basketball-lineup-plan .basketball-lineup-plan__detail { background:transparent; border:1px solid var(--line-strong); border-radius:999px; color:var(--muted); cursor:pointer; font-size:10px; font-weight:800; justify-self:end; min-height:32px; padding:5px 9px; width:auto; }
.basketball-lineup-plan .basketball-lineup-plan__detail:hover,.basketball-lineup-plan .basketball-lineup-plan__detail:focus-visible { background:color-mix(in srgb,var(--accent) 10%,transparent); border-color:var(--accent); color:var(--text); outline:none; }
.basketball-lineup-plan__controls { background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface-2)),var(--surface-2)); border:1px solid var(--line); border-radius:10px; display:grid; gap:10px; grid-template-columns:minmax(82px,.7fr) minmax(0,1.3fr); padding:12px; }
.basketball-lineup-plan__controls label { gap:5px; }
.basketball-lineup-plan__controls span { font-size:11px; font-weight:750; }
.basketball-lineup-plan__controls input,.basketball-lineup-plan__controls select { font-size:12px; min-height:40px; }
.basketball-lineup-plan__duties { background:rgba(7,12,19,.28); border:1px solid var(--line); border-radius:10px; display:block; padding:12px; }
.basketball-lineup-plan__duties > summary { color:var(--text); cursor:pointer; font-size:12px; font-weight:850; list-style:none; }
.basketball-lineup-plan__duties > summary::-webkit-details-marker { display:none; }
.basketball-lineup-plan__duties > summary::after { color:var(--accent-strong); content:"展开"; float:right; font-size:10px; }
.basketball-lineup-plan__duties[open] > summary::after { content:"收起"; }
.basketball-lineup-plan__duties > div { background:transparent; border:0; box-shadow:none; display:grid; gap:12px; padding:12px 0 0; }
.basketball-lineup-plan__duty-group { display:grid; gap:7px; }
.basketball-lineup-plan__duty-group > strong { color:var(--muted); font-size:11px; letter-spacing:.04em; }
.basketball-lineup-plan__duty-group > div { display:grid; gap:6px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.basketball-lineup-plan__duty-special { border:1px solid var(--line);border-radius:9px;overflow:hidden; }
.basketball-lineup-plan__duty-special > header { color:var(--muted);font-size:10px;font-weight:800;min-height:36px;padding:10px; }
.basketball-lineup-plan__duty-special > div { border-top:1px solid var(--line);display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px; }
.basketball-lineup-plan__duties label span { align-content:center; border-radius:9px; display:grid; gap:3px; min-height:60px; padding:8px 9px; }
.basketball-lineup-plan__duties label span strong { font-size:12px; line-height:1.25; }
.basketball-lineup-plan__duties label span small { color:var(--muted); font-size:10px; line-height:1.4; }
.basketball-lineup-plan__duties label.is-unavailable { cursor:not-allowed; }
.basketball-lineup-plan__duties label.is-unavailable span { border-style:dashed;filter:saturate(.25);opacity:.45; }
.basketball-lineup-plan__duties label.is-transferable span { border-style:dashed;filter:saturate(.35);opacity:.58;cursor:pointer; }
.basketball-lineup-plan__duties label.is-transferable:hover span,.basketball-lineup-plan__duties label.is-transferable:focus-within span { border-color:var(--accent);filter:none;opacity:1; }
.basketball-lineup-plan__duties input:checked + span small { color:color-mix(in srgb,var(--text) 76%,var(--muted)); }
.basketball-lineup-plan .basketball-lineup-plan__duties input[data-court-plan-duty] { width:1px; min-height:1px; height:1px; }
.basketball-lineup-plan__scorers { background:rgba(7,12,19,.24); border-top:1px solid var(--line); padding:11px; }
.basketball-lineup-plan__scorers > header strong { font-size:12px; }
.basketball-lineup-plan__scorers > header small { font-size:10px; line-height:1.4; }
.basketball-lineup-plan__scorers > div { grid-template-columns:repeat(3,minmax(0,1fr)); }
.basketball-lineup-plan__scorers label { align-items:stretch; gap:3px; grid-template-columns:1fr; }
.basketball-lineup-plan__scorers label span { font-size:10px; }
.basketball-lineup-plan__scorers select { font-size:12px; }
.basketball-lineup-plan__note { border-top:1px solid var(--line); font-size:10px; padding-block:8px; }
.basketball-court-slot.is-plan-active { border-color:var(--accent-strong); box-shadow:0 12px 28px rgba(0,0,0,.36),0 0 0 3px rgba(232,97,45,.22); }
@media(min-width:901px) { .basketball-lineup-board__workspace { align-items:stretch; grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr); }.basketball-lineup-board__workspace > .basketball-lineup-court { align-self:start; min-height:0; min-width:0; width:100%; } }
@media(max-width:900px) { .basketball-lineup-board__workspace > .basketball-lineup-court { aspect-ratio:1.12; min-height:0; min-width:0; width:100%; }.basketball-lineup-plan { align-self:start; width:100%; }.basketball-lineup-plan__players { padding:10px; }.basketball-lineup-plan__controls input,.basketball-lineup-plan__controls select,.basketball-lineup-plan__scorers select { min-height:44px; }.basketball-lineup-plan__scorers > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }.basketball-lineup-plan__scorers label { min-width:0; }.basketball-lineup-plan__duties > div { flex-wrap:wrap; } }
@media(max-width:620px) { .basketball-lineup-board__workspace > .basketball-lineup-court { aspect-ratio:.76; } }
@media(max-width:620px) { .basketball-live-player-instructions>div{grid-template-columns:1fr}.basketball-live-player-instructions select{min-height:44px} }
@media(max-width:430px) { .basketball-lineup-plan__identity { grid-template-columns:38px minmax(0,1fr) auto; padding:9px; }.basketball-lineup-plan__identity > b { height:36px; width:38px; }.basketball-lineup-plan .basketball-lineup-plan__detail { min-height:44px; padding-inline:8px; }.basketball-lineup-plan__controls { grid-template-columns:72px minmax(0,1fr); padding:10px; }.basketball-lineup-plan__scorers > div { display:flex; overflow-x:auto; }.basketball-lineup-plan__scorers label { flex:0 0 76%; } }
.basketball-command-lineup-board { background:linear-gradient(145deg,var(--surface),var(--surface-2)); }
.basketball-command-lineup-board .basketball-court-slot [data-live-court-player-select] { clip-path:inset(50%); height:1px; opacity:0; overflow:hidden; position:absolute; width:1px; }
.basketball-command-lineup-board .basketball-court-slot__portrait,
.basketball-command-lineup-board .basketball-court-slot__name,
.basketball-command-lineup-board .basketball-court-slot__player { pointer-events:auto; }

/* Shared lineup controls keep the same touch targets on desktop and mobile. */
.basketball-lineup-board__actions [data-lineup-recommend] { min-height:44px; }
.basketball-lineup-plan .basketball-lineup-plan__detail { min-height:44px; }

/* Court cards keep player identity primary; ratings follow position and minutes stay secondary. */
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot { background:linear-gradient(145deg,rgba(11,17,26,.98),rgba(7,12,19,.98)); min-height:102px; padding:7px 8px 27px 62px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot > span { border-radius:6px; font-size:9px; height:20px; left:6px; top:6px; width:30px; z-index:3; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait { bottom:6px; height:56px; left:5px; top:auto; width:52px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait::before { background:radial-gradient(circle at 50% 30%,#647285 0 10%,transparent 11%),radial-gradient(ellipse at 50% 88%,#344152 0 30%,transparent 31%); content:""; inset:0; opacity:.72; position:absolute; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait img { bottom:0; height:100%; left:0; object-fit:cover; object-position:center 18%; width:100%; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__name { align-items:flex-start; min-height:36px; padding:2px 34px 0 0; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__name strong { font-size:11px; line-height:1.12; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot .basketball-court-slot__player { align-items:baseline; display:flex; gap:5px; min-height:18px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__player > [data-court-player-meta] { flex:0 1 auto; font-size:10px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall { align-items:center; background:var(--rating-badge-background); border:1px solid rgba(255,255,255,.2); border-radius:7px; box-shadow:0 4px 10px rgba(0,0,0,.3); color:var(--rating-ink); display:grid; height:27px; line-height:1; min-width:29px; padding:0 4px; place-items:center; position:absolute; right:7px; top:7px; z-index:4; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall small { display:none; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall strong { color:inherit; font-size:11px; font-weight:950; letter-spacing:-.03em; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status { align-items:center; bottom:6px; display:flex; gap:5px; justify-content:space-between; left:62px; position:absolute; right:7px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes { align-items:center; background:rgba(255,255,255,.035); border-radius:5px; color:var(--muted); display:flex; flex:0 0 auto; gap:3px; justify-content:flex-end; margin-left:auto; opacity:.76; padding:2px 4px; position:static; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes:hover,
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes:focus-within { opacity:1; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes > span:first-child { font-size:9px; font-weight:700; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes > span:last-child { gap:1px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes input { background:transparent; border:0; border-radius:0; color:color-mix(in srgb,var(--text) 76%,var(--muted)); font-size:10px; height:16px; min-height:16px; padding:0; width:21px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes i { font-size:7px; }
.basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status em { flex:0 0 auto; font-size:9px; position:static; }
/* The live marker scopes behavior, not presentation. Command courts deliberately
   retain the same compact player tiles as the saved lineup court. */
.basketball-command-lineup-board .basketball-court-slot { background:linear-gradient(145deg,rgba(11,17,26,.98),rgba(7,12,19,.98)); min-height:102px; padding:7px 8px 27px 62px; }
.basketball-command-lineup-board .basketball-court-slot > span { border-radius:6px; font-size:9px; height:20px; left:6px; top:6px; width:30px; z-index:3; }
.basketball-command-lineup-board .basketball-court-slot__portrait { bottom:6px; height:56px; left:5px; top:auto; width:52px; }
.basketball-command-lineup-board .basketball-court-slot__portrait::before { background:radial-gradient(circle at 50% 30%,#647285 0 10%,transparent 11%),radial-gradient(ellipse at 50% 88%,#344152 0 30%,transparent 31%); content:""; inset:0; opacity:.72; position:absolute; }
.basketball-command-lineup-board .basketball-court-slot__portrait img { bottom:0; height:100%; left:0; object-fit:cover; object-position:center 18%; width:100%; }
.basketball-command-lineup-board .basketball-court-slot__name { align-items:flex-start; min-height:36px; padding:2px 34px 0 0; }
.basketball-command-lineup-board .basketball-court-slot__name strong { font-size:11px; line-height:1.12; }
.basketball-command-lineup-board .basketball-court-slot .basketball-court-slot__player { align-items:baseline; display:flex; gap:5px; min-height:18px; }
.basketball-command-lineup-board .basketball-court-slot__overall { align-items:center; background:var(--rating-badge-background); border:1px solid rgba(255,255,255,.2); border-radius:7px; box-shadow:0 4px 10px rgba(0,0,0,.3); color:var(--rating-ink); display:grid; height:27px; line-height:1; min-width:29px; padding:0 4px; place-items:center; position:absolute; right:7px; top:7px; z-index:4; }
.basketball-command-lineup-board .basketball-court-slot__overall small { display:none; }
.basketball-command-lineup-board .basketball-court-slot__overall strong { color:inherit; font-size:11px; font-weight:950; letter-spacing:-.03em; }
.basketball-command-lineup-board .basketball-court-slot__status { align-items:center; bottom:6px; display:flex; gap:5px; justify-content:space-between; left:62px; position:absolute; right:7px; }
.basketball-command-lineup-board .basketball-court-slot__status em { flex:0 0 auto; font-size:9px; position:static; }
@media(max-width:620px) {
  .basketball-lineup-board__workspace > .basketball-lineup-court { aspect-ratio:.76; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot { min-height:96px; padding:0; width:33%; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot--pg { z-index:5; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot--sg,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot--sf { z-index:4; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot--pf,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot--c { z-index:3; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot:focus-within { z-index:6; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot > span { height:20px; width:28px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot.is-position-mismatch > span { width:40px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait { bottom:4px; height:44px; left:4px; top:auto; width:44px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall { right:4px; top:4px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__name { height:44px; min-height:44px; padding:3px 31px 0 34px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot .basketball-court-slot__player { bottom:4px; height:44px; left:52px; min-height:44px; position:absolute; right:4px; width:auto; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status { bottom:43px; left:auto; right:4px; }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__minutes { display:none !important; }
}

/* Mode-neutral compact history used by match centers and season pages. */
.basketball-match-history { display:grid; gap:8px; }
.basketball-match-history__row { min-width:0; }
.basketball-match-history__identity { display:grid; gap:4px; min-width:0; }
.basketball-match-history__identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-match-history__identity small { color:var(--muted); font-size:9px; font-weight:650; }
.basketball-match-history__meta { align-items:flex-end; color:var(--muted); display:grid; font-size:10px; gap:4px; justify-items:end; line-height:1.4; text-align:right; }
.basketball-match-history__meta b { color:var(--accent-strong); font-size:9px; }
@media(max-width:620px) {
  .basketball-match-history__row { align-items:start; grid-template-columns:34px minmax(0,1fr) !important; gap:9px !important; padding:11px !important; }
  .basketball-match-history__meta { align-items:center; border-top:1px solid var(--line); grid-column:1/-1; grid-template-columns:minmax(0,1fr) auto; justify-items:start; padding-top:8px; text-align:left; width:100%; }
  .basketball-match-history__meta b { justify-self:end; }
}
.basketball-lineup-plan__controls input,
.basketball-lineup-plan__controls select,
.basketball-lineup-plan__scorers select { min-height:44px; }

/* On a phone the court is an overview, not a second copy of the editor.
   Keep only identity and the two useful glance values on each player tile;
   the selected-player panel below owns minutes, roles and detailed controls. */
@media(max-width:620px) {
  .basketball-lineup-board__workspace > .basketball-lineup-court {
    aspect-ratio:.82;
  }
  .basketball-lineup-board .basketball-court-slot,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot {
    background:linear-gradient(160deg,rgba(26,36,49,.98),rgba(7,12,19,.99));
    border-radius:10px;
    min-height:96px;
    padding:0;
    width:31%;
  }
  .basketball-lineup-board .basketball-court-slot--pg { top:86%; }
  .basketball-lineup-board .basketball-court-slot--sg { left:18%; top:55%; }
  .basketball-lineup-board .basketball-court-slot--sf { left:82%; top:55%; }
  .basketball-lineup-board .basketball-court-slot--pf { left:18%; top:19%; }
  .basketball-lineup-board .basketball-court-slot--c { left:82%; top:19%; }
  .basketball-lineup-board .basketball-court-slot__portrait,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait {
    border-radius:9px;
    bottom:0;
    height:100%;
    inset:0;
    opacity:.88;
    width:100%;
    /* The portrait owns the card surface.  The small change/config controls
       below deliberately sit above only their own, non-overlapping regions. */
    z-index:2;
  }
  .basketball-lineup-board .basketball-court-slot__portrait::after {
    background:linear-gradient(180deg,rgba(5,9,14,.12) 30%,rgba(5,9,14,.92) 100%);
    content:"";
    inset:0;
    pointer-events:none;
    position:absolute;
  }
  .basketball-lineup-board .basketball-court-slot__portrait img,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__portrait img {
    height:100%;
    inset:0;
    object-fit:cover;
    object-position:center 16%;
    width:100%;
  }
  .basketball-lineup-board .basketball-court-slot > span,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot > span {
    backdrop-filter:blur(4px);
    box-shadow:0 3px 9px rgba(0,0,0,.28);
    font-size:7px;
    height:18px;
    left:5px;
    top:5px;
    width:25px;
    z-index:4;
  }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot.is-position-mismatch > span {
    width:35px;
  }
  .basketball-lineup-board .basketball-court-slot__name,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__name {
    align-items:flex-end;
    background:linear-gradient(180deg,transparent,rgba(4,8,13,.94));
    bottom:0;
    height:44px;
    inset:auto 0 0;
    min-height:44px;
    padding:20px 7px 5px;
    position:absolute;
    width:100%;
    z-index:3;
  }
  .basketball-lineup-board .basketball-court-slot__name strong,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__name strong {
    color:#fff;
    font-size:10px;
    line-height:1.15;
    overflow:hidden;
    overflow-wrap:normal;
    text-overflow:ellipsis;
    text-shadow:0 1px 4px #000;
    white-space:nowrap;
  }
  .basketball-lineup-board .basketball-court-slot__name i { display:none; }
  .basketball-lineup-board .basketball-court-slot .basketball-court-slot__player,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot .basketball-court-slot__player {
    bottom:auto;
    display:block;
    height:44px;
    left:auto;
    min-height:44px;
    padding:0;
    position:absolute;
    right:0;
    top:0;
    width:44px;
    z-index:4;
  }
  .basketball-lineup-board .basketball-court-slot__player > small { display:none; }
  .basketball-lineup-board .basketball-court-slot__overall,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall {
    background:var(--rating-badge-background);
    border-color:rgba(255,255,255,.2);
    box-shadow:0 3px 9px rgba(0,0,0,.28);
    color:var(--rating-ink);
    height:21px;
    inset:5px 5px auto auto;
    min-width:25px;
    padding-inline:3px;
    position:absolute;
  }
  .basketball-lineup-board .basketball-court-slot__overall strong,
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__overall strong {
    font-size:9px;
  }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status {
    align-items:flex-end;
    bottom:0;
    height:44px;
    left:0;
    padding:0 0 6px 6px;
    pointer-events:none;
    right:auto;
    z-index:5;
  }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status em {
    align-items:center;
    display:flex;
    font-size:0;
    height:16px;
    justify-content:center;
    min-width:24px;
    padding:2px 4px;
    box-shadow:0 2px 7px rgba(0,0,0,.35);
  }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot__status em::after {
    content:attr(data-mobile-label);
    font-size:8px;
    letter-spacing:.01em;
    line-height:1;
  }
  .basketball-lineup-board:not(.basketball-live-lineup-board) .basketball-court-slot:has([data-court-scoring-priority]:not([hidden])) .basketball-court-slot__name {
    padding-left:35px;
  }
  .basketball-lineup-board .basketball-court-slot__minutes { display:none !important; }
  .basketball-lineup-board > footer span:nth-child(2) { display:none; }
  .basketball-command-lineup-board .basketball-court-slot.is-position-mismatch > span { width:35px; }
  .basketball-command-lineup-board .basketball-court-slot__status { align-items:flex-end; bottom:0; height:44px; left:0; padding:0 0 6px 6px; pointer-events:none; right:auto; z-index:5; }
  .basketball-command-lineup-board .basketball-court-slot__status em { align-items:center; display:flex; font-size:9px; height:16px; justify-content:center; min-width:24px; padding:2px 4px; box-shadow:0 2px 7px rgba(0,0,0,.35); }
}

/* Mode-neutral position filter used by draft and roster candidate pools. */
.basketball-position-filter { align-items:center; display:flex; gap:12px; min-width:0; }.basketball-position-filter > span { color:var(--muted); flex:0 0 auto; font-size:9px; font-weight:800; letter-spacing:.04em; }.basketball-position-filter > div { display:flex; gap:4px; min-width:0; padding:4px; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--surface-3) 78%,transparent); }.basketball-position-filter button { min-width:44px; min-height:36px; padding:0 12px; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; font:inherit; font-size:10px; font-weight:800; transition:background .16s,color .16s,box-shadow .16s; }.basketball-position-filter button:hover { color:var(--text); }.basketball-position-filter button.is-active { background:var(--accent); color:#fff; box-shadow:0 5px 14px rgba(0,0,0,.2); }
@media(max-width:620px) { .basketball-position-filter { align-items:stretch; flex-direction:column; gap:7px; }.basketball-position-filter > div { overflow-x:auto; scrollbar-width:none; }.basketball-position-filter > div::-webkit-scrollbar { display:none; }.basketball-position-filter button { flex:1 0 48px; min-height:44px; padding-inline:10px; } }
.basketball-position-filter button { min-height:44px; }

.basketball-game-plan-recommendation { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; margin:14px 0; padding:15px 16px; border:1px solid rgba(232,97,45,.34); border-radius:13px; background:linear-gradient(135deg,rgba(232,97,45,.12),rgba(14,22,33,.78) 58%); }
.basketball-game-plan-recommendation h3,.basketball-game-plan-recommendation p { margin:0; }
.basketball-game-plan-recommendation > div > p:last-child { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.55; }
.basketball-game-plan-recommendation > [data-recommend-game-plan] { min-height:44px; padding:9px 16px; border:1px solid var(--accent-strong); border-radius:9px; background:var(--accent); box-shadow:0 8px 20px rgba(232,97,45,.24); color:#fff; cursor:pointer; font:inherit; font-size:12px; font-weight:900; white-space:nowrap; }
.basketball-game-plan-recommendation > [data-recommend-game-plan]:hover,.basketball-game-plan-recommendation > [data-recommend-game-plan]:focus-visible { background:var(--accent-strong); outline:2px solid rgba(255,255,255,.22); outline-offset:2px; }
.basketball-game-plan-recommendation > aside { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:11px; border-top:1px solid rgba(232,97,45,.22); color:var(--text); font-size:11px; line-height:1.5; }
.basketball-game-plan-recommendation > aside[hidden] { display:none; }
.basketball-game-plan-recommendation > aside button { min-height:36px; padding:6px 11px; border:1px solid rgba(232,97,45,.42); border-radius:8px; background:rgba(232,97,45,.1); color:var(--accent-strong); cursor:pointer; }
@media(max-width:620px) { .basketball-game-plan-recommendation { grid-template-columns:1fr; padding:14px; }.basketball-game-plan-recommendation > [data-recommend-game-plan] { width:100%; }.basketball-game-plan-recommendation > aside { align-items:stretch; flex-direction:column; }.basketball-game-plan-recommendation > aside button { min-height:44px; width:100%; } }

/* Mode-neutral team identity, ratings and basketball summary. */
.basketball-team-profile { overflow:hidden; border-bottom:1px solid var(--line); background:#0d1218; }
.basketball-team-profile__hero { position:relative; min-height:170px; display:flex; align-items:center; gap:24px; padding:32px max(24px,calc((100vw - var(--content,1180px))/2)); overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 12% 25%,rgba(232,97,45,.2),transparent 34%),linear-gradient(125deg,#1b2532,#10161e 70%); }
.basketball-team-profile__hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(115deg,transparent 0 88px,rgba(255,255,255,.022) 89px,transparent 90px); }
.basketball-team-profile__mark,.basketball-team-profile__identity,.basketball-team-profile__ratings { position:relative; z-index:1; }
.basketball-team-profile__mark { width:104px; height:104px; flex:0 0 104px; display:grid; place-items:center; padding:8px; border:1px solid rgba(255,255,255,.14); border-radius:50%; background:rgba(255,255,255,.045); }
.basketball-team-profile__mark img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 12px 18px rgba(0,0,0,.35)); }
.basketball-team-profile__mark span { color:var(--accent-strong); font-size:24px; font-weight:900; }
.basketball-team-profile__identity { min-width:0; }
.basketball-team-profile__identity h1 { margin:7px 0 6px; font-size:clamp(36px,4.5vw,58px); line-height:1; letter-spacing:-.055em; }
.basketball-team-profile__identity > p:last-child { margin:0; color:var(--muted); line-height:1.6; }
.basketball-team-profile__ratings { display:flex; gap:8px; margin-left:auto; }
.basketball-team-profile__ratings > span { width:64px; min-height:70px; display:grid; place-items:center; align-content:center; gap:3px; border:1px solid var(--line); border-radius:10px; background:rgba(7,10,14,.58); }
.basketball-team-profile__ratings b { font-size:24px; line-height:1; }
.basketball-team-profile__ratings small { color:var(--muted); font-size:11px; }
.basketball-team-profile__metrics { width:min(var(--content,1180px),calc(100% - 48px)); display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:8px; margin:18px auto; }
.basketball-team-profile__metrics article { min-width:0; min-height:88px; display:grid; align-content:center; gap:4px; padding:13px 14px; border:1px solid var(--line-soft); border-radius:10px; background:var(--surface); }
.basketball-team-profile__metrics small,.basketball-team-profile__metrics span { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-team-profile__metrics strong { overflow:hidden; font-size:19px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-team-profile__metrics article.is-highlight strong { color:#e5c879; }
@media(max-width:900px) { .basketball-team-profile__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .basketball-team-profile__hero { min-height:0; flex-wrap:wrap; gap:16px; padding:24px 16px; }.basketball-team-profile__mark { width:72px; height:72px; flex-basis:72px; }.basketball-team-profile__identity { flex:1; }.basketball-team-profile__identity h1 { font-size:30px; }.basketball-team-profile__ratings { width:100%; margin:0; }.basketball-team-profile__ratings > span { min-height:60px; flex:1; }.basketball-team-profile__metrics { width:calc(100% - 28px); grid-template-columns:repeat(2,minmax(0,1fr)); }.basketball-team-profile__metrics article:last-child:nth-child(odd) { grid-column:1/-1; } }
.basketball-play-in { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.basketball-play-in-conference { padding:15px; border:1px solid var(--line); border-radius:var(--radius,12px); background:var(--surface); }
.basketball-play-in-conference > header small { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.08em; }
.basketball-play-in-conference > header h3 { margin:4px 0 12px; }
.basketball-play-in-path { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.basketball-play-in-path > div { display:grid; align-content:center; gap:9px; }
.basketball-play-in-game { padding:9px; border:1px solid var(--line-soft); border-radius:9px; background:var(--surface-2); }
.basketball-play-in-game.is-selected { border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); }
.basketball-play-in-game header { display:grid; margin-bottom:5px; }
.basketball-play-in-game header strong { font-size:11px; }
.basketball-play-in-game header small { color:var(--muted); font-size:9px; }
.basketball-play-in-game p { display:grid; grid-template-columns:20px minmax(0,1fr) 20px; gap:6px; margin:0; padding:5px 3px; color:var(--muted); font-size:11px; }
.basketball-play-in-game p + p { border-top:1px solid var(--line-soft); }
.basketball-play-in-game p.is-winner { color:var(--text); font-weight:800; }
.basketball-play-in-game p i { font-style:normal; }.basketball-play-in-game p span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.basketball-play-in-game p b { color:var(--accent-strong); text-align:right; }
.basketball-play-in-path aside { display:grid; gap:5px; padding:8px; border:1px dashed var(--line); border-radius:8px; }
.basketball-play-in-path aside span { display:grid; grid-template-columns:22px 1fr; gap:7px; font-size:10px; }.basketball-play-in-path aside i { font-style:normal; color:var(--accent-strong); }.basketball-play-in-path aside b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:800px) { .basketball-play-in { grid-template-columns:1fr; } }@media(max-width:430px) { .basketball-play-in-path { grid-template-columns:1fr; } }
.nba-team-picker .team-toolbar { align-items:center; }
.nba-team-picker .team-count { margin-left:auto; white-space:nowrap; }
.nba-team-picker .team-mark > b { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:color-mix(in srgb,var(--team-primary) 22%,var(--surface-3)); color:var(--text); font-size:12px; letter-spacing:.04em; }
.nba-team-picker .team-rating--division b { border-color:var(--line); background:var(--surface-2); color:var(--muted); font-size:16px; }
@media(max-width:700px) {
  .nba-team-picker .team-toolbar { align-items:stretch; }
  .nba-team-picker .conference-filter { width:100%; }
  .nba-team-picker .team-count { margin-left:0; }
}

.basketball-season-awards { display:grid; gap:18px; margin-top:18px; }
.basketball-season-highlights { min-width:0; margin:20px 0 0; padding:20px; border:1px solid var(--line-soft); border-radius:14px; background:var(--surface); }
.basketball-season-highlights > header { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:13px; }
.basketball-season-highlights > header h2 { margin:3px 0 0; font-size:22px; }
.basketball-season-highlights > header p:last-child { margin:5px 0 0; color:var(--muted); font-size:11px; }
.basketball-season-highlights > header > span { color:var(--muted); font-size:11px; font-weight:800; white-space:nowrap; }
.basketball-season-highlights > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.basketball-season-highlight { min-width:0; display:grid; grid-template-columns:32px minmax(0,1fr); gap:3px 10px; padding:13px; border:1px solid var(--line-soft); border-radius:10px; background:var(--surface-2); color:var(--text); text-decoration:none; transition:border-color .15s,transform .15s; }
.basketball-season-highlight:hover { border-color:color-mix(in srgb,var(--accent-strong) 44%,var(--line)); transform:translateY(-1px); }
.basketball-season-highlight > i { grid-row:1/3; width:32px; height:32px; display:grid; place-items:center; align-self:center; border-radius:9px; background:var(--accent-soft); color:var(--accent-strong); font-size:14px; font-style:normal; font-weight:900; }
.basketball-season-highlight > span { min-width:0; display:grid; gap:3px; }
.basketball-season-highlight small,.basketball-season-highlight em { overflow:hidden; color:var(--muted); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.basketball-season-highlight strong { overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-season-highlight > em { grid-column:1/-1; margin-top:6px; }
.basketball-season-highlight > b { grid-column:1/-1; margin-top:3px; color:var(--accent-strong); font-size:10px; }
@media(max-width:900px) { .basketball-season-highlights > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .basketball-season-highlights { padding:16px; }
  .basketball-season-highlights > header { align-items:start; flex-direction:column; gap:5px; }
  .basketball-season-highlights > div { display:flex; margin-right:-16px; padding-right:16px; overflow-x:auto; scroll-snap-type:x proximity; }
  .basketball-season-highlight { flex:0 0 min(78vw,260px); min-height:124px; scroll-snap-align:start; }
}
.basketball-player-highlights { min-width:0; margin:12px 0 0; padding:20px; border:1px solid var(--line-soft); border-radius:14px; background:var(--surface); }
.basketball-player-highlights > header { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.basketball-player-highlights > header h2 { margin:3px 0 0; font-size:22px; }
.basketball-player-highlights > header p:last-child { max-width:620px; margin:5px 0 0; color:var(--muted); font-size:11px; }
.basketball-player-highlights > header > span { padding:5px 9px; border:1px solid var(--line-soft); border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:11px; font-weight:800; white-space:nowrap; }
.basketball-player-highlights > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.basketball-player-highlight { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); align-content:start; gap:7px; padding:10px; overflow:hidden; border:1px solid var(--line-soft); border-radius:12px; background:linear-gradient(145deg,rgba(232,97,45,.06),var(--surface-2) 56%); }
.basketball-player-highlight > header { min-width:0; display:flex; align-items:end; justify-content:space-between; gap:8px; padding:2px 2px 8px; border-bottom:1px solid var(--line-soft); }
.basketball-player-highlight > header span { color:var(--muted); font-size:10px; font-weight:800; line-height:1.35; }
.basketball-player-highlight > header strong { color:var(--accent-strong); font-size:21px; line-height:1; white-space:nowrap; }
.basketball-player-highlight .basketball-player-summary { min-width:0; min-height:58px; grid-template-columns:40px minmax(0,1fr) 32px; gap:8px; padding:5px 2px; border-color:transparent; background:transparent; }
.basketball-player-highlight .basketball-player-summary__portrait { width:40px; height:40px; }
.basketball-player-highlight .basketball-player-summary__rating { width:32px; min-height:29px; }
.basketball-player-highlight .basketball-player-summary__arrow { display:none; }
.basketball-player-highlight .basketball-player-summary:hover { border-color:rgba(232,97,45,.25); background:rgba(232,97,45,.045); }
.basketball-player-highlight__box { min-height:30px; width:100%; display:flex; align-items:center; justify-content:center; padding:0 8px; border-radius:7px; color:var(--accent-strong); font-size:10px; font-weight:800; line-height:1; text-decoration:none; }
.basketball-player-highlight__box:not(.is-muted) { border:1px solid rgba(232,97,45,.2); background:rgba(232,97,45,.07); }
.basketball-player-highlight__box:not(.is-muted):hover { border-color:rgba(232,97,45,.42); background:rgba(232,97,45,.12); color:var(--text); }
.basketball-player-highlight__box.is-muted { color:var(--muted-2); }
@media(max-width:1100px) { .basketball-player-highlights > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .basketball-player-highlights > div { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .basketball-player-highlights { padding:16px; }
  .basketball-player-highlights > header { align-items:start; flex-direction:column; gap:7px; }
  .basketball-player-highlight > header strong { font-size:19px; }
  .basketball-player-highlight__box { min-height:44px; }
}
.basketball-award-winners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.basketball-award-winner { min-width:0; display:grid; gap:12px; padding:15px; border:1px solid var(--line-soft); border-radius:12px; background:linear-gradient(145deg,rgba(217,182,94,.08),var(--surface) 62%); }
.basketball-award-winner > header { display:flex; align-items:center; gap:8px; }
.basketball-award-winner > header span { color:#d9b65e; font-size:11px; font-weight:900; letter-spacing:.1em; }
.basketball-award-winner > header small { color:var(--muted); font-size:11px; }
.basketball-award-player { background:color-mix(in srgb,var(--surface-2) 72%,transparent); }
.basketball-award-player--winner { min-height:70px; border-color:color-mix(in srgb,#d9b65e 22%,var(--line-soft)); }
.basketball-all-nba { display:grid; gap:14px; }
.basketball-all-nba h3 { margin:0 0 8px; color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.basketball-all-nba section > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr)); gap:7px; }
@media(max-width:600px) {
  .basketball-award-winners { grid-template-columns:1fr; }
  .basketball-all-nba section > div { grid-template-columns:1fr; }
}

.basketball-box-score-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.basketball-replay { display:grid; gap:16px; }
.basketball-box-scoreboard { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; padding:24px 26px; overflow:hidden; border:0; border-radius:16px; background:radial-gradient(circle at 50% -40%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 54%),linear-gradient(135deg,#192532,#0d141d); box-shadow:inset 0 1px rgba(255,255,255,.055),0 14px 34px rgba(0,0,0,.16); }
.basketball-box-scoreboard__team { min-width:0; display:flex; align-items:center; justify-content:center; gap:14px; }
.basketball-box-scoreboard__team.is-home { text-align:right; }
.basketball-box-scoreboard__team > span:not(.basketball-team-mark) { min-width:0; display:grid; gap:3px; }
.basketball-box-scoreboard__team small { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.06em; }
.basketball-box-scoreboard__team strong { overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-box-team-mark { width:62px; height:62px; flex-basis:62px; border-radius:17px; }
.basketball-box-scoreboard__score { min-width:160px; display:grid; justify-items:center; gap:4px; }
.basketball-box-scoreboard__score > small { color:var(--accent-strong); font-size:9px; font-weight:950; letter-spacing:.14em; }
.basketball-box-scoreboard__score > strong { display:flex; align-items:center; gap:12px; font-variant-numeric:tabular-nums; }
.basketball-box-scoreboard__score b { min-width:52px; font-size:42px; line-height:1; text-align:center; }
.basketball-box-scoreboard__score i { color:var(--muted-2); font-size:18px; font-style:normal; }
.basketball-box-score-stack { display: grid; gap: 14px; padding: 18px; }
.basketball-box-team { min-width:0; overflow:hidden; border:0; border-radius:14px; background:linear-gradient(145deg,rgba(40,58,78,.22),transparent 42%),var(--surface); box-shadow:inset 0 1px rgba(255,255,255,.045),0 10px 28px rgba(0,0,0,.12); }
.basketball-box-team > header { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; }
.basketball-box-team__identity { min-width:0; display:flex; align-items:center; gap:11px; }
.basketball-box-team__identity .basketball-box-team-mark { width:42px; height:42px; flex-basis:42px; border-radius:12px; }
.basketball-box-team__identity > span:last-child { min-width:0; display:grid; gap:2px; }
.basketball-box-team__identity small { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.08em; }
.basketball-box-team h2 { margin: 0; overflow: hidden; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.basketball-box-team > header > strong { min-width:54px; color: var(--accent-strong); font-size: 28px; text-align:right; font-variant-numeric:tabular-nums; }
.basketball-team-summary { display:grid; grid-template-columns:repeat(4,minmax(64px,1.35fr)) repeat(3,minmax(34px,.65fr)); margin:0 10px 8px; padding:9px 10px; gap:5px; border:0; border-radius:10px; background:color-mix(in srgb,var(--surface-2) 70%,transparent); }
.basketball-team-summary div { min-width:0; display:grid; gap:3px; }
.basketball-team-summary dt { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.06em; }
.basketball-team-summary dt[data-stat-label],.basketball-box-table th[data-stat-label] { cursor:help; }
.basketball-team-summary dd { margin:0; overflow:hidden; color:var(--text); font-size:11px; font-variant-numeric:tabular-nums; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.basketball-period-scores { width:100%; display:grid; gap:5px; padding:12px 14px; overflow-x:auto; border:0; border-radius:12px; background:rgba(255,255,255,.026); box-shadow:inset 0 1px rgba(255,255,255,.035); scrollbar-gutter:stable; }
.basketball-period-row { min-width:max-content; display:grid; grid-template-columns:minmax(110px,1fr) repeat(var(--period-count,4),38px) 45px; align-items:center; gap:5px; }
.basketball-period-row span { max-width:220px; overflow:hidden; color:var(--text); font-size:12px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.basketball-period-row b,.basketball-period-row strong { color:var(--text); font-size:12px; text-align:center; font-variant-numeric:tabular-nums; }
.basketball-period-row strong { color:var(--accent-strong); }
.basketball-period-labels span,.basketball-period-labels b { color:var(--muted); font-size:10px; }
.basketball-box-table-wrap { max-width:100%; overflow-x: auto; border-top:0; scrollbar-gutter:stable; }
.basketball-box-mobile-hint { display:none; }
.basketball-box-table { width: 100%; min-width: 430px; border-collapse: collapse; font-size: 12px; }
.basketball-box-table--compact { min-width: 0; }
.basketball-box-table--wide { min-width: 920px; }
.basketball-box-team .basketball-box-table--wide { min-width:760px; }
.basketball-box-table th,.basketball-box-table td { height:40px; padding:6px 9px; border-bottom:1px solid rgba(255,255,255,.035); text-align:right; white-space:nowrap; }
.basketball-box-table th { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.basketball-box-table thead th { position:sticky; z-index:2; top:0; background:color-mix(in srgb,var(--surface-2) 90%,#080d13); }
.basketball-box-table th:first-child,.basketball-box-table td:first-child { position: sticky; left: 0; z-index: 1; min-width: 190px; background: var(--surface); text-align: left; }
.basketball-box-table tbody tr:last-child td { border-bottom: 0; }
.basketball-box-table tbody tr:hover td { background: var(--surface-2); }
.basketball-box-table tbody tr:not(.basketball-box-group):nth-child(odd) td { background:rgba(255,255,255,.012); }
.basketball-box-table .basketball-box-group th { position:static; height:27px; padding:5px 9px; border:0; background:color-mix(in srgb,var(--surface-2) 76%,var(--surface)); box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 45%,transparent); color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.1em; text-align:left; }
.basketball-box-player { width:100%; max-width: 220px; min-height: 44px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:8px; padding: 4px 0; overflow: hidden; border: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.basketball-box-player-cell { max-width:220px; display:grid; gap:0; }
.basketball-box-player__portrait { width:34px; height:34px; overflow:hidden; display:grid; place-items:center; border:1px solid var(--line-soft); border-radius:9px; background:var(--surface-3); }
.basketball-box-player__portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.basketball-box-player > strong { min-width:0; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-box-player:hover { color: var(--accent-strong); }
.basketball-box-player:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.basketball-box-player-name { cursor:default; }
.basketball-badge-trigger { width:max-content; min-height:24px; display:flex; align-items:center; gap:4px; margin:-3px 0 4px 42px; padding:3px 7px; border:1px solid rgba(217,182,94,.24); border-radius:99px; background:rgba(217,182,94,.07); color:#d9c17b; cursor:pointer; }
.basketball-badge-trigger > span { font-size:9px; }
.basketball-badge-trigger > strong { font-size:9px; }
.basketball-badge-trigger > small { padding-left:4px; border-left:1px solid rgba(217,182,94,.2); color:var(--muted); font-size:8px; }
.basketball-badge-trigger:hover,.basketball-badge-trigger[aria-expanded="true"] { border-color:rgba(217,182,94,.56); background:rgba(217,182,94,.13); color:#efd98f; }
.basketball-badge-trigger:focus-visible { outline:2px solid #d9b65e; outline-offset:2px; }
.basketball-badge-popover { position:fixed; inset:0; z-index:1200; width:min(560px,calc(100vw - 32px)); max-height:min(680px,calc(100dvh - 32px)); margin:auto; padding:0; overflow:hidden; border:1px solid rgba(217,182,94,.34); border-radius:16px; background:linear-gradient(145deg,rgba(217,182,94,.08),transparent 45%),#111923; color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.58); pointer-events:auto; }
.basketball-badge-popover::backdrop { background:rgba(2,5,9,.68); backdrop-filter:blur(3px); }
.basketball-badge-popover > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--line-soft); }
.basketball-badge-popover > header > div { min-width:0; display:grid; gap:2px; }
.basketball-badge-popover > header small { color:#d9c17b; font-size:8px; font-weight:900; letter-spacing:.08em; }
.basketball-badge-popover > header strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-badge-popover__close { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.025); color:var(--muted); font-size:21px; line-height:1; cursor:pointer; }
.basketball-badge-popover__close:hover { border-color:rgba(217,182,94,.4); color:var(--text); }
.basketball-badge-popover__body { max-height:calc(min(680px,100dvh - 32px) - 116px); overflow-y:auto; }
.basketball-badge-popover__stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; padding:10px 12px; border-bottom:1px solid var(--line-soft); }
.basketball-badge-popover__stats span { min-width:0; display:grid; justify-items:center; gap:2px; padding:7px 4px; border-radius:9px; background:rgba(255,255,255,.035); }
.basketball-badge-popover__stats small { color:var(--muted); font-size:9px; }
.basketball-badge-popover__stats strong { font-size:14px; font-variant-numeric:tabular-nums; }
.basketball-badge-popover__note { margin:0; padding:7px 12px 1px; color:#8492a2; font-size:9px; line-height:1.45; }
.basketball-badge-popover__list { display:grid; gap:3px; padding:8px; }
.basketball-badge-popover__list > div { min-height:58px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding:8px 10px; border-radius:10px; color:var(--text); }
.basketball-badge-popover__list > div:nth-child(odd) { background:rgba(255,255,255,.025); }
.basketball-badge-popover__icon { width:38px; height:38px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(217,182,94,.2); border-radius:9px; background:rgba(217,182,94,.07); }
.basketball-badge-popover__icon img { width:100%; height:100%; object-fit:contain; }
.basketball-badge-popover__icon i { color:#d9c17b; font-style:normal; }
.basketball-badge-popover__copy { min-width:0; display:grid; gap:2px; }
.basketball-badge-popover__copy strong { overflow:hidden; color:var(--text); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-badge-popover__copy small { color:#d9c17b; font-size:9px; }
.basketball-badge-popover__copy p { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.basketball-badge-popover__outcome-title { margin-top:6px; color:#b9c5d3 !important; font-size:8px !important; font-weight:850; letter-spacing:.05em; }
.basketball-badge-popover__outcome { display:flex; flex-wrap:wrap; gap:4px; margin-top:1px; }
.basketball-badge-popover__outcome em { padding:3px 6px; border:1px solid rgba(122,164,205,.18); border-radius:999px; background:rgba(122,164,205,.08); color:#ceddeb; font-size:9px; font-style:normal; font-variant-numeric:tabular-nums; white-space:nowrap; }
.basketball-badge-popover__legacy { margin-top:5px; color:#778494 !important; font-size:8px !important; }
.basketball-badge-popover__list b { color:#e4ca7e; font-size:11px; }
.basketball-stat-hint { display:none; }
@media (min-width: 851px) {
  .basketball-box-player { min-height:50px; grid-template-columns:40px minmax(0,1fr); gap:10px; }
  .basketball-box-player__portrait { width:40px; height:40px; border-radius:10px; }
  .basketball-box-player-cell:has(.basketball-badge-trigger) { position:relative; min-height:58px; }
  .basketball-box-player-cell:has(.basketball-badge-trigger) .basketball-box-player { min-height:58px; }
  .basketball-box-player-cell:has(.basketball-badge-trigger) .basketball-box-player > strong { transform:translateY(-9px); }
  .basketball-box-player-cell:has(.basketball-badge-trigger) .basketball-badge-trigger { position:absolute; left:50px; bottom:2px; max-width:calc(100% - 50px); margin:0; }
}
@media (max-width: 850px) {
  .basketball-box-score-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .basketball-stat-hint:not([hidden]) { position:fixed; z-index:1250; left:50%; bottom:max(18px,env(safe-area-inset-bottom)); display:block; max-width:calc(100vw - 32px); padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#111923; box-shadow:0 10px 28px rgba(0,0,0,.42); color:var(--text); font-size:12px; font-weight:800; white-space:nowrap; transform:translateX(-50%); pointer-events:none; }
  .basketball-box-scoreboard { grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr); gap:7px; padding:16px 10px; border-radius:13px; }
  .basketball-box-scoreboard__team { display:grid; justify-items:center; gap:6px; text-align:center; }
  .basketball-box-scoreboard__team.is-home { justify-items:center; text-align:center; }
  .basketball-box-scoreboard__team.is-home > span:not(.basketball-team-mark) { order:2; }
  .basketball-box-scoreboard__team.is-home .basketball-box-team-mark { order:1; }
  .basketball-box-scoreboard__team strong { display:none; }
  .basketball-box-scoreboard__team small { font-size:8px; white-space:nowrap; }
  .basketball-box-team-mark { width:50px; height:50px; flex-basis:50px; border-radius:14px; }
  .basketball-box-scoreboard__score { min-width:0; }
  .basketball-box-scoreboard__score > strong { gap:5px; }
  .basketball-box-scoreboard__score b { min-width:39px; font-size:32px; }
  .basketball-box-scoreboard__score i { font-size:13px; }
  .basketball-box-score-stack { padding: 10px; }
  .basketball-box-team > header { min-height: 58px; padding: 11px 13px; }
  .basketball-box-team h2 { font-size: 16px; }
  .basketball-team-summary { grid-template-columns:repeat(3,minmax(0,1fr)); padding:9px 12px; }
  .basketball-period-scores { padding:10px; border-radius:10px; scrollbar-gutter:auto; }
  .basketball-period-row { grid-template-columns:minmax(92px,1fr) repeat(var(--period-count,4),34px) 40px; }
  .basketball-box-table-wrap { scrollbar-gutter: auto; }
  .basketball-box-mobile-hint { display:block; margin:0 12px 7px; color:var(--muted); font-size:9px; font-weight:750; }
  .basketball-box-table--compact th:first-child,.basketball-box-table--compact td:first-child { min-width: 148px; }
  .basketball-box-table--compact th,.basketball-box-table--compact td { padding-inline: 6px; }
  .basketball-box-player { grid-template-columns:30px minmax(0,1fr); gap:6px; }
  .basketball-box-player__portrait { width:30px; height:30px; border-radius:8px; }
  .basketball-badge-trigger { margin-left:36px; }
  .basketball-badge-popover { inset:auto 10px 10px; width:auto; max-height:min(78dvh,620px); margin:0; border-radius:18px; }
  .basketball-badge-popover__body { max-height:calc(min(78dvh,620px) - 116px); }
  .basketball-badge-popover__stats { gap:4px; padding:8px; }
  .basketball-badge-popover__list > div { min-height:44px; font-size:12px; }
  .basketball-badge-popover__copy p { font-size:10px; }
  .basketball-badge-popover__outcome em { padding:3px 5px; font-size:8px; }
}

.basketball-tactic-select { min-width: 0; display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.basketball-tactic-select select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 34px 9px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface-3); color: var(--text); cursor: pointer; }
.basketball-tactic-select select:hover { border-color: rgba(232,97,45,.5); }
.basketball-tactic-select select:focus-visible { outline: 2px solid var(--accent-strong); outline-offset: 2px; }
.basketball-tactic-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.basketball-tactic-options[data-tactic-options="pace"],.basketball-tactic-options[data-tactic-options="rebounding"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.basketball-tactic-option { position: relative; min-width: 0; cursor: pointer; }
.basketball-tactic-option input { position: absolute; opacity: 0; pointer-events: none; }
.basketball-tactic-option > span { min-height: 108px; padding: 15px; display: grid; align-content: start; gap: 7px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); transition: border-color .16s,background .16s,transform .16s; }
.basketball-tactic-option strong { font-size: 14px; }
.basketball-tactic-option small { color: var(--muted); font-size: 12px; line-height: 1.55; }
.basketball-tactic-option:hover > span { border-color: var(--line-strong); transform: translateY(-1px); }
.basketball-tactic-option input:checked + span { border-color: rgba(232,97,45,.72); background: linear-gradient(135deg,rgba(232,97,45,.13),transparent),var(--surface-2); box-shadow: inset 0 0 0 1px rgba(232,97,45,.12); }
.basketball-tactic-option input:focus-visible + span { outline: 2px solid var(--accent-strong); outline-offset: 2px; }
.basketball-phase-strategies { display:grid; gap:12px; }
.basketball-phase-tabs { padding:5px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; border:1px solid var(--line); border-radius:13px; background:var(--surface-3); }
.basketball-phase-tabs button { min-width:0; min-height:58px; padding:8px 12px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:2px 8px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--muted); cursor:pointer; text-align:left; }
.basketball-phase-tabs button em { grid-column:1/-1; font-size:8px; font-style:normal; font-weight:850; letter-spacing:.12em; }
.basketball-phase-tabs button strong { overflow:hidden; color:inherit; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-phase-tabs button small { align-self:center; padding:3px 7px; border-radius:99px; background:rgba(255,255,255,.04); font-size:9px; white-space:nowrap; }
.basketball-phase-tabs button[aria-selected="true"] { border-color:rgba(232,97,45,.48); background:linear-gradient(135deg,rgba(232,97,45,.2),rgba(232,97,45,.06)); color:#fff; box-shadow:inset 0 0 0 1px rgba(232,97,45,.08); }
.basketball-phase-tabs button[aria-selected="true"] em,.basketball-phase-tabs button[aria-selected="true"] small { color:var(--accent-strong); }
.basketball-phase-tabs button:focus-visible { outline:2px solid var(--accent-strong); outline-offset:2px; }
.basketball-phase-dimension { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.basketball-phase-dimension[hidden] { display:none; }
.basketball-phase-dimension__intro { min-height:52px; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.basketball-phase-dimension__intro strong { font-size:14px; }
.basketball-phase-dimension__intro p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; text-align:right; }
.basketball-phase-dimension__body { padding:10px; display:grid; grid-template-columns:1fr; gap:7px; }
.basketball-phase-dimension__body > .basketball-phase-strategy { margin-top:12px; }
.basketball-phase-dimension__body > .basketball-phase-strategy { margin-top:0; }
.basketball-phase-strategy { min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.basketball-phase-strategy > summary { min-height:60px; padding:9px 11px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; cursor:pointer; list-style:none; }
.basketball-phase-strategy > summary::-webkit-details-marker { display:none; }
.basketball-phase-strategy > summary > span { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 8px; }
.basketball-phase-strategy > summary em { padding:3px 7px; border:1px solid rgba(232,97,45,.28); border-radius:99px; background:rgba(232,97,45,.09); color:var(--accent-strong); font-size:9px; font-style:normal; font-weight:800; letter-spacing:.06em; }
.basketball-phase-strategy > summary > span strong { min-width:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-phase-strategy > summary > span small { grid-column:1/-1; color:var(--muted); font-size:10px; }
.basketball-phase-strategy > summary mark { min-width:112px; padding:6px 9px; display:grid; gap:2px; border:1px solid rgba(232,97,45,.24); border-radius:8px; background:rgba(232,97,45,.07); color:inherit; text-align:right; }
.basketball-phase-strategy > summary mark small { color:var(--muted); font-size:8px; }
.basketball-phase-strategy > summary mark strong { color:var(--accent-strong); font-size:11px; }
.basketball-phase-strategy > summary i { color:var(--muted); font-size:16px; font-style:normal; transition:transform .16s; }
.basketball-phase-strategy[open] > summary { border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(232,97,45,.07),transparent 42%); }
.basketball-phase-strategy[open] > summary i { transform:rotate(180deg); }
.basketball-phase-strategy__options { padding:10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.basketball-phase-strategy__options label { position:relative; min-width:0; height:100%; cursor:pointer; }
.basketball-phase-strategy__options input { position:absolute; opacity:0; pointer-events:none; }
.basketball-phase-strategy__options label > span { min-height:82px; height:100%; box-sizing:border-box; padding:9px 10px; display:grid; align-content:start; gap:5px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); transition:border-color .16s,transform .16s; }
.basketball-phase-strategy__options strong { font-size:12px; }
.basketball-phase-strategy__options small { color:var(--muted); font-size:10px; line-height:1.45; }
.basketball-phase-strategy__options input:checked + span { border-color:rgba(232,97,45,.72); background:linear-gradient(135deg,rgba(232,97,45,.13),transparent),var(--surface); box-shadow:inset 0 0 0 1px rgba(232,97,45,.12); }
.basketball-phase-strategy__options input:focus-visible + span { outline:2px solid var(--accent-strong); outline-offset:2px; }
.basketball-phase-strategies--compact { grid-template-columns:1fr; grid-column:1/-1; }
.basketball-tactic-dimensions { margin-top: 18px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.basketball-tactic-dimensions > div { min-width: 0; padding: 11px 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); }
.basketball-tactic-dimensions span { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.basketball-tactic-dimensions strong { color: var(--accent-strong); font-size: 17px; font-variant-numeric: tabular-nums; }
.basketball-tactic-dimensions--compact > div { display: grid; align-content: center; gap: 5px; background: var(--surface-3); }
.basketball-tactic-dimensions--compact span { font-size: 11px; }
.basketball-tactic-dimensions--compact strong { font-size: 20px; }
@media (max-width: 900px) {
  .basketball-tactic-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .basketball-tactic-options[data-tactic-options="pace"],.basketball-tactic-options[data-tactic-options="rebounding"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .basketball-tactic-dimensions { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .basketball-phase-strategy__options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .basketball-tactic-options,.basketball-tactic-options[data-tactic-options="pace"],.basketball-tactic-options[data-tactic-options="rebounding"] { grid-template-columns: 1fr; }
  .basketball-tactic-option > span { min-height: 88px; }
  .basketball-tactic-dimensions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .basketball-phase-strategy__options { grid-template-columns:1fr; }
  .basketball-phase-tabs button { min-height:54px; padding:8px; }
  .basketball-phase-dimension__intro { display:grid; gap:3px; }
  .basketball-phase-dimension__intro p { text-align:left; }
  .basketball-phase-strategy__options label > span { min-height:0; }
  .basketball-phase-strategy > summary { grid-template-columns:minmax(0,1fr) auto; gap:7px; }
  .basketball-phase-strategy > summary mark { grid-column:1; grid-row:2; justify-self:start; min-width:0; display:flex; align-items:center; gap:6px; text-align:left; }
  .basketball-phase-strategy > summary > i { grid-column:2; grid-row:1/3; }
}
@media (prefers-reduced-motion: reduce) {
  .basketball-tactic-option > span { transition: none; }
  .basketball-tactic-option:hover > span { transform: none; }
}
/* Shared lineup duty picker: modes provide player data, this component owns the UI contract. */
.basketball-lineup-duties {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--border-color, #d8d2c8) 78%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel-bg, #fff) 92%, #f28c28 8%);
}

.basketball-lineup-duties > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  min-height: 42px;
  padding: .55rem .75rem;
  cursor: pointer;
  list-style: none;
}

.basketball-lineup-duties > summary::-webkit-details-marker { display: none; }
.basketball-lineup-duties > summary span { font-weight: 750; }
.basketball-lineup-duties > summary small {
  overflow: hidden;
  color: var(--muted, #756d64);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.basketball-lineup-duties__groups {
  display: grid;
  gap: .7rem;
  padding: 0 .75rem .75rem;
}

.basketball-lineup-duties__groups fieldset { margin: 0; padding: 0; border: 0; }
.basketball-lineup-duties__groups legend {
  margin-bottom: .4rem;
  color: var(--muted, #756d64);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.basketball-lineup-duties__groups fieldset > div,.basketball-lineup-duties__special > div { display:flex;flex-wrap:wrap;gap:.4rem; }
.basketball-lineup-duties__groups label { cursor: pointer; }
.basketball-lineup-duties__groups label:has(input:checked) { order:-1; }
.basketball-lineup-duties__special { margin-top:.5rem;border:1px solid color-mix(in srgb,var(--border-color,#d8d2c8) 72%,transparent);border-radius:9px;background:color-mix(in srgb,var(--panel-bg,#fff) 96%,transparent);overflow:hidden; }
.basketball-lineup-duties__special > header { align-items:center;color:var(--muted,#756d64);display:flex;font-size:.7rem;font-weight:800;gap:.5rem;justify-content:space-between;min-height:34px;padding:.35rem .55rem; }
.basketball-lineup-duties__special > header small { color:var(--muted,#756d64);font-size:.62rem;margin-left:auto; }
.basketball-lineup-duties__special > div { border-top:1px solid color-mix(in srgb,var(--border-color,#d8d2c8) 65%,transparent);padding:.5rem; }
.basketball-lineup-duties .basketball-lineup-duties__groups input[data-duty] { position:absolute; width:1px; min-height:1px; height:1px; opacity:0; pointer-events:none; }
.basketball-lineup-duties__groups label span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: .32rem .62rem;
  border: 1px solid color-mix(in srgb, var(--border-color, #d8d2c8) 85%, transparent);
  border-radius: 999px;
  background: var(--panel-bg, #fff);
  font-size: .78rem;
  font-weight: 700;
}
.basketball-lineup-duties__groups label span strong { font-size:.78rem; }
.basketball-lineup-duties__groups label span small { display:none; }
.basketball-lineup-duties__groups label span em { color:var(--muted,#756d64);font-size:.62rem;font-style:normal;font-weight:750; }
.basketball-lineup-duties__groups label span em:empty { display:none; }
.basketball-lineup-duties__groups label.is-unavailable { cursor:not-allowed; }
.basketball-lineup-duties__groups label.is-unavailable span { border-style:dashed;filter:saturate(.3);opacity:.46; }
.basketball-lineup-duties__groups label.is-transferable { cursor:pointer; }
.basketball-lineup-duties__groups label.is-transferable span { border-style:dashed;filter:saturate(.35);opacity:.58; }
.basketball-lineup-duties__groups label.is-transferable:hover span,.basketball-lineup-duties__groups label.is-transferable:focus-within span { border-color:var(--accent,#e8612d);filter:none;opacity:1; }

.basketball-lineup-duties__groups input:checked + span {
  border-color: #d96d11;
  background: #f28c28;
  color: #24160a;
  box-shadow: 0 2px 9px rgb(217 109 17 / 18%);
}
.basketball-duty-replacement-dialog { width:min(460px,calc(100vw - 24px)); padding:0; border:1px solid var(--line-strong,#3a4657); border-radius:16px; background:linear-gradient(145deg,var(--surface,#111923),var(--surface-2,#0b1119)); color:var(--text,#f4f6f8); box-shadow:0 28px 80px rgba(0,0,0,.52); }
.basketball-duty-replacement-dialog::backdrop { background:rgba(3,7,12,.72); backdrop-filter:blur(3px); }
.basketball-duty-replacement-dialog>section { display:grid; gap:12px; padding:18px; }
.basketball-duty-replacement-dialog header { display:grid; gap:5px; }
.basketball-duty-replacement-dialog header small { color:var(--accent-strong,#f28c28); font-size:8px; font-weight:900; letter-spacing:.12em; }
.basketball-duty-replacement-dialog h2,.basketball-duty-replacement-dialog p { margin:0; }
.basketball-duty-replacement-dialog h2 { font-size:18px; }
.basketball-duty-replacement-dialog p { color:var(--muted,#9aa6b6); font-size:11px; line-height:1.55; }
.basketball-duty-replacement-dialog>section>div { display:grid; gap:8px; }
.basketball-duty-replacement-dialog>section>div button { min-height:58px; display:grid; gap:3px; padding:10px 12px; border:1px solid var(--line,#303b4a); border-radius:10px; background:var(--surface-3,#121c28); color:var(--text,#f4f6f8); cursor:pointer; text-align:left; }
.basketball-duty-replacement-dialog>section>div button:hover,.basketball-duty-replacement-dialog>section>div button:focus-visible { border-color:var(--accent-strong,#f28c28); background:color-mix(in srgb,var(--accent,#e8612d) 14%,var(--surface-3,#121c28)); outline:none; }
.basketball-duty-replacement-dialog>section>div button strong { font-size:12px; }
.basketball-duty-replacement-dialog>section>div button small { color:var(--muted,#9aa6b6); font-size:9px; line-height:1.4; }
.basketball-duty-replacement-dialog>section>.secondary-button { justify-self:end; min-height:42px; padding:8px 16px; }
@media(max-width:620px){.basketball-duty-replacement-dialog{width:calc(100vw - 16px)}.basketball-duty-replacement-dialog>section{padding:15px}.basketball-duty-replacement-dialog>section>div button{min-height:62px}}
.basketball-lineup-duties__groups input:checked + span em { color:currentColor;opacity:.78; }

.basketball-lineup-duties__groups input:focus-visible + span {
  outline: 3px solid rgb(242 140 40 / 28%);
  outline-offset: 2px;
}
@media(max-width:620px){.basketball-lineup-duties__groups{padding-inline:.6rem}.basketball-lineup-duties__groups fieldset>div,.basketball-lineup-duties__special>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.basketball-lineup-duties__groups label span{justify-content:center;min-height:38px;text-align:center}.basketball-lineup-duties__special>header{min-height:42px}}
.basketball-game-plan-summary,.basketball-game-highlights-panel { margin-top:18px; overflow:hidden; border:0; border-radius:16px; background:linear-gradient(145deg,rgba(45,67,91,.14),transparent 38%),rgba(12,17,24,.86); box-shadow:inset 0 1px rgba(255,255,255,.045),0 12px 32px rgba(0,0,0,.13); }
.basketball-game-plan-summary > summary,.basketball-game-highlights-panel > summary { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 18px; cursor:pointer; list-style:none; transition:background .18s ease; }
.basketball-game-plan-summary > summary:hover,.basketball-game-highlights-panel > summary:hover { background:rgba(255,255,255,.025); }
.basketball-game-plan-summary > summary::-webkit-details-marker,.basketball-game-highlights-panel > summary::-webkit-details-marker { display:none; }
.basketball-game-plan-summary__title { display:grid; gap:3px; }
.basketball-game-plan-summary > summary small,.basketball-game-highlights-panel > summary small,.basketball-game-plan-summary article small { color:var(--muted,#96a2b5); font-size:10px; font-weight:850; letter-spacing:.08em; }
.basketball-game-plan-summary__title small { color:var(--accent-strong,#ff7540) !important; }
.basketball-game-plan-summary__title strong { font-size:17px; letter-spacing:-.01em; }
.basketball-game-plan-summary__action { display:flex; align-items:center; gap:10px; }
.basketball-game-plan-summary__action em { color:var(--muted,#96a2b5); font-size:10px; font-style:normal; }
.basketball-game-plan-summary__action i { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:16px; font-style:normal; transition:transform .18s ease,border-color .18s ease; }
.basketball-game-plan-summary[open] > summary .basketball-game-plan-summary__action i,.basketball-game-highlights-panel[open] > summary .basketball-game-plan-summary__action i { border-color:rgba(232,97,45,.36); color:var(--accent-strong); transform:rotate(180deg); }
.basketball-game-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px; border-top:0; background:rgba(4,8,13,.18); }
.basketball-game-plan-grid > article { position:relative; min-width:0; overflow:hidden; padding:15px; border:0; border-radius:13px; background:linear-gradient(150deg,rgba(255,255,255,.04),transparent 40%),var(--surface,#111923); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.basketball-game-plan-grid > article::before { position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg,transparent,rgba(122,164,205,.62),transparent); content:""; }
.basketball-game-plan-grid > article.is-home::before { background:linear-gradient(90deg,transparent,rgba(232,97,45,.7),transparent); }
.basketball-game-plan-grid article > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.basketball-game-plan-grid article > header > div { min-width:0; display:flex; align-items:center; gap:9px; }
.basketball-game-plan-side { flex:0 0 auto; padding:4px 7px; border:1px solid rgba(122,164,205,.2); border-radius:99px; background:rgba(122,164,205,.08); color:#b9cce0 !important; }
.basketball-game-plan-grid .is-home .basketball-game-plan-side { border-color:rgba(232,97,45,.22); background:rgba(232,97,45,.09); color:#efb092 !important; }
.basketball-game-plan-grid h3 { min-width:0; margin:0; overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-game-plan-grid header > span { flex:0 0 auto; display:grid; justify-items:end; gap:3px; color:var(--muted,#96a2b5); font-size:11px; text-align:right; }
.basketball-game-plan-grid header > span b { color:#b8c5d3; font-size:10px; font-weight:750; }
.basketball-game-plan-tactics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; margin-top:14px; }
.basketball-game-plan-tactics > span { min-width:0; display:grid; gap:4px; padding:8px 7px; border:1px solid rgba(255,255,255,.045); border-radius:9px; background:rgba(255,255,255,.025); }
.basketball-game-plan-tactics b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.basketball-game-plan-scorers { min-height:38px; display:grid !important; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px !important; margin:10px 0 8px !important; padding:8px 10px; border:1px solid rgba(217,182,94,.12); border-radius:9px; background:rgba(217,182,94,.045); }
.basketball-game-plan-scorers strong { overflow:hidden; font-size:12px !important; text-overflow:ellipsis; white-space:nowrap; }
.basketball-game-plan-phases { display:flex; flex-wrap:wrap; gap:5px; color:var(--muted,#96a2b5); font-size:10px; }
.basketball-game-plan-phases span { padding:4px 6px; border:1px solid var(--line-soft); border-radius:99px; background:rgba(255,255,255,.018); }
.basketball-game-plan-phases b { color:var(--text,#eef3f8); }
.basketball-game-plan-execution { display:flex; align-items:stretch; flex-wrap:wrap; gap:6px; margin-top:11px; padding:10px; border:1px solid rgba(117,164,255,.14); border-radius:10px; background:rgba(69,119,210,.055); }
.basketball-game-plan-execution > small { width:100%; color:#9ab8df !important; }
.basketball-game-plan-execution > span { min-width:110px; display:grid; gap:3px; padding:7px 8px; border-radius:7px; background:rgba(8,14,22,.3); color:var(--muted,#96a2b5); font-size:10px; }
.basketball-game-plan-execution b { color:var(--text,#eef3f8); font-size:11px; }
.basketball-game-plan-evidence { display:grid; grid-template-columns:1fr; gap:7px; margin-top:11px; padding-top:11px; border-top:1px solid var(--line-soft,rgba(255,255,255,.08)); }
.basketball-game-plan-evidence section { min-width:0; display:grid; align-content:start; gap:5px; padding:9px; border:1px solid rgba(255,255,255,.045); border-radius:9px; background:rgba(255,255,255,.018); }
.basketball-game-plan-evidence section > small { grid-column:1/-1; margin-bottom:2px; }
.basketball-game-plan-evidence section > span { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; font-size:10px; }
.basketball-game-plan-evidence b { min-width:0; line-height:1.45; overflow-wrap:anywhere; }
.basketball-game-plan-evidence em { color:var(--muted,#96a2b5); font-style:normal; white-space:nowrap; }
.basketball-game-plan-evidence .is-lineups > span { padding:7px 8px; border-radius:7px; background:rgba(255,255,255,.018); }
.basketball-game-plan-evidence .is-lineups b { white-space:normal; }
.basketball-game-plan-evidence .is-duties,.basketball-game-plan-evidence .is-matchups { grid-template-columns:repeat(2,minmax(0,1fr)); }
.basketball-game-plan-evidence .is-duties > span,.basketball-game-plan-evidence .is-matchups > span { min-height:42px; align-content:center; grid-template-columns:1fr; gap:2px; padding:6px 8px; border-radius:7px; background:rgba(255,255,255,.018); }
.basketball-game-plan-evidence .is-duties em,.basketball-game-plan-evidence .is-matchups em { white-space:normal; }
.basketball-game-highlights-panel .basketball-game-plan-summary__title small { color:#d9bd72 !important; }
.basketball-game-highlights { padding:12px; border-top:0; background:linear-gradient(90deg,rgba(217,182,94,.055),rgba(255,255,255,.012)); }
.basketball-game-highlight-groups { display:grid; grid-template-columns:1fr; gap:13px; }
.basketball-game-highlight-quarter { min-width:0; padding:10px; border:1px solid rgba(217,182,94,.09); border-radius:12px; background:linear-gradient(145deg,rgba(217,182,94,.035),rgba(5,10,16,.22)); }
.basketball-game-highlight-quarter > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:30px; padding:0 3px 8px; }
.basketball-game-highlight-quarter > header span { display:flex; align-items:center; gap:7px; color:#e5d49e; font-size:12px; font-weight:900; letter-spacing:.02em; }
.basketball-game-highlight-quarter > header span::before { width:4px; height:14px; border-radius:99px; background:linear-gradient(#f0cf79,#b58736); box-shadow:0 0 12px rgba(217,182,94,.24); content:""; }
.basketball-game-highlight-quarter > header small { color:var(--muted-2,#738096); font-size:9px; font-weight:800; letter-spacing:.06em; }
.basketball-game-highlight-quarter__rows { display:grid; grid-template-columns:1fr; gap:7px; }
.basketball-game-highlight-quarter__empty { margin:0!important; padding:12px 10px; border:1px dashed rgba(255,255,255,.07); border-radius:9px; color:var(--muted-2,#738096); font-size:10px; text-align:center; }
.basketball-game-highlights article { position:relative; min-width:0; min-height:68px; display:grid; grid-template-columns:72px 44px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 11px 9px 14px; border:0; border-radius:10px; background:linear-gradient(90deg,color-mix(in srgb,var(--highlight-team-color,#d9b65e) 13%,transparent),rgba(7,12,18,.38) 44%); box-shadow:inset 0 1px rgba(255,255,255,.03); }
.basketball-game-highlights article::before { position:absolute; inset:8px auto 8px 0; width:3px; border-radius:99px; background:var(--highlight-team-color,#d9b65e); box-shadow:0 0 10px color-mix(in srgb,var(--highlight-team-color,#d9b65e) 38%,transparent); content:""; }
.basketball-game-highlights time { justify-self:start; padding:5px 7px; border-radius:7px; background:rgba(217,182,94,.09); color:#d8c385; font-size:10px; font-weight:850; white-space:nowrap; }
.basketball-game-highlight-avatar { width:44px; height:44px; display:grid; place-items:center; overflow:hidden; border:1px solid color-mix(in srgb,var(--highlight-team-color,#d9b65e) 42%,transparent); border-radius:10px; background:linear-gradient(145deg,color-mix(in srgb,var(--highlight-team-color,#273345) 32%,#273345),#121923); }
.basketball-game-highlight-avatar img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.basketball-game-highlight-avatar i { color:var(--highlight-team-ink,#eef3f8); font-size:17px; font-style:normal; font-weight:950; }
.basketball-game-highlights p { min-width:0; display:grid; gap:2px; margin:0; }
.basketball-game-highlights p strong,.basketball-game-highlights p span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-game-highlights p strong { font-size:13px; }
.basketball-game-highlights p span { color:var(--muted); font-size:10px; }
.basketball-game-highlight-team { min-width:0; display:flex; align-items:center; gap:5px; color:color-mix(in srgb,var(--highlight-team-color,#96a2b5) 70%,#d8e0ea); font-size:9px; font-weight:850; }
.basketball-game-highlight-team > i { flex:none; width:17px; height:17px; display:grid; place-items:center; border-radius:5px; background:color-mix(in srgb,var(--highlight-team-color,#59677a) 25%,#111925); color:var(--highlight-team-ink,#eef3f8); font-size:8px; font-style:normal; font-weight:950; }
.basketball-game-highlight-team img { width:15px; height:15px; object-fit:contain; }
.basketball-game-highlight-score { display:flex; align-items:center; gap:6px; padding:6px 8px; border:1px solid rgba(217,182,94,.13); border-radius:8px; color:var(--muted); font-size:10px; white-space:nowrap; }
.basketball-game-highlight-score > small { color:var(--muted-2); font-size:8px; }
.basketball-game-highlight-score b { font-weight:750; }
.basketball-game-highlight-score i { color:rgba(217,195,133,.56); font-style:normal; }
.basketball-game-highlight-score strong { color:#e5d49e; font-size:11px; }
.basketball-game-highlight-score.is-unavailable { border-style:dashed; color:var(--muted-2); font-size:9px; }
.basketball-game-highlights__empty { margin:0; padding:18px; color:var(--muted,#96a2b5); font-size:12px; text-align:center; }
@media (max-width:720px) {
  .basketball-game-plan-summary > summary,.basketball-game-highlights-panel > summary { min-height:64px; padding:12px 14px; }
  .basketball-game-plan-summary__action em { display:none; }
  .basketball-game-highlights { padding:9px; }
  .basketball-game-highlight-groups { gap:10px; }
  .basketball-game-highlight-quarter { padding:8px; overflow:hidden; }
  .basketball-game-highlight-quarter__rows { display:flex; margin-right:-8px; padding:0 8px 5px 0; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .basketball-game-highlights article { flex:0 0 min(82vw,300px); grid-template-columns:58px 40px minmax(0,1fr); gap:8px; min-height:112px; padding:9px; scroll-snap-align:start; }
  .basketball-game-highlight-avatar { width:40px; height:40px; }
  .basketball-game-highlight-score { grid-column:3; justify-self:start; margin-top:3px; }
  .basketball-game-highlights p strong,.basketball-game-highlights p span { white-space:normal; }
  .basketball-game-plan-grid { grid-template-columns:1fr; gap:9px; padding:9px; }
  .basketball-game-plan-grid > article { padding:13px; }
  .basketball-game-plan-tactics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .basketball-game-plan-tactics > span:last-child { grid-column:1/-1; }
  .basketball-game-plan-evidence { grid-template-columns:1fr; }
  .basketball-game-plan-evidence .is-duties,.basketball-game-plan-evidence .is-matchups { grid-template-columns:1fr; }
  .basketball-game-plan-evidence section > span { grid-template-columns:1fr; gap:2px; }
  .basketball-game-plan-evidence em { white-space:normal; }
}

/* Shared live matchup cards are used by local and authoritative match consoles. */
.basketball-mini-player { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-width:0; min-height:60px; padding:8px 9px; border:1px solid var(--line,#2d394c); border-radius:11px; background:linear-gradient(145deg,rgba(18,27,40,.94),rgba(9,15,23,.94)); color:var(--text,#eef3f8); cursor:pointer; text-align:left; }
.basketball-mini-player:hover { border-color:rgba(232,97,45,.65); background:linear-gradient(145deg,rgba(232,97,45,.12),rgba(9,15,23,.96)); }
.basketball-mini-player:focus-visible { outline:3px solid rgba(232,97,45,.25); outline-offset:2px; }
.basketball-mini-player > span:first-child { display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:10px; background:linear-gradient(145deg,#263348,#111925); }
.basketball-mini-player img { width:100%; height:100%; object-fit:cover; }
.basketball-mini-player i { font-style:normal; font-weight:900; }
.basketball-mini-player > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
.basketball-mini-player strong,.basketball-mini-player small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.basketball-mini-player__title { min-width:0; display:flex; align-items:center; gap:6px; }
.basketball-mini-player__title > strong { min-width:0; }
.basketball-mini-player__difficulty { flex:none; padding:2px 5px; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:#c4cedb; font-size:8px; font-style:normal; font-weight:900; line-height:1.1; white-space:nowrap; }
.basketball-mini-player__difficulty.is-up { border-color:rgba(232,97,45,.32); background:rgba(232,97,45,.11); color:#f4aa83; }
.basketball-mini-player__difficulty.is-down { border-color:rgba(83,156,219,.28); background:rgba(83,156,219,.1); color:#a8ccec; }
.basketball-mini-player__difficulty.is-even { background:rgba(255,255,255,.045); color:#aeb9c8; }
.basketball-mini-player__injury { flex:none; max-width:92px; overflow:hidden; padding:2px 5px; border:1px solid rgba(218,94,83,.34); border-radius:999px; background:rgba(218,94,83,.12); color:#f0a19a; font-size:8px; font-style:normal; font-weight:900; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.basketball-mini-player.is-injured { border-color:rgba(218,94,83,.28); }
.basketball-court-candidate.is-unavailable { filter:saturate(.55); opacity:.68; }
.basketball-court-candidate__injury { color:#ee9a93!important; font-weight:850; }
.basketball-mini-player strong { font-size:12px; }
.basketball-mini-player small { color:var(--muted,#96a2b5); font-size:9px; }
.basketball-mini-player__metrics { display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.basketball-mini-player__metrics > i { min-width:0; display:inline-flex; align-items:baseline; gap:4px; padding:3px 6px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.035); font-style:normal; line-height:1; }
.basketball-mini-player__metrics > i > small { color:inherit; font-size:8px; font-weight:800; }
.basketball-mini-player__metrics > i > b { color:inherit; font-size:10px; font-variant-numeric:tabular-nums; }
.basketball-mini-player__metrics.is-offense > i { border-color:rgba(232,97,45,.24); background:rgba(232,97,45,.09); color:#f3ad82; }
.basketball-mini-player__metrics.is-defense > i { border-color:rgba(83,156,219,.25); background:rgba(83,156,219,.09); color:#9dc9ed; }
.basketball-mini-player > b { display:grid; place-items:center; min-width:32px; height:32px; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:var(--rating-badge-background); color:var(--rating-ink); font-size:12px; }
.basketball-mini-player--automatic { border-style:dashed; cursor:default; }
.basketball-mini-player--automatic:hover { border-color:var(--line,#2d394c); background:linear-gradient(145deg,rgba(18,27,40,.94),rgba(9,15,23,.94)); }
.basketball-mini-player--automatic > span:first-child { color:#f2a06f; font-size:20px; }
.basketball-mini-player--automatic > b { min-width:42px; background:rgba(232,97,45,.12); color:#f2a06f; font-size:9px; }
.live-pregame-plan { display:grid; gap:16px; }
.live-pregame-plan .live-command-hero,.live-pregame-plan .live-lineup-workbench { margin:0; }
.live-pregame-plan .lineup-unit-tabs button { min-height:44px; }
.live-pregame-plan .lineup-unit-panel > .basketball-lineup-board { max-width:1080px; }
.live-pregame-plan .live-tactics-editor { max-width:none; }
.live-pregame-plan .live-command-secondary,.live-pregame-plan > .live-match-matchups { margin:0; }
.live-pregame-plan > .live-match-matchups { background:linear-gradient(145deg,rgba(18,27,40,.96),rgba(10,16,25,.96)); border:1px solid var(--line,#2e3a4d); border-radius:12px; padding:15px; }
.live-match-matchups > header { align-items:center; display:flex; gap:18px; justify-content:space-between; }
.live-match-matchups > header > div { max-width:760px; }
.live-match-matchups h4,.live-match-matchups p { margin:0; }
.live-match-matchups h4 { color:var(--text,#f5f7fb); font-size:16px; }
.live-match-matchups > header p { color:var(--muted,#8e9bb0); font-size:10px; }
.live-match-matchups > header button { align-self:center; flex:0 0 auto; min-height:40px; padding:8px 12px; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 72%,var(--line,#2d394c)); border-radius:9px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#e8612d) 18%,transparent),color-mix(in srgb,var(--accent,#e8612d) 8%,transparent)); color:var(--accent-strong,#ffc0a3); cursor:pointer; font-size:10px; font-weight:800; }
.live-match-matchups > header button:hover,.live-match-matchups > header button:focus-visible { background:var(--accent,#d95426); color:#fff; outline:none; }
.live-match-matchups [data-live-matchup-rows] { display:grid; gap:9px; margin-top:12px; }
.live-pregame-plan > .live-match-matchups [data-live-matchup-rows] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.live-matchup-notes { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.live-matchup-notes span { padding:5px 8px; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 26%,var(--line,#2d394c)); border-radius:999px; background:color-mix(in srgb,var(--accent,#e8612d) 7%,transparent); color:var(--muted,#96a2b5); font-size:9px; font-weight:750; }
.live-matchup-unit-tabs { width:100%; }
.live-matchup-unit-panels { margin-top:8px; }
.live-matchup-unit-tabs,.live-matchup-unit-panels { grid-column:1/-1; min-width:0; }
.live-matchup-unit-panels > section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.live-matchup-unit-panels > section[hidden] { display:none; }
.live-matchup-row { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); align-items:end; gap:8px; padding:10px; border:1px solid var(--line,#2d394c); border-radius:13px; background:linear-gradient(120deg,rgba(255,255,255,.018),rgba(7,12,19,.58)); }
.live-matchup-side { display:grid; gap:6px; min-width:0; }
.live-matchup-side > small { min-height:24px; display:flex; align-items:center; color:var(--muted,#96a2b5); font-size:9px; font-weight:850; letter-spacing:.04em; }
.live-matchup-side-heading { min-height:24px; display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.live-matchup-side-heading > small { color:var(--muted,#96a2b5); font-size:9px; font-weight:850; letter-spacing:.04em; white-space:nowrap; }
.live-matchup-side.is-defender .live-matchup-side-heading > small { color:#9dc9ed; }
.live-matchup-side.is-target .live-matchup-side-heading > small { color:var(--accent-strong,#f2a06f); }
.live-matchup-side-heading > em { flex:0 0 auto; padding:3px 6px; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 28%,var(--line,#2d394c)); border-radius:999px; background:color-mix(in srgb,var(--accent,#e8612d) 8%,transparent); color:var(--muted,#96a2b5); font-size:7px; font-style:normal; font-weight:800; line-height:1; white-space:nowrap; }
.live-matchup-target-name { cursor:pointer; }
.live-matchup-target-name:hover { color:var(--accent-strong,#f2a06f); }
.live-matchup-picker { width:min(600px,calc(100vw - 32px)); max-height:min(720px,calc(100dvh - 32px)); padding:0; border:0; background:transparent; color:var(--text,#eef2f7); overflow:hidden; }
.live-matchup-picker::backdrop { background:rgba(2,5,9,.76); backdrop-filter:blur(5px); }
.live-matchup-picker > section { display:grid; grid-template-rows:auto minmax(0,1fr); max-height:min(720px,calc(100dvh - 32px)); overflow:hidden; border:1px solid var(--line-strong,#3a485d); border-radius:17px; background:linear-gradient(145deg,var(--surface,#111923),var(--surface-2,#0b111a)); box-shadow:0 26px 80px rgba(0,0,0,.56); }
.live-matchup-picker > section > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 19px 15px; border-bottom:1px solid var(--line,#2d394c); }
.live-matchup-picker header > div { min-width:0; display:grid; gap:3px; }
.live-matchup-picker header small { color:var(--accent-strong,#f2a06f); font-size:8px; font-weight:900; letter-spacing:.12em; }
.live-matchup-picker header h2 { margin:0; font-size:18px; }
.live-matchup-picker header p { margin:0; color:var(--muted,#96a2b5); font-size:10px; }
.live-matchup-picker [data-matchup-picker-close] { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; padding:0; border:1px solid var(--line-strong,#3a485d); border-radius:50%; background:var(--surface-3,#172131); color:var(--text,#eef2f7); font-size:20px; cursor:pointer; }
.live-matchup-picker__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px; overflow-y:auto; overscroll-behavior:contain; }
.live-matchup-picker__choice { min-height:62px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:10px; padding:7px; border:1px solid var(--line,#2d394c); border-radius:11px; background:rgba(7,12,19,.58); color:var(--text,#eef2f7); text-align:left; cursor:pointer; }
.live-matchup-picker__choice:hover,.live-matchup-picker__choice.is-current { border-color:color-mix(in srgb,var(--accent,#e8612d) 55%,var(--line,#2d394c)); background:color-mix(in srgb,var(--accent,#e8612d) 10%,rgba(7,12,19,.58)); }
.live-matchup-picker__choice > span:first-child { height:46px; display:grid; place-items:center; overflow:hidden; border-radius:9px; background:var(--surface-3,#172131); color:var(--accent-strong,#f2a06f); }
.live-matchup-picker__choice img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.live-matchup-picker__choice i { font-size:17px; font-style:normal; font-weight:900; }
.live-matchup-picker__choice > span:nth-child(2) { min-width:0; display:grid; gap:3px; }
.live-matchup-picker__choice strong,.live-matchup-picker__choice small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.live-matchup-picker__choice strong { font-size:11px; }
.live-matchup-picker__choice small { color:var(--muted,#96a2b5); font-size:8px; }
.live-matchup-picker__rating{align-self:stretch;min-width:46px;display:grid;align-content:center;justify-items:center;gap:3px;padding:4px 6px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.035)}.live-matchup-picker__rating>small{color:var(--muted,#96a2b5);font-size:7px;font-weight:850}.live-matchup-picker__rating>b{min-width:34px;display:grid;place-items:center;padding:5px;border-radius:7px;background:var(--rating-badge-background,rgba(255,255,255,.08));color:var(--rating-ink,#fff);font-size:13px;font-weight:950;text-align:center}
/* Shared in-game quick commands. Native selects remain the form contract; the
   visible controls reuse lineup cards and the common player picker. */
.live-quick-command-layout{display:grid;gap:12px;margin-top:13px}.live-quick-focus,.live-quick-command-group{min-width:0;border:1px solid var(--line,#2d394c);border-radius:13px;background:linear-gradient(145deg,rgba(13,21,32,.9),rgba(8,14,22,.92));padding:12px}.live-quick-focus>header,.live-quick-command-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.live-quick-focus>header>div,.live-quick-command-group>header>div{display:grid;gap:3px;min-width:0}.live-quick-focus>header span,.live-quick-command-group>header span{color:var(--text,#eef2f7);font-size:12px;font-weight:900}.live-quick-focus>header small,.live-quick-command-group>header small{color:var(--muted,#96a2b5);font-size:9px;line-height:1.45}.live-quick-focus>header em,.live-quick-command-group>header>b{flex:none;margin:0;border:1px solid rgba(232,97,45,.24);border-radius:999px;background:rgba(232,97,45,.08);color:var(--accent-strong,#f2a06f);font-size:8px;font-style:normal;font-weight:900;padding:4px 7px;white-space:nowrap}.live-quick-focus__trigger{position:relative;grid-template-columns:46px minmax(0,1fr) auto auto;width:100%;min-height:68px;padding:8px;background:linear-gradient(135deg,rgba(232,97,45,.08),rgba(9,15,23,.96));border-color:rgba(232,97,45,.3)}.live-quick-focus__trigger:hover{border-color:rgba(232,97,45,.7)}.live-quick-focus__trigger>em{align-self:center;border-left:1px solid var(--line,#2d394c);color:var(--accent-strong,#f2a06f);font-size:9px;font-style:normal;font-weight:900;margin-left:2px;padding:8px 4px 8px 10px}.live-command-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.live-command-option{position:relative;display:grid;align-content:center;gap:3px;min-width:0;min-height:54px;padding:8px 31px 8px 10px;border:1px solid rgba(124,140,163,.2);border-radius:10px;background:rgba(5,10,17,.42);color:var(--text,#eef2f7);cursor:pointer;text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.live-command-option:hover{border-color:rgba(232,97,45,.48);background:rgba(232,97,45,.07)}.live-command-option:focus-visible{outline:3px solid rgba(232,97,45,.23);outline-offset:2px}.live-command-option>strong{font-size:10px;font-weight:900;line-height:1.25}.live-command-option>small{color:var(--muted,#96a2b5);font-size:8px;line-height:1.35}.live-command-option>i{position:absolute;right:9px;top:50%;display:grid;place-items:center;width:17px;height:17px;transform:translateY(-50%);border:1px solid rgba(124,140,163,.32);border-radius:50%;color:transparent;font-size:9px;font-style:normal}.live-command-option.is-selected{border-color:rgba(232,97,45,.68);background:linear-gradient(135deg,rgba(232,97,45,.18),rgba(232,97,45,.06));box-shadow:inset 3px 0 var(--accent,#e8612d)}.live-command-option.is-selected>strong{color:#fff}.live-command-option.is-selected>small{color:#d8b09b}.live-command-option.is-selected>i{border-color:var(--accent,#e8612d);background:var(--accent,#e8612d);color:#fff}.live-quick-command-footer-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px}.live-quick-command-group.is-compact .live-command-option{min-height:45px}.live-command-option-grid.is-duration{grid-template-columns:repeat(4,minmax(0,1fr))}.live-command-option-grid.is-duration .live-command-option{justify-items:center;padding:8px;text-align:center}.live-command-option-grid.is-duration .live-command-option>i{display:none}
.live-command-option-grid:not(.is-duration){grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.live-quick-command-layout select.sr-only{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.live-matchup-link { align-self:center; display:grid; justify-items:center; gap:1px; color:var(--accent-strong,#f2a06f); text-align:center; }
.live-matchup-link i { width:28px; height:28px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--accent,#e8612d) 32%,var(--line,#2d394c)); border-radius:50%; background:color-mix(in srgb,var(--accent,#e8612d) 8%,transparent); font-size:13px; font-style:normal; }
.live-matchup-link small { color:var(--muted,#96a2b5); font-size:8px; font-weight:800; }
.live-matchup-defender { position:relative; display:grid; min-width:0; }
.live-match-controls select.live-matchup-select{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;white-space:nowrap!important}
@media(max-width:640px) {
  .live-match-matchups > header { align-items:stretch; flex-direction:column; gap:10px; }
  .live-match-matchups > header button { align-self:flex-start; min-height:44px; }
  .live-pregame-plan > .live-match-matchups [data-live-matchup-rows] { grid-template-columns:1fr; }
  .live-matchup-unit-panels > section { grid-template-columns:1fr; }
  .live-matchup-row { grid-template-columns:1fr; gap:8px; padding:10px; }
  .live-matchup-side-heading { min-height:22px; }
  .live-matchup-side-heading > em { padding:3px 5px; font-size:7px; }
  .live-matchup-link { grid-template-columns:auto auto; justify-content:start; padding-left:9px; }
  .live-matchup-link i { width:26px; height:26px; transform:rotate(90deg); }
  .basketball-mini-player { min-height:58px; }
  .live-matchup-picker { width:100%; max-height:82dvh; margin:auto 0 0; }
  .live-matchup-picker > section { max-height:82dvh; border-bottom:0; border-radius:18px 18px 0 0; }
  .live-matchup-picker > section > header { padding:15px 15px 12px; }
  .live-matchup-picker__list { grid-template-columns:1fr; padding:9px 9px calc(12px + env(safe-area-inset-bottom)); }
  .live-matchup-picker__choice { min-height:60px; }
  .live-quick-command-layout{gap:10px}.live-quick-focus,.live-quick-command-group{padding:10px}.live-quick-command-footer-grid{grid-template-columns:1fr}.live-command-option{min-height:58px;padding-left:9px}.live-command-option-grid.is-duration .live-command-option{min-height:46px}.live-quick-focus__trigger{grid-template-columns:42px minmax(0,1fr) auto}.live-quick-focus__trigger>.live-matchup-picker__rating{display:none}.live-quick-focus__trigger>em{padding-left:8px}
}
@media(max-width:370px){.live-command-option-grid{grid-template-columns:1fr}.live-command-option-grid.is-duration{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Live rotation candidates use a stable information grid instead of relying
   on flex wrapping, which became a tall stack on narrow screens. */
.basketball-live-court-picker .basketball-court-candidate{grid-template-columns:minmax(0,1fr) 184px!important}.basketball-live-court-picker .basketball-live-candidate__profile{align-content:center;display:grid;grid-template-columns:40px minmax(0,1fr) 34px;grid-template-rows:auto auto;min-height:88px;padding:7px 8px}.basketball-live-court-picker .basketball-live-candidate__profile>span:first-child{grid-column:1;grid-row:1;height:40px;width:40px}.basketball-live-court-picker .basketball-live-candidate__profile>span:nth-child(2){grid-column:2;grid-row:1}.basketball-live-court-picker .basketball-live-candidate__profile>b{grid-column:3;grid-row:1;height:30px;min-width:30px}.basketball-live-court-picker .basketball-live-candidate__metrics{align-self:end;display:grid;gap:3px;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:5px}.basketball-live-court-picker .basketball-live-candidate__metrics>i{display:grid;gap:2px;justify-items:center;min-width:0;padding:3px 2px}.basketball-live-court-picker .basketball-live-candidate__metrics>i>small{font-size:7px}.basketball-live-court-picker .basketball-live-candidate__metrics>i>b{font-size:9px}.basketball-live-court-picker .basketball-live-candidate__state{align-content:center;display:grid;gap:5px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;padding:8px}.basketball-live-candidate__state>em,.basketball-live-candidate__state>.basketball-live-candidate__unit{text-align:center}.basketball-live-candidate__state>small[data-energy],.basketball-live-candidate__state>.basketball-live-candidate__performance,.basketball-live-candidate__state>.basketball-live-candidate__minutes{grid-column:1/-1}.basketball-live-candidate__state>small[data-energy],.basketball-live-candidate__state>.basketball-live-candidate__performance{text-align:center}.basketball-live-candidate__state>.basketball-live-candidate__minutes{display:grid;grid-template-columns:1fr 44px 1fr;justify-items:center}.basketball-live-candidate__state>.basketball-live-candidate__minutes>span{justify-self:end}.basketball-live-candidate__state>.basketball-live-candidate__minutes>small{justify-self:start}
@media(max-width:620px){.basketball-live-court-picker .basketball-court-candidate{grid-template-columns:minmax(0,1fr) 120px!important}.basketball-live-court-picker .basketball-live-candidate__profile{grid-template-columns:34px minmax(0,1fr) 30px;min-height:100px;padding:7px}.basketball-live-court-picker .basketball-live-candidate__profile>span:first-child{height:34px;width:34px}.basketball-live-court-picker .basketball-live-candidate__profile>b{height:28px;min-width:28px}.basketball-live-court-picker .basketball-live-candidate__state{border-left:1px solid rgba(255,255,255,.06);border-top:0;gap:4px;padding:7px 6px}.basketball-live-candidate__state>.basketball-live-candidate__minutes{grid-template-columns:1fr 36px 1fr}.basketball-live-candidate__state>.basketball-live-candidate__minutes input{height:32px;width:36px}}
.basketball-live-court-picker .basketball-court-picker__list{align-content:start;grid-auto-rows:max-content}.basketball-live-court-picker .basketball-court-candidate{min-height:88px}@media(max-width:620px){.basketball-live-court-picker .basketball-court-candidate{min-height:100px}}
.basketball-live-court-picker .basketball-court-picker__list{grid-template-columns:repeat(2,minmax(0,1fr))}.basketball-live-court-picker .basketball-live-candidate-card{display:grid;grid-template-columns:minmax(0,1fr)!important;min-height:0}.basketball-live-court-picker .basketball-live-candidate-card>[data-court-candidate-select]{min-height:62px}.basketball-live-candidate-context{border-top:1px solid rgba(255,255,255,.065);display:grid;gap:7px;padding:7px 8px 8px}.basketball-live-candidate-stats{display:grid;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.basketball-live-candidate-stats>div{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:6px;display:grid;gap:2px;justify-items:center;padding:4px 2px}.basketball-live-candidate-stats dt{color:var(--muted);font-size:7px}.basketball-live-candidate-stats dd{color:var(--text);font-size:10px;font-weight:900;margin:0}.basketball-live-candidate-context__state{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.basketball-live-candidate-context__state>small,.basketball-live-candidate-context__state>.basketball-live-candidate__performance,.basketball-live-candidate-context__state>.basketball-live-candidate__unit{font-size:7px}.basketball-live-candidate-context__state>.basketball-live-candidate__minutes{margin-left:auto}.basketball-live-candidate-context__state>.basketball-live-candidate__minutes input{height:28px;width:38px}
@media(max-width:620px){.basketball-live-court-picker .basketball-court-picker__list{grid-template-columns:1fr}.basketball-live-court-picker .basketball-live-candidate-card{min-height:0}.basketball-live-court-picker .basketball-live-candidate-card>[data-court-candidate-select]{min-height:68px}.basketball-live-candidate-context{padding:7px}.basketball-live-candidate-context__state{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto}.basketball-live-candidate-context__state>.basketball-live-candidate__performance{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basketball-live-candidate-context__state>.basketball-live-candidate__minutes{margin-left:0}}
.live-current-strategy__schedule article.is-editable{cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.live-current-strategy__schedule article.is-editable:hover,.live-current-strategy__schedule article.is-editable:focus-visible{background:linear-gradient(135deg,rgba(232,97,45,.12),#101824);border-color:rgba(232,97,45,.55);outline:none;transform:translateY(-1px)}.live-current-strategy__schedule article.is-editable>span:last-child::after{color:#e99a72;content:"点击调整 →";font-size:7px;font-weight:850;margin-top:3px}.live-phase-strategy-picker__list{grid-template-columns:repeat(2,minmax(0,1fr))}.live-phase-strategy-picker__choice{display:grid;gap:4px;min-height:72px;padding:10px 12px;border:1px solid var(--line,#2d394c);border-radius:10px;background:rgba(7,12,19,.58);color:var(--text,#eef2f7);cursor:pointer;text-align:left}.live-phase-strategy-picker__choice:hover,.live-phase-strategy-picker__choice.is-current{border-color:rgba(232,97,45,.58);background:linear-gradient(135deg,rgba(232,97,45,.16),rgba(7,12,19,.7))}.live-phase-strategy-picker__choice strong{font-size:11px}.live-phase-strategy-picker__choice small{color:var(--muted,#96a2b5);font-size:8px;line-height:1.45}@media(max-width:640px){.live-phase-strategy-picker__list{grid-template-columns:1fr}.live-phase-strategy-picker__choice{min-height:66px}}

/* Mobile keeps a real month grid. A selected date expands into the readable
   summary below the grid instead of turning all 31 days into an agenda list. */
@media (max-width:700px) {
  .basketball-month-calendar__weekdays { display:grid; padding:0 6px; background:#0b1118; }
  .basketball-month-calendar__weekdays span { padding:7px 1px; font-size:8px; }
  .basketball-month-calendar__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; padding:6px; background:#0b1118; }
  .basketball-calendar-week { display:contents; }
  .basketball-calendar-week::before { display:none; content:none; }
  .basketball-calendar-day,.basketball-calendar-day.is-empty { min-width:0; min-height:62px; display:grid; grid-template-columns:1fr; grid-template-rows:22px minmax(0,1fr); align-items:stretch; gap:1px; margin:0; padding:3px; overflow:hidden; border:1px solid transparent; border-radius:8px; cursor:pointer; }
  .basketball-calendar-day.is-outside { display:grid; opacity:.16; pointer-events:none; }
  .basketball-calendar-day.is-selected { box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-strong) 78%,transparent); }
  .basketball-calendar-day__head,button.basketball-calendar-day__head { min-height:22px; display:grid; place-items:center; margin:0; padding:0; border:0; text-align:center; }
  button.basketball-calendar-day__head { width:100%; min-height:100%; position:absolute; z-index:3; inset:0; display:block; }
  button.basketball-calendar-day__head time { position:absolute; top:6px; left:50%; transform:translateX(-50%); }
  .basketball-calendar-day__head time { font-size:11px; }
  .basketball-calendar-day__weekday,.basketball-calendar-day__head span { display:none; }
  .basketball-calendar-day.is-today .basketball-calendar-day__head time { width:20px; height:20px; border-radius:6px; }
  .basketball-calendar-game { min-height:33px; position:relative; display:grid; grid-template-columns:1fr; grid-template-rows:1fr; place-items:center; gap:0; padding:1px; overflow:visible; border-width:1px; border-left-width:2px; border-radius:7px; }
  .basketball-calendar-game__team { width:100%; min-height:31px; display:grid; grid-template-columns:1fr; place-items:center; padding:1px; pointer-events:none; }
  .basketball-calendar-game__mark { width:27px; height:27px; flex-basis:27px; border-radius:7px; }
  .basketball-calendar-game__mark img { inset:2px; width:calc(100% - 4px); height:calc(100% - 4px); }
  .basketball-calendar-game__copy { display:none; }
  .basketball-calendar-game__result { width:16px; min-height:16px; position:absolute; right:-2px; bottom:-2px; display:grid; place-items:center; margin:0; padding:0; border:0; border-radius:5px; background:#111923; pointer-events:none; }
  .basketball-calendar-game__result b { display:none; }
  .basketball-calendar-game__outcome { width:16px; height:16px; flex-basis:16px; border-radius:5px; font-size:7px; }
  .basketball-calendar-game__pending { width:17px; min-height:17px; position:absolute; right:-2px; bottom:-2px; display:grid; place-items:center; margin:0; padding:0; border:1px solid rgba(217,182,94,.65); border-radius:5px; background:#382f16; color:#f3d77c; font-size:0; pointer-events:none; }
  .basketball-calendar-game__pending::before { content:"!"; font-size:9px; font-weight:950; }
  .basketball-calendar-rest { display:none; }
  .basketball-calendar-mobile-summary { margin:0 6px 6px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:11px; }
}
