@font-face{font-family:Orbitron;src:url('fonts/Orbitron-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Orbitron;src:url('fonts/Orbitron-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Orbitron;src:url('fonts/Orbitron-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Orbitron;src:url('fonts/Orbitron-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Orbitron;src:url('fonts/Orbitron-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Orbitron;src:url('fonts/Orbitron-900.ttf') format('truetype');font-weight:900;font-display:swap}

:root{--black:#030605;--ink:#071012;--orange:#f7931a;--cyan:#63d7ff;--white:#f5f7f4;--muted:#91a9ad;--red:#ff5c55;--line:rgba(99,215,255,.26);--line-orange:rgba(247,147,26,.48);--mx:0px;--my:0px;--hero-y:0px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{background:var(--black);scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Orbitron,monospace;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.08;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 5px);mix-blend-mode:screen}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;color:#000;background:var(--orange);padding:10px 14px;transform:translateY(-140%);transition:transform .2s}.skip-link:focus{transform:none}
.site-main{position:relative;z-index:1}
.site-chrome{position:fixed;inset:17px;z-index:21;pointer-events:none;border:1px solid rgba(99,215,255,.11)}
.chrome-corner{position:absolute;width:26px;height:26px;border-color:var(--orange);border-style:solid}.chrome-corner--tl{top:-1px;left:-1px;border-width:2px 0 0 2px}.chrome-corner--tr{top:-1px;right:-1px;border-width:2px 2px 0 0}.chrome-corner--bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}.chrome-corner--br{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.chrome-scanline{position:absolute;left:38%;right:38%;top:-1px;height:1px;background:var(--cyan);box-shadow:0 0 16px var(--cyan);animation:signal-sweep 9s linear infinite}
.topbar{position:fixed;top:18px;left:18px;right:18px;z-index:30;min-height:70px;display:flex;align-items:center;gap:28px;padding:10px 34px;background:rgba(3,7,8,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);transition:background .3s,transform .4s var(--ease)}.topbar.is-scrolled{background:rgba(3,7,8,.96)}
.brand{display:flex;width:215px;flex:0 0 215px}.brand img{width:100%;height:auto;display:block;mix-blend-mode:screen}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,48px);flex:1}.site-nav a{font-size:11px;letter-spacing:.14em;color:#d5e5e5;transition:color .2s,text-shadow .2s}.site-nav a:hover,.site-nav a:focus-visible{color:var(--orange);text-shadow:0 0 12px rgba(247,147,26,.7)}.site-nav .nav-support{color:var(--orange)}
.topbar-status{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;color:var(--cyan);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:#8aff87;box-shadow:0 0 14px #8aff87;animation:status-pulse 2s ease-in-out infinite}.menu-toggle{display:none}
.snap-section{position:relative;min-height:100svh;display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:normal;padding:132px 7vw 84px;overflow:hidden}.hero{min-height:100svh;padding:0;scroll-snap-align:start}.hero-media{position:absolute;inset:-4%;transform:translate3d(calc(var(--mx)*-.25),calc(var(--hero-y)*-.05),0) scale(1.06);will-change:transform}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.12);animation:ken-burns 24s ease-in-out infinite alternate}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,5,.92) 0%,rgba(2,5,5,.48) 38%,rgba(2,5,5,.16) 70%,rgba(2,5,5,.62) 100%),linear-gradient(0deg,rgba(2,5,5,.95),transparent 35%,rgba(2,5,5,.42))}.hero-grid{position:absolute;inset:0;opacity:.12;background:linear-gradient(rgba(99,215,255,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(99,215,255,.38) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,black,transparent 62%)}
.hero-content{position:relative;z-index:2;max-width:880px;margin-left:6vw;padding-top:7vh}.eyebrow{display:block;color:var(--cyan);font-size:10px;line-height:1.4;letter-spacing:.18em}.hero-logo{width:min(690px,72vw);margin:22px 0 14px;display:block;mix-blend-mode:screen;filter:drop-shadow(0 12px 28px rgba(247,147,26,.26))}.hero-tagline{margin:0 0 30px;font-size:clamp(20px,2.4vw,38px);font-weight:700;letter-spacing:.23em;color:var(--white);text-shadow:0 3px 22px rgba(0,0,0,.8)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.action{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:210px;padding:15px 18px;border:1px solid currentColor;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));font-size:10px;font-weight:700;letter-spacing:.1em;transition:transform .25s var(--ease),background .25s,box-shadow .25s}.action b{font-size:18px;font-weight:400;line-height:1}.action:hover,.action:focus-visible{transform:translateY(-4px)}.action--primary{color:#08100e;background:var(--orange);box-shadow:0 0 26px rgba(247,147,26,.2)}.action--primary:hover,.action--primary:focus-visible{box-shadow:0 0 38px rgba(247,147,26,.52)}.action--cyan{color:var(--cyan);background:rgba(3,13,16,.64)}.action--cyan:hover,.action--cyan:focus-visible{background:rgba(99,215,255,.12);box-shadow:0 0 32px rgba(99,215,255,.25)}.action--ghost{color:var(--white);background:rgba(3,7,8,.32)}.action--ghost:hover,.action--ghost:focus-visible{color:var(--orange);border-color:var(--orange);background:rgba(247,147,26,.09)}
.hero-signal{position:absolute;z-index:2;top:26%;display:flex;flex-direction:column;gap:12px;width:100px;color:var(--orange);font-size:9px;line-height:1.65;letter-spacing:.1em}.hero-signal i{display:block;width:48px;height:1px;background:var(--orange);box-shadow:0 0 12px var(--orange)}.hero-signal--left{left:2.5vw}.hero-signal--right{right:2.5vw;color:var(--cyan);text-align:right;align-items:flex-end}.hero-signal--right b{font-size:9px;line-height:1.6;color:var(--white)}.hero-signal--right small{display:block;margin-top:4px;color:var(--orange);font-size:8px;line-height:1.5;letter-spacing:.1em}.hero-bottom{position:absolute;z-index:2;left:8vw;bottom:48px;display:flex;align-items:center;gap:18px;color:var(--cyan);font-size:9px;letter-spacing:.14em}.scroll-line{position:relative;width:90px;height:1px;background:rgba(99,215,255,.35)}.scroll-line i{position:absolute;left:0;top:-1px;width:26px;height:3px;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:scroll-signal 2.2s ease-in-out infinite}
.stats-rail{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;gap:clamp(18px,3vw,55px);min-height:102px;padding:18px 5vw;background:rgba(3,8,9,.96);border-top:1px solid var(--line);border-bottom:1px solid var(--line-orange);scroll-snap-align:start}.stats-rail>i{height:26px;width:1px;background:linear-gradient(var(--orange),var(--cyan));opacity:.7}.stat{display:flex;align-items:baseline;gap:10px}.stat strong{color:var(--orange);font-size:clamp(22px,3vw,38px);line-height:1}.stat--cyan strong{color:var(--cyan)}.stat-word{font-size:25px!important}.stat span{font-size:10px;letter-spacing:.14em;color:#d8e8e8}
.section-frame{position:relative;width:min(1180px,100%);margin:auto}.section-frame--wide{width:min(1320px,100%)}.section-heading{position:relative}.section-heading h2{margin:12px 0 0;font-size:clamp(34px,6vw,86px);line-height:.95;letter-spacing:-.05em;font-weight:700}.section-heading h2 em{font-style:normal;color:var(--orange)}.section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:30px}.story-panel{background:radial-gradient(circle at 80% 20%,rgba(99,215,255,.09),transparent 28%),#050908}.story-panel:before{content:"01";position:absolute;right:9vw;bottom:8vh;color:rgba(99,215,255,.08);font-size:28vw;font-weight:900;line-height:1}.story-panel .section-frame{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center}.story-copy{max-width:520px;padding-top:28px}.story-copy p,.boss-copy p,.arcade-copy p,.support-copy p{color:#bfcecf;font:500 18px/1.65 Orbitron,monospace}.story-copy .lead,.boss-copy .lead,.arcade-copy .lead,.support-copy .lead{color:var(--white);font-weight:700;font-size:clamp(20px,2.2vw,30px);line-height:1.3}.story-mark{position:absolute;right:4%;top:4%;font-size:48px;color:var(--orange);opacity:.5}
.campaign-panel{background:linear-gradient(180deg,#040807,#071013)}.campaign-carousel{position:relative;margin-top:44px;overflow:hidden;cursor:grab}.campaign-carousel.is-dragging{cursor:grabbing}.campaign-track{display:flex;gap:18px;width:max-content;transition:transform .65s var(--ease)}.campaign-card{width:min(270px,72vw);flex:0 0 min(270px,72vw);padding:12px;background:linear-gradient(180deg,rgba(8,19,21,.88),rgba(3,8,9,.97));border:1px solid rgba(99,215,255,.25);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);transition:transform .45s var(--ease),border-color .3s,box-shadow .3s}.campaign-card.is-active{border-color:var(--orange);box-shadow:0 0 26px rgba(247,147,26,.13);transform:translateY(-10px)}.campaign-image{height:285px;overflow:hidden;background:#030606}.campaign-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .8s var(--ease),filter .4s}.campaign-card:hover .campaign-image img{transform:scale(1.1);filter:saturate(1)}.campaign-card-meta{display:flex;justify-content:space-between;gap:10px;padding:15px 5px 8px;color:var(--cyan);font-size:8px;letter-spacing:.1em}.campaign-card-meta b{color:var(--orange);text-align:right}.campaign-card h3{margin:9px 5px 6px;font-size:15px;line-height:1.25;letter-spacing:.04em}.campaign-card p{margin:0 5px 12px;min-height:38px;color:var(--muted);font-size:11px;line-height:1.55}.carousel-controls{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px}.carousel-controls b{color:var(--orange);font-size:16px}.carousel-controls button{display:grid;place-items:center;width:42px;height:42px;background:transparent;border:1px solid var(--line);color:var(--cyan);cursor:pointer;transition:background .2s,color .2s,transform .2s}.carousel-controls button:hover,.carousel-controls button:focus-visible{background:var(--cyan);color:#001013;transform:translateY(-3px)}.timeline{position:relative;height:36px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}.timeline:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line)}.timeline-progress{position:absolute;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--orange));transform-origin:left;box-shadow:0 0 12px rgba(99,215,255,.5)}.timeline i{position:relative;width:13px;height:13px;border:2px solid var(--cyan);border-radius:50%;background:var(--ink)}.timeline i.is-active{border-color:var(--orange);box-shadow:0 0 13px var(--orange)}
.boss-panel{background:radial-gradient(circle at 80% 50%,rgba(247,147,26,.16),transparent 30%),#030605}.boss-backdrop{position:absolute;inset:0;opacity:.16;background:linear-gradient(90deg,transparent,rgba(247,147,26,.32)),url('assets/level-18-cratered-reserves.webp') center/cover;filter:grayscale(1);mix-blend-mode:screen}.boss-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.boss-art{height:min(650px,72vh);display:grid;place-items:center;position:relative}.boss-art:after{content:"";position:absolute;inset:10% 10% 0;background:radial-gradient(circle,rgba(247,147,26,.3),transparent 62%);filter:blur(30px);z-index:-1}.boss-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 30px rgba(0,0,0,.8))}.boss-copy h2{font-size:clamp(38px,5vw,76px);line-height:.92;margin:14px 0}.boss-copy h2 em{color:var(--orange);font-style:normal}.boss-class{color:var(--cyan)!important;font-size:10px!important;letter-spacing:.14em}.boss-facts{margin:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.boss-facts div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(99,215,255,.12);font-size:10px;letter-spacing:.1em}.boss-facts div:last-child{border:0}.boss-facts dt{color:var(--orange)}.boss-facts dd{margin:0;color:var(--white)}
.arcade-panel{background:linear-gradient(120deg,#050807,#08151a)}.arcade-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;margin-top:64px}.arcade-copy{max-width:520px}.arcade-console{position:relative;height:430px;overflow:hidden;background:linear-gradient(145deg,#151819,#020303 67%);border:1px solid rgba(247,147,26,.48);clip-path:polygon(0 0,94% 0,100% 9%,100% 100%,4% 100%,0 92%);box-shadow:30px 30px 0 rgba(99,215,255,.08),0 0 100px rgba(247,147,26,.12)}.arcade-console:before{content:"";position:absolute;inset:22px;background:repeating-linear-gradient(0deg,transparent 0 16px,rgba(99,215,255,.04) 17px),linear-gradient(90deg,rgba(247,147,26,.1),transparent 38%);border:1px solid rgba(99,215,255,.22)}.console-screen{position:absolute;left:15%;top:12%;width:70%;height:48%;border:1px solid var(--cyan);background:radial-gradient(circle at 50% 60%,rgba(247,147,26,.7),transparent 24%),url('assets/level-20-post-fiat-apocalypse.webp') center/cover;box-shadow:0 0 24px rgba(99,215,255,.24);filter:saturate(.85)}.console-control{position:absolute;top:76%;width:30px;height:30px;border-radius:50%;border:2px solid currentColor;box-shadow:0 0 18px currentColor}.console-control--orange{left:23%;color:var(--orange);background:rgba(247,147,26,.22)}.console-control--cyan{left:35%;color:var(--cyan);background:rgba(99,215,255,.22)}.console-label{position:absolute;right:18%;top:77%;font-size:11px;letter-spacing:.16em;color:var(--orange)}
.support-panel{background:radial-gradient(circle at 85% 40%,rgba(99,215,255,.12),transparent 33%),#040707}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.support-copy{max-width:610px}.support-copy h2{font-size:clamp(43px,6vw,90px);line-height:.9;margin:15px 0 25px}.support-copy h2 em{color:var(--orange);font-style:normal}.funding-console{min-height:380px;padding:26px;background:rgba(2,7,8,.72);border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));box-shadow:inset 0 0 80px rgba(99,215,255,.04)}.funding-console-head{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.13em}.funding-console-head b{color:#8aff87}.funding-lines{height:150px;display:flex;align-items:end;gap:12px;padding:28px 20px;border-bottom:1px solid var(--line)}.funding-lines i{flex:1;height:var(--h,50%);background:linear-gradient(180deg,var(--cyan),rgba(99,215,255,.06));border-top:2px solid var(--cyan);box-shadow:0 0 16px rgba(99,215,255,.22);animation:bar-breathe 3s ease-in-out infinite alternate}.funding-lines i:nth-child(1){--h:34%}.funding-lines i:nth-child(2){--h:50%;animation-delay:.2s}.funding-lines i:nth-child(3){--h:42%;animation-delay:.4s}.funding-lines i:nth-child(4){--h:70%;animation-delay:.6s}.funding-lines i:nth-child(5){--h:86%;background:linear-gradient(180deg,var(--orange),rgba(247,147,26,.06));border-color:var(--orange);box-shadow:0 0 16px rgba(247,147,26,.28);animation-delay:.8s}.funding-caption{display:flex;justify-content:space-between;padding:18px 0;color:var(--muted);font-size:8px;letter-spacing:.08em}.funding-signal{margin-top:58px;color:var(--orange);font-size:clamp(18px,2.5vw,30px);letter-spacing:.12em;text-shadow:0 0 18px rgba(247,147,26,.45)}
.text-link{display:inline-flex;gap:16px;align-items:center;margin-top:25px;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.12em;border-bottom:1px solid var(--orange);padding-bottom:9px;transition:gap .25s var(--ease),color .2s}.text-link:hover,.text-link:focus-visible{gap:24px;color:var(--cyan);border-color:var(--cyan)}.site-footer{position:relative;z-index:2;display:flex;justify-content:space-between;padding:30px 7vw 48px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.12em}.scroll-progress{position:fixed;z-index:29;right:26px;top:50%;height:140px;width:2px;background:rgba(99,215,255,.2);transform:translateY(-50%)}.scroll-progress i{display:block;width:100%;height:20%;background:var(--orange);box-shadow:0 0 10px var(--orange);transition:height .2s var(--ease)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@keyframes ken-burns{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.1) translate3d(-1.5%,-1%,0)}}@keyframes signal-sweep{0%{transform:translateX(-260px);opacity:0}15%,80%{opacity:1}100%{transform:translateX(260px);opacity:0}}@keyframes status-pulse{0%,100%{opacity:.45}50%{opacity:1}}@keyframes scroll-signal{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:65px;opacity:0}}@keyframes bar-breathe{0%{filter:brightness(.75)}100%{filter:brightness(1.25)}}
@media (max-width:900px){.site-chrome{inset:9px}.topbar{top:10px;left:10px;right:10px;padding:10px 18px;min-height:58px}.brand{width:165px;flex-basis:165px}.topbar-status{display:none}.menu-toggle{display:grid;grid-template-columns:14px 14px 14px auto;align-items:center;gap:4px;margin-left:auto;background:none;border:0;color:var(--orange);cursor:pointer}.menu-toggle span{width:14px;height:1px;background:currentColor;grid-row:1}.menu-toggle b{grid-column:4;font-size:9px;letter-spacing:.1em;font-weight:700}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:18px;background:rgba(3,7,8,.97);border:1px solid var(--line);border-top:0}.site-nav.is-open{display:flex}.site-nav a{width:100%;padding:15px 10px;border-bottom:1px solid rgba(99,215,255,.12)}.snap-section{min-height:auto;padding:110px 8vw 90px}.hero{min-height:100svh;padding:0 8vw}.hero-content{margin-left:0;padding-top:12vh}.hero-signal{display:none}.hero-logo{width:min(620px,86vw)}.hero-tagline{font-size:18px;letter-spacing:.12em}.hero-actions{display:grid;grid-template-columns:1fr}.action{width:100%;min-width:0}.hero-bottom{left:8vw;bottom:30px;font-size:8px}.stats-rail{justify-content:flex-start;overflow-x:auto;gap:22px;padding:20px 8vw}.stats-rail .stat{min-width:max-content}.stats-rail>i{display:none}.section-heading--row{align-items:flex-start;flex-direction:column}.carousel-controls{align-self:flex-end}.story-panel .section-frame,.boss-layout,.arcade-grid,.support-layout{grid-template-columns:1fr;gap:45px}.story-panel:before{right:-7vw;bottom:4vh}.story-copy p,.boss-copy p,.arcade-copy p,.support-copy p{font-size:16px}.campaign-carousel{overflow:visible}.campaign-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 22px;scrollbar-width:none}.campaign-track::-webkit-scrollbar{display:none}.campaign-card{scroll-snap-align:start}.campaign-card.is-active{transform:none}.timeline{display:none}.boss-art{height:430px;order:2}.boss-copy{order:1}.arcade-console{height:300px}.funding-console{min-height:330px}.site-footer{flex-direction:column;gap:14px;padding-left:8vw;padding-right:8vw}.scroll-progress{right:12px;height:100px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-media,.campaign-track{transform:none!important}.reveal{opacity:1;transform:none}}

/* Shared footer: all routes use the dynamic component, so it needs its own stable grid instead of inheriting the compact base footer. */
.site-footer--full{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(128px,.8fr));gap:36px clamp(26px,4vw,72px);padding:64px 7vw 28px;background:linear-gradient(180deg,#050909,#020404);border-top:1px solid var(--line-orange);position:relative;overflow:hidden}.site-footer--full:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(99,215,255,.035),transparent),repeating-linear-gradient(0deg,transparent 0 5px,rgba(99,215,255,.025) 6px 7px)}.site-footer--full .footer-signal,.site-footer--full .footer-column,.site-footer--full .footer-base,.site-footer--full .footer-disclaimer{position:relative;z-index:1}.site-footer--full .footer-signal strong{display:block;margin:15px 0;font-size:clamp(23px,3vw,42px);line-height:.9;letter-spacing:-.04em}.site-footer--full .footer-signal strong em{font-style:normal;color:var(--orange)}.site-footer--full .footer-signal p{max-width:290px;margin:0;color:var(--muted);font-size:10px;line-height:1.65}.site-footer--full .footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}.site-footer--full .footer-column b{margin-bottom:7px;color:var(--cyan);font-size:9px;letter-spacing:.14em}.site-footer--full .footer-column a{color:#c4d2d3;font-size:10px;letter-spacing:.06em;line-height:1.3;transition:color .2s,transform .2s}.site-footer--full .footer-column a:hover,.site-footer--full .footer-column a:focus-visible{color:var(--orange);transform:translateX(5px)}.site-footer--full .footer-social a,.site-footer--full .footer-column button[data-contact-email]{color:var(--orange)}.site-footer--full .footer-column button[data-contact-email]{padding:0;border:0;background:none;font:inherit;font-size:10px;letter-spacing:.06em;line-height:1.3;text-align:left;cursor:pointer;transition:color .2s,transform .2s}.site-footer--full .footer-column button[data-contact-email]:hover,.site-footer--full .footer-column button[data-contact-email]:focus-visible{color:var(--cyan);transform:translateX(5px)}.site-footer--full .footer-disclaimer{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,.35fr) minmax(0,1.65fr);gap:22px;align-items:start;padding:19px 22px;border:1px solid rgba(99,215,255,.18);border-left:2px solid rgba(247,147,26,.75);background:linear-gradient(90deg,rgba(247,147,26,.065),rgba(99,215,255,.022));color:#a8b7b8}.site-footer--full .footer-disclaimer b{color:var(--orange);font-size:9px;line-height:1.6;letter-spacing:.14em}.site-footer--full .footer-disclaimer p{max-width:980px;margin:0;font-size:10px;line-height:1.7;letter-spacing:.025em}.site-footer--full .footer-base{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;margin-top:0;padding-top:20px;border-top:1px solid rgba(99,215,255,.18);color:var(--muted);font-size:8px;letter-spacing:.12em}
@media(max-width:1100px){.site-footer--full{grid-template-columns:minmax(190px,1.2fr) repeat(2,minmax(135px,.8fr));gap:32px 40px}.site-footer--full .footer-social{grid-column:2/-1}}
@media(max-width:650px){.site-footer--full{grid-template-columns:1fr;padding:48px 8vw 24px;gap:28px}.site-footer--full .footer-social{grid-column:auto}.site-footer--full .footer-disclaimer{grid-column:auto;grid-template-columns:1fr;gap:8px;padding:16px}.site-footer--full .footer-base{grid-column:auto;flex-direction:column;gap:10px}}

/* Universal field-file modal for card dossiers. */
body.has-blitz-modal{overflow:hidden}.is-modal-card{cursor:pointer}.is-modal-card:focus-visible{outline:1px solid var(--orange);outline-offset:5px}.blitz-modal{width:min(1080px,calc(100vw - 48px));max-width:none;max-height:min(760px,calc(100svh - 48px));margin:auto;padding:0;overflow:visible;border:1px solid rgba(99,215,255,.62);background:#030808;color:var(--white);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));box-shadow:0 32px 100px rgba(0,0,0,.76),0 0 80px rgba(99,215,255,.13)}.blitz-modal::backdrop{background:rgba(1,4,5,.82);backdrop-filter:blur(7px)}.blitz-modal-shell{position:relative;display:grid;grid-template-columns:minmax(330px,.92fr) minmax(380px,1.08fr);min-height:min(650px,calc(100svh - 48px));overflow:hidden;background:radial-gradient(circle at 80% 12%,rgba(99,215,255,.08),transparent 32%),linear-gradient(145deg,#071113,#020606 67%);animation:blitz-modal-enter .42s var(--ease) both}.blitz-modal-shell:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(99,215,255,.028) 6px 7px),linear-gradient(90deg,rgba(247,147,26,.12),transparent 21%,transparent 78%,rgba(99,215,255,.08))}.blitz-modal-media{position:relative;min-height:100%;overflow:hidden;background:#040809}.blitz-modal-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 52%,rgba(2,7,8,.94)),linear-gradient(0deg,rgba(2,7,8,.83),transparent 44%)}.blitz-modal-media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) contrast(1.06);animation:blitz-modal-image 9s ease-in-out infinite alternate}.blitz-modal-scan{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 43%,rgba(99,215,255,.55) 50%,transparent 57%);mix-blend-mode:screen;opacity:.25;animation:blitz-modal-scan 4.6s ease-in-out infinite}.blitz-modal-image-label{position:absolute;z-index:3;left:25px;bottom:25px;padding:8px 10px;border:1px solid rgba(99,215,255,.5);background:rgba(2,8,9,.76);color:var(--cyan);font-size:8px;letter-spacing:.13em}.blitz-modal-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(56px,7vw,92px) clamp(34px,5vw,72px) 34px}.blitz-modal-copy h2{max-width:660px;margin:14px 0 18px;font-size:clamp(34px,4.8vw,70px);line-height:.88;letter-spacing:-.065em}.blitz-modal-copy h2::first-line{color:var(--white)}.blitz-modal-lead{max-width:650px;margin:0;color:var(--white);font-size:clamp(16px,1.45vw,21px);font-weight:600;line-height:1.4}.blitz-modal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:28px 0 20px;border-top:1px solid rgba(99,215,255,.23);border-left:1px solid rgba(99,215,255,.12)}.blitz-modal-facts div{min-height:68px;padding:13px 14px;border-right:1px solid rgba(99,215,255,.12);border-bottom:1px solid rgba(99,215,255,.18);background:rgba(3,12,13,.6)}.blitz-modal-facts dt{color:var(--cyan);font-size:7px;letter-spacing:.12em}.blitz-modal-facts dd{margin:8px 0 0;color:var(--orange);font-size:9px;line-height:1.4;letter-spacing:.055em}.blitz-modal-readout{max-width:680px;margin-top:auto;padding:15px 16px;border-left:2px solid var(--orange);background:linear-gradient(90deg,rgba(247,147,26,.09),transparent)}.blitz-modal-readout>span{color:var(--orange);font-size:8px;letter-spacing:.14em}.blitz-modal-readout p{margin:9px 0 0;color:#c5d4d5;font-size:11px;line-height:1.65}.blitz-modal-footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:18px;margin-top:22px;color:var(--muted);font-size:8px;letter-spacing:.11em}.blitz-modal-footer button,.blitz-modal-close{border:0;background:none;color:var(--cyan);font:inherit;letter-spacing:.12em;cursor:pointer}.blitz-modal-footer button{padding:8px 0;border-bottom:1px solid var(--cyan)}.blitz-modal-footer button b{margin-left:12px;color:var(--orange);font-size:12px}.blitz-modal-close{position:absolute;z-index:5;right:18px;top:16px;display:flex;align-items:center;gap:12px;padding:8px 4px;color:var(--white);font-size:8px}.blitz-modal-close b{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(99,215,255,.5);color:var(--cyan);font-size:18px;font-weight:400}.blitz-modal-close:hover,.blitz-modal-close:focus-visible,.blitz-modal-footer button:hover,.blitz-modal-footer button:focus-visible{color:var(--orange)}@keyframes blitz-modal-enter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}@keyframes blitz-modal-image{from{transform:scale(1.025)}to{transform:scale(1.09)}}@keyframes blitz-modal-scan{0%,100%{transform:translateX(-82%);opacity:0}25%,76%{opacity:.26}50%{transform:translateX(82%);opacity:.4}}@media(max-width:760px){.blitz-modal{width:min(94vw,620px);max-height:calc(100svh - 28px);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}.blitz-modal-shell{grid-template-columns:1fr;min-height:0;max-height:calc(100svh - 28px);overflow:auto}.blitz-modal-media{min-height:240px;height:31svh}.blitz-modal-media:after{background:linear-gradient(0deg,rgba(2,7,8,.94),transparent 62%)}.blitz-modal-copy{padding:34px 24px 24px}.blitz-modal-copy h2{font-size:clamp(34px,10vw,58px)}.blitz-modal-facts{grid-template-columns:1fr}.blitz-modal-readout{margin-top:4px}.blitz-modal-close{right:13px;top:10px;background:rgba(2,7,8,.55)}}

/* The dialog needs a painted frame: native borders are clipped away at the diagonal corners. */
.blitz-modal{--modal-cut:28px;position:fixed;top:50%;right:auto;bottom:auto;left:50%;margin:0;isolation:isolate;border:0;transform:translate(-50%,-50%)}.blitz-modal::before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(rgba(99,215,255,.85),rgba(99,215,255,.85)) left top/calc(100% - var(--modal-cut)) 1px no-repeat,linear-gradient(rgba(99,215,255,.85),rgba(99,215,255,.85)) right bottom/calc(100% - var(--modal-cut)) 1px no-repeat,linear-gradient(rgba(99,215,255,.85),rgba(99,215,255,.85)) left top/1px calc(100% - var(--modal-cut)) no-repeat,linear-gradient(rgba(99,215,255,.85),rgba(99,215,255,.85)) right bottom/1px calc(100% - var(--modal-cut)) no-repeat,linear-gradient(45deg,transparent calc(50% - .7px),rgba(99,215,255,.85) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) right top/var(--modal-cut) var(--modal-cut) no-repeat,linear-gradient(45deg,transparent calc(50% - .7px),rgba(99,215,255,.85) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) left bottom/var(--modal-cut) var(--modal-cut) no-repeat}.blitz-modal-shell{position:relative;z-index:1}@media(max-width:760px){.blitz-modal{--modal-cut:20px}}

/* The homepage carousel and jump strip expose all twenty authored level files. */
.level-index{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:26px;align-items:center}.level-index-label{flex:0 0 auto;color:var(--orange);font-size:9px;letter-spacing:.13em}.level-index-numbers{display:grid;grid-template-columns:repeat(21,minmax(0,1fr));gap:7px;width:100%}.level-index-numbers i{display:grid;place-items:center;min-height:24px;color:var(--muted);font-size:8px;font-style:normal;border-bottom:1px solid rgba(99,215,255,.2)}.level-index-numbers i.is-live{color:var(--orange);border-color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange)}.level-index-numbers i.is-finale{color:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 -2px 0 var(--cyan)}
@media (max-width:900px){.level-index{display:block}.level-index-label{display:block;margin-bottom:12px}.level-index-numbers{gap:4px}.level-index-numbers i{font-size:7px}}

/* Keep the hero crisp: the scene is current runtime art, so overlays must never turn it into noise. */
body:before{opacity:.035}
.hero-media{inset:0;transform:translate3d(calc(var(--mx)*-.14),calc(var(--hero-y)*-.03),0) scale(1.012)}
.hero-media img{filter:saturate(.96) contrast(1.04);image-rendering:auto;animation:ken-burns-sharp 24s ease-in-out infinite alternate}

/* The opening gallery stays pinned to the viewport while the field manual scrolls over it. */
.hero-media{position:fixed;z-index:0;inset:0}
@keyframes ken-burns-sharp{0%{transform:scale(1.002) translate3d(0,0,0)}100%{transform:scale(1.045) translate3d(-.6%,-.4%,0)}}

/* Navigation state and calm, game-asset hero gallery. */
.site-nav a{position:relative;padding:12px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--orange);box-shadow:0 0 12px var(--orange);transition:right .25s var(--ease)}.site-nav a.is-current{color:var(--orange);text-shadow:0 0 12px rgba(247,147,26,.5)}.site-nav a.is-current:after{right:0}.site-nav a.is-current:before{content:"//";position:absolute;left:-17px;top:12px;color:var(--cyan);font-size:8px;opacity:.8}
.hero-media{overflow:hidden}.hero-slide{position:absolute;z-index:1;inset:0;margin:0;opacity:0;visibility:visible;pointer-events:none;will-change:opacity}.hero-slide.is-active{z-index:2;opacity:1;pointer-events:auto}.hero-slide.is-exiting{z-index:3;opacity:0;transition:opacity 3.2s linear}.hero-slide img{display:block}
.hero-composite{position:absolute;inset:0;overflow:hidden;background:#070d16}.hero-composite-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.08) brightness(.76)}.hero-composite:before{content:"";position:absolute;z-index:2;inset:0;opacity:.55;background:linear-gradient(118deg,transparent 0 38%,rgba(99,215,255,.13) 38.2%,transparent 38.7% 56%,rgba(247,147,26,.15) 56.2%,transparent 56.8%),repeating-linear-gradient(168deg,transparent 0 88px,rgba(99,215,255,.1) 89px,transparent 90px)}.hero-composite:after{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(180deg,rgba(2,6,12,.08),rgba(2,6,12,.18) 45%,rgba(2,6,12,.78)),linear-gradient(90deg,rgba(2,6,12,.12),transparent 44%,rgba(2,6,12,.25))}.hero-composite-portrait{position:absolute;z-index:2;left:-3%;bottom:-10%;width:min(35vw,560px);height:88%;overflow:hidden;opacity:.94;mask-image:linear-gradient(90deg,#000 0 54%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0 54%,transparent 100%)}.hero-composite-portrait img{display:block;width:500%;height:100%;max-width:none;object-fit:cover;transform:translateX(-40%);filter:saturate(.82) contrast(1.08) brightness(.9)}.hero-composite-boss{position:absolute;z-index:3;left:57%;top:5%;width:min(31vw,500px);height:auto;transform:translateX(-50%);filter:drop-shadow(0 0 28px rgba(255,151,26,.32))}.hero-composite-ship{position:absolute;z-index:3;bottom:6%;width:min(13vw,196px);height:auto;filter:drop-shadow(0 0 18px rgba(99,215,255,.42))}.hero-composite-ship--one{left:39%;transform:rotate(-3deg)}.hero-composite-ship--two{left:57%;transform:rotate(3deg)}.hero-emotion-note{position:absolute;z-index:5;right:6vw;bottom:17%;display:flex;flex-direction:column;align-items:flex-end;gap:5px;padding:12px 14px;border-right:2px solid var(--orange);background:rgba(3,8,13,.55);text-align:right}.hero-emotion-note b{color:var(--white);font-size:clamp(12px,1.3vw,18px);letter-spacing:.12em}.hero-emotion-note small{color:var(--cyan);font-size:8px;letter-spacing:.1em}
.hero-slider-controls{display:flex;align-items:center;gap:9px;margin-left:22px}.hero-slider-controls button{display:grid;place-items:center;width:28px;height:24px;padding:0;border:1px solid rgba(99,215,255,.35);background:rgba(3,7,8,.5);color:var(--cyan);font-size:13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.hero-slider-controls button:hover,.hero-slider-controls button:focus-visible{background:var(--orange);border-color:var(--orange);color:#071012}.hero-slider-count{color:var(--muted);font-size:9px;letter-spacing:.1em}.hero-slider-count b{color:var(--orange)}
@media(max-width:900px){.site-nav a.is-current:before{left:0;top:15px}.site-nav a.is-current{padding-left:28px}.hero-slider-controls{margin-left:auto}}
@media(max-width:900px){.hero-composite-boss{top:9%;left:60%;width:58vw}.hero-composite-portrait{left:-12%;bottom:-3%;width:63vw;height:64%;opacity:.86}.hero-composite-ship{width:25vw;bottom:12%}.hero-composite-ship--one{left:30%}.hero-composite-ship--two{left:54%}.hero-emotion-note{right:7vw;bottom:28%;transform:scale(.82);transform-origin:right bottom}}

/* Preload gate: the first frame only enters once the complete hero gallery is ready. */
.hero-loader{position:absolute;z-index:12;inset:0;display:grid;place-items:center;background:rgba(2,6,7,.96);transition:opacity .8s var(--ease),visibility 0s linear .8s;overflow:hidden}
.hero-loader:before{content:"";position:absolute;inset:0;opacity:.28;background:linear-gradient(rgba(99,215,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(99,215,255,.22) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 78%)}
.hero-loader:after{content:"";position:absolute;left:-15%;right:-15%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--orange),var(--cyan),transparent);box-shadow:0 0 20px var(--orange),0 0 30px var(--cyan);animation:loader-scan 2.4s linear infinite}
.hero-loader-panel{position:relative;z-index:1;width:min(360px,72vw);padding:24px 26px;border:1px solid rgba(99,215,255,.42);border-left:2px solid var(--orange);background:rgba(3,10,12,.76);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);box-shadow:0 0 55px rgba(99,215,255,.1),inset 0 0 28px rgba(247,147,26,.05)}
.hero-loader-panel:before{content:"//";position:absolute;right:18px;top:15px;color:var(--orange);font-size:10px;letter-spacing:.1em}
.hero-loader-kicker{display:block;color:var(--cyan);font-size:9px;letter-spacing:.16em;margin-bottom:14px}.hero-loader-panel strong{display:block;color:var(--white);font-size:clamp(15px,2vw,21px);letter-spacing:.1em}.hero-loader-bar{height:3px;margin:22px 0 12px;background:rgba(99,215,255,.14);overflow:hidden}.hero-loader-bar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange),var(--cyan));box-shadow:0 0 14px var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.hero-loader-panel small{color:var(--muted);font-size:8px;letter-spacing:.13em}.hero-loader-panel small b{color:var(--orange)}.hero-loader.is-complete{opacity:0;visibility:hidden}
.hero--ready .hero-media{filter:none}
@keyframes loader-scan{0%{transform:translateX(-38%);opacity:0}18%,82%{opacity:1}100%{transform:translateX(38%);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero-loader:after{animation:none}.hero-loader{transition:none}.hero-loader.is-complete{opacity:0;visibility:hidden}}

/* Hero chrome: glass while the scene is visible, solid black once the manual begins. */
.topbar{background:rgba(3,7,8,.18);border-bottom-color:rgba(99,215,255,.22);backdrop-filter:blur(16px) saturate(1.12);-webkit-backdrop-filter:blur(16px) saturate(1.12)}
.topbar.is-hero{background:rgba(3,7,8,.18);box-shadow:0 14px 36px rgba(0,0,0,.08)}
.topbar.is-scrolled{background:rgba(3,7,8,.97);border-bottom-color:var(--line);box-shadow:0 14px 32px rgba(0,0,0,.36)}

/* A deliberate transmission card keeps the left signal readable without competing with the hero. */
.hero-signal--left{top:19%;left:clamp(28px,3.4vw,58px);width:172px;gap:10px;padding:14px 16px;border-left:2px solid var(--orange);background:linear-gradient(135deg,rgba(3,8,9,.62),rgba(3,8,9,.08));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);text-shadow:0 2px 14px rgba(0,0,0,.85)}
.hero-signal--right{top:19%}
.hero-signal--left span{display:block;max-width:140px}
.hero-signal--left span:first-child{color:var(--orange);font-size:9px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.hero-signal--left span:last-child{color:var(--white);font-size:9px;line-height:1.5;letter-spacing:.1em}
.hero-signal--left i{width:64px;margin:1px 0 2px}

/* Restart the camera move whenever a new gallery frame becomes active. */
.hero-slide img{will-change:transform;transform-origin:50% 50%;animation:hero-ken-burns 24s ease-in-out both paused}
.hero-slide.is-active img{animation-play-state:running}
.hero-slide.is-reset img{animation:none;transform:scale(1.012)}
@keyframes hero-ken-burns{0%{transform:scale(1.012) translate3d(0,0,0)}100%{transform:scale(1.105) translate3d(-1.05%,-.6%,0)}}

@media(max-width:900px){
  .hero-signal--left{left:8vw;top:24%;width:156px;padding:11px 12px}
  .hero-signal--left span:first-child,.hero-signal--left span:last-child{font-size:8px}
}

/* Signature motion layer: cinematic depth without turning the manual into a theme park. */
.hero:before{content:"";position:absolute;z-index:1;inset:-18%;pointer-events:none;background:radial-gradient(circle at 64% 42%,rgba(99,215,255,.12),transparent 21%),radial-gradient(circle at 30% 70%,rgba(247,147,26,.11),transparent 25%);mix-blend-mode:screen;opacity:.7;animation:hero-atmosphere 13s ease-in-out infinite alternate}
.hero:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.25;background:linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.08) 49%,transparent 57%);transform:translateX(-35%);animation:hero-sheen 12s ease-in-out infinite}
.hero-content{animation:hero-copy-in 1.1s var(--ease) both}
.hero-signal--left,.hero-signal--right{animation:signal-in 1.2s .18s var(--ease) both}
.hero-bottom{animation:signal-in 1.2s .34s var(--ease) both}
.hero-slider-controls button{position:relative;overflow:hidden}
.hero-slider-controls button:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);transform:translateX(-120%);transition:transform .45s var(--ease)}
.hero-slider-controls button:hover:after,.hero-slider-controls button:focus-visible:after{transform:translateX(120%)}

