.report-caption { font-size: 12px; color: #a9bed5; margin: 6px 0 12px; }
.report-team + .report-team { border-top: 1px solid #36536e; margin-top: 20px; padding-top: 16px; }
.report-team h3 { color: #d9bbff; }
.report-table-scroll { overflow-x: auto; }
.report-team table { width: 100%; border-collapse: collapse; font-size: 12px; }
.report-team th, .report-team td { padding: 8px 6px; text-align: center; border-bottom: 1px solid #36536e; }
.report-team th:first-child { text-align: left; }
.player-match-stat { display: block; text-align: center; color: #b7d9ef; font-size: 10px; margin: 6px 0 2px; }
.report-editor { margin-top: 16px; }
.report-editor summary { cursor: pointer; }
.report-editor fieldset { border: 1px solid #4a6681; border-radius: 8px; margin: 12px 0; padding: 10px; min-width: 0; }
.report-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 8px; }
.report-inputs label { display: grid; gap: 4px; font-size: 12px; }
.report-inputs input { width: 100%; min-width: 0; box-sizing: border-box; }
.report-editor form > label { display: block; margin: 16px 0; }
.report-evidence { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.report-evidence img { width: 100px; height: 80px; object-fit: cover; border-radius: 6px; }
/* Shared header row keeps both player rankings on the same baseline. */
.match-versus .has-player-goals { align-items: start; row-gap: 12px; }
.has-player-goals .match-team-column { display: contents; }
.has-player-goals .match-clan { grid-row: 1; align-self: stretch; }
.has-player-goals .home-clan { grid-column: 1; }
.has-player-goals .away-clan { grid-column: 3; }
.has-player-goals .match-clan .match-team-name { margin-top: auto; }
.has-player-goals .match-versus-score { grid-row: 1; grid-column: 2; }
.has-player-goals .match-player-list { grid-row: 2; margin: 0; gap: 10px; }
.has-player-goals .match-team-column:first-child .match-player-list { grid-column: 1; width: calc(100% + 26px); }
.has-player-goals .match-team-column:last-child .match-player-list { grid-column: 3; width: calc(100% + 26px); margin-left: -26px; }
.has-player-goals .match-player-list li { display: grid; grid-template-columns: minmax(0, 1fr) 26px; align-items: center; height: 42px; }
.has-player-goals .match-player-button { height: 38px; min-width: 0; }
.has-player-goals .match-team-column:last-child li { grid-template-columns: 26px minmax(0, 1fr); }
.has-player-goals .match-team-column:last-child .match-player-button { grid-column: 2; grid-row: 1; }
.has-player-goals .match-team-column:last-child .player-match-goals { grid-column: 1; grid-row: 1; }
.player-match-goals { color: #fff0c8; font-size: 26px; font-weight: 900; font-style: italic; line-height: 1; text-align: center; text-shadow: 0 2px 0 #071526; font-variant-numeric: tabular-nums; }
.stat-view-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 6px 0 10px; }
.stat-view-tabs button { flex: 1 0 auto; padding: 7px 8px; border: 1px solid #557fa0; border-radius: 7px; background: #102b43; color: #c6dced; font-size: 11px; font-weight: 800; cursor: pointer; }
.stat-view-tabs button[aria-pressed="true"] { background: linear-gradient(#5196c2,#275d80); color: white; box-shadow: inset 0 1px #a9dfff; }
.tabbed-match > [hidden], .public-player [hidden] { display: none !important; }
.tabbed-match .match-league-nav { justify-content: flex-end; margin-top: -36px; margin-bottom: 8px; }
.tabbed-match .match-league-button { min-height: 32px; padding: 5px 12px; font-size: 12px; gap: 8px; }
.tabbed-match .match-league-button img { width: 50px; height: 26px; }
.tabbed-match .match-ribbon { padding: 8px 12px; }
.tabbed-match .match-rivals { padding-top: 12px; padding-bottom: 8px; row-gap: 8px; }
.tabbed-match .match-clan { gap: 6px; }
.tabbed-match .match-clan b { font-size: 13px; }
.tabbed-match .match-clan .match-team-name { font-size: 11px; }
.tabbed-match .match-versus-score { font-size: 38px; letter-spacing: -2px; white-space: nowrap; }
.tabbed-match .match-versus-score small { letter-spacing: 0; }
.tabbed-match .match-player-list { gap: 6px; }
.tabbed-match .match-player-list li { height: 31px; }
.tabbed-match .match-player-button { height: 28px; min-height: 28px; padding: 4px; font-size: 10px; }
.tabbed-match .player-match-goals { font-size: 20px; }
.tabbed-match .match-meta { padding: 8px; }
.match-round-pane table { width: 100%; border-collapse: collapse; font-size: 12px; }
.match-round-pane th, .match-round-pane td { padding: 8px 4px; border-bottom: 1px solid #36536e; text-align: center; }
.match-round-pane th:first-child { text-align: left; }
.match-round-pane h3 { margin: 14px 0 6px; color: #d8baff; }
.alltime-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.alltime-grid > div { display: grid; text-align: center; padding: 14px; border: 1px solid #427296; border-radius: 10px; background: #14354e; }
.alltime-grid b { color: #ffe4a4; font-size: 26px; }
.alltime-grid span { font-size: 12px; color: #bad3e7; }
/* Compact game-style statistics, shared by match and player profiles. */
.tabbed-match > .stat-view-tabs { display: grid; grid-template-columns: 1.8fr 1.1fr repeat(var(--round-tabs,5),minmax(0,1fr)); gap: 3px; flex-wrap: nowrap; }
.tabbed-match > .stat-view-tabs button { min-width: 0; padding: 8px 2px; font-size: 10px; white-space: nowrap; }
.stat-view-tabs { flex-wrap: nowrap; }
.report-team[hidden] { display: none !important; }
.match-report-section, .match-round-pane { padding: 12px !important; }
.match-report-section > h2, .match-round-pane > h2, .alltime-statistics > h2 { font-size: 17px; margin: 0 0 10px; }
.stat-team-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-bottom: 10px; }
.stat-team-picker button { min-width: 0; padding: 8px 4px; color: #d5e7ff; font-size: 11px; font-weight: 800; border: 1px solid #667fa7; border-radius: 8px; background: linear-gradient(#345678,#1b344f); box-shadow: 0 3px #0a1b2c; }
.stat-team-picker button[aria-pressed="true"] { border-color: #eac17b; color: #fff0c3; background: linear-gradient(#8a6133,#573b23); }
.report-team + .report-team { border: 0; margin: 0; padding: 0; }
.report-team > h3 { display: none; }
.stat-player-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.stat-player-picker button { min-width: 0; min-height: 28px; padding: 4px; font-size: 10px; }
.stat-player-picker button[aria-pressed="true"] { border-color: #ffdb91; box-shadow: inset 0 0 0 1px #ffdb91,0 3px #102e4d; }
.selected-player-metrics h4 { margin: 10px 0 8px; text-align: center; font-size: 14px; color: #fff0c8; }
.game-stat-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.game-stat-tile { display: grid; grid-template-columns: 32px 1fr; align-items: center; padding: 9px 10px; border: 1px solid #77b9df; border-radius: 10px; background: linear-gradient(145deg,#285c87,#142e50); box-shadow: inset 0 2px #a1dcff44,0 3px #091b31; }
.game-stat-tile .stat-glyph { grid-row: span 2; color: #ffd780; filter: drop-shadow(0 2px 0 #402d17); }
.stat-glyph svg { width: 26px; height: 26px; }
.game-stat-tile b { font-size: 25px; font-weight: 900; color: #fff0c8; text-align: center; line-height: 1.1; text-shadow: 0 2px #1a263f; }
.game-stat-tile > span:last-child { text-align: center; font-size: 10px; color: #c7dff4; }
.game-stat-tile.stat-goals { border-color: #e3b465; background: linear-gradient(145deg,#725b30,#362b25); }
.game-stat-tile.stat-saves { border-color: #b991ed; background: linear-gradient(145deg,#513b77,#262540); }
.report-caption { margin: 8px 0 0; font-size: 9px; }
.report-editor { margin-top: 9px; }
.report-editor > summary { min-height: 28px; font-size: 11px; }
.report-editor[open] { position: fixed; inset: 60px 12px 90px; z-index: 50; overflow: auto; padding: 14px; border: 2px solid #8acff4; border-radius: 12px; background: #10263f; box-shadow: 0 0 0 100vmax #020b18bb; }
.alltime-statistics .game-stat-grid > :first-child { grid-column: 1 / -1; }
.game-stat-table-wrap { border: 1px solid #568bb2; border-radius: 10px; overflow: hidden; background: #102b45; box-shadow: 0 3px 0 #071a2d; }
.report-team .game-stat-table, .match-round-pane .game-stat-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 11px; }
.game-stat-table .stat-name-col { width: 34%; }
.report-team .game-stat-table th, .report-team .game-stat-table td, .match-round-pane .game-stat-table th, .match-round-pane .game-stat-table td { padding: 10px 3px; text-align: center; border-bottom: 1px solid #3c5e7a; }
.game-stat-table thead { background: linear-gradient(#3c729a,#254e72); color: #edf8ff; }
.game-stat-table thead th { font-size: 9px; font-weight: 800; }
.game-stat-table tbody th { text-align: left !important; overflow-wrap: anywhere; color: #d9ecff; font-size: 10px; padding-left: 7px !important; }
.game-stat-table tbody td { font-weight: 900; font-size: 14px; color: #f1f8ff; font-variant-numeric: tabular-nums; }
.game-stat-table tbody tr:nth-child(even) { background: #193955; }
.game-stat-table .stat-leader { background: linear-gradient(90deg,#66502b55,#173650); }
.game-stat-table .stat-value-points, .game-stat-table .stat-value-goals { color: #ffe0a0; }
.game-stat-table .stat-value-saves { color: #d6b2ff; }
.game-stat-table .stat-value-assists { color: #9bdeff; }
.game-stat-table tbody tr:last-child > * { border-bottom: 0; }
/* Both team tables remain visible, with compact team headings. */
.match-report-section .report-team > h3, .match-round-pane .report-team > h3 {
  display: block; margin: 10px 0 6px; padding: 5px 8px;
  border: 1px solid #6596b9; border-radius: 7px;
  background: linear-gradient(#345f82,#203e5e); color: #dfefff; font-size: 12px;
}
.match-report-section .report-team + .report-team, .match-round-pane .report-team + .report-team { margin-top: 10px; }
.report-team .game-stat-table th, .report-team .game-stat-table td,
.match-round-pane .game-stat-table th, .match-round-pane .game-stat-table td { padding-top: 7px; padding-bottom: 7px; }
.match-stream-details {
  display: grid; grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center; gap: 5px 9px; padding: 10px 12px !important;
}
.match-stream-details[hidden] { display: none !important; }
.match-stream-details .match-stream-emblem { grid-column: 1; grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; }
.match-stream-details h2 { grid-column: 2; grid-row: 1; font-size: 13px; text-align: left; margin: 0; }
.match-stream-details .streamer-identity { grid-column: 2; grid-row: 2; justify-content: flex-start; margin: 0; }
.match-stream-details .streamer-identity .match-player-button { min-width: 0; min-height: 24px; padding: 4px 9px; font-size: 10px; }
.match-stream-details .match-stream-button { grid-column: 3; grid-row: 1 / 3; min-height: 32px; margin: 0 0 4px; padding: 7px 9px; font-size: 11px; }
/* Compact total tables retain all rows without explanatory filler. */
.match-report-section, .match-round-pane { padding: 9px 10px !important; }
.match-report-section > h2, .match-round-pane > h2 { font-size: 14px; margin-bottom: 5px; }
.match-report-section .report-team > h3, .match-round-pane .report-team > h3 { margin: 5px 0 4px; padding: 4px 7px; font-size: 11px; }
.match-report-section .report-team + .report-team, .match-round-pane .report-team + .report-team { margin-top: 7px; }
.report-team .game-stat-table th, .report-team .game-stat-table td,
.match-round-pane .game-stat-table th, .match-round-pane .game-stat-table td { padding-top: 5px; padding-bottom: 5px; }
.game-stat-table tbody td { font-size: 12px; }
.match-report-section .report-editor { margin-top: 6px; }
.match-report-section .report-editor > summary { padding: 4px 8px; min-height: 25px; font-size: 10px; }
.report-contest > summary { background: linear-gradient(#a4565b,#753139); border-color: #e3a2a2; }
.report-dispute-status { color: #ffc9b4; font-size: 11px; margin: 6px 0; }

.match-stream-details:not(:has(h2)) .streamer-identity { grid-row: 1 / 3; align-self: center; }

.upcoming-tabbed-match > .stat-view-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
.upcoming-tabbed-match .match-player-list { gap: 4px; }
.upcoming-tabbed-match .match-player-list li { height: 27px; }
.upcoming-tabbed-match .match-player-button { height: 25px; min-height: 25px; }

/* Round statistics use the available vertical room. */
.match-round-pane { padding: 14px 12px !important; }
.match-round-pane > h2 { font-size: 16px; margin-bottom: 9px; }
.match-round-pane .report-team > h3 { margin: 8px 0 6px; padding: 6px 8px; font-size: 12px; }
.match-round-pane .report-team + .report-team { margin-top: 12px; }
.match-round-pane .game-stat-table th, .match-round-pane .game-stat-table td { padding-top: 9px; padding-bottom: 9px; }
.match-round-pane .game-stat-table tbody td { font-size: 14px; }

/* Compact player cards with a tactile participation switch. */
.report-editor fieldset[data-report-player] { position: relative; margin: 12px 0; padding: 10px; border: 2px solid #628daf; border-radius: 11px; background: linear-gradient(155deg,#244c70,#142e49); box-shadow: inset 0 1px #a9dfff66,0 3px 0 #061729; }
.report-editor fieldset[data-report-player] legend { max-width: 100%; padding: 3px 9px; border: 1px solid #82c9ee; border-radius: 6px; background: linear-gradient(#579ac1,#285e83); color: #fff5d9; font-weight: 900; font-size: 13px; text-shadow: 0 1px 2px #061729; overflow-wrap: anywhere; }
.report-editor .report-inputs { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin-top: 7px; }
.report-editor .report-inputs label { font-size: 10px; font-weight: 800; color: #d8edff; gap: 4px; }
.report-editor .report-inputs input { height: 36px; padding: 5px 3px; border: 1px solid #698dab; border-radius: 7px; background: linear-gradient(#091e32,#173852); box-shadow: inset 0 2px 3px #020b1880; color: #ffe0a0; text-align: center; font-size: 14px; font-weight: 900; appearance: textfield; }
.report-editor .report-inputs input::-webkit-inner-spin-button, .report-editor .report-inputs input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.report-editor .report-inputs input:disabled { opacity: .45; }
.report-played-toggle { display: flex; align-items: center; justify-content: flex-end; gap: 9px; position: relative; min-height: 32px; color: #d8edff; font-size: 11px; font-weight: 800; cursor: pointer; }
.report-played-toggle input { position: absolute; right: 0; width: 48px; height: 32px; margin: 0; opacity: 0; cursor: pointer; }
.report-switch-track { display: block; width: 44px; height: 24px; box-sizing: border-box; padding: 3px; border: 1px solid #6f8a9f; border-radius: 14px; background: #0b1d30; box-shadow: inset 0 2px 4px #0008; transition: background .15s; }
.report-switch-track::after { content: ''; display: block; width: 16px; height: 16px; border-radius: 50%; background: linear-gradient(#edf4ff,#9aafc5); box-shadow: 0 2px 2px #0006; transition: transform .15s; }
.report-played-toggle input:checked + .report-switch-track { background: linear-gradient(#88bc42,#477a23); border-color: #bcdf79; }
.report-played-toggle input:checked + .report-switch-track::after { transform: translateX(18px); background: linear-gradient(#fff5ce,#ffd277); }
.report-played-toggle input:focus-visible + .report-switch-track { outline: 2px solid #ffe29c; outline-offset: 3px; }
/* Upcoming matches show overview, appointment and stream in one column. */
#app .game-shell #game-stage.upcoming-tabbed-match{width:calc(100% - 24px);max-width:720px;box-sizing:border-box;margin-inline:auto;padding-inline:0!important}
#game-stage.upcoming-tabbed-match>.match-versus,#game-stage.upcoming-tabbed-match>.upcoming-match-appointment,#game-stage.upcoming-tabbed-match>.match-stream-details{width:100%;max-width:none;box-sizing:border-box;margin-inline:0}
#app:has(.upcoming-tabbed-match)>a.unified-back,#app:has(.upcoming-tabbed-match)>.game-topbar a.back.play-back,#app:has(.upcoming-tabbed-match)>.game-topbar .topbar-back{left:max(12px,calc(50% - 360px))!important}
