/* ─────────────────────────────────────────────────────────────
   BATTLEGASM — broadcast neon system / PASS 2
   Bright enough to feel dangerous. Restrained enough to sell ads.
   ───────────────────────────────────────────────────────────── */
:root {
  --ink: #070814;
  --ink-2: #0F1126;
  --ink-3: #171A35;
  --battlegasm: #FF2FA8;
  --battlegasm-light: #FF79CB;
  --cyan: #21E9FF;
  --acid: #C9FF3D;
  --violet: #8E63FF;
  --ember: #FF672B;
  --gold: #F9C94C;
  --gold-bright: #FFE27A;
  --parchment: #FBFAFF;
  --mist: #B7B9D7;
  --muted: #7C80A8;
  --hairline: rgba(255,255,255,0.12);
  --glass: rgba(15,17,38,0.74);
  --shadow: 0 24px 70px rgba(0,0,0,0.34);

  --font-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body: 'Space Grotesk', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 15% -10%, rgba(255,47,168,0.10), transparent 30rem),
    radial-gradient(circle at 85% 16%, rgba(33,233,255,0.08), transparent 34rem),
    var(--ink);
  color: var(--parchment);
  font-family: var(--font-body);
  line-height: 1.62;
  min-height: 100vh;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.20;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 72%);
  z-index: -1;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

::selection { background: var(--acid); color: #060710; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { max-width: 1220px; margin: 0 auto; padding: 0 22px; }
.container-narrow { max-width: 790px; margin: 0 auto; padding: 0 22px; }
.container-mid { max-width: 940px; margin: 0 auto; padding: 0 22px; }

.eyebrow {
  font-family: var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.70rem;
  font-weight: 500;
}
.hairline-top { border-top: 1px solid var(--hairline); }
.hairline-bottom { border-bottom: 1px solid var(--hairline); }
.section { padding: 78px 0; position: relative; }
.section-tight { padding: 58px 0; }
.bg-ink-2 {
  background:
    radial-gradient(circle at 95% 0%, rgba(142,99,255,0.10), transparent 25rem),
    linear-gradient(180deg, rgba(255,255,255,0.018), transparent),
    var(--ink-2);
}

.card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(24,27,58,0.92), rgba(12,14,31,0.90));
  border: 1px solid var(--hairline);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 14px 38px rgba(0,0,0,0.18);
}
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,255,255,0.05), transparent 22%);
  opacity: .7;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.015em;
  color: var(--parchment);
  margin: 0;
  font-weight: 800;
}
h1 { font-size: clamp(3.7rem, 9vw, 8.7rem); line-height: 0.82; }
h2 { font-size: clamp(2.6rem, 5vw, 4.7rem); line-height: 0.92; }
h3 { font-size: 1.55rem; line-height: 1.05; }
p { color: var(--mist); margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

.text-gold { color: var(--gold); }
.text-gold-bright { color: var(--gold-bright); }
.text-mist { color: var(--mist); }
.text-ember { color: var(--ember); }
.text-parchment { color: var(--parchment); }
.text-cyan { color: var(--cyan); }
.text-acid { color: var(--acid); }
.text-hot { color: var(--battlegasm-light); }

.section-heading .eyebrow { color: var(--cyan); display: block; margin-bottom: 12px; }
.section-heading p { max-width: 690px; margin-top: 16px; font-size: 1.02rem; }
.section-heading h2 { max-width: 900px; }

/* Buttons */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 0.74rem;
  font-weight: 500;
  padding: 13px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-solid {
  background: linear-gradient(100deg, var(--acid), #F6FF98 42%, var(--cyan));
  color: #080913;
  box-shadow: 0 8px 28px rgba(201,255,61,0.16);
}
.btn-solid:hover { box-shadow: 0 12px 36px rgba(33,233,255,0.18); }
.btn-outline { border-color: rgba(255,255,255,.22); color: var(--parchment); background: rgba(255,255,255,.02); }
.btn-outline:hover { border-color: var(--cyan); color: var(--cyan); }
.btn-outline-gold { border-color: rgba(249,201,76,.7); color: var(--gold-bright); background: rgba(249,201,76,.04); }
.btn-outline-gold:hover { background: var(--gold); color: #090A13; box-shadow: 0 10px 30px rgba(249,201,76,.18); }
.btn-hot { background: linear-gradient(105deg, var(--battlegasm), var(--ember)); color: white; box-shadow: 0 10px 34px rgba(255,47,168,.24); }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(7,8,20,0.84);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(16px) saturate(140%);
}
.site-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--battlegasm), var(--cyan), var(--acid), transparent);
  opacity: .55;
}
.site-header .inner { display: flex; align-items: center; justify-content: space-between; height: 70px; gap: 20px; }
.logo {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.72rem;
  line-height: 1;
  letter-spacing: 0.015em;
  background: linear-gradient(90deg, #fff 0%, #fff 48%, var(--battlegasm-light) 76%, var(--cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.logo .tm { color: var(--acid); -webkit-text-fill-color: var(--acid); font-size: .62em; vertical-align: top; }
.main-nav { display: none; gap: 19px; align-items: center; }
.main-nav a { font-family: var(--font-mono); letter-spacing: 0.10em; text-transform: uppercase; font-size: 0.66rem; color: var(--mist); position: relative; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px; background:var(--cyan); transition:right .18s ease; }
.main-nav a:hover { color: var(--parchment); }
.main-nav a:hover::after { right:0; }
.nav-toggle { display: inline-block; background: rgba(255,255,255,.03); border: 1px solid var(--hairline); color: var(--parchment); padding: 9px 13px; border-radius: 999px; font-family: var(--font-mono); font-size: 0.76rem; }
@media (min-width: 1080px) { .main-nav { display: flex; } .nav-toggle { display: none; } .watch-btn { display: inline-flex !important; } }
.mobile-nav { display: none; flex-direction: column; padding: 14px 0 20px; border-top: 1px solid var(--hairline); }
.mobile-nav.open { display: flex; }
.mobile-nav a { padding: 11px 2px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.76rem; color: var(--mist); border-bottom: 1px solid var(--hairline); }
.watch-btn { display: none; }

/* Footer */
.site-footer {
  border-top: 1px solid var(--hairline);
  background:
    radial-gradient(circle at 5% 0%, rgba(255,47,168,.10), transparent 28rem),
    radial-gradient(circle at 95% 100%, rgba(33,233,255,.08), transparent 28rem),
    #090A18;
  padding: 64px 0 34px;
}
.footer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.footer-col .eyebrow { color: var(--acid); display: block; margin-bottom: 14px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-bottom: 9px; }
.footer-col a { font-size: 0.88rem; color: var(--mist); }
.footer-col a:hover { color: var(--cyan); }
.footer-bottom { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--hairline); font-size: 0.76rem; color: var(--muted); display: flex; flex-direction: column; gap: 10px; }
.footer-legal-badge { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(201,255,61,.22); border-radius:999px; padding:6px 10px; color:var(--acid); font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } .footer-bottom { flex-direction: row; justify-content: space-between; align-items:flex-end; } }

/* Hero */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--hairline); isolation:isolate; }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index:-2;
  background:
    radial-gradient(circle at 78% 25%, rgba(33,233,255,.26), transparent 26rem),
    radial-gradient(circle at 28% 35%, rgba(255,47,168,.28), transparent 30rem),
    radial-gradient(circle at 60% 85%, rgba(142,99,255,.18), transparent 26rem),
    linear-gradient(150deg, #090A1B 10%, #10122A 54%, #080914 100%);
}
.hero::after {
  content:""; position:absolute; width:560px; height:560px; right:-190px; top:-210px; z-index:-1;
  border-radius:50%; border:82px solid rgba(201,255,61,.06); transform:rotate(-16deg);
  box-shadow: 0 0 90px rgba(33,233,255,.10), inset 0 0 80px rgba(255,47,168,.08);
}
.hero .inner { position: relative; padding: 92px 0 70px; }
.hero .premiere-badge { display:inline-flex; flex-wrap:wrap; gap:8px 12px; align-items:center; border:1px solid rgba(201,255,61,.34); background:rgba(201,255,61,.07); border-radius:999px; padding:8px 13px; color:var(--acid); }
.hero .premiere-badge strong { color:var(--parchment); font-weight:500; }
.hero h1 {
  margin-top: 26px;
  font-size: clamp(5.2rem, 15vw, 11.8rem);
  letter-spacing: -0.025em;
  background: linear-gradient(92deg, var(--acid) 0%, #fff 28%, #fff 48%, var(--battlegasm-light) 72%, var(--cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 14px 44px rgba(255,47,168,.13));
}
.hero .tagline { font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.04em; color: var(--parchment); font-size: clamp(1.5rem, 3vw, 2.4rem); margin-top: 16px; max-width: 850px; font-weight:700; }
.hero .lede { max-width: 670px; font-size: 1.08rem; margin-top: 18px; color:#D2D3E8; }
.hero .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero .hero-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.hero .hero-stat { border:1px solid rgba(255,255,255,.12); background:rgba(7,8,20,.36); border-radius:999px; padding:7px 11px; font-family:var(--font-mono); font-size:.68rem; color:var(--mist); }
.hero .hero-stat b { color:var(--cyan); font-weight:500; }
.hero .traj-wrap {
  margin-top: 52px;
  padding: 22px 22px 10px;
  border: 1px solid rgba(33,233,255,.20);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(6,8,24,.56), rgba(13,15,35,.80));
  box-shadow: 0 18px 55px rgba(0,0,0,.20);
}

/* Broadcast/lore strips */
.broadcast-strip { background: linear-gradient(90deg, var(--battlegasm), var(--ember) 36%, #FF9F2D 68%, var(--gold)); color:#0A0A12; border-bottom:1px solid rgba(255,255,255,.16); }
.broadcast-strip .inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; padding:13px 22px; }
.broadcast-strip strong { font-family:var(--font-display); text-transform:uppercase; letter-spacing:.05em; font-size:1.06rem; }
.broadcast-strip span { font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }

.lore-rail { display:grid; gap:0; grid-template-columns:1fr; border:1px solid var(--hairline); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.02); }
.lore-node { padding:22px; position:relative; }
.lore-node + .lore-node { border-top:1px solid var(--hairline); }
.lore-node .year { font-family:var(--font-display); font-size:2.2rem; line-height:1; color:var(--acid); }
.lore-node:nth-child(2) .year { color:var(--cyan); }
.lore-node:nth-child(3) .year { color:var(--battlegasm-light); }
.lore-node p { margin-top:7px; font-size:.88rem; }
@media (min-width: 760px) { .lore-rail { grid-template-columns:repeat(3,1fr); } .lore-node + .lore-node { border-top:none; border-left:1px solid var(--hairline); } }

.metric-split { display:grid; grid-template-columns:1fr; gap:18px; }
.metric-box { border-radius:18px; padding:28px; background:linear-gradient(145deg, rgba(33,233,255,.08), rgba(255,255,255,.02)); border:1px solid rgba(33,233,255,.20); }
.metric-box:nth-child(2) { background:linear-gradient(145deg, rgba(255,47,168,.09), rgba(255,255,255,.02)); border-color:rgba(255,47,168,.22); }
.metric-num { font-family:var(--font-display); font-weight:900; font-size:clamp(3rem,7vw,5.5rem); line-height:.9; color:var(--cyan); }
.metric-box:nth-child(2) .metric-num { color:var(--battlegasm-light); }
@media (min-width: 720px) { .metric-split { grid-template-columns:1fr 1fr; } }

/* Grids */
.grid { display: grid; gap: 20px; }
.grid-2,.grid-3,.grid-4,.grid-5 { grid-template-columns: repeat(1, 1fr); }
@media (min-width: 640px) { .grid-2 { grid-template-columns: repeat(2, 1fr); } .grid-3 { grid-template-columns: repeat(2, 1fr); } .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); } .grid-5 { grid-template-columns: repeat(5, 1fr); } }

