/* ============================================================================
 * Fonts — aligned with TOFU frontend (D:\TOFU_website): Inter for everything.
 * The Silkscreen pixel font belongs to the TOFU *landing* page only and is
 * intentionally NOT used in decks (see .cursor/rules/design-tokens.mdc).
 *
 * Typographic hierarchy (trading-platform look):
 *   Display headings  → Inter 800, tracking -0.02/-0.03em, line-height ~1.03
 *   Card/sub headings → Inter 700, tracking -0.01em
 *   Labels / eyebrows → Inter 600-700 @ 9-12px, wide tracking .06-.2em, caps
 *   Body              → Inter 400/500, normal tracking
 *   Numbers           → Inter 800, tabular-nums
 * ============================================================================ */
@font-face {
  font-family: 'Inter';
  src: url('/shared/fonts/inter-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* ============================================================================
 * Color tokens — aligned with TOFU frontend globals.css (single authority:
 * D:\TOFU_website\apps\web\app\globals.css). Hex anchors mirror the frontend.
 * ============================================================================ */
:root {
  --black: #030303;        /* frontend --video-card (pure-black media base) */
  --ink: #14171b;          /* frontend --background (cool near-black) */
  --panel: #1d2125;        /* frontend --card */
  --graphite: #262b30;     /* frontend --control */
  --grey: #94a0ae;         /* frontend --muted-foreground */
  --white: #f3f5f8;        /* frontend --foreground (near-white, not #fff) */
  --paper: #fcfcfc;        /* frontend light --background */
  --mint: #14f195;         /* frontend --primary (Hyperliquid green) */
  --mint-strong: #00c067;  /* frontend light --primary-strong (green-as-text on light) */
  --purple: #9b48fb;       /* frontend --chart-2 (gamification purple) */
  --red: #e62b34;          /* frontend --destructive */
  /* rarity palette (frontend --rarity-*; mythic = chart-4 magenta, deck extension) */
  --rarity-common: #737d88;
  --rarity-rare: #14f195;
  --rarity-epic: #9b48fb;
  --rarity-legendary: #fedf00;
  --rarity-mythic: #eb56e3;
  --display: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-snap-type: y mandatory; background: var(--black); }
body { margin: 0; background: var(--black); color: var(--white); font-family: var(--body); font-variant-numeric: tabular-nums; overflow-x: hidden; }
button, a, input { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }

.deck-nav {
  position: fixed; z-index: 100; inset: 0 0 auto 0; height: 72px; padding: 14px 28px;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: var(--white);
  pointer-events: none; transition: color .25s ease;
}
.nav-light .deck-nav { color: var(--ink); }
.deck-nav > * { pointer-events: auto; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; font: 700 15px var(--display); letter-spacing: .04em; }
.brand img { width: 36px; height: 36px; border-radius: 8px; }
.deck-label { font: 600 11px var(--display); letter-spacing: .14em; display: flex; align-items: center; gap: 8px; }
.status-dot { width: 7px; height: 7px; background: var(--mint); box-shadow: 0 0 16px var(--mint); border-radius: 50%; }
.nav-actions { justify-self: end; display: flex; align-items: center; gap: 8px; font: 600 11px var(--display); letter-spacing: .05em; }
.music-button { min-width: 112px; height: 34px; padding: 0 11px; border: 1px solid currentColor; border-radius: 11px; background: transparent; color: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; font: 600 10px var(--display); letter-spacing: .08em; transition: .2s ease; }
.music-button.enabled { border-color: var(--mint); box-shadow: inset 0 0 0 1px rgba(20,241,149,.18); }
.music-button.playing .music-icon { color: var(--mint); animation: musicPulse 1.15s ease-in-out infinite; }
.music-button:hover { background: rgba(20,241,149,.12); border-color: var(--mint); }
.music-icon { font: 700 16px/1 var(--body); }
.icon-button { width: 34px; height: 34px; border: 1px solid currentColor; background: transparent; border-radius: 50%; cursor: pointer; transition: .2s ease; }
.icon-button:hover { background: currentColor; color: var(--black); }

.progress-rail { position: fixed; z-index: 90; right: 24px; top: 50%; transform: translateY(-50%); display: flex; gap: 12px; align-items: stretch; color: var(--white); transition: color .25s ease; }
.nav-light .progress-rail { color: var(--ink); }
.rail-line { width: 1px; background: currentColor; opacity: .35; position: relative; }
.rail-line span { position: absolute; inset: 0 0 auto; background: currentColor; height: 0; opacity: 1; transition: height .35s ease; }
.progress-rail nav { display: flex; flex-direction: column; gap: 9px; }
.progress-rail a { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; position: relative; transition: .2s ease; }
.progress-rail a::before { content: attr(data-label); position: absolute; right: 18px; top: 50%; transform: translateY(-50%) translateX(6px); opacity: 0; white-space: nowrap; pointer-events: none; font: 600 10px var(--display); letter-spacing: .08em; text-transform: uppercase; transition: .2s ease; }
.progress-rail a:hover::before, .progress-rail a.active::before { opacity: 1; transform: translateY(-50%); }
.progress-rail a.active { background: currentColor; transform: scale(1.2); }

.slide { min-height: 100svh; width: 100%; scroll-snap-align: start; scroll-snap-stop: always; position: relative; overflow: hidden; padding: 112px clamp(36px, 7vw, 120px) 52px; display: grid; align-content: center; }
.section-number { position: absolute; left: clamp(36px,7vw,120px); top: 80px; font: 800 clamp(120px,17vw,260px)/1 var(--display); letter-spacing: -.04em; opacity: .06; }
.eyebrow { margin: 0 0 22px; font: 600 12px var(--display); letter-spacing: .2em; text-transform: uppercase; }
.eyebrow.dark { color: var(--ink); }
.section-heading { position: relative; z-index: 2; }
/* Heading system — two layout tiers, one set of rules (Inter 800, line-height
   1.04, tracking -0.02em, uppercase, manual <br> line breaks designed per
   slide). Wide tier = full-width slides; narrow tier = split-column slides.
   Sizes are tuned so the longest designed line fits its column. */
.section-heading h2, .problem-copy h2, .identity-copy h2, .team-left h2, .final-copy h2 { margin: 0; font: 800 clamp(42px, 5vw, 92px)/1.04 var(--display); letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; }
.problem-copy h2, .product-heading h2, .slide-social .section-heading h2, .identity-copy h2, .team-left h2 { font-size: clamp(34px, 3.7vw, 76px); }
.section-heading h2 span, .problem-copy h2 span, .identity-copy h2 span, .team-left h2 span { color: var(--mint); }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in-view { opacity: 1; transform: none; }
.delay-1 { transition-delay: .12s; }.delay-2 { transition-delay: .22s; }.delay-3 { transition-delay: .32s; }

.slide-hero { background: var(--ink); grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); align-items: center; }
.pixel-grid { position: absolute; inset: 0 49% 0 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.orb { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.orb-mint { width: 18vw; height: 30vw; left: 34vw; top: 27vh; background: rgba(20,241,149,.11); }
.hero-copy { position: relative; z-index: 3; max-width: 960px; }
.hero-copy h1 { margin: 0; font: 800 clamp(54px, 7.2vw, 138px)/1.02 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.hero-copy h1 span { color: var(--mint); }
.lead { max-width: 650px; margin: 32px 0; color: rgba(243,245,248,.72); font-size: clamp(18px,1.7vw,28px); line-height: 1.3; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 42px; }
.hero-meta span { min-height: 42px; border: 1px solid rgba(20,241,149,.18); border-radius: 13px; padding: 10px 14px; background: linear-gradient(180deg, rgba(20,241,149,.075), rgba(20,241,149,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 8px 28px rgba(0,0,0,.18); font: 600 11px var(--display); letter-spacing: .07em; display: inline-flex; align-items: center; gap: 9px; }
.hero-meta span:hover { border-color: rgba(20,241,149,.38); background: rgba(20,241,149,.1); }
.hyperliquid-chip img { width: 20px; height: 20px; object-fit: cover; border-radius: 6px; }
.hero-character { position: relative; z-index: 2; width: min(44vw, 650px); justify-self: center; align-self: center; }
.hero-character img { position: relative; z-index: 2; width: 100%; display: block; filter: drop-shadow(0 24px 65px rgba(20,241,149,.24)); animation: heroFloat 5s ease-in-out infinite; }
.character-halo { display: none; }
.floating-tag { position: absolute; z-index: 4; padding: 11px 13px; color: var(--black); background: var(--mint); border: 2px solid var(--black); box-shadow: 5px 5px 0 var(--purple); font: 700 11px var(--display); letter-spacing: .05em; white-space: nowrap; }
.tag-one { left: -7%; bottom: 21%; transform: rotate(-3deg); }.tag-two { right: 2%; top: 18%; transform: rotate(4deg); }
.hero-footer { position: absolute; z-index: 4; left: clamp(36px,7vw,120px); right: clamp(36px,7vw,120px); bottom: 32px; display: flex; align-items: end; justify-content: flex-end; gap: 24px; font-size: 13px; line-height: 1.45; color: rgba(243,245,248,.54); }
.hero-footer strong { color: var(--white); }.scroll-hint { font: 600 10px var(--display); letter-spacing: .16em; }

.slide-opportunity { background: var(--paper); color: var(--ink); align-content: center; }
.slide-opportunity .section-heading { margin-bottom: 5vh; }
.slide-opportunity .section-heading h2 span { color: var(--mint-strong); }
.stat-stage { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.stat-card { text-align: left; min-height: 205px; padding: 20px; border: 1px solid rgba(20,241,149,.42); border-radius: 16px; background: linear-gradient(180deg,rgba(20,241,149,.09),rgba(20,241,149,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.75),0 12px 30px rgba(22,21,24,.05); cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; transition: .25s ease; }
.stat-card:hover, .stat-card.active { background: var(--ink); color: var(--white); border-color: var(--mint); transform: translateY(-5px); box-shadow: 7px 7px 0 var(--mint); }
.stat-index { font: 600 11px var(--display); letter-spacing: .1em; opacity: .55; }.stat-card strong { font: 800 clamp(38px,3.3vw,60px)/1 var(--display); letter-spacing: -.02em; }.stat-card p { margin: 0; max-width: 220px; font-size: 15px; line-height: 1.35; opacity: .68; }
.stat-detail { margin-top: 20px; padding: 18px 22px; border: 1px solid rgba(20,241,149,.34); border-radius: 14px; display: grid; grid-template-columns: 230px 1fr; gap: 20px; background: rgba(20,241,149,.08); }
.detail-kicker { font: 700 11px var(--display); letter-spacing: .12em; }.stat-detail p { margin: 0; max-width: 760px; font-size: 16px; line-height: 1.45; }
.source-note { position: absolute; left: clamp(36px,7vw,120px); bottom: 24px; margin: 0; font-size: 12px; color: rgba(22,21,24,.46); }

.slide-problem { background: var(--ink); grid-template-columns: .75fr 1fr; gap: 5vw; align-items: center; }
.noise { position: absolute; inset: 0; opacity: .07; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.problem-character { position: relative; z-index: 2; width: min(38vw,520px); justify-self: center; }
.problem-character img { width: 100%; filter: saturate(.85) drop-shadow(0 30px 60px rgba(0,0,0,.7)); }
.rekt-stamp { position: absolute; right: -8%; bottom: 8%; color: var(--red); border: 7px solid currentColor; padding: 6px 16px; font: 900 52px/1 var(--display); letter-spacing: .06em; transform: rotate(-13deg); opacity: .85; }
.problem-copy { position: relative; z-index: 3; }
.problem-copy h2 span { color: var(--red); }
.problem-copy > p:not(.eyebrow) { max-width: 710px; color: rgba(243,245,248,.62); font-size: clamp(16px,1.5vw,23px); line-height: 1.45; }
.problem-copy .problem-punch { color: var(--white)!important; font-weight: 600; }
.terminal-fragment { position: absolute; right: -80px; bottom: -80px; width: 420px; padding: 20px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.35); transform: rotate(-5deg); opacity: .28; font: 600 12px var(--display); letter-spacing: .04em; }
.fragment-row { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.08); }.fragment-chart { height: 70px; background: linear-gradient(135deg, transparent 15%, var(--mint) 15% 17%, transparent 17% 35%, var(--mint) 35% 37%, transparent 37% 56%, var(--mint) 56% 58%, transparent 58%); }.faded { opacity: .45; }

.slide-shift { background: var(--black); align-content: center; }
.slide-shift .section-heading { margin-bottom: 5vh; }.slide-shift .section-heading h2 span { color: var(--grey); }
.gap-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.gap-card { min-height: 330px; padding: 24px; border-right: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; }.gap-card:last-child { border-right: 0; }
.gap-card > span { color: var(--mint); font: 700 12px var(--display); letter-spacing: .08em; }.gap-card h3 { margin: auto 0 16px; font: 700 clamp(19px,1.8vw,27px)/1.2 var(--display); letter-spacing: -.01em; }.gap-card p { min-height: 96px; color: rgba(243,245,248,.62); line-height: 1.45; font-size: 16px; }
.mini-flow, .empty-loop, .identity-zero { margin-top: 18px; padding: 14px; border: 1px solid rgba(255,255,255,.15); text-align: center; font: 600 11px var(--display); letter-spacing: .08em; }.mini-flow { display: flex; justify-content: space-between; align-items: center; }.mini-flow i { color: var(--grey); }.complexity-bars { height: 48px; display: flex; align-items: end; gap: 5px; }.complexity-bars i { flex:1; height: calc(var(--n, 1)*10%); background: var(--purple); }.complexity-bars i:nth-child(1){height:22%}.complexity-bars i:nth-child(2){height:83%}.complexity-bars i:nth-child(3){height:47%}.complexity-bars i:nth-child(4){height:100%}.complexity-bars i:nth-child(5){height:61%}.identity-zero { color: var(--red); }

.slide-product { background: var(--mint); color: var(--ink); grid-template-columns: .82fr 1.18fr; align-items: center; gap: 2vw; }
.product-heading h2 { font-size: clamp(36px, 4vw, 84px); }.product-heading h2 span { color: rgba(20,23,27,.5); }.product-heading > p:last-child { max-width: 550px; font-size: 20px; line-height: 1.4; }
.orbit-map { position: relative; width: min(48vw,700px); aspect-ratio: 1; justify-self: center; }
.orbit-center { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 144px; aspect-ratio: 1; border-radius: 28px; background: var(--black); box-shadow: 0 0 0 14px rgba(0,0,0,.08); overflow: hidden; }.orbit-center img { width: 100%; height: 100%; object-fit: cover; }
.orbit-ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px dashed rgba(22,21,24,.32); border-radius: 50%; }.ring-one { width: 64%; height: 64%; }.ring-two { width: 94%; height: 94%; }
.orbit-node { position: absolute; z-index: 4; width: 180px; padding: 12px; border: 2px solid var(--ink); background: var(--mint); color: var(--ink); cursor: pointer; text-align: left; box-shadow: 5px 5px 0 var(--ink); transition: .2s ease; }.orbit-node:hover, .orbit-node.active { background: var(--purple); color: var(--white); transform: translate(-4px,-4px); box-shadow: 9px 9px 0 var(--ink); }.orbit-node b { display: block; margin-bottom: 7px; font: 600 10px var(--display); letter-spacing: .1em; }.orbit-node span { font: 700 16px/1.2 var(--display); letter-spacing: -.005em; }
.node-a { left: 3%; top: 24%; }.node-b { right: 0; top: 18%; }.node-c { right: 1%; bottom: 17%; }.node-d { left: 8%; bottom: 8%; }.node-e { left: 39%; top: 1%; }
.product-detail { position: absolute; right: clamp(36px,7vw,120px); bottom: 38px; max-width: 510px; display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: start; }.product-detail b { font: 700 12px var(--display); letter-spacing: .08em; }.product-detail p { margin: 0; font-size: 15px; }

.slide-social { background: radial-gradient(circle at 75% 45%, rgba(20,241,149,.11), transparent 35%), var(--ink); grid-template-columns: .6fr 1.4fr; gap: 3.5vw; align-items: center; }
.slide-social .section-heading h2 span { color: var(--mint); }
/* Dual product screenshots (spot trading / live stream), stacked with an
   offset; clicking swaps which one is in front. Sources are 2048px-wide webp
   (~2x display size) — keep max-width <= 1100px so they are never upscaled. */
.social-stack { position: relative; z-index: 2; width: 100%; max-width: 1240px; justify-self: start; padding-top: 8.5%; cursor: pointer; }
.social-stack .shot { display: block; width: 92%; padding: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; overflow: hidden; background: var(--black); cursor: pointer; transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .55s ease, box-shadow .55s ease; }
.social-stack .shot img { width: 100%; display: block; }
.social-stack .shot.is-front { position: relative; z-index: 3; transform: none; filter: none; box-shadow: 0 30px 90px rgba(0,0,0,.55); border-color: rgba(20,241,149,.4); }
.social-stack .shot.is-back { position: absolute; z-index: 1; right: 0; top: 0; transform: scale(.97); filter: brightness(.42) saturate(.72); box-shadow: 0 16px 50px rgba(0,0,0,.4); }
.shot-tag { position: absolute; left: 14px; bottom: 12px; z-index: 2; padding: 7px 11px; border-radius: 8px; border: 1px solid rgba(20,241,149,.45); background: rgba(5,13,10,.82); color: var(--mint); font: 700 10px var(--display); letter-spacing: .12em; pointer-events: none; }
.shot.is-back .shot-tag { border-color: rgba(255,255,255,.25); color: rgba(243,245,248,.8); }
.feature-strip{position:absolute;left:0;right:0;bottom:20px;display:flex;justify-content:center;align-items:center;gap:24px;color:rgba(243,245,248,.62);font:600 12px var(--display);letter-spacing:.12em}.feature-strip i{width:5px;height:5px;background:var(--mint);border-radius:50%}

.slide-execution { background: var(--paper); color: var(--ink); align-content:center; }.slide-execution .section-heading h2 span { color: var(--purple); }.execution-stack { display:grid;grid-template-columns:repeat(3,1fr);gap:12px }.execution-card{min-height:370px;padding:26px;display:flex;flex-direction:column;overflow:hidden;position:relative}.execution-card h3{margin:auto 0 15px;font:700 clamp(24px,2.3vw,36px)/1.15 var(--display);letter-spacing:-.015em}.execution-card p{min-height:66px;font-size:14px;line-height:1.4;opacity:.66}.card-num{font:600 11px var(--display);letter-spacing:.1em}.mint-card{background:var(--mint)}.dark-card{background:var(--ink);color:var(--white)}.purple-card{background:var(--purple);color:var(--white)}.gamepad-action{display:grid;grid-template-columns:1fr 1.5fr;gap:7px}.gamepad-action span,.gamepad-action button{padding:15px;border:2px solid var(--ink);font:700 12px var(--display);letter-spacing:.04em;background:transparent;text-align:center}.gamepad-action button{background:var(--ink);color:var(--mint)}.orderbook{display:grid;gap:5px;font:600 10px var(--display)}.orderbook span,.orderbook b{padding:5px 8px;background:rgba(255,255,255,.05)}.orderbook b{text-align:center;font-size:13px}.green{color:var(--mint)}.red{color:var(--red)}.inventory{display:flex;align-items:center;gap:12px;padding:10px;background:rgba(0,0,0,.18)}.inventory img{width:76px;height:76px;object-fit:contain}.inventory div{display:grid;gap:6px}.inventory b{font:700 12px var(--display);letter-spacing:.04em}.inventory span{font-size:11px;opacity:.65}
.slide-execution .section-heading{margin-bottom:2.5vh}.execution-demo{position:relative;height:min(54vh,570px);min-height:390px;border:1px solid rgba(20,241,149,.55);border-radius:18px;overflow:hidden;background:#07100d;box-shadow:0 20px 60px rgba(12,27,21,.14),8px 8px 0 var(--mint)}.execution-demo video{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.1) contrast(1.05);transform:scale(1.015)}.execution-demo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 55%,rgba(0,0,0,.56))}.demo-scan{position:absolute;z-index:2;left:0;right:0;height:2px;top:8%;background:linear-gradient(90deg,transparent,var(--mint),transparent);box-shadow:0 0 24px var(--mint);opacity:.65;animation:demoScan 4.5s ease-in-out infinite}.demo-status,.demo-link{position:absolute;z-index:4;top:16px;padding:10px 12px;border:1px solid rgba(20,241,149,.5);border-radius:10px;background:rgba(5,13,10,.8);backdrop-filter:blur(8px);color:var(--white);font:600 10px var(--display);letter-spacing:.08em}.demo-status{left:16px}.demo-status i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);animation:statusPulse 1.4s ease-in-out infinite}.demo-link{right:16px;transition:.2s ease}.demo-link:hover{background:var(--mint);color:var(--ink)}.demo-features{position:absolute;z-index:4;left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-features span{padding:12px 14px;border:1px solid rgba(20,241,149,.3);border-radius:11px;background:rgba(5,13,10,.76);backdrop-filter:blur(9px);color:var(--white);font:600 10px var(--display);letter-spacing:.06em}.demo-features b{color:var(--mint);margin-right:8px}
.platform-ui{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72) contrast(1.1) saturate(.92);transform:scale(1.015)}.execution-demo::after{z-index:1;background:linear-gradient(180deg,rgba(1,8,6,.18),rgba(1,8,6,.04) 50%,rgba(1,8,6,.35))}.journey-rail{position:absolute;z-index:5;top:58px;left:16px;right:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.journey-rail span{padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(4,12,9,.68);color:rgba(255,255,255,.5);font:600 9px var(--display);letter-spacing:.05em;transition:.2s ease}.journey-rail b{margin-right:6px;color:var(--mint)}.journey-one{animation:journeyStep 12s infinite}.journey-two{animation:journeyStep 12s 3s infinite}.journey-three{animation:journeyStep 12s 6s infinite}.journey-four{animation:journeyStep 12s 9s infinite}.demo-hotspot{position:absolute;z-index:4;border:1px solid transparent;border-radius:12px;opacity:0;pointer-events:none;animation:hotspotCycle 12s infinite}.demo-hotspot::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--mint),0 0 30px rgba(20,241,149,.28);animation:hotspotGlow 1.2s ease-in-out infinite}.signal-hotspot{left:2%;top:20%;width:28%;height:58%}.risk-hotspot{right:2%;top:20%;width:25%;height:42%;animation-delay:3s}.execute-hotspot{right:2%;bottom:17%;width:25%;height:22%;animation-delay:6s}.reward-hotspot{left:31%;right:28%;bottom:2%;height:24%;animation-delay:9s}.action-card{position:absolute;z-index:6;width:220px;padding:12px;border:1px solid rgba(20,241,149,.65);border-radius:12px;background:rgba(5,13,10,.9);backdrop-filter:blur(10px);box-shadow:0 14px 30px rgba(0,0,0,.35);color:var(--white);display:grid;gap:5px}.action-card small{font:600 9px var(--display);letter-spacing:.1em;color:var(--mint)}.action-card strong{font:800 22px/1.05 var(--display);letter-spacing:-.01em}.action-card span{font-size:12px;color:rgba(243,245,248,.62)}.signal-card{left:14px;bottom:14px}.signal-card button{margin-top:5px;padding:8px;border:0;border-radius:7px;background:var(--mint);color:var(--ink);font:700 9px var(--display);letter-spacing:.08em}.risk-card{right:14px;top:14px}.risk-meter{height:4px;margin-top:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}.risk-meter i{display:block;width:64%;height:100%;background:var(--mint);animation:riskFill 3s ease-in-out infinite}.execute-card{right:14px;bottom:12px}.execute-card strong{color:var(--mint)}.reward-card{left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.reward-card strong{color:var(--mint);font-size:30px}.demo-cursor{position:absolute;z-index:8;left:18%;top:43%;width:20px;height:26px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));animation:cursorJourney 12s ease-in-out infinite}.demo-cursor::before{content:"";display:block;width:0;height:0;border-top:18px solid var(--white);border-right:12px solid transparent;transform:rotate(-18deg)}.demo-cursor span{position:absolute;left:-8px;top:-8px;width:32px;height:32px;border:1px solid var(--mint);border-radius:50%;animation:cursorClick 3s ease-out infinite}
.signal-hotspot{left:36%;top:20%;width:40%;height:45%}.risk-hotspot{left:56%;right:auto;top:40%;width:20%;height:21%}.execute-hotspot{right:1%;top:14%;bottom:auto;width:19%;height:70%}.reward-hotspot{left:17%;right:21%;bottom:0;height:34%}.execute-card{right:12px;bottom:16%}.join-meter{height:4px;margin-top:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}.join-meter i{display:block;width:100%;height:100%;background:var(--mint);animation:joinFill 3s ease-in-out infinite}.gift-drop{position:absolute;z-index:7;left:1%;top:18%;width:17%;height:61%;overflow:hidden;border:1px solid rgba(20,241,149,.55);border-radius:12px;background:#09100d;box-shadow:0 0 35px rgba(20,241,149,.22);opacity:0;animation:giftCycle 12s .55s infinite}.gift-drop img{width:100%;height:100%;object-fit:cover;display:block}.gift-drop span{position:absolute;left:8px;right:8px;top:8px;padding:7px;border-radius:7px;background:rgba(5,13,10,.82);color:var(--mint);text-align:center;font:600 9px var(--display);letter-spacing:.06em}

.slide-identity { background: radial-gradient(circle at 75% 50%,rgba(20,241,149,.18),transparent 34%),var(--black);grid-template-columns:.78fr 1.22fr;gap:4vw;align-items:center}.identity-copy h2 span{color:var(--mint)}.identity-copy>p:not(.eyebrow){max-width:620px;color:rgba(243,245,248,.6);font-size:18px;line-height:1.45}.legacy-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;gap:12px}.legacy-metrics div{display:grid;gap:5px}.legacy-metrics strong{font:800 30px var(--display);letter-spacing:-.01em}.legacy-metrics span{font:600 10px var(--display);letter-spacing:.08em;color:var(--grey)}.character-roster{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:relative;padding-bottom:80px}.roster-card{padding:0;border:0;background:transparent;cursor:pointer;position:relative;transition:.25s ease;filter:grayscale(.8);opacity:.45}.roster-card img{display:block;width:140%;margin-left:-20%;filter:drop-shadow(0 22px 25px rgba(0,0,0,.65))}.roster-card:hover,.roster-card.active{filter:none;opacity:1;transform:translateY(-24px) scale(1.08);z-index:3}.roster-label{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}.roster-label span{color:var(--mint);font:700 11px var(--display);letter-spacing:.14em}.roster-label strong{font:800 24px var(--display);letter-spacing:-.01em}
/* rarity palette — aligned with frontend --rarity-* tokens; DEFAULT = neutral grey */
.roster-label span[data-rarity="DEFAULT"]{color:var(--grey)}
.roster-label span[data-rarity="COMMON"]{color:var(--rarity-common)}
.roster-label span[data-rarity="RARE"]{color:var(--rarity-rare)}
.roster-label span[data-rarity="EPIC"]{color:var(--rarity-epic)}
.roster-label span[data-rarity="LEGENDARY"]{color:var(--rarity-legendary)}

.slide-roadmap { background:var(--ink);align-content:center }.slide-roadmap .section-heading{margin-bottom:4vh}.slide-roadmap .section-heading h2 span{color:var(--mint)}.roadmap-line{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.roadmap-step{background:var(--ink);padding:18px 24px 22px;position:relative;min-height:360px}.roadmap-step::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--graphite)}.roadmap-step.active::before{background:var(--mint)}.roadmap-step.future::before{background:var(--purple)}.roadmap-art{position:absolute;right:5px;top:-60px;width:190px;height:190px;overflow:hidden;opacity:.85}.roadmap-art img{width:100%;height:100%;object-fit:contain}.roadmap-step>span{font:600 13px var(--display);letter-spacing:.1em;color:var(--mint)}.roadmap-step h3{max-width:280px;margin:75px 0 20px;font:700 25px/1.2 var(--display);letter-spacing:-.015em}.roadmap-step ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:rgba(243,245,248,.55);font-size:13px}.roadmap-step li::before{content:"+";color:var(--mint);margin-right:9px;font-weight:700}
.roadmap-step h3, .gap-card h3, .execution-card h3 { text-transform: uppercase; }

.slide-team{background:var(--paper);color:var(--ink);grid-template-columns:1fr .85fr;gap:6vw;align-items:center}.team-left h2 span{color:var(--purple)}.team-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:38px;border-top:1px solid rgba(22,21,24,.2);border-left:1px solid rgba(22,21,24,.2)}.team-grid article{min-height:115px;padding:18px;border-right:1px solid rgba(22,21,24,.2);border-bottom:1px solid rgba(22,21,24,.2);display:flex;flex-direction:column;justify-content:space-between}.team-grid strong{font:800 21px var(--display);letter-spacing:.01em}.team-grid span{max-width:260px;font:600 12px/1.5 var(--display);letter-spacing:.06em;color:rgba(22,21,24,.6)}.ask-card{background:var(--ink);color:var(--white);padding:32px;box-shadow:12px 12px 0 var(--mint);transform:rotate(1deg)}.ask-card>span{font:700 12px var(--display);letter-spacing:.16em;color:var(--mint)}.ask-card>strong{display:block;margin:8px 0 5px;font:800 clamp(80px,8.5vw,140px)/1 var(--display);letter-spacing:-.03em;color:var(--mint)}.ask-card>p{max-width:470px;color:rgba(243,245,248,.62);font-size:15px;line-height:1.45}.use-funds{margin-top:25px;display:grid;gap:11px}.use-funds div{display:grid;gap:5px}.use-funds div::before{content:"";height:4px;background:rgba(255,255,255,.12);grid-area:1/1}.use-funds i{display:block;height:4px;width:100%;background:linear-gradient(90deg,var(--mint),var(--purple));grid-area:1/1;transform-origin:left;transform:scaleX(.62)}.use-funds div:nth-child(2) i{transform:scaleX(.78)}.use-funds div:nth-child(3) i{transform:scaleX(.54)}.use-funds div:nth-child(4) i{transform:scaleX(.7)}.use-funds div:nth-child(5) i{transform:scaleX(.46)}.use-funds span{font:600 12px var(--display);letter-spacing:.08em;color:rgba(243,245,248,.62)}.ask-card small{display:block;margin-top:18px;color:rgba(243,245,248,.4);font-size:13px}

.slide-final{background:var(--mint);color:var(--ink);grid-template-columns:1fr 1fr;align-items:center}.final-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 55% 50%,black,transparent 72%)}.final-character{position:absolute;right:0;bottom:-6vh;height:min(82vh,860px);filter:drop-shadow(0 30px 0 rgba(0,0,0,.12))}.final-copy{position:relative;z-index:2;max-width:900px}.final-logo{width:76px;height:76px;border-radius:18px;margin-bottom:28px}.final-copy h2{font-size:clamp(44px,5.6vw,100px)}.final-copy h2 span{color:var(--purple)}.final-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.final-links a{padding:13px 16px;border:2px solid var(--ink);font:700 11px var(--display);letter-spacing:.08em;transition:.2s ease}.final-links a:hover{background:var(--ink);color:var(--mint);transform:translateY(-3px)}.final-signal{position:absolute;left:clamp(36px,7vw,120px);right:clamp(36px,7vw,120px);bottom:24px;display:flex;gap:24px;font:600 12px var(--display);letter-spacing:.1em}.final-signal span::before{content:"■";margin-right:8px;color:var(--purple)}

