:root{--neon-cyan:#4ff3ff;--neon-magenta:#ff3fb4;--ui-line:#8cdcff8c;--ui-fill:#0a0e1859;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#05060a;width:100%;height:100%;margin:0;overflow:hidden}#game{position:fixed;inset:0;overflow:hidden}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;top:0;left:0}#ui{pointer-events:none;font-family:ui-monospace,monospace;position:fixed;inset:0}.stick-zone{pointer-events:auto;width:50%;position:absolute;top:0;bottom:0;left:0}.stick{border:2px solid var(--ui-line);background:var(--ui-fill);opacity:.35;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;transition:opacity .12s;position:absolute}.stick.active{opacity:.9}.stick .knob{border:2px solid var(--neon-cyan);background:#4ff3ff2e;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #4ff3ff80}.stick .ring-run{border:1px dashed #8cdcff40;border-radius:50%;position:absolute;inset:14px}.btn{pointer-events:auto;border:2px solid var(--ui-line);background:var(--ui-fill);color:#c8f0ffd9;letter-spacing:1px;opacity:.6;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute}.btn.pressed{opacity:1;border-color:var(--neon-magenta);color:#fff;box-shadow:0 0 14px #ff3fb499}.btn-jump{width:78px;height:78px;right:calc(28px + var(--safe-r));bottom:calc(30px + var(--safe-b))}.btn-run{width:56px;height:56px;right:calc(118px + var(--safe-r));bottom:calc(22px + var(--safe-b))}.btn-run.on{border-color:var(--neon-cyan);opacity:.95;box-shadow:0 0 12px #4ff3ff8c}.top-bar{top:calc(8px + var(--safe-t));right:calc(10px + var(--safe-r));pointer-events:auto;gap:8px;display:flex;position:absolute}.icon-btn{border:1px solid var(--ui-line);background:var(--ui-fill);color:#c8f0ffcc;letter-spacing:1px;border-radius:6px;min-width:38px;height:32px;padding:0 8px;font:10px ui-monospace,monospace}.hud{top:calc(8px + var(--safe-t));left:calc(10px + var(--safe-l));color:#a0c8e6b3;white-space:pre;text-shadow:0 1px #000;font-size:10px;line-height:1.4;position:absolute}@media (hover:hover) and (pointer:fine){.touch-only{display:none}}#rotate{color:var(--neon-cyan);letter-spacing:3px;text-shadow:0 0 8px #4ff3ffb3;z-index:10;background:#05060a;flex-direction:column;justify-content:center;align-items:center;gap:18px;font:12px ui-monospace,monospace;display:none;position:fixed;inset:0}#rotate .phone{border:2px solid var(--neon-cyan);border-radius:6px;width:34px;height:58px;animation:2.2s ease-in-out infinite rot;box-shadow:0 0 10px #4ff3ff80}@keyframes rot{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse){#rotate{display:flex}}
