:root{
  /* Layout: full-bleed flight scene; the camera locks onto the rocket so the sky scrolls past. HUD + session chart on top, prompt dock as the "ground floor", ticker tape at the bottom. */
  --void:#060A18;
  --panel:rgba(9,14,32,.88);
  --line:rgba(150,170,220,.18);
  --ink:#EEF2FF;
  --muted:#8E99BC;
  --amber:#FFB23F;
  --up:#33D17A;
  --down:#FF5468;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--void);color:var(--ink);font-family:var(--body);overflow:hidden;-webkit-font-smoothing:antialiased}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
button{font:inherit;color:inherit;cursor:pointer}

/* HUD */
.hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;z-index:5;pointer-events:none}
.hud>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px}
.wordmark{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:.07em;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.pill{font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(6,10,24,.55)}
.readouts{display:flex;gap:18px;align-items:center}
.readout{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--mono);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.readout small{font-size:10px;letter-spacing:.16em;color:#B9C2DE}
.readout b{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.iconbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:rgba(6,10,24,.55);display:grid;place-items:center;padding:0}
.iconbtn svg{width:18px;height:18px}

/* Zone banner */
.zone{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:6;pointer-events:none;text-align:center;opacity:0;display:grid;gap:2px}
.zone small{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--amber)}
.zone strong{font-family:var(--display);font-weight:900;font-size:clamp(34px,6vw,58px);line-height:.95;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 0 28px rgba(255,178,63,.45),0 2px 14px rgba(0,0,0,.5)}
.zone span{font-family:var(--mono);font-size:13px;color:#C9D1EA;font-variant-numeric:tabular-nums}
.zone.show{animation:zone 2.6s ease forwards}
@keyframes zone{0%{opacity:0;transform:translate(-50%,-14px)}12%{opacity:1;transform:translate(-50%,0)}75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,8px)}}

