:root {
  color-scheme: dark;
  --night: #02050c;
  --navy: #050b18;
  --navy-raised: #0a1325;
  --navy-soft: #101b31;
  --gold: #d3a94e;
  --gold-bright: #ffe39a;
  --gold-muted: #8f7134;
  --violet: #6c285e;
  --crimson: #8d263f;
  --ivory: #f7f1e6;
  --muted: #b2b0b2;
  --line: rgba(222, 179, 82, 0.24);
  --line-strong: rgba(255, 224, 143, 0.48);
  --good: #a9dbb1;
  --bad: #f19b90;
  --page: 1160px;
  --font-display: "Rajdhani", "Bahnschrift", "Arial Nova Cond", "Segoe UI", sans-serif;
  --font-ornate: "Cinzel", Georgia, serif;
  --font-body: "Rajdhani", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
}

html[lang="ar"] {
  --font-display: "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  --font-body: "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;
}

* {
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
}
html {
  min-width: 280px;
  scroll-behavior: smooth;
  background: var(--night);
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  color: var(--ivory);
  background:
    radial-gradient(circle at 12% 18%, rgba(87, 35, 89, 0.13), transparent 28rem),
    linear-gradient(150deg, #02050c, #070d1b 54%, #02040a);
  font: 400 16px/1.65 var(--font-body);
  text-rendering: optimizeLegibility;
}
body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.18;
  background-image: linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.012) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}

body.home,
body.home * { cursor: none !important; }

body.home img,
body.home video {
  -webkit-user-drag: none;
  user-select: none;
}
.site-game-cursor {
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
  display: none;
  pointer-events: none;
  user-select: none;
  transform: translate3d(-9px, -14px, 0);
  contain: layout style paint;
  will-change: transform;
}
.site-game-cursor.is-visible { display: block; }

button,
input { font: inherit; }
button { color: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
img { max-width: 100%; }
a { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: -999px;
  padding: 10px 14px;
  color: #070703;
  background: var(--gold-bright);
  border-radius: 6px;
}
.skip-link:focus-visible { left: 10px; }

.site-shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.page-width {
  width: min(var(--page), calc(100% - 32px));
  margin-inline: auto;
}

.site-header {
  position: relative;
  z-index: 20;
  width: min(var(--page), calc(100% - 28px));
  min-height: 92px;
  margin: 0 auto;
  padding: 12px 0;
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
}
.site-logo {
  display: block;
  width: clamp(176px, 46vw, 250px);
  flex: 0 1 auto;
  line-height: 0;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.62));
  animation: brand-gold-pulse 4.8s ease-in-out infinite;
}
.site-logo:only-child { margin-inline: auto; }
.site-logo img { display: block; width: 100%; height: auto; }
.site-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}
.site-nav a,
.site-nav button {
  min-height: 42px;
  padding: 9px 11px;
  color: #c9c4bd;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav button { color: var(--gold-bright); border: 1px solid var(--line); }
.site-nav a:hover,
.site-nav button:hover { color: var(--ivory); background: rgba(255,255,255,0.045); }

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 4px;
}

.hero-desktop { display: none; }
.portrait-nav-toggle,
.portrait-nav-scrim { display: none; }

