/* ============ AIRLOCK LOADING SCREEN ============ */
#airlock{position:fixed;inset:0;z-index:10000;background:radial-gradient(120% 90% at 50% 40%,#0b1224,#05060d 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;transition:opacity .7s ease,visibility .7s;overflow:hidden}
#airlock.gone{opacity:0;visibility:hidden}
#airlock .al-org{width:min(46vw,220px);height:min(46vw,220px);filter:drop-shadow(0 0 30px rgba(141,242,80,.4))}
#airlock .al-org svg{width:100%;height:100%;overflow:visible}
#airlock .al-brand{font-family:var(--font-display,sans-serif);font-size:clamp(1.6rem,5vw,2.6rem);letter-spacing:.14em;text-transform:uppercase;color:#EEF3E9}
#airlock .al-brand b{color:#8DF250}
#airlock .al-boot{font-family:var(--font-mono,monospace);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,243,233,.5);min-height:1.2em;text-align:center}
#airlock .al-bar{width:min(60vw,300px);height:3px;border-radius:3px;background:rgba(238,243,233,.12);overflow:hidden}
#airlock .al-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8DF250,#39E6FF);animation:alFill 1.7s cubic-bezier(.5,0,.2,1) forwards}
@keyframes alFill{to{width:100%}}
#airlock .al-skip{position:absolute;bottom:22px;right:22px;font-family:var(--font-mono,monospace);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,243,233,.5);background:none;border:1px solid rgba(238,243,233,.25);border-radius:20px;padding:.4rem .9rem;cursor:pointer}
#airlock .al-skip:hover{color:#8DF250;border-color:#8DF250}
#airlock .al-seam{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.6%,rgba(141,242,80,.5) 50%,transparent 50.4%);opacity:0;animation:alSeam 1.7s ease-in forwards}
@keyframes alSeam{0%,60%{opacity:0}80%{opacity:.8}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){#airlock .al-bar i{animation-duration:.3s}#airlock .al-seam{display:none}}


/* HARD FAILSAFE: if JS never removes the airlock, CSS fades it out anyway
   so the site can never be left behind a permanent cover. */
#airlock{animation:alFailsafe .8s ease forwards 6s}
@keyframes alFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
#airlock.gone{animation:none}