/* Discipline identity */
.discipline-card,.athlete-card { --discipline-color: var(--cyan); }
.discipline-power { --discipline-color: var(--ember); }
.discipline-endurance { --discipline-color: var(--acid); }
.discipline-control { --discipline-color: var(--cyan); }
.discipline-freestyle { --discipline-color: var(--battlegasm-light); }
.discipline-extreme { --discipline-color: var(--violet); }
.discipline-card { border-top:3px solid var(--discipline-color); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.discipline-card:hover { transform:translateY(-4px); box-shadow:0 22px 52px color-mix(in srgb, var(--discipline-color) 14%, transparent); }
.discipline-card .discipline-number { color:var(--discipline-color); }

/* Athlete / news cards */
.athlete-card {
  display: block;
  background: linear-gradient(145deg, rgba(24,27,58,.88), rgba(11,13,29,.94));
  border: 1px solid rgba(255,255,255,.10);
  border-top: 3px solid var(--discipline-color);
  border-radius: 16px;
  padding: 21px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.athlete-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--discipline-color) 58%, white 6%); box-shadow: 0 22px 56px color-mix(in srgb, var(--discipline-color) 13%, transparent); }
.athlete-card .top-row { display: flex; justify-content: space-between; align-items: flex-start; }
.athlete-card h3 { font-size: 1.7rem; margin-top: 11px; }
.athlete-card:hover h3 { color: var(--discipline-color); }
.athlete-card .city { font-size: 0.84rem; color: var(--mist); margin: 4px 0 0; }
.athlete-card .bottom-row { display: flex; justify-content: space-between; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--hairline); font-family: var(--font-mono); font-size: 0.72rem; }
.athlete-card .rank-chip { color:var(--discipline-color); }

.news-card { background: linear-gradient(155deg, rgba(17,19,44,.96), rgba(8,9,23,.94)); padding: 23px; border: 1px solid rgba(255,255,255,.09); border-radius:16px; transition:transform .18s ease,border-color .18s ease; }
.news-card:hover { transform:translateY(-3px); border-color:rgba(33,233,255,.28); }
.news-card .row1 { display: flex; justify-content: space-between; align-items: center; gap:12px; }
.news-card .row1 .eyebrow { color:var(--battlegasm-light); background:rgba(255,47,168,.08); border:1px solid rgba(255,47,168,.18); border-radius:999px; padding:5px 8px; letter-spacing:.10em; }
.news-card h3 { font-size: 1.35rem; margin-top: 13px; line-height: 1.05; }
.news-card p { margin-top: 10px; font-size: 0.90rem; }

/* Stat badges */
.stat-badge { background:linear-gradient(145deg, rgba(24,27,58,.9), rgba(10,12,29,.92)); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:14px 16px; }
.stat-badge .eyebrow { color: var(--muted); }
.stat-badge .val { font-family: var(--font-display); font-weight:800; font-size: 1.5rem; color: var(--cyan); margin-top: 4px; }

/* Table */
table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
th { text-align:left; padding:13px 14px; background:rgba(255,255,255,.035); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.09em; font-size:.66rem; color:var(--muted); border-bottom:1px solid var(--hairline); }
td { padding:13px 14px; border-bottom:1px solid var(--hairline); }
.table-wrap { overflow-x:auto; border:1px solid var(--hairline); border-radius:16px; background:rgba(255,255,255,.015); }
tr.rank-1 { background:linear-gradient(90deg, rgba(201,255,61,.09), rgba(33,233,255,.03)); }
tbody tr:hover { background:rgba(255,255,255,.025); }

/* Gasmograph */
.gasmograph svg { width: 100%; height: auto; overflow: visible; }
.traj-line { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: drawline 2.2s ease-out forwards; filter:drop-shadow(0 0 7px rgba(33,233,255,.65)); }
.traj-line-hot { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: drawline 2.8s .15s ease-out forwards; filter:drop-shadow(0 0 8px rgba(255,47,168,.45)); }
.traj-dot { animation: fall 4s ease-in-out infinite; filter:drop-shadow(0 0 8px rgba(201,255,61,.75)); }
@keyframes drawline { to { stroke-dashoffset: 0; } }
@keyframes fall { 0%, 100% { transform: translateY(-4px); } 50% { transform: translateY(4px); } }

/* Timeline / lore */
.timeline { list-style:none; padding:0; margin:0; display:grid; gap:16px; }
.timeline li { display:grid; grid-template-columns:70px 1fr; gap:16px; padding:20px; border:1px solid var(--hairline); border-left:3px solid var(--cyan); border-radius:14px; background:rgba(255,255,255,.02); }
.timeline li:nth-child(3n+2){ border-left-color:var(--battlegasm); }
.timeline li:nth-child(3n){ border-left-color:var(--acid); }
.timeline .timeline-year { font-family:var(--font-display); font-weight:900; font-size:1.8rem; color:var(--parchment); line-height:1; }
.timeline strong { color:var(--parchment); }

.callout-hot { border:1px solid rgba(255,47,168,.26); border-left:3px solid var(--battlegasm); background:linear-gradient(120deg, rgba(255,47,168,.10), rgba(142,99,255,.05)); }
.callout-cyan { border:1px solid rgba(33,233,255,.24); border-left:3px solid var(--cyan); background:linear-gradient(120deg, rgba(33,233,255,.08), rgba(201,255,61,.035)); }
.callout-gold { border:1px solid rgba(249,201,76,.24); border-left:3px solid var(--gold); background:linear-gradient(120deg, rgba(249,201,76,.08), rgba(255,103,43,.03)); }

/* Golden Grin staging */
.grin-stage { position:relative; min-height:380px; display:flex; align-items:center; justify-content:center; border-radius:24px; overflow:hidden; background:radial-gradient(circle at 50% 42%, rgba(249,201,76,.26), transparent 17rem), radial-gradient(circle at 50% 70%, rgba(255,47,168,.14), transparent 23rem), #0B0C1C; border:1px solid rgba(249,201,76,.19); }
.grin-stage::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; border:1px solid rgba(249,201,76,.16); box-shadow:0 0 80px rgba(249,201,76,.08); }
.grin-stage svg { position:relative; z-index:2; filter:drop-shadow(0 28px 36px rgba(0,0,0,.44)) drop-shadow(0 0 26px rgba(249,201,76,.12)); }

/* Misc */
blockquote { border-left: 3px solid var(--battlegasm); padding-left: 22px; margin: 0; font-family: var(--font-display); font-weight:700; font-size: clamp(1.55rem,3vw,2.2rem); line-height:1.05; color: var(--parchment); font-style: normal; }
blockquote footer { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .09em; font-size: .7rem; color: var(--muted); margin-top: 12px; }
.pill { display:inline-block; border:1px solid var(--hairline); border-radius:999px; padding:7px 11px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; color:var(--mist); background:rgba(255,255,255,.02); }
.tape-table td { font-family: var(--font-mono); }
.tape-table .a { text-align:right; color:var(--acid); width:33%; }
.tape-table .label { text-align:center; color:var(--muted); font-family:var(--font-mono); text-transform:uppercase; font-size:.68rem; letter-spacing:.07em; }
.tape-table .b { text-align:left; color:var(--cyan); width:33%; }