.mobile-progress{display:none;position:fixed;z-index:110;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.15)}.mobile-progress span{display:block;height:100%;width:0;background:var(--mint);transition:width .3s ease}
@keyframes heroFloat{50%{transform:translateY(-14px) rotate(1deg)}}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes musicPulse{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.16);opacity:1}}@keyframes demoScan{0%,100%{top:8%;opacity:.15}50%{top:88%;opacity:.8}}@keyframes statusPulse{0%,100%{opacity:.55}50%{opacity:1}}@keyframes hotspotCycle{0%,24%{opacity:1}28%,100%{opacity:0}}@keyframes hotspotGlow{50%{opacity:.5}}@keyframes journeyStep{0%,24%{background:var(--mint);border-color:var(--mint);color:var(--ink)}28%,100%{background:rgba(4,12,9,.68);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.5)}}@keyframes riskFill{0%{width:12%}65%,100%{width:64%}}@keyframes cursorJourney{0%,21%{left:18%;top:43%}25%,46%{left:83%;top:34%}50%,71%{left:84%;top:65%}75%,100%{left:61%;top:79%}}@keyframes cursorClick{0%{transform:scale(.35);opacity:0}18%{opacity:1}55%,100%{transform:scale(1.25);opacity:0}}
@keyframes joinFill{0%{width:18%}75%,100%{width:100%}}@keyframes giftCycle{0%{opacity:0;transform:translateX(-25px) scale(.94)}5%,22%{opacity:1;transform:none}28%,100%{opacity:0;transform:translateX(-10px) scale(.97)}}@keyframes cursorJourney{0%,21%{left:62%;top:54%}25%,46%{left:69%;top:53%}50%,71%{left:91%;top:54%}75%,100%{left:52%;top:82%}}

