:root {
  color-scheme:light; --page:#f1f6f8; --paper:#fff; --ink:#15354a; --muted:#4b6274;
  --border:#cfdee6; --soft:#e7f3f5; --accent:#006f6d; --accent-ink:#fff; --navy:#071f30;
  --focus:#a94900; --gold:#f4ce69; --yellow-bg:#fff2bc; --yellow-ink:#674700;
  --red-bg:#ffe5e8; --red-ink:#941f35; --blue-bg:#e7f0fd; --blue-ink:#255b96;
}
* { box-sizing:border-box }
html { scroll-padding-top:16px }
body { margin:0; background:var(--page); color:var(--ink); font:1rem/1.45 Arial,Helvetica,sans-serif }
button,input,select { font:inherit }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent }
button,summary,a { touch-action:manipulation }
button,select { border:1px solid var(--border); border-radius:8px; background:var(--paper); color:var(--ink) }
button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 12px; min-height:44px; font-size:.875rem; font-weight:700; line-height:1.35; cursor:pointer }
button:hover { background:var(--soft) }
button:disabled,button[aria-disabled="true"] { cursor:default; background:var(--soft); color:var(--muted) }
a { color:var(--accent); text-underline-offset:3px }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex="-1"]:focus { outline:3px solid var(--focus); outline-offset:3px }
[hidden] { display:none!important }
.sr-only,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap }
.skip-link:focus { display:block; position:fixed; left:12px; top:12px; z-index:10; padding:14px; background:var(--paper); color:var(--ink) }
.icon { display:inline-block; width:1.2em; height:1.2em; flex:none; vertical-align:middle }
h1,h2,h3,p { overflow-wrap:break-word }
h1 { margin:0; font-size:1.8rem; line-height:1.15; letter-spacing:-.04em }
h2 { margin:0; font-size:1.25rem; line-height:1.3; letter-spacing:-.02em }
h3 { margin:0 }
.site-header { background:var(--navy); color:#fff }
.header-inner { max-width:1000px; margin:auto; display:flex; align-items:center; gap:14px; padding:2px 20px }
.brand { display:flex; align-items:center; min-height:48px }
.brand img { display:block; width:86px; height:56px; object-fit:contain }
.demo-label { margin-left:auto; font-size:.72rem; font-weight:700; letter-spacing:.06em; color:#bde8de; text-transform:uppercase }
.site-header :focus-visible { outline-color:var(--gold) }
main { max-width:960px; margin:auto; padding:20px 20px 32px }
.page-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-bottom:14px }
.demo-note { font-size:.75rem; color:var(--muted); border:1px solid var(--border); border-radius:20px; padding:3px 9px }
.score-card { padding:20px; border-radius:14px; background:var(--navy); color:#fff; box-shadow:0 4px 18px #071f3010 }
.match-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; font-size:.75rem; color:#bfd5df }
.connection { display:inline-flex; align-items:center; gap:6px; font-weight:700; color:#bde8de }
.connection::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none }
.connection.is-paused { color:#ffda83 }
.score-layout { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,1fr) minmax(0,1fr); align-items:center; gap:12px; margin:20px 0 12px }
.team { text-align:center; min-width:0 }
.team>img { display:block; width:60px; height:70px; object-fit:contain; margin:0 auto 6px }
.team>span { display:block; font-weight:800; font-size:1.05rem; line-height:1.25; overflow-wrap:break-word }
.score-center { text-align:center; min-width:0 }
.score { font-size:3.5rem; font-weight:800; letter-spacing:-.04em; line-height:1.05; margin:0; font-variant-numeric:tabular-nums }
.match-clock { margin:6px 0 2px; font-size:1.2rem; font-weight:700; font-variant-numeric:tabular-nums; color:#bde8de }
#period,#shootout { margin:3px 0 0; font-size:.8rem; color:#d4e5ed }
.match-context { display:flex; align-items:center; gap:8px; border-top:1px solid #365263; border-bottom:1px solid #365263; margin:12px 0; padding:9px 0; color:#f1f7fa; font-size:.8rem }
.match-context .icon { color:#bde8de }
.team-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:14px 24px }
.team-stats>div { position:relative; min-width:0 }
.score-layout,.team-stats>div { scroll-margin:16px }
.score-layout:focus-within,.team-stats>div:focus-within { outline:3px solid var(--gold); outline-offset:3px; border-radius:6px }
.team-stats h3 { font-size:.8rem; color:#bde8de; margin-bottom:6px }
.team-stats dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px }
.team-stats dl>div { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; padding:5px 6px; border-radius:5px; background:#ffffff08; font-size:.8rem; line-height:1.3 }
.team-stats dt { display:flex; align-items:center; justify-content:center; color:#bfd5df; min-width:0; flex:none }
.team-stats dt>.icon { width:18px; height:18px }
.team-stats dd { margin:0; min-width:0; max-width:100%; font-weight:700; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:3px 4px }
.stat-count { display:block; font-variant-numeric:tabular-nums }
.stat-markers { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:2px }
.stat-markers i { display:block; width:6px; height:6px; border:1px solid #9bb7c7; background:transparent }
.foul-marks i { border-radius:50% }
.foul-marks i.is-used { background:#f4ce69; border-color:#f4ce69 }
.sub-marks i { width:5px; height:8px; border-radius:1px }
.sub-marks i.is-used { background:#9dd6ff; border-color:#9dd6ff }
.card-tally { display:inline-flex; align-items:center; gap:4px; white-space:nowrap }
.card-face { display:inline-flex; align-items:center; justify-content:center; width:13px; height:18px; border-radius:2px; color:#071f30; font-size:9px; font-weight:800; background:#f4ce69 }
.card-tally.is-red .card-face { background:#ff939b }
.empty-cards { width:20px; height:20px; color:#9bb7c7 }
.team-stats dd[id$="-timeout"]>.icon { width:20px; height:20px; color:#bde8de }
.team-stats dd[data-status="Requested"]>.icon { color:#f4ce69 }
.team-stats dd[data-status="Active"]>.icon { color:#9dd6ff }
.team-stats dd[data-status="Used"]>.icon,.team-stats dd[data-status="Unavailable"]>.icon { color:#9bb7c7 }
.team-strength { margin:6px 0 0; color:#e2eff5 }
.player-markers { display:flex; align-items:center; flex-wrap:wrap; gap:4px }
.player-markers>.icon { width:16px; height:16px }
.player-markers .on-field { fill:#bde8de; color:#bde8de }
.player-markers .off-field { color:#9bb7c7; stroke-dasharray:2 2 }
.strength-count { font-size:.75rem; margin-left:3px; font-variant-numeric:tabular-nums }
.player-markers .is-locked { color:#ff939b }
.player-markers .is-unlocked { color:#bde8de }
.score-card:focus { outline-color:#b17100 }
.section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 12px }
summary { cursor:pointer; min-height:44px; padding:11px 0; color:var(--muted); font-size:.8rem; font-weight:700 }
.settings { margin:4px 0 0; padding:0 4px }
.settings>summary { display:flex; align-items:center; gap:7px; list-style:none }
.settings>summary::-webkit-details-marker { display:none }
.settings-symbol { margin-left:auto; font-size:1.1rem }
.settings-minus,.settings[open] .settings-plus { display:none }
.settings[open] .settings-minus { display:inline }
.settings-body { padding:2px 0 10px }
.keyboard-help { margin:10px 0 0; color:var(--muted); font-size:.8rem }
.check-control { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; font-size:.9rem; font-weight:700 }
.check-control>span { display:inline-flex; align-items:center; gap:8px }
.check-control input { appearance:auto; flex:none; width:21px; height:21px; margin:0; accent-color:var(--accent) }
.reading-actions { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; margin-top:6px }
.reading-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:.85rem; font-weight:700 }
.event-section { margin-top:14px }
.jump-latest { font-size:.8rem; min-height:44px; padding:8px 10px }
.event-list { list-style:none; margin:12px 0 0; padding:0 }
.event-list>.event-item { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; margin:0 0 7px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--paper) }
.event-list>.event-item { scroll-margin:16px }
.event-list>.event-item:focus-within { outline:3px solid var(--focus); outline-offset:3px; border-color:var(--accent); box-shadow:inset 3px 0 var(--accent) }
.event-reading,.summary-reading { position:absolute; inset:0; z-index:1; margin:0; padding:12px; opacity:0; overflow:hidden; font-size:.8rem; line-height:1.3 }
.event-copy { min-width:0 }
.event-icon { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:9px; color:var(--muted); background:var(--page) }
.event-icon>.icon { width:21px; height:21px }
.event-icon.goal { color:var(--accent); background:var(--soft) }
.event-icon.yellow,.event-icon.foul { background:var(--yellow-bg); color:var(--yellow-ink) }
.event-icon.red,.event-icon.substitution_refused { background:var(--red-bg); color:var(--red-ink) }
.event-icon.substitution,.event-icon.substitution_request,.event-icon.replacement { color:var(--blue-ink); background:var(--blue-bg) }
.event-meta { display:flex; flex-wrap:wrap; align-items:center; gap:2px 9px; margin:0 0 3px; font-size:.72rem; color:var(--muted); font-variant-numeric:tabular-nums }
.event-meta .clock { font-weight:800; color:var(--ink) }
.event-list h3 { font-size:.92rem; line-height:1.35; font-weight:800; letter-spacing:-.01em }
.event-team { font-size:.8rem; font-weight:400; color:var(--muted) }
.event-brief { display:flex; flex-wrap:wrap; align-items:center; gap:5px 10px; margin-top:6px; font-size:.83rem; line-height:1.4 }
.player-chip { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; min-width:0; max-width:100%; color:var(--ink) }
.player-chip>span { overflow-wrap:anywhere }
.shirt-number { display:inline-flex; align-items:center; justify-content:center; min-width:26px; padding:2px 4px; border-radius:5px; background:var(--soft); color:var(--accent); font-size:.72rem; line-height:1.4; font-variant-numeric:tabular-nums }
.player-chip>.icon { width:13px; height:13px }
.player-chip.is-out>.icon { color:var(--red-ink) }
.player-chip.is-in>.icon { color:var(--accent) }
.event-result { display:inline-block; padding:2px 7px; border-radius:5px; background:var(--soft); color:var(--accent); font-size:.83rem; white-space:normal; font-variant-numeric:tabular-nums }
.brief-note { color:var(--muted); font-size:.78rem }
.end-note { font-size:.75rem; color:var(--muted); padding:8px 0; margin:0 }
.back-top { display:inline-flex; align-items:center; min-height:44px; font-size:.8rem; font-weight:700 }
footer { max-width:960px; margin:0 auto; padding:18px 20px; border-top:1px solid var(--border); display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; color:var(--muted); font-size:.75rem }
footer strong { color:var(--ink); font-size:.9rem }
.no-script { margin:20px; padding:20px; background:var(--paper) }
body[data-theme="dark"] { color-scheme:dark; --page:#091923; --paper:#112c3c; --ink:#e9f3f8; --muted:#b3cbd8; --border:#456172; --soft:#163e46; --accent:#8cddd0; --accent-ink:#072e2c; --focus:#ffcb76; --yellow-bg:#59441b; --yellow-ink:#ffe19a; --red-bg:#552837; --red-ink:#ffbcc9; --blue-bg:#183d5b; --blue-ink:#b2d6ff }
body[data-theme="dark"] .score-card { border:1px solid var(--border) }
body[data-theme="dark"] .score-card:focus { outline-color:var(--focus) }
@media(min-width:900px) {
  .team-stats dl { grid-template-columns:repeat(4,minmax(0,1fr)) }
}
@media(max-width:600px) {
  .header-inner { padding:0 14px; gap:12px }
  .brand img { width:76px; height:48px }
  main { padding:14px 14px 24px }
  h1 { font-size:1.6rem }
  .page-heading { margin-bottom:12px }
  .score-card { padding:14px; border-radius:12px }
  .match-meta { font-size:.7rem; gap:5px }
  .connection { font-size:.7rem }
  .score-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); margin:14px 0 10px; gap:10px }
  .score-layout>.team-home { grid-column:1; grid-row:1 }
  .score-layout>.team-away { grid-column:2; grid-row:1 }
  .team>img { width:44px; height:52px; margin-bottom:4px }
  .team>span { font-size:.9rem }
  .score-center { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 12px; grid-column:1/-1; grid-row:2 }
  .score { font-size:2.6rem; white-space:normal }
  .match-clock { margin:0; font-size:1.05rem }
  #period { margin:0; max-width:100%; font-size:.75rem }
  #shootout { width:100%; font-size:.8rem }
  .team-stats { gap:12px 16px }
  .match-context { margin:9px 0; padding:8px 0; font-size:.75rem }
  .event-list>.event-item { padding:11px; gap:9px }
  .event-section { margin-top:8px }
}
@media print {
  body { background:#fff; color:#000 }
  .site-header,.settings,.jump-latest,.back-top,.skip-link { display:none!important }
  .score-card { background:#fff; color:#000; box-shadow:none; border:1px solid #333 }
  .score-card * { color:#000!important }
  .event-list>.event-item { break-inside:avoid }
  main { padding:0 }
}

.tournament-link{margin-left:auto;font-size:.85rem}.language-form,.desk-choice{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}.language-form select,.desk-choice select{padding:9px;min-height:44px;max-width:100%}.desk-choice select{flex:1;min-width:0}.connection.is-error{color:#ffb9bf}footer img{object-fit:contain}#waiting-match{padding:18px 0;margin:0}#empty-events{font-size:.9rem;color:var(--muted)}

.view-navigation{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.view-navigation button{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.view-navigation button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.tournament-panel{min-width:0}.panel-note{font-size:.8rem;color:var(--muted);margin:7px 0 16px}
.fixture-day{font-size:.95rem;margin:22px 0 10px}.fixture-day:first-child{margin-top:0}
.fixture-card{position:relative;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--paper);margin:0 0 8px;scroll-margin:16px}
.tournament-reading{position:absolute;inset:0;z-index:1;margin:0;padding:10px;opacity:0;overflow:hidden;font-size:.8rem;line-height:1.4;text-align:left}
.fixture-card:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.standings-table tbody tr{position:relative;scroll-margin:16px}
.standings-table tbody tr:focus-within{box-shadow:inset 0 0 0 3px var(--focus);background:var(--soft)}
.standings-table tbody tr:focus-within .fixture-team::after{content:"";position:absolute;inset:0;border:3px solid var(--focus);pointer-events:none}
.fixture-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin:0 0 10px}
.fixture-status{font-weight:700}.fixture-status.is-live{color:var(--accent)}
.fixture-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.fixture-team{display:flex;align-items:center;gap:7px;min-width:0;font-size:.9rem;font-weight:700;text-align:left}
.fixture-team img{object-fit:contain;flex:none;width:26px;height:30px}.fixture-team span{overflow-wrap:anywhere;min-width:0}
.fixture-score{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.15rem}
.fixture-shootout{font-size:.75rem;text-align:center;color:var(--muted);margin:8px 0 0}
.standings-group{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--paper);margin:0 0 18px}
.standings-group:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.standings-table{border-collapse:collapse;width:100%;font-size:.8rem;min-width:310px}
.standings-table caption{text-align:left;padding:12px;font-size:1rem;font-weight:800;color:var(--accent)}
.standings-table th,.standings-table td{padding:9px 7px;border-top:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums}
.standings-table thead{background:var(--soft)}.standings-table tbody td:nth-child(2){text-align:left;min-width:110px}
.standings-table tr>:last-child{font-weight:800;color:var(--accent)}.standings-table .fixture-team{font-size:.8rem}.standings-table .fixture-team img{width:22px;height:25px}
@media(max-width:600px){.view-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-team{font-size:.8rem;flex-wrap:wrap;gap:4px}.fixture-pair{gap:7px}.standings-table th,.standings-table td{padding:8px 5px}.standings-table tbody td:nth-child(2){min-width:100px}}

@supports not (display:grid){.score-layout,.team-stats{display:flex;flex-wrap:wrap}.score-layout>.team{flex:1 1 30%}.score-center{flex:1 1 30%}.team-stats>div{flex:1 1 45%}.team-stats dl{display:flex;flex-wrap:wrap}.team-stats dl>div{flex:1 1 40%}.event-list>.event-item{display:flex}.event-copy{flex:1}.event-icon{flex:0 0 32px}}

@media(max-width:600px){.view-navigation button:last-child{grid-column:1/-1}}
