*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#090f14;color:#edf0e8;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:wait}[hidden]{display:none!important}:focus-visible{outline:2px solid #edc687;outline-offset:4px}#viewport{display:block;width:100%;height:100%;outline:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:var(--grain,.028);filter:grayscale(1);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}
#hud{position:fixed;inset:0;pointer-events:none;z-index:4;opacity:0}body[data-mode=run] #hud,body[data-mode=countdown] #hud{opacity:1}.retro{position:absolute;right:28px;top:25px;padding:11px 17px 9px;width:213px;background:#101a16d9;border:1px solid #c8bd8052;border-radius:3px;box-shadow:inset 0 0 0 3px #252e2266,0 4px 25px #0004}#timer{font:35px 'Courier New',monospace;letter-spacing:-1.7px;font-weight:bold;color:#eed6a0;text-shadow:0 0 12px #d8c38344;font-variant-numeric:tabular-nums}.timer-bottom{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1px;color:#c4c9ae;margin-top:4px}.progress{height:2px;background:#a6ae7233;margin-top:9px}.progress i{display:block;background:#d9c28e;height:100%;width:0;transition:width .15s}.ammo{position:absolute;left:29px;bottom:27px;display:flex;align-items:baseline;gap:7px;font:40px Arial;text-shadow:0 2px 12px #0008}.ammo small{font-size:15px;color:#d5daca99}#reticle{position:absolute;left:50%;top:50%;width:3px;height:3px;border:1px solid #ffffffe0;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #000}body.aiming #reticle,body[data-hard=true] #reticle,body[data-crosshair=false] #reticle{display:none}#hitmarker{position:fixed;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%) rotate(45deg);z-index:5;pointer-events:none;opacity:0;border:1px solid #f4e6bd;clip-path:polygon(0 0,35% 0,35% 35%,65% 35%,65% 0,100% 0,100% 35%,65% 35%,65% 65%,100% 65%,100% 100%,65% 100%,65% 65%,35% 65%,35% 100%,0 100%,0 65%,35% 65%,35% 35%,0 35%)}body[data-hard=true] #hitmarker{display:none}#feedback{position:absolute;bottom:23%;left:50%;transform:translateX(-50%);font:12px monospace;letter-spacing:1px;text-align:center;white-space:nowrap;color:#e8d8b0;text-shadow:0 2px 10px #000;min-height:15px}.comms{position:absolute;right:28px;bottom:26px;width:116px;height:85px;border:1px solid #9daf9c44;background:#101817;overflow:hidden;opacity:.83}.comms img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.55)}.scanlines{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0px,transparent 3px,#03100a25 4px)}#perf{position:absolute;top:123px;right:29px;font:10px monospace;color:#c9d4c4}#countdown{position:fixed;inset:0;display:grid;place-items:center;z-index:7;pointer-events:none;font:100px 'Courier New',monospace;text-shadow:0 0 40px #f5e3aa80;color:#f1e4b9}
button{border:0;border-radius:1px;background:#e2c594;color:#142124;padding:17px 20px;letter-spacing:1.2px;font-size:11px;font-weight:bold;transition:background .15s,transform .15s}button:hover{background:#f8ddae}button:active{transform:translateY(1px)}button span{font-size:17px}.outline{background:#101b1e66;border:1px solid #afc0b34d;color:#d6ded3;padding:12px 18px}.outline:hover{background:#c4c8b51c;color:white}.eyebrow{font:10px monospace;letter-spacing:2.6px;color:#e0bf89;margin:0 0 18px}.menu-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081016f5 0%,#081016df 25%,#08101670 50%,#0810160d 80%),linear-gradient(0deg,#081016c9,transparent 25%,transparent 80%,#08101677),url('assets/menu/gauntlet-keyart-v15.webp') center center/cover no-repeat}#menu{position:fixed;inset:0;isolation:isolate;z-index:8;display:flex;flex-direction:column;justify-content:space-between;padding:28px 4.5vw;overflow-y:auto;overflow-x:hidden;background:#08101622}.menu-header,.menu-footer{display:flex;justify-content:space-between;align-items:center;font:9px monospace;letter-spacing:2px;color:#b3c1be}.menu-header>span:first-child{font:bold 18px Arial;letter-spacing:4px;color:#f0eee4}.menu-header i,.menu-footer i{color:#d6b37d;font-style:normal}.menu-header>span:last-child{font-size:9px}.home-panel{width:370px;padding:24px 0 10px}h1{font-size:clamp(56px,5.7vw,83px);line-height:.9;letter-spacing:-3.5px;margin:0;font-weight:800}h1 em{font-style:normal;color:#e2bd82}.menu-description{font-size:13px;line-height:1.7;color:#a8bbb8;margin:22px 0}.difficulty-label{display:block;font:9px monospace;letter-spacing:1.9px;color:#abbcb6;margin:0 0 8px}#difficulty{width:325px;padding:11px 12px;border:1px solid #d2c09555;background:#101b1ed4;color:#ede5d3;font:11px monospace;letter-spacing:1px}.difficulty-note{font-size:10px;color:#97aaa4;line-height:1.5;max-width:325px;margin:9px 0 16px}.menu-actions{width:325px}.menu-actions>button:not(.quiet){display:flex;justify-content:space-between;align-items:center;width:100%;min-height:51px;margin-top:9px}.menu-secondary{display:flex;gap:9px;margin-top:9px}.menu-secondary button{flex:1;background:#122126b0;color:#d8e1d4;border:1px solid #a5b8ac40;font-size:9px;padding:13px 8px}.menu-secondary button:hover{background:#354441d9}.quiet{background:none;color:#a8b9af;font-size:9px;padding:15px 0 3px}.quiet:hover{background:none;color:#e4c79d}#loading{font:9px monospace;color:#8fa59d;max-width:330px;line-height:1.6;margin:13px 0 0;min-height:14px}.menu-footer{font-size:8px;letter-spacing:1.3px;gap:20px;line-height:1.6;padding-top:18px}.menu-footer>span:last-child{font-size:8px;color:#95aaa2}
#settingsPanel{align-self:center;width:min(920px,100%);padding:23px 30px 27px;margin:25px 0;background:#0b171de8;border:1px solid #a8bdad33;box-shadow:0 10px 80px #0008;backdrop-filter:blur(12px)}.settings-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.settings-heading .eyebrow{font-size:8px;margin-bottom:7px}.settings-heading h2{font-size:31px;letter-spacing:-1px;margin:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font:9px monospace;letter-spacing:2px;color:#cbb792;border-bottom:1px solid #c3cfb629;padding:0 0 13px;margin-bottom:17px;width:100%}fieldset>label{display:block;position:relative;font-size:11px;color:#c7d4cc;margin:0 0 15px}output{float:right;color:#e1c28f;font:10px monospace}input[type=range]{width:100%;display:block;margin:9px 0 0;accent-color:#d9bb83;height:4px;cursor:pointer}input[type=checkbox]{accent-color:#e0c18c;width:14px;height:14px}.select-row{display:flex;justify-content:space-between;align-items:center}select{background:#172a2d;border:1px solid #afbfac4d;color:#dfe7d8;padding:7px 9px;font-size:10px}fieldset>.select-row{display:flex}.check-row{display:flex;align-items:center;gap:8px}fieldset>.check-row{display:flex}.setting-note{font-size:10px;color:#8fa99d;line-height:1.6;margin:-4px 0 18px}.key-guide{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;font-size:9px;color:#91a79e;border-top:1px solid #b7c2ae22;padding-top:18px;margin-top:20px}.key-guide span{display:flex;gap:12px;align-items:center}kbd{font:9px monospace;color:#d6c5a2}.key-guide kbd{min-width:70px}.reset-button{margin-top:20px;font-size:9px;padding:10px 14px}
#intro{position:fixed;inset:0;z-index:8;pointer-events:none;background:linear-gradient(0deg,#081319e0,transparent 40%)}#intro>div{position:absolute;left:5vw;bottom:55px;max-width:80vw}#intro h2{font-size:40px;letter-spacing:-1px;margin:0 0 10px}#intro p:not(.eyebrow){font-size:13px;line-height:1.6;color:#c0d0c7}#skip{position:absolute;right:30px;top:27px;pointer-events:auto}#skip kbd{margin-left:15px}#results{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#071219f2;padding:25px;overflow:auto}#results h2{font-size:58px;line-height:.95;letter-spacing:-2px;margin:0}#results h2 em{font-style:normal;color:#ddbc85}#resultMode{font:10px monospace;color:#a7b9ab;letter-spacing:2px;margin:17px 0 0}.result-time{font:bold 58px 'Courier New',monospace;color:#e5d1a3;letter-spacing:-2px;margin:20px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;font:9px monospace;color:#91a99a;letter-spacing:1px}.result-grid b{display:block;font:20px monospace;color:#d6e0d1;margin-top:10px}#best{font:10px monospace;color:#abc9ad;margin:23px}#retry,#resultsMenu{width:260px;margin-bottom:10px}.result-note{font:10px Arial;color:#91a89a;line-height:1.7;margin:8px 0 0}
@media(max-height:760px){#menu{padding-top:20px;padding-bottom:16px}.home-panel{padding:18px 0 0}h1{font-size:64px}.menu-description{margin:17px 0}.eyebrow{margin-bottom:14px}.difficulty-note{margin-bottom:12px}.menu-actions>button:not(.quiet){min-height:46px;padding:12px 18px}.menu-footer{padding-top:12px}#settingsPanel{margin:15px 0;padding:20px 25px}.settings-heading{margin-bottom:18px}fieldset>label{margin-bottom:13px}.settings-heading h2{font-size:27px}.key-guide{gap:11px;margin-top:15px;padding-top:15px}}@media(max-width:700px){#menu{padding-left:6vw;padding-right:6vw}.menu-header{font-size:7px}.menu-header>span:first-child{font-size:16px}.menu-backdrop{background-position:60% center}.home-panel{width:min(370px,100%)}h1{font-size:61px}.menu-footer>span:last-child{display:none}.menu-actions,#difficulty{width:min(325px,100%)}.menu-description{max-width:275px}.settings-grid{grid-template-columns:1fr;gap:25px}#settingsPanel{padding:20px;overflow:visible}.retro{right:15px;top:17px;width:190px}#timer{font-size:31px}.comms{width:94px;height:70px;right:17px;bottom:19px}.ammo{left:20px;bottom:20px;font-size:34px}#perf{top:113px;right:16px}#results h2{font-size:44px}.result-grid{grid-template-columns:repeat(2,1fr);gap:18px 35px}.result-time{font-size:47px}}

#voiceCaption{position:absolute;bottom:17%;left:50%;transform:translateX(-50%);max-width:70vw;text-align:center;color:#d5e4dd;font-size:13px;line-height:1.5;text-shadow:0 2px 10px #000;min-height:20px}.transmitting .comms{border-color:#9fd4b9aa;opacity:1;box-shadow:0 0 17px #619d8040}
