@font-face{font-family:Bungee Inline;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bungee-inline-latin.woff2)format("woff2")}:root{--font-display:"Bungee Inline", system-ui, sans-serif;--accent-gold:#ffd54a}.retro{font-family:var(--font-display);letter-spacing:2px}*,:before,:after{box-sizing:border-box}html,body{color:#fff;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;background:#000;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}#game{outline:none;width:100vw;height:100vh;display:block}#hud{pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 2px 4px #000c;position:fixed;inset:0}.hud-top-right{font-family:var(--font-display);letter-spacing:3px;color:var(--accent-gold);text-align:right;text-shadow:0 2px #000,0 0 10px #0009;flex-direction:column;gap:8px;font-size:20px;display:flex;position:absolute;top:18px;right:18px}.hud-center{text-align:center;letter-spacing:2px;font-size:32px;font-family:var(--font-display);white-space:pre-line;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touch-controls{pointer-events:none;position:fixed;inset:0}.touch-stick{pointer-events:auto;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;width:140px;height:140px;position:absolute;bottom:80px;left:80px}.touch-stick-knob{pointer-events:none;background:#ffffff59;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:50%;left:50%}.touch-look{pointer-events:auto;width:50%;height:100%;position:absolute;top:0;right:0}.touch-buttons{pointer-events:none;grid-template-rows:repeat(2,70px);grid-template-columns:repeat(2,70px);gap:10px;display:grid;position:absolute;bottom:80px;right:40px}.touch-button{color:#fff;pointer-events:auto;background:#ffffff26;border:2px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font-size:18px;font-weight:700;display:flex}.touch-button:active{background:#fff6}.title-screen{background:#000 50%/contain no-repeat;justify-content:center;align-items:flex-end;padding-bottom:8vh;display:flex;position:absolute;inset:0}.title-prompt{font-family:var(--font-display);letter-spacing:4px;color:var(--accent-gold);text-shadow:0 2px #000,0 0 16px #ffd54a99;font-size:24px;animation:1.4s ease-in-out infinite title-prompt-pulse}@keyframes title-prompt-pulse{0%,to{opacity:1}50%{opacity:.35}}.lock-reticle{border:2px solid var(--accent-gold);pointer-events:none;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;display:none;position:absolute;box-shadow:0 0 12px #ffd54ab3,inset 0 0 10px #ffd54a66}.lock-reticle.active{display:block}.lock-reticle:before,.lock-reticle:after{content:"";background:var(--accent-gold);position:absolute}.lock-reticle:before{width:2px;height:8px;top:-6px;left:50%;transform:translate(-50%)}.lock-reticle:after{width:2px;height:8px;bottom:-6px;left:50%;transform:translate(-50%)}.char-select{flex-direction:column;justify-content:center;align-items:center;gap:48px;padding:60px;display:flex;position:absolute;inset:0}.char-select-title{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--accent-gold);text-shadow:0 3px #000,0 6px 18px #000c;font-size:56px}.char-select-cards{justify-content:center;align-items:center;gap:40px;display:flex}.char-card{background:#00000080;border:4px solid #ffffff40;border-radius:12px;flex-direction:column;align-items:center;gap:18px;width:320px;min-height:440px;padding:24px;transition:transform .12s,border-color .12s;display:flex}.char-card.selected{border-color:var(--accent-gold);transform:scale(1.08);box-shadow:0 0 32px #ffd54a73}.char-card.locked{opacity:.4;filter:grayscale(.8)}.char-card-thumb{object-fit:cover;background:#ffffff0d linear-gradient(135deg,#333 0%,#555 100%);border-radius:6px;width:260px;height:260px}.char-card-name{font-family:var(--font-display);letter-spacing:3px;font-size:32px}.char-card-lock{letter-spacing:3px;color:#ffb74a;text-transform:uppercase;font-size:15px}.char-select-hint{font-family:var(--font-display);letter-spacing:3px;opacity:.75;text-transform:uppercase;font-size:18px}
