*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:#87c3f5;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none}
#game{position:fixed;inset:0;width:100%;height:100%;display:block}
[hidden]{display:none!important}
.btn{background:#5aa83c;border:0;border-bottom:4px solid #2f6b1c;color:#fff;font-weight:700;border-radius:8px;cursor:pointer;font-size:16px;padding:10px 16px;display:inline-block;text-align:center}
.btn:active{transform:translateY(2px);border-bottom-width:2px}
.btn.big{font-size:22px;padding:14px;width:100%;margin-top:14px}
.btn.small{font-size:14px;padding:8px 12px}

#start{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;
  background:linear-gradient(#6fb6ef,#bfe3ff 60%,#5aa83c 60%,#5aa83c 64%,#7a5634 64%);}
#start .panel{background:rgba(20,30,20,.82);border-radius:14px;padding:18px;max-width:640px;width:100%;margin:auto}
#start h1{margin:0 0 12px;text-align:center;font-size:40px;letter-spacing:2px;text-shadow:3px 3px 0 #2f6b1c}
#start h1 span{color:#ffd54a}
.row{display:flex;gap:16px;flex-wrap:wrap}
.facebox{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;margin:auto}
#crop{width:170px;height:170px;border-radius:12px;background:#333;touch-action:none;cursor:grab;border:3px solid #ffd54a}
.facebtns{display:flex;flex-direction:column;align-items:center;gap:6px}
.facebtns input[type=range]{width:160px}
.fields{flex:1 1 240px;display:flex;flex-direction:column;gap:6px}
.fields label{font-weight:600;font-size:14px;display:flex;flex-direction:column;gap:4px}
.fields input,.fields select{font-size:16px;padding:9px;border-radius:8px;border:2px solid #5aa83c;background:#fff;color:#222}
small{opacity:.8;font-size:12px}
#colors{display:flex;gap:6px;flex-wrap:wrap}
#colors div{width:30px;height:30px;border-radius:6px;cursor:pointer;border:3px solid transparent}
#colors div.sel{border-color:#fff;box-shadow:0 0 0 2px #000}
#status{text-align:center;margin-top:8px;min-height:20px;font-size:14px}
#installbtn{display:block;margin:8px auto 0}
#iosHint{text-align:center;font-size:13px;margin-top:8px}

#hud{position:fixed;inset:0;pointer-events:none}
#cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:300;text-shadow:0 0 3px #000;line-height:1}
#info{position:absolute;left:10px;top:8px;font-size:13px;text-shadow:1px 1px 2px #000;padding-top:env(safe-area-inset-top)}
#plist{position:absolute;right:10px;top:8px;display:flex;gap:6px;flex-direction:column;align-items:flex-end}
#plist div{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.4);padding:3px 8px 3px 3px;border-radius:16px;font-size:13px}
#plist img{width:24px;height:24px;border-radius:50%;object-fit:cover;background:#888}
#chatlog{position:absolute;left:10px;top:30px;max-width:50%;font-size:14px;text-shadow:1px 1px 2px #000}
#chatlog div{background:rgba(0,0,0,.35);padding:2px 6px;border-radius:4px;margin-bottom:2px;transition:opacity 1s}
#chatin{position:absolute;left:10px;bottom:90px;width:min(420px,70%);font-size:16px;padding:8px;border-radius:6px;border:0;pointer-events:auto;color:#222}
#hotbar{position:absolute;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:3px;background:rgba(0,0,0,.45);padding:4px;border-radius:8px;pointer-events:auto}
.slot{width:46px;height:46px;border:3px solid rgba(255,255,255,.25);border-radius:6px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);font-size:28px;cursor:pointer}
.slot.sel{border-color:#fff;background:rgba(255,255,255,.2)}
.slot img,.icell img{width:36px;height:36px;image-rendering:pixelated}
#toast{position:absolute;left:50%;bottom:76px;transform:translateX(-50%);font-size:15px;text-shadow:1px 1px 2px #000;opacity:0;transition:opacity .4s;white-space:nowrap}
#clickhint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.6);padding:20px 26px;border-radius:12px;text-align:center;font-size:22px;font-weight:700;pointer-events:none;max-width:90%}
#clickhint small{display:block;font-weight:400;margin-top:8px;font-size:13px;line-height:1.5}

#touch{position:fixed;inset:0;touch-action:none}
#joy{position:absolute;left:calc(24px + env(safe-area-inset-left));bottom:80px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.35)}
#joyknob{position:absolute;left:45px;top:45px;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.5);pointer-events:none}
.tb{position:absolute;width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff}
.tb.on{background:rgba(255,255,255,.45)}
.tb.sm{width:46px;height:46px;font-size:20px}
#b-jump{right:calc(24px + env(safe-area-inset-right));bottom:84px}
#b-down{right:calc(24px + env(safe-area-inset-right));bottom:160px}
#b-break{right:calc(100px + env(safe-area-inset-right));bottom:120px}
#b-place{right:calc(100px + env(safe-area-inset-right));bottom:196px}
#b-fly{right:calc(30px + env(safe-area-inset-right));top:60px}
#b-cam{right:calc(84px + env(safe-area-inset-right));top:60px}
#b-inv{right:calc(138px + env(safe-area-inset-right));top:60px}
#b-chat{right:calc(192px + env(safe-area-inset-right));top:60px}
#b-ride{right:calc(100px + env(safe-area-inset-right));bottom:120px;width:58px;height:58px;font-size:26px;background:rgba(160,100,40,.6)}

#inv{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:12px}
#inv .panel{background:#2b2b2b;border:3px solid #555;border-radius:12px;padding:12px;max-width:760px;width:100%;max-height:100%;overflow:auto}
.invhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
#invgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:4px;margin-top:8px}
.icell{height:54px;background:#444;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:26px}
.icell:hover,.icell:active{background:#666}
.icell span{font-size:9px;opacity:.8;white-space:nowrap;overflow:hidden;max-width:52px}
@media (max-height:480px){.slot{width:40px;height:40px}.slot img{width:30px;height:30px}#joy{bottom:60px;width:120px;height:120px}#joyknob{left:35px;top:35px}}
#touch{z-index:1}#hud{z-index:2}#inv{z-index:3}#start{z-index:5}
