/* ============================================================
   Rewind 2026 — Season in Review
   Self-contained stylesheet; no shared dashboard styles imported.
   ============================================================ */

/* ── Fonts ─────────────────────────────────────────────────── */
@font-face { font-family:'Be Vietnam Pro'; font-weight:400; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-400.woff2') format('woff2'); }
@font-face { font-family:'Be Vietnam Pro'; font-weight:500; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-500.woff2') format('woff2'); }
@font-face { font-family:'Be Vietnam Pro'; font-weight:600; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-600.woff2') format('woff2'); }
@font-face { font-family:'Be Vietnam Pro'; font-weight:700; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-700.woff2') format('woff2'); }
@font-face { font-family:'Be Vietnam Pro'; font-weight:800; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-800.woff2') format('woff2'); }
@font-face { font-family:'Be Vietnam Pro'; font-weight:900; font-display:swap;
  src:url('../fonts/rewind2026/be-vietnam-pro-900.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-weight:800; font-display:swap;
  src:url('../fonts/rewind2026/poppins-800.woff2') format('woff2'); }

/* ── Design tokens ──────────────────────────────────────────── */
:root {
  --rw-font-display: 'Poppins', system-ui, sans-serif;
  --rw-font-sans:    'Be Vietnam Pro', system-ui, sans-serif;
  --rw-orange:  #FF6B1A;
  --rw-teal:    #00B7B8;
  --rw-mint:    #7FE3C4;
  --rw-gold:    #FFC72C;
  --rw-navy:    #0E1F3A;
  --rw-purple:  #c56ed4;
  --rw-gray700: rgba(255,255,255,.12);
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: #000; color: #fff; height: 100%; overflow: hidden;
  font-family: var(--rw-font-sans); }

/* ── Error state ─────────────────────────────────────────────── */
.rw26-error { display:flex; align-items:center; justify-content:center;
  min-height:100vh; padding:40px; text-align:center; }
.rw26-error-inner { max-width:440px; }
.rw26-error-num { font-family:var(--rw-font-display); font-weight:800;
  font-size:160px; color:rgba(255,255,255,.12); line-height:1; }
.rw26-error-msg { font-size:22px; font-weight:600; color:rgba(255,255,255,.7);
  margin-top:20px; line-height:1.5; }
.rw26-error-back { display:inline-block; margin-top:32px; font-size:18px;
  font-weight:700; color:var(--rw-purple); text-decoration:none; }

/* ── Stage + frame ───────────────────────────────────────────── */
.rw26-stage { position:fixed; inset:0; background:#000; overflow:hidden;
  display:flex; align-items:center; justify-content:center; }

.rw26-frame {
  position:relative;
  width:1080px; height:1920px;
  transform-origin:center center;
  background:#0a0a0a;
  overflow:hidden;
  box-shadow:0 30px 120px rgba(0,0,0,.85);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

/* ── Loading screen ──────────────────────────────────────────── */
.rw26-loading {
  position:absolute; inset:0; z-index:50;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(ellipse 80% 60% at 50% 40%, rgba(22,163,74,.18) 0%, #08080e 70%);
  gap:0;
  transition:opacity .7s ease;
}
.rw26-loading.is-out { opacity:0; pointer-events:none; }

/* ── Ready screen (shown after loading, before reel starts) ── */
.rw26-ready {
  position:absolute; inset:0; z-index:49;
  display:flex; align-items:center; justify-content:center;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(22,163,74,.18) 0%, transparent 70%) #08080e;
  transition:opacity .5s ease;
}
.rw26-ready[hidden] { display:none; }
.rw26-ready.is-out { opacity:0; pointer-events:none; }
.rw26-ready-inner {
  text-align:left; padding:60px 72px;
  display:flex; flex-direction:column; align-items:flex-start; gap:0;
}
.rw26-ready-header {
  font-family:var(--rw-font-display); font-weight:700;
  font-size:38px; color:rgba(255,255,255,.55);
  margin-bottom:16px; line-height:1.1;
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
}
.rw26-ready-num {
  font-weight:900; color:rgba(255,255,255,.8);
  font-variant-numeric:tabular-nums;
}
.rw26-ready-teamname {
  font-weight:800; color:rgba(255,255,255,.8); text-transform:uppercase;
}
.rw26-ready-apos {
  font-weight:600; color:rgba(255,255,255,.45);
  font-style:italic; font-size:32px;
}
.rw26-ready-title {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:128px; line-height:.9; letter-spacing:-.04em;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  margin-bottom:52px;
}
.rw26-ready-status {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:52px; letter-spacing:.08em;
  color:rgba(255,255,255,.38); margin-bottom:56px;
}
.rw26-ready-go {
  appearance:none; border:0; cursor:pointer;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  color:#fff; font-family:var(--rw-font-display); font-weight:900;
  font-size:64px; letter-spacing:.02em;
  padding:30px 80px; border-radius:20px;
  box-shadow:0 8px 40px rgba(34,197,94,.4);
  animation:rw26-go-pulse 1.8s ease-in-out infinite;
}
.rw26-ready-go:hover  { opacity:.9; animation:none; transform:scale(1.03); }
.rw26-ready-go:active { transform:scale(0.97); opacity:.95; animation:none; }
@keyframes rw26-go-pulse {
  0%,100% { box-shadow:0 8px 40px rgba(34,197,94,.4); transform:scale(1); }
  50%      { box-shadow:0 12px 60px rgba(34,197,94,.7); transform:scale(1.025); }
}

.rw26-loading-inner {
  text-align:left; padding:60px 72px;
  display:flex; flex-direction:column; align-items:flex-start; gap:0;
  width:100%;
}
.rw26-loading-preparing {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:22px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.35); margin-bottom:12px;
}
.rw26-loading-header {
  font-family:var(--rw-font-display); font-weight:700;
  font-size:38px; color:rgba(255,255,255,.55);
  margin-bottom:16px; line-height:1.1;
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
}
.rw26-loading-num {
  font-weight:900; color:rgba(255,255,255,.8);
  font-variant-numeric:tabular-nums;
}
.rw26-loading-teamname {
  font-weight:800; color:rgba(255,255,255,.8); text-transform:uppercase;
}
.rw26-loading-teamname:empty { display:none; }
.rw26-loading-apos {
  font-weight:600; color:rgba(255,255,255,.45);
  font-style:italic; font-size:32px;
}
.rw26-loading-title {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:128px; line-height:.9; letter-spacing:-.04em;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:52px;
}
.rw26-loading-phrases {
  display:flex; flex-direction:column; gap:10px;
  margin-bottom:56px;
}
.rw26-loading-msg {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:36px; letter-spacing:.02em;
  color:rgba(255,255,255,.38);
}
.rw26-loading-activity {
  font-family:var(--rw-font-display); font-size:28px; font-style:italic;
  color:#22c55e; min-height:40px;
  transition:opacity .35s ease;
}
.rw26-loading-activity.pr-loading-fade { opacity:0; }
.rw26-loading-icon {
  width:110px; height:110px; object-fit:contain;
  animation:rw26-icon-spin 2.4s linear infinite, rw26-icon-pulse 1.8s ease-in-out infinite;
}
@keyframes rw26-icon-spin {
  from { transform:rotate(0deg); }
  to   { transform:rotate(-360deg); }
}
@keyframes rw26-icon-pulse {
  0%,100% { filter:brightness(1); }
  50%     { filter:brightness(1.7); }
}

/* ── Progress bars ───────────────────────────────────────────── */
.rw26-progress {
  position:absolute; top:24px; left:24px; right:24px;
  display:flex; gap:4px; z-index:30; pointer-events:none;
}
.rw26-progress-seg {
  flex:1; height:4px; background:rgba(255,255,255,.22); border-radius:2px; overflow:hidden;
}
.rw26-progress-fill { height:100%; background:#fff; }

/* ── Top chrome ──────────────────────────────────────────────── */
.rw26-chrome {
  position:absolute; top:44px; left:24px; right:24px;
  display:flex; align-items:center; justify-content:space-between;
  z-index:30; pointer-events:none;
}
.rw26-chrome-left { display:flex; align-items:center; gap:10px; pointer-events:none; }
.rw26-chrome-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--rw-purple); box-shadow:0 0 12px var(--rw-purple);
  display:inline-block;
}
.rw26-chrome-brand {
  font-family:var(--rw-font-display); font-weight:800; font-size:15px;
  letter-spacing:.06em; text-transform:uppercase; color:#fff;
}
.rw26-chrome-btn {
  pointer-events:auto;
  appearance:none; border:0; background:rgba(255,255,255,.14);
  width:44px; height:44px; border-radius:22px; color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; backdrop-filter:blur(6px);
}
.rw26-chrome-btn:hover { background:rgba(255,255,255,.22); }

/* ── Slide container ─────────────────────────────────────────── */
.rw26-slide-wrap { position:absolute; inset:0; overflow:hidden; cursor:pointer; }
.rw26-slide {
  position:absolute; inset:0;
  animation:rw26Fade .35s ease both;
}
@keyframes rw26Fade {
  from { opacity:0; transform:scale(0.985); }
  to   { opacity:1; transform:none; }
}

/* ── Tap hint ────────────────────────────────────────────────── */
.rw26-tap-hint {
  position:absolute; bottom:20px; left:24px; right:24px;
  display:flex; justify-content:space-between; z-index:30; pointer-events:none;
  font-size:14px; font-weight:600; letter-spacing:.1em;
  color:rgba(255,255,255,.32); text-transform:uppercase;
}

/* ── PitRadar logo — bottom center of frame ─────────────────── */
.rw26-frame-logo {
  position:absolute; bottom:58px; left:0; right:0;
  display:flex; justify-content:center; z-index:20; pointer-events:none;
}
.rw26-frame-logo img { height:26px; width:auto; opacity:0.52; }

/* ── End overlay — popup card over summary ────────────────────── */

/* Export progress message */
.rw26-export-msg {
  position:absolute; inset:0; z-index:60;
  background:rgba(0,0,0,.92);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:20px; font-family:var(--rw-font-display); font-weight:800;
}
.rw26-export-msg[hidden] { display:none; }
.rw26-export-spinner {
  font-size:48px; animation:rw26spin 1s linear infinite;
}
@keyframes rw26spin { to { transform:rotate(360deg); } }
.rw26-export-label { font-size:28px; color:rgba(255,255,255,.8); }

/* ============================================================
   SHARED SLIDE CHROME
   ============================================================ */
.slide {
  position:absolute; inset:0;
  padding:130px 70px 120px;
  display:flex; flex-direction:column;
  color:#fff; overflow:hidden;
}
.slide-eyebrow {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:28px; letter-spacing:.18em; text-transform:uppercase;
  margin-bottom:28px;
  display:flex; align-items:center; gap:12px;
  color:rgba(255,255,255,.88);
}
.slide-eyebrow::before {
  content:''; width:28px; height:5px; background:currentColor; border-radius:2px;
}
.scanlines {
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(0,0,0,.18) 3px,rgba(0,0,0,.18) 4px);
  opacity:.35;
}
.confetti-layer { position:absolute; inset:0; pointer-events:none; z-index:2; overflow:hidden; }

/* ============================================================
   SLIDE 1 — INTRO
   ============================================================ */
/* padding-bottom reserves space for the REBUILT logo so the stack centers in the upper portion */
.intro-slide { justify-content:center; align-items:center; text-align:center; padding-bottom:480px; }
.intro-stack { position:relative; z-index:5; }
.intro-avatar {
  width:160px; height:160px; margin:0 auto 28px;
  border-radius:50%; overflow:hidden;
  box-shadow:0 0 0 5px rgba(255,255,255,.3), 0 8px 32px rgba(0,0,0,.4);
}
.intro-avatar img { width:100%; height:100%; object-fit:contain; background:#fff; }
.intro-eyebrow {
  font-family:var(--rw-font-display); font-weight:800; font-size:28px;
  letter-spacing:.5em; text-transform:uppercase;
  color:rgba(255,255,255,.65); margin-bottom:18px;
}
.intro-team-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:320px; line-height:.85; letter-spacing:-.04em;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.7) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 60px rgba(255,255,255,.18);
  font-variant-numeric:tabular-nums;
}
.intro-team-name {
  font-family:var(--rw-font-display); font-weight:800; font-size:64px;
  letter-spacing:.12em; margin-top:6px; text-wrap:balance; line-height:1.05;
}
.intro-team-org {
  font-size:22px; font-weight:500; color:rgba(255,255,255,.7);
  margin-top:8px; letter-spacing:.05em;
}
.intro-divider {
  width:320px; height:3px; margin:50px auto;
  background:#fff; border-radius:2px; transform-origin:center;
}
.intro-title-l1 {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:96px; letter-spacing:-.02em; line-height:.9;
}
.intro-title-l2 {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:132px; letter-spacing:-.02em; line-height:.9;
  -webkit-text-stroke:3px #fff; color:transparent;
}
.intro-rebuilt-logo {
  position:absolute; bottom:180px; left:0; right:0; margin:0 auto;
  display:block; width:260px; z-index:5; pointer-events:none;
  filter:drop-shadow(0 4px 24px rgba(0,0,0,.5));
}

/* ============================================================
   SLIDE 2 — RECORD
   ============================================================ */
.record-slide { justify-content:center; }
.record-headline {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:80px; line-height:.96; letter-spacing:-.02em;
  margin-bottom:80px; text-wrap:balance;
}
.record-mega {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:260px; line-height:.9; letter-spacing:-.04em;
  text-align:center; font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.record-mega--three           { font-size:185px; }
.record-mega--three .record-tie { font-size:185px; }
.record-mega--three .record-dash { padding:0 12px; }
.record-dash   { color:rgba(255,255,255,.35); padding:0 18px; }
.record-loss   { color:rgba(255,255,255,.55); }
.record-tie    { color:rgba(255,255,255,.45); font-size:240px; }
.record-mega-labels {
  display:flex; justify-content:space-around; margin-top:14px;
  color:rgba(255,255,255,.55); font-weight:700; font-size:22px; letter-spacing:.18em;
}
.record-pct-row { margin-top:60px; display:flex; flex-direction:column; gap:14px; }
.record-pct-bar { height:22px; background:rgba(255,255,255,.12); border-radius:12px; overflow:hidden; }
.record-pct-fill { height:100%; border-radius:12px; }
.record-pct-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:36px; letter-spacing:.04em;
}
.record-extras { width:100%; margin-top:50px; display:flex; flex-direction:column; gap:24px; }
.record-extra-item {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:0 80px;
}
.record-extra-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:112px; line-height:1; letter-spacing:-.02em; flex-shrink:0;
}
.record-extra-label {
  font-size:44px; font-weight:700; letter-spacing:.06em;
  color:rgba(255,255,255,.6); line-height:1.2; flex:1;
  text-align:left;
}
.record-kicker {
  margin-top:auto; font-size:32px; font-style:italic;
  color:rgba(255,255,255,.7); text-align:center;
}

/* ============================================================
   SLIDE 3 — EPA
   ============================================================ */
.epa-chart-wrap {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:30px 22px 18px;
}
/* 3-stat row: STARTING / PEAK / FINAL */
.epa-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:28px; }
.epa-stat {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:22px;
}
.epa-stat-peak {
  border-color:rgba(255,199,44,.45) !important;
  background:rgba(255,199,44,.07) !important;
}
.epa-stat-label { font-size:16px; letter-spacing:.18em; font-weight:700;
  text-transform:uppercase; color:rgba(255,255,255,.6); }
.epa-stat-val {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:80px; line-height:1.05; margin-top:6px; font-variant-numeric:tabular-nums;
}
.epa-val-start { color:rgba(255,255,255,.62) !important; }
/* World rank row */
.epa-rank-row {
  display:flex; align-items:baseline; gap:16px;
  margin-top:18px; padding:18px 22px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
}
.epa-rank-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:64px; line-height:1; font-variant-numeric:tabular-nums;
}
.epa-rank-label {
  font-size:18px; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:rgba(255,255,255,.6);
}
.epa-rank-sub { font-size:15px; color:rgba(255,255,255,.5); font-weight:600; margin-left:auto; }
.epa-rank-top-pct {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:36px; color:rgba(255,255,255,.85); letter-spacing:.02em;
  margin-left:auto;
}
/* Sub-ranks (country + district) */
.epa-sub-ranks {
  display:flex; flex-direction:column; gap:10px; margin-top:14px;
  transition:opacity .4s ease;
}
.epa-sub-rank-row {
  display:flex; align-items:baseline; gap:16px;
  padding:14px 22px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
}
.epa-sub-rank-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:44px; line-height:1; font-variant-numeric:tabular-nums;
}
.epa-sub-rank-label {
  font-size:16px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
/* Commentary — big, bold, prominent */
.epa-commentary {
  margin-top:32px; font-size:62px; line-height:1.15; font-weight:900;
  font-family:var(--rw-font-display); color:#fff; text-wrap:pretty;
}

/* ============================================================
   SLIDE 4 — HIGHEST MATCH
   ============================================================ */
.hm-event-chip {
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px; border-radius:999px;
  background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.2);
  font-weight:700; font-size:22px; letter-spacing:.04em; align-self:flex-start;
  color:#fff;
}
.hm-event-dot { width:10px; height:10px; border-radius:50%; display:inline-block;
  background:rgba(255,255,255,.8); }
.hm-match-id {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:56px; margin-top:22px; letter-spacing:.01em; color:#fff; line-height:1.18;
}
.hm-at { font-weight:500; opacity:.55; font-size:.75em; }
.hm-score-wrap {
  margin:48px 0 0; text-align:center;
}
.hm-score-label {
  font-size:22px; font-weight:700; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.hm-score-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:290px; line-height:.88; letter-spacing:-.04em;
  font-variant-numeric:tabular-nums; color:#fff;
  text-shadow:0 6px 40px rgba(0,0,0,.25);
}
.hm-score-sub { font-size:22px; color:rgba(255,255,255,.65); font-weight:600;
  letter-spacing:.05em; margin-top:12px; }
/* Alliance section — stacked column, centred */
.hm-alliances { display:flex; flex-direction:column; align-items:center; gap:0;
  margin-top:48px; }
.hm-your-alliance { width:100%; text-align:center; }
.hm-opp-alliance  { text-align:center; }
.hm-alliance-label { font-size:18px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:16px; }
.hm-alliance-teams { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
/* Pills — big for your alliance, smaller for opponents */
.hm-team {
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.25);
  font-weight:800; font-variant-numeric:tabular-nums; color:#fff; border-radius:14px;
}
.hm-alliance-teams-big  .hm-team { font-size:64px; padding:18px 36px; }
.hm-alliance-teams-small .hm-team { font-size:48px; padding:14px 28px; }
.hm-team-self { background:#fff; color:#1a1a1a; border-color:transparent; }
.hm-team-opp  { background:rgba(0,0,0,.18); }
.hm-vs { font-family:var(--rw-font-display); font-weight:800;
  font-size:44px; color:rgba(255,255,255,.55); margin:24px 0 20px; }
.hm-opp-score {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:76px; color:rgba(255,255,255,.85); margin-top:18px;
}
.hm-opp-score-sub { font-size:22px; font-weight:600; color:rgba(255,255,255,.5);
  vertical-align:middle; }

/* ============================================================
   SLIDE 5 — UPSET
   ============================================================ */
.upset-headline { font-family:var(--rw-font-display); font-weight:800;
  font-size:72px; line-height:1.05; margin-top:10px; color:var(--rw-teal); }
.upset-pct { font-size:200px; line-height:1; display:inline-block; margin:4px 0;
  font-variant-numeric:tabular-nums; color:#fff;
  text-shadow:0 6px 40px rgba(0,0,0,.2); }
.upset-stamp {
  align-self:flex-end; margin:18px 0 0;
  font-family:var(--rw-font-display); font-weight:800;
  font-size:180px; line-height:.88;
  color:var(--rw-teal);
  text-align:right; letter-spacing:-.02em; transform-origin:right center;
}
/* Extra margin clears the visual overflow from the -8deg rotated stamp */
.upset-detail { margin-top:120px; display:flex; flex-direction:column; gap:20px; }
.upset-detail-row {
  display:flex; align-items:baseline; gap:22px;
  padding:22px 28px; background:rgba(0,0,0,.15);
  border-radius:14px; border:1px solid rgba(255,255,255,.15);
}
.upset-key { font-size:20px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.6); width:130px; flex-shrink:0; }
.upset-val { font-size:32px; font-weight:800; flex:1; font-variant-numeric:tabular-nums; color:#fff; }
/* Two-column YOU / THEM score card */
.upset-scores { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.upset-score-col {
  padding:28px 20px 24px; border-radius:14px; background:rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.15);
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.upset-score-head { font-size:20px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:8px; }
.upset-score-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:160px; line-height:.9; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; color:#fff;
}
.upset-score-teams {
  display:flex; flex-direction:column; gap:8px; width:100%; margin-top:16px;
}
.upset-team-pill {
  font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; color:#fff;
  background:rgba(255,255,255,.12); border-radius:10px; padding:8px 0;
}
.upset-score-col-them .upset-score-num   { color:rgba(255,255,255,.65); }
.upset-score-col-them .upset-team-pill   { color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.07); }

