.rs-shell {
  --rs-bg: #0c0e10;
  --rs-surface: #131619;
  --rs-raised: #171b1e;
  --rs-text: #f4f4f1;
  --rs-muted: #b4b8ba;
  --rs-accent: #d9ad45;
  --rs-accent-hover: #e8bf5a;
  --rs-accent-text: #201705;
  --rs-border: #34383b;
  --rs-focus: #f4d47e;
  background: var(--rs-bg);
  color: var(--rs-text);
  margin: 0 auto 3rem;
  max-width: 1240px;
  min-height: 38rem;
  padding: 1.25rem;
}

.rs-shell *, .rs-shell *::before, .rs-shell *::after { box-sizing: border-box; }
.rs-shell a { color: var(--rs-accent); }
.rs-shell a:hover { color: var(--rs-accent-hover); }
.rs-shell a:focus-visible, .rs-shell button:focus-visible, .rs-shell input:focus-visible {
  outline: 3px solid var(--rs-focus);
  outline-offset: 3px;
}

.rs-preview-banner { background: var(--rs-accent); color: var(--rs-accent-text); font-weight: 800; padding: .7rem 1rem; text-align: center; }
.rs-hero { background: var(--rs-surface); border: 1px solid var(--rs-border); min-height: 220px; overflow: hidden; position: relative; }
.rs-media-gold_gradient { background: radial-gradient(circle at 78% 25%, color-mix(in srgb, var(--rs-accent) 38%, transparent), transparent 38%), linear-gradient(135deg, var(--rs-raised), var(--rs-bg)); }
.rs-hero::after { background: linear-gradient(90deg, var(--rs-bg), transparent); content: ""; inset: 0; opacity: .78; pointer-events: none; position: absolute; }
.rs-hero-media { height: 100%; inset: 0 0 0 auto; object-fit: cover; opacity: .5; position: absolute; width: 58%; }
.rs-logo { object-fit: contain; padding: 2.5rem; }
.rs-hero-content { max-width: 700px; padding: 3.25rem; position: relative; z-index: 1; }
.rs-hero h1 { color: var(--rs-text); font-size: clamp(2rem, 5vw, 4.25rem); line-height: 1; margin: .4rem 0 1rem; }
.rs-hero p { color: var(--rs-muted); font-size: 1.08rem; }
.rs-eyebrow, .rs-kicker { color: var(--rs-accent) !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .13em; margin: 0; text-transform: uppercase; }
.rs-season-badge { background: var(--rs-accent); border-radius: 999px; color: var(--rs-accent-text); display: inline-block; letter-spacing: .04em; margin-left: .45rem; padding: .28rem .55rem; }

.rs-server-nav { background: var(--rs-surface); border: 1px solid var(--rs-border); border-top: 0; display: flex; gap: .5rem; overflow-x: auto; padding: .75rem; }
.rs-server-link { align-items: center; border: 1px solid transparent; border-radius: .35rem; color: var(--rs-muted) !important; display: flex; flex: 0 0 auto; gap: .55rem; padding: .65rem .9rem; }
.rs-server-link:hover, .rs-server-link.is-active { background: var(--rs-raised); border-color: var(--rs-border); color: var(--rs-text) !important; }
.rs-server-link.is-active { box-shadow: inset 0 -3px var(--rs-accent); }