/* Scroll reveals and panel depth across the rest of the field manual. */
.snap-section:not(.hero){isolation:isolate}
.snap-section:not(.hero):before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 12% 35%,rgba(99,215,255,.12),transparent 22%),radial-gradient(circle at 88% 70%,rgba(247,147,26,.1),transparent 24%);transition:opacity 1.2s ease}
.snap-section:not(.hero).is-active:before{opacity:1}
.section-heading h2{transition:text-shadow .8s ease,transform .8s var(--ease)}
.section-heading.reveal.is-visible h2{transform:translateX(0);text-shadow:0 0 32px rgba(99,215,255,.08)}
.story-copy,.boss-copy,.arcade-copy,.support-copy{transition:transform 1s var(--ease)}
.reveal.is-visible.story-copy,.reveal.is-visible.boss-copy,.reveal.is-visible.arcade-copy,.reveal.is-visible.support-copy{transform:translate3d(0,0,0)}
.campaign-card,.v2-panel,.file-card,.roster-card,.big-panel{will-change:transform;transition:transform .5s var(--ease),border-color .35s,box-shadow .35s,background .35s}
.campaign-card:hover,.campaign-card:focus-within,.file-card:hover,.file-card:focus-within,.roster-card:hover,.roster-card:focus-within,.big-panel:hover{transform:translateY(-8px) perspective(800px) rotateX(1deg)}
.v2-panel:hover{border-color:rgba(247,147,26,.62);box-shadow:0 18px 45px rgba(0,0,0,.28),0 0 30px rgba(99,215,255,.08)}
.campaign-card:before,.file-card:before,.roster-card:before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.12) 49%,transparent 63%);transform:translateX(-100%);transition:opacity .2s}
.campaign-card:hover:before,.campaign-card:focus-within:before,.file-card:hover:before,.file-card:focus-within:before,.roster-card:hover:before,.roster-card:focus-within:before{opacity:1;animation:panel-sheen .9s var(--ease)}
.stats-rail{box-shadow:0 -12px 40px rgba(0,0,0,.18),0 12px 36px rgba(0,0,0,.3)}
.stat strong{animation:stat-pulse 3.8s ease-in-out infinite}
.stat:nth-of-type(3) strong{animation-delay:.45s}.stat:nth-of-type(5) strong{animation-delay:.9s}