/* ============================================================
   SLIDE 6 — EVENTS
   ============================================================ */
.events-title {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:64px; line-height:1.1; margin-bottom:36px;
}
.events-slide--many .events-title { margin-bottom:20px; }
.events-stat { font-size:28px; font-weight:700; color:rgba(255,255,255,.7); }
.events-list { display:flex; flex-direction:column; gap:16px; }
.events-list--two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.event-row {
  padding:22px 24px; border-radius:14px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  display:flex; flex-direction:column; gap:14px;
}
/* Compact event rows in 2-col mode */
.events-list--two-col .event-row { padding:14px 16px; gap:10px; justify-content:space-between; }
.events-list--two-col .ev-cells { margin-top:auto; }
.events-list--two-col .ev-name { font-size:20px; }
.events-list--two-col .ev-cell { padding:10px 14px; }
.events-list--two-col .ev-cell-val { font-size:28px; }
.events-list--two-col .ev-cell-label { font-size:12px; margin-bottom:3px; }
.events-list--two-col .ev-cell-finish { font-size:22px; }
.ev-row-worlds {
  border-color:rgba(255,199,44,.45); background:rgba(255,199,44,.07);
}
.ev-name { font-size:30px; font-weight:800; line-height:1.18; }
.ev-cells { display:flex; gap:12px; }
.ev-cell {
  flex:1; background:rgba(0,0,0,.18); border-radius:10px; padding:14px 18px;
}
.ev-cell-label { font-size:14px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:6px; }
.ev-cell-val {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:38px; line-height:1; color:var(--rw-gold);
}
.ev-cell-finish { color:#fff; font-size:30px; }

/* ============================================================
   SLIDE 7 — FUEL
   ============================================================ */
.fuel-slide { justify-content:flex-start; overflow:hidden; }
.fuel-headline {
  font-family:var(--rw-font-display); font-weight:700;
  font-size:38px; line-height:1.15; letter-spacing:-.005em;
  margin-top:14px; text-wrap:balance;
}
.fuel-headline strong { color:#ffd35a; font-weight:800; }
.fuel-mega-wrap {
  margin-top:120px; text-align:left;
  transform-origin:left center; position:relative; z-index:4;
}
.fuel-mega {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:280px; line-height:.92; letter-spacing:-.04em;
  text-shadow:0 8px 40px rgba(0,0,0,.45);
  font-variant-numeric:tabular-nums;
}
.fuel-mega-label {
  margin-top:6px; font-family:var(--rw-font-display);
  font-weight:800; font-size:22px; letter-spacing:.32em;
  color:rgba(255,255,255,.85);
}
.fuel-hex-grid {
  position:absolute; left:0; right:0; bottom:130px;
  width:100%; height:660px;
  pointer-events:none; z-index:1; filter:blur(.4px); opacity:.35;
}
.fuel-hex {
  position:absolute;
  width:36px; height:36px;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  box-shadow:0 0 8px currentColor;
}
.fuel-stats {
  position:absolute; left:32px; bottom:130px;
  width:420px;
  display:grid; grid-template-columns:1fr; gap:14px; z-index:5;
}
.fuel-stat {
  background:rgba(0,0,0,.55); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px; padding:22px 16px; text-align:center;
}
.fuel-stat-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:48px; line-height:1; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.fuel-stat-percentile {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:28px; line-height:1.05; padding:4px 0;
}
.fuel-stat-label {
  margin-top:8px; font-size:14px; font-weight:700; letter-spacing:.16em;
  color:rgba(255,255,255,.7); text-transform:uppercase;
}
/* ── Fuel slide — split layout ───────────────────────────────── */
.fuel-split {
  position:absolute; left:48px; right:32px; bottom:130px; top:200px;
  display:flex; align-items:stretch; gap:32px; z-index:2;
  transition:opacity .3s ease;
}
.fuel-split-left {
  flex:1; display:flex; flex-direction:column; justify-content:flex-end;
  padding-bottom:590px;
}
.fuel-split-right {
  width:260px; display:flex; align-items:flex-end; justify-content:center;
  flex-shrink:0;
}
.fuel-fact-dist-label {
  font-size:28px; font-weight:600; font-style:italic;
  color:rgba(255,255,255,.82); line-height:1.3;
}
.fuel-fact-dist-num {
  margin-top:10px; font-family:var(--rw-font-display); font-weight:900;
  font-size:68px; line-height:1; letter-spacing:-.03em; color:#fff;
  font-variant-numeric:tabular-nums;
}
.fuel-cmp-text {
  margin-top:20px;
  font-family:var(--rw-font-display); font-weight:800;
  font-size:38px; color:rgba(255,255,255,.9); line-height:1.25; letter-spacing:-.01em;
}

/* Tower stack */
.fuel-tower-stack {
  display:flex; flex-direction:column-reverse;
  align-items:center; gap:3px;
}
.fuel-tower-img {
  width:auto;
  filter:brightness(0) invert(1);
  transition:opacity .25s ease, transform .25s ease;
  object-fit:contain;
  display:block;
}

/* ============================================================
   SLIDE 8 — AWARDS
   ============================================================ */
.awards-title {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:84px; line-height:1; margin-bottom:12px;
}
.awards-sub { font-size:26px; font-weight:500; color:rgba(255,255,255,.65); margin-top:4px; }
.awards-list { display:flex; flex-direction:column; gap:14px; margin-top:30px; }
.awards-list--two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin-top:16px; }
.awards-list--two-col .award-event-group { margin-bottom:0; }
.awards-list--two-col .award-row { padding:12px 14px; gap:12px; }
.awards-list--two-col .award-medal { width:40px; height:40px; flex:0 0 40px; }
.awards-list--two-col .award-name { font-size:20px; }
.awards-list--two-col .award-event-header { font-size:16px; }
.awards-slide--many .awards-title { font-size:60px; }
.awards-slide--many .awards-sub { font-size:22px; }
.award-row {
  display:flex; align-items:center; gap:18px;
  padding:18px 20px; border-radius:10px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
}
.award-medal {
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex:0 0 56px;
}
.award-name { font-size:26px; font-weight:800; line-height:1.15; }
.award-event { font-size:16px; font-weight:600; color:rgba(255,255,255,.6); margin-top:4px; }
.award-event-group { margin-bottom:20px; }
.award-event-header {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:20px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.5); margin-bottom:10px; padding-left:4px;
  border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:8px;
}
.awards-empty { flex:1; display:flex; flex-direction:column;
  justify-content:center; align-items:center; text-align:center; }