input[type="email"], input[type="search"], input[type="text"], input[type="password"], input[type="number"], textarea, select {
  background: rgba(14,16,37,.90) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  color: var(--parchment) !important;
  padding: 13px 15px;
  border-radius: 12px !important;
  font-family: var(--font-body);
  font-size: .95rem;
}
input::placeholder, textarea::placeholder { color:rgba(183,185,215,.55); }
input[type="email"] { width:100%; }
@media (min-width:640px){ input[type="email"] { width:330px; } }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

/* Live results ticker */
.ticker-wrap { overflow:hidden; border-top:0; border-bottom:1px solid rgba(255,255,255,.14); background:linear-gradient(90deg, #DDFE45, #8CFF67 32%, #2DEEFF 67%, #FF67C6); color:#080913; white-space:nowrap; }
.ticker-track { display:inline-flex; animation:ticker-scroll 40s linear infinite; padding:13px 0; }
.ticker-item { display:inline-flex; gap:8px; align-items:baseline; font-family:var(--font-mono); font-size:.76rem; padding:0 28px; border-right:1px solid rgba(8,9,19,.20); white-space:nowrap; color:#080913; }
.ticker-item .text-gold-bright,.ticker-item .text-mist { color:#080913 !important; }
@keyframes ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .ticker-track { animation:none; overflow-x:auto; } }
.ticker-wrap:hover .ticker-track { animation-play-state:paused; }

/* Responsive */
@media (max-width: 639px) {
  .section { padding:60px 0; }
  .hero .inner { padding:70px 0 54px; }
  .hero h1 { font-size:clamp(4.2rem,22vw,7rem); }
  .card { border-radius:14px; }
  .table-wrap { border-radius:12px; }
  .grin-stage { min-height:310px; }
}

/* ─────────────────────────────────────────────────────────────
   BATTLEGASM — PASS 3 / NEON ARENA BROADCAST PACKAGE
   Late-80s syndicated wrestling spectacle, filtered through a
   modern premium sports network. Loud on purpose. Never cheap.
   ───────────────────────────────────────────────────────────── */
:root {
  --ink: #08000F;
  --ink-2: #100019;
  --ink-3: #190429;
  --battlegasm: #FF2BB3;
  --battlegasm-light: #FF6FD1;
  --cyan: #00F5FF;
  --acid: #DFFF3F;
  --violet: #8A2EFF;
  --ember: #FF5A1F;
  --orange: #FF8A00;
  --gold: #F5B82E;
  --gold-bright: #FFE27A;
  --chrome: #E9F6FF;
  --chrome-mid: #9EC7D9;
  --parchment: #FFF9FF;
  --mist: #D6CFE2;
  --muted: #9185A3;
  --hairline: rgba(255,255,255,0.14);
  --glass: rgba(17,0,27,0.78);
  --font-marquee: 'Bungee', 'Arial Black', sans-serif;
}

body {
  background:
    radial-gradient(ellipse at 14% -8%, rgba(255,43,179,.28), transparent 34rem),
    radial-gradient(ellipse at 88% 14%, rgba(0,245,255,.20), transparent 34rem),
    radial-gradient(ellipse at 54% 80%, rgba(138,46,255,.14), transparent 40rem),
    linear-gradient(180deg, #08000F 0%, #0D0115 44%, #07000C 100%);
}
body::before {
  opacity:.34;
  background-image:
    linear-gradient(rgba(0,245,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,43,179,.035) 1px, transparent 1px);
  background-size:48px 48px;
  transform:perspective(520px) rotateX(61deg) scale(1.7) translateY(18%);
  transform-origin:bottom center;
  mask-image:linear-gradient(to bottom, transparent 0%, black 38%, transparent 92%);
}
body::after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.07;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.20) 0, rgba(255,255,255,.20) 1px, transparent 1px, transparent 4px);
  mix-blend-mode:soft-light;
}

.section { overflow:hidden; }
.section::before {
  content:"";
  position:absolute;
  left:-12vw;
  right:-12vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,43,179,.32), rgba(0,245,255,.22), transparent);
  opacity:.55;
}
.bg-ink-2 {
  background:
    radial-gradient(circle at 90% 0%, rgba(138,46,255,.19), transparent 27rem),
    radial-gradient(circle at 8% 90%, rgba(255,43,179,.09), transparent 30rem),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent),
    var(--ink-2);
}

h1,h2,h3,h4 { text-shadow:0 3px 24px rgba(0,0,0,.34); }
h2 { letter-spacing:-.015em; }
.eyebrow { font-weight:600; }
.section-heading .eyebrow { color:var(--battlegasm-light); }
.section-heading h2 { position:relative; }
.section-heading h2::after {
  content:"";
  display:block;
  width:86px;
  height:5px;
  margin-top:16px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--battlegasm),var(--violet),var(--cyan));
  box-shadow:0 0 20px rgba(255,43,179,.42);
}

.card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 24%),
    linear-gradient(145deg, rgba(35,5,51,.95), rgba(11,2,22,.94));
  border-color:rgba(255,255,255,.15);
  box-shadow:0 18px 54px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05);
}
.card::before {
  content:"";
  position:absolute;
  width:120px;
  height:4px;
  right:-24px;
  top:18px;
  background:linear-gradient(90deg,transparent,var(--battlegasm),var(--cyan));
  transform:rotate(26deg);
  opacity:.55;
  box-shadow:0 0 14px rgba(0,245,255,.25);
}

