@font-face{font-family:PixelKin;src:url(./PressStart2P-Regular-2BZhbCiP.ttf) format("truetype");font-display:block}:root{color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0b1026;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#game-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none}:root{--shell-casing: #1a1430;--shell-casing-edge: #0b1026;--shell-accent: #9fe7ff;--shell-button: #13205a;--shell-button-press: #4fb4ff;--shell-grille: rgba(159, 231, 255, .18);--pk-cs: 1;--pk-cell: calc(36px * var(--pk-cs));--pk-face-btn: calc(44px * var(--pk-cs))}.pk-control,.pk-shell-frame{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.pk-control,.pk-start{box-sizing:border-box}body.pk-shell-device #game-root{padding:0;box-sizing:border-box;background:#000;border:2px solid var(--shell-accent);border-radius:6px;box-shadow:0 0 0 10px var(--shell-casing),0 0 0 12px var(--shell-casing-edge),0 8px 24px #00000080;inset:auto auto auto 50%;transform:translate(-50%);height:auto;aspect-ratio:3 / 2}@media(orientation:portrait){body.pk-shell-device #game-root{--pk-top: max(env(safe-area-inset-top), 8px);--pk-bottom: clamp(calc(108px * var(--pk-cs) + 36px), 34vh, 320px);top:var(--pk-top);width:min(100vw,calc(100dvh - var(--pk-top) - var(--pk-bottom)) * 3 / 2);border-left:0;border-right:0;border-radius:0;box-shadow:0 6px 20px #00000080}}@media(orientation:landscape){body.pk-shell-device #game-root{--pk-ins: max(env(safe-area-inset-top), env(safe-area-inset-bottom), 8px);top:50%;transform:translate(-50%,-50%);width:min(calc(100vw - 12px),calc(100dvh - 2 * var(--pk-ins)) * 3 / 2)}}.pk-shell-frame{position:fixed;inset:0;z-index:0;background:radial-gradient(120% 80% at 50% 0%,#221a40 0%,var(--shell-casing) 60%,var(--shell-casing-edge) 100%);pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.pk-grille{position:absolute;right:clamp(16px,6vw,80px);bottom:clamp(16px,4vh,36px);display:grid;grid-template-columns:repeat(4,6px);grid-auto-rows:6px;gap:5px}.pk-grille i{display:block;width:6px;height:6px;border-radius:50%;background:var(--shell-grille)}body.pk-shell-device .pk-controls{position:fixed;left:0;right:0;bottom:max(env(safe-area-inset-bottom),12px);height:clamp(64px,18vh,160px);z-index:2;pointer-events:none}body.pk-shell-overlay #game-root{inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body.pk-shell-overlay .pk-controls{position:fixed;left:0;right:0;bottom:max(env(safe-area-inset-bottom),12px);height:clamp(72px,22vh,200px);z-index:2;pointer-events:none;opacity:.85}.pk-controls.pk-hidden{display:none}.pk-dpad{position:absolute;left:max(env(safe-area-inset-left),16px);bottom:8px;width:calc(var(--pk-cell) * 3);height:calc(var(--pk-cell) * 3)}.pk-dpad .pk-control{position:absolute;width:var(--pk-cell);height:var(--pk-cell);background:var(--shell-button);border:1px solid var(--shell-accent);pointer-events:auto;cursor:pointer}.pk-dpad .pk-up{left:var(--pk-cell);top:0;border-radius:6px 6px 0 0}.pk-dpad .pk-down{left:var(--pk-cell);bottom:0;border-radius:0 0 6px 6px}.pk-dpad .pk-left{left:0;top:var(--pk-cell);border-radius:6px 0 0 6px}.pk-dpad .pk-right{right:0;top:var(--pk-cell);border-radius:0 6px 6px 0}.pk-dpad .pk-center{left:var(--pk-cell);top:var(--pk-cell);background:var(--shell-button);border:1px solid var(--shell-accent);border-radius:0;pointer-events:none}.pk-face{position:absolute;right:max(env(safe-area-inset-right),16px);bottom:12px;width:calc(var(--pk-face-btn) * 2.64);height:calc(var(--pk-face-btn) * 2.09)}.pk-face .pk-control{position:absolute;width:var(--pk-face-btn);height:var(--pk-face-btn);border-radius:50%;background:var(--shell-button);border:1px solid var(--shell-accent);color:var(--shell-accent);font-family:PixelKin,monospace;font-size:calc(14px * var(--pk-cs));line-height:var(--pk-face-btn);text-align:center;pointer-events:auto;cursor:pointer}.pk-face .pk-a{right:0;top:calc(8px * var(--pk-cs))}.pk-face .pk-b{left:0;bottom:calc(8px * var(--pk-cs))}.pk-start{position:absolute;left:50%;transform:translate(-50%);bottom:8px;min-width:calc(56px * var(--pk-cs));height:calc(18px * var(--pk-cs));border-radius:9px;background:var(--shell-button);border:1px solid var(--shell-accent);color:var(--shell-accent);font-family:PixelKin,monospace;font-size:calc(8px * var(--pk-cs));line-height:calc(18px * var(--pk-cs));text-align:center;pointer-events:auto;cursor:pointer}.pk-control.pk-active,.pk-start.pk-active{background:var(--shell-button-press);color:#000}@media(orientation:landscape){body.pk-shell-device .pk-controls,body.pk-shell-overlay .pk-controls{inset:0;height:auto;opacity:.86}body.pk-shell-device .pk-grille{display:none}.pk-dpad,.pk-face{top:auto;bottom:clamp(20px,12vh,72px);transform:none}.pk-start{left:auto;right:calc(max(env(safe-area-inset-right),6px) + 42px);top:max(env(safe-area-inset-top),8px);bottom:auto;transform:none}}.pk-rotate-hint{display:none;position:fixed;left:50%;bottom:clamp(150px,30vh,320px);transform:translate(-50%);z-index:6;align-items:center;gap:8px;padding:9px 10px 9px 13px;max-width:calc(100vw - 24px);background:#0b1026eb;border:1px solid var(--shell-accent);border-radius:999px;color:var(--shell-accent);font-family:PixelKin,monospace;font-size:8px;line-height:1.6;box-shadow:0 4px 16px #00000080;pointer-events:auto;cursor:pointer}.pk-rotate-ico{font-size:13px;display:inline-block;animation:pk-rotate-wob 2.4s ease-in-out infinite}@keyframes pk-rotate-wob{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}.pk-rotate-x{margin-left:2px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:#9fe7ff24;font-size:11px}@media(orientation:portrait)and (pointer:coarse){body.pk-shell-device .pk-rotate-hint:not(.pk-dismissed),body.pk-shell-overlay .pk-rotate-hint:not(.pk-dismissed){display:inline-flex}}@media(prefers-reduced-motion:reduce){.pk-rotate-ico{animation:none}}.pk-fs-toggle{display:none;position:fixed;top:max(env(safe-area-inset-top),6px);right:max(env(safe-area-inset-right),6px);z-index:6;width:30px;height:30px;line-height:30px;text-align:center;border-radius:6px;background:#0b1026d1;border:1px solid var(--shell-accent);color:var(--shell-accent);font-size:15px;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;opacity:.78}.pk-fs-toggle:active,.pk-fs-toggle.pk-fs-on{opacity:1}@media(orientation:landscape)and (pointer:coarse){body.pk-shell-device .pk-fs-toggle,body.pk-shell-overlay .pk-fs-toggle{display:block}}.pk-size-toggle{display:none;position:fixed;top:max(env(safe-area-inset-top),6px);left:max(env(safe-area-inset-left),6px);z-index:6;width:30px;height:30px;line-height:30px;text-align:center;border-radius:6px;background:#0b1026d1;border:1px solid var(--shell-accent);color:var(--shell-accent);font-family:PixelKin,monospace;font-size:12px;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;opacity:.78}.pk-size-toggle.pk-active{opacity:1;background:var(--shell-button-press);color:#000}@media(orientation:landscape){body.pk-shell-device .pk-size-toggle,body.pk-shell-overlay .pk-size-toggle{display:block}}.pk-restore-controls{display:none;position:fixed;left:50%;bottom:max(env(safe-area-inset-bottom),14px);transform:translate(-50%);z-index:7;align-items:center;gap:6px;padding:9px 14px;background:#0b1026eb;border:1px solid var(--shell-accent);border-radius:999px;color:var(--shell-accent);font-family:PixelKin,monospace;font-size:9px;line-height:1.4;box-shadow:0 4px 16px #00000080;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}.pk-restore-controls.pk-active{background:var(--shell-button-press);color:#000}@media(pointer:coarse){body.pk-controls-unavailable .pk-restore-controls{display:inline-flex}}.pk-controls-help{position:fixed;left:50%;bottom:max(env(safe-area-inset-bottom),8px);transform:translate(-50%);z-index:6;padding:5px 12px;background:#0b1026d1;border:1px solid var(--shell-accent);border-radius:999px;color:var(--shell-accent);font-family:PixelKin,monospace;font-size:8px;line-height:1.4;pointer-events:auto;cursor:pointer;opacity:.72;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}.pk-controls-help:active,.pk-controls-help:hover{opacity:1}@media(orientation:portrait){body.pk-shell-device .pk-controls-help,body.pk-shell-overlay .pk-controls-help{bottom:calc(max(env(safe-area-inset-bottom),8px) + 26px * var(--pk-cs))}}body.pk-controls-unavailable .pk-controls-help{bottom:calc(max(env(safe-area-inset-bottom),14px) + 40px)}.pk-help-overlay{display:none;position:fixed;inset:0;z-index:10;align-items:center;justify-content:center;background:#040612d1;pointer-events:auto;padding:16px}.pk-help-overlay.pk-open{display:flex}.pk-help-panel{width:min(92vw,340px);box-sizing:border-box;padding:14px 16px 12px;background:var(--shell-casing);border:1px solid var(--shell-accent);border-radius:8px;box-shadow:0 8px 28px #0009;color:#e8eefc;font-family:PixelKin,monospace}.pk-help-title{color:var(--shell-accent);font-size:13px;letter-spacing:1px;margin-bottom:8px}.pk-help-head{color:var(--shell-accent);font-size:9px;opacity:.85;margin:4px 0}.pk-help-row{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.8}.pk-help-key-label{color:#aab6d8;white-space:nowrap}.pk-help-key{color:#e8eefc;text-align:right}.pk-help-note{margin-top:10px;font-size:8px;line-height:1.7;color:#aab6d8}.pk-help-close{margin-top:12px;padding:6px 0;text-align:center;background:var(--shell-button);border:1px solid var(--shell-accent);border-radius:6px;color:var(--shell-accent);font-size:9px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}.pk-help-close:active{background:var(--shell-button-press);color:#000}
