:root{--dust:#d9cdb4;--rust:#b06a3a;--ink:#14110d}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--dust);-webkit-user-select:none;user-select:none;background:#0b0a08;font-family:Consolas,SF Mono,ui-monospace,monospace;overflow:hidden}#game{width:100vw;height:100vh;display:block}#loading{z-index:30;background:radial-gradient(circle at 50% 45%,#241d15 0%,#0b0a08 70%);place-items:center;transition:opacity .9s;display:grid;position:fixed;inset:0}.loading-inner{text-align:center}#loading h1{letter-spacing:.42em;color:var(--dust);text-shadow:0 0 28px #b06a3a73;font-size:clamp(1.6rem,5vw,3rem);font-weight:400}#loading p{letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-top:1.1rem;font-size:.78rem}.loading-bar{background:#d9cdb426;width:min(320px,60vw);height:2px;margin:2rem auto 0}#loading-fill{background:var(--rust);width:0%;height:100%;transition:width .35s}#start{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;cursor:pointer;background:#0b0a088c;place-items:center;display:grid;position:fixed;inset:0}.start-inner{text-align:center}#start h2{letter-spacing:.4em;text-transform:uppercase;font-size:1.1rem;font-weight:400}#start p{letter-spacing:.18em;opacity:.6;margin-top:.8rem;font-size:.75rem}#hud{z-index:10;pointer-events:none;position:fixed;inset:0}#controls{letter-spacing:.08em;opacity:.42;font-size:.7rem;transition:opacity .6s;position:absolute;bottom:20px;left:22px}#controls .row{align-items:center;gap:5px;margin-bottom:5px;display:flex}#controls span{text-transform:uppercase;opacity:.75;margin-left:6px}kbd{text-align:center;border:1px solid #d9cdb459;border-radius:2px;min-width:20px;padding:2px 5px;font-size:.62rem;line-height:1;display:inline-block}#stats{text-align:right;opacity:.5;white-space:pre;font-size:.68rem;line-height:1.55;position:absolute;top:18px;right:20px}#reticle{background:#f0e8d6b3;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #0b0a0873}#toast{letter-spacing:.14em;text-transform:uppercase;background:#0b0a088c;border:1px solid #d9cdb440;border-radius:2px;padding:6px 14px;font-size:.78rem;transition:opacity .5s;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.hidden{display:none!important}.faded{opacity:0!important}
