/* Visual refinement of the original top-view lesson. Geometry and controls
   remain in science.js; every selector stays inside the existing component. */
#positioning.dark .geometry-instrument {
  --geometry-accent: #79d9eb;
  --geometry-muted: #aebac0;
}
#positioning .geometry-diagram {
  display: block;
  overflow: hidden;
}
#positioning #room-grid path { stroke-opacity: .055; }
#positioning .geometry-diagram > rect:first-of-type {
  stroke: #c3d0d6;
  stroke-opacity: .18;
  stroke-width: .65;
}
#positioning .geometry-instrument .visibility-area { fill: #79d9eb16; }
#positioning .geometry-instrument .shadow-rays { opacity: .28; stroke-width: .6; }
#positioning .geometry-instrument .source-glow { opacity: .16; }
#positioning .geometry-instrument .source-point {
  fill: var(--geometry-accent);
  stroke: var(--dark);
  stroke-width: 1.5;
}
#positioning .geometry-instrument .obstacle-body {
  fill: #424f57;
  stroke: #8b9ba4;
  stroke-width: .75;
}
#positioning .geometry-instrument .obstacle-hatch { display: none; }
#positioning .geometry-instrument .target-ray {
  stroke: var(--geometry-accent);
  stroke-width: 1.15;
}
#positioning .geometry-instrument[data-path-open=false] .target-ray { stroke: #8398a2; }
#positioning .geometry-instrument .target-ray-dashed {
  stroke-dasharray: 3 4;
  stroke-width: .85;
  opacity: .55;
}
#positioning .geometry-instrument .target-point { stroke: #aabac2; stroke-width: 1; }
#positioning .geometry-instrument[data-path-open=true] .target-point { stroke: var(--geometry-accent); }
#positioning .geometry-instrument .target-glow { display: none; }
#positioning .geometry-instrument .source-label,
#positioning .geometry-instrument .chart-tick {
  font-family: Instrument, Arial, sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0;
  fill: var(--geometry-muted);
  stroke: var(--dark);
  stroke-width: 2.5px;
  paint-order: stroke fill;
}
#positioning .geometry-figure .geometry-status-bottom {
  position: static;
  margin: 0;
  padding: 16px 0 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--geometry-muted);
  font-size: .8125rem;
  line-height: 1.5;
  gap: 8px;
}
#positioning .geometry-instrument .status-symbol { width: 6px; height: 6px; border-width: 1px; }
#positioning .geometry-instrument[data-path-open=true] .shadow-state { color: var(--geometry-accent); }
#positioning .geometry-instrument[data-path-open=true] .status-symbol {
  background: var(--geometry-accent);
  border-color: var(--geometry-accent);
}
#positioning .geometry-instrument .source-group:focus-visible,
#positioning .geometry-instrument .obstacle-group:focus-visible {
  outline: 1px solid var(--geometry-accent);
  outline-offset: 4px;
}
@media(max-width:780px) {
  #positioning .geometry-figure .geometry-status-bottom { padding-top: 12px; }
  #positioning .geometry-instrument .source-label,
  #positioning .geometry-instrument .chart-tick { font-size: 13px; }
}
@media(max-width:480px) {
  #positioning .geometry-instrument .source-label,
  #positioning .geometry-instrument .chart-tick { font-size: 16px; }
}
