.intro{display:none}
html.intro-pending{overflow:hidden}
html.intro-pending .intro{display:block;position:fixed;inset:0;z-index:1000;overflow:hidden;isolation:isolate;color:#e3c895;animation:intro-parser-safety 0s 10.3s forwards}
html.intro-pending .intro.is-playing{animation-name:intro-safety;animation-delay:7.3s}
.intro-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#081b2a,#030c16 65%,#01060d);transition:opacity 1s ease .12s}
.intro-fog{position:absolute;inset:0;pointer-events:none}
.intro-fog i{-webkit-mask-image:radial-gradient(ellipse,#000 30%,transparent 72%);mask-image:radial-gradient(ellipse,#000 30%,transparent 72%)}
.intro-fog i{position:absolute;inset:-25%;background:url('./assets/intro-mist.svg') center/cover no-repeat;opacity:.26;filter:brightness(.6);animation:intro-drift 7s ease-in-out infinite alternate;transition:transform 1.35s cubic-bezier(.2,.65,.3,1),opacity 1.3s ease;will-change:transform,opacity}
.intro-fog i:nth-child(2){rotate:90deg;opacity:.16;animation-delay:-3s}
.intro-fog i:nth-child(3){rotate:180deg;opacity:.19;animation-delay:-5s;scale:1.2}
.intro-fog i:nth-child(4){rotate:270deg;opacity:.12;animation-delay:-1s;scale:1.1}
.intro-stars{position:absolute;inset:0;pointer-events:none;transition:opacity .65s ease}
.intro-stars i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#d6e4ef;box-shadow:0 0 7px #9dbeda55;opacity:.35;animation:intro-twinkle var(--d) ease-in-out var(--delay) infinite alternate}
.intro-stars i:nth-child(3n){width:1px;height:1px;background:#e5c994}
.intro-stars i:nth-child(6n)::before,.intro-stars i:nth-child(6n)::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:1px;background:#d6c49c;transform:translate(-50%,-50%)}
.intro-stars i:nth-child(6n)::after{transform:translate(-50%,-50%) rotate(90deg)}
.intro-paused .intro-stars i,.intro-paused .intro-fog i{animation-play-state:paused}
.intro-content{position:absolute;inset:0;display:grid;place-items:center;padding:28px;text-align:center}
.intro-logo{grid-area:1/1;max-width:74vw;width:470px;height:auto;filter:drop-shadow(0 0 34px #d5b67d22);transition:opacity .55s ease,transform .75s ease;animation:intro-arrive .8s ease}
.intro-message{grid-area:1/1;position:relative;width:min(900px,90vw);font-size:clamp(32px,4.4vw,70px);transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.intro-line{margin:0;font:1em/1.17 Belarus,Georgia,serif;color:#f0f1f2;letter-spacing:-.015em;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .7s ease;text-wrap:balance}
.intro-line em{color:#d9bb83;font-style:normal}
.intro-line-two{position:absolute;top:calc(100% + 16px);left:0;width:100%;font-size:.9em}
.show-first .intro-logo,.show-second .intro-logo{opacity:0;transform:scale(1.045)}
.show-first .intro-line-one,.show-second .intro-line-two{opacity:1;transform:translateY(0)}
.show-second .intro-message{transform:translateY(calc(-1.05em - 8px))}
.intro-skip{position:absolute;bottom:max(34px,env(safe-area-inset-bottom));right:6vw;border:0;border-bottom:1px solid #d5b67d66;background:transparent;padding:10px 0;color:#c9b994;font:13px Arial,sans-serif;letter-spacing:.06em;cursor:pointer}
.intro-skip svg{width:18px;height:18px;margin-left:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.intro-skip:focus-visible{outline:2px solid #e3c895;outline-offset:6px}
.intro-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.is-revealing .intro-backdrop,.is-revealing .intro-content,.is-revealing .intro-skip,.is-revealing .intro-stars{opacity:0}
.intro-content,.intro-skip{transition:opacity .55s ease}
.is-revealing .intro-fog i{animation:none;transform:translate(-55%,-45%) scale(1.45);opacity:0}
.is-revealing .intro-fog i:nth-child(2){transform:translate(-55%,-45%) scale(1.55)}
.is-revealing .intro-fog i:nth-child(3){transform:translate(-55%,-45%) scale(1.65)}
.is-revealing .intro-fog i:nth-child(4){transform:translate(-55%,-45%) scale(1.75)}
@keyframes intro-arrive{from{opacity:0;transform:scale(.96)}to{opacity:1}}
@keyframes intro-drift{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(4%,3%) scale(1.08)}}
@keyframes intro-twinkle{from{opacity:.16}to{opacity:.72}}
@keyframes intro-safety{to{visibility:hidden;pointer-events:none}}
@keyframes intro-parser-safety{to{visibility:hidden;pointer-events:none}}
@media(max-width:700px){.intro-content{padding:20px}.intro-logo{width:330px;max-width:82vw}.intro-message{font-size:clamp(28px,7.5vw,48px)}.intro-line-two{font-size:.87em}.intro-fog i{inset:-15%}}
@media(prefers-reduced-motion:reduce){
 .intro-logo,.intro-fog i,.intro-stars i{animation:none!important}
 .intro-message{transform:translateY(calc(-1.05em - 8px))!important;transition:none!important}
 html.intro-pending .intro-logo,html.intro-pending .intro-line{transform:none!important;transition:opacity .2s ease!important}
 html.intro-pending .intro-backdrop,html.intro-pending .intro-content,html.intro-pending .intro-skip,html.intro-pending .intro-fog i{transition:opacity .15s ease!important}
 .is-revealing .intro-fog i{transform:none!important}
}