@keyframes hero-atmosphere{0%{transform:translate3d(-2%,1%,0) scale(.98);opacity:.42}100%{transform:translate3d(2%,-1%,0) scale(1.04);opacity:.78}}
@keyframes hero-sheen{0%,34%{transform:translateX(-38%);opacity:0}48%{opacity:.55}66%,100%{transform:translateX(38%);opacity:0}}
@keyframes hero-copy-in{0%{opacity:0;transform:translate3d(-22px,18px,0)}100%{opacity:1;transform:none}}
@keyframes signal-in{0%{opacity:0;transform:translate3d(0,12px,0)}100%{opacity:1;transform:none}}
@keyframes panel-sheen{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes stat-pulse{0%,100%{text-shadow:0 0 0 rgba(247,147,26,0)}50%{text-shadow:0 0 18px rgba(247,147,26,.28)}}

@media (prefers-reduced-motion:reduce){
  .hero:before,.hero:after,.hero-content,.hero-signal--left,.hero-signal--right,.hero-bottom,.stat strong{animation:none}
}

/* Solid orange primary; the other actions draw six independent strokes over the scene. */
.action{border:0!important;background:transparent!important;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));isolation:isolate;box-shadow:none}
.action:before{content:"";display:block;position:absolute;z-index:0;inset:0;pointer-events:none;clip-path:none;background:
  linear-gradient(var(--action-border),var(--action-border)) left top / calc(100% - 13px) 1px no-repeat,
  linear-gradient(var(--action-border),var(--action-border)) right bottom / calc(100% - 13px) 1px no-repeat,
  linear-gradient(var(--action-border),var(--action-border)) left top / 1px calc(100% - 13px) no-repeat,
  linear-gradient(var(--action-border),var(--action-border)) right bottom / 1px calc(100% - 13px) no-repeat,
  linear-gradient(45deg,transparent calc(50% - .7px),var(--action-border) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) right top / 13px 13px no-repeat,
  linear-gradient(45deg,transparent calc(50% - .7px),var(--action-border) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) left bottom / 13px 13px no-repeat}
