@font-face{font-family:Pixelingo;src:url('/fonts/fusion-pixel/fusion-pixel-12px-proportional-ja.otf.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--entry-bg:#10191f;--entry-panel:#1c2932;--entry-ink:#f4f7f5;--entry-muted:#bfced4;--entry-edge:#526875;--entry-accent:#a4edbf;--entry-button-ink:#10271a}
*{box-sizing:border-box}body{margin:0;background:var(--entry-bg);color:var(--entry-ink);font:18px/1.55 system-ui,sans-serif;min-height:100svh;display:grid;place-items:center;padding:28px 20px}
main{width:min(100%,480px)}.entry-card{padding:40px 36px;background:var(--entry-panel);border:2px solid var(--entry-edge);box-shadow:6px 6px 0 #080e12;text-align:center}
.entry-logo{display:block;width:280px;max-width:100%;height:auto;margin:0 auto 36px;image-rendering:pixelated}
h1{font:32px/1.25 Pixelingo,monospace;margin:0 0 18px}h2{font:24px/1.3 Pixelingo,monospace;margin:24px 0 12px}p{margin:12px 0;color:var(--entry-muted)}[role=status]{min-height:3.1em;overflow-wrap:anywhere}
button,a{font:inherit}a,a:visited{color:var(--entry-ink);text-underline-offset:5px}a:hover{color:var(--entry-accent)}button{cursor:pointer;color:var(--entry-ink);background:transparent;border:2px solid var(--entry-edge);padding:12px 18px;max-width:100%;white-space:normal}button:hover{border-color:var(--entry-accent)}button:disabled{cursor:wait;opacity:.7}
.entry-play{display:block;width:100%;margin:28px 0 20px;padding:16px;font:28px/1.2 Pixelingo,monospace;background:var(--entry-accent);color:var(--entry-button-ink);border:2px solid #d0f8df;box-shadow:0 4px 0 #4c936c}.entry-play:hover{background:#bef6d1;color:#10271a}.entry-secondary{margin:20px 0 0}.entry-note{font-size:14px;margin-top:24px}.entry-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:13px;color:var(--entry-muted);padding:24px 0}.entry-footer button{font-size:13px;border:0;padding:4px;text-decoration:underline;text-underline-offset:4px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #a4edbf;outline-offset:5px}.entry-back{display:inline-block;margin-bottom:24px}.entry-account{text-align:left}.entry-account h1{text-align:left}.entry-account .entry-play{text-align:center}.entry-account details{border-top:1px solid var(--entry-edge);padding-top:20px;margin-top:28px;font-size:15px}summary{cursor:pointer;color:var(--entry-ink)}.entry-account label{display:block;margin-top:16px}.entry-account input{display:block;width:100%;margin-top:8px;font:inherit}.entry-account small{display:block;color:var(--entry-muted)}[hidden]{display:none!important}
@media(max-width:480px){body{padding:20px 14px}.entry-card{padding:28px 22px}.entry-logo{margin-bottom:28px}h1{font-size:28px}}
@media(prefers-reduced-motion:no-preference){button[aria-busy=true]{animation:entry-pulse 1s ease-in-out infinite alternate}@keyframes entry-pulse{to{opacity:.65}}}
/* The native WebView fills the screen; protect controls, not the background. */
body{padding-top:max(28px,env(safe-area-inset-top,0px));padding-bottom:max(28px,env(safe-area-inset-bottom,0px))}
.entry-progression{border-top:1px solid var(--entry-edge);margin-top:28px;padding-top:4px;text-align:left}.entry-progression p{font-size:15px;overflow-wrap:anywhere}.entry-progression button{display:block;width:100%;margin-top:12px;text-align:center;line-height:1.35}.entry-progression button:first-of-type{color:var(--entry-button-ink);background:var(--entry-accent)}