@media (min-width: 641px) and (orientation: landscape) {
  .home .site-shell > .site-header,
  .hero-mobile { display: none; }

  .hero-desktop {
    position: relative;
    min-height: 100svh;
    display: grid;
    place-items: center;
    overflow: clip;
    isolation: isolate;
    background: #000;
    border-bottom: 1px solid var(--line);
  }

  .desktop-stage {
    position: relative;
    width: min(100vw, calc(100svh * 1672 / 941));
    aspect-ratio: 1672 / 941;
    flex: none;
    overflow: hidden;
    container-type: inline-size;
    contain: layout paint style;
    isolation: isolate;
    background: #000;
  }

  .desktop-stage-art,
  .desktop-stage-art img,
  .desktop-stage-edge-fade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .desktop-stage-art img {
    display: block;
    max-width: none;
    object-fit: cover;
  }

  .desktop-stage-edge-fade {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, #000 0%, transparent 4.5%, transparent 95.5%, #000 100%);
  }

  .desktop-stage-header {
    position: absolute;
    z-index: 5;
    inset: 0;
    pointer-events: none;
  }

  .desktop-stage-logo {
    position: absolute;
    top: 0.8%;
    left: 35.5%;
    width: 29%;
    display: block;
    pointer-events: none;
    line-height: 0;
    filter: drop-shadow(0 0.45cqw 0.8cqw rgba(0, 0, 0, 0.78));
    animation: brand-gold-pulse 4.8s ease-in-out infinite;
  }

  .desktop-stage-logo img {
    width: 100%;
    height: auto;
    display: block;
  }

  .desktop-stage-nav {
    position: absolute;
    top: 3.1%;
    display: flex;
    align-items: center;
    gap: 0.45cqw;
    pointer-events: auto;
  }

  .stage-nav-indicator { display: none; }

  .desktop-stage-nav-left { left: 4.8%; }
  .desktop-stage-nav-right { right: 2.8%; }

  .desktop-stage-nav a,
  .desktop-stage-nav button {
    min-width: 5.9cqw;
    min-height: 2.75cqw;
    padding: 0.62cqw 0.82cqw;
    color: #d7d1c5;
    background: rgba(2, 5, 12, 0.72);
    border: 1px solid rgba(222, 179, 82, 0.25);
    border-radius: 0.22cqw;
    font: 750 0.76cqw/1 var(--font-display);
    letter-spacing: 0.08em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
  }

  .desktop-stage-nav a:hover,
  .desktop-stage-nav button:hover {
    color: var(--gold-bright);
    background: rgba(9, 15, 27, 0.92);
    border-color: var(--line-strong);
  }

  .desktop-ra-card {
    position: absolute;
    z-index: 4;
    top: 25.2%;
    left: 73.05%;
    width: 8.45%;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    pointer-events: none;
    contain: layout style;
    isolation: isolate;
    backface-visibility: hidden;
    will-change: transform;
    transform: rotate(-6.5deg);
    transform-origin: 50% 50%;
    clip-path: polygon(4% 4%, 94% 0%, 100% 95%, 9% 100%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .desktop-god-canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    max-width: 100%;
    display: block;
    opacity: 0;
    pointer-events: none;
    user-select: none;
    transform: translate(-50%, -50%);
  }
  .desktop-god-canvas.is-ready { opacity: 1; }

  .desktop-stage-copy {
    position: absolute;
    z-index: 3;
    top: 27.2%;
    left: 23%;
    width: 46%;
    color: var(--ivory);
    text-align: center;
    text-shadow: 0 0.24cqw 0.9cqw rgba(0, 0, 0, 0.88);
  }

  .desktop-stage-eyebrow {
    margin: 0 0 0.75cqw;
    color: var(--gold-bright);
    font: 760 0.75cqw/1.2 var(--font-display);
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }

  .desktop-stage-copy h1 {
    margin: 0;
    color: #fffaf0;
    font: 850 3.45cqw/0.92 var(--font-display);
    font-stretch: condensed;
    letter-spacing: -0.045em;
    text-transform: uppercase;
  }

  .desktop-stage-lead {
    width: 92%;
    margin: 1.15cqw auto 0;
    color: #ded9cf;
    font: 520 1.02cqw/1.45 var(--font-body);
  }

  .desktop-stage-actions {
    margin-top: 1.5cqw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85cqw;
  }

  .stage-button {
    width: 15.8cqw;
    min-height: 3.45cqw;
    padding: 0.7cqw 1.2cqw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 0.3cqw;
    font: 820 0.84cqw/1 var(--font-display);
    letter-spacing: 0.085em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 0.55cqw 1.35cqw rgba(0, 0, 0, 0.54);
    transition: filter 160ms ease, box-shadow 160ms ease;
  }

  .stage-button:hover { filter: brightness(1.1); }
  .stage-button-primary {
    color: #120d04;
    background: linear-gradient(180deg, #fff0b2, #c38d2e 54%, #8b5717);
    border-color: #ffe8a0;
  }
  .stage-button-secondary {
    color: #f7f0e7;
    background: linear-gradient(180deg, rgba(36, 31, 73, 0.95), rgba(8, 10, 29, 0.96));
    border-color: rgba(230, 190, 93, 0.72);
    animation: action-gold-pulse 4.8s ease-in-out infinite;
  }

  .desktop-stage-proof {
    position: absolute;
    z-index: 3;
    left: 9%;
    bottom: 3.2%;
    width: 82%;
    min-height: 10.4%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    color: var(--ivory);
    background: linear-gradient(180deg, rgba(7, 13, 27, 0.88), rgba(1, 4, 11, 0.94));
    border: 1px solid rgba(235, 190, 86, 0.5);
    border-radius: 0.35cqw;
    box-shadow: 0 0.7cqw 1.8cqw rgba(0, 0, 0, 0.64);
    overflow: hidden;
  }

  .desktop-stage-proof div {
    padding: 0.75cqw 0.65cqw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .desktop-stage-proof div + div { border-left: 1px solid rgba(222, 179, 82, 0.24); }
  .desktop-stage-proof strong {
    color: var(--gold-bright);
    font: 820 1.16cqw/1.05 var(--font-display);
  }
  .desktop-stage-proof span {
    margin-top: 0.3cqw;
    color: #bbb6ae;
    font: 720 0.64cqw/1.1 var(--font-body);
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }
}

.hero {
  position: relative;
  min-height: min(790px, calc(100svh - 88px));
  padding: 64px 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  isolation: isolate;
  overflow: clip;
  border-bottom: 1px solid var(--line);
}
.hero-backdrop,
.hero-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
}
.hero-backdrop img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center bottom; }

@media (min-width: 641px) and (min-aspect-ratio: 2 / 1) {
  .hero-backdrop {
    display: flex;
    justify-content: center;
    background: #000;
  }

  .hero-backdrop img {
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: contain;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
  }
}

.hero-shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(2,5,12,0.08), rgba(2,5,12,0.2) 45%, rgba(2,5,12,0.94) 100%),
    linear-gradient(90deg, rgba(2,5,12,0.94), rgba(2,5,12,0.58) 75%, rgba(2,5,12,0.2));
}
.hero-content { padding-top: env(safe-area-inset-top); }
.eyebrow,
.section-kicker,
.page-heading {
  margin: 0 0 12px;
  color: var(--gold);
  font: 750 12px/1.35 var(--font-display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.hero h1,
.signal-card h2,
.format-copy h2,
.community-section h2,
.form-inner h2,
.page-title,
.prose h2 {
  font-family: var(--font-display);
  font-stretch: condensed;
  text-wrap: balance;
}
.hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--ivory);
  font-size: clamp(46px, 13vw, 82px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  text-shadow: 0 4px 28px rgba(0,0,0,0.72);
}
.hero-lead {
  max-width: 660px;
  margin: 24px 0 0;
  color: #d4d0ca;
  font-size: clamp(17px, 4.8vw, 21px);
  line-height: 1.55;
}
.hero-actions {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.button {
  min-height: 50px;
  padding: 13px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 7px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.075em;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-primary {
  color: #110e07;
  background: linear-gradient(180deg, #ffe9a6, #c99b3c);
  border-color: #ffecb5;
  box-shadow: 0 12px 30px rgba(211,169,78,0.18);
}
.button-primary:hover { box-shadow: 0 0 0 4px rgba(211,169,78,0.1), 0 14px 34px rgba(211,169,78,0.24); }
.button-secondary {
  color: var(--ivory);
  background: rgba(5,11,24,0.78);
  border-color: var(--line-strong);
  backdrop-filter: blur(10px);
}
.button-secondary:hover { background: rgba(15,25,47,0.92); border-color: var(--gold-bright); }
.hero-actions .button-secondary { animation: action-gold-pulse 4.8s ease-in-out infinite; }
.button:disabled { opacity: 0.56; transform: none; }

.proof-strip {
  margin-top: 54px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: rgba(3,8,18,0.78);
  border: 1px solid var(--line);
  border-radius: 10px;
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.proof-strip div { min-height: 82px; padding: 16px 12px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.proof-strip div:nth-child(odd) { border-right: 1px solid var(--line); }
.proof-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
.proof-strip strong { color: var(--gold-bright); font: 800 19px/1.15 var(--font-display); letter-spacing: -0.02em; }
.proof-strip span { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.account-actions { scroll-margin-top: 24px; }
.form-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-10px);
  visibility: hidden;
  transition: max-height 440ms ease, opacity 220ms ease, transform 220ms ease, visibility 0s linear 440ms;
}
.form-panel.open {
  max-height: 1500px;
  opacity: 1;
  transform: none;
  visibility: visible;
  transition: max-height 440ms ease, opacity 220ms ease 60ms, transform 220ms ease 60ms, visibility 0s;
}
.form-inner,
.content-card {
  max-width: 760px;
  margin: 24px auto 0;
  padding: clamp(24px, 6vw, 44px);
  background: linear-gradient(145deg, rgba(13,23,42,0.98), rgba(3,7,16,0.99));
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 28px 70px rgba(0,0,0,0.42), inset 0 1px rgba(255,255,255,0.03);
}
.form-inner h2 { margin: 0; font-size: clamp(28px, 8vw, 40px); line-height: 1.08; }
.panel-lead,
.lead { margin: 8px 0 24px; color: var(--muted); }
#registerForm { display: grid; grid-template-columns: 1fr; gap: 2px 20px; }
.field-group { min-width: 0; }
label { display: block; margin: 0 0 6px; color: #d3c9b8; font-size: 12px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
input {
  width: 100%;
  min-height: 50px;
  margin: 0 0 9px;
  padding: 12px 14px;
  color: var(--ivory);
  background: #050b17;
  border: 1px solid rgba(211,169,78,0.28);
  border-radius: 7px;
  box-shadow: inset 0 2px 7px rgba(0,0,0,0.38);
}
input:focus { outline: 0; background: #091326; border-color: var(--gold-bright); box-shadow: 0 0 0 3px rgba(211,169,78,0.11); }
input::placeholder { color: #716e6d; }
.stage-register-panel input { margin-bottom: 4px; }
.stage-register-panel input:focus:invalid {
  border-color: rgba(211, 169, 78, 0.72);
}
.stage-register-panel input:invalid:not(:focus):not(:placeholder-shown) {
  border-color: rgba(185, 67, 57, 0.78);
  box-shadow: inset 0 2px 7px rgba(0,0,0,0.38), 0 0 0 1px rgba(185, 67, 57, 0.12);
}
.field-feedback {
  min-height: 14px;
  margin: 0 0 7px;
  color: #8e8a83;
  font-size: 11px;
  line-height: 1.25;
}
.field-feedback.good { color: #8fc997; }
.field-feedback.warn { color: #d5aa62; }
.field-feedback.bad { color: #df7569; }
.field-feedback.checking {
  color: #d7bd7e;
  animation: registration-check-pulse 900ms ease-in-out infinite alternate;
}
.password-strength {
  width: 100%;
  height: 4px;
  margin: 1px 0 5px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
}
.password-strength-fill {
  display: block;
  width: 0;
  height: 100%;
  background: #6d2520;
  border-radius: inherit;
  transition: width 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.password-strength[data-strength="1"] .password-strength-fill { width: 25%; background: #a83b31; }
.password-strength[data-strength="2"] .password-strength-fill { width: 50%; background: #c37d35; }
.password-strength[data-strength="3"] .password-strength-fill { width: 75%; background: #c9ad59; }
.password-strength[data-strength="4"] .password-strength-fill {
  width: 100%;
  background: #76b77c;
  box-shadow: 0 0 8px rgba(118, 183, 124, 0.34);
}
@keyframes registration-check-pulse {
  from { opacity: 0.62; }
  to { opacity: 1; }
}
.hint { margin: 0 0 16px; color: #858284; font-size: 13px; }
.form-submit { width: 100%; margin-top: 8px; }
.stage-register-panel #registerSubmit,
.stage-register-panel #forgotSubmit {
  color: #fdf3b8;
  background: linear-gradient(180deg, #9b3426 0%, #700607 32%, #490201 64%, #200201 100%);
  border-color: #ecc273;
  box-shadow:
    inset 0 1px 0 rgba(253, 243, 184, 0.3),
    0 0 0 1px rgba(94, 45, 14, 0.75),
    0 10px 26px rgba(56, 2, 1, 0.38),
    0 0 18px rgba(190, 136, 70, 0.12);
  text-shadow: 0 1px 1px rgba(32, 2, 1, 0.9);
}
.stage-register-panel #registerSubmit:hover,
.stage-register-panel #forgotSubmit:hover {
  background: linear-gradient(180deg, #b44935 0%, #7f090a 32%, #570302 64%, #280201 100%);
  border-color: #f9e097;
  box-shadow:
    inset 0 1px 0 rgba(253, 243, 184, 0.38),
    0 0 0 1px rgba(94, 45, 14, 0.82),
    0 12px 30px rgba(56, 2, 1, 0.44),
    0 0 22px rgba(236, 194, 115, 0.2);
}
.account-help { margin: 20px 0 0; color: var(--muted); text-align: center; }
.recovery-toggle { padding: 0; color: var(--gold-bright); background: transparent; border: 0; border-bottom: 1px solid var(--gold-muted); font-weight: 700; }
.reset-inline.open { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.reset-inline h2 { font-size: 25px; }
.msg { min-height: 26px; margin-top: 16px; color: var(--muted); }
.msg.bad { color: var(--bad); }
.msg.good { color: var(--good); }
.countdown { font-size: 17px; font-weight: 700; text-align: center; }
.stage-register-panel .msg.countdown {
  min-height: 0;
  margin: 1.1cqw auto 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.42em;
  max-width: 92%;
  color: #f2e7c4;
  font-size: 1.18cqw;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}
.stage-register-panel .register-countdown-value {
  min-width: 1.25em;
  color: #f4cb68;
  font: 900 2.9cqw/0.9 var(--font-display);
  text-align: center;
  text-shadow: 0 0 0.7cqw rgba(239, 199, 102, 0.38);
}

.signal-section,
.format-section,
.community-section { padding-block: clamp(68px, 10vw, 120px); }
.signal-section { display: grid; gap: 16px; }
.signal-card {
  min-width: 0;
  padding: clamp(25px, 6vw, 42px);
  background: linear-gradient(150deg, rgba(12,23,43,0.97), rgba(4,8,18,0.98));
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 20px 54px rgba(0,0,0,0.28);
}
.signal-card h2,
.format-copy h2,
.community-section h2 { margin: 0; font-size: clamp(32px, 9vw, 56px); line-height: 1.03; letter-spacing: -0.035em; }
.signal-title { margin: 22px 0 2px; color: var(--gold-bright); font-size: 20px; font-weight: 750; }
.signal-meta { margin: 0; color: #89868a; font-size: 13px; }
.release-notes { margin: 22px 0 0; padding: 0; list-style: none; }
.release-notes li { position: relative; padding: 9px 0 9px 23px; color: #c6c2bd; border-top: 1px solid rgba(211,169,78,0.11); }
.release-notes li::before { position: absolute; top: 14px; left: 2px; width: 8px; height: 8px; content: ""; background: var(--gold); transform: rotate(45deg); }
.duelist-card { position: relative; overflow: hidden; }
.duelist-card::after { position: absolute; right: -80px; bottom: -120px; width: 280px; height: 280px; content: ""; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 26px rgba(211,169,78,0.025), 0 0 0 52px rgba(108,40,94,0.03); }
.duelist-count { position: relative; z-index: 1; margin: 24px 0 6px; color: var(--gold-bright); font: 850 clamp(58px, 18vw, 96px)/0.95 var(--font-display); letter-spacing: -0.05em; }
.duelist-card > p:last-child { position: relative; z-index: 1; max-width: 420px; color: var(--muted); }

.format-section { display: grid; gap: 34px; align-items: center; border-top: 1px solid rgba(211,169,78,0.1); }
.format-art {
  position: relative;
  width: min(100%, 440px);
  margin-inline: auto;
  isolation: isolate;
}
.format-art::before { position: absolute; z-index: -1; inset: 8% -7% -3%; content: ""; background: radial-gradient(circle, rgba(211,169,78,0.22), rgba(108,40,94,0.12) 48%, transparent 72%); filter: blur(18px); }
.format-art img { display: block; width: 100%; height: auto; aspect-ratio: 7 / 10; object-fit: cover; border: 1px solid var(--line-strong); border-radius: 10px; box-shadow: 0 28px 70px rgba(0,0,0,0.55); }
.format-copy > p { margin: 22px 0; color: #c8c4bf; font-size: 18px; }
.feature-list { margin: 26px 0 0; padding: 0; list-style: none; }
.feature-list li { position: relative; padding: 13px 0 13px 30px; border-top: 1px solid rgba(211,169,78,0.13); }
.feature-list li::before { position: absolute; left: 4px; color: var(--gold); content: "ÃƒÆ’Ã‚Â¢Ãƒâ€¦Ã¢â‚¬Å“Ãƒâ€šÃ‚Â¦"; }

.community-section { display: grid; gap: 28px; border-top: 1px solid rgba(211,169,78,0.1); }
.community-intro > p { max-width: 680px; margin: 22px 0; color: var(--muted); font-size: 18px; }
.text-link { color: var(--gold-bright); font-weight: 750; text-decoration: none; border-bottom: 1px solid var(--gold-muted); }
.support-card {
  padding: clamp(24px, 6vw, 38px);
  display: grid;
  gap: 22px;
  background: linear-gradient(150deg, rgba(16,24,46,0.98), rgba(7,10,22,0.98));
  border: 1px solid var(--line);
  border-radius: 12px;
}
.support-card h2 { font-size: clamp(28px, 8vw, 42px); }
.support-card p { color: var(--muted); }
.support-link { margin-top: 8px; }
.support-token {
  position: relative;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 2px solid var(--gold);
  border-radius: 50%;
  background: radial-gradient(circle at 38% 30%, #ffe9a1, #b27f25 58%, #5c3c11 100%);
  box-shadow: 0 0 0 8px rgba(211,169,78,0.06), 0 14px 30px rgba(0,0,0,0.35);
  animation: token-float 3.8s ease-in-out infinite;
}
.support-token::before,
.support-token::after { position: absolute; content: ""; background: #5c3c11; }
.support-token::before { width: 18px; height: 28px; border-radius: 50%; border: 4px solid #5c3c11; background: transparent; }
.support-token::after { width: 5px; height: 32px; top: 38px; }
.support-token span { width: 30px; height: 5px; margin-top: 19px; background: #5c3c11; }
.supporters { margin-top: 20px; padding-top: 16px; display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.supporters strong { color: var(--gold); letter-spacing: 0.1em; text-transform: uppercase; }

.site-footer {
  width: min(var(--page), calc(100% - 28px));
  margin: auto auto 0;
  padding: 28px 0 calc(28px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #8f8b88;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.site-footer > div { display: flex; flex-direction: column; }
.site-footer strong { color: var(--gold); font: 800 15px var(--font-display); text-transform: uppercase; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.site-footer a,
.content-card a,
.prose a { color: var(--gold-bright); text-decoration: none; border-bottom: 1px solid var(--gold-muted); }

.page-main { width: min(780px, calc(100% - 28px)); margin: auto; padding: 44px 0 64px; }
.page-heading { text-align: center; }
.page-title { margin: 0 0 26px; font-size: clamp(32px, 10vw, 52px); line-height: 1.05; text-align: center; }
.foot { color: var(--muted); }
.prose p { margin: 0 0 18px; color: #bbb7b1; }
.prose h2 { margin: 34px 0 12px; color: var(--gold-bright); font-size: 24px; }
.callout { padding: 16px 18px; color: var(--ivory) !important; background: rgba(211,169,78,0.06); border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 6px; font-weight: 650; }

@keyframes token-float {
  0%, 100% { transform: translateY(0) rotate(-2deg); box-shadow: 0 0 0 8px rgba(211,169,78,0.06), 0 14px 30px rgba(0,0,0,0.35); }
  50% { transform: translateY(-5px) rotate(2deg); box-shadow: 0 0 0 11px rgba(211,169,78,0.035), 0 20px 34px rgba(0,0,0,0.42); }
}
@keyframes brand-gold-pulse {
  0%, 100% { filter: drop-shadow(0 8px 18px rgba(0,0,0,0.62)) drop-shadow(0 0 2px rgba(211,169,78,0.14)); }
  50% { filter: drop-shadow(0 8px 18px rgba(0,0,0,0.62)) drop-shadow(0 0 9px rgba(255,227,154,0.3)); }
}
@keyframes action-gold-pulse {
  0%, 100% { box-shadow: 0 0 0 rgba(211,169,78,0); }
  50% { box-shadow: 0 0 20px rgba(211,169,78,0.16); }
}
@keyframes stage-button-alpha-pulse {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(211,169,78,0)); }
  50% { filter: drop-shadow(0 0 0.58cqw rgba(255,203,87,0.34)); }
}
@media (min-width: 560px) {
  .hero-actions { flex-direction: row; }
  .button { min-width: 190px; }
  #registerForm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-name,
  #registerForm .form-submit { grid-column: 1 / -1; }
  .support-card { grid-template-columns: auto 1fr; align-items: start; }
}

@media (min-width: 760px) {
  .site-header { min-height: 112px; }
  .site-logo { width: 290px; }
  .site-nav { gap: 8px; }
  .site-nav a,
  .site-nav button { padding-inline: 15px; }
  .hero { min-height: 690px; padding-top: 90px; }
  .hero-content { padding-right: 42%; }
  .hero h1 { font-size: clamp(64px, 7vw, 92px); }
  .hero-lead { font-size: 20px; }
  .proof-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .proof-strip div { min-height: 96px; }
  .proof-strip div:not(:last-child) { border-right: 1px solid var(--line); }
  .proof-strip div:nth-child(-n+2) { border-bottom: 0; }
  .signal-section { grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); }
  .format-section { grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr); gap: clamp(48px, 8vw, 100px); }
  .community-section { grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr); align-items: start; }
  .site-footer { flex-direction: row; justify-content: space-between; align-items: flex-end; }
  .site-footer nav { justify-content: flex-end; }
}

@media (max-width: 640px) {
  .site-header { flex-wrap: wrap; justify-content: center; padding-top: calc(10px + env(safe-area-inset-top)); }
  .site-logo { width: min(240px, 68vw); }
  .site-nav { width: 100%; margin: 0; justify-content: center; overflow-x: auto; scrollbar-width: none; }
  .site-nav::-webkit-scrollbar { display: none; }
  .site-nav a { display: none; }
  .site-nav button { width: min(260px, 100%); }
  .hero { min-height: 760px; min-height: max(760px, calc(100svh - 132px)); padding-top: clamp(54px, 11svh, 100px); }
  .hero-backdrop img { object-position: center bottom; }
  .hero-shade {
    background:
      linear-gradient(180deg, rgba(2,5,12,0.1), rgba(2,5,12,0.48) 52%, rgba(2,5,12,0.96) 82%),
      linear-gradient(90deg, rgba(2,5,12,0.62), rgba(2,5,12,0.34), rgba(2,5,12,0.62));
  }
  .hero-content { text-align: center; }
  .hero h1 { margin-inline: auto; font-size: clamp(45px, 15vw, 66px); }
  .hero-lead { margin-inline: auto; }
  .eyebrow { max-width: 300px; margin-inline: auto; }
  .proof-strip { width: calc(100% - 20px); }
}

@media (max-width: 350px) {
  .page-width { width: calc(100% - 20px); }
  .hero h1 { font-size: 42px; }
  .hero-lead { font-size: 16px; }
  .proof-strip strong { font-size: 16px; }
  .proof-strip span { font-size: 10px; }
  .form-inner,
  .content-card,
  .signal-card,
  .support-card { padding-inline: 18px; }
}

/* Desktop one-slide composition. Every visible element shares the 1672x941 stage. */
body.home {
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: #000;
}
.home .site-shell,
.home main { height: 100%; min-height: 0; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.stage-disclaimer-panel {
  position: absolute;
  z-index: 22;
  --glass-fit-scale: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: #f5f2eb;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.035) 42%, rgba(1, 8, 18, 0.18)),
    rgba(7, 15, 28, 0.48);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    0 1.4cqw 4.5cqw rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -1px 0 rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px) scale(0.985);
}
.stage-register-panel,
.stage-discord-glass-panel,
.stage-donation-glass-panel {
  transform-origin: center center;
  scale: var(--glass-fit-scale, 1);
}
.stage-disclaimer-panel::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 24%);
}
.stage-disclaimer-panel.is-open {
  visibility: visible;
  pointer-events: auto;
  -webkit-backdrop-filter: blur(16px) saturate(138%);
  backdrop-filter: blur(16px) saturate(138%);
  animation: disclaimer-glass-in 420ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
.stage-disclaimer-panel.is-closing {
  visibility: visible;
  pointer-events: none;
  -webkit-backdrop-filter: blur(16px) saturate(138%);
  backdrop-filter: blur(16px) saturate(138%);
  animation: disclaimer-glass-out 280ms ease-in forwards;
}
.stage-disclaimer-heading,
.stage-disclaimer-scroll {
  position: relative;
  z-index: 1;
}
.stage-disclaimer-heading p,
.stage-disclaimer-heading h2,
.stage-disclaimer-scroll p,
.stage-disclaimer-scroll h3 {
  margin: 0;
}
.stage-disclaimer-scroll {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  cursor: none !important;
}
.stage-news-scroll {
  --glass-scrollbar-inline-offset: 8px;
  padding-right: 32px;
}
.stage-disclaimer-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.stage-glass-scrollbar {
  position: absolute;
  z-index: 4;
  width: 8px;
  display: none;
  overflow: hidden;
  pointer-events: auto;
  cursor: none !important;
  user-select: none;
  touch-action: none;
  background: rgba(255, 255, 255, 0.055);
  border-radius: 999px;
}
.stage-glass-scrollbar.is-visible { display: block; }
.stage-glass-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 28px;
  cursor: none !important;
  user-select: none;
  touch-action: none;
  background: linear-gradient(180deg, rgba(255, 225, 153, 0.86), rgba(174, 126, 49, 0.8));
  border: 2px solid rgba(7, 15, 28, 0.45);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(218, 166, 61, 0.2);
  will-change: transform, height;
}
.stage-glass-scrollbar-thumb:hover {
  filter: brightness(1.12);
}
#disclaimerPanel > .stage-glass-scrollbar {
  display: none !important;
}
.stage-disclaimer-close {
  position: absolute;
  z-index: 8;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 0;
  pointer-events: auto;
  touch-action: manipulation;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.17);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.stage-disclaimer-close::after {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: inherit;
  pointer-events: auto;
}
.stage-disclaimer-panel.is-open .stage-disclaimer-close,
.stage-disclaimer-panel.is-closing .stage-disclaimer-close {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.stage-disclaimer-close:hover {
  background: rgba(255, 255, 255, 0.16);
}
.stage-disclaimer-contact a {
  color: #f2d68b;
  text-decoration: none;
  border-bottom: 1px solid rgba(242, 214, 139, 0.42);
}
.stage-changelog {
  display: grid;
  gap: 1em;
}
.stage-changelog-status {
  color: rgba(245, 242, 235, 0.72);
}
.stage-changelog-entry {
  padding-top: 1em;
  border-top: 1px solid rgba(231, 181, 71, 0.2);
}
.stage-changelog-entry:first-child {
  padding-top: 0;
  border-top: 0;
}
.stage-changelog-entry[dir="rtl"] {
  text-align: right;
}
.stage-changelog-entry[dir="rtl"] .stage-changelog-note,
.stage-changelog-entry[dir="rtl"] .stage-changelog-detail {
  padding-left: 0;
  padding-right: 1.05em;
}
.stage-changelog-entry[dir="rtl"] .stage-changelog-note::before,
.stage-changelog-entry[dir="rtl"] .stage-changelog-detail::before {
  left: auto;
  right: 0.1em;
}
.stage-changelog-entry-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
}
.stage-changelog-entry-heading h3 {
  margin: 0;
  color: #f3d58d;
  text-transform: none;
}
.stage-changelog-entry-heading time {
  flex: 0 0 auto;
  color: rgba(226, 215, 193, 0.62);
  font-size: 0.82em;
  letter-spacing: 0.04em;
}
.stage-changelog-entry-body {
  margin-top: 0.55em;
  display: grid;
  gap: 0.32em;
}
.stage-changelog-note,
.stage-changelog-detail {
  position: relative;
  padding-left: 1.05em;
}
.stage-changelog-note::before {
  position: absolute;
  top: 0.58em;
  left: 0.1em;
  width: 0.34em;
  height: 0.34em;
  content: "";
  background: #d3a94e;
  transform: rotate(45deg);
}
.stage-changelog-detail {
  padding-left: 2em;
  color: rgba(235, 230, 219, 0.78);
}
.stage-changelog-detail::before {
  position: absolute;
  top: 0.65em;
  left: 1.12em;
  width: 0.42em;
  height: 1px;
  content: "";
  background: rgba(211, 169, 78, 0.52);
}

/* Rankings share the site's glass frame, animations and external gold scrollbar. */
.stage-ranking-panel {
  background:
    radial-gradient(ellipse at 50% -18%, rgba(189, 149, 68, 0.16), transparent 57%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.025) 44%, rgba(0, 7, 22, 0.2)),
    rgba(5, 14, 28, 0.65);
}
.stage-ranking-heading {
  flex: 0 0 auto;
}
.stage-ranking-titleline {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.45em;
}
.stage-ranking-beta {
  color: #d8bc79;
  font: 700 clamp(10px, 0.8cqw, 13px)/1 var(--font-body);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.stage-ranking-heading .stage-ranking-subtitle {
  display: block;
  margin-top: 0.38em;
  color: #cdbd9a;
  font: 600 0.76em/1.35 var(--font-body);
  letter-spacing: 0.065em;
}
.stage-ranking-formats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  flex: 0 0 auto;
  margin-top: 10px;
}
.stage-ranking-formats button {
  min-width: 0;
  min-height: 29px;
  padding: 5px 7px;
  border: 1px solid rgba(219, 174, 90, 0.3);
  border-radius: 6px;
  background: rgba(12, 17, 30, 0.65);
  color: #cbbfa9;
  font: 700 clamp(11px, 0.85vw, 13px)/1.2 var(--font-body);
  cursor: pointer;
}
.stage-ranking-formats button[aria-pressed="true"] {
  color: #ffe4a2;
  background: rgba(183, 132, 54, 0.25);
  border-color: rgba(238, 194, 110, 0.75);
}
.stage-ranking-formats button:focus-visible {
  outline: 2px solid #f7db93;
  outline-offset: 2px;
}
[data-open-ranking][hidden], .stage-ranking-formats button[hidden] { display: none !important; }
.stage-ranking-table {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  margin-top: 0.8em;
  border: 1px solid rgba(219, 174, 90, 0.25);
  border-radius: 11px;
  background: rgba(1, 8, 18, 0.4);
  overflow: hidden;
}
.stage-ranking-columns,
.stage-ranking-row {
  display: grid;
  grid-template-columns: 8% minmax(0, 1fr) 17% 19% 15%;
  align-items: center;
  gap: 0.8%;
  min-width: 0;
  text-align: left;
}
.stage-ranking-columns {
  flex: 0 0 auto;
  min-height: 35px;
  padding: 0 25px 0 12px;
  color: #e8c77f;
  background: linear-gradient(180deg, rgba(181, 130, 53, 0.17), rgba(44, 34, 19, 0.19));
  border-bottom: 1px solid rgba(210, 158, 79, 0.27);
  font: 750 clamp(10px, 0.78vw, 13px)/1.25 var(--font-body);
  letter-spacing: 0.025em;
}
.stage-ranking-columns > :nth-child(3),
.stage-ranking-columns > :nth-child(4),
.stage-ranking-columns > :nth-child(5) { text-align: center; }
.stage-ranking-scroll {
  --glass-scrollbar-inline-offset: 8px;
  flex: 1 1 auto;
  display: block !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0 18px 0 0 !important;
  text-align: left;
}
.stage-ranking-rows { display: grid; }
.stage-ranking-row {
  min-height: 48px;
  padding: 5px 7px 5px 12px;
  border-bottom: 1px solid rgba(255, 232, 181, 0.095);
  color: #f2eee4;
  background: rgba(255, 255, 255, 0.012);
  font: 600 clamp(11px, 0.8vw, 14px)/1.25 var(--font-body);
}
.stage-ranking-row:nth-child(even) { background-color: rgba(255, 255, 255, 0.027); }
.stage-ranking-row:last-child { border-bottom: 0; }
.stage-ranking-row:hover { background-color: rgba(218, 165, 73, 0.105); }
.stage-ranking-top-1 {
  background: linear-gradient(90deg, rgba(232, 185, 78, 0.18), rgba(175, 126, 46, 0.018)) !important;
  box-shadow: inset 3px 0 #e9c779;
}
.stage-ranking-top-2 {
  background: linear-gradient(90deg, rgba(201, 215, 229, 0.125), transparent) !important;
  box-shadow: inset 3px 0 #b9c7d8;
}
.stage-ranking-top-3 {
  background: linear-gradient(90deg, rgba(184, 118, 77, 0.14), transparent) !important;
  box-shadow: inset 3px 0 #bb886a;
}
.stage-ranking-place { color: #b6b0a8; font: 800 1.07em/1.1 var(--font-display); }
.stage-ranking-top-1 .stage-ranking-place { color: #ffe6a2; }
.stage-ranking-top-2 .stage-ranking-place { color: #dee7f1; }
.stage-ranking-top-3 .stage-ranking-place { color: #e8b799; }
.stage-ranking-player { display: flex; align-items: center; gap: 8px; min-width: 0; }
.stage-ranking-avatar {
  display: block;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  object-fit: cover;
  border: 1px solid rgba(235, 204, 131, 0.36);
  border-radius: 7px;
  background: #131824;
  box-shadow: 0 3px 11px rgba(0, 0, 0, 0.28);
}
.stage-ranking-name { min-width: 0; overflow-wrap: anywhere; color: #fff8e8; }
.stage-ranking-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.stage-ranking-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; min-width: 0; }
.stage-ranking-tags:empty { display: none; }
.stage-ranking-tag {
  display: inline-block;
  max-width: 100%;
  padding: 0 3px;
  border: 1px solid currentColor;
  border-radius: 2px;
  background: rgba(4, 5, 8, 0.68);
  color: #c9d0d8;
  font: 700 clamp(7px, 0.52vw, 9px)/12px Arial, sans-serif;
  letter-spacing: 0.04em;
  overflow-wrap: anywhere;
}
.stage-ranking-tag--sky { color: #81d9ff; }
.stage-ranking-tag--rose { color: #ff8f9d; }
.stage-ranking-tag--gold { color: #f3cf65; }
.stage-ranking-tag--green { color: #72d88a; }
.stage-ranking-tag--purple { color: #c59aff; }
.stage-ranking-tag--orange { color: #ffad66; }
.stage-ranking-tag--cyan { color: #63e6dc; }
.stage-ranking-tag--silver { color: #c9d0d8; }
.stage-ranking-tag--lime { color: #b9ee66; }
.stage-ranking-tag--pink { color: #ff9ed2; }
.stage-ranking-tag--blue { color: #82aaff; }
.stage-ranking-tag--red { color: #ff7272; }
.stage-ranking-record,
.stage-ranking-total,
.stage-ranking-rate { text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
.stage-ranking-record { color: #d0d6df; }
.stage-ranking-total { color: #d6ccbc; }
.stage-ranking-rate { color: #f5d48b; font-weight: 800; }
.stage-ranking-status {
  margin: 0;
  padding: 48px 20px;
  color: #c9c5bd;
  text-align: center;
  font: 600 clamp(13px, 1vw, 16px)/1.5 var(--font-body);
}
.stage-ranking-footnote {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  font: 550 clamp(11px, 0.78vw, 13px)/1.45 var(--font-body);
  color: #c4bbab;
}
.stage-ranking-live { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; color: #d6c49a; }
.stage-ranking-live > span:first-child {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #85cdb2;
  box-shadow: 0 0 9px rgba(133, 205, 178, 0.45);
}
html[dir="rtl"] .stage-ranking-panel .stage-ranking-table { direction: ltr; }
html[dir="rtl"] .stage-ranking-panel .stage-ranking-footnote { direction: rtl; }

.stage-donation-glass-scroll {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.stage-donation-glass-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  isolation: isolate;
}
.stage-donation-glass-content::before {
  position: absolute;
  z-index: -1;
  inset: 4% 7%;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 45%, rgba(225, 179, 78, 0.12), transparent 34%),
    radial-gradient(ellipse at center, rgba(78, 47, 13, 0.12), transparent 66%);
}
.stage-donation-glass-message {
  width: 100%;
  max-width: none;
  color: #fff7e7;
  font-weight: 800;
  text-align: center;
  text-wrap: pretty;
  white-space: normal;
}
.stage-donation-glass-message span {
  color: #f1cf7b;
  text-decoration-line: underline;
  text-decoration-color: rgba(241, 207, 123, 0.8);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}
.donation-native-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0;
  box-sizing: border-box;
}
.donation-native-card::before {
  content: none;
}
.donation-native-card::after {
  content: none;
}
.donation-section-divider {
  position: relative;
  z-index: 1;
  width: min(88%, 540px);
  height: 1px;
  margin: 1px 0 2px;
  background: linear-gradient(90deg, transparent, rgba(226, 185, 91, 0.28) 18%, rgba(245, 210, 126, 0.58) 50%, rgba(226, 185, 91, 0.28) 82%, transparent);
  box-shadow: 0 0 8px rgba(225, 179, 78, 0.08);
}
.donation-amount-picker {
  position: relative;
  z-index: 1;
  width: min(100%, 620px);
  display: grid;
  gap: 9px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
}
.donation-amount-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(237, 230, 215, 0.72);
  font-size: 12px;
  font-weight: 750;
}
.donation-amount-heading strong {
  color: #f4d27f;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.donation-amount-presets {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
}
.donation-amount-presets button {
  min-height: 38px;
  padding: 0 8px;
  color: #e4d8ba;
  background: rgba(255, 244, 203, 0.04);
  border: 1px solid rgba(226, 185, 91, 0.19);
  border-radius: 7px;
  font-weight: 800;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, color 120ms ease;
}
.donation-amount-presets button:hover,
.donation-amount-presets button.is-selected {
  color: #171005;
  background: linear-gradient(135deg, #f3d27d, #c9983e 48%, #f0c96d);
  border-color: #f9dda0;
}
.donation-amount-presets button:active { transform: translateY(1px); }
.donation-custom-amount {
  min-height: 40px;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  color: #d9cda9;
  background: rgba(255, 244, 203, 0.035);
  border: 1px solid rgba(226, 185, 91, 0.16);
  border-radius: 7px;
  box-sizing: border-box;
}
.donation-custom-label {
  color: rgba(237, 230, 215, 0.72);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.donation-custom-currency,
.donation-custom-code {
  color: #c9a75c;
  font-weight: 800;
}
.donation-custom-amount input {
  width: 100%;
  min-width: 0;
  color: #fff2c5;
  background: transparent;
  border: 0;
  outline: 0;
  font-weight: 800;
}
.donation-custom-amount input::placeholder { color: rgba(218, 209, 189, 0.36); }
.donation-amount-presets button:focus-visible,
.donation-custom-amount:focus-within {
  outline: 2px solid #fff0bd;
  outline-offset: 2px;
}
.donation-paypal-area {
  position: relative;
  z-index: 2;
  width: min(100%, 620px);
  padding: 16px 16px 15px;
  background:
    linear-gradient(180deg, rgba(255, 244, 203, 0.055), rgba(255, 244, 203, 0.018)),
    rgba(3, 8, 17, 0.34);
  border: 1px solid rgba(226, 185, 91, 0.18);
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 244, 203, 0.035),
    0 6px 18px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
  cursor: default !important;
}
body.home .donation-paypal-area,
body.home .donation-paypal-area *,
body.home .donation-paypal-area iframe {
  cursor: default !important;
}
.donation-paypal-area .donation-paypal-heading {
  margin: 0 0 16px;
  color: #d8bc79;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.donation-paypal-buttons {
  width: 100%;
  min-height: 44px;
  padding: 18px 16px;
  display: grid;
  gap: 10px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 6px;
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.donation-paypal-buttons[hidden] { display: none !important; }
.donation-paypal-unavailable {
  margin: 0;
  padding: 12px 14px;
  color: #ead0a0;
  background: rgba(72, 34, 21, 0.38);
  border: 1px solid rgba(226, 185, 91, 0.25);
  border-radius: 6px;
  font: 600 13px/1.45 var(--font-body);
}
.donation-paypal-unavailable[hidden] { display: none !important; }
.donation-paypal-web-button {
  width: 100%;
  display: block;
}
.donation-paypal-success {
  position: relative;
  z-index: 1;
  width: min(100%, 620px);
  padding: 16px;
  color: #fff0bd;
  background: rgba(29, 91, 55, 0.22);
  border: 1px solid rgba(122, 219, 150, 0.28);
  border-radius: 10px;
  box-sizing: border-box;
}
.donation-paypal-success > span {
  display: block;
  margin-bottom: 3px;
  color: #f5cf77;
  font-size: 20px;
}
.donation-paypal-success strong {
  font: 800 18px/1.15 var(--font-display);
  text-transform: uppercase;
}
.donation-paypal-success p {
  margin: 5px 0 0;
  color: rgba(237, 230, 215, 0.76);
  font-size: 11px;
  font-weight: 650;
}
.donation-native-note {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: -2px 0 0;
  color: rgba(226, 218, 201, 0.72);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.42;
}
.donation-countdown {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(226, 176, 70, 0.16);
  contain: layout style paint;
}
.donation-countdown::before {
  position: absolute;
  inset: 12%;
  content: "";
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 30%, rgba(255, 242, 190, 0.12), transparent 24%),
    linear-gradient(145deg, rgba(31, 24, 15, 0.74), rgba(5, 10, 20, 0.88));
  border: 1px solid rgba(235, 196, 103, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(255, 244, 204, 0.12),
    inset 0 0 22px rgba(217, 158, 54, 0.06);
}
.donation-countdown-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: rotate(-90deg);
}
.donation-countdown-track,
.donation-countdown-progress {
  fill: none;
  stroke-width: 5;
}
.donation-countdown-track {
  stroke: rgba(255, 255, 255, 0.1);
}
.donation-countdown-progress {
  stroke: #efc766;
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 4px rgba(239, 199, 102, 0.58));
}
.donation-countdown.is-counting .donation-countdown-progress {
  animation: donation-ring-countdown 15s linear forwards;
}
.donation-countdown-value {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff4cc;
  line-height: 1;
}
.donation-countdown-value strong {
  font-family: var(--font-display);
  font-weight: 850;
  text-shadow: 0 0 12px rgba(237, 192, 88, 0.28);
}
.donation-countdown-value small {
  color: #c7b98e;
  font-weight: 750;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.donation-premium-divider {
  width: min(76%, 540px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.donation-premium-divider::before,
.donation-premium-divider::after {
  height: 1px;
  flex: 1;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(224, 180, 81, 0.52));
}
.donation-premium-divider::after { transform: scaleX(-1); }
.donation-premium-divider span {
  width: 8px;
  height: 8px;
  margin: 0 10px;
  background: #d9ad4e;
  border: 1px solid #f4d98d;
  transform: rotate(45deg);
  box-shadow: 0 0 10px rgba(226, 176, 70, 0.3);
}
.donation-alternative {
  color: rgba(235, 228, 213, 0.78);
  font-weight: 600;
  text-align: center;
}
.donation-alternative a {
  color: #f2d68b;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(242, 214, 139, 0.45);
}
.donation-alternative a:hover {
  color: #fff0b3;
  text-shadow: 0 0 8px rgba(241, 203, 109, 0.32);
}
.donation-alternative button {
  padding: 0;
  color: #f2d68b;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(242, 214, 139, 0.45);
  font: inherit;
  font-weight: 800;
}
.donation-alternative button:hover {
  color: #fff0b3;
  text-shadow: 0 0 8px rgba(241, 203, 109, 0.32);
}

.stage-discord-glass-scroll {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.stage-discord-glass-content {
  width: 100%;
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.discord-widget-shell {
  width: min(100%, 350px);
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.32);
  line-height: 0;
}
.discord-widget-embed {
  display: block;
  width: 100%;
  height: 500px;
  max-width: 100%;
  border: 0;
  background: #1e1f22;
  cursor: default !important;
}
.stage-register-scroll,
.stage-discord-glass-scroll {
  overflow: visible;
}
.discord-widget-fallback {
  margin: 9px 0 0;
  color: rgba(232, 228, 218, 0.78);
  font: 650 15px/1.35 var(--font-body);
  text-align: center;
}
.discord-widget-fallback a {
  color: #f3d47e;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.discord-widget-fallback a:hover,
.discord-widget-fallback a:focus-visible {
  color: #fff0b0;
  text-shadow: 0 0 8px rgba(241, 203, 109, 0.34);
}
body.home .discord-widget-shell,
body.home .discord-widget-shell *,
body.home .discord-widget-shell iframe {
  cursor: default !important;
}
.discord-channel-preview {
  width: min(100%, 760px);
  overflow: hidden;
  color: #ececf3;
  background:
    linear-gradient(180deg, rgba(36, 38, 49, 0.96), rgba(28, 29, 37, 0.96));
  border: 1px solid rgba(190, 193, 255, 0.15);
  border-radius: 16px;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  text-align: left;
  contain: layout style paint;
}
.discord-channel-preview-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(18, 19, 24, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.discord-channel-hash {
  flex: 0 0 auto;
  color: #949ba4;
  font-weight: 800;
}
.discord-channel-preview-bar > div {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.discord-channel-preview-bar strong {
  color: #f4f5f7;
  font-weight: 800;
  line-height: 1.1;
}
.discord-channel-preview-bar small {
  margin-top: 2px;
  color: #a7abb4;
  line-height: 1.2;
}
.discord-preview-pill {
  flex: 0 0 auto;
  color: #d8d9ff;
  background: rgba(88, 101, 242, 0.18);
  border: 1px solid rgba(116, 126, 255, 0.26);
  border-radius: 999px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.discord-channel-preview-body {
  display: flex;
  align-items: flex-start;
}
.discord-preview-avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  color: #f6e7bb;
  background:
    radial-gradient(circle at 34% 28%, #6e67ff, #3a367d 62%, #211f42);
  border: 1px solid rgba(255, 227, 154, 0.18);
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 850;
  letter-spacing: -0.04em;
}
.discord-preview-message {
  min-width: 0;
  flex: 1;
}
.discord-preview-message-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.discord-preview-message-head strong {
  color: #f2f3f5;
  font-weight: 800;
}
.discord-preview-message-head span {
  padding: 2px 5px;
  color: #fff;
  background: #5865f2;
  border-radius: 4px;
  font-size: 0.68em;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.discord-preview-message p {
  margin: 4px 0 0;
  color: #c7c9cf;
  line-height: 1.4;
}
.discord-preview-file {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(17, 18, 23, 0.54);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
}
.discord-preview-file-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  aspect-ratio: 1;
  color: #f3d27e;
  background: rgba(211, 169, 78, 0.1);
  border: 1px solid rgba(211, 169, 78, 0.2);
  border-radius: 8px;
  font-weight: 900;
}
.discord-preview-file > span:last-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.discord-preview-file strong {
  color: #eceef1;
  font-weight: 750;
}
.discord-preview-file small {
  margin-top: 1px;
  color: #9499a3;
}
.discord-redirect-copy {
  margin: 0;
  color: #e4e1ef;
  font-weight: 750;
  text-align: center;
}
.discord-countdown {
  box-shadow: 0 0 18px rgba(88, 101, 242, 0.15);
}
.discord-countdown .donation-countdown-progress {
  stroke: #8d96ff;
  filter: drop-shadow(0 0 4px rgba(120, 131, 255, 0.52));
}
@keyframes donation-ring-countdown {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: 100; }
}

.desktop-stage.disclaimer-exiting .desktop-stage-copy > :not(.desktop-stage-actions) {
  animation: stage-disclaimer-hide 260ms ease-in forwards !important;
}
.desktop-stage.disclaimer-exiting .stage-button {
  animation: stage-disclaimer-hide 180ms ease-in forwards !important;
}
.desktop-stage.disclaimer-exiting .stage-panel {
  animation: stage-disclaimer-hide 220ms ease-in forwards !important;
}
.desktop-stage.disclaimer-open .desktop-stage-copy,
.desktop-stage.disclaimer-open .desktop-stage-panels {
  pointer-events: none;
}
.desktop-stage.disclaimer-open .desktop-stage-copy > :not(.desktop-stage-actions),
.desktop-stage.disclaimer-open .stage-button,
.desktop-stage.disclaimer-open .stage-panel {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}
.desktop-stage.disclaimer-returning .desktop-stage-copy > :not(.desktop-stage-actions) {
  animation: stage-disclaimer-show 520ms ease-out forwards !important;
}
.desktop-stage.disclaimer-returning .stage-button {
  animation: stage-disclaimer-show 300ms ease-out forwards !important;
}
.desktop-stage.disclaimer-returning .stage-panel {
  animation: stage-disclaimer-show 360ms ease-out forwards !important;
}
.desktop-stage.disclaimer-restored .desktop-stage-copy > :not(.desktop-stage-actions),
.desktop-stage.disclaimer-restored .stage-button,
.desktop-stage.disclaimer-restored .stage-panel {
  opacity: 1;
  visibility: visible;
  animation: none !important;
}

@keyframes stage-disclaimer-hide {
  from { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
  to { opacity: 0; visibility: hidden; transform: translateY(-8px) scale(0.99); }
}
@keyframes stage-disclaimer-show {
  from { opacity: 0; visibility: visible; transform: translateY(-8px) scale(0.99); }
  to { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
}
@keyframes disclaimer-glass-in {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes disclaimer-glass-out {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(10px) scale(0.99); }
}

.decorative-button {
  position: relative;
}
.decorative-button-label {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 70%;
  max-width: 70%;
  min-height: 54%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffe8a3;
  font-family: var(--font-ornate);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.025em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  pointer-events: none;
  transform: translate(-50%, -50%);
  text-shadow:
    0 1px 0 #6d3d0d,
    0 2px 2px rgba(0, 0, 0, 0.95),
    0 0 0.28em rgba(255, 215, 102, 0.36);
}
html[lang="ar"] .decorative-button-label {
  font-family: "Noto Sans Arabic", Tahoma, sans-serif;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

.stage-language-picker {
  position: relative;
  margin-left: auto;
  direction: ltr;
}
.stage-language-toggle {
  min-width: 4.1em;
  min-height: 1.82em;
  padding: 0.15em 0.54em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.36em;
  color: #e2c77e;
  background: rgba(7, 11, 20, 0.78);
  border: 1px solid rgba(222, 179, 82, 0.44);
  border-radius: 6px;
  font: 950 0.86em/1 var(--font-body);
  letter-spacing: 0.055em;
  text-align: center;
  transition: color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}
.stage-language-flag {
  /* Keep localized flag images inside their small UI box, not their 512px source size. */
  display: block;
  flex: 0 0 auto;
  width: 1.34em;
  height: 1.34em;
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
}
.stage-language-short {
  font-family: "Segoe UI Black", "Arial Black", Arial, sans-serif;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.015em;
  -webkit-text-stroke: 0.18px currentColor;
}
.stage-language-name {
  min-width: 0;
  line-height: 1.15;
}
.stage-language-toggle:hover,
.stage-language-toggle:focus-visible {
  color: #ffe6a1;
  border-color: rgba(255, 222, 139, 0.8);
  box-shadow: 0 0 10px rgba(214, 157, 47, 0.26);
}
.stage-language-menu {
  position: absolute;
  z-index: 40;
  right: 0;
  bottom: calc(100% + 8px);
  width: max-content;
  min-width: 150px;
  padding: 6px;
  display: grid;
  gap: 2px;
  color: #e8dfce;
  background: rgba(4, 8, 16, 0.96);
  border: 1px solid rgba(222, 179, 82, 0.5);
  border-radius: 7px;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.58), 0 0 18px rgba(211, 169, 78, 0.08);
}
.stage-language-menu button {
  min-width: 0;
  min-height: 0;
  padding: 7px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #d9d1c3;
  background: transparent;
  border: 0;
  border-radius: 4px;
  font: 700 13px/1.15 var(--font-body);
  text-align: left;
  white-space: nowrap;
}
.stage-language-menu button:hover,
.stage-language-menu button:focus-visible,
.stage-language-menu button.is-active {
  color: #ffe291;
  background: rgba(211, 169, 78, 0.12);
}
.language-suggestion {
  position: absolute;
  z-index: 30;
  right: 2.4%;
  bottom: 8.2%;
  width: min(390px, 30%);
  padding: 12px 14px;
  color: #eee6d7;
  background: rgba(5, 10, 20, 0.9);
  border: 1px solid rgba(224, 180, 79, 0.48);
  border-radius: 9px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.05);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.language-suggestion p {
  margin: 0;
  font: 650 14px/1.35 var(--font-body);
}
.language-suggestion-actions {
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.language-suggestion button {
  padding: 5px 9px;
  color: #f1d78c;
  background: rgba(166, 37, 34, 0.44);
  border: 1px solid rgba(235, 191, 88, 0.46);
  border-radius: 4px;
  font: 750 12px/1.15 var(--font-body);
}
.language-suggestion button:last-child {
  color: #c9c1b3;
  background: rgba(255,255,255,0.035);
  border-color: rgba(255,255,255,0.12);
}

html[dir="rtl"] .stage-disclaimer-panel,
html[dir="rtl"] .stage-panel,
html[dir="rtl"] .desktop-stage-copy,
html[dir="rtl"] .language-suggestion {
  direction: rtl;
}
html[lang="ar"] #newsPanel .stage-disclaimer-heading {
  direction: rtl;
  text-align: right;
}
html[lang="ar"] #newsPanel .stage-news-scroll {
  direction: ltr;
  text-align: left;
}
html[lang="ar"] #rankingPanel .stage-ranking-heading {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] input[type="email"],
html[dir="rtl"] #username,
html[dir="rtl"] #donationCustomAmount,
html[dir="rtl"] .stage-disclaimer-contact,
html[dir="rtl"] .donation-amount-heading strong,
html[dir="rtl"] .donation-amount-presets {
  direction: ltr;
}
html[dir="rtl"] .stage-disclaimer-heading,
html[dir="rtl"] .stage-disclaimer-scroll,
html[dir="rtl"] .stage-panel-body,
html[dir="rtl"] .account-help {
  text-align: right;
}
html[lang="ar"] .stage-tab,
html[lang="ar"] .stage-bottom-meta a,
html[lang="ar"] .stage-panel h2,
html[lang="ar"] .desktop-stage-eyebrow {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

@media (min-width: 641px) and (orientation: landscape) {
  .hero-desktop { height: 100%; min-height: 0; border: 0; }

  .desktop-stage-header {
    height: 6.5%;
    background: linear-gradient(180deg, rgba(2, 5, 13, 0.92), rgba(2, 5, 13, 0.66));
    border-bottom: 1px solid rgba(231, 181, 71, 0.72);
    box-shadow: 0 0.2cqw 0.9cqw rgba(0, 0, 0, 0.64);
  }

  .desktop-stage-header::after {
    position: absolute;
    right: 5%;
    bottom: -1px;
    left: 5%;
    height: 1px;
    content: "";
    z-index: 0;
    background: linear-gradient(90deg, transparent, #d8a744 16%, #f7d67c 50%, #d8a744 84%, transparent);
  }

  .desktop-stage-logo {
    z-index: 2;
    top: calc(100% - 0.9cqw);
    left: 34.25%;
    width: 31.5%;
    opacity: 0;
    transform: translateY(0);
    transform-origin: top center;
    transition:
      top 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      left 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      width 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      transform 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      filter 1250ms ease;
    animation: stage-reveal 800ms ease-out forwards;
  }
  .desktop-stage.disclaimer-exiting .desktop-stage-logo,
  .desktop-stage.disclaimer-open .desktop-stage-logo {
    top: 50%;
    left: 45.4%;
    width: 9.2%;
    opacity: 1;
    transform: translateY(-50%);
    filter: drop-shadow(0 0.2cqw 0.35cqw rgba(0, 0, 0, 0.72));
    animation: none !important;
  }
  .desktop-stage.disclaimer-returning .desktop-stage-logo,
  .desktop-stage.disclaimer-restored .desktop-stage-logo {
    opacity: 1;
    animation: none !important;
  }
  .desktop-stage-nav { top: 0; height: 100%; gap: 0.45cqw; }
  .desktop-stage-nav { z-index: 2; }
  .desktop-stage-nav-left { left: 2.2%; }
  .desktop-stage-nav-right {
    right: 0.45cqw;
    gap: 0.62cqw;
    direction: ltr;
    flex-direction: row;
  }
  html[dir="rtl"] .desktop-stage-nav-left {
    right: 2.2%;
    left: auto;
  }
  html[dir="rtl"] .desktop-stage-nav-right {
    right: auto;
    left: 0.45cqw;
  }
  html[dir="rtl"] .desktop-stage-nav-right .stage-signup {
    order: 1;
  }
  html[dir="rtl"] .desktop-stage-nav-right .stage-language-picker {
    order: 2;
  }
  html[dir="rtl"] .desktop-stage-nav-right .stage-language-menu {
    right: auto;
    left: 0;
  }

  .desktop-stage-nav .stage-tab,
  .desktop-stage-nav .stage-signup {
    position: relative;
    min-width: 0;
    min-height: 0;
    padding: 0.5cqw 0.15cqw;
    color: #e6c986;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font: 700 0.88cqw/1 var(--font-ornate);
    letter-spacing: 0.055em;
    text-shadow: 0 0 0.5cqw rgba(230, 174, 66, 0);
    text-transform: uppercase;
    transition: color 160ms ease, text-shadow 160ms ease;
  }
  .desktop-stage-nav .stage-tab {
    height: 100%;
    padding-right: 0.4cqw;
    padding-left: 0.4cqw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html[lang="es"] .desktop-stage-nav-left .stage-tab,
  html[lang="de"] .desktop-stage-nav-left .stage-tab {
    font-size: 0.79cqw;
  }
  .stage-tab-label {
    display: inline-block;
    line-height: 1;
  }

  .desktop-stage-nav .stage-tab:hover,
  .desktop-stage-nav .stage-tab:focus-visible {
    color: #fff0b0;
    background: transparent;
    border-color: transparent;
    text-shadow: 0 0 0.65cqw rgba(255, 205, 91, 0.78);
  }

  .desktop-stage-nav .stage-tab.active {
    color: #fff3bb;
    text-shadow: 0 0 0.6cqw rgba(255, 207, 91, 0.9);
  }

  .stage-nav-indicator {
    --nav-indicator-x: 0px;
    --nav-indicator-y: 0px;
    --nav-indicator-width: 0;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 1px;
    height: 2px;
    opacity: 0;
    pointer-events: none;
    background: #ffd972;
    box-shadow: 0 0 0.35cqw #ffd972, 0 0 0.85cqw rgba(255, 195, 56, 0.72);
    transform: translate3d(var(--nav-indicator-x), var(--nav-indicator-y), 0) scaleX(var(--nav-indicator-width));
    transform-origin: left center;
    transition:
      transform 420ms cubic-bezier(0.08, 0.82, 0.16, 1),
      opacity 120ms ease;
    will-change: transform, opacity;
  }
  .stage-nav-indicator.is-ready { opacity: 1; }

  .desktop-stage-nav .stage-signup {
    width: 8.7cqw;
    height: 1.69cqw;
    min-height: 0;
    padding: 0;
    aspect-ratio: 1600 / 310;
    border: 0;
    background: url("./assets/button-red-frame-v1.webp") center / contain no-repeat;
  }
  .desktop-stage-nav .stage-signup:hover,
  .desktop-stage-nav .stage-signup:focus-visible {
    color: #ffe39a;
    background: url("./assets/button-red-frame-v1.webp") center / contain no-repeat;
    border-color: transparent;
    box-shadow: none;
  }
  .desktop-stage-nav .stage-signup .decorative-button-label {
    width: 70%;
    max-width: 70%;
    font-size: 0.72cqw;
  }
  html[lang="ar"] .desktop-stage-nav .stage-signup .decorative-button-label {
    width: 72%;
    max-width: 72%;
    font-size: 0.7cqw;
  }
  html[lang="es"] .desktop-stage-nav .stage-signup .decorative-button-label,
  html[lang="pt-BR"] .desktop-stage-nav .stage-signup .decorative-button-label,
  html[lang="fr"] .desktop-stage-nav .stage-signup .decorative-button-label,
  html[lang="de"] .desktop-stage-nav .stage-signup .decorative-button-label {
    width: 74%;
    max-width: 74%;
    font-size: 0.66cqw;
  }

  .stage-nav-divider { width: 1px; height: 2.2cqw; background: rgba(222, 179, 82, 0.42); }

  .desktop-stage-copy { top: 26.2%; left: 25%; width: 50%; }
  .desktop-stage-copy > :not(.desktop-stage-actions) {
    opacity: 0;
    animation: stage-reveal 800ms ease-out forwards;
  }
  .desktop-stage-copy h1 { font-size: 3.15cqw; }
  .desktop-stage-lead { width: 82%; margin-top: 0.85cqw; font-size: 0.94cqw; }
  .desktop-stage-actions {
    margin-top: 1.15cqw;
    flex-direction: column;
    gap: 0.35cqw;
  }
  .stage-button {
    width: 17.2cqw;
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    opacity: 0;
  }
  .stage-button-art {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
  .stage-button-primary {
    animation: stage-reveal 450ms 1100ms ease-out forwards;
  }
  .stage-button-secondary {
    animation:
      stage-reveal 450ms 700ms ease-out forwards,
      stage-button-alpha-pulse 4.8s 1150ms ease-in-out infinite;
  }
  .stage-button .decorative-button-label {
    display: flex;
    width: 74%;
    max-width: 74%;
    font-size: 1.08cqw;
  }
  html[lang="ar"] .stage-button .decorative-button-label {
    width: 72%;
    max-width: 72%;
    font-size: 1.04cqw;
  }
  html[lang="es"] .stage-button .decorative-button-label,
  html[lang="pt-BR"] .stage-button .decorative-button-label,
  html[lang="fr"] .stage-button .decorative-button-label,
  html[lang="de"] .stage-button .decorative-button-label {
    width: 76%;
    max-width: 76%;
    font-size: 0.98cqw;
  }
  .desktop-ra-card {
    top: 21.8%;
    left: 74.15%;
    width: 8.7%;
    height: auto;
    aspect-ratio: 599 / 865;
    overflow: visible;
    transform: rotate(-6.5deg);
    clip-path: none;
    background-size: contain;
    box-shadow: 0 0.35cqw 0.45cqw rgba(0, 0, 0, 0.72);
  }

  .desktop-stage-panels {
    position: absolute;
    z-index: 5;
    right: 3%;
    bottom: 9%;
    left: 3%;
    height: 23.8%;
    display: grid;
    grid-template-columns: 1.14fr 0.98fr 1.14fr;
    gap: 1.1%;
  }

  .stage-panel {
    position: relative;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    color: #eee7d9;
    background: url("./assets/panel-center-v1.webp") center / 100% 100% no-repeat;
    border: 0;
    box-shadow: none;
    clip-path: none;
    overflow: visible;
    opacity: 0;
    animation: stage-reveal 500ms ease-out forwards;
  }
  .stage-panel:nth-child(1) { animation-delay: 1500ms; }
  .stage-panel:nth-child(2) { animation-delay: 1900ms; }
  .stage-panel:nth-child(3) { animation-delay: 2300ms; }

  .stage-panel h2,
  .stage-duelists h2 {
    position: absolute;
    top: 2.05cqw;
    right: 2.35cqw;
    left: 2.35cqw;
    min-height: 1.6cqw;
    padding: 0;
    justify-content: flex-start;
    font-size: 0.86cqw;
    font-weight: 900;
    text-shadow: 0 1px 0.3cqw rgba(0, 0, 0, 0.95);
  }
  .stage-duelists .stage-count-wrap { padding-top: 1.1cqw; }
  .stage-duelists h2 {
    right: 12%;
    left: 12%;
    justify-content: center;
    text-align: center;
    letter-spacing: 0.08em;
  }

  .stage-panel::before,
  .stage-panel::after { content: none; }

  .stage-panel h2 {
    min-height: 3.35cqw;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0.65cqw;
    color: #edca79;
    border-bottom: 0;
    background: transparent;
    font: 760 0.92cqw/1 var(--font-display);
    letter-spacing: 0.025em;
    text-transform: uppercase;
  }
  .stage-panel .update-heading-meta {
    color: #c9b98f;
    font: 600 0.66cqw/1 var(--font-body);
    letter-spacing: 0.04em;
    text-transform: none;
    white-space: nowrap;
  }

  .panel-icon { color: #f1c960; font-size: 1.3cqw; text-shadow: 0 0 0.5cqw rgba(237, 184, 67, 0.36); }
  html[dir="rtl"] .panel-icon { margin-right: 0; margin-left: 0.35cqw; }
  .panel-heart { font-size: 1.08cqw; }
  .panel-people { font-size: 1.4cqw; }
  .stage-panel-body {
    position: absolute;
    top: 4.4cqw;
    right: 2.4cqw;
    bottom: 3.9cqw;
    left: 2.4cqw;
    min-height: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #a97a35 transparent;
  }
  .stage-update .stage-panel-body {
    bottom: 2.65cqw;
    display: flex;
    flex-direction: column;
  }
  .stage-panel p { margin: 0; }
  .stage-panel .signal-title { color: #f6f0e5; font: 700 0.93cqw/1.25 var(--font-display); }
  .stage-panel .release-notes {
    margin: 0.35cqw 0 0.65cqw;
    padding-left: 1.05cqw;
    display: grid;
    gap: 0.08cqw;
    color: #d6d0c5;
    font-size: 0.74cqw;
    line-height: 1.32;
  }
  html[lang="ar"] .stage-panel .release-notes {
    padding-right: 0;
    padding-left: 1.05cqw;
    direction: ltr;
    text-align: left;
    font-size: 0.72cqw;
    line-height: 1.28;
  }
  html[dir="rtl"] .release-notes li { padding-right: 1.15cqw; padding-left: 0; }
  html[dir="rtl"] .release-notes li::before { right: 0.1cqw; left: auto; }
  html[lang="ar"] .stage-update > h2 {
    direction: rtl;
    text-align: right;
  }
  html[lang="ar"] .stage-update .release-notes li {
    padding-right: 0;
    padding-left: 1.15cqw;
  }
  html[lang="ar"] .stage-update .release-notes li::before {
    right: auto;
    left: 0.1cqw;
  }
  .panel-donate {
    position: absolute;
    right: 2.35cqw;
    bottom: 3.1cqw;
    min-width: 9.8cqw;
    min-height: 2.35cqw;
    padding: 0;
    border: 0;
  }
  .panel-link {
    width: 9.8cqw;
    min-width: 9.8cqw;
    min-height: 2.35cqw;
    margin: auto 0 0.55cqw auto;
    padding: 0;
    display: block;
    flex: 0 0 auto;
    border: 0;
  }
  .panel-link,
  .panel-donate { background: url("./assets/button-red-frame-v1.webp") center / 100% 100% no-repeat; }
  .panel-link .decorative-button-label,
  .panel-donate .decorative-button-label {
    width: 72%;
    max-width: 72%;
    font-size: 0.66cqw;
  }
  html[lang="ar"] .panel-link .decorative-button-label,
  html[lang="ar"] .panel-donate .decorative-button-label {
    width: 70%;
    max-width: 70%;
    font-size: 0.64cqw;
  }
  html[lang="es"] .panel-link .decorative-button-label,
  html[lang="pt-BR"] .panel-link .decorative-button-label,
  html[lang="fr"] .panel-link .decorative-button-label,
  html[lang="de"] .panel-link .decorative-button-label,
  html[lang="es"] .panel-donate .decorative-button-label,
  html[lang="pt-BR"] .panel-donate .decorative-button-label,
  html[lang="fr"] .panel-donate .decorative-button-label,
  html[lang="de"] .panel-donate .decorative-button-label {
    width: 78%;
    max-width: 78%;
    font-size: 0.6cqw;
  }
  .stage-update,
  .stage-donation { position: relative; }

  .stage-count-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .stage-panel .duelist-count {
    margin: 0;
    color: #f5d47d;
    font: 850 3.65cqw/0.9 var(--font-display);
    letter-spacing: -0.04em;
    text-shadow: 0 0 0.75cqw rgba(232, 184, 77, 0.24);
  }
  .stage-count-wrap p:last-child {
    margin-top: 0.45cqw;
    color: #bcb4a7;
    font: 700 0.67cqw/1.05 var(--font-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .stage-donation .stage-panel-body > p {
    max-width: 92%;
    margin-top: 0.35cqw;
    margin-left: 1.25cqw;
    color: #e9e0d3;
    overflow: hidden;
    display: -webkit-box;
    font-size: 0.7cqw;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .stage-donation .stage-panel-body { bottom: 5.95cqw; }
  html[dir="rtl"] .stage-donation .stage-panel-body > p {
    margin-right: 1.25cqw;
    margin-left: 0;
  }
  .panel-donate {
    min-width: 9.8cqw;
  }

  .stage-button,
  .desktop-stage-nav .stage-signup,
  .panel-link,
  .panel-donate {
    transition: filter 150ms ease, transform 90ms ease;
  }
  .stage-button:hover,
  .desktop-stage-nav .stage-signup:hover,
  .panel-link:hover,
  .panel-donate:hover {
    filter: brightness(1.28) saturate(1.12) drop-shadow(0 0 0.5cqw rgba(255, 203, 87, 0.55));
  }
  .stage-button:hover .stage-button-art {
    filter: brightness(1.16) saturate(1.08);
  }
  .stage-button:active,
  .desktop-stage-nav .stage-signup:active,
  .panel-link:active,
  .panel-donate:active {
    transform: translateY(0.16cqw) scale(0.975);
    filter: brightness(0.78) saturate(0.88);
  }

  @keyframes stage-reveal {
    from { opacity: 0; transform: translateY(0.8cqw) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  .stage-bottom-meta {
    position: absolute;
    z-index: 7;
    bottom: 0;
    right: 0;
    left: 0;
    height: 6.9%;
    padding: 0 3.2%;
    display: flex;
    align-items: center;
    gap: 1.65cqw;
    color: #b8b0a2;
    background: rgba(0, 0, 0, 0.68);
    border-top: 1px solid rgba(231, 181, 71, 0.72);
    box-shadow: 0 -0.2cqw 0.9cqw rgba(0, 0, 0, 0.64);
  }
  .stage-bottom-meta::before {
    position: absolute;
    z-index: 0;
    top: -1px;
    right: 5%;
    left: 5%;
    height: 1px;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, transparent, #d8a744 16%, #f7d67c 50%, #d8a744 84%, transparent);
  }
  .stage-bottom-meta > * {
    position: relative;
    z-index: 1;
  }
  .stage-bottom-meta strong {
    color: #d9b768;
    font: 600 1.14cqw/1 Georgia, serif;
    font-variant: small-caps;
  }
  .stage-bottom-meta a {
    padding: 0;
    padding-left: 1.65cqw;
    color: #bcae92;
    background: transparent;
    border: 0;
    border-left: 1px solid rgba(220, 178, 81, 0.38);
    font: 600 0.68cqw/1 var(--font-body);
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 160ms ease, text-shadow 160ms ease, filter 160ms ease;
  }
  .stage-bottom-meta a::after {
    position: absolute;
    inset: -0.65cqw -0.85cqw;
    content: "";
  }
  .stage-bottom-meta a:hover {
    color: #ffe39a;
    text-shadow:
      0 0 0.22cqw rgba(255, 222, 130, 0.95),
      0 0 0.65cqw rgba(214, 157, 47, 0.72);
    filter: brightness(1.12);
  }
  .stage-language-picker {
    font-size: 0.92cqw;
  }
  .desktop-stage-nav-right .stage-language-picker {
    margin-left: 0;
    display: flex;
    align-items: center;
  }
  .desktop-stage-nav-right .stage-language-toggle {
    min-width: 4.1cqw;
    height: 1.86cqw;
    padding: 0 0.46cqw;
    gap: 0.32cqw;
    font-size: 0.72cqw;
    font-weight: 950;
  }
  .desktop-stage-nav-right .stage-language-toggle .stage-language-flag {
    width: 1.18cqw;
    height: 1.18cqw;
  }
  .desktop-stage-nav-right .stage-language-menu {
    top: calc(100% + 0.55cqw);
    right: 0;
    bottom: auto;
  }
  .language-suggestion {
    width: 27cqw;
    padding: 0.78cqw 0.9cqw;
  }
  .language-suggestion p { font-size: 0.86cqw; }
  .language-suggestion button { font-size: 0.72cqw; }
  .stage-disclaimer-panel {
    top: 14.2%;
    right: 15%;
    bottom: 14.6%;
    left: 15%;
    padding: 2.05cqw 2.2cqw 1.7cqw;
    border-radius: 1.8cqw;
  }
  .stage-ranking-panel {
    top: 15.5%;
    right: auto;
    bottom: 15.5%;
    left: 50%;
    width: min(38cqw, 650px);
    max-width: calc(100% - 4cqw);
    padding: 1.35cqw 1.5cqw 1.1cqw;
    border-radius: 1.35cqw;
    translate: -50% 0;
  }
  .stage-ranking-heading {
    padding-bottom: 0.75cqw;
  }
  .stage-register-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(38cqw, 600px);
    max-width: calc(100% - 2.4cqw);
    height: auto;
    padding: 1.45cqw 1.65cqw 1.25cqw;
    translate: -50% -50%;
  }
  .stage-donation-glass-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(45cqw, 720px);
    max-width: calc(100% - 2.4cqw);
    height: auto;
    translate: -50% -50%;
    padding-top: 1.2cqw;
    padding-bottom: 0.95cqw;
  }
  .stage-discord-glass-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(35cqw, 580px);
    max-width: calc(100% - 2.4cqw);
    height: auto;
    translate: -50% -50%;
    padding-top: 1.35cqw;
    padding-bottom: 1.25cqw;
  }
  .stage-discord-glass-heading {
    padding-right: 4.2cqw;
    padding-left: 4.2cqw;
    text-align: center;
  }
  .stage-discord-glass-heading p { font-size: 0.76cqw; }
  .stage-discord-glass-heading h2 { margin-top: 0.42cqw; font-size: 1.65cqw; }
  .stage-donation-glass-heading {
    padding-right: 4.2cqw;
    padding-left: 4.2cqw;
    text-align: center;
  }
  .stage-donation-glass-heading p {
    font-size: 0.76cqw;
  }
  .stage-donation-glass-heading h2 {
    font-size: 1.65cqw;
  }
  .stage-disclaimer-heading {
    padding: 0 4.2cqw 1.05cqw 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  html[dir="rtl"] .stage-disclaimer-heading {
    padding-right: 0;
    padding-left: 4.2cqw;
  }
  .stage-disclaimer-heading p {
    margin-bottom: 0.38cqw;
    color: #d8bc79;
    font: 700 0.67cqw/1 var(--font-body);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .stage-disclaimer-heading h2 {
    color: #fff9ec;
    font: 760 1.42cqw/1.1 var(--font-display);
    letter-spacing: 0.01em;
  }
  .stage-disclaimer-heading.stage-donation-glass-heading {
    padding-right: 0;
    padding-left: 0;
    border-bottom: 0;
    text-align: center;
  }
  .stage-disclaimer-heading.stage-discord-glass-heading {
    display: flex;
    flex-direction: column;
    gap: 0.72cqw;
    padding-top: 0.55cqw;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
  }
  .stage-disclaimer-heading.stage-discord-glass-heading p {
    margin-bottom: 0;
    font-size: 0.88cqw;
  }
  .stage-disclaimer-heading.stage-discord-glass-heading h2 {
    margin-top: 0;
  }
  .stage-disclaimer-heading.stage-donation-glass-heading p {
    font-size: 0.82cqw;
  }
  .stage-disclaimer-scroll {
    margin-top: 1.05cqw;
    padding-right: 1.15cqw;
    display: grid;
    gap: 0.72cqw;
    color: rgba(245, 242, 235, 0.9);
    font: 500 0.84cqw/1.52 var(--font-body);
  }
  .stage-news-scroll {
    padding-right: 2.65cqw;
  }
  .stage-donation-glass-scroll {
    margin-top: 0.38cqw;
    padding-right: 0;
  }
  .stage-discord-glass-scroll {
    margin-top: 0.82cqw;
    padding-right: 0;
  }
  .stage-discord-glass-content {
    gap: 0.48cqw;
    padding: 0;
  }
  .discord-widget-fallback {
    margin-top: 0;
    font-size: 0.98cqw;
  }
  .discord-channel-preview-bar {
    padding: 0.72cqw 0.82cqw;
  }
  .discord-channel-hash { font-size: 1.25cqw; }
  .discord-channel-preview-bar strong { font-size: 0.88cqw; }
  .discord-channel-preview-bar small { font-size: 0.59cqw; }
  .discord-preview-pill {
    padding: 0.26cqw 0.48cqw;
    font-size: 0.48cqw;
  }
  .discord-channel-preview-body {
    gap: 0.72cqw;
    padding: 0.9cqw 0.92cqw 0.96cqw;
  }
  .discord-preview-avatar {
    width: 2.55cqw;
    font-size: 0.76cqw;
  }
  .discord-preview-message-head { font-size: 0.76cqw; }
  .discord-preview-message p { font-size: 0.74cqw; }
  .discord-preview-file {
    margin-top: 0.7cqw;
    padding: 0.52cqw 0.6cqw;
  }
  .discord-preview-file-icon {
    width: 2cqw;
    font-size: 1.1cqw;
  }
  .discord-preview-file strong { font-size: 0.71cqw; }
  .discord-preview-file small { font-size: 0.57cqw; }
  .discord-countdown { width: 5.6cqw; }
  .discord-countdown .donation-countdown-value strong { font-size: 1.85cqw; }
  .discord-countdown .donation-countdown-value small { font-size: 0.46cqw; }
  .discord-redirect-copy { font-size: 0.82cqw; }
  .stage-donation-glass-content {
    gap: 0.58cqw;
    padding: 0.15cqw 0.25cqw 0.1cqw;
  }
  .stage-donation-glass-message {
    width: 100%;
    max-width: 100%;
    font: 800 0.86cqw/1.42 var(--font-body);
    letter-spacing: 0.005em;
    white-space: normal;
  }
  .donation-native-card {
    gap: 0.56cqw;
    padding: 0;
  }
  .donation-section-divider { width: 90%; margin: 0.08cqw 0 0.14cqw; }
  .donation-amount-picker { gap: 0.52cqw; padding: 0; }
  .donation-amount-heading { font-size: 0.69cqw; }
  .donation-amount-heading strong { font-size: 0.75cqw; }
  .donation-amount-presets { gap: 0.42cqw; }
  .donation-amount-presets button { min-height: 2.15cqw; border-radius: 0.42cqw; font-size: 0.76cqw; }
  .donation-custom-amount { min-height: 2.2cqw; border-radius: 0.42cqw; font-size: 0.72cqw; }
  .donation-custom-label { font-size: 0.62cqw; }
  .donation-paypal-area { padding: 0.9cqw 0.95cqw 0.86cqw; border-radius: 0.48cqw; }
  .donation-paypal-area .donation-paypal-heading { margin: 0 0 0.9cqw; font-size: 0.84cqw; }
  .donation-paypal-buttons { padding: 1.02cqw 0.95cqw; border-radius: 0.38cqw; }
  .donation-paypal-success { padding: 0.92cqw; border-radius: 0.6cqw; }
  .donation-paypal-success strong { font-size: 1.02cqw; }
  .donation-paypal-success p { font-size: 0.64cqw; }
  .donation-native-note { font-size: 0.84cqw; }
  .donation-countdown {
    width: 6.7cqw;
    margin: 0.08cqw 0;
  }
  .donation-countdown-value strong { font-size: 2.25cqw; }
  .donation-countdown-value small {
    margin-top: 0.24cqw;
    font-size: 0.56cqw;
  }
  .donation-premium-divider { margin: 0.15cqw 0; }
  .donation-alternative {
    max-width: none;
    white-space: normal;
    font-size: 0.82cqw;
    line-height: 1.45;
  }
  .stage-disclaimer-scroll h3 {
    margin-top: 0.25cqw;
    color: #f0d18a;
    font: 760 0.98cqw/1.15 var(--font-display);
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
  .stage-disclaimer-callout {
    padding: 0.78cqw 0.95cqw;
    color: #fff3c2;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 224, 151, 0.2);
    border-radius: 0.8cqw;
  }
  .stage-disclaimer-contact {
    font-weight: 700;
    letter-spacing: 0.035em;
  }
  .stage-disclaimer-close {
    top: 1.45cqw;
    right: 1.45cqw;
    width: 2.35cqw;
    height: 2.35cqw;
    font: 400 1.55cqw/1 var(--font-body);
  }
  html[dir="rtl"] .stage-disclaimer-close {
    right: auto;
    left: 1.45cqw;
  }

  .stage-register-scroll {
    position: relative;
    display: grid;
    align-items: center;
    margin-top: 0.65cqw;
    padding-right: 0;
    overflow: visible;
  }
  .stage-register-panel #registerForm {
    grid-template-columns: 1fr;
    gap: 0.02cqw;
  }
  .stage-register-panel #registerForm .field-name,
  .stage-register-panel #registerForm .form-submit {
    grid-column: auto;
  }
  .desktop-register-panel .register-view {
    position: relative;
    grid-area: 1 / 1;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--ivory);
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.8cqw) scale(0.985);
    transition: opacity 1000ms ease-out, transform 1000ms ease-out, visibility 0s linear 1000ms;
  }
  .stage-register-panel .stage-disclaimer-heading {
    padding-bottom: 0.78cqw;
  }
  .stage-register-panel .stage-disclaimer-heading p {
    margin-bottom: 0.24cqw;
    font-size: 0.56cqw;
    letter-spacing: 0.08em;
  }
  .stage-register-panel .stage-disclaimer-heading h2 {
    font-size: 1.22cqw;
    line-height: 1.08;
  }
  .stage-register-panel label {
    margin-bottom: 0.22cqw;
    font-size: 0.56cqw;
    letter-spacing: 0.065em;
  }
  .stage-register-panel input {
    min-height: 2.05cqw;
    margin-bottom: 0.1cqw;
    padding: 0.43cqw 0.62cqw;
    border-radius: 0.38cqw;
    font-size: 0.74cqw;
  }
  .stage-register-panel .field-feedback {
    min-height: 0.74cqw;
    margin-bottom: 0.22cqw;
    font-size: 0.56cqw;
    line-height: 1.18;
  }
  .stage-register-panel .password-strength {
    height: 0.2cqw;
    margin: 0.03cqw 0 0.2cqw;
  }
  .stage-register-panel #registerSubmit,
  .stage-register-panel #forgotSubmit {
    min-height: 2.12cqw;
    margin-top: 0.35cqw;
    padding: 0 0.75cqw;
    border-radius: 0.42cqw;
    font-size: 0.76cqw;
  }
  .stage-register-panel .msg {
    min-height: 0.88cqw;
    margin-top: 0.38cqw;
    font-size: 0.68cqw;
    line-height: 1.18;
  }
  .desktop-register-panel .register-view.is-active,
  .desktop-register-panel .register-reset-view.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition: opacity 1000ms ease-out, transform 1000ms ease-out, visibility 0s linear 0s;
  }
  .desktop-register-panel .register-reset-view {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .desktop-register-panel .register-reset-view h2 {
    margin: 0;
    font-size: 1.65cqw;
  }
  .desktop-register-panel .register-reset-view.open {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .desktop-register-panel .panel-lead { margin: 0 0 0.72cqw; font-size: 0.74cqw; line-height: 1.28; }
  .desktop-register-panel #registerMsg:empty { min-height: 0; margin-top: 0; }
  .desktop-register-panel .account-help { margin-top: 0.58cqw; font-size: 0.68cqw; line-height: 1.22; }
  .desktop-register-panel .reset-back { align-self: center; margin-top: 0.75cqw; }
  .discord-widget-embed { height: min(26.5cqw, 500px, 62svh); }

}

/* Portrait homepage: same one-slide identity, recomposed for vertical screens. */
@media (orientation: portrait) {
  .home .site-shell > .site-header,
  .desktop-ra-card {
    display: none;
  }

  .hero-desktop {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 100svh;
    display: grid;
    place-items: stretch;
    overflow: hidden;
    isolation: isolate;
    background: #000;
    border: 0;
  }

  .desktop-stage {
    position: relative;
    width: 100vw;
    height: 100svh;
    min-height: 100svh;
    overflow: hidden;
    container-type: inline-size;
    background: #02050d;
  }

  .desktop-stage-art,
  .desktop-stage-art img,
  .desktop-stage-edge-fade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .desktop-stage-art img {
    display: block;
    max-width: none;
    object-fit: cover;
    object-position: 50% 50%;
  }

  .desktop-stage-edge-fade {
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(0, 2, 8, 0.2) 0%, rgba(0, 3, 10, 0.08) 20%, rgba(0, 3, 10, 0.22) 56%, rgba(0, 2, 8, 0.78) 88%, #01040a 100%),
      linear-gradient(90deg, rgba(0, 2, 8, 0.62) 0%, rgba(0, 2, 8, 0.08) 24%, rgba(0, 2, 8, 0.08) 76%, rgba(0, 2, 8, 0.62) 100%);
  }

  .desktop-stage-header {
    position: absolute;
    z-index: 20;
    inset: 0;
    pointer-events: none;
  }

  .desktop-stage-logo {
    position: absolute;
    top: calc(10px + env(safe-area-inset-top));
    left: 50%;
    width: min(78vw, 430px);
    display: block;
    pointer-events: auto;
    line-height: 0;
    opacity: 0;
    transform: translateX(-50%);
    transform-origin: top center;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.78));
    transition:
      top 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      width 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      transform 1250ms cubic-bezier(0.22, 0.68, 0.25, 1),
      filter 1250ms ease;
    animation: portrait-logo-reveal 1200ms 150ms ease-out forwards;
  }
  .desktop-stage.disclaimer-exiting .desktop-stage-logo,
  .desktop-stage.disclaimer-open .desktop-stage-logo {
    top: calc(4px + env(safe-area-inset-top));
    width: min(34vw, 150px);
    opacity: 1;
    transform: translateX(-50%);
    filter: drop-shadow(0 3px 7px rgba(0, 0, 0, 0.72));
    animation: none !important;
  }
  .desktop-stage.disclaimer-returning .desktop-stage-logo,
  .desktop-stage.disclaimer-restored .desktop-stage-logo {
    opacity: 1;
    animation: none !important;
  }

  .desktop-stage-logo img {
    width: 100%;
    height: auto;
    display: block;
  }

  .desktop-stage-nav-right .stage-signup {
    display: none;
  }

  .portrait-nav-toggle {
    position: absolute;
    z-index: 12;
    top: calc(12px + env(safe-area-inset-top));
    left: max(12px, env(safe-area-inset-left));
    width: 34px;
    height: 34px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    pointer-events: auto;
    color: #ecd89f;
    background: rgba(2, 6, 15, 0.82);
    border: 1px solid rgba(225, 184, 88, 0.52);
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.42);
  }
  .portrait-nav-toggle span {
    width: 16px;
    height: 1px;
    display: block;
    background: #e2c16f;
    box-shadow: 0 0 4px rgba(226, 193, 111, 0.28);
    transition: transform 220ms ease, opacity 180ms ease;
  }
  .desktop-stage-header.portrait-nav-open .portrait-nav-toggle span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }
  .desktop-stage-header.portrait-nav-open .portrait-nav-toggle span:nth-child(2) { opacity: 0; }
  .desktop-stage-header.portrait-nav-open .portrait-nav-toggle span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }

  .portrait-nav-scrim {
    position: absolute;
    z-index: 8;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    display: block;
    pointer-events: none;
    background: rgba(0, 2, 8, 0.58);
    border: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 240ms ease, visibility 0s linear 240ms;
  }
  .desktop-stage-header.portrait-nav-open .portrait-nav-scrim {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transition: opacity 240ms ease, visibility 0s;
  }

  .desktop-stage-nav-left {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(78vw, 300px);
    padding:
      calc(66px + env(safe-area-inset-top))
      14px
      calc(18px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    pointer-events: auto;
    background:
      linear-gradient(180deg, rgba(8, 14, 29, 0.98), rgba(2, 6, 15, 0.99)),
      url("./assets/panel-center-v1.webp") center / cover no-repeat;
    border-right: 1px solid rgba(218, 169, 70, 0.72);
    box-shadow: 18px 0 42px rgba(0, 0, 0, 0.62);
    transform: translateX(-104%);
    transition: transform 260ms ease;
  }
  .desktop-stage-header.portrait-nav-open .desktop-stage-nav-left { transform: translateX(0); }
  .desktop-stage-nav-left .stage-tab {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 13px 15px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #d7d1c5;
    background: rgba(2, 6, 15, 0.66);
    border: 1px solid rgba(222, 179, 82, 0.24);
    border-radius: 3px;
    font: 750 12px/1 var(--font-display);
    letter-spacing: 0.11em;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
  }
  .desktop-stage-nav-left .stage-tab.active {
    color: #f2d480;
    background: rgba(24, 30, 45, 0.9);
    border-color: rgba(226, 184, 82, 0.58);
    box-shadow: inset 3px 0 0 #d6a842;
  }

  .desktop-stage-nav-right {
    position: absolute;
    z-index: 12;
    top: calc(12px + env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
    display: flex;
    align-items: center;
    direction: ltr;
    flex-direction: row;
    pointer-events: auto;
  }

  .desktop-stage-copy {
    position: absolute;
    z-index: 4;
    top: clamp(128px, 18svh, 225px);
    left: 50%;
    width: min(92vw, 720px);
    color: var(--ivory);
    text-align: center;
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.92);
    transform: translateX(-50%);
    transform-origin: top center;
  }

  .desktop-stage-copy > :not(.desktop-stage-actions) {
    opacity: 0;
    animation: stage-reveal 1200ms ease-out forwards;
  }
  .desktop-stage-copy > .desktop-stage-eyebrow { animation-delay: 550ms; }
  .desktop-stage-copy > h1 { animation-delay: 950ms; }
  .desktop-stage-copy > .desktop-stage-lead { animation-delay: 1350ms; }

  .desktop-stage-eyebrow {
    max-width: 88vw;
    margin: 0 auto 9px;
    color: #f2cf6b;
    font: 760 clamp(9px, 2.5vw, 12px)/1.25 var(--font-display);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .desktop-stage-copy h1 {
    margin: 0;
    color: #fffaf0;
    font: 850 clamp(35px, 11.6vw, 62px)/0.94 var(--font-display);
    font-stretch: condensed;
    letter-spacing: -0.045em;
    text-transform: uppercase;
    text-wrap: balance;
  }

  .desktop-stage-lead {
    width: min(88vw, 600px);
    margin: 13px auto 0;
    color: #ddd8cf;
    font: 540 clamp(13px, 3.5vw, 17px)/1.38 var(--font-body);
    text-wrap: balance;
  }

  .desktop-stage-actions {
    margin-top: clamp(16px, 2.8svh, 26px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
  }

  .stage-button {
    width: min(72vw, 360px);
    height: auto;
    min-height: 0;
    padding: 0;
    display: block;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    opacity: 0;
  }

  .stage-button-art {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
  }
  .stage-button-primary {
    animation: stage-reveal 1200ms 2550ms ease-out forwards;
  }
  .stage-button-secondary {
    animation:
      stage-reveal 1200ms 1850ms ease-out forwards,
      stage-button-alpha-pulse 4.8s 3050ms ease-in-out infinite;
  }
  .stage-button .decorative-button-label {
    display: flex;
    width: 74%;
    max-width: 74%;
    font-size: clamp(14px, 4.05vw, 22px);
  }
  html[lang="ar"] .stage-button .decorative-button-label {
    width: 72%;
    max-width: 72%;
    font-size: clamp(14px, 3.85vw, 21px);
  }
  html[lang="es"] .stage-button .decorative-button-label,
  html[lang="pt-BR"] .stage-button .decorative-button-label,
  html[lang="fr"] .stage-button .decorative-button-label,
  html[lang="de"] .stage-button .decorative-button-label {
    width: 76%;
    max-width: 76%;
    font-size: clamp(13px, 3.55vw, 20px);
  }
  .desktop-stage-panels {
    position: absolute;
    z-index: 4;
    right: auto;
    bottom: calc(clamp(50px, 7svh, 68px) + max(8px, env(safe-area-inset-bottom)));
    left: 50%;
    width: min(88vw, 520px);
    height: auto;
    aspect-ratio: 1474 / 800;
    display: block;
    transform: translateX(-50%);
    transform-origin: bottom center;
  }

  .stage-panel {
    position: relative;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 27px 10px 6px;
    overflow: hidden;
    color: #eee7d9;
    background:
      linear-gradient(180deg, rgba(5, 10, 21, 0.2), rgba(1, 4, 11, 0.42)),
      url("./assets/panel-center-v1.webp") center / cover no-repeat;
    border: 1px solid rgba(218, 169, 70, 0.55);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.52);
    opacity: 0;
    animation: stage-reveal 500ms ease-out forwards;
  }
  .stage-panel:nth-child(1) { animation-delay: 3300ms; }
  .stage-panel:nth-child(2) { animation-delay: 3800ms; }
  .stage-panel:nth-child(3) { animation-delay: 4300ms; }
  .stage-update,
  .stage-donation { display: none; }
  .stage-duelists {
    height: 100%;
    padding: 38px 18px 14px;
    background: url("./assets/panel-center-v1.webp") center / 100% 100% no-repeat;
    border: 0;
    box-shadow: none;
    overflow: visible;
    animation-delay: 3300ms;
  }
  .stage-duelists h2 {
    font-size: clamp(11px, 3vw, 15px);
    text-align: center;
  }

  .stage-panel h2,
  .stage-duelists h2 {
    position: absolute;
    top: 10px;
    right: 8px;
    left: 8px;
    margin: 0;
    overflow: hidden;
    color: #efc966;
    font: 760 clamp(9px, 2.5vw, 12px)/1.1 var(--font-display);
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .stage-duelists h2 {
    top: clamp(58px, 11vw, 66px);
    right: 12%;
    left: 12%;
  }

  .panel-icon {
    margin-right: 4px;
    color: #f1c960;
    font-size: 1em;
  }

  .stage-panel-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .stage-panel p { margin: 0; }
  .stage-panel .signal-title {
    max-height: 2.45em;
    overflow: hidden;
    color: #f6f0e5;
    font: 700 clamp(10px, 2.65vw, 13px)/1.22 var(--font-display);
  }
  .stage-panel .signal-meta {
    margin-top: 4px;
    overflow: hidden;
    color: #aaa49a;
    font-size: clamp(9px, 2.15vw, 11px);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .stage-panel .release-notes,
  .panel-link,
  .panel-donate {
    display: none;
  }
  .stage-donation .stage-panel-body p {
    max-height: 2.4em;
    overflow: hidden;
    display: -webkit-box;
    color: #c8c0b2;
    font-size: clamp(9px, 2.2vw, 11px);
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .stage-count-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .stage-panel .duelist-count {
    margin: 0;
    color: #f5d47d;
    font: 850 clamp(42px, 14vw, 72px)/0.9 var(--font-display);
    letter-spacing: -0.04em;
  }
  .stage-count-wrap p:last-child {
    margin-top: 7px;
    color: #bcb4a7;
    font-size: clamp(10px, 2.6vw, 13px);
    line-height: 1.15;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .stage-bottom-meta {
    position: absolute;
    z-index: 7;
    bottom: 0;
    right: 0;
    left: 0;
    height: clamp(48px, 6.7svh, 64px);
    padding:
      0 max(12px, env(safe-area-inset-right))
      max(5px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #b8b0a2;
    background: rgba(0, 0, 0, 0.68);
    border-top: 1px solid rgba(231, 181, 71, 0.72);
    box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.48);
    box-sizing: border-box;
    line-height: 1;
  }
  .stage-bottom-meta::before {
    position: absolute;
    z-index: 0;
    top: -1px;
    right: 5%;
    left: 5%;
    height: 1px;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, transparent, #d8a744 16%, #f7d67c 50%, #d8a744 84%, transparent);
  }
  .stage-bottom-meta > * {
    position: relative;
    z-index: 1;
  }
  .stage-bottom-meta strong {
    color: #d9b768;
    font: 600 clamp(12px, 3vw, 16px)/1 Georgia, serif;
    font-variant: small-caps;
  }
  .stage-bottom-meta a {
    padding: 0;
    color: #bcae92;
    background: transparent;
    border: 0;
    font: 600 clamp(11px, 2.8vw, 13px)/1 var(--font-body);
    text-decoration: none;
    transition: color 160ms ease, text-shadow 160ms ease, filter 160ms ease;
  }
  .stage-bottom-meta a::after {
    position: absolute;
    inset: -10px -14px;
    content: "";
  }
  .stage-bottom-meta a:hover {
    color: #ffe39a;
    text-shadow:
      0 0 4px rgba(255, 222, 130, 0.95),
      0 0 10px rgba(214, 157, 47, 0.72);
    filter: brightness(1.12);
  }
  .stage-language-picker {
    margin-left: auto;
    font-size: 13px;
  }
  .desktop-stage-nav-right .stage-language-picker {
    margin-left: 0;
  }
  .desktop-stage-nav-right .stage-language-toggle {
    min-width: 64px;
    min-height: 31px;
    padding: 0 9px;
    gap: 6px;
    font-size: 13px;
    font-weight: 950;
  }
  .desktop-stage-nav-right .stage-language-toggle .stage-language-flag {
    width: 19px;
    height: 19px;
  }
  .desktop-stage-nav-right .stage-language-menu {
    top: calc(100% + 8px);
    right: 0;
    bottom: auto;
  }
  .stage-language-menu {
    right: 0;
    min-width: 164px;
  }
  .language-suggestion {
    right: 4%;
    bottom: calc(clamp(52px, 7svh, 68px) + 12px);
    width: 92%;
    max-width: 430px;
    padding: 11px 12px;
  }
  .language-suggestion p { font-size: 13px; }
  .language-suggestion button { font-size: 12px; }

  .stage-disclaimer-panel {
    top: clamp(150px, 20svh, 190px);
    right: 5vw;
    bottom: calc(clamp(48px, 6.7svh, 64px) + 12px);
    left: 5vw;
    padding: 22px 18px 15px;
    border-radius: 24px;
    box-shadow:
      0 22px 58px rgba(0, 0, 0, 0.48),
      inset 0 1px 0 rgba(255, 255, 255, 0.24);
  }
  .stage-register-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(88vw, 520px);
    max-width: calc(100vw - 24px);
    height: auto;
    padding: 18px 16px 14px;
    translate: -50% -50%;
  }
  .stage-donation-glass-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(90vw, 520px);
    max-width: calc(100vw - 24px);
    height: auto;
    translate: -50% -50%;
    padding-top: 18px;
    padding-bottom: 13px;
  }
  .stage-discord-glass-panel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(88vw, 520px);
    max-width: calc(100vw - 24px);
    height: auto;
    translate: -50% -50%;
    padding-top: 18px;
    padding-bottom: 13px;
  }
  .stage-discord-glass-heading {
    padding-right: 42px;
    padding-left: 42px;
    text-align: center;
  }
  .stage-discord-glass-heading p { font-size: clamp(11px, 2.8vw, 13px); }
  .stage-discord-glass-heading h2 { margin-top: 7px; font-size: clamp(21px, 5.5vw, 28px); }
  .stage-donation-glass-heading {
    padding-right: 42px;
    padding-left: 42px;
    text-align: center;
  }
  .stage-donation-glass-heading p {
    font-size: clamp(11px, 2.8vw, 13px);
  }
  .stage-donation-glass-heading h2 {
    font-size: clamp(22px, 5.8vw, 29px);
  }
  .stage-disclaimer-heading {
    padding: 0 42px 13px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  html[dir="rtl"] .stage-disclaimer-heading {
    padding-right: 0;
    padding-left: 42px;
  }
  .stage-disclaimer-heading p {
    margin-bottom: 5px;
    color: #d8bc79;
    font: 700 10px/1 var(--font-body);
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }
  .stage-disclaimer-heading h2 {
    color: #fff9ec;
    font: 760 clamp(18px, 5vw, 25px)/1.12 var(--font-display);
  }
  .stage-disclaimer-heading.stage-donation-glass-heading {
    padding-right: 0;
    padding-left: 0;
    border-bottom: 0;
    text-align: center;
  }
  .stage-disclaimer-heading.stage-discord-glass-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 9px;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
  }
  .stage-disclaimer-heading.stage-discord-glass-heading p {
    margin-bottom: 0;
    font-size: clamp(13px, 3.35vw, 16px);
  }
  .stage-disclaimer-heading.stage-discord-glass-heading h2 {
    margin-top: 0;
  }
  .stage-disclaimer-heading.stage-donation-glass-heading p {
    font-size: clamp(12px, 3.1vw, 14px);
  }
  .stage-disclaimer-scroll {
    margin-top: 13px;
    padding-right: 8px;
    display: grid;
    gap: 11px;
    color: rgba(245, 242, 235, 0.92);
    font: 500 clamp(12px, 3.25vw, 14px)/1.5 var(--font-body);
  }
  .stage-news-scroll {
    padding-right: 30px;
  }
  .stage-donation-glass-scroll {
    margin-top: 8px;
    padding-right: 0;
  }
  .stage-discord-glass-scroll {
    margin-top: 10px;
    padding-right: 0;
  }
  .stage-discord-glass-content {
    gap: 0;
    padding: 0;
  }
  .discord-widget-embed { height: min(500px, 58svh); }
  .discord-channel-preview { border-radius: 13px; }
  .discord-channel-preview-bar { padding: 10px 11px; }
  .discord-channel-hash { font-size: clamp(20px, 5vw, 25px); }
  .discord-channel-preview-bar strong { font-size: clamp(13px, 3.4vw, 16px); }
  .discord-channel-preview-bar small { font-size: clamp(9px, 2.4vw, 11px); }
  .discord-preview-pill {
    padding: 4px 7px;
    font-size: clamp(7px, 1.8vw, 9px);
  }
  .discord-channel-preview-body {
    gap: 10px;
    padding: 12px 12px 13px;
  }
  .discord-preview-avatar {
    width: clamp(38px, 10vw, 48px);
    font-size: clamp(11px, 2.8vw, 14px);
  }
  .discord-preview-message-head { font-size: clamp(11px, 2.9vw, 13px); }
  .discord-preview-message p { font-size: clamp(10px, 2.7vw, 12px); }
  .discord-preview-file {
    margin-top: 9px;
    padding: 8px 9px;
  }
  .discord-preview-file-icon {
    width: 34px;
    font-size: 18px;
  }
  .discord-preview-file strong { font-size: clamp(10px, 2.7vw, 12px); }
  .discord-preview-file small { font-size: clamp(9px, 2.3vw, 10px); }
  .discord-countdown { width: clamp(88px, 23vw, 108px); }
  .discord-countdown .donation-countdown-value strong { font-size: clamp(29px, 7.6vw, 37px); }
  .discord-countdown .donation-countdown-value small { font-size: clamp(7px, 1.8vw, 9px); }
  .discord-redirect-copy {
    font-size: clamp(11px, 2.9vw, 13px);
    line-height: 1.35;
  }
  .stage-donation-glass-content {
    gap: clamp(8px, 1.1svh, 11px);
    padding: 3px 4px 2px;
  }
  .stage-donation-glass-message {
    width: 100%;
    max-width: none;
    font: 800 clamp(14px, 3.6vw, 17px)/1.38 var(--font-body);
    text-align: center;
    text-wrap: pretty;
    white-space: normal;
  }
  .stage-donation-glass-message .donation-message-break { display: none; }
  .donation-native-card {
    width: 100%;
    gap: clamp(10px, 1.45svh, 14px);
    padding: 0;
  }
  .donation-section-divider { width: 88%; margin: 1px 0 2px; }
  .donation-amount-picker { gap: 8px; padding: 0; }
  .donation-amount-heading { font-size: clamp(10px, 2.7vw, 12px); }
  .donation-amount-heading strong { font-size: clamp(11px, 3vw, 13px); }
  .donation-amount-presets { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .donation-amount-presets button { min-height: 36px; font-size: clamp(11px, 3vw, 13px); }
  .donation-custom-amount { min-height: 38px; }
  .donation-custom-label { font-size: clamp(9px, 2.4vw, 11px); }
  .donation-paypal-area { padding: 14px; border-radius: 8px; }
  .donation-paypal-area .donation-paypal-heading { margin: 0 0 14px; font-size: clamp(12px, 3.1vw, 14px); }
  .donation-paypal-buttons { padding: 15px 13px; border-radius: 6px; }
  .donation-paypal-success { padding: 14px; }
  .donation-paypal-success strong { font-size: clamp(15px, 4.1vw, 19px); }
  .donation-paypal-success p { font-size: clamp(10px, 2.7vw, 12px); }
  .donation-native-note { font-size: clamp(12px, 3.05vw, 14px); }
  .donation-countdown {
    width: clamp(96px, 25vw, 122px);
    margin: 2px 0;
  }
  .donation-countdown-value strong { font-size: clamp(32px, 8.5vw, 42px); }
  .donation-countdown-value small {
    margin-top: 4px;
    font-size: clamp(8px, 2.1vw, 10px);
  }
  .donation-premium-divider { width: 82%; }
  .donation-alternative {
    max-width: none;
    white-space: normal;
    font-size: clamp(10px, 2.75vw, 12px);
    line-height: 1.45;
  }
  .stage-disclaimer-scroll h3 {
    margin-top: 3px;
    color: #f0d18a;
    font: 760 clamp(14px, 3.8vw, 17px)/1.15 var(--font-display);
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .stage-disclaimer-callout {
    padding: 11px 12px;
    color: #fff3c2;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 224, 151, 0.2);
    border-radius: 12px;
  }
  .stage-disclaimer-close {
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    font: 400 24px/1 var(--font-body);
  }
  html[dir="rtl"] .stage-disclaimer-close {
    right: auto;
    left: 14px;
  }

  .stage-register-scroll {
    position: relative;
    display: grid;
    align-items: center;
    margin-top: 9px;
    padding-right: 0;
    overflow: visible;
  }
  .stage-register-panel #registerForm {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .stage-register-panel #registerForm .field-name,
  .stage-register-panel #registerForm .form-submit {
    grid-column: auto;
  }
  .desktop-register-panel .register-view {
    position: relative;
    grid-area: 1 / 1;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--ivory);
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px) scale(0.985);
    transition: opacity 600ms ease-out, transform 600ms ease-out, visibility 0s linear 600ms;
  }
  .stage-register-panel .stage-disclaimer-heading {
    padding-bottom: 10px;
  }
  .stage-register-panel .stage-disclaimer-heading p {
    margin-bottom: 4px;
    font-size: clamp(8px, 2.2vw, 10px);
    letter-spacing: 0.08em;
  }
  .stage-register-panel .stage-disclaimer-heading h2 {
    font-size: clamp(19px, 4.9vw, 24px);
    line-height: 1.08;
  }
  .stage-register-panel label {
    margin-bottom: 3px;
    font-size: clamp(9px, 2.2vw, 11px);
    letter-spacing: 0.06em;
  }
  .stage-register-panel input {
    min-height: 38px;
    margin-bottom: 2px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: clamp(12px, 3vw, 14px);
  }
  .stage-register-panel .field-feedback {
    min-height: 12px;
    margin-bottom: 3px;
    font-size: clamp(9px, 2.35vw, 11px);
    line-height: 1.14;
  }
  .stage-register-panel .password-strength {
    height: 3px;
    margin: 1px 0 3px;
  }
  .stage-register-panel #registerSubmit,
  .stage-register-panel #forgotSubmit {
    min-height: 38px;
    margin-top: 6px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: clamp(12px, 3vw, 14px);
  }
  .stage-register-panel .msg {
    min-height: 14px;
    margin-top: 6px;
    font-size: clamp(10px, 2.6vw, 12px);
    line-height: 1.18;
  }
  .stage-register-panel .msg.countdown {
    margin-top: 18px;
    gap: 0.4em;
    max-width: 94%;
    font-size: clamp(18px, 5vw, 25px);
    line-height: 1.4;
  }
  .stage-register-panel .register-countdown-value {
    font-size: clamp(44px, 13vw, 68px);
    text-shadow: 0 0 10px rgba(239, 199, 102, 0.38);
  }
  .desktop-register-panel .register-view.is-active,
  .desktop-register-panel .register-reset-view.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition: opacity 600ms ease-out, transform 600ms ease-out, visibility 0s linear 0s;
  }
  .desktop-register-panel .register-reset-view {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .desktop-register-panel .register-reset-view h2 {
    margin: 0;
    font-size: clamp(20px, 5.2vw, 27px);
  }
  .desktop-register-panel .panel-lead { margin: 0 0 10px; font-size: clamp(11px, 2.9vw, 13px); line-height: 1.28; }
  .desktop-register-panel .account-help { margin-top: 9px; font-size: clamp(10px, 2.6vw, 12px); line-height: 1.25; }
  .desktop-register-panel .register-reset-view.open {
    margin: 0;
    padding: 0;
    border: 0;
  }


  @keyframes stage-reveal {
    from { opacity: 0; transform: translateY(10px) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
  @keyframes portrait-logo-reveal {
    from { opacity: 0; transform: translate(-50%, 10px) scale(var(--portrait-fit-scale, 1)); }
    to { opacity: 1; transform: translate(-50%, 0) scale(var(--portrait-fit-scale, 1)); }
  }

  .desktop-stage.portrait-height-fit .desktop-stage-logo {
    top: var(--portrait-fit-logo-top);
  }
  .desktop-stage.portrait-height-fit.disclaimer-exiting .desktop-stage-logo,
  .desktop-stage.portrait-height-fit.disclaimer-open .desktop-stage-logo {
    top: calc(4px + env(safe-area-inset-top));
  }
  .desktop-stage.portrait-height-fit .desktop-stage-copy {
    top: var(--portrait-fit-copy-top);
    transform: translateX(-50%) scale(var(--portrait-fit-scale));
  }
  .desktop-stage.portrait-height-fit .desktop-stage-panels {
    bottom: var(--portrait-fit-panel-bottom);
    transform: translateX(-50%) scale(var(--portrait-fit-scale));
  }
  .desktop-stage.portrait-height-fit .stage-bottom-meta {
    height: var(--portrait-fit-bottom-height);
  }
}

@media (orientation: portrait) and (max-width: 520px) {
  .desktop-stage-logo { width: min(72vw, 310px); }
}

@media (orientation: portrait) and (max-width: 350px) {
  .desktop-stage-logo { width: 70vw; }
  .desktop-stage-copy { width: 94vw; }
  .desktop-stage-copy h1 { font-size: 34px; }
  .desktop-stage-lead { width: 92vw; font-size: 12px; }
  .desktop-stage-panels {
    width: 88vw;
  }
  .stage-panel { padding-inline: 7px; }
}

/* Firefox: preserve the page identity while avoiding its costly continuous
   filter/cursor/backdrop compositing paths. */
html.firefox-lite body::before {
  display: none;
}
html.firefox-lite body.home,
html.firefox-lite body.home * {
  cursor: url("./cursor00.png") 9 14, auto !important;
}
html.firefox-lite body.home .stage-button,
html.firefox-lite body.home .download-discord-button,
html.firefox-lite body.home .desktop-stage-nav .stage-signup,
html.firefox-lite body.home .panel-link,
html.firefox-lite body.home .panel-donate,
html.firefox-lite body.home .stage-language-toggle,
html.firefox-lite body.home .stage-language-menu button,
html.firefox-lite body.home .donation-amount-presets button,
html.firefox-lite body.home .donation-custom-amount {
  cursor: url("./assets/cursor-e-act.png") 9 14, pointer !important;
}
html.firefox-lite body.home *:active {
  cursor: url("./cursor01.png") 6 11, auto !important;
}
html.firefox-lite body.home [data-native-cursor-zone],
html.firefox-lite body.home [data-native-cursor-zone] *,
html.firefox-lite body.home [data-native-cursor-zone] iframe {
  cursor: default !important;
}
html.firefox-lite .site-game-cursor {
  display: none !important;
}
html.firefox-lite .desktop-stage-logo {
  filter: none !important;
}
html.firefox-lite .home .stage-button-secondary {
  animation: stage-reveal 450ms 700ms ease-out forwards !important;
}
html.firefox-lite .desktop-ra-card {
  will-change: auto;
}
html.firefox-lite .stage-button:hover,
html.firefox-lite .desktop-stage-nav .stage-signup:hover,
html.firefox-lite .panel-link:hover,
html.firefox-lite .panel-donate:hover {
  filter: brightness(1.16);
}
html.firefox-lite .stage-disclaimer-panel.is-open,
html.firefox-lite .stage-disclaimer-panel.is-closing {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025) 42%, rgba(1, 8, 18, 0.12)),
    rgba(7, 15, 28, 0.88);
}

@media (orientation: portrait) {
  html.firefox-lite .home .stage-button-secondary {
    animation: stage-reveal 1200ms 1850ms ease-out forwards !important;
  }
}

@media (orientation: portrait) {
  .stage-ranking-panel {
    top: clamp(145px, 19svh, 190px);
    right: auto;
    bottom: calc(clamp(48px, 6.7svh, 64px) + 15px);
    left: 50%;
    width: min(88vw, 520px);
    max-width: calc(100vw - 20px);
    padding: 17px 12px 12px;
    border-radius: 18px;
    translate: -50% 0;
  }
  .stage-ranking-heading { padding-bottom: 10px; }
  .stage-ranking-formats { gap: 4px; margin-top: 8px; }
  .stage-ranking-formats button { min-height: 30px; padding: 4px 2px; font-size: clamp(10px, 2.65vw, 12px); }
  .stage-ranking-heading .stage-ranking-subtitle { font-size: 11px; letter-spacing: 0.015em; }
  .stage-ranking-table { margin-top: 10px; border-radius: 9px; }
  .stage-ranking-columns,
  .stage-ranking-row {
    grid-template-columns: 10% minmax(0, 1fr) 15% 18% 16%;
    gap: 0.5%;
  }
  .stage-ranking-columns {
    min-height: 36px;
    padding: 0 19px 0 8px;
    font-size: clamp(9px, 2.35vw, 11px);
    letter-spacing: 0;
  }
  .stage-ranking-row {
    min-height: 44px;
    padding: 5px 4px 5px 8px;
    font-size: clamp(10px, 2.6vw, 12px);
  }
  .stage-ranking-player { gap: 5px; }
  .stage-ranking-avatar { width: 27px; height: 27px; border-radius: 6px; }
  .stage-ranking-identity { gap: 2px; }
  .stage-ranking-tags { gap: 2px; }
  .stage-ranking-tag { font-size: 7px; line-height: 10px; padding: 0 2px; }
  .stage-ranking-scroll { padding-right: 15px !important; }
  .stage-ranking-status { padding: 32px 14px; font-size: 13px; }
  .stage-ranking-footnote {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin-top: 7px;
    font-size: clamp(10px, 2.6vw, 12px);
  }
}

/* Download uses the actual News glass-window shell (including its close control,
   title layout and custom scrolling). Only the contents have Download styling. */
@media (orientation: landscape) and (min-width: 901px) {
  #downloadView {
    top: 50%;
    bottom: auto;
    height: auto;
    max-height: 88%;
    translate: 0 -50%;
    padding-top: 1.4cqw;
    padding-bottom: 1.1cqw;
  }
}
.stage-download-scroll {
  flex: 1;
  display: block;
  text-align: center;
  margin-top: 0.55cqw;
  padding-right: 0.95cqw;
  padding-bottom: 8px;
}
.download-platform-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  direction: ltr;
}
/* Arabic reads right-to-left: Windows on the right, Android on the left. */
html[dir="rtl"] .download-platform-columns {
  direction: rtl;
}
html[dir="rtl"] .download-windows {
  padding: 0 0.15cqw 0 1.15cqw;
}
.download-windows {
  min-width: 0;
  padding: 0 1.15cqw 0 0.15cqw;
}
.download-android {
  position: relative;
  align-self: stretch;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8cqw 1.35cqw;
  border-left: 1px solid rgba(238, 199, 122, 0.42);
}
.download-column-title {
  margin: 0 0 0.8cqw;
  color: #f4d59c;
  font: 760 clamp(19px, 1.5cqw, 28px)/1.12 var(--font-display);
  letter-spacing: 0.035em;
}
.download-android-message {
  max-width: 30em;
  text-align: center;
}
.download-android-art {
  display: block;
  width: clamp(170px, 13.5cqw, 250px);
  height: auto;
  margin: 0 auto 0.85cqw;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid rgba(229, 194, 129, 0.45);
  border-radius: 1cqw;
  box-shadow: 0 0.75cqw 1.8cqw rgba(0, 0, 0, 0.36);
}
.download-android-status {
  margin: 0 0 0.8em;
  color: #f2d390;
  font: 800 clamp(17px, 1.25cqw, 23px)/1.25 var(--font-body);
}
.download-android-description {
  margin: 0;
  color: rgba(245, 242, 235, 0.88);
  font: 550 clamp(14px, 0.94cqw, 18px)/1.48 var(--font-body);
}
html[dir="rtl"] .download-windows,
html[dir="rtl"] .download-android {
  direction: rtl;
}
html[dir="rtl"] .download-android {
  border-left: 0;
  border-right: 1px solid rgba(238, 199, 122, 0.42);
}
.download-beta-invite {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2cqw;
  margin: 1.1cqw auto 1cqw;
  max-width: 1200px;
  padding: 0.75cqw 1.4cqw;
  border-top: 1px solid rgba(220, 173, 94, 0.68);
  border-bottom: 1px solid rgba(220, 173, 94, 0.5);
  background: linear-gradient(90deg, transparent, rgba(5, 14, 29, 0.86) 15%, rgba(5, 14, 29, 0.86) 85%, transparent);
  text-align: start;
}
.download-beta-copy { flex: 1; min-width: 0; }
.download-beta-copy strong { display: block; color: #f9d78e; font: 800 clamp(18px, 1.25cqw, 24px) Rajdhani, Tahoma, sans-serif; }
.download-beta-copy p { margin: 0.25em 0 0; color: #e3dfd7; font: 600 clamp(15px, 1cqw, 19px)/1.35 Rajdhani, Tahoma, sans-serif; }
.download-discord-button { position: relative; aspect-ratio: 1600 / 398; color: #fff4d4; }
.download-discord-button:focus-visible { outline: 2px solid #ffe09d; outline-offset: 5px; }
.download-requirements { margin: 0 auto; max-width: 1200px; }
.download-requirements-heading { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 0.25em 1.3em; margin-bottom: 0.55cqw; }
.download-requirements-heading h3 { margin: 0; color: #f7d997; font: 700 clamp(20px, 1.4cqw, 28px) Cinzel, Tahoma, sans-serif; }
.download-table-scroll { overflow-x: auto; border: 1px solid #8e6b35; border-radius: 6px; background: rgba(4, 12, 25, 0.83); }
.download-spec-table { width: 100%; border-collapse: collapse; color: #efe8da; font: 600 clamp(11px, 0.76cqw, 15px)/1.23 Rajdhani, Tahoma, sans-serif; text-align: start; }
.download-spec-table th, .download-spec-table td { padding: clamp(4px, 0.38cqw, 7px) 0.65em; border-bottom: 1px solid rgba(195, 152, 86, 0.2); text-align: start; }
.download-spec-table tr > :not(:last-child) { border-inline-end: 1px solid rgba(195, 152, 86, 0.38); }
.download-spec-table thead th { padding-block: 0.62em; color: #f8ddae; background: rgba(134, 90, 30, 0.36); font-weight: 900; }
.download-spec-table tbody th { width: 25%; color: #e7c889; font-weight: 800; }
.download-spec-detail { display: block; margin-top: 0.15em; font-size: 0.94em; line-height: 1.3; font-weight: 500; color: #c4bcb1; }
.download-spec-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.035); }
.download-spec-table tbody tr:last-child > * { border-bottom: 0; }
.download-windows .download-beta-invite {
  flex-direction: column;
  align-items: center;
  gap: 0.45cqw;
  padding: 0.45cqw 0.6cqw;
  margin: 0 auto 0.48cqw;
  text-align: center;
}
.download-windows .download-discord-button {
  box-sizing: border-box;
  display: block;
  flex: none;
  width: min(75%, 240px);
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  animation: stage-button-alpha-pulse 4.8s ease-in-out infinite;
}
.download-discord-button .stage-button-art {
  width: 100%;
  height: auto;
}
.download-discord-button:hover {
  filter: brightness(1.28) saturate(1.12) drop-shadow(0 0 0.5cqw rgba(255, 203, 87, 0.55));
}
.download-discord-button:hover .stage-button-art {
  filter: brightness(1.16) saturate(1.08);
}
.download-discord-button:active {
  transform: translateY(0.16cqw) scale(0.975);
  filter: brightness(0.78) saturate(0.88);
}
.download-lower-spec-note {
  margin: 0.4cqw 0 0 !important;
  color: #d3c7b2;
  font: 500 clamp(12px, 0.78cqw, 15px)/1.35 var(--font-body);
  text-align: start;
}
.download-windows .download-spec-table {
  font-size: clamp(14px, 0.93cqw, 18px);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.download-windows .download-spec-table th,
.download-windows .download-spec-table td {
  padding: 0.48em 0.42em;
}
@media (orientation: portrait), (max-width: 900px) {
  .download-platform-columns { grid-template-columns: minmax(0, 1fr); }
  .download-windows { padding: 0; }
  html[dir="rtl"] .download-windows { padding: 0; }
  .download-android {
    padding: 16px 10px 14px;
    margin-top: 18px;
    border-left: 0;
    border-top: 1px solid rgba(238, 199, 122, 0.42);
  }
  html[dir="rtl"] .download-android {
    order: -1;
    margin-top: 0;
    margin-bottom: 18px;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid rgba(238, 199, 122, 0.42);
  }
  .download-android-art { width: min(62vw, 250px); border-radius: 14px; margin-bottom: 12px; }
  .download-column-title { margin-bottom: 12px; font-size: clamp(20px, 5vw, 27px); }
}
@media (orientation: portrait), (max-width: 640px) {
  .download-windows .download-beta-invite { gap: 5px; padding: 8px 6px; margin: 0 auto 8px; }
  .download-beta-copy strong { font-size: 18px; }
  .download-beta-copy p { font-size: 15px; }
  .download-windows .download-discord-button { width: 215px; }
  .download-requirements-heading { flex-direction: column; align-items: center; margin-bottom: 9px; }
  .download-requirements-heading h3 { font-size: 20px; }
  .download-spec-table { min-width: 530px; font-size: 14px; }
  .download-spec-table th, .download-spec-table td { padding: 8px; }
  .download-lower-spec-note { margin-top: 9px !important; font-size: 12px; }
}

/* Fit the centered Disclaimer to its text, without altering the shared glass. */
@media (orientation: landscape) and (min-width: 901px) {
  #disclaimerPanel {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(52cqw, 860px);
    height: auto;
    max-height: 90%;
    padding: 1.35cqw 1.6cqw 1.25cqw;
    translate: -50% -50%;
  }
  #disclaimerPanel .stage-disclaimer-heading {
    padding-bottom: 0.6cqw;
  }
  #disclaimerPanel .stage-disclaimer-scroll {
    margin-top: 0.65cqw;
    gap: 0.52cqw;
    padding-bottom: 0;
  }
}
#disclaimerPanel .stage-disclaimer-heading {
  padding-inline: clamp(40px, 4.2cqw, 76px);
  text-align: center;
}
#disclaimerPanel .stage-disclaimer-scroll {
  display: grid;
  justify-items: center;
  align-content: start;
  width: 100%;
  padding-inline: clamp(8px, 1.15cqw, 22px);
  padding-bottom: 8px;
  text-align: center;
}
#disclaimerPanel .stage-disclaimer-scroll > p,
#disclaimerPanel .stage-disclaimer-scroll > h3 {
  max-width: min(100%, 105ch);
  margin-inline: auto;
  text-align: center;
  text-wrap: pretty;
}
#disclaimerPanel .stage-disclaimer-scroll > p[data-i18n^="disclaimer.p"] {
  padding-bottom: 0.55em;
  background: linear-gradient(90deg, transparent, rgba(230, 182, 83, 0.62), transparent) center bottom / 43% 1px no-repeat;
}
#disclaimerPanel .stage-disclaimer-scroll > .stage-disclaimer-callout {
  width: 100%;
  padding: 0.5em 0.6em;
  color: #ffe1a0;
  background: none;
  border: 0;
  border-radius: 0;
  font-weight: 800;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}
#disclaimerPanel .stage-disclaimer-scroll > h3 {
  margin-top: 0.18em;
}
#disclaimerPanel .stage-disclaimer-scroll > .stage-disclaimer-contact {
  width: min(100%, 57ch);
  padding: 0.45em 0.8em;
  background: rgba(9, 17, 33, 0.45);
  border: 1px solid rgba(231, 181, 71, 0.57);
  border-radius: 0.6em;
}
#disclaimerPanel .stage-disclaimer-contact a {
  overflow-wrap: anywhere;
  font-size: 1.16em;
}
@media (orientation: portrait), (max-width: 640px) {
  #disclaimerPanel .stage-disclaimer-heading { padding-inline: 40px; }
  #disclaimerPanel .stage-disclaimer-scroll { padding-inline: 5px; }
  #disclaimerPanel .stage-disclaimer-scroll > .stage-disclaimer-contact { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .donation-countdown.is-counting .donation-countdown-progress {
    animation: none !important;
    stroke-dashoffset: 0;
  }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
  }
}
