/* GamingStats mockup layout. Shared surfaces and page-specific composition. */
:root {
  --bg:#0e0f19;
  --card:#171824;
  --card2:#202132;
  --line:#2c2d40;
  --text:#f4f3fc;
  --muted:#aaa9bf;
  --green:#8de2bf;
  --lavender:#b79bfa;
}
body { background:var(--bg); color:var(--text); }
.shell { align-items:start; }
.sidebar { background:#12131f; border-color:var(--line); }
.main { max-width:1660px; margin:0 auto; padding:22px 24px 56px; }
.topline { margin-bottom:16px; border-color:var(--line); }
.heading { font-size:clamp(28px,3.4vw,42px); letter-spacing:-.045em; }
.sub { color:var(--muted); }
.card, .teamsection { background:var(--card); border-color:var(--line); border-radius:12px; box-shadow:none; }
.card h2 { font-size:1rem; }
.section-heading { gap:8px 14px; }
.nav a, .secondary-nav a { border-radius:8px; }
.nav a.on, .secondary-nav a.on { background:#242038; color:#e6dcff; }
th { background:#212233; color:#c5c3d8; }
td { border-color:var(--line); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid var(--lavender); outline-offset:3px; }
.home-kpis { gap:12px; margin:16px 0; }
.home-kpis .card { position:relative; min-width:0; padding:14px 16px; border-top:2px solid #8064bf; }
.home-kpis .card:nth-child(2) { border-top-color:#62bda9; }
.home-kpis .card:nth-child(3) { border-top-color:#729cd7; }
.home-kpis .card:nth-child(4) { border-top-color:#dbad74; }
.home-kpis .big { font-size:1.85rem; line-height:1.35; }
.home-planning { align-items:stretch; gap:14px; }
.home-planning .weekly-home .section-heading { justify-content:space-between; align-items:center; }
.weekly-home .mission-selectors { margin:8px 0; }
.mission-clock { background:#29223e; border:1px solid #605082; border-radius:8px; color:#eee6ff; }
.mission-clock strong { color:#e1ceff; }
.weekly-home .mission, .profile-missions .mission { background:#1e1e30; border:1px solid #36334b; border-radius:8px; }
.weekly-home .missions { grid-template-columns:minmax(0,1fr); gap:8px; }
.home-leader-row { gap:14px; align-items:stretch; }
.home-recent, .leaderboard-board { min-width:0; }
.home-recent .compact-match-list { display:block; }
.leaderboard-board .mini-leader { padding:5px 0; }
.archive-overview .tablewrap { border:1px solid var(--line); border-radius:10px; overflow:auto; }
.archive-overview table { min-width:650px; }
.archive-overview td, .archive-overview th { padding:8px 12px; }
.archive-overview tbody tr:nth-child(even), .directory-board tbody tr:nth-child(even) { background:#1b1c2a; }
.archive-overview td small { display:block; margin-top:3px; color:var(--muted); }
.archive-map-tile { display:grid; align-items:end; position:relative; isolation:isolate; overflow:hidden; min-width:105px; max-width:152px; min-height:48px; border-radius:6px; background:#252438; }
.archive-map-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.archive-map-tile strong { background:linear-gradient(transparent,#0e0d17ed); padding:10px 7px 4px; }
.archive-result { display:inline-block; white-space:nowrap; font-weight:800; background:#29253b; border-radius:5px; padding:4px 8px; }
.archive-compact table { min-width:390px; }
.archive-compact td, .archive-compact th { padding:6px 8px; }
.archive-compact .archive-map-tile { min-width:75px; }
.directory-toolbar { padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--card); }
.directory-board { padding:0; }
.directory-board td:first-child { width:3rem; color:var(--muted); }
.match-score-hero { min-height:190px; border-color:var(--line); }
.match-score-overlay { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; text-align:center; background:linear-gradient(transparent,#0c0d19e8); align-self:end; }
.competitive-scoreboard .team-scoreboard { padding:8px 10px; margin-block:10px; }
.competitive-scoreboard .team-scoreboard td { padding:5px 9px; }
.match-leading-rounds { margin-block:12px; }
.match-leading-rounds .round-highlight { background:var(--card2); }
.comparison-dashboard .compare-identity { background:linear-gradient(160deg,#25213b,var(--card) 68%); }
.comparison-dashboard > .compare-identity:last-child { background:linear-gradient(160deg,#1d3436,var(--card) 68%); }
.comparison-dashboard .mini-avatar { width:clamp(54px,8vw,100px); height:clamp(54px,8vw,100px); }
.compare-overview-row { margin:6px 0; padding:3px; border:1px solid var(--line); border-radius:7px; background:#1b1c2b; }
.profile-layout { gap:16px; }
.profile-identity .profile-hero { border-color:var(--line); }
.profile-content .profile-tabs { border-bottom:1px solid var(--line); padding-bottom:8px; }
.profile-rating-grid > .card { height:100%; }
.profile-showcase { gap:12px; }
.unified-history-wrap .history-detail-panel { background:#222036; border-color:#50446b; border-inline-start-color:var(--lavender); }
.reward-steps { gap:0; padding:8px 0; overflow:auto; flex-wrap:nowrap; }
.reward-steps button { flex:1 0 auto; border-radius:0; }
.reward-steps button:first-child { border-radius:8px 0 0 8px; }
.reward-steps button:last-child { border-radius:0 8px 8px 0; }
@media (min-width:1051px) {
 .shell { grid-template-columns:240px minmax(0,1fr); }
}
@media (min-width:1320px) {
 .profile-layout { grid-template-columns:minmax(220px,250px) minmax(0,1fr); }
 .profile-identity .profile-hero { padding:76px 16px 16px; }
 .profile-identity .hero-avatar { width:96px; height:96px; }
}
@container (min-width:380px) {
 .home-planning .weekly-home .missions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (min-width:555px) {
 .home-planning .weekly-home .missions { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
 .main { padding:16px 12px 42px; }
 .match-score-overlay { grid-template-columns:minmax(0,1fr); justify-items:center; width:100%; gap:6px; }
 .match-score-overlay > div > strong { font-size:1.1rem; }
 .match-score-pair { width:auto; }
 .archive-overview td, .archive-overview th { padding:6px 8px; }
}
#view > h1 { font-size:clamp(29px,3.4vw,42px); line-height:1.12; letter-spacing:-.045em; }
.home-planning .weekly-home .mission-selectors label { min-width:0; }
.home-planning .weekly-home .mission-selectors select { max-width:100%; }
.profile-content > nav.tabs { margin-block:0 12px; }
.competitive-scoreboard .score-details-row > td { padding:0 9px 4px; border-top:0; }
.competitive-scoreboard .score-details-row details:not([open]) > summary { font-size:.75rem; }
@media (min-width:1320px) {
 .profile-showcase { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Homepage composition from the dashboard reference. */
.concept-calendar-title { display:none; }
.concept-home {
  --card:#161822;
  --line:#414657;
  --muted:#bdc0d0;
  color:#f5f6fc;
}
.main:has(.concept-home) { padding-top:16px; }
.home-crumb { display:flex; gap:10px; font-size:15px; }
.home-crumb strong { color:#c2a4fa; }
.concept-home > h1 { font-size:clamp(30px,3vw,44px); margin:6px 0 14px; line-height:1.1; }
.concept-home .card { border-color:var(--line); }
.concept-home .home-kpis .card { display:flex; gap:clamp(8px,2vw,30px); align-items:center; min-height:94px; padding:12px 17px; }
.home-kpis svg { flex:none; width:clamp(24px,3.3vw,53px); fill:none; stroke:#c2aaf6; stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round; }
.concept-home .home-kpis .big { margin:0; font-size:clamp(24px,3vw,42px); line-height:1; }
.concept-home .home-kpis .card div > span { color:#dedfee; font-size:clamp(12px,1.4vw,20px); }
.concept-home .home-planning { gap:16px; }
.concept-home .home-planning > .card, .concept-home .home-leader-row > .card { padding:14px; }
.concept-home .home-planning h2, .concept-home .home-leader-row h2, .concept-home .concept-calendar-title { margin:0; font-size:clamp(19px,2vw,28px); line-height:1.2; }
.concept-home .monthly-calendar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.concept-home .concept-calendar-title { display:block; }
.concept-home .month-controls { display:flex; gap:5px; align-items:center; margin:0; }
.concept-home .month-controls label { font-size:0; }
.concept-home .month-controls select { max-width:5.5rem; font-size:.7rem; padding:3px; }
.concept-home .month-summary { display:none; }
.concept-home .month-weekdays, .concept-home .month-days { grid-column:1/-1; gap:0; border:1px solid var(--line); }
.concept-home .month-weekdays { margin-top:14px; border-radius:8px 8px 0 0; padding:8px 0; background:#1c1e2a; }
.concept-home .month-days { border-top:0; border-radius:0 0 8px 8px; overflow:hidden; }
.concept-home .month-cell, .concept-home .month-empty { border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; background:#141620; min-height:39px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:3px; gap:2px; }
.concept-home .month-cell strong { font-size:clamp(.56rem,1vw,.72rem); line-height:1.1; text-align:center; }
.concept-home .month-cell.level-1, .concept-home .month-cell.level-2, .concept-home .month-cell.level-3 { color:#fff; }
.concept-home .month-cell.level-3 { background:#a98ae5; color:#141323; }
.concept-home .activity-legend, .concept-home .monthly-calendar > .metric-note { grid-column:1/-1; }
.concept-home .monthly-calendar > .metric-note { display:none; }
.concept-home .calendar-info { margin:6px 0 0; font-size:.75rem; }
.concept-home .mission-clock { background:#b69aee; border:0; color:#171324; }
.concept-home .mission-clock strong, .concept-home .mission-clock span { color:inherit; }
.concept-home .mission-clock > small { display:none; }
.concept-home .mission-selectors { justify-content:flex-start; gap:10px; }
.concept-home .weekly-home .mission { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:6px; background:#21232e; border-color:var(--line); }
.concept-home .mission h3 { grid-column:1; grid-row:1; margin:0; font-size:.9rem; }
.concept-home .mission .tiny { grid-column:2; grid-row:1; font-size:0; }
.concept-home .mission .tiny::after { content:attr(data-xp); font-size:.75rem; color:#d1b6ff; letter-spacing:0; white-space:nowrap; }
.concept-home .mission > p, .concept-home .mission-progress { grid-column:1/-1; }
.concept-home .mission-progress { display:flex; align-items:center; gap:8px; }
.concept-home .mission-progress progress { flex:1; min-width:0; accent-color:#81efb4; }
.concept-home .mission-progress progress::-webkit-progress-value { background:#81efb4; }
.concept-home .mission-progress p { white-space:nowrap; }
.concept-home .home-leader-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.concept-home .home-leader-row table { min-width:0; font-size:clamp(11px,1vw,14px); }
.concept-home .home-leader-row td, .concept-home .home-leader-row th { padding:6px; }
.concept-home .home-leader-row th { text-transform:none; letter-spacing:0; }
.concept-home .home-leader-row .mini-avatar { display:none; }
.concept-home .archive-result.won { background:#204b38; color:#a0f7ce; }
.concept-home .archive-result.lost { background:#522c34; color:#ffb4bd; }
.home-position { display:inline-block; min-width:1.6rem; text-align:center; border-radius:4px; background:#303444; }
.concept-home tr:first-child .home-position { background:#80edb7; color:#13241d; }
.concept-home .home-more { margin:0 0 12px; }
@media(max-width:900px) {
 .concept-home .home-leader-row { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:550px) {
 .concept-home .monthly-calendar { grid-template-columns:minmax(0,1fr); }
 .concept-home .month-controls { margin-top:6px; }
 .concept-home .home-leader-row table { min-width:390px; }
}
.concept-home .home-leader-row td { white-space:normal; }
.concept-home .home-leader-row td:first-child { white-space:nowrap; }
.concept-home .home-leader-row .player-badge { display:inline; }
.concept-home .home-leader-row .player-badge strong { overflow-wrap:normal; }
.concept-home .weekly-home .section-heading h2 { flex:0 1 auto; }
.concept-home .mission.complete { border-color:#79cca2; }
.concept-home .mission.complete .tiny::after { content:"✓ " attr(data-xp); }
.main:has(.concept-home) .topline { margin-top:14px; }
.shell:has(.concept-home) .nav a.on { background:#b69aee; color:#151120; }
@container (min-width:490px) {
 .concept-home .home-planning .weekly-home .missions { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Navigation and disclosure patterns shared by the dashboard and inner pages. */
.page-crumb { display:flex; gap:.6rem; margin-bottom:.75rem; color:#d8d6e6; }
.page-crumb a { color:#c6a8ff; font-weight:750; }
.sidebar a[aria-current="page"] { background:#b69aee; color:#151120; border-color:#b69aee; }
.sidebar a[aria-current="page"] .nav-icon { color:inherit; }
.mobile-menu { background:#212333; border:1px solid #45465b; border-radius:8px; font-weight:700; }
.mobile-menu[aria-expanded="true"] { background:#b69aee; color:#151120; }
.sidebar.menu-open .nav, .sidebar.menu-open .secondary-nav { gap:5px; }
#view .tabs { align-items:center; }
#view .tabs a, #view .tabs button, #view .profile-panel-controls button { border-color:#45465b; }
#view .tabs .on, #view .tabs [aria-pressed="true"], #view .profile-panel-controls [aria-pressed="true"] { background:#b69aee; border-color:#b69aee; color:#151120; }
#view details > summary { color:#ded0ff; cursor:pointer; padding:.48rem .6rem; border-radius:7px; overflow-wrap:anywhere; }
#view details > summary::marker { color:#b69aee; }
#view details > summary:hover, #view details[open] > summary { background:#28243a; }
#view details.card > summary { font-weight:750; }
#view details.card[open] > summary { margin-bottom:.55rem; }
#view .filters { border-radius:10px; }
#view input, #view select { border-color:#45465b; }
#view :is(.directory-board,.archive-overview,.direct-meetings,.unified-history-wrap,.match-scoreboard) th { background:#232535; }
#view :is(.profile-content,.comparison-dashboard,.archive-overview,.directory-board) .tablewrap { border-radius:8px; }
#view :is(.history-detail-panel,.round-highlight,.compare-overview-row) { border-radius:8px; }
.concept-home .home-recent th, .concept-home .home-recent td { padding:4px 6px; }
.concept-home .home-recent .archive-result { padding:3px 6px; }
.concept-home .home-rankings, .concept-home .performance-board { margin:0 0 14px; }

.concept-home .monthly-calendar { grid-template-columns:minmax(0,1fr); }
.concept-home .month-controls { display:grid; grid-template-columns:36px minmax(0,1fr) minmax(0,.7fr) 36px; gap:6px; margin-top:8px; }
.concept-home .month-controls > button { width:36px; min-width:36px; height:36px; }
.concept-home .month-controls select { width:100%; max-width:none; min-width:0; height:36px; }
.archive-overview .opponent-duel { display:grid; grid-template-columns:minmax(0,1fr) 1.5rem minmax(0,1fr); align-items:center; gap:.3rem; }
.archive-overview .opponent-side { display:grid; grid-template-columns:1.2rem minmax(0,1fr); align-items:center; gap:.35rem; min-width:0; }
.archive-overview .opponent-cup-slot { display:grid; place-items:center; width:1.2rem; }
.archive-overview .opponent-side .mini-avatar { width:26px; height:26px; flex:0 0 26px; object-fit:cover; }
.archive-overview .opponent-side strong, .archive-overview .team-label { overflow-wrap:anywhere; }
.archive-mobile { display:none; }
#view :is(.card,.section-heading,.filters,.tabs,.profile-content) { min-width:0; }
#view :is(h1,h2,h3,summary,.badge,.metric-note) { overflow-wrap:anywhere; }
#view :is(.filters,.tabs,.section-heading) { flex-wrap:wrap; }
#view img { max-width:100%; }
@media(max-width:700px) {
 .archive-overview > .tablewrap { display:none; }
 .archive-mobile { display:grid; gap:8px; }
 .archive-mobile-card { display:grid; gap:9px; margin:0; padding:10px; }
 .archive-mobile-head { display:grid; grid-template-columns:minmax(72px,1fr) minmax(0,1fr) auto; gap:8px; align-items:center; }
 .archive-mobile-head small, .archive-mobile-meta small { display:block; }
 .archive-mobile-head .archive-map-tile { min-width:0; }
 .archive-mobile-meta { display:flex; flex-wrap:wrap; gap:8px 12px; }
 .archive-mobile-meta > div { display:grid; gap:4px; font-size:.75rem; }
 #view .filters label { min-width:0; }
 #view .filters :is(input,select) { max-width:100%; }
 #view .tablewrap { max-width:100%; overflow-x:auto; }
}

.compare-overview-row .mirror-values { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr); }

.competitive-detail > h1 { margin:0 0 12px; }
.competitive-detail .match-score-hero { min-height:155px; }
.competitive-detail .match-score-overlay { align-self:stretch; background:linear-gradient(90deg,#11121de6,transparent 75%); text-align:left; padding:14px 22px; }
.competitive-detail .match-score-pair { grid-column:2; min-width:0; text-align:center; }
.competitive-detail .team-scoreboard { padding:0; overflow:hidden; }
.competitive-detail .team-scoreboard .section-heading { justify-content:flex-start; padding:9px 14px; }
.competitive-detail .team-scoreboard h2 { margin:0; }
.competitive-detail .team-final-score { margin-inline-start:auto; font-size:1.7rem; }
.competitive-detail .winning-team .team-final-score { color:#7ff2bb; }
.competitive-detail .losing-team .team-final-score { color:#ff8492; }
.competitive-detail .match-scoreboard { min-width:0; table-layout:auto; }
.competitive-detail .match-scoreboard th:first-child { width:26%; }
.competitive-detail .match-scoreboard th:nth-child(n+2), .competitive-detail .match-scoreboard td:nth-child(n+2) { text-align:center; }
.competitive-detail .match-scoreboard tbody tr:nth-child(even) { background:#1d1e2d; }
.competitive-detail .team-player-details { margin:5px 8px; }
.match-round-list { list-style:none; padding:0; display:grid; gap:5px; }
.match-round-list li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:5px 9px; background:#202234; border:1px solid var(--line); border-radius:7px; }
@media(max-width:550px) {
 .competitive-detail .match-score-overlay { text-align:center; }
 .competitive-detail .match-score-pair { grid-column:auto; }
 .competitive-detail .match-scoreboard td, .competitive-detail .match-scoreboard th { padding:4px; font-size:.72rem; }
 .competitive-detail .match-scoreboard th:first-child { width:auto; }
 .competitive-detail .match-scoreboard .mini-avatar { display:none; }
 .match-round-list li { grid-template-columns:auto minmax(0,1fr); }
 .match-round-list li > span { grid-column:2; }
}

.rank-emblem:has(.classic-rank-icon) {
  width:54px;
  min-width:36px;
  height:32px;
  border:0;
  background:none;
  box-shadow:none;
}
.classic-rank-icon { width:100%; height:100%; object-fit:contain; }

/* Community dashboard and player overview */
.home-crumb { align-items:center; flex-wrap:wrap; }
.main:has(.concept-home) .home-crumb .topline { margin:0 0 0 auto; border:0; padding:0; }
.home-crumb .topline #status { display:none; }
.community-overview { margin-block:16px; }
.community-overview > .section-heading { margin-bottom:10px; }
.community-overview > .section-heading h2 { font-size:clamp(22px,2.5vw,36px); margin:0; }
.community-stat-grid, .overview-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:14px; }
.community-stat-grid[hidden] { display:none; }
.community-stat-grid > .card, .overview-columns > .card { min-width:0; margin:0; }
.compact-records .record-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; margin-block:10px; }
.compact-records .record-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; padding:9px 12px; margin:0; }
.compact-records .record-card .tiny { grid-column:1; }
.compact-records .record-card .big { grid-column:1; font-size:1.45rem; margin:0; }
.compact-records .record-holders { grid-column:2; grid-row:1/span 2; }
.compact-records .record-card > .metric-note, .compact-records .record-history { grid-column:1/-1; }
.compact-records .record-card > .metric-note { margin:0; }
.community-kd table { min-width:0; }
.community-kd th,.community-kd td { padding:6px; }
.community-kd h2 .badge { font-size:.72rem; vertical-align:middle; }
.community-sessions { margin-block:14px; }
.community-session > summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.community-session > summary::after { content:'›'; margin-inline-start:auto; }
.community-session[open] > summary::after { content:'⌄'; }
.community-session.latest > summary { background:#342b4c; }
.community-session .session-links { margin:6px 0 10px; }
.profile-overview-layout .profile-hero { min-height:0; margin:0 0 12px; padding:0; }
.profile-overview-layout .hero-content { display:flex; align-items:center; gap:14px; padding:12px; }
.profile-overview-layout .hero-avatar { width:62px; height:62px; object-fit:cover; }
.profile-overview-layout .hero-name h1 { margin:0; font-size:1.35rem; }
.profile-overview-layout .hero-xp { margin-inline-start:auto; width:min(40%,420px); }
.profile-overview-layout .profile-metric-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.overview-form { display:flex; flex-wrap:wrap; gap:7px; padding-block:10px; }
.overview-form .result-chip { padding:8px 10px; }
.overview-columns { margin-block:14px; }
.overview-highlights > section { margin:0; padding:10px 0; border:0; border-top:1px solid var(--line); background:none; }
.profile-overview-layout .profile-map-grid { grid-template-columns:minmax(0,1fr); }
.overview-competitive .player-map-card { display:grid; grid-template-columns:84px minmax(0,1fr); gap:4px 10px; padding:7px; }
.overview-competitive .player-map-card > :first-child { grid-row:1/span 4; }
.overview-competitive .player-map-card p { margin:0; }
@media(max-width:760px) {
 .community-stat-grid,.overview-columns { grid-template-columns:minmax(0,1fr); }
 .profile-overview-layout .hero-content { flex-wrap:wrap; }
 .profile-overview-layout .hero-xp { width:100%; margin:0; }
 .profile-overview-layout .profile-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.compact-community-row { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--line); }
.compact-community-row > strong { white-space:nowrap; }
.home-community-row .tabs { margin:6px 0; }
.full-rank-ladder ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0; list-style:none; }
.full-rank-ladder li { display:grid; gap:4px; padding:8px; border:1px solid var(--line); border-radius:8px; }
.full-rank-ladder li[aria-current] { border-color:#b69aee; }
.hero-level .xp-badge svg,.hero-earned-badge { width:32px; height:36px; object-fit:contain; }
.hero-level .xp-badge { display:inline-flex; }
.hero-level .xp-badge > span { display:none; }
.comparison-content { min-width:0; }
.metric-compare-row > strong small { display:block; font-size:.7rem; color:var(--muted); }
@media(min-width:1100px) {
 .comparison-dashboard > .compare-identity { position:sticky; top:16px; align-self:start; }
}
@media(max-width:900px) {
 .comparison-dashboard > .comparison-content { grid-column:1/-1; grid-row:2; }
 .comparison-dashboard > .compare-identity:last-child { grid-column:2; grid-row:1; }
}
@media(max-width:650px) {
 .full-rank-ladder ol { grid-template-columns:minmax(0,1fr); }
}

.polished-overview .profile-metric-grid { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); }
.polished-overview .profile-rating-grid { align-items:start; }
.polished-overview .recent-duel[hidden] { display:none; }
.polished-overview .rating-plot circle { fill:#bb95ff; }
.overview-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.overview-stat-grid > .card { min-width:0; margin:0; }
.overview-stat-grid .metric-pairs > div { border-bottom:1px solid var(--line); }
.overview-dialog { width:min(760px,calc(100vw - 24px)); max-height:85vh; overflow:auto; color:var(--text); }
.overview-dialog::backdrop { background:#080810b8; }
.overview-dialog form { float:right; }
.overview-dialog .full-rank-ladder { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; list-style:none; padding:0; }
.overview-dialog .full-rank-ladder li { padding:8px; border:1px solid var(--line); border-radius:6px; }
.overview-dialog .full-rank-ladder li[aria-current] { border-color:#b69aee; }
.overview-dialog .full-rank-ladder small { display:block; }
.next-reward-unlock { display:flex; align-items:center; gap:8px; margin-top:8px; }
.next-reward-unlock svg { width:28px; height:32px; }
@media(max-width:760px) {
 .overview-dialog .full-rank-ladder { grid-template-columns:minmax(0,1fr); }
}

.polished-overview { container-type:inline-size; }
.polished-overview .rating-plot .rating-line { stroke:#bb95ff; fill:none; }
.polished-overview .rating-plot .rating-area { fill:#ac86f3; stroke:none; opacity:.29; }
.polished-overview .rating-plot svg { min-height:0; }
.polished-overview .rating-plot { margin-top:10px; padding-top:8px; }
.polished-overview .rating-development .tabs { margin-block:6px; }
.polished-overview .rank-main { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:12px; }
.polished-overview .rank-main > * { min-width:0; }
.polished-overview .rank-destination { display:block; grid-column:2; justify-self:start; }
.overview-stat-grid table { width:100%; min-width:0; }
.overview-stat-grid th,.overview-stat-grid td { white-space:normal; overflow-wrap:anywhere; padding:6px; }
.overview-stat-grid .recent-comparison { padding:0; border:0; background:none; }
.overview-counters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:8px; }
.overview-counters > div,.overview-stat-grid .round-preview > div { padding:8px; border:1px solid var(--line); border-radius:7px; background:#232035; }
.overview-counters strong { display:block; color:#cba8ff; font-size:1.1rem; }
@container(max-width:550px) {
 .overview-stat-grid { grid-template-columns:minmax(0,1fr); }
}
@container(max-width:540px) {
 .polished-overview .rank-main { grid-template-columns:minmax(0,1fr); }
 .polished-overview .rank-destination { grid-column:1; }
}

.polished-overview .profile-rating-grid { grid-template-columns:minmax(0,1fr); }
.polished-overview .profile-rating-grid > .card { height:auto; }
.overview-side { display:grid; gap:.8rem; min-width:0; }
.overview-side > .card { min-width:0; margin:0; }
.overview-side .overview-highlights > .card { padding:8px 0; margin:0; border-inline:0; background:none; }
.overview-side .recent-duel { grid-template-columns:minmax(0,1fr) 24px minmax(44px,auto) minmax(50px,auto); gap:6px; }
.overview-side .recent-duel > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overview-side .recent-duel > :nth-child(n+3) { text-align:right; font-variant-numeric:tabular-nums; }
.rating-plot-help { display:flex; justify-content:flex-end; }
.rating-plot-help .metric-help > span { left:auto; right:0; }
.rating-point-detail:empty { padding:0; border:0; margin:0; }
.polished-overview .profile-highlights { align-items:start; }
.polished-overview .reward-only { grid-template-columns:minmax(0,1fr); }
.reward-only .next-reward { max-width:620px; }
.achievement-showcase .achievement-row { grid-template-columns:auto minmax(0,1fr); }
.achievement-showcase .medal-1 { color:#c6a6ff; border-color:#a785df; }
.achievement-showcase .medal-2 { color:#84e2c0; border-color:#579a85; }
.overview-stat-summary > span { float:right; color:var(--muted); font-size:.8em; margin-inline-start:.5rem; }
.overview-stat-grid { margin-top:10px; }
.overview-stat-grid > .card { padding:12px; }
.overview-stat-grid > .card > h3:first-child { margin:0 0 6px; padding:6px 8px; background:#252137; border-radius:6px; }
.overview-stat-grid > .card > h3 > span { color:#cba8ff; margin-inline-end:.3em; }
.overview-stat-grid .metric-pairs > div { padding-block:5px; gap:8px; }
.overview-stat-grid .metric-pairs dt { overflow-wrap:anywhere; }
.overview-duel-comparison { grid-column:1/-1; min-width:0; }
.overview-stat-grid .overview-duel-comparison .recent-comparison { padding:12px; border:1px solid var(--line); margin:0; }
@container(min-width:690px) {
 .polished-overview .profile-rating-grid { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); align-items:stretch; }
 .overview-side { --overview-side:1; grid-template-rows:auto minmax(min-content,1fr); }
}
@container(max-width:380px) {
 .overview-stat-duels th,.overview-stat-duels td { padding-inline:4px; }
 .overview-stat-grid .round-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.concept-home .home-activity { display:flex; flex-direction:column; }
.concept-home .monthly-calendar { flex:1; grid-template-rows:auto auto auto 1fr auto; }
.concept-home .month-days { align-self:stretch; grid-auto-rows:1fr; }
.concept-home .home-recent tr[hidden] { display:none; }
.concept-home .community-stat-grid { align-items:start; }
.compact-records .record-card { grid-template-columns:minmax(0,1fr) minmax(0,max-content); }
.compact-records .home-record-value { grid-column:1; margin:0; line-height:1.35; }
.home-record-value strong { font-size:1.18em; }
.compact-records .home-record-match { grid-column:1/-1; justify-self:start; }
.compact-records .record-card > .record-history { margin:0; padding:0; }

.polished-overview .next-rank-inline { display:inline-flex; align-items:center; gap:6px; }
.next-rank-inline img { width:42px; height:auto; flex:none; }
.polished-overview .rating-point-detail:empty { display:none; }
.overview-side .recent-duel .result-chip.lost { background:#462b36; color:#f7afbf; }
.overview-side .recent-duel .result-chip.won { background:#244336; color:#a5edc6; }
.overview-stat-duels > .card:first-child th:nth-child(2) { white-space:nowrap; }
.overview-stat-duels > .card:first-child :is(th,td):not(:first-child) { text-align:right; }
@container(min-width:690px) {
 .overview-side { align-content:start; grid-template-rows:auto auto; }
}
@media(max-width:600px) {
 .concept-home .home-recent table { min-width:0; }
 .concept-home .home-recent th,.concept-home .home-recent td { padding-inline:3px; overflow-wrap:anywhere; }
}

.team-detail-browser { width:100%; min-width:0; padding-top:12px; container-type:inline-size; }
.team-player-picker { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.team-player-picker button { display:flex; align-items:center; padding:7px 10px; }
.team-player-picker button[aria-pressed="true"] { border-color:#b99af2; background:#352b50; }
.team-player-select { display:none; margin-bottom:12px; }
.team-player-select select { width:100%; }
.team-player-pane { min-width:0; }
.team-player-pane[hidden] { display:none!important; }
.team-player-pane > h3 { margin:6px 0; }
.team-player-pane .score-player-details { display:block; width:100%; max-width:none; margin:0; }
.team-player-pane .player-detail-panes { max-height:none; overflow:visible; padding:0; }
.score-metric-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; }
.score-metric-groups .detail-metric-group { min-width:0; margin:0; padding:10px; border:1px solid var(--line); border-radius:8px; }
.score-metric-groups .detail-metric-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,115px),1fr)); gap:8px; margin-bottom:0; }
.team-player-pane table { min-width:0; width:100%; }
.team-player-pane th,.team-player-pane td { white-space:normal; overflow-wrap:anywhere; }
.team-player-pane .tablewrap { max-width:100%; overflow-x:auto; }
.home-record-value { margin:6px 0; line-height:1.4; }
.record-grid .home-record-match { display:inline-block; margin-top:8px; }
.ranking-form { display:flex; flex-wrap:wrap; gap:3px; max-width:180px; min-width:90px; }
.ranking-form .formchip { margin:0; flex:none; }
@container(max-width:600px) {
 .score-metric-groups { grid-template-columns:minmax(0,1fr); }
 .team-player-picker { display:none; }
 .team-player-select { display:grid; gap:5px; }
}
/* 2.9.20 — bounded leaderboard, compact team builder and session summaries */
.unified-ranking{container-type:inline-size;padding:18px;min-width:0}.unified-ranking>h2{margin:0 0 6px}.ranking-table{table-layout:fixed;width:100%;min-width:0!important;border-collapse:collapse}.ranking-table th,.ranking-table td{padding:12px 6px!important;white-space:normal!important;font-size:12px;vertical-align:middle;overflow-wrap:anywhere}.ranking-table th{font-size:10px;letter-spacing:.035em;height:44px}.ranking-table col:nth-child(1){width:5%}.ranking-table col:nth-child(2){width:16%}.ranking-table col:nth-child(3){width:24%}.ranking-table col:nth-child(4){width:6%}.ranking-table col:nth-child(5){width:7%}.ranking-table col:nth-child(6){width:7%}.ranking-table col:nth-child(7){width:6%}.ranking-table col:nth-child(8){width:7%}.ranking-table col:nth-child(9){width:7%}.ranking-table col:nth-child(10){width:15%}.ranking-table td:nth-child(n+4):not(:last-child),.ranking-table th:nth-child(n+4):not(:last-child){text-align:center}.ranking-position{display:flex;flex-direction:column;align-items:center;gap:4px}.ranking-position small{font-size:10px}.ranking-rating>div:first-child{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}.ranking-rating>div:first-child strong{font-size:15px}.ranking-delta{font-size:10px;font-weight:700;white-space:nowrap}.ranking-tier{margin-top:5px}.ranking-tier .rank-badge{display:flex!important;gap:7px!important;align-items:center;min-width:0;margin:0!important}.ranking-tier .rank-mode{display:none}.ranking-tier .rank-emblem{width:44px!important;height:22px!important;min-width:44px;border:0!important;background:none!important}.ranking-tier .classic-rank-icon{width:44px!important;height:22px!important;object-fit:contain}.ranking-tier .rank-caption{font-size:11px!important;line-height:1.3;white-space:normal}.ranking-table .mini-avatar{width:26px;height:26px;flex:0 0 26px}.ranking-table .player-badge{gap:6px;min-width:0}.ranking-table .player-badge strong{font-size:12px;overflow-wrap:anywhere}.ranking-five{display:inline-flex;gap:3px;flex-wrap:nowrap;white-space:nowrap}.ranking-chip{display:inline-flex;width:19px;height:23px;flex:0 0 19px;align-items:center;justify-content:center;border-radius:4px;font-size:10px;font-weight:800}.ranking-chip.win{background:#24443d;color:#9aefce}.ranking-chip.loss{background:#422d38;color:#f4a9b3}.ranking-chip.neutral{background:#2b2b3b;color:#ccc}.ranking-mobile{display:none}.ranking-help{position:relative;display:inline-flex;font-size:12px;cursor:help;color:#bda6f4;margin-left:5px;vertical-align:middle}.ranking-help>span{position:absolute;z-index:30;inset:auto auto 22px 0;width:260px;max-width:65vw;padding:10px;background:#262238;border:1px solid #776199;border-radius:8px;box-shadow:0 4px 18px #0006;color:#eee;font-size:12px;font-weight:400;line-height:1.5;visibility:hidden;opacity:0}.ranking-help:hover>span,.ranking-help:focus>span{visibility:visible;opacity:1}.ranking-calibration{padding:18px;margin:12px 0}.ranking-placement-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr) minmax(120px,.6fr);gap:20px;align-items:center;padding:12px 0}.ranking-placement-row small{display:block;margin:4px 0;font-size:11px;color:var(--muted)}.ranking-placement-row .placement-track{max-width:220px}.ranking-placement-row>div:last-child>strong{margin-right:10px}.ranking-mobile-card{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--card2)}.ranking-mobile-card header{display:flex;gap:12px;margin-bottom:12px}.ranking-mobile-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ranking-mobile-card dl div{min-width:0}.ranking-mobile-card dt{font-size:10px;color:var(--muted)}.ranking-mobile-card dd{margin:3px 0;font-weight:700}.ranking-mobile-card .ranking-five{margin-top:8px}
@container(max-width:820px){.ranking-desktop{display:none}.ranking-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@container(max-width:480px){.ranking-mobile{grid-template-columns:1fr}}
.team-builder .team-pool-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-builder .compact-choice{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px!important;background:var(--card2);border:1px solid var(--line);border-radius:8px;min-height:65px}.team-builder .compact-choice[hidden]{display:none!important}.team-builder .compact-choice.not-available{opacity:.45}.team-builder .compact-choice .team-player-select{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;padding:0;border:0;background:none;cursor:pointer;min-width:0}.team-player-select .player-badge{min-width:0;gap:6px}.team-player-select .player-badge strong{font-size:12px;overflow-wrap:anywhere}.team-player-select .mini-avatar{width:26px;height:26px;flex:0 0 26px}.team-choice-rating{grid-column:2;font-size:11px;display:flex;gap:7px;flex-wrap:wrap}.team-choice-rating small{font-size:10px;color:var(--muted)}.team-lock-buttons{display:flex;gap:3px}.team-lock-buttons button{padding:5px 7px;font-size:10px;border-radius:5px;min-width:25px}.team-lock-buttons button[aria-pressed=true]{background:#b49ae7;color:#171222;border-color:#c2a7f7}.team-selection-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px}.team-selection-heading>.tabs{margin-left:auto}.team-selection-heading>span{font-size:11px;color:var(--muted)}#team-selected{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}#team-selected button{font-size:10px;padding:3px 7px;border-radius:20px}.team-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.team-suggestions{display:flex;gap:8px}.team-suggestions button{flex:1;text-align:left;padding:10px 12px}.team-suggestions button small{display:block;margin-top:4px;color:inherit}.team-suggestions button[aria-pressed=true]{border-color:#bfa1fb;background:#322941;box-shadow:inset 0 0 0 1px #bfa1fb}.team-balance-strip{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;padding:12px 0 18px;font-size:12px}.team-balance-strip small{width:100%;color:var(--muted)}.team-output{align-items:stretch!important;gap:12px}.team-output>.card{margin:0;padding:16px;min-width:0}.team-output>.card:first-child{border-top:2px solid #ae8de0}.team-output>.card:last-child{border-top:2px solid #6cbdba}.team-output header{display:flex;justify-content:space-between;gap:10px;align-items:center}.team-output header h3{margin:0}.team-output header>div{text-align:right}.team-output .big{font-size:24px!important}.team-output header small{font-size:10px;color:var(--muted)}.team-output-player{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;gap:8px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.team-output-player small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.team-output-player>strong{font-size:12px}.team-output-player>button{padding:5px;width:30px}.team-output-player>button[aria-pressed=true]{border-color:#d6c0ff;background:#635181}.team-output-player.is-fixed{background:#292239;border-radius:6px;padding-inline:7px}.team-lock-symbol{font-size:12px}.team-additional,.team-swap{margin-top:12px!important}.team-additional>.grid{margin-top:12px}.team-additional table{min-width:0!important;width:100%}.team-additional td,.team-additional th{padding:8px 5px;font-size:11px}.team-swap button{margin:8px 5px 0 0}.team-swap p{font-size:12px}#teams-copy-fallback{display:block;width:100%;min-height:90px}
@media(max-width:1050px){.team-builder .team-pool-compact{grid-template-columns:1fr}}
@media(max-width:600px){.ranking-placement-row{grid-template-columns:1fr;gap:8px}.team-output,.team-additional>.grid{grid-template-columns:1fr!important}.team-suggestions{flex-direction:column}.team-selection-heading>.tabs{margin-left:0}.team-builder .compact-choice{grid-template-columns:1fr}.team-lock-buttons{justify-content:flex-end}}
.session-redesigned{margin:9px 0!important;border:1px solid var(--line);border-radius:8px;overflow:hidden}.session-redesigned>summary{padding:12px!important;background:#211e31!important;display:flex;align-items:center;gap:8px 14px;font-size:12px}.session-redesigned.latest>summary{background:#30263f!important}.session-redesigned>summary .session-date{font-weight:700}.session-redesigned>summary .session-avatar-group{margin-left:auto}.session-avatar-group{display:inline-flex;align-items:center;gap:4px}.session-avatar-group>.badge{font-size:10px;padding:3px 5px}.session-avatar-group .player-badge{gap:0}.session-avatar-group .player-badge strong{display:none}.session-avatar-group .mini-avatar{width:24px;height:24px;flex:0 0 24px}.session-mode-pills{display:flex;gap:4px}.session-mode-pills .badge{font-size:10px}.session-body{padding:10px 12px}.session-participants{margin:0 0 10px}.session-participants>summary{display:flex;align-items:center;gap:12px;font-size:11px;background:transparent!important;padding:4px!important}.session-players{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.session-meetings table{min-width:490px;width:100%;table-layout:auto}.session-meetings td,.session-meetings th{padding:8px 7px;font-size:11px;white-space:normal}.session-meetings td:nth-child(2){min-width:125px}.session-map-thumb{width:42px;height:26px;object-fit:cover;border-radius:4px;vertical-align:middle;margin-right:7px}.session-score{white-space:nowrap;font-weight:700}.session-rest>summary,.session-older>summary{font-size:12px;padding:9px 10px}.session-rest{margin:8px 0 0}.session-older{margin-top:8px}.community-sessions>h2{display:flex;align-items:center}.record-category{margin:24px 0}.record-category .record-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.record-rule{position:absolute;right:10px;top:10px;color:#bb9ce9;cursor:help}.record-category .record-card{position:relative}.record-category .home-record-value{font-size:15px;line-height:1.5}.record-category .record-card>.tiny{padding-right:20px}.record-fresh{display:inline-flex;margin:6px 0;padding:2px 6px;border:1px solid #4e8c78;border-radius:5px;color:#a2e7cc;font-size:10px}.record-date{display:block;color:var(--muted);font-size:10px;margin-top:5px}
@media(max-width:600px){.session-redesigned>summary .session-avatar-group{display:none}.session-redesigned>summary{font-size:11px}.session-body{padding:8px}.record-category .record-grid{grid-template-columns:1fr}}
.team-builder [hidden]{display:none!important}
@media(max-width:600px){.ranking-calibration .ranking-placement-row>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ranking-calibration .ranking-placement-row>div:last-child>small{width:100%}}
