html,body{margin:0;height:100%;overflow:hidden;background:#1a1716;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;color:#fff;user-select:none}#game{position:fixed;inset:0}#game canvas{display:block}[hidden]{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;text-shadow:1px 1px 0 #000}#crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 2px #000}#status{position:absolute;top:14px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:20px;background:#00000073;font-size:15px;font-weight:900;letter-spacing:2px;color:#ffd21f;white-space:nowrap}#tool{position:absolute;left:50%;bottom:74px;transform:translate(-50%);padding:5px 14px;border-radius:8px;border-left:8px solid #fff;background:#00000080;font-size:16px;font-weight:900;white-space:nowrap}#palette{position:absolute;left:50%;bottom:36px;transform:translate(-50%);display:flex;gap:4px}#palette .swatch{width:26px;height:26px;padding:0;border:2px solid rgba(0,0,0,.6);border-radius:6px;cursor:pointer}#palette .swatch.on{border-color:#fff;transform:translateY(-5px) scale(1.15);box-shadow:0 0 0 2px #000}#feed{position:absolute;right:18px;bottom:120px;max-width:420px;text-align:right;font-size:14px}#feed div{margin-top:4px;animation:fadeout 6s forwards}@keyframes fadeout{0%,80%{opacity:1}to{opacity:0}}#hint{position:absolute;top:58%;width:100%;text-align:center;font-size:17px}#help{position:absolute;bottom:10px;left:18px;right:18px;font-size:12px;text-align:center;color:#ffffffbf}#lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#00000059;font-size:30px;font-weight:900;letter-spacing:4px;text-shadow:2px 2px 0 #000}#lock small{font-size:13px;font-weight:400;letter-spacing:1px}#vr-enter{position:absolute;left:18px;top:14px;pointer-events:auto;padding:8px 14px;font:900 14px/1 Trebuchet MS,sans-serif;letter-spacing:2px;border:none;border-radius:8px;cursor:pointer;color:#fff;background:linear-gradient(90deg,#0984e3,#6c5ce7)}#lobby{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 15% 20%,rgba(255,95,174,.35),transparent 45%),radial-gradient(circle at 85% 30%,rgba(76,195,255,.3),transparent 45%),radial-gradient(circle at 50% 95%,rgba(255,210,31,.3),transparent 50%),#1a1716;padding:16px;overflow:auto}#lobby .panel{width:min(480px,100%);background:#0000008c;border:2px solid rgba(255,255,255,.12);border-radius:14px;padding:26px 28px;backdrop-filter:blur(6px)}#lobby h1{margin:0;font-size:50px;letter-spacing:3px;background:linear-gradient(90deg,#ff5fae,#ffd21f,#4cc3ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #000);transform:rotate(-2deg)}#lobby .tag{margin:4px 0 18px;color:#dfe6e9}#lobby label{display:block;margin:10px 0;font-size:13px;color:#b2bec3;text-transform:uppercase;letter-spacing:1px}#lobby input,#lobby select{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:9px 10px;font-size:16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff}#lobby select option{color:#000}#lobby .buttons{display:flex;gap:10px;margin-top:16px}#lobby button{flex:1;padding:12px;font-size:20px;font-weight:900;letter-spacing:3px;border:none;border-radius:10px;cursor:pointer;color:#1b1b1b;background:linear-gradient(90deg,#ffd21f,#ff5fae)}#lobby #play-vr{color:#fff;background:linear-gradient(90deg,#0984e3,#6c5ce7)}#lobby button:disabled{cursor:default;filter:grayscale(1) brightness(.6)}#lobby button:not(:disabled):hover{filter:brightness(1.1)}#lobby .small{font-size:12px;color:#b2bec3;margin:10px 0 0}#lobby details summary{cursor:pointer;color:#dfe6e9}#lobby ul{padding-left:18px}#lobby a{color:#ffd21f}body.touch #help{display:none}body.touch #status{top:10px;padding:4px 12px;font-size:12px;letter-spacing:1px}body.touch #hud{z-index:16}body.touch #palette{pointer-events:auto;bottom:10px;flex-wrap:wrap;justify-content:center;width:min(300px,40%)}body.touch #palette .swatch{width:30px;height:30px}body.touch #tool{bottom:auto;top:44px;font-size:12px}body.touch #feed{left:calc(12px + env(safe-area-inset-left,0px));right:auto;top:58px;bottom:auto;max-width:44%;text-align:left;font-size:12px}body.touch #hint{top:30%;font-size:13px}body.touch .touch-chips{left:calc(12px + env(safe-area-inset-left,0px));top:10px}body.touch .touch-strip{top:60px;bottom:auto;max-height:none}
