@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Press+Start+2P&display=swap');

:root {
  --bg: #080314;
  --bg-2: #120523;
  --panel: rgba(16, 7, 35, 0.78);
  --panel-strong: rgba(12, 4, 28, 0.92);
  --text: #f8f7ff;
  --muted: #c8bde5;
  --cyan: #23e6ff;
  --blue: #3478ff;
  --pink: #ff2bd6;
  --purple: #8b42ff;
  --orange: #ff8a00;
  --yellow: #ffd84d;
  --border: rgba(255, 255, 255, 0.13);
  --shadow-pink: 0 0 24px rgba(255, 43, 214, 0.28);
  --shadow-cyan: 0 0 24px rgba(35, 230, 255, 0.24);
  --radius: 26px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 43, 214, .20), transparent 34rem),
    radial-gradient(circle at 8% 25%, rgba(35, 230, 255, .09), transparent 25rem),
    radial-gradient(circle at 95% 60%, rgba(139, 66, 255, .12), transparent 28rem),
    linear-gradient(180deg, #070210 0%, #0d031a 55%, #07020f 100%);
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.06) 3px 4px);
  mix-blend-mode: overlay;
  z-index: 20;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(18px);
  background: rgba(7, 2, 16, .72);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav {
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .03em;
}
.brand img {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  box-shadow: 0 0 18px rgba(255, 43, 214, .35);
}
.brand span { white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 26px; }
.nav-links a {
  text-decoration: none;
  color: var(--muted);
  font-weight: 700;
  font-size: .95rem;
  transition: .2s ease;
}
.nav-links a:hover { color: #fff; text-shadow: 0 0 14px rgba(35,230,255,.7); }
.nav-cta {
  padding: 10px 16px;
  border: 1px solid rgba(35,230,255,.5);
  border-radius: 999px;
  color: #fff !important;
  box-shadow: inset 0 0 20px rgba(35,230,255,.08), 0 0 18px rgba(35,230,255,.12);
}
.menu-toggle { display: none; border: 0; background: transparent; color: white; font-size: 1.5rem; }

.hero {
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  min-height: calc(100vh - 78px);
  display: grid;
  grid-template-columns: 1.06fr .94fr;
  align-items: center;
  gap: clamp(32px, 6vw, 84px);
  padding: 56px 0 72px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .18em;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(255, 43, 214, .35);
  background: rgba(255, 43, 214, .08);
  box-shadow: var(--shadow-pink);
}
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.hero h1 {
  margin: 24px 0 18px;
  font-family: 'Press Start 2P', monospace;
  font-size: clamp(2rem, 4.7vw, 4.9rem);
  line-height: 1.1;
  letter-spacing: -.04em;
  text-transform: uppercase;
  text-shadow: 4px 4px 0 #26105a, 0 0 22px rgba(255,43,214,.32);
}
.hero h1 .gradient {
  background: linear-gradient(180deg, #fff 0 26%, #67efff 48%, #4f7cff 61%, #ff2bd6 79%, #ff941f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero p {
  margin: 0 0 30px;
  max-width: 650px;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.72;
  color: var(--muted);
}
.store-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.store-btn {
  min-width: 210px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 17px;
  border-radius: 15px;
  text-decoration: none;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 12px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.store-btn:hover { transform: translateY(-3px); border-color: rgba(35,230,255,.55); box-shadow: 0 14px 46px rgba(0,0,0,.42), var(--shadow-cyan); }
.store-btn svg { width: 29px; height: 29px; flex: 0 0 auto; }
.store-copy small { display: block; color: #c8c1d8; font-size: .72rem; line-height: 1; }
.store-copy strong { display: block; margin-top: 4px; font-size: 1.04rem; }
.hero-meta { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 25px; color: #a99fc3; font-size: .9rem; font-weight: 700; }
.hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.hero-meta i { width: 6px; height: 6px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 9px var(--pink); }

.logo-stage { position: relative; isolation: isolate; }
.logo-stage::before {
  content: '';
  position: absolute;
  inset: 12% 7%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,43,214,.40), rgba(74,44,255,.20) 45%, transparent 72%);
  filter: blur(40px);
}
.logo-card {
  position: relative;
  padding: 12px;
  border-radius: 36px;
  background: linear-gradient(145deg, rgba(255,43,214,.22), rgba(35,230,255,.12));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 40px 100px rgba(0,0,0,.50), 0 0 54px rgba(255,43,214,.15);
  transform: rotate(1.5deg);
}
.logo-card img { width: 100%; border-radius: 28px; }
.pixel-float {
  position: absolute;
  width: 13px; height: 13px;
  background: var(--cyan);
  box-shadow: 0 0 14px var(--cyan);
  animation: float 4s ease-in-out infinite;
}
.pixel-float.one { top: 8%; right: -2%; }
.pixel-float.two { bottom: 16%; left: -3%; background: var(--pink); box-shadow: 0 0 14px var(--pink); animation-delay: -1.5s; }
@keyframes float { 50% { transform: translateY(-12px) rotate(20deg); } }

.section { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; padding: 88px 0; }
.section-heading { max-width: 760px; margin-bottom: 36px; }
.kicker { color: var(--cyan); text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 900; }
.section h2 { margin: 10px 0 14px; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.04; }
.section-heading p { margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 18px 55px rgba(0,0,0,.24);
}
.feature-icon {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: 14px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, rgba(255,43,214,.18), rgba(35,230,255,.16));
  border: 1px solid rgba(255,255,255,.12);
  font-size: 1.35rem;
}
.feature h3 { margin: 0 0 8px; font-size: 1.2rem; }
.feature p { margin: 0; color: var(--muted); line-height: 1.65; }

.cta-strip {
  width: min(var(--max), calc(100% - 36px));
  margin: 20px auto 88px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 80% 0, rgba(35,230,255,.16), transparent 22rem),
    radial-gradient(circle at 10% 100%, rgba(255,43,214,.20), transparent 24rem),
    linear-gradient(135deg, rgba(27,8,55,.95), rgba(13,5,30,.95));
  box-shadow: 0 25px 80px rgba(0,0,0,.38);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 30px;
}
.cta-strip h2 { margin: 0 0 10px; font-size: clamp(1.8rem, 3.4vw, 3rem); }
.cta-strip p { margin: 0; color: var(--muted); line-height: 1.6; }
.cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  padding: 15px 20px;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--pink), #9a42ff 54%, var(--cyan));
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 0 28px rgba(255,43,214,.28);
}

.site-footer { border-top: 1px solid rgba(255,255,255,.08); background: rgba(5,1,12,.55); }
.footer-inner {
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  padding: 34px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}
.footer-brand { display: flex; align-items: center; gap: 12px; color: var(--muted); }
.footer-brand img { width: 42px; border-radius: 12px; }
.footer-brand strong { color: #fff; display: block; }
.footer-brand span { font-size: .86rem; }
.footer-links { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: flex-end; }
.footer-links a { color: var(--muted); text-decoration: none; font-weight: 700; font-size: .9rem; }
.footer-links a:hover { color: white; }
.socials { display: flex; gap: 10px; }
.socials a {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  text-decoration: none;
}
.socials svg { width: 18px; height: 18px; }

/* Legal pages */
.legal-hero { width: min(900px, calc(100% - 36px)); margin: 0 auto; padding: 82px 0 38px; }
.legal-hero h1 { margin: 16px 0 12px; font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1; }
.legal-hero p { color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.legal-card {
  width: min(900px, calc(100% - 36px));
  margin: 0 auto 90px;
  padding: clamp(26px, 5vw, 52px);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.30);
}
.legal-card h2 { margin-top: 38px; font-size: 1.35rem; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card p, .legal-card li { color: #d4cce6; line-height: 1.75; }
.legal-card a { color: var(--cyan); }
.legal-card .notice { padding: 16px 18px; border-radius: 16px; background: rgba(35,230,255,.07); border: 1px solid rgba(35,230,255,.18); color: #eafcff; }

@media (max-width: 920px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 58px; }
  .hero-copy { text-align: center; }
  .hero p { margin-left: auto; margin-right: auto; }
  .store-buttons, .hero-meta { justify-content: center; }
  .logo-stage { width: min(650px, 92vw); margin: 0 auto; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .cta-strip { grid-template-columns: 1fr; text-align: center; }
}

@media (max-width: 720px) {
  .nav { min-height: 70px; }
  .brand span { font-size: .9rem; }
  .menu-toggle { display: block; cursor: pointer; }
  .nav-links {
    position: absolute;
    top: 70px;
    left: 18px;
    right: 18px;
    display: none;
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    background: rgba(10,3,24,.97);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 11px 12px; }
  .nav-cta { text-align: center; }
  .hero { width: min(100% - 26px, var(--max)); padding: 42px 0 56px; }
  .hero h1 { font-size: clamp(2rem, 11vw, 3.5rem); }
  .store-btn { width: 100%; justify-content: center; }
  .section { width: min(100% - 26px, var(--max)); padding: 66px 0; }
  .feature-grid { grid-template-columns: 1fr; }
  .cta-strip { width: min(100% - 26px, var(--max)); margin-bottom: 66px; }
  .footer-inner { grid-template-columns: 1fr; text-align: center; }
  .footer-brand, .footer-links, .socials { justify-content: center; }
}

/* ---------------------------------------------------------
   Interaction polish
   --------------------------------------------------------- */
.brand,
.nav-links a,
.store-btn,
.logo-card,
.feature,
.feature-icon,
.socials a,
.footer-links a {
  will-change: transform;
}

.brand {
  transition: transform .24s cubic-bezier(.2,.8,.2,1), filter .24s ease;
}
.brand:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 0 12px rgba(255,43,214,.28));
}
.brand img {
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease;
}
.brand:hover img {
  transform: rotate(-3deg) scale(1.05);
  box-shadow: 0 0 24px rgba(255,43,214,.52), 0 0 12px rgba(35,230,255,.26);
}

.nav-links a:not(.nav-cta) {
  position: relative;
  padding: 10px 2px;
  transition: color .22s ease, text-shadow .22s ease, transform .22s ease;
}
.nav-links a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
  box-shadow: 0 0 12px rgba(35,230,255,.55);
  transition: left .24s ease, right .24s ease;
}
.nav-links a:not(.nav-cta):hover {
  color: #fff;
  transform: translateY(-1px);
  text-shadow: 0 0 14px rgba(35,230,255,.7);
}
.nav-links a:not(.nav-cta):hover::after {
  left: 0;
  right: 0;
}

.nav-cta {
  position: relative;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.nav-cta::before {
  content: '';
  position: absolute;
  inset: -2px auto -2px -45%;
  width: 32%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  transition: left .45s ease;
}
.nav-cta:hover {
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(35,230,255,.9);
  background: rgba(35,230,255,.08);
  box-shadow: inset 0 0 24px rgba(35,230,255,.13), 0 0 25px rgba(35,230,255,.33), 0 0 18px rgba(255,43,214,.16);
}
.nav-cta:hover::before { left: 120%; }

.store-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease, background .24s ease;
}
.store-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(120deg, rgba(255,43,214,.12), rgba(35,230,255,.12));
  transition: opacity .24s ease;
}
.store-btn::after {
  content: '';
  position: absolute;
  top: -45%;
  left: -30%;
  width: 22%;
  height: 190%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  transition: left .5s ease;
}
.store-btn:hover {
  transform: translateY(-5px) scale(1.015);
  border-color: rgba(35,230,255,.72);
  box-shadow: 0 18px 52px rgba(0,0,0,.48), 0 0 27px rgba(35,230,255,.20), 0 0 20px rgba(255,43,214,.14);
}
.store-btn:hover::before { opacity: 1; }
.store-btn:hover::after { left: 118%; }
.store-btn svg {
  transition: transform .25s cubic-bezier(.2,.8,.2,1), filter .25s ease;
}
.store-btn:hover svg {
  transform: scale(1.12) rotate(-3deg);
  filter: drop-shadow(0 0 8px rgba(35,230,255,.45));
}

