.scene-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.original-art{z-index:1}
/* Original heads stay baked into the idle artwork. Selection reveals only the
   chosen animated head over its clean background. */
body.is-animating[data-side="left"] .original-art{clip-path:inset(0 0 0 49.67%)}
body.is-animating[data-side="right"] .original-art{clip-path:inset(0 50.33% 0 0)}
.sprite-actor{position:absolute;visibility:hidden;pointer-events:none;z-index:3;transform-origin:50% 65%;filter:drop-shadow(7px 12px 9px #0005);will-change:transform}
body.is-animating[data-side="left"] .actor-left,body.is-animating[data-side="right"] .actor-right{visibility:visible}
body.is-animating.screen-broken .sprite-actor,body.is-animating.site-arrived .sprite-actor{visibility:hidden}
.actor-left{left:10.5%;top:31%;width:27%;height:62%}
.actor-right{left:62%;top:29%;width:28%;height:64%}
.sprite-crop{display:block;width:100%;height:100%;overflow:hidden}
.sprite-crop canvas{display:block;width:100%;height:100%}
.destinations{position:absolute;inset:0;z-index:5}.switch{z-index:6}
.entrance{z-index:2}.entrance.is-leaving{opacity:1;transform:none;filter:none}
body.is-animating .destination,body.is-animating .switch{pointer-events:none}
body.rage-on .actor-right{filter:drop-shadow(0 0 15px #ff280076)}
.ear-cloud{position:absolute;top:37%;width:18%;height:14%;z-index:-1;opacity:0}.ear-a{left:10%}.ear-b{right:10%;top:44%}
.ear-cloud i{position:absolute;bottom:0;width:100%;height:55%;border-radius:50%;background:radial-gradient(ellipse,#ffffffae,#d9e5df77 40%,transparent 70%);filter:blur(5px)}
.ear-cloud i:nth-child(2){left:20%;animation-delay:-.5s!important}.ear-cloud i:nth-child(3){left:-15%;animation-delay:-1s!important}
body.rage-on .ear-cloud{opacity:1}body.rage-on .ear-cloud i{animation:ear-steam 1.65s .4s infinite}
@keyframes ear-steam{0%{opacity:0;transform:translateY(0) scale(.4)}25%{opacity:.9}100%{opacity:0;transform:translate(10%,-180%) scale(1.8)}}
#screen-effects{position:fixed;inset:0;z-index:40;width:100vw;height:100svh;pointer-events:none}
.destination-reveal{position:fixed;inset:0;z-index:0;background:#080c0c;visibility:hidden}
.destination-reveal img,.destination-reveal picture{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.destination-reveal #production-reveal{display:none}
body[data-side="left"] #dan-reveal{display:none}body[data-side="left"] #production-reveal{display:block}
body.screen-broken .destination-reveal{visibility:visible}body.screen-broken .entrance{visibility:hidden}body.screen-broken .website-arrival{visibility:hidden}
.website-arrival{position:fixed;z-index:30;left:0;top:0;width:100vw;height:100svh;background:#080b13;border:2px solid #9affff;border-radius:10px;box-shadow:0 0 18px #11e6ff,0 0 45px #c32aff;transform-origin:50% 50%;opacity:0;pointer-events:none;overflow:hidden;will-change:transform}
.website-arrival picture{display:block;width:100%;height:100%}.website-arrival img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:600px){.website-arrival picture{display:block;width:100%;height:100%}.website-arrival img{object-fit:cover}.actor-left{filter:drop-shadow(2px 4px 3px #0005)}.actor-right{filter:drop-shadow(2px 4px 3px #0005)}}
@media(prefers-reduced-motion:reduce){.ear-cloud{display:none}}

/* The production website flies all the way to the viewport; only Dan shatters. */
body.site-arrived .entrance{visibility:hidden}
body.site-arrived .website-arrival{border:0;border-radius:0;box-shadow:none}
body[data-side="left"] #screen-effects{z-index:20}

/* The actual corner logo lifts into its own foreground canvas. */
.landing-universe .universe-hover{position:absolute;inset:0;opacity:0;transition:opacity .18s}
.landing-universe:hover .universe-hover,.landing-universe:focus-visible .universe-hover{opacity:1}
.universe-flight-canvas{position:fixed;inset:0;z-index:80;width:100vw;height:100svh;pointer-events:none}
.universe-flight-canvas[hidden]{display:none!important}
body.universe-travelling .landing-universe img{visibility:hidden}
body.universe-travelling .landing-universe{transform:none;outline:none}
body.universe-travelling .destinations,body.universe-travelling .switch,body.universe-travelling .case-index{pointer-events:none}

/* The Index button becomes the central switch before its light fills the screen. */
.index-flight-canvas{position:fixed;inset:0;z-index:80;width:100vw;height:100svh;pointer-events:none}
.index-flight-canvas[hidden]{display:none!important}
body.index-travelling .case-index{visibility:hidden}
body.index-travelling .destinations,body.index-travelling .switch,body.index-travelling .landing-universe{pointer-events:none}
body.index-docked .switch{visibility:hidden}
