*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#222;font-family:system-ui,sans-serif;touch-action:none;user-select:none}
canvas{display:block;width:100vw;height:100vh}
.hidden{display:none!important}
#hud{position:fixed;inset:0 0 auto 0;padding:8px 12px;color:#fff;font-weight:600;text-shadow:0 2px 3px #000;display:flex;justify-content:space-between;flex-wrap:wrap;pointer-events:none;font-size:clamp(12px,2.6vw,18px)}
#hm{font-size:1.6em}
#bar{position:absolute;left:12px;right:12px;top:calc(100% + 2px);height:6px;background:#0006;border-radius:3px}
#barf{height:100%;width:0;background:linear-gradient(90deg,#e33,#fc3);border-radius:3px;transition:width .2s}
.scr{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(#1b2a3acc,#000d);color:#fff;text-align:center;padding:16px;overflow:auto}
h1{font-size:clamp(36px,10vw,90px);letter-spacing:4px;color:#c9a0ff;text-shadow:0 0 20px #8a4dff,0 6px 0 #312,0 10px 20px #000}
.sub{opacity:.85}
#levels{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:640px}
button{font:inherit;font-weight:700;padding:10px 16px;border:0;border-radius:10px;background:#fc3;color:#311;cursor:pointer;box-shadow:0 4px 0 #a33}
button:disabled{background:#666;box-shadow:none;color:#aaa;cursor:default}
button small{display:block;font-weight:400;font-size:11px}
.help{font-size:13px;opacity:.75}
#hs{text-align:left;font-size:14px;min-width:200px}
.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.wallet{font-size:20px;font-weight:700;color:#ffd84a}
#skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;width:min(760px,96vw)}
.skin{background:#ffffff14;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px}
.skin.eq{outline:3px solid #ffd84a}
#rank{border-collapse:collapse;margin:6px auto;min-width:min(480px,94vw)}
#rank td,#rank th{padding:5px 10px;border-bottom:1px solid #fff2;text-align:left}
#rank tr.me{background:#ffd84a33;font-weight:800;color:#ffe066}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:middle}
.coinwin{font-size:18px;color:#ffd84a;font-weight:700}
button.world{min-width:150px}
