:root {
  --bg: #07050b;
  --bg-2: #0d0912;
  --panel: #110c18;
  --panel-2: #171020;
  --panel-3: #20152b;
  --purple: #6f28a8;
  --purple-2: #9a4ddd;
  --purple-soft: #c99afb;
  --gold: #c9972d;
  --gold-2: #f0cf76;
  --gold-3: #fff0b2;
  --ink: #f7f1fb;
  --muted: #aca0b5;
  --muted-2: #766d7c;
  --line: rgba(255,255,255,.09);
  --line-gold: rgba(220,175,72,.34);
  --danger: #c8485e;
  --success: #75d6a0;
  --shadow: 0 24px 70px rgba(0,0,0,.38);
  --container: 1420px;
  --header: 82px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 14% 8%, rgba(110,40,168,.12), transparent 24rem),
    radial-gradient(circle at 88% 28%, rgba(201,151,45,.06), transparent 28rem),
    var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
::selection { background: var(--purple-2); color: white; }

.skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 9999; padding: 10px 14px;
  transform: translateY(-160%); background: var(--gold-2); color: #140d07; font-weight: 900;
}
.skip-link:focus { transform: none; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 86px 0; }
.section-dark { background: linear-gradient(180deg, #0d0812, #100a17); border-block: 1px solid var(--line); }
.muted { color: var(--muted); }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 1000; height: var(--header);
  background: rgba(7,5,11,.84); border-bottom: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(18px) saturate(120%);
  transition: background .2s ease, box-shadow .2s ease;
}
.site-header.header-scrolled { background: rgba(7,5,11,.96); box-shadow: 0 16px 45px rgba(0,0,0,.28); }
.header-accent { height: 2px; background: linear-gradient(90deg, transparent, var(--purple-2) 22%, var(--gold-2) 50%, var(--purple-2) 78%, transparent); }
.site-header-inner { width: min(calc(100% - 42px), 1540px); height: calc(var(--header) - 2px); margin: 0 auto; display: flex; align-items: center; gap: 28px; }
.brand-lockup { display: flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-logo { width: 55px; height: 55px; object-fit: contain; filter: drop-shadow(0 6px 16px rgba(132,57,180,.26)); }
.brand-copy { display: grid; gap: 2px; line-height: 1; }
.brand-copy strong { font-size: .78rem; letter-spacing: .13em; text-transform: uppercase; }
.brand-copy small { color: var(--gold-2); font-size: .55rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.main-nav a { position: relative; padding: 11px 10px; color: #c7bdcc; font-size: .67rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; transition: color .15s ease, background .15s ease; }
.main-nav a:hover, .main-nav a.nav-active { color: white; }
.main-nav a.nav-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 3px; height: 2px; background: linear-gradient(90deg, var(--purple-2), var(--gold-2)); }
.main-nav .nav-hall { color: var(--gold-2); }
.main-nav .nav-discord { margin-left: 9px; padding: 12px 16px; color: #130b1a; background: linear-gradient(135deg, var(--gold-2), #dcae49); clip-path: polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.main-nav .nav-discord::after { display: none; }
.main-nav .nav-discord:hover { color: #130b1a; filter: brightness(1.08); }
.nav-toggle { display: none; margin-left: auto; width: 44px; height: 42px; border: 1px solid var(--line); background: #100b16; color: white; cursor: pointer; }
.nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease; }

/* Shared type and buttons */
.eyebrow { margin: 0 0 10px; color: var(--gold-2); font-size: .62rem; font-weight: 950; letter-spacing: .21em; text-transform: uppercase; }
h1, h2, h3, p { text-wrap: pretty; }
.button {
  min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; cursor: pointer; color: white; font-size: .68rem; font-weight: 950; letter-spacing: .075em; text-transform: uppercase;
  clip-path: polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition: transform .16s ease, filter .16s ease, background .16s ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary { background: linear-gradient(135deg, #8d3bc8, #5c1f88); border-color: rgba(220,169,255,.35); box-shadow: 0 12px 34px rgba(100,38,147,.28); }
.button.secondary { background: rgba(255,255,255,.045); border-color: var(--line-gold); color: var(--gold-2); }
.button.outline { background: transparent; border-color: var(--line); }
.button.danger-button, .danger-button { background: rgba(200,72,94,.12); border-color: rgba(200,72,94,.45); color: #ff9aac; }
.dark-button { background: #0b0710 !important; }
.text-link { color: var(--gold-2); font-size: .67rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.text-link span { color: var(--purple-soft); }
.text-link:hover { color: white; }

/* Loader */
.instant-loader { min-height: calc(100svh - var(--header)); display: grid; place-items: center; align-content: center; gap: 18px; text-align: center; }
.instant-loader img { width: 160px; filter: drop-shadow(0 20px 40px rgba(117,42,170,.35)); animation: loaderPulse 2s ease-in-out infinite; }
.instant-loader div { display: grid; gap: 7px; }
.instant-loader span, .instant-loader small { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.instant-loader strong { font-size: clamp(1.5rem, 4vw, 2.8rem); letter-spacing: -.04em; }
@keyframes loaderPulse { 50% { transform: translateY(-4px); filter: drop-shadow(0 22px 45px rgba(201,151,45,.28)); } }

/* Homepage */
.home-hero { position: relative; min-height: min(820px, calc(100svh - var(--header))); overflow: hidden; display: grid; align-items: end; border-bottom: 1px solid var(--line-gold); background: #08050c; }
.home-hero::before { content: ""; position: absolute; inset: 0; background: url('/og.png') center 34% / cover no-repeat; transform: scale(1.015); }
.home-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,3,9,.97) 0%, rgba(5,3,9,.72) 34%, rgba(5,3,9,.08) 67%, rgba(5,3,9,.30) 100%), linear-gradient(0deg, #07050b 0%, transparent 46%), linear-gradient(180deg, rgba(7,5,11,.16), transparent 34%); }
.hero-beam { position: absolute; z-index: 1; width: 540px; height: 1px; opacity: .6; transform-origin: left; }
.hero-beam-red { left: 4%; top: 28%; transform: rotate(-28deg); background: linear-gradient(90deg, transparent, var(--gold)); }
.hero-beam-blue { right: -14%; top: 32%; transform: rotate(28deg); background: linear-gradient(90deg, var(--purple-2), transparent); }
.home-hero-grid { position: relative; z-index: 2; padding-top: 130px; padding-bottom: 160px; display: grid; grid-template-columns: minmax(0, 630px) 1fr; align-items: end; }
.home-hero-copy { padding: 34px 0 8px; }
.home-hero-copy h1 { margin: 0; max-width: 760px; font-size: clamp(3.3rem, 7.2vw, 7rem); line-height: .86; letter-spacing: -.065em; text-transform: uppercase; font-weight: 950; text-shadow: 0 14px 45px rgba(0,0,0,.48); }
.accent-word { display: block; color: var(--gold-2); text-shadow: 0 0 32px rgba(201,151,45,.18); }
.home-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 24px 0 0; color: #d5cbd9; font-size: clamp(.96rem, 1.5vw, 1.15rem); line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 29px; }
.hero-logo-wrap { display: none; }
.hero-kpis { position: absolute; z-index: 3; left: 50%; bottom: 0; transform: translateX(-50%); display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-bottom: 0; background: rgba(10,7,14,.88); backdrop-filter: blur(14px); }
.hero-kpis div { min-height: 94px; padding: 19px 24px; display: grid; align-content: center; gap: 2px; border-right: 1px solid var(--line); }
.hero-kpis div:last-child { border-right: 0; }
.hero-kpis strong { color: white; font-size: 1.55rem; letter-spacing: -.04em; }
.hero-kpis span { color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.home-broadcast-bar { background: #0b0710; border-bottom: 1px solid var(--line); }
.home-broadcast-inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.home-broadcast-inner > span { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.home-socials { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.home-socials a { padding: 7px 10px; border: 1px solid var(--line); color: #cec3d2; font-size: .6rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-socials a:hover { border-color: var(--line-gold); color: var(--gold-2); }

.directory-strip { margin-top: 48px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.directory-strip a { min-height: 122px; padding: 22px; position: relative; display: grid; align-content: center; gap: 6px; border-right: 1px solid var(--line); overflow: hidden; }
.directory-strip a:last-child { border-right: 0; }
.directory-strip a::before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 2px; background: var(--gold-2); transition: width .22s ease; }
.directory-strip a:hover::before { width: 100%; }
.directory-strip small { color: var(--muted); font-size: .56rem; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.directory-strip strong { font-size: 1rem; text-transform: uppercase; }
.directory-strip span { position: absolute; right: 17px; bottom: 9px; color: rgba(255,255,255,.055); font-size: 3.6rem; font-weight: 950; }

.section-heading { margin-bottom: 28px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.section-heading.compact { margin-bottom: 20px; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 4rem); line-height: .93; letter-spacing: -.055em; text-transform: uppercase; }
.section-heading.inverse h2 { color: white; }
.section-count { color: var(--muted); font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }

.home-feature-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(330px,.6fr); gap: 20px; }
.next-event-card { min-height: 420px; position: relative; overflow: hidden; display: grid; align-content: end; padding: 34px; border: 1px solid var(--line-gold); background: linear-gradient(135deg,#15101b,#0c0811); box-shadow: var(--shadow); }
.next-event-card.has-art { background:#09060e; }
.next-event-art { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; opacity:.64; }
.next-event-card::before { content:""; position:absolute; z-index:1; inset:0; background: radial-gradient(circle at 78% 18%,rgba(123,48,175,.34),transparent 29%), linear-gradient(15deg,rgba(5,3,8,.98),rgba(5,3,8,.45)); }
.next-event-copy { position: relative; z-index: 2; max-width: 760px; }
.next-event-copy h2 { margin: 0; font-size: clamp(2.5rem,5vw,5.3rem); line-height:.9; letter-spacing:-.06em; text-transform:uppercase; }
.next-event-copy p { max-width: 650px; color:#c9becf; line-height:1.65; }
.next-event-meta { margin: 18px 0 24px; display:flex; flex-wrap:wrap; gap:8px; }
.next-event-meta span { padding:7px 9px; border:1px solid var(--line); background:rgba(0,0,0,.24); color:var(--gold-2); font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.broadcast-side-card { min-height: 420px; padding: 30px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background: linear-gradient(155deg,#21112c,#0d0912 68%); }
.broadcast-side-card img { width: 170px; align-self:center; filter: drop-shadow(0 16px 32px rgba(0,0,0,.42)); }
.broadcast-side-card h3 { margin: 0; font-size: 2rem; line-height: .95; text-transform: uppercase; letter-spacing: -.045em; }
.broadcast-side-card p { color: var(--muted); line-height: 1.65; }

.leaderboard { border: 1px solid var(--line); background: var(--panel); }
.leader-row { min-height: 86px; padding: 0 22px; display: grid; grid-template-columns: 62px minmax(0,1fr) 130px 110px; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); transition: background .15s ease, transform .15s ease; }
.leader-row:last-child { border-bottom: 0; }
.leader-row:hover { background: #181020; transform: translateX(4px); }
.leader-rank { color: var(--gold-2); font-size: 1rem; font-weight: 950; }
.leader-name, .leader-record, .leader-rate { display: grid; gap: 3px; }
.leader-name strong { font-size: 1rem; text-transform: uppercase; }
.leader-name small, .leader-record small, .leader-rate small { color: var(--muted-2); font-size: .53rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.leader-record strong, .leader-rate strong { font-size: 1.05rem; }
.leader-rate strong { color: var(--gold-2); }

.champion-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.champion-card { position: relative; min-height: 340px; padding: 22px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); background: radial-gradient(circle at 50% 22%,rgba(138,54,191,.23),transparent 38%), linear-gradient(180deg,#15101b,#0b0810); transition: transform .18s ease, border-color .18s ease; }
.champion-card::after { content:""; position:absolute; inset:0; pointer-events:none; border-top:2px solid transparent; background:linear-gradient(90deg,transparent,var(--gold),transparent) top/100% 1px no-repeat; opacity:.5; }
.champion-card:hover { transform: translateY(-4px); border-color: var(--line-gold); }
.champion-belt { min-height: 165px; display: grid; place-items: center; margin-bottom: 17px; }
.champion-belt img { max-width: 92%; max-height: 150px; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.54)); }
.champion-card p { margin: 0 0 7px; color: var(--gold-2); font-size: .56rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.champion-card h3 { margin: 0; font-size: 1.4rem; line-height: 1.05; text-transform: uppercase; letter-spacing: -.025em; }
.champion-card small { margin-top: 9px; color: var(--muted); font-size: .63rem; }

.latest-results-section { display: block; }
.latest-list { border-top: 1px solid var(--line); }
.latest-list article { min-height: 92px; padding: 18px 0; display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); }
.latest-list > article > span { color: var(--gold-2); font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.latest-list h3 { margin: 0; font-size: 1rem; }
.latest-list p { margin: 5px 0 0; color: var(--muted); font-size: .74rem; }

.discord-cta { position: relative; overflow:hidden; padding: 64px 0; border-block: 1px solid var(--line-gold); background: radial-gradient(circle at 70% 50%,rgba(131,54,189,.32),transparent 34%), linear-gradient(110deg,#170c20,#09060e); }
.discord-cta::after { content:"TWB"; position:absolute; right:-2vw; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.025); font-size:18vw; font-weight:1000; line-height:1; }
.discord-cta-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.discord-cta h2 { margin:0; font-size:clamp(2.2rem,5vw,5rem); line-height:.9; text-transform:uppercase; letter-spacing:-.055em; }
.discord-cta p { max-width:650px; margin:13px 0 0; color:#c4b8c9; }

/* Page heroes */
.page-hero, .profile-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line); background: radial-gradient(circle at 78% 28%,rgba(116,41,170,.25),transparent 31rem), linear-gradient(120deg,#0b0710,#130b1a); }
.page-hero::before, .profile-hero::before { content:"TWB"; position:absolute; right:-1.5rem; bottom:-4.5rem; color:rgba(255,255,255,.018); font-size:17rem; font-weight:1000; line-height:1; }
.page-hero-noise { position:absolute; inset:0; background: linear-gradient(115deg,transparent 0 47%,rgba(201,151,45,.12) 47.1% 47.25%,transparent 47.35%); }
.page-hero-grid { position:relative; min-height:330px; padding-block:70px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:40px; }
.page-hero h1 { margin:0; max-width:1000px; font-size:clamp(3rem,7vw,6.7rem); line-height:.84; letter-spacing:-.065em; text-transform:uppercase; }
.page-lede { max-width:760px; margin:22px 0 0; color:#c8bdcd; font-size:.98rem; line-height:1.7; }
.hero-stat { min-width:180px; padding:18px 20px; border-left:2px solid var(--gold); background:rgba(255,255,255,.035); color:var(--gold-2); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

/* Browser/filter panels */
.browser-stack { display:grid; gap:22px; }
.data-note { margin:0 0 22px; padding:14px 16px; border-left:2px solid var(--purple-2); background:rgba(124,46,176,.08); color:#bfb4c4; font-size:.73rem; line-height:1.6; }
.filter-panel { border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow); }
.filter-panel-head { min-height:64px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.filter-panel-head div { display:grid; gap:3px; }
.filter-panel-head span { color:var(--gold-2); font-size:.55rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.filter-panel-head strong { font-size:.75rem; }
.filter-grid { padding:16px; display:grid; gap:12px; align-items:end; }
.directory-filter-grid, .unified-directory-grid { grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(150px,.7fr)); }
.records-filter-grid { grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(145px,.75fr)) minmax(145px,.75fr); }
.matchcard-filter-grid { grid-template-columns:minmax(260px,1.8fr) minmax(180px,.8fr) minmax(170px,.7fr); }
.legacy-filter-grid { grid-template-columns:minmax(250px,1.5fr) repeat(3,minmax(160px,.7fr)); }
.media-filter-grid { grid-template-columns:minmax(260px,1.7fr) repeat(2,minmax(160px,.7fr)); }
.search-field, .select-field, .title-search, .portal-field { display:grid; gap:7px; }
.search-field span, .select-field span, .title-search span, .portal-field > span { color:var(--muted); font-size:.55rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
input, select, textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #31263a; outline:0; background:#0d0912; color:var(--ink); border-radius:0; }
textarea { resize:vertical; min-height:105px; line-height:1.55; }
input:focus, select:focus, textarea:focus { border-color:var(--purple-2); box-shadow:0 0 0 3px rgba(143,61,199,.11); }
.reset-button, .direction-button, .load-more, .small-action { min-height:40px; padding:0 13px; border:1px solid var(--line); background:#0d0912; color:#d3c8d7; cursor:pointer; font-size:.59rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.reset-button:hover, .direction-button:hover, .load-more:hover, .small-action:hover { border-color:var(--line-gold); color:var(--gold-2); }
.direction-button { min-height:44px; display:grid; align-content:center; gap:2px; text-align:left; }
.direction-button span { color:var(--muted); font-size:.52rem; }
.direction-button strong { font-size:.62rem; }
.load-more { width:100%; min-height:52px; margin-top:8px; }

/* Roster */
.roster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.roster-card { min-height:210px; padding:24px; position:relative; overflow:hidden; display:flex; justify-content:space-between; gap:16px; border:1px solid var(--line); background:linear-gradient(145deg,#15101b,#0d0912); transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.roster-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(var(--gold),var(--purple-2)); opacity:.65; }
.roster-card::after { content:"TWB"; position:absolute; right:-18px; bottom:-22px; color:rgba(255,255,255,.023); font-size:6rem; font-weight:1000; }
.roster-card:hover { transform:translateY(-3px); border-color:rgba(201,151,45,.38); background:#17101f; }
.roster-card-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; }
.roster-card h2 { margin:18px 0 4px; font-size:clamp(1.35rem,2vw,2rem); line-height:.95; letter-spacing:-.04em; text-transform:uppercase; }
.roster-card p { margin:10px 0 0; color:var(--muted); font-size:.72rem; }
.card-arrow { position:relative; z-index:1; color:var(--gold-2); }
.category-chip { display:inline-flex; padding:5px 7px; border:1px solid rgba(153,75,209,.35); background:rgba(124,47,177,.1); color:var(--purple-soft); font-size:.51rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.category-alumni { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.04); color:#aaa0ae; }
.category-creative { border-color:var(--line-gold); color:var(--gold-2); }
.alias-line { display:block; margin-top:6px; color:#887d8e; font-size:.55rem; }
.micro-stats { margin-top:auto; padding-top:22px; display:flex; gap:16px; color:var(--muted); font-size:.6rem; text-transform:uppercase; }
.micro-stats strong { color:white; }
.empty-state { padding:50px 24px; border:1px dashed #3a2e42; color:var(--muted); text-align:center; background:rgba(255,255,255,.015); }

/* Tables */
.table-wrap { overflow:auto; border:1px solid var(--line); background:var(--panel); }
.records-table { width:100%; min-width:920px; border-collapse:collapse; }
.records-table th { padding:13px 14px; position:sticky; top:0; background:#0b0810; color:var(--muted); text-align:left; font-size:.52rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--line-gold); }
.records-table td { padding:15px 14px; color:#d5cbd9; font-size:.71rem; border-bottom:1px solid var(--line); }
.records-table tr:last-child td { border-bottom:0; }
.records-table tbody tr:hover { background:rgba(255,255,255,.025); }
.rank-number { color:var(--gold-2) !important; font-weight:900; }
.table-name { color:white; font-weight:850; }
.table-name:hover { color:var(--gold-2); }
.rate-pill { padding:4px 7px; background:rgba(129,54,178,.14); color:var(--purple-soft); font-weight:900; }
.legacy-title-credit { display:block; margin-top:3px; color:var(--gold-2); font-size:.53rem; }

/* Championships */
.championship-browser { display:grid; grid-template-columns:300px minmax(0,1fr); gap:22px; align-items:start; }
.title-index { position:sticky; top:calc(var(--header) + 18px); border:1px solid var(--line); background:var(--panel); }
.title-search { padding:15px; border-bottom:1px solid var(--line); }
.title-buttons { max-height:65vh; overflow:auto; }
.title-buttons button { width:100%; min-height:59px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:0; border-bottom:1px solid var(--line); background:transparent; color:#c9becd; cursor:pointer; text-align:left; }
.title-buttons button:hover, .title-buttons button.active { background:#1a1122; color:white; }
.title-buttons button.active { box-shadow:inset 2px 0 var(--gold); }
.title-buttons span { font-size:.67rem; font-weight:800; }
.title-buttons small { color:var(--muted-2); font-size:.52rem; }
.title-history { display:grid; gap:18px; }
.championship-stage { min-height:360px; padding:30px; display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); align-items:center; border:1px solid var(--line-gold); background:radial-gradient(circle at 22% 40%,rgba(139,52,193,.25),transparent 32%),linear-gradient(135deg,#15101c,#0a0710); }
.belt-display { display:grid; place-items:center; }
.belt-display img { max-height:250px; filter:drop-shadow(0 26px 26px rgba(0,0,0,.55)); }
.championship-stage-copy h2 { margin:0; font-size:clamp(2.3rem,5vw,4.9rem); line-height:.88; text-transform:uppercase; letter-spacing:-.06em; }
.championship-status { display:inline-flex; margin-top:18px; padding:7px 9px; border:1px solid var(--line); color:var(--gold-2); font-size:.56rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.reign-summary, .profile-stats, .legacy-summary { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:var(--panel); }
.reign-summary article, .profile-stats article, .legacy-summary article { min-height:105px; padding:18px; display:grid; align-content:center; gap:4px; border-right:1px solid var(--line); }
.reign-summary article:last-child, .profile-stats article:last-child, .legacy-summary article:last-child { border-right:0; }
.reign-summary small, .profile-stats span, .legacy-summary span, .legacy-summary small { color:var(--muted); font-size:.53rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.reign-summary strong, .profile-stats strong, .legacy-summary strong { font-size:1.25rem; }
.reign-summary .current-reign strong { color:var(--gold-2); }
.reign-summary span { color:var(--muted); font-size:.61rem; }
.timeline-heading { padding-top:22px; }
.timeline-heading h3 { margin:0; font-size:2rem; text-transform:uppercase; }
.reign-timeline { margin:0; padding:0; list-style:none; border-left:1px solid #352640; }
.reign-timeline li { position:relative; min-height:94px; margin-left:22px; padding:17px 18px; display:grid; grid-template-columns:90px 1fr auto; gap:16px; align-items:center; border-bottom:1px solid var(--line); }
.timeline-dot { position:absolute; left:-27px; top:39px; width:9px; height:9px; border-radius:50%; background:var(--purple-2); box-shadow:0 0 0 5px #0a0710; }
.reign-number { color:var(--muted-2); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.reign-card-copy { display:grid; gap:5px; }
.reign-card-copy strong { font-size:1rem; }
.reign-card-copy span { color:var(--muted); font-size:.63rem; }
.reign-timeline > li > small { color:var(--gold-2); font-size:.62rem; }
.reign-status-row { opacity:.65; }

/* Matchcard archive */
.matchcard-archive { display:grid; gap:18px; }
.archive-card { overflow:hidden; border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow); }
.archive-card-header { min-height:130px; padding:25px 28px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:20px; border-top:2px solid var(--gold); background:radial-gradient(circle at 83% 25%,rgba(119,47,171,.28),transparent 28%),linear-gradient(120deg,#17101f,#0b0810); }
.archive-card-header h2 { margin:5px 0 0; font-size:clamp(2rem,4vw,3.6rem); line-height:.9; text-transform:uppercase; letter-spacing:-.05em; }
.matchcard-date-label { color:var(--gold-2); font-size:.59rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.archive-event { padding:10px 28px 25px; }
.archive-event > h3 { margin:18px 0 10px; color:var(--muted); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.archive-event ol { margin:0; padding:0; list-style:none; }
.archive-event li { min-height:82px; padding:13px 0; display:grid; grid-template-columns:34px minmax(0,1fr) minmax(180px,.32fr); gap:14px; align-items:center; border-bottom:1px solid var(--line); }
.archive-event li:last-child { border-bottom:0; }
.archive-event li > span:first-child { color:var(--gold-2); font-size:.62rem; font-weight:900; }
.archive-match-copy h3 { margin:0; font-size:.88rem; }
.archive-match-copy p { margin:6px 0 0; display:flex; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:.6rem; }
.archive-match-copy b, .archive-match-copy em { padding:4px 6px; border:1px solid var(--line); font-style:normal; font-size:.54rem; }
.archive-match-copy b { border-color:var(--line-gold); color:var(--gold-2); }
.winner-box { min-height:56px; padding:10px 12px; display:grid; align-content:center; gap:4px; border-left:2px solid #3b3042; background:#0e0a13; }
.winner-box span { color:var(--muted-2); font-size:.5rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.winner-box strong { font-size:.65rem; }
.winner-recorded { border-left-color:var(--gold); }
.winner-recorded strong { color:var(--gold-2); }
.archive-video { padding:22px 28px 28px; border-top:1px solid var(--line); background:#0c0811; }
.archive-video > span { display:block; margin-bottom:13px; color:var(--purple-soft); font-size:.57rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }

/* Media */
.section-video-feature { background:linear-gradient(135deg,#100a16,#1c0e27); border-block:1px solid var(--line); }
.video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.video-card { overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.video-poster, .video-card iframe { position:relative; width:100%; aspect-ratio:16/9; display:block; border:0; background:#050307; overflow:hidden; }
.video-poster { padding:0; cursor:pointer; color:white; }
.video-poster img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease,filter .25s ease; }
.video-poster::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 46%,rgba(5,3,8,.82)); }
.video-poster:hover img { transform:scale(1.025); filter:brightness(.75); }
.video-play { position:absolute; z-index:2; left:50%; top:50%; width:62px; height:62px; display:grid; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(96,34,138,.85); color:var(--gold-2); }
.video-poster small { position:absolute; z-index:2; left:15px; bottom:12px; font-size:.55rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.video-copy { padding:20px; display:grid; gap:8px; }
.video-copy p { margin:0; color:var(--gold-2); font-size:.54rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.video-copy h3 { margin:0; font-size:1.25rem; }
.video-copy span { color:var(--muted); font-size:.7rem; line-height:1.55; }
.video-copy a { color:var(--purple-soft); font-size:.58rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.video-card-compact { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); }
.profile-video-list, .archive-video > div { display:grid; gap:12px; }

/* Hall of Fame */
.hall-intro { position:relative; overflow:hidden; padding:64px 0; text-align:center; border-bottom:1px solid var(--line-gold); background:radial-gradient(circle at 50% 120%,rgba(201,151,45,.24),transparent 34%),#0d0810; }
.solstice-sun { display:block; color:var(--gold-2); font-size:2.6rem; }
.hall-intro p { margin:7px 0 10px; color:var(--gold); font-size:.6rem; font-weight:900; letter-spacing:.24em; text-transform:uppercase; }
.hall-intro h2 { margin:0; font-size:clamp(2.3rem,5vw,5.2rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.hall-grid { display:grid; gap:28px; }
.hall-panel { overflow:hidden; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); border:1px solid var(--line-gold); background:#0c0810; box-shadow:var(--shadow); }
.hall-panel:nth-child(even) { grid-template-columns:minmax(340px,.65fr) minmax(0,1.35fr); }
.hall-panel:nth-child(even) .hall-image-frame { order:2; }
.hall-image-frame { position:relative; min-height:420px; overflow:hidden; background:#060408; }
.hall-image-frame::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -100px 100px rgba(6,4,8,.38); }
.hall-image-frame img { width:100%; height:100%; object-fit:cover; }
.hall-number { position:absolute; z-index:2; left:18px; top:16px; color:var(--gold-2); font-size:.68rem; font-weight:900; letter-spacing:.13em; }
.hall-panel-copy { padding:36px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; background:radial-gradient(circle at 100% 0,rgba(201,151,45,.09),transparent 36%); }
.hall-panel-copy > p { margin:0 0 11px; color:var(--gold-2); font-size:.55rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.hall-panel-copy h2 { margin:0; font-size:clamp(2.2rem,4vw,4.4rem); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; }
.hall-panel-copy > span { margin-top:13px; color:#e7d492; font-size:.78rem; }
.hall-accolades { width:100%; margin:25px 0; padding:18px 0; display:grid; gap:7px; border-block:1px solid rgba(201,151,45,.22); }
.hall-accolades small { color:var(--muted); font-size:.53rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.hall-accolades strong { font-size:.72rem; line-height:1.6; }

/* Profiles */
.profile-grid { position:relative; min-height:400px; padding-block:72px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:32px; }
.profile-title h1 { margin:16px 0 5px; font-size:clamp(3.4rem,8vw,7.5rem); line-height:.83; letter-spacing:-.07em; text-transform:uppercase; }
.profile-title > p { max-width:700px; color:#c8bdcc; line-height:1.65; }
.profile-record { min-width:220px; padding:22px; display:grid; border-left:2px solid var(--gold); background:rgba(255,255,255,.035); }
.profile-record strong { color:var(--gold-2); font-size:2.2rem; }
.profile-record span { color:var(--muted); font-size:.57rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.profile-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.6fr); gap:22px; align-items:start; }
.profile-layout > div, .profile-layout aside { display:grid; gap:16px; }
.profile-stats { grid-template-columns:repeat(4,1fr); }
.profile-panel { padding:26px; border:1px solid var(--line); background:var(--panel); }
.profile-panel h2 { margin:0 0 15px; font-size:2rem; text-transform:uppercase; letter-spacing:-.04em; }
.profile-panel > p:not(.eyebrow), .profile-prose { color:#c2b6c7; line-height:1.72; }
.gold-panel { border-color:var(--line-gold); background:linear-gradient(145deg,rgba(201,151,45,.08),var(--panel)); }
.profile-details { margin:0; display:grid; }
.profile-details div { padding:12px 0; display:grid; grid-template-columns:110px 1fr; gap:12px; border-bottom:1px solid var(--line); }
.profile-details div:last-child { border-bottom:0; }
.profile-details dt { color:var(--muted); font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.profile-details dd { margin:0; font-size:.72rem; }
.clean-list { margin:0; padding-left:18px; color:#c7bdcb; line-height:1.8; }
.profile-matches { max-height:520px; overflow:auto; border-top:1px solid var(--line); }
.profile-matches article { padding:13px 0; display:grid; grid-template-columns:115px 1fr; gap:12px; border-bottom:1px solid var(--line); }
.profile-matches span { color:var(--gold-2); font-size:.57rem; font-weight:850; }
.profile-matches p { margin:0; color:#d4cbd7; font-size:.7rem; }

/* Legacy */
.legacy-summary { width:min(calc(100% - 48px),var(--container)); margin-top:-28px; position:relative; z-index:2; grid-template-columns:repeat(4,1fr); box-shadow:var(--shadow); }
.legacy-summary article { min-height:125px; }

/* Admin / portal */
.portal-shell { width:min(100%,1180px); margin:0 auto; display:grid; gap:18px; }
.portal-card, .portal-toolbar { padding:26px; border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow); }
.portal-card h2, .portal-toolbar h2 { margin:0; font-size:1.8rem; text-transform:uppercase; letter-spacing:-.035em; }
.portal-card > p { color:var(--muted); line-height:1.6; }
.auth-card { max-width:620px; margin:40px auto; }
.portal-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:2px solid var(--gold); }
.portal-toolbar > div:first-child { display:grid; gap:5px; }
.portal-toolbar > div:last-child { display:flex; gap:8px; flex-wrap:wrap; }
.portal-toolbar span { color:var(--muted); font-size:.6rem; }
.admin-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.admin-overview article { min-height:110px; padding:17px; display:grid; align-content:space-between; border:1px solid var(--line); background:#0d0912; }
.admin-overview span, .admin-overview small { color:var(--muted); font-size:.52rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.admin-overview strong { color:var(--gold-2); font-size:1.75rem; }
.admin-jump-nav { display:flex; flex-wrap:wrap; gap:6px; }
.admin-jump-nav a { padding:9px 11px; border:1px solid var(--line); color:#cfc4d3; font-size:.56rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.admin-jump-nav a:hover { border-color:var(--line-gold); color:var(--gold-2); }
.portal-form { display:grid; gap:14px; margin-top:18px; }
.portal-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.portal-wide { grid-column:1/-1; }
.portal-check { grid-template-columns:auto 1fr; align-items:center; padding:10px 12px; border:1px solid var(--line); }
.portal-check input { width:18px; min-height:18px; accent-color:var(--purple-2); }
.admin-form-actions { display:flex; flex-wrap:wrap; gap:8px; }
.form-feedback, .portal-message { color:var(--muted); font-size:.7rem; }
.dataset-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.status-pill { padding:5px 7px; border:1px solid var(--line); color:var(--muted); font-size:.51rem; font-weight:900; text-transform:uppercase; }
.status-approved { border-color:rgba(117,214,160,.3); color:var(--success); }
.status-pending { border-color:rgba(245,185,66,.42); color:#f5c35a; background:rgba(245,185,66,.07); }
.import-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.format-reminder, .import-preview, .media-admin-preview { padding:14px; border:1px solid var(--line); background:#0d0912; color:var(--muted); }
.format-reminder { display:grid; align-content:center; gap:6px; border-left:2px solid var(--gold); }
.format-reminder strong { color:var(--gold-2); font-size:.55rem; text-transform:uppercase; }
.import-preview { min-height:80px; }
.import-preview.preview-ready { border-color:var(--line-gold); }
.import-preview.preview-error { border-color:rgba(200,72,94,.5); color:#ff9daf; }
.admin-data-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.dataset-panel { padding:18px; border:1px solid var(--line); background:#0d0912; }
.dataset-form { display:grid; gap:12px; }
.admin-create-panel { margin-top:20px; padding:14px; border:1px solid var(--line); }
.admin-create-panel summary { cursor:pointer; color:var(--gold-2); font-size:.65rem; font-weight:900; text-transform:uppercase; }
.admin-media-list { margin-top:20px; display:grid; gap:8px; }
.admin-media-list article { padding:9px; display:grid; grid-template-columns:110px minmax(0,1fr) auto auto; gap:12px; align-items:center; border:1px solid var(--line); background:#0d0912; }
.admin-media-list img { width:110px; aspect-ratio:16/9; object-fit:cover; }
.admin-media-list article > div { display:grid; gap:4px; }
.admin-media-list span { color:var(--muted); font-size:.58rem; }
.media-admin-preview { min-height:90px; display:flex; align-items:center; gap:14px; }
.media-admin-preview img { width:140px; aspect-ratio:16/9; object-fit:cover; }
.config-checklist { display:grid; gap:8px; }
.config-checklist article { padding:12px; display:grid; gap:4px; border:1px solid var(--line); }
.config-checklist span { color:var(--muted); font-size:.62rem; }
.error-panel { width:min(calc(100% - 40px),760px); margin:70px auto; padding:35px; border:1px solid rgba(200,72,94,.38); background:var(--panel); }
.error-panel h1 { margin:0; font-size:2.4rem; text-transform:uppercase; }
.error-panel p { color:var(--muted); }

/* Footer */
.site-footer { position:relative; overflow:hidden; border-top:1px solid var(--line-gold); background:#050307; }
.footer-glow { position:absolute; width:520px; height:520px; left:-180px; bottom:-360px; border-radius:50%; background:rgba(107,39,153,.18); filter:blur(50px); }
.footer-grid { position:relative; padding:54px 0 34px; display:grid; grid-template-columns:minmax(300px,1.5fr) .6fr .7fr .7fr; gap:44px; }
.footer-brand { display:flex; align-items:center; gap:16px; }
.footer-logo { width:74px; height:74px; object-fit:contain; }
.footer-brand strong { font-size:.85rem; letter-spacing:.11em; text-transform:uppercase; }
.footer-brand p { margin:7px 0 0; color:var(--muted); font-size:.7rem; }
.footer-links, .footer-meta { display:grid; align-content:start; gap:8px; }
.footer-links span { margin-bottom:5px; color:var(--gold-2); font-size:.55rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.footer-links a, .footer-meta a { color:#b8adbdf; color:#b8adbd; font-size:.66rem; }
.footer-links a:hover, .footer-meta a:hover { color:white; }
.footer-meta span { color:var(--success); font-size:.56rem; font-weight:800; }
.footer-meta small { margin-top:9px; color:var(--muted-2); font-size:.58rem; }

/* Responsive */
@media (max-width: 1180px) {
  :root { --header: 74px; }
  .brand-copy { display:none; }
  .main-nav a { padding-inline:7px; font-size:.61rem; }
  .home-hero-grid { grid-template-columns:minmax(0,620px) 1fr; }
  .champion-grid { grid-template-columns:repeat(2,1fr); }
  .roster-grid { grid-template-columns:repeat(2,1fr); }
  .records-filter-grid { grid-template-columns:repeat(2,1fr); }
  .records-filter-grid .search-field { grid-column:1/-1; }
}

@media (max-width: 1040px) {
  .nav-toggle { display:block; }
  .main-nav { position:fixed; left:18px; right:18px; top:calc(var(--header) + 10px); max-height:calc(100svh - var(--header) - 28px); padding:16px; overflow:auto; display:none; flex-direction:column; align-items:stretch; gap:3px; border:1px solid var(--line-gold); background:rgba(9,6,13,.98); box-shadow:0 25px 70px rgba(0,0,0,.5); }
  body.nav-open .main-nav { display:flex; }
  .main-nav a { padding:13px 12px; font-size:.68rem; }
  .main-nav a.nav-active::after { left:12px; right:auto; width:40px; }
  .main-nav .nav-discord { margin:8px 0 0; text-align:center; }
  body.nav-open .nav-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2) { opacity:0; }
  body.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .home-feature-grid { grid-template-columns:1fr; }
  .broadcast-side-card { min-height:300px; }
  .championship-browser { grid-template-columns:1fr; }
  .title-index { position:static; }
  .title-buttons { max-height:320px; }
  .hall-panel, .hall-panel:nth-child(even) { grid-template-columns:1fr; }
  .hall-panel:nth-child(even) .hall-image-frame { order:0; }
  .profile-layout { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-meta { grid-column:1/-1; grid-template-columns:1fr auto auto; align-items:center; }
}

@media (max-width: 760px) {
  .container { width:min(calc(100% - 28px),var(--container)); }
  .section { padding:58px 0; }
  .site-header-inner { width:calc(100% - 26px); }
  .brand-logo { width:50px; height:50px; }
  .home-hero { min-height:720px; align-items:end; }
  .home-hero::before { background-position:61% center; opacity:.72; }
  .home-hero::after { background:linear-gradient(0deg,#07050b 0%,rgba(7,5,11,.86) 46%,rgba(7,5,11,.26) 100%); }
  .home-hero-grid { padding-top:250px; padding-bottom:190px; grid-template-columns:1fr; }
  .home-hero-copy h1 { font-size:clamp(3rem,15vw,5.5rem); }
  .hero-kpis { width:calc(100% - 28px); grid-template-columns:repeat(2,1fr); border-bottom:1px solid var(--line); }
  .hero-kpis div { min-height:73px; padding:12px 15px; }
  .hero-kpis div:nth-child(2) { border-right:0; }
  .hero-kpis div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .home-broadcast-inner { padding-block:12px; align-items:flex-start; flex-direction:column; }
  .directory-strip { grid-template-columns:repeat(2,1fr); margin-top:28px; }
  .directory-strip a { min-height:105px; }
  .directory-strip a:nth-child(2) { border-right:0; }
  .directory-strip a:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .section-heading h2 { font-size:clamp(2.1rem,10vw,3.4rem); }
  .next-event-card { min-height:390px; padding:25px; }
  .leader-row { grid-template-columns:42px minmax(0,1fr) 74px; padding-inline:13px; }
  .leader-rate { display:none; }
  .leader-record { text-align:right; }
  .champion-grid, .roster-grid, .video-grid { grid-template-columns:1fr; }
  .page-hero-grid { min-height:290px; padding-block:55px; grid-template-columns:1fr; }
  .page-hero h1 { font-size:clamp(2.8rem,14vw,5rem); }
  .hero-stat { min-width:0; }
  .filter-grid, .directory-filter-grid, .unified-directory-grid, .records-filter-grid, .matchcard-filter-grid, .legacy-filter-grid, .media-filter-grid { grid-template-columns:1fr; }
  .records-filter-grid .search-field { grid-column:auto; }
  .championship-stage { min-height:0; grid-template-columns:1fr; gap:20px; }
  .belt-display img { max-height:190px; }
  .reign-summary, .profile-stats, .legacy-summary { grid-template-columns:1fr 1fr; }
  .reign-summary article:nth-child(2), .profile-stats article:nth-child(2), .legacy-summary article:nth-child(2) { border-right:0; }
  .reign-summary article:nth-child(-n+2), .profile-stats article:nth-child(-n+2), .legacy-summary article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .reign-timeline li { grid-template-columns:68px 1fr; }
  .reign-timeline > li > small { grid-column:2; }
  .archive-card-header { grid-template-columns:1fr; }
  .archive-event { padding-inline:16px; }
  .archive-event li { grid-template-columns:28px 1fr; }
  .winner-box { grid-column:2; }
  .video-card-compact { grid-template-columns:1fr; }
  .hall-image-frame { min-height:330px; }
  .hall-panel-copy { padding:26px; }
  .profile-grid { grid-template-columns:1fr; min-height:340px; }
  .profile-record { min-width:0; }
  .profile-details div { grid-template-columns:90px 1fr; }
  .discord-cta-inner { align-items:flex-start; flex-direction:column; }
  .admin-overview { grid-template-columns:1fr 1fr; }
  .portal-toolbar { align-items:flex-start; flex-direction:column; }
  .portal-fields, .import-options { grid-template-columns:1fr; }
  .portal-wide { grid-column:auto; }
  .admin-media-list article { grid-template-columns:82px 1fr; }
  .admin-media-list img { width:82px; }
  .admin-media-list .small-action { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .footer-brand { grid-column:1/-1; }
  .footer-meta { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  .home-hero-copy h1 { font-size:3.25rem; }
  .hero-actions { display:grid; }
  .button { width:100%; }
  .home-socials { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .home-socials a { text-align:center; }
  .directory-strip { grid-template-columns:1fr; }
  .directory-strip a { border-right:0; border-bottom:1px solid var(--line); }
  .directory-strip a:last-child { border-bottom:0; }
  .hero-kpis strong { font-size:1.25rem; }
  .leader-row { grid-template-columns:35px 1fr; }
  .leader-record { grid-column:2; text-align:left; }
  .latest-list article { grid-template-columns:1fr; gap:5px; }
  .reign-summary, .profile-stats, .legacy-summary { grid-template-columns:1fr; }
  .reign-summary article, .profile-stats article, .legacy-summary article { border-right:0; border-bottom:1px solid var(--line); }
  .reign-summary article:last-child, .profile-stats article:last-child, .legacy-summary article:last-child { border-bottom:0; }
  .archive-event li { grid-template-columns:1fr; }
  .archive-event li > span:first-child, .winner-box { grid-column:1; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* Admin authentication hardening */
.auth-fallback { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.auth-fallback summary { cursor:pointer; color:var(--gold-2); font-size:.65rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.auth-fallback > p { margin:12px 0 0; color:var(--muted); font-size:.68rem; line-height:1.6; }
.portal-message.error { padding:11px 12px; border:1px solid rgba(200,72,94,.45); background:rgba(200,72,94,.08); color:#ffb0bf; }
.portal-message.success { padding:11px 12px; border:1px solid rgba(117,214,160,.35); background:rgba(117,214,160,.07); color:var(--success); }
.button:disabled { opacity:.55; cursor:not-allowed; transform:none; }

/* =========================================================
   2026 visual polish: poster-first home, imagery, dropdowns,
   page motion and public signup
   ========================================================= */

#app { view-transition-name: twb-content; overflow: clip; }
::view-transition-old(twb-content) { animation: twbPageOut .18s cubic-bezier(.4,0,1,1) both; }
::view-transition-new(twb-content) { animation: twbPageIn .34s cubic-bezier(.16,1,.3,1) both; }
@keyframes twbPageOut { to { opacity: 0; transform: translateY(-8px) scale(.995); filter: blur(2px); } }
@keyframes twbPageIn { from { opacity: 0; transform: translateY(14px) scale(.995); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }

.reveal-item { opacity: 0; transform: translateY(22px); transition: opacity .55s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms), transform .55s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms); }
.reveal-item.is-revealed { opacity: 1; transform: none; }

.main-nav .nav-signup { color: #fff; }
.main-nav .nav-signup::before { content:""; position:absolute; inset:7px 4px; z-index:-1; border:1px solid rgba(154,77,221,.26); background:rgba(111,40,168,.10); }
.main-nav .nav-signup:hover::before, .main-nav .nav-signup.nav-active::before { border-color:rgba(201,151,45,.32); background:rgba(154,77,221,.16); }

/* Poster-first homepage */
.poster-intro { position: relative; height: calc(100svh - var(--header)); min-height: 650px; overflow: hidden; background: #050307; border-bottom: 1px solid var(--line-gold); }
.poster-stage { --poster-progress: 0; position: absolute; inset: 0; overflow: hidden; isolation: isolate; background:#050307; }
.poster-art { position:absolute; inset:-5% -2%; background:url('/og.png') center 42% / cover no-repeat; transform:translate3d(0, calc(var(--poster-progress) * 105px), 0) scale(calc(1.025 + var(--poster-progress) * .035)); transform-origin:center 42%; will-change:transform; filter:saturate(1.04) contrast(1.02); }
.poster-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(4,2,7,.06) 0%,rgba(4,2,7,.02) 48%,rgba(4,2,7,.68) 89%,#07050b 100%),linear-gradient(90deg,rgba(7,5,11,.16),transparent 25%,transparent 75%,rgba(7,5,11,.16)); }
.poster-shade::after { content:""; position:absolute; left:0; right:0; bottom:0; height:180px; background:radial-gradient(ellipse at 50% 100%,rgba(139,52,193,.18),transparent 66%); }
.poster-scroll { position:absolute; z-index:3; left:50%; bottom:26px; transform:translateX(-50%); display:grid; justify-items:center; gap:9px; color:#eee6f2; font-size:.56rem; font-weight:950; letter-spacing:.17em; text-transform:uppercase; text-shadow:0 3px 16px #000; }
.poster-scroll i { width:1px; height:42px; position:relative; overflow:hidden; background:rgba(255,255,255,.18); }
.poster-scroll i::after { content:""; position:absolute; left:0; top:-100%; width:100%; height:55%; background:var(--gold-2); animation:posterScrollLine 1.7s ease-in-out infinite; }
@keyframes posterScrollLine { 0% { top:-65%; } 70%,100% { top:115%; } }

.home-about { position:relative; overflow:hidden; padding:112px 0 104px; background:radial-gradient(circle at 83% 16%,rgba(111,40,168,.20),transparent 26rem),linear-gradient(180deg,#07050b,#0c0811); border-bottom:1px solid var(--line); }
.home-about::before { content:"TWB"; position:absolute; right:-3vw; top:-2rem; color:rgba(255,255,255,.018); font-size:min(29vw,28rem); font-weight:1000; line-height:.8; letter-spacing:-.08em; pointer-events:none; }
.home-about-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr); gap:88px; align-items:end; }
.home-about-copy h1 { margin:0; max-width:820px; font-size:clamp(4rem,9vw,8rem); line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }
.home-about-copy .accent-word { display:inline; }
.home-about-copy > p:not(.eyebrow) { max-width:760px; margin:28px 0 0; color:#cfc4d4; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.8; }
.about-kpis { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); background:rgba(255,255,255,.025); box-shadow:var(--shadow); }
.about-kpis div { min-height:132px; padding:25px; display:grid; align-content:end; gap:5px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-kpis div:nth-child(2n) { border-right:0; }
.about-kpis div:nth-last-child(-n+2) { border-bottom:0; }
.about-kpis strong { color:#fff; font-size:2.05rem; letter-spacing:-.05em; }
.about-kpis span { color:var(--muted); font-size:.56rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.discord-cta-actions { display:flex; flex-wrap:wrap; gap:10px; }

/* Roster headshots. The original card remains intact until a real image loads. */
.roster-card.roster-card-portrait { min-height:210px; padding:24px; display:flex; align-items:stretch; background:linear-gradient(145deg,#15101b,#0d0912); }
.roster-card.roster-card-portrait .roster-card-copy { padding:0; justify-content:flex-start; max-width:100%; transition:max-width .22s ease; }
.roster-card.roster-card-portrait.has-headshot .roster-card-copy { max-width:62%; }
.roster-headshot { position:absolute; z-index:0; inset:0 0 0 52%; overflow:hidden; border-left:1px solid rgba(255,255,255,.055); opacity:0; transition:opacity .2s ease; }
.roster-headshot.image-loaded { opacity:1; }
.roster-headshot::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#120d18 0%,rgba(18,13,24,.7) 14%,rgba(18,13,24,.08) 55%,transparent 100%),linear-gradient(0deg,rgba(8,5,12,.35),transparent 44%); }
.roster-headshot img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 18%; transform:scale(1.015); transition:transform .32s cubic-bezier(.16,1,.3,1),filter .32s ease; }
.roster-card:hover .roster-headshot img { transform:scale(1.055); filter:brightness(1.06); }
.roster-card .card-arrow { position:absolute; z-index:3; right:14px; top:14px; width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); background:rgba(7,5,11,.48); backdrop-filter:blur(8px); }

/* Champion render treatment */
.champion-card.champion-card-rendered { min-height:405px; padding:0; isolation:isolate; justify-content:stretch; background:radial-gradient(circle at 74% 20%,rgba(138,54,191,.25),transparent 33%),linear-gradient(180deg,#15101b,#0b0810); }
.champion-card-content { position:relative; z-index:3; min-height:405px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(90deg,rgba(10,6,14,.92) 0%,rgba(10,6,14,.68) 47%,rgba(10,6,14,.06) 76%),linear-gradient(0deg,rgba(8,5,12,.96) 0%,rgba(8,5,12,.22) 58%,transparent 100%); }
.champion-card-rendered .champion-belt { width:56%; min-height:118px; margin:0 0 16px; justify-items:start; }
.champion-card-rendered .champion-belt img { max-width:100%; max-height:112px; }
.champion-render-stack { position:absolute; z-index:1; inset:0 0 0 36%; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; pointer-events:none; }
.champion-render { position:relative; flex:1; height:100%; min-width:0; overflow:hidden; }
.champion-render + .champion-render { margin-left:-22%; }
.champion-render img { width:100%; height:100%; display:block; object-fit:contain; object-position:center bottom; filter:drop-shadow(-18px 12px 24px rgba(0,0,0,.5)); transform:scale(1.06); transform-origin:center bottom; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.champion-card:hover .champion-render img { transform:scale(1.095); }
.champion-render.image-missing { display:none; }

/* Matchcard dropdown archive */
details.archive-card { display:block; }
.archive-dropdown summary { list-style:none; cursor:pointer; user-select:none; }
.archive-dropdown summary::-webkit-details-marker { display:none; }
.archive-dropdown .archive-card-header { align-items:center; transition:background .22s ease; }
.archive-dropdown .archive-card-header:hover { background:radial-gradient(circle at 83% 25%,rgba(146,63,201,.34),transparent 31%),linear-gradient(120deg,#1b1225,#0b0810); }
.archive-summary-actions { display:flex; align-items:center; gap:22px; }
.archive-summary-actions > strong { color:#d5c8da; font-size:.63rem; letter-spacing:.08em; text-transform:uppercase; }
.archive-toggle { min-width:118px; height:40px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line-gold); color:var(--gold-2); background:rgba(7,5,11,.38); }
.archive-toggle b { font-size:.56rem; letter-spacing:.09em; text-transform:uppercase; }
.archive-toggle i { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .22s ease; }
.archive-dropdown[open] .archive-toggle i { transform:rotate(225deg) translate(-2px,-2px); }
.archive-dropdown[open] .archive-toggle b { font-size:0; }
.archive-dropdown[open] .archive-toggle b::after { content:"Close card"; font-size:.56rem; }
.archive-card-body { border-top:1px solid var(--line); transform-origin:top; }
.archive-dropdown[open] .archive-card-body { animation:archiveOpen .28s cubic-bezier(.16,1,.3,1) both; }
@keyframes archiveOpen { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }

/* Public signup */
.signup-section { padding-top:70px; }
.signup-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr); gap:64px; align-items:start; }
.signup-copy { position:sticky; top:calc(var(--header) + 38px); padding:20px 10px 20px 0; }
.signup-copy h2, .signup-success h2 { margin:0; font-size:clamp(2.5rem,5vw,5.4rem); line-height:.88; letter-spacing:-.06em; text-transform:uppercase; }
.signup-copy > p:not(.eyebrow), .signup-success > p:not(.eyebrow) { max-width:650px; color:var(--muted); line-height:1.75; }
.signup-steps { margin-top:35px; display:grid; border-block:1px solid var(--line); }
.signup-steps span { min-height:62px; display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--line); color:#d3c7d8; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.signup-steps span:last-child { border-bottom:0; }
.signup-steps b { color:var(--gold-2); font-size:.58rem; letter-spacing:.14em; }
.signup-form, .signup-success { position:relative; padding:36px; overflow:hidden; border:1px solid var(--line-gold); background:radial-gradient(circle at 90% 8%,rgba(111,40,168,.19),transparent 24rem),linear-gradient(150deg,#17101f,#0c0811); box-shadow:var(--shadow); }
.signup-form::before, .signup-success::before { content:""; position:absolute; inset:0; pointer-events:none; border-top:2px solid transparent; background:linear-gradient(90deg,transparent,var(--gold),transparent) top/100% 1px no-repeat; opacity:.6; }
.form-heading { margin-bottom:27px; padding-bottom:22px; display:grid; gap:5px; border-bottom:1px solid var(--line); }
.form-heading span { color:var(--gold-2); font-size:.56rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.form-heading strong { font-size:1.55rem; text-transform:uppercase; letter-spacing:-.035em; }
.signup-form label { margin-top:18px; display:grid; gap:8px; }
.signup-form label > span { color:#cfc2d4; font-size:.58rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.signup-form input { width:100%; min-height:54px; padding:0 15px; border:1px solid var(--line); outline:0; background:#0b0710; color:#fff; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.signup-form input:focus { border-color:rgba(201,151,45,.55); box-shadow:0 0 0 3px rgba(201,151,45,.08); background:#0e0914; }
.signup-submit { width:100%; margin-top:26px; }
.signup-status { min-height:20px; margin:13px 0 0; color:var(--muted); font-size:.65rem; line-height:1.5; }
.signup-status.error { color:#ff9eaf; }
.signup-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
.signup-success[hidden] { display:none; }
.signup-success { grid-column:2; min-height:420px; align-content:center; }
.signup-success-actions { margin-top:27px; display:flex; flex-wrap:wrap; gap:10px; }

@media (max-width: 1040px) {
  .home-about-grid { grid-template-columns:1fr; gap:44px; }
  .about-kpis { max-width:760px; }
  .signup-layout { grid-template-columns:1fr; gap:28px; }
  .signup-copy { position:static; }
  .signup-success { grid-column:auto; }
}

@media (max-width: 760px) {
  .poster-intro { height:calc(100svh - var(--header)); min-height:560px; }
  .poster-art { inset:-2% -30%; background-position:center 40%; }
  .poster-scroll { bottom:18px; }
  .home-about { padding:78px 0 68px; }
  .home-about-copy h1 { font-size:clamp(3.5rem,17vw,6.3rem); }
  .about-kpis div { min-height:105px; padding:18px; }
  .roster-card.roster-card-portrait.has-headshot .roster-card-copy { max-width:60%; }
  .roster-headshot { left:48%; }
  .champion-card.champion-card-rendered, .champion-card-content { min-height:390px; }
  .champion-render-stack { left:32%; }
  .archive-summary-actions { align-items:flex-end; flex-direction:column; gap:10px; }
  .archive-toggle { min-width:108px; }
  .signup-form, .signup-success { padding:26px; }
  .signup-success-actions { display:grid; }
}

@media (max-width: 480px) {
  .poster-art { inset:-1% -45%; }
  .about-kpis { grid-template-columns:1fr 1fr; }
  .roster-card.roster-card-portrait { min-height:210px; padding:20px; }
  .roster-card.roster-card-portrait.has-headshot .roster-card-copy { max-width:66%; }
  .roster-headshot { left:43%; border-left:0; }
  .roster-headshot::after { background:linear-gradient(90deg,#15101b 0%,rgba(21,16,27,.7) 20%,rgba(21,16,27,.08) 68%,transparent 100%); }
  .archive-card-header { padding:20px; }
  .archive-summary-actions { align-items:flex-start; }
  .archive-toggle { width:100%; }
  .signup-form, .signup-success { padding:22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .poster-art { transform:none !important; }
  .poster-scroll i::after { animation:none; top:45%; }
  .reveal-item { opacity:1; transform:none; }
}

/* Selected championship stage render */
.championship-stage { position:relative; overflow:hidden; isolation:isolate; }
.championship-stage::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(13,8,18,.18),rgba(13,8,18,.08) 46%,rgba(13,8,18,.58)); }
.championship-stage > .belt-display, .championship-stage > .championship-stage-copy { position:relative; z-index:3; }
.title-holder-renders { position:absolute; z-index:2; inset:-6% -2% -8% 50%; display:flex; align-items:flex-end; justify-content:flex-end; pointer-events:none; opacity:.72; }
.title-holder-render { flex:1; min-width:0; height:100%; overflow:hidden; }
.title-holder-render + .title-holder-render { margin-left:-28%; }
.title-holder-render img { width:100%; height:100%; display:block; object-fit:contain; object-position:center bottom; filter:drop-shadow(-18px 12px 24px rgba(0,0,0,.5)); }
.title-holder-render.image-missing { display:none; }
@media (max-width:760px) {
  .title-holder-renders { inset:5% -10% 18% 42%; opacity:.48; }
  .championship-stage::after { background:linear-gradient(0deg,rgba(13,8,18,.78),rgba(13,8,18,.06) 74%); }
}


/* =========================================================
   FedUnited
   ========================================================= */
.main-nav .nav-fedunited { color:#d7ffe0; }
.main-nav .nav-fedunited.nav-active, .main-nav .nav-fedunited:hover { color:#8dffac; }
.main-nav .nav-fedunited.nav-active::after { background:linear-gradient(90deg,#16c44a,#8dffac); }
.fedunited-directory { padding-top:72px; }
.fed-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.fed-directory-card { --fed-primary:#16c44a; --fed-secondary:#050805; position:relative; min-height:360px; padding:28px; overflow:hidden; display:grid; align-content:end; border:1px solid color-mix(in srgb,var(--fed-primary) 46%,transparent); background:radial-gradient(circle at 78% 5%,color-mix(in srgb,var(--fed-primary) 26%,transparent),transparent 38%),linear-gradient(155deg,color-mix(in srgb,var(--fed-secondary) 94%,#151018),#09070c); box-shadow:0 24px 70px rgba(0,0,0,.28); transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .25s ease; isolation:isolate; }
.fed-directory-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.36; background:linear-gradient(120deg,transparent 0 65%,color-mix(in srgb,var(--fed-primary) 24%,transparent)); clip-path:polygon(54% 0,100% 0,100% 100%,75% 100%); }
.fed-directory-card:hover { transform:translateY(-6px); border-color:var(--fed-primary); box-shadow:0 28px 85px color-mix(in srgb,var(--fed-primary) 14%,rgba(0,0,0,.48)); }
.fed-directory-logo { position:absolute; top:28px; right:28px; width:126px; height:126px; display:grid; place-items:center; z-index:1; }
.fed-directory-logo img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 14px 24px rgba(0,0,0,.34)); }
.fed-logo-fallback, .fed-directory-logo.logo-missing { border:1px solid color-mix(in srgb,var(--fed-primary) 60%,transparent); background:color-mix(in srgb,var(--fed-secondary) 82%,#111); color:var(--fed-primary); font-size:2rem; font-weight:1000; letter-spacing:-.07em; }
.fed-directory-copy { position:relative; z-index:2; max-width:72%; }
.fed-directory-copy > span, .fed-kicker { color:var(--fed-primary); font-size:.58rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
.fed-directory-copy h3 { margin:8px 0 10px; font-size:clamp(2.6rem,5vw,4.8rem); line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.fed-directory-copy p { margin:0 0 18px; color:#c4bdc9; font-size:.82rem; line-height:1.65; }
.fed-directory-copy small { color:#fff; font-weight:800; }
.fed-directory-card > b { margin-top:28px; position:relative; z-index:2; color:var(--fed-primary); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.fedunited-template { margin-top:32px; padding:34px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid var(--line); background:linear-gradient(120deg,#15101b,#0b0810); }
.fedunited-template h2 { margin:0; font-size:clamp(2rem,4vw,3.7rem); letter-spacing:-.055em; text-transform:uppercase; }
.fedunited-template p:not(.eyebrow) { max-width:820px; color:var(--muted); line-height:1.7; }
.fed-profile { --fed-primary:#16c44a; --fed-secondary:#050805; min-height:calc(100svh - var(--header)); background:linear-gradient(180deg,color-mix(in srgb,var(--fed-secondary) 94%,#08060b),#07050b 72%); }
.fed-profile-hero { position:relative; overflow:hidden; border-bottom:1px solid color-mix(in srgb,var(--fed-primary) 34%,transparent); background:radial-gradient(circle at 78% 28%,color-mix(in srgb,var(--fed-primary) 23%,transparent),transparent 34rem),linear-gradient(145deg,color-mix(in srgb,var(--fed-secondary) 96%,#111),#09070c); }
.fed-profile-hero::before { content:""; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(color-mix(in srgb,var(--fed-primary) 42%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--fed-primary) 42%,transparent) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to right,transparent,black 42%,black); }
.fed-profile-glow { position:absolute; width:36rem; height:36rem; right:-12rem; top:-18rem; border-radius:50%; background:var(--fed-primary); filter:blur(130px); opacity:.12; }
.fed-profile-hero-grid { position:relative; z-index:2; min-height:480px; padding-block:74px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.fed-profile-brand { display:grid; grid-template-columns:210px minmax(0,760px); align-items:center; gap:42px; }
.fed-profile-logo { width:210px; height:210px; padding:14px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--fed-primary) 48%,transparent); background:color-mix(in srgb,var(--fed-secondary) 84%,#111); box-shadow:0 22px 70px rgba(0,0,0,.35),0 0 50px color-mix(in srgb,var(--fed-primary) 12%,transparent); }
.fed-profile-logo img { width:100%; height:100%; object-fit:contain; }
.fed-profile-logo.logo-missing { color:var(--fed-primary); font-size:3.8rem; font-weight:1000; }
.fed-profile-brand h1 { margin:8px 0 16px; font-size:clamp(5rem,11vw,10rem); line-height:.72; letter-spacing:-.09em; text-transform:uppercase; text-shadow:0 20px 45px rgba(0,0,0,.42); }
.fed-profile-brand p:not(.fed-kicker) { max-width:720px; margin:0; color:#d2cbd5; font-size:1rem; line-height:1.75; }
.fed-owner { margin-top:26px; display:flex; align-items:baseline; gap:12px; }
.fed-owner span { color:var(--fed-primary); font-size:.56rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.fed-owner strong { font-size:1.15rem; }
.fed-primary-button { min-height:50px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; color:color-mix(in srgb,var(--fed-secondary) 92%,#000); background:var(--fed-primary); font-size:.64rem; font-weight:1000; letter-spacing:.09em; text-transform:uppercase; box-shadow:0 12px 35px color-mix(in srgb,var(--fed-primary) 22%,transparent); }
.fed-profile-content { padding-block:68px 92px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr); gap:48px; align-items:start; }
.fed-profile-about { padding:32px; border-left:3px solid var(--fed-primary); background:linear-gradient(145deg,color-mix(in srgb,var(--fed-secondary) 92%,#171020),#0b0810); }
.fed-profile-about h2 { margin:8px 0 18px; font-size:clamp(2.4rem,5vw,4.7rem); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; }
.fed-profile-about > p:not(.fed-kicker) { color:#c9c1ce; line-height:1.75; }
.fed-profile-about dl { margin:28px 0 0; border-top:1px solid color-mix(in srgb,var(--fed-primary) 22%,var(--line)); }
.fed-profile-about dl div { padding:14px 0; display:grid; grid-template-columns:120px 1fr; gap:20px; border-bottom:1px solid var(--line); }
.fed-profile-about dt { color:var(--fed-primary); font-size:.56rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.fed-profile-about dd { margin:0; font-weight:800; }
.fed-back-link { margin-top:28px; display:inline-block; color:var(--fed-primary); font-size:.62rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.fed-stream-shell { border:1px solid color-mix(in srgb,var(--fed-primary) 45%,transparent); background:#08070a; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.fed-stream-heading { min-height:56px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid color-mix(in srgb,var(--fed-primary) 28%,transparent); background:linear-gradient(90deg,color-mix(in srgb,var(--fed-primary) 12%,#0b090c),#0b090c); }
.fed-stream-heading span { color:var(--fed-primary); font-size:.57rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.fed-stream-heading strong { font-size:.82rem; }
.fed-stream-frame { position:relative; width:100%; aspect-ratio:16/9; background:#030303; }
.fed-stream-frame iframe { position:absolute; inset:0; width:100%; height:100%; }
.fed-stream-link { min-height:48px; padding:0 18px; display:flex; align-items:center; justify-content:flex-end; color:var(--fed-primary); font-size:.59rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.fed-stream-empty { min-height:340px; padding:34px; display:grid; align-content:center; }
.fed-logo-upload small { color:var(--muted); font-size:.6rem; line-height:1.45; }
.fed-logo-preview { min-height:116px; margin-top:16px; padding:16px; display:flex; align-items:center; gap:18px; border:1px solid var(--line); background:#0b0810; }
.fed-logo-preview img, .fed-logo-preview-mark { width:82px; height:82px; object-fit:contain; flex:0 0 auto; }
.fed-logo-preview-mark { display:grid; place-items:center; border:1px solid rgba(22,196,74,.45); color:#62ee88; background:#071008; font-size:1.15rem; font-weight:1000; }
.fed-logo-preview > div:last-child { display:grid; gap:4px; }
.fed-logo-preview span { color:var(--muted); font-size:.65rem; }
.admin-federation-list { margin-top:26px; display:grid; gap:9px; }
.admin-federation-list article { --fed-admin-primary:#16c44a; --fed-admin-secondary:#050805; min-height:82px; padding:10px 12px; display:grid; grid-template-columns:60px minmax(0,1fr) auto auto; align-items:center; gap:12px; border:1px solid color-mix(in srgb,var(--fed-admin-primary) 24%,var(--line)); background:linear-gradient(90deg,color-mix(in srgb,var(--fed-admin-primary) 7%,#0d0912),#0d0912); }
.admin-federation-list img, .fed-admin-monogram { width:58px; height:58px; object-fit:contain; }
.fed-admin-monogram { display:grid; place-items:center; color:var(--fed-admin-primary); border:1px solid color-mix(in srgb,var(--fed-admin-primary) 45%,transparent); background:var(--fed-admin-secondary); font-size:.85rem; font-weight:1000; }
.admin-federation-list article > div:nth-child(2) { display:grid; gap:3px; }
.admin-federation-list article span { color:var(--muted); font-size:.62rem; }
@media (max-width:1100px) {
  .fed-directory-grid { grid-template-columns:1fr 1fr; }
  .fed-profile-hero-grid { align-items:flex-start; flex-direction:column; }
  .fed-profile-content { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .fed-directory-grid { grid-template-columns:1fr; }
  .fed-directory-card { min-height:320px; }
  .fed-directory-copy { max-width:75%; }
  .fed-directory-logo { width:104px; height:104px; }
  .fedunited-template { align-items:flex-start; flex-direction:column; }
  .fed-profile-hero-grid { min-height:0; padding-block:52px; }
  .fed-profile-brand { grid-template-columns:1fr; gap:24px; }
  .fed-profile-logo { width:150px; height:150px; }
  .fed-profile-brand h1 { font-size:clamp(4.5rem,24vw,7rem); }
  .fed-profile-content { padding-block:42px 70px; }
  .fed-profile-about { padding:24px; }
  .admin-federation-list article { grid-template-columns:50px minmax(0,1fr); }
}

/* Roster/navigation reliability overhaul (2026-08-29) */
#app.route-entering { animation: twbRouteEnter .32s cubic-bezier(.16,1,.3,1) both; }
@keyframes twbRouteEnter {
  from { opacity:.72; transform:translateY(8px); }
  to { opacity:1; transform:none; }
}
.roster-grid { align-items:stretch; }
.roster-card { content-visibility:auto; contain-intrinsic-size:210px; }
.roster-headshot img { decoding:auto; }
@media (prefers-reduced-motion: reduce) {
  #app.route-entering { animation:none; }
}

/* ==========================================================
   2026-08-29 site systems overhaul
   Live Twitch, upcoming hub, admin safety, assets, 404, mobile
   ========================================================== */
.main-nav .nav-twitch-status { position:relative; color:#d8cfe0; }
.main-nav .nav-twitch-status.is-live { color:#ff5a65; text-shadow:0 0 18px rgba(255,55,73,.4); }
.main-nav .nav-twitch-status.is-live::before { content:""; position:absolute; left:7px; right:7px; bottom:3px; height:2px; background:#ff3547; box-shadow:0 0 14px #ff3547; animation:livePulse 1.2s ease-in-out infinite; }
@keyframes livePulse { 50% { opacity:.35; } }

.twb-live-home { padding:34px 0; border-bottom:1px solid rgba(255,66,82,.25); background:radial-gradient(circle at 12% 50%,rgba(255,42,65,.16),transparent 28rem),linear-gradient(120deg,#12080d,#08060b); }
.twb-live-grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr); gap:34px; align-items:center; }
.twb-live-copy h2 { margin:8px 0 12px; font-size:clamp(2.3rem,4vw,4.6rem); line-height:.9; letter-spacing:-.055em; text-transform:uppercase; }
.twb-live-copy > p:not(.live-kicker) { color:#c9bec8; }
.live-kicker { margin:0; display:flex; align-items:center; gap:9px; color:#ff5b67; font-size:.62rem; font-weight:1000; letter-spacing:.13em; }
.live-kicker i { width:9px; height:9px; border-radius:50%; background:#ff3547; box-shadow:0 0 16px #ff3547; animation:livePulse 1s infinite; }
.twb-live-frame { position:relative; aspect-ratio:16/9; border:1px solid rgba(255,65,82,.38); background:#020202; box-shadow:0 22px 70px rgba(0,0,0,.42); }
.twb-live-frame iframe { position:absolute; inset:0; width:100%; height:100%; }

.next-event-logo { width:min(210px,62%); max-height:90px; margin:0 0 18px; object-fit:contain; object-position:left center; }
.event-countdown { margin:24px 0; display:grid; grid-template-columns:repeat(4,minmax(72px,1fr)); max-width:520px; border:1px solid var(--line-gold); background:rgba(8,5,12,.74); }
.event-countdown span { min-height:86px; padding:12px; display:grid; place-items:center; align-content:center; border-right:1px solid var(--line); }
.event-countdown span:last-child { border-right:0; }
.event-countdown strong { color:#fff; font-size:1.6rem; line-height:1; }
.event-countdown small { margin-top:7px; color:var(--gold-2); font-size:.48rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.countdown-compact { margin:18px 0 20px; max-width:390px; }
.countdown-compact span { min-height:66px; }
.countdown-compact strong { font-size:1.2rem; }
.countdown-finished { opacity:.55; }

.upcoming-hub { position:relative; overflow:hidden; border-bottom:1px solid var(--line-gold); background:radial-gradient(circle at 78% 22%,rgba(137,57,193,.18),transparent 32rem),linear-gradient(180deg,#0b0810,#08060b); }
.upcoming-hub-grid { min-height:590px; padding-block:58px; display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr); gap:54px; align-items:center; }
.upcoming-hub-art { position:relative; min-height:470px; display:grid; place-items:center; }
.upcoming-hub-art > img { width:100%; max-height:560px; object-fit:contain; filter:drop-shadow(0 28px 50px rgba(0,0,0,.48)); }
.upcoming-poster-placeholder { width:100%; min-height:420px; display:grid; place-items:center; align-content:center; gap:18px; border:1px solid var(--line); background:linear-gradient(145deg,#15101b,#0b0810); }
.upcoming-poster-placeholder img { width:120px; opacity:.55; }
.upcoming-poster-placeholder span { color:var(--muted); font-size:.6rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.upcoming-show-logo { width:min(260px,70%); max-height:110px; object-fit:contain; object-position:left center; margin-bottom:18px; }
.upcoming-hub-copy h2 { margin:6px 0 18px; max-width:800px; font-size:clamp(3.4rem,7vw,7.5rem); line-height:.8; letter-spacing:-.075em; text-transform:uppercase; }
.upcoming-hub-copy > p:not(.eyebrow):not(.upcoming-card-empty) { max-width:760px; color:#c9c0cd; font-size:1rem; line-height:1.7; }
.upcoming-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.upcoming-meta span { padding:8px 10px; border:1px solid var(--line); color:#ddd3e2; background:rgba(255,255,255,.025); font-size:.58rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.upcoming-actions { display:flex; flex-wrap:wrap; gap:10px; }
.upcoming-matchcard { margin-top:28px; border:1px solid var(--line); background:rgba(255,255,255,.018); }
.upcoming-matchcard summary { min-height:58px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; color:#fff; }
.upcoming-matchcard summary::-webkit-details-marker { display:none; }
.upcoming-matchcard summary span { font-size:.68rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.upcoming-matchcard summary strong { color:var(--gold-2); font-size:.6rem; text-transform:uppercase; }
.upcoming-matchcard ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.upcoming-matchcard li { min-height:58px; padding:10px 18px; display:grid; grid-template-columns:38px 1fr; align-items:center; border-bottom:1px solid var(--line); }
.upcoming-matchcard li:last-child { border-bottom:0; }
.upcoming-matchcard li > span { color:var(--gold-2); font-size:.58rem; font-weight:900; }
.upcoming-matchcard li strong { font-size:.78rem; }
.upcoming-card-empty { margin-top:24px; color:var(--muted); }

.fed-apply-colors { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fed-application-form input[type="color"] { min-height:48px; padding:4px; }
.fed-application-form input[type="file"] { padding:12px; }

/* Admin draft safety + unified assets */
.admin-safety-card { border-color:rgba(201,151,45,.28); background:radial-gradient(circle at 90% 15%,rgba(201,151,45,.08),transparent 22rem),#0d0912; }
.admin-publish-actions { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 14px; }
.admin-publish-actions button:disabled { opacity:.38; cursor:not-allowed; }
.draft-key-list { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
.draft-key-list > span:not(.muted) { padding:6px 9px; border:1px solid rgba(201,151,45,.22); color:#dec67c; background:rgba(201,151,45,.06); font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.revision-history { margin-top:24px; border-top:1px solid var(--line); }
.revision-history summary { padding:18px 0; cursor:pointer; font-size:.65rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.revision-history article { min-height:58px; padding:9px 0; display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; border-top:1px solid var(--line); }
.revision-history article > div { display:grid; gap:2px; }
.revision-history article span { color:var(--muted); font-size:.58rem; }
.asset-current-grid { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.asset-current-grid article { min-height:160px; padding:12px; display:grid; gap:8px; border:1px solid var(--line); background:#0b0810; }
.asset-current-grid article span { color:var(--muted); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.asset-current-grid img { width:100%; height:180px; object-fit:contain; }
#admin-asset-form input[type="file"], #admin-upcoming-form input[type="file"] { padding:12px; }

.draft-preview-banner { position:fixed; z-index:9999; left:50%; bottom:18px; transform:translateX(-50%); width:min(760px,calc(100% - 28px)); min-height:54px; padding:10px 14px; display:flex; align-items:center; justify-content:center; gap:16px; border:1px solid #d29e31; background:rgba(16,10,20,.96); box-shadow:0 18px 60px rgba(0,0,0,.55); backdrop-filter:blur(16px); }
.draft-preview-banner strong { color:#e3bd63; font-size:.62rem; letter-spacing:.12em; }
.draft-preview-banner span { color:#d2c8d7; font-size:.67rem; }
.draft-preview-banner a { margin-left:auto; color:#fff; font-size:.58rem; font-weight:900; text-transform:uppercase; }

/* Branded 404 */
.not-found-page { min-height:calc(100svh - var(--header)); position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 50% 45%,rgba(126,48,180,.17),transparent 28rem),linear-gradient(180deg,#09060e,#050407); }
.not-found-glow { position:absolute; width:34rem; height:34rem; border-radius:50%; background:#6d29a6; filter:blur(150px); opacity:.12; }
.not-found-inner { position:relative; z-index:1; padding-block:80px; text-align:center; display:grid; justify-items:center; }
.not-found-inner > img { width:110px; margin-bottom:30px; opacity:.88; }
.not-found-inner h1 { margin:8px 0 18px; max-width:950px; font-size:clamp(4rem,10vw,9rem); line-height:.78; letter-spacing:-.08em; text-transform:uppercase; }
.not-found-inner > p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:1rem; line-height:1.7; }
.not-found-inner > div { margin-top:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }

/* Dedicated mobile pass */
@media (max-width: 900px) {
  .twb-live-grid, .upcoming-hub-grid { grid-template-columns:1fr; }
  .twb-live-copy { order:2; }
  .twb-live-frame { order:1; }
  .upcoming-hub-grid { min-height:0; padding-block:38px 54px; gap:30px; }
  .upcoming-hub-art { min-height:260px; }
  .upcoming-hub-art > img { max-height:460px; }
  .signup-layout { grid-template-columns:1fr; gap:30px; }
  .signup-copy { position:static; padding-right:0; }
  .home-about-grid { grid-template-columns:1fr; gap:38px; }
  .admin-publish-actions .button { flex:1 1 220px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top:calc(var(--header) + 8px); }
  .container { width:min(100% - 28px,var(--container)); }
  .site-header-inner { padding-inline:14px; }
  .brand-copy { display:none; }
  .brand-logo { width:56px; height:56px; }
  .main-nav { max-height:calc(100svh - var(--header)); overflow-y:auto; overscroll-behavior:contain; padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
  .main-nav a { min-height:48px; display:flex; align-items:center; }
  .poster-intro { min-height:520px; height:calc(100svh - var(--header)); }
  .poster-art { inset:-2% -32%; background-position:center 40%; }
  .poster-scroll { bottom:15px; }
  .home-about { padding:68px 0 60px; }
  .home-about-copy h1 { font-size:clamp(3.6rem,19vw,6rem); }
  .about-kpis { grid-template-columns:1fr 1fr; }
  .about-kpis div { min-height:104px; padding:18px; }
  .directory-strip { grid-template-columns:1fr 1fr; }
  .section-heading { align-items:flex-start; gap:14px; }
  .section-heading > a, .section-heading > .button { align-self:flex-start; }
  .twb-live-home { padding:24px 0 34px; }
  .twb-live-grid { gap:22px; }
  .twb-live-copy h2 { font-size:clamp(2.4rem,13vw,4rem); }
  .upcoming-hub-copy h2 { font-size:clamp(3rem,17vw,5.5rem); }
  .upcoming-hub-art { min-height:220px; }
  .event-countdown { grid-template-columns:repeat(4,1fr); width:100%; }
  .event-countdown span { min-width:0; min-height:68px; padding:8px 4px; }
  .event-countdown strong { font-size:1.18rem; }
  .event-countdown small { font-size:.42rem; }
  .upcoming-actions .button { flex:1 1 100%; }
  .upcoming-matchcard summary { align-items:flex-start; flex-direction:column; justify-content:center; gap:4px; padding-block:12px; }
  .roster-grid, .champion-grid, .video-grid { grid-template-columns:1fr; }
  .roster-card.roster-card-portrait.has-headshot .roster-card-copy { max-width:68%; }
  .roster-headshot { inset:0 0 0 42%; }
  .champion-card.champion-card-rendered, .champion-card-content { min-height:360px; }
  .champion-render-stack { inset:0 0 0 26%; }
  .champion-card-rendered .champion-belt { width:64%; }
  .filter-grid, .records-filter-grid, .matchcard-filter-grid, .media-filter-grid, .legacy-filter-grid { grid-template-columns:1fr !important; }
  .filter-panel { padding:16px; }
  .filter-panel-head { align-items:flex-start; flex-direction:column; gap:12px; }
  .archive-card-header { padding:18px 16px; align-items:flex-start; flex-direction:column; gap:16px; }
  .archive-summary-actions { width:100%; justify-content:space-between; }
  .archive-event li { grid-template-columns:32px 1fr !important; gap:8px; }
  .winner-box { grid-column:2; justify-self:stretch; text-align:left; }
  .table-wrap { margin-inline:-14px; padding-inline:14px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .records-table { min-width:760px; }
  .fed-directory-copy { max-width:100%; padding-top:116px; }
  .fed-directory-logo { left:22px; right:auto; top:22px; }
  .fed-profile-brand h1 { overflow-wrap:anywhere; }
  .fed-stream-frame { aspect-ratio:16/10; }
  .signup-form, .signup-success { padding:24px 18px; }
  .fed-apply-colors { grid-template-columns:1fr; }
  .portal-toolbar { align-items:flex-start; flex-direction:column; gap:18px; }
  .portal-toolbar > div:last-child { width:100%; display:grid; grid-template-columns:1fr; }
  .admin-jump-nav { overflow-x:auto; white-space:nowrap; flex-wrap:nowrap; padding-bottom:8px; }
  .portal-fields { grid-template-columns:1fr !important; }
  .admin-overview { grid-template-columns:1fr 1fr; }
  .asset-current-grid { grid-template-columns:1fr; }
  .revision-history article { grid-template-columns:1fr; align-items:start; }
  .admin-federation-list article { grid-template-columns:48px 1fr; }
  .admin-federation-list article .small-action { width:100%; grid-column:1 / -1; }
  .draft-preview-banner { bottom:8px; display:grid; grid-template-columns:auto 1fr; gap:4px 10px; justify-content:stretch; }
  .draft-preview-banner a { margin:3px 0 0; grid-column:1 / -1; }
  .not-found-inner h1 { font-size:clamp(3.8rem,20vw,6.6rem); }
  .not-found-inner > div { width:100%; display:grid; }
}

@media (max-width: 430px) {
  .container { width:min(100% - 22px,var(--container)); }
  .directory-strip { grid-template-columns:1fr; }
  .about-kpis { grid-template-columns:1fr; }
  .about-kpis div { border-right:0; border-bottom:1px solid var(--line) !important; }
  .about-kpis div:last-child { border-bottom:0 !important; }
  .event-countdown { grid-template-columns:repeat(2,1fr); }
  .event-countdown span:nth-child(2) { border-right:0; }
  .event-countdown span:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .admin-overview { grid-template-columns:1fr; }
  .roster-card.roster-card-portrait.has-headshot .roster-card-copy { max-width:72%; }
}