.action:after{content:none!important}
.action > span,.action > b{position:relative;z-index:1}
.action--primary{background:var(--orange)!important;box-shadow:0 0 24px rgba(247,147,26,.16)}
.action--primary:before{display:none}
.action--cyan{--action-border:var(--cyan)}
.action--ghost{--action-border:var(--white)}
.action--cyan:hover,.action--cyan:focus-visible{background:transparent!important;box-shadow:0 0 26px rgba(99,215,255,.2)}
.action--ghost:hover,.action--ghost:focus-visible{background:transparent!important;color:var(--white);box-shadow:0 0 24px rgba(247,147,26,.14)}

/* Level cards use the same complete diagonal outline as the corrected hero actions. */
.campaign-card{position:relative;--card-line:rgba(99,215,255,.34);border:0;min-height:390px;overflow:hidden}
.campaign-card.is-active,.campaign-card:hover,.campaign-card:focus-within{--card-line:var(--orange)}
.campaign-card:after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:
  linear-gradient(var(--card-line),var(--card-line)) left top / calc(100% - 18px) 1px no-repeat,
  linear-gradient(var(--card-line),var(--card-line)) right bottom / calc(100% - 18px) 1px no-repeat,
  linear-gradient(var(--card-line),var(--card-line)) left top / 1px calc(100% - 18px) no-repeat,
  linear-gradient(var(--card-line),var(--card-line)) right bottom / 1px calc(100% - 18px) no-repeat,
  linear-gradient(45deg,transparent calc(50% - .7px),var(--card-line) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) right top / 18px 18px no-repeat,
  linear-gradient(45deg,transparent calc(50% - .7px),var(--card-line) calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)) left bottom / 18px 18px no-repeat}
