@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{font-family:IBM Plex Mono,monospace;color:#e9efeb;background:#10191e;font-size:11px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #c5f46b;outline-offset:5px}[hidden]{display:none!important}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #344046;margin:0 4%}.brand{font:900 35px Barlow Condensed,sans-serif;color:#c5f46b;text-decoration:none;display:flex;align-items:center;gap:14px}.brand span{font:600 12px IBM Plex Mono;letter-spacing:2px;color:#e9efeb}.build{color:#718087;letter-spacing:1px}.build b{color:#d5ddd9;margin-left:20px;font-weight:400}header button{background:none;border:0;color:#d5ddd9}main{max-width:1480px;margin:0 auto;padding:25px 4%}.topline{display:flex;justify-content:space-between;margin-bottom:13px;font-size:10px;letter-spacing:1.5px;color:#7e9299}.topline span:first-child{color:#c5f46b}i{display:inline-block;width:6px;height:6px;background:#c5f46b;border-radius:50%;margin-right:8px}#stage{height:min(72vw,730px);min-height:540px;position:relative;overflow:hidden;background:#a9c3c6;border:1px solid #415056}#world{display:block;width:100%;height:100%}.grain{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000009 3px 4px)}#hud{position:absolute;left:30px;right:30px;top:25px;display:flex;justify-content:space-between;text-shadow:0 2px 10px #0008}small{display:block;font-size:9px;letter-spacing:1.4px;color:#acbcb7}#hud strong{font:600 30px Barlow Condensed;letter-spacing:2px}#hud .middle{text-align:center}.right{text-align:right}#health{color:#c5f46b}#bottomhud{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:end}#status{background:#121e24d9;padding:11px 15px;color:#c5f46b;letter-spacing:1px}#bottomhud b{font-size:18px;letter-spacing:4px;color:#c5f46b}#bottomhud>div{text-align:right}#menu,#result{position:absolute;inset:0;background:linear-gradient(90deg,#101b22f5,#101b22e8 38%,#101b2220);padding:65px 55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{color:#c5f46b;font-size:9px;letter-spacing:2px}h1{font:900 clamp(70px,8vw,116px)/.82 "Barlow Condensed",sans-serif;letter-spacing:-2px;margin:24px 0}h1 em{font-style:normal;color:#c5f46b}#menu p{line-height:1.8;color:#aebdbb;margin:0 0 22px;font-size:16px}.instructions{display:flex;gap:25px;margin:0 0 28px}.instructions>div{display:flex;gap:8px}.instructions b{color:#c5f46b;font-size:10px}.instructions span{font-size:10px;line-height:1.5}.instructions small{font-size:8px;letter-spacing:0;margin-top:5px;max-width:115px}.primary,.secondary{padding:15px 18px;border:0;display:flex;justify-content:space-between;gap:30px;min-width:300px;font-weight:600;letter-spacing:.6px}.primary{background:#c5f46b;color:#17231e}.primary:hover{background:#d8ff92}.primary:disabled{opacity:.6;cursor:wait}.secondary{background:#19262cd9;border:1px solid #566560;color:#d6e1db;margin-top:10px}#notice{margin-top:15px;letter-spacing:0;font-size:12px;max-width:390px;line-height:1.7}#reticle{position:absolute;left:50%;top:50%;width:38px;height:38px;border:1px solid #c5f46b;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 15px #c5f46b44;display:none}#reticle:before,#reticle:after{content:"";position:absolute;background:#c5f46b}#reticle:before{width:2px;height:52px;top:-8px;left:17px}#reticle:after{height:2px;width:52px;left:-8px;top:17px}#reticle span{position:absolute;inset:8px;border:5px solid #182622;border-radius:50%;background:#c5f46b;z-index:1}#reticle.hit{border-color:#fff;scale:1.25}#cover{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(transparent,#0b1828c9);pointer-events:none}#cover span{font:800 58px Barlow Condensed;letter-spacing:4px;color:#c5f46b}#cover>div{width:180px;height:3px;background:#fff3;margin-top:14px}#reloadbar{display:block;height:3px;width:0;border-radius:0}#damage{position:absolute;inset:0;box-shadow:inset 0 0 150px #fc5222;opacity:0;pointer-events:none}#callout{position:absolute;top:22%;left:0;right:0;text-align:center;font:800 35px Barlow Condensed;letter-spacing:3px;opacity:0;pointer-events:none}#result{align-items:center;text-align:center;background:#101b22de}h2{font:800 75px Barlow Condensed;margin:20px 0}#result p{line-height:2;white-space:pre-line;margin-bottom:30px}#camera-preview{position:absolute;bottom:95px;right:25px;width:145px;height:110px;border:1px solid #c5f46b66;background:#132025}video,#landmarks{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform:scaleX(-1)}#camera-preview span{position:absolute;bottom:0;left:0;background:#132025bd;font-size:7px;padding:4px}footer{display:flex;justify-content:space-between;gap:15px;padding-top:18px;color:#7b8e94;font-size:9px;letter-spacing:.5px}.key{color:#c5f46b;font-size:14px}.divider{margin:0 15px;color:#42535c}footer i{width:4px;height:4px;margin:0 8px;background:#7b8e94}#tips{position:fixed;bottom:30px;left:50%;transform:translate(-50%);max-width:600px;width:90%;background:#1d2d33;border:1px solid #c5f46b;padding:25px;line-height:2;z-index:4}#tips button{display:block;margin-top:10px;background:#c5f46b;border:0;padding:8px 15px}@media(max-width:650px){header{height:65px}.build,.topline span:last-child,footer>span{display:none}main{padding-top:18px}#stage{min-height:650px;height:80vh}#menu{padding:30px 24px;background:#101b22bb}h1{font-size:90px}.instructions{gap:10px}.instructions small{max-width:85px}#hud,#bottomhud{left:15px;right:15px}#status{font-size:8px}#bottomhud b{letter-spacing:1px}h2{font-size:50px}#result{padding:20px}footer{font-size:7px}.divider{margin:0 5px}}#tutorial{position:absolute;inset:0;z-index:2;background:#101b22ed;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#tutorial h2{font-size:clamp(42px,6vw,75px);margin:18px 0}#tutorial p{max-width:450px;color:#c5d2cb;line-height:1.9;font-size:12px;margin:0}#tutorial small{margin-top:18px;letter-spacing:0}.tutorial-demo{color:#c5f46b;font:700 clamp(14px,2vw,23px) "IBM Plex Mono";border:1px solid #566560;background:#1c2e33;padding:22px;margin:25px 0;max-width:100%}footer a{color:#aebdbb;text-decoration:none}footer a:hover{color:#c5f46b}@media(max-width:650px){#tutorial{padding:25px 18px}#tutorial .primary,#tutorial .secondary{min-width:0;width:100%;max-width:350px}header #music{font-size:9px}.brand span{letter-spacing:0;font-size:10px}}#intro{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 75% 30%,#294038,#0b181d 65%);display:flex;flex-direction:column;padding:24px 32px;overflow:auto}#intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#0002 4px 5px);pointer-events:none;z-index:1}.intro-top{display:flex;justify-content:space-between;color:#c5f46b;font-size:10px;letter-spacing:2px}.intro-visual{display:flex;flex:1;min-height:180px;max-height:370px;gap:25px;margin:20px 0}.intro-portrait{width:45%;position:relative;overflow:hidden;border:1px solid #c5f46b66;background:#182b29}.intro-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;filter:sepia(.4) saturate(.65);animation:jackson-broadcast 16s ease-in-out infinite alternate}.intro-portrait span{position:absolute;bottom:0;left:0;right:0;padding:12px;background:#101b22e6;color:#c5f46b;font-size:9px;line-height:1.5}.intro-weapon{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #c5f46b33;background:#101b2277;overflow:hidden}.weapon-label{color:#c5f46b;letter-spacing:3px;font:800 clamp(15px,2.4vw,30px) "Barlow Condensed"}.intro-weapon svg{width:100%;max-height:270px;animation:kiwi-hover 3s ease-in-out infinite}.weapon-tag{font-size:8px;color:#a2b6ad;letter-spacing:1px;margin:10px}.kiwi-beam{animation:kiwi-laser 1.2s ease-in-out infinite}.intro-dialogue{min-height:145px;border-left:3px solid #c5f46b;padding:12px 20px;background:#101b22bb}.intro-dialogue small{color:#c5f46b;font-weight:700}.intro-dialogue p{font:600 clamp(18px,2.5vw,29px)/1.35 "Barlow Condensed";margin:10px 0;max-width:950px}.intro-dialogue>span{color:#8ea399;font-size:9px;line-height:1.5}.intro-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.intro-controls button{min-width:0;margin:0;padding:12px 18px}#intro[data-speaker=CONTROL] .intro-portrait{opacity:.55}#intro[data-speaker=JACKSON] .intro-portrait{box-shadow:0 0 30px #c5f46b22}@keyframes jackson-broadcast{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes kiwi-hover{50%{transform:translateY(-6px)}}@keyframes kiwi-laser{50%{opacity:.2}}@media(max-width:650px){#intro{padding:20px 15px}.intro-top{font-size:8px;letter-spacing:1px}.intro-visual{gap:10px;flex:1;max-height:280px}.intro-portrait{width:50%}.intro-portrait span{font-size:7px;padding:8px}.weapon-label{font-size:16px;letter-spacing:1px;text-align:center}.weapon-tag{text-align:center;font-size:7px}.intro-dialogue{min-height:185px;padding:12px}.intro-dialogue p{font-size:22px}.intro-controls{gap:7px;justify-content:space-between}.intro-controls button{font-size:9px;padding:12px 9px}}@media(prefers-reduced-motion:reduce){.intro-portrait img,.intro-weapon svg,.kiwi-beam{animation:none}}html,body,#app{width:100%;height:100%;overflow:hidden}header{position:fixed;top:0;left:0;right:0;height:60px;margin:0;padding:0 25px;border:0;z-index:5;background:linear-gradient(#10191ee0,transparent);pointer-events:none}header a,header button{pointer-events:auto}.brand{font-size:28px}.brand span{font-size:10px}main{max-width:none;margin:0;padding:0;width:100%;height:100%}.topline,footer{display:none}#stage{position:fixed;inset:0;width:100vw;height:100dvh;min-height:0;border:0}#hud{top:80px}#menu{padding:70px max(30px,6vw)}#tips{z-index:10}#cinematic{position:absolute;inset:0;z-index:6;pointer-events:none;background:linear-gradient(#0009 0 8%,transparent 18% 65%,#000b 95%);color:#eff4e9}.cinematic-top{height:70px;background:#0a131bd9;display:flex;justify-content:space-between;align-items:center;padding:0 30px;letter-spacing:2px;font-size:10px}.cinematic-top button,.cinematic-caption button{pointer-events:auto;color:#c5f46b;background:#10201be8;border:1px solid #7d995b;padding:12px 18px;font:inherit;cursor:pointer}.cinematic-caption{position:absolute;bottom:0;left:0;right:0;padding:30px max(25px,8vw);background:#0a131be6}.cinematic-caption small{color:#c5f46b;font-size:12px;letter-spacing:3px}.cinematic-caption p{font-size:clamp(15px,2vw,23px);line-height:1.6;max-width:1000px;margin:12px 0 20px}.cinematic-caption>div{display:flex;justify-content:space-between;align-items:center;color:#77958e}@media(max-width:650px){header{padding:0 15px}.brand span{display:none}#menu{padding:65px 25px}.cinematic-top{padding:0 15px;letter-spacing:.4px;font-size:8px}.cinematic-caption{padding:20px}.cinematic-caption p{font-size:15px}#hud{top:70px}}.cinematic-active header,.cinematic-active #hud,.cinematic-active #bottomhud,.cinematic-active #reticle,.cinematic-active #callout{display:none!important}#boss-hud{position:absolute;top:145px;left:50%;transform:translate(-50%);width:min(550px,80%);text-align:center;pointer-events:none}#boss-hud small{color:#eaf4d7}.boss-health{height:9px;background:#132026;border:1px solid #c5f46b66;margin:10px 0}.boss-health i{display:block;height:100%;margin:0;border-radius:0;background:#c5f46b;transition:width .12s}#boss-hud strong{display:block;font-size:11px;line-height:1.6;color:#ffecb6;text-shadow:0 2px 5px #000}#boss-dialogue{position:absolute;bottom:110px;left:50%;transform:translate(-50%);width:min(700px,90%);padding:24px;background:#111b22eb;border-left:3px solid #c5f46b;text-align:center}#boss-dialogue small{color:#c5f46b}#boss-dialogue p{font:700 28px Barlow Condensed;margin:12px 0}#boss-dialogue button{color:#c5f46b;background:none;border:1px solid #607450;padding:10px;font:inherit}#boss-hud~#callout{top:30%}.pinch-settings{margin-top:18px;padding-top:15px;border-top:1px solid #566560}.pinch-settings label{display:flex;justify-content:space-between;color:#c5f46b}.pinch-settings input{width:100%;accent-color:#c5f46b;margin:12px 0}.pinch-settings small{letter-spacing:0;line-height:1.6}.pinch-settings>span{display:block;margin-top:10px;font-size:10px;color:#c5f46b}#tutorial.interactive-tutorial{padding:0;background:linear-gradient(#101b22bd,transparent 50%,#101b2255);display:block;pointer-events:none;text-align:left}.practice-card{position:absolute;top:25px;left:25px;max-width:520px;right:25px;padding:20px;background:#101b22e8;border-left:3px solid #c5f46b}.practice-card small{color:#c5f46b}.practice-card h2{font-size:35px!important;margin:10px 0!important}.practice-card p{font-size:12px!important;line-height:1.6!important}.practice-card strong{display:block;color:#c5f46b;margin-top:10px;font-size:11px}#practice-target{position:absolute;transform:translate(-50%,-50%);width:90px;height:90px;border:3px solid #c5f46b;border-radius:50%;background:#20362c;box-shadow:0 0 35px #c5f46b55;display:grid;place-items:center}#practice-target span{font-size:55px;color:#c5f46b}#practice-target[hidden],#practice-round[hidden]{display:none}#practice-round{position:absolute;left:50%;top:55%;width:45px;height:45px;border-radius:50%;background:#ff2424;box-shadow:0 0 35px #ff2424;transform:translate(-50%,-50%)}#tutorial.interactive-tutorial #tutorialskip{position:absolute;bottom:22px;left:25px;pointer-events:auto;min-width:0}#reticle{z-index:3}@media(max-width:650px){.practice-card{left:15px;right:15px;top:15px;padding:15px;max-width:none}.practice-card h2{font-size:28px!important}.practice-card p{font-size:11px!important}#tutorial.interactive-tutorial #tutorialskip{width:auto;left:15px}}#menu .demo-blurb{max-width:480px;font-size:16px;line-height:1.8;color:#aebdbb}.laser-charge{height:12px;background:#112713;border:1px solid #63ff64;margin:12px 0;box-shadow:0 0 20px #53ff4866}.laser-charge i{display:block;height:100%;background:#72ff55;border-radius:0;margin:0;box-shadow:0 0 18px #8eff77}#laser-screen-fx{position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 140px 20px #44ff4b;background:linear-gradient(transparent 70%,#34ff3a22)}#boss-hud{z-index:3}#boss-hud strong{font-size:14px;color:#c4ffae}#outro{position:absolute;inset:0;z-index:5;pointer-events:none;border-top:40px solid #081217;border-bottom:40px solid #081217}.outro-label{position:absolute;top:20px;left:25px;color:#c5f46b;letter-spacing:3px;font-size:10px}.outro-caption{position:absolute;left:10%;right:10%;bottom:30px;text-align:center;padding:20px;background:#081217df;border-top:2px solid #c5f46b}.outro-caption small{color:#c5f46b}.outro-caption p{font:700 clamp(20px,3vw,36px)/1.2 "Barlow Condensed";margin:12px 0}.outro-flash{position:absolute;inset:0;background:#fff2c5;opacity:0;pointer-events:none}@media(max-width:650px){.outro-caption{left:5%;right:5%;padding:14px}.outro-label{font-size:8px;letter-spacing:1px}}#result{background:radial-gradient(ellipse at center,#14262af2,#09141bf2);padding:35px 25px;overflow:auto}#result>.eyebrow{font-size:12px;letter-spacing:4px}#resulttitle{font-size:35px;margin:14px 0}#resultstats{width:min(680px,100%);margin:25px 0;text-align:center}#resultstats small{font-size:12px;letter-spacing:3px;color:#adbfba}.result-score strong{display:block;font:900 clamp(85px,12vw,150px)/1 "Barlow Condensed";color:#c5f46b;letter-spacing:2px;margin:8px 0 24px;font-variant-numeric:tabular-nums}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #50625a;border-bottom:1px solid #50625a;padding:20px 0}.result-metrics>div+div{border-left:1px solid #50625a}.result-metrics strong{display:block;font:800 clamp(42px,6vw,72px)/1.2 "Barlow Condensed";font-variant-numeric:tabular-nums;color:#e9efeb}#result #result-targets{font-size:11px;letter-spacing:2px;color:#a0b4ab;line-height:1.5;margin:18px 0 0}@media(max-width:650px){#result{padding:25px 18px}.result-metrics{gap:10px;padding:18px 0}.result-metrics strong{font-size:48px}#resultstats{margin:20px 0}#resultstats small{font-size:10px}#result .primary,#result .secondary{min-width:0;width:min(300px,100%)}}