@media (max-width: 980px){
  .deck-nav{grid-template-columns:1fr auto;padding:12px 18px}.deck-label{display:none}.progress-rail{display:none}.mobile-progress{display:block}.slide{padding:96px 24px 42px;min-height:100svh}.slide-hero,.slide-problem,.slide-product,.slide-social,.slide-identity,.slide-team,.slide-final{grid-template-columns:1fr}.slide-hero{align-content:center}.hero-copy{z-index:4}.hero-copy h1{font-size:clamp(48px,10vw,96px)}.hero-character{position:absolute;right:3vw;bottom:8vh;width:min(52vw,420px);opacity:.85}.hero-footer{left:24px;right:24px}.hero-footer p{display:none}.stat-stage{grid-template-columns:1fr 1fr}.stat-card{min-height:170px}.stat-detail{grid-template-columns:1fr}.problem-character{position:absolute;right:-12%;bottom:-2%;width:64vw;opacity:.4}.problem-copy{max-width:700px}.gap-grid{grid-template-columns:1fr 1fr}.gap-card:nth-child(2){border-right:0}.gap-card{min-height:250px;border-bottom:1px solid rgba(255,255,255,.2)}.orbit-map{width:min(86vw,650px);margin:auto}.product-detail{display:none}.slide-social{align-content:center}.slide-social .section-heading{margin-bottom:24px}.social-stack{max-width:min(88vw,760px)}.roadmap-art{width:140px;height:140px}.roadmap-step h3{font-size:23px}.slide-identity{align-content:center}.identity-copy{margin-bottom:20px}.identity-copy h2{font-size:clamp(38px,8vw,64px)}.character-roster{max-width:760px}.slide-team{align-content:center}.ask-card{transform:none}.final-character{opacity:.4;right:-18vw}.final-copy{z-index:3}.final-signal{left:24px;right:24px}
}
@media (max-width: 640px){
  html{scroll-snap-type:y proximity}.brand span{display:none}.nav-actions #section-counter{font-size:10px}.slide{padding:84px 18px 34px;align-content:center}.eyebrow{margin-bottom:14px;font-size:11px}.section-heading h2,.problem-copy h2,.team-left h2,.final-copy h2{font-size:clamp(31px,9.4vw,48px)}.hero-copy h1{font-size:clamp(42px,12.5vw,66px)}.hero-meta{display:none}.lead{margin:20px 0;font-size:16px;max-width:72%}.hero-character{width:min(58vw,270px);right:12px;bottom:64px;opacity:1}.floating-tag{font-size:9px;padding:8px}.tag-one{left:-4%;bottom:14%}.tag-two{right:0;top:12%}.hero-footer{bottom:18px;left:18px;right:18px}.stat-stage{gap:6px}.stat-card{padding:14px;min-height:145px}.stat-card strong{font-size:30px}.stat-card p{font-size:12px}.stat-detail{display:none}.source-note{left:18px;bottom:12px;font-size:10px;max-width:80%}.slide-problem{align-content:center}.problem-copy>p:not(.eyebrow){font-size:14px;max-width:85%}.problem-character{width:64vw;right:-6%;bottom:0}.rekt-stamp{font-size:36px;border-width:5px;right:2%}.terminal-fragment{display:none}.slide-shift{display:block;padding-top:90px;overflow:auto}.gap-grid{grid-template-columns:1fr}.gap-card{min-height:auto;padding:14px;border-right:0}.gap-card h3{margin:20px 0 8px}.gap-card p{min-height:0;margin:0}.gap-card>div{display:none}.slide-product{align-content:start}.product-heading>p:last-child{font-size:14px;max-width:80%}.orbit-map{width:92vw;margin-left:-8vw;margin-top:2vh}.orbit-center{width:94px}.orbit-node{width:135px;padding:8px;box-shadow:3px 3px 0 var(--ink)}.orbit-node span{font-size:13px}.node-a{left:12%;top:25%}.node-b{right:0;top:20%}.node-d{left:17%;bottom:8%}.node-e{left:43%}.social-stack{max-width:none;padding-top:12%}.shot-tag{left:8px;bottom:7px;padding:5px 8px;font-size:9px}.feature-strip{gap:6px 12px;flex-wrap:wrap;padding:0 14px;font-size:10px}.execution-stack{grid-template-columns:1fr;gap:6px}.execution-card{min-height:200px;padding:16px}.execution-card:last-child{grid-column:auto}.execution-card h3{margin:22px 0 8px}.execution-card p{min-height:0;margin:0 0 10px}.orderbook{display:none}.slide-execution .section-heading{margin-bottom:18px}.slide-identity{align-content:start}.identity-copy>p:not(.eyebrow){font-size:14px}.legacy-metrics strong{font-size:22px}.character-roster{grid-template-columns:repeat(3,1fr);padding-bottom:65px}.roster-card:nth-child(n+4){display:none}.roster-label strong{font-size:16px}.slide-roadmap{display:block;padding-top:88px;overflow:auto}.roadmap-line{grid-template-columns:1fr}.roadmap-step{min-height:230px}.roadmap-art{top:10px;width:115px;height:115px}.roadmap-step h3{margin:38px 0 12px}.team-grid{margin-top:18px}.team-grid article{min-height:82px;padding:10px}.ask-card{padding:20px;margin-top:16px}.ask-card>strong{font-size:60px}.ask-card>p{margin:6px 0}.use-funds{gap:6px;margin-top:12px}.ask-card small{display:none}.slide-final{align-content:center}.final-character{height:44vh;right:-14vw;bottom:-4vh;opacity:.65}.final-copy h2{font-size:clamp(32px,10vw,52px)}.final-copy{margin-bottom:26vh}.final-signal{display:none}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-character img,.character-halo{animation:none}}
@media (max-width:640px){.music-button{min-width:34px;width:34px;padding:0}.music-label{display:none}}
@media (max-width:640px){.execution-demo{height:52vh;min-height:360px;border-radius:12px}.execution-demo video{object-position:center}.demo-features{grid-template-columns:1fr;gap:5px;bottom:10px;left:10px;right:10px}.demo-features span{padding:8px 10px;font-size:9px}.demo-status{top:10px;left:10px}.demo-link{top:10px;right:10px}}
@media (max-width:640px){.platform-ui{object-position:center}.journey-rail{top:50px;left:10px;right:10px;gap:3px}.journey-rail span{padding:6px 4px;font-size:8px}.journey-rail b{display:none}.action-card{width:165px;padding:9px}.action-card strong{font-size:18px}.action-card span{font-size:10px}.signal-hotspot{width:42%}.risk-hotspot,.execute-hotspot{width:38%}.reward-hotspot{left:15%;right:15%}.demo-cursor{display:none}}
@media (max-width:640px){.gift-drop{display:none}.signal-hotspot{left:18%;width:58%}.risk-hotspot{left:42%;width:35%}.execute-hotspot{width:31%}.reward-hotspot{left:8%;right:25%}}
