@font-face{font-family:Creepster;src:url(../fonts/Creepster-Regular.woff2) format("woff2");font-display:swap}
@font-face{font-family:Nosifer;src:url(../fonts/Nosifer-Regular.woff2) format("woff2");font-display:swap}
@font-face{font-family:Bebas;src:url(../fonts/BebasNeue-Regular.woff2) format("woff2");font-display:swap}
@font-face{font-family:Elite;src:url(../fonts/SpecialElite-Regular.woff2) format("woff2");font-display:swap}
:root{--night:#07050f;--ink:#120a1e;--purp:#40206f;--purp2:#2a1250;--vio:#b082ff;--lilac:#d6c4ff;--pump:#ff7a18;--amber:#ffc45a;--moon:#f6eed6;
--glow:0 0 18px rgba(255,110,0,.55),0 0 2px #2a0800;--maxw:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{margin:0;background:var(--night);color:var(--lilac);font:17px/1.55 Elite,"Courier New",monospace;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--amber)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--pump);outline-offset:3px}
.grain{position:fixed;inset:-50%;background:url(../img/noise.webp);opacity:.07;pointer-events:none;z-index:50;animation:grain .6s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:49;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.flash{position:fixed;inset:0;pointer-events:none;z-index:48;background:#e8e0ff;opacity:0}
.flash.on{animation:flash .9s ease-out}
@keyframes flash{0%{opacity:.55}8%{opacity:.05}14%{opacity:.4}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.grain,.fog,.bats i,.flash.on{animation:none!important}.flash{display:none}}

.topbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:linear-gradient(#07050fdd,#07050f00)}
.mini-logo{font:28px Creepster,cursive;color:var(--pump);text-decoration:none;text-shadow:var(--glow);letter-spacing:2px}
.topbar nav{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none}
.topbar nav a{font:19px Bebas,Impact,sans-serif;letter-spacing:1.5px;color:var(--lilac);text-decoration:none;white-space:nowrap}
.topbar nav a:hover{color:var(--pump)}
@media (max-width:560px){.topbar nav a:nth-child(-n+2){display:none}}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
background:linear-gradient(180deg,#050410 0%,#1c0c3a 45%,#46206e 78%,#2a1250 100%)}
.sky{position:absolute;inset:0}
.moon{position:absolute;width:min(38vw,330px);top:9%;right:9%;filter:drop-shadow(0 0 40px rgba(246,238,214,.45))}
.moon-glow{position:absolute;width:min(110vw,900px);aspect-ratio:1;top:-14%;right:-16%;background:radial-gradient(circle,rgba(176,130,255,.38),transparent 62%)}
.scene{position:absolute;left:50%;transform:translateX(-50%);max-width:none;bottom:0}
.scene.far{width:max(150vw,1500px);bottom:4%}
.scene.near{width:max(165vw,1600px);bottom:-2%}
.fog{position:absolute;left:-50%;width:200%;height:42%;bottom:0;background:
radial-gradient(ellipse 30% 50% at 20% 70%,rgba(160,130,220,.35),transparent 70%),radial-gradient(ellipse 25% 40% at 55% 80%,rgba(160,130,220,.30),transparent 70%),radial-gradient(ellipse 30% 50% at 85% 75%,rgba(160,130,220,.33),transparent 70%);animation:drift 38s linear infinite alternate}
.fog-front{height:30%;opacity:.8;animation-duration:26s;animation-direction:alternate-reverse}
@keyframes drift{to{transform:translateX(18%)}}
.bats{position:absolute;inset:0;pointer-events:none}
.bats i{position:absolute;width:34px;height:14px;background:#06030c;clip-path:polygon(0 30%,18% 0,32% 40%,50% 20%,68% 40%,82% 0,100% 30%,80% 70%,62% 55%,50% 100%,38% 55%,20% 70%);animation:fly linear infinite}
@keyframes fly{0%{transform:translate(-10vw,0) scale(var(--s,1))}50%{transform:translate(55vw,-6vh) scale(var(--s,1)) scaleY(.6)}100%{transform:translate(120vw,4vh) scale(var(--s,1))}}
.hero-inner{position:relative;z-index:2;padding:96px 16px 40px;width:100%;max-width:900px}
.vhs-tag{position:absolute;top:70px;left:16px;margin:0;font:22px Elite,monospace;color:#fff;text-shadow:2px 0 #f0f8,-2px 0 #0ff8;letter-spacing:2px}
.rec{color:#ff3b3b;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.logo{margin:0;font:clamp(84px,24vw,230px)/.9 Creepster,cursive;color:var(--pump);letter-spacing:.04em;
text-shadow:0 0 30px rgba(255,100,0,.65),0 6px 0 #3a0e00,0 0 3px #1a0500;-webkit-text-stroke:2px #2a0800;animation:flick 6s infinite}
.logo.small{font-size:64px;animation:none}
@keyframes flick{0%,92%,100%{opacity:1}93%{opacity:.6}94%{opacity:1}96%{opacity:.75}}
.tagline{margin:6px 0 0;text-shadow:0 2px 8px #07050f,0 0 2px #07050f;font:clamp(18px,4.4vw,24px) Elite,monospace;color:var(--lilac)}
.tagline strong{color:#fff}
.dropping{margin:18px 0 6px;text-shadow:0 2px 10px #07050f;font:clamp(30px,8.6vw,64px)/1 Bebas,Impact,sans-serif;letter-spacing:.06em;color:#fff;text-shadow:0 0 16px rgba(176,130,255,.9)}
.dropping b{display:inline-block;font:clamp(30px,8.2vw,62px)/1 Nosifer,cursive;color:var(--pump);text-shadow:var(--glow);font-weight:400;margin-left:.15em}
.countdown{display:flex;justify-content:center;gap:clamp(8px,2.4vw,18px);margin:22px auto 8px}
.countdown div{min-width:clamp(70px,20vw,120px);padding:10px 6px 6px;background:rgba(7,5,15,.72);border:2px solid rgba(255,122,24,.6);border-radius:10px;box-shadow:0 0 22px rgba(255,100,0,.25) inset}
.countdown b{display:block;font:clamp(42px,12vw,78px)/1 Bebas,Impact,sans-serif;color:var(--amber);text-shadow:var(--glow);font-variant-numeric:tabular-nums}
.countdown span{font:15px Bebas,sans-serif;letter-spacing:2px;color:var(--lilac)}
.cd-label{max-width:560px;margin:8px auto 0;font-size:14px;color:#cdbdf5;background:rgba(7,5,15,.55);padding:6px 10px;border-radius:6px}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font:23px/1 Bebas,Impact,sans-serif;letter-spacing:1.5px;text-decoration:none;cursor:pointer;border:0;transition:transform .15s,box-shadow .15s}
.btn-mint{background:linear-gradient(180deg,#ff9a3c,#ff6a00);color:#1a0600;box-shadow:0 0 24px rgba(255,110,0,.55)}
.btn-mint:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(255,110,0,.8)}
.btn-ghost{background:rgba(64,32,111,.6);color:#fff;border:2px solid var(--vio)}
.btn.is-disabled{background:#2a1a3e;color:#cbb8ee;box-shadow:none;border:2px dashed #7c5fb0;cursor:default}
.btn-wide{width:100%}

/* SECTIONS */
.section{position:relative;max-width:var(--maxw);margin:0 auto;padding:80px 18px}
.h-creep{font:clamp(44px,11vw,84px)/1 Creepster,cursive;color:var(--pump);text-shadow:var(--glow);margin:0 0 12px;font-weight:400;letter-spacing:.03em;text-align:center}
.h-nos{font:clamp(36px,10vw,76px)/1.1 Nosifer,cursive;color:var(--pump);text-shadow:var(--glow);margin:0 0 12px;font-weight:400;text-align:center}
.bebas{font-family:Bebas,Impact,sans-serif;letter-spacing:.05em}
.lede{text-align:center;max-width:640px;margin:0 auto 26px;font-size:18px}
.fine{font-size:13.5px;color:#a998cf;text-align:center}
.collection::before,.claim::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;background:radial-gradient(ellipse at 50% 0,#2a125099,transparent 60%)}
.stats{list-style:none;padding:0;margin:0 auto 10px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:820px}
@media (min-width:720px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats li{background:linear-gradient(180deg,rgba(64,32,111,.55),rgba(18,10,30,.8));border:1px solid #6b46a8;border-radius:14px;padding:16px 8px;text-align:center}
.stats b{display:block;font:clamp(46px,12vw,64px)/1 Creepster,cursive;color:var(--amber);text-shadow:var(--glow);font-weight:400}
.stats span{font:21px Bebas,sans-serif;letter-spacing:2px;color:#fff}
.stats .secret{border-color:var(--pump);box-shadow:0 0 24px rgba(255,110,0,.25)}
.secret-note{text-align:center;color:#cdbdf5;margin:10px auto 28px;max-width:600px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:640px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media (min-width:980px){.gallery{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#0d0818;border:1px solid #3d2566;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 0 26px rgba(176,130,255,.4)}
.card img{width:100%;aspect-ratio:1;object-fit:cover}
.card figcaption{padding:8px 10px 10px;font:20px Bebas,sans-serif;letter-spacing:1.5px;color:#fff}
.card figcaption small{display:block;font:12.5px/1.35 Elite,monospace;letter-spacing:0;color:#bfaee6}

.video-frame{position:relative;border-radius:16px;overflow:hidden;border:2px solid #6b46a8;box-shadow:0 0 50px rgba(176,130,255,.25),0 0 0 6px #0d0818}
.video-frame video{width:100%;height:auto;display:block;background:#000;aspect-ratio:16/9}

.prize{display:grid;gap:20px;align-items:center}
@media (min-width:900px){.prize{grid-template-columns:1.05fr 1fr}}
.prize-art{position:relative;padding-bottom:40px}
.prize-glow{position:absolute;inset:6% 2% 14%;background:radial-gradient(circle,rgba(176,130,255,.45),rgba(255,122,24,.12) 50%,transparent 70%);filter:blur(10px)}
.prize-art>img:not(.pk){position:relative;width:min(100%,560px);margin:0 auto}
.mound{position:relative;height:70px;margin:-34px auto 0;width:min(100%,600px);background:radial-gradient(ellipse 50% 60% at 50% 100%,#1a0e22 60%,transparent 62%),radial-gradient(ellipse 60% 70% at 50% 100%,#2c1838 50%,transparent 70%)}
.pk{position:absolute;bottom:20px;width:clamp(64px,16vw,110px);filter:drop-shadow(0 0 20px rgba(255,120,0,.7))}
.pk-l{left:2%}.pk-r{right:2%}
.prize-copy{text-align:center}
.prize-copy h2{margin:0 0 14px;display:flex;flex-direction:column;align-items:center;font-weight:400}
.prize-copy h2 span{display:block}
.prize-copy .big{font-size:clamp(54px,14vw,96px);margin:0}
.prize-copy .bebas{font-size:clamp(30px,8vw,46px);color:#fff;line-height:1}
.prize-copy .xl{font-size:clamp(42px,11vw,64px)}
.prize-copy .orange{color:var(--pump)}
.prize-copy p{max-width:520px;margin:0 auto;font-size:18px}

.game-wrap{position:relative;width:min(100%,520px);margin:0 auto;aspect-ratio:3/4;max-height:78svh;border-radius:18px;overflow:hidden;border:2px solid #6b46a8;background:radial-gradient(circle at 50% 35%,#3a1d63,#0b0716 75%);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.game-wrap canvas{width:100%;height:100%;display:block}
.hud{position:absolute;top:10px;left:12px;right:60px;display:flex;justify-content:space-between;font:21px Bebas,sans-serif;letter-spacing:1.5px;color:#fff;pointer-events:none}
.hud b{color:var(--amber);font-weight:400}
.mute{position:absolute;z-index:3;top:6px;right:8px;width:44px;height:44px;border-radius:50%;border:1px solid #6b46a8;background:rgba(7,5,15,.6);font-size:20px;cursor:pointer;color:#fff}
.overlay{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:rgba(7,5,15,.62);padding:20px}
.overlay[hidden]{display:none}
.ov-title{margin:0;font:clamp(40px,12vw,64px)/1 Creepster,cursive;color:var(--pump);text-shadow:var(--glow)}
.ov-sub{margin:0 0 10px;font-size:17px;color:#fff;max-width:320px}

.claim form{max-width:720px;margin:0 auto;background:linear-gradient(180deg,rgba(42,18,80,.75),rgba(13,8,24,.9));border:1px solid #6b46a8;border-radius:18px;padding:22px 18px}
fieldset{border:1px solid #4a2f7a;border-radius:12px;margin:0 0 16px;padding:12px 14px}
legend{font:22px Bebas,sans-serif;letter-spacing:2px;color:var(--pump);padding:0 6px}
.claim label{display:block;margin:0 0 12px;font:19px Bebas,sans-serif;letter-spacing:1.2px;color:#fff}
.opt{font:13px Elite,monospace;letter-spacing:0;color:#a998cf}
.claim input:not([type=checkbox]){display:block;width:100%;margin-top:4px;padding:12px;font:16px Elite,monospace;color:#fff;background:#0b0716;border:1.5px solid #5a3d8c;border-radius:9px}
.claim input[type=file]{padding:9px}
.claim input[aria-invalid=true]{border-color:#ff4d4d;box-shadow:0 0 0 2px rgba(255,77,77,.25)}
.err{display:block;margin-top:4px;font:13.5px Elite,monospace;letter-spacing:0;color:#ff8a8a}
.row2{display:grid;gap:0 14px}
@media (min-width:620px){.row2{grid-template-columns:1fr 1fr}}
.check{display:flex!important;gap:10px;align-items:flex-start;font:15px/1.45 Elite,monospace!important;letter-spacing:0!important;color:var(--lilac)!important}
.check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--pump);margin-top:2px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{color:#ff8a8a;background:rgba(255,60,60,.1);border:1px solid #ff6b6b;border-radius:8px;padding:10px;font-size:15px}
.claim-done{max-width:640px;margin:0 auto;text-align:center;background:rgba(42,18,80,.7);border:2px solid var(--pump);border-radius:18px;padding:26px 18px;box-shadow:0 0 40px rgba(255,110,0,.25)}
.claim-done .h-creep{font-size:clamp(40px,10vw,64px)}
.thanks .claim{text-align:center;padding-top:60px}

.footer{text-align:center;padding:50px 16px 70px;border-top:1px solid #2c1a48;background:linear-gradient(#07050f,#120a22)}
.footer p{margin:6px 0}
.footer .bebas{font-size:28px;color:#fff}
.x-link{font:26px Elite,monospace;color:var(--amber);text-shadow:0 0 12px rgba(255,110,0,.5)}