.logo-card {
  transition: transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, border-color .38s ease;
}
.logo-card:hover {
  transform: rotate(0deg) translateY(-7px) scale(1.012);
  border-color: rgba(255,255,255,.27);
  box-shadow: 0 48px 110px rgba(0,0,0,.56), 0 0 65px rgba(255,43,214,.25), 0 0 36px rgba(35,230,255,.10);
}

.feature {
  position: relative;
  overflow: hidden;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease, background .28s ease;
}
.feature::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 22% 10%, rgba(255,43,214,.13), transparent 42%), radial-gradient(circle at 90% 90%, rgba(35,230,255,.10), transparent 38%);
  transition: opacity .28s ease;
}
.feature:hover {
  transform: translateY(-8px);
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  box-shadow: 0 25px 65px rgba(0,0,0,.38), 0 0 25px rgba(255,43,214,.10), 0 0 20px rgba(35,230,255,.08);
}
.feature:hover::after { opacity: 1; }
.feature-icon {
  transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease;
}
.feature:hover .feature-icon {
  transform: translateY(-2px) rotate(-5deg) scale(1.08);
  border-color: rgba(35,230,255,.3);
  box-shadow: 0 0 18px rgba(35,230,255,.16), 0 0 16px rgba(255,43,214,.12);
}

.socials a {
  position: relative;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.socials a:hover {
  transform: translateY(-4px) scale(1.08);
  border-color: rgba(35,230,255,.52);
  background: linear-gradient(135deg, rgba(255,43,214,.16), rgba(35,230,255,.12));
  box-shadow: 0 10px 24px rgba(0,0,0,.28), 0 0 18px rgba(35,230,255,.20);
}
.socials svg { transition: transform .22s ease, filter .22s ease; }
.socials a:hover svg {
  transform: scale(1.12);
  filter: drop-shadow(0 0 6px rgba(255,255,255,.35));
}

.footer-links a {
  position: relative;
  transition: color .2s ease, transform .2s ease;
}
.footer-links a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -4px;
  height: 1px;
  background: var(--cyan);
  box-shadow: 0 0 8px var(--cyan);
  transition: right .22s ease;
}
.footer-links a:hover {
  color: #fff;
  transform: translateY(-1px);
}
.footer-links a:hover::after { right: 0; }

/* Animated mobile hamburger + slide-down menu */
.menu-toggle {
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background: rgba(255,255,255,.035);
  color: #fff;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}
.menu-toggle:hover {
  border-color: rgba(35,230,255,.45);
  background: rgba(35,230,255,.07);
  box-shadow: 0 0 18px rgba(35,230,255,.14);
}
.menu-toggle:active { transform: scale(.96); }
.menu-bar {
  position: absolute;
  left: 11px;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transform-origin: center;
  box-shadow: 0 0 8px rgba(35,230,255,.35);
  transition: top .28s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1), opacity .18s ease, background .22s ease, box-shadow .22s ease;
}
.menu-bar:nth-child(1) { top: 13px; }
.menu-bar:nth-child(2) { top: 20px; }
.menu-bar:nth-child(3) { top: 27px; }
.menu-toggle.is-open {
  border-color: rgba(255,43,214,.48);
  background: rgba(255,43,214,.075);
  box-shadow: 0 0 20px rgba(255,43,214,.16);
}
.menu-toggle.is-open .menu-bar {
  top: 20px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
  box-shadow: 0 0 9px rgba(255,43,214,.45), 0 0 9px rgba(35,230,255,.35);
}
.menu-toggle.is-open .menu-bar:nth-child(1) { transform: rotate(45deg); }
.menu-toggle.is-open .menu-bar:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.menu-toggle.is-open .menu-bar:nth-child(3) { transform: rotate(-45deg); }

@media (max-width: 720px) {
  .site-header { overflow: visible; }
  .menu-toggle { display: block; z-index: 2; }
  .nav-links {
    display: flex;
    position: absolute;
    top: calc(100% + 1px);
    left: 18px;
    right: 18px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 12px 18px 18px;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    transform: translateY(-12px) scaleY(.96);
    transform-origin: top;
    background: rgba(10,3,24,.98);
    border: 1px solid rgba(255,255,255,.12);
    border-top-color: rgba(255,43,214,.22);
    border-radius: 0 0 18px 18px;
    box-shadow: 0 22px 50px rgba(0,0,0,.48), 0 0 22px rgba(255,43,214,.08);
    backdrop-filter: blur(18px);
    transition: max-height .42s cubic-bezier(.2,.8,.2,1), opacity .24s ease, transform .34s cubic-bezier(.2,.8,.2,1), visibility 0s linear .42s;
  }
  .nav-links.open {
    max-height: 440px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scaleY(1);
    transition: max-height .42s cubic-bezier(.2,.8,.2,1), opacity .25s ease .04s, transform .34s cubic-bezier(.2,.8,.2,1), visibility 0s;
  }
  .nav-links a {
    padding: 12px 12px;
    border-radius: 10px;
    transform: translateY(-5px);
    opacity: 0;
    transition: color .2s ease, background .2s ease, transform .26s ease, opacity .22s ease;
  }
  .nav-links.open a {
    transform: translateY(0);
    opacity: 1;
  }
  .nav-links.open a:nth-child(1) { transition-delay: .06s; }
  .nav-links.open a:nth-child(2) { transition-delay: .09s; }
  .nav-links.open a:nth-child(3) { transition-delay: .12s; }
  .nav-links.open a:nth-child(4) { transition-delay: .15s; }
  .nav-links.open a:nth-child(5) { transition-delay: .18s; }
  .nav-links a:not(.nav-cta)::after { display: none; }
  .nav-links a:not(.nav-cta):hover {
    background: rgba(255,255,255,.05);
    transform: translateX(3px);
  }
  .nav-cta { margin-top: 4px; }
}

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

/* =========================================================
   2026 arcade landing-page refresh
   ========================================================= */
:root {
  --max: 1380px;
}

.hero-arcade {
  position: relative;
  width: min(var(--max), calc(100% - 36px));
  min-height: 640px;
  max-height: 760px;
  padding: clamp(44px, 5vw, 72px) 0 42px;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: clamp(28px, 5vw, 72px);
  overflow: hidden;
  isolation: isolate;
}

