/* Personal official match records share the archive's existing visual system. */
#match-history[hidden],.filter-workspace[hidden],.archive-toolbar[hidden],#forum-layout[hidden],.snapshot-picker[hidden] { display: none; }
#match-history { margin-top: 1.6rem; min-width: 0; }
.stats-intro { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem 1.5rem; margin-bottom: 1.2rem; }
.stats-intro p { margin: 0; color: #c2c6d0; font-size: .95rem; }
.stats-intro .fineprint { color: var(--muted); font-size: .8rem; }
.stats-intro-actions { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.stats-info-button { display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0; min-height: 44px; padding: .45rem .65rem; border: 1px solid #3b3e49; background: #14161c; color: #b8bdc9; font-size: .75rem; }
.stats-info-button::before { content: "i"; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border: 1px solid #a2a8b7; border-radius: 50%; font: 600 .7rem serif; }
.stats-info-dialog { width: min(600px, calc(100vw - 2rem)); }
.stats-info-dialog .dialog-top h2 { font-size: 1.25rem; }
.stats-info-dialog > p { font-size: .9rem; }
.stats-state { padding: 2.6rem 2rem; border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(125deg, #171a20, #101217 75%); }
.stats-state-mark { display: block; width: 35px; height: 3px; margin-bottom: 1.25rem; background: var(--red); }
.stats-state h2 { margin: 0 0 .55rem; font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 700; }
.stats-state p { max-width: 720px; margin: .4rem 0; color: #aeb4c2; }
.stats-state-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.stats-state-actions button { min-height: 44px; }
.stats-source-link { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; color: #d97586; font-size: .85rem; text-decoration: none; }
.stats-source-link::after { content: "↗"; font-size: .9rem; }
#match-history > .stats-source-link { margin-top: .9rem; font-size: .75rem; }
.stats-state-pending, .stats-state-loading { min-height: 220px; }
.stats-state-loading .stats-state-mark, .stats-state-pending .stats-state-mark { animation: stats-loading 1.4s ease-in-out infinite; }
.stats-state-error, .stats-state-expired, .stats-state-cooldown { border-color: #65414a; }
.stats-account-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9rem 1.5rem; padding: 1rem 0 1.3rem; border-bottom: 1px solid var(--line); }
.stats-binding-status { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; font-size: .9rem; }
.stats-connected-dot { width: 7px; height: 7px; border-radius: 50%; background: #a9bca1; box-shadow: 0 0 0 4px #a9bca112; }
.stats-provider-field, .stats-outcome-field { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.stats-provider-field > span, .stats-outcome-field > span { flex-shrink: 0; color: var(--muted); font-size: .8rem; }
.stats-provider-field .select-control { width: 240px; }
.stats-outcome-field .select-control { width: 176px; }
.stats-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem; }
.stats-account-actions > button { min-height: 44px; font-size: .8rem; }
.stats-account-actions .text-button { color: #b5b9c5; }
.stats-account-actions #stats-unlink { color: #dd7b8b; }
.stats-feedback { margin: .7rem 0; color: #dc8795; font-size: .85rem; }
.stats-feedback[hidden] { display: none; }
.stats-account-bar ~ .stats-state { margin: 1.2rem 0; }
.stats-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.6rem 0 .6rem; padding: 1.15rem 0; border: 1px solid var(--line); border-radius: 8px; background: #14161c; }
.stats-summary > div { min-width: 0; padding: .4rem 1.6rem; }
.stats-summary > div + div { border-left: 1px solid var(--line); }
.stats-summary dt { color: #a8aeba; font-size: .8rem; }
.stats-summary dd { margin: .45rem 0 0; color: #f2f0f0; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.stats-sample-note { margin: .5rem 0 1.35rem; color: #8f97a5; font-size: .75rem; }
.stats-filter-scope { margin: 0 0 .55rem; color: #8f98a8; font-size: .72rem; }
.stats-auto-sync, .stats-sync-result { margin: .35rem 0 .65rem; color: #9ea6b5; font-size: .72rem; }
.stats-sync-result { color: #a8bca6; }
.stats-archive-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 1.4rem 0 .3rem; color: #a3adbc; font-size: .8rem; }
.stats-archive-pagination button { min-height: 44px; font-size: .8rem; }
.stats-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: .35rem 0 .9rem; }
.stats-role-filter { display: inline-flex; gap: .35rem; }
.stats-role-filter > button { min-height: 44px; padding: .5rem .9rem; border-color: transparent; background: transparent; color: #b0b6c3; font-size: .85rem; }
.stats-role-filter > button[aria-pressed=true] { background: #2c1b24; border-color: #8f3b4b; color: #f2e7ea; }
.stats-provenance { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; margin: 0 0 .8rem; color: #929aa9; font-size: .72rem; }
.stats-results { display: grid; gap: .7rem; }
.match-row { min-width: 0; border: 1px solid #343843; border-radius: 8px; background: linear-gradient(145deg, #171a20, #101217 85%); overflow: clip; }
.match-row:hover { border-color: #77404c; }
.match-row[open] { border-color: #834152; }
.match-row-summary { display: grid; grid-template-columns: minmax(150px, 1.05fr) minmax(185px, 1.4fr) minmax(95px, .7fr) 92px 72px 22px; align-items: center; gap: 1.2rem; padding: 1.15rem 1.35rem; cursor: pointer; list-style: none; }
.match-row-summary::-webkit-details-marker, .match-opponent > summary::-webkit-details-marker { display: none; }
.match-character, .match-meta, .match-score, .match-duration { min-width: 0; display: grid; gap: .3rem; }
.match-character strong, .match-meta strong { font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; }
.match-role { color: #a8aeba; font-size: .75rem; }
.match-meta time { color: #9098a6; font-size: .72rem; font-variant-numeric: tabular-nums; }
.match-result { min-width: 0; color: #aeb5c4; font-size: .85rem; overflow-wrap: anywhere; }
.match-result.result-escaped { color: #a4bda1; }
.match-result.result-sacrificed, .match-result.result-killed { color: #df8495; }
.match-result.result-disconnected { color: #d9b87f; }
.match-score, .match-duration { text-align: right; font-variant-numeric: tabular-nums; }
.match-score > span, .match-duration > span { color: #8f98a8; font-size: .7rem; }
.match-score > strong, .match-duration > strong { color: #dbdfe7; font-size: .95rem; font-weight: 550; }
.match-expand { display: inline-block; overflow: hidden; width: 22px; height: 22px; color: transparent; position: relative; }
.match-expand::after { content: ""; position: absolute; top: 6px; left: 6px; width: 7px; height: 7px; border-right: 1.5px solid #b8adba; border-bottom: 1.5px solid #b8adba; transform: rotate(45deg); transition: transform .15s; }
.match-row[open] .match-expand::after { transform: rotate(225deg); top: 9px; }
.match-detail { padding: 1.25rem 1.35rem; border-top: 1px solid #39323d; background: #0d0f14; }
.match-detail h3 { margin: 0 0 .85rem; color: #ece6e9; font-size: .9rem; font-weight: 650; }
.match-loadout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1.6rem; }
.stats-loadout-group, .stats-emblems { min-width: 0; }
.stats-loadout-group h4, .stats-emblems h4 { margin: 0 0 .45rem; color: #a5aebb; font-size: .75rem; font-weight: 500; }
.stats-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.stats-pill { padding: .25rem .6rem; border: 1px solid #393543; border-radius: 5px; color: #c8c5d1; background: #1a1720; font-size: .75rem; overflow-wrap: anywhere; }
.stats-emblems { margin-top: 1rem; }
.match-roster { margin-top: 1.35rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.match-opponent { margin-top: .45rem; border-bottom: 1px solid #292c35; }
.match-opponent > summary { display: grid; grid-template-columns: minmax(140px, 1.5fr) minmax(70px, .7fr) minmax(90px, 1fr) 70px; align-items: center; gap: .65rem; padding: .65rem 0; list-style: none; cursor: pointer; font-size: .8rem; }
.match-opponent > summary strong { font-weight: 550; overflow-wrap: anywhere; }
.match-opponent-result { overflow-wrap: anywhere; color: #aeb6c3; }
.match-opponent-score { text-align: right; color: #c6ceda; font-variant-numeric: tabular-nums; }
.match-opponent .match-loadout { padding: .5rem 0 1rem; }
.match-detail > .fineprint { margin: 1rem 0 0; font-size: .72rem; }
.stats-bind-dialog { width: min(690px, calc(100vw - 2rem)); }
.stats-bind-dialog .dialog-top { align-items: flex-start; }
.stats-bind-dialog .dialog-top h2 { margin: .4rem 0; }
.stats-bind-dialog .close { width: auto; min-width: 44px; font-size: .8rem; color: #b5bbc6; }
.stats-bind-dialog h3 { margin: 1.4rem 0 .5rem; font-size: 1rem; }
.stats-copy-command { padding: .85rem 1rem; border: 1px solid #393d47; border-radius: 6px; background: #0b0c0f; color: #d9b8c4; font: .8rem/1.6 monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
#stats-bind-form { display: grid; gap: 1rem; }
#stats-bind-form > label:not(.stats-consent) { display: grid; gap: .5rem; color: #b5bdcb; font-size: .85rem; }
#stats-credential { width: 100%; padding: .7rem .8rem; background: #0b0c0f; border: 1px solid #424651; border-radius: 6px; color: #e7e5eb; font: .8rem/1.55 monospace; resize: vertical; }
#stats-file { display: block; width: 100%; height: auto; padding: .45rem 0; color: #aeb5c4; font-size: .8rem; }
#stats-file::file-selector-button { margin-right: .7rem; padding: .55rem .8rem; color: #e0dfe6; background: #22212a; border: 1px solid #41434d; border-radius: 5px; font: inherit; cursor: pointer; }
.stats-consent { display: flex; align-items: flex-start; gap: .7rem; font-size: .8rem; color: #c3c8d1; }
.stats-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: .22rem 0 0; accent-color: var(--red); }
#stats-bind-form .fineprint, #stats-bind-feedback { margin: 0; font-size: .75rem; }
#stats-bind-submit { justify-self: start; min-height: 44px; }
.stats-unlink-dialog { width: min(490px, calc(100vw - 2rem)); }
.stats-unlink-dialog h2 { margin-top: 0; font-size: 1.3rem; }
.stats-official-login-dialog { width: min(670px, calc(100vw - 2rem)); }
.stats-official-login-dialog .dialog-top { align-items: flex-start; }
.stats-official-login-dialog .dialog-top h2 { margin: .25rem 0; }
.stats-official-login-dialog .close { font: .8rem/1.4 var(--font); color: #b5bbc6; padding: .5rem; }
.stats-official-login-dialog > p { margin: .85rem 0; }
.stats-official-login-dialog h3 { margin: 1rem 0 .5rem; font-size: 1rem; }
.stats-login-extension { padding: 1rem; margin-top: 1rem; background: #13151c; border: 1px solid #353b48; }
.stats-login-extension h3 { margin-top: 0; }
.stats-login-extension p { margin: .65rem 0; }
.stats-extension-actions { display: flex; align-items: center; gap: .6rem 1rem; flex-wrap: wrap; }
.stats-extension-actions > button { min-height: 44px; font-size: .8rem; }
.stats-extension-actions > a { font-size: .8rem; }
.stats-sync-method { flex-basis: 100%; margin-left: 1.2rem; color: #a7afbf; font-size: .72rem; }
.stats-login-scope { padding: .65rem .85rem; border-left: 2px solid var(--red); background: #21181e; font-size: .82rem; }
.stats-official-login-dialog .stats-consent { margin: 1.15rem 0; }
#stats-login-start { min-height: 44px; }
#stats-login-feedback { min-height: 1.4em; margin: .9rem 0; font-size: .85rem; }
.stats-login-remote { margin-top: 1rem; }
.stats-login-remote[hidden], #stats-login-frame[hidden] { display: none; }
.stats-login-viewport { position: relative; width: min(440px, 100%); margin: 0 auto; background: #0c0d11; border: 1px solid #45404c; }
#stats-login-frame { display: block; width: 100%; height: auto; cursor: default; user-select: none; touch-action: manipulation; }
#stats-login-frame[aria-disabled="true"] { opacity: .65; }
#stats-login-keyboard { position: absolute; left: 1px; top: 1px; width: 1px; min-width: 1px; height: 1px; min-height: 1px; padding: 0; border: 0; opacity: 0; overflow: hidden; resize: none; pointer-events: none; font-size: 16px; }
#stats-login-instructions { margin: .85rem 0 .6rem; }
#stats-login-focus { min-height: 44px; font-size: .8rem; }
.stats-login-origin { overflow-wrap: anywhere; }
.stats-login-advanced { border-top: 1px solid var(--line); padding-top: .8rem; margin-top: 1.1rem; font-size: .78rem; color: #aab0bc; }
.stats-login-advanced > summary { cursor: pointer; }
.stats-login-advanced .text-button { display: block; margin-top: .5rem; white-space: normal; text-align: left; }
@keyframes stats-loading { 50% { opacity: .35; width: 60px; } }
@media(max-width: 1200px) {
  .stats-account-bar { justify-content: flex-start; }
  .stats-account-actions { margin-left: auto; }
  .match-row-summary { grid-template-columns: minmax(135px, 1fr) minmax(155px, 1.2fr) minmax(82px, .7fr) 80px 58px 18px; gap: .7rem; padding: 1rem; }
}
@media(max-width: 900px) {
  .stats-intro { display: block; }
  .stats-intro .fineprint { margin-top: .4rem; }
  .stats-intro-actions { justify-content: space-between; margin-top: .35rem; }
  .stats-binding-status { flex-basis: 100%; }
  .match-row-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) 100px 20px; }
  .match-character { grid-column: 1; grid-row: 1; }
  .match-meta { grid-column: 2; grid-row: 1; }
  .match-result { grid-column: 1; grid-row: 2; }
  .match-score { grid-column: 3; grid-row: 1; }
  .match-duration { grid-column: 2; grid-row: 2; display: flex; text-align: left; gap: .45rem; align-items: baseline; }
  .match-expand { grid-column: 4; grid-row: 1 / 3; }
  .stats-summary > div { padding: .35rem 1rem; }
}
@media(max-width: 600px) {
  #match-history { margin-top: 1.2rem; }
  .stats-intro p { font-size: .85rem; }
  .stats-intro-actions { align-items: flex-start; flex-wrap: wrap; gap: .4rem; }
  .stats-info-button { min-height: 36px; padding: .4rem .55rem; font-size: .72rem; }
  .stats-state { padding: 1.65rem 1.25rem; }
  .stats-state p { font-size: .85rem; }
  .stats-state-actions { gap: .6rem 1rem; margin-top: 1.2rem; }
  .stats-account-bar { gap: .9rem; }
  .stats-provider-field { width: 100%; }
  .stats-provider-field .select-control { flex: 1; width: auto; }
  .stats-account-actions { width: 100%; margin-left: 0; gap: .45rem .75rem; }
  .stats-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; margin-top: 1.1rem; }
  .stats-summary > div { padding: 1rem; }
  .stats-summary > div:nth-child(3) { border-left: 0; }
  .stats-summary > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .stats-summary dd { font-size: 1.65rem; }
  .stats-summary dt { font-size: .75rem; }
  .stats-role-filter { width: 100%; }
  .stats-role-filter > button { flex: 1; padding: .5rem; }
  .stats-outcome-field { width: 100%; }
  .stats-outcome-field .select-control { flex: 1; width: auto; }
  .stats-provenance { display: grid; }
  .match-row-summary { grid-template-columns: minmax(0, 1fr) 76px 17px; gap: .65rem .75rem; padding: 1rem; }
  .match-character { grid-column: 1; grid-row: 1; }
  .match-meta { grid-column: 1; grid-row: 2; }
  .match-result { grid-column: 1; grid-row: 3; }
  .match-score { grid-column: 2; grid-row: 1; }
  .match-duration { grid-column: 2; grid-row: 2; display: grid; text-align: right; gap: .3rem; }
  .match-expand { grid-column: 3; grid-row: 1 / 4; }
  .match-character strong, .match-meta strong { font-size: .9rem; }
  .match-role { font-size: .72rem; }
  .match-meta time { font-size: .68rem; }
  .match-detail { padding: 1rem; }
  .match-loadout { grid-template-columns: 1fr; gap: .8rem; }
  .match-opponent > summary { grid-template-columns: minmax(0, 1fr) 65px; }
  .match-opponent > summary strong { grid-column: 1; }
  .match-opponent > summary .match-role { grid-column: 2; text-align: right; }
  .match-opponent-result { grid-column: 1; }
  .match-opponent-score { grid-column: 2; }
  .stats-copy-command { font-size: .7rem; padding: .7rem; }
  #stats-bind-submit { width: 100%; }
  .stats-official-login-dialog { padding: 1.1rem; }
  .stats-official-login-dialog .dialog-top h2 { font-size: 1.15rem; }
  .stats-official-login-dialog > p { font-size: .8rem; }
  #stats-login-start { width: 100%; }
}
@media(prefers-reduced-motion: reduce) { .stats-state-mark { animation: none; } }

/* Official record structure, rendered in the Fog Atlas archive palette. */
.community-toolbar[hidden] { display:none; }
#match-history { margin-top:1rem; }
.stats-intro { margin-bottom:.6rem; }
.stats-account-bar { padding:.6rem 0 .85rem; }
.stats-view-tabs { display:flex; gap:1.5rem; border-bottom:1px solid var(--line); margin:1rem 0 1.5rem; }
.stats-view-tabs button { border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; min-height:48px; padding:.6rem .15rem; color:var(--muted); }
.stats-view-tabs button[aria-pressed=true] { border-bottom-color:var(--red); color:var(--text); }
.official-image { display:inline-flex; flex:none; align-items:center; justify-content:center; overflow:hidden; background:#141315; }
.official-image img { display:block; width:100%; height:100%; object-fit:contain; }
.image-initial { color:#afa3a5; font-size:.75rem; }
.image-missing { background:linear-gradient(140deg,#30272b,#17171a); border:1px solid #44363b; }
.match-row { border-radius:3px; border-color:#42373b; background:linear-gradient(110deg,#253039 0,#202328 46%,#1b191c 100%); }
.match-row.role-killer { background:linear-gradient(110deg,#3c1b24 0,#241d21 50%,#1b191c 100%); }
.match-row-summary { grid-template-columns:minmax(300px,1.4fr) auto minmax(210px,1fr) 16px; gap:1rem; padding:1rem; }
.match-own-summary { display:flex; gap:.9rem; align-items:center; min-width:0; }
.match-portrait { position:relative; width:90px; height:104px; flex:none; border:1px solid #52434a; border-radius:2px; overflow:hidden; background:#111215; }
.character-portrait { width:100%; height:100%; }
.character-portrait img { object-fit:cover; }
.match-portrait .match-result { position:absolute; bottom:0; left:0; width:100%; text-align:center; padding:.2rem; background:#080809e8; color:#e1d6d7; font-size:.65rem; line-height:1.3; }
.match-character { gap:.1rem; }
.match-character > strong { font-size:1rem; }
.match-character .match-score-value { font-size:1.05rem; font-variant-numeric:tabular-nums; }
.match-character .match-role { font-size:.65rem; }
.match-loadout-strip { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:.4rem; }
.perk-slot,.item-slot { width:30px; height:30px; background:transparent; }
.perk-slot { background:#111114; border-radius:3px; }
.match-loadout-extras { display:inline-flex; border-left:1px solid #5a4d51; margin-left:4px; padding-left:6px; gap:2px; }
.match-roster-preview { display:flex; gap:.5rem; border-left:1px solid #51444b; padding-left:1rem; }
.match-mini { display:grid; align-content:start; justify-items:center; gap:.2rem; width:48px; padding:4px 3px; background:#151e24; font-size:.7rem; font-variant-numeric:tabular-nums; border-radius:2px; }
.match-mini.role-killer { background:#450f1b; }
.mini-portrait { width:42px; height:42px; }
.mini-portrait img { object-fit:cover; }
.match-mini small { font-size:.56rem; color:#cbbdc1; overflow-wrap:anywhere; }
.match-map-preview { display:flex; gap:.7rem; align-items:center; border-left:1px solid #51444b; padding-left:1rem; min-width:0; }
.map-thumbnail { width:98px; height:86px; }
.map-thumbnail img { object-fit:cover; }
.match-meta strong { font-size:.8rem; }
.match-meta time { font-size:.65rem; color:#b4a9ad; }
.match-meta .match-time-value { font-size:1rem; }
.match-expand { width:16px; }
.match-expand::after { transform:rotate(-45deg); left:2px; }
.stats-match-dialog { width:min(760px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:1.5rem; border:1px solid #6b3541; border-top:3px solid var(--red); border-radius:3px; background:#151315; }
.stats-match-dialog::backdrop { background:#050406d9; backdrop-filter:blur(3px); }
.stats-match-dialog .dialog-top { margin-bottom:1rem; }
.stats-match-dialog h2 { font-size:1.1rem; margin:0; }
.stats-match-dialog h3 { margin:0; font-size:1rem; }
.match-dialog-player { display:flex; gap:1rem; padding:.7rem; background:linear-gradient(100deg,#253039,#1d1b20); border:1px solid #494049; }
.match-dialog-player.role-killer { background:linear-gradient(100deg,#4b1c29,#241b20); }
.match-dialog-player .match-character { align-content:center; gap:.2rem; }
.match-dialog-player small { color:var(--muted); font-size:.7rem; }
.stats-match-dialog .match-detail { border:0; padding:1rem 0 0; background:transparent; }
.stats-match-dialog .match-own-loadout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.stats-match-dialog .match-loadout { display:contents; }
.stats-match-dialog .stats-loadout-group,.stats-match-dialog .stats-emblems,.match-detail-timing { padding:.8rem; background:#222024; border:1px solid #393039; }
.stats-match-dialog .stats-pills { gap:.5rem; }
.stats-match-dialog .stats-pill { display:flex; align-items:center; padding:0; border:0; background:transparent; gap:.4rem; font-size:.7rem; }
.stats-match-dialog .stats-pill > span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.loadout-icon { width:36px; height:36px; background:#131115; }
.emblem-icon { width:46px; height:46px; background:transparent; }
.match-detail-timing { display:grid; align-content:space-between; margin:0; color:var(--muted); font-size:.8rem; }
.match-detail-timing strong { color:var(--text); }
.stats-match-dialog .stats-emblems { margin:0; grid-column:span 2; }
.match-detail-bottom { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-top:.65rem; }
.stats-match-dialog .match-roster,.match-detail-map { margin:0; padding:.8rem; background:#222024; border:1px solid #393039; min-width:0; }
.stats-match-dialog .match-opponent { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:.45rem; width:100%; text-align:left; align-items:center; margin:.4rem 0 0; padding:.4rem; background:#19232b; border:1px solid transparent; font-size:.7rem; }
.stats-match-dialog .match-opponent.role-killer { background:#450f1b; }
.stats-match-dialog .match-opponent[aria-pressed=true] { border-color:var(--red); }
.stats-match-dialog .match-opponent > small { grid-column:2 / 4; font-size:.65rem; color:#b7aab0; margin-top:-.3rem; }
.stats-match-dialog .match-opponent .mini-portrait { grid-row:1 / 3; }
.match-detail-map { display:grid; gap:.4rem; align-content:start; font-size:.8rem; }
.match-detail-map h3 { margin-bottom:.45rem; }
.map-detail-image { width:100%; aspect-ratio:3/2; }
.map-detail-image img { object-fit:cover; }
.match-detail-map small { color:var(--muted); }
.stats-match-dialog > a { display:inline-block; margin-top:1rem; font-size:.72rem; color:#ccaaa9; }
.statistics-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.2rem; }
.statistics-heading h2 { margin:0; font-size:1.4rem; }
.statistics-periods { display:flex; background:#211d21; padding:3px; border:1px solid #40333a; }
.statistics-periods button { border-color:transparent; background:transparent; min-height:44px; font-size:.8rem; }
.statistics-periods button[aria-pressed=true] { background:#110f12; border-color:#8c394b; }
.statistics-layout { display:grid; grid-template-columns:152px minmax(0,1fr); gap:1.1rem; align-items:start; }
.statistics-modes { display:grid; gap:.65rem; }
.statistics-mode { min-height:76px; font-size:.85rem; font-weight:600; position:relative; overflow:hidden; border-color:#49333b; background:radial-gradient(ellipse at bottom,#4b202c 0,transparent 72%),linear-gradient(130deg,#1d2429,#171317); }
.statistics-mode::before { content:''; position:absolute; width:60px; height:100px; border:1px solid #b0606033; transform:rotate(30deg); right:-20px; bottom:-35px; pointer-events:none; }
.statistics-mode[aria-pressed=true] { border-color:var(--red); box-shadow:inset 3px 0 var(--red); background:radial-gradient(ellipse at bottom,#622433,transparent),#21171c; }
.statistics-content { padding:1.25rem; border:1px solid #40323a; background:#171417; min-width:0; }
.statistics-content > h3 { margin:0 0 1rem; font-size:1.25rem; }
.statistics-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.statistics-card { padding:1.2rem; background:linear-gradient(130deg,#2b2629,#242024); border:1px solid #3b3037; position:relative; overflow:hidden; }
.statistics-card::after { content:''; position:absolute; width:110px; height:110px; border:12px double #ffffff05; border-radius:50%; right:-20px; bottom:10px; pointer-events:none; }
.statistics-card.statistics-survivors { background:linear-gradient(130deg,#26333b,#20262d); border-color:#38444e; }
.statistics-card.statistics-killers { background:linear-gradient(130deg,#491421,#2a1119); border-color:#5e2837; }
.statistics-card h4 { font-size:1rem; margin:0 0 1rem; }
.statistics-card dl { margin:0; position:relative; z-index:1; }
.statistics-card dl > div + div { margin-top:.65rem; }
.statistics-card dt { font-size:.8rem; color:#c0b2b9; }
.statistics-card dd { margin:0; font-size:1.1rem; font-weight:650; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.statistics-performance { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.statistics-performance dl { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin:0; padding:1rem; border:1px solid #49333b; }
.statistics-performance dt { font-size:.75rem; color:var(--muted); }
.statistics-performance dd { margin:0; font-size:1.1rem; font-variant-numeric:tabular-nums; }
.statistics-index { margin-top:1.5rem; }
.statistics-index h4 { margin:.5rem 0; }
.statistics-index-list { display:grid; gap:.35rem; }
.statistics-index-row { display:grid; grid-template-columns:minmax(0,1.5fr) 1fr 1fr; align-items:center; gap:.6rem; padding:.5rem .65rem; border:1px solid #3b3037; background:#211d21; font-size:.75rem; }
.statistics-index-identity { display:flex; align-items:center; gap:.65rem; min-width:0; }
.statistics-index-identity strong { overflow-wrap:anywhere; }
.statistics-index-icon { width:40px; height:40px; }
.stats-statistics-provenance { display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin:1rem 0 .3rem; font-size:.7rem; color:var(--muted); }
.statistics-content > .fineprint { font-size:.72rem; margin-bottom:0; }
@media(max-width:1150px) {
  .match-row-summary { grid-template-columns:minmax(0,1fr) minmax(210px, .8fr) 16px; }
  .match-roster-preview { grid-row:2; border:0; padding:0; }
  .match-map-preview { grid-column:2; grid-row:1 / 3; }
  .match-expand { grid-column:3; grid-row:1 / 3; }
  .statistics-card { padding:.85rem; }
}
@media(max-width:800px) {
  .statistics-layout { grid-template-columns:1fr; }
  .statistics-modes { display:flex; overflow:auto; padding-bottom:.3rem; }
  .statistics-mode { flex:0 0 126px; min-height:58px; }
  .statistics-content { padding:1rem; }
}
@media(max-width:620px) {
  .match-row-summary { grid-template-columns:minmax(0,1fr) 16px; gap:.75rem; padding:.8rem; }
  .match-own-summary { grid-column:1; grid-row:1; gap:.7rem; }
  .match-portrait { width:72px; height:90px; }
  .match-character > strong { font-size:.9rem; }
  .perk-slot,.item-slot { width:25px; height:25px; }
  .match-loadout-strip { gap:3px; }
  .match-roster-preview { grid-column:1 / 3; grid-row:2; border-top:1px solid #4a3a41; padding-top:.7rem; }
  .match-mini { width:48px; }
  .match-map-preview { grid-column:1 / 3; grid-row:3; border:0; padding:0; }
  .map-thumbnail { width:104px; height:64px; }
  .match-expand { grid-column:2; grid-row:1; }
  .match-meta time { font-size:.7rem; }
  .stats-match-dialog { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); padding:1rem; }
  .stats-match-dialog .match-own-loadout { grid-template-columns:1fr 1fr; }
  .stats-match-dialog .stats-emblems { grid-column:1 / 3; }
  .match-detail-bottom { grid-template-columns:1fr; }
  .statistics-cards { grid-template-columns:1fr; }
  .statistics-card { padding:1rem; }
  .statistics-card dl { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
  .statistics-card dl > div + div { margin:0; }
  .statistics-card dl > div:last-child { grid-column:1 / 3; }
  .statistics-card h4 { margin-bottom:.7rem; }
  .statistics-performance { grid-template-columns:1fr; }
  .statistics-index-row { grid-template-columns:minmax(0,1fr) auto; }
  .statistics-index-identity { grid-column:1 / 3; }
}