.campaign-card>a{display:flex;flex-direction:column;height:100%;min-height:366px}
.campaign-image{height:clamp(190px,24vh,255px);flex:0 0 auto}
.campaign-card .campaign-image{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%)}
.campaign-card h3{min-height:2.25em}
.campaign-card p{flex:1}
.campaign-card-link{display:inline-flex;align-self:flex-start;margin:9px 5px 6px;padding-bottom:5px;border-bottom:1px solid var(--orange);color:var(--orange);font-size:8px;letter-spacing:.12em}
/* Reserve room inside both carousel viewports for the active/hover lift. */
.campaign-track{padding-top:14px}
.level-index-numbers button{display:grid;place-items:center;min-width:0;min-height:28px;padding:0;border:0;border-bottom:1px solid rgba(99,215,255,.25);background:transparent;color:var(--muted);font-size:8px;letter-spacing:.05em;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}
.level-index-numbers button:hover,.level-index-numbers button:focus-visible,.level-index-numbers button.is-live{color:var(--orange);border-color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange)}
.level-index-numbers button.is-finale:not(.is-live){color:var(--cyan);border-color:var(--cyan)}
.campaign-card.is-secret{--card-line:rgba(247,147,26,.72);background:linear-gradient(180deg,rgba(20,16,8,.94),rgba(3,8,9,.98))}
.campaign-card.is-secret .campaign-card-meta span,.campaign-card.is-secret h3{color:var(--orange)}
.level-index-numbers button.is-secret{color:var(--orange);border-color:rgba(247,147,26,.55);box-shadow:inset 0 -1px 0 rgba(247,147,26,.35)}
@media(max-width:900px){.campaign-card{min-height:390px}.level-index-numbers{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.level-index-numbers button{min-height:31px;font-size:8px}}

/* Mobile menu: three horizontal strokes stacked vertically, with a generous tap target. */
@media(max-width:900px){
  .menu-toggle{grid-template-columns:16px auto;grid-template-rows:repeat(3,3px);column-gap:9px;row-gap:3px;align-content:center;min-height:44px;padding:8px 0 8px 8px}
  .menu-toggle span{grid-column:1;grid-row:auto;width:16px;height:2px;border-radius:1px}
  .menu-toggle span:nth-child(1){grid-row:1}
  .menu-toggle span:nth-child(2){grid-row:2}
  .menu-toggle span:nth-child(3){grid-row:3}
  .menu-toggle b{grid-column:2;grid-row:1 / 4;align-self:center}
}

/* The two real cabinets are a floating campaign product visual, not a drawn console. */
.arcade-panel{background:radial-gradient(circle at 78% 55%,rgba(247,147,26,.10),transparent 36%),radial-gradient(circle at 25% 20%,rgba(99,215,255,.045),transparent 30%),linear-gradient(120deg,#050807,#08151a)}
.arcade-panel .section-heading h2{font-size:clamp(42px,5.5vw,78px)}
.arcade-grid{grid-template-columns:minmax(290px,.77fr) minmax(0,1.43fr);gap:clamp(26px,4vw,68px);margin-top:28px}
.arcade-copy{max-width:470px}
.arcade-copy .lead{font-size:clamp(20px,2.15vw,30px)}
.arcade-copy>p:not(.lead){font-size:clamp(14px,1.18vw,17px)}
.arcade-quick-spec{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 29px}
.arcade-quick-spec span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(99,215,255,.27);background:rgba(3,9,10,.42);color:var(--cyan);font-size:9px;letter-spacing:.1em;white-space:nowrap}
.arcade-quick-spec b{color:var(--orange);font-size:15px}
.arcade-duo-stage{position:relative;display:block;min-width:0;margin-right:-3.5vw;text-decoration:none;isolation:isolate}
.arcade-duo-stage img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 22px 24px rgba(0,0,0,.48));animation:arcade-float 8s ease-in-out infinite;transform-origin:center 64%}
.arcade-duo-halo{position:absolute;z-index:0;inset:20% 2% 10%;background:radial-gradient(ellipse at 58% 60%,rgba(247,147,26,.21),transparent 64%);filter:blur(38px);opacity:.55;pointer-events:none;transition:opacity .35s}
.arcade-duo-stage:hover .arcade-duo-halo,.arcade-duo-stage:focus-visible .arcade-duo-halo{opacity:1}
.arcade-duo-caption{position:absolute;z-index:2;right:3%;bottom:1%;display:inline-flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--orange);color:var(--cyan);font-size:9px;letter-spacing:.13em;text-shadow:0 2px 10px #000}
.arcade-duo-caption b{color:var(--orange);font-size:15px}
.arcade-duo-stage:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}
@keyframes arcade-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:900px){.arcade-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.arcade-duo-stage{order:1;margin-right:0}.arcade-copy{order:2;max-width:650px}.arcade-panel .section-heading h2{font-size:clamp(38px,8vw,70px)}}
@media(max-width:650px){.arcade-grid{gap:12px}.arcade-duo-stage{margin-inline:-11vw}.arcade-duo-caption{position:relative;right:auto;bottom:auto;display:flex;width:max-content;margin:-6px 10vw 0 auto;font-size:8px}.arcade-quick-spec{margin:20px 0 24px}.arcade-quick-spec span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.arcade-duo-stage img{animation:none}}