.rs-status { align-items: center; background: var(--rs-surface); border: 1px solid var(--rs-border); display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin: 1rem 0; padding: .8rem 1rem; }
.rs-status-dot { background: #4bc578; border: 2px solid var(--rs-text); border-radius: 50%; height: .8rem; width: .8rem; }
.rs-status-stale .rs-status-dot { background: #f4c95d; }
.rs-status-unavailable .rs-status-dot { background: #ef6b73; }
.rs-status span:not(.rs-status-dot) { color: var(--rs-muted); }

.rs-toolbar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 1.25rem 0; }
.rs-button, .rs-search button { background: var(--rs-accent); border: 1px solid var(--rs-accent); border-radius: .35rem; color: var(--rs-accent-text) !important; cursor: pointer; font-weight: 800; padding: .72rem 1rem; }
.rs-button:hover, .rs-search button:hover { background: var(--rs-accent-hover); }
.rs-search { display: flex; flex: 1; justify-content: flex-end; max-width: 520px; }
.rs-search input { background: var(--rs-surface); border: 1px solid var(--rs-border); border-radius: .35rem 0 0 .35rem; color: var(--rs-text); min-width: 0; padding: .72rem .9rem; width: 100%; }
.rs-search button { border-radius: 0 .35rem .35rem 0; }
.rs-message { background: var(--rs-surface); border: 1px solid var(--rs-border); margin: 1rem 0; padding: 1rem; }
.rs-message-error { border-left: 5px solid #ef6b73; }

.rs-section-heading { align-items: end; display: flex; justify-content: space-between; margin: 2rem 0 1rem; }
.rs-section-heading h2 { color: var(--rs-text); font-size: 1.8rem; margin: .25rem 0 0; }
.rs-section-heading > span { color: var(--rs-muted); }
.rs-board-grid { display: grid; gap: 1.25rem; }
.rs-board { background: var(--rs-surface); border: 1px solid var(--rs-border); border-radius: .5rem; overflow: hidden; }
.rs-board > header { align-items: center; border-bottom: 1px solid var(--rs-border); display: flex; justify-content: space-between; padding: 1.15rem 1.25rem; }
.rs-board h3 { color: var(--rs-text); margin: .2rem 0 0; }
.rs-podium { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 1.2rem; }
.rs-podium-place { align-items: center; background: var(--rs-raised); border: 1px solid var(--rs-border); display: flex; flex-direction: column; gap: .35rem; min-width: 0; padding: 1rem .5rem; text-align: center; }
.rs-podium-place.rs-place-1 { border-top: 4px solid var(--rs-accent); padding-top: 1.45rem; }
.rs-podium-place img, .rs-player-cell img, .rs-player-card img { background: var(--rs-bg); border: 1px solid var(--rs-border); image-rendering: pixelated; object-fit: cover; }
.rs-podium-place a { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-rank { color: var(--rs-accent); font-weight: 900; }
.rs-table-wrap { overflow-x: auto; }
.rs-table { border-collapse: collapse; color: var(--rs-text); width: 100%; }
.rs-table th, .rs-table td { border-top: 1px solid var(--rs-border); padding: .8rem 1.2rem; text-align: left; }
.rs-table th { color: var(--rs-muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.rs-table th:last-child, .rs-table td:last-child { text-align: right; }
.rs-player-cell { align-items: center; display: inline-flex; gap: .65rem; }
.rs-settlement-cell { display: flex; flex-direction: column; gap: .15rem; }
.rs-settlement-cell strong { color: var(--rs-text); }
.rs-settlement-cell small { color: var(--rs-muted); }
.rs-pagination { background: var(--rs-surface); border: 1px solid var(--rs-border); display: flex; gap: 1rem; justify-content: space-between; margin-top: 1.25rem; padding: 1rem; }
.rs-pagination > div { align-items: center; display: flex; gap: .8rem; }

.rs-search-results { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rs-player-card { align-items: center; background: var(--rs-surface); border: 1px solid var(--rs-border); display: flex; gap: 1rem; padding: 1rem; }
.rs-player-card:hover { background: var(--rs-raised); }
.rs-player-card span { display: flex; flex-direction: column; min-width: 0; }
.rs-player-card small { color: var(--rs-muted); }

.rs-profile { display: grid; gap: 1.25rem; grid-template-columns: minmax(230px, 310px) 1fr; margin-top: 1.25rem; }
.rs-profile-stacked { grid-template-columns: 1fr; }
.rs-identity { align-self: start; background: var(--rs-surface); border: 1px solid var(--rs-border); padding: 1.5rem; text-align: center; }
.rs-body { display: block; margin: 0 auto 1rem; object-fit: contain; }
.rs-identity h2 { color: var(--rs-text); margin-bottom: .15rem; }
.rs-identity > p { color: var(--rs-muted); }
.rs-identity-facts { margin: 1.25rem 0 0; text-align: left; }
.rs-identity-facts div { border-top: 1px solid var(--rs-border); display: flex; justify-content: space-between; padding: .65rem 0; }
.rs-identity-facts dt { color: var(--rs-muted); }
.rs-identity-facts dd { color: var(--rs-text); font-weight: 700; margin: 0; text-align: right; }
.rs-profile-content { display: grid; gap: 1.25rem; }
.rs-profile-content section { background: var(--rs-surface); border: 1px solid var(--rs-border); padding: 1.25rem; }
.rs-profile-content h3 { color: var(--rs-text); margin: 0 0 1rem; }
.rs-stat-grid { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rs-stat { background: var(--rs-raised); border: 1px solid var(--rs-border); display: flex; flex-direction: column; padding: 1rem; }
.rs-stat span, .rs-stat small { color: var(--rs-muted); }
.rs-stat strong { color: var(--rs-text); font-size: 1.2rem; margin: .25rem 0; }
.rs-affiliation-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rs-affiliation-card { background: var(--rs-raised); border: 1px solid var(--rs-border); padding: 1rem; }
.rs-affiliation-card h4 { color: var(--rs-accent); font-size: .8rem; letter-spacing: .08em; margin: 0 0 .55rem; text-transform: uppercase; }
.rs-affiliation-card > strong { color: var(--rs-text); font-size: 1.2rem; }
.rs-affiliation-card > p { color: var(--rs-muted); margin: .35rem 0; }
.rs-affiliation-card dl { display: grid; gap: .5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .8rem 0 0; }
.rs-affiliation-card dl div { border-top: 1px solid var(--rs-border); padding-top: .5rem; }
.rs-affiliation-card dt { color: var(--rs-muted); font-size: .75rem; }
.rs-affiliation-card dd { color: var(--rs-text); font-weight: 800; margin: 0; }
.rs-activity { overflow: hidden; }
.rs-activity-header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.rs-activity-header h3 { font-size: 1.2rem; letter-spacing: .015em; margin-top: .15rem; text-transform: uppercase; }
.rs-activity-window { background: color-mix(in srgb, var(--rs-accent) 14%, var(--rs-raised)); border: 1px solid var(--rs-border); border-radius: .45rem; color: var(--rs-text); flex: 0 0 auto; font-size: .75rem; font-weight: 900; letter-spacing: .04em; padding: .45rem .65rem; text-transform: uppercase; }
.rs-chart-tabs { display: flex; flex-wrap: wrap; gap: .55rem; margin: .9rem 0 1rem; }
.rs-chart-tabs button { background: var(--rs-raised); border: 1px solid var(--rs-border); border-radius: .42rem; color: var(--rs-text); cursor: pointer; font-weight: 800; padding: .55rem .8rem; }
.rs-chart-tabs button:hover { border-color: var(--rs-accent-hover); }
.rs-chart-tabs button[aria-selected="true"] { border-color: var(--rs-accent); box-shadow: inset 0 -2px var(--rs-accent); }
.rs-chart-panel[hidden], .rs-chart-tooltip[hidden] { display: none !important; }
.rs-chart-canvas { background: var(--rs-raised); border: 1px solid var(--rs-border); border-radius: .5rem; min-height: 250px; overflow: hidden; position: relative; }
.rs-chart-svg { display: block; height: auto; min-height: 250px; width: 100%; }
.rs-chart-grid-line { stroke: var(--rs-border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.rs-chart-axis-label { fill: var(--rs-muted); font-size: 12px; font-weight: 700; }
.rs-chart-area { pointer-events: none; }
.rs-chart-line { fill: none; stroke: var(--rs-accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; vector-effect: non-scaling-stroke; }
.rs-chart-point { fill: var(--rs-accent); opacity: 0; outline: none; stroke: var(--rs-bg); stroke-width: 3; transition: opacity .15s ease, r .15s ease; vector-effect: non-scaling-stroke; }
.rs-chart-canvas:hover .rs-chart-point, .rs-chart-point:focus { opacity: 1; }
.rs-chart-point:focus { r: 7; stroke: var(--rs-focus); }
.rs-chart-tooltip { background: var(--rs-bg); border: 1px solid var(--rs-accent); border-radius: .35rem; color: var(--rs-text); font-size: .78rem; font-weight: 800; padding: .4rem .55rem; pointer-events: none; position: absolute; transform: translate(-50%, calc(-100% - .65rem)); white-space: nowrap; z-index: 2; }
.rs-chart-data { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.rs-placement-list > div { border-top: 1px solid var(--rs-border); display: flex; justify-content: space-between; padding: .55rem 0; }
.rs-placement-list span { color: var(--rs-muted); }
.rs-placement-list strong { color: var(--rs-accent); }

@media (max-width: 991.98px) {
  .rs-profile:not(.rs-profile-stacked) { grid-template-columns: minmax(210px, 260px) 1fr; }
  .rs-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-hero-content { padding: 2.5rem; }
}

@media (max-width: 760px) {
  .rs-shell { padding: .65rem; }
  .rs-hero-content { padding: 2rem 1.2rem; }
  .rs-toolbar, .rs-section-heading, .rs-pagination { align-items: stretch; flex-direction: column; }
  .rs-search { max-width: none; }
  .rs-search-results, .rs-profile, .rs-profile:not(.rs-profile-stacked), .rs-stat-grid, .rs-affiliation-grid { grid-template-columns: 1fr; }
  .rs-chart-canvas, .rs-chart-svg { min-height: 210px; }
  .rs-podium { gap: .35rem; padding: .7rem; }
  .rs-podium-place { font-size: .85rem; padding-inline: .25rem; }
  .rs-table th, .rs-table td { padding: .7rem; }
}

@media (max-width: 575.98px) {
  .rs-hero { min-height: 190px; }
  .rs-hero h1 { font-size: 2rem; }
  .rs-server-link { padding: .55rem .7rem; }
  .rs-table th, .rs-table td { padding: .6rem .5rem; }
  .rs-activity-header { align-items: flex-start; }
  .rs-chart-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-chart-tabs button { width: 100%; }
}

.rs-device-mobile { max-width: 430px; }
.rs-device-tablet { max-width: 800px; }
@media (prefers-reduced-motion: reduce) { .rs-shell * { scroll-behavior: auto !important; transition: none !important; } }