.awards-empty-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:360px; color:rgba(255,255,255,.15); line-height:.9;
}
.awards-empty-msg { font-size:36px; line-height:1.3; font-weight:700; margin-top:20px; }

/* ============================================================
   SLIDE 9 — BONUS / SOULMATE
   ============================================================ */
.bonus-title { font-family:var(--rw-font-display); font-weight:800;
  font-size:56px; line-height:1.1; margin-bottom:30px; }
.bonus-soulmate { text-align:center; margin:30px 0 60px; }
.bonus-soul-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:280px; line-height:.88; letter-spacing:-.03em; font-variant-numeric:tabular-nums;
}
.bonus-soul-name { font-size:44px; font-weight:700; letter-spacing:.05em; margin-top:4px; }
.bonus-stats { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bonus-stat {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:28px 24px; text-align:center;
}
.bonus-stat-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:96px; line-height:1; font-variant-numeric:tabular-nums;
}
.bonus-stat-label { font-size:16px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:8px; }
.bonus-streak {
  margin-top:auto; padding:22px 26px; border-radius:12px;
  background:rgba(255,199,44,.1); border:1px solid rgba(255,199,44,.35);
  font-size:26px; font-weight:600; line-height:1.4;
  display:flex; align-items:center; gap:14px;
}
.bonus-streak-icon { font-size:32px; }