/* Signal ribbon + chrome logo */
.site-header { background:rgba(8,0,15,.90); border-bottom-color:rgba(255,255,255,.12); }
.site-header::before {
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--battlegasm),var(--violet),var(--cyan),var(--acid),var(--battlegasm));
  box-shadow:0 0 18px rgba(255,43,179,.46);
}
.signal-bar { background:linear-gradient(90deg,#FF2BB3 0%,#8A2EFF 37%,#00F5FF 69%,#DFFF3F 100%); color:#09000E; border-bottom:1px solid rgba(255,255,255,.25); }
.signal-bar-inner { min-height:25px; display:flex; justify-content:space-between; align-items:center; gap:18px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.10em; font-size:.57rem; font-weight:600; white-space:nowrap; }
.signal-center { display:none; }
@media (min-width:760px){ .signal-center{display:inline;} }
.site-header .inner { height:72px; }
.logo { font-family:var(--font-marquee); font-size:1.55rem; letter-spacing:-.02em; color:#fff; background:none; -webkit-text-fill-color:initial; text-shadow:3px 3px 0 #6E0DB6, 5px 5px 0 rgba(0,245,255,.45), 0 0 18px rgba(255,43,179,.44); transform:skewX(-6deg); }
.logo-battle { color:var(--chrome); }
.logo-gasm { color:var(--battlegasm-light); }
.logo .tm { color:var(--acid); -webkit-text-fill-color:var(--acid); text-shadow:none; }
.main-nav a { color:#D3C8DE; }
.main-nav a::after { height:3px; background:linear-gradient(90deg,var(--battlegasm),var(--cyan)); box-shadow:0 0 10px rgba(0,245,255,.35); }
.live-dot { width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px rgba(223,255,63,.8);display:inline-block;animation:livepulse 1.6s ease-in-out infinite; }
@keyframes livepulse { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.75)} }

/* Buttons now read more like arena graphics than SaaS pills */
.btn { border-radius:8px; transform:skewX(-5deg); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.btn > * { transform:skewX(5deg); }
.btn:hover { transform:skewX(-5deg) translateY(-3px); }
.btn-solid { background:linear-gradient(100deg,var(--acid) 0%,#FFF875 38%,var(--cyan) 100%); box-shadow:0 0 0 1px rgba(255,255,255,.16),0 10px 30px rgba(0,245,255,.18); }
.btn-hot { background:linear-gradient(110deg,var(--battlegasm) 0%,#FF386D 46%,var(--orange) 100%); box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 32px rgba(255,43,179,.30),0 0 26px rgba(255,43,179,.14); }
.btn-outline { background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)); }

/* Hero: arena lights + neon/chrome broadcast title */
.hero { min-height:720px; }
.hero::before {
  background:
    linear-gradient(116deg, transparent 0 9%, rgba(255,43,179,.11) 9% 11%, transparent 11% 22%, rgba(0,245,255,.08) 22% 24%, transparent 24%),
    radial-gradient(ellipse at 16% -12%, rgba(255,43,179,.52), transparent 33rem),
    radial-gradient(ellipse at 85% -4%, rgba(0,245,255,.40), transparent 32rem),
    radial-gradient(circle at 50% 70%, rgba(138,46,255,.27), transparent 30rem),
    linear-gradient(150deg,#0C0016 6%,#170326 52%,#06000E 100%);
}
.hero::after {
  width:780px;height:780px;right:-280px;top:-330px;
  border:96px solid rgba(255,43,179,.075);
  box-shadow:0 0 110px rgba(255,43,179,.14),inset 0 0 100px rgba(0,245,255,.10);
}
.hero .inner { padding:92px 0 76px; }
.hero .premiere-badge { border-radius:6px; border-color:rgba(0,245,255,.55); background:linear-gradient(90deg,rgba(0,245,255,.11),rgba(255,43,179,.08)); box-shadow:0 0 24px rgba(0,245,255,.10); transform:skewX(-5deg); }
.hero h1 {
  font-family:var(--font-marquee);
  font-size:clamp(4.5rem,13.8vw,10.8rem);
  letter-spacing:-.055em;
  line-height:.82;
  background:linear-gradient(180deg,#FFFFFF 0%,#F4FAFF 24%,#A9D0DF 44%,#FFFFFF 54%,#FF81D9 74%,#FF2BB3 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.18);
  filter:drop-shadow(5px 6px 0 rgba(138,46,255,.78)) drop-shadow(10px 11px 0 rgba(0,245,255,.22)) drop-shadow(0 0 30px rgba(255,43,179,.30));
  transform:skewX(-7deg);
  position:relative;
  max-width:1050px;
}
.hero h1::after {
  content:"";
  position:absolute;
  left:1.5%;bottom:-15px;width:min(620px,72vw);height:8px;
  background:linear-gradient(90deg,var(--battlegasm),var(--violet),var(--cyan),transparent);
  box-shadow:0 0 26px rgba(255,43,179,.50);
  transform:skewX(18deg);
}
.hero .tagline { margin-top:31px; font-size:clamp(1.55rem,3.2vw,2.65rem); color:#FFF7FF; text-shadow:0 0 18px rgba(0,245,255,.16); }
.hero .lede { color:#E2D7E8; }
.hero .hero-stat { border-radius:6px; border-color:rgba(255,255,255,.17); background:rgba(10,0,17,.52); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.hero .hero-stat b { color:var(--acid); }
.hero .traj-wrap { position:relative; border-radius:10px; border-color:rgba(0,245,255,.33); background:linear-gradient(180deg,rgba(1,4,18,.64),rgba(20,0,31,.88)); box-shadow:0 20px 60px rgba(0,0,0,.32),0 0 34px rgba(0,245,255,.07); }
.hero .traj-wrap::before { content:"LIVE ANALYSIS"; position:absolute;right:14px;top:11px;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.12em;color:#08000F;background:var(--acid);padding:4px 7px;border-radius:3px;z-index:2; }

.broadcast-strip { background:linear-gradient(90deg,#FF2BB3 0%,#FF3D69 31%,#FF8A00 66%,#FFD83D 100%); box-shadow:0 0 28px rgba(255,43,179,.25); }
.ticker-wrap { background:linear-gradient(90deg,#DFFF3F 0%,#00F5FF 35%,#8A2EFF 66%,#FF2BB3 100%); }

/* Arena fight card */
.arena-fight-card { border:1px solid rgba(255,43,179,.40) !important; border-top:5px solid var(--battlegasm) !important; border-bottom:5px solid var(--cyan) !important; background:
  radial-gradient(circle at 8% 10%,rgba(255,43,179,.18),transparent 22rem),
  radial-gradient(circle at 92% 90%,rgba(0,245,255,.14),transparent 22rem),
  linear-gradient(135deg,#1C0328,#090012 60%,#080915) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.38),0 0 45px rgba(255,43,179,.10) !important;
}
.arena-fight-card::after { background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.018) 24px 25px); }
.vs-burst { width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--acid),var(--cyan));color:#08000F !important;box-shadow:0 0 0 6px rgba(255,255,255,.05),0 0 28px rgba(0,245,255,.25);font-family:var(--font-marquee) !important;font-size:1.35rem !important;transform:rotate(-8deg); }

/* Discipline cards get wrestling-poster energy */
.discipline-card { border-radius:10px; border-top-width:5px; }
.discipline-card::before { background:var(--discipline-color); box-shadow:0 0 16px var(--discipline-color); opacity:.42; }
.discipline-card:hover { transform:translateY(-6px) rotate(-.4deg); }
.athlete-card { border-radius:10px; border-top-width:5px; position:relative; isolation:isolate; }
.athlete-card::before { content:""; position:absolute;right:-26px;bottom:-44px;width:130px;height:130px;border:20px solid color-mix(in srgb,var(--discipline-color) 16%,transparent);border-radius:50%;z-index:-1; }
.athlete-card h3 { font-size:1.82rem; }
.news-card { border-radius:10px; border-left:3px solid rgba(255,43,179,.42); }

.metric-box { border-radius:10px; }
.metric-num { text-shadow:0 0 22px rgba(0,245,255,.20); }
.metric-box:nth-child(2) .metric-num { text-shadow:0 0 22px rgba(255,43,179,.22); }
.table-wrap { border-radius:10px; background:rgba(10,0,18,.40); }
th { background:linear-gradient(90deg,rgba(255,43,179,.08),rgba(0,245,255,.04)); }
tr.rank-1 { background:linear-gradient(90deg,rgba(223,255,63,.12),rgba(0,245,255,.035),rgba(255,43,179,.025)); }

/* Gasmograph becomes a recurring neon motif */
.traj-line { stroke-width:3.4; filter:drop-shadow(0 0 9px rgba(0,245,255,.78)); }
.traj-line-hot { filter:drop-shadow(0 0 10px rgba(255,43,179,.62)); }
.traj-dot { filter:drop-shadow(0 0 11px rgba(223,255,63,.95)); }
.gasmograph { position:relative; }
.gasmograph::after { content:"";position:absolute;left:0;right:0;bottom:11px;height:1px;background:linear-gradient(90deg,transparent,var(--battlegasm),var(--cyan),transparent);opacity:.25; }

/* Golden Grin = ceremony, not general neon chaos */
.golden-section,.theme-gold {
  --gold:#F5B82E;
  --gold-bright:#FFE99A;
}
.golden-section { background:
  radial-gradient(circle at 74% 43%,rgba(245,184,46,.23),transparent 25rem),
  radial-gradient(circle at 90% 88%,rgba(255,43,179,.11),transparent 24rem),
  linear-gradient(135deg,#08040A,#12080D 58%,#090008); }
.grin-stage { min-height:520px; border-radius:12px; background:
  radial-gradient(circle at 50% 44%,rgba(245,184,46,.25),transparent 18rem),
  radial-gradient(circle at 50% 75%,rgba(255,43,179,.16),transparent 26rem),
  linear-gradient(180deg,#100710,#060307); border:1px solid rgba(245,184,46,.32); box-shadow:inset 0 0 60px rgba(245,184,46,.04),0 24px 80px rgba(0,0,0,.32); }
.grin-stage::before { width:520px;height:520px;border-color:rgba(245,184,46,.14);box-shadow:0 0 90px rgba(245,184,46,.10),inset 0 0 80px rgba(255,43,179,.06); }
.grin-stage::after { content:"";position:absolute;inset:auto 8% 5% 8%;height:2px;background:linear-gradient(90deg,transparent,var(--battlegasm),var(--gold),var(--battlegasm),transparent);box-shadow:0 0 18px rgba(245,184,46,.35); }
.golden-grin-picture { position:relative; z-index:2; display:block; width:100%; height:100%; }
.golden-grin-picture img { width:100%; max-height:660px; object-fit:contain; object-position:center; filter:drop-shadow(0 24px 40px rgba(0,0,0,.55)) saturate(1.05) contrast(1.02); }
.grin-stage .golden-grin-picture img { padding:18px; }

/* Show / Watch page */
.theme-show { background:
  radial-gradient(circle at 20% 0%,rgba(255,43,179,.22),transparent 30rem),
  radial-gradient(circle at 86% 22%,rgba(0,245,255,.18),transparent 34rem),
  #08000F; }
.show-hero { position:relative;overflow:hidden;min-height:590px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);background:
  linear-gradient(120deg,rgba(255,43,179,.12),transparent 28%),
  radial-gradient(circle at 80% 22%,rgba(0,245,255,.24),transparent 25rem),
  radial-gradient(circle at 35% 68%,rgba(138,46,255,.28),transparent 28rem),
  #100019; }
.show-hero::before { content:"";position:absolute;inset:auto -15% -43% -15%;height:72%;background-image:linear-gradient(rgba(0,245,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,43,179,.13) 1px,transparent 1px);background-size:48px 48px;transform:perspective(440px) rotateX(59deg);transform-origin:center bottom;mask-image:linear-gradient(to top,black,transparent 92%); }
.show-lockup { font-family:var(--font-marquee);font-size:clamp(3.6rem,10vw,8.6rem);line-height:.82;letter-spacing:-.045em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#BFD7E5 38%,#fff 48%,#FF68CC 73%,#FF2BB3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(5px 6px 0 rgba(138,46,255,.78)) drop-shadow(0 0 24px rgba(255,43,179,.24));transform:skewX(-6deg); }
.video-stage { position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid rgba(0,245,255,.30);background:radial-gradient(circle at 30% 30%,rgba(255,43,179,.28),transparent 30%),radial-gradient(circle at 72% 62%,rgba(0,245,255,.23),transparent 32%),#0D0618;box-shadow:0 24px 80px rgba(0,0,0,.35),0 0 40px rgba(138,46,255,.09);display:flex;align-items:center;justify-content:center;text-align:center; }
.video-stage::after { content:"BATTLEGASM TV  •  PREVIEW SIGNAL";position:absolute;left:14px;bottom:12px;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.12em;color:var(--acid);background:rgba(8,0,15,.75);padding:5px 8px;border:1px solid rgba(223,255,63,.22); }
.episode-card { min-height:220px; }
.episode-number { font-family:var(--font-marquee);font-size:3.4rem;line-height:.8;color:var(--discipline-color);opacity:.9;text-shadow:0 0 18px color-mix(in srgb,var(--discipline-color) 30%,transparent); }
.broadcast-person { min-height:220px; }
.broadcast-person .role { display:inline-block;background:var(--discipline-color);color:#08000F;padding:4px 7px;border-radius:3px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.10em;text-transform:uppercase;font-weight:700; }

/* Store gets a merch-table / arena-concourse identity */
.theme-shop { background:radial-gradient(circle at 13% 8%,rgba(255,43,179,.18),transparent 28rem),radial-gradient(circle at 92% 24%,rgba(223,255,63,.10),transparent 24rem),#08000F; }
.shop-hero { position:relative;padding:86px 0 72px;overflow:hidden;border-bottom:1px solid var(--hairline);background:linear-gradient(135deg,#1A0326,#0A0011 55%,#061219); }
.shop-hero::after { content:"MERCH";position:absolute;right:-1vw;bottom:-4.6rem;font-family:var(--font-marquee);font-size:clamp(8rem,24vw,22rem);line-height:1;color:rgba(255,255,255,.025);transform:rotate(-5deg); }
.shop-lockup { font-family:var(--font-marquee);font-size:clamp(3.4rem,8vw,7.4rem);line-height:.85;background:linear-gradient(90deg,var(--acid),#fff 34%,var(--cyan) 63%,var(--battlegasm-light));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;filter:drop-shadow(4px 5px 0 rgba(138,46,255,.65)); }
.featured-merch { display:grid;grid-template-columns:1fr;gap:26px;align-items:center;background:linear-gradient(135deg,rgba(245,184,46,.10),rgba(255,43,179,.07));border:1px solid rgba(245,184,46,.25); }
@media(min-width:820px){ .featured-merch{grid-template-columns:minmax(280px,.9fr) 1.1fr;} }
.merch-image { min-height:360px;background:#080408;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative; }
.merch-image img { width:100%;height:100%;max-height:480px;object-fit:cover; }
.product-card { min-height:280px; }
.product-card .price { font-family:var(--font-marquee);font-size:1.5rem;color:var(--discipline-color); }
.product-status { display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--acid); }

/* Regulatory pages deliberately cool down */
.theme-regulatory { --battlegasm:#BA59FF; --battlegasm-light:#D79BFF; background:radial-gradient(circle at 90% 0%,rgba(0,245,255,.10),transparent 30rem),#070D14; }
.theme-regulatory .site-header { background:rgba(5,12,18,.92); }
.theme-regulatory .section-heading h2::after { background:linear-gradient(90deg,var(--cyan),#fff,transparent);box-shadow:0 0 16px rgba(0,245,255,.20); }

/* Reveal motion — only if JS is present */
.js-ready .reveal { opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.25,1); }
.js-ready .reveal.in-view { opacity:1;transform:none; }

@media (max-width:639px) {
  body::after { opacity:.045; }
  .signal-bar-inner { justify-content:center; }
  .signal-bar-inner span:not(:first-child) { display:none; }
  .site-header .inner { height:64px; }
  .logo { font-size:1.28rem; }
  .hero { min-height:auto; }
  .hero .inner { padding:64px 0 52px; }
  .hero h1 { font-size:clamp(3.8rem,19vw,6rem); filter:drop-shadow(3px 4px 0 rgba(138,46,255,.78)) drop-shadow(6px 7px 0 rgba(0,245,255,.18)); }
  .hero h1::after { height:5px;bottom:-10px; }
  .hero .tagline { margin-top:24px; }
  .hero .traj-wrap { margin-top:38px;padding:18px 12px 8px; }
  .grin-stage { min-height:390px; }
  .grin-stage::before { width:340px;height:340px; }
  .show-hero { min-height:480px; }
}

/* ─────────────────────────────────────────────────────────────
   BATTLEGASM — PASS 4 / CHARACTER & CHAMPIONSHIP PACKAGE
   The league now has a broadcast identity for every Climaxthlete,
   a real qualification race, and enough neon to alarm accounting.
   ───────────────────────────────────────────────────────────── */

/* Featured-roster registry context */
.roster-registry-strip {
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;
  background:linear-gradient(90deg,rgba(255,43,179,.42),rgba(0,245,255,.36),rgba(223,255,63,.34));
  border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;
}
.roster-registry-strip span { background:rgba(8,0,15,.94);padding:12px 14px;font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mist); }
.roster-registry-strip b { display:block;font-family:var(--font-marquee);font-size:1.55rem;line-height:1;color:var(--acid);margin-bottom:5px;letter-spacing:0; }
@media(min-width:800px){.roster-registry-strip{grid-template-columns:repeat(4,1fr);}}

/* Wrestler-card inspired identity system, without pretending it is 1987 */
.broadcast-card { --ath-a:var(--battlegasm);--ath-b:var(--cyan); isolation:isolate; min-height:300px; padding-top:26px; background:
  linear-gradient(135deg,color-mix(in srgb,var(--ath-a) 14%,transparent),transparent 34%),
  radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--ath-b) 19%,transparent),transparent 13rem),
  linear-gradient(145deg,#1B0328,#090011 68%,#05050C); border-top-color:var(--ath-a)!important; }
.broadcast-card::after { background:repeating-linear-gradient(127deg,transparent 0 28px,rgba(255,255,255,.018) 28px 29px); }
.broadcast-card:hover { border-color:color-mix(in srgb,var(--ath-a) 60%,white);box-shadow:0 22px 60px rgba(0,0,0,.38),0 0 34px color-mix(in srgb,var(--ath-a) 16%,transparent); }
.broadcast-monogram { position:absolute;right:-13px;bottom:-22px;font-family:var(--font-marquee);font-size:9rem;line-height:.75;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--ath-b) 19%,transparent);transform:skewX(-9deg) rotate(-5deg);z-index:-1; }
.entrance-kicker { margin-top:25px;font-family:var(--font-mono);font-size:.60rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ath-a); }
.broadcast-card h3 { font-family:var(--font-marquee);font-size:clamp(1.85rem,3vw,2.65rem);letter-spacing:-.045em;transform:skewX(-4deg);margin-top:6px;max-width:90%;background:linear-gradient(90deg,#fff 0%,#fff 48%,var(--ath-a) 100%);-webkit-background-clip:text;background-clip:text;color:transparent; }
.broadcast-blurb { font-size:.82rem;line-height:1.45;max-width:92%;margin-top:12px;color:#CFC5D7; }
.card-split-stat { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 8px;font-family:var(--font-mono);font-size:.60rem;text-transform:uppercase;line-height:1.3; }
.card-split-stat span { padding:8px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.19);color:var(--mist); }
.card-split-stat span:first-child { color:var(--ath-a); }

/* Athlete entrances / profile pages */
.theme-athlete { --ath-a:var(--battlegasm);--ath-b:var(--cyan); background:
  radial-gradient(circle at 16% 0%,color-mix(in srgb,var(--ath-a) 19%,transparent),transparent 31rem),
  radial-gradient(circle at 92% 16%,color-mix(in srgb,var(--ath-b) 15%,transparent),transparent 32rem),#08000F; }
.athlete-entrance { position:relative;min-height:620px;overflow:hidden;display:flex;align-items:center;background:
  linear-gradient(118deg,color-mix(in srgb,var(--ath-a) 14%,transparent) 0 18%,transparent 18% 70%,color-mix(in srgb,var(--ath-b) 10%,transparent)),
  radial-gradient(ellipse at 15% -10%,color-mix(in srgb,var(--ath-a) 52%,transparent),transparent 31rem),
  radial-gradient(ellipse at 88% 4%,color-mix(in srgb,var(--ath-b) 42%,transparent),transparent 32rem),
  linear-gradient(145deg,#160022,#07000C 72%); }
.athlete-entrance::before { content:"";position:absolute;inset:0;background:
  linear-gradient(116deg,transparent 0 11%,color-mix(in srgb,var(--ath-a) 17%,transparent) 11% 12%,transparent 12% 29%,color-mix(in srgb,var(--ath-b) 13%,transparent) 29% 30%,transparent 30%),
  repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,255,255,.012) 9% 9.2%); }
.athlete-entrance-grid { position:absolute;left:-10%;right:-10%;bottom:-34%;height:61%;background-image:linear-gradient(color-mix(in srgb,var(--ath-b) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ath-a) 16%,transparent) 1px,transparent 1px);background-size:52px 52px;transform:perspective(430px) rotateX(60deg);transform-origin:center bottom;mask-image:linear-gradient(to top,black,transparent 92%); }
.athlete-entrance-inner { position:relative;z-index:2;padding-top:72px;padding-bottom:72px; }
.broadcast-lower-third { display:inline-flex;flex-wrap:wrap;gap:1px;background:linear-gradient(90deg,var(--ath-a),var(--ath-b));padding:1px;transform:skewX(-6deg); }
.broadcast-lower-third span { background:#0A0011;color:#fff;padding:7px 11px;font-family:var(--font-mono);font-size:.60rem;letter-spacing:.10em;text-transform:uppercase; }
.athlete-title-row { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin-top:26px; }
.athlete-monogram { width:120px;height:120px;display:flex;align-items:center;justify-content:center;font-family:var(--font-marquee);font-size:3.9rem;line-height:1;color:#09000E;background:linear-gradient(135deg,var(--ath-a),#fff 46%,var(--ath-b));clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);filter:drop-shadow(9px 10px 0 color-mix(in srgb,var(--ath-b) 32%,transparent));transform:rotate(-3deg); }
.entrance-title { font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--ath-a);text-transform:uppercase;margin-bottom:8px; }
.athlete-entrance h1 { font-family:var(--font-marquee);font-size:clamp(4rem,10vw,8.8rem);line-height:.78;letter-spacing:-.055em;background:linear-gradient(180deg,#fff 0%,#F2FAFF 28%,color-mix(in srgb,var(--ath-b) 38%,white) 47%,#fff 56%,var(--ath-a) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(5px 6px 0 color-mix(in srgb,var(--ath-b) 65%,#3b0057)) drop-shadow(0 0 28px color-mix(in srgb,var(--ath-a) 25%,transparent));transform:skewX(-6deg); }
.athlete-origin { margin:15px 0 0;color:#F2E9F5;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase; }
.athlete-broadcast-copy { max-width:760px;margin-top:28px;padding-left:18px;border-left:5px solid var(--ath-a);font-size:1.08rem;color:#E7DFEC; }
.entrance-stat-row { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;max-width:900px;background:linear-gradient(90deg,var(--ath-a),var(--ath-b));padding:1px; }
.entrance-stat-row span { background:rgba(8,0,15,.88);padding:13px 14px;min-width:0; }
.entrance-stat-row b { display:block;color:#fff;font-family:var(--font-display);font-size:1.3rem;text-transform:uppercase;line-height:1.05; }
.entrance-stat-row small { display:block;margin-top:5px;color:var(--muted);font-family:var(--font-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.09em; }
.athlete-quote { border-color:var(--ath-a)!important;box-shadow:inset 5px 0 0 color-mix(in srgb,var(--ath-b) 34%,transparent); }
.athlete-stat .val { color:var(--ath-a);text-shadow:0 0 20px color-mix(in srgb,var(--ath-a) 27%,transparent); }
.athlete-identity { border-left:5px solid var(--ath-a);background:linear-gradient(105deg,color-mix(in srgb,var(--ath-a) 10%,transparent),color-mix(in srgb,var(--ath-b) 5%,transparent)); }
.athlete-identity .eyebrow,.athlete-accent { color:var(--ath-a); }
.athlete-telemetry { border:1px solid color-mix(in srgb,var(--ath-b) 25%,transparent);padding:22px;border-radius:10px;background:rgba(0,0,0,.18); }
.athlete-mini { border-left:3px solid var(--ath-b); }
.athlete-mini-value { margin-top:7px;color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.25rem;text-transform:uppercase; }
.athlete-rival { border-left:3px solid var(--ath-a); }
.athlete-rival a { display:block;margin-top:7px;font-family:var(--font-marquee);font-size:1.5rem;color:var(--ath-a);text-transform:uppercase; }
@media(max-width:700px){.athlete-title-row{grid-template-columns:1fr}.athlete-monogram{width:86px;height:86px;font-size:2.8rem}.entrance-stat-row{grid-template-columns:1fr}.athlete-entrance{min-height:auto}.athlete-entrance-inner{padding-top:56px;padding-bottom:58px}}

/* Road to the Grin */
.theme-road { background:radial-gradient(circle at 80% 0%,rgba(245,184,46,.15),transparent 34rem),radial-gradient(circle at 12% 16%,rgba(255,43,179,.15),transparent 30rem),#08000F; }
.road-hero { position:relative;overflow:hidden;padding:94px 0 76px;border-bottom:1px solid rgba(245,184,46,.25);background:radial-gradient(circle at 74% 25%,rgba(245,184,46,.22),transparent 28rem),linear-gradient(135deg,#18040E,#0B0012 65%,#091017); }
.road-hero::after { content:"24";position:absolute;right:-2vw;bottom:-8rem;font-family:var(--font-marquee);font-size:clamp(13rem,35vw,31rem);line-height:1;color:rgba(245,184,46,.045);transform:rotate(-7deg); }
.road-lockup { font-family:var(--font-marquee);font-size:clamp(4.4rem,11vw,9.3rem);line-height:.78;letter-spacing:-.05em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#FFE9A3 43%,#F5B82E 72%,#FF2BB3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(5px 6px 0 rgba(123,33,102,.6));transform:skewX(-5deg);margin-top:12px; }
.road-hero .lede { max-width:700px;font-size:1.08rem;margin-top:26px;position:relative;z-index:2; }
.road-numbers { display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;position:relative;z-index:2; }
.road-numbers span { border:1px solid rgba(245,184,46,.25);background:rgba(0,0,0,.20);padding:8px 11px;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;color:var(--mist); }
.road-numbers b { color:var(--gold-bright);font-family:var(--font-marquee);font-size:1.1rem;margin-right:5px; }
.metric-triplet { display:grid;grid-template-columns:1fr;gap:14px; }
@media(min-width:800px){.metric-triplet{grid-template-columns:repeat(3,1fr)}}
.championship-table .points { text-align:right;color:var(--gold-bright);font-family:var(--font-marquee);font-size:1.35rem; }
.table-sub { color:var(--muted);font-size:.70rem;margin-top:2px; }
.movement { font-family:var(--font-mono);font-size:.72rem; }.movement.up{color:var(--acid)}.movement.down{color:var(--battlegasm-light)}.movement.flat{color:var(--muted)}
.cutline { display:grid;grid-template-columns:auto auto;gap:4px 18px;align-items:center;margin-top:14px;border:1px dashed rgba(255,43,179,.40);background:rgba(255,43,179,.045);padding:12px 15px;font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--battlegasm-light); }
.cutline strong { justify-self:end;color:var(--gold-bright);font-family:var(--font-marquee);font-size:1.2rem; }.cutline small{grid-column:1/-1;color:var(--muted);text-transform:none;letter-spacing:0;}
.road-stop { border-top:5px solid var(--gold);min-height:230px; }
.championship-chase { background:radial-gradient(circle at 88% 20%,rgba(245,184,46,.12),transparent 26rem),linear-gradient(180deg,#0B0610,#0A0011); }
.cp-board { border:1px solid rgba(245,184,46,.22);border-radius:10px;overflow:hidden;background:#08000F; }
.cp-row { --ath-a:var(--gold);--ath-b:var(--cyan);display:grid;grid-template-columns:50px minmax(0,1fr) 58px 86px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,color-mix(in srgb,var(--ath-a) 7%,transparent),transparent 28%); }
.cp-row:last-child{border-bottom:0}.cp-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--ath-a) 13%,transparent),color-mix(in srgb,var(--ath-b) 4%,transparent));}
.cp-pos { font-family:var(--font-marquee);font-size:1.8rem;color:var(--ath-a); }.cp-name{font-family:var(--font-display);font-size:1.3rem;font-weight:900;text-transform:uppercase;color:#fff}.cp-name small{display:block;color:var(--muted);font-family:var(--font-mono);font-size:.58rem;font-weight:400;letter-spacing:.07em}.cp-move{font-family:var(--font-mono);font-size:.65rem}.cp-move.up{color:var(--acid)}.cp-move.down{color:var(--battlegasm-light)}.cp-move.flat{color:var(--muted)}.cp-row strong{justify-self:end;color:var(--gold-bright);font-family:var(--font-marquee)}
@media(max-width:560px){.cp-row{grid-template-columns:38px minmax(0,1fr) 72px}.cp-move{display:none}}

/* Records Vault */
.theme-records { background:radial-gradient(circle at 12% 2%,rgba(0,245,255,.15),transparent 30rem),radial-gradient(circle at 90% 22%,rgba(255,43,179,.13),transparent 31rem),#07000D; }
.records-hero { position:relative;overflow:hidden;padding:92px 0 72px;border-bottom:1px solid rgba(0,245,255,.24);background:linear-gradient(135deg,#07121B,#100019 58%,#140314); }
.records-hero::before { content:"REC";position:absolute;right:-2vw;bottom:-6rem;font-family:var(--font-marquee);font-size:clamp(12rem,34vw,30rem);line-height:1;color:rgba(0,245,255,.035);transform:skewX(-8deg); }
.records-lockup { font-family:var(--font-marquee);font-size:clamp(4.6rem,12vw,10rem);line-height:.78;letter-spacing:-.055em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#BEEEF1 39%,#fff 50%,#00F5FF 70%,#8A2EFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(5px 6px 0 rgba(255,43,179,.55));transform:skewX(-6deg);margin-top:14px; }
.records-hero .lede { max-width:650px;font-size:1.06rem;margin-top:25px;position:relative;z-index:2; }
.vault-stamp { display:inline-block;margin-top:22px;border:2px solid var(--acid);color:var(--acid);padding:7px 10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.10em;transform:rotate(-1.5deg); }
.record-grid { display:grid;grid-template-columns:1fr;gap:14px; }
@media(min-width:680px){.record-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1060px){.record-grid{grid-template-columns:repeat(3,1fr)}}
.record-card { --rec:var(--cyan);position:relative;overflow:hidden;min-height:260px;padding:22px;border:1px solid rgba(255,255,255,.13);border-top:5px solid var(--rec);border-radius:10px;background:radial-gradient(circle at 90% 8%,color-mix(in srgb,var(--rec) 13%,transparent),transparent 12rem),linear-gradient(145deg,#170320,#08000F); }
.record-card::after { content:"";position:absolute;right:-65px;bottom:-65px;width:170px;height:170px;border:24px solid color-mix(in srgb,var(--rec) 8%,transparent);border-radius:50%; }
.record-hot{--rec:var(--battlegasm)}.record-acid{--rec:var(--acid)}.record-cyan{--rec:var(--cyan)}.record-gold{--rec:var(--gold)}.record-violet{--rec:var(--violet)}
.record-label{font-family:var(--font-mono);font-size:.60rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rec)}.record-value{font-family:var(--font-marquee);font-size:clamp(3.3rem,7vw,5.5rem);line-height:.85;color:#fff;margin:15px 0 10px;text-shadow:4px 4px 0 color-mix(in srgb,var(--rec) 38%,transparent)}.record-card h3{font-size:1.4rem}.record-card p{font-size:.84rem;margin-top:10px;max-width:92%}

/* Event poster / live countdown */
.event-poster { display:grid;grid-template-columns:1fr;border:1px solid rgba(255,43,179,.35);border-top:6px solid var(--battlegasm);border-bottom:6px solid var(--cyan);border-radius:12px;overflow:hidden;background:#08000F;box-shadow:0 26px 80px rgba(0,0,0,.38),0 0 44px rgba(255,43,179,.10); }
@media(min-width:900px){.event-poster{grid-template-columns:.9fr 1.1fr}}
.event-poster-copy { padding:34px;background:radial-gradient(circle at 10% 10%,rgba(255,43,179,.16),transparent 22rem),linear-gradient(145deg,#190323,#090011); }
.event-poster-copy h2 { font-family:var(--font-marquee);font-size:clamp(3rem,7vw,5.6rem);letter-spacing:-.05em;background:linear-gradient(180deg,#fff,#D4F8FC 45%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(4px 5px 0 rgba(138,46,255,.45));transform:skewX(-5deg); }
.event-meta { color:#fff;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;margin-top:14px; }
.event-countdown { display:flex;flex-wrap:wrap;gap:6px;margin-top:22px;align-items:stretch; }
.event-countdown span:not(.countdown-status) { min-width:72px;border:1px solid rgba(0,245,255,.22);background:#08000F;padding:9px;text-align:center; }
.event-countdown b { display:block;font-family:var(--font-marquee);font-size:1.55rem;color:var(--acid);line-height:1; }.event-countdown small{font-family:var(--font-mono);font-size:.52rem;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.countdown-status{display:flex;align-items:center;padding:9px 12px;font-family:var(--font-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan)}
.event-poster-visual { position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:450px;overflow:hidden;background:linear-gradient(110deg,#180323 0 49.5%,#061B20 50.5% 100%); }
.event-poster-visual::before { content:"PACIFIC RIM";position:absolute;left:50%;top:50%;font-family:var(--font-marquee);font-size:clamp(5rem,14vw,12rem);line-height:.8;color:rgba(255,255,255,.025);transform:translate(-50%,-50%) rotate(-7deg);white-space:nowrap; }
.event-side { position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 22px 34px;overflow:hidden; }
.event-side::before { content:"";position:absolute;inset:0 -45% 0 30%;background:linear-gradient(18deg,transparent 40%,rgba(255,255,255,.07) 40% 42%,transparent 42%); }
.event-side-a { text-align:right;align-items:flex-end;background:radial-gradient(circle at 60% 30%,rgba(0,245,255,.20),transparent 19rem); }.event-side-b{background:radial-gradient(circle at 40% 30%,rgba(138,46,255,.26),transparent 20rem)}
.event-side .rank { font-family:var(--font-marquee);font-size:2rem;color:var(--acid); }.event-side strong{font-family:var(--font-marquee);font-size:clamp(2.6rem,5vw,4.9rem);line-height:.82;color:#fff;text-shadow:4px 5px 0 rgba(138,46,255,.65); }.event-side-b strong{text-shadow:4px 5px 0 rgba(0,245,255,.28)}.event-side small{margin-top:12px;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.09em;color:var(--mist)}
.event-vs { position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%) rotate(-7deg);width:78px;height:78px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--acid),var(--cyan));color:#08000F;font-family:var(--font-marquee);font-size:1.55rem;box-shadow:0 0 0 8px rgba(255,255,255,.045),0 0 34px rgba(0,245,255,.24); }

@media(max-width:650px){.event-poster-copy{padding:25px 20px}.event-poster-visual{min-height:360px}.event-side{padding:22px 12px 28px}.event-side strong{font-size:2.2rem}.event-vs{width:58px;height:58px;font-size:1.1rem}.records-hero,.road-hero{padding-top:64px;padding-bottom:58px}}

/* 12-second BATTLEGASM TV signal test */
.teaser-stage { cursor:default; }
.teaser-idle { position:relative;z-index:2;padding:32px; }
.teaser-idle-title { font-family:var(--font-marquee);font-size:clamp(3.1rem,9vw,7.4rem);line-height:.80;margin-top:12px;background:linear-gradient(180deg,#fff,#B9DCE7 38%,#fff 49%,#FF77D2 74%,#FF2BB3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(4px 5px 0 rgba(138,46,255,.72));transform:skewX(-5deg); }
.teaser-reel { position:absolute;inset:0;display:none;overflow:hidden;background:#08000F;z-index:4; }
.teaser-stage.playing .teaser-idle { opacity:0;pointer-events:none; }
.teaser-stage.playing .teaser-reel { display:block; }
.teaser-frame { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;opacity:0;transform:scale(1.08);background:
  radial-gradient(circle at 22% 20%,rgba(255,43,179,.28),transparent 26rem),
  radial-gradient(circle at 82% 80%,rgba(0,245,255,.24),transparent 28rem),#08000F; }
.teaser-frame::before { content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.06) 0 1px,transparent 1px 4px);mix-blend-mode:soft-light;opacity:.45; }
.teaser-frame small { position:relative;z-index:2;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acid); }
.teaser-frame strong { position:relative;z-index:2;margin-top:12px;font-family:var(--font-marquee);font-size:clamp(3rem,8vw,7rem);line-height:.80;letter-spacing:-.05em;color:#fff;text-shadow:5px 6px 0 rgba(138,46,255,.7),0 0 28px rgba(255,43,179,.3);transform:skewX(-6deg); }
.teaser-frame strong span { color:var(--battlegasm-light); }.teaser-frame strong i{font-style:normal;color:var(--acid);font-size:.55em;}
.teaser-stage.playing .f1{animation:teaserFrame 2.2s 0s both}.teaser-stage.playing .f2{animation:teaserFrame 2.2s 2.1s both}.teaser-stage.playing .f3{animation:teaserFrame 2.2s 4.2s both}.teaser-stage.playing .f4{animation:teaserFrame 2.2s 6.3s both}.teaser-stage.playing .f5{animation:teaserFinal 3.2s 8.4s both}
@keyframes teaserFrame{0%{opacity:0;transform:scale(1.16) skewX(-2deg);filter:blur(8px)}10%,78%{opacity:1;transform:scale(1) skewX(0);filter:none}100%{opacity:0;transform:scale(.96);filter:blur(4px)}}
@keyframes teaserFinal{0%{opacity:0;transform:scale(1.18);filter:blur(8px)}12%,88%{opacity:1;transform:scale(1);filter:none}100%{opacity:0;transform:scale(.98)}}
@media(prefers-reduced-motion:reduce){.teaser-stage.playing .teaser-reel{display:none}.teaser-stage.playing .teaser-idle{opacity:1;pointer-events:auto}}

/* ─────────────────────────────────────────────────────────────
   BATTLEGASM — PASS 4.2 / MOBILE BROADCAST OPTIMIZATION
   Phones are not tiny desktops. This is the pocket broadcast.
   ───────────────────────────────────────────────────────────── */

html { -webkit-text-size-adjust:100%; }
body { overflow-x:hidden; }
a,button,input,select,textarea { -webkit-tap-highlight-color:rgba(0,245,255,.14); }
a,button { touch-action:manipulation; }

/* Safe-area awareness for modern iPhones */
.site-header { padding-top:env(safe-area-inset-top); }
.site-footer { padding-bottom:max(34px, env(safe-area-inset-bottom)); }

.nav-toggle {
  min-height:44px;
  min-width:82px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:9px 12px;
  border-radius:7px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.nav-toggle-bars { width:17px;display:grid;gap:5px; }
.nav-toggle-bars i { display:block;height:2px;background:currentColor;border-radius:99px;transition:transform .18s ease,opacity .18s ease; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:first-child { transform:translateY(3.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:last-child { transform:translateY(-3.5px) rotate(-45deg); }

@media (max-width:1079px) {
  body.nav-open { overflow:hidden; }
  .site-header { backdrop-filter:blur(12px) saturate(135%); }
  .mobile-nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - 89px - env(safe-area-inset-top));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:12px max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    background:
      radial-gradient(circle at 8% 0%,rgba(255,43,179,.20),transparent 18rem),
      radial-gradient(circle at 94% 18%,rgba(0,245,255,.14),transparent 19rem),
      rgba(8,0,15,.985);
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:3px solid var(--battlegasm);
    box-shadow:0 28px 60px rgba(0,0,0,.55);
  }
  .mobile-nav.open { display:grid;grid-template-columns:1fr 1fr;gap:6px 8px; }
  .mobile-nav a {
    min-height:48px;
    display:flex;
    align-items:center;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:7px;
    background:rgba(255,255,255,.025);
    line-height:1.2;
    font-size:.69rem;
  }
  .mobile-nav a:hover,.mobile-nav a:focus-visible { background:rgba(0,245,255,.08);border-color:rgba(0,245,255,.36);color:#fff; }
}

/* Mobile tables keep their sports-data density without crushing columns */
.table-wrap {
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
.table-wrap table { min-width:600px; }
.tape-table { min-width:0 !important; }

@media (max-width:767px) {
  :root { --mobile-gutter:17px; }
  .container,.container-mid,.container-narrow { padding-left:max(var(--mobile-gutter),env(safe-area-inset-left));padding-right:max(var(--mobile-gutter),env(safe-area-inset-right)); }

  .section { padding:52px 0; }
  .section-tight { padding:42px 0; }
  h1 { font-size:clamp(3.25rem,17vw,5.4rem); }
  h2 { font-size:clamp(2.25rem,11.5vw,3.6rem); }
  h3 { font-size:1.35rem; }
  .section-heading p { font-size:.96rem;line-height:1.6; }
  .section-heading h2::after { margin-top:12px;height:4px;width:68px; }
  .eyebrow { font-size:.64rem;letter-spacing:.13em; }

  .signal-bar-inner { min-height:23px;padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter);font-size:.51rem;letter-spacing:.075em; }
  .site-header .inner { height:62px;gap:10px; }
  .logo { font-size:1.20rem;text-shadow:2px 2px 0 #6E0DB6,4px 4px 0 rgba(0,245,255,.34),0 0 14px rgba(255,43,179,.35); }
  .nav-toggle { min-width:78px;font-size:.68rem; }

  /* Hero is punchier and reaches the content sooner */
  .hero { min-height:0; }
  .hero::after { width:440px;height:440px;right:-250px;top:-190px;border-width:52px; }
  .hero .inner { padding:48px 0 44px; }
  .hero .premiere-badge { width:100%;gap:5px 8px;padding:9px 10px;line-height:1.35;transform:none; }
  .hero .premiere-badge span,.hero .premiere-badge strong { display:block;width:100%; }
  .hero h1 { margin-top:24px;font-size:clamp(3.65rem,19vw,5.8rem);line-height:.84;letter-spacing:-.06em;filter:drop-shadow(3px 4px 0 rgba(138,46,255,.72)) drop-shadow(6px 6px 0 rgba(0,245,255,.16)); }
  .hero h1::after { bottom:-10px;height:5px;width:82%; }
  .hero .tagline { margin-top:25px;font-size:clamp(1.32rem,7.1vw,1.85rem);line-height:1.03; }
  .hero .lede { font-size:.98rem;line-height:1.58;margin-top:15px; }
  .hero .cta-row { display:grid;grid-template-columns:1fr;gap:9px;margin-top:24px; }
  .hero .cta-row .btn { width:100%;min-height:48px; }
  .hero .hero-stats { flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin-left:calc(-1 * var(--mobile-gutter));margin-right:calc(-1 * var(--mobile-gutter));padding:0 var(--mobile-gutter) 7px;gap:7px;scrollbar-width:none; }
  .hero .hero-stats::-webkit-scrollbar { display:none; }
  .hero .hero-stat { flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;padding:7px 9px;font-size:.62rem; }
  .hero .traj-wrap { margin-top:30px;padding:13px 9px 6px;overflow:hidden; }
  .hero .traj-wrap::before { display:none; }

  .broadcast-strip .inner { display:block;padding:10px var(--mobile-gutter); }
  .broadcast-strip strong { display:block;font-size:.98rem;line-height:1.05; }
  .broadcast-strip span { display:block;margin-top:5px;font-size:.58rem;line-height:1.35; }
  .ticker-track { padding:10px 0; }
  .ticker-item { padding:0 18px;font-size:.68rem; }

  .card { padding:18px;border-radius:11px; }
  .metric-box { padding:21px; }
  .metric-num { font-size:3.35rem; }

  /* Fight cards become a vertical matchup rather than three squeezed columns */
  .arena-fight-card { padding:22px 16px !important; }
  .arena-fight-card > .grid { grid-template-columns:1fr !important;gap:14px !important;margin-bottom:19px !important;text-align:center; }
  .arena-fight-card > .grid > div { text-align:center !important; }
  .arena-fight-card > .grid > div:first-child { order:1; }
  .arena-fight-card > .grid > .vs-burst { order:2;margin:0 auto;width:58px;height:58px;font-size:1.12rem !important; }
  .arena-fight-card > .grid > div:last-child { order:3; }
  .arena-fight-card > .grid > div:not(.vs-burst) > div:nth-child(2) { font-size:1.7rem !important; }
  .tape-table td { padding:10px 7px;font-size:.73rem; }
  .tape-table .label { font-size:.55rem;letter-spacing:.04em;width:34%; }

  /* Rivalry cards get the same TV-friendly stack */
  .rivalry-card { padding:21px 16px !important; }
  .rivalry-card > .grid { grid-template-columns:1fr !important;gap:11px !important;text-align:center; }
  .rivalry-card > .grid > a { text-align:center !important; }
  .rivalry-card > .grid > div { font-size:1.35rem !important; }

  /* Ranking and data tables remain swipeable with obvious compact columns */
  th,td { padding:11px 10px; }
  .table-wrap { margin-left:-2px;margin-right:-2px;position:relative; }
  .table-wrap::after { content:"SWIPE FOR MORE →";position:sticky;left:100%;bottom:5px;display:inline-block;margin:-28px 7px 5px auto;padding:4px 7px;background:rgba(8,0,15,.84);border:1px solid rgba(0,245,255,.20);border-radius:4px;font-family:var(--font-mono);font-size:.49rem;letter-spacing:.06em;color:var(--cyan);pointer-events:none; }
  .arena-fight-card .table-wrap::after { display:none; }

  /* Compact cards and roster controls */
  .broadcast-card { min-height:260px;padding:19px; }
  .broadcast-monogram { font-size:7rem;right:-9px;bottom:-12px; }
  .broadcast-card h3 { font-size:2rem; }
  .broadcast-blurb { font-size:.80rem; }
  .card-split-stat { grid-template-columns:1fr; }
  .roster-controls { align-items:stretch !important; }
  .roster-controls input,.roster-controls select { width:100%;min-width:0 !important;min-height:48px; }

  .roster-registry-strip { grid-template-columns:1fr 1fr; }
  .roster-registry-strip span { padding:11px 10px;font-size:.57rem;line-height:1.35; }
  .roster-registry-strip b { font-size:1.35rem; }

  /* Golden Grin remains grand, but no half-screen dead space */
  .golden-section .grid-2 { gap:27px !important; }
  .grin-stage { min-height:330px;border-radius:10px; }
  .grin-stage::before { width:300px;height:300px; }
  .grin-stage .golden-grin-picture img { padding:8px; }

  /* Event poster remains face-v-face but protects the names */
  .event-poster-copy { padding:22px 17px; }
  .event-poster-copy h2 { font-size:clamp(2.75rem,14vw,4rem); }
  .event-poster-visual { min-height:330px; }
  .event-side { padding:20px 8px 24px; }
  .event-side strong { font-size:clamp(1.72rem,9vw,2.35rem);overflow-wrap:anywhere; }
  .event-side .rank { font-size:1.45rem; }
  .event-side small { font-size:.49rem;letter-spacing:.055em; }
  .event-vs { width:52px;height:52px;font-size:1rem;box-shadow:0 0 0 5px rgba(255,255,255,.04),0 0 25px rgba(0,245,255,.20); }
  .event-countdown { display:grid;grid-template-columns:1fr 1fr; }
  .event-countdown span:not(.countdown-status) { min-width:0; }
  .countdown-status { grid-column:1/-1;padding-left:0; }

  /* Athlete entrance pages: stronger hierarchy, less giant empty arena */
  .athlete-entrance { min-height:0; }
  .athlete-entrance-inner { padding-top:43px;padding-bottom:46px; }
  .athlete-title-row { gap:15px; }
  .athlete-monogram { width:74px;height:74px;font-size:2.45rem;filter:drop-shadow(5px 6px 0 color-mix(in srgb,var(--ath-b) 28%,transparent)); }
  .athlete-entrance h1 { font-size:clamp(3.15rem,16vw,5rem); }
  .athlete-broadcast-copy { margin-top:21px;padding-left:13px;font-size:.98rem; }
  .broadcast-lower-third { transform:none; }
  .broadcast-lower-third span { font-size:.54rem;padding:6px 8px; }

  /* Watch / Records / Shop hero pages */
  .show-hero { min-height:0;padding:52px 0; }
  .shop-hero,.records-hero,.road-hero { padding:52px 0 48px; }
  .records-lockup,.road-lockup,.shop-lockup { overflow-wrap:anywhere; }
  .teaser-idle { padding:23px 18px; }
  .teaser-frame { padding:20px 16px; }

  /* Footer: tap targets and less microscopic legal copy */
  .site-footer { padding-top:48px; }
  .footer-grid { gap:26px 18px; }
  .footer-col a { display:block;padding:4px 0;line-height:1.35;font-size:.84rem; }
  .footer-bottom { margin-top:34px;padding-top:22px; }
  .footer-bottom p { font-size:.76rem;line-height:1.55; }
}

@media (max-width:430px) {
  .mobile-nav.open { grid-template-columns:1fr;gap:5px; }
  .mobile-nav a { min-height:45px; }
  .logo { font-size:1.08rem; }
  .nav-toggle { min-width:71px;padding-left:9px;padding-right:9px; }
  .hero h1 { font-size:clamp(3.25rem,18.4vw,4.8rem); }
  .roster-registry-strip { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:28px 14px; }
  .footer-col .eyebrow { font-size:.59rem; }
  .footer-col a { font-size:.78rem; }
  .cp-row { padding:11px 8px;grid-template-columns:31px minmax(0,1fr) 62px; }
  .cp-pos { font-size:1.45rem; }
  .cp-name { font-size:1.08rem; }
  .cp-row strong { font-size:.77rem; }
}

@media (max-width:350px) {
  :root { --mobile-gutter:13px; }
  .nav-toggle-label { display:none; }
  .nav-toggle { min-width:46px;width:46px; }
  .logo { font-size:1rem; }
  .footer-grid { grid-template-columns:1fr; }
  .roster-registry-strip { grid-template-columns:1fr; }
  .event-side strong { font-size:1.55rem; }
}

/* Mobile performance: reduce expensive persistent layers and motion */
@media (max-width:767px), (prefers-reduced-motion:reduce) {
  body::before { opacity:.17;transform:none;background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 70%); }
  body::after { opacity:.035; }
  .js-ready .reveal { opacity:1;transform:none;transition:none; }
  .traj-line,.traj-line-hot { animation-duration:1.2s; }
  .live-dot { animation:none; }
}
