#hud{pointer-events:none;position:fixed;inset:0}#readout{text-shadow:0 1px 2px #000;background:#00000059;border-radius:6px;padding:8px 12px;font-size:14px;line-height:1.5;position:absolute;bottom:16px;left:16px}#readout b{color:#ffd27a;font-weight:600}#mode{letter-spacing:.15em;background:#0006;border-radius:4px;padding:4px 10px;font-size:13px;position:absolute;top:16px;left:50%;transform:translate(-50%)}#mode.stick{background:#b01e1ebf}#stickbox{background:#00000059;border:1px solid #f3ead799;border-radius:6px;width:120px;height:120px;position:absolute;bottom:16px;right:16px}#stickbox:before,#stickbox:after{content:"";background:#f3ead740;position:absolute}#stickbox:before{width:1px;top:0;bottom:0;left:50%}#stickbox:after{height:1px;top:50%;left:0;right:0}#stickdot{background:#ffd27a;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}#rudderbar{background:#00000059;border:1px solid #f3ead799;border-radius:3px;width:120px;height:6px;position:absolute;bottom:142px;right:16px}#rudderdot{background:#ffd27a;width:4px;height:10px;margin-left:-2px;position:absolute;top:-2px;left:50%}#throttlebar{background:#00000059;border:1px solid #f3ead799;border-radius:3px;width:8px;height:120px;position:absolute;bottom:16px;right:144px;overflow:hidden}#throttlefill{background:#ffd27a;height:60%;position:absolute;bottom:0;left:0;right:0}#attrib{opacity:.8;text-align:right;text-shadow:0 1px 2px #000;max-width:40vw;font-size:10px;position:absolute;bottom:16px;right:166px}#aim{background:#fff;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;transition:all .12s;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000,0 0 0 1px #00000080}#aim.hover{background:0 0;border:2px solid #ffd27a;width:18px;height:18px;margin:-9px 0 0 -9px;box-shadow:0 0 3px #000}#aim.hidden{opacity:0}#hint{color:#ffd27a;text-shadow:0 1px 2px #000;white-space:nowrap;font-size:12px;position:absolute;top:calc(50% + 22px);left:50%;transform:translate(-50%)}#weapon{text-align:right;text-shadow:0 1px 2px #000;background:#00000059;border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.5;position:absolute;top:16px;right:16px}#weapon b{color:#ffd27a;font-weight:600}#markers{position:absolute;inset:0;overflow:hidden}.marker{color:#d7d7d2bf;width:0;height:0;position:absolute}.marker.enemy{color:#ff5a4ad9}.marker i{box-sizing:border-box;clip-path:polygon(0 0,35% 0,35% 12%,65% 12%,65% 0,100% 0,100% 35%,88% 35%,88% 65%,100% 65%,100% 100%,65% 100%,65% 88%,35% 88%,35% 100%,0 100%,0 65%,12% 65%,12% 35%,0 35%);border:1px solid;border-radius:3px;width:10px;height:10px;position:absolute;top:-5px;left:-5px}.marker.target i{transform:rotate(45deg)scale(.8)}.marker.near i{border-width:1.5px;width:22px;height:22px;top:-11px;left:-11px}.marker span{white-space:nowrap;text-shadow:0 1px 2px #000;font-size:10px;display:none;position:absolute;top:14px;left:0;transform:translate(-50%)}.marker.near span{display:block}.marker.off i{clip-path:polygon(0 0,100% 50%,0 100%,28% 50%);width:16px;height:16px;transform:rotate(var(--a)) scale(var(--s,1));background:currentColor;border:none;border-radius:0;top:-8px;left:-8px}.marker.off.target i{transform:rotate(var(--a)) scale(calc(var(--s,1) * .8))}.marker.off span{display:none}.marker.waypoint i{clip-path:none;border:1.5px solid;border-radius:50%;width:14px;height:14px;top:-7px;left:-7px}.marker.waypoint span{letter-spacing:.05em;font-size:10px;display:block;top:12px}.marker.objective{color:#ffc85ae6}.marker.objective i{border-radius:2px;transform:rotate(45deg)}.marker.base{color:#8cdc96d9}#damage{opacity:0;background:radial-gradient(#0000 55%,#aa00008c 100%);position:absolute;inset:0}#message{letter-spacing:.08em;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;display:flex;position:absolute;top:16px;left:16px}#message div{text-shadow:0 1px 2px #000;background:#00000059;border-radius:4px;padding:3px 8px}#warn{letter-spacing:.15em;color:#ff6b5a;text-shadow:0 1px 3px #000;font-size:14px;display:none;position:absolute;top:48px;left:50%;transform:translate(-50%)}#warn.on{animation:.5s steps(2,start) infinite blink;display:block}@keyframes blink{to{visibility:hidden}}canvas{transition:filter .6s}canvas.dead{filter:grayscale()brightness(.85)}#hud.hidden>:not(#aim):not(#hint):not(#damage){display:none!important}
