*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:#000;touch-action:none;overscroll-behavior:none;font-family:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",sans-serif;color:#eee}
#c{position:fixed;inset:0;width:100vw;height:100vh;display:block}
#zoneL,#zoneR{position:fixed;top:0;bottom:0;touch-action:none}
#zoneL{left:0;width:42%}#zoneR{right:0;width:58%}
#joy{position:fixed;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,230,180,.35);background:radial-gradient(rgba(0,0,0,.25),rgba(0,0,0,.05));left:calc(110px + env(safe-area-inset-left));top:calc(100% - 100px);pointer-events:none;opacity:.55}
#joy.on{opacity:1}
#knob{position:absolute;left:35px;top:35px;width:50px;height:50px;border-radius:50%;background:rgba(255,220,150,.55);box-shadow:0 0 12px rgba(255,190,90,.6)}
#hud{position:fixed;inset:0;pointer-events:none}
.bar{position:relative;height:10px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25);overflow:hidden}
.bar i,.bar b{position:absolute;left:0;top:0;bottom:0;display:block}
.bar i{z-index:2}.bar b{background:rgba(255,255,255,.55);transition:width .6s ease .25s;z-index:1}
#pbars{position:absolute;left:calc(16px + env(safe-area-inset-left));top:12px;width:34vw;max-width:300px}
.hp i{background:linear-gradient(#e0504a,#8f1d18);width:100%}
.st{height:6px;margin-top:4px;width:80%}.st i{background:linear-gradient(#f1d27a,#b08b2c);width:100%}
#topR{position:absolute;right:calc(12px + env(safe-area-inset-right));top:8px;text-align:right}
.sbtn{pointer-events:auto;display:inline-block;padding:5px 10px;font-size:12px;border:1px solid rgba(255,230,180,.4);border-radius:12px;background:rgba(0,0,0,.4)}
#fps{font-size:10px;opacity:.5;margin-top:3px}
#boss{position:absolute;left:50%;bottom:14px;width:46vw;transform:translateX(-50%);display:none}
#bossName{font-size:14px;letter-spacing:4px;text-shadow:0 0 6px #000;margin-bottom:3px}
.bh{height:8px}.bh i{background:linear-gradient(#c23b2a,#6d1410);width:100%}
#btns{position:absolute;right:env(safe-area-inset-right);bottom:0;width:260px;height:240px}
.btn{position:absolute;pointer-events:auto;touch-action:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#f6e6c4;background:radial-gradient(circle at 40% 35%,rgba(90,70,40,.75),rgba(20,14,8,.75));border:2px solid rgba(220,180,100,.55);text-shadow:0 1px 2px #000}
.btn.pr{transform:scale(.92);border-color:#ffd77a;background:radial-gradient(circle at 40% 35%,rgba(160,120,60,.85),rgba(40,26,10,.85))}
#bLight{width:84px;height:84px;right:22px;bottom:22px;font-size:18px}
#bHeavy{width:66px;height:66px;right:116px;bottom:16px}
#bDodge{width:64px;height:64px;right:30px;bottom:116px}
#bJump{width:54px;height:54px;right:104px;bottom:94px}
#bGourd{width:48px;height:48px;right:178px;bottom:96px;font-size:12px}
#bLock{width:48px;height:48px;right:120px;bottom:160px;font-size:12px}
.btn.sm span{position:absolute;right:-2px;top:-4px;background:#7a1f1a;border-radius:9px;font-size:11px;padding:0 5px}
.btn.on{border-color:#ff6040;color:#ffb090}
.btn.off{opacity:.4}
#chg{position:absolute;inset:-4px;border-radius:50%;border:3px solid transparent}
#reticle{position:absolute;width:18px;height:18px;margin:-9px;border:2px solid #ff5a3a;border-radius:50%;box-shadow:0 0 8px #ff3a1a;display:none}
#banner{position:absolute;left:0;right:0;top:32%;text-align:center;font-size:34px;letter-spacing:10px;color:#f3dca5;text-shadow:0 0 18px #000,0 0 6px #a33;opacity:0;transition:opacity .5s}
#banner small{display:block;font-size:14px;letter-spacing:6px;color:#ccc}
#dmg{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.dn{position:absolute;font-weight:800;font-size:18px;color:#fff;text-shadow:0 0 4px #000,0 0 2px #000;transform:translate(-50%,-50%);white-space:nowrap}
.dn.h{color:#ffd65a;font-size:26px}.dn.p{color:#ff5a4a}.dn.g{color:#7dff8a}
.ov{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(rgba(20,12,6,.6),rgba(0,0,0,.92));text-align:center;z-index:10}
.ov.hide{display:none}
.ov h1{margin:0;font-size:44px;letter-spacing:12px;color:#e9cf8f;text-shadow:0 0 20px #a0601a}
.ov h2{margin:6px 0 18px;font-size:18px;letter-spacing:8px;color:#bbb;font-weight:400}
.ov p{font-size:13px;color:#aaa;line-height:1.7;margin:12px 20px 0}.ov p.small{font-size:11px;color:#777}
.go{padding:10px 40px;font-size:20px;letter-spacing:6px;border:1px solid #c9a35a;color:#f3dca5;background:rgba(80,40,10,.5);border-radius:4px;cursor:pointer}
#rot{display:none;position:fixed;inset:0;z-index:20;background:#000;color:#e9cf8f;font-size:22px;align-items:center;justify-content:center}
@media (orientation:portrait) and (max-width:700px){#rot{display:flex}}
