  :root {
    --bg: #f4f5f7;
    --card-bg: #ffffff;
    --text: #16181d;
    --muted: #5f6672;
    --border: #e5e7eb;
    --accent: #223e8b;
    --accent-soft: #eef1fb;
    --on-accent: #fff;
    --live: #d92d20;
    --live-soft: #fdeceb;
    --live-score: #92400e;
    --live-score-soft: #fef9c3;
    --postponed: #b25e09;
    --postponed-soft: #fdf1e3;
    --shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
    --st-live-bg: #fff8e6;
    --st-up: #0f8a4a;
    --save: #0f766e;
    --st-down: #c0392b;
    --hover-bg: #f8f9fb;
  }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) {
      --bg: #0f1115;
      --card-bg: #181b22;
      --text: #e7e9ee;
      --muted: #9aa2b1;
      --border: #262b35;
      --accent: #7f9bff;
      --accent-soft: #1c2440;
      --on-accent: #0f1115;
      --live: #ff6b63;
      --live-soft: #3a1f1f;
      --live-score: #f5d947;
      --live-score-soft: #3f3213;
      --postponed: #f0a94e;
      --postponed-soft: #3a2c14;
      --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.4);
      --st-live-bg: #2a2413;
      --st-up: #4fd17a;
      --save: #2dd4bf;
      --st-down: #ff6d63;
      --hover-bg: #1d2029;
    }
  }
  :root.theme-dark {
    --bg: #0f1115;
    --card-bg: #181b22;
    --text: #e7e9ee;
    --muted: #9aa2b1;
    --border: #262b35;
    --accent: #7f9bff;
    --accent-soft: #1c2440;
    --on-accent: #0f1115;
    --live: #ff6b63;
    --live-soft: #3a1f1f;
    --live-score: #f5d947;
    --live-score-soft: #3f3213;
    --postponed: #f0a94e;
    --postponed-soft: #3a2c14;
    --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.4);
    --save: #2dd4bf;
    --st-live-bg: #2a2413;
    --st-up: #4fd17a;
    --st-down: #ff6d63;
    --hover-bg: #1d2029;
  }
  * { box-sizing: border-box; }
  html:not(.in-embed) { scrollbar-gutter: stable; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
  }
  .wrap { max-width: 720px; margin: 0 auto; padding: 20px 16px 48px; }
  header.top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 8px 0 20px;
  }
  .brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .brand img { height: 36px; width: auto; display: block; flex-shrink: 0; }
  .brand h1 {
    font-size: 1.5rem; font-weight: 800; margin: 0; line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--accent);
  }
  .brand p { margin: 4px 0 0; font-size: 0.86rem; font-weight: 600; color: var(--muted); }
  .brand-date { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
  .date-rel {
    padding: 2px 8px; border-radius: 999px;
    background: var(--accent-soft); color: var(--accent);
    font-size: 0.66rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
    line-height: 1.5;
  }
  .date-rel[hidden] { display: none; }
  .date-rel.pop { animation: rel-pop 0.38s cubic-bezier(0.34, 1.56, 0.64, 1); }
  @keyframes rel-pop { from { transform: scale(0.6); opacity: 0; } }
  @media (prefers-reduced-motion: reduce) {
    .date-rel.pop { animation: none; }
  }
  nav.day-nav { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
  nav.day-nav a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 600;
    box-shadow: var(--shadow);
    transition: background 0.15s ease;
  }
  nav.day-nav a:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  nav.day-nav a .chev { font-weight: 400; color: var(--muted); }
  nav.day-nav a:hover .chev { color: var(--accent); }
  .stats-btn {
    display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
    height: 32px; padding: 0 12px 0 13px; border-radius: 999px;
    font: inherit; font-size: 0.78rem; font-weight: 600; color: var(--text);
    background: var(--card-bg); border: 1px solid var(--border); box-shadow: var(--shadow);
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .stats-btn svg { display: block; flex-shrink: 0; color: var(--accent); transition: color 0.15s ease; }
  .stats-btn:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  .stats-btn[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18); }
  .stats-btn[aria-pressed="true"] svg { color: var(--on-accent); }
  .stats-btn:active { transform: scale(0.97); }
  .stats-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .stats-btn[hidden] { display: none; }
  .lgx-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 2px; }
  .lgx-title { margin: 0; font-size: 0.95rem; font-weight: 800; }
  .lgx-seg { margin: 0; background: var(--card-bg); border: 1px solid var(--border); }
  .lgx-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 6px; }
  .lgx-item {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 8px 12px;
    font: inherit; text-align: left; color: var(--text); cursor: pointer;
    background: var(--card-bg); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow);
    transition: border-color 0.15s ease, background 0.15s ease;
  }
  .lgx-item:hover { border-color: var(--accent); background: var(--hover-bg); }
  .lgx-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .lgx-item img, .lgx-flag-none { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--bg); }
  .lgx-text { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; }
  .lgx-name { font-size: 0.86rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lgx-sub { font-size: 0.7rem; color: var(--muted); }
  .lgx-sub b { color: var(--live); font-weight: 700; }
  .lgx-chev { color: var(--muted); flex-shrink: 0; }
  .lgx-empty { color: var(--muted); font-size: 0.85rem; margin: 6px 0; }
  html.hk-stats-on #hk-week, html.hk-stats-on .toolbar, html.hk-stats-on #hk-live-bar,
  html.hk-stats-on #hk-main-slot { display: none !important; }
  .stats-view {
    margin-top: 14px; padding: 22px 20px 16px; border-radius: 20px;
    background: var(--card-bg); border: 1px solid var(--border); box-shadow: var(--shadow);
    animation: stats-in 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .stats-view[hidden] { display: none; }
  @keyframes stats-in { from { opacity: 0; transform: translateY(8px); } }
  @media (prefers-reduced-motion: reduce) { .stats-view { animation: none; } }
  @media (max-width: 500px) { .stats-view { padding: 16px 12px 12px; border-radius: 16px; } }
  .cal-wrap { position: relative; }
  .cal-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; padding: 0;
    border-radius: 999px; background: var(--card-bg); border: 1px solid var(--border);
    color: var(--text); font-size: 1.05rem; cursor: pointer; box-shadow: var(--shadow);
    transition: background 0.15s ease;
  }
  .cal-btn:hover, .cal-btn.open { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  .cal-popup {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 20;
    width: 260px; background: var(--card-bg); border: 1px solid var(--border);
    border-radius: 14px; box-shadow: var(--shadow); padding: 12px;
  }
  .cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
  .cal-title { font-size: 0.85rem; font-weight: 700; text-transform: capitalize; }
  .cal-nav-btn {
    width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--border);
    background: var(--bg); color: var(--text); cursor: pointer; font-size: 0.9rem;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .cal-nav-btn:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  .cal-weekdays, .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
  .cal-weekdays span { text-align: center; font-size: 0.68rem; color: var(--muted); font-weight: 700; padding-bottom: 4px; }
  .cal-day {
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1; border-radius: 8px; border: none; background: none;
    color: var(--text); font-size: 0.78rem; cursor: pointer;
  }
  .cal-day:hover { background: var(--accent-soft); color: var(--accent); }
  .cal-day.cal-muted { color: var(--muted); }
  .cal-day.cal-today { font-weight: 700; box-shadow: inset 0 0 0 1px var(--accent); }
  .cal-day.cal-selected { background: var(--accent); color: var(--on-accent); font-weight: 700; }
  .cal-day.cal-selected:hover { background: var(--accent); color: var(--on-accent); }
  .cal-day { position: relative; }
  .cal-grid.has-counts .cal-day:not(.has-games):not(.cal-selected) { color: var(--muted); opacity: 0.55; }
  .cal-day.has-games::after,
  .wk-day.has-games::after {
    content: ""; position: absolute; bottom: 3px; left: 50%;
    width: 4px; height: 4px; margin-left: -2px; border-radius: 999px;
    background: var(--muted); opacity: 0.7;
  }
  .cal-day.has-isl::after,
  .wk-day.has-isl::after { background: var(--accent); opacity: 1; }
  .cal-day.has-live::after,
  .wk-day.has-live::after { background: var(--live); opacity: 1; animation: live-pulse 1.6s ease-in-out infinite; }
  .cal-day.cal-selected::after { background: #fff; opacity: 0.9; }
  .wk-day.wk-selected::after { background: #fff; opacity: 0.9; }
  .cal-legend {
    display: flex; justify-content: center; gap: 12px; margin-top: 8px; padding-top: 8px;
    border-top: 1px solid var(--border); font-size: 0.64rem; color: var(--muted);
  }
  .cal-legend span { display: inline-flex; align-items: center; gap: 5px; }
  .cal-legend i { width: 5px; height: 5px; border-radius: 999px; background: var(--muted); opacity: 0.7; }
  .cal-legend i.isl { background: var(--accent); opacity: 1; }
  @media (prefers-reduced-motion: reduce) {
    .cal-day.has-live::after, .wk-day.has-live::after { animation: none; }
  }
  .vis-hidden {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
  }
  .cal-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .search-btn.open { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  .search-drawer {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
  }
  .search-drawer.open { grid-template-rows: 1fr; }
  .search-drawer[hidden], .search-btn[hidden] { display: none; }
  .search-inner { overflow: hidden; min-height: 0; }
  .search-drawer.settled .search-inner { overflow: visible; }
  .search-body {
    padding-bottom: 18px; margin-bottom: 16px; border-bottom: 2px solid var(--border);
    opacity: 0; transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .search-drawer.open .search-body { opacity: 1; transform: none; }
  .search-body > * { margin-bottom: 10px; }
  .search-box {
    display: flex; align-items: center; gap: 8px; margin-top: 2px;
    padding: 0 12px; background: var(--card-bg);
    border: 1px solid var(--border); border-radius: 999px; box-shadow: var(--shadow);
  }
  .search-box:focus-within { border-color: var(--accent); }
  .search-icon { flex: 0 0 auto; color: var(--muted); }
  .search-box input {
    flex: 1 1 auto; min-width: 0; border: 0; background: none; outline: none;
    color: var(--text); font: inherit; font-size: 0.95rem;
    padding: 12px 0; line-height: 1.2;
  }
  .search-box input::placeholder { color: var(--muted); }
  .search-clear {
    flex: 0 0 auto; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 999px;
    background: none; color: var(--muted); font-size: 1.3rem; line-height: 1; cursor: pointer;
  }
  .search-clear:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .search-hint { margin: 0; padding: 0 14px; font-size: 0.74rem; color: var(--muted); }
  .search-list { list-style: none; margin: 0; padding: 0; }
  .search-group {
    padding: 10px 14px 4px; font-size: 0.68rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted);
  }
  .search-opt {
    display: flex; align-items: center; gap: 10px; min-height: 48px;
    padding: 6px 14px; border-radius: 10px; cursor: pointer;
  }
  .search-opt .crest { width: 26px; height: 26px; }
  .search-opt-text { min-width: 0; flex: 1 1 auto; }
  .search-opt-name {
    display: block; font-size: 0.86rem; font-weight: 600; color: var(--text);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .search-opt-name b { font-weight: 800; color: var(--accent); }
  .search-opt-sub {
    display: block; font-size: 0.72rem; color: var(--muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .search-opt-when { flex: 0 0 auto; font-size: 0.72rem; color: var(--muted); }
  .search-opt[aria-selected="true"] { background: var(--accent-soft); }
  .search-mark {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 8px;
    background: var(--accent-soft); color: var(--accent);
    font-size: 0.66rem; font-weight: 700;
  }
  .search-empty { padding: 4px 14px 8px; font-size: 0.8rem; color: var(--muted); }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .live-chip.is-pinned { background: rgba(217, 45, 32, 0.16); }
  }
  :root.theme-dark .live-chip.is-pinned { background: rgba(217, 45, 32, 0.16); }
  .pl { padding: 2px 2px 4px; }
  .pl-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
  .pl-crest .crest { width: 30px; height: 30px; }
  .pl-title { min-width: 0; flex: 1 1 auto; }
  .pl-name { display: block; font-size: 0.95rem; font-weight: 700; }
  .pl-role {
    margin-left: 6px; padding: 1px 6px; border-radius: 999px;
    background: var(--accent-soft); color: var(--accent);
    font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  }
  .pl-club { display: block; font-size: 0.76rem; color: var(--muted); }
  .pl-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 12px; }
  .pl-stat {
    display: flex; flex-direction: column; align-items: center; gap: 1px;
    padding: 8px 4px; border: 1px solid var(--border); border-radius: 10px; background: var(--card-bg);
  }
  .pl-stat-n { font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; }
  .pl-stat-l { font-size: 0.62rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
  .pl-stat-note {
    font-size: 0.56rem; line-height: 1.25; color: var(--muted); opacity: 0.8; text-align: center;
  }
  .pl-stat-season { position: relative; padding: 0; }
  .pl-season-btn {
    display: flex; flex-direction: column; align-items: center; gap: 1px;
    width: 100%; padding: 8px 4px;
    border: 0; border-radius: 10px; background: none;
    color: inherit; font: inherit; cursor: pointer;
    transition: background 0.15s ease;
  }
  .pl-season-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .pl-season-chev { margin-left: 4px; font-size: 0.7rem; color: var(--muted); }
  .pl-season-btn[aria-expanded="true"] { background: var(--accent-soft); }
  .pl-season-btn[aria-expanded="true"] .pl-stat-n,
  .pl-season-btn[aria-expanded="true"] .pl-season-chev { color: var(--accent); }
  @media (hover: hover) and (pointer: fine) {
    .pl-season-btn:hover { background: var(--hover-bg); }
  }
  .pl-season-menu {
    position: absolute; top: calc(100% + 6px); left: -1px; right: -1px;
    z-index: 21; padding: 4px;
    background: var(--card-bg); border: 1px solid var(--border);
    border-radius: 12px; box-shadow: var(--shadow);
  }
  .pl-season-opt {
    display: block; width: 100%; padding: 7px 10px;
    border: 0; border-radius: 8px; background: none; color: var(--text);
    font: inherit; font-size: 0.78rem; font-weight: 600; text-align: center;
    cursor: pointer; white-space: nowrap; font-variant-numeric: tabular-nums;
  }
  .pl-season-menu:has(.pl-season-club) { left: auto; width: max-content; min-width: calc(100% + 2px); }
  .pl-season-menu:has(.pl-season-club) .pl-season-opt { text-align: left; }
  .pl-season-club { font-weight: 500; color: var(--muted); }
  .pl-season-opt[aria-selected="true"] .pl-season-club { color: inherit; opacity: 0.85; }
  .pl-season-opt[aria-selected="true"] { background: var(--accent); color: var(--on-accent); }
  .pl-season-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  @media (hover: hover) and (pointer: fine) {
    .pl-season-opt:not([aria-selected="true"]):hover { background: var(--hover-bg); }
  }
  .pl-h {
    margin: 0 0 4px; font-size: 0.68rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.04em;
  }
  .pl-game {
    display: flex; align-items: center; gap: 6px; font-size: 0.8rem;
    padding: 4px; margin: 0 -4px; border-radius: 6px;
    color: inherit; text-decoration: none;
  }
  .pl-game:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .pl-game .crest { width: 16px; height: 16px; }
  .pl-date { flex: 0 0 3.3em; color: var(--muted); font-variant-numeric: tabular-nums; }
  .pl-ha { flex: 0 0 auto; width: 14px; text-align: center; color: var(--muted); font-size: 0.7rem; }
  .pl-own { flex: 0 0 auto; display: inline-flex; }
  .pl-opp { flex: 1 1 auto; min-width: 0; display: flex; align-items: baseline; gap: 8px; }
  .pl-opp-name, .pl-comp { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pl-opp-name { flex: 0 0 auto; max-width: 100%; }
  .pl-comp { flex: 0 1 auto; min-width: 0; font-size: 0.7rem; color: var(--muted); }
  .pl-score { flex: 0 0 auto; font-variant-numeric: tabular-nums; color: var(--muted); }
  .pl-w { color: var(--st-up); font-weight: 600; }
  .pl-l { color: var(--st-down); }
  .pl-goals {
    flex: 0 0 auto; min-width: 32px; box-sizing: border-box; padding: 1px 6px; border-radius: 999px;
    background: var(--accent); color: var(--on-accent);
    font-size: 0.74rem; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums;
  }
  .pl-saves {
    flex: 0 0 auto; min-width: 32px; box-sizing: border-box; padding: 0 6px; border-radius: 999px;
    border: 1px solid var(--accent); color: var(--accent);
    font-size: 0.74rem; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums;
  }
  .pl-empty { margin: 2px 0 0; font-size: 0.8rem; color: var(--muted); }
  .pl-game[hidden], .pl-more-bar[hidden], .pl-pager[hidden] { display: none; }
  .pl-more-bar { display: flex; margin-top: 6px; }
  .pl-more {
    flex: 1 1 auto; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border);
    background: none; color: var(--accent); font: inherit; font-size: 0.78rem; font-weight: 600;
    cursor: pointer;
  }
  .pl-more:focus-visible, .pl-page:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .pl-pager { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
  .pl-page {
    min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px; border: 1px solid transparent;
    background: none; color: inherit; font: inherit; font-size: 0.78rem; font-variant-numeric: tabular-nums;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
  }
  .pl-page[aria-current="page"] { background: var(--accent); color: var(--on-accent); font-weight: 700; cursor: default; }
  span.pl-page-step { color: var(--muted); opacity: 0.4; cursor: default; }
  .pl-page-step { font-size: 1rem; }
  .pl-page-gap { color: var(--muted); padding: 0 2px; }
  .pl-less { margin-left: auto; border-color: var(--border); color: var(--muted); }
  @media (hover: hover) and (pointer: fine) {
    .pl-more:hover, button.pl-page:not([aria-current="page"]):hover { background: var(--hover-bg); }
  }
  .pl-empty-why { display: block; font-size: 0.72rem; opacity: 0.8; }
  .pl-career { margin: 8px 0 0; font-size: 0.72rem; color: var(--muted); }
  .pl-source {
    margin: 8px 0 0; padding-top: 7px; border-top: 1px solid var(--border);
    font-size: 0.64rem; line-height: 1.4; color: var(--muted); opacity: 0.85;
  }
  .plg-wrap {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s cubic-bezier(0.22, 0.8, 0.24, 1);
  }
  .plg-wrap.open { grid-template-rows: 1fr; }
  .plg-inner { overflow: hidden; min-height: 0; }
  .pl-game[aria-expanded="true"],
  .tm-game[aria-expanded="true"] { background: var(--accent-soft); }
  .plg {
    margin: 4px 0 6px; padding: 9px 0 0;
    border: 1px solid var(--border); border-radius: 10px;
    background: var(--bg);
  }
  .plg-meta {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px;
    margin: 0 0 8px; padding: 0 10px;
    font-size: 0.64rem; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.04em;
  }
  .plg-tv { color: var(--accent); }
  .plg-head {
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    gap: 8px; padding: 0 10px 10px;
  }
  .plg-side { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
  .plg-side .crest { width: 30px; height: 30px; }
  .plg-team {
    font-size: 0.78rem; font-weight: 600; text-align: center; line-height: 1.25;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
  .plg-side.lost .plg-team { color: var(--muted); font-weight: 500; }
  .plg-side.won .plg-team { font-weight: 700; }
  .plg-mid { display: flex; flex-direction: column; align-items: center; gap: 2px; }
  .plg-score { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .plg-score.status-ns { font-size: 0.95rem; color: var(--muted); }
  .plg-score.status-og { color: var(--live-score); }
  .plg-score.status-pst { font-size: 0.95rem; color: var(--postponed); }
  .plg-score.status-canc { font-size: 0.95rem; color: var(--live); }
  .plg-note { font-size: 0.6rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
  .plg-live { color: var(--live); font-weight: 700; }
  .plg-box .scorers-body { padding: 0 10px 10px; }
  .plg-empty { margin: 0; padding: 0 10px 10px; text-align: center; font-size: 0.76rem; color: var(--muted); }
  .plg-open {
    display: flex; align-items: center; justify-content: center; gap: 4px;
    padding: 7px 10px; border-top: 1px solid var(--border);
    font-size: 0.72rem; font-weight: 600; color: var(--muted); text-decoration: none;
  }
  .plg-open .chev { font-size: 0.85rem; }
  .tm .plg { margin-top: 10px; }
  .plg-open:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .plg-loading { padding: 18px 10px; text-align: center; font-size: 0.76rem; color: var(--muted); }
  @media (hover: hover) and (pointer: fine) {
    .pl-game:hover { background: var(--hover-bg); }
    .plg-open:hover { color: var(--accent); }
  }
  @media (prefers-reduced-motion: reduce) {
    .plg-wrap { transition: none; }
  }
  @media (max-width: 420px) {
    .pl-stats { grid-template-columns: repeat(2, 1fr); }
  }
  .search-panel { margin-top: 2px; }
  .search-caption {
    margin: 0 0 6px; padding: 0 2px; font-size: 0.8rem; font-weight: 600; color: var(--muted);
  }
  .search-panel.loading { opacity: 0.5; }
  .search-jumps { display: flex; gap: 8px; padding: 6px 2px 2px; }
  .search-jumps .empty-jump { flex: 0 1 auto; min-width: 0; }
  .search-jumps .empty-jump.next { margin-left: auto; }
  @media (max-width: 420px) {
    .search-jumps .empty-jump { padding: 8px 10px; gap: 6px; font-size: 0.8rem; }
    .search-jumps .empty-jump small { letter-spacing: 0.01em; }
  }
  @media (hover: hover) and (pointer: fine) {
    .search-opt:hover { background: var(--hover-bg); }
  }
  @media (prefers-reduced-motion: reduce) {
    .search-drawer, .search-body { transition: none; }
  }
  .search-list {
    max-height: min(52vh, 420px); overflow-y: auto; overscroll-behavior: contain;
  }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .pl-role { background: rgba(147, 176, 255, 0.14); color: #93b0ff; }
  }
  :root.theme-dark .pl-role { background: rgba(147, 176, 255, 0.14); color: #93b0ff; }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .search-opt-name b { color: #93b0ff; }
    :root:not(.theme-light) .search-mark { background: rgba(147, 176, 255, 0.14); color: #93b0ff; }
  }
  :root.theme-dark .search-opt-name b { color: #93b0ff; }
  :root.theme-dark .search-mark { background: rgba(147, 176, 255, 0.14); color: #93b0ff; }
  .gm-box > [data-st-view][hidden] { display: none; }
  .bx-head { display: flex; justify-content: center; padding: 0 16px 10px; }
  .bx-body { padding: 0 16px 14px; max-width: 420px; margin: 0 auto; }
  .bx-row {
    display: grid; grid-template-columns: 3.2rem 1fr 3.2rem;
    align-items: center; gap: 8px;
    font-size: 0.78rem; font-variant-numeric: tabular-nums;
  }
  .bx-v { font-weight: 700; }
  .bx-v-home { text-align: right; }
  .bx-v-away { text-align: left; }
  .bx-bars { display: flex; gap: 3px; min-width: 0; }
  .bx-bar { flex: 1 1 0; height: 5px; border-radius: 999px; background: var(--border); overflow: hidden; display: flex; }
  .bx-bar-home { justify-content: flex-end; }
  .bx-bar i { display: block; height: 100%; border-radius: 999px; background: var(--accent); }
  .bx-bar-away i { background: var(--muted); }
  .bx-label {
    text-align: center; font-size: 0.68rem; color: var(--muted);
    margin: 1px 0 9px;
  }
  .bx-label:last-child { margin-bottom: 0; }
  .bx-row.bx-plain .bx-bars { visibility: hidden; }
  .hk-toasts {
    position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%);
    z-index: 40;
    display: flex; flex-direction: column-reverse; gap: 8px;
    width: max-content; max-width: min(380px, calc(100vw - 32px));
    pointer-events: none;
  }
  .hk-toast {
    display: flex; align-items: center; gap: 8px;
    padding: 9px 14px; border-radius: 999px;
    background: var(--card-bg); border: 1px solid var(--live);
    box-shadow: 0 6px 22px rgba(16, 24, 40, 0.18);
    color: var(--text); font: inherit; font-size: 0.8rem;
    white-space: nowrap; cursor: pointer; pointer-events: auto;
    animation: toastIn 0.28s cubic-bezier(0.22, 0.8, 0.24, 1);
  }
  .hk-toast .tst-score { font-weight: 700; }
  .hk-toast .tst-min { color: var(--live); font-weight: 700; font-size: 0.72rem; }
  .hk-toast .tst-team { overflow: hidden; text-overflow: ellipsis; }
  .hk-toast.out { animation: toastOut 0.2s ease forwards; }
  @keyframes toastIn { from { opacity: 0; transform: translateY(10px); } }
  @keyframes toastOut { to { opacity: 0; transform: translateY(6px); } }
  @media (prefers-reduced-motion: reduce) {
    .hk-toast, .hk-toast.out { animation: none; }
  }
  .live-bar {
    position: sticky; top: 0; z-index: 6;
    display: flex; align-items: center; gap: 10px;
    margin: -6px -16px 12px; padding: 8px 16px;
    background: var(--bg);
  }
  .live-bar-label {
    display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
    font-size: 0.72rem; font-weight: 700; color: var(--live); white-space: nowrap;
  }
  .live-bar-scroll {
    display: flex; gap: 6px; min-width: 0;
    overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding: 4px 0 6px;
    margin: -4px 0 -6px;
    --fade-l: 0px;
    --fade-r: 0px;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l),
                        #000 calc(100% - var(--fade-r)), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l),
                #000 calc(100% - var(--fade-r)), transparent 100%);
  }
  .live-bar-scroll.more-left { --fade-l: 26px; }
  .live-bar-scroll.more-right { --fade-r: 26px; }
  .live-bar-scroll::-webkit-scrollbar { display: none; }
  @media (prefers-reduced-motion: reduce) { .live-bar-scroll { scroll-behavior: auto; } }
  @media (max-width: 500px) { .live-bar { margin-left: -10px; margin-right: -10px; padding-left: 10px; padding-right: 10px; } }
  .live-chip {
    display: inline-flex; align-items: baseline; gap: 5px; flex-shrink: 0;
    padding: 5px 10px; border-radius: 999px;
    background: var(--card-bg); border: 1px solid var(--border);
    box-shadow: var(--shadow);
    color: var(--text); font: inherit; font-size: 0.74rem;
    white-space: nowrap; cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .live-chip:hover { border-color: var(--live); background: var(--live-soft); }
  .live-chip.is-pinned {
    border-color: var(--live); background: var(--live-soft); color: var(--live);
  }
  .live-chip.is-pinned .lc-score { color: var(--live); }
  .live-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  section.league.league-pinned {
    border-color: var(--live);
    box-shadow: var(--shadow), 0 0 0 1px var(--live);
  }
  .league-pinned .league-head h2 { color: var(--live); }
  .league-pinned ul.games { padding-bottom: 2px; }
  .league-pinned ul.games > li.game-item:last-child > .game-row {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
  }
  .pin-off {
    margin-left: auto; flex-shrink: 0;
    padding: 3px 10px; border-radius: 999px;
    background: none; border: 1px solid var(--border); color: var(--muted);
    font: inherit; font-size: 0.68rem; font-weight: 600; cursor: pointer;
  }
  .pin-off:hover { border-color: var(--live); color: var(--live); }
  .pin-off:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .live-chip .lc-score { font-weight: 700; }
  .live-chip .lc-min { color: var(--live); font-weight: 700; font-size: 0.68rem; }
  .week-strip {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    margin-bottom: 12px;
  }
  .wk-day {
    position: relative;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 1px;
    padding: 6px 0 11px;
    border-radius: 10px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    color: var(--text);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .wk-day:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
  .wk-dow {
    font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.04em;
  }
  .wk-num { font-size: 0.86rem; font-weight: 600; line-height: 1.15; }
  .wk-day:hover .wk-dow { color: inherit; }
  .wk-day.wk-today { box-shadow: inset 0 0 0 1px var(--accent), var(--shadow); }
  .wk-day.wk-selected { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
  .wk-day.wk-selected .wk-dow { color: rgba(255, 255, 255, 0.75); }
  .wk-day.wk-selected:hover { background: var(--accent); color: var(--on-accent); }
  .week-strip.has-counts .wk-day:not(.has-games):not(.wk-selected) { opacity: 0.55; }
  @media (max-width: 500px) { .cal-popup { left: 0; right: auto; width: min(260px, calc(100vw - 24px)); } }
  section.isl-day {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
    overflow: hidden;
  }
  .isl-day-head {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: none;
    border-bottom: 1px solid var(--border);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .isl-day-head:hover { background: var(--hover-bg); }
  .isl-day-head h2 { margin: 0; font-size: 0.86rem; font-weight: 700; }
  .isl-day-n {
    margin-left: auto;
    font-size: 0.72rem; font-weight: 700; color: var(--muted);
    background: var(--bg); border-radius: 999px; padding: 1px 8px;
  }
  .isl-day-head .chevron {
    color: var(--muted); font-size: 0.7rem;
    transition: transform 0.2s ease;
  }
  .isl-day-head[aria-expanded="false"] .chevron { transform: rotate(-90deg); }
  .isl-day-head[aria-expanded="false"] { border-bottom-color: transparent; }
  .isl-day-wrap {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows 0.28s ease;
  }
  .isl-day-head[aria-expanded="false"] + .isl-day-wrap { grid-template-rows: 0fr; }
  .isl-day-inner { overflow: hidden; min-height: 0; }
  .isl-day-list {
    list-style: none; margin: 0;
    padding: 11px 14px 13px;
    display: grid; gap: 7px;
    grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  }
  .isl-card { display: flex; }
  .isl-card-in {
    flex: 1 1 auto;
    display: flex; flex-direction: column; gap: 1px;
    padding: 7px 9px 8px;
    border-radius: 9px;
    background: var(--bg);
    border: 1px solid var(--border);
    color: inherit; font: inherit; text-align: left;
    min-width: 0;
  }
  button.isl-card-in {
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }
  button.isl-card-in:hover { border-color: var(--accent); background: var(--accent-soft); }
  .isl-card-top { display: flex; align-items: flex-start; gap: 5px; min-width: 0; }
  .isl-card-in .crest { margin-top: 1px; }
  .isl-name {
    font-size: 0.79rem; font-weight: 600; line-height: 1.3;
    min-width: 0;
  }
  .isl-scored .isl-name { font-weight: 700; }
  .isl-goals {
    margin-left: auto; flex-shrink: 0;
    min-width: 20px; text-align: center;
    font-size: 0.75rem; font-weight: 700; line-height: 1.35;
    color: var(--accent); background: var(--accent-soft);
    border-radius: 5px; padding: 0 5px;
  }
  button.isl-card-in:hover .isl-goals { background: var(--card-bg); }
  .isl-saves {
    color: var(--save); background: color-mix(in srgb, var(--save) 12%, transparent);
    font-variant-numeric: tabular-nums;
  }
  .isl-goals + .isl-saves { margin-left: 4px; }
  .isl-scored .isl-card-in { border-color: var(--accent-soft); }
  .isl-club {
    font-size: 0.71rem; font-weight: 600; color: var(--text); line-height: 1.35;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .isl-meta {
    display: flex; align-items: baseline; gap: 4px; min-width: 0;
    font-size: 0.69rem; color: var(--muted); line-height: 1.35;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .isl-score { font-weight: 700; color: var(--text); flex-shrink: 0; }
  .isl-score.isl-won { color: var(--st-up); }
  .isl-score.isl-lost { color: var(--st-down); }
  .isl-opp { overflow: hidden; text-overflow: ellipsis; }
  .isl-day:not(.show-all) .isl-card.isl-extra { display: none; }
  .isl-day-inner { container: isl-day / inline-size; }
  .isl-more.isl-more-ninth { display: none; }
  @container isl-day (min-width: 405px) and (max-width: 596.98px) {
    .isl-day:not(.show-all) .isl-card.isl-ninth { display: none; }
    .isl-day .isl-more.isl-more-ninth { display: block; }
  }
  .isl-more {
    display: block; width: 100%;
    padding: 0 16px 13px;
    background: none; border: none;
    color: var(--accent); font: inherit; font-size: 0.78rem; font-weight: 600;
    text-align: center; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .isl-more:hover { text-decoration: underline; }
  .isl-more .isl-more-less { display: none; }
  .isl-day.show-all .isl-more .isl-more-all { display: none; }
  .isl-day.show-all .isl-more .isl-more-less { display: inline; }
  #hk-main-slot:not([data-filter]):not([data-order="time"]) section.league:not(.show-folded) li.folded { display: none; }
  .fold-more {
    display: block; width: 100%;
    padding: 11px 16px 12px;
    background: none; border: none; border-top: 1px solid var(--border);
    color: var(--accent); font: inherit; font-size: 0.78rem; font-weight: 600;
    text-align: center; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .fold-more:hover { text-decoration: underline; }
  .fold-more .fold-more-less { display: none; }
  section.league.show-folded .fold-more .fold-more-all { display: none; }
  section.league.show-folded .fold-more .fold-more-less { display: inline; }
  #hk-main-slot[data-filter] .fold-more,
  #hk-main-slot[data-order="time"] .fold-more,
  body.size-small .fold-more { display: none; }
  .game-item.row-focus > .game-row { animation: rowFocus 1.6s ease; }
  @keyframes rowFocus {
    0%, 55% { background: var(--accent-soft); }
    100% { background: transparent; }
  }
  @media (prefers-reduced-motion: reduce) {
    .game-item.row-focus > .game-row { animation: none; }
    .isl-day-wrap { transition: none; }
    .isl-day-head .chevron { transition: none; }
  }
  section.league {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow);
    margin-bottom: 14px;
  }
  .league-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
  }
  .league-head img.flag { height: 18px; width: 18px; border-radius: 3px; flex-shrink: 0; }
  .league-head h2 {
    font-size: 0.9rem; font-weight: 700; margin: 0;
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .hk-fs-foot { display: flex; justify-content: center; padding: 4px 16px 14px; }
  .hk-fs-btn {
    display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
    font: inherit; font-size: 0.78rem; font-weight: 700; color: var(--accent);
    background: var(--accent-soft); border: 1px solid transparent;
    padding: 8px 12px 8px 16px; border-radius: 999px;
    transition: border-color 0.15s ease;
  }
  .hk-fs-btn svg { display: block; transition: transform 0.15s ease; }
  .hk-fs-btn:hover { border-color: var(--accent); }
  .hk-fs-btn:hover svg { transform: translateX(2px); }
  .hk-fs-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  body.size-small .hk-fs-foot { display: none; }
  .gm > .hk-fs-foot { padding: 14px 16px 12px; }
  html.hk-fs-on, html.hk-fs-on body { overflow: hidden; }
  .hk-fs {
    position: fixed; inset: 0; z-index: 1000;
    overflow-y: auto; overscroll-behavior: contain;
    background: var(--bg);
  }
  html.hk-fs-framed body > .wrap > :not(.hk-fs) { display: none !important; }
  html.hk-fs-framed .hk-fs { position: static; overflow: visible; }
  html.hk-fs-framed .hk-fs-bar { position: static; }
  html.hk-fs-framed .gf-events .gm-events { max-height: 640px; overflow-y: auto; overscroll-behavior: contain; }
  .hk-fs.hk-fs-anim { transition: clip-path 0.42s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .hk-fs .hk-fs-body { opacity: 0; transform: translateY(10px); transition: opacity 0.3s ease 0.12s, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) 0.12s; }
  .hk-fs.is-in .hk-fs-body { opacity: 1; transform: none; }
  .hk-fs.is-out {
    opacity: 0; transform: scale(0.97); transform-origin: 50% 30%;
    transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }
  .hk-fs-bar {
    position: sticky; top: 0; z-index: 2;
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px;
    padding: 10px 12px; padding-top: max(10px, env(safe-area-inset-top));
    background: color-mix(in srgb, var(--bg) 82%, transparent);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
  }
  .hk-fs-back {
    justify-self: start;
    display: inline-flex; align-items: center; gap: 4px; cursor: pointer;
    font: inherit; font-size: 0.82rem; font-weight: 700; color: var(--accent);
    background: var(--accent-soft); border: 1px solid transparent;
    padding: 7px 14px 7px 9px; border-radius: 999px;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .hk-fs-back svg { display: block; flex-shrink: 0; }
  .hk-fs-back:hover { border-color: var(--accent); }
  .hk-fs-back:active { transform: scale(0.97); }
  .hk-fs-back:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .hk-fs-actions { grid-column: 3; justify-self: end; display: inline-flex; align-items: center; gap: 8px; }
  .hk-fs-close {
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
    width: 34px; height: 34px; padding: 0; border-radius: 999px;
    color: var(--muted); background: transparent; border: 1px solid var(--border);
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
  }
  .hk-fs-close svg { display: block; }
  .hk-fs-close:hover { color: var(--text); background: var(--accent-soft); border-color: transparent; }
  .hk-fs-close:active { transform: scale(0.95); }
  .hk-fs-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .hk-fs-title { grid-column: 2; min-width: 0; max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.85rem; font-weight: 700; text-align: center; }
  @media (max-width: 520px) { .hk-fs-title { display: none; } }
  .hk-fs-body { max-width: 1100px; margin: 0 auto; padding: 16px 16px 40px; }
  .gf-loading { display: flex; justify-content: center; gap: 6px; padding: 80px 0; }
  .gf-loading i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); opacity: 0.3; animation: gf-dot 0.9s ease-in-out infinite; }
  .gf-loading i:nth-child(2) { animation-delay: 0.15s; }
  .gf-loading i:nth-child(3) { animation-delay: 0.3s; }
  @keyframes gf-dot { 50% { opacity: 1; transform: translateY(-4px); } }
  .gf-fail { text-align: center; color: var(--muted); padding: 60px 0; }
  .hk-fs-page[hidden] { display: none; }
  .hk-fs-page.is-pushed { animation: gf-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .hk-fs-page.is-entering {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1;
    overflow: hidden; background: var(--bg);
  }
  .hk-fs.hk-fs-waiting { visibility: hidden; }
  .hk-fs-title { opacity: 0; transform: translateY(4px); transition: opacity 0.2s ease, transform 0.25s ease; }
  .hk-fs-bar.is-titled .hk-fs-title { opacity: 1; transform: none; }
  .hk-fs-site-foot { padding: 0 16px 28px; margin-top: -16px; }
  .gf-score > span { display: inline-block; }
  .gf-bump { animation: gf-bump 0.9s cubic-bezier(0.2, 0.8, 0.2, 1); }
  @keyframes gf-bump {
    0% { transform: scale(1); color: inherit; }
    25% { transform: scale(1.32); color: var(--accent); }
    100% { transform: scale(1); color: inherit; }
  }
  .gf-scored .gf-crest { animation: gf-scored 1.1s cubic-bezier(0.2, 0.8, 0.2, 1); }
  @keyframes gf-scored {
    0% { transform: none; filter: none; }
    30% { transform: translateY(-4px) scale(1.12); filter: drop-shadow(0 6px 14px color-mix(in srgb, var(--accent) 45%, transparent)); }
    100% { transform: none; filter: none; }
  }
  .ev-list > li.ev-new { animation: ev-in 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) var(--d, 0ms) both, ev-glow 2.4s ease var(--d, 0ms); }
  @keyframes ev-in { from { opacity: 0; transform: translateY(-10px); } }
  @keyframes ev-glow { 0%, 30% { background: var(--accent-soft); } 100% { background: transparent; } }
  .scorer-row.sc-bump { animation: ev-glow 2s ease; border-radius: 6px; }
  .scorer-row.sc-bump .scorer-goals { animation: gf-bump 0.9s cubic-bezier(0.2, 0.8, 0.2, 1); display: inline-block; }
  @media (prefers-reduced-motion: reduce) {
    .gf-bump, .gf-scored .gf-crest, .ev-list > li.ev-new, .scorer-row.sc-bump, .scorer-row.sc-bump .scorer-goals { animation: none; }
  }
  .fs-foot { display: flex; justify-content: center; padding: 6px 12px 12px; }
  .fs-link {
    display: inline-flex; align-items: center; gap: 5px; cursor: pointer;
    font: inherit; font-size: 0.76rem; font-weight: 700; color: var(--accent);
    background: var(--accent-soft); border: 1px solid transparent; padding: 7px 12px 7px 15px; border-radius: 999px;
    transition: border-color 0.15s ease;
  }
  .fs-link svg { display: block; transition: transform 0.15s ease; }
  .fs-link:hover { border-color: var(--accent); }
  .fs-link:hover svg { transform: translateX(2px); }
  .fs-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  body.size-small .fs-foot { display: none; }
  .pl-head-link { margin-left: auto; flex-shrink: 0; white-space: nowrap; }
  body.size-small .pl-head-link { display: none; }
  @media (max-width: 420px) { .pl-head-link { padding: 6px 9px 6px 12px; font-size: 0.72rem; } }
  .hk-fs-page > .hk-fs-body > .gf .fs-foot:only-child { display: none; }
  .pp-seasons { margin: 14px 0 0; }
  .seg { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 999px; background: var(--bg); width: fit-content; max-width: 100%; }
  .seg button {
    font: inherit; font-size: 0.76rem; font-weight: 700; color: var(--muted); cursor: pointer;
    background: none; border: 0; padding: 6px 13px; border-radius: 999px; transition: background 0.15s ease, color 0.15s ease;
  }
  .seg button[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); }
  .seg button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .pp-chart { display: flex; align-items: stretch; justify-content: space-between; gap: 3px; height: 164px; padding: 18px 16px 0; }
  .pp-col { flex: 1 1 0; min-width: 3px; max-width: 26px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .pp-bar { flex: 1 1 auto; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
  .pp-bar i {
    display: block; width: 100%; height: max(var(--h), 3%); border-radius: 4px 4px 2px 2px;
    background: color-mix(in srgb, var(--accent) 45%, transparent);
    transition: background 0.15s ease, height 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) calc(var(--i, 0) * 18ms);
  }
  .pp-col.is-best .pp-bar i, .pp-col:hover .pp-bar i { background: var(--accent); }
  .pp-bar b { position: absolute; bottom: calc(max(var(--h), 3%) + 3px); font-size: 0.62rem; font-weight: 700; color: var(--muted); opacity: 0; transition: opacity 0.15s ease, bottom 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) calc(var(--i, 0) * 18ms); }
  .pp-col.is-best .pp-bar b, .pp-col:hover .pp-bar b { opacity: 1; color: var(--text); }
  .pp-opp { flex: 0 0 18px; display: flex; align-items: center; justify-content: center; width: 100%; }
  .pp-opp .crest { display: block; width: min(18px, 100%); height: auto; aspect-ratio: 1; object-fit: contain; }
  .pp-opp .crest-none { display: block; width: min(8px, 100%); height: auto; aspect-ratio: 1; border-radius: 50%; background: var(--border); }
  .pp-chart.is-entering .pp-bar i { height: 0; transition: none; }
  .pp-chart.is-entering .pp-bar b { bottom: 3px; opacity: 0; transition: none; }
  @media (prefers-reduced-motion: reduce) { .pp-bar i, .pp-bar b { transition: none; } }
  .pp-axis { display: flex; justify-content: space-between; padding: 6px 16px 0; font-size: 0.66rem; color: var(--muted); }
  .pp-games { padding: 0 8px; }
  .pp-games .pl-games { margin: 0; }
  .pp-source { margin: 18px 0 0; text-align: center; font-size: 0.72rem; color: var(--muted); }
  .cc-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 10px 0 2px; font-size: 0.78rem; color: var(--muted); }
  .cc-line b { color: var(--text); font-variant-numeric: tabular-nums; }
  .cc-form { display: inline-flex; align-items: center; gap: 8px; }
  .cc-form .st-form { display: inline-flex; gap: 3px; }
  .cc-form small { font-size: 0.7rem; font-weight: 600; }
  .cc-rows { padding: 0; }
  .cc-chart .pp-col { max-width: 30px; }
  .cc-chart .cc-bars { flex-direction: row; align-items: flex-end; gap: 1px; }
  .cc-chart .cc-bars i { flex: 1 1 0; min-width: 1px; width: auto; border-radius: 3px 3px 1px 1px; }
  .cc-chart .cc-ours { background: color-mix(in srgb, var(--muted) 55%, transparent); }
  .cc-chart .cc-w .cc-ours { background: var(--st-up); }
  .cc-chart .cc-l .cc-ours { background: color-mix(in srgb, var(--st-down) 70%, transparent); }
  .cc-chart .cc-theirs { background: var(--border); }
  .cc-chart .pp-col:hover .cc-bars i.cc-ours { filter: brightness(1.1); }
  .cc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 16px 4px; }
  .cc-grid > div { background: var(--bg); border-radius: 14px; padding: 10px 12px; min-width: 0; }
  .cc-grid .cc-wide { grid-column: 1 / -1; }
  .cc-grid b { display: block; font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; }
  .cc-grid span { font-size: 0.72rem; color: var(--muted); }
  @keyframes gf-in { from { opacity: 0; transform: translateY(8px); } }
  .gf-drawer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .gf-drawer.open { grid-template-rows: 1fr; }
  .gf-drawer-inner { min-height: 0; overflow: hidden; }
  .gf-drawer .gf-stack { opacity: 0; transform: translateY(-8px); transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .gf-drawer.open .gf-stack { opacity: 1; transform: none; transition-delay: 0.1s; }
  .gf-drawer-player .gf-stack { margin: 12px 12px 4px; border-radius: 16px; background: var(--bg); }
  .gf-drawer-player .pl-slot { padding: 0 16px 14px; }
  .gf-drawer-team { margin-bottom: 14px; }
  .gf-drawer-team .gf-stack { border-radius: 18px; background: var(--card-bg); border: 1px solid var(--border); box-shadow: var(--shadow); }
  .gf-stack-bar { display: flex; justify-content: flex-end; padding: 8px 8px 0; }
  .gf-stack-close {
    display: inline-flex; align-items: center; cursor: pointer; padding: 6px; border-radius: 999px;
    color: var(--muted); background: transparent; border: 0;
  }
  .gf-stack-close:hover { color: var(--text); background: var(--accent-soft); }
  .gf-stack-close svg { display: block; }
  .gf-team-btn {
    display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer;
    font: inherit; color: inherit; background: none; border: 0; padding: 6px 10px; border-radius: 16px;
  }
  .gf-team-btn .gf-crest { display: block; transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .gf-team-btn .gf-name { transition: color 0.2s ease; }
  .gf-team-btn:hover .gf-crest { transform: translateY(-2px); }
  .gf-team-btn:hover .gf-name, .gf-team-btn.is-active .gf-name { color: var(--accent); }
  .gf-team-btn.is-active .gf-crest { transform: translateY(-3px) scale(1.06); }
  .gf-team-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .gf .gf-side { transition: opacity 0.3s ease; }
  .gf[data-focus-side="home"] .gf-side.away, .gf[data-focus-side="away"] .gf-side.home { opacity: 0.6; }
  .tp-hero { background: linear-gradient(110deg, color-mix(in srgb, var(--tc-home, var(--accent)) 14%, transparent) 0%, transparent 60%), var(--card-bg); }
  .tp-head { display: flex; align-items: center; gap: 16px; }
  .tp-crest .crest, .tp-crest .crest-none { width: 72px; height: 72px; display: block; }
  .tp-crest .crest-none { border-radius: 50%; background: var(--bg); }
  .tp-title { min-width: 0; }
  .tp-name { margin: 0; font-size: 1.45rem; font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; }
  .tp-name .tm-country { margin-left: 8px; vertical-align: 3px; }
  .tp-sub { margin: 4px 0 0; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
  .tp-nums { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  .tp-nums > div, .tp-standing > div { flex: 1 1 90px; background: color-mix(in srgb, var(--card-bg) 70%, transparent); border: 1px solid var(--border); border-radius: 14px; padding: 10px 12px; }
  .tp-nums b { display: block; font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; }
  .tp-nums span { font-size: 0.72rem; color: var(--muted); }
  .tp-nums > .tp-standing { display: contents; }
  .tp-nums > .tp-standing[hidden] { display: none; }
  .tp-nums .tp-form-box { flex: 2 1 180px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
  .tp-nums .tp-form-box .st-form { display: flex; gap: 3px; }
  .tp-rows { padding: 0 8px; }
  .tp-isl { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 4px; }
  .tp-chip { font: inherit; font-size: 0.8rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); border: 1px solid transparent; cursor: pointer; }
  .tp-chip:hover { border-color: var(--accent); }
  .tp-tabs { margin: 0 16px 12px; }
  .tp-rows .tm-game.tp-extra { display: none; }
  .gf-card.tp-all .tm-game.tp-extra { display: flex; }
  .tp-more {
    display: block; margin: 6px 16px 2px; padding: 8px 0; width: calc(100% - 32px);
    font: inherit; font-size: 0.8rem; font-weight: 700; color: var(--accent); cursor: pointer;
    background: none; border: 0; border-top: 1px solid var(--border); text-align: center;
  }
  .tp-more:hover { text-decoration: underline; text-underline-offset: 3px; }
  .tp-more:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
  .tp-group { margin: 0 16px 6px; font-size: 0.72rem; font-weight: 700; color: var(--muted); }
  .tm-lg { display: block; font-size: 0.68rem; font-weight: 600; color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
  .tp-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; font-variant-numeric: tabular-nums; }
  .tp-table th { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); text-align: right; padding: 0 8px 6px; }
  .tp-table th:nth-child(-n+2) { text-align: left; }
  .tp-table td { padding: 7px 8px; text-align: right; border-top: 1px solid var(--border); }
  .tp-table th:first-child, .tp-table td:first-child { padding-left: 16px; }
  .tp-table th:last-child, .tp-table td:last-child { padding-right: 16px; }
  .tp-table .tp-pos { text-align: left; color: var(--muted); width: 28px; }
  .tp-table .tp-team { text-align: left; }
  .tp-table .tp-team { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .tp-table .tp-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tp-table .tp-team .crest { width: 18px; height: 18px; flex-shrink: 0; }
  .tp-table .tp-pts { font-weight: 800; }
  .tp-table tr.is-team td { background: var(--accent-soft); font-weight: 700; }
  .tp-table tr.is-team .tp-pos { color: var(--accent); }
  .lg-flag img { width: 64px; height: 64px; object-fit: contain; display: block; border-radius: 12px; }
  .lg-day { padding: 0; }
  .lg-day + .lg-day { margin-top: 6px; }
  .lg-day-h { margin: 6px 8px 2px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); }
  .tp-rows .lg-day.tp-extra { display: none; }
  .gf-card.tp-all .lg-day.tp-extra { display: block; }
  .lg-game {
    display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px;
    width: 100%; font: inherit; font-size: 0.82rem; color: inherit; text-align: left;
    background: none; border: 0; padding: 6px 8px; border-radius: 8px; cursor: pointer;
  }
  .lg-game:hover:not(:disabled) { background: var(--accent-soft); }
  .lg-game:disabled { cursor: default; }
  .lg-game:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .lg-side { display: flex; align-items: center; gap: 8px; min-width: 0; font-weight: 600; }
  .lg-home { justify-content: flex-end; text-align: right; }
  .lg-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lg-side .crest, .lg-side .crest-none { width: 20px; height: 20px; flex-shrink: 0; }
  .lg-lost { color: var(--muted); font-weight: 500; }
  .lg-mid { min-width: 58px; display: flex; flex-direction: column; align-items: center; gap: 1px; color: var(--muted); font-variant-numeric: tabular-nums; }
  .lg-mid b { color: var(--text); font-weight: 800; font-size: 0.9rem; }
  .lg-mid small { font-size: 0.66rem; font-weight: 700; }
  .lg-mid .lg-live { color: var(--live); }
  .lg-mid .tm-tv { height: 12px; }
  .lg-empty { padding: 4px 8px 8px; }
  .lg-isl-mark { position: relative; display: inline-flex; flex-shrink: 0; font-style: normal; cursor: default; }
  .lg-isl-mark .isl-flag { width: 14px; height: 14px; display: block; }
  .lg-isl-tip {
    position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translate(-50%, 3px);
    display: flex; flex-direction: column; gap: 1px; padding: 7px 10px; border-radius: 9px;
    background: var(--text); color: var(--card-bg); box-shadow: var(--shadow);
    font-size: 0.74rem; font-weight: 600; font-style: normal; line-height: 1.35; text-align: left;
    text-transform: none; letter-spacing: 0; white-space: nowrap;
    opacity: 0; visibility: hidden; pointer-events: none; z-index: 30;
    transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s;
  }
  .lg-isl-tip i { font-style: normal; }
  .lg-isl-tip::after {
    content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px;
    border: 5px solid transparent; border-top-color: var(--text);
  }
  .lg-isl-mark:hover .lg-isl-tip { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
  .lg-team, .lg-player, .tp-comp {
    font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left;
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .lg-team:hover, .lg-player:hover, .tp-comp:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
  .lg-team:focus-visible, .lg-player:focus-visible, .tp-comp:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  .lg-player { display: block; max-width: 100%; }
  .tp-comp { overflow: visible; white-space: normal; font-weight: inherit; }
  .lg-club { display: block; font-size: 0.7rem; color: var(--muted); }
  .lg-isl-n { margin-left: 4px; color: var(--muted); font-weight: 700; }
  .ss-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; padding: 0 16px; }
  .ss-tile { background: var(--bg); border-radius: 12px; padding: 10px 12px; min-width: 0; }
  .ss-tile > b { display: block; font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; }
  .ss-tile > span { display: block; font-size: 0.72rem; color: var(--muted); }
  .ss-tile > small { display: block; margin-top: 3px; font-size: 0.66rem; font-weight: 700; color: var(--accent); }
  .ss-wdl { font-variant-numeric: tabular-nums; color: var(--muted); font-weight: 600; }
  .ss-tile .ss-wdl { font-size: 1.2rem; }
  .ss-wdl b { color: var(--text); font-weight: 800; }
  .ss-wdl b:first-child { color: var(--st-up); }
  .ss-wdl b:last-child { color: var(--st-down); }
  .ss-strip { display: flex; justify-content: center; gap: 2px; height: 64px; margin: 16px 16px 0; background: linear-gradient(var(--border), var(--border)) 0 50% / 100% 1px no-repeat; }
  .ss-strip > span { flex: 1 1 0; max-width: 28px; position: relative; min-width: 0; }
  .ss-strip i { position: absolute; left: 0; right: 0; border-radius: 2px; }
  .ss-strip .ss-r-w { bottom: 50%; background: var(--st-up); }
  .ss-strip .ss-r-l { top: 50%; background: var(--st-down); }
  .ss-strip .ss-r-d { top: calc(50% - 1px); background: var(--muted); }
  .ss-axis { display: flex; justify-content: space-between; margin: 4px 16px 0; font-size: 0.64rem; color: var(--muted); }
  .ss-games { display: grid; gap: 4px; margin-top: 10px; }
  .ss-game { padding: 0 8px; }
  .ss-k { display: block; padding: 6px 8px 0; font-size: 0.64rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
  .ss-k b { color: var(--text); margin-left: 4px; }
  .ss-note { margin: 4px 8px 0; font-size: 0.74rem; color: var(--muted); }
  .ss-line { margin: 10px 16px 0; font-size: 0.8rem; line-height: 1.5; color: var(--muted); }
  .ss-line b { color: var(--text); }
  .ss-part { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 18px 16px 8px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
  .ss-part small { font-size: 0.66rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--muted); }
  .ss-spells { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 0 16px; }
  .ss-spell { display: flex; flex-direction: column; align-items: center; gap: 2px; font-variant-numeric: tabular-nums; }
  .ss-sp-bars { display: flex; align-items: flex-end; justify-content: center; gap: 3px; width: 100%; height: 72px; border-bottom: 1px solid var(--border); }
  .ss-sp-bars i { width: 34%; max-width: 18px; min-height: 2px; border-radius: 3px 3px 0 0; }
  .ss-sp-bars .ss-all { width: 60%; max-width: 32px; }
  .ss-for, .ss-all { background: var(--tc-home, var(--accent)); }
  .ss-against { background: color-mix(in srgb, var(--muted) 55%, transparent); }
  .ss-spell b { font-size: 0.8rem; font-weight: 800; }
  .ss-spell small { font-size: 0.62rem; color: var(--muted); }
  .ss-legend { display: flex; align-items: center; gap: 6px; margin: 8px 16px 0; font-size: 0.68rem; color: var(--muted); }
  .ss-legend i { width: 9px; height: 9px; border-radius: 2px; }
  .ss-legend i:not(:first-child) { margin-left: 8px; }
  .ss-rows { margin: 10px 16px 0; }
  .ss-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 0; border-top: 1px solid var(--border); font-size: 0.82rem; }
  .ss-row .ss-k { padding: 0; }
  .ss-row > span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-row > b { font-variant-numeric: tabular-nums; }
  .ss-split { display: flex; gap: 2px; height: 10px; margin: 0 16px; border-radius: 999px; overflow: hidden; }
  .ss-split i { display: block; }
  .ss-split-home { background: var(--accent); }
  .ss-split-draw { background: var(--muted); }
  .ss-split-away { background: color-mix(in srgb, var(--accent) 40%, transparent); }
  .ss-split-k { display: flex; justify-content: space-between; gap: 8px; margin: 6px 16px 12px; font-size: 0.72rem; color: var(--muted); }
  .ss-split-k b { color: var(--text); }
  .lg-isl { columns: 230px; column-gap: 8px; padding: 0 16px 4px; }
  .lg-isl-club {
    display: inline-block; width: 100%; box-sizing: border-box; vertical-align: top;
    break-inside: avoid; margin: 0 0 8px; border: 1px solid var(--border); border-radius: 12px;
    padding: 10px 12px 6px; background: var(--bg); min-width: 0;
  }
  @media (max-width: 520px) { .lg-isl-club { padding: 8px 10px 4px; } .lg-isl-person { padding: 5px 0; } }
  .lg-isl-team {
    display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; margin: 0 0 6px; padding: 0;
    font: inherit; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--muted); background: none; border: 0; cursor: pointer; text-align: left;
  }
  .lg-isl-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lg-isl-team .crest, .lg-isl-team .crest-none { width: 18px; height: 18px; flex-shrink: 0; }
  .lg-isl-team:hover { color: var(--accent); }
  .lg-isl-club ul, .tp-isl-list { list-style: none; margin: 0; padding: 0; }
  .lg-isl-club li, .tp-isl-list li { display: flex; align-items: center; gap: 6px; min-width: 0; }
  .lg-isl-club li + li { border-top: 1px solid var(--border); }
  .tp-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; padding: 0 16px 6px; }
  .tp-person {
    display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px;
    font: inherit; color: inherit; text-align: left; cursor: pointer;
    background: var(--bg); border: 1px solid var(--border); border-radius: 12px;
    transition: border-color 0.15s ease, background 0.15s ease;
  }
  .tp-person:hover { border-color: var(--accent); }
  .tp-person:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .tp-avatar {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
    background: var(--accent-soft); color: var(--accent); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.02em;
  }
  .tp-person-text { display: flex; flex-direction: column; min-width: 0; }
  .tp-person-text b { font-size: 0.86rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tp-person-text small { font-size: 0.72rem; color: var(--muted); font-variant-numeric: tabular-nums; }
  .lg-isl-person {
    flex: 0 1 auto; min-width: 0; padding: 6px 0; font: inherit; font-size: 0.86rem; font-weight: 600;
    color: var(--text); background: none; border: 0; cursor: pointer; text-align: left;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .lg-isl-person:hover { color: var(--accent); }
  .lg-isl-team:focus-visible, .lg-isl-person:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  .lg-isl-role {
    flex-shrink: 0; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--accent); background: var(--accent-soft); border-radius: 999px; padding: 2px 7px;
  }
  .lg-table .lg-form .st-form { display: inline-flex; gap: 2px; }
  .lg-table th.lg-form-h { text-align: left; }
  .lg-table .lg-form { text-align: left; }
  .lg-rounds .st { padding: 0 8px; }
  @media (max-width: 640px) { .lg-table .lg-wdl, .lg-table .lg-form, .lg-table .lg-form-h { display: none; } }
  .pp-club {
    font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: left;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
    padding: 0 0 4px; margin-bottom: -4px;
    text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
    text-underline-offset: 3px;
  }
  .pp-club:hover { color: var(--accent); text-decoration-color: currentColor; }
  .pp-club:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  .tp-scorers { list-style: none; margin: 0; padding: 0 16px; }
  .tp-scorers li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 0; }
  .tp-scorers li + li { border-top: 1px solid var(--border); }
  .tp-rank { font-size: 0.74rem; font-weight: 700; color: var(--muted); }
  .tp-who { min-width: 0; }
  .tp-who b { display: block; font-size: 0.85rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tp-bar { display: block; height: 4px; border-radius: 2px; background: var(--border); margin-top: 5px; overflow: hidden; }
  .tp-bar i { display: block; height: 100%; border-radius: 2px; background: var(--accent); }
  .tp-goals { font-weight: 800; font-size: 1rem; text-align: right; font-variant-numeric: tabular-nums; }
  .tp-goals small { display: block; font-size: 0.66rem; font-weight: 600; color: var(--muted); }
  @media (min-width: 900px) { .gf-grid.tp-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
  .tp-bottom { margin-top: 14px; }
  @media (max-width: 520px) { .tp-crest .crest, .tp-crest .crest-none { width: 56px; height: 56px; } .tp-name { font-size: 1.2rem; } }
  .scorer-link.is-active { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
  .gf-hero {
    position: relative; overflow: hidden;
    border-radius: 20px; padding: 18px 16px 16px; margin-bottom: 14px;
    background:
      linear-gradient(100deg, color-mix(in srgb, var(--tc-home, var(--accent)) 16%, transparent) 0%, transparent 42%,
                      transparent 58%, color-mix(in srgb, var(--tc-away, var(--accent)) 16%, transparent) 100%),
      var(--card-bg);
    border: 1px solid var(--border); box-shadow: var(--shadow);
  }
  .gf-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 8px; margin: 0 0 14px; font-size: 0.74rem; color: var(--muted); font-weight: 600; }
  .gf-meta span + span::before { content: "·"; margin-right: 8px; }
  .gf-teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 10px; }
  .gf-side { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; min-width: 0; }
  .gf-crest .crest { width: 64px; height: 64px; }
  .gf-crest .crest-none { display: block; width: 64px; height: 64px; border-radius: 50%; background: var(--bg); }
  .gf-name { font-size: 1.05rem; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
  .gf-name .isl-flag { display: inline-block; vertical-align: -2px; }
  @media (max-width: 899px) {
    .gf-col { display: contents; }
    .gf-grid .gf-card { order: 2; }
    .gf-grid .gf-scorers, .gf-grid .gf-empty-card { order: 1; }
    .gf-grid .gf-events { order: 3; }
  }
  .gf-side.lost .gf-name { color: var(--muted); }
  .gf-top { font-size: 0.74rem; color: var(--muted); }
  .gf-top b { color: var(--text); }
  .gf-mid { display: flex; flex-direction: column; align-items: center; gap: 6px; padding-top: 10px; }
  .gf-score { display: inline-flex; align-items: center; gap: 6px; font-size: 2.6rem; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: 1; white-space: nowrap; }
  .gf-score i { font-style: normal; color: var(--muted); font-weight: 600; }
  .gf-score.status-ns { font-size: 1.8rem; color: var(--muted); }
  .gf-state { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
  .gf-live { color: var(--live); display: inline-flex; align-items: center; gap: 6px; }
  .gf-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--live); animation: gf-pulse 1.4s ease-in-out infinite; }
  @keyframes gf-pulse { 50% { opacity: 0.3; } }
  .gf-pace { font-size: 0.74rem; color: var(--muted); white-space: nowrap; }
  .gf-pace b { color: var(--text); font-variant-numeric: tabular-nums; }
  .gf-tv { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 0.78rem; font-weight: 600; color: var(--muted); }
  .gf-tv-label { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; }
  .gf-tv-item { display: inline-flex; align-items: center; gap: 5px; }
  a.gf-tv-item { color: inherit; text-decoration: none; padding: 4px 8px; margin: -4px -2px; border-radius: 8px; transition: background 0.15s ease; }
  a.gf-tv-item:hover { background: var(--accent-soft); }
  a.gf-tv-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .gf-tv-item img { height: 15px; width: auto; display: block; }
  .gf-tv-item img.gf-tv-flag { width: 14px; height: 14px; border-radius: 50%; object-fit: cover; }
  @media (prefers-color-scheme: dark) { :root:not(.theme-light) .gf-tv-item img:not(.gf-tv-flag) { filter: brightness(0) invert(1); } }
  :root.theme-dark .gf-tv-item img:not(.gf-tv-flag) { filter: brightness(0) invert(1); }
  .gf-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
  .gf-col { display: grid; gap: 14px; min-width: 0; }
  @media (min-width: 900px) {
    .gf-grid.has-events { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
    .gf-grid.has-events .gf-main { position: sticky; top: 72px; }
  }
  .gf-card { background: var(--card-bg); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); padding: 4px 0 12px; min-width: 0; }
  .gf-h {
    display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 16px 10px;
    font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent);
  }
  .gf-h::before { content: ""; width: 4px; height: 14px; border-radius: 2px; background: var(--accent); }
  .gf-card .scorers-body { padding: 0 16px; }
  .gf-card .bx-body { padding: 0 16px; }
  .gf-card .pg { max-width: none; }
  .pgx { padding: 0 16px 4px; }
  .pgx .bx-body { padding: 0; }
  .pgx-last { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 12px; }
  .pgx-side { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 14px; background: var(--bg); min-width: 0; font-size: 0.78rem; }
  .pgx-side.away { text-align: right; }
  .pgx-side b { font-weight: 700; overflow-wrap: anywhere; }
  .pgx-k { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
  .pgx-run { font-size: 0.72rem; color: var(--accent); font-weight: 700; }
  .pgx-note { margin: 12px 0 0; text-align: center; font-size: 0.7rem; color: var(--muted); }
  .gf-stats-head { display: flex; justify-content: space-between; padding: 0 16px 8px; font-size: 0.74rem; font-weight: 700; color: var(--muted); }
  .gf-flow { --gff-home: var(--tc-home, var(--accent)); --gff-away: var(--tc-away, var(--save)); }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .gf-flow { --gff-home: var(--tc-home-d, var(--accent)); --gff-away: var(--tc-away-d, var(--save)); }
  }
  :root.theme-dark .gf-flow { --gff-home: var(--tc-home-d, var(--accent)); --gff-away: var(--tc-away-d, var(--save)); }
  .gff-chart { position: relative; margin: 0 16px; height: 150px; border-radius: 12px; background: var(--bg); overflow: hidden; }
  .gff-chart svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .gff-zero { stroke: var(--border); stroke-width: 1.5; }
  .gff-mark { stroke: var(--border); stroke-width: 1; stroke-dasharray: 3 4; }
  .gff-stop-home { stop-color: var(--gff-home); }
  .gff-stop-away { stop-color: var(--gff-away); }
  .gff-line { fill: none; stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
  .gff-line.gff-home { stroke: var(--gff-home); }
  .gff-line.gff-away { stroke: var(--gff-away); }
  .gff-side, .gff-reach { position: absolute; z-index: 1; font-size: 0.66rem; font-weight: 700; color: var(--muted); pointer-events: none; }
  .gff-side { left: 10px; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .gff-side-home { top: 6px; }
  .gff-side-away { bottom: 6px; }
  .gff-reach { right: 8px; font-variant-numeric: tabular-nums; }
  .gff-reach-top { top: 6px; }
  .gff-reach-bottom { bottom: 6px; }
  .gff-axis { display: flex; justify-content: space-between; margin: 4px 16px 0; font-size: 0.66rem; color: var(--muted); font-variant-numeric: tabular-nums; }
  .gff-rows { margin: 14px 16px 0; padding: 4px 14px; border-radius: 14px; background: var(--bg); }
  .gff-names { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0 6px; font-size: 0.72rem; font-weight: 800; }
  .gff-names span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .gff-names span::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 0; }
  .gff-name-home::before { background: var(--gff-home); }
  .gff-name-away { text-align: right; }
  .gff-name-away::before { background: var(--gff-away); }
  .gff-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid var(--border); }
  .gff-k { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); text-align: center; }
  .gff-v { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; color: var(--muted); font-variant-numeric: tabular-nums; }
  .gff-v-away { align-items: flex-end; }
  .gff-v b { font-size: 1.05rem; font-weight: 800; white-space: nowrap; }
  .gff-v small { font-size: 0.68rem; white-space: nowrap; }
  .gff-v.is-best { color: var(--text); }
  .gff-v.is-best b { padding: 1px 8px; margin: 0 -2px; border-radius: 999px; }
  .gff-v-home.is-best b { background: color-mix(in srgb, var(--gff-home) 22%, transparent); }
  .gff-v-away.is-best b { background: color-mix(in srgb, var(--gff-away) 22%, transparent); }
  .gff-story { margin: 12px 16px 2px; font-size: 0.8rem; line-height: 1.5; color: var(--muted); text-align: center; }
  .gff-story:empty { display: none; }
  .gf-empty-card p { margin: 0; padding: 16px; text-align: center; color: var(--muted); font-size: 0.85rem; }
  .gf-events .gm-events { padding: 0; }
  .gf-events .ev-count { border-top: 1px solid var(--border); }
  @media (max-width: 520px) {
    .hk-fs-body { padding: 12px 10px 32px; }
    .gf-crest .crest, .gf-crest .crest-none { width: 48px; height: 48px; }
    .gf-name { font-size: 0.92rem; }
    .gf-score { font-size: 2.1rem; }
  }
  ul.games { list-style: none; margin: 0; padding: 0; }
  li.game-item { border-bottom: 1px solid var(--border); }
  li.game-item:last-child { border-bottom: none; }
  .game-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 88px 1fr;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
  }
  .team {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 0.92rem;
    font-weight: 600;
  }
  .team.home { justify-content: flex-end; text-align: right; }
  .team.away { justify-content: flex-start; text-align: left; }
  .team.lost .team-name { color: var(--muted); font-weight: 500; }
  .game-row.expandable { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  @media (hover: hover) and (pointer: fine) {
    li.game-item:has(> .game-row.expandable) { transition: background 0.15s ease; }
    li.game-item:has(> .game-row.expandable):hover { background: var(--hover-bg); }
    li.game-item:hover .game-row.expandable .gm-toggle { color: var(--accent); }
  }
  li.game-item:last-child { border-radius: 0 0 13px 13px; }
  .game-row.has-right-badge .team.away { padding-right: 48px; }
  .game-row:has(.live-badge):has(.gm-toggle) .live-badge { right: 36px; }
  .game-row:has(.live-badge):has(.gm-toggle) .team.away { padding-right: 108px; }
  .team-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .crest {
    flex: 0 0 auto; width: 18px; height: 18px; display: block;
    object-fit: contain;
  }
  .crest-none { visibility: hidden; }
  .team.lost .crest { opacity: 0.55; }
  body.size-small .game-row .crest { display: none; }
  .isl-flag { display: block; border-radius: 2px; }
  .isl-wrap { position: relative; display: inline-flex; flex-shrink: 0; }
  .isl-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    margin: 0;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .isl-badge:focus-visible { background: var(--accent-soft); }
  @media (hover: hover) and (pointer: fine) {
    .isl-badge:hover { background: var(--accent-soft); }
  }
  .isl-pop {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--text);
    color: var(--card-bg);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 6px 10px;
    border-radius: 8px;
    width: max-content;
    max-width: min(240px, 80vw);
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.12s ease;
    z-index: 7;
    box-shadow: var(--shadow);
  }
  .isl-pop-name { white-space: nowrap; }
  .isl-badge.open ~ .isl-pop,
  .isl-badge:focus-visible ~ .isl-pop { opacity: 1; visibility: visible; }
  @media (hover: hover) and (pointer: fine) {
    .isl-wrap:hover .isl-pop { opacity: 1; visibility: visible; }
  }
  .center { display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .game-subhead {
    padding: 7px 16px 5px; background: var(--bg);
    border-bottom: 1px solid var(--border);
    font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  body.size-small .game-subhead { padding: 6px 8px 4px; }
  .tv-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 16px;
  }
  .tv-chip img { height: 13px; width: auto; display: block; }
  .tv-chip[hidden] { display: none; }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .tv-chip img { filter: brightness(0) invert(1); }
  }
  :root.theme-dark .tv-chip img { filter: brightness(0) invert(1); }
  .status {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: var(--accent);
    white-space: nowrap;
  }
  .status.status-ns { background: transparent; color: var(--muted); font-weight: 600; }
  .status.status-og { background: var(--live-score-soft); color: var(--live-score); }
  .status.status-pst { background: var(--postponed-soft); color: var(--postponed); font-weight: 600; }
  .status.status-canc { background: var(--live-soft); color: var(--live); font-weight: 600; }
  .status-note {
    font-size: 0.58rem; font-weight: 600; line-height: 1; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap;
  }
  .kickoff-note { color: var(--accent); text-transform: none; letter-spacing: 0.01em; }
  body.size-small .status-note { display: none; }
  .status.pill-flash { animation: pill-flash 0.7s ease-out; }
  .team.goal-pulse .crest { animation: goal-crest 0.9s ease-out; }
  @keyframes goal-crest {
    0% { transform: scale(1); }
    30% { transform: scale(1.45); }
    100% { transform: scale(1); }
  }
  .status.goal-pulse { animation: goal-score 1.4s ease-out; }
  @keyframes goal-score {
    0%, 40% { background: var(--goal-c, var(--live-score)); color: var(--goal-ink, var(--live-score-soft)); transform: scale(1.12); }
    100% { transform: scale(1); }
  }
  @media (prefers-reduced-motion: reduce) {
    .team.goal-pulse .crest, .status.goal-pulse { animation: none; }
  }
  @keyframes pill-flash {
    0% { transform: scale(1); box-shadow: 0 0 0 0 var(--accent-soft); }
    35% { transform: scale(1.2); box-shadow: 0 0 0 6px var(--accent-soft); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 transparent; }
  }
  .live-badge.badge-enter, .gm-toggle.badge-enter { animation: badge-enter 0.45s ease-out; }
  @keyframes badge-enter {
    0% { opacity: 0; transform: translateY(-50%) scale(0.4); }
    100% { opacity: 1; transform: translateY(-50%) scale(1); }
  }
  .live-badge {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--live);
    background: var(--live-soft);
    padding: 3px 8px;
    border-radius: 999px;
    white-space: nowrap;
  }
  .live-badge::after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--live);
    animation: live-pulse 1.6s ease-in-out infinite;
  }
  @keyframes live-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.25; }
  }
  .gm-toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--muted);
    background: none;
    border: none;
    margin: 0;
    padding: 4px 2px;
    -webkit-tap-highlight-color: transparent;
  }
  .gm-toggle .chevron { font-size: 0.6rem; transition: transform 0.15s ease; }
  .gm-toggle.open .chevron { transform: rotate(180deg); }
  .gm-toggle.open, .gm-toggle:focus-visible { color: var(--accent); }
  @media (hover: hover) and (pointer: fine) {
    .gm-toggle:hover { color: var(--accent); }
  }
  .scorers-body {
    padding: 0 16px 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 480px;
    margin: 0 auto;
  }
  .scorers-mismatch {
    flex: 0 0 100%; margin: 10px 0 0;
    font-size: 0.68rem; color: var(--muted); text-align: center;
    font-variant-numeric: tabular-nums;
  }
  .scorers-col { flex: 1 1 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
  .scorers-col.home { align-items: flex-end; padding-right: 14px; border-right: 1px solid var(--border); }
  .scorers-col.away { align-items: flex-start; padding-left: 14px; }
  .scorer-row { display: flex; align-items: baseline; gap: 6px; font-size: 0.82rem; max-width: 100%; }
  .scorers-col.home .scorer-row { flex-direction: row-reverse; }
  .scorer-goals {
    font-weight: 700;
    color: var(--accent);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
  }
  .scorer-name { color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .scorer-row .isl-flag { width: 11px; height: 11px; flex-shrink: 0; align-self: center; }
  .scorer-isl .scorer-name { font-weight: 700; }
  .keepers {
    flex: 1 1 100%;
    display: grid; grid-template-columns: 1fr 1fr; row-gap: 6px;
    padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--border);
  }
  .keeper-head {
    grid-column: 1 / -1; text-align: center; margin-bottom: 2px;
    font-size: 0.66rem; font-weight: 600; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--muted);
  }
  .keeper-cell { display: flex; align-items: baseline; gap: 6px; font-size: 0.82rem; min-width: 0; }
  .keeper-cell.home { flex-direction: row-reverse; padding-right: 14px; border-right: 1px solid var(--border); }
  .keeper-cell.away { padding-left: 14px; }
  .keeper-num { font-weight: 700; color: var(--save); font-variant-numeric: tabular-nums; flex-shrink: 0; }
  .keeper-cell .isl-flag { width: 11px; height: 11px; flex-shrink: 0; align-self: center; }
  .keeper-pct { color: var(--muted); font-size: 0.72rem; font-variant-numeric: tabular-nums; flex-shrink: 0; }
  @media (max-width: 520px) { .keeper-pct { display: none; } }
  .pg { padding: 0 16px 14px; max-width: 460px; margin: 0 auto; }
  .pg-sides { display: flex; }
  .pg-side { flex: 1 1 0; display: flex; align-items: center; gap: 8px; min-width: 0; }
  .pg-side.home { padding-right: 14px; border-right: 1px solid var(--border); flex-direction: row-reverse; }
  .pg-side.away { padding-left: 14px; }
  .pg-side .crest { width: 24px; height: 24px; }
  .pg-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .pg-side.home .pg-info { align-items: flex-end; }
  .pg-pos { font-size: 0.78rem; font-weight: 700; }
  .pg-h {
    margin: 12px 0 4px; text-align: center; font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  .pg-meet {
    display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 8px; align-items: baseline;
    font-size: 0.8rem; padding: 4px 18px; position: relative;
    color: inherit; text-decoration: none; border-radius: 10px;
    transition: background 0.15s ease;
  }
  .pg-meet[data-game-id] { cursor: pointer; }
  .pg-meet[data-game-id]:hover, .pg-meet[aria-expanded="true"] { background: var(--accent-soft); }
  .pg-meet:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .pg-chev {
    position: absolute; right: 8px; top: 50%; width: 6px; height: 6px; margin-top: -1px;
    border-right: 1.6px solid var(--muted); border-bottom: 1.6px solid var(--muted);
    transform: translateY(-50%) rotate(45deg); transition: transform 0.25s ease;
  }
  .pg-meet[aria-expanded="true"] .pg-chev { transform: translateY(-30%) rotate(-135deg); }
  .pg .plg-wrap { margin: 4px 0 8px; }
  .gf-card .pg-meet, .gf-card .pg .plg-wrap { max-width: 460px; margin-left: auto; margin-right: auto; }
  .plg-h2h .pg { padding: 4px 0 6px; }
  .pg-date { grid-column: 1 / -1; text-align: center; font-size: 0.66rem; color: var(--muted); }
  .pg-mh { text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
  .pg-ma { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
  .pg-won { color: var(--text); font-weight: 700; }
  .pg-ms { font-weight: 700; font-variant-numeric: tabular-nums; }
  .team-link {
    display: block; background: none; border: 0; margin: 0; padding: 0;
    font: inherit; color: inherit; text-align: inherit; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .team .crest { cursor: pointer; }
  .team:not(:has(.team-link)) .crest { cursor: default; }
  .team-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  @media (hover: hover) and (pointer: fine) {
    .game-item.is-open .team-link:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  }
  .tm {
    margin: 0 12px 12px; padding: 12px 14px 10px;
    border-radius: 12px; background: var(--bg);
    border-top: 3px solid var(--tc, var(--border));
  }
  @media (prefers-color-scheme: dark) { :root:not(.theme-light) .tm { border-top-color: var(--tc-d, var(--border)); } }
  :root.theme-dark .tm { border-top-color: var(--tc-d, var(--border)); }
  .tm-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
  .tm-crest .crest { width: 30px; height: 30px; }
  .tm-title { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
  .tm-name { font-weight: 700; font-size: 0.95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tm-sub { font-size: 0.74rem; color: var(--muted); }
  .tm-country {
    display: inline-block; margin-left: 6px; padding: 0 5px;
    border-radius: 4px; background: var(--bg);
    font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em;
    color: var(--muted); vertical-align: 2px;
  }
  .tm-form { flex: 0 0 auto; }
  .tm-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; }
  .tm-h {
    margin: 0 0 6px; font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  .tm-game {
    display: flex; align-items: center; gap: 6px; font-size: 0.8rem;
    padding: 3px 4px; margin: 0 -4px; min-width: 0;
    color: inherit; text-decoration: none; border-radius: 6px;
  }
  .tm-game:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .tm-game .crest { width: 16px; height: 16px; }
  @media (hover: hover) and (pointer: fine) {
    .tm-game:hover { background: var(--hover-bg); }
  }
  .tm-date { color: var(--muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; min-width: 34px; }
  .tm-ha {
    flex: 0 0 auto; width: 16px; text-align: center; font-size: 0.62rem; font-weight: 700;
    color: var(--muted); border: 1px solid var(--border); border-radius: 4px; line-height: 14px;
  }
  .tm-opp { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
  .tm-score { flex: 0 0 auto; font-weight: 700; font-variant-numeric: tabular-nums; }
  .tm-score.tm-w { color: var(--st-up); }
  .tm-score.tm-l { color: var(--st-down); }
  .tm-score.tm-d { color: var(--muted); }
  .tm-when { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-variant-numeric: tabular-nums; }
  .tm-tv { height: 11px; width: auto; }
  @media (prefers-color-scheme: dark) { :root:not(.theme-light) .tm-tv { filter: brightness(0) invert(1); } }
  :root.theme-dark .tm-tv { filter: brightness(0) invert(1); }
  .tm-empty { margin: 2px 0; font-size: 0.78rem; color: var(--muted); }
  .tm-cup { margin-top: 10px; }
  .gf-card .tm-cup { margin-top: 0; }
  .gf-card .tm-cup > .tm-h { display: none; }
  .tm-cup-rnd {
    flex: 0 0 auto; min-width: 86px; font-size: 0.68rem; color: var(--muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .tm-isl { margin: 10px 0 0; font-size: 0.78rem; }
  .tm-isl-label { font-weight: 700; }
  @media (max-width: 500px) {
    .tm { margin: 0 8px 10px; padding: 10px 10px 8px; }
    .tm-cols { grid-template-columns: 1fr; }
    .tm-form .st-f { width: 14px; }
  }
  body.size-small .team-link { pointer-events: none; }
  .empty-state {
    text-align: center;
    color: var(--muted);
    padding: 48px 16px 40px;
    font-size: 0.95rem;
  }
  .empty-title { margin: 0 0 18px; }
  .empty-jumps { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
  .empty-jump {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 10px 14px; border-radius: 12px; text-decoration: none; text-align: left;
    background: var(--card-bg); border: 1px solid var(--border); box-shadow: var(--shadow);
    color: var(--text); font-size: 0.85rem; font-weight: 600;
    transition: border-color 0.15s ease, color 0.15s ease;
  }
  .empty-jump.next { text-align: right; }
  .empty-jump small {
    display: block; font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px;
  }
  .empty-jump .chev { font-size: 1.1rem; color: var(--muted); }
  .empty-jump:hover { border-color: var(--accent); color: var(--accent); }
  .empty-jump:hover .chev { color: var(--accent); }
  .empty-jump:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .league-standings-btn {
    display: inline; text-align: left;
    background: none; border: none; padding: 0; margin: 0;
    font: inherit; color: inherit; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .league-standings-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }
  .league-standings-pill {
    margin-left: auto; flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 5px;
    cursor: pointer; font: inherit; white-space: nowrap;
    font-size: 0.7rem; font-weight: 600;
    padding: 4px 9px; border-radius: 999px;
    background: var(--bg); border: 1px solid var(--border); color: var(--muted);
    -webkit-tap-highlight-color: transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  .league-standings-pill[aria-expanded="true"] { color: var(--text); border-color: var(--border-strong, var(--border)); }
  .league-standings-pill:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  @media (hover: hover) and (pointer: fine) {
    .league-standings-pill:hover { color: var(--text); }
  }
  .league-standings-chev { font-size: 0.85em; transition: transform 0.2s ease; }
  .league-standings-pill[aria-expanded="true"] .league-standings-chev { transform: rotate(180deg); }
  .league-standings-pill.is-loading { cursor: progress; }
  .league-standings-pill.is-loading .league-standings-chev { animation: st-loading 0.9s ease-in-out infinite; }
  @keyframes st-loading { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
  @media (prefers-reduced-motion: reduce) {
    .league-standings-pill.is-loading .league-standings-chev { animation: none; opacity: 0.5; }
  }
  .league-live-dot {
    width: 5px; height: 5px; border-radius: 999px; background: var(--live);
    animation: live-pulse 1.6s ease-in-out infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .league-live-dot { animation: none; }
  }
  .standings-wrap {
    isolation: isolate;
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
    border-top: 0 solid var(--border);
  }
  .standings-wrap.open { grid-template-rows: 1fr; border-top-width: 1px; }
  .standings-inner { overflow: hidden; min-height: 0; min-width: 0; }
  .standings-wrap.settled .standings-inner { overflow: visible; }
  .st { --st-pad: 16px; padding: 2px var(--st-pad) 14px; }
  .st-bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; flex-wrap: nowrap; margin: 0 0 10px;
  }
  .st-tabs {
    position: relative;
    display: inline-flex; gap: 2px; margin-left: auto; flex: 0 0 auto;
    background: var(--bg); border: 1px solid var(--border);
    border-radius: 999px; padding: 2px;
  }
  .st-thumb {
    position: absolute; left: 0; top: 2px; bottom: 2px; width: 0;
    background: var(--card-bg); border-radius: 999px; box-shadow: var(--shadow);
    pointer-events: none;
    transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1),
                width 0.26s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.2s ease;
  }
  .st-tabs.no-anim .st-thumb { transition: none; }
  .st-tabs.is-idle .st-thumb { opacity: 0; }
  .st-tab {
    position: relative; z-index: 1;
    border: none; background: none; cursor: pointer; font: inherit; white-space: nowrap;
    font-size: 0.68rem; font-weight: 600; color: var(--muted);
    padding: 4px 11px; border-radius: 999px;
    transition: color 0.2s ease;
  }
  .st-tab[aria-pressed="true"] { color: var(--text); }
  .st-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  @media (prefers-reduced-motion: reduce) {
    .st-thumb { transition: none; }
  }
  .st-group {
    font-size: 0.7rem; font-weight: 600; color: var(--muted);
    margin: 0 0 8px; letter-spacing: 0.02em;
  }
  .st-bar .st-group {
    margin: 0; flex: 1 1 auto; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .st-bar .st-group:empty { display: none; }
  .st-bar:has(.st-league-link) { margin: 8px 0 16px; }
  .st-bar .st-league-link { flex: 0 0 auto; }
  body.size-small .st-bar .st-league-link { display: none; }
  .st-c-team .isl-badge { padding: 2px 4px; }
  .st-c-team .isl-flag { width: 12px; height: 12px; }
  @media (max-width: 500px) {
    .st-bar { flex-wrap: wrap; justify-content: center; row-gap: 8px; }
    .st-bar .st-group { flex: 1 0 100%; text-align: center; }
    .st-tabs { margin: 0 auto; }
  }
  body.size-small .st-bar { flex-wrap: wrap; justify-content: center; row-gap: 8px; }
  body.size-small .st-bar .st-group { flex: 1 0 100%; text-align: center; }
  body.size-small .st-tabs { margin: 0 auto; }
  .st-table {
    width: calc(100% + 2 * var(--st-pad)); margin: 0 calc(-1 * var(--st-pad));
    border-collapse: collapse; table-layout: fixed; font-size: 0.82rem;
  }
  .st-table th {
    text-align: right; font-size: 0.6rem; font-weight: 600; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.07em;
    padding: 0 3px 7px; border-bottom: 1px solid var(--border);
  }
  .st-table td { padding: 7px 3px; text-align: right; }
  .st-table tbody tr.st-row-live > td { background: var(--st-live-bg); }
  .st-table td.st-changed { animation: st-changed 1.1s ease-out; }
  @keyframes st-changed { 0%, 35% { color: var(--accent); } }
  .st-table tbody tr.st-moving > td { position: relative; background: var(--card-bg); }
  .st-table tbody tr.st-row-live.st-moving > td { background: var(--st-live-bg); }
  .st-table tr > *:first-child {
    text-align: left; width: calc(42px + var(--st-pad)); padding-left: var(--st-pad); white-space: nowrap;
  }
  .st-table tr > *:last-child { padding-right: calc(var(--st-pad) + 3px); }
  .st-c-pos { color: var(--muted); font-variant-numeric: tabular-nums; }
  .st-c-team { text-align: left !important; width: auto; font-weight: 600; }
  .st-team-cell { display: flex; align-items: center; min-width: 0; }
  .st-team-name { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .st-team-cell .isl-wrap, .st-team-cell .st-live-dot { flex: 0 0 auto; }
  .st-team-cell .crest { width: 16px; height: 16px; margin-right: 8px; }
  .st-c-num { width: 26px; font-variant-numeric: tabular-nums; color: var(--muted); }
  .st-c-goals { width: 58px; }
  .st-c-gd { width: 34px; }
  .st-c-pts { font-weight: 700; color: var(--text); }
  .st-table .st-c-pts { width: 34px; }
  .st-table .st-c-form { width: calc(88px + var(--st-pad)); text-align: right; }
  .st-form { display: inline-flex; gap: 2px; vertical-align: middle; }
  .st-f {
    display: inline-flex; align-items: center; justify-content: center;
    width: 14px; height: 14px; border-radius: 3px;
    font-style: normal; font-size: 0.52rem; font-weight: 800; line-height: 1;
    color: #fff; background: var(--muted);
  }
  .st-f-w { background: var(--st-up); }
  .st-f-l { background: var(--st-down); }
  .st-f-d { background: var(--muted); }
  :root.theme-dark .st-f { color: #0f1115; }
  @media (prefers-color-scheme: dark) { :root:not(.theme-light) .st-f { color: #0f1115; } }
  body.size-medium .st-c-form, body.size-small .st-c-form { display: none; }
  body.size-medium .st-table .st-c-pts, body.size-small .st-table .st-c-pts {
    width: calc(32px + var(--st-pad)); padding-right: calc(var(--st-pad) + 3px);
  }
  .st-table tbody tr.st-row-today > td:first-child { position: relative; }
  .st-table tbody tr.st-row-today > td:first-child::before {
    content: ""; position: absolute; left: 0; top: 6px; bottom: 6px;
    width: 3px; border-radius: 0 3px 3px 0; background: var(--accent);
  }
  .st-delta { font-size: 0.58rem; font-weight: 700; margin-left: 2px; }
  .st-up { color: var(--st-up); }
  .st-down { color: var(--st-down); }
  .st-live-dot {
    display: inline-block; width: 5px; height: 5px; border-radius: 999px;
    background: var(--live); margin-left: 6px; vertical-align: middle;
    animation: live-pulse 1.6s ease-in-out infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .st-live-dot { animation: none; }
  }
  .st-rounds .rnd { margin-bottom: 12px; }
  .st-rounds .rnd:last-of-type { margin-bottom: 0; }
  .tie {
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border);
  }
  .tie:last-child { border-bottom: none; }
  .tie-side { min-width: 0; font-size: 0.82rem; font-weight: 600; }
  .tie-side:first-child { text-align: right; }
  .tie-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tie-win { color: var(--text); }
  .tie-out { color: var(--muted); font-weight: 500; }
  .tie-score { text-align: center; }
  .tie-agg {
    display: block; font-size: 0.85rem; font-weight: 800;
    font-variant-numeric: tabular-nums; white-space: nowrap;
  }
  .tie-legs {
    display: block; font-size: 0.6rem; color: var(--muted);
    font-variant-numeric: tabular-nums; white-space: nowrap; margin-top: 1px;
  }
  button.cup-game {
    font: inherit; color: inherit; text-align: inherit; width: 100%;
    margin: 0; cursor: pointer; -webkit-tap-highlight-color: transparent;
  }
  button.tie { background: none; border: 0; border-bottom: 1px solid var(--border); }
  button.tie:last-child { border-bottom: none; }
  button.bkt-line { background: none; border: 0; padding: 2px 0; }
  button.cup-game:not([data-fs-game]) { cursor: default; }
  button.cup-game:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  @media (hover: hover) and (pointer: fine) {
    button.tie[data-fs-game]:hover { background: var(--hover-bg); }
    button.bkt-tie[data-fs-game]:hover, button.bkt-line[data-fs-game]:hover { border-color: var(--accent); }
  }
  .tie-when { font-size: 0.68rem; }
  .tie-tbd { font-size: 0.74rem; color: var(--muted); margin: 0 0 4px; }
  .st-rounds, .st-rounds .rnd { min-width: 0; max-width: 100%; }
  .bkt {
    max-width: 100%;
    display: grid; grid-template-columns: repeat(var(--bkt-cols), minmax(132px, 1fr));
    gap: 10px; overflow-x: auto; padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  .bkt-col { display: flex; flex-direction: column; min-width: 0; }
  .bkt-head {
    font-size: 0.62rem; font-weight: 600; color: var(--muted); text-align: center;
    margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .bkt-ties { flex: 1; display: flex; flex-direction: column; justify-content: space-around; gap: 6px; }
  .bkt-tie {
    border: 1px solid var(--border); border-radius: 8px; padding: 3px 6px;
    background: var(--card, transparent);
  }
  .bkt-empty { opacity: 0.5; border-style: dashed; }
  .bkt-empty .bkt-team { min-height: 1.35em; }
  .bkt-bye { visibility: hidden; }
  .bkt-feed .bkt-line { min-height: 1.35em; }
  .bkt-line .tie-name b { font-weight: 700; }
  .bkt-lost { color: var(--muted); font-weight: 500; font-size: 0.92em; }
  .bkt-head small { display: block; font-weight: 500; font-size: 0.95em; opacity: 0.8; }
  .bkt-team {
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 5px;
    font-size: 0.74rem; font-weight: 600; padding: 2px 0; min-width: 0;
  }
  .bkt-team .crest, .bkt-team img { width: 16px; height: 16px; }
  .bkt-score { font-weight: 800; font-variant-numeric: tabular-nums; }
  .bkt-team.tie-out { color: var(--muted); font-weight: 500; }
  .st-note { font-size: 0.66rem; color: var(--muted); line-height: 1.5; margin: 10px 0 0; }
  .st-ts { white-space: nowrap; }
  body.size-medium .st-table { font-size: 0.76rem; }
  body.size-small .st-c-wdl, body.size-small .st-c-goals { display: none; }
  body.size-small .st { --st-pad: 8px; padding: 8px var(--st-pad); }
  body.size-small .st-table { font-size: 0.72rem; }
  @media (max-width: 500px) {
    .st { --st-pad: 12px; padding: 2px var(--st-pad) 12px; }
    .st-c-goals { display: none; }
    .st-table { font-size: 0.84rem; }
    .st-table td { padding: 8px 3px; }
    .st-c-num { width: 24px; }
    .st-c-gd { width: 36px; }
    .st-c-form { display: none; }
    .st-table .st-c-pts { width: calc(32px + var(--st-pad)); padding-right: calc(var(--st-pad) + 3px); }
  }
  @media (max-width: 420px) {
    .st-c-wdl { display: none; }
  }
  #hk-main-slot { touch-action: pan-y pinch-zoom; }
  .day-roll { display: inline-grid; overflow: hidden; vertical-align: bottom; }
  .day-roll > span { grid-area: 1 / 1; justify-self: start; white-space: nowrap; }
  .day-roll-old { animation: day-roll-out 0.3s cubic-bezier(0.4, 0, 1, 1) forwards; }
  .day-roll-new { animation: day-roll-in 0.42s cubic-bezier(0.22, 0.8, 0.24, 1) both; }
  @keyframes day-roll-out { to { transform: translateY(calc(-100% * var(--roll-dir))); opacity: 0; } }
  @keyframes day-roll-in { from { transform: translateY(calc(100% * var(--roll-dir))); opacity: 0; } }
  ::view-transition-group(*) {
    animation-duration: 0.42s;
    animation-timing-function: cubic-bezier(0.22, 0.8, 0.24, 1);
  }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.2s; }
  ::view-transition-old(hk-date) { display: none; }
  ::view-transition-new(hk-date) { animation: none; }
  @media (prefers-reduced-motion: reduce) {
    .day-roll-old, .day-roll-new { animation: none; }
    .day-roll-old { display: none; }
  }
  .toolbar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 8px 12px; margin: -6px 0 12px;
  }
  .toolbar:not(:has(> :not([hidden]))) { display: none; }
  .live-status {
    display: flex; align-items: center; gap: 6px; margin-left: auto; padding: 0 2px;
    font-size: 0.68rem; color: var(--muted); font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .chips { display: flex; gap: 6px; flex-wrap: wrap; min-width: 0; }
  .chips[hidden] { display: none; }
  .chip {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 5px 11px; border-radius: 999px; cursor: pointer; font: inherit;
    font-size: 0.74rem; font-weight: 600; white-space: nowrap;
    background: var(--card-bg); color: var(--muted);
    border: 1px solid var(--border); box-shadow: var(--shadow);
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .chip[hidden] { display: none; }
  .chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  @media (hover: hover) and (pointer: fine) {
    .chip:hover { color: var(--text); border-color: var(--accent); }
  }
  .chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
  .chip-n { font-variant-numeric: tabular-nums; opacity: 0.7; font-weight: 700; }
  .chip-n:empty { display: none; }
  .chip .isl-flag { width: 13px; height: 13px; flex-shrink: 0; }
  .chip-dot {
    width: 6px; height: 6px; border-radius: 999px; background: var(--live);
    animation: live-pulse 1.6s ease-in-out infinite;
  }
  .chip-live[aria-pressed="true"] .chip-dot { background: currentColor; }
  .lg-chip { flex: 0 0 auto; color: var(--text); }
  .lg-chip svg { color: var(--accent); flex-shrink: 0; }
  .lg-chip[aria-expanded="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
  .lg-chip[aria-expanded="true"] svg { color: var(--on-accent); }
  .live-status[hidden] + .vis-hidden + .lg-chip { margin-left: auto; }
  .chip-order { margin-left: 6px; position: relative; }
  .chip-order::before {
    content: ""; position: absolute; right: calc(100% + 6px); top: 15%; bottom: 15%;
    border-left: 1px solid var(--border);
  }
  @media (max-width: 500px) { .chip-order { margin-left: 5px; } }
  @media (prefers-reduced-motion: reduce) { .chip-dot { animation: none; } }
  body.size-small .chips { display: none; }
  @media (max-width: 500px) {
    .toolbar { flex-wrap: nowrap; gap: 8px; margin: -4px 0 10px; }
    .chips {
      flex: 1 1 auto; flex-wrap: nowrap; overflow-x: auto; gap: 5px;
      scrollbar-width: none; padding: 2px 0;
      -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 16px), transparent);
              mask-image: linear-gradient(to right, #000 calc(100% - 16px), transparent);
    }
    .chips::-webkit-scrollbar { display: none; }
    .chip { padding: 4px 9px; font-size: 0.7rem; gap: 4px; box-shadow: none; }
    .chip:last-child { margin-right: 14px; }
    .chip .isl-flag { width: 11px; height: 11px; }
    .live-status { flex: 0 0 auto; font-size: 0.64rem; }
    .live-status .ls-pre { display: none; }
  }
  #hk-main-slot[data-filter~="tv"]:not([data-filter~="isl"]) section.isl-day,
  #hk-main-slot[data-filter~="live"]:not([data-filter~="isl"]) section.isl-day { display: none; }
  #hk-main-slot[data-filter~="isl"] li.game-item[data-isl="0"],
  #hk-main-slot[data-filter~="tv"] li.game-item[data-tv="0"],
  #hk-main-slot[data-filter~="live"] li.game-item[data-live="0"],
  #hk-main-slot .filter-empty,
  #hk-main-slot .game-subhead.filter-empty { display: none; }
  #hk-main-slot li.game-item.filter-last { border-bottom: none; }
  #hk-main-slot[data-order="time"] main { display: flex; flex-direction: column; }
  #hk-main-slot[data-order="time"] section.league:not(.league-pinned),
  #hk-main-slot[data-order="time"] section.league:not(.league-pinned) > ul.games { display: contents; }
  #hk-main-slot[data-order="time"] section.league-pinned { order: -1; }
  #hk-main-slot[data-order="time"] .league-pinned li.game-item {
    order: 0; background: none; border: none; border-radius: 0;
    box-shadow: none; margin-bottom: 0;
  }
  #hk-main-slot[data-order="time"] .league-pinned li.game-item:last-child { border-radius: 0 0 13px 13px; }
  #hk-main-slot[data-order="time"] .league-pinned li.game-item::before { content: none; }
  #hk-main-slot[data-order="time"] section.league:not(.league-pinned) > .league-head,
  #hk-main-slot[data-order="time"] section.league:not(.league-pinned) > .standings-wrap,
  #hk-main-slot[data-order="time"] li.game-subhead { display: none; }
  #hk-main-slot[data-order="time"] section.isl-day { order: -1; }
  #hk-main-slot[data-order="time"] .filter-none { order: 99999; }
  #hk-main-slot[data-order="time"] li.game-item {
    order: var(--t, 99998);
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-top: none;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
  }
  #hk-main-slot[data-order="time"] li.game-item.order-head {
    border-top: 1px solid var(--border);
    border-radius: 14px 14px 0 0;
  }
  #hk-main-slot[data-order="time"] li.game-item.order-tail {
    border-radius: 0 0 14px 14px;
    margin-bottom: 14px;
  }
  #hk-main-slot[data-order="time"] li.game-item.order-head.order-tail { border-radius: 14px; }
  #hk-main-slot[data-order="time"] li.game-item.order-head::before {
    content: attr(data-league-name);
    display: block;
    padding: 11px 16px 9px;
    border-bottom: 1px solid var(--border);
    font-size: 0.62rem; font-weight: 700; color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  @media (max-width: 500px) {
    #hk-main-slot[data-order="time"] li.game-item.order-head::before { padding: 10px 12px 8px; }
  }
  body.size-small #hk-main-slot[data-order="time"] li.game-item.order-head::before { padding: 8px 10px 7px; }
  .filter-none { text-align: center; color: var(--muted); padding: 40px 16px; font-size: 0.9rem; }
  .filter-none button {
    margin-top: 12px; font: inherit; font-size: 0.8rem; font-weight: 600; cursor: pointer;
    padding: 7px 14px; border-radius: 999px; color: var(--accent);
    background: var(--accent-soft); border: 1px solid transparent;
  }
  .filter-none button:hover { border-color: var(--accent); }
  .live-status[hidden] { display: none; }
  .live-status::before {
    content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--st-up);
  }
  .live-status.offline { color: var(--postponed); }
  .live-status.offline::before { background: var(--postponed); }
  body.size-small .live-status { display: none; }
  .hk-progress {
    position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 50;
    overflow: hidden; pointer-events: none; opacity: 0; transition: opacity 0.2s ease;
  }
  .hk-progress.on { opacity: 1; }
  .hk-progress::before {
    content: ""; position: absolute; top: 0; bottom: 0; width: 40%;
    background: var(--accent); border-radius: 2px;
    animation: hk-progress 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  }
  @keyframes hk-progress { from { left: -40%; } to { left: 100%; } }
  @media (prefers-reduced-motion: reduce) {
    .hk-progress::before { animation: none; left: 0; width: 100%; opacity: 0.6; }
  }
  footer.site-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-top: 12px;
  }
  #hk-main-slot { display: flow-root; }
  #hk-main-slot section.league:last-child { margin-bottom: 0; }
  footer.site-footer .disclaimer {
    margin: 0; max-width: 64ch; text-align: center;
    font-size: 0.62rem; line-height: 1.4; color: var(--muted); opacity: 0.85;
  }
  footer.site-footer img { height: 20px; width: auto; opacity: 0.7; }
  .install-app {
    display: inline-flex; align-items: center; gap: 5px; min-height: 28px;
    padding: 0 10px; border-radius: 999px; border: 0;
    background: transparent; color: var(--muted); font: inherit;
    font-size: 0.68rem; font-weight: 600; cursor: pointer; opacity: 0.85;
  }
  .install-app[hidden], .install-ios[hidden] { display: none; }
  .install-app:hover { color: var(--accent); background: var(--accent-soft); opacity: 1; }
  .install-app:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .install-ios { margin: 0; font-size: 0.7rem; color: var(--muted); text-align: center; }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) footer.site-footer img { filter: brightness(0) invert(1); }
  }
  :root.theme-dark footer.site-footer img { filter: brightness(0) invert(1); }
  @media (max-width: 520px) {
    nav.day-nav a .nav-label { display: none; }
    nav.day-nav a#hk-nav-prev, nav.day-nav a#hk-nav-next {
      width: 32px; height: 32px; padding: 0; justify-content: center; flex-shrink: 0;
    }
    nav.day-nav a#hk-nav-prev .chev, nav.day-nav a#hk-nav-next .chev { font-size: 1rem; }
  }
  @media (max-width: 380px) {
    header.top { flex-direction: column; align-items: stretch; padding: 4px 0 14px; gap: 10px; }
    .brand { width: 100%; }
    .brand img { height: 30px; }
    .brand h1 { font-size: 1.25rem; }
    .brand p { font-size: 0.78rem; }
    nav.day-nav { width: 100%; justify-content: center; gap: 8px; }
    nav.day-nav a { padding: 6px 10px; font-size: 0.74rem; }
    nav.day-nav a#hk-nav-prev, nav.day-nav a#hk-nav-next {
      width: 34px; height: 34px; padding: 0; justify-content: center; flex-shrink: 0;
    }
    nav.day-nav a#hk-nav-prev .chev, nav.day-nav a#hk-nav-next .chev { font-size: 1rem; }
    nav.day-nav a .nav-label { display: none; }
  }
  @media (max-width: 500px) {
    .wrap { padding: 12px 10px 32px; }
    .game-row { grid-template-columns: 1fr 66px 1fr; gap: 4px; padding: 10px 12px; }
    .team { font-size: 0.85rem; }
    .status { font-size: 0.85rem; padding: 2px 6px; }
    .isl-badge { padding: 8px 3px; }
    .gm-toggle { right: 10px; }
    .game-row.has-right-badge:has(.live-badge) .team.away { padding-right: 18px; }
    .game-row.has-right-badge:has(.gm-toggle) .team.away { padding-right: 14px; }
    .game-row:has(.live-badge):has(.gm-toggle) .live-badge { right: 28px; }
    .game-row:has(.live-badge):has(.gm-toggle) .team.away { padding-right: 48px; }
    .gm-toggle-text { display: none; }
    .gm-toggle .chevron { font-size: 0.7rem; }
    .live-badge {
      right: 10px;
      background: transparent;
      padding: 0;
      gap: 0;
    }
    .live-badge-text { display: none; }
  }
  body.size-medium .wrap { max-width: 480px; padding: 12px 12px 24px; }
  body.size-medium .brand img { height: 26px; }
  body.size-medium .brand h1 { font-size: 1.15rem; }
  body.size-medium .brand p { font-size: 0.75rem; }
  body.size-medium nav.day-nav a { padding: 6px 10px; font-size: 0.75rem; }
  body.size-medium .game-row { padding: 8px 12px; grid-template-columns: 1fr 72px 1fr; }
  body.size-medium .game-row.has-right-badge .team.away { padding-right: 36px; }
  body.size-medium .gm-toggle, body.size-medium .live-badge { right: 12px; }
  body.size-medium .team { font-size: 0.82rem; }
  body.size-medium .status { font-size: 0.85rem; padding: 2px 8px; }
  body.size-medium footer.site-footer { padding-top: 8px; gap: 8px; }
  body.size-medium footer.site-footer img { height: 16px; }
  body.size-medium footer.site-footer .disclaimer { font-size: 0.58rem; }
  body.size-small .wrap { max-width: 340px; padding: 8px 8px 16px; }
  body.size-small header.top { padding: 4px 0 10px; }
  body.size-small .brand img,
  body.size-small .brand h1 { display: none; }
  body.size-small .brand p { font-size: 0.72rem; margin: 0; font-weight: 700; }
  body.size-small nav.day-nav a { padding: 4px 8px; font-size: 0.68rem; }
  body.size-small .league-head { padding: 8px 10px; }
  body.size-small .league-head h2 { font-size: 0.75rem; }
  body.size-small .game-row { padding: 6px 8px; gap: 4px; grid-template-columns: 1fr 56px 1fr; }
  body.size-small .team { font-size: 0.72rem; }
  body.size-small .status { font-size: 0.72rem; padding: 1px 6px; }
  body.size-small .tv-chip img { height: 11px; }
  body.size-small .gm,
  body.size-small .gm-toggle,
  body.size-small .gm-meta,
  body.size-small section.isl-day,
  body.size-small .week-strip,
  body.size-small footer.site-footer { display: none; }
  .gm-toggle:focus-visible {
    outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 999px;
  }
  .live-note { display: none; color: var(--live); text-transform: none; letter-spacing: 0.01em; }
  @media (max-width: 500px) {
    .live-note { display: block; font-size: 0.66rem; }
  }
  body.size-small .live-note { display: none; }
  @media (pointer: coarse) {
    nav.day-nav a, .cal-btn, .cal-nav-btn { position: relative; }
    nav.day-nav a::before, .cal-btn::before, .cal-nav-btn::before,
    .gm-toggle::before {
      content: ""; position: absolute; inset: -6px -3px;
    }
    .isl-badge { position: relative; }
    .isl-badge::before { content: ""; position: absolute; inset: -2px -8px; }
    .cal-nav-btn::before { inset: -9px; }
    .gm-toggle::before { inset: -14px -12px; }
    .chip { min-height: 36px; }
  }
  :root {
    --gm-crest: 48px;
    --gm-score: 1.7rem;
    --gm-name: 0.98rem;
    --gm-ease: cubic-bezier(0.22, 0.8, 0.24, 1);
    --skel: color-mix(in srgb, var(--border) 85%, transparent);
    --skel-hi: color-mix(in srgb, var(--border) 35%, transparent);
  }
  @media (max-width: 500px) {
    :root { --gm-crest: 40px; --gm-score: 1.45rem; --gm-name: 0.86rem; }
  }
  body.size-medium { --gm-crest: 40px; --gm-score: 1.45rem; --gm-name: 0.86rem; }
  .game-item.is-open > .game-row {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "home center away" "meta meta meta";
    align-items: start;
    row-gap: 10px; column-gap: 10px;
    padding: 18px 16px 12px;
  }
  .game-item.is-open > .game-row .team.home { grid-area: home; }
  .game-item.is-open > .game-row .team.away { grid-area: away; }
  .game-item.is-open > .game-row .center { grid-area: center; padding-top: 4px; gap: 6px; }
  .game-item.is-open > .game-row .team {
    flex-wrap: wrap; justify-content: center; align-content: flex-start;
    text-align: center; row-gap: 11px; column-gap: 2px;
    font-size: var(--gm-name);
    padding: 0 !important;
  }
  .game-item.is-open > .game-row .crest {
    order: -1;
    width: var(--gm-crest); height: var(--gm-crest);
    margin: 0 calc((100% - var(--gm-crest)) / 2);
  }
  .game-item.is-open > .game-row .crest-none { display: none; }
  .crest-ph { display: none; }
  .game-item.is-open > .game-row .crest-ph {
    order: -1; display: flex; align-items: center; justify-content: center;
    width: var(--gm-crest); height: var(--gm-crest);
    margin: 0 calc((100% - var(--gm-crest)) / 2);
    border-radius: 50%; cursor: pointer;
    background: var(--tc, hsl(var(--ph-h, 225) 60% 90%)); color: var(--tc-ink, hsl(var(--ph-h, 225) 55% 28%));
    font-size: calc(var(--gm-crest) * 0.36); font-weight: 700; line-height: 1; letter-spacing: 0.02em;
  }
  .game-item.is-open > .game-row .crest-ph.is-long { font-size: calc(var(--gm-crest) * 0.29); }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .game-item.is-open > .game-row .crest-ph { background: var(--tc-d, hsl(var(--ph-h, 225) 30% 26%)); color: var(--tc-ink, hsl(var(--ph-h, 225) 70% 86%)); }
  }
  :root.theme-dark .game-item.is-open > .game-row .crest-ph { background: var(--tc-d, hsl(var(--ph-h, 225) 30% 26%)); color: var(--tc-ink, hsl(var(--ph-h, 225) 70% 86%)); }
  .game-item.is-open > .game-row .team.lost .crest { opacity: 0.7; }
  .game-item.is-open > .game-row .team .isl-wrap { order: 1; }
  .game-item:not(.is-open) > .game-row .team-name { font-size: calc(100% * var(--fit, 1)); }
  .game-item.is-open > .game-row .team-name {
    white-space: normal; overflow-wrap: anywhere; line-height: 1.25;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    text-align: center;
  }
  .game-item.is-open > .game-row .status { font-size: var(--gm-score); padding: 4px 14px; }
  .game-item.is-open > .game-row .status-note { font-size: 0.66rem; }
  .game-item.is-open > .game-row .live-note { display: block; }
  .game-row .live-badge { transition: opacity 0.2s ease, visibility 0.2s; }
  .game-item.is-open > .game-row .live-badge { opacity: 0; visibility: hidden; }
  .game-item.is-open > .game-row .gm-toggle { top: var(--gm-toggle-y, 50%); }
  .gm-toggle .chevron { display: inline-block; }
  .gm-toggle[aria-expanded="true"] .chevron { transform: rotate(180deg); }
  .gm-toggle[aria-expanded="true"] { color: var(--accent); }
  .game-item.is-open > .game-row .gm-toggle-text {
    position: absolute; right: 100%; margin-right: 4px; opacity: 0; pointer-events: none;
  }
  .gm-meta { display: none; }
  .game-item.is-open > .game-row .gm-meta {
    grid-area: meta;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 6px;
    margin: 0; font-size: 0.72rem; color: var(--muted); text-align: center;
  }
  .gm-meta span + span::before { content: "·"; margin-right: 6px; opacity: 0.7; }
  @media (hover: hover) and (pointer: fine) {
    li.game-item.is-open:has(> .game-row.expandable):hover { background: none; }
  }
  .game-row .team-name { transition: color 0.2s ease; }
  .game-row .team { transition: opacity 0.2s ease; }
  .game-item[data-gm-team="home"] .team.home .team-name,
  .game-item[data-gm-team="away"] .team.away .team-name { color: var(--accent); }
  .game-item.is-open > .game-row .team { position: relative; isolation: isolate; }
  .game-item.is-open > .game-row .team::before {
    content: ""; position: absolute; z-index: -1;
    top: -6px; left: 50%;
    width: calc(var(--gm-crest) + 12px); height: calc(var(--gm-crest) + 12px);
    border-radius: 50%;
    background: var(--accent-soft);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);
    opacity: 0; transform: translateX(-50%) scale(0.8);
    transition: opacity 0.25s ease, transform 0.3s var(--gm-ease);
    pointer-events: none;
  }
  .game-item[data-gm-team="home"].is-open > .game-row .team.home::before,
  .game-item[data-gm-team="away"].is-open > .game-row .team.away::before {
    opacity: 1; transform: translateX(-50%) scale(1);
  }
  .game-item[data-gm-team="home"] .team.away,
  .game-item[data-gm-team="away"] .team.home { opacity: 0.6; }
  .gm[hidden] { display: none; }
  .gm-bar { display: flex; justify-content: center; padding: 2px 16px 12px; }
  .gm-tabs { margin: 0; }
  .gm-tabs .st-tab { font-size: 0.74rem; padding: 6px 14px; }
  .gm-panels { position: relative; display: flow-root; }
  .gm-panel { display: flow-root; }
  .gm-panel[hidden] { display: none; }
  .gm-empty {
    margin: 0; padding: 6px 16px 18px; text-align: center;
    font-size: 0.8rem; color: var(--muted);
  }
  .gm-kickoff {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 4px 16px 18px; text-align: center;
  }
  .gm-kick-time { font-size: 0.9rem; font-weight: 700; }
  .gm-kick-tv { font-size: 0.78rem; color: var(--accent); font-weight: 600; }
  .gm-kick-note { font-size: 0.74rem; color: var(--muted); }
  .gm-videos {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: 6px 10px; padding: 2px 16px 16px;
  }
  .gm-video {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 11px; border-radius: 999px;
    border: 1px solid var(--border);
    font-size: 0.76rem; font-weight: 600; color: var(--accent); text-decoration: none;
  }
  .gm-video:hover, .gm-video:focus-visible { background: var(--accent-soft); }
  .gm-video-play {
    width: 0; height: 0; border-style: solid;
    border-width: 4px 0 4px 7px; border-color: transparent transparent transparent currentColor;
  }
  .gm-video-src { font-size: 0.72rem; color: var(--muted); }
  .gm-team .tm { margin: 0 12px 12px; }
  .gm-team .tm-crest { display: none; }
  .gm-team-error { display: flex; flex-direction: column; align-items: center; gap: 10px; }
  .gm-team-error button {
    font: inherit; font-size: 0.78rem; font-weight: 700; cursor: pointer;
    min-height: 36px; padding: 0 16px; border-radius: 999px;
    color: var(--accent); background: var(--accent-soft); border: 1px solid transparent;
  }
  .gm-team-error button:hover, .gm-team-error button:focus-visible { border-color: var(--accent); }
  .tm-isl-link {
    font: inherit; color: var(--accent); background: none; border: 0; padding: 0; margin: 0;
    cursor: pointer;
  }
  .tm-isl-link:hover { opacity: 0.8; }
  .tm-isl-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
  .scorer-link {
    font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer;
    text-align: inherit;
  }
  .scorer-link:hover, .scorer-link:focus-visible { color: var(--accent); }
  .scorer-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
  .gm-player { margin: 0 12px 12px; }
  .gm-back {
    display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px;
    min-height: 32px; padding: 0 12px; border-radius: 999px; cursor: pointer;
    font: inherit; font-size: 0.78rem; font-weight: 600;
    color: var(--accent); background: var(--accent-soft); border: 1px solid transparent;
  }
  .gm-back:hover, .gm-back:focus-visible { border-color: var(--accent); }
  .gm-player .pl-slot { padding: 12px 14px 10px; border-radius: 12px; background: var(--bg); }
  .gm-player .gm-skel { margin: 0; }
  .gm-skel { margin: 0 12px 12px; padding: 12px 14px; border-radius: 12px; background: var(--bg); }
  .gm-skel i {
    display: block; height: 12px; border-radius: 6px;
    background: linear-gradient(90deg, var(--skel) 0%, var(--skel-hi) 50%, var(--skel) 100%);
    background-size: 200% 100%;
    animation: gm-shimmer 1.2s linear infinite;
  }
  .gm-skel .sk-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
  .gm-skel .sk-dot { width: 30px; height: 30px; border-radius: 50%; flex: none; }
  .gm-skel .sk-title { width: 45%; height: 14px; }
  .gm-skel .sk-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  @media (max-width: 500px) { .gm-skel .sk-cols { grid-template-columns: 1fr; } }
  .gm-skel .sk-cols i:nth-child(3n) { width: 70%; }
  .gm-skel .sk-rows { display: grid; gap: 12px; }
  .gm-skel .sk-rows i:nth-child(odd) { width: 80%; }
  .gm-skel .sk-rows i:nth-child(even) { width: 62%; margin-left: auto; }
  @keyframes gm-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
  .gm-events { padding: 0 0 6px; }
  .ev-count {
    display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center;
    margin: 0; padding: 8px 16px 10px;
    border-bottom: 1px solid var(--border);
    font-size: 0.68rem; font-weight: 600; color: var(--muted);
    font-variant-numeric: tabular-nums;
  }
  .ev-mismatch {
    margin: 0; padding: 7px 16px;
    border-bottom: 1px solid var(--border);
    font-size: 0.68rem; color: var(--muted); text-align: center;
    font-variant-numeric: tabular-nums;
  }
  .ev-list {
    list-style: none; margin: 0 auto; padding: 6px 0;
    max-width: 620px;
    background: linear-gradient(var(--border), var(--border)) center / 1px 100% no-repeat;
  }
  .ev {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.2rem minmax(0, 1fr);
    align-items: center;
    padding: 2px 10px;
    font-size: 0.78rem;
  }
  .ev-side, .ev-mid { grid-row: 1; }
  .ev-side { grid-column: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; padding-right: 10px; }
  .ev-away .ev-side { grid-column: 3; padding-right: 0; padding-left: 10px; }
  .ev-mid {
    grid-column: 2; display: flex; flex-direction: column; align-items: center;
    gap: 1px; line-height: 1.2;
  }
  .ev-line {
    display: flex; flex-wrap: nowrap; align-items: baseline;
    justify-content: flex-end; gap: 4px 6px;
  }
  .ev-away .ev-line { justify-content: flex-start; }
  .ev-home .ev-what { order: 1; }
  .ev-side { text-align: right; }
  .ev-away .ev-side { text-align: left; }
  .ev-what {
    color: var(--muted); font-size: 0.64rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap;
  }
  .ev-what b { text-transform: none; letter-spacing: 0; color: var(--text); }
  .ev-who {
    display: inline-flex; align-items: baseline; gap: 4px;
    min-width: 0; font-weight: 600; overflow-wrap: anywhere;
  }
  .ev-who .isl-flag { width: 12px; height: 12px; flex-shrink: 0; }
  .ev-assist { color: var(--muted); font-size: 0.68rem; }
  .ev-time {
    color: var(--muted); font-size: 0.68rem; font-variant-numeric: tabular-nums;
    background: var(--card-bg); padding: 0 3px;
  }
  .ev-score {
    display: grid; grid-template-columns: 1fr auto 1fr; width: 100%;
    font-weight: 700; font-variant-numeric: tabular-nums; font-size: 0.72rem;
    background: var(--card-bg);
  }
  .ev-score > :first-child { text-align: right; }
  .ev-score > :last-child { text-align: left; }
  .ev-score i { font-style: normal; padding: 0 1px; }
  .ev-goal, .ev-sevenm_goal { padding-top: 5px; padding-bottom: 5px; }
  .ev-goal .ev-what, .ev-sevenm_goal .ev-what { color: var(--accent); }
  .ev-goal .ev-who, .ev-sevenm_goal .ev-who { font-size: 0.86rem; font-weight: 700; }
  .ev-goal .ev-score, .ev-sevenm_goal .ev-score { color: var(--text); font-size: 0.8rem; }
  .ev-goal .ev-mid::before, .ev-sevenm_goal .ev-mid::before {
    content: ""; width: 7px; height: 7px; border-radius: 50%; margin-bottom: 1px;
    background: var(--tc-home, var(--accent));
  }
  .ev-goal.ev-away .ev-mid::before, .ev-sevenm_goal.ev-away .ev-mid::before {
    background: var(--tc-away, var(--accent));
  }
  .ev-two_min .ev-what, .ev-yellow .ev-what { color: var(--postponed); }
  .ev-red .ev-what { color: var(--live); }
  .ev-save .ev-what { color: var(--save); }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .ev-goal .ev-mid::before { background: var(--tc-home-d, var(--accent)); }
    :root:not(.theme-light) .ev-goal.ev-away .ev-mid::before,
    :root:not(.theme-light) .ev-sevenm_goal.ev-away .ev-mid::before { background: var(--tc-away-d, var(--accent)); }
  }
  :root.theme-dark .ev-goal .ev-mid::before { background: var(--tc-home-d, var(--accent)); }
  :root.theme-dark .ev-goal.ev-away .ev-mid::before,
  :root.theme-dark .ev-sevenm_goal.ev-away .ev-mid::before { background: var(--tc-away-d, var(--accent)); }
  .ev-period {
    display: grid; grid-template-columns: 1fr auto 1fr;
    align-items: stretch; gap: 0;
    margin: 7px 0; padding: 0 10px;
  }
  .ev-period > * {
    display: flex; align-items: center; justify-content: center;
    min-width: 0; padding: 5px 0;
    background: var(--bg);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .ev-period .ev-time {
    justify-self: end; padding: 5px 9px 5px 14px;
    border-left: 1px solid var(--border);
    border-radius: 999px 0 0 999px;
  }
  .ev-period .ev-what {
    justify-self: start; padding: 5px 14px 5px 9px;
    color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    border-right: 1px solid var(--border);
    border-radius: 0 999px 999px 0;
  }
  .ev-period .ev-score { justify-self: center; width: auto; }
  .ev-period .ev-score:empty { padding: 0; }
  @media (max-width: 500px) {
    .ev:not(.ev-period) { grid-template-columns: minmax(0, 1fr) 3.6rem minmax(0, 1fr); padding: 3px 6px; }
    .ev { font-size: 0.75rem; }
    .ev-period { padding: 0 6px; }
    .ev-side { padding-right: 6px; }
    .ev-away .ev-side { padding-left: 6px; }
    .ev-line { flex-direction: column; align-items: flex-end; gap: 0; }
    .ev-away .ev-line { align-items: flex-start; }
    .ev-home .ev-what { order: 0; }
    .ev-who { overflow-wrap: break-word; }
  }
  body.size-small .ev:not(.ev-period) { grid-template-columns: minmax(0, 1fr) 3.2rem minmax(0, 1fr); padding: 3px 4px; }
  body.size-small .ev { font-size: 0.72rem; }
  body.size-small .ev-period { padding: 0 4px; }
  body.size-small .ev-count { padding: 7px 10px 8px; }
  .game-item.is-open .team.goal-pulse .crest { animation-name: goal-crest-lg; }
  @keyframes goal-crest-lg {
    0% { transform: scale(1); }
    30% { transform: scale(1.18); }
    100% { transform: scale(1); }
  }
  @media (max-width: 500px) {
    .game-item.is-open > .game-row { padding: 16px 10px 10px; column-gap: 6px; }
    .gm-bar { padding: 2px 10px 10px; }
  }
  body.size-medium .game-item.is-open > .game-row { padding: 14px 12px 10px; }
  @media (prefers-reduced-motion: reduce) {
    .gm-skel i { animation: none; }
    .game-row .live-badge, .game-row .team, .game-row .team-name { transition: none; }
    .game-item.is-open .team.goal-pulse .crest { animation: none; }
    .gm-toggle .chevron { transition: none; }
    .game-item.is-open > .game-row .team::before { transition: none; }
  }
  .st-team-link {
    display: block; font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0;
    text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
  }
  .st-team-link[aria-expanded="true"] { color: var(--accent); }
  .st-team-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
  @media (hover: hover) and (pointer: fine) {
    .st-team-link:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  }
  .st-table tbody tr.st-team-row > td {
    padding: 0 !important; text-align: left; background: none; border-bottom: 0;
  }
  .st-team-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.28s var(--gm-ease); }
  .st-team-wrap.open { grid-template-rows: 1fr; }
  .st-team-inner { overflow: hidden; min-height: 0; }
  .st-team-inner .tm { margin: 2px 0 10px; }
  .st-team-inner .gm-skel { margin: 2px 0 10px; }
  @media (prefers-reduced-motion: reduce) { .st-team-wrap { transition: none; } }
  .hk-toast.hk-toast-err {
    border-color: var(--border); cursor: default; white-space: normal;
    padding: 8px 8px 8px 16px;
  }
  .hk-toast-err .tst-msg { flex: 1 1 auto; }
  .hk-toast-err button {
    font: inherit; font-size: 0.78rem; font-weight: 700; cursor: pointer;
    min-height: 32px; padding: 0 12px; border-radius: 999px; flex-shrink: 0;
    color: var(--accent); background: var(--accent-soft); border: 1px solid transparent;
  }
  .hk-toast-err button:hover, .hk-toast-err button:focus-visible { border-color: var(--accent); }
  .hk-toast-err .tst-close { color: var(--muted); background: transparent; padding: 0 8px; }
  .tp-actions { margin-left: auto; align-self: flex-start; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
  .cmp-start, .follow-btn {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px;
    border-radius: 999px; border: 1px solid var(--border); background: var(--card-bg);
    color: var(--accent); font: inherit; font-size: 0.78rem; font-weight: 700; cursor: pointer;
  }
  .cmp-start:hover { background: var(--accent-soft); }
  .cmp-start:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .follow-btn[hidden], .follow-hint[hidden] { display: none; }
  .follow-btn:hover { background: var(--accent-soft); }
  .follow-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .follow-btn .follow-on { display: none; }
  .follow-btn[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
  .follow-btn[aria-pressed="true"] svg path:first-child { fill: currentColor; }
  .follow-btn[aria-pressed="true"] .follow-on { display: inline; }
  .follow-btn[aria-pressed="true"] .follow-off { display: none; }
  .follow-btn.is-busy { opacity: 0.6; pointer-events: none; }
  .follow-hint { margin: 10px 0 0; font-size: 0.76rem; line-height: 1.45; color: var(--muted); }
  .follow-hint.is-error { color: var(--st-down); }
  @media (max-width: 520px) {
    .tp-head:has(.tp-actions) { flex-wrap: wrap; }
    .tp-actions { margin-left: 0; justify-content: flex-start; }
    .tp-actions:not(:has(.cmp-start)) { display: contents; }
    .tp-actions .follow-btn {
      position: absolute; top: 12px; right: 12px; z-index: 1;
      width: 40px; height: 40px; min-height: 0; padding: 0; justify-content: center;
    }
    .tp-actions .follow-btn span {
      position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
    }
    .tp-actions .follow-btn svg { width: 18px; height: 18px; }
    .tp-hero:has(.follow-btn:not([hidden])) .tp-title { padding-right: 44px; }
  }
  .cmp-sides { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 10px; }
  .cmp-side { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; min-width: 0; }
  .cmp-name {
    font: inherit; font-size: 1.05rem; font-weight: 800; line-height: 1.2; color: var(--text);
    background: none; border: 0; padding: 0; cursor: pointer; overflow-wrap: anywhere;
  }
  .cmp-name:hover { text-decoration: underline; text-underline-offset: 3px; }
  .cmp-name:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  .cmp-club { font-size: 0.76rem; font-weight: 600; color: var(--muted); }
  .cmp-vs { align-self: center; font-size: 0.74rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
  .cmp-swap {
    align-self: center; display: inline-grid; place-items: center; width: 36px; height: 36px;
    border-radius: 50%; border: 1px solid var(--border); background: var(--card-bg); color: var(--muted); cursor: pointer;
  }
  .cmp-swap:hover { color: var(--accent); border-color: var(--accent); }
  .cmp-swap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .cmp-foot { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 16px; }
  .cmp-note { margin: 0; font-size: 0.76rem; color: var(--muted); text-align: center; }
  .cmp-change {
    font: inherit; font-size: 0.74rem; font-weight: 600; color: var(--accent);
    background: none; border: 0; padding: 4px 6px; cursor: pointer;
  }
  .cmp-change:hover { text-decoration: underline; text-underline-offset: 3px; }
  .cmp-pick { align-items: stretch; text-align: left; }
  .cmp-pick-h { font-size: 0.82rem; font-weight: 700; }
  .cmp-q {
    width: 100%; box-sizing: border-box; min-height: 42px; padding: 0 12px;
    border-radius: 10px; border: 1px solid var(--border); background: var(--card-bg); color: var(--text);
    font: inherit; font-size: 16px;
  }
  .cmp-q:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: transparent; }
  .cmp-pick-help { margin: 0; font-size: 0.7rem; color: var(--muted); }
  .cmp-results { display: flex; flex-direction: column; gap: 2px; }
  .cmp-result {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%;
    padding: 7px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text);
    font: inherit; text-align: left; cursor: pointer;
  }
  .cmp-result:hover, .cmp-result:focus-visible { background: var(--accent-soft); outline: none; }
  .cmp-result-n { font-size: 0.85rem; font-weight: 700; }
  .cmp-result-s { font-size: 0.72rem; color: var(--muted); }
  .cmp-none { margin: 4px 2px; font-size: 0.78rem; color: var(--muted); }
  @media (max-width: 520px) {
    .cmp-sides:has(.cmp-pick) { grid-template-columns: minmax(0, 1fr); }
    .cmp-sides:has(.cmp-pick) .cmp-vs { display: none; }
  }
  .cmp-rows { max-width: 460px; margin: 0 auto; }
  .cmp .bx-bar-home i { background: var(--tc-home, var(--accent)); }
  .cmp .bx-bar-away i { background: var(--tc-away, var(--muted)); }
  @media (prefers-color-scheme: dark) {
    :root:not(.theme-light) .cmp .bx-bar-home i { background: var(--tc-home-d, var(--accent)); }
    :root:not(.theme-light) .cmp .bx-bar-away i { background: var(--tc-away-d, var(--muted)); }
  }
  :root.theme-dark .cmp .bx-bar-home i { background: var(--tc-home-d, var(--accent)); }
  :root.theme-dark .cmp .bx-bar-away i { background: var(--tc-away-d, var(--muted)); }
  .cmp .bx-v { font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
  .cmp .bx-v.is-lead { font-weight: 800; color: var(--text); }
  .cmp-empty { padding: 0 16px; }
  .cmp-career td b { font-weight: 800; }
  .tp-table.cmp-career th:nth-child(2) { text-align: right; }
  .cmp-games { color: var(--muted); font-size: 0.72rem; }
  .cmp-key { margin: 8px 16px 0; font-size: 0.7rem; color: var(--muted); }
  .cmp-meet-sum { margin: 0 16px 8px; font-size: 0.8rem; font-weight: 600; }
  .cmp-meet { padding: 0 16px; }
  .cmp-meet .pl-date { flex-basis: 4.6em; }
  .cmp-meet-v { flex: 0 0 auto; font-size: 0.78rem; font-variant-numeric: tabular-nums; color: var(--muted); }
  .cmp-meet-v b { font-weight: 800; }
  .cmp-meet-v b { color: var(--text); }
