/* Shared document bridge; deliberately independent of either site's design. */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.001s}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
#labs-portal-overlay{position:fixed;inset:0;z-index:2147483647;background:#090712;opacity:0;visibility:visible;pointer-events:auto;touch-action:none;display:grid;place-items:center}
#labs-portal-overlay > p{position:absolute;top:calc(50% + 54px);left:0;right:0;text-align:center;margin:0;padding:24px;font:400 14px/1.6 Manrope,Arial,sans-serif;color:#cfc5dd;opacity:0;transition:opacity .25s}
#labs-portal-overlay[data-waiting] > p{opacity:1}
.portal-stage{position:absolute;inset:0;overflow:hidden;transform-origin:50% 50%;will-change:transform,opacity;isolation:isolate}
.portal-stage-content{position:relative;display:flow-root}
.portal-veil{position:absolute;inset:0;background:#090712;pointer-events:none}
.portal-light{position:absolute;left:50%;top:50%;width:38px;height:38px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff 0 2%,#e8dbff 4%,#b894f5b3 10%,#8956e338 28%,transparent 70%);opacity:1;pointer-events:none}
.portal-light::after{content:'';position:absolute;inset:18px -24px;background:linear-gradient(90deg,transparent,#cbb0ff80,transparent)}
#labs-portal-overlay[data-warp] .portal-light::after{display:none}
html[data-labs-arrival] .portal-light{visibility:hidden}
.portal-ring{fill:none;stroke:#d5bff2;stroke-width:.8px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0}
#labs-portal-overlay[data-cinematic]{overflow:hidden}
/* Announce the destination heading without drawing a control outline around it. */
html[data-labs-portal-state] #hero-title:focus,html[data-labs-portal-state] main h1[tabindex="-1"]:focus{outline:none}
html[data-labs-portal-state="revealing"] #hero-title{visibility:hidden}
html[data-labs-reconstructing] .reveal{transition:none!important}
@media(prefers-reduced-motion:reduce){#labs-portal-overlay > p{transition:none}.portal-light,.portal-gateway{display:none}}
.portal-gateway{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;opacity:0}
.portal-bleed{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--impact-x,50%) var(--impact-y,50%),#d2b5ffb3 0,#8752b963 14%,#50277826 40%,transparent 70%);mix-blend-mode:multiply}
.portal-cosmos{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#090712}
.portal-nebula,.portal-dust{position:absolute;inset:0;background:#090712 url('/labs/assets/nebula.webp') center/cover no-repeat;will-change:transform,opacity}
.portal-nebula.portal-live-environment{background:none;isolation:isolate}
.portal-cosmos[data-direction="forward"] .portal-nebula{mask-image:radial-gradient(ellipse,#000 35%,#000c 50%,transparent 70%);mask-position:center;mask-repeat:no-repeat}
.portal-cosmos[data-direction="reverse"] .portal-nebula{mask-image:radial-gradient(ellipse,#000 30%,#000d 52%,transparent 75%)}
.portal-dust{inset:-15%;background-color:transparent;mask-image:radial-gradient(ellipse,transparent 20%,#0009 40%,#000 50%,transparent 72%);opacity:0}
.portal-mapped-stars{position:absolute;inset:0;overflow:hidden}
.portal-mapped-star{position:absolute;left:50%;top:50%;width:28px;height:1px;transform-origin:0 50%;opacity:0;background:linear-gradient(90deg,transparent,#c7b3e9a6 40%,#f9f1ff);box-shadow:0 0 3px #cbb7f538}
@media(prefers-reduced-motion:reduce){.portal-bleed,.portal-cosmos{display:none}}
/* Keep the asset-readiness hold charged, without another scene or particles. */
@media(prefers-reduced-motion:no-preference){html[data-labs-arrival]::after{box-shadow:0 0 20px 4px #9265d936;animation:portal-charge 1.2s ease-in-out infinite alternate}}
@keyframes portal-charge{to{box-shadow:0 0 42px 9px #9265d959}}
.portal-black-hole{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
#labs-portal-overlay[data-black-hole] .portal-light{visibility:hidden}
.portal-shockwave{position:absolute;left:50%;top:50%;width:46vmin;height:46vmin;border-radius:50%;border:2px solid #dbccf28c;box-shadow:0 0 22px 7px #b79ae54d,inset 0 0 28px 5px #d4bdf53d;filter:blur(3px);pointer-events:none;opacity:0;will-change:transform,opacity}
.portal-pressure{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#f7e8d97a 0%,#c6a4ef40 14%,#8665b21a 32%,transparent 60%)}
.portal-cosmos[data-direction=forward] .portal-mapped-star{width:42px;background:linear-gradient(90deg,transparent,#c9adeec4 48%,#fff5e7);box-shadow:0 0 5px #d9c0f77a}
#labs-portal-overlay[data-white-hole] .portal-light{background:radial-gradient(circle,#fffdf3 0 7%,#fff0cdb3 17%,#ebd7ba47 36%,transparent 70%)}
#labs-portal-overlay[data-white-hole] .portal-shockwave{border-color:#fff1cf9c;box-shadow:0 0 30px 8px #fff3cd57,inset 0 0 24px 5px #ffebd43b}
.portal-release-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.portal-release-stars .portal-mapped-star{width:38px;background:linear-gradient(90deg,transparent,#f1dbb591,#fff9e8);box-shadow:0 0 4px #fff0c94d}
@property --portal-aperture{syntax:'<length>';inherits:false;initial-value:0px}
.portal-return-veil{mask-image:radial-gradient(circle at 50% 50%,transparent max(0px,calc(var(--portal-aperture) - 70px)),#000 var(--portal-aperture))}