/* ============================================================
   SLIDE 10 — WORLDS
   ============================================================ */
.worlds-headline {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:92px; line-height:1; letter-spacing:-.01em; margin-bottom:60px;
}
.worlds-division-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15);
  border-radius:16px; padding:40px;
  display:flex; flex-direction:column; gap:8px;
}
.worlds-div-label { font-size:16px; letter-spacing:.3em; font-weight:700;
  color:rgba(255,255,255,.6); text-transform:uppercase; }
.worlds-div-name { font-family:var(--rw-font-display); font-weight:800; font-size:96px; line-height:1; }
.worlds-div-rank { display:flex; align-items:baseline; gap:16px; margin-top:18px; }
.worlds-div-rank-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:120px; line-height:1; font-variant-numeric:tabular-nums;
}
.worlds-div-rank-label { font-size:18px; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.55); }
.worlds-finish {
  margin-top:auto; padding:24px 28px; border-radius:12px;
  background:rgba(197,110,212,.15); border:1px solid rgba(197,110,212,.45);
  font-size:28px; font-weight:700; line-height:1.3; text-wrap:pretty;
}
.worlds-dnq { justify-content:center; align-items:center; text-align:center; }
.worlds-dnq-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:480px; line-height:.85; color:rgba(255,255,255,.18);
}
.worlds-dnq-msg { font-family:var(--rw-font-display); font-weight:800;
  font-size:56px; line-height:1.15; margin-top:30px; }
