/* Icehouse: player-first discovery with a shared emerald navigation shell. */
:root { --bg:#fff; --surface:#fff; --surface-2:#f1f6f4; --ink:#152b24; --muted:#617068; --line:#dce5df; --teal:#07533c; --blue:#07533c; --green:#07533c; --red:#d53735; }
body { background:#fff; color:var(--ink); }
button,select,input { accent-color:#07533c; }
body .primary-button { background:#103d2d; color:white; border-color:#103d2d; }
body :is(button,input,select,summary):focus-visible { outline-color:#249578; }
.topbar { position:fixed; inset:0 auto 0 0; width:112px; min-height:100vh; padding:22px 10px; display:flex; flex-direction:column; flex-wrap:nowrap; background:#103d2d; color:white; gap:36px; border:0; }
.topbar .brand-block { padding:10px; width:72px; margin:0 auto; background:#fff; border-radius:4px; }
.topbar .brand-logo { width:52px; height:52px; max-height:none; object-fit:contain; }
.topbar .mode-nav { flex:0 0 auto; flex-direction:column; width:100%; gap:16px; min-height:0; }
.topbar .mode-button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:74px; width:100%; white-space:normal; font-size:14px; padding:10px 4px; color:#d8e8e0; border-radius:4px; }
.topbar .mode-button svg { width:23px; height:23px; stroke-width:1.6; }
.topbar .mode-button.active { background:#28604a; color:#fff; }
.topbar .mode-button.active::after { inset:10px auto 10px -10px; width:3px; height:auto; background:#a4cda8; }
.topbar .mode-button:hover { color:#fff; background:#22543f; }
.topbar .topbar-context { position:fixed; top:18px; right:32px; margin:0; color:var(--ink); }
.topbar .model-state { display:none; }
.topbar .season-control label { display:none; }
.topbar .more-nav { width:100%; }
.topbar .more-nav > summary { min-height:50px; }
.topbar .more-nav-menu { top:0; left:102px; right:auto; width:200px; background:#fff; }
.topbar .more-nav-menu .mode-button { min-height:44px; color:var(--ink); }
.topbar .more-nav-menu .mode-button:hover { background:#e9f2ed; }
body .main-workspace { margin:0 0 0 112px; width:calc(100% - 112px); max-width:none; padding:0 32px 32px; }
.icehouse-masthead { height:80px; display:flex; align-items:center; gap:24px; padding-right:230px; border-bottom:1px solid var(--line); }
.icehouse-masthead img { width:204px; height:44px; object-fit:contain; }
.icehouse-masthead > span { font-size:11px; color:var(--muted); }
.workspace-header { margin:0; padding:24px 0 18px; border:0; }
body h1 { font-size:30px; }
.data-line { color:var(--muted); margin-top:6px; }
.icehouse-cards .main-workspace { padding-bottom:120px; }
.icehouse-discovery .data-line { display:none; }
.icehouse-discovery .workspace-header { padding:22px 0 18px; }
.ice-filters { padding:0 0 16px; }
.ice-search-row { display:grid; grid-template-columns:minmax(250px,680px) minmax(180px,260px); gap:16px; }
.ice-search-row .control-row label { display:none; }
.ice-search-row input,.ice-search-row select { height:48px; border-color:#bfcfc4; background:#fff; }
.ice-filter-row { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:18px; }
.ice-position-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.ice-position-tabs button { min-width:44px; padding:8px 12px; border:1px solid var(--line); border-radius:5px; background:#fff; font-size:14px; }
.ice-position-tabs button[aria-pressed="true"] { background:#103d2d; color:#fff; border-color:#103d2d; }
.segmented-control.ice-view-toggle { display:grid; align-items:stretch; grid-template-columns:repeat(2,minmax(0,1fr)); width:196px; height:44px; gap:2px; padding:3px; margin-left:auto; flex-shrink:0; border:1px solid #d4d9de; background:#f0f2f4; border-radius:6px; }
.ice-view-toggle button { display:flex; align-items:center; justify-content:center; gap:7px; font-size:14px; height:36px; min-height:36px; padding:0 8px; white-space:nowrap; }
.ice-view-toggle button svg { display:block; flex:0 0 18px; width:18px; height:18px; }
.ice-view-toggle button[aria-pressed="true"] { background:#202426; color:#fff; box-shadow:none; }
.ice-view-toggle button:not([aria-pressed="true"]):hover { background:#e0e5e9; color:#171b1d; }
.ice-view-toggle button:focus-visible { outline:2px solid #596b7d; outline-offset:2px; }
.ice-sort { display:flex; align-items:center; gap:6px; font-size:14px; }
.ice-sort select { width:105px; padding:4px 8px; min-height:40px; font-size:14px; }
.ice-sort button,.ice-pagination button,.ice-tray-players button,.ice-compare-tray > button:last-child { display:grid; place-items:center; width:40px; height:40px; padding:8px; border:1px solid var(--line); border-radius:5px; background:white; color:var(--ink); }
.ice-results-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; color:var(--muted); margin-bottom:12px; }
.ice-player-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.ice-player-card { position:relative; min-width:0; overflow:hidden; border:1px solid #d5dfd8; border-radius:6px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.ice-player-card:hover { border-color:#6d9981; box-shadow:0 3px 12px #103d2d0a; }
.ice-player-card.is-picked { border-color:#07533c; box-shadow:inset 0 0 0 1px #07533c; }
.ice-card-open { display:block; width:100%; padding:0; border:0; border-radius:0; color:var(--ink); text-align:left; background:transparent; }
.ice-card-open:hover { background:transparent; }
.ice-portrait { position:relative; height:220px; overflow:hidden; background:#f2f7f4; border-bottom:1px solid #e6eee9; }
.ice-portrait::before { content:''; position:absolute; inset:18px 20px -35px; border:1px solid #dce8df; border-radius:90px 90px 12px 12px; }
.ice-player-photo { display:flex; position:absolute; inset:0; align-items:flex-end; justify-content:center; font-size:56px; color:#83a28e; }
.ice-player-photo img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.ice-card-team { position:absolute; left:10px; top:12px; z-index:0; }
.ice-card-team .team-chip > strong { display:none; }
.ice-card-team .small-logo { width:36px; height:36px; }
.ice-rank { position:absolute; bottom:8px; left:12px; color:#53745f; font-size:14px; font-variant-numeric:tabular-nums; }
.ice-pick { position:absolute; right:12px; top:12px; z-index:3; width:36px; height:36px; min-height:36px; display:grid; place-items:center; padding:6px; border:1px solid #bdcec3; border-radius:50%; background:#fff; color:#103d2d; }
.ice-pick[aria-pressed="true"] { background:#07533c; color:white; }
.ice-pick:disabled { opacity:.45; }
.ice-card-identity { padding:12px 14px 8px; min-height:86px; }
.ice-card-identity h2 { font-size:19px; line-height:1.2; margin:0 0 6px; overflow-wrap:anywhere; }
.ice-card-identity > span { font-size:14px; color:var(--muted); }
.ice-card-value { display:grid; grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr); align-items:baseline; margin:0 14px; padding:0 0 10px; border-bottom:1px solid var(--line); }
.ice-card-value > span { justify-self:end; font-size:14px; font-weight:600; }
.ice-card-value strong { font-size:36px; line-height:1.2; color:#07533c; font-variant-numeric:tabular-nums; }
.ice-card-ratings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 14px; gap:14px; }
.ice-card-ratings > div { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:4px; }
.ice-card-ratings span { font-size:12px; color:var(--muted); }
.ice-card-ratings strong { font-size:16px; }
.ice-card-ratings i { grid-column:1/-1; height:4px; background:#e7ede9; border-radius:2px; overflow:hidden; }
.ice-card-ratings i b { display:block; height:100%; background:#337f5b; }
.ice-card-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:10px 14px 12px; gap:8px; border-top:1px solid var(--line); text-align:center; }
.ice-card-stats dt { font-size:12px; color:var(--muted); }
.ice-card-stats dd { margin:2px 0 0; font-size:21px; font-weight:600; font-variant-numeric:tabular-nums; }
.ice-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; color:var(--muted); font-size:14px; }
.ice-pagination > div { display:flex; align-items:center; gap:12px; }
.ice-empty { grid-column:1/-1; text-align:center; padding:60px 16px; background:#f4f8f5; }
.ice-career-preview { border-top:1px solid var(--line); padding:18px 0; }
.ice-career-preview .hvi-chart-card { max-width:none; }
.ice-compare-tray { position:fixed; left:144px; right:32px; bottom:16px; z-index:16; display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #bfd1c5; border-radius:6px; background:#fff; box-shadow:0 4px 24px #103d2d16; }
.ice-tray-players { display:flex; align-items:center; gap:22px; flex:1; min-width:0; }
.ice-tray-players > div { display:flex; align-items:center; gap:10px; min-width:0; }
.ice-tray-photo { width:40px; height:40px; display:block; flex-shrink:0; }
.ice-tray-photo img { width:100%; height:100%; object-fit:contain; }
.ice-tray-players span { font-size:14px; }
.ice-tray-players small { display:block; font-size:12px; color:var(--muted); }
.ice-tray-players button { border:0; width:32px; }
.ice-compare-tray .primary-button { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.ice-discovery svg.lucide,.ice-view-toggle svg.lucide { width:19px; height:19px; }
.ice-view-toggle { margin-top:0; }
.board-header .ice-view-toggle { margin-left:12px; }
.live-projection,.scenario-live-summary { background:#103d2d; }
.comparison-hvi-line.series-a { stroke:#2563eb; }
.comparison-hvi-point.series-a { border-color:#2563eb; }
.player-detail-page .card-header { background:#f4f8f5; padding:20px; border-top:0; }
@media(max-width:1200px) {
  .icehouse-masthead > span { display:none; }
  .ice-player-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ice-portrait { height:240px; }
  .ice-tray-players { gap:10px; }
}
@media(max-width:760px) {
  .topbar { position:sticky; inset:auto; top:0; width:100%; min-height:0; padding:8px 12px 0; gap:4px; flex-direction:row; flex-wrap:wrap; background:white; border-bottom:1px solid var(--line); }
  .topbar .brand-block { background:transparent; width:126px; padding:0; margin:0; }
  .topbar .brand-logo { width:126px; height:36px; }
  .topbar .topbar-context { position:static; margin-left:auto; }
  .topbar .mode-nav { flex-direction:row; width:100%; gap:4px; justify-content:space-between; }
  .topbar .mode-button { min-height:42px; font-size:14px; padding:8px 6px; color:var(--muted); gap:0; white-space:nowrap; }
  .topbar .mode-button svg { display:none; }
  .topbar .mode-button.active { color:#07533c; background:#edf5ef; }
  .topbar .mode-button:hover { background:#edf5ef; color:#07533c; }
  .topbar .mode-button.active::after { display:none; }
  .topbar .more-nav { width:auto; }
  .topbar .more-nav > summary { min-height:42px; }
  .topbar .more-nav-menu { left:auto; right:0; top:100%; }
  body .main-workspace { margin:0; padding:0 14px 100px; width:100%; }
  .icehouse-masthead { display:none; }
  .ice-filter-row { gap:12px; }
  .ice-search-row { grid-template-columns:1fr; gap:10px; }
  .ice-position-tabs { width:100%; }
  .ice-position-tabs button { padding:8px 9px; font-size:13px; }
  .segmented-control.ice-view-toggle { margin-left:0; width:180px; }
  .ice-sort { margin-left:auto; }
  .ice-sort label { display:none; }
  .ice-player-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ice-portrait { height:160px; }
  .ice-card-identity { padding:10px; min-height:92px; }
  .ice-card-identity h2 { font-size:17px; }
  .ice-card-value { margin:0 10px; }
  .ice-card-value strong { font-size:28px; }
  .ice-card-ratings { padding:10px; gap:8px; }
  .ice-card-ratings > div { grid-template-columns:1fr; }
  .ice-card-stats { padding:10px; gap:4px; }
  .ice-card-stats dt { font-size:11px; }
  .ice-card-stats dd { font-size:18px; }
  .ice-card-team { left:8px; top:8px; }
  .ice-card-team .small-logo { width:26px; height:26px; }
  .ice-pick { top:8px; right:8px; width:32px; height:32px; min-height:32px; }
  .ice-compare-tray { left:10px; right:10px; bottom:8px; flex-wrap:wrap; padding:10px; gap:8px; }
  .ice-tray-players { flex-basis:100%; justify-content:space-between; }
  .ice-tray-photo { display:none; }
  .ice-tray-players > div { flex:1; }
  .ice-tray-players span { font-size:12px; }
  .ice-compare-tray .primary-button { flex:1; justify-content:center; }
  .icehouse-cards .main-workspace { padding-bottom:160px; }
  .ice-results-heading { font-size:12px; }
  .board-header { flex-wrap:wrap; }
  .board-header .ice-view-toggle { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { .ice-player-card { transition:none; } }

/* Reference layout: white header, black utility rail, compact player cards. */
:root { --bg:#fff; --surface:#fff; --surface-2:#f5f6f7; --ink:#171b1d; --muted:#687078; --line:#dfe3e6; --teal:#253d36; --blue:#253d36; --green:#253d36; }
body { color:var(--ink); }
body .primary-button { background:#202426; border-color:#202426; }
.topbar { position:sticky; top:0; left:auto; width:calc(100% - 100px); margin-left:100px; min-height:70px; padding:0 32px; flex-direction:row; flex-wrap:wrap; align-items:center; gap:0 24px; background:white; color:var(--ink); border-bottom:1px solid var(--line); }
.topbar .brand-block { width:auto; margin:0; padding:0; background:none; border-radius:0; }
.topbar .brand-block picture { display:none; }
.reference-wordmark { display:block; width:274px; height:auto; }
.topbar .mode-nav { flex:1 0 auto; flex-direction:row; width:auto; gap:24px; min-height:70px; }
.topbar .mode-button { display:inline-flex; flex-direction:row; min-height:70px; width:auto; padding:0 2px; white-space:nowrap; font-size:15px; color:#4c555a; border-radius:0; }
.topbar .mode-button svg { display:none; }
.topbar .mode-button.active { color:#141a17; background:none; }
.topbar .mode-button.active::after { left:0; right:0; bottom:16px; top:auto; width:auto; height:2px; background:#293d34; }
.topbar .mode-button:hover { background:none; color:#111; }
.topbar .topbar-context { position:static; margin-left:auto; }
.topbar .more-nav { width:auto; position:relative; }
.topbar .more-nav > summary { min-height:70px; }
.topbar .more-nav-menu { top:100%; right:0; left:auto; z-index:40; width:210px; box-shadow:0 8px 24px #00000014; }
.topbar .more-nav-menu .mode-button { display:flex; width:100%; padding:12px; min-height:44px; justify-content:flex-start; }
.reference-rail { position:fixed; inset:0 auto 0 0; width:100px; background:#111314; z-index:21; display:flex; flex-direction:column; gap:16px; padding:110px 8px 20px; overflow-y:auto; }
.reference-mark { position:absolute; top:10px; left:10px; width:80px; height:80px; }
.reference-rail button { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:74px; padding:10px 4px; background:transparent; border:0; border-radius:3px; color:#e9ecea; font-size:13px; }
.reference-rail button:hover,.reference-rail button[aria-current="page"] { background:#303537; color:white; }
.reference-rail svg { width:26px; height:26px; stroke-width:1.5; }
body .main-workspace { margin-left:100px; width:calc(100% - 100px); padding:0 32px 32px; }
.icehouse-discovery .workspace-header { padding:20px 0 14px; }
.ice-search-row { grid-template-columns:minmax(0,1fr); }
.ice-search-row input { height:46px; }
.ice-filter-row { margin-top:12px; gap:12px; }
.ice-filter-row > .control-row { width:175px; }
.ice-filter-row > .control-row label { display:none; }
.ice-filter-row > .control-row select { min-height:40px; height:40px; font-size:14px; }
.ice-filters { padding-bottom:4px; }
.data-loading { min-height:240px; padding:32px 0; font-size:17px; color:var(--muted); }
.data-loading button { margin-top:16px; }
.team-select { position:relative; min-width:0; width:100%; }
.team-select .team-select-native { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.team-select-button { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:8px 12px; border:1px solid #c7cfd7; border-radius:6px; background:#fff; color:#20262d; font-size:16px; font-weight:600; text-align:left; box-shadow:0 1px 2px #14203108; }
.team-select-button:hover { border-color:#8c9eaf; background:#f7f9fc; }
.team-select-button[aria-expanded="true"] { border-color:#2563eb; outline:2px solid #2563eb24; }
.team-select-button > span:not(.team-select-logo) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-select-button > svg { width:16px; height:16px; flex:0 0 16px; color:#637182; }
.team-select-logo { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; }
.team-select-logo img { width:100%; height:100%; object-fit:contain; }
.team-select-logo svg { width:20px; height:20px; color:#637182; }
.team-select-menu { position:fixed; z-index:1000; display:flex; flex-direction:column; overflow:hidden; padding:6px; border:1px solid #ccd5df; border-radius:8px; background:#fff; box-shadow:0 12px 32px #13243a26; color:#20262d; }
.team-select-search { display:flex; align-items:center; gap:8px; padding:6px 10px; border-bottom:1px solid #e1e6ec; }
.team-select-search > svg { flex:0 0 18px; width:18px; height:18px; color:#637182; }
.team-select-search input { width:100%; min-width:0; height:40px; border:0; box-shadow:none; padding:4px; font-size:16px; background:#fff; }
.team-select-search input:focus { outline:2px solid #2563eb; outline-offset:2px; }
.team-select-options { overflow-y:auto; overscroll-behavior:contain; min-height:0; padding-top:4px; }
.team-select-options button { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:8px 10px; border:0; border-radius:4px; background:white; color:#20262d; text-align:left; font-size:16px; font-weight:500; }
.team-select-options button > span:not(.team-select-logo) { flex:1; min-width:0; overflow-wrap:anywhere; }
.team-select-options button > svg { width:18px; height:18px; flex:0 0 18px; color:#2563eb; }
.team-select-options button:is(:hover,.is-highlighted) { background:#edf3fc; }
.team-select-options button[aria-selected="true"] { font-weight:700; }
.team-select-empty { margin:0; padding:20px 12px; color:#637182; font-size:15px; }
.compare-season-select { display:block; width:auto; max-width:100%; min-height:36px; margin:8px 0; padding:5px 28px 5px 10px; font-size:15px; font-weight:600; border:1px solid #cad2db; border-radius:4px; background:#f7f9fc; }
.is-comparing .topbar .season-control { visibility:hidden; }
.compare-era-context { padding:24px 0; border-top:1px solid #d8dfe5; }
.compare-era-context h2 { font-size:22px; margin:0 0 8px; }
.compare-era-context > p { color:#596575; font-size:15px; margin:0 0 18px; }
.season-standing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.season-standing { min-width:0; }
.season-standing h3 { font-size:18px; margin:0 0 6px; }
.season-standing p { font-size:14px; color:#596575; min-height:38px; margin:0 0 10px; }
.season-percentile { display:grid; grid-template-columns:60px minmax(30px,1fr) 80px; align-items:center; gap:10px; min-height:36px; font-size:14px; }
.season-percentile strong { text-align:right; font-variant-numeric:tabular-nums; }
.season-percentile-track { height:7px; background:#e5eaf0; }
.season-percentile-track i { display:block; height:100%; background:#2563eb; }
.season-standing.right .season-percentile-track i { background:#dc3545; }
.compare-table-season { display:block; font-size:12px; font-weight:400; }
.comparison-hvi-point.is-selected-season { outline:3px solid currentColor; outline-offset:4px; }
@media(max-width:600px) {
  .comparison-profiles .compare-primary.is-production { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .comparison-profiles .compare-primary.is-production > div { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
  .comparison-profiles .compare-primary.is-production strong { font-size:22px; }
  .comparison-profiles .compare-primary.is-production span { font-size:12px; }
  .season-standing-grid { gap:12px; }
  .season-percentile { grid-template-columns:1fr 1fr; gap:6px; }
  .season-percentile-track { grid-row:2; grid-column:1 / -1; }
  .season-standing h3 { min-height:44px; font-size:16px; }
  .season-standing p { min-height:60px; }
}
.ice-filter-row > .control-row:has(.team-select) { width:220px; }
.ice-filters .team-select-button { min-height:44px; height:44px; font-size:14px; }
@media(max-width:600px) { .ice-filter-row > .control-row:has(.team-select) { width:100%; } }
.ice-results-heading { margin:0 0 6px; font-size:12px; }
.ice-results-heading button { min-height:30px; font-size:12px; }
.ice-position-tabs button[aria-pressed="true"] { background:#26332e; border-color:#26332e; }
body[data-build-hidden] :is([data-mode="scenario"],[data-rail-mode="scenario"],#openPlayerScenario,[data-open-scenario-engine]) { display:none !important; }
body[data-build-hidden] .player-detail-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:760px) {
  body[data-build-hidden] .player-detail-toolbar .player-detail-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-build-hidden] #comparePlayerButton { grid-column:1/-1; }
}
.ice-player-grid { gap:16px; }
@media(min-width:761px) { html { scrollbar-gutter:stable; } }
.ice-result-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.ice-extra-columns { width:90px; }
@media(max-width:600px) {
  .ice-results-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
  .ice-result-actions { justify-content:flex-end; }
}
.data-room { display:block; }
.main-workspace:has(.data-room) #dataLine { display:none; }
.data-overview { padding:0 0 28px; border-bottom:1px solid var(--line); }
.data-overview-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.data-overview-heading h2 { margin:0 0 8px; font-size:24px; }
.data-overview-heading > span { color:var(--muted); font-size:14px; }
.data-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:16px 0 0; }
.data-totals > div { border-left:1px solid var(--line); padding-left:24px; }
.data-totals > div:first-child { border:0; padding-left:0; }
.data-totals dt,.data-source-list dt { font-size:14px; color:var(--muted); }
.data-totals dd { margin:6px 0; font-size:32px; font-weight:700; font-variant-numeric:tabular-nums; }
.data-totals small { color:var(--muted); font-size:13px; }
.data-methods-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:48px; padding:28px 0; }
.data-methods-layout h2 { font-size:21px; margin:0 0 18px; }
.method-entry { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:0; }
.method-entry summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; list-style:none; }
.method-entry summary::-webkit-details-marker { display:none; }
.method-entry summary strong,.method-entry summary small { display:block; }
.method-entry summary strong { font-size:17px; }
.method-entry summary small { font-size:14px; font-weight:400; color:var(--muted); margin-top:5px; }
.method-entry summary svg { width:18px; height:18px; flex-shrink:0; }
.method-entry[open] summary svg { transform:rotate(180deg); }
.method-entry summary:hover strong { text-decoration:underline; }
.method-entry summary:focus-visible { outline:2px solid #637988; outline-offset:3px; }
.method-body { padding:0 0 18px; font-size:16px; line-height:1.65; max-width:70ch; }
.method-body p { margin:0 0 12px; }
.method-body p:last-child { margin-bottom:0; }
.data-sources { border-left:1px solid var(--line); padding-left:32px; min-width:0; }
.data-source-list { margin:0; }
.data-source-list > div { padding:16px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.data-source-list > div:first-child { padding-top:0; }
.data-source-list dd { margin:6px 0; font-size:17px; font-weight:600; }
.data-source-list small { display:block; font-size:14px; line-height:1.5; color:var(--muted); }
.data-room .data-ledger-details { margin:0; padding:20px 0; border:0; border-top:1px solid var(--line); border-radius:0; }
.data-room .data-ledger-details > summary { font-size:16px; font-weight:600; cursor:pointer; }
.data-room .data-ledger { margin-top:24px; }
.data-room .delta-table td { text-align:left; padding:12px; }
@media(max-width:980px) {
  .data-methods-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .data-sources { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
  .data-totals { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .data-totals > div:nth-child(3) { border:0; padding-left:0; }
}
@media(max-width:600px) {
  .data-overview-heading { display:block; }
  .data-overview-heading > span { display:block; margin-bottom:20px; }
  .data-totals dd { font-size:28px; }
}
.ice-filters { position:sticky; top:var(--ice-header-height,70px); z-index:5; background:#fff; border-bottom:1px solid #dce0e2; }
.ice-load-more { display:flex; flex-direction:column; align-items:center; gap:12px; padding:24px 0; color:var(--muted); font-size:14px; }
.ice-load-more button { display:flex; align-items:center; gap:8px; min-height:48px; padding:10px 24px; }
.ice-load-more svg { width:18px; height:18px; }
.player-detail-page .card-body,.player-detail-page .player-history { min-width:0; grid-template-columns:minmax(0,1fr); }
@media(min-width:761px) and (max-width:1100px) {
  .player-detail-page .bio-summary { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); }
}
.history-table .delta-table :is(th,td) { text-align:right; font-variant-numeric:tabular-nums; }
.history-table .delta-table :is(th,td):nth-child(-n+2) { text-align:left; }
.history-table tfoot { background:#edf1f4; border-top:2px solid #b9c4cd; font-weight:700; }
.history-table tfoot :is(th,td) { padding-top:12px; padding-bottom:12px; white-space:nowrap; }
.history-records .recent-games-table .delta-table { min-width:740px; table-layout:fixed; }
.recent-games-table .delta-table :is(th,td) { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.recent-games-table .delta-table :is(th,td):nth-child(-n+4) { text-align:left; }
.recent-games-table .delta-table :is(th,td):first-child { width:112px; }
.recent-games-table .delta-table :is(th,td):nth-child(3) { width:88px; }
.history-records [data-player-record="recent-games"] h3 { margin:0; font-size:19px; }
.history-records { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:16px; }
.history-records:empty { display:none; }
.history-records .table-shell { margin-top:6px; }
.history-records .delta-table { width:100%; min-width:0; }
.history-records .delta-table td { white-space:normal; overflow-wrap:anywhere; }
.ice-portrait { height:176px; background:color-mix(in srgb,var(--team-primary,#718392) 15%,white); border-bottom:1px solid #d5e0e7; isolation:isolate; }
.ice-portrait::before { content:''; position:absolute; inset:-40% -12% -40% 45%; border:0; border-left:10px solid #ffffff80; border-radius:0; background:color-mix(in srgb,var(--team-primary,#718392) 24%,white); transform:skewX(-24deg); pointer-events:none; z-index:-1; }
.ice-player-photo { top:8px; left:24px; height:auto; z-index:1; }
.ice-player-photo img { object-fit:contain; object-position:center bottom; }
.ice-card-identity { min-height:56px; padding:8px 14px 4px; }
.ice-card-identity h2 { text-transform:uppercase; font-size:19px; }
.ice-card-value { gap:6px; margin:0 14px; padding-bottom:4px; }
.ice-card-value strong { color:#26332e; font-size:36px; }
.ice-card-ratings { padding:7px 14px; }
.ice-card-ratings i b { background:#52675d; }
.ice-card-stats { padding:6px 14px; }
.ice-card-stats dd { font-size:22px; }
.ice-player-card { border-color:#dce0e2; }
.ice-player-card.is-picked { border-color:#344b40; box-shadow:inset 0 0 0 1px #344b40; }
.team-chip > .small-logo { width:30px; height:30px; background:transparent; }
.player-detail-page .card-title > .small-logo { width:34px; height:34px; background:transparent; }
.ice-card-team .small-logo { width:70px; height:70px; background:transparent; }
.ice-rank { color:#5d666b; z-index:2; }
.ice-pick[aria-pressed="true"] { background:#26332e; }
.ice-career-preview { padding:12px 0; }
.ice-career-preview .hvi-plot { height:210px; }
.ice-compare-tray { left:132px; border-color:#dce0e2; }
.live-projection,.scenario-live-summary { background:#202426; }
.player-detail-page .card-header { background:color-mix(in srgb,var(--team-primary,#718392) 9%,white); }
.player-detail-page .card-photo { background:color-mix(in srgb,var(--team-primary,#718392) 18%,white); }
.topbar .more-nav > summary { padding-right:18px; }
.topbar .more-nav > summary::before { right:4px; }
.ice-results-heading #clearFilters { white-space:nowrap; }
.league-ledger .sort-button { position:relative; text-align:inherit; }
.league-ledger .sort-label { position:relative; }
.league-ledger .sort-indicator { position:absolute; right:calc(100% + 6px); top:50%; transform:translateY(-50%); font-size:10px; }
.league-ledger th:nth-child(-n+3) .sort-indicator { right:auto; left:calc(100% + 6px); }
.ice-player-card { display:flex; flex-direction:column; }
.ice-card-open { display:flex; flex-direction:column; flex:1; }
.ice-portrait,.ice-card-identity { width:100%; }
.ice-portrait { flex-shrink:0; }
.ice-card-identity { flex:1; }
#simulationDetails .bar-row { grid-template-columns:120px minmax(0,1fr) 130px; }
#simulationDetails .bar-row > strong { text-align:right; }
.hvi-chart-card .hvi-plot-area,.hvi-chart-card.is-axis-angled .hvi-plot-area,
.hvi-chart-card .hvi-axis,.hvi-chart-card.is-axis-angled .hvi-axis { left:48px; right:35px; }
.scenario-live-summary { top:71px; }
.segmented-control.chart-alignment { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; height:44px; background:#f0f2f4; border-color:#d4d9de; }
.chart-alignment button { height:36px; min-height:36px; font-size:14px; }
.chart-alignment button:focus-visible { outline:2px solid #596b7d; outline-offset:2px; }
.comparison-picker { border-bottom:0; padding-bottom:0; }
.comparison-page { --compare-gap:24px; --teal:#2563eb; --blue:#2563eb; --red:#dc3545; }
.comparison-page .compare-dot-track i { background:var(--blue); }
.comparison-page .compare-dot-track i + i { background:var(--red); }
.comparison-page .dot-plot-legend .legend-player-a,
.comparison-page .comparison-hvi-point.series-a .hvi-dot-label { color:var(--blue); }
.comparison-page .dot-plot-legend .legend-player-b,
.comparison-page [data-compare-profile="B"] .compare-primary > div:first-child strong { color:var(--red); }
.comparison-picker .wide-grid,
.comparison-page .comparison-profiles {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--compare-gap);
}
.comparison-page .compare-profile { display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; padding:0 12px 10px; text-align:left; --compare-accent:var(--blue); }
.comparison-page .compare-identity { grid-row:1; }
.comparison-page .compare-primary { grid-row:2; }
.comparison-page .compare-coverage { grid-row:3; }
.comparison-page .compare-profile[data-compare-profile="B"] { --compare-accent:var(--red); }
.comparison-page .compare-profile .compare-identity { flex-direction:row; }
.comparison-page .compare-identity { gap:12px; min-height:0; align-items:center; border-top:3px solid var(--compare-accent); background:color-mix(in srgb,var(--team-primary,#718392) 5%,white); }
.comparison-page .compare-identity > div:last-child { min-width:0; }
.comparison-page .compare-identity h2 { margin:0; font-size:28px; line-height:1.15; overflow-wrap:anywhere; }
.comparison-page .compare-portrait { position:relative; flex:0 0 176px; width:176px; height:176px; isolation:isolate; overflow:hidden; background:color-mix(in srgb,var(--team-primary,#718392) 14%,white); }
.comparison-page .compare-portrait-team { position:absolute; top:10px; left:8px; z-index:0; }
.comparison-page .compare-portrait-team .small-logo { width:52px; height:52px; background:transparent; }
.comparison-page .compare-photo {
  position:absolute; inset:6px 0 0 10px; width:auto; height:auto; z-index:1; background:transparent; border:0;
}
.comparison-page .compare-photo img { object-fit:contain; object-position:center bottom; }
.comparison-page .compare-identity-text { flex:1; padding:12px 12px 12px 0; }
.comparison-page .compare-identity .compare-team { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0; font-size:14px; line-height:1.4; }
.comparison-page .compare-team span { border-left:1px solid #cbd2d8; padding-left:8px; }
.comparison-page .compare-season-select { margin:0; background:#fff; }
.comparison-page .compare-primary { margin-top:10px; }
@media (min-width:761px) and (max-width:1100px) {
  .comparison-page .compare-portrait { flex-basis:128px; width:128px; height:148px; }
  .comparison-page .compare-identity { gap:10px; }
  .comparison-page .compare-identity h2 { font-size:24px; }
}
@media (max-width:760px) {
  .comparison-page { --compare-gap:8px; }
  .comparison-page .compare-profile { padding:8px; }
  .comparison-page .compare-profile .compare-identity { flex-direction:column; align-items:stretch; }
}
.comparison-career { border-top:0; padding-top:0; }
.lineup-workbench .lineup-tab-side,
.lineup-workbench .lineup-tab-summary,
.lineup-workbench .roster-side { display:none; }
.lineup-workbench .lineup-team-tab { padding:16px; min-height:64px; }
.lineup-workbench .lineup-team-tab.active { background:#edf3fc; border-bottom-color:#2563eb; }
.lineup-workbench .lineup-tab-team strong { font-size:18px; }
.lineup-workbench .lineup-toolbar { margin-bottom:16px; }
.lineup-workbench .lineup-slot { min-height:90px; grid-template-columns:26px minmax(0,1fr) 10px; padding:12px; gap:8px; }
.lineup-workbench .lineup-slot:hover { background:#edf3fc; border-color:#2563eb; }
.lineup-workbench .lineup-slot-player strong { font-size:16px; line-height:1.3; white-space:normal; overflow-wrap:anywhere; overflow:visible; display:block; }
.lineup-workbench .lineup-slot-player small { font-size:12px; }
.lineup-workbench .lineup-support .lineup-unit-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lineup-workbench .bench-rail { margin-top:20px; }
.lineup-workbench .lineup-impact { margin-top:24px; }
.lineup-picker .lineup-picker-header h2 { font-size:24px; }
.lineup-picker .lineup-picker-search input { min-height:48px; font-size:17px; }
.lineup-picker .lineup-picker-choice { min-height:72px; padding:14px 18px; }
.lineup-picker .lineup-picker-identity strong { font-size:17px; line-height:1.3; }
.lineup-picker .lineup-picker-identity small { font-size:13px; line-height:1.5; }
.lineup-picker .lineup-picker-choice.selected { background:#edf3fc; border-color:#2563eb; }
@media(max-width:1100px) {
  .lineup-workbench .lineup-editor-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  .lineup-workbench .lineup-team-tab { padding:12px 8px; }
  .lineup-workbench .lineup-tab-team strong { font-size:14px; white-space:normal; }
  .lineup-workbench .lineup-slot { grid-template-columns:minmax(0,1fr) 10px; min-height:100px; padding:10px 6px; gap:5px; }
  .lineup-workbench .lineup-slot-player strong { font-size:14px; }
  .lineup-workbench .lineup-slot-position { grid-column:1; border:0; }
  .lineup-workbench .lineup-slot-player { grid-column:1; }
  .lineup-workbench .lineup-slot-chevron { grid-column:2; grid-row:1 / span 2; }
}
.data-explanation { padding-top:0; }
.data-freshness { margin:0 0 18px; font-size:14px; color:var(--muted); line-height:1.5; }
.player-detail-actions button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; }
.player-detail-actions svg { width:18px; height:18px; flex:0 0 18px; }
.topbar .more-nav.active > summary::after { right:0; bottom:16px; height:2px; background:#293d34; }
.topbar .more-nav-menu .mode-button::after { display:none; }
.gm-recommendation-list { grid-template-columns:minmax(0,1fr); gap:14px; }
.gm-availability,.gm-status { font-size:14px; line-height:1.5; color:var(--muted); }
.gm-availability { margin:8px 0 0; }
.gm-goal-impact { margin:0; padding:0 14px 12px; font-size:15px; line-height:1.5; }
.gm-results,.gm-status,.scenario-live-summary { scroll-margin-top:140px; }
.gm-recommendation > header h3 { font-size:19px; line-height:1.35; overflow-wrap:anywhere; }
.gm-recommendation > header .gm-fit-label { font-size:13px; color:var(--muted); }
.gm-recommendation .gm-impact-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.gm-impact-grid > div { min-width:0; padding:10px 14px; }
.gm-impact-grid > div > span,.gm-player-moves > span { font-size:13px; }
.gm-impact-grid > div > strong { font-size:18px; overflow-wrap:anywhere; }
.gm-plan-details { border-top:1px solid var(--line); }
.gm-plan-details summary { padding:10px 14px; font-size:14px; }
.gm-reasons { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gm-reasons p,.gm-fingerprint-summary strong { font-size:14px; line-height:1.5; }
.gm-model-note { padding:0 14px; font-size:12px; color:var(--muted); }
.gm-recommendation footer { gap:14px; }
.gm-recommendation footer > span { font-size:13px; line-height:1.4; }
.gm-recommendation footer button { flex-shrink:0; }
.gm-untouchable-results button { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lineup-team-tab { grid-template-columns:auto minmax(0,1fr); }
.lineup-tab-team .team-chip { flex-shrink:0; }
.lineup-tab-team > strong { white-space:normal; min-width:0; overflow-wrap:anywhere; }
.lineup-tab-summary { grid-column:1/-1; padding-left:0; flex-wrap:wrap; white-space:normal; gap:6px 12px; }
@media(min-width:761px) { .topbar #seasonSelect { min-width:196px; } }
@media(max-width:1250px) { .scenario-live-summary { position:static; } }
@media(min-width:761px) and (max-width:1250px) {
  .scenario-command-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .league-board:not(.show-more-stats) .players-table-panel table { min-width:0; width:100%; table-layout:fixed; }
  .league-board:not(.show-more-stats) .players-table-panel :is(th,td) { width:15%; min-width:0; }
  .league-board:not(.show-more-stats) .players-table-panel :is(th,td):first-child { width:40%; min-width:0; max-width:none; }
  .league-board:not(.show-more-stats) .players-table-panel :is(th,td):not(:first-child):not(:nth-child(5)):not(:nth-child(6)):not(:nth-child(7)):not(:nth-child(8)) { display:none; }
  .league-ledger .player-name-button { min-width:0; }
  .league-ledger .player-name-button strong { white-space:normal; }
  .league-ledger .player-archetype { display:none; }
  .mobile-player-meta { display:block; }
}
@media(max-width:1250px) and (min-width:761px) {
  .topbar { gap:0 16px; padding:0 24px; }
  .reference-wordmark { width:210px; }
  .topbar .mode-nav { gap:16px; }
  .topbar .topbar-context { padding-bottom:8px; }
  .ice-player-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1050px) and (max-width:1250px) {
  .ice-player-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .player-detail-toolbar .player-detail-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .player-detail-actions .primary-button { grid-column:auto; }
  .player-detail-actions button { min-height:48px; padding:8px; }
  .topbar .more-nav.active > summary::after { bottom:4px; }
  .gm-recommendation .gm-impact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gm-recommendation > header h3 { font-size:17px; }
  .gm-recommendation > header .gm-fit-label { font-size:12px; }
  .gm-impact-grid > div { padding:8px 10px; }
  .gm-reasons { grid-template-columns:1fr; }
  .gm-recommendation footer { flex-wrap:wrap; }
  .gm-recommendation footer button { width:100%; }
  .reference-rail { display:none; }
  .topbar { margin:0; width:100%; padding:10px 14px 0; gap:0; }
  .topbar .brand-block { width:auto; }
  .reference-wordmark { width:150px; }
  .topbar .topbar-context { margin-left:auto; }
  .topbar .mode-nav { flex-basis:100%; min-height:46px; width:100%; gap:4px; justify-content:space-between; }
  .topbar .mode-button,.topbar .more-nav > summary { min-height:46px; padding:0 5px; font-size:14px; }
  .topbar .more-nav > summary { padding-right:18px; }
  .topbar .mode-button.active::after { display:block; bottom:4px; }
  .topbar .more-nav-menu { top:100%; }
  body .main-workspace { margin:0; width:100%; padding:0 14px 100px; }
  .ice-filter-row > .control-row { width:100%; }
  .ice-player-grid { gap:10px; }
  .ice-portrait { height:136px; }
  .ice-player-photo { left:14px; }
  .ice-card-identity { min-height:66px; padding:6px 10px 2px; }
  .ice-card-identity h2 { font-size:16px; }
  .ice-card-value { margin:0 10px; }
  .ice-card-value strong { font-size:29px; }
  .ice-card-ratings,.ice-card-stats { padding:6px 10px; }
  .ice-card-stats dd { font-size:19px; }
  .ice-card-team .small-logo { width:48px; height:48px; }
  .ice-compare-tray { left:10px; }
  .comparison-profiles .compare-identity h2 { display:block; font-size:21px; line-height:1.2; overflow-wrap:anywhere; }
  .comparison-page .compare-portrait { flex:0 0 112px; width:100%; height:112px; }
  .comparison-page .compare-photo { width:auto; height:auto; }
  .comparison-page .compare-portrait-team .small-logo { width:42px; height:42px; }
  .comparison-page .compare-identity-text { display:grid; grid-template-rows:1fr auto auto; padding:0 8px 10px; width:100%; }
  .comparison-page .compare-identity h2 { min-height:50.4px; font-size:21px; }
  .comparison-page .compare-identity .compare-team { gap:5px; margin:6px 0; font-size:12px; }
  .comparison-page .compare-team span { padding-left:5px; }
  .comparison-page .compare-season-select { width:100%; min-width:0; font-size:14px; padding-left:6px; padding-right:20px; }
  .comparison-profiles .compare-team { display:block; }
  .comparison-profiles .compare-profile:last-child { text-align:left; }
  .comparison-page .compare-profile .compare-identity,
  .comparison-page .compare-profile:last-child .compare-identity { min-height:0; gap:10px; align-items:stretch; }
  #simulationDetails .bar-row { grid-template-columns:80px minmax(0,1fr) 110px; gap:8px; }
}
@media(min-width:761px) and (max-width:980px) {
  .topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 16px; padding:12px 24px 0; }
  .topbar .brand-block { grid-column:1; grid-row:1; justify-self:start; }
  .topbar .topbar-context { grid-column:2; grid-row:1; padding-bottom:0; }
  .topbar .mode-nav { grid-column:1/-1; grid-row:2; min-height:48px; justify-content:space-between; gap:12px; }
  .topbar .mode-button,.topbar .more-nav > summary { min-height:48px; }
  .topbar .mode-button.active::after,.topbar .more-nav.active > summary::after { bottom:8px; }
}

.career-card-coverage { text-align:center; padding:4px 12px 12px; font-size:14px; color:#53606c; }
.career-discovery .ice-card-value { display:flex; flex-direction:column; align-items:center; gap:2px; padding-bottom:8px; }
.career-discovery .ice-card-value > span { white-space:nowrap; }
@media(max-width:600px) {
  .career-discovery .ice-card-stats dd { font-size:14px; }
  .career-card-coverage { font-size:12px; }
}
@media(max-width:350px) { .career-discovery .ice-player-grid { grid-template-columns:minmax(0,1fr); } }
.ice-discovery .ice-search-row { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
[data-season-slot] .season-control { display:flex; align-items:center; gap:10px; }
[data-season-slot] .season-control label { display:block; font-size:15px; font-weight:650; color:var(--ink); }
[data-season-slot] .season-control select { width:174px; max-width:100%; height:46px; font-size:16px; font-weight:600; padding:0 30px 0 12px; background-color:#fff; border:1px solid #bfc7cf; border-radius:6px; }
.matchup-selection-heading { flex-wrap:wrap; gap:12px; }
@media(max-width:600px) {
  .ice-discovery .ice-search-row { grid-template-columns:minmax(0,1fr); }
  .ice-search-row [data-season-slot] .season-control select { flex:1; width:auto; }
}
.career-table table { width:100%; min-width:650px; table-layout:auto; }
.career-table th,.career-table td { text-align:center; font-variant-numeric:tabular-nums; padding:14px 12px; }
.career-table th:first-child,.career-table td:first-child { text-align:left; }
.career-table td:first-child button { text-align:left; font-size:16px; }
.career-table th:last-child,.career-table td:last-child { font-weight:700; }
.player-card .player-bio-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:16px 0 24px; padding:0; background:#f5f7f9; border:0; border-top:3px solid color-mix(in srgb,var(--team-primary,#657887) 55%,#cbd5df); border-bottom:1px solid #dce3e9; }
.player-bio-strip .bio-chip { display:block; grid-column:auto; min-width:0; padding:16px 20px; border:0; border-right:1px solid #dce3e9; border-radius:0; background:transparent; }
.player-bio-strip .bio-chip:last-child { border-right:0; }
.player-bio-strip dt { display:flex; align-items:center; gap:8px; margin:0 0 8px; color:#63717d; }
.player-bio-strip dt svg { flex:0 0 16px; width:16px; height:16px; stroke-width:1.7; }
.player-bio-strip .bio-chip dt span { font-size:12px; font-weight:650; text-transform:uppercase; }
.player-bio-strip dd { margin:0; }
.player-bio-strip .bio-chip strong { display:block; text-align:left; font-size:17px; font-weight:650; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.player-bio-strip .bio-chip small { display:block; margin-top:4px; font-size:14px; line-height:1.4; color:#596773; overflow-wrap:anywhere; }
@media(max-width:1100px) {
  .player-card .player-bio-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .player-bio-strip .bio-chip { padding:14px 16px; }
  .player-bio-strip .bio-chip:nth-child(2n) { border-right:0; }
  .player-bio-strip .bio-chip:nth-child(n+3) { border-top:1px solid #dce3e9; }
}
#simulationDetails .simulation-detail { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:12px 28px; align-items:start; }
.simulation-detail h3 { margin:0 0 12px; font-size:19px; }
.likely-scores,.matchup-edge-comparison { min-width:0; }
.likely-scores-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 16px; margin-bottom:12px; }
.likely-scores-heading h3 { margin:0; }
.overtime-chance { display:inline-flex; align-items:baseline; gap:6px; font-size:14px; color:#59646e; white-space:nowrap; }
.overtime-chance strong { color:#20262d; font-variant-numeric:tabular-nums; }
.score-chart-header,.other-scores { display:flex; justify-content:space-between; gap:12px; font-size:14px; color:#59646e; }
.score-axis { display:flex; justify-content:space-between; margin:12px 56px 6px 52px; font-size:12px; color:#59646e; }
#simulationDetails .likely-scores .bar-row { grid-template-columns:42px minmax(0,1fr) 46px; gap:10px; min-height:30px; font-size:15px; }
.likely-scores .bar-list { gap:4px; }
.likely-scores .bar-track { height:12px; }
.likely-scores .bar-fill { background:#487789; }
.other-scores { border-top:1px solid #dce2e7; margin-top:10px; padding-top:10px; }
.matchup-edge-comparison table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
.matchup-edge-comparison :is(th,td) { padding:8px 6px; border-bottom:1px solid #e3e7eb; text-align:right; white-space:normal; overflow-wrap:anywhere; }
.matchup-edge-comparison th:first-child { width:40%; padding-left:0; text-align:left; font-weight:500; }
.matchup-edge-comparison thead th { font-weight:700; color:#59646e; }
.matchup-edge-comparison .edge-a { color:#2563eb; font-weight:700; }
.matchup-edge-comparison .edge-b { color:#c53043; font-weight:700; }
.matchup-edge-comparison .edge-advantage { color:#2563eb; font-weight:700; }
.matchup-edge-comparison .edge-disadvantage { color:#c53043; font-weight:700; }
@media(max-width:700px) { #simulationDetails .simulation-detail { grid-template-columns:minmax(0,1fr); gap:24px; } }
.matchup-team-control { min-width:0; display:grid; gap:8px; }
.matchup-controls { row-gap:4px; }
.matchup-team-control { display:contents; }
.matchup-team-control > .control-row { grid-row:1; min-width:0; }
.matchup-team-control > .back-to-back-toggle { grid-row:2; }
[data-matchup-team="A"] > * { grid-column:1; }
[data-matchup-team="B"] > * { grid-column:2; }
.matchup-controls > .home-ice-control { grid-row:1; grid-column:3; }
.matchup-controls > .builder-actions { grid-row:1; grid-column:4; }
.matchup-controls .team-select-button,
.matchup-controls .segmented-control,
.matchup-controls #resetLineups { height:52px; min-height:52px; }
.matchup-controls .segmented-control button { min-height:0; }
@media(max-width:1120px) {
  .matchup-controls > .home-ice-control { grid-row:3; grid-column:1; }
  .matchup-controls > .builder-actions { grid-row:3; grid-column:2; }
}
@media(max-width:560px) {
  [data-matchup-team="B"] > .control-row { grid-row:3; grid-column:1; }
  [data-matchup-team="B"] > .back-to-back-toggle { grid-row:4; grid-column:1; }
  .matchup-controls > .home-ice-control { grid-row:5; grid-column:1; }
  .matchup-controls > .builder-actions { grid-row:6; grid-column:1; margin-top:8px; }
  .matchup-controls #resetLineups { width:100%; }
}
.back-to-back-toggle { display:flex; align-items:center; gap:10px; min-height:44px; font-size:15px; cursor:pointer; }
.back-to-back-toggle input { appearance:none; flex:0 0 40px; width:40px; height:24px; min-height:0; padding:0; margin:0; border:1px solid #89959f; border-radius:12px; background:#e2e7eb; position:relative; cursor:pointer; }
.back-to-back-toggle input::after { content:''; position:absolute; width:16px; height:16px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0003; }
.back-to-back-toggle input:checked { background:#2563eb; border-color:#2563eb; }
.back-to-back-toggle input:checked::after { left:19px; }
.back-to-back-toggle input:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }

/* Center portraits independently of corner logos; explicit bounds prevent intrinsic sizing. */
.ice-portrait { height:auto; aspect-ratio:4 / 3; min-height:116px; max-height:176px; }
.ice-card-team { left:5%; top:12px; width:24%; max-width:60px; }
.ice-card-team .team-chip { display:block; width:100%; }
.ice-card-team .small-logo { display:block; width:100%; height:auto; aspect-ratio:1; }
.ice-player-photo { inset:10px 15% 0; width:auto; height:auto; min-width:0; min-height:0; pointer-events:none; }
.ice-player-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center bottom; }
.comparison-page .compare-portrait-team { left:8px; top:8px; width:36px; }
.comparison-page .compare-portrait-team .small-logo { display:block; width:100%; height:auto; aspect-ratio:1; }
.comparison-page .compare-photo { inset:4px 4% 0; width:auto; height:auto; min-width:0; min-height:0; pointer-events:none; }
.comparison-page .compare-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center bottom; }
@media(max-width:760px) { .comparison-page .compare-portrait { flex-basis:144px; height:144px; } }
