/* residual — Ray's enforcement suite. Clinical. Cold. The system bleeding while
   the god monologues. Matches Mar00n ray-office palette: near-black, pale institutional blue.
   All ray-office location styles live here (gitignored) — shared CSS untouched.
*/

body[data-chapter="RESIDUAL"] {
  --chapter-primary: #c4d8e8;
  --chapter-secondary: #8aabb8;
  --chapter-accent: #d8e8f0;
}

/* Nav arrows */
.glitch-arrow,
.chapter-nav a {
  color: var(--chapter-secondary);
}

.glitch-arrow:hover,
.chapter-nav a:hover {
  color: var(--chapter-primary);
  text-shadow: 0 0 14px rgba(196, 216, 232, 0.4);
}

/* ===== LOCATION: RAY-OFFICE — clinical enforcement alcove ===== */
/* Matches Mar00n ray-office: cold institutional white on near-black void. */

body[data-location="ray-office"] {
  --chapter-primary: #c4d8e8;
  --chapter-secondary: #8aabb8;
  --chapter-accent: #d8e8f0;
  background: #030507;
}

body[data-location="ray-office"] main {
  background: radial-gradient(ellipse at 50% 50%, rgba(196,216,232,0.04) 0%, transparent 75%);
}

body[data-location="ray-office"] .scene {
  border-left-color: #c4d8e8;
  background: rgba(196,216,232,0.012);
}

body[data-location="ray-office"] .scene p:not([class]) {
  color: #c8d4dc;
}

/* Character: Ray — clean institutional white */
body[data-location="ray-office"] .char-ray {
  color: #ffffff;
  font-weight: bold;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

/* Character: Architect — cyan cutting through Ray's cold white space */
body[data-location="ray-office"] .char-architect {
  color: #33bbff;
  font-weight: bold;
  text-shadow: 0 0 8px rgba(51, 187, 255, 0.4);
}

/* System alerts — terminal block, red-tinted warning */
body[data-location="ray-office"] .system-alert {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.85rem;
  color: #ff4444;
  text-shadow: 0 0 8px rgba(255, 68, 68, 0.35);
  border: 1px solid rgba(255, 68, 68, 0.25);
  background: rgba(255, 68, 68, 0.04);
  padding: 0.5em 1em;
  margin: 1.2rem 0;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

body[data-location="ray-office"] .system-alert code {
  color: inherit;
  background: none;
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  border: none;
}

/* Inline system status — smaller, inline with prose */
body[data-location="ray-office"] .system-alert-inline {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.82em;
  color: #ff6666;
  text-shadow: 0 0 6px rgba(255, 100, 100, 0.3);
  letter-spacing: 0.04em;
}

/* Ray beat — single-line status update, centered */
body[data-location="ray-office"] .ray-beat {
  text-align: center;
  letter-spacing: 0.2em;
  font-size: 1rem;
  color: #c4d8e8;
  text-shadow: 0 0 12px rgba(196, 216, 232, 0.3);
  margin: 2rem 0;
}

/* Ray's internal monologue — italicized, dimmed */
body[data-location="ray-office"] .ray-internal {
  font-style: italic;
  color: #8aabb8;
  opacity: 0.75;
  padding-left: 1.5rem;
  border-left: 2px solid rgba(138, 171, 184, 0.2);
  margin: 0.6rem 0;
}

/* Trace lock-on — Ray finds the hacker, moment of focus */
body[data-location="ray-office"] .ray-trace {
  font-family: 'Courier New', Courier, monospace;
  color: #00ff88;
  text-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  margin: 1rem 0;
}

/* Hacked text — the rewritten about page, distinct from NLT copy */
body[data-location="ray-office"] .hacked-text {
  color: #e8c870;
  font-style: italic;
  text-shadow: 0 0 6px rgba(232, 200, 112, 0.2);
  padding-left: 1.5rem;
  border-left: 2px solid rgba(232, 200, 112, 0.3);
  margin: 0.6rem 0;
}

/* Asset path — URL / file reference styling */
body[data-location="ray-office"] .data-asset {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.88em;
  color: #8aabb8;
  letter-spacing: 0.04em;
}

/* Scene divider — the section break between Ray's two ten-minute windows */
body[data-location="ray-office"] .scene-divider {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(196, 216, 232, 0.1);
}