/* Prompt dock */
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:42px;width:min(720px,calc(100% - 32px));min-height:212px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px 18px;z-index:6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.dock[hidden]{display:none}
.dock.enter{animation:dockIn .45s cubic-bezier(.2,.9,.3,1)}
@keyframes dockIn{from{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}
.dock-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}
.timer b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.timer.hot b{color:var(--down)}
.bar{height:3px;background:var(--line);border-radius:3px;margin:9px 0 12px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--amber);transform-origin:left center}
.bar.hot i{background:var(--down)}
.prompt{font-family:var(--display);font-weight:800;font-size:clamp(25px,3.6vw,36px);line-height:1.02;letter-spacing:.015em;text-transform:uppercase;margin:0 0 12px;text-wrap:balance}
.ask-form{display:flex;gap:10px}
.ask-form input{flex:1;min-width:0;font-family:var(--mono);font-size:18px;font-weight:500;padding:12px 14px;background:rgba(0,0,0,.38);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.ask-form input::placeholder{color:#5f6a8c}
.ask-form input:focus{border-color:rgba(255,178,63,.6);outline:none;box-shadow:0 0 0 3px rgba(255,178,63,.15)}
.primary{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.07em;text-transform:uppercase;background:var(--amber);color:#1c1200;border:0;border-radius:10px;padding:0 20px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,filter .12s ease}
.primary:hover{filter:brightness(1.08)}
.primary:active{transform:translateY(1px)}
.primary:disabled{opacity:.45;cursor:default}
.ghost{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.07em;text-transform:uppercase;background:rgba(6,10,24,.3);border:1px solid var(--line);border-radius:10px;padding:0 18px;min-height:48px;transition:border-color .12s ease}
.ghost:hover{border-color:rgba(255,178,63,.55)}
.hint{margin:10px 0 0;font-size:13px;color:var(--muted)}
.nudge{animation:nudge .3s}
@keyframes nudge{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* Split-flap reveal */
.board{display:flex;gap:4px;justify-content:center;margin:2px 0 12px}
.cell{width:clamp(20px,4.3vw,40px);height:clamp(32px,6.2vw,56px);border-radius:4px;position:relative;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:clamp(17px,3.4vw,31px);color:var(--amber);background:linear-gradient(#171e33 0 50%,#0e1426 50% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 2px 0 rgba(0,0,0,.4)}
.cell::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.65)}
.cell.flip{animation:flip .08s linear}
@keyframes flip{50%{transform:scaleY(.15)}}
.verdict{margin:0;text-align:center;font-size:16px;font-weight:500}
.verdict b{font-family:var(--mono);font-weight:600}
.most{margin:6px 0 14px;text-align:center;font-size:13px;color:var(--muted)}
.wide{width:100%}

/* Ticker tape */
.tape{position:fixed;left:0;right:0;bottom:0;height:30px;background:#03060f;border-top:1px solid var(--line);overflow:hidden;z-index:6;display:flex;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted)}
.tape-track{display:flex;white-space:nowrap;animation:tape 46s linear infinite;will-change:transform}
.tape-track span{padding:0 20px;border-right:1px solid rgba(150,170,220,.12)}
.tape-track b{color:var(--ink);font-weight:600}
.tape-track i,.tape-track em{font-style:normal}
.tape-track .up{color:var(--up)}
.tape-track .down{color:var(--down)}
@keyframes tape{to{transform:translateX(-50%)}}

/* Overlays */
.overlay{position:fixed;inset:0;z-index:8;display:flex;align-items:flex-start;justify-content:center;padding:72px 16px 48px;overflow:auto}
.overlay[hidden]{display:none}
.overlay.start{background:linear-gradient(180deg,rgba(6,10,24,.15),rgba(6,10,24,.55))}
.card{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px;box-shadow:0 30px 90px rgba(0,0,0,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:auto}
.eyebrow{margin:0 0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.logo{margin:0;max-width:100%;font-family:var(--display);font-weight:900;font-size:clamp(52px,10vw,88px);line-height:.86;letter-spacing:.03em;background:linear-gradient(180deg,#fff 0%,#ffe2b0 55%,var(--amber) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{margin:12px 0 16px;font-size:17px;line-height:1.45;max-width:46ch}
.rules{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.rules li{font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}
.rules b{color:var(--ink)}
.tiers{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}
.tiers th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:500;padding:0 0 6px}
.tiers th:last-child,.tiers td:last-child{text-align:right}
.tiers td{padding:6px 0;border-top:1px solid rgba(150,170,220,.1);font-variant-numeric:tabular-nums}
.tiers td:first-child{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:.06em}
.tiers .sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px;vertical-align:1px}
.tiers td:nth-child(2){color:var(--muted)}
.big{min-height:56px;font-size:22px}
.btns{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}
.fine{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}
.legal{margin:10px 0 0;font-size:11px;color:#5f6a8c;text-align:center;line-height:1.5}
.legal a{color:#8E99BC}
.legal a:hover{color:var(--amber)}

.overlay.end{justify-content:flex-start;background:linear-gradient(270deg,rgba(6,10,24,0) 35%,rgba(6,10,24,.6))}
.endcard{width:min(440px,100%);margin:auto auto auto 0}
.dest{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(36px,6vw,52px);line-height:.95;text-transform:uppercase;letter-spacing:.02em;text-wrap:balance}
.dest span{color:var(--amber);display:block}
.stats{margin:8px 0 14px;font-family:var(--mono);font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.stats b{color:var(--ink);font-weight:600}
.share{margin:0 0 12px;padding:12px 14px;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;font-family:var(--mono);font-size:14px;line-height:1.6;white-space:pre-wrap;user-select:all}
.row{display:flex;gap:10px}
.row>*{flex:1}
.copied{min-height:18px;margin:8px 0 6px;font-size:13px;color:var(--up);text-align:center}
.recap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:q}
.recap li{display:grid;grid-template-columns:22px 1fr;gap:2px 8px;padding:9px 0;border-top:1px solid rgba(150,170,220,.1);counter-increment:q}
.recap li::before{content:counter(q);grid-row:span 3;font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:1px}
.rq{font-size:13px;color:var(--muted)}
.ra{font-size:14px}
.ra b{font-family:var(--display);font-weight:800;letter-spacing:.06em;font-size:15px;margin-right:6px}
.rm{font-size:12px;color:var(--muted)}

/* Stamps */
.stamp{position:fixed;left:50%;top:36%;z-index:7;pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(-8deg);font-family:var(--display);font-weight:900;font-size:clamp(44px,9vw,104px);letter-spacing:.05em;line-height:1;padding:6px 20px 2px;border:6px solid currentColor;border-radius:12px;color:var(--down);text-shadow:0 0 30px currentColor;white-space:nowrap}
.stamp.show{animation:slam 1.7s cubic-bezier(.2,.9,.3,1) forwards}
@keyframes slam{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(2.6)}12%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}78%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.96)}}

@media (max-width:760px){
  .overlay.end{justify-content:center;background:rgba(6,10,24,.55)}
  .endcard{margin:auto}
  .readout small{font-size:9px}
  .readout b{font-size:15px}
  .readouts{gap:12px}
  .wordmark{font-size:22px}
  .zone{top:120px}
}
@media (max-width:420px){
  .pill{display:none}
  .dock{padding:12px 14px 14px;bottom:38px}
  .primary{padding:0 14px}
  .btns{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .tape-track{animation:none}
  .cell.flip{animation:none}
  .dock.enter{animation:none}
  .stamp.show,.zone.show{animation:fade 2s forwards}
  @keyframes fade{0%,80%{opacity:1}100%{opacity:0}}
}
