/* Scoped visual composition only. No world coordinates or movement timing. */
.lab-corridor-preview {
  position: absolute; inset: 0; overflow: hidden; opacity: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 44%, #143338 0, #070d12 20%, #020405 64%);
}
.resident-stage.is-exiting-building .lab-corridor-preview { opacity: 1; }
.resident-stage.is-exiting-building .resident-stage__threshold::before { opacity: .08; }
.lab-corridor-preview::before, .lab-corridor-preview::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(158deg, transparent 49.7%, #7cbac633 50%, transparent 50.4%),
    linear-gradient(202deg, transparent 49.7%, #7cbac633 50%, transparent 50.4%);
}
.lab-corridor-preview::after {
  top: 45%; background: linear-gradient(34deg, transparent 49.7%, #70ccdd44 50%, transparent 50.4%),
    linear-gradient(-34deg, transparent 49.7%, #70ccdd44 50%, transparent 50.4%),
    repeating-linear-gradient(0deg, #09131644 0 14%, #7896a21c 14.2% 14.4%, transparent 14.6% 28%);
}
.lab-corridor-preview i {
  position: absolute; top: 13%; bottom: 12%; width: 19%; left: 3%;
  border: 1px solid #a485ce88; box-shadow: 0 0 9px #ac6bff18;
  transform: skewY(16deg); background: linear-gradient(#6f48a31c, transparent 42%);
}
.lab-corridor-preview i:nth-child(2) { left: 27%; top: 27%; bottom: 24%; width: 11%; border-color: #55d6d977; }
.lab-corridor-preview i:nth-child(3) { left: 41%; top: 36%; bottom: 34%; width: 5%; border-color: #b5d55f66; }
.lab-corridor-preview i:nth-child(4) { left: auto; right: 3%; transform: skewY(-16deg); border-color: #d773aa77; }
.lab-corridor-preview i:nth-child(5) { left: auto; right: 27%; top: 27%; bottom: 24%; width: 11%; transform: skewY(-16deg); border-color: #dfaa6477; }
.lab-corridor-preview i:nth-child(6) { left: auto; right: 41%; top: 36%; bottom: 34%; width: 5%; transform: skewY(-16deg); border-color: #719fe577; }
.resident-stage.is-entering-depth .resident-stage__canvas {
  transform: scale(var(--entry-scale, 1));
}
/* Quiet White Room only; the spectacle and Room 02 are untouched. */
.white-room[data-room-shell]:not(.light-off):not(.dance-mode) .room::before {
  background: linear-gradient(90deg, rgba(40,48,43,.035), transparent 24% 76%, rgba(40,48,43,.035));
  box-shadow: inset 0 0 70px rgba(0,0,0,.035);
}
.white-room[data-room-shell]:not(.light-off):not(.dance-mode) .room::after {
  border-top-color: rgba(49,59,52,.16);
  box-shadow: inset 0 12px 22px -22px rgba(30,40,34,.22);
}
.white-room[data-room-shell]:not(.light-off):not(.dance-mode) .door {
  box-shadow: 0 2px 4px rgba(30,36,30,.13), 0 0 35px rgba(255,255,255,.14);
}
@media (max-width: 700px) {
  .white-room[data-room-shell] .journey-resident--white [data-journey-status] {
    top: max(.25rem, env(safe-area-inset-top));
    max-width: calc(100% - 2rem); padding: .4rem .6rem;
    font-size: .58rem; line-height: 1.5; letter-spacing: .12em;
  }
}
