*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Arial,Helvetica,sans-serif;color:#fff;user-select:none;-webkit-user-select:none;touch-action:none}
#scene-container{position:fixed;inset:0}
button{font-family:Arial,Helvetica,sans-serif;cursor:pointer}
#flash{position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(255,0,0,0) 40%,rgba(200,0,0,.6));opacity:0;pointer-events:none;transition:opacity .4s}
#tl{position:fixed;top:12px;left:14px;display:flex;gap:14px;z-index:5}
.circ{width:38px;height:38px;border-radius:50%;background:rgba(30,30,30,.75);border:none;display:flex;align-items:center;justify-content:center}
.circ:hover{background:rgba(60,60,60,.85)}
.rbxicon{width:17px;height:17px;background:#fff;border-radius:3px;transform:rotate(15deg);position:relative}
.rbxicon::after{content:"";position:absolute;left:6px;top:6px;width:5px;height:5px;background:#2a2a2a}
#chatlog{position:fixed;top:60px;left:14px;width:380px;max-width:70vw;font-size:14px;font-weight:bold;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;z-index:5;pointer-events:none}
#chatlog div{margin-bottom:2px;transition:opacity 1s}
#tr{position:fixed;top:4px;right:4px;width:400px;max-width:60vw;min-height:54px;background:rgba(150,150,150,.55);z-index:5;padding:3px 4px}
.trrow{display:flex;gap:4px}
.sq{width:30px;height:22px;background:#111;border:1px solid #555;display:flex;align-items:center;justify-content:center}
.sq.on{border-color:#2d2}
#rendlabel{font-size:12px;font-weight:bold;margin:5px 0 0 20px;text-shadow:0 0 2px #333}
#stats{font:11px monospace;margin:3px 0 0 20px;color:#eee;display:none}
#objbox{position:fixed;top:64px;right:4px;width:230px;background:rgba(40,40,40,.6);border:1px solid #222;font-size:12px;padding:5px 7px;z-index:5;line-height:1.5}
#objbox .h{font-weight:bold;border-bottom:1px solid #555;margin-bottom:3px;color:#ffd}
#objbox .d{color:#6d6;text-decoration:line-through}
#bl{position:fixed;left:4px;bottom:24px;z-index:5;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
#btnLock{background:rgba(40,40,40,.6);border:1px solid #666;color:#fff;font-size:12px;font-weight:bold;padding:4px 7px;display:flex;align-items:center;gap:5px}
#lockico{width:10px;height:12px;position:relative;display:inline-block}
#lockico::before{content:"";position:absolute;left:1px;top:0;width:6px;height:5px;border:2px solid #fff;border-bottom:none;border-radius:4px 4px 0 0;transform:translateX(3px)}
#lockico::after{content:"";position:absolute;left:0;bottom:0;width:10px;height:7px;background:#fff}
#lockico.locked::before{transform:none}
.grarrow{color:#2c2;font-size:11px}
#btnMenu{width:46px;height:36px;background:rgba(40,40,40,.6);border:1px solid #666;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px}
#bc{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center}
#hotbar{display:flex;gap:4px;margin-bottom:6px;margin-left:110px}
.slot{width:50px;height:50px;background:rgba(80,80,80,.5);border:2px solid rgba(30,30,30,.6);position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}
.slot.sel{background:#000;border:2px solid #d22}
.slot .n{position:absolute;left:3px;top:0;font-size:13px;font-weight:bold}
.slot img{width:38px;height:38px;image-rendering:pixelated}
.slot .c{position:absolute;right:3px;bottom:1px;font-size:10px}
#hprow{display:flex;align-items:flex-start;gap:44px}
#btnBackpack{background:rgba(90,90,90,.6);border:1px solid #444;color:#fff;font-size:10px;font-weight:bold;padding:3px 8px;display:flex;align-items:center;gap:4px}
#hpbar{width:170px;height:15px;background:#400;border:2px solid #111;position:relative}
#hpfill{height:100%;width:100%;background:linear-gradient(#3d3,#1a1 60%,#170);transition:width .2s}
#hpbar span{position:absolute;right:6px;top:0;font-size:9px;font-weight:bold;letter-spacing:1px;line-height:11px}
#stambar{width:170px;height:4px;background:#222;margin-top:2px;border:1px solid #111}
#stamfill{height:100%;background:#8bf;width:100%}
#prompt{position:fixed;transform:translate(-50%,-50%);background:rgba(0,0,0,.6);border:1px solid #888;font-size:13px;font-weight:bold;padding:3px 8px;display:none;pointer-events:none;z-index:4;white-space:nowrap}
#holdbar{position:fixed;left:50%;top:60%;transform:translateX(-50%);width:160px;height:8px;border:1px solid #000;background:#333;display:none;z-index:4}
#holdfill{height:100%;width:0;background:#fc3}
#roundTimer{position:fixed;top:6px;left:50%;transform:translateX(-50%);min-width:170px;background:rgba(40,40,40,.6);border:1px solid #222;text-align:center;padding:3px 12px 4px;z-index:5;pointer-events:none}
#rtLabel{font-size:11px;font-weight:bold;letter-spacing:1px;color:#9cf}
#rtTime{font-size:34px;font-weight:bold;line-height:36px;text-shadow:2px 2px 0 #000}
#roundTimer.match #rtLabel{color:#f99}
#roundTimer.ending #rtLabel{color:#ccc}
#roundTimer.urgent #rtTime{color:#f44}
@media (max-width:760px){#roundTimer{top:52px;min-width:120px}#rtTime{font-size:24px;line-height:26px}}
#centerMsg{position:fixed;left:50%;top:32%;transform:translateX(-50%);font-size:26px;font-weight:bold;text-shadow:2px 2px 0 #000;text-align:center;pointer-events:none;z-index:6}
.win{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(60,60,60,.92);border:2px solid #111;z-index:20;min-width:300px}
.hidden{display:none}
.wintitle{background:#2b2b2b;padding:5px 8px;font-weight:bold;font-size:14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #000}
.x{background:#a22;color:#fff;border:1px solid #000;width:20px;height:18px;font-size:11px;font-weight:bold}
.bphint{font-size:11px;padding:5px 8px;color:#ccc}
#bpgrid{display:grid;grid-template-columns:repeat(5,56px);gap:5px;padding:8px}
#bpgrid .slot{width:56px;height:56px}
.mbody{padding:12px;display:flex;flex-direction:column;gap:8px}
.mbtn{background:#d9d9d9;color:#222;border:2px solid #555;padding:7px;font-weight:bold;font-size:14px}
.mbtn:hover{background:#fff}
.mbtn.big{font-size:20px;padding:10px 40px;margin-top:14px}
.mset{font-size:12px;display:flex;flex-direction:column;gap:6px;background:rgba(0,0,0,.3);padding:8px;border:1px solid #333}
.mset label{display:flex;justify-content:space-between;align-items:center;gap:8px}
#bestTime{font-size:11px;color:#bbb;text-align:center}
.overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(20,0,0,.6),rgba(0,0,0,.95));display:flex;align-items:center;justify-content:center;z-index:30}
.tbox{text-align:center;max-width:560px;padding:20px}
.tname{font-size:clamp(34px,8vw,60px);font-weight:900;letter-spacing:6px;color:#c11;text-shadow:3px 3px 0 #000,0 0 20px #600;font-family:"Arial Black",Arial,sans-serif}
.tsub{font-size:14px;color:#aaa;margin-bottom:14px}
.tdesc{font-size:15px;line-height:1.5;margin-bottom:10px}
.tkeys{font-size:11px;color:#999}
#chatbar{position:fixed;left:0;right:0;bottom:0;height:20px;background:rgba(20,20,20,.85);font-size:15px;line-height:20px;padding-left:2px;z-index:6;cursor:text}
#chatinput{position:fixed;left:0;bottom:0;width:100%;height:20px;background:#fff;color:#000;border:none;font-size:14px;padding:0 4px;z-index:7;display:none}
#remix{position:fixed;right:6px;bottom:22px;font-size:10px;color:#999;z-index:6}
#mobile{display:none}
@media (pointer:coarse){
  #mobile{display:block}
  #joy{position:fixed;left:30px;bottom:120px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.3);z-index:8}
  #knob{position:absolute;left:35px;top:35px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.4)}
  #mbtns{position:fixed;right:14px;bottom:110px;display:grid;grid-template-columns:60px 60px;gap:8px;z-index:8}
  #mbtns button{height:52px;background:rgba(40,40,40,.6);border:1px solid #888;color:#fff;font-weight:bold}
  #hotbar{margin-left:0}.slot{width:42px;height:42px}
  #hprow{gap:10px}#chatlog{font-size:11px}#objbox{top:auto;bottom:230px;width:170px;font-size:10px}
  #tr{width:200px}
}