    /* ---- World Cup 2027 campaign ---- */
    /* A single full-width panel now holds all 14 nations (the two-column split
       lives inside it on .wc-team-list), so this no longer needs two columns. */
    .wc-team-groups { display: block; }
    .wc-group-panel { padding: 18px; }
    .wc-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
    .wc-group-head h2 { margin: 0; font-size: 18px; letter-spacing: 0.04em; }
    .wc-group-head .muted { font-size: 11px; }
    /* Two columns above the stacked breakpoint so all 14 nations fit on one
       page without much scrolling; single column on narrow screens. */
    .wc-team-list { display: grid; gap: 6px; }
    @media (min-width: 760px) { .wc-team-list { grid-template-columns: 1fr 1fr; column-gap: 10px; } }
    /* Pin the choose screen to the viewport and let the panel fill the height,
       with the rows sharing the space evenly so there's no big empty gap below.
       Kept as block + height:100% (not flex-row) so the panel still spans the
       full page width. */
    @media (min-width: 901px) {
      #wcChooseScreen.screen.active { display: flex; flex-direction: column; height: 100vh; overflow: hidden; }
      #wcChooseScreen header { position: static; flex: none; }
      #wcChooseScreen main { flex: 1 1 auto; min-height: 0; width: 100%; max-width: none; padding-bottom: 16px; }
      #wcChooseScreen .wc-team-groups { height: 100%; }
      #wcChooseScreen .wc-group-panel { height: 100%; display: flex; flex-direction: column; min-height: 0; }
      #wcChooseScreen .wc-team-list { flex: 1 1 auto; min-height: 0; grid-auto-rows: 1fr; overflow-y: auto; }
    }
    button.wc-team-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto 14px; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 7px 12px; background: linear-gradient(165deg, rgba(13, 26, 20, 0.97), rgba(6, 14, 10, 0.98)); border: 1px solid rgba(143, 240, 189, 0.13); border-radius: 10px; cursor: pointer; color: var(--text); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); transition: border-color 0.12s, background 0.12s, transform 0.12s, box-shadow 0.12s; }
    button.wc-team-row:hover, button.wc-team-row:focus-visible { border-color: rgba(var(--accent-rgb), 0.65); background: linear-gradient(165deg, rgba(16, 34, 25, 0.98), rgba(8, 18, 13, 0.98)); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), 0 0 0 3px rgba(var(--accent-rgb), 0.08); outline: none; }
    button.wc-team-row:hover .wc-row-go { color: var(--accent); transform: translateX(3px); }
    .wc-flag-chip { width: 42px; height: 28px; border-radius: 5px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.28); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.55); flex: none; }
    .wc-flag-chip svg { width: 100%; height: 100%; display: block; }
    .wc-team-id { min-width: 0; }
    .wc-team-id b { font-size: 15px; font-weight: 800; color: #ffffff; letter-spacing: 0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
    .wc-rating-pill { display: inline-flex; align-items: baseline; gap: 5px; padding: 4px 10px; border-radius: 8px; border: 1px solid; background: rgba(0, 0, 0, 0.35); }
    .wc-rating-pill b { font-size: 17px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
    .wc-rating-pill small { font-size: 8.5px; font-weight: 700; letter-spacing: 0.18em; opacity: 0.7; }
    .wc-row-go { color: rgba(220, 235, 227, 0.30); font-size: 19px; font-weight: 700; transition: color 0.12s, transform 0.12s; }
    .wc-host-badge { display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 8px; font-size: 8.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; vertical-align: 2px; background: rgba(255, 210, 77, 0.14); color: #ffd24d; border: 1px solid rgba(255, 210, 77, 0.45); }
    /* The World Cup squad-of-15 is now picked on the shared two-panel
       selection screen (#selectionScreen, see selection.js + 04-match-center).
       It reuses the XI picker's styling, so no bespoke squad-pool rules here. */
    #selectionConfirm:disabled { opacity: 0.45; cursor: not-allowed; }
    .wc-hub-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
    .wc-next-panel { grid-column: 1; }
    .wc-standings-panel { grid-column: 2; grid-row: 1 / span 2; }
    .wc-results-panel { grid-column: 1; }
    .wc-leaders-panel { grid-column: 1 / -1; }
    .wc-schedule-panel { grid-column: 1 / -1; }
    .wc-leaders-scope { display: inline-flex; gap: 4px; margin: 0 0 12px; padding: 3px; border-radius: 10px; background: rgba(var(--surface-rgb), 0.65); border: 1px solid rgba(255,255,255,0.08); }
    .wc-scope-btn { appearance: none; cursor: pointer; border: 0; background: transparent; color: rgba(220, 235, 227, 0.65); font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; padding: 5px 14px; border-radius: 8px; transition: background 0.12s, color 0.12s; }
    .wc-scope-btn:hover { color: #eef6f1; }
    .wc-scope-btn.on { background: rgba(var(--accent-rgb), 0.18); color: #eafff4; }
    .wc-team-report { border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; overflow: hidden; background: rgba(var(--surface-rgb), 0.65); }
    .wc-tr-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
    .wc-tr-table th { font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(220, 235, 227, 0.5); text-align: right; padding: 9px 10px; font-weight: 700; }
    .wc-tr-table td { font-size: 13px; color: #eef6f1; text-align: right; padding: 8px 10px; border-top: 1px dashed rgba(255,255,255,0.07); }
    .wc-tr-table th.wc-tr-name, .wc-tr-table td.wc-tr-name { text-align: left; }
    .wc-tr-table td.wc-tr-name { font-weight: 600; white-space: nowrap; }
    .wc-tr-table td.wc-tr-num b { color: #f6fffa; }
    .wc-tr-table tbody tr:hover { background: rgba(255,255,255,0.03); }
    .wc-leaders-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
    .wc-leader-board { border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 12px 14px; background: rgba(var(--surface-rgb), 0.65); }
    .wc-leader-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
    .wc-leader-head h3 { margin: 0; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; }
    .wc-cap { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; padding: 2px 8px; border-radius: 9px; border: 1px solid; }
    .wc-cap-orange { color: #ffb454; border-color: rgba(255, 180, 84, 0.5); background: rgba(255, 180, 84, 0.12); }
    .wc-cap-purple { color: #c9a6ff; border-color: rgba(201, 166, 255, 0.45); background: rgba(201, 166, 255, 0.10); }
    .wc-leader-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 6px; border-top: 1px dashed rgba(255,255,255,0.07); }
    .wc-leader-row:first-of-type { border-top: none; }
    .wc-leader-top { background: rgba(255, 210, 77, 0.06); border-radius: 8px; }
    .wc-leader-bowl .wc-leader-top { background: rgba(201, 166, 255, 0.07); }
    .wc-leader-rank { color: rgba(220, 235, 227, 0.45); font-size: 12px; font-weight: 700; text-align: center; }
    .wc-leader-id { display: grid; gap: 1px; min-width: 0; }
    .wc-leader-id b { font-size: 13.5px; color: #eef6f1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .wc-leader-id small { font-size: 10.5px; color: rgba(220, 235, 227, 0.55); }
    .wc-leader-stat { display: grid; justify-items: end; }
    .wc-leader-stat b { font-size: 17px; color: #f6fffa; font-variant-numeric: tabular-nums; }
    .wc-leader-stat small { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(220, 235, 227, 0.5); }
    .wc-leader-bat .wc-leader-top .wc-leader-stat b { color: #ffb454; }
    .wc-leader-bowl .wc-leader-top .wc-leader-stat b { color: #c9a6ff; }
    .wc-leaders-note { margin: 10px 2px 0; font-size: 11px; }
    .wc-sched-hint { font-size: 11px; font-weight: 400; text-transform: none; letter-spacing: 0; margin-left: 8px; }
    .wc-sched-clickable { cursor: pointer; transition: background 0.12s; border-radius: 8px; }
    .wc-sched-clickable:hover, .wc-sched-clickable:focus-visible { background: rgba(var(--accent-rgb), 0.08); outline: none; }
    .wc-sched-view { font-style: normal; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-left: 8px; opacity: 0; transition: opacity 0.12s; }
    .wc-sched-clickable:hover .wc-sched-view, .wc-sched-clickable:focus-visible .wc-sched-view { opacity: 1; }
    .wc-scorecard-dialog { width: min(820px, 96vw); max-height: 88vh; overflow-y: auto; }
    .wc-scorecard-body { display: grid; gap: 14px; }
    .wc-card-meta { margin: 0; text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; }
    .wc-card-result { margin: 0; font-weight: 700; color: #eafff4; }
    .wc-card-innings { border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 12px 14px; background: rgba(var(--surface-rgb), 0.55); }
    .wc-card-innings-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
    .wc-card-innings-head b { font-size: 16px; }
    .wc-card-score { font-size: 20px; font-weight: 800; color: #f6fffa; }
    .wc-card-score small { font-size: 12px; color: rgba(220, 235, 227, 0.55); font-weight: 600; }
    .wc-card-subhead { margin: 12px 0 6px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(220, 235, 227, 0.7); }
    /* Tabbed result scorecard: the active innings' header names which innings it
       is (1st/2nd/3rd/4th) next to the batting side, so a Test's repeated sides
       never blur together. */
    .sc-inn-id { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
    .sc-inn-tag { font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); }
    .sc-inn-tabs { position: sticky; top: 0; z-index: 1; padding: 4px 0; background: #08130d; }
    .wc-banner { padding: 14px 18px; border-radius: 12px; margin-bottom: 14px; font-weight: 600; background: rgba(63, 156, 255, 0.12); border: 1px solid rgba(63, 156, 255, 0.35); }
    .wc-banner-champion { background: rgba(255, 210, 77, 0.14); border-color: rgba(255, 210, 77, 0.5); color: #ffd24d; font-size: 18px; }
    .wc-banner-out { background: rgba(228, 84, 74, 0.12); border-color: rgba(228, 84, 74, 0.4); }
    .wc-matchday { border-color: rgba(var(--accent-rgb), 0.55); box-shadow: 0 0 18px rgba(var(--accent-rgb), 0.12); }
    .wc-qualify-row td:first-child { border-left: 3px solid rgba(var(--accent-rgb), 0.6); }
    .wc-carry-note { margin: 0 0 8px; font-size: 12px; }
    .wc-bracket { display: grid; gap: 12px; }
    .wc-bracket-match { border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 10px 12px; display: grid; gap: 6px; background: rgba(255,255,255,0.03); }
    .wc-bracket-label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
    .wc-bracket-team { display: flex; justify-content: space-between; padding: 4px 8px; border-radius: 6px; }
    .wc-bracket-winner { background: rgba(var(--accent-rgb), 0.12); font-weight: 700; }
    .wc-bracket-self span { color: #ffd24d; }
    .wc-schedule { max-height: 420px; overflow-y: auto; display: grid; gap: 10px; padding-right: 6px; }
    .wc-sched-day { border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 8px 12px; }
    .wc-sched-today { border-color: rgba(var(--accent-rgb), 0.5); background: rgba(var(--accent-rgb), 0.05); }
    .wc-sched-date { font-weight: 700; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
    .wc-today-chip { font-size: 10px; letter-spacing: 0.1em; padding: 1px 7px; border-radius: 9px; background: rgba(var(--accent-rgb), 0.2); color: var(--accent); border: 1px solid rgba(var(--accent-rgb), 0.45); }
    .wc-sched-row { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; padding: 4px 0; border-top: 1px dashed rgba(255,255,255,0.06); }
    .wc-sched-row small { grid-column: 2 / -1; }
    .wc-sched-tag { font-size: 11px; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.06em; }
    .wc-sched-mine .wc-sched-teams { color: #ffd24d; font-weight: 700; }
    .wc-sched-played .wc-sched-teams { opacity: 0.85; }
    .wc-sched-score { font-weight: 700; }
    @media (max-width: 980px) {
      .wc-team-groups { grid-template-columns: 1fr; }
      .wc-hub-layout { grid-template-columns: 1fr; }
      .wc-standings-panel { grid-column: 1; grid-row: auto; }
      .wc-next-panel, .wc-results-panel, .wc-schedule-panel { grid-column: 1; }
    }

