/* Shared light deep-layer scenery. Project accent stays on the projection, never on Resident #001. */
.generic-system-projection { display:grid; grid-template-columns:minmax(8rem,.7fr) minmax(0,2fr); gap:.7rem; align-items:stretch; height:27%; overflow:hidden; border-color:color-mix(in srgb,var(--world-accent,#45dfff) 55%,#2a8394); background:linear-gradient(135deg,#06111bec,#071a24d9); }
.generic-system-core { position:relative; display:grid; place-content:center; gap:.25rem; padding:.8rem; border:1px solid color-mix(in srgb,var(--world-accent,#45dfff) 60%,transparent); background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--world-accent,#45dfff) 22%,transparent),transparent 66%); text-align:center; font:700 .7rem/1.5 monospace; letter-spacing:.08em; }
.generic-system-core::after { content:''; position:absolute; inset:12%; border:1px solid color-mix(in srgb,var(--world-accent,#45dfff) 35%,transparent); transform:rotate(45deg); animation:generic-core-pulse 3.2s ease-in-out infinite; }
.generic-system-core strong { font-size:clamp(.8rem,1.2vw,1.05rem); color:#d7f9ff; }
.generic-system-core span,.generic-system-core small { color:color-mix(in srgb,var(--world-accent,#45dfff) 80%,white); }
.generic-system-modules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; align-content:center; }
.generic-system-modules button { display:grid; grid-template-columns:auto 1fr; gap:.15rem .45rem; min-height:3.2rem; text-align:left; border-color:color-mix(in srgb,var(--world-accent,#45dfff) 45%,#274d5c); }
.generic-system-modules button small { grid-row:1 / 3; align-self:center; color:color-mix(in srgb,var(--world-accent,#45dfff) 75%,white); }
.generic-system-modules button strong { color:#d1edf2; }
.generic-system-modules button span { color:#6f9ba8; font-size:.62rem; }
.generic-system-modules button[aria-pressed=true] { border-color:var(--world-accent,#45dfff); box-shadow:inset 0 0 18px color-mix(in srgb,var(--world-accent,#45dfff) 18%,transparent); }
.generic-system-flow { grid-column:1 / -1; margin:0; padding:.3rem; color:#6f9ba8; text-align:center; font:.65rem/1.4 monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-back-room-view .room-scene > :is(.project-wall,.prompt-nav,.briefing-controls,.prompt-status) { visibility:hidden; pointer-events:none; }
body.is-back-room-view { --safe-workspace-inline: clamp(1rem, 4vw, 4rem); }
body.is-back-room-view .back-projection { left:max(12%,var(--safe-workspace-inline)); right:max(12%,var(--safe-workspace-inline)); height:24%; }
body.is-back-room-view [data-journey-status] { visibility:hidden; }
@keyframes generic-core-pulse { 50% { opacity:.35; transform:rotate(45deg) scale(.92); } }
@media(max-width:760px) {
  .generic-system-projection { grid-template-columns:.7fr 1.5fr; height:25%; gap:.35rem; }
  .generic-system-core { padding:.35rem; }
  .generic-system-core span { font-size:.58rem; }
  .generic-system-modules { gap:.25rem; }
  .generic-system-modules button { min-height:2.65rem; padding:.25rem; font-size:.62rem; }
  .generic-system-modules button span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .generic-system-core::after { animation:none; } }
