/* CVRI Agency Facility Schematic — Blubring 3D overlay */
#cvriFacilitySchematic {
  color: #ff9f1c;
}

/* CRT scanlines + vignette on schematic (less flicker than menu) */
.cvri-crt {
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.12),
      rgba(0,0,0,0.12) 1px,
      transparent 1px,
      transparent 2px
    );
}
.cvri-crt::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.35) 100%);
  pointer-events: none;
}

.cvri-schematic-body {
  flex: 1;
  min-height: 0;
  display: flex;
}
.cvri-schematic-container {
  flex: 1;
  min-width: 0;
  position: relative;
}
.cvri-schematic-canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.cvri-focus-close-wrap {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}
.cvri-focus-close-wrap.is-visible {
  pointer-events: auto;
}
.cvri-focus-close {
  font-family: 'VT323', 'Courier New', monospace;
  font-size: 1.1rem;
  color: #ff9f1c;
  background: rgba(0, 0, 0, 0.85);
  border: 1px solid rgba(255, 159, 28, 0.5);
  padding: 0.4rem 1rem;
  cursor: var(--cursor-pointer);
}
.cvri-focus-close:hover {
  background: rgba(255, 159, 28, 0.2);
}
.cvri-panel-left {
  border-right: 1px solid rgba(255, 159, 28, 0.25);
}
.cvri-panel-right {
  border-left: 1px solid rgba(255, 159, 28, 0.25);
}
.cvri-panel-title {
  font-size: 1.15rem;
  margin-bottom: 0.25rem;
  color: #ffb84d;
}
.cvri-panel-sub {
  font-size: 0.95rem;
  opacity: 0.8;
  margin-bottom: 0.5rem;
}
.cvri-panel-label {
  font-size: 1rem;
  margin-top: 0.5rem;
  color: rgba(255, 159, 28, 0.9);
}
.cvri-panel-text {
  font-size: 1rem;
  margin: 0.2rem 0;
  white-space: pre-wrap;
}
.cvri-inv-row, .cvri-item-row {
  font-size: 1rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(255, 159, 28, 0.15);
  cursor: var(--cursor-pointer);
}
.cvri-inv-row:hover, .cvri-item-row:hover {
  background: rgba(255, 159, 28, 0.1);
}
.cvri-item-row {
  margin: 0.1rem 0;
}
.cvri-item-block {
  cursor: var(--cursor-pointer);
  margin: 0.5rem 0;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 159, 28, 0.2);
}
.cvri-item-block:hover {
  background: rgba(255, 159, 28, 0.08);
}
.cvri-item-desc, .cvri-item-notes {
  font-size: 0.9rem;
  margin: 0.25rem 0 0 0;
  padding-left: 0.25rem;
  color: rgba(255, 159, 28, 0.85);
  white-space: pre-wrap;
  line-height: 1.35;
}
.cvri-item-notes {
  color: rgba(255, 159, 28, 0.7);
  font-style: italic;
}
.cvri-test-output {
  font-size: 0.85rem;
  margin-top: 0.25rem;
  padding: 0.4rem;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 159, 28, 0.2);
}
.cvri-test-stream {
  max-height: 140px;
  overflow-y: auto;
  overflow-x: hidden;
}
.cvri-test-line {
  margin: 0.15rem 0;
  color: rgba(255, 159, 28, 0.9);
}
.cvri-test-line-enter {
  animation: cvri-line-enter 0.35s ease-out forwards;
  opacity: 0;
}
@keyframes cvri-line-enter {
  0% { opacity: 0; transform: translateY(-2px); }
  100% { opacity: 1; transform: translateY(0); }
}
.cvri-live-readout {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.75rem;
  padding: 0.4rem 0.5rem;
  margin-top: 0.2rem;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 159, 28, 0.25);
  font-variant-numeric: tabular-nums;
}
.cvri-live-label {
  font-size: 0.75rem;
  color: rgba(255, 159, 28, 0.65);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-right: 0.15rem;
}
.cvri-oscilloscope {
  margin-top: 0.5rem;
  padding: 0.4rem;
  background: #0c0e0a;
  border: 1px solid rgba(255, 159, 28, 0.25);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.6);
  max-width: 100%;
  box-sizing: border-box;
  contain: layout paint;
}
.cvri-oscilloscope-canvas {
  display: block;
  width: 100%;
  height: 96px;
  min-height: 96px;
  max-width: 100%;
  background: #0a1208;
  border: 1px solid rgba(255, 159, 28, 0.2);
  box-sizing: border-box;
  contain: layout paint;
}
.cvri-oscilloscope-labels {
  display: flex;
  justify-content: space-around;
  margin-top: 0.25rem;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: rgba(255, 159, 28, 0.85);
}
.cvri-oscilloscope-labels .cvri-osc-ch1 { color: #5a9fd4; }
.cvri-oscilloscope-labels .cvri-osc-ch2 { color: #ff9f1c; }
.cvri-oscilloscope-labels .cvri-osc-ch3 { color: #7dd3a0; }
.cvri-live-val {
  font-family: 'VT323', 'Courier New', monospace;
  font-size: 1.05rem;
  color: #ff9f1c;
  min-width: 2.5em;
  text-align: right;
  text-shadow: 0 0 6px rgba(255, 159, 28, 0.4);
}
