@font-face{font-family:'PN Pixel';src:url('assets/fonts/press-start-2p.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
html:not(.pn-welcome-cooldown) body:has(#pn-welcome[open]){overflow:hidden}
#pn-welcome{position:fixed;inset:0;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;background:#000!important;background-image:none!important;color:#fff;overflow:hidden;z-index:2147483647}
#pn-welcome::backdrop{background:#000;backdrop-filter:none}
#pn-welcome canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#pn-welcome .pn-welcome-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse at center,#000b 0%,#0005 42%,transparent 75%);opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
#pn-welcome.pn-welcome-ready .pn-welcome-copy{opacity:1;visibility:visible}
#pn-welcome .pn-welcome-kicker{font:400 clamp(10px,1.5vw,18px)/1.8 'PN Pixel',monospace;letter-spacing:.04em;text-transform:uppercase;color:#dab0ff;margin-bottom:20px}
#pn-welcome h2{max-width:100%;font:400 clamp(18px,4vw,54px)/1.6 'PN Pixel',monospace;letter-spacing:0;text-transform:uppercase;color:#fff;text-shadow:3px 3px 0 #6b1995,0 0 28px #bc42ff80;text-wrap:balance}
#pn-welcome button{margin-top:32px;padding:18px 22px;border:1px solid #bc42ff;border-radius:0;background:#bc42ff24;color:#f4e6ff;font:400 clamp(10px,1.2vw,14px)/1.6 'PN Pixel',monospace;letter-spacing:0;text-transform:uppercase;box-shadow:0 0 24px #bc42ff25}
#pn-welcome button:hover{background:#bc42ff45}
#pn-welcome button:focus-visible{outline:2px solid #fff;outline-offset:5px}
#pn-welcome .pn-welcome-hint{margin-top:16px;font:400 clamp(8px,1vw,10px)/1.8 'PN Pixel',monospace;color:#c5adcf;letter-spacing:0}
@media(prefers-reduced-motion:reduce){#pn-welcome .pn-welcome-copy{transition:none}}

#pn-welcome .pn-welcome-copy[hidden]{display:none!important}

html.pn-welcome-cooldown #pn-welcome{display:none!important}
