/* Read-only score consultation, fixed qualification slots and elimination rounds. */
.category-rules { margin:0 0 18px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); padding:12px 16px; }
.category-rules > summary { cursor:pointer; color: var(--color-primary); font-size:13px; font-weight:600; }
.category-rules > summary > span { color: var(--color-muted); margin-left:10px; font-weight:400; }
.category-rules .rules-phases { margin-top:14px; }
.category-rules > h3 { font-size:14px; margin-top:14px; }
.competition-heading-actions { justify-content:flex-end; margin-bottom:12px; }
.panel.results-panel--groups { padding:0; border:0; border-radius:0; background:transparent; }
.result-player-highlight { background: #ffebad; color: #513600; padding-inline:.22em; border-radius: .2em; font-weight:700; }
.results-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.results-group-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); grid-template-rows:auto auto; gap:10px 20px; align-items:start; padding:var(--collection-inset); }
.results-group-layout > .group-matches,.results-group-layout > .group-standings { display:grid; grid-template-rows:subgrid; grid-row:1 / span 2; min-width:0; }
.group-matches { grid-column:1; }
.group-standings { grid-column:2; }
.group-matches-body,.group-standings-body { min-width:0; }
.group-standings-toggle { display:none; }
.results-group { border-radius:var(--radius-card); }
.group-column-heading { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; min-height:26px; margin:0; }
.group-column-heading h4 { margin:0; font:600 13px/1.5 var(--font-heading); color:var(--color-primary); }
.matrix-scroll { overflow:auto; max-width:100%; border: 1px solid var(--color-border); border-radius: 7px; isolation:isolate; }
.result-matrix { width:100%; min-width:390px; border-collapse:separate; border-spacing:0; font-size:12px; line-height:1.5; table-layout:fixed; }
.result-matrix th,.result-matrix td { border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); text-align:center; vertical-align:middle; }
.result-matrix tr > :last-child { border-right: 0; }
.result-matrix tbody tr:last-child > * { border-bottom: 0; }
.result-matrix thead th { height:42px; background: var(--color-soft); color: var(--color-primary); font-weight:600; }
.result-matrix .matrix-person { position:sticky; left:0; z-index:1; width:38%; padding:10px 12px; text-align:left; background: var(--color-surface); box-shadow: 1px 0 0 var(--color-border); font-weight:500; overflow-wrap:anywhere; }
.result-matrix thead .matrix-person { background: var(--color-soft); z-index:2; font-size:11px; }
.matrix-person a { color: var(--color-text); text-decoration:none; }
.matrix-person a:hover { color: var(--color-primary); text-decoration:underline; }
.matrix-number { display:inline-block; color: var(--color-primary); font-size:11px; font-variant-numeric:tabular-nums; }
.group-participant-row { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:baseline; column-gap:6px; text-align:left; }
.group-participant-row > .standing-position { color:var(--color-primary); font-variant-numeric:tabular-nums; }
.group-participant-names { min-width:0; font-size:13px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
.group-participant-names .matchup-player { display:block; }
.group-participant-names small { display:block; margin:4px 0 0; }
.group-participant-names small > .text-link { display:inline-block; color:var(--color-muted); font-size:11px; line-height:1.6; font-weight:400; }
.group-participant-names small > .text-link:is(:hover,:focus-visible) { color:var(--color-primary); }
.matrix-cell > a { min-height:64px; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; padding:10px 4px; text-decoration:none; color: var(--color-text); }
.matrix-cell > a:hover,.matrix-cell > a:focus-visible { background: var(--color-soft); outline-offset:-3px; }
.matrix-cell strong { display:block; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.matrix-match-state { font-size:11px; color: var(--color-muted); }
.matrix-match-state.status-live { color: #25614d; font-weight:700; }
.matrix-match-start { color: var(--color-muted); font-size:11px; line-height:1.4; }
.matrix-cell small { font-size:10px; color: var(--color-muted); }
.matrix-cell .tiebreak-label > span { color:var(--color-muted); font-size:10px; }
.matrix-diagonal { background: var(--color-bg); color: #a8b3a8; }
.matrix-win { background: #f3f8ea; }
.matrix-win .matrix-win-label { font-size:10px; font-weight:600; color: var(--color-primary); }
.result-matrix tbody tr:has(> .matrix-person .result-player-highlight) > * { background-color: #fff0c5; }
.result-matrix tbody tr:has(> .matrix-person .result-player-highlight) .matrix-cell > a:is(:hover,:focus-visible) { background-color: #ffebad; }
.matrix-help { color: var(--color-muted); font-size:11px; line-height:1.6; margin:10px 0 0; }
.group-standings-heading .tag { font-size:10px; }
.result-reader > .group-standings-heading { margin-bottom:10px; }
.qualification-pending { color: #825418; background: #fff0d7; }
.standing-position { color: var(--color-muted); font-size:11px; }
.group-standings-table.collection-table { table-layout:fixed; min-width:330px; font-variant-numeric:tabular-nums; }
.group-standings-table :is(th,td):first-child { width:50%; min-width:0; overflow-wrap:anywhere; }
.group-standings-table.collection-table :is(th,td):not(:first-child) { text-align:center; }
.group-standings-table.collection-table thead th { height:42px; padding:8px 6px; background:var(--color-soft); color:var(--color-primary); font-weight:600; }
.group-standings-table.collection-table tbody td { padding:12px 6px; }
.group-standings-table .participant-results-link { display:block; width:fit-content; }
.group-standings-table td:first-child a { color: inherit; text-decoration:none; }
.group-standings-table td:first-child a:hover { text-decoration:underline; }
.group-standings .tie-details,.standings-drawer .tie-details { margin-top:12px; }
.results-panel .qualifier-box { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px; margin-top:20px; }
.results-panel .qualifier-box p { margin:0; }
.results-panel .qualifier-box .tie-details { width:100%; }
.all-result-matches { margin:22px 0; padding:16px 0; border-top: 1px solid var(--color-border); }
.all-result-matches > summary { font-size:14px; color: var(--color-primary); font-weight:600; cursor:pointer; }
.all-result-matches > summary > span { margin-left:8px; color: var(--color-muted); font-size:12px; font-weight:400; }
.result-match-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.result-match-item { display:grid; gap:9px; padding:16px;   text-decoration:none; color: var(--color-text);  border: 1px solid var(--color-border);
 border-radius: 8px;
}
.result-match-item:hover { border-color: var(--color-primary); background: var(--color-soft); }
.result-match-item, .bracket-match { position:relative; }
.result-card-link::after { content:""; position:absolute; inset:0; }
:is(.result-match-item,.bracket-match,.participant-game) a:not(.result-card-link):not(.bracket-match-manage) { position:relative; z-index:1; }
.result-match-context { font-size:11px; color: var(--color-muted); }
.result-match-names { font-size:13px; }
.result-match-score { font-size:16px; font-weight:600; color: var(--color-primary); }
/* Elimination bracket */
@media (min-width:769px) {
  .panel.bracket-panel--single-match { max-width:520px; margin-inline:auto; }
}
.progressive-bracket { container:elimination / inline-size; }
.bracket-round-picker { display:none; }
.bracket-scroll { overflow-x:auto; border: 1px solid var(--color-border); border-radius: 12px; background: #f4f7f1; }
.bracket-board {
  position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  grid-template-rows:auto 1fr; gap:16px 44px; padding:20px;
  width:max(100%, calc(var(--bracket-rounds) * 284px - 4px));
}
.bracket-connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.bracket-connections path { fill: none; stroke: #789580; stroke-width:2; stroke-linejoin:round; }
.bracket-round { display:grid; grid-row:1 / -1; grid-template-rows:subgrid; min-width:0; }
.bracket-round-heading {
  position:relative; display:flex; align-items:center; gap:12px; padding:12px;
  border: 1px solid #d0ddcf; border-radius: 9px; background: #e8efe4; color: var(--color-primary);
}
.bracket-round-heading--last { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.bracket-round-number {
  flex-shrink:0; display:grid; place-items:center; width:34px; height:34px;
  border-radius: 7px; background: var(--color-surface); color: var(--color-primary);
  font:700 13px/1 var(--font-heading); font-variant-numeric:tabular-nums;
}
.bracket-round-heading--last .bracket-round-number { background: var(--color-accent); }
.bracket-round-heading h3 { font-size:17px; line-height:1.25; overflow-wrap:anywhere; }
.bracket-round-heading p { margin:4px 0 0; font-size:12px; line-height:1.3; }
.bracket-round-heading--last p { color: #e1ece3; }
.bracket-round-matches { display:grid; grid-auto-rows:1fr; align-items:center; gap:14px; }
.bracket-match {
  min-width:0;   padding:12px;

 border: 1px solid #d0ddcf;
 background: var(--color-surface);
 box-shadow: 0 2px 5px #19362a0b;
 border-radius: 10px;
}
.bracket-match-finished { border-color: #a8c2a8; }
.bracket-match-manage { position:absolute; inset:0; border-radius:inherit; }
.bracket-match-manage:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.bracket-match:is(:hover,:focus-within) { border-color:var(--color-primary); }
.bracket-match-status { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; margin-bottom:10px; }
.bracket-match-status .status-tag { border-radius: 5px; font-size:11px; font-weight:600; }
.bracket-match-status .bracket-status-pending { background: #fff0d7; color: #765022; }
.bracket-match-sides { display:grid; gap:4px; }
.bracket-side {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 8px;
  padding:8px 9px; border: 1px solid var(--color-border); border-bottom:1px solid var(--collection-rule); border-radius: 6px; background: #fafbf7;
  color: var(--color-text); font-size:13px; font-weight:600; line-height:1.5;
}
.bracket-side-name { min-width:0; overflow-wrap:anywhere; }
.bracket-side-name a { text-decoration-color:#789580; text-underline-offset:3px; }
.bracket-side-pending { border-style:dashed; color: var(--color-muted); }
.bracket-winner { border-color: #bcd1b8; background: #edf5e8; color: var(--color-primary); }
.bracket-winner-label { display:inline-flex; align-items:center; gap:4px; font-size:11px; }
.bracket-winner-label .icon { width:13px; height:13px; }
.bracket-score { margin:9px 0 0; color: var(--color-primary); font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.bracket-match-footer {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px;
  margin-top:8px; padding-top:6px; border-top: 1px solid var(--color-border);
}
.bracket-match-schedule { display:flex; gap:7px; align-items:center; color: var(--color-muted); font-size:12px; line-height:1.45; }
.bracket-match-schedule .icon { width:15px; height:15px; flex-shrink:0; }
.bracket-match-schedule small { display:block; font-size:11px; }
.bracket-match-actions { display:flex; flex-wrap:wrap; gap:4px 12px; }
.bracket-match-actions a { display:inline-flex; align-items:center; min-height:36px; margin:0; font-size:12px; }
.bracket-match-actions .result-card-link { padding-inline:10px; border-radius: 6px; background: var(--color-soft); }
.bracket-match:has(> .bracket-match-manage) .result-card-link { position:relative; z-index:1; }
.bracket-match:has(> .bracket-match-manage) .result-card-link::after { content:none; }
@container elimination (max-width:640px) {
  .bracket-round-picker:not([hidden]) { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
  .bracket-round-picker button {
    flex:1 1 auto; min-width:0; min-height:44px; padding:8px 12px; border: 1px solid #d0ddcf; border-radius: 7px;
    background: var(--color-surface); color: var(--color-primary); font-size:13px; font-weight:600; cursor:pointer;
    overflow-wrap:anywhere;
  }
  .bracket-round-picker button[aria-pressed=true] { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
  .bracket-round-picker:not([hidden]) + .bracket-scroll .bracket-round:not([data-active-round]) { display:none; }
  .bracket-scroll { overflow:visible; }
  .bracket-board { display:grid; grid-auto-flow:row; grid-template: none / minmax(0,1fr); gap:20px; padding:10px; width:100%; }
  .bracket-connections { display:none; }
  .bracket-round { grid-row:auto; grid-template-rows:auto 1fr; gap:10px; }
  .bracket-round-matches { grid-auto-rows:auto; gap:10px; }
  .bracket-match-actions a { min-height:44px; }
}
/* Match consultation shares the participant dossier's court and paper palette. */
.ui-overlay:has(.match-modal) { background: var(--color-bg); }
.match-modal .overlay-heading { padding:16px 24px; background: var(--color-bg); }
.match-modal .overlay-heading h2 { font-size:16px; letter-spacing:-.3px; }
.match-modal .overlay-heading .eyebrow { font-size:8px; letter-spacing:1.8px; }
.match-modal .overlay-heading .icon-button { width:36px; height:36px; min-width:36px; border: 1px solid var(--color-border); border-radius: 50%; }
.match-modal .overlay-body { padding:20px 24px; }
.match-modal .overlay-footer { justify-content:flex-end; padding:12px 24px; background: var(--color-bg); box-shadow: none; }
.match-modal .overlay-footer .button { min-height:42px; font-size:11px; }
.match-reader { max-width:760px; margin-inline:auto; }
.match-hero { position:relative; isolation:isolate; overflow:hidden;  padding:22px 24px 26px;  color: #fff;  background: var(--color-primary);
 border-radius: 12px;
}
.match-hero-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.match-status { display:inline-flex; align-items:center; gap:6px; color: #eef5e6; font-size:10px; white-space:nowrap; }
.match-status::before { content:""; width:5px; height:5px; border-radius: 50%; background: currentColor; }
.match-status--finished,.match-status--live { color: var(--color-accent); }
.match-status--suspended { color: #ffe1a5; }
.match-phase { margin:20px 0 14px; color: #d5e4d7; font-size:10px; letter-spacing:.4px; }
.match-phase > span { color: #a1bea8; margin-inline:5px; }
.competition-context-link { color:inherit; text-decoration:underline; text-decoration-color:color-mix(in srgb, currentColor 45%, transparent); text-underline-offset:3px; }
.competition-context-link:is(:hover,:focus-visible) { color:inherit; text-decoration-color:currentColor; }
.results-group[id] { scroll-margin-top:calc(var(--task-tabs-offset, 0px) + 16px); }
.match-duel { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:start; gap:16px; }
.match-contender { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.match-contender:last-child { text-align:right; align-items:flex-end; }
.match-contender-label { color: #c8dbcc; font-size:9px; letter-spacing:1.4px; text-transform:uppercase; }
.match-contender > strong { font:600 21px/1.45 var(--font-heading); letter-spacing:-.5px; overflow-wrap:anywhere; }
.match-contender--winner > strong { color: #effacb; }
.match-duel-versus { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border: 1px solid #ffffff30; border-radius: 50%; color: #d5e4d7; font:400 11px/1 var(--font-heading); margin-top:30px; }
.match-winner { display:inline-flex; align-items:center; gap:4px; padding:4px 8px; border: 1px solid #d7f75b40; border-radius: 30px; background: #d7f75b12; color: var(--color-accent); font-size:9px; }
.match-winner .icon { width:12px; height:12px; }
.match-scorecard { margin-top:18px;   overflow:hidden;   border: 1px solid var(--color-border);
 background: #fff;
 border-radius: 10px;
}
.match-score-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.match-score-table caption { caption-side:top; text-align:left; padding:14px 16px; border-bottom: 1px solid var(--color-border); }
.match-score-table caption > span { font:700 13px/1.4 var(--font-heading); }
.match-score-table caption > small { display:block; font-size:10px; color: var(--color-muted); margin-top:3px; }
.match-score-table th { font-weight:500; }
.match-score-table thead th { color: var(--color-muted); background: #fafaf6; font-size:9px; padding:9px 6px; text-align:center; }
.match-score-table thead th:first-child { text-align:left; width:54%; padding-left:16px; }
.match-score-table tbody th { text-align:left; font:500 12px/1.65 var(--font-body); padding:13px 16px; overflow-wrap:anywhere; }
.match-score-table tbody td { padding:10px 4px; text-align:center; font:600 27px/1.2 var(--font-heading); color: #7c887d; font-variant-numeric:tabular-nums; }
.match-score-table tbody tr + tr { border-top: 1px solid #edf0e9; }
.match-score-table td > span { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:40px; border-radius: 6px; }
.match-score-table .match-set-lead { background: var(--color-soft); color: var(--color-primary); }
.match-score-table .match-score-winner th { font-weight:600; }
.match-score-winner-label { display:block; font-size:9px; color: var(--color-primary); font-weight:500; }
.match-awaiting-score { display:flex; align-items:center; gap:14px; padding:20px; margin-top:18px; border: 1px dashed #cbd5c6; border-radius: 10px; background: #fff; }
.match-awaiting-score > .icon { color: var(--color-primary); width:24px; height:24px; }
.match-awaiting-score strong { font:600 14px/1.5 var(--font-heading); }
.match-awaiting-score p { font-size:11px; line-height:1.7; color: var(--color-muted); margin:5px 0 0; }
.match-outcome-note { padding:12px 14px; border-left: 2px solid var(--color-primary); background: var(--color-soft); font-size:11px; line-height:1.7; margin:14px 0 0; border-radius: 0 6px 6px 0; }
.match-facts { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:10px; margin:16px 0 0; }
.match-facts > div { min-width:0; padding:13px 15px; background: #fff; border: 1px solid var(--color-border); border-radius: 9px; }
.match-facts dt { display:flex; align-items:center; gap:6px; color: var(--color-muted); font-size:10px; margin-bottom:7px; }
.match-facts dt .icon { width:14px; height:14px; }
.match-facts dd { margin:0; font-size:12px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.match-facts dd small { display:block; font-size:10px; font-weight:400; color: var(--color-muted); margin-top:3px; }
.match-reader .match-notice { margin:14px 0 0; }
.match-manage { display:flex; justify-content:flex-end; margin-top:18px; }
.match-manage .button { gap:16px; font-size:12px; min-height:44px; }
.match-manage .icon { width:15px; height:15px; }
/* Participant dossier: identity, balance and match history. */
.participant-results-link { color: var(--color-primary); text-decoration:underline; text-decoration-color:#b6c8b0; text-underline-offset:3px; }
.participant-results-link:hover { text-decoration-color:currentColor; }
.participant-results-link:focus-visible { outline:2px solid var(--color-primary); outline-offset:4px; border-radius: 2px; }
.match-reader .participant-results-link { display:inline-block; max-width:100%; vertical-align:baseline; }
:is(.match-hero, .participant-results-name) .participant-results-link { color: inherit; text-decoration-color:#ffffff80; }
:is(.match-hero, .participant-results-name) .participant-results-link:is(:hover, :focus-visible) { text-decoration-color:currentColor; outline-color: var(--color-accent); }
.pair-results-action { margin-left:auto; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
.participant-game-context { display:grid; gap:4px; min-width:0; }
.participant-game-category { color: var(--color-primary); font-size:13px; font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.ui-overlay:has(.participant-drawer) { background: var(--color-bg); }
.participant-drawer { min-height:100dvh; display:flex; flex-direction:column; }
.participant-drawer .overlay-heading { padding:16px 26px; background: var(--color-bg); }
.participant-drawer .overlay-heading h2 { font-size:16px; letter-spacing:-.3px; }
.participant-drawer .overlay-heading .eyebrow { font-size:8px; letter-spacing:1.8px; }
.participant-drawer .overlay-heading .icon-button { border: 1px solid var(--color-border); border-radius: 50%; width:36px; height:36px; min-width:36px; }
.participant-drawer .overlay-body { padding:22px 26px 26px; flex:1; }
.participant-profile {   overflow:hidden;   border: 1px solid #dce3d9;
 background: #fff;
 border-radius: 12px;
}
.participant-hero { position:relative; isolation:isolate; overflow:hidden; padding:24px 26px; background: #164b35; color: #fff; border-bottom:1px solid var(--collection-rule); }
.participant-profile-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.participant-edit-actions { display:flex; flex-wrap:wrap; gap:6px; }
.participant-edit-link { min-height:36px; padding:7px 10px; border-color:#ffffff60; color:#fff; background:#ffffff0d; font-size:11px; }
.participant-edit-link:hover, .participant-edit-link:focus-visible { color:#fff; background:#ffffff20; border-color:#fff; }
.participant-category { display:inline-flex; max-width:100%; padding:5px 10px; border: 1px solid #ffffff40; border-radius: 30px; color: #eef5e6; font-size:10px; letter-spacing:.4px; }
.participant-kicker { color: #d7f75b; font-size:9px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin:22px 0 8px; }
.participant-results-name { position:relative; max-width:95%; font-size:29px; font-weight:600; line-height:1.25; letter-spacing:-.9px; overflow-wrap:anywhere; margin:0; }
.participant-results-name > span { display:block; }
.participant-results-name .participant-name-divider { display:inline; color: #d7f75b; font-size:18px; font-weight:400; letter-spacing:0; }
.participant-results-name .participant-name-divider + span { display:inline; margin-left:8px; }
.participant-hero-caption { margin:14px 0 0; font-size:11px; color: #d5e4d7; }
.participant-court-art { position:absolute; z-index:-1; width:190px; height:280px; border: 1px solid #ffffff18; right:-85px; top:-5px; transform:rotate(24deg); }
.participant-court-art::before { content:""; position:absolute; inset:0 22px; border-inline:1px solid #ffffff18; }
.participant-court-art::after { content:""; position:absolute; inset:50% 0 auto; border-top: 1px solid #d7f75b50; }
.participant-court-art > span { position:absolute; inset:55px 22px; border-block: 1px solid #ffffff18; background: linear-gradient(90deg,transparent calc(50% - .5px),#ffffff18 50%,transparent calc(50% + .5px)); }
.participant-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:17px 0; margin:0; }
.participant-stats > div { display:flex; flex-direction:column-reverse; align-items:center; gap:3px; }
.participant-stats > div + div { border-left: 1px solid var(--color-border); }
.participant-stats dt { color: var(--color-muted); font-size:10px; }
.participant-stats dd { margin:0; color: var(--color-text); font:600 26px/1.2 var(--font-heading); font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.participant-stats > div:nth-child(2) dd { color: var(--color-primary); }
.participant-history-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:26px 0 6px; }
.participant-history-heading h4 { margin:0; font:700 16px/1.4 var(--font-heading); letter-spacing:-.3px; }
.participant-history-heading > span { color: var(--color-muted); font-size:10px; white-space:nowrap; }
.participant-history-note { margin:0; color: var(--color-muted); font-size:10px; line-height:1.7; }
.participant-game-list { display:grid; gap:14px; padding:0; margin:18px 0 0; list-style:none; }
.participant-game-list > li { min-width:0; }
.participant-game {   --game-tone:#5e6b61; --game-tint:#f3f4f1; position:relative; display:grid; gap:12px; padding:16px;    color: var(--color-text);   transition:border-color .15s,box-shadow .15s;  border: 1px solid #dfe4dc;
 border-inline-start: 4px solid var(--game-tone);
 background: linear-gradient(160deg,var(--game-tint),#fff 35%);
 box-shadow: 0 3px 12px #19362a04;
 border-radius: 14px;
}
.participant-game--won { --game-tone:#24573d; --game-tint:#edf4ee; }
.participant-game--lost { --game-tone:#835c4c; --game-tint:#f7f0ec; }
.participant-game--live { --game-tone:#24573d; --game-tint:#edf4ee; }
.participant-game:hover { border-color: #aebdac; box-shadow: 0 5px 18px #19362a0b;  border-inline-start-color: var(--game-tone);
}
.participant-game:has(.result-card-link:focus-visible) { outline:2px solid var(--color-primary); outline-offset:3px; }
.participant-game .result-card-link:focus-visible { outline:none; }
.participant-game-top,.participant-game-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.participant-game-top { align-items:flex-start; }
.participant-game-meta { font-size:11px; line-height:1.6; color: var(--color-muted); }
.participant-game-meta > span { margin:0 6px; }
.participant-game-status { flex-shrink:0; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border: 1px solid #19362a0c; border-radius: 30px; font-size:10px; line-height:1.5; font-weight:600; color: var(--game-tone); background: var(--game-tint); }
.participant-game-status .icon { width:12px; height:12px; }
.participant-game-matchup { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; }
.participant-opponent { display:grid; gap:6px; min-width:0; }
.participant-game-label { color: var(--color-muted); font-size:10px; line-height:1.5; font-weight:400; }
.participant-opponent > .participant-game-label { text-transform:uppercase; letter-spacing:1.1px; font-size:9px; }
.participant-opponent-names { display:grid; gap:2px; font:650 18px/1.5 var(--font-heading); letter-spacing:-.35px; overflow-wrap:anywhere; }
.participant-game .participant-results-link { display:inline-block; max-width:100%; color: inherit; text-decoration:underline; text-decoration-color:#b6c8b060; text-underline-offset:4px; }
.participant-game .participant-results-link:hover { color: var(--color-primary); text-decoration:underline; }
.participant-game-partner { width:fit-content; max-width:100%; margin:8px 0 0; padding:5px 9px; border: 1px solid #e1e6dc; border-radius: 7px; color: var(--color-primary); background: #f8faf4; font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
.participant-game-partner > span { color: var(--color-muted); }
.participant-game-pair { display:inline-block; white-space:nowrap; }
.participant-opponent > .participant-game-pair { font-size:11px; line-height:1.7; white-space:normal; }
.participant-game-pair .participant-results-link { padding-block:3px; color:var(--color-primary); font-weight:650; }
.participant-game-score { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:center; gap:12px 16px; min-width:92px; max-width:220px; padding: 14px; border: 1px solid #19362a08; border-radius: 11px; background: var(--game-tint); font-variant-numeric:tabular-nums; }
.participant-game-set { display:grid; justify-items:center; gap:6px; min-width:40px; max-width:80px; text-align:center; }
.participant-game .participant-game-score .set-score > strong { color: var(--game-tone); font:650 27px/1.3 var(--font-heading); letter-spacing:-.8px; white-space:nowrap; }
.participant-game-score .tiebreak-label { max-width:80px; font-size:9px; line-height:1.5; }
.participant-score-pending { display:grid; justify-items:center; gap:7px; padding:3px 2px; font-size:11px; line-height:1.6; color: var(--color-muted); text-align:center; }
.participant-score-pending .icon { width:19px; height:19px; color: var(--game-tone); }
.participant-game-outcome { margin:-8px 0 0; font-size:11px; line-height:1.6; color: var(--color-muted); }
.participant-game-bottom { border-top: 1px solid #e8ece3; padding-top:14px; }
.participant-game-schedule { display:flex; align-items:center; gap:9px; min-width:0; font-size:11px; font-weight:550; line-height:1.7; color: var(--color-text); overflow-wrap:anywhere; }
.participant-game-schedule > div { display:grid; }
.participant-schedule-icon { display:grid; place-items:center; flex:none; width:34px; height:38px; border: 1px solid #e2e7dc; border-radius: 8px; background: #f8faf4; }
.participant-game-schedule .icon { width:16px; height:16px; color: var(--color-primary); }
.participant-game-court { color: var(--color-muted); font-size:10px; font-weight:400; }
.participant-game-action { display:inline-flex; flex-shrink:0; min-height:40px; align-items:center; gap:8px; padding:0 11px; border: 1px solid #dce5d5; border-radius: 8px; color: var(--color-primary); background: #fff; font-size:11px; font-weight:600; white-space:nowrap; text-decoration:none; }
.participant-game-action:hover { text-decoration:underline; text-underline-offset:4px; }
.participant-game-action .icon { width:14px; height:14px; }
.participant-drawer .overlay-footer { justify-content:space-between; padding:14px 26px; background: var(--color-bg); box-shadow: none; }
.participant-footer-note { color: var(--color-muted); font-size:10px; }
.participant-drawer .overlay-footer .button { font-size:11px; min-height:42px; }
@media(prefers-reduced-motion:reduce) { .participant-game { transition:none; } }
@media(max-width:768px) {
 .results-groups { gap:16px; }
 .results-group-layout { grid-template-columns:minmax(0,1fr); gap:10px; }
 .results-group-layout > .group-standings { display:none; }
 .results-group-layout > .group-matches { grid-column:1; grid-row:auto; grid-template-rows:auto auto; }
 .group-standings-toggle { display:flex; width:fit-content; margin:12px 0 0 auto; min-height:44px; }
 .group-standings-toggle .icon { width:16px; height:16px; }
 .standings-drawer .overlay-heading { padding:16px; }
 .standings-drawer .overlay-heading h2 { font-size:20px; }
 .standings-drawer .overlay-body { padding:16px 12px; }
 .standings-drawer .overlay-footer { padding:12px; }
 .result-matrix .matrix-person { width:38%; padding:10px 8px; }
 .group-participant-row { grid-template-columns:14px minmax(0,1fr); column-gap:4px; }
 .group-participant-names { font-size:12px; }
 .matrix-help { font-size:11px; }
 .result-match-list { grid-template-columns:1fr; }
 .match-modal .overlay-heading { padding:14px 12px; }
 .match-modal .overlay-body { padding:12px 10px 16px; }
 .match-modal .overlay-footer { padding:10px; }
 .match-hero { padding:18px 16px 22px; }
 .match-hero-top { gap:8px; }
 .match-hero .participant-category { font-size:9px; padding:5px 8px; }
 .match-status { font-size:9px; }
 .match-duel { gap:8px; }
 .match-contender > strong { font-size:17px; }
 .match-duel-versus { width:24px; height:24px; font-size:10px; }
 .match-score-table thead th:first-child { width:48%; padding-left:12px; }
 .match-score-table tbody th { padding:12px; font-size:11px; }
 .match-score-table tbody td { font-size:23px; padding-inline:2px; }
 .match-score-table td > span { min-width:28px; }
 .match-score-table caption { padding:12px; }
 .match-facts { gap:8px; }
 .match-facts > div { padding:12px; }
 .match-facts dd { font-size:11px; }
 .match-manage .button { width:100%; justify-content:space-between; }
 .participant-drawer .overlay-heading { padding:14px 12px; }
 .participant-drawer .overlay-body { padding:12px 10px 20px; }
 .participant-drawer .overlay-footer { padding:10px; }
 .participant-footer-note { max-width:110px; font-size:9px; line-height:1.6; }
 .participant-hero { padding:20px; }
 .participant-results-name { font-size:26px; }
 .participant-history-heading { margin-top:22px; }
 .participant-game { padding:16px; gap:18px; }
 .participant-game-matchup { gap:18px; }
 .participant-opponent-names { font-size:15px; }
 .participant-game-top { gap:8px; }
 .category-rules { padding:10px; }
}
@media(max-width:480px) {
 .participant-game-matchup { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .participant-game-score { max-width:116px; padding: 12px; gap:12px; }
 .participant-game-score:has(.participant-game-set:nth-child(2)) { grid-column:1 / -1; max-width:none; justify-content:flex-start; }
 .participant-score-pending { padding-top:0; }
}

@media print {
 .results-group-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
 .results-group-layout > .group-matches,.results-group-layout > .group-standings { grid-column:1; grid-row:auto; grid-template-rows:auto auto; gap:10px; }
 .results-group-layout > .group-standings { display:block; }
 .group-standings-toggle { display:none; }
 .matrix-scroll { overflow:visible; }
 .result-matrix .matrix-person { position:static; }
 .matrix-help,.result-reader .button { display:none; }
 .bracket-round-picker:not([hidden]), .bracket-connections { display:none; }
 .bracket-scroll { overflow:visible; }
 .bracket-board { display:block; width:auto; }
 .bracket-round, .bracket-round-picker:not([hidden]) + .bracket-scroll .bracket-round:not([data-active-round]) { display:block; margin-bottom:20px; }
 .bracket-round-heading { break-after:avoid; margin-bottom:10px; }
 .bracket-match { break-inside:avoid; }
}
