:root{--void: #05030a;--navy: #101226;--rust: #ff6b1a;--gold: #ffd24a;--cyan: #3cffd0;--magenta: #ff4d8d;--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--vvw: 100dvw;--vvh: 100dvh}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;height:100svh;height:100dvh;height:var(--vvh, 100dvh);background:#05030a;color:var(--gold);font-family:ui-monospace,SF Mono,Menlo,monospace;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}#stage{position:fixed;inset:0;width:100%;width:var(--vvw, 100%);height:100%;height:100svh;height:100dvh;height:var(--vvh, 100dvh);padding:0;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}#view{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges;background:#000;touch-action:none}#touch{display:none;position:absolute;z-index:2;left:0;right:0;bottom:0;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 max(12px,var(--safe-r)) max(12px,var(--safe-b)) max(12px,var(--safe-l));pointer-events:none;touch-action:none}html.touch #touch,body.touch #touch{display:flex}@media(pointer:coarse),(any-pointer:coarse){#touch{display:flex}}#touch button{pointer-events:auto;appearance:none;-webkit-appearance:none;border:3px solid #2a1848;background:linear-gradient(#3a1d12,#1a0c18);color:var(--gold);font-family:inherit;font-weight:700;letter-spacing:.08em;min-width:44px;min-height:44px;padding:8px 10px;box-shadow:3px 3px #ff4d8d;touch-action:none;user-select:none;-webkit-user-select:none}#touch button:active{transform:translate(2px,2px);box-shadow:1px 1px #ff4d8d}.pad{display:flex;flex-direction:column;align-items:center;gap:6px}.mid{display:flex;gap:6px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.actions button[data-key=digL],.actions button[data-key=digR]{color:var(--cyan)}@media(orientation:landscape){#touch{gap:12px;padding:0 max(10px,var(--safe-r)) max(8px,var(--safe-b)) max(10px,var(--safe-l))}#touch button{min-width:44px;min-height:44px;padding:6px 8px;font-size:12px}.pad,.mid,.actions{gap:4px}}@media(orientation:landscape)and (max-height:500px){#touch{gap:8px}#touch button{letter-spacing:.04em}}