.hero-arcade::before {
  content: '';
  position: absolute;
  inset: 0 calc(50% - 50vw);
  z-index: -5;
  background:
    linear-gradient(180deg, rgba(6,2,18,.24), rgba(7,2,18,.50)),
    radial-gradient(circle at 72% 45%, rgba(255,55,92,.27), transparent 24rem),
    radial-gradient(circle at 28% 42%, rgba(173,23,255,.18), transparent 28rem),
    linear-gradient(180deg, #120426 0%, #220638 45%, #3b0b3f 69%, #12031f 100%);
}

.hero-scenery { position: absolute; inset: 0 calc(50% - 50vw); z-index: -4; overflow: hidden; pointer-events: none; }
.hero-scenery::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .33;
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,.035) 5px 6px),
    linear-gradient(180deg, transparent 0 57%, rgba(255,41,123,.10) 57% 58%, transparent 58%);
}
.sun {
  position: absolute;
  width: clamp(250px, 23vw, 360px);
  aspect-ratio: 1;
  right: 15vw;
  top: 11%;
  border-radius: 50%;
  background: repeating-linear-gradient(180deg, #ffd429 0 10px, #ff9c17 10px 18px, #ff5c35 18px 24px, transparent 24px 29px);
  box-shadow: 0 0 35px rgba(255,104,36,.5), 0 0 95px rgba(255,43,140,.28);
  opacity: .82;
}
.horizon {
  position: absolute;
  left: 0; right: 0; bottom: 6%; height: 24%;
  background:
    linear-gradient(176deg, transparent 0 45%, rgba(12,3,28,.95) 46% 60%, #06020e 61%),
    repeating-linear-gradient(0deg, rgba(255,43,214,.12) 0 2px, transparent 2px 15px);
  opacity: .9;
}
.city { position: absolute; bottom: 13%; width: 27vw; height: 31%; opacity: .8; filter: drop-shadow(0 0 12px rgba(255,43,214,.25)); }
.city::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      transparent 0 3%, #070211 3% 10%, transparent 10% 13%, #080214 13% 22%, transparent 22% 25%, #070211 25% 34%, transparent 34% 39%, #080214 39% 52%, transparent 52% 55%, #070211 55% 64%, transparent 64% 68%, #080214 68% 81%, transparent 81% 85%, #070211 85% 96%, transparent 96%);
  clip-path: polygon(0 55%, 8% 55%, 8% 36%, 18% 36%, 18% 50%, 28% 50%, 28% 20%, 39% 20%, 39% 48%, 49% 48%, 49% 5%, 61% 5%, 61% 34%, 72% 34%, 72% 18%, 84% 18%, 84% 45%, 100% 45%, 100% 100%, 0 100%);
}
.city-left { left: -2vw; transform: scaleX(-1); }
.city-right { right: -2vw; }
.palm { position: absolute; bottom: 14%; font-size: clamp(150px, 17vw, 280px); color: #070211; text-shadow: 0 0 18px rgba(255,43,214,.28); opacity: .9; transform: rotate(20deg); }
.palm-left { left: -4vw; }
.palm-right { right: -4vw; transform: rotate(-20deg) scaleX(-1); }

.hero-arcade .hero-copy { position: relative; z-index: 3; align-self: center; }
.hero-arcade .eyebrow {
  padding: 8px 14px;
  color: var(--cyan);
  border-color: rgba(255,43,214,.65);
  background: rgba(8,3,26,.72);
  box-shadow: 0 0 20px rgba(255,43,214,.23), inset 0 0 14px rgba(35,230,255,.04);
}
.hero-arcade .eyebrow .star { color: var(--yellow); text-shadow: 0 0 9px rgba(255,216,77,.8); }
.hero-arcade h1 { margin: 20px 0 18px; font-size: clamp(2.2rem, 4.25vw, 4.7rem); line-height: 1.04; letter-spacing: -.055em; text-shadow: none; }
.hero-line { display: block; }
.hero-line-light {
  color: #fff;
  text-shadow: 3px 3px 0 #5b246f, 0 0 18px rgba(255,255,255,.24), 0 0 24px rgba(135,69,255,.32);
}
.hero-line-hot {
  margin-top: 9px;
  background: linear-gradient(180deg, #fff3a8 0 7%, #ffd138 18%, #ff9a1f 46%, #ff3b72 72%, #ff2bd6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(3px 4px 0 #601449) drop-shadow(0 0 16px rgba(255,99,56,.26));
}
.hero-arcade .hero-copy > p {
  max-width: 690px;
  margin-bottom: 24px;
  color: #f2ebff;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.55;
  text-shadow: 0 2px 12px rgba(0,0,0,.75);
}
.hero-arcade .store-buttons { gap: 16px; }
.hero-arcade .store-btn {
  min-width: 228px;
  padding: 13px 18px;
  background: rgba(5,4,11,.91);
  border-width: 2px;
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 10px 30px rgba(0,0,0,.38), inset 0 0 18px rgba(255,255,255,.025);
}
.hero-arcade .store-btn.google { border-color: rgba(35,230,255,.82); box-shadow: 0 0 19px rgba(35,230,255,.25), inset 0 0 18px rgba(35,230,255,.03); }
.hero-arcade .store-btn.ios { border-color: rgba(255,255,255,.72); box-shadow: 0 0 19px rgba(255,255,255,.16), inset 0 0 18px rgba(255,255,255,.03); }
.hero-arcade .store-btn.ios svg { color: #ffffff; }
.hero-arcade .store-copy strong { font-size: 1.25rem; }
.hero-requirement { margin-top: 14px; color: #ff63cf; font-weight: 700; font-size: .9rem; text-shadow: 0 0 10px rgba(255,43,214,.38); }

.hero-arcade .logo-stage { align-self: center; z-index: 2; }
.logo-glow { position: absolute; inset: 8% 4%; border-radius: 40%; background: radial-gradient(circle, rgba(255,41,181,.28), rgba(35,230,255,.10) 45%, transparent 72%); filter: blur(34px); }
.hero-arcade .logo-card {
  padding: 9px;
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255,43,214,.28), rgba(35,230,255,.14));
  border: 2px solid rgba(255,43,214,.44);
  box-shadow: 0 32px 80px rgba(0,0,0,.54), 0 0 30px rgba(255,43,214,.20), 0 0 18px rgba(35,230,255,.10);
  transform: rotate(.6deg);
}
.hero-arcade .logo-card img { border-radius: 27px; }

.quick-features {
  width: min(var(--max), calc(100% - 36px));
  margin: -18px auto 0;
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  padding: 0 0 30px;
}
.quick-feature {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 19px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(14,5,30,.96), rgba(7,3,19,.96));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 42px rgba(0,0,0,.30);
  transition: transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .26s ease, border-color .26s ease;
}
.quick-feature:hover { transform: translateY(-7px) scale(1.015); }
.quick-feature.pink { border-color: rgba(255,43,214,.75); box-shadow: 0 0 22px rgba(255,43,214,.12); }
.quick-feature.cyan { border-color: rgba(35,155,255,.78); box-shadow: 0 0 22px rgba(35,155,255,.10); }
.quick-feature.gold { border-color: rgba(255,190,35,.82); box-shadow: 0 0 22px rgba(255,190,35,.10); }
.quick-feature.purple { border-color: rgba(195,47,255,.78); box-shadow: 0 0 22px rgba(195,47,255,.10); }
.quick-feature.magenta { border-color: rgba(255,39,134,.78); box-shadow: 0 0 22px rgba(255,39,134,.10); }
.quick-icon { font-size: 2rem; filter: drop-shadow(0 0 7px rgba(255,255,255,.12)); }
.quick-feature h3 { margin: 0 0 6px; font-family: 'Press Start 2P', monospace; font-size: .74rem; line-height: 1.35; text-transform: uppercase; color: #fff; }
.quick-feature.pink h3, .quick-feature.magenta h3 { color: #ff56d9; }
.quick-feature.cyan h3 { color: #2dc7ff; }
.quick-feature.gold h3 { color: #ffd23d; }
.quick-feature.purple h3 { color: #ce5dff; }
.quick-feature p { margin: 0; color: #e4dcf4; font-size: .83rem; line-height: 1.45; }

.game-section { padding-top: 70px; }
.section-heading.centered { text-align: center; margin-left: auto; margin-right: auto; }
.section-heading.centered p { margin-left: auto; margin-right: auto; }

.social-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.social-button {
  min-width: 145px;
  padding: 13px 20px;
  border-radius: 12px;
  text-align: center;
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: rgba(7,3,18,.86);
  border: 1px solid rgba(255,255,255,.15);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.social-button:hover { transform: translateY(-4px); }
.social-button.facebook { border-color: rgba(52,120,255,.78); box-shadow: 0 0 16px rgba(52,120,255,.14); }
.social-button.instagram { border-color: rgba(255,43,214,.78); box-shadow: 0 0 16px rgba(255,43,214,.14); }
.social-button.github { border-color: rgba(255,255,255,.34); }

.nav-links .active { color: #ff62dc; text-shadow: 0 0 11px rgba(255,43,214,.6); }
.nav-cta { border-radius: 12px; border-color: rgba(255,43,214,.72); box-shadow: 0 0 20px rgba(255,43,214,.17), inset 0 0 20px rgba(35,230,255,.04); }

@media (max-width: 1180px) {
  .quick-features { grid-template-columns: repeat(3, 1fr); }
  .hero-arcade { grid-template-columns: 1fr .92fr; }
}

@media (max-width: 920px) {
  .hero-arcade { max-height: none; min-height: auto; grid-template-columns: 1fr; padding-top: 50px; }
  .hero-arcade .hero-copy { text-align: center; }
  .hero-arcade .hero-copy > p { margin-left: auto; margin-right: auto; }
  .hero-arcade .store-buttons { justify-content: center; }
  .hero-requirement { text-align: center; }
  .hero-arcade .logo-stage { width: min(650px, 88vw); margin: 0 auto; }
  .sun { right: 50%; transform: translateX(50%); top: 12%; opacity: .48; }
  .quick-features { margin-top: 0; grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .hero-arcade { width: min(100% - 24px, var(--max)); padding-top: 34px; padding-bottom: 30px; }
  .hero-arcade h1 { font-size: clamp(1.9rem, 10vw, 3.15rem); }
  .hero-arcade .hero-copy > p { font-size: 1rem; line-height: 1.55; }
  .hero-arcade .store-btn { width: 100%; min-width: 0; }
  .hero-arcade .logo-stage { width: 100%; }
  .hero-arcade .logo-card { border-radius: 25px; }
  .hero-arcade .logo-card img { border-radius: 20px; }
  .quick-features { width: min(100% - 24px, var(--max)); grid-template-columns: 1fr; }
  .quick-feature { min-height: 0; }
  .social-buttons { justify-content: center; }
  .social-button { flex: 1 1 150px; }
  .palm { display: none; }
  .city { width: 45vw; opacity: .5; }
}

/* =========================================================
   Final visual pass — seamless hero, compact artwork, clear cards
   ========================================================= */

/* Keep the entire page on one continuous midnight-purple canvas so the
   hero does not end in a hard black/purple band. */
body {
  background:
    radial-gradient(circle at 50% -12%, rgba(255, 43, 214, .18), transparent 36rem),
    radial-gradient(circle at 7% 32%, rgba(35, 230, 255, .075), transparent 28rem),
    radial-gradient(circle at 92% 58%, rgba(139, 66, 255, .11), transparent 30rem),
    linear-gradient(180deg, #080216 0%, #0d031d 44%, #0d031d 72%, #080216 100%);
}

/* Full-bleed atmospheric wash continues beyond the hero instead of forming
   a visually separate rectangle. */
.hero-arcade {
  min-height: 540px;
  max-height: none;
  padding: clamp(38px, 4vw, 56px) 0 50px;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .72fr);
  gap: clamp(34px, 5vw, 76px);
  overflow: visible;
}

.hero-arcade::before {
  inset: -78px calc(50% - 50vw) -190px;
  background:
    linear-gradient(180deg, rgba(6,2,18,.08), rgba(9,2,21,.10) 58%, rgba(9,2,21,0) 100%),
    radial-gradient(circle at 70% 42%, rgba(255,55,92,.24), transparent 25rem),
    radial-gradient(circle at 30% 40%, rgba(173,23,255,.16), transparent 29rem),
    linear-gradient(180deg, #140428 0%, #23063a 43%, #3a0a40 68%, rgba(13,3,29,.16) 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, rgba(0,0,0,.82) 88%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0 78%, rgba(0,0,0,.82) 88%, transparent 100%);
}

.hero-scenery {
  inset: 0 calc(50% - 50vw) -110px;
}

.hero-arcade .hero-copy {
  padding-top: 8px;
}

.hero-arcade h1 {
  margin: 18px 0 16px;
  font-size: clamp(2rem, 3.55vw, 4.05rem);
  line-height: 1.03;
}

.hero-line-light {
  color: #ffffff;
  text-shadow:
    3px 3px 0 #5b246f,
    0 0 10px rgba(255,255,255,.32),
    0 0 28px rgba(121,74,255,.35);
}

.hero-line-hot {
  filter:
    drop-shadow(3px 4px 0 #601449)
    drop-shadow(0 0 12px rgba(255,154,31,.28))
    drop-shadow(0 0 24px rgba(255,43,214,.16));
}

.hero-arcade .hero-copy > p {
  max-width: 640px;
  color: #ffffff;
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  line-height: 1.5;
  margin-bottom: 22px;
  text-shadow: 0 2px 14px rgba(0,0,0,.82);
}

/* Artwork is intentionally smaller than the copy column so the hero keeps
   the download CTAs above the fold on common laptop screens. */
.hero-arcade .logo-stage {
  width: min(100%, 485px);
  justify-self: end;
  align-self: center;
}

.hero-arcade .logo-card {
  padding: 8px;
  border-radius: 30px;
  box-shadow:
    0 26px 66px rgba(0,0,0,.48),
    0 0 27px rgba(255,43,214,.20),
    0 0 15px rgba(35,230,255,.10);
}

.hero-arcade .logo-card img {
  border-radius: 23px;
}

/* The feature row now has a genuine gap below the hero. No negative margin,
   so it can never overlap the hero artwork/content. */
.quick-features {
  margin: 0 auto;
  padding: 30px 0 34px;
  border-top: 1px solid rgba(255,43,214,.18);
  background: transparent;
}

.quick-feature {
  min-height: 126px;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,43,214,.055), transparent 45%),
    linear-gradient(180deg, rgba(15,5,32,.91), rgba(8,3,20,.94));
}

/* Blend the content sections into the same page background rather than
   switching to solid black. */
.game-section,
.cta-strip,
.site-footer {
  position: relative;
}

.game-section::before {
  content: '';
  position: absolute;
  inset: -30px calc(50% - 50vw) -40px;
  z-index: -1;
  background: linear-gradient(180deg, rgba(13,3,29,0), rgba(9,2,21,.26), rgba(13,3,29,0));
}

.site-footer {
  background: rgba(8,2,22,.52);
}

@media (max-width: 1180px) {
  .hero-arcade {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .76fr);
  }
  .hero-arcade .logo-stage { width: min(100%, 430px); }
}

@media (max-width: 920px) {
  .hero-arcade {
    grid-template-columns: 1fr;
    padding-top: 46px;
    padding-bottom: 34px;
  }
  .hero-arcade .logo-stage {
    width: min(480px, 78vw);
    justify-self: center;
    margin-top: 8px;
  }
  .quick-features { padding-top: 38px; }
}

@media (max-width: 720px) {
  .hero-arcade {
    padding-top: 30px;
    padding-bottom: 28px;
  }
  .hero-arcade h1 {
    font-size: clamp(1.8rem, 9vw, 2.8rem);
  }
  .hero-arcade .hero-copy > p {
    color: #fff;
  }
  .hero-arcade .logo-stage {
    width: min(380px, 88vw);
    margin-top: 10px;
  }
  .quick-features {
    padding-top: 34px;
  }
}

/* =========================================================
   Belt progression + quiz mini-game
   ========================================================= */
.belt-journey {
  padding-top: 82px;
  padding-bottom: 92px;
}

.belt-heading {
  max-width: 820px;
}

.belt-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin-top: 48px;
}

.belt-path {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 48px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f4f4f4 0 19%, #1e6fff 20% 39%, #8e3cff 40% 59%, #78401f 60% 79%, #111 80% 100%);
  box-shadow: 0 0 16px rgba(255,255,255,.14), 0 0 24px rgba(139,66,255,.18);
}

.belt-step {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 8px;
}

.belt-medallion {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f3f3f5;
  border: 5px solid rgba(255,255,255,.18);
  box-shadow: 0 16px 38px rgba(0,0,0,.38), 0 0 25px rgba(255,255,255,.13);
  overflow: hidden;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease;
}

.belt-medallion::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: inherit;
}

.belt-medallion strong {
  position: relative;
  z-index: 2;
  font-family: 'Press Start 2P', monospace;
  font-size: .9rem;
  color: #090311;
}

.belt-band {
  position: absolute;
  left: -8px;
  right: -8px;
  top: 40px;
  height: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 12px rgba(255,255,255,.25);
}

.belt-blue .belt-medallion { background: #1459e8; box-shadow: 0 16px 38px rgba(0,0,0,.38), 0 0 26px rgba(35,120,255,.28); }
.belt-blue .belt-band { background: #287aff; }
.belt-purple .belt-medallion { background: #7b2fe3; box-shadow: 0 16px 38px rgba(0,0,0,.38), 0 0 28px rgba(168,65,255,.31); }
.belt-purple .belt-band { background: #9b45ff; }
.belt-brown .belt-medallion { background: #673719; box-shadow: 0 16px 38px rgba(0,0,0,.38), 0 0 25px rgba(167,91,43,.24); }
.belt-brown .belt-band { background: #844920; }
.belt-black .belt-medallion { background: #08090d; border-color: rgba(255,43,84,.6); box-shadow: 0 16px 38px rgba(0,0,0,.45), 0 0 30px rgba(255,43,84,.26); }
.belt-black .belt-band { background: linear-gradient(90deg, #050505 0 65%, #ef243f 65% 100%); }
.belt-blue .belt-medallion strong,
.belt-purple .belt-medallion strong,
.belt-brown .belt-medallion strong,
.belt-black .belt-medallion strong { color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.65); }

.belt-step:hover .belt-medallion {
  transform: translateY(-8px) scale(1.05);
}

.belt-white:hover .belt-medallion { box-shadow: 0 18px 42px rgba(0,0,0,.40), 0 0 30px rgba(255,255,255,.30); }
.belt-blue:hover .belt-medallion { box-shadow: 0 18px 42px rgba(0,0,0,.40), 0 0 36px rgba(35,120,255,.46); }
.belt-purple:hover .belt-medallion { box-shadow: 0 18px 42px rgba(0,0,0,.40), 0 0 36px rgba(168,65,255,.48); }
.belt-brown:hover .belt-medallion { box-shadow: 0 18px 42px rgba(0,0,0,.40), 0 0 34px rgba(194,108,52,.38); }
.belt-black:hover .belt-medallion { box-shadow: 0 18px 42px rgba(0,0,0,.46), 0 0 38px rgba(255,43,84,.45); }

.belt-label {
  display: block;
  margin-bottom: 8px;
  font-family: 'Press Start 2P', monospace;
  font-size: .73rem;
  line-height: 1.45;
  text-transform: uppercase;
}

.belt-step p {
  margin: 0 auto;
  max-width: 220px;
  color: #d8cfea;
  font-size: .88rem;
  line-height: 1.55;
}

.belt-white .belt-label { color: #fff; text-shadow: 0 0 9px rgba(255,255,255,.32); }
.belt-blue .belt-label { color: #4e8eff; text-shadow: 0 0 12px rgba(35,120,255,.35); }
.belt-purple .belt-label { color: #bd70ff; text-shadow: 0 0 12px rgba(168,65,255,.35); }
.belt-brown .belt-label { color: #c67b49; text-shadow: 0 0 12px rgba(194,108,52,.30); }
.belt-black .belt-label { color: #ff526b; text-shadow: 0 0 12px rgba(255,43,84,.36); }

.belt-finale {
  width: min(620px, 100%);
  margin: 44px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 18px 24px;
  border-radius: 18px;
  border: 1px solid rgba(255,43,214,.35);
  background: linear-gradient(90deg, rgba(255,43,214,.09), rgba(35,230,255,.07));
  box-shadow: 0 0 28px rgba(255,43,214,.10);
}

.belt-finale-icon { font-size: 2.3rem; }
.belt-finale small { display: block; color: var(--cyan); text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.belt-finale strong { display: block; margin-top: 4px; font-size: 1.2rem; }

.quiz-section {
  padding-top: 56px;
  padding-bottom: 94px;
}

.quiz-shell {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr minmax(360px, .8fr);
  gap: clamp(34px, 6vw, 80px);
  align-items: center;
  padding: clamp(30px, 5vw, 64px);
  border-radius: 32px;
  border: 1px solid rgba(255,43,214,.32);
  background:
    radial-gradient(circle at 85% 10%, rgba(35,230,255,.12), transparent 24rem),
    radial-gradient(circle at 8% 92%, rgba(255,43,214,.16), transparent 28rem),
    linear-gradient(135deg, rgba(20,5,42,.92), rgba(8,3,20,.96));
  box-shadow: 0 28px 72px rgba(0,0,0,.38), 0 0 36px rgba(255,43,214,.08);
}

.quiz-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,.04) 5px 6px);
}

.quiz-copy { position: relative; z-index: 1; }
.quiz-copy h2 { margin: 10px 0 16px; }
.quiz-copy > p { margin: 0; max-width: 690px; color: #e5dcf4; font-size: 1.07rem; line-height: 1.65; }

.quiz-difficulties {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 26px;
}

.quiz-difficulties span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(4,3,12,.70);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  font-weight: 800;
}

.quiz-difficulties span:nth-child(1) { border-color: rgba(35,230,255,.48); }
.quiz-difficulties span:nth-child(2) { border-color: rgba(255,216,77,.48); }
.quiz-difficulties span:nth-child(3) { border-color: rgba(255,43,84,.50); }
.quiz-difficulties strong { color: var(--cyan); font-family: 'Press Start 2P', monospace; font-size: .7rem; }

.quiz-machine {
  position: relative;
  z-index: 1;
  padding: 18px 18px 15px;
  border-radius: 26px;
  background: linear-gradient(145deg, #251043, #0a0617 70%);
  border: 2px solid rgba(255,43,214,.52);
  box-shadow: 0 24px 55px rgba(0,0,0,.42), 0 0 32px rgba(255,43,214,.18), inset 0 0 28px rgba(35,230,255,.05);
  transform: rotate(1deg);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
}

.quiz-machine:hover {
  transform: rotate(0deg) translateY(-6px);
  box-shadow: 0 30px 68px rgba(0,0,0,.48), 0 0 38px rgba(255,43,214,.25), 0 0 24px rgba(35,230,255,.12);
}

.quiz-screen {
  min-height: 290px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-radius: 15px;
  background:
    linear-gradient(rgba(0,0,0,.05), rgba(0,0,0,.05)),
    repeating-linear-gradient(0deg, #09151d 0 3px, #0b1c26 3px 5px);
  border: 2px solid rgba(35,230,255,.58);
  box-shadow: inset 0 0 30px rgba(35,230,255,.08), 0 0 18px rgba(35,230,255,.16);
}

.quiz-screen-label {
  align-self: center;
  margin-bottom: 23px;
  color: #ff54d8;
  font-family: 'Press Start 2P', monospace;
  font-size: .78rem;
  text-shadow: 0 0 10px rgba(255,43,214,.58);
}

.quiz-question {
  color: #f9fbff;
  font-family: 'Press Start 2P', monospace;
  font-size: .82rem;
  line-height: 1.65;
}

.quiz-options {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.quiz-options span {
  padding: 9px 11px;
  color: #bfefff;
  border: 1px solid rgba(35,230,255,.18);
  background: rgba(35,230,255,.04);
  font-family: monospace;
  font-weight: 700;
}

.quiz-options span:nth-child(2) {
  color: #fff3a8;
  border-color: rgba(255,216,77,.35);
  background: rgba(255,216,77,.07);
  box-shadow: inset 0 0 18px rgba(255,216,77,.04);
}

.quiz-status {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
  color: #8bddeb;
  font-family: monospace;
  font-size: .72rem;
}

.quiz-controls {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 10px 2px;
}

.dpad {
  margin-right: auto;
  font-size: 2.3rem;
  line-height: 1;
  color: #11131b;
  text-shadow: 0 1px 0 rgba(255,255,255,.2);
}

.quiz-led {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #72ff3d;
  box-shadow: 0 0 10px #72ff3d;
}

.arcade-button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ff2b75;
  color: #fff;
  font-weight: 900;
  box-shadow: inset 0 -4px 0 rgba(80,0,30,.35), 0 0 13px rgba(255,43,117,.32);
}

.arcade-button.secondary {
  background: #2d7cff;
  box-shadow: inset 0 -4px 0 rgba(0,28,90,.35), 0 0 13px rgba(45,124,255,.32);
}

@media (max-width: 980px) {
  .belt-track { grid-template-columns: repeat(5, minmax(145px, 1fr)); overflow-x: auto; padding: 8px 4px 20px; scroll-snap-type: x proximity; }
  .belt-step { scroll-snap-align: center; }
  .belt-path { left: 66px; right: 66px; min-width: 720px; }
  .quiz-shell { grid-template-columns: 1fr; }
  .quiz-machine { width: min(560px, 100%); margin: 0 auto; }
}

@media (max-width: 720px) {
  /* Give the store CTAs breathing room from the sides on phones. */
  .hero-arcade .store-buttons {
    width: 100%;
    padding-inline: 16px;
    gap: 12px;
  }
  .hero-arcade .store-btn {
    width: 100%;
    max-width: 440px;
    margin-inline: auto;
  }

  .belt-journey { padding-top: 68px; padding-bottom: 72px; }
  .belt-track {
    grid-template-columns: 1fr;
    gap: 0;
    overflow: visible;
    padding: 0;
    margin-top: 38px;
  }
  .belt-path {
    left: 47px;
    right: auto;
    top: 44px;
    bottom: 44px;
    width: 4px;
    height: auto;
    min-width: 0;
    background: linear-gradient(180deg, #f4f4f4 0 19%, #1e6fff 20% 39%, #8e3cff 40% 59%, #78401f 60% 79%, #111 80% 100%);
  }
  .belt-step {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 18px;
    align-items: center;
    min-height: 132px;
    text-align: left;
    padding: 10px 0;
  }
  .belt-medallion { margin: 0; }
  .belt-step p { max-width: none; margin: 0; }
  .belt-finale { margin-top: 30px; justify-content: flex-start; }

  .quiz-section { padding-top: 34px; padding-bottom: 74px; }
  .quiz-shell { padding: 24px 18px; border-radius: 24px; }
  .quiz-copy { text-align: center; }
  .quiz-copy > p { font-size: 1rem; }
  .quiz-difficulties { justify-content: center; }
  .quiz-screen { min-height: 270px; padding: 20px 16px; }
  .quiz-question { font-size: .72rem; }
}

/* =========================================================
   STORY PAGE
   ========================================================= */
.story-hero {
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  min-height: 620px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: clamp(40px, 7vw, 96px);
  padding: 82px 0 70px;
}
.story-hero-copy { position: relative; z-index: 2; }
.story-hero h1 {
  margin: 24px 0 22px;
  font-family: 'Press Start 2P', monospace;
  font-size: clamp(2.25rem, 5vw, 5rem);
  line-height: 1.08;
  text-transform: uppercase;
  letter-spacing: -.045em;
}
.story-hero h1 span, .story-hero h1 strong { display: block; }
.story-hero h1 span { color: #fff; text-shadow: 0 0 28px rgba(255,255,255,.16), 4px 4px 0 #35105a; }
.story-hero h1 strong {
  margin-top: 10px;
  color: transparent;
  background: linear-gradient(180deg, #fff66c 0%, #ff9b18 38%, #ff36bc 78%, #8b42ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 0 18px rgba(255,43,214,.28));
}
.story-hero-copy > p { max-width: 690px; color: #ebe5f7; font-size: 1.12rem; line-height: 1.75; }
.story-scroll, .story-download {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  margin-top: 26px; padding: 14px 20px; border-radius: 14px;
  text-decoration: none; color: #fff; font-weight: 900;
  border: 1px solid rgba(35,230,255,.46);
  background: linear-gradient(90deg, rgba(35,230,255,.10), rgba(255,43,214,.12));
  box-shadow: 0 0 25px rgba(35,230,255,.10);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.story-scroll:hover, .story-download:hover { transform: translateY(-4px); border-color: var(--pink); box-shadow: 0 0 30px rgba(255,43,214,.25); }

.story-hero-art {
  position: relative; min-height: 460px; overflow: hidden; border-radius: 34px;
  border: 1px solid rgba(255,43,214,.32);
  background:
    linear-gradient(180deg, transparent 57%, rgba(2,2,12,.72) 58%),
    repeating-linear-gradient(0deg, transparent 0 8px, rgba(255,255,255,.035) 8px 9px),
    linear-gradient(180deg, #1b0b61 0%, #711169 40%, #ff2e85 70%, #ff8a16 100%);
  box-shadow: 0 30px 80px rgba(0,0,0,.44), 0 0 40px rgba(255,43,214,.12);
}
.story-hero-art::after { content:''; position:absolute; left:0; right:0; bottom:0; height:44%; background: linear-gradient(180deg, rgba(4,2,16,.1), #05020e 90%); clip-path: polygon(0 55%, 10% 36%, 20% 49%, 31% 22%, 42% 46%, 52% 30%, 65% 54%, 78% 23%, 90% 41%, 100% 16%, 100% 100%, 0 100%); }
.story-sun { position:absolute; width:230px; height:230px; border-radius:50%; left:50%; top:66px; transform:translateX(-50%); background: repeating-linear-gradient(0deg, #ffb31b 0 11px, #ff6b18 11px 18px); box-shadow:0 0 60px rgba(255,138,0,.45); }
.story-island-mark { position:absolute; z-index:3; left:50%; top:145px; transform:translateX(-50%); text-align:center; font-family:'Press Start 2P', monospace; font-size:clamp(1.05rem,2.3vw,1.8rem); line-height:1.45; color:#fff; text-shadow:4px 4px 0 #27125b,0 0 18px #ff2bd6; }
.story-belt { position:absolute; z-index:4; left:12%; right:12%; height:22px; border-radius:999px; box-shadow:0 0 20px rgba(255,255,255,.15); }
.story-belt::after { content:''; position:absolute; right:13%; top:-4px; width:34px; height:30px; border-radius:5px; background:#0f0f12; }
.story-belt-white { bottom:124px; background:#f4f4f4; }
.story-belt-blue { bottom:96px; background:#1d65ff; }
.story-belt-purple { bottom:68px; background:#8c3dff; }
.story-belt-brown { bottom:40px; background:#7b3e1d; }
.story-belt-black { bottom:12px; background:#111; border:1px solid #ff2e64; }

.story-prologue { display:grid; grid-template-columns:auto 1fr 320px; gap:42px; align-items:start; }
.story-chapter-number { font-family:'Press Start 2P', monospace; font-size:clamp(3rem,7vw,6rem); line-height:1; color:rgba(255,255,255,.045); -webkit-text-stroke:1px rgba(255,43,214,.38); }
.story-chapter-copy h2 { margin:10px 0 18px; }
.story-chapter-copy p { color:#dcd3eb; line-height:1.75; font-size:1.06rem; }
.story-chapter-copy strong { color:#fff; }
.story-quote-card { align-self:center; padding:28px; border-radius:24px; border:1px solid rgba(255,216,77,.35); background:linear-gradient(145deg,rgba(255,138,0,.12),rgba(255,43,214,.08)); box-shadow:0 24px 55px rgba(0,0,0,.28); }
.story-quote-card span { display:block; color:var(--yellow); font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.story-quote-card strong { display:block; margin-top:12px; font-family:'Press Start 2P', monospace; font-size:1rem; line-height:1.7; }

.story-route-section { padding-top:60px; }
.story-route { position:relative; max-width:980px; margin:54px auto 0; }
.story-route::before { content:''; position:absolute; left:33px; top:34px; bottom:34px; width:4px; border-radius:999px; background:linear-gradient(180deg,#fff 0 19%,#1e6fff 20% 39%,#8e3cff 40% 59%,#7d421f 60% 79%,#141414 80% 100%); box-shadow:0 0 16px rgba(255,43,214,.22); }
.route-stop { position:relative; display:grid; grid-template-columns:68px 1fr; gap:24px; min-height:155px; }
.route-pin { display:grid; place-items:start center; padding-top:8px; position:relative; z-index:2; }
.route-pin span { width:30px; height:30px; border-radius:50%; border:5px solid #070210; background:#fff; box-shadow:0 0 18px rgba(255,255,255,.4); }
.route-stop.blue .route-pin span { background:#1e6fff; }.route-stop.purple .route-pin span { background:#8e3cff; }.route-stop.brown .route-pin span { background:#7d421f; }.route-stop.black .route-pin span { background:#111; border-color:#ff2e64; }
.route-content { padding:0 0 36px; border-bottom:1px solid rgba(255,255,255,.07); }
.route-stop:last-child .route-content { border-bottom:0; }
.route-content small { color:var(--cyan); text-transform:uppercase; letter-spacing:.13em; font-weight:900; }
.route-content h3 { margin:6px 0 8px; font-size:1.55rem; }
.route-content p { margin:0; color:var(--muted); line-height:1.65; }

.rival-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rival-card { min-height:220px; padding:26px; border-radius:24px; border:1px solid rgba(255,255,255,.11); background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); box-shadow:0 18px 48px rgba(0,0,0,.24); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.rival-card:hover { transform:translateY(-7px); border-color:rgba(255,43,214,.5); box-shadow:0 26px 60px rgba(0,0,0,.32),0 0 25px rgba(255,43,214,.12); }
.rival-rank { display:inline-block; color:var(--cyan); font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.rival-card h3 { margin:16px 0 8px; font-size:1.35rem; }
.rival-card p { margin:0; color:var(--muted); line-height:1.65; }
.rival-card.atlas { background:radial-gradient(circle at 100% 0,rgba(255,43,84,.13),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); }
.rival-card.kimura { background:radial-gradient(circle at 100% 0,rgba(35,230,255,.13),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); }

.koth-story-panel { display:grid; grid-template-columns:1fr 390px; gap:clamp(40px,7vw,90px); align-items:center; padding:clamp(32px,5vw,64px); border-radius:32px; border:1px solid rgba(255,43,214,.35); background:radial-gradient(circle at 85% 10%,rgba(255,138,0,.14),transparent 20rem),radial-gradient(circle at 5% 100%,rgba(139,66,255,.18),transparent 26rem),linear-gradient(135deg,rgba(26,7,50,.96),rgba(7,3,18,.97)); box-shadow:0 28px 78px rgba(0,0,0,.36); }
.koth-copy h2 { margin:10px 0 18px; }
.koth-copy p { color:#ddd4ed; line-height:1.7; }
.koth-final-line { color:#fff !important; font-weight:900; font-size:1.14rem; }
.koth-bracket { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.bracket-node { padding:16px 18px; border-radius:16px; border:1px solid rgba(35,230,255,.3); background:rgba(3,3,14,.6); text-align:center; }
.bracket-node small { display:block; color:var(--cyan); font-size:.64rem; font-weight:900; letter-spacing:.13em; }.bracket-node strong { display:block; margin-top:5px; font-size:1.05rem; }.bracket-node.final { border-color:rgba(255,216,77,.6); box-shadow:0 0 25px rgba(255,138,0,.14); }.bracket-node.final small { color:var(--yellow); }.bracket-arrow { text-align:center; color:var(--pink); font-size:1.3rem; }

.world-name-cloud { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:1000px; margin:38px auto 0; }
.world-name-cloud span { padding:11px 15px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); color:#e8e2f3; font-weight:700; transition:.2s ease; }
.world-name-cloud span:nth-child(3n+1) { border-color:rgba(35,230,255,.3); }.world-name-cloud span:nth-child(3n+2) { border-color:rgba(255,43,214,.3); }.world-name-cloud span:nth-child(3n) { border-color:rgba(255,216,77,.27); }
.world-name-cloud span:hover { transform:translateY(-3px); background:rgba(255,255,255,.07); color:#fff; box-shadow:0 0 18px rgba(255,43,214,.10); }

.story-cta { width:min(var(--max),calc(100% - 36px)); margin:0 auto 90px; padding:clamp(32px,5vw,54px); display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; border-radius:30px; border:1px solid rgba(35,230,255,.26); background:linear-gradient(110deg,rgba(35,230,255,.08),rgba(255,43,214,.12),rgba(255,138,0,.08)); }
.story-cta h2 { margin:8px 0 8px; font-size:clamp(2rem,4vw,3.3rem); }.story-cta p { margin:0; max-width:720px; color:var(--muted); }.story-download { margin-top:0; min-width:210px; }

@media (max-width: 980px) {
  .story-hero { grid-template-columns:1fr; min-height:0; padding-top:58px; }
  .story-hero-art { min-height:400px; width:min(620px,100%); margin:0 auto; }
  .story-prologue { grid-template-columns:100px 1fr; }.story-quote-card { grid-column:2; }
  .rival-grid { grid-template-columns:repeat(2,1fr); }
  .koth-story-panel { grid-template-columns:1fr; }.koth-bracket { max-width:520px; width:100%; margin:0 auto; }
}
@media (max-width: 720px) {
  .story-hero { width:min(100% - 30px, var(--max)); padding:44px 0 54px; gap:34px; }
  .story-hero h1 { font-size:clamp(1.9rem,10vw,3rem); }.story-hero-copy > p { font-size:1rem; }
  .story-hero-art { min-height:330px; border-radius:24px; }.story-sun { width:180px; height:180px; top:44px; }.story-island-mark { top:105px; }.story-belt { left:9%; right:9%; }
  .story-prologue { grid-template-columns:1fr; gap:22px; }.story-chapter-number { font-size:4rem; }.story-quote-card { grid-column:auto; }
  .story-route::before { left:25px; }.route-stop { grid-template-columns:52px 1fr; gap:15px; }.route-content h3 { font-size:1.3rem; }
  .rival-grid { grid-template-columns:1fr; }
  .koth-story-panel { padding:26px 18px; border-radius:24px; }
  .story-cta { width:calc(100% - 30px); grid-template-columns:1fr; text-align:center; }.story-download { width:100%; }
}

/* Social platform icons */
.social-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.social-icon { width: 21px; height: 21px; flex: 0 0 21px; filter: drop-shadow(0 0 7px currentColor); transition: transform .24s ease, filter .24s ease; }
.social-button:hover .social-icon { transform: scale(1.14) rotate(-4deg); filter: drop-shadow(0 0 12px currentColor); }
.social-button.facebook { color: #65a3ff; }
.social-button.instagram { color: #ff5fda; }
.social-button.github { color: #f4f1ff; }

/* =========================================================
   JJI Motion & FX Pass
   ========================================================= */
:root {
  --mouse-x: 50%;
  --mouse-y: 25%;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: .42;
  background:
    radial-gradient(520px circle at var(--mouse-x) var(--mouse-y), rgba(35,230,255,.065), transparent 48%),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: auto, 100% 4px;
  mix-blend-mode: screen;
}

.site-header {
  transition: background .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.site-header.is-scrolled {
  background: rgba(7, 2, 18, .88);
  border-bottom-color: rgba(35,230,255,.16);
  box-shadow: 0 12px 40px rgba(0,0,0,.24), 0 0 35px rgba(83,42,255,.08);
}

/* Animated nav underline */
.nav-links a:not(.nav-cta) { position: relative; }
.nav-links a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
  box-shadow: 0 0 12px rgba(35,230,255,.8);
  transform: translateX(-50%);
  transition: width .26s cubic-bezier(.2,.8,.2,1);
}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a:not(.nav-cta).active::after { width: 72%; }

/* Premium CTA sweep */
.store-btn,
.nav-cta,
.cta-link,
.socials a,
.social-link {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.store-btn::before,
.nav-cta::before,
.cta-link::before,
.social-link::before {
  content: '';
  position: absolute;
  inset: -40% auto -40% -70%;
  width: 45%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transition: left .58s cubic-bezier(.2,.8,.2,1);
  z-index: -1;
}
.store-btn:hover::before,
.nav-cta:hover::before,
.cta-link:hover::before,
.social-link:hover::before { left: 135%; }

.store-btn:hover,
.nav-cta:hover,
.cta-link:hover {
  transform: translateY(-4px) scale(1.018);
}
.store-btn:active,
.nav-cta:active,
.cta-link:active { transform: translateY(-1px) scale(.99); }

/* Hero entrance + subtle parallax */
.hero-copy,
.logo-stage { will-change: transform; }
.hero-copy { animation: heroCopyIn .8s cubic-bezier(.2,.8,.2,1) both; }
.logo-stage { animation: heroArtIn .95s .08s cubic-bezier(.2,.8,.2,1) both; }
@keyframes heroCopyIn {
  from { opacity: 0; transform: translate3d(-28px, 20px, 0); filter: blur(8px); }
  to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes heroArtIn {
  from { opacity: 0; transform: translate3d(28px, 24px, 0) scale(.96); filter: blur(10px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}
.hero-line-hot {
  background-size: 180% 180% !important;
  animation: neonTextShift 5s ease-in-out infinite;
}
@keyframes neonTextShift {
  0%,100% { background-position: 0% 50%; filter: drop-shadow(0 0 8px rgba(255,43,214,.28)); }
  50% { background-position: 100% 50%; filter: drop-shadow(0 0 15px rgba(255,133,32,.42)); }
}

.logo-card {
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
  transform-style: preserve-3d;
}
.logo-stage:hover .logo-card {
  box-shadow: 0 34px 90px rgba(0,0,0,.46), 0 0 55px rgba(255,43,214,.26), 0 0 28px rgba(35,230,255,.13);
}
.logo-glow { animation: logoPulse 4.5s ease-in-out infinite; }
@keyframes logoPulse {
  50% { opacity: .76; transform: scale(1.07); filter: blur(7px); }
}

/* Scroll reveal */
.reveal-ready {
  opacity: 0;
  transform: translateY(28px) scale(.985);
  filter: blur(5px);
  transition:
    opacity .7s cubic-bezier(.2,.8,.2,1),
    transform .7s cubic-bezier(.2,.8,.2,1),
    filter .7s ease;
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal-ready.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* Interactive cards */
.quick-feature,
.feature,
.belt-step,
.quiz-shell,
.story-card,
.story-chapter {
  transform-style: preserve-3d;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background .32s ease;
}
.quick-feature:hover,
.feature:hover,
.belt-step:hover,
.story-card:hover,
.story-chapter:hover {
  transform: translateY(-8px);
  border-color: rgba(35,230,255,.32);
  box-shadow: 0 24px 60px rgba(0,0,0,.3), 0 0 30px rgba(35,230,255,.08), 0 0 24px rgba(255,43,214,.08);
}
.quick-feature .quick-icon,
.feature .feature-icon {
  transition: transform .3s cubic-bezier(.2,.8,.2,1), filter .3s ease;
}
.quick-feature:hover .quick-icon,
.feature:hover .feature-icon {
  transform: translateY(-3px) rotate(-5deg) scale(1.14);
  filter: drop-shadow(0 0 10px rgba(35,230,255,.4));
}

/* Belt route energy line */
.belt-path { overflow: visible; }
.belt-path::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.85), transparent);
  background-size: 18% 100%;
  background-repeat: no-repeat;
  animation: beltEnergy 3.2s linear infinite;
  filter: blur(.4px);
}
@keyframes beltEnergy { from { background-position: -25% 0; } to { background-position: 125% 0; } }
.belt-medallion { transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.belt-step:hover .belt-medallion {
  transform: translateY(-5px) scale(1.07) rotate(-2deg);
  filter: drop-shadow(0 0 14px currentColor);
}

/* Quiz arcade life */
.quiz-machine { position: relative; }
.quiz-machine::after {
  content: '';
  position: absolute;
  left: 8%; right: 8%; top: 10%; height: 2px;
  opacity: .45;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  box-shadow: 0 0 12px var(--cyan);
  animation: scanMachine 3.8s linear infinite;
  pointer-events: none;
}
@keyframes scanMachine {
  from { transform: translateY(0); opacity: 0; }
  10%,80% { opacity: .45; }
  to { transform: translateY(245px); opacity: 0; }
}
.quiz-option,
.quiz-options span {
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.quiz-option:hover,
.quiz-options span:hover {
  transform: translateX(5px);
  border-color: rgba(35,230,255,.48);
  box-shadow: inset 0 0 18px rgba(35,230,255,.07), 0 0 18px rgba(35,230,255,.08);
}

/* Ambient scenery motion */
.sun { animation: sunBreathe 6s ease-in-out infinite; }
@keyframes sunBreathe {
  50% { filter: saturate(1.2) brightness(1.08); box-shadow: 0 0 65px rgba(255,90,190,.3); }
}
.palm-left { animation: palmDriftLeft 7s ease-in-out infinite; transform-origin: bottom center; }
.palm-right { animation: palmDriftRight 8s ease-in-out infinite; transform-origin: bottom center; }
@keyframes palmDriftLeft { 50% { transform: rotate(-2deg) translateY(-3px); } }
@keyframes palmDriftRight { 50% { transform: rotate(2deg) translateY(-4px); } }

/* Social icon micro-interaction */
.socials a:hover svg,
.social-link:hover svg {
  transform: rotate(-7deg) scale(1.16);
  filter: drop-shadow(0 0 8px currentColor);
}
.socials svg,
.social-link svg { transition: transform .25s ease, filter .25s ease; }

/* Mobile menu stagger */
@media (max-width: 720px) {
  .nav-links.open a { animation: mobileLinkIn .38s both cubic-bezier(.2,.8,.2,1); }
  .nav-links.open a:nth-child(1) { animation-delay: .03s; }
  .nav-links.open a:nth-child(2) { animation-delay: .06s; }
  .nav-links.open a:nth-child(3) { animation-delay: .09s; }
  .nav-links.open a:nth-child(4) { animation-delay: .12s; }
  .nav-links.open a:nth-child(5) { animation-delay: .15s; }
  .nav-links.open a:nth-child(6) { animation-delay: .18s; }
  @keyframes mobileLinkIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  body::after { opacity: .24; }
  .quick-feature:hover,
  .feature:hover,
  .belt-step:hover,
  .story-card:hover,
  .story-chapter:hover { transform: translateY(-3px); }
}

/* Respect motion accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal-ready { opacity: 1; transform: none; filter: none; }
}


/* =========================================================
   Navigation stability fix
   One underline implementation + consistent link visibility.
   ========================================================= */
.nav-links a:not(.nav-cta) {
  position: relative;
  opacity: 1;
  visibility: visible;
}

/* Reset the two older underline implementations before applying one
   predictable scale animation. */
.nav-links a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 2px;
  width: auto;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
  box-shadow: 0 0 12px rgba(35,230,255,.72);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
  opacity: .9;
}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a:not(.nav-cta):focus-visible::after,
.nav-links a:not(.nav-cta).active::after {
  left: 8%;
  right: 8%;
  width: auto;
  transform: scaleX(1);
}

.footer-links a::after {
  left: 0;
  right: 0;
  width: auto;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .22s ease;
}
.footer-links a:hover::after,
.footer-links a:focus-visible::after {
  right: 0;
  transform: scaleX(1);
}

/* Desktop navigation must never inherit the mobile menu's hidden-link state
   after resizing or moving between pages. */
@media (min-width: 721px) {
  .nav-links {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .nav-links a {
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (max-width: 720px) {
  /* In the dropdown, use a shorter underline so it reads as a deliberate
     neon accent rather than a full-row border. */
  .nav-links a:not(.nav-cta)::after {
    left: 12px;
    right: auto;
    width: 44px;
    bottom: 5px;
    transform: scaleX(0);
    transform-origin: left center;
  }
  .nav-links a:not(.nav-cta):hover::after,
  .nav-links a:not(.nav-cta):focus-visible::after,
  .nav-links a:not(.nav-cta).active::after {
    left: 12px;
    right: auto;
    width: 44px;
    transform: scaleX(1);
  }
}

/* =========================================================
   THE GAME — dedicated page
   ========================================================= */
.game-hero-page {
  position: relative;
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
  min-height: 650px;
  padding: clamp(64px, 8vw, 104px) 0 76px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: clamp(38px, 7vw, 88px);
}
.game-hero-page::before {
  content: '';
  position: absolute;
  width: 520px;
  height: 520px;
  right: -180px;
  top: 20px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,43,214,.18), rgba(35,230,255,.07) 42%, transparent 70%);
  filter: blur(20px);
  pointer-events: none;
}
.game-hero-copy { position: relative; z-index: 2; }
.game-hero-page h1 {
  margin: 24px 0 20px;
  font-family: 'Press Start 2P', monospace;
  font-size: clamp(2.25rem, 5.1vw, 5rem);
  line-height: 1.12;
  text-transform: uppercase;
  letter-spacing: -.045em;
}
.game-hero-page h1 span,
.game-hero-page h1 strong { display:block; }
.game-hero-page h1 span { color:#fff; text-shadow:4px 4px 0 #2d1056, 0 0 22px rgba(255,255,255,.12); }
.game-hero-page h1 strong {
  margin-top: .16em;
  background: linear-gradient(90deg, #26e8ff, #8c4cff 42%, #ff2bd6 70%, #ff9a20);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 14px rgba(255,43,214,.24));
}
.game-hero-copy > p { max-width: 720px; color:#e7e0f4; font-size:1.12rem; line-height:1.76; }
.game-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.game-primary-action, .game-secondary-action, .game-page-link {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 20px; border-radius:14px; text-decoration:none; font-weight:900;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.game-primary-action { background:linear-gradient(90deg,var(--pink),#8d49ff,var(--cyan)); box-shadow:0 0 28px rgba(255,43,214,.24); }
.game-secondary-action { border:1px solid rgba(35,230,255,.35); background:rgba(35,230,255,.055); }
.game-primary-action:hover, .game-secondary-action:hover, .game-page-link:hover { transform:translateY(-4px); box-shadow:0 15px 38px rgba(0,0,0,.28),0 0 25px rgba(35,230,255,.16); }

.game-tech-window {
  position:relative; z-index:2; overflow:hidden; border-radius:26px;
  border:1px solid rgba(35,230,255,.28);
  background:linear-gradient(160deg,rgba(17,7,39,.97),rgba(7,3,20,.96));
  box-shadow:0 32px 90px rgba(0,0,0,.46),0 0 50px rgba(255,43,214,.12);
  transform:rotate(1deg);
}
.tech-window-bar { height:42px; padding:0 15px; display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.055); border-bottom:1px solid rgba(255,255,255,.08); }
.tech-window-bar > span { width:9px; height:9px; border-radius:50%; background:var(--pink); box-shadow:0 0 8px rgba(255,43,214,.5); }
.tech-window-bar > span:nth-child(2){background:var(--yellow)} .tech-window-bar > span:nth-child(3){background:var(--cyan)}
.tech-window-bar strong { margin-left:auto; font-family:'Press Start 2P',monospace; font-size:.55rem; color:#9287ac; }
.tech-window-content { padding:24px; }
.tech-window-content > img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:18px; margin-bottom:20px; border:1px solid rgba(255,255,255,.1); box-shadow:0 18px 40px rgba(0,0,0,.34); }
.tech-stat { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 2px; border-bottom:1px solid rgba(255,255,255,.08); }
.tech-stat:last-child { border-bottom:0; }
.tech-stat span { font-size:.68rem; font-weight:900; color:var(--cyan); letter-spacing:.14em; }
.tech-stat strong { text-align:right; font-size:.94rem; }

.game-about-page { padding-top:70px; }
.game-pillars-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.game-pillar { position:relative; min-height:300px; padding:26px 24px; overflow:hidden; border-radius:24px; border:1px solid rgba(255,255,255,.11); background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); transition:.3s ease; }
.game-pillar::before { content:''; position:absolute; inset:auto -60px -70px auto; width:170px; height:170px; border-radius:50%; background:radial-gradient(circle,rgba(255,43,214,.18),transparent 68%); }
.game-pillar:hover { transform:translateY(-7px); border-color:rgba(35,230,255,.3); box-shadow:0 22px 55px rgba(0,0,0,.28),0 0 25px rgba(35,230,255,.07); }
.pillar-number { position:absolute; right:18px; top:14px; font-family:'Press Start 2P',monospace; font-size:1.65rem; color:rgba(255,255,255,.055); }
.pillar-icon { font-size:2rem; margin-bottom:42px; }
.game-pillar h3 { margin:0 0 10px; font-size:1.25rem; }.game-pillar p { margin:0; color:var(--muted); line-height:1.66; }

.mechanics-section { padding-top:62px; }
.mechanics-board { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; }
.mechanic-card { position:relative; padding:26px; border-radius:24px; border:1px solid rgba(255,255,255,.11); background:radial-gradient(circle at 100% 0,rgba(35,230,255,.08),transparent 12rem),linear-gradient(145deg,rgba(20,8,42,.88),rgba(9,4,24,.92)); overflow:hidden; }
.mechanic-card::after { content:''; position:absolute; width:120px; height:1px; right:-25px; top:25px; transform:rotate(-35deg); background:linear-gradient(90deg,transparent,var(--pink),transparent); opacity:.34; }
.mechanic-badge { display:inline-block; margin-bottom:20px; padding:6px 9px; border-radius:7px; border:1px solid rgba(35,230,255,.28); color:var(--cyan); font-family:'Press Start 2P',monospace; font-size:.52rem; letter-spacing:.06em; }
.mechanic-card h3 { margin:0 0 9px; font-size:1.24rem; }.mechanic-card p { min-height:88px; margin:0; color:var(--muted); line-height:1.62; }
.mechanic-meter { height:5px; margin-top:22px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.mechanic-meter i { display:block; height:100%; width:var(--meter); border-radius:inherit; background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan)); box-shadow:0 0 11px var(--cyan); transform-origin:left; animation:mechanicLoad 1.3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes mechanicLoad { from { transform:scaleX(0); } to { transform:scaleX(1); } }

.engine-panel { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,7vw,86px); align-items:center; padding:clamp(32px,5vw,60px); border-radius:32px; border:1px solid rgba(139,66,255,.3); background:radial-gradient(circle at 85% 15%,rgba(35,230,255,.10),transparent 24rem),linear-gradient(135deg,rgba(25,8,48,.96),rgba(7,3,18,.96)); box-shadow:0 28px 75px rgba(0,0,0,.32); }
.engine-copy h2 { margin:10px 0 18px; font-size:clamp(2rem,4vw,3.4rem); }.engine-copy p { color:#d8cee9; line-height:1.76; font-size:1.05rem; }.engine-copy strong { color:#fff; }
.engine-stack { display:flex; flex-direction:column; align-items:center; }
.stack-node { width:100%; padding:20px 18px; text-align:center; border-radius:18px; border:1px solid rgba(35,230,255,.22); background:rgba(7,4,23,.72); box-shadow:inset 0 0 28px rgba(35,230,255,.035); }
.stack-main { max-width:330px; border-color:rgba(255,43,214,.38); box-shadow:0 0 28px rgba(255,43,214,.11); }
.stack-node small { display:block; color:var(--cyan); letter-spacing:.15em; font-weight:900; font-size:.62rem; }.stack-node strong { display:block; margin-top:8px; font-family:'Press Start 2P',monospace; font-size:.77rem; line-height:1.5; }
.stack-line { width:2px; height:42px; background:linear-gradient(var(--pink),var(--cyan)); box-shadow:0 0 12px rgba(35,230,255,.4); }
.stack-row { width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }

.creator-section { padding-top:36px; }
.creator-card { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:36px; padding:clamp(30px,5vw,54px); border-radius:30px; border:1px solid rgba(255,216,77,.22); background:linear-gradient(115deg,rgba(255,138,0,.07),rgba(255,43,214,.09),rgba(35,230,255,.05)); }
.creator-mark { width:130px; height:130px; display:grid; place-items:center; border-radius:28px; font-family:'Press Start 2P',monospace; font-size:2rem; color:#fff; border:1px solid rgba(255,43,214,.42); background:linear-gradient(135deg,rgba(255,43,214,.28),rgba(35,230,255,.15)); box-shadow:0 0 36px rgba(255,43,214,.16); }
.creator-copy h2 { margin:8px 0 12px; font-size:clamp(2rem,4vw,3.25rem); }.creator-copy p { margin:0; color:var(--muted); line-height:1.72; font-size:1.05rem; }

.sponsors-section { padding-top:54px; }
.sponsor-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:42px; }
.sponsor-card { min-height:300px; padding:34px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border-radius:28px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); transition:.3s ease; }
.sponsor-card:hover { transform:translateY(-6px); box-shadow:0 25px 60px rgba(0,0,0,.32),0 0 30px rgba(255,43,214,.08); }
.sponsor-label { color:var(--cyan); font-size:.68rem; font-weight:900; letter-spacing:.18em; margin-bottom:18px; }
.sponsor-wordmark { font-family:'Press Start 2P',monospace; font-size:clamp(1.45rem,3.3vw,2.7rem); line-height:1.3; color:#fff; text-shadow:0 0 18px rgba(255,255,255,.12); }.sponsor-wordmark span { color:var(--pink); }
.koth-mark { max-width:460px; color:var(--yellow); text-shadow:4px 4px 0 #511954,0 0 20px rgba(255,138,0,.25); }
.sponsor-card p { max-width:540px; margin:24px 0 0; color:var(--muted); line-height:1.7; }

.game-page-cta { width:min(var(--max),calc(100% - 36px)); margin:10px auto 90px; padding:clamp(32px,5vw,54px); display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; border-radius:30px; border:1px solid rgba(255,43,214,.28); background:radial-gradient(circle at 10% 100%,rgba(255,43,214,.15),transparent 20rem),radial-gradient(circle at 90% 0,rgba(35,230,255,.11),transparent 18rem),rgba(13,5,30,.82); }
.game-page-cta h2 { margin:8px 0; font-size:clamp(2rem,4vw,3.3rem); }.game-page-cta p { margin:0; color:var(--muted); }
.game-page-link-wrap { margin-top:30px; text-align:center; }.game-page-link { border:1px solid rgba(35,230,255,.3); background:rgba(35,230,255,.055); }

@media (max-width: 980px) {
  .game-hero-page { grid-template-columns:1fr; min-height:0; }
  .game-tech-window { width:min(650px,100%); margin:0 auto; transform:none; }
  .game-pillars-grid { grid-template-columns:repeat(2,1fr); }
  .mechanics-board { grid-template-columns:repeat(2,1fr); }
  .engine-panel { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .game-hero-page { width:calc(100% - 30px); padding:48px 0 58px; gap:34px; }
  .game-hero-page h1 { font-size:clamp(1.85rem,9.7vw,3rem); }
  .game-hero-copy > p { font-size:1rem; }
  .game-hero-actions { flex-direction:column; }.game-primary-action,.game-secondary-action { width:100%; }
  .tech-window-content { padding:16px; }.tech-stat { align-items:flex-start; }.tech-stat strong { font-size:.82rem; }
  .game-pillars-grid,.mechanics-board,.sponsor-grid { grid-template-columns:1fr; }
  .game-pillar { min-height:0; }.pillar-icon { margin-bottom:28px; }
  .mechanic-card p { min-height:0; }
  .engine-panel { padding:26px 18px; border-radius:24px; }.stack-row { grid-template-columns:1fr; }.stack-line { height:25px; }.stack-row .stack-node { margin-top:0; }
  .creator-card { grid-template-columns:1fr; text-align:center; gap:20px; }.creator-mark { margin:0 auto; }
  .sponsor-card { min-height:0; padding:30px 20px; }
  .game-page-cta { width:calc(100% - 30px); grid-template-columns:1fr; text-align:center; }.game-page-cta .story-download { width:100%; }
}

/* ===== UPDATES PAGE ===== */
.updates-hero{width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:clamp(70px,9vw,120px) 0 68px;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,7vw,90px);align-items:center;min-height:620px;position:relative}.updates-hero::before{content:'';position:absolute;width:520px;height:520px;left:-260px;top:30px;background:radial-gradient(circle,rgba(255,43,214,.15),transparent 68%);pointer-events:none}.updates-hero-copy{position:relative;z-index:2}.updates-hero h1{margin:24px 0;font-family:'Press Start 2P',monospace;font-size:clamp(2.25rem,5vw,4.8rem);line-height:1.13;text-transform:uppercase;letter-spacing:-.045em}.updates-hero h1 span,.updates-hero h1 strong{display:block}.updates-hero h1 span{color:#fff;text-shadow:4px 4px 0 #2d1056}.updates-hero h1 strong{margin-top:.18em;background:linear-gradient(90deg,#26e8ff,#8c4cff 43%,#ff2bd6 75%,#ff9a20);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(255,43,214,.25))}.updates-hero-copy>p{max-width:760px;color:#e5dcf2;font-size:1.08rem;line-height:1.8}.dev-terminal{position:relative;border-radius:25px;overflow:hidden;border:1px solid rgba(35,230,255,.3);background:linear-gradient(160deg,rgba(17,7,39,.98),rgba(5,2,15,.98));box-shadow:0 30px 85px rgba(0,0,0,.48),0 0 45px rgba(35,230,255,.08)}.dev-terminal-body{padding:34px 30px;font-family:monospace;font-size:1rem;line-height:2}.dev-terminal-body p{margin:0;border-bottom:1px solid rgba(255,255,255,.06)}.dev-terminal-body b{display:inline-block;min-width:150px;color:var(--cyan)}.dev-terminal-body i{color:#62ff9b;font-style:normal;text-shadow:0 0 10px rgba(98,255,155,.45)}
.updates-purpose{padding-top:54px}.updates-flow{margin:46px auto 0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:16px;align-items:center}.updates-flow>i{color:var(--pink);font-size:1.8rem;font-style:normal;text-shadow:0 0 15px var(--pink)}.flow-node{padding:24px 16px;text-align:center;border-radius:20px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);transition:.3s ease}.flow-node:hover{transform:translateY(-6px);border-color:rgba(35,230,255,.36);box-shadow:0 18px 40px rgba(0,0,0,.25),0 0 20px rgba(35,230,255,.08)}.flow-node span{display:block;color:var(--pink);font-family:'Press Start 2P',monospace;font-size:.65rem;margin-bottom:15px}.flow-node strong{display:block;font-family:'Press Start 2P',monospace;font-size:.7rem;line-height:1.5}.flow-node small{display:block;margin-top:10px;color:var(--muted)}.flow-node.final{border-color:rgba(255,43,214,.36);background:linear-gradient(135deg,rgba(255,43,214,.10),rgba(35,230,255,.07))}
.current-scope{padding-top:48px}.scope-panel{display:grid;grid-template-columns:1fr 230px;gap:50px;align-items:center;padding:clamp(32px,5vw,58px);border-radius:30px;border:1px solid rgba(255,216,77,.2);background:radial-gradient(circle at 90% 50%,rgba(255,138,0,.09),transparent 20rem),linear-gradient(135deg,rgba(20,8,42,.94),rgba(8,3,21,.96))}.scope-panel h2{margin:10px 0 18px;font-size:clamp(2rem,4vw,3.4rem)}.scope-panel p{color:#d8cee9;line-height:1.78;font-size:1.04rem}.scope-stamp{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;border:2px dashed rgba(255,216,77,.55);box-shadow:0 0 0 9px rgba(255,216,77,.035),0 0 40px rgba(255,138,0,.10);transform:rotate(5deg);text-align:center}.scope-stamp span,.scope-stamp small{font-family:'Press Start 2P',monospace;font-size:.55rem;color:var(--yellow)}.scope-stamp strong{font-family:'Press Start 2P',monospace;font-size:2.5rem;margin:14px 0;color:#fff;text-shadow:0 0 18px rgba(255,216,77,.25)}
.future-section{padding-top:62px}.future-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:44px}.future-card{position:relative;min-height:310px;padding:28px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 100% 0,rgba(255,43,214,.09),transparent 13rem),linear-gradient(150deg,rgba(19,7,41,.92),rgba(8,3,22,.94));overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.future-card:hover{transform:translateY(-8px);border-color:rgba(35,230,255,.3);box-shadow:0 24px 55px rgba(0,0,0,.32),0 0 25px rgba(255,43,214,.08)}.future-card.wide{grid-column:2/4;min-height:260px}.future-no{position:absolute;right:18px;top:16px;font-family:'Press Start 2P',monospace;font-size:1.5rem;color:rgba(255,255,255,.055)}.future-icon{font-size:2rem;margin:25px 0 36px}.future-card h3{margin:0 0 12px;font-size:1.25rem}.future-card p{margin:0;color:var(--muted);line-height:1.68}.updates-message{width:min(var(--max),calc(100% - 36px));margin:40px auto 90px;padding:clamp(36px,6vw,70px);border-radius:32px;border:1px solid rgba(255,43,214,.28);background:radial-gradient(circle at 0 100%,rgba(255,43,214,.16),transparent 25rem),radial-gradient(circle at 100% 0,rgba(35,230,255,.10),transparent 24rem),rgba(12,5,29,.88);text-align:center}.updates-message h2{margin:10px 0 18px;font-size:clamp(2.2rem,5vw,4rem)}.updates-message>p{max-width:820px;margin:0 auto;color:#ddd3ec;line-height:1.8;font-size:1.06rem}.updates-message .game-hero-actions{justify-content:center}
@media(max-width:980px){.updates-hero{grid-template-columns:1fr;min-height:0}.dev-terminal{width:min(650px,100%);margin:0 auto}.future-grid{grid-template-columns:repeat(2,1fr)}.future-card.wide{grid-column:1/-1}.updates-flow{grid-template-columns:1fr 1fr}.updates-flow>i{display:none}.scope-panel{grid-template-columns:1fr 180px}}
@media(max-width:720px){.updates-hero{width:calc(100% - 30px);padding:50px 0 58px;gap:34px}.updates-hero h1{font-size:clamp(1.85rem,9.5vw,3rem)}.dev-terminal-body{padding:24px 18px;font-size:.86rem}.dev-terminal-body b{min-width:125px}.updates-flow,.future-grid{grid-template-columns:1fr}.scope-panel{grid-template-columns:1fr;padding:28px 20px}.scope-stamp{width:170px;margin:10px auto 0}.future-card,.future-card.wide{grid-column:auto;min-height:0}.updates-message{width:calc(100% - 30px);padding:34px 20px}.updates-message .game-hero-actions{flex-direction:column}.updates-message .game-primary-action,.updates-message .game-secondary-action{width:100%}}

/* ========================================================================== */
/* GOLD DONATION CTA — project funding button                                 */
/* ========================================================================== */
.nav-links .donation-cta {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 146px;
  padding: 12px 18px;
  overflow: hidden;
  color: #190d00 !important;
  font-weight: 900;
  letter-spacing: .08em;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
  border: 1px solid #fff0a6 !important;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), transparent 28%),
    linear-gradient(110deg, #8c5100 0%, #ffc928 18%, #fff29b 42%, #ffbd00 64%, #9b5700 100%);
  background-size: 100% 100%, 220% 100%;
  box-shadow:
    0 0 8px rgba(255, 218, 56, .88),
    0 0 24px rgba(255, 184, 0, .52),
    0 0 48px rgba(255, 145, 0, .22),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -3px 7px rgba(112,53,0,.34);
  animation: donationGoldPulse 2.35s ease-in-out infinite, donationGoldFlow 4.8s linear infinite;
  transform: translateZ(0);
}

.nav-links .donation-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -45% -75%;
  width: 32%;
  height: 190%;
  left: -60%;
  top: -45%;
  opacity: .82;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
  filter: blur(1px);
  animation: donationShine 2.8s ease-in-out infinite;
  pointer-events: none;
}

.nav-links .donation-cta::after {
  content: "£  $  €";
  position: absolute;
  z-index: -1;
  inset: auto 0 2px 0;
  text-align: center;
  color: rgba(100, 47, 0, .18);
  font-size: 9px;
  letter-spacing: 1.15em;
  white-space: nowrap;
  transform: translateX(.5em);
  pointer-events: none;
}

.donation-label {
  position: relative;
  z-index: 2;
}

.money-coin {
  position: relative;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  color: #6a3700;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 1000;
  line-height: 1;
  background: radial-gradient(circle at 32% 26%, #fffbd2 0 10%, #ffe66d 22%, #ffbe00 55%, #c06b00 78%, #764000 100%);
  border: 2px solid rgba(105,54,0,.7);
  box-shadow: inset 0 0 0 2px rgba(255,245,154,.58), 0 2px 5px rgba(73,31,0,.28);
  animation: moneyCoinSpin 3.2s cubic-bezier(.45,.04,.25,1) infinite;
}

.nav-links .donation-cta:hover,
.nav-links .donation-cta:focus-visible {
  color: #160a00 !important;
  transform: translateY(-3px) scale(1.055);
  border-color: #fff9c8 !important;
  box-shadow:
    0 0 10px rgba(255, 242, 130, 1),
    0 0 30px rgba(255, 196, 0, .88),
    0 0 64px rgba(255, 148, 0, .48),
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -3px 7px rgba(112,53,0,.3);
}

.nav-links .donation-cta:hover .money-coin,
.nav-links .donation-cta:focus-visible .money-coin {
  animation-duration: .75s;
}

.nav-links .donation-cta:active {
  transform: translateY(0) scale(.985);
}

@keyframes donationGoldPulse {
  0%, 100% { filter: brightness(1) saturate(1.03); }
  50% { filter: brightness(1.14) saturate(1.18); }
}

@keyframes donationGoldFlow {
  from { background-position: 0 0, 0% 0; }
  to { background-position: 0 0, 220% 0; }
}

@keyframes donationShine {
  0%, 28% { left: -65%; opacity: 0; }
  38% { opacity: .95; }
  58% { left: 135%; opacity: .75; }
  68%, 100% { left: 135%; opacity: 0; }
}

@keyframes moneyCoinSpin {
  0%, 72% { transform: rotateY(0deg) translateY(0); }
  82% { transform: rotateY(180deg) translateY(-2px); }
  92%, 100% { transform: rotateY(360deg) translateY(0); }
}

@media (max-width: 900px) {
  .nav-links .donation-cta {
    width: calc(100% - 24px);
    margin: 9px 12px 4px;
    min-height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-links .donation-cta,
  .nav-links .donation-cta::before,
  .money-coin {
    animation: none !important;
  }
}
