*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#102837}body{font-family:monospace;touch-action:none}canvas{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#world{z-index:0}#ui{z-index:1;pointer-events:none}#play,.leaderboard-control,#retry-leaderboard{position:fixed;z-index:2;background:transparent;color:transparent;border:0;cursor:pointer;font-size:0;display:none;padding:0}#play:focus-visible,.leaderboard-control:focus-visible,#retry-leaderboard:focus-visible{outline:3px solid #fff2d2;outline-offset:6px}#sound{position:fixed;bottom:2%;width:32px;height:25px;z-index:3;color:transparent;background:transparent;border:0;font-size:0;cursor:pointer}#sound:focus-visible{outline:2px solid #8cf0d1}#status{position:fixed;left:0;top:42%;width:100%;color:#ffcf58;text-align:center;font-size:20px;z-index:4;pointer-events:none}#status.hidden{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}::selection{background:transparent}#player-name{position:fixed;z-index:3;left:50%;top:45%;transform:translate(-50%);width:min(300px,80vw);color:#fff2d2;font-size:1.7vh}#player-name[hidden]{display:none}#player-name label,#name-help{display:block}#display-name{width:100%;margin:.6vh 0;padding:1vh 10px;border:2px solid #96b6c2;border-radius:0;background:#102837;color:#fff2d2;font:inherit;font-size:2.5vh}#display-name:focus{outline:2px solid #ffcf58;outline-offset:2px}#name-help{color:#96b6c2}#display-name::selection{background:#496477}[hidden]{display:none!important}.utility{position:fixed;z-index:5;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:40px;padding:0;border:2px solid #96b6c280;border-radius:0;background:#102837c9;color:#fff2d2;font:700 18px monospace;cursor:pointer;touch-action:none}.utility:focus-visible,#touch-controls button:focus-visible{outline:2px solid #ffcf58;outline-offset:3px}#pause{right:max(66px,calc(env(safe-area-inset-right) + 54px))}#display-message{position:fixed;top:max(54px,calc(env(safe-area-inset-top) + 44px));right:max(12px,env(safe-area-inset-right));z-index:5;max-width:240px;padding:8px;background:#102837;color:#fff2d2;font-size:12px}#rotate-device{position:fixed;inset:0;z-index:6;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:#102837f5;color:#fff2d2;text-align:center}#rotate-device strong{font-size:24px;color:#ffcf58}#rotate-device span{font-size:14px}#touch-controls{position:fixed;inset:0;z-index:3;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}#touch-controls [data-touch]{pointer-events:auto;touch-action:none}#touch-look{position:absolute;inset:70px 0 0 48%}#touch-look>span{position:absolute;right:22%;top:20%;color:#fff2d26b;font-size:12px;pointer-events:none}#touch-move{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:120px;height:120px;border:2px solid #96b6c280;background:#10283766}#touch-move .stick{position:absolute;width:32px;height:32px;left:42px;top:42px;border:2px solid #ffcf58;background:#ffcf5866;transform:translate(var(--stick-x, 0px),var(--stick-y, 0px));pointer-events:none}.touch-label{position:absolute;bottom:6px;width:100%;text-align:center;color:#fff2d2a0;font-size:10px;pointer-events:none}#touch-controls button{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));border:2px solid #96b6c2;border-radius:0;background:#102837a8;color:#fff2d2;font:700 16px monospace}#touch-jump{right:max(132px,calc(env(safe-area-inset-right) + 120px));width:72px;height:54px}#touch-vacuum{right:max(22px,env(safe-area-inset-right));width:92px;height:76px;border-color:#ffcf58!important;color:#ffcf58!important}#touch-controls button[data-held=true],#touch-move[data-held=true]{background-color:#496477b8}#rotate-fullscreen{margin-top:12px;padding:14px;border:2px solid #ffcf58;border-radius:0;background:#102837;color:#ffcf58;font:700 13px monospace}@media(pointer:coarse)and (orientation:landscape){#player-name{top:40%;width:min(280px,50vw);font-size:2.56vh}#display-name{margin:.51vh 0;padding:1.03vh 8px;font-size:3.59vh}}#saved-player-name{position:fixed;z-index:3;transform:translate(-50%);text-align:center;color:#ffcf58;font-size:2.5vh}#current-player-name{display:block;overflow-wrap:anywhere}#saved-player-name button,#name-actions button{border:1px solid #96b6c2;padding:.5vh 10px;background:#102837;color:#fff2d2;font:inherit;font-size:1.7vh;cursor:pointer}#saved-player-name button{margin-top:1vh}#name-actions{display:flex;gap:8px;margin-top:.5vh}#saved-player-name button:focus-visible,#name-actions button:focus-visible{outline:2px solid #ffcf58;outline-offset:2px}#name-actions button:disabled{opacity:.6;cursor:wait}.utility{width:48px;height:48px}#sound{min-width:48px;min-height:48px}#player-name,#saved-player-name{font-size:clamp(12px,1.7vh,18px)}#display-name{min-height:44px;font-size:max(16px,2.5vh)}#saved-player-name button,#name-actions button{min-height:44px;padding:8px 14px;font-size:clamp(12px,1.7vh,16px);border-width:2px;box-shadow:0 3px #061b28}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active{filter:brightness(1.18)}#display-message{top:max(64px,calc(env(safe-area-inset-top) + 58px))}@media(max-height:500px)and (orientation:landscape){#saved-player-name button,#name-actions button{min-height:36px;padding:5px 12px}#display-name{min-height:36px}}