/* The next release is a playable demo, presented as a floating game encounter. */
.demo-panel{background:radial-gradient(ellipse at 75% 55%,rgba(247,147,26,.11),transparent 34%),radial-gradient(ellipse at 22% 15%,rgba(99,215,255,.07),transparent 35%),#040808}
.demo-panel:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;background:linear-gradient(rgba(99,215,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(99,215,255,.28) 1px,transparent 1px);background-size:94px 94px;mask-image:linear-gradient(90deg,transparent,black 80%)}
.demo-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(30px,5vw,76px);align-items:center}
.demo-copy{max-width:620px}
.demo-copy h2{margin:16px 0 27px;font-size:clamp(44px,5.6vw,80px);line-height:.95;letter-spacing:-.045em}
.demo-copy h2 em{color:var(--orange);font-style:normal}
.demo-copy p{max-width:570px;color:#bfcecf;font:500 clamp(15px,1.25vw,18px)/1.65 Orbitron,monospace}
.demo-copy .lead{color:var(--white);font-size:clamp(22px,2.15vw,29px);font-weight:700;line-height:1.3}
.demo-status{display:inline-flex;align-items:center;gap:11px;margin:14px 0 34px;padding:12px 15px;border:1px solid rgba(99,215,255,.3);color:var(--cyan);font-size:9px;letter-spacing:.13em}
.demo-status i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange)}
.demo-art{position:relative;justify-self:stretch;width:100%;max-width:720px;margin:0;isolation:isolate}
.demo-art:before{content:"";position:absolute;z-index:-1;inset:12% 3% 13%;background:radial-gradient(ellipse at 60% 52%,rgba(247,147,26,.25),transparent 64%);filter:blur(35px);pointer-events:none}
.demo-scene{position:relative;overflow:hidden;border:1px solid rgba(99,215,255,.42);background:#050909;box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 42px rgba(247,147,26,.10)}
.demo-scene:before{content:"";position:absolute;z-index:2;left:-1px;top:-1px;width:110px;height:2px;background:var(--orange);box-shadow:0 0 14px rgba(247,147,26,.6)}
.demo-scene:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(1,5,6,.56));pointer-events:none}
.demo-scene img{display:block;width:100%;height:auto;transition:transform 1.1s var(--ease)}
.demo-scene:hover img{transform:scale(1.035)}
.demo-scene-tag{position:absolute;z-index:3;left:18px;bottom:16px;padding:9px 12px;border-left:2px solid var(--orange);background:rgba(2,7,8,.78);color:var(--cyan);font-size:9px;letter-spacing:.12em}
.demo-art figcaption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 2px 0;border-top:1px solid rgba(99,215,255,.24);font-size:9px;letter-spacing:.09em}
.demo-art figcaption span{color:var(--cyan)}
.demo-art figcaption b{color:var(--orange);font-weight:500;text-align:right}
@media(max-width:900px){.demo-layout{grid-template-columns:1fr;gap:24px}.demo-copy{max-width:650px}.demo-art{width:min(100%,540px)}.demo-status{margin-bottom:24px}}
@media(max-width:650px){.demo-copy h2{font-size:clamp(42px,12vw,64px)}.demo-art{margin-inline:-5vw;width:calc(100% + 10vw)}.demo-art figcaption{margin-inline:5vw;flex-direction:column;align-items:flex-start;gap:6px}.demo-art figcaption b{text-align:left}.demo-scene-tag{left:12px;bottom:12px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.demo-scene img{transition:none}.demo-scene:hover img{transform:none}}

/* The hero assembles as a sequence of readable panels after the gallery is ready. */
.hero .hero-content,.hero .hero-signal--left,.hero .hero-signal--right,.hero .hero-bottom{animation:none}
.hero .hero-content>.eyebrow,.hero .hero-content>.hero-logo,.hero .hero-content>.hero-tagline,.hero .hero-actions>.action{opacity:0;transform:translate3d(0,14px,0);transition:opacity .7s ease,transform .9s var(--ease)}
.hero--ready .hero-content>.eyebrow,.hero--ready .hero-content>.hero-logo,.hero--ready .hero-content>.hero-tagline,.hero--ready .hero-actions>.action{opacity:1;transform:none}
.hero--ready .hero-content>.eyebrow{transition-delay:.52s}
.hero--ready .hero-content>.hero-logo{transition-delay:.85s}
.hero--ready .hero-content>.hero-tagline{transition-delay:1.16s}
.hero--ready .hero-actions>.action:nth-child(1){transition-delay:1.5s}
.hero--ready .hero-actions>.action:nth-child(2){transition-delay:1.66s}
.hero--ready .hero-actions>.action:nth-child(3){transition-delay:1.82s}
.hero .hero-signal--left{opacity:0;transform:translate3d(-42px,0,0);transition:opacity .85s ease .7s,transform 1s var(--ease) .7s}
.hero--ready .hero-signal--left{opacity:1;transform:none}
.hero .hero-signal--right{width:224px;gap:0;opacity:0;transform:translate3d(34px,0,0);transition:opacity .65s ease 1.02s,transform .9s var(--ease) 1.02s}
.hero--ready .hero-signal--right{opacity:1;transform:none}
.hero--ready .hero-signal--right.has-entered{transition:opacity .5s ease,transform .9s var(--ease)}
.hero--ready .hero-signal--right.is-switching{opacity:0;transition:opacity .35s ease}
.hero-signal--right [data-hero-kicker],.hero-signal--right [data-hero-title],.hero-signal--right [data-hero-detail]{display:block;align-self:flex-end;width:max-content;max-width:none;white-space:nowrap;transform:scaleX(var(--hero-inline-scale,1));transform-origin:right center}
.hero-signal--right [data-hero-kicker]{color:var(--orange);height:15px;line-height:15px}
.hero-signal--right [data-hero-title]{color:var(--white);height:15px;line-height:15px;letter-spacing:.06em}
.hero-signal--right [data-hero-detail]{color:var(--cyan);height:13px;line-height:13px;margin-top:0}
.hero-type-word{display:inline-block;white-space:nowrap}
.hero-type-letter{position:relative;visibility:hidden}
.hero-type-letter.is-visible{visibility:visible}
.hero-signal--right .is-typing:after,.hero-signal--right .has-cursor:after{content:"";position:absolute;left:100%;bottom:.05em;width:1px;height:.9em;margin-left:.15em;background:var(--cyan);box-shadow:0 0 7px rgba(99,215,255,.52)}
.hero-signal--right .has-cursor:after{animation:field-cursor 1.1s steps(1,end) infinite}
.hero .hero-bottom{opacity:0;transform:translate3d(0,12px,0);transition:opacity .75s ease 2.12s,transform .85s var(--ease) 2.12s}
.hero--ready .hero-bottom{opacity:1;transform:none}

/* A single trace travels the existing cut-corner outlines; it never changes panel geometry. */
.panel-trace{position:absolute;z-index:6;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:var(--orange);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;filter:drop-shadow(0 0 5px rgba(247,147,26,.65));transition:opacity .5s ease}
.panel-trace path{vector-effect:non-scaling-stroke;stroke-dasharray:3 97;animation:field-trace 12s linear infinite}
.campaign-card.is-active .panel-trace,.campaign-card:hover .panel-trace,.campaign-card:focus-within .panel-trace{opacity:.8}
.boss-visual .panel-trace{opacity:.5}
.section-heading .eyebrow:after{content:"";display:block;width:0;height:1px;margin-top:8px;background:var(--orange);box-shadow:0 0 9px rgba(247,147,26,.45);transition:width 1.2s .15s var(--ease)}
.section-heading.is-visible .eyebrow:after{width:42px}
.demo-scene:before{animation:edge-breathe 6s ease-in-out infinite}
@keyframes field-cursor{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes field-trace{to{stroke-dashoffset:-100}}
@keyframes edge-breathe{0%,100%{opacity:.56;box-shadow:0 0 9px rgba(247,147,26,.25)}50%{opacity:1;box-shadow:0 0 16px rgba(247,147,26,.65)}}
@media(prefers-reduced-motion:reduce){.hero-signal--right .has-cursor:after,.panel-trace path,.demo-scene:before{animation:none}.hero-signal--right .has-cursor:after{display:none}.panel-trace{opacity:0!important}}

/* Level 17's fallen skyline gives the transmission depth while the copy stays legible. */
.story-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.story-atmosphere img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 62%;opacity:.94;filter:saturate(.8) contrast(1.06) brightness(.84);transform:scale(1.025);transition:transform 18s ease-out}
.story-panel.is-active .story-atmosphere img{transform:scale(1.085) translate3d(0,-.8%,0)}
.story-atmosphere:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,9,.71),rgba(3,8,9,.3) 36%,rgba(3,8,9,.28) 59%,rgba(3,8,9,.67)),linear-gradient(180deg,#050908,transparent 24%,transparent 78%,#050908)}
.story-panel .section-frame{z-index:2}
@media(max-width:900px){.story-panel{min-height:100svh}.story-atmosphere img{object-position:center 62%}.story-atmosphere:after{background:linear-gradient(180deg,rgba(3,8,9,.66),rgba(3,8,9,.42) 48%,rgba(3,8,9,.77)),linear-gradient(90deg,rgba(3,8,9,.42),transparent 52%,rgba(3,8,9,.25))}}
@media(prefers-reduced-motion:reduce){.story-atmosphere img{transition:none!important;transform:none!important}}
