@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/Inter-var.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(assets/fonts/SpaceGrotesk-var.woff2) format('woff2')}
:root{--ink:#0b1530;--muted:#647087;--gold:#f4a719;--line:#e8ebf0;--paper:#fff;--soft:#f6f7f9;--radius:30px;--shadow:0 22px 70px rgba(13,25,48,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.section-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{height:84px;width:min(1320px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;position:relative;z-index:30}.wordmark{font-family:"Space Grotesk",sans-serif;font-size:21px;font-weight:800;letter-spacing:-1px}.wordmark span{color:var(--gold)}nav{display:flex;gap:38px;font-size:14px;font-weight:600}nav a{color:#29334a;transition:.2s}nav a:hover{color:var(--gold)}.header-cta{justify-self:end;background:var(--ink);color:white;padding:12px 20px;border-radius:999px;font-weight:700;font-size:14px}.hero{min-height:calc(100svh - 84px);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px;position:relative;padding-block:48px 80px}.hero-copy{z-index:2}.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--gold)}h1,h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.055em;margin:0}h1{font-size:clamp(62px,7.4vw,112px);line-height:.91;max-width:720px}h1 span{color:var(--gold)}.lede{font-size:18px;line-height:1.7;color:var(--muted);max-width:560px;margin:30px 0}.store-row{display:flex;flex-wrap:wrap;gap:14px}.store-badge{display:flex;align-items:center;gap:12px;min-width:176px;background:#090909;color:#fff;border-radius:12px;padding:10px 16px;box-shadow:0 10px 28px rgba(0,0,0,.13)}.store-badge small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.store-badge strong{font-size:18px}.store-icon,.play-triangle{font-size:28px}.play-triangle{color:#36d16f}.hero-art{height:min(72vh,760px);position:relative;display:flex;align-items:flex-end;justify-content:center}.hero-art img{height:100%;width:auto;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 28px 34px rgba(12,24,48,.18))}.hero-halo{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff5d9 0,#fff9ec 42%,rgba(255,255,255,0) 70%);top:10%;right:5%}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.scroll-cue span{font-size:22px;color:var(--gold)}.world-intro{text-align:center;padding:130px 0 68px}.world-intro h2,.product-copy h2,.album-copy h2,.download-section h2{font-size:clamp(44px,6vw,82px);line-height:1}.world-intro>p:last-child,.product-copy>p,.album-copy>p,.download-section>div>p:last-child{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px}.world-intro>p:last-child{margin:24px auto 0}.cinematic-world{height:min(82vh,850px);position:relative;overflow:hidden;margin:0 auto 22px;width:min(1500px,calc(100% - 28px));border-radius:var(--radius)}.cinematic-world img{width:100%;height:100%;object-fit:cover;transform:scale(1.01)}.cinematic-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,23,.84) 0%,rgba(4,10,23,.25) 44%,rgba(4,10,23,.05) 70%)}.world-frozen .cinematic-shade{background:linear-gradient(270deg,rgba(4,10,23,.84) 0%,rgba(4,10,23,.25) 44%,rgba(4,10,23,.05) 70%)}.cinematic-copy{position:absolute;left:max(6vw,40px);bottom:10%;color:#fff;max-width:520px}.cinematic-copy.right{left:auto;right:max(6vw,40px);text-align:right}.eyebrow.light{color:#ffd57f}.cinematic-copy h2,.raid-copy h2{font-size:clamp(54px,7vw,100px);line-height:.95}.cinematic-copy p:last-child,.raid-copy p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.82)}.product-section{padding:150px 0;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.product-copy p{margin:24px 0}.text-link{font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{color:var(--gold);margin-left:7px}.product-shot{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.3deg)}.product-shot img{width:100%;aspect-ratio:16/8.2;object-fit:cover}.raid-section{height:min(85vh,880px);position:relative;overflow:hidden;background:#0c1018}.raid-background,.raid-background img,.raid-overlay{position:absolute;inset:0;width:100%;height:100%}.raid-background img{object-fit:cover}.raid-overlay{background:linear-gradient(90deg,rgba(4,8,15,.96) 0%,rgba(4,8,15,.78) 36%,rgba(4,8,15,.12) 74%)}.raid-copy{position:relative;z-index:2;color:#fff;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.raid-copy p{max-width:520px}.button{display:inline-block;margin-top:22px;padding:14px 22px;border-radius:999px;font-weight:800}.button-light{background:white;color:var(--ink)}.album-section{padding:150px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.album-copy p{margin-top:26px}.album-visual{position:relative}.album-window{border-radius:36px;overflow:hidden;box-shadow:var(--shadow);height:470px}.album-window img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.album-label{position:absolute;left:28px;bottom:28px;background:white;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.15)}.download-section{margin-bottom:110px;padding:70px;border:1px solid var(--line);border-radius:36px;background:linear-gradient(135deg,#fff 0,#fffaf1 100%);display:flex;justify-content:space-between;align-items:center;gap:40px}.download-section h2{font-size:clamp(42px,5vw,72px)}footer{border-top:1px solid var(--line);min-height:150px;width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:var(--muted);font-size:13px}.footer-logo{color:var(--ink)}footer p{text-align:center}.footer-links{justify-self:end;display:flex;gap:24px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:72px}nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}.hero-art{height:580px;order:-1}.hero-copy{text-align:center}.lede{margin-inline:auto}.store-row{justify-content:center}.scroll-cue{display:none}.product-section,.album-section{grid-template-columns:1fr;padding:100px 0}.product-copy,.album-copy{text-align:center}.product-copy>p,.album-copy>p{margin-inline:auto}.cinematic-world{height:68vh}.download-section{flex-direction:column;text-align:center;padding:54px 28px}footer{grid-template-columns:1fr;text-align:center;gap:18px;padding:40px 0}.footer-links{justify-self:center}footer p{margin:0}.footer-logo{justify-self:center}}@media(max-width:620px){.section-shell,.site-header,footer{width:min(100% - 28px,1180px)}.header-cta{padding:10px 15px}.hero{padding-top:26px}.hero-art{height:430px}h1{font-size:56px}.lede{font-size:16px}.store-badge{min-width:158px;padding:9px 12px}.store-badge strong{font-size:16px}.world-intro{padding:92px 0 44px}.cinematic-world{width:calc(100% - 16px);height:64vh;border-radius:22px}.cinematic-copy,.cinematic-copy.right{left:26px;right:26px;bottom:36px;text-align:left}.cinematic-copy h2,.raid-copy h2{font-size:50px}.product-section,.album-section{padding:90px 0;gap:42px}.product-shot{border-radius:20px;transform:none}.raid-section{height:76vh}.raid-overlay{background:linear-gradient(0deg,rgba(4,8,15,.95) 0%,rgba(4,8,15,.4) 70%,rgba(4,8,15,.05) 100%)}.raid-copy{justify-content:flex-end;padding-bottom:55px}.album-window{height:360px}.download-section{margin-bottom:60px;border-radius:25px}.download-section h2{font-size:44px}}

/* ── Lobby map (JS port of the in-game map scroll) ── */
.lobby-map-section{width:min(1500px,calc(100% - 28px));margin:0 auto 22px}
.lobby-map{position:relative;height:clamp(340px,58vh,640px);border-radius:var(--radius);overflow:hidden;background:#0b1220;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.lobby-map.dragging{cursor:grabbing}
.map-tile{position:absolute;top:0;left:0;height:100%;will-change:transform}
.map-tile img{-webkit-user-drag:none}
.tile-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.map-dot,.tile-title,.map-char{position:absolute;transform:translate(-50%,-50%)}
.map-dot{object-fit:fill}
.tile-title img{width:100%;height:100%;object-fit:contain}
.tile-shine{position:absolute;inset:0;overflow:hidden;opacity:0;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain}
.map-tile.landed .tile-shine{opacity:1}
.shine-streak{position:absolute;top:-25%;bottom:-25%;width:55%;transform:translateX(-130%);background:linear-gradient(105deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 80%)}
.map-tile.landed .shine-streak{animation:mapShine 7s ease-in-out infinite}
@keyframes mapShine{0%{transform:translateX(-130%)}57%{transform:translateX(300%)}100%{transform:translateX(300%)}}
.map-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:none;border:0;padding:0;width:52px;height:52px;cursor:pointer;opacity:1;transition:opacity .5s}
.map-arrow img{width:100%;height:100%}
.map-arrow.left{left:16px}
.map-arrow.right{right:16px}
.lobby-map.arrows-idle .map-arrow{opacity:0;pointer-events:none}
.map-caption{text-align:center;color:var(--muted);font-size:14px;margin:20px 0 0}
.map-caption strong{color:var(--ink);font-weight:700}
@media(max-width:620px){.lobby-map-section{width:calc(100% - 16px)}.lobby-map{height:clamp(300px,52vh,430px);border-radius:22px}.map-arrow{width:44px;height:44px}.map-arrow.left{left:10px}.map-arrow.right{right:10px}}
@media (prefers-reduced-motion:reduce){.map-tile.landed .shine-streak{animation:none}}

/* ── Official store badge + legal pages ── */
.play-badge{display:inline-block}
.play-badge img{height:64px;width:auto}
.legal{padding:60px 0 90px;max-width:760px}
.legal h1{font-size:clamp(40px,5vw,56px);margin:70px 0 10px}
.legal .updated{color:var(--muted);font-size:14px;margin:0 0 40px}
.legal h2{font-size:24px;margin:40px 0 12px;letter-spacing:-.02em}
.legal p,.legal li{font-size:16px;line-height:1.75;color:#2a3550}
.legal ul{padding-left:22px}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal .backlink{display:inline-block;margin-top:50px;font-weight:700;text-decoration:none}

/* ── Map villains ── */
.map-villain{position:absolute;transform:translate(-50%,-50%)}
.villain-tag{position:absolute;transform:translate(-50%,-50%);background:rgba(9,14,26,.78);color:#ffd57f;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(12px,1.7vw,18px);letter-spacing:.02em;padding:.35em .9em;border-radius:999px;white-space:nowrap;border:1px solid rgba(255,213,127,.35)}

/* ── Villain landing beat: taunt pop + tag/bio reveal ── */
.villain-bio{position:absolute;transform:translate(-50%,-50%);opacity:0;color:rgba(255,255,255,.92);font-size:clamp(11px,1.5vw,16px);font-weight:600;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)}
.map-tile.landed .villain-bio{opacity:1;animation:bioIn .5s .3s both}
.map-tile.landed .map-villain{animation:villainTaunt .85s ease-out}
.map-tile.landed .villain-tag{animation:tagPop .45s .1s cubic-bezier(.34,1.56,.64,1) both}
@keyframes villainTaunt{0%,100%{transform:translate(-50%,-50%) scale(1) rotate(0)}20%{transform:translate(-50%,-50%) scale(1.13,.9) rotate(-3deg)}45%{transform:translate(-50%,-50%) scale(.94,1.09) rotate(2.5deg)}70%{transform:translate(-50%,-50%) scale(1.05,.97) rotate(-1deg)}}
@keyframes tagPop{from{transform:translate(-50%,-50%) scale(.6);opacity:0}60%{transform:translate(-50%,-50%) scale(1.08);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes bioIn{from{transform:translate(-50%,-20%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){.map-tile.landed .map-villain,.map-tile.landed .villain-tag,.map-tile.landed .villain-bio{animation:none}}

/* ── Villain ray burst (procedural, screen-blended) ── */
.villain-ray{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;pointer-events:none;mix-blend-mode:screen;background:repeating-conic-gradient(rgba(255,228,140,.5) 0deg 8deg,rgba(255,228,140,0) 8deg 22deg),radial-gradient(closest-side,rgba(255,214,110,.9),rgba(255,196,70,.4) 45%,rgba(255,196,70,0) 72%);-webkit-mask:radial-gradient(closest-side,#000 25%,rgba(0,0,0,.55) 55%,transparent 75%);mask:radial-gradient(closest-side,#000 25%,rgba(0,0,0,.55) 55%,transparent 75%);animation:raySpin 70s linear infinite}
@keyframes raySpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.villain-ray{animation:none}}

/* ── Support page ── */
.support-mail{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:22px;font-weight:700;font-family:"Space Grotesk",sans-serif}
.support-mail button{font:inherit;font-size:14px;font-weight:700;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--ink);color:#fff;cursor:pointer}
.support-mail .mail-open{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Age & social-gaming disclaimer (Google Ads gambling-cert requirement, 2026-08-10) */
.age-note{margin:12px 0 0;font-size:12px;font-weight:600;color:var(--muted)}
footer .age-disclaimer{grid-column:1/-1;text-align:center;font-size:12px;line-height:1.6;color:var(--muted);max-width:860px;margin:0 auto;padding-bottom:26px}
main .age-disclaimer{font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);margin-top:34px;padding-top:18px}
@media(max-width:900px){footer .age-disclaimer{padding-inline:8px}}
