/* A single viewport-sized cloud plate keeps identical framing across documents. */
.cloud-stage{position:fixed;inset:0;z-index:100001;overflow:hidden;display:none;pointer-events:all;isolation:isolate;contain:layout paint style}
.cloud-stage.is-active{display:block}
.cloud-plane{position:absolute;inset:0;pointer-events:none;backface-visibility:hidden;will-change:transform;background:#dcecf7 url('/clouds/generated-core.png') center/cover no-repeat;transform:translate3d(101%,0,0)}
.cloud-stage[data-phase=covered] .cloud-plane{transform:translate3d(0,0,0)}
.cloud-logo,.cloud-incoming:after{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font:850 30px Arial,Helvetica,sans-serif!important;letter-spacing:-1.8px;color:#173b50;white-space:pre;pointer-events:none}
.cloud-logo{z-index:10;opacity:0}.cloud-stage.is-active .cloud-logo{animation:cloud-logo-in 120ms 180ms both}.cloud-stage[data-phase=covered] .cloud-logo{animation:none;opacity:1}.cloud-stage.is-revealing .cloud-logo{animation:cloud-logo-out 130ms both}
@keyframes cloud-logo-in{from{opacity:0}to{opacity:1}}@keyframes cloud-logo-out{from{opacity:1}to{opacity:0}}
.cloud-incoming:before{content:'';position:fixed;inset:0;z-index:100002;background:#dcecf7 url('/clouds/generated-core.png') center/cover no-repeat}.cloud-incoming:after{content:'LIFT';z-index:100003}
.cloud-transitioning .cloud-layer,.cloud-incoming .cloud-layer{animation-play-state:paused!important}
.cloud-transitioning .navigation,.cloud-incoming .navigation{backdrop-filter:none!important}
[data-cloud-focus]:focus{outline:none}
@media(prefers-reduced-motion:reduce){.cloud-stage,.cloud-incoming:before,.cloud-incoming:after{display:none!important}}
.cloud-transitioning *{backdrop-filter:none!important}
/* Gentle internal drift shares its timing and crop across the document handoff. */
.cloud-plane{background:none}.cloud-plane:before{content:'';position:absolute;inset:-12px;background:#dcecf7 url('/clouds/generated-core.png') center/cover no-repeat;will-change:transform;animation:cloud-life 5s ease-in-out infinite alternate;animation-delay:var(--cloud-phase,0ms)}
.cloud-incoming:before{inset:-12px;animation:cloud-life 5s ease-in-out infinite alternate;animation-delay:var(--cloud-phase,0ms);will-change:transform}
@keyframes cloud-life{from{transform:translate3d(-7px,-3px,0)}to{transform:translate3d(7px,3px,0)}}
@media(prefers-reduced-motion:reduce){.cloud-plane:before,.cloud-incoming:before{animation:none}}
