
/* V6 CINEMATIC — additional layers, retaining original layout and brand */
.room-stage{--mx:0px;--my:0px;--room-shift:0px;will-change:box-shadow;transition:transform 1.15s cubic-bezier(.22,1,.36,1),box-shadow 1.2s ease,border-color .8s ease}
.room-stage:hover{border-color:#b9ffe69c}
.room-ambient{position:absolute;inset:-12%;z-index:1;pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 68% 28%,#9affdb22,transparent 55%);transform:translate(var(--mx),var(--my));transition:transform .45s ease,opacity 1s}
.room-stage.is-cleared .room-ambient{opacity:1}
.room-beam{position:absolute;z-index:2;pointer-events:none;top:-35%;left:41%;width:40%;height:155%;transform:translateX(-120%) rotate(23deg);opacity:0;background:linear-gradient(90deg,transparent,#d9fff405,#c8fff422,#e2fff508,transparent);filter:blur(8px)}
.room-stage.is-cleared .room-beam{animation:neuraumBeam 1.65s .12s cubic-bezier(.22,1,.36,1) both}
@keyframes neuraumBeam{0%{transform:translateX(-170%) rotate(23deg);opacity:0}18%{opacity:.85}80%{opacity:.65}100%{transform:translateX(190%) rotate(23deg);opacity:0}}
.room-sweep{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(95deg,transparent 35%,#b9ffe91c 51%,transparent 66%);background-size:220% 100%;background-position:100% 0;opacity:0}
.room-stage.is-cleared .room-sweep{animation:neuraumSweep 1.6s .1s ease-out both}
@keyframes neuraumSweep{0%{opacity:0;background-position:100% 0}15%{opacity:1}80%{opacity:.8}100%{opacity:0;background-position:-90% 0}}
.room-dust{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.room-dust i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#e3fff5;box-shadow:0 0 11px 2px #a6ffe9a8;opacity:0;transform:translate3d(0,0,0)}
.room-dust i:nth-child(1){--x:22%;--y:56%;--dx:-34px;--dy:-72px;--delay:.13s}
.room-dust i:nth-child(2){--x:33%;--y:77%;--dx:44px;--dy:-96px;--delay:.22s}
.room-dust i:nth-child(3){--x:45%;--y:48%;--dx:-25px;--dy:-83px;--delay:.35s}
.room-dust i:nth-child(4){--x:57%;--y:64%;--dx:35px;--dy:-74px;--delay:.18s}
.room-dust i:nth-child(5){--x:70%;--y:38%;--dx:-43px;--dy:-61px;--delay:.31s}
.room-dust i:nth-child(6){--x:76%;--y:78%;--dx:27px;--dy:-91px;--delay:.28s}
.room-dust i:nth-child(7){--x:16%;--y:30%;--dx:21px;--dy:-54px;--delay:.41s}
.room-dust i:nth-child(8){--x:62%;--y:24%;--dx:-15px;--dy:-68px;--delay:.47s}
.room-stage.is-cleared .room-dust i{animation:neuraumDust 1.45s var(--delay) ease-out both}
@keyframes neuraumDust{0%{opacity:0;transform:translate3d(0,12px,0) scale(.3)}22%{opacity:.85}80%{opacity:.5}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.2)}}
.room-stage .room-object{transition-duration:1.35s;transition-timing-function:cubic-bezier(.22,1,.36,1)}
.room-stage.is-cleared .room-outcome span{animation:neuraumTitle 1.15s .42s both cubic-bezier(.22,1,.36,1)}
@keyframes neuraumTitle{from{filter:blur(13px);letter-spacing:.06em;transform:translateY(17px)}to{filter:blur(0);letter-spacing:-.08em;transform:translateY(0)}}
.room-stage.is-cleared .room-window{filter:drop-shadow(0 0 22px #a9ffe655)}
.transform-toggle{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.transform-toggle::after{content:"";position:absolute;inset:-80% auto -80% -80%;width:35%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff8c,transparent);transition:left .75s ease;pointer-events:none}
.transform-toggle:hover::after{left:145%}
.transform-toggle:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.room-stage{transform:perspective(1200px) rotateY(calc(-2deg + var(--tilt-x,0deg))) rotateX(var(--tilt-y,0deg))}}
@media(max-width:700px){.room-stage{transform:none!important}.room-beam{filter:blur(13px)}}
@media(prefers-reduced-motion:reduce){.room-stage,.room-object,.room-ambient,.transform-toggle{transition:none!important;transform:none!important}.room-stage.is-cleared .room-beam,.room-stage.is-cleared .room-sweep,.room-stage.is-cleared .room-dust i,.room-stage.is-cleared .room-outcome span{animation:none!important}.room-stage.is-cleared .room-dust i{opacity:0}}