.worlds-dnq-tag {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:32px; letter-spacing:.18em; text-transform:uppercase; margin-top:50px;
}

/* ============================================================
   SLIDE 11 — CHAMPION
   ============================================================ */
.champion-slide { justify-content:center; align-items:center; text-align:center; }
.champ-headline { position:relative; z-index:5; }
.champ-l1 {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:110px; line-height:.9; letter-spacing:-.02em;
  -webkit-text-stroke:3px #fff; color:transparent;
}
.champ-l2 {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:160px; line-height:.9; letter-spacing:-.03em;
}
.champ-banner { width:100%; margin-top:50px; position:relative; z-index:5; }
.champ-banner-inner {
  background:#1565C0;
  padding:28px 60px 52px;
  clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%);
  text-align:center;
}
.champ-banner-title {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:48px; line-height:1.1; color:#fff; letter-spacing:.02em;
}
.champ-banner-sub {
  font-size:26px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:6px;
}
.champ-journey {
  display:flex; align-items:stretch; gap:14px; margin-top:32px; width:90%;
  position:relative; z-index:5;
}
.champ-journey-pill {
  flex:1; padding:16px 18px; border-radius:14px; text-align:center;
  background:rgba(0,0,0,.28); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
}
.champ-journey-pill--gold {
  background:rgba(255,199,44,.18); border-color:rgba(255,199,44,.4);
}
.cj-label {
  display:block; font-size:13px; font-weight:700; letter-spacing:.1em;
  color:rgba(255,255,255,.55); text-transform:uppercase; margin-bottom:6px;
}
.cj-val {
  display:block; font-size:20px; font-weight:800; color:#fff; line-height:1.2;
}
.champ-journey-arrow {
  font-size:26px; font-weight:700; color:rgba(255,255,255,.4);
  flex-shrink:0; display:flex; align-items:center;
}
.champ-tag { margin-top:28px; font-size:28px; font-weight:700;
  letter-spacing:.05em; position:relative; z-index:5; }

/* ============================================================
   SLIDE 12 — SUMMARY
   ============================================================ */
.summary-slide { padding:90px 60px 100px; }
.summary-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.summary-team { display:flex; align-items:center; gap:16px; }
.summary-team-num {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:96px; line-height:.9; letter-spacing:-.03em;
}
.summary-team-name {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:28px; letter-spacing:.06em; line-height:1.1; max-width:560px;
}
.summary-team-year { font-size:16px; font-weight:700; letter-spacing:.3em;
  color:rgba(255,255,255,.5); margin-top:6px; }
