:root{color:#e7e0d1;font-synthesis:none;--amber:#e9ad52;--green:#a5b98b;--muted:#a4a494;--ink:#20241d;background:#161915;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#world,canvas.webgl,.vignette{width:100%;height:100%;position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(#0000 45%,#17150f77 100%);box-shadow:inset 0 0 90px #0006}header{z-index:2;align-items:center;gap:26px;display:flex;position:fixed;top:25px;left:30px;right:30px}a{color:#c1b9a6;letter-spacing:2px;font-size:9px;text-decoration:none}.brand{letter-spacing:-1px;text-shadow:1px 2px #000;font-size:25px;font-style:italic;font-weight:900}.brand span{color:var(--amber)}.brand small{letter-spacing:3px;color:#aeac9b;margin-top:5px;font:8px monospace;display:block}.live{letter-spacing:2px;color:#b1b29d;margin-left:auto;font:9px monospace}.live i{background:var(--green);width:6px;height:6px;margin-right:8px;display:inline-block}.live b{color:#eee1b8;padding-left:15px}#telemetry{background:linear-gradient(90deg,#171d18c9,#171d1870);border-left:2px solid #9aab7c;max-width:210px;padding:15px;position:fixed;top:120px;left:30px}.label{letter-spacing:2px;color:#b0b1a0;font:9px monospace}.label span{color:#b9ca9a;margin-left:10px}h2{letter-spacing:2px;font-size:12px}.rule{background:#7c816366;width:175px;height:1px}#telemetry p{color:#c1c1a9;margin-bottom:5px;font:10px/1.8 monospace}#radar{opacity:.9;width:125px;height:125px;margin-top:10px;position:static}.coords{color:#a7ad97;letter-spacing:1px;margin-top:8px;font:9px monospace}#scoreboard{text-align:right;text-shadow:1px 2px #000;position:fixed;top:125px;right:30px}#score{letter-spacing:-2px;margin:6px 0;font:700 38px monospace}.wave{color:#babba5;font:10px monospace}.wave b{color:var(--amber);font-size:22px}.wave span{color:#e8ad79;letter-spacing:2px;margin-top:8px;font-size:9px;display:block}#reticle{text-align:center;color:#dae5b488;border:0;border-left:1px solid #c0d69a66;border-right:1px solid #c0d69a66;width:46px;height:28px;font:18px monospace;position:fixed;top:48%;left:50%;transform:translate(-50%,-50%)}footer{align-items:flex-end;gap:25px;display:flex;position:fixed;bottom:25px;left:30px;right:30px}.meter{background:#141b16c9;border-top:2px solid #727b60;width:200px;padding:13px}.label b{float:right;color:#d4dec0;font-weight:400}.bar{background:#434938;height:5px;margin-top:8px}.bar i{background:#a9bb86;width:100%;height:100%;transition:width .15s;display:block}.boost-label{margin-top:13px}.boost i{background:#d2a564}.speed{text-shadow:1px 2px #000;align-items:center;gap:10px;display:flex}.speed strong{letter-spacing:-4px;font-size:58px;font-style:italic;font-weight:900}.speed span{color:#d3ceb8;font:9px/1.8 monospace}.speed em{color:var(--amber);font-style:normal}.controls{color:#b9b8a7;text-shadow:1px 1px #000;flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:380px;margin-left:auto;font:8px monospace;display:flex}.controls span{white-space:nowrap}kbd{color:#eee4cb;background:#22291ee0;border:1px solid #687052;margin-right:4px;padding:4px;font:9px monospace}#notice{color:#f2c784;text-shadow:1px 2px 4px #000;letter-spacing:3px;text-align:center;pointer-events:none;max-width:45%;font:700 16px/1.5 monospace;position:fixed;top:25%;left:50%;transform:translate(-50%)}#menu{z-index:3;background:linear-gradient(90deg,#12160fee 0%,#12160fbd 33%,#0000 82%);position:fixed;inset:0}#menu[hidden]{display:none}.menu-copy{position:absolute;top:21%;left:8%}.eyebrow{color:var(--amber);letter-spacing:3px;font:9px monospace}h1{letter-spacing:-7px;color:#e1e0ce;text-shadow:3px 4px #0005;margin:25px 0 20px;font-size:clamp(68px,9vw,133px);font-style:italic;font-weight:900;line-height:.8;position:relative}h1 span{color:#d8944d}h1 sup{color:var(--amber);letter-spacing:0;margin-left:14px;font:16px monospace;position:absolute;top:2px}.subtitle{letter-spacing:7px;color:#bfc5aa;font:11px monospace}.menu-copy p{color:#bbbca8;max-width:330px;margin:22px 0;font-size:13px;line-height:1.8}button{cursor:pointer;color:#191d13;letter-spacing:2px;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);background:#dbab63;border:1px solid #e9c691;min-width:200px;padding:17px 25px;font:700 12px monospace;transition:background .15s}button:hover{background:#f5d297}button span{margin-left:45px}.secondary{color:#c7cdb3;background:#171f16aa;border:1px solid #727961;margin-top:10px;padding:12px;font-size:10px;display:block}.secondary:hover{background:#35412c}.hint{letter-spacing:1px;color:#a0a98d;max-width:320px;margin-top:18px;font:8px/1.9 monospace}.edition{letter-spacing:2px;color:#a4ab92;font:9px monospace;position:absolute;bottom:25px;left:8%;right:30px}.edition span{float:right;color:var(--amber)}#end{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:4;text-align:center;background:#11180fe8;place-items:center;display:grid;position:fixed;inset:0}#end[hidden]{display:none}#end h2{letter-spacing:-3px;color:#d2a667;font-size:60px;font-style:italic;line-height:1}#end p{color:#b6c09f;margin-bottom:30px;font:14px monospace}#touch{display:none}#mission{letter-spacing:2px;color:#dfd2ae;text-align:center;background:#171d18bb;border-bottom:1px solid #99916b;padding:9px 16px;font:10px monospace;position:fixed;top:82px;left:50%;transform:translate(-50%)}#weapon{text-align:right;color:#e8c392;text-shadow:1px 2px #000;font:11px/2 monospace;position:fixed;bottom:135px;right:30px}#damage-flash{pointer-events:none;opacity:0;transition:opacity .12s;position:fixed;inset:0;box-shadow:inset 0 0 130px #ae2900}#loading{color:#eadcb8;z-index:5;background:#20251b;padding:10px 20px;font:10px monospace;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}#loading[hidden]{display:none}@media (width<=1000px){header{left:20px;right:20px}.live{letter-spacing:1px;font-size:7px}#telemetry{max-width:175px;padding:11px;top:120px;left:20px}#telemetry h2{font-size:10px}.rule{width:150px}#telemetry p{font-size:9px}#radar{width:100px;height:100px}#scoreboard{right:20px}footer{gap:16px;left:20px;right:20px}.meter{width:175px}.controls{gap:9px;max-width:290px;font-size:7px}.speed strong{font-size:47px}#weapon{right:20px}}@media (width<=650px){header{gap:16px;top:18px;left:14px;right:14px}.live{display:none}.brand{font-size:20px}#telemetry{padding:8px;top:118px;left:14px}#telemetry h2,#telemetry p,.rule,#telemetry>.label{display:none}#radar{width:80px;height:80px;margin:0}#scoreboard{top:120px;right:14px}#score{font-size:28px}footer{gap:14px;bottom:91px;left:14px;right:14px}.meter{width:148px;padding:10px}.speed strong{font-size:37px}.controls{display:none}.menu-copy{top:23%;left:8%}h1{letter-spacing:-5px}.menu-copy p{max-width:270px;font-size:11px}.hint{max-width:250px}.edition{letter-spacing:1px;font-size:7px}.subtitle{letter-spacing:4px}#touch{justify-content:space-between;gap:7px;display:flex;position:fixed;bottom:20px;left:14px;right:14px}#touch button{color:#d5d9b4;touch-action:none;background:#293224ed;border:1px solid #89976b;min-width:0;padding:15px 10px;font-size:10px}#mission{white-space:nowrap;padding:9px;font-size:8px;top:82px}#weapon{font-size:9px;bottom:188px;right:14px}#notice{max-width:70%;font-size:12px;top:38%}}body[data-mode=menu] #telemetry,body[data-mode=menu] #scoreboard,body[data-mode=menu] footer,body[data-mode=menu] #reticle,body[data-mode=menu] #mission,body[data-mode=menu] #weapon,body[data-mode=menu] #touch{visibility:hidden}#field-actions{z-index:2;gap:6px;display:flex;position:fixed;top:78px;right:30px}#field-actions button{color:#d5d9bd;letter-spacing:1px;background:#202b1dbb;border:1px solid #8e997355;min-width:0;padding:6px 9px;font-size:8px}body[data-mode=menu] #field-actions{display:none}#hangar{margin:12px auto 0}@media (width<=1000px){#field-actions{top:auto;bottom:111px;right:20px}}@media (width<=650px){#field-actions{top:54px;bottom:auto;right:14px}#field-actions button{padding:5px;font-size:7px}#touch{grid-template-columns:repeat(4,1fr);gap:6px;display:grid;bottom:14px}#touch button{padding:12px 5px}footer{bottom:124px}#weapon{bottom:215px}#mission{white-space:normal;width:90%;max-width:90%}}.quality-control{color:#c4cbb3;align-items:center;gap:8px;font:8px monospace;display:flex}.quality-control select{color:#d5d9bd;letter-spacing:.5px;background:#202b1de6;border:1px solid #8e997355;max-width:120px;padding:5px 6px;font:8px monospace}.quality-control span{min-width:62px}body[data-mode=menu] #field-actions{display:flex;top:auto;bottom:64px;right:30px}body[data-mode=menu] #field-actions>button{display:none}@media (width<=650px){#field-actions{justify-content:space-between;gap:4px;left:14px;right:14px}.quality-control{gap:4px}.quality-control select{max-width:95px;font-size:7px}.quality-control span{min-width:50px;font-size:7px}body[data-mode=menu] #field-actions{bottom:55px;left:auto;right:14px}}#continue[hidden]{display:none}#continue{margin:0 auto 12px;display:block}#reticle.confirmed{color:#fff0c4;text-shadow:0 0 8px #e9ad52;border-color:#fff0c4;transform:translate(-50%,-50%)scale(1.18)}#pause-menu{z-index:4;background:#10160fdb;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}#pause-menu[hidden]{display:none}.pause-panel{border:1px solid #737958;border-top:3px solid var(--amber);text-align:center;background:linear-gradient(135deg,#252b20,#171d16);width:min(420px,100%);max-height:calc(100dvh - 40px);padding:30px;overflow:auto;box-shadow:0 14px 45px #0005}.pause-panel .eyebrow{letter-spacing:2px;font-size:8px}.pause-panel h2{letter-spacing:-2px;color:#d2a667;margin:23px 0 18px;font-size:clamp(40px,10vw,54px);font-style:italic;line-height:1}.pause-reminder{color:#bac2a9;margin:0 0 26px;font:9px/2.1 monospace}.pause-panel button{width:100%;min-width:0;display:block}.pause-panel button:focus-visible{outline-offset:-5px;outline:2px solid #f4ddb0}.pause-panel .secondary{margin-top:10px}.pause-shortcut{letter-spacing:2px;color:#929e81;margin:20px 0 0;font:8px monospace}@media (width<=420px){#pause-menu{padding:16px}.pause-panel{max-height:calc(100dvh - 32px);padding:26px 18px}.pause-reminder{font-size:8px}}@media (pointer:coarse) and (orientation:landscape) and (width>=651px) and (height<=550px){header{gap:16px;top:12px;left:16px;right:16px}.brand{font-size:19px}.brand small,.live,#telemetry,.controls{display:none}#field-actions{gap:5px;top:10px;bottom:auto;right:16px}#field-actions button{padding:6px 8px;font-size:8px}.quality-control{gap:5px}.quality-control select{max-width:110px}#mission{letter-spacing:1px;width:60%;max-width:520px;padding:6px 10px;font-size:8px;top:48px}#scoreboard{top:48px;right:16px}#scoreboard>.label{display:none}#score{margin:0 0 2px;font-size:24px}.wave{font-size:8px}.wave b{font-size:15px}.wave span{margin-top:3px;font-size:7px}#notice{letter-spacing:1px;max-width:55%;font-size:11px;top:29%}#touch{z-index:3;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid;position:fixed;bottom:10px;left:16px;right:16px}#touch button{letter-spacing:1px;color:#d5d9b4;touch-action:none;background:#293224ed;border:1px solid #89976b;min-width:0;min-height:44px;padding:10px 4px;font-size:9px}footer{gap:14px;bottom:66px;left:16px;right:16px}.meter{width:156px;padding:7px 9px}.meter .label{letter-spacing:1px;font-size:7px}.meter .bar{height:4px;margin-top:4px}.meter .boost-label{margin-top:6px}.speed{gap:8px}.speed strong{letter-spacing:-2px;font-size:32px}.speed span{font-size:7px}#weapon{font-size:8px;line-height:1.7;bottom:67px;right:16px}#menu{overflow:auto}.menu-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px;margin:68px 32px 62px;display:grid;position:relative;top:auto;left:auto}.menu-copy .eyebrow{letter-spacing:2px;grid-column:1/-1;font-size:7px}.menu-copy h1{letter-spacing:-5px;grid-area:2/1/5;margin:18px 0 12px;font-size:76px}.menu-copy .subtitle{letter-spacing:4px;grid-area:5/1;font-size:9px}.menu-copy p{grid-area:2/2;max-width:none;margin:12px 0;font-size:11px;line-height:1.5}.menu-copy #start{grid-area:3/2;min-width:0;min-height:44px;padding:12px 16px;font-size:11px}.menu-copy #demo{grid-area:4/2;min-width:0;min-height:38px;padding:10px 12px;font-size:9px}.menu-copy .hint{display:none}.edition{letter-spacing:1px;font-size:7px;bottom:12px;left:32px;right:32px}body[data-mode=menu] #field-actions{top:auto;bottom:32px;right:32px}#pause-menu{padding:12px}.pause-panel{width:min(390px,100%);max-height:calc(100dvh - 24px);padding:18px 24px}.pause-panel h2{margin:13px 0 18px;font-size:38px}.pause-reminder,.pause-shortcut{display:none}.pause-panel button{min-height:44px;padding:12px 16px;font-size:11px}.pause-panel .secondary{margin-top:8px}}
