html,body{overscroll-behavior:none;background:#05010d;height:100%;margin:0;overflow:hidden}body{width:100%;position:fixed;inset:0}#scene{opacity:0;width:100%;height:100%;transition:opacity 1.6s ease-out;display:block;position:fixed;inset:0}body.ready #scene{opacity:1}.crt{z-index:20;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000029 3px),radial-gradient(#0000 55%,#0009 100%);position:fixed;inset:0}.visor{z-index:2;pointer-events:none;border:3px solid #ffffff1a;border-radius:26%/36%;position:fixed;inset:5% 9%;overflow:hidden;box-shadow:0 0 0 100vmax #020006,inset 0 0 70px 12px #39ff141f}.visor:after{content:"";background:linear-gradient(115deg,#ffffff1a 0%,#fff0 35%);position:absolute;inset:0}.hud{z-index:3;pointer-events:none;color:#9bff6a;text-shadow:0 0 6px #9bff6ab3;font-family:"Press Start 2P",monospace;font-size:clamp(8px,1.1vw,14px);position:fixed;inset:10% 8%}.hud-top,.hud-bottom{text-align:center;position:absolute;left:0;right:0}.hud-top{top:0}.hud-bottom{top:var(--start-top,60%);position:fixed}.hud-mode{opacity:.7;font-size:clamp(4px,.7vw,9px);position:absolute;top:1.5vh;right:18%}.hud-hint{opacity:.7;margin-top:1.2em;font-size:.8em}.visor,.hud{opacity:0;transition:opacity 1.6s ease-out .4s}body.ready .visor,body.ready .hud{opacity:1}body:not(.idle) .hud-bottom,body:not(.idle) .hud-hint{opacity:0;transition:opacity .4s}body.about-open .hud-bottom,body.about-open .hud-hint{opacity:0;pointer-events:none}@keyframes blink{50%{opacity:0}}#startBtn{font:inherit;font-size:var(--start-font,26px);color:#9bff6a;text-shadow:inherit;padding:var(--start-pad,22px 44px);cursor:pointer;pointer-events:auto;background:#05010d8c;border:3px solid #9bff6a;animation:1.2s steps(2,end) infinite blink;box-shadow:0 0 22px #9bff6a66,inset 0 0 14px #9bff6a26}#startBtn:hover{color:#05010d;background:#9bff6a;animation:none}body:not(.idle) #startBtn{pointer-events:none}.btn{color:#9bff6a;cursor:pointer;background:0 0;border:2px solid #9bff6a;padding:12px 14px;font-family:"Press Start 2P",monospace;font-size:12px;text-decoration:none;display:inline-block}.btn:hover{color:#05010d;background:#9bff6a}.btn-icon{align-items:center;gap:8px;display:inline-flex}.btn-icon svg{flex-shrink:0;width:16px;height:16px}.tag{color:#9bff6a;letter-spacing:.05em;margin:0 0 6px;font-family:"Press Start 2P",monospace;font-size:12px}.panel,.stage{color:#f6eaff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#080214c7;border:2px solid #ff2bd6;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.65;box-shadow:0 0 24px #ff2bd673,inset 0 0 30px #ff2bd61f}.panel h2,.stage h3{color:#ffd6f8;text-shadow:0 0 12px #ff2bd6,0 0 30px #ff2bd6;margin:.1em 0 .3em;font-family:Lobster,cursive;font-weight:400}.panel h2{font-size:3.4rem}.stage h3{font-size:2.9rem}.panel p,.stage p{margin:0 0 .8em;font-size:1.1rem;line-height:1.7}.panel{z-index:6;opacity:0;pointer-events:none;width:min(620px,82vw);max-height:76vh;padding:26px 30px;transition:opacity .4s,transform .4s;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-46%)}.panel.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.panel-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}#flight{z-index:6;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;display:none;position:fixed;inset:0 8px 0 0;overflow-y:auto}#flight::-webkit-scrollbar{display:none}#flight.show{display:block}#stagesLayer{pointer-events:none;height:100dvh;margin-bottom:-100dvh;position:sticky;top:0}.section{height:100dvh}.stage{text-align:center;opacity:0;pointer-events:none;width:min(700px,82vw);max-height:min(72vh,640px);padding:26px 32px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.stage.active.contact,.stage.active.contact a,.stage.active.contact button{pointer-events:auto}.contact-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.contact-mail{color:#9bff6a;align-items:center;gap:8px;font-weight:600;display:inline-flex}.contact-mail svg{flex-shrink:0;width:18px;height:18px}.contact-email-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.btn-small{padding:8px 10px;font-size:10px}#exitFlight{z-index:8;position:fixed;top:8%;right:7%}#scrollHint{z-index:7;left:50%;top:var(--hint-top,60%);font-family:"Press Start 2P",monospace;font-size:var(--hint-font,22px);color:#9bff6a;text-shadow:0 0 10px #9bff6acc;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--hint-fade,.5s) ease;position:fixed;transform:translate(-50%)}#scrollHint.show{opacity:1}#progress{z-index:7;pointer-events:none;background:#ffffff26;width:3px;position:fixed;top:25%;bottom:25%;right:5.5%}#progressFill{background:#ff2bd6;width:100%;height:0;box-shadow:0 0 10px #ff2bd6}body:not(.flying) #exitFlight,body:not(.flying) #scrollHint,body:not(.flying) #thumbHint,body:not(.flying) #progress{display:none}@media (orientation:portrait){.visor{border-radius:12%/6%;inset:3% 2%}.hud{inset:6%}.hud-mode{top:1vh;right:8%}#startBtn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.panel{width:90vw;padding:20px}.stage{width:88vw;max-height:min(68vh,520px);padding:14px 16px;top:50%}.panel h2{font-size:2.4rem}.stage h3{font-size:1.9rem}.panel p,.stage p{font-size:.95rem;line-height:1.5}#exitFlight{inset:auto auto 5% 5%}#progress{right:3%}}@media (height<=560px),(orientation:landscape) and (height<=500px){.visor{border-radius:6%/12%;inset:1% 2%}.hud{font-size:clamp(6px,1.5vh,9px);inset:2.5% 3%}.stage{width:min(94vw,480px);max-height:min(84vh,300px);padding:8px 10px;top:50%}.stage h3{margin:.02em 0 .1em;font-size:clamp(.95rem,3.8vh,1.35rem)}.stage p,.panel p{margin:0 0 .28em;font-size:clamp(.68rem,2.2vh,.82rem);line-height:1.35}.tag{margin:0 0 2px;font-size:7px}.panel{width:min(94vw,440px);max-height:88vh;padding:10px 12px}.panel h2{font-size:clamp(1.25rem,4.2vh,1.8rem)}#exitFlight{gap:0;padding:6px 8px;inset:2% 2% auto auto}#exitFlight>span,#exitFlight .kbd{display:none}#exitFlight svg{width:18px;height:18px}.contact-links{gap:5px;margin-top:8px}.contact-links .btn-icon span{display:none}.contact-links .btn-icon{justify-content:center;gap:0;min-width:34px;padding:7px}.contact-links .btn-icon svg{width:15px;height:15px}.contact-email-row{gap:6px}.contact-email-row .btn-small{padding:5px 7px;font-size:8px}.contact-mail{gap:4px;font-size:.8em}.contact-mail svg{width:13px;height:13px}#progress{width:2px;top:14%;bottom:14%;right:1.5%}#thumbHint{display:none!important}#scrollHint{font-size:clamp(9px,2.4vh,13px)}}@media (width<=390px),(width<=430px) and (height<=700px){.visor{border-width:2px;border-radius:5%/8%;inset:1% 1.5%}.hud{font-size:clamp(5px,1.4vh,8px);inset:2% 3%}.hud-mode{font-size:clamp(3px,1vh,7px);top:.3vh;right:4%}#startBtn{padding:12px 18px!important;font-size:14px!important}.stage{width:94vw;max-height:min(78vh,420px);padding:8px 10px;top:50%}.stage h3{margin:.02em 0 .08em;font-size:clamp(1rem,4vh,1.4rem)}.stage p,.panel p{margin:0 0 .25em;font-size:clamp(.7rem,2.3vh,.85rem);line-height:1.35}.tag{letter-spacing:.02em;margin:0 0 2px;font-size:7px}.panel{width:94vw;max-height:88vh;padding:10px 12px}.panel h2{font-size:clamp(1.3rem,4.5vh,1.9rem)}.panel-actions{gap:6px;margin-top:8px}.panel-actions .btn{padding:7px 9px;font-size:9px}#exitFlight{gap:0;padding:6px 8px;inset:auto auto 4% 4%}#exitFlight>span,#exitFlight .kbd{display:none}#exitFlight svg{width:18px;height:18px}.contact-links{gap:5px;margin-top:8px}.contact-links .btn-icon span{display:none}.contact-links .btn-icon{justify-content:center;gap:0;min-width:34px;padding:7px}.contact-links .btn-icon svg{width:15px;height:15px}.contact-email-row{flex-direction:column;gap:6px}.contact-email-row .btn-small{padding:5px 7px;font-size:8px}.contact-mail{gap:4px;font-size:.78em}.contact-mail svg{width:12px;height:12px}#progress{width:2px;top:12%;bottom:12%;right:1.5%}#thumbHint{display:none!important}#scrollHint{font-size:clamp(9px,2.2vh,12px)}.hint-arrows span{border-bottom-width:3px;border-right-width:3px;width:14px;height:14px}}.hint-desktop,.hint-mobile{flex-direction:column;align-items:center;gap:14px}.hint-desktop{display:flex}.hint-mobile{display:none}.hint-text{animation:1.2s steps(2,end) infinite blink}.hint-mouse{width:var(--mouse-width,64px);color:#9bff6a;filter:drop-shadow(0 0 8px #9bff6ae6);height:auto;animation:mouseFlash var(--mouse-flash,1.4s) ease-in-out infinite}.hint-wheel{animation:wheelMove var(--mouse-flash,1.4s) ease-in-out infinite}@keyframes mouseFlash{0%,to{opacity:.45}50%{opacity:1}}@keyframes wheelMove{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(14px)}to{opacity:0;transform:translateY(0)}}.hint-arrows{flex-direction:column;align-items:center;display:flex}.hint-arrows-up{flex-direction:column-reverse}.hint-arrows span{width:var(--arrow-size,22px);height:var(--arrow-size,22px);margin:calc(var(--arrow-size,22px) * -.2) 0;opacity:.12;filter:drop-shadow(0 0 6px #9bff6ae6);animation:arrowChase var(--arrow-cycle,1.3s) linear infinite;animation-delay:calc(var(--i) * var(--arrow-stagger,.16s));border-bottom:5px solid #9bff6a;border-right:5px solid #9bff6a;display:block;transform:rotate(45deg)}.hint-arrows-up span{transform:rotate(-135deg)}@keyframes arrowChase{0%{opacity:.12}25%{opacity:1}60%,to{opacity:.12}}@media (hover:none) and (pointer:coarse){.hint-desktop{display:none}.hint-mobile{display:flex}}#thumbHint{z-index:7;left:auto;right:12%;top:var(--thumb-top,76%);width:var(--thumb-width,72px);pointer-events:none;opacity:0;filter:drop-shadow(0 0 6px #9bff6a99);display:none;position:fixed}#thumbHint svg{width:100%;height:auto;display:block;overflow:visible}#thumbHint.show{animation:thumbSwipe var(--thumb-duration,1.9s) ease-in-out infinite;display:block}#thumbHint.show .thumb-ring{transform-box:fill-box;transform-origin:50%;animation:ringPulse var(--thumb-duration,1.9s) ease-out infinite}@keyframes thumbSwipe{0%{opacity:0;transform:translateY(0)scale(1)}12%{opacity:var(--thumb-opacity,.8);transform:translateY(0)scale(.94)}75%{opacity:var(--thumb-opacity,.8);transform:translateY(calc(var(--thumb-travel,160px) * -1)) scale(.94)}to{opacity:0;transform:translateY(calc(var(--thumb-travel,160px) * -1)) scale(1)}}@keyframes ringPulse{0%,8%{opacity:0;transform:scale(.6)}14%{opacity:1;transform:scale(.9)}30%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.enter-guide{font-size:var(--enter-font,14px);pointer-events:none;justify-content:center;align-items:center;gap:16px;margin-top:26px;display:flex}.enter-key{animation:keyPress var(--enter-press,1.6s) ease-in-out infinite;background:#9bff6a14;border:3px solid #9bff6a;border-radius:6px;align-items:center;gap:10px;padding:10px 16px;display:inline-flex;box-shadow:0 6px #9bff6a,0 0 16px #9bff6a80}.enter-key b{font-weight:400}.enter-key svg{width:1.5em;height:1.5em}@keyframes keyPress{0%,55%,to{background:#9bff6a14;transform:translateY(0);box-shadow:0 6px #9bff6a,0 0 16px #9bff6a80}65%,80%{background:#9bff6a66;transform:translateY(5px);box-shadow:0 1px #9bff6a,0 0 30px #9bff6a}}.kbd{opacity:.85;border:2px solid;border-radius:4px;padding:4px 7px;font-size:.6em;box-shadow:0 3px}@media (hover:none) and (pointer:coarse){.enter-guide,.kbd{display:none}}.btn-power{font-size:var(--exit-font,16px);padding:var(--exit-pad,14px 18px);border-width:3px;gap:12px;box-shadow:0 0 14px #9bff6a59}.btn-power svg{width:var(--exit-icon,26px);height:var(--exit-icon,26px);animation:powerGlow var(--exit-glow,1.8s) ease-in-out infinite}@keyframes powerGlow{0%,to{filter:drop-shadow(0 0 2px #9bff6a80)}50%{filter:drop-shadow(0 0 6px #9bff6a)drop-shadow(0 0 14px #9bff6a)}}
