*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:#0b132b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#game{display:block;width:100%;height:100%}#hud{position:fixed;left:0;top:0;right:0;padding:14px 18px;pointer-events:none;display:flex;flex-direction:column;gap:4px;text-shadow:0 1px 3px rgba(0,0,0,.6)}#title{font-size:20px;font-weight:700;letter-spacing:.5px}#title .ver{font-size:12px;font-weight:600;background:#ffffff2e;padding:2px 7px;border-radius:6px;vertical-align:middle}#controls{font-size:13px;opacity:.9}#controls b{color:#ffd166}@media (max-width: 600px){#controls{font-size:11px}}#overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 0%,#1b3a6b,#0c1a33 70%);z-index:50;font-family:system-ui,-apple-system,sans-serif;color:#eaf2ff}#overlay.hidden{display:none}.card{background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px 26px;width:min(92vw,360px);backdrop-filter:blur(8px);box-shadow:0 20px 60px #00000073}.card h1{margin:0 0 2px;font-size:26px;letter-spacing:.5px}.card .sub{margin:0 0 18px;font-size:13px;color:#9fb6d8}.row{display:flex;gap:10px;margin-top:18px}.btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.btn.primary{background:#4f9bff;color:#06122a}.btn.ghost{background:#ffffff1a;color:#eaf2ff}.btn.admin{background:#f5b43c26;color:#ffd27a;border:1px solid rgba(245,180,60,.5)}.card select,.card input{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:#fff;font-size:15px;outline:none}.card input:focus{border-color:#4f9bff}.err{min-height:18px;margin-top:12px;color:#ff8d8d;font-size:13px}.or{display:flex;align-items:center;gap:10px;color:#7e95ba;font-size:12px;margin:16px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:#ffffff24}.status{font-size:14px;text-align:center;color:#bcd2f4;line-height:1.6}.spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.2);border-top-color:#4f9bff;border-radius:50%;margin:14px auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.foot{margin-top:16px;text-align:center;font-size:12px;color:#9fb6d8}.foot a{color:#7db4ff;cursor:pointer}#mini2d{position:fixed;inset:0;z-index:60;background:#0c2a16;font-family:Courier New,monospace;color:#eaf2ff}#mini2d-cv{display:block;width:100%;height:100%;touch-action:none;image-rendering:pixelated;image-rendering:crisp-edges}#mini2d-top{position:fixed;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;pointer-events:none}#mini2d-top button{pointer-events:auto;background:#0006;color:#eaf2ff;border:1px solid rgba(255,255,255,.2);border-radius:9px;padding:8px 12px;font-size:14px;font-weight:700;cursor:pointer}#mini2d-top button:active{background:#0009}#mini2d-score{font-size:22px;font-weight:800;letter-spacing:2px;text-shadow:0 2px 0 rgba(0,0,0,.7);white-space:nowrap}#mini2d-help{position:fixed;left:0;right:0;bottom:8px;text-align:center;font-size:12px;color:#cfe5d6;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}@media (max-width:600px){#mini2d-help{font-size:10px}#mini2d-top button{font-size:12px;padding:7px 10px}}
