@import url('/assets/pages.css');
html,body{height:100%;overflow:hidden}#canvas{display:block;width:100%;height:100%;outline:none}#launcher{position:fixed;inset:0;z-index:10;display:grid;place-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse at top,#3b2158,#10091b 70%);overflow:auto}#launcher[hidden]{display:none}.game-cover{width:112px;height:112px;object-fit:contain;margin:auto;border-radius:20px}#launch-title{margin:16px 0 8px}#launch-status{max-width:540px;margin:12px auto}#progress{width:min(75vw,400px);height:18px;accent-color:#6ef7ff;margin:14px auto}#progress[hidden]{display:none}.launch-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.privacy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:24px;font-size:14px}.privacy-links button{padding:0;background:none;border:0;color:#83efff;text-decoration:underline}#play{background:#087e78;font-weight:700}#game-menu{position:fixed;bottom:max(4px,env(safe-area-inset-bottom));right:6px;z-index:15;font:12px system-ui}#game-menu[hidden]{display:none}#game-menu summary{cursor:pointer;background:#21102ae8;border:1px solid #83efff;border-radius:8px;padding:6px;opacity:.75}#game-menu[open]{padding:12px;background:#21102a;border-radius:10px;max-width:260px}#game-menu a,#game-menu button{display:block;margin:8px 0}#game-menu button{font-size:12px;padding:6px}
.game-intro{max-width:540px;margin:8px auto;font-size:15px;line-height:1.6}
.game-exit{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:16;padding:8px 12px;border:1px solid #83efff;border-radius:8px;background:#21102aeb;color:#eafcff;font:13px system-ui;text-decoration:none}.game-exit:focus-visible{outline:3px solid #83efff;outline-offset:3px}
/* Eight square pixels rotate in discrete steps, matching the retro palette. */
#progress.pixel-spinner{display:grid;place-items:center;width:64px;height:64px;margin:18px auto;flex-shrink:0}
#progress.pixel-spinner[hidden]{display:none}
.pixel-spinner span{grid-area:1/1;width:8px;height:8px;background:#83efff;animation:pixel-pulse 1s steps(4,end) infinite}
.pixel-spinner span:nth-child(1){transform:translate(0,-24px);animation-delay:-1s}
.pixel-spinner span:nth-child(2){transform:translate(16px,-16px);animation-delay:-.875s}
.pixel-spinner span:nth-child(3){transform:translate(24px,0);animation-delay:-.75s}
.pixel-spinner span:nth-child(4){transform:translate(16px,16px);animation-delay:-.625s}
.pixel-spinner span:nth-child(5){transform:translate(0,24px);animation-delay:-.5s}
.pixel-spinner span:nth-child(6){transform:translate(-16px,16px);animation-delay:-.375s}
.pixel-spinner span:nth-child(7){transform:translate(-24px,0);animation-delay:-.25s}
.pixel-spinner span:nth-child(8){transform:translate(-16px,-16px);animation-delay:-.125s}
@keyframes pixel-pulse{0%{opacity:1}100%{opacity:.12}}
@media(prefers-reduced-motion:reduce){.pixel-spinner span{animation:none}}
