/* IBEN GRID v55: architectural paint, never locomotion or avatar transforms. */
.iben-grid { --grid-cyan: #37dff7; --grid-blue: #338bfa; --grid-orange: #ff983e; }
.iben-grid-architecture { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; opacity: 1; transition: opacity 1.4s ease; }
.iben-grid-wall, .iben-grid-ceiling, .iben-grid-floor, .iben-grid-circuits { position: absolute; pointer-events: none; transition: opacity 1.2s, clip-path 1.4s ease; }
.iben-grid-wall { inset: 10% 4% 24%; border: 1px solid #37dff74d; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), #37dff729 calc(12.5% - 1px) 12.5%), linear-gradient(180deg, #1d88a30d, transparent 60%); box-shadow: inset 0 -1px #37dff799; }
.iben-grid-ceiling { inset: 0 0 auto; height: 14%; clip-path: polygon(0 0,100% 0,94% 100%,6% 100%); border-bottom: 1px solid #37dff780; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), #338bfa66 calc(12.5% - 1px) 12.5%), repeating-linear-gradient(0deg, transparent 0 2rem, #37dff729 2rem calc(2rem + 1px)), linear-gradient(#02070b,#10232e); transform: perspective(900px) rotateX(-22deg); transform-origin: top; }
.iben-grid-floor { inset: auto 0 0; height: 24%; border-top: 1px solid #37dff77d; background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), #37dff730 calc(8.333% - 1px) 8.333%), repeating-linear-gradient(0deg, transparent 0 1.8rem, #338bfa38 1.8rem calc(1.8rem + 1px)), radial-gradient(ellipse at 50% 0, #37dff723, transparent 65%); transform: perspective(520px) rotateX(30deg) scaleX(1.25); transform-origin: top; }
.iben-grid-circuits { inset: 12% 4% 24%; background: linear-gradient(90deg, transparent 12%, #37dff799 12% calc(12% + 1px), transparent calc(12% + 1px) 88%, #37dff799 88% calc(88% + 1px), transparent calc(88% + 1px)), linear-gradient(0deg, transparent 38%, #37dff77d 38% calc(38% + 1px), transparent calc(38% + 1px) 84%, #ff983e66 84% calc(84% + 1px), transparent calc(84% + 1px)); clip-path: inset(0); }
.iben-grid[data-grid-phase="dark"] .iben-grid-architecture, .iben-grid[data-grid-phase="white"] .iben-grid-architecture { opacity: 0; }
.iben-grid[data-grid-phase="signal"] .iben-grid-wall, .iben-grid[data-grid-phase="signal"] .iben-grid-ceiling, .iben-grid[data-grid-phase="signal"] .iben-grid-floor { opacity: 0; }
.iben-grid[data-grid-phase="signal"] .iben-grid-circuits { clip-path: inset(0 94% 92% 0); }
.iben-grid[data-grid-phase="circuits"] .iben-grid-circuits { clip-path: inset(0 0 0 0); }
.iben-grid[data-grid-phase="circuits"] .iben-grid-wall { opacity: .35; }
.iben-grid[data-grid-phase="circuits"] .iben-grid-floor, .iben-grid[data-grid-phase="circuits"] .iben-grid-ceiling { opacity: .2; }
/* LAB 00 retains its calibrated threshold, floor light and black-suit Resident. */
.iben-grid[data-room="00"] .resident-stage { backdrop-filter: none; background: #010204; }
.iben-grid[data-room="00"] .resident-stage__world { background: radial-gradient(ellipse at 50% 45%,#15232c,#060b10 55%,#010204); transition: background 1.5s; }
.iben-grid[data-room="00"] .iben-grid-wall { top: 4.5rem; bottom: var(--resident-floor-line); }
.iben-grid[data-room="00"] .iben-grid-circuits { bottom: var(--resident-floor-line); }
.iben-grid[data-room="00"] .iben-grid-floor { height: var(--resident-floor-line); }
.iben-grid[data-room="00"] .resident-stage__world::before { border-color: #37dff742; box-shadow: inset 0 -4rem 8rem #0009; }
.iben-grid[data-room="00"] .resident-stage__threshold { z-index: 3; border-color: #37dff788; }
.iben-grid[data-room="00"] .resident-stage__door { z-index: 2; }
.iben-grid[data-room="00"] .resident-stage__door-sign { position:absolute!important; z-index:6!important; top:16%; right:16%; left:16%; display:grid; width:auto; place-items:center; padding:.7rem .35rem .55rem; border-color:#37dff788; line-height:1.2; text-align:center; transform:none; }
.iben-grid[data-room="00"] .resident-stage__door-sign strong { display:block; width:100%; font:inherit; font-weight:400; text-align:center; }
.iben-grid[data-room="00"] .resident-stage__door-sign small { display:block; margin-top:.38rem; padding-top:.34rem; border-top:1px solid #37dff733; }
.iben-grid[data-room="00"] .resident-stage__door-sign small { color: #37dff7; }
.iben-grid[data-room="00"][data-grid-phase="dark"] .resident-stage__world { background: #010204; }
.iben-grid[data-room="00"][data-grid-phase="dark"] .resident-stage__world::before, .iben-grid[data-room="00"][data-grid-phase="dark"] .resident-stage__world::after { opacity: 0; }
.iben-grid[data-room="00"][data-grid-phase="dark"] .resident-stage__threshold { opacity: .06; }
.iben-grid[data-room="00"][data-grid-phase="dark"] :is(.resident-stage__status,.resident-stage__label,.resident-stage__close) { opacity: .08; }
.iben-grid[data-room="00"][data-grid-phase="dark"] > .room { visibility: hidden; }
/* LAB 00 wake-up is a decorative layer only. It never changes the door or
   Resident timeline; the dormant threshold remains untouched before CALL. */
.lab-door-wake { position:absolute; z-index:8; inset:.38rem; overflow:visible; opacity:0; color:#7ceeff; pointer-events:none; }
.lab-door-wake__trace { position:absolute; display:block; opacity:0; background:linear-gradient(90deg,transparent,#9af6ff 45% 55%,transparent); box-shadow:0 0 .55rem #37dff7; }
.lab-door-wake__trace--top,.lab-door-wake__trace--bottom { left:0; width:100%; height:1px; transform:scaleX(0); }
.lab-door-wake__trace--top { top:0; transform-origin:0 50%; }
.lab-door-wake__trace--bottom { bottom:0; transform-origin:100% 50%; }
.lab-door-wake__trace--right,.lab-door-wake__trace--left { top:0; width:1px; height:100%; transform:scaleY(0); background:linear-gradient(180deg,transparent,#9af6ff 45% 55%,transparent); }
.lab-door-wake__trace--right { right:0; transform-origin:50% 0; }
.lab-door-wake__trace--left { left:0; transform-origin:50% 100%; }
.lab-door-wake__lock { position:absolute; top:52%; right:-.45rem; width:1.1rem; height:1.1rem; border:1px solid #37dff7; border-radius:50%; opacity:0; transform:translateY(-50%) scale(.45); background:#02090d; box-shadow:0 0 0 .3rem #02090dd9,0 0 1rem #37dff788; }
.lab-door-wake__lock::before,.lab-door-wake__lock::after,.lab-door-wake__lock i { position:absolute; content:""; background:#8af3ff; box-shadow:0 0 .35rem #37dff7; }
.lab-door-wake__lock::before { inset:50% .18rem auto; height:1px; }
.lab-door-wake__lock::after { inset:.18rem auto .18rem 50%; width:1px; }
.lab-door-wake__lock i { inset:50% auto auto 50%; width:.24rem; height:.24rem; border-radius:50%; transform:translate(-50%,-50%); }
.lab-door-wake strong { position:absolute; top:74%; left:50%; width:max-content; padding:.34rem .52rem; border-block:1px solid #37dff74d; opacity:0; color:#9bf5ff; background:#02090dcc; font:400 clamp(.46rem,.72vw,.61rem)/1.3 monospace; letter-spacing:.2em; text-shadow:0 0 .55rem #37dff7; transform:translate(-50%,.3rem); }
.iben-grid[data-room="00"][data-grid-phase="dark"] .resident-stage.is-waking .resident-stage__threshold { opacity:.42; transition:opacity .35s ease; }
.resident-stage.is-waking .lab-door-wake { animation:lab-wake-layer 3.75s ease forwards; }
.resident-stage.is-waking .lab-door-wake__trace--top { animation:lab-wake-x .52s .08s ease-out forwards; }
.resident-stage.is-waking .lab-door-wake__trace--right { animation:lab-wake-y .48s .5s ease-out forwards; }
.resident-stage.is-waking .lab-door-wake__trace--bottom { animation:lab-wake-x .52s .9s ease-out forwards; }
.resident-stage.is-waking .lab-door-wake__trace--left { animation:lab-wake-y .48s 1.32s ease-out forwards; }
.resident-stage.is-waking .lab-door-wake__lock { animation:lab-lock-online .8s 1.55s cubic-bezier(.2,.8,.2,1) forwards; }
.resident-stage.is-waking .lab-door-wake strong { animation:lab-system-online 1.55s 1.82s ease forwards; }
.resident-stage.is-waking .resident-stage__door { animation:lab-door-active 2.8s .12s ease-out both; }
@keyframes lab-wake-x { 0% { opacity:0; transform:scaleX(0); } 25% { opacity:1; } 100% { opacity:.58; transform:scaleX(1); } }
@keyframes lab-wake-y { 0% { opacity:0; transform:scaleY(0); } 25% { opacity:1; } 100% { opacity:.58; transform:scaleY(1); } }
@keyframes lab-wake-layer { 0% { opacity:0; } 8%,82% { opacity:1; } 100% { opacity:0; } }
@keyframes lab-lock-online { 0% { opacity:0; transform:translateY(-50%) scale(.45) rotate(-35deg); } 55% { opacity:1; } 100% { opacity:.9; transform:translateY(-50%) scale(1) rotate(0); } }
@keyframes lab-system-online { 0%,12% { opacity:0; transform:translate(-50%,.3rem); } 28%,72% { opacity:.92; transform:translate(-50%,0); } 100% { opacity:.18; transform:translate(-50%,0); } }
@keyframes lab-door-active { 0% { box-shadow:0 0 0 transparent; } 44% { box-shadow:inset 0 0 1.5rem #37dff716,0 0 1rem #37dff72b; } 100% { box-shadow:inset 0 0 .8rem #37dff70f,0 0 .4rem #37dff71f; } }
/* The node is a small live-status instrument integrated in the wall. */
.es-cam-node { position: absolute; z-index: 5; top: 18%; left: calc(50% + min(14vw,9rem)); width: clamp(3rem,6vw,4.5rem); color: #b9f8ff; pointer-events: none; opacity: 0; transform: translateY(-.5rem); transition: opacity .6s, transform .7s; }
.es-cam-node[data-camera-anchor="lab-door"] { top:clamp(5.5rem,12vh,8.5rem); right:clamp(1.5rem,7vw,6rem); left:auto; width:clamp(2.6rem,5vw,2.9rem); }
.es-cam-node[data-camera-anchor="lab-door"] .es-cam-node__compartment { height:1.9rem; }
.es-cam-node[data-camera-anchor="lab-door"] .es-cam-node__optic { width:1.4rem;height:1.4rem; }
.es-cam-node[data-camera-anchor="lab-door"] .es-cam-node__optic i { width:.55rem;height:.55rem;margin:.36rem auto; }
.es-cam-node[data-camera-anchor="lab-door"] .es-cam-node__hud { right:0;left:auto;transform-origin:100% 0; }
.es-cam-node[data-camera-anchor="white-upper-wall"] { top: clamp(4.25rem, 8%, 5.5rem); right: clamp(1.5rem, 7vw, 7rem); left:auto; }
/* `journey-active` deliberately lifts ordinary Room children above the light
   sweep. Its broad positioning rule must never pull the wall-mounted camera
   into the Room grid when the entrance door closes. */
.white-room.journey-active .room > .es-cam-node[data-camera-anchor="white-upper-wall"] { position: absolute; z-index: 5; }
.es-cam-node[data-camera-anchor="corridor-left"] { top: max(5.4rem, 11%); right:auto; left:clamp(1rem, 3vw, 3rem); }
.project-corridor-room .es-cam-node[data-camera-anchor="corridor-left"] { z-index:39; }
.es-cam-node[data-camera-anchor="project-wall"] { top:clamp(5.5rem, 11%, 8rem); right:3%; left:auto; }
.es-cam-node.is-revealed { opacity: 1; transform: none; }
.es-cam-node__compartment { height: 2.25rem; overflow: hidden; border: 1px solid #37dff755; background: #080e13; box-shadow: 0 4px 12px #000; }
.es-cam-node__optic { width: 1.75rem; height: 1.75rem; margin: .2rem auto; border: 1px solid #37dff7; border-radius: 50%; background: #010405; box-shadow: 0 0 14px #37dff755; transform: translateY(-150%); transition: transform .65s; }
.is-revealed .es-cam-node__optic { transform: translateY(0); }
.is-targeting .es-cam-node__optic { transform: translateY(0) rotateY(-28deg) rotateX(-12deg); }
.es-cam-node__optic i { display: block; width: .7rem; height: .7rem; margin: .45rem auto; border: 1px solid #55bbdd; border-radius: 50%; background: radial-gradient(circle at 40% 35%,#99fbff,#0b2933 40%,#02080b 72%); }
.es-cam-node__hud { position: absolute; top: 2.9rem; left: 0; width: 12rem; padding: .65rem; border-left: 1px solid #37dff77d; background: #020a11e0; font: .7rem/1.6 monospace; letter-spacing: .08em; opacity:0; visibility:hidden; transform:translateY(-.3rem) scale(.96); transform-origin:0 0; transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s; }
.es-cam-node.is-reporting .es-cam-node__hud { opacity:1;visibility:visible;transform:none;transition-delay:0s; }
.es-cam-node__hud :is(small,strong,span) { display: block; font: inherit; }
.es-cam-node__hud small { color: #77a9b4; font-size: .6rem; }
.es-cam-node__hud strong { color: #37dff7; }
.es-cam-node.is-verified .es-cam-node__hud strong { color: #ffa854; }
.es-cam-node__scan { position: absolute; top: 5.5rem; right: 3rem; width: 6rem; height: 6rem; opacity: 0; border: 1px solid #37dff788; border-radius: 50%; box-shadow: 0 0 20px #37dff71c; }
.is-scanning .es-cam-node__scan { opacity: 1; background: linear-gradient(transparent 48%,#37dff7 50%,transparent 52%); animation: iben-eye-scan 1.1s linear; }
@keyframes iben-eye-scan { from { transform: scale(.9) rotate(-40deg); } to { transform: scale(1) rotate(40deg); } }
/* White stays pure until LIGHT ON + its calm hold have actually completed. */
.iben-grid.white-room .room { transition: background 1.8s ease, color 1.8s; }
.iben-grid.white-room .iben-grid-architecture::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 35%,#1d303b,#0b121a 62%,#04080e); opacity: 0; transition: opacity 1.7s ease; }
.iben-grid.white-room[data-grid-phase="signal"] .iben-grid-architecture::before { opacity: .12; }
.iben-grid.white-room[data-grid-phase="circuits"] .iben-grid-architecture::before { opacity: .5; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]) .iben-grid-architecture::before { opacity: 1; }
.iben-grid.white-room .room > :is(.room-id,.coordinate) { z-index: 4; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]):not(.light-off) .room { color: #dff5fa; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]):not(.light-off) .room::before { background: linear-gradient(90deg,#01050b8c,transparent 25% 75%,#01050b8c); box-shadow: inset 0 0 70px #0004; border-color: #37dff733; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]):not(.light-off) .room::after { border-top-color: #37dff770; background: linear-gradient(#37dff716,transparent 70%); }
.iben-grid.white-room .iben-grid-wall { bottom: calc(100% - var(--white-wall-floor-y,76%)); }
.iben-grid.white-room .iben-grid-floor { height: calc(100% - var(--white-wall-floor-y,76%)); }
.iben-grid.white-room .iben-grid-circuits { bottom: calc(100% - var(--white-wall-floor-y,76%)); }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]) :is(.room-id,.coordinate) { color: #86bbc8; }
/* Corridor world/camera/door positions are completely untouched. */
.iben-grid .project-corridor { background: linear-gradient(#09131f 0 12%,#0b1118 12% 74%,#02060b); }
.iben-grid .project-corridor .iben-grid-wall, .iben-grid .project-corridor .iben-grid-circuits { bottom: var(--floor-height); }
.iben-grid .project-corridor .iben-grid-floor { height: var(--floor-height); }
.iben-grid .project-corridor::after { border-top-color: #37dff766; background: linear-gradient(175deg,#37dff714,#02060b 68%); }
.iben-grid .project-corridor__header { color: #a4d6df; }
.iben-grid .project-corridor__bay { border-inline-color: #37dff727; }
/* Shared building architecture, independent of every project's projection. */
.iben-grid.prompt-world[data-room-shell] { background: #03070c; }
.iben-grid .room-scene .iben-grid-architecture { z-index: 1; }
.iben-grid .room-scene .iben-grid-wall { inset: 8% 10% auto; height: 47%; border-color: #37dff74d; }
.iben-grid .room-scene .iben-grid-circuits { inset: 8% 10% auto; height: 47%; }
.iben-grid .room-scene .iben-grid-floor { top: var(--back-wall-floor-y); height: auto; bottom: 0; }
.iben-grid .room-scene .iben-grid-ceiling { height: 8%; }
.iben-grid .briefing-back-wall { background: radial-gradient(ellipse at 50% 25%,#172634,#070c13 74%); border-color: #37dff740; box-shadow: inset 0 -40px 60px #02040799; }
.iben-grid .briefing-floor { background: radial-gradient(ellipse at 50% 0,#37dff716,transparent 40%),linear-gradient(#080f17,#010408); border-top-color: #37dff766; }
.iben-grid .briefing-side { background: linear-gradient(90deg,#02060b,#152531); border-color: #37dff740; }
.iben-grid .briefing-side--right { background: linear-gradient(-90deg,#02060b,#152531); }
.iben-grid.project-world .world-signature { opacity: .13; }
.iben-grid[data-project="token-lab"] { --world-accent: #ff9e45 !important; }
.iben-grid[data-project="token-lab"] .project-wall { border-color: #ff9e4599; background: linear-gradient(135deg,#ff9e451a,#100c08e8); }
/* Fixed frame + two independent sliding leaves. Hit boxes never move. */
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door) { --sliding-accent: var(--door-accent,var(--grid-cyan)); --sliding-surface: #101c28; isolation: isolate; overflow: hidden; transform: none !important; background: #02070d; filter: none; }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door)::before,
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door)::after { content: ""; position: absolute; z-index: 0; top: 0; bottom: 0; width: 50%; height: auto; border: 0; border-radius: 0; opacity: 1; filter: none; background: linear-gradient(180deg,color-mix(in srgb,var(--sliding-accent) 12%,var(--sliding-surface)),var(--sliding-surface) 55%,#080e16), repeating-linear-gradient(0deg,transparent 0 2rem,#37dff70d 2rem calc(2rem + 1px)); box-shadow: inset 0 2px var(--sliding-accent),inset -1px 0 #37dff75c; transition: transform .72s cubic-bezier(.3,.02,.2,1); }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door)::before { left: 0; right: auto; }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door)::after { left: 50%; right: 0; }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door) > * { position: relative; z-index: 1; transition: opacity .25s; }
.iben-grid .resident-stage__door > .resident-stage__door-sign { position: absolute; }
.iben-grid #white-room-door > .door-label { position: absolute; }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door):is(.is-open,.is-opening)::before { transform: translateX(-101%); }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door):is(.is-open,.is-opening)::after { transform: translateX(101%); }
.iben-grid :is(.resident-stage__door,.project-door,#white-room-door,.briefing-entry-door):is(.is-open,.is-opening) > * { opacity: 0; }
.iben-grid .resident-stage__door:is(.is-open,.is-opening) { background: transparent; }
.iben-grid .project-door:is(.is-open,.is-opening) {
  background:
    linear-gradient(62deg, transparent 0 48.8%, color-mix(in srgb,var(--door-accent) 62%,transparent) 49.4% 50.1%, transparent 50.7%) 0 100% / 50% 55% no-repeat,
    linear-gradient(-62deg, transparent 0 48.8%, color-mix(in srgb,var(--door-accent) 62%,transparent) 49.4% 50.1%, transparent 50.7%) 100% 100% / 50% 55% no-repeat,
    repeating-linear-gradient(90deg, transparent 0 19%, color-mix(in srgb,var(--door-accent) 32%,transparent) 19.5% 20%, transparent 20.5% 39%),
    repeating-linear-gradient(0deg, transparent 0 12%, color-mix(in srgb,var(--door-accent) 24%,transparent) 12.5% 13%, transparent 13.5% 25%) 0 100% / 100% 48% no-repeat,
    radial-gradient(ellipse at 50% 42%, color-mix(in srgb,var(--door-accent) 68%,transparent), transparent 61%),
    linear-gradient(180deg, color-mix(in srgb,var(--door-accent) 34%,#07121b), #02070d 66%, color-mix(in srgb,var(--door-accent) 24%,#01050a));
  box-shadow:
    inset 0 0 3.6rem color-mix(in srgb,var(--door-accent) 38%,transparent),
    inset 0 -2px var(--door-accent),
    0 0 2rem color-mix(in srgb,var(--door-accent) 22%,transparent);
}
.iben-grid .project-door.corridor-return-door:is(.is-open,.is-opening) {
  background:
    radial-gradient(ellipse at 50% 58%, rgba(118,143,151,.16), transparent 58%),
    repeating-linear-gradient(90deg, transparent 0 24%, rgba(132,151,157,.1) 24.5% 25%, transparent 25.5% 49%),
    linear-gradient(180deg, #071018, #010407 70%);
  box-shadow: inset 0 0 2rem rgba(102,128,136,.14);
}
.iben-grid .resident-stage__threshold.is-open .lab-corridor-preview { opacity: 1; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]) #white-room-door .door-label { color: #b9dee7; border-color: #37dff73d; }
.iben-grid .resident-stage.is-resetting .resident-stage__door::before, .iben-grid .resident-stage.is-resetting .resident-stage__door::after { transition: none; }
.iben-grid.white-room #white-room-door { --sliding-surface: #d9ddd9; --sliding-accent: #8aadae; }
.iben-grid.white-room:is([data-grid-phase="grid"],[data-grid-phase="online"]) #white-room-door { --sliding-surface: #152330; --sliding-accent: #37dff7; color: #c2e9ef; }
@media (max-width: 760px) {
  .iben-grid-wall { background: repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#37dff729 calc(25% - 1px) 25%); }
  .iben-grid-floor { background: repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#37dff724 calc(20% - 1px) 20%),repeating-linear-gradient(0deg,transparent 0 2.5rem,#338bfa30 2.5rem calc(2.5rem + 1px)); }
  .es-cam-node { top: 14%; left: auto; right: 8%; width: 3rem; }
  .es-cam-node[data-camera-anchor="lab-door"] { top:7.2rem; right:8%; left:auto; }
  .es-cam-node[data-camera-anchor="white-upper-wall"] { top:5.4rem; right:1rem; left:auto; }
  .es-cam-node[data-camera-anchor="corridor-left"] { top:5.6rem; right:auto; left:.8rem; }
  .project-corridor-room .es-cam-node[data-camera-anchor="corridor-left"] .es-cam-node__hud { right:auto; left:0; transform-origin:0 0; }
  .es-cam-node__hud { left: auto; right: 0; width: min(12rem,54vw); font-size: .65rem; }
  .es-cam-node__scan { right: 3rem; width: 4rem; height: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .iben-grid-architecture, .iben-grid-wall, .iben-grid-floor, .iben-grid-circuits, .iben-grid-ceiling { transition-duration: .1s; }
  .is-scanning .es-cam-node__scan { animation: none; }
  .resident-stage.is-waking :is(.lab-door-wake,.lab-door-wake__trace,.lab-door-wake__lock,.lab-door-wake strong,.resident-stage__door) { animation-duration:.12s; animation-delay:0s; }
}
