*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #05070e;--fg: #f4f6fa;--muted: rgba(244, 246, 250, .55)}html{height:100%;scroll-behavior:auto;scroll-snap-type:y mandatory}body{min-height:100%;background:var(--bg);color:var(--fg);font-family:Space Grotesk,system-ui,sans-serif;overflow-x:hidden;overflow-y:scroll}body.is-scroll-locked,body.is-lang-picking{overflow-y:hidden}body.is-scroll-locked,body.is-lang-picking,html:has(body.is-scroll-locked),html:has(body.is-lang-picking){scroll-snap-type:none}#scroll-track{width:100%;pointer-events:none}.scroll-snap{height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}#app{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}#canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:default;pointer-events:auto}.boot-progress{position:fixed;left:50%;bottom:max(14vh,5.5rem);z-index:8;width:min(220px,52vw);transform:translate(-50%);pointer-events:none;opacity:1;transition:opacity 1.1s ease,transform 1.1s ease,visibility 1.1s}.boot-progress.is-done{opacity:0;transform:translate(-50%) translateY(12px);visibility:hidden;transition:opacity 1.1s ease,transform 1.1s ease,visibility 0s linear 1.1s}.boot-progress__track{height:2px;border-radius:999px;background:#ffffff1a;overflow:hidden}.boot-progress__fill{width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f4f6fa59,#f4f6fa 45%,#f4f6fa8c);box-shadow:0 0 12px #ffffff40;transition:width .18s ease-out}.boot-progress__label{margin-top:.65rem;text-align:center;font-family:Space Grotesk,sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:#f4f6fa66}.hero{position:fixed;left:0;right:0;bottom:max(12vh,4.5rem);z-index:5;text-align:center;pointer-events:none;opacity:0;transform:translateY(18px);transition:opacity 1.4s ease,transform 1.4s ease}.hero.is-visible{opacity:1;transform:translateY(0)}.hero.is-scroll-fading{transition:none}.hero,.section-re,.section-fx,.scroll-hint{will-change:opacity}.hero__title{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1.55rem,6.5vw,3rem);letter-spacing:.18em;text-indent:.18em;line-height:1.15;text-transform:uppercase;color:#f7f8fc;text-shadow:0 0 24px rgba(255,255,255,.12)}.hero__tag{margin-top:.55rem;font-family:Space Grotesk,sans-serif;font-weight:500;font-size:clamp(.95rem,3.2vw,1.25rem);letter-spacing:.28em;text-indent:.28em;color:var(--muted)}.section-re{position:fixed;left:0;right:0;bottom:max(6vh,2.2rem);z-index:5;text-align:center;pointer-events:none;opacity:0;transform:translateY(18px);text-decoration:none;color:inherit}.section-re__eyebrow{font-family:Space Grotesk,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#f4f6fa66;margin-bottom:.45rem}.section-re__title{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1.35rem,5.5vw,2.4rem);letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:#f7f8fc;text-shadow:0 0 24px rgba(255,255,255,.1)}.section-fx{position:fixed;left:0;right:0;bottom:max(6vh,2.2rem);z-index:5;text-align:center;pointer-events:none;opacity:0;transform:translateY(18px);text-decoration:none;color:inherit}.section-link.is-clickable{pointer-events:auto;cursor:pointer}.section-link__hint{display:block;margin-top:.55rem;font-family:Space Grotesk,sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:#f4f6fa59;opacity:0;transition:opacity .35s ease,color .35s ease}.section-link.is-clickable:hover .section-link__hint,.section-link.is-clickable:focus-visible .section-link__hint{opacity:1;color:#f4f6fab3}.section-link.is-clickable:hover .section-re__title,.section-link.is-clickable:hover .section-fx__title{text-shadow:0 0 28px rgba(255,255,255,.22)}.section-fx__eyebrow{font-family:Space Grotesk,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#f4f6fa66;margin-bottom:.45rem}.section-fx__title{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1.25rem,5vw,2.2rem);letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;color:#f7f8fc;text-shadow:0 0 24px rgba(255,255,255,.1)}.section-fx__tag{margin-top:.45rem;font-family:Space Grotesk,sans-serif;font-weight:500;font-size:clamp(.85rem,2.8vw,1.1rem);letter-spacing:.22em;text-indent:.22em;color:var(--muted)}.step-nav{position:fixed;left:0;right:0;bottom:max(1.4rem,3.2vh);z-index:7;display:flex;justify-content:space-between;align-items:center;padding:0 max(.85rem,3.5vw);padding-bottom:env(safe-area-inset-bottom,0);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}.step-nav.is-visible{opacity:1;visibility:visible}.step-nav__btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(244,246,250,.22);border-radius:0;background:#05070e73;color:#f4f6fae6;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .25s ease,border-color .25s ease,background .25s ease}.step-nav__btn:hover:not(:disabled){border-color:#f4f6fa73;background:#05070ea6}.step-nav__btn:disabled{opacity:.28;cursor:default}.step-nav__arrow{width:10px;height:10px;border-top:1.75px solid currentColor;border-right:1.75px solid currentColor;flex-shrink:0}.step-nav__arrow--prev{transform:rotate(-135deg);margin-left:3px}.step-nav__arrow--next{transform:rotate(45deg);margin-right:3px}.scroll-hint{position:fixed;left:50%;bottom:max(2.2rem,4vh);z-index:6;display:flex;flex-direction:column;align-items:center;gap:.45rem;transform:translate(-50%);pointer-events:none;opacity:0;transition:opacity 1.2s ease .15s}.scroll-hint.is-visible{opacity:1}.scroll-hint.is-hidden{opacity:0}.scroll-hint__label{font-family:Space Grotesk,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.35em;text-indent:.35em;text-transform:uppercase;color:#f4f6fa73}.scroll-hint__chevron{width:14px;height:14px;border-right:1.5px solid rgba(244,246,250,.55);border-bottom:1.5px solid rgba(244,246,250,.55);transform:rotate(45deg);animation:chevron-pulse 1.6s ease-in-out infinite}@keyframes chevron-pulse{0%,to{opacity:.35;transform:rotate(45deg) translate(-2px,-2px)}50%{opacity:1;transform:rotate(45deg) translate(3px,3px)}}@media (max-height: 700px){.hero,.section-re,.section-fx{bottom:max(8vh,2.5rem)}.scroll-hint{bottom:max(1.4rem,2.5vh)}.step-nav{bottom:max(.9rem,2vh)}}
