*{box-sizing:border-box}body{margin:0;background:#112c27;color:#fff8dd;font-family:system-ui,sans-serif;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:12px 18px;background:linear-gradient(#102a2bef,transparent);display:flex;align-items:center;gap:12px;flex-wrap:wrap;pointer-events:none;text-shadow:0 2px 3px #000}header a,header button{pointer-events:auto}a{color:#f6d982}button{border:1px solid #ead58c55;border-radius:12px;background:#253e3b;color:#fff8dd;padding:10px 14px;font:inherit;cursor:pointer}button:hover{background:#416156}button:focus-visible{outline:3px solid #fff}header strong{margin-right:auto}#stats{flex-basis:100%;font-size:14px}.meter{width:100%;height:8px;background:#071e25;border-radius:9px;overflow:hidden}#xp{height:100%;width:0;background:#b4f292;transition:width .15s}#loadout{font-size:12px;color:#e9dcae}#overlay{position:fixed;inset:0;background:#061c26b5;display:grid;place-items:center;padding:16px;overflow:auto}#overlay[hidden]{display:none}#dialog{width:min(750px,100%);background:#142e32;border:1px solid #c4ae6980;border-radius:24px;padding:28px;box-shadow:0 20px 90px #0008}h1{font-size:clamp(28px,5vw,46px);margin:0 0 12px;color:#f5d57d}h2{margin-top:0}p{line-height:1.6;color:#d5e6de}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choices button{text-align:left;padding:18px;min-height:145px}.choices strong{display:block;color:#ffdf87;font-size:18px;margin-bottom:10px}.choices small{display:block;line-height:1.5}.primary{background:#e6bf64;color:#142e32;font-weight:700}.stick{position:fixed;bottom:35px;width:112px;height:112px;border:2px solid #ffffff33;border-radius:50%;background:#102a2840;touch-action:none;display:none}.stick span{position:absolute;left:35px;top:35px;width:38px;height:38px;border-radius:50%;background:#f5db7c70;pointer-events:none}#moveStick{left:25px}#aimStick{right:25px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);pointer-events:none;background:#132d30de;border-radius:12px;padding:8px 16px;max-width:80%;text-align:center}#toast:empty{display:none}@media(pointer:coarse){.stick{display:block}#toast{bottom:160px}}@media(max-width:600px){header{padding:8px;gap:7px}header strong{font-size:14px}header button,header a{font-size:12px;padding:8px}.choices{grid-template-columns:1fr}.choices button{min-height:0;padding:12px}#dialog{padding:20px}#loadout{font-size:10px}.stick{width:100px;height:100px}.stick span{left:29px;top:29px}}
