:root { color-scheme: dark; background: #020203; color: #e7e8eb; font-family: Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
a:focus-visible, button:focus-visible { outline: 1px solid #ddd; outline-offset: 8px; }
.stage { width: 100%; height: 100svh; position: relative; overflow: hidden; isolation: isolate; background: #020203; }
#portal { position: absolute; inset: 0; width: 100%; height: 100%; }
#replay { position: absolute; bottom: max(32px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: 38px; height: 38px; border: 1px solid #ffffff30; border-radius: 50%; background: #151619dc; color: #dcdde0; font-size: 23px; cursor: pointer; }
#replay:hover { background: #2a2b30; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.fallback { position: absolute; left: 50%; top: 62%; transform: translateX(-50%); font-size: 12px; }
/* WebGL을 사용할 수 없으면 어두운 배경과 자동 이동을 유지한다. */
.static-tunnel #portal { display: none; }
@media (max-height: 430px) { #replay { bottom: 15px; } }
