@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--hud-green:#0f8;--hud-amber:#ffb347;--hud-blue:#8cf;--hud-dim:#00ff8826;--panel-bg:#040a14eb;--border:#00ff884d;--font:"Share Tech Mono", "Courier New", monospace}html,body{width:100%;height:100%;font-family:var(--font);color:var(--hud-green);background:#000;overflow:hidden}#canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#loading-screen{z-index:100;background:#000;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}#loading-screen.fade-out{opacity:0;pointer-events:none}.loading-inner{flex-direction:column;align-items:center;gap:18px;width:340px;display:flex}.loading-logo{letter-spacing:.3em;color:var(--hud-green);text-shadow:0 0 20px var(--hud-green);font-size:1.4rem;animation:2s ease-in-out infinite pulse}.loading-status{color:#0f89;letter-spacing:.15em;font-size:.75rem}.loading-bar{border:1px solid var(--border);background:#00ff8826;width:100%;height:2px}.loading-fill{background:var(--hud-green);width:0%;height:100%;box-shadow:0 0 8px var(--hud-green);transition:width .3s}.loading-hint{color:#00ff8859;letter-spacing:.2em;font-size:.65rem}#hud{top:calc(24px + env(safe-area-inset-top));left:calc(24px + env(safe-area-inset-left));color:#00ff8880;letter-spacing:.15em;pointer-events:none;flex-direction:column;gap:4px;font-size:.65rem;display:flex;position:fixed}#hud-speed{color:var(--hud-green)}#radar-btn{top:calc(24px + env(safe-area-inset-top));right:calc(24px + env(safe-area-inset-right));font-family:var(--font);letter-spacing:.18em;color:#0f89;cursor:pointer;z-index:60;background:0 0;border:1px solid #0f83;padding:5px 12px;font-size:.6rem;transition:color .2s,border-color .2s;position:fixed}#radar-btn:hover{color:var(--hud-green);border-color:#00ff8880}#radar-btn.active{color:var(--hud-green);border-color:var(--hud-green);box-shadow:0 0 10px #0f83}#mute-btn{border:1px solid var(--border);color:#00ff8873;font-family:var(--font);letter-spacing:.2em;cursor:pointer;pointer-events:all;background:0 0;margin-top:6px;padding:4px 10px;font-size:.6rem;transition:all .2s}#mute-btn:hover{color:var(--hud-green);border-color:var(--hud-green)}#mute-btn.muted{color:#0f83;border-color:#00ff881a;text-decoration:line-through}#proximity-label{pointer-events:none;background:var(--panel-bg);border:1px solid var(--border);color:var(--hud-green);letter-spacing:.15em;white-space:nowrap;opacity:1;padding:5px 12px;font-size:.65rem;transition:opacity .3s;position:fixed;transform:translate(-50%,-100%);box-shadow:0 0 12px #0f83}#proximity-label:after{content:"";border:4px solid #0000;border-top-color:var(--border);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}#proximity-label.hidden{opacity:0}.panel{background:var(--panel-bg);border:1px solid var(--border);opacity:1;z-index:50;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);width:min(520px,90vw);padding:32px;transition:opacity .4s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #00ff8814,inset 0 0 40px #00000080}.panel.hidden{opacity:0;pointer-events:none}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.panel-tag{letter-spacing:.3em;color:#00ff8880;font-size:.6rem}.panel-close{border:1px solid var(--border);color:#00ff8880;font-family:var(--font);cursor:pointer;letter-spacing:.15em;background:0 0;padding:4px 10px;font-size:.6rem;transition:all .2s}.panel-close:hover{color:var(--hud-green);border-color:var(--hud-green);box-shadow:0 0 8px #00ff884d}.panel h2{letter-spacing:.1em;color:#fff;text-shadow:0 0 20px #00ff884d;margin-bottom:12px;font-size:1.3rem}.panel p{color:#ffffffa6;letter-spacing:.05em;margin-bottom:20px;font-size:.75rem;line-height:1.7}.panel-tech{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tech-tag{color:var(--hud-blue);letter-spacing:.15em;border:1px solid #8cf6;padding:3px 10px;font-size:.6rem}.panel-actions{gap:12px;display:flex}.btn-primary,.btn-secondary{font-family:var(--font);letter-spacing:.2em;cursor:pointer;border:none;padding:10px 20px;font-size:.65rem;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--hud-green);color:#000}.btn-primary:hover{box-shadow:0 0 20px #00ff8880}.btn-secondary{color:var(--hud-green);border:1px solid var(--border);background:0 0}.btn-secondary:hover{border-color:var(--hud-green);box-shadow:0 0 12px #0f83}#contact-form{flex-direction:column;gap:10px;margin-top:8px;display:flex}#contact-form label{letter-spacing:.2em;color:#00ff8880;font-size:.6rem}#contact-form input,#contact-form textarea{border:1px solid var(--border);color:#fff;font-family:var(--font);resize:none;background:#00ff880a;outline:none;padding:8px 12px;font-size:.75rem;transition:border-color .2s}#contact-form input:focus,#contact-form textarea:focus{border-color:var(--hud-green)}#contact-form button{align-self:flex-start;margin-top:8px}#achievement-container{bottom:calc(24px + env(safe-area-inset-bottom));left:calc(24px + env(safe-area-inset-left));z-index:70;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.achievement-toast{background:#040a14eb;border:1px solid #00ff8859;min-width:220px;padding:10px 16px;transition:opacity .5s;animation:.3s forwards toast-slide-in;box-shadow:0 0 24px #00ff881f}.achievement-toast.toast-fade{opacity:0}.toast-tag{font-family:var(--font);letter-spacing:.28em;color:#00ff8873;margin-bottom:5px;font-size:.52rem}.toast-title{font-family:var(--font);letter-spacing:.1em;color:var(--hud-green);text-shadow:0 0 12px var(--hud-green);margin-bottom:3px;font-size:.85rem}.toast-desc{font-family:var(--font);letter-spacing:.08em;color:#ffffff73;font-size:.6rem}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){#achievement-container{bottom:auto;left:50%;top:calc(80px + env(safe-area-inset-top));align-items:center;transform:translate(-50%)}.achievement-toast{text-align:center;width:max-content;min-width:0;max-width:calc(100vw - 48px)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}#abduction-flash{opacity:0;pointer-events:none;z-index:90;background:#8df;transition:opacity .6s;position:fixed;inset:0}#abduction-flash.active{opacity:1;transition:opacity}#commander-msg{font-family:var(--font);letter-spacing:.25em;color:var(--hud-green);text-shadow:0 0 30px var(--hud-green), 0 0 60px var(--hud-green);text-align:center;pointer-events:none;opacity:1;z-index:80;white-space:nowrap;font-size:1.1rem;transition:opacity 1s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#commander-msg.hidden{opacity:0}#classic-link{top:calc(58px + env(safe-area-inset-top));right:calc(24px + env(safe-area-inset-right));font-family:var(--font);letter-spacing:.18em;color:#0f86;z-index:60;pointer-events:all;border:1px solid #00ff8826;padding:5px 12px;font-size:.6rem;text-decoration:none;transition:color .2s,border-color .2s;position:fixed}#classic-link:hover{color:var(--hud-green);border-color:#0f86}#joystick-zone{bottom:calc(40px + env(safe-area-inset-bottom));right:calc(40px + env(safe-area-inset-right));z-index:60;touch-action:none;user-select:none;width:140px;height:140px;display:none;position:fixed}#joystick-ring{-webkit-backdrop-filter:blur(12px)saturate(1.4);background:#ffffff0f;border:1.5px solid #00ff8840;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0d,0 8px 32px #0006,0 0 20px #00ff8814}#joystick-ring:before,#joystick-ring:after{content:"";background:#00ff881f;position:absolute}#joystick-ring:before{height:1px;top:50%;left:16px;right:16px;transform:translateY(-50%)}#joystick-ring:after{width:1px;top:16px;bottom:16px;left:50%;transform:translate(-50%)}#joystick-knob{-webkit-backdrop-filter:blur(6px);pointer-events:none;background:radial-gradient(circle at 38% 35%,#ffffff38 0%,#00ff881a 40%,#00b45014 100%);border:1.5px solid #00ff8873;border-radius:50%;width:54px;height:54px;transition:box-shadow .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffff1f,0 4px 16px #00000080,0 0 14px #00ff882e}#joystick-zone.active #joystick-knob{border-color:#00ff88bf;box-shadow:inset 0 0 0 1px #ffffff2e,0 4px 16px #00000080,0 0 22px #00ff8859}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
