/* Observation modules and a room-within-the-room. The Resident's floor/scale stays untouched. */
.es-cam-node--world { width: 2.7rem; z-index: 4; opacity: .65; transition: opacity .35s ease; }
.es-cam-node--world .es-cam-node__compartment { height: 1.8rem; }
.es-cam-node--world .es-cam-node__optic { width: 1.3rem; height: 1.3rem; }
.es-cam-node--world .es-cam-node__optic i { width: .5rem; height: .5rem; margin: .33rem; }
.es-cam-node--world .es-cam-node__hud { display:block; opacity:0; visibility:hidden; transform:translateY(-.3rem) scale(.96); transform-origin:100% 0; transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s; }
.es-cam-node--world .es-cam-node__scan { display:none; }
.es-cam-node--world.is-reporting { opacity:1; }
.es-cam-node--world.is-revealed:not(.is-reporting) { opacity:.65;transform:none; }
.es-cam-node--world.is-reporting .es-cam-node__hud { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.es-cam-node--world.is-reporting .es-cam-node__scan { display:block; }
.eyes-access { position: absolute; right: 3%; top: 41%; z-index: 13; width: 9rem; padding: .55rem; color: #a9f5ff; background: #061018e8; border: 1px solid #36ddf759; font: .75rem/1.5 monospace; }
.eyes-access[hidden],.eyes-back-room[hidden],.eyes-back-door[hidden] { display: none !important; }
.eyes-access small,.eyes-access strong { display: block; }
.eyes-access button,.eyes-control-controls button,.eyes-mode-tabs button { min-height: 44px; border: 1px solid #40d6ec66; background: #061923; color: #bcf6ff; padding: .5rem .65rem; font: .75rem/1.4 monospace; cursor: pointer; }
.eyes-access button { margin-top: .4rem; width: 100%; }
.eyes-access button:disabled { opacity: .4; cursor: default; }
.eyes-back-door { position: absolute; z-index: 8; right: 3%; bottom: var(--presentation-floor-bottom); height: clamp(260px,58dvh,520px); width: clamp(8rem,15vw,13rem); overflow: hidden; background: #01050b; border: 1px solid #35e1ff99; box-shadow: 0 0 25px #35e1ff18; opacity: 0; transition: opacity .9s; }
.eyes-back-door.is-revealed { opacity: 1; }
.eyes-back-door__preview { position: absolute; inset: 10%; background: repeating-linear-gradient(90deg,transparent 0 18%,#42e5fb55 19% 20%,transparent 21% 30%),repeating-linear-gradient(0deg,#091624 0 15%,#173a48 16% 17%); transform: perspective(180px) rotateY(-18deg) scale(.85); box-shadow: inset 0 -60px 50px #000; }
.eyes-back-door__leaf { position: absolute; inset-block: 0; width: 50%; background: linear-gradient(90deg,#09131c,#162c38); border: 1px solid #2d6676; transition: transform .85s cubic-bezier(.25,.7,.25,1); }
.eyes-back-door__leaf--left { left: 0; }
.eyes-back-door__leaf:last-child { right: 0; }
.eyes-back-door.is-open .eyes-back-door__leaf--left { transform: translateX(-100%); }
.eyes-back-door.is-open .eyes-back-door__leaf--right { transform: translateX(100%); }
.eyes-back-room { position: absolute; inset: 0; z-index: 6; background: radial-gradient(ellipse at 50% 35%,#112b37,#02070e 72%); }
.eyes-back-room::after { content: ''; position: absolute; pointer-events: none; right:0; bottom:0; left:0; height:var(--presentation-floor-bottom); border-top: 1px solid #40c8e744; background: repeating-linear-gradient(90deg,transparent 0 9.8%,#29c4db0a 10%),linear-gradient(#06152077,#01040a); }
/* Control Room uses the same responsive floor planting as the nested rooms. */
body[data-eyes-view=control] .prompt-resident .journey-calibration.resident-stage__threshold { bottom:clamp(5rem,10dvh,7rem)!important; }
.eyes-control-header { position: absolute; inset: 5% 7% auto; font: .75rem/1.5 monospace; color: #96bfcc; }
.eyes-control-header h1 { color: #d1f6fc; font-size: clamp(1.2rem,2vw,1.8rem); margin: 0 0 .35rem; }
.eyes-control-stats { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.eyes-camera-wall { position: absolute; top: 17%; left: 12%; right: 12%; height: 19%; overflow: auto; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .4rem; padding: .65rem; border: 1px solid #38d7f052; background: #040d17dd; box-shadow: 0 15px 50px #000,0 0 30px #34dfff0c; scrollbar-width: thin; }
.eyes-camera-wall[data-mode=cameras] { grid-template-columns: 1fr; }
.eyes-camera-wall[data-mode=cameras] .eyes-camera-tile::before { height: 45%; min-height: 40px; }
.eyes-camera-tile { position: relative; text-align: left; padding: .45rem; min-height: 80px; min-width: 0; border: 1px solid #34708788; background: #081b26; color: #c4eef6; cursor: pointer; }
.eyes-camera-tile strong,.eyes-camera-tile small,.eyes-camera-tile span,.eyes-camera-tile em { display: block; overflow-wrap: anywhere; font: .75rem/1.45 monospace; }
.eyes-camera-tile small { color: #73a9b8; }
.eyes-camera-tile em { margin-top:.2rem;color:#6794a1;font-size:.62rem;font-style:normal; }
.eyes-camera-tile::before { content: ''; display: block; height: 20px; margin-bottom: .3rem; background: linear-gradient(135deg,transparent 32%,#4de5ff33 33% 34%,transparent 35%),linear-gradient(225deg,transparent 32%,#4de5ff33 33% 34%,transparent 35%),repeating-linear-gradient(90deg,#0b2737 0 24%,#3cdfff33 25%,#0b2737 26% 49%); }
.eyes-camera-tile[aria-pressed=true] { border-color: #74edff; box-shadow: 0 0 12px #74edff33; }
.eyes-camera-tile[data-occupied=true] { border-left: 3px solid #ffae64; }
.eyes-camera-detail { position: absolute; z-index: 14; left: 3%; top: 47%; width: min(23vw,20rem); max-height: 30%; overflow: auto; padding: .75rem; background: #020a11e8; border-left: 1px solid #37dfff; font: .75rem/1.6 monospace; color: #9bbfc9; }
.eyes-camera-detail h2 { font-size: 1rem; color: #c0f6ff; margin: 0; }
.eyes-mode-tabs { position: absolute; z-index: 14; top: 11%; left: 20%; right: 20%; display: flex; justify-content: center; flex-wrap: wrap; gap: .3rem; }
.eyes-mode-tabs [aria-pressed=true] { border-color: #9ff1ff; }
.eyes-mode-tabs :disabled { opacity: .35; cursor: default; }
.eyes-control-controls { position: absolute; z-index: 26; left: 50%; transform: translateX(-50%); bottom: 2rem; }
body[data-eyes-view=control] .room-scene > :is(.project-wall,.prompt-nav,.briefing-controls,.prompt-status,.eyes-access) { visibility: hidden; pointer-events: none; }
body[data-eyes-view=control] .eyes-back-door { z-index: 9; }
.eyes-mode-note { position: absolute; bottom: 6rem; left: 30%; right: 30%; color: #73a3b2; text-align: center; font: .75rem/1.5 monospace; }
.eyes-back-room button:focus-visible,.eyes-access button:focus-visible { outline: 2px solid #b5f7ff; outline-offset: 2px; }
@media(max-width:760px) {
  .es-cam-node--world { width: 2rem; }
  .eyes-access { right: 2%; top: 37%; width: 7.5rem; padding: .3rem; }
  .eyes-back-door { right: 2%; width: 7.5rem; }
  .eyes-control-header { inset: 1.2rem .8rem auto; }
  .eyes-control-stats { gap: .2rem .6rem; }
  .eyes-camera-wall { top: 18%; left: 5%; right: 5%; height: 19%; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eyes-camera-detail { left: .7rem; top: 48%; width: 27%; max-height: 26%; padding: .3rem; }
  .eyes-mode-tabs { left: 5%; right: 5%; top: 11%; }
  .eyes-mode-tabs button { padding: .3rem; }
  .eyes-mode-note { top: auto; bottom: 5.5rem; left: 5%; right: 5%; }
  .eyes-control-controls { width: 80%; bottom: 2rem; }
}
@media(prefers-reduced-motion:reduce) { .eyes-back-door,.eyes-back-door__leaf { transition: none; } }
