:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gold:#e9bd58;--panel:#141112e0;--border:#e9bd5880;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:#17191d;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:#21180c;cursor:pointer;background:linear-gradient(#f3cf78,#b9842c);border:1px solid #f1ca70;border-radius:6px;padding:.7rem 1rem;font-weight:750}button:hover{filter:brightness(1.08)}button:disabled{cursor:wait;opacity:.6}button.secondary{color:#f5dfb0;background:#30261b}.hidden{display:none!important}#canvas-root,#canvas-root canvas{width:100%;height:100%;position:fixed;inset:0}.overlay{z-index:100;background:linear-gradient(#0d0e1173,#0d0e11d1),url(/img/bg.jpg) 50%/cover;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.auth-card,.loading-card{border:1px solid var(--border);text-align:center;background:linear-gradient(145deg,#2a1f19f5,#0d0e11f5);border-radius:12px;width:min(440px,100%);padding:2rem;box-shadow:0 22px 80px #0000008c}.auth-card h1{color:var(--gold);letter-spacing:.04em;text-shadow:0 4px 15px #000;margin:.15rem 0 .5rem;font-family:Georgia,serif;font-size:clamp(2.8rem,10vw,4.6rem);line-height:1}.eyebrow{color:#bba77e;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.75rem}#auth-form{text-align:left;gap:.8rem;margin-top:1.5rem;display:grid}#auth-form label{color:#d7c9ac;gap:.35rem;display:grid}input{color:#fff;background:#0006;border:1px solid #655339;border-radius:6px;outline:none;width:100%;padding:.72rem .8rem}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e9bd5826}.auth-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.form-error{color:#ff8f84;min-height:1.2em;margin:0}.auth-help{color:#978a73;margin-bottom:0;font-size:.82rem}.loader{border:4px solid #ffffff26;border-top-color:var(--gold);border-radius:50%;width:42px;height:42px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#hud{z-index:20;pointer-events:none;position:fixed;inset:0}.status-panel,.online,.leaderboard{border:1px solid var(--border);background:var(--panel);position:absolute;box-shadow:0 5px 20px #00000059}.status-panel{pointer-events:auto;border-radius:8px;align-items:baseline;gap:.8rem;padding:.7rem .9rem;display:flex;top:14px;left:14px}#player-label{color:var(--gold)}#logout-button{color:#d7c9ac;background:#30261b;border-color:#756143;padding:.35rem .55rem;font-size:.72rem}.bars{width:min(420px,100vw - 28px);position:absolute;bottom:60px;left:14px}.bar{background:#000000b8;border:1px solid #111;height:24px;margin-top:6px;position:relative;overflow:hidden}.bar span{width:100%;height:100%;transition:width .12s linear;display:block}.bar b{text-shadow:0 1px 2px #000;place-items:center;font-size:.78rem;display:grid;position:absolute;inset:0}.bar.health span{background:linear-gradient(#e75243,#8d1717)}.bar.xp span{background:linear-gradient(#4aa5e8,#22518e)}.online{border-radius:8px;padding:.5rem .7rem;top:14px;right:14px}.leaderboard{border-radius:8px;width:220px;margin:0;padding:.7rem .7rem .7rem 2.1rem;font-size:.82rem;top:55px;right:14px}.leaderboard:before{content:"Leaderboard";color:var(--gold);margin-left:-1.2rem;font-weight:700;display:block}.controls{color:#ffffffc7;text-shadow:0 2px 4px #000;white-space:nowrap;margin:0;font-size:.8rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}#chat{z-index:30;width:min(390px,100vw - 28px);position:fixed;bottom:52px;right:14px}#chat-messages{background:linear-gradient(#0000,#00000094);max-height:180px;padding:.55rem;font-size:.82rem;overflow:hidden}.chat-message{text-shadow:0 1px 2px #000;margin-top:.25rem}.chat-name{color:var(--gold);font-weight:700}#chat-input{padding:.55rem .7rem}#perf-hud{z-index:40;color:#9fffe6;pointer-events:none;background:#000000b8;border-radius:5px;margin:0;padding:.45rem .65rem;font:12px/1.4 ui-monospace,monospace;position:fixed;top:12px;left:50%;transform:translate(-50%)}#floating-layer{z-index:25;pointer-events:none;position:fixed;inset:0}.floating-text{text-shadow:0 2px 3px #000;font-weight:800;animation:.9s ease-out forwards float-away;position:absolute}@keyframes float-away{to{opacity:0;transform:translateY(-50px)}}@media (max-width:760px){.leaderboard{display:none}.controls{font-size:.68rem}}
