:root{--g:#86efac;--G:#4ade80;--bg:#0a0d0b;--p:#111712;--l:#1d2a21;--t:#e8ffe9;--m:#7d9a84}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:radial-gradient(1200px 600px at 50% -10%,#0f3a1f 0,transparent 60%),var(--bg);color:var(--t);font:16px/1.5 ui-sans-serif,system-ui,"Inter",sans-serif;overflow-x:hidden}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;backdrop-filter:blur(10px);background:#0a0d0bcc;border-bottom:1px solid var(--l)}
.brand{font-weight:900;letter-spacing:.15em;display:flex;gap:10px;align-items:center}.dot{width:10px;height:10px;border-radius:50%;background:var(--G);box-shadow:0 0 12px var(--G);animation:pulse 1.4s infinite}
nav{display:flex;gap:22px;align-items:center;font-size:14px;color:var(--m)}nav a:hover{color:var(--g)}
@keyframes pulse{50%{opacity:.3}}
.btn{display:inline-block;background:var(--G);color:#04130a;font-weight:800;padding:14px 26px;border-radius:999px;box-shadow:0 0 30px #4ade8055;transition:transform .15s}.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn.ghost{background:none;color:var(--g);border:1px solid var(--G);box-shadow:none}.btn.sm{padding:6px 14px;color:#04130a}
section{padding:110px 5vw;max-width:1200px;margin:auto}
.hero{text-align:center;padding-top:70px}
.board{background:#050706;border:1px solid var(--l);border-radius:18px;padding:22px;max-width:860px;margin:0 auto 56px;box-shadow:0 30px 80px #000,inset 0 0 40px #4ade8010}
.board-head,.board-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;font:600 12px ui-monospace,monospace;color:var(--m);letter-spacing:.15em;text-align:left;padding:6px 4px}
.board-head{grid-template-columns:1fr 1fr}.board-head span:last-child{text-align:right;color:var(--g)}
.board-row.live{color:#ffd65a;font-size:14px;border-top:1px solid var(--l)}
.blink{animation:pulse 1s steps(2) infinite;color:var(--G)}
.flaps{display:flex;justify-content:center;gap:8px;margin:18px 0 22px}
.flap{width:clamp(38px,9vw,88px);height:clamp(56px,13vw,124px);background:linear-gradient(#1a1f1b 49.5%,#000 50%,#141815 50.5%);border-radius:8px;display:grid;place-items:center;font:900 clamp(30px,8vw,84px) ui-monospace,monospace;color:var(--G);text-shadow:0 0 18px #4ade80aa;box-shadow:0 6px 0 #000}
.flap.f{animation:flip .08s linear}@keyframes flip{50%{transform:scaleY(.1)}}
h1{font-size:clamp(40px,7vw,92px);line-height:.95;font-weight:900;letter-spacing:-.03em}h1 em{color:var(--G);font-style:normal;text-shadow:0 0 40px #4ade8066}
.lede{max-width:620px;margin:26px auto;color:var(--m);font-size:19px}.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.kicker{font:700 13px ui-monospace,monospace;letter-spacing:.3em;color:var(--G);margin-bottom:24px}
.mission{text-align:center}.count{display:flex;justify-content:center;gap:clamp(10px,3vw,30px)}
.count div{background:var(--p);border:1px solid var(--l);border-radius:16px;padding:18px 10px;min-width:clamp(70px,17vw,150px)}
.count b{display:block;font:900 clamp(36px,7vw,80px) ui-monospace,monospace;color:var(--g)}.count i{font-style:normal;color:var(--m);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.sub{color:var(--m);margin-top:14px}
.track{margin:60px auto 0;max-width:900px}.rail{position:relative;height:6px;background:var(--l);border-radius:9px}
.fill{height:100%;width:0;background:linear-gradient(90deg,#16a34a,var(--G));border-radius:9px;box-shadow:0 0 18px var(--G);transition:width 1s}
.ship{position:absolute;top:-22px;left:0;transform:translateX(-50%) rotate(90deg);color:var(--G);font-size:22px;transition:left 1s;text-shadow:0 0 12px var(--G)}
.stops{display:flex;justify-content:space-between;font:600 11px ui-monospace,monospace;color:var(--m);margin-top:14px;letter-spacing:.1em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px;text-align:left}
.cards article{background:var(--p);border:1px solid var(--l);border-radius:18px;padding:28px;transition:.2s}.cards article:hover{border-color:var(--G);transform:translateY(-4px)}
.cards h3{color:var(--G);font:800 14px ui-monospace,monospace;letter-spacing:.15em;margin-bottom:10px}
.fly{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}
.fly h2{font-size:clamp(40px,6vw,72px);font-weight:900;letter-spacing:-.03em}.big{font-size:21px;color:#c6dccb;margin:18px 0}
.rules{list-style:none;padding:0}.rules li{padding:12px 0;border-top:1px solid var(--l);font-weight:700}.rules li:before{content:"▸ ";color:var(--G)}
.wheelwrap{position:relative;max-width:420px;margin:auto}.wheel{width:100%;animation:spin 22s linear infinite}
.wheel circle{fill:none;stroke:var(--l);stroke-width:1;stroke-dasharray:3 6}.wheel text{fill:var(--G);font:700 9.3px ui-monospace,monospace;letter-spacing:1px}
.hub{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;color:var(--G);text-shadow:0 0 40px var(--G)}
@keyframes spin{to{transform:rotate(360deg)}}
.pass{display:grid;grid-template-columns:1fr 2fr;border:1px dashed #2f4a37;border-radius:18px;overflow:hidden}
.pass>div{padding:28px}.pass-l{border-right:1px dashed #2f4a37;background:var(--p)}.pass-l b{display:block;margin-top:8px;font-family:ui-monospace,monospace;color:var(--m)}
.tag{font:700 11px ui-monospace,monospace;letter-spacing:.25em;color:var(--m)}.none{color:var(--m);font-family:ui-monospace,monospace}
.ticket{display:grid;grid-template-columns:3fr 1fr;background:var(--G);color:#04130a;border-radius:24px;transform:rotate(-1.5deg);box-shadow:0 30px 80px #4ade8033;transition:.3s}.ticket:hover{transform:rotate(0)}
.t-main{padding:36px}.t-main h2{font-size:clamp(48px,9vw,120px);font-weight:900;letter-spacing:-.04em;line-height:1}
.ticket .tag{color:#0b3d1d}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.grid i{display:block;font:700 10px ui-monospace,monospace;letter-spacing:.2em;font-style:normal}.grid b{font-size:22px}
.t-stub{border-left:3px dashed #04130a55;padding:36px 24px;display:flex;flex-direction:column}.t-stub b{font-size:44px;font-weight:900}
.barcode{flex:1;min-height:90px;margin-top:16px;background:repeating-linear-gradient(90deg,#04130a 0 3px,transparent 3px 5px,#04130a 5px 6px,transparent 6px 10px)}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:30px 5vw;border-top:1px solid var(--l);color:var(--m);font-size:13px}
.reveal{opacity:0;transform:translateY(30px);transition:.8s}.reveal.in{opacity:1;transform:none}
@media(max-width:760px){nav a:not(.btn):not(.chip){display:none}.cards,.fly,.pass,.ticket{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.t-stub{border-left:0;border-top:3px dashed #04130a55}.pass-l{border-right:0;border-bottom:1px dashed #2f4a37}section{padding:70px 5vw}.board-row{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.chip{border:1px solid var(--G);color:var(--g)!important;padding:5px 12px;border-radius:999px;font:600 12px ui-monospace,monospace}.chip b{color:var(--G)}
.ph{font-size:clamp(36px,5vw,64px);font-weight:900;letter-spacing:-.03em}.prize .pass{margin-top:30px}
.crew .ticket{transform:rotate(1deg)}.hook{font-size:clamp(30px,4.5vw,56px)!important;line-height:1.02!important}
.codebox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#04130a;border-radius:16px;padding:16px 20px;margin:24px 0 14px}
.big-code{font:900 clamp(34px,6vw,72px) ui-monospace,monospace;color:var(--G);text-shadow:0 0 24px #4ade8099;flex:1;word-break:break-all}
.cbtn{background:var(--G);color:#04130a;border:0;border-radius:999px;padding:12px 22px;font:800 15px inherit;cursor:pointer}.cbtn.ok{background:#fff}
.cta.l{justify-content:flex-start;margin-top:18px}.btn.dark{background:#04130a;color:var(--G);box-shadow:none}.btn.ghostd{background:none;border:2px solid #04130a;color:#04130a;box-shadow:none}
@media(max-width:760px){.chip{font-size:11px}}
@media(max-width:760px){.big-code{font-size:30px;word-break:normal}.codebox{padding:14px}}

.cabar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;margin:28px auto 0;max-width:760px;background:#04130a;border:1px solid var(--G);border-radius:999px;padding:10px 12px 10px 20px;box-shadow:0 0 40px #4ade8033}.cabar[hidden]{display:none}.calabel{font:800 12px/1 'IBM Plex Mono',monospace;letter-spacing:.2em;color:var(--G)}.cabar code{font:600 15px/1.3 'IBM Plex Mono',ui-monospace,monospace;color:var(--t);word-break:break-all;flex:1;min-width:0;text-align:left}.cabar .btn.sm.ghost{color:var(--g)}
@media(max-width:760px){.cabar{border-radius:18px}.cabar code{font-size:12px}}
