*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html,body{width:100%;height:100%;overflow:hidden;background-color:#000;color:#fff;font-family:Courier New,Courier,monospace,Lucida Console;touch-action:none}#game-container{position:relative;width:100vw;height:100vh;overflow:hidden;background-color:#000}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;background-color:#000}#hud-top{position:absolute;top:10px;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 16px;pointer-events:none;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;z-index:10}.hud-group{display:flex;align-items:center;gap:8px;pointer-events:auto}.hud-item{background:#000000bf;padding:5px 10px;border:1px solid rgba(255,255,255,.4);text-shadow:0 0 4px #ffffff}.hud-btn{background:#000000bf;color:#fff;border:1px solid rgba(255,255,255,.5);padding:5px 9px;font-family:inherit;font-size:11px;letter-spacing:1px;cursor:pointer;outline:none;transition:all .15s ease}.hud-btn:hover{background:#fff;color:#000;box-shadow:0 0 8px #fff}.hud-icon-btn{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;border-radius:2px}.hud-svg-icon{display:block;pointer-events:none;transition:stroke .15s ease,fill .15s ease}.hud-icon-btn:hover .hud-svg-icon{stroke:#000}.hud-icon-btn:hover .hud-svg-icon circle[fill=currentColor]{fill:#000}#touch-controls{position:absolute;bottom:0;left:0;width:100%;height:175px;display:flex;justify-content:space-between;align-items:flex-end;padding:14px 22px;pointer-events:none;z-index:25}.joystick-cluster{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.joystick-action-btn{background:#000000bf;color:#fff;border:1.5px solid #ffffff;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:1.5px;padding:6px 18px;border-radius:3px;cursor:pointer;outline:none;touch-action:manipulation;transition:all .1s ease;box-shadow:0 0 8px #ffffff40}.joystick-action-btn:active,.joystick-action-btn.active{background:#fff;color:#000;transform:scale(.95);box-shadow:0 0 14px #fff}.vector-joystick{position:relative;width:116px;height:116px;border-radius:50%;touch-action:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.joystick-base{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:radial-gradient(circle,#ffffff0a,#000000a6 65%,#000000d9);box-shadow:inset 0 0 14px #ffffff14,0 0 10px #ffffff26;pointer-events:none;transition:border-color .15s ease,box-shadow .15s ease}.vector-joystick.active .joystick-base{border-color:#ffffffd9;box-shadow:inset 0 0 16px #fff3,0 0 14px #ffffff4d}.joystick-crosshair-h{position:absolute;top:50%;left:14%;width:72%;height:1px;background:#ffffff38;transform:translateY(-50%)}.joystick-crosshair-v{position:absolute;top:14%;left:50%;width:1px;height:72%;background:#ffffff38;transform:translate(-50%)}.joystick-center-dot{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff6;transform:translate(-50%,-50%)}.joy-dir{position:absolute;font-size:11px;font-weight:700;color:#ffffff73;transition:all .08s ease;pointer-events:none;line-height:1}.joy-dir-top{top:7px;left:50%;transform:translate(-50%)}.joy-dir-bottom{bottom:7px;left:50%;transform:translate(-50%)}.joy-dir-left{left:7px;top:50%;transform:translateY(-50%)}.joy-dir-right{right:7px;top:50%;transform:translateY(-50%)}.joy-dir.active{color:#fff;text-shadow:0 0 8px #ffffff;transform:translate(-50%) scale(1.25)}.joy-dir-left.active,.joy-dir-right.active{transform:translateY(-50%) scale(1.25)}.joystick-knob{position:absolute;width:44px;height:44px;border-radius:50%;border:1.5px solid #ffffff;background:#000000d9;box-shadow:0 0 10px #ffffff59;pointer-events:none;display:flex;align-items:center;justify-content:center;will-change:transform;transition:background .15s ease,border-color .15s ease}.knob-inner-reticle{width:14px;height:14px;border-radius:50%;border:1px dashed rgba(255,255,255,.6)}.vector-joystick.active .joystick-knob{background:#fff3;border-color:#fff;box-shadow:0 0 14px #fff}#overlay-screen,.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:50;transition:opacity .2s ease}.modal-backdrop{z-index:60}#overlay-screen.hidden,.modal-backdrop.hidden{display:none!important;pointer-events:none!important}.vector-box{border:2px solid #ffffff;padding:24px 32px;max-width:640px;width:92%;max-height:90vh;display:flex;flex-direction:column;text-align:center;box-shadow:0 0 20px #fff3,inset 0 0 20px #ffffff14;background:#000;overflow:hidden}.legal-box-wide{max-width:760px}.level-select-box{max-width:820px}.vector-badge{display:inline-block;align-self:center;font-size:10px;letter-spacing:2px;border:1px solid rgba(255,255,255,.4);padding:2px 8px;color:#ccc;text-transform:uppercase}.vector-box h1,.vector-box .vector-badge,.vector-box .modal-sub,.vector-box p#overlay-subtitle,.vector-box .overlay-buttons,.vector-box .vector-instructions{flex-shrink:0}.vector-box h1{font-size:24px;letter-spacing:3px;margin-bottom:4px;text-shadow:0 0 8px #ffffff}.modal-sub,.vector-box p#overlay-subtitle{font-size:11px;letter-spacing:1.5px;color:#aaa;margin-bottom:16px;border-bottom:1px dashed rgba(255,255,255,.3);padding-bottom:8px}.modal-scroll-body,#overlay-body{font-size:13px;line-height:1.6;text-align:left;overflow-y:auto;overflow-x:hidden;padding-right:8px;margin-bottom:16px;flex:1 1 auto;min-height:0;max-height:52vh;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.4) transparent}.modal-scroll-body::-webkit-scrollbar,#overlay-body::-webkit-scrollbar{width:6px}.modal-scroll-body::-webkit-scrollbar-track,#overlay-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.modal-scroll-body::-webkit-scrollbar-thumb,#overlay-body::-webkit-scrollbar-thumb{background:#fff6;border-radius:3px}.modal-scroll-body::-webkit-scrollbar-thumb:hover,#overlay-body::-webkit-scrollbar-thumb:hover{background:#ffffffb3}.legal-sec{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dotted rgba(255,255,255,.2)}.legal-heading{font-size:12px;letter-spacing:1.5px;color:#fff;margin-bottom:6px;text-transform:uppercase}.legal-sec p{margin-bottom:8px;color:#ddd}.legal-contact-panel{background:#ffffff14;border:1px solid rgba(255,255,255,.3);padding:8px 12px;margin:10px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px}.contact-label{font-weight:700;letter-spacing:1px}.contact-val{color:#fff;font-weight:700}.legal-bullets{list-style:square;padding-left:20px;color:#ccc;font-size:12px;line-height:1.5}.legal-bullets li{margin-bottom:4px}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;overflow-y:auto;max-height:52vh;padding-right:6px;text-align:left;margin-bottom:14px}.level-card{border:1.5px solid rgba(255,255,255,.35);background:#000000b3;padding:12px 14px;cursor:pointer;transition:all .15s ease;position:relative}.level-card:hover:not(.locked){border-color:#fff;background:#ffffff1a;box-shadow:0 0 10px #ffffff4d;transform:translateY(-2px)}.level-card.active{border-color:#fff;box-shadow:0 0 12px #fff;background:#ffffff1f}.level-card.locked{opacity:.45;cursor:not-allowed;border-style:dashed}.level-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;border-bottom:1px dotted rgba(255,255,255,.2);padding-bottom:4px}.level-card-title{font-size:14px;font-weight:700;letter-spacing:1.5px}.level-card-badge{font-size:9px;padding:1px 4px;border:1px solid rgba(255,255,255,.4)}.level-card-meta{font-size:11px;color:#bbb;line-height:1.5}#overlay-body .stat-row{display:flex;justify-content:space-between;margin:5px 0;border-bottom:1px dotted rgba(255,255,255,.2);padding-bottom:2px}.overlay-buttons{margin-bottom:14px;flex-shrink:0}.vector-btn{background:transparent;color:#fff;border:2px solid #ffffff;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:1.5px;cursor:pointer;transition:all .15s ease;box-shadow:0 0 10px #fff3}.vector-btn:hover,.vector-btn:focus{background:#fff;color:#000;box-shadow:0 0 18px #fff}.vector-instructions{font-size:11px;color:#aaa;line-height:1.6;border-top:1px solid rgba(255,255,255,.2);padding-top:10px;text-align:left}.vector-instructions p{margin:3px 0}@media(hover:hover)and (pointer:fine){#touch-controls{opacity:.25;transition:opacity .3s ease}#touch-controls:hover{opacity:1}}@media(max-width:768px){#hud-top{font-size:10px;padding:0 6px}.hud-item{padding:3px 6px}.hud-btn{padding:3px 6px;font-size:9px}.hud-icon-btn{width:24px;height:24px;padding:0}.vector-box{padding:16px}.vector-box h1{font-size:18px}#touch-controls{height:155px;padding:10px 14px}.vector-joystick{width:102px;height:102px}.joystick-knob{width:38px;height:38px}.knob-inner-reticle{width:12px;height:12px}.joystick-action-btn{font-size:11px;padding:4px 14px}.joy-dir{font-size:10px}.level-grid{grid-template-columns:1fr}}@media(max-height:650px){.vector-box{padding:14px 20px;max-height:94vh}.vector-box h1{font-size:19px;margin-bottom:2px}.modal-sub,.vector-box p#overlay-subtitle{font-size:10px;margin-bottom:8px;padding-bottom:4px}.modal-scroll-body,#overlay-body{margin-bottom:10px;font-size:12px;max-height:48vh}.overlay-buttons{margin-bottom:8px}.vector-btn{padding:7px 18px;font-size:12px}.vector-instructions{padding-top:6px;font-size:9.5px;line-height:1.4}.vector-instructions p{margin:1px 0}}
