:root{--bg:#070a0e;--panel:rgba(10,14,20,.86);--line:rgba(255,255,255,.14);--text:#f5f7fb;--muted:#9aa4b2;--gold:#d7aa4b;--blue:#5aa8ff;--danger:#ff5b68}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif}button,input{font:inherit}button{touch-action:manipulation}.hidden{display:none!important}#renderCanvas{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none}.screen{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:18px}.screen.active{display:flex}.glass{background:var(--panel);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.42)}.loading-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(41,91,151,.35),transparent 42%),linear-gradient(160deg,#101824,#05070a 70%)}.loading-card{position:relative;width:min(560px,92vw);padding:30px;border-radius:22px}.brand{font-weight:900;letter-spacing:.22em;font-size:clamp(38px,9vw,84px);color:#f2d18b;text-shadow:0 0 26px rgba(215,170,75,.23)}.brand.small{font-size:34px}.brand.tiny{font-size:22px}.subtitle,.muted,.hint{color:var(--muted)}.bar{height:5px;background:#202832;border-radius:99px;margin:26px 0 10px;overflow:hidden}.bar>div{height:100%;width:0;background:linear-gradient(90deg,#5aa8ff,#d7aa4b);transition:width .25s}.loading-row{display:flex;justify-content:space-between;font-size:12px;color:#ccd3dd}.auth-card{width:min(420px,94vw);padding:26px;border-radius:22px}.auth-card h1{margin:22px 0 4px}.auth-card label{display:block;font-size:12px;color:#ccd3dd;margin-top:15px}.auth-card input{width:100%;margin-top:7px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#0b1119;color:white;outline:none}.auth-card input:focus{border-color:#5aa8ff}.primary,.secondary,.ghost,.icon-btn,.pill,.admin-panel button,.play-buttons button{border:1px solid var(--line);border-radius:12px;background:#182331;color:white;font-weight:800}.primary{background:linear-gradient(135deg,#176fc5,#398fe4);border-color:#5aa8ff}.secondary{background:#3a2b14;border-color:#7d6333}.ghost{background:transparent}.auth-card button{width:100%;padding:13px;margin-top:12px}.msg{min-height:18px;color:#ff8a92;font-size:12px}.lobby-top{position:absolute;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;align-items:center}.badge{display:inline-block;margin-top:7px;font-size:10px;letter-spacing:.1em;padding:5px 8px;border-radius:20px;background:#182331}.icon-btn{padding:10px 14px}.lobby-panel{position:absolute;left:18px;right:18px;bottom:18px;display:flex;gap:20px;justify-content:space-between;align-items:flex-end;padding:22px;border-radius:22px}.lobby-copy{max-width:580px}.lobby-copy h2{font-size:clamp(28px,6vw,56px);margin:5px 0}.eyebrow{font-size:11px;letter-spacing:.18em;color:#d7aa4b}.lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(410px,100%)}.lobby-actions button{padding:14px}.big{grid-column:span 2}.hud{position:fixed;inset:0;z-index:20;pointer-events:none}.hud-top{position:absolute;left:10px;top:max(10px,env(safe-area-inset-top));display:flex;gap:8px}.pill{padding:8px 11px;pointer-events:auto;font-size:11px}.subtle{opacity:.75}.minimap{position:absolute;right:10px;top:max(10px,env(safe-area-inset-top));width:132px;height:86px;border:1px solid rgba(255,255,255,.28);border-radius:13px;overflow:hidden;background:#07101a;box-shadow:0 6px 20px rgba(0,0,0,.35)}.minimap img{width:100%;height:100%;object-fit:cover;opacity:.72}.minimap span{position:absolute;width:8px;height:8px;background:white;border:2px solid #2e82e6;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #5aa8ff}.fps{position:absolute;right:14px;top:104px;font-size:10px;color:#d7dee8}.stick{position:fixed;left:22px;bottom:26px;width:118px;height:118px;border-radius:50%;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);z-index:25;touch-action:none}.knob{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.28);transform:translate(-50%,-50%)}.right-pad{position:fixed;right:0;top:0;width:54vw;height:100vh;z-index:18;touch-action:none}.play-buttons{position:fixed;right:20px;bottom:28px;display:flex;flex-direction:column;gap:8px;z-index:26}.play-buttons button{padding:13px 15px;background:rgba(15,22,31,.75)}.admin-panel{position:fixed;z-index:40;left:10px;right:10px;bottom:10px;max-height:44vh;overflow:auto;background:rgba(8,12,18,.93);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 10px 40px rgba(0,0,0,.46)}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head button{width:36px;height:32px}.tabs{display:flex;gap:7px;margin:10px 0}.tabs button{padding:9px 11px;background:#111923}.tabs button.active{background:#244d76}.tab{display:none}.tab.active{display:block}.category{margin:8px 0}.category>span{font-size:10px;color:#9aa4b2;letter-spacing:.12em}.asset-row{display:flex;gap:6px;overflow-x:auto;padding:7px 0}.asset-row button,.tool-row button,.rotate-row button,.nudge-grid button{padding:9px 11px;white-space:nowrap}.asset-row button.active{outline:2px solid #5aa8ff}.selected-name{font-weight:900;margin:7px 0}.nudge-grid{display:grid;grid-template-columns:48px 48px 48px;gap:5px;justify-content:center}.rotate-row,.tool-row{display:flex;gap:6px;margin:9px 0}.rotate-row button,.tool-row button{flex:1}.range{display:grid;grid-template-columns:62px 1fr 48px;align-items:center;gap:8px;font-size:10px;color:#aab4c0;margin:9px 0}.range input{width:100%}.danger{background:#4c1720!important;border-color:#81303b!important}.toggle{display:block;margin:10px 2px;font-size:12px;color:#ced5df}#toast{position:fixed;z-index:99;left:50%;bottom:160px;transform:translateX(-50%);background:rgba(8,11,16,.9);border:1px solid var(--line);padding:9px 13px;border-radius:11px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}@media(max-width:720px){.lobby-panel{display:block}.lobby-actions{margin-top:18px;width:100%}.lobby-copy p{font-size:13px}.minimap{width:116px;height:76px}.fps{top:94px}.admin-panel{max-height:48vh}}@media(min-width:900px){.admin-panel{left:14px;right:auto;bottom:14px;width:430px;max-height:72vh}.stick{width:130px;height:130px}.right-pad{width:48vw}}
