/* EIDOS probabilistic instrument layer — preserves the existing layout. */
.heatmap-card { position: relative; overflow: hidden; }
#hero-heat { width: 100%; height: 270px !important; display: block; cursor: crosshair; }
.chart-wrap, .card, .two-col > *, .three-col > * { min-width: 0; }
.card svg { width: 100%; max-width: 100%; overflow: hidden; cursor: crosshair; }
.instrument-readout {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px;
  margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(180,255,94,.09);
  font: 8.5px/1.35 var(--mono); color: var(--ink-3); text-transform: uppercase;
}
.instrument-readout span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.instrument-readout b { display: block; color: var(--ink-2); font-weight: 500; font-size: 9.5px; }
.instrument-readout .green { color: var(--neon); }
.instrument-readout .cyan { color: var(--cyan); }
.instrument-readout .amber { color: var(--amber); }
.instrument-readout .rose { color: var(--pink); }
.gauge-instrument { height: 220px !important; display: grid !important; grid-template-columns: 45% minmax(0,1fr); align-items: center; justify-content: stretch !important; gap: 8px; }
.gauge-instrument svg { width: 100% !important; height: 190px !important; }
.gauge-side { font: 10px/1.65 var(--mono); color: var(--ink-3); min-width: 0; }
.gauge-side div { display:flex; justify-content:space-between; gap:8px; border-bottom:1px solid rgba(180,255,94,.07); padding:3px 0; }
.gauge-side b { color:var(--ink-2); font-weight:500; }
.gauge-spark { width:100%; height:38px; margin-top:7px; display:block; }
.chart-legend { display:flex; gap:12px; align-items:center; margin-top:4px; color:var(--ink-3); font:8px/1 var(--mono); }
.chart-legend i { width:12px; height:2px; display:inline-block; margin-right:4px; vertical-align:middle; }
.simulation-pulse { color:var(--pink); opacity:0; transition:opacity .22s ease; }
.simulation-pulse.active { opacity:1; text-shadow:0 0 10px rgba(255,122,158,.55); }
.chart-tooltip {
  position:fixed; z-index:9999; pointer-events:none; min-width:150px; display:none;
  padding:9px 11px; border:1px solid rgba(180,255,94,.55); border-radius:8px;
  background:rgba(1,5,1,.92); box-shadow:0 0 20px rgba(138,255,60,.13);
  color:var(--ink-2); font:9.5px/1.55 var(--mono); backdrop-filter:blur(8px);
}
.chart-tooltip strong { display:block; color:var(--neon); font-size:9px; letter-spacing:.08em; margin-bottom:3px; }
.chart-tooltip .tt-row { display:flex; justify-content:space-between; gap:16px; }
.chart-tooltip .tt-row b { color:var(--ink); font-weight:500; }
.source-viewer { min-width:0; }
.source-toolbar { position:sticky; top:0; z-index:4; background:rgba(10,18,7,.98); }
.source-code-scroll {
  scrollbar-width:thin; scrollbar-color:rgba(180,255,94,.68) rgba(8,16,5,.65);
  scrollbar-gutter:stable both-edges;
}
.source-code-scroll::-webkit-scrollbar { width:5px; height:5px; }
.source-code-scroll::-webkit-scrollbar-track { background:rgba(8,16,5,.65); }
.source-code-scroll::-webkit-scrollbar-thumb { background:rgba(180,255,94,.68); border-radius:999px; }
.source-code-scroll::-webkit-scrollbar-thumb:hover { background:rgba(180,255,94,.98); }
.source-code-scroll::-webkit-scrollbar-corner { background:transparent; }
.source-code li { transition:background .12s ease; }
.source-code li:hover { background:rgba(180,255,94,.035); }
.source-code li::marker { color:rgba(93,112,82,.58); }
@media (max-width:760px) {
  #hero-heat { height:235px !important; }
  .instrument-readout { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:7px; }
  .gauge-instrument { grid-template-columns:42% minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .simulation-pulse { transition:none; } }
