:root{--cream:#e9d4b4;--amber:#d88731;--rust:#b74a21;--steel:#171d1b}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#17110d;color:var(--cream);font-family:'Arial Narrow',Arial,sans-serif}canvas{display:block}[hidden],.hide{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;user-select:none}.metal{background:linear-gradient(155deg,#4b4538,#1c211f 22%,#181d1b 77%,#443629);border:1px solid #998064;box-shadow:inset 0 0 0 3px #272b25,inset 0 0 0 4px #5b513f,0 4px 10px #0005;position:absolute}.metal:before,.metal:after{content:'';position:absolute;width:5px;height:5px;border:1px solid #a88c66;background:#2a2923;border-radius:50%;top:8px}.metal:before{left:9px}.metal:after{right:9px}.hud-wordmark{position:absolute;width:153px;left:23px;top:24px;filter:drop-shadow(0 2px 2px #0007)}.predator-panel{left:50%;top:22px;transform:translateX(-50%);width:416px;height:49px;display:flex;align-items:center;gap:11px;padding:9px 20px;clip-path:polygon(3% 0,97% 0,100% 25%,100% 75%,97% 100%,3% 100%,0 75%,0 25%)}.claw{width:29px;height:32px;fill:var(--cream);flex:none}.predator-name{font-stretch:condensed;font-size:12px;letter-spacing:.1em;white-space:nowrap}.predator-name b{font-size:17px;margin-left:4px}.predator-cells{display:flex;gap:3px;flex:1;height:24px}.predator-cells i{flex:1;clip-path:polygon(0 0,83% 0,100% 50%,83% 100%,0 100%,16% 50%);background:linear-gradient(#d88332,#ae431f);transition:opacity .3s,background .3s;box-shadow:inset 0 1px #ffb970}.predator-cells i.spent{opacity:.17}.predator-panel[data-phase=charge],.predator-panel[data-phase=locked],.predator-panel[data-phase=fire]{border-color:#71d1e4}.predator-panel[data-phase=charge] i,.predator-panel[data-phase=locked] i,.predator-panel[data-phase=fire] i{background:linear-gradient(#87d7eb,#2774ad)}#attack-warning,#target-status{position:fixed;left:-9999px}.instrument-cluster{position:absolute;bottom:22px;left:21px;width:286px;filter:drop-shadow(0 4px 5px #0007)}.instrument-cluster svg{display:block;width:100%}.dial-number{fill:#e5c7a0;font-family:'Arial Narrow',Arial,sans-serif;font-size:12px;font-weight:bold}.dial-label{fill:#ceb795;font-size:10px;letter-spacing:1px}#speed-readout{fill:#f0d5a7;font-family:monospace;font-size:24px;font-style:italic}.small-track{stroke:#080e0d;stroke-width:9;fill:none}.small-fill{stroke:#e5cfaa;stroke-width:7;fill:none;stroke-dasharray:100 100;transition:stroke-dasharray .2s}.gear-display{position:absolute;right:43px;bottom:60px;color:#e2a04e;font:11px monospace}.launcher-panel{right:23px;bottom:24px;width:229px;height:92px;padding:12px 18px;clip-path:polygon(6% 0,94% 0,100% 15%,100% 85%,94% 100%,6% 100%,0 85%,0 15%)}.launcher-heading{font:10px monospace;letter-spacing:1px;color:#e8c397;display:flex;justify-content:space-between}.launcher-heading span{color:#897f6c;font-size:8px}.launcher-bottom{display:flex;align-items:center;gap:17px;margin-top:5px}.charge-cells{display:flex;gap:7px}.charge-cells svg{width:19px;height:42px;fill:#2d2b23;stroke:#ae8a57;stroke-width:1}.charge-cells .capsule-core{fill:#d29447;stroke:#f2c689}.charge-cells .empty .capsule-core{fill:#242b28;stroke:#5b5748}#launcher-state{font-size:12px;font-weight:800;letter-spacing:.04em;color:#948c78}#launcher-state.armed{color:#f5d398}.reload-track{height:4px;background:#060c0a;margin-top:8px;width:88px;transform:skewX(-15deg)}#reload-fill{display:block;height:100%;background:#b77a34;transition:width .1s}#weapon-reticle{position:absolute;width:65px;height:65px;transform:translate(-50%,-50%);opacity:.45;color:#d5ad77}#weapon-reticle.locked{color:#f1a848;opacity:.95}#weapon-reticle i{position:absolute;width:10px;height:10px;border-color:currentColor;border-style:solid}#weapon-reticle i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}#weapon-reticle i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0}#weapon-reticle i:nth-child(3){left:0;bottom:0;border-width:0 0 2px 2px}#weapon-reticle i:nth-child(4){right:0;bottom:0;border-width:0 2px 2px 0}#reticle-distance{position:absolute;top:70px;width:100%;text-align:center;font:9px monospace;letter-spacing:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font:11px monospace;opacity:0}.toast.on{opacity:1}.toast small{display:none}button{border:1px solid #d29e61;color:#efd7b2;background:linear-gradient(120deg,#4d321e,#211e16);padding:14px 30px;font:700 12px 'Arial Narrow',Arial,sans-serif;letter-spacing:.2em;cursor:pointer;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);transition:background .2s}button:hover{background:#885125}button:focus-visible{outline:2px solid #c6e4ef;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}#pause{position:fixed;top:25px;right:24px;padding:8px 13px;font-size:9px;z-index:1;background:#161e19b8}.veil,.screen{position:fixed;inset:0;display:grid;place-items:center;z-index:4}.screen{background:linear-gradient(90deg,#140e07cc,#1d100755 60%,#120e0b33),url('assets/player-view-target-v1.png') center/cover;justify-items:start;padding:7vw}.card{width:min(500px,90vw);text-align:center}.screen .card{background:none;border:none;box-shadow:none;text-align:left}.title-logo{display:block;width:min(580px,80vw);filter:drop-shadow(0 4px 2px #180c06aa);margin-bottom:24px}.screen .tag{font:10px monospace;letter-spacing:.24em;color:#c18a50;margin-bottom:28px}.screen p{font-size:13px;line-height:1.7;color:#cebb9e}.screen button{margin-top:15px;min-width:190px;height:52px}.course-link{display:inline-block;margin-top:30px;color:#a28e70;font-size:10px;text-decoration:none}.screen #load-status{font:10px monospace;letter-spacing:.08em}.veil{background:#090f0dc4;backdrop-filter:blur(4px)}.veil .card{background:#1a201c;border:1px solid #79674c;padding:30px;box-shadow:inset 0 0 0 5px #222920}.veil h2{font-size:36px;font-weight:900;letter-spacing:.04em}.veil p{font:12px/2 monospace;color:#c1ae8e}.veil button{margin-top:18px}#result{align-items:end;padding-bottom:4vh;background:linear-gradient(transparent,#10150de8);backdrop-filter:none}#result-stats{font:11px monospace;color:#d1a264;line-height:1.8}.tag{font:10px monospace;letter-spacing:3px;color:#b98a50}@media(max-width:850px){.hud-wordmark{width:112px;top:87px;left:18px}.predator-panel{width:362px;top:17px}.predator-name{font-size:10px}.predator-name b{font-size:14px}#pause{top:87px;right:18px}.instrument-cluster{width:230px;left:14px;bottom:15px}.gear-display{right:34px;bottom:48px}.launcher-panel{right:14px;bottom:17px;width:202px}.launcher-bottom{gap:10px}.screen{padding:7vw}.screen .card{text-align:center}}@media(max-width:520px){.predator-panel{width:310px;height:43px;padding:7px 15px;gap:7px}.claw{width:23px}.predator-cells{height:20px}.instrument-cluster{width:195px}.launcher-panel{width:165px;height:80px;padding:10px 12px}.launcher-heading span{display:none}.charge-cells{gap:2px}.charge-cells svg{height:34px;width:15px}#launcher-state{font-size:10px}.reload-track{width:66px}.gear-display{right:29px;bottom:40px}.hud-wordmark{width:96px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.predator-cells i{background:#282b26;position:relative}.predator-cells i:before{content:"";position:absolute;inset:0;background:linear-gradient(#d88332,#ae431f);clip-path:inset(0 calc(100% - var(--life,100%)) 0 0);transition:clip-path .15s}.predator-panel[data-phase=charge] i,.predator-panel[data-phase=locked] i,.predator-panel[data-phase=fire] i{background:#282b26}.predator-panel[data-phase=charge] i:before,.predator-panel[data-phase=locked] i:before,.predator-panel[data-phase=fire] i:before{background:linear-gradient(#87d7eb,#2774ad)}

#hud:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 48%,#d34d2070 100%);opacity:var(--hit-flash,0)}#hud.taking-hit #vehicle-hull-arc{stroke:#ff6945!important;filter:drop-shadow(0 0 4px #ff4f28)}

.predator-count{font:11px monospace;color:#ead1a8;white-space:nowrap}.confirmed-hit .predator-cells i:before{background:#fff0c5!important}.confirmed-hit #weapon-reticle{color:#fff6d3;opacity:1}.confirmed-hit #weapon-reticle:after{content:"×";position:absolute;inset:0;text-align:center;font:38px/65px Arial;text-shadow:0 0 8px #f7b64a}

.predator-cells{gap:2px}.predator-cells i{clip-path:polygon(0 0,80% 0,100% 30%,100% 100%,20% 100%,0 70%)}.predator-panel[data-wounded=true]{border-color:#d36b45}.predator-panel[data-wounded=true] .predator-cells i:before{background:linear-gradient(#f2aa5a,#b73524)}.predator-panel[data-wounded=true] .predator-count{color:#ffc79e}.confirmed-hit .predator-panel{filter:drop-shadow(0 0 9px #f2bb6e);border-color:#fff0c5}.confirmed-hit #predator-count{color:#fff7e1;font-weight:bold}.confirmed-hit #weapon-reticle:after{font-size:48px;text-shadow:0 0 12px #f7b64a}