.summary-eyebrow {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:18px; letter-spacing:.2em; text-align:right; max-width:200px; line-height:1.2;
}
.summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:12px; }
.summary-narrow-row {
  grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px;
}
.summary-narrow-row .summary-tile { min-height:100px; }
.summary-narrow-row .summary-tile-value { font-size:48px; }
.summary-tile {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:14px; padding:20px 24px; min-height:130px;
  display:flex; flex-direction:column; justify-content:space-between;
}
/* SEASON VIBE tile — full-width, text not number  [4a] */
.summary-tile--vibe {
  grid-column: 1 / -1;
  min-height: auto;
  padding: 22px 26px;
}
.summary-vibe-quote {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:46px; line-height:1.05; letter-spacing:-.01em;
  color:#fff; margin-top:10px; text-wrap:balance;
}
.summary-tile-label { font-size:15px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,.55); }
.summary-tile-value {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:64px; line-height:1; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; text-wrap:balance;
}
/* EPA section: label + chart */
.summary-epa-section {
  margin-top:14px; transition:opacity .3s ease;
}
.summary-epa-label {
  font-size:14px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:8px;
}
.summary-epa-wrap {
  height:240px; margin-bottom:18px;
  border-radius:10px; overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  transition:opacity .3s ease;
}
/* Compact event list */
.sb-events-list {
  display:flex; flex-direction:column; gap:10px;
  margin-top:4px; transition:opacity .3s ease;
}
.sb-ev-row {
  display:flex; flex-direction:column; gap:8px;     /* name then tags [4c] */
  padding:13px 16px; border-radius:12px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
}
.sb-ev-name {
  font-family:var(--rw-font-display); font-weight:700;
  font-size:22px; color:#fff; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.sb-ev-tags {
  display:flex; gap:6px; flex-wrap:wrap; align-items:center;
}
.sb-ev-tag {
  font-size:16px; font-weight:700; padding:4px 12px;
  border-radius:999px; border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85); white-space:nowrap;
}
.sb-ev-seed   { border-color:rgba(255,255,255,.25); color:rgba(255,255,255,.7); }
.sb-ev-finish { border-color:rgba(34,197,94,.4); color:#22c55e; margin-left:auto; } /* rightmost [4d] */
.sb-ev-award  { border-color:rgba(255,196,0,.35); color:#ffd35a; }

/* Hide PitRadar footer logo on summary slide; tighten bottom padding  [4f] */
.rw26-frame.rw26-summary-active .rw26-frame-logo { display:none; }
.rw26-frame.rw26-summary-active .rw26-tap-hint { display:none; }
.rw26-frame.rw26-summary-active .summary-slide { padding-bottom:40px; }
/* Full worlds cell inside summary events area  [4e] */
.sb-worlds-cell { margin-top:12px; }

.summary-bottom { margin-top:auto; }
.summary-quote {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:38px; line-height:1.05; letter-spacing:-.01em;
  text-wrap:balance; margin-bottom:14px;
}
.summary-bottom-row {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.summary-watermark { display:flex; align-items:center; }
.summary-watermark-logo { height:32px; width:auto; display:block; }
.summary-bottom-actions { display:flex; align-items:center; gap:12px; }
.summary-replay-btn {
  appearance:none; cursor:pointer;
  background:rgba(255,255,255,.1); color:#fff;
  border:1.5px solid rgba(255,255,255,.22);
  font-family:var(--rw-font-display); font-weight:800;
  font-size:24px; letter-spacing:.04em;
  padding:16px 32px; border-radius:12px;
  transition:opacity .15s;
  white-space:nowrap;
}
.summary-replay-btn:hover { opacity:.75; }
.summary-share-btn {
  appearance:none; border:0; cursor:pointer;
  background:var(--rw-purple); color:#fff;
  font-family:var(--rw-font-display); font-weight:800;
  font-size:24px; letter-spacing:.04em;
  padding:16px 36px; border-radius:12px;
  transition:opacity .15s;
  white-space:nowrap;
}
.summary-share-btn:hover { opacity:.85; }

/* Share popup */
.rw26-share-popup {
  position:absolute; inset:0; z-index:60;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.65); backdrop-filter:blur(6px);
}
.rw26-share-popup[hidden] { display:none; }
.rw26-share-popup-card {
  position:relative;
  background:#111318; border:1px solid rgba(255,255,255,.12);
  border-radius:24px; padding:44px 42px; width:860px; max-width:90%;
  display:flex; flex-direction:column; gap:0;
}
.rw26-share-popup-x {
  position:absolute; top:20px; right:20px;
  appearance:none; border:0; background:rgba(255,255,255,.08);
  border-radius:50%; width:56px; height:56px; cursor:pointer;
  font-size:26px; color:rgba(255,255,255,.6);
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s;
}
.rw26-share-popup-x:hover { background:rgba(255,255,255,.15); color:#fff; }
.rw26-share-popup-eyebrow {
  font-family:var(--rw-font-display); font-weight:700;
  font-size:18px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.4); margin-bottom:16px;
}
.rw26-share-popup-title {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:60px; line-height:.92; letter-spacing:-.03em;
  color:#fff; margin-bottom:28px;
}
.rw26-share-popup-url {
  font-family:var(--rw-font-sans); font-size:19px; font-weight:600;
  color:rgba(255,255,255,.5); word-break:break-all;
  background:rgba(255,255,255,.06); border-radius:10px;
  padding:12px 18px; margin-bottom:24px;
}
.rw26-share-popup-actions { display:flex; flex-direction:column; gap:10px; }
.rw26-share-popup-btn {
  appearance:none; border:0; cursor:pointer;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; font-family:var(--rw-font-display); font-weight:800;
  font-size:30px; letter-spacing:.02em;
  padding:18px 36px; border-radius:14px;
  box-shadow:0 4px 20px rgba(34,197,94,.25);
  transition:opacity .15s, transform .15s;
}
.rw26-share-popup-btn:hover  { opacity:.9; transform:translateY(-1px); }
.rw26-share-popup-btn:active { transform:scale(.97); opacity:.95; }
.rw26-share-popup-btn--orange {
  background:linear-gradient(135deg,var(--rw-orange),#d94e00);
  background-image:linear-gradient(135deg,var(--rw-orange),#d94e00);
  color:#fff;
}
.rw26-share-popup-btn--dark {
  background:rgba(255,255,255,.08);
  background-image:none;
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.85);
  text-decoration:none; text-align:center;
}
.rw26-share-popup-btn--dark:hover { background:rgba(255,255,255,.13); opacity:1; }
.rw26-share-popup-btn--ghost {
  background:rgba(255,255,255,.06);
  background-image:none;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.6);
  text-decoration:none;
  display:block; text-align:center;
}
.rw26-share-popup-btn--ghost:hover { background:rgba(255,255,255,.11); color:#fff; opacity:1; }
.rw26-share-popup-divider {
  height:1px; background:rgba(255,255,255,.1); margin:6px 0;
}
.rw26-share-popup-btn:disabled {
  opacity:.4; cursor:not-allowed; transform:none !important;
}

/* html2canvas capture overrides — background-clip:text and text-stroke are unsupported */
.rw26-capturing .intro-team-num {
  background:none; -webkit-background-clip:unset; background-clip:unset; color:#fff;
}
.rw26-capturing .intro-title-l2 {
  -webkit-text-stroke:0; color:#fff;
}

/* ── Gallery overlay ─────────────────────────────────────────── */
.rw26-gallery {
  position:absolute; inset:0; z-index:65;
  background:#06060c; overflow-y:auto;
  display:flex; flex-direction:column;
}
.rw26-gallery[hidden] { display:none; }
.rw26-gallery-header {
  position:sticky; top:0; z-index:2;
  display:flex; align-items:center; justify-content:space-between;
  padding:28px 32px;
  background:rgba(6,6,12,.95); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.rw26-gallery-title {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:28px; letter-spacing:.12em; color:#fff;
}
.rw26-gallery-close {
  appearance:none; border:1px solid rgba(255,255,255,.2); cursor:pointer;
  background:rgba(255,255,255,.07); color:rgba(255,255,255,.7);
  font-family:var(--rw-font-display); font-weight:700;
  font-size:20px; letter-spacing:.06em;
  padding:12px 28px; border-radius:10px;
  transition:opacity .15s;
}
.rw26-gallery-close:hover { opacity:.7; }
.rw26-gallery-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
  padding:28px 24px;
}
.rw26-gallery-item {
  display:flex; flex-direction:column; gap:10px; align-items:center;
}
.rw26-gallery-item img {
  width:100%; border-radius:10px; display:block;
  border:1px solid rgba(255,255,255,.1);
}
.rw26-gallery-dl {
  display:block; width:100%; text-align:center;
  padding:10px 0; border-radius:8px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7); text-decoration:none;
  font-family:var(--rw-font-display); font-weight:700; font-size:16px;
  letter-spacing:.06em; transition:background .15s;
}
.rw26-gallery-dl:hover { background:rgba(255,255,255,.15); }

/* ── Sponsors / Community slide ──────────────────────────────── */
.sponsors-slide {
  display:flex; flex-direction:column;
  padding:100px 72px 80px; gap:0;
}
.sponsors-intro {
  font-family:var(--rw-font-display); font-weight:600; font-style:italic;
  font-size:44px; line-height:1.25; text-align:center;
  color:rgba(255,255,255,.88); margin-bottom:60px; padding:0 20px;
}
.sponsors-grid {
  display:flex; flex-direction:column; gap:16px;
  align-items:center; text-align:center;
}
.sp-name {
  font-family:var(--rw-font-display); font-weight:700;
  letter-spacing:.01em; line-height:1.1;
  transition:opacity .3s ease, transform .3s ease;
}
.sp-lg { font-size:56px; color:#fff; }
.sp-md { font-size:40px; color:#fff; }
.sp-sm { font-size:28px; color:rgba(255,255,255,.54); }
.sp-thankyou {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:80px; line-height:.96; letter-spacing:-.02em;
  text-align:center; color:var(--rw-gold);
  text-shadow:0 0 50px rgba(255,199,44,.35);
  margin-top:auto; padding-top:44px; padding-bottom:120px;
  transition:opacity .3s ease, transform .3s ease;
}

/* ── Events slide — worlds section ───────────────────────────── */
.events-worlds-wrapper {
  margin-top:36px;
  transition:opacity .4s ease, transform .4s ease;
}
.events-worlds-section {
  background:linear-gradient(135deg, rgba(123,47,168,.22) 0%, rgba(0,183,184,.12) 100%);
  border:1px solid rgba(123,47,168,.38);
  border-radius:16px; padding:28px 32px;
}
.events-worlds-header {
  display:flex; align-items:center; gap:16px;
  font-family:var(--rw-font-display); font-weight:800;
  font-size:22px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.75); margin-bottom:20px;
}
.events-worlds-globe { font-size:32px; line-height:1; }
.events-worlds-layout {
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
}
.events-worlds-body { display:flex; flex-direction:column; gap:10px; flex:1; }
.ew-stats-row {
  display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%;
}
.ew-tiles {
  display:flex; flex-direction:row; gap:10px;
  flex-shrink:0;
}
.ew-tile {
  background:rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.15);
  border-radius:12px; padding:12px 20px; text-align:center; min-width:130px;
}
.ew-tile-val {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:36px; line-height:1; letter-spacing:-.01em;
  font-variant-numeric:tabular-nums; color:#fff;
}
.ew-tile-label {
  font-size:13px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:4px;
}
.ew-division-name {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:56px; line-height:1.05; color:#fff;
}
.ew-rank-num {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:34px; line-height:1; color:rgba(255,255,255,.9);
}
.ew-finish-pill {
  display:inline-flex; align-items:center;
  border:2px solid rgba(255,255,255,.3); border-radius:999px;
  padding:8px 24px; width:fit-content;
  font-family:var(--rw-font-display); font-weight:800;
  font-size:30px; color:#fff;
}
.ew-einstein-block {
  background:rgba(255,196,0,.12); border:1px solid rgba(255,196,0,.35);
  border-radius:12px; padding:14px 22px; margin-top:10px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.ew-einstein-label {
  font-family:var(--rw-font-display); font-weight:900;
  font-size:34px; line-height:1; color:rgba(255,255,255,.9);
}
.ew-einstein-result {
  font-family:var(--rw-font-display); font-weight:800;
  font-size:28px; color:var(--rw-gold, #ffd35a); line-height:1.1;
  text-align:right; flex-shrink:0;
}

/* ── Awards trophy background ────────────────────────────────── */
.awards-trophy-bg {
  position:absolute; right:-50px; bottom:-80px;
  color:rgba(255,255,255,.07); pointer-events:none; z-index:0;
}
.awards-trophy-bg svg { width:560px; height:620px; }
.awards-slide > *:not(.awards-trophy-bg) { position:relative; z-index:1; }

/* ── Record slide — losing-record pushed message ─────────────── */
.record-pushed {
  font-size:34px; font-weight:600; font-style:italic;
  color:rgba(255,255,255,.75); line-height:1.35;
  margin-top:32px; padding:0 20px;
}

/* ── Summary slide — REWIND page CTA ────────────────────────── */
.summary-rewind-cta {
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  margin-top:20px; text-decoration:none;
  padding:16px 20px; border-radius:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  transition:background .2s ease;
}
.summary-rewind-cta:hover { background:rgba(255,255,255,.12); }
.summary-rewind-cta-text {
  font-size:18px; font-weight:600; color:rgba(255,255,255,.65);
  line-height:1.4; letter-spacing:.01em;
}
.summary-rewind-logo {
  height:32px; width:auto; display:block;
  filter:brightness(0) invert(1); opacity:.85;
}

/* ── End overlay — REWIND page CTA ──────────────────────────── */
