/* Short desktop windows: keep each model's controls beside its recording.
   No page zoom, clipped figures, or changes to waveform calibration. */
.fr-figure-jump { display: none; }
.pdr-workspace, .hunter-workspace { display: contents; }
/* The placement lab already labels this as screen-reader help. */
.lead-lab .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.measurement-reference { margin-block: .75rem; }
.measurement-reference > summary { cursor: pointer; font-weight: 600; }

@media (min-width: 1200px) and (max-height: 900px) {
  body.has-fundamentals-reader main.page-eeg_lead_simulator { max-width: 1500px; padding-inline: 1rem; }
  body.has-fundamentals-reader .fundamentals-content { padding: .4rem .5rem; }
  body.has-fundamentals-reader .fundamentals-section { padding: .75rem .8rem; }
  body.has-fundamentals-reader .fr-row { gap: .75rem; }
  body.has-fundamentals-reader .fr-index { flex-basis: 192px; }
  body.has-fundamentals-reader .fr-pager { margin-block: .25rem .5rem; padding: .35rem .5rem; }
  body.has-fundamentals-reader .section-header { font-size: 1.6rem; }
  body.has-fundamentals-reader .fundamentals-section > .section-badge { margin-bottom: .6rem; }
  body.has-fundamentals-reader .fr-figure-jump:not([hidden]) { display: inline-flex; }
  body.has-fundamentals-reader :is(.bpm-stage,.sum-lab,.ion-lab,.dip-explorer,.instrument-lab,.montage-compare,.wave-lab,.eye-lab,.interactive-module,.adc-lab) { scroll-margin-top: 74px; }
  body.has-fundamentals-reader :is(.visual-lab-header,.wave-lab-heading) { margin-bottom: .6rem; }
  body.has-fundamentals-reader :is(.component-footer,.instrument-guidance,.instrument-settings,.hunter-feedback) { margin-block: .5rem; padding: .5rem .65rem; line-height: 1.45; }

  /* Keep the controls and summed trace in view together. */
  body.has-fundamentals-reader .sum-lab { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: .6rem 1rem; align-items: start; }
  .sum-lab .sum-stage { grid-column: 2; grid-row: 1 / 4; }
  body.has-fundamentals-reader .sum-lab #sum-verdict { grid-column: 1 / -1; }
  .sum-lab > :not(.sum-stage) { grid-column: 1; }
  .sum-lab .sum-kinds { flex-direction: column; }
  body.has-fundamentals-reader .sum-lab .sum-stage figcaption { font-size: .875rem; line-height: 1.45; margin: .35rem 0; padding: .35rem; }
  .sum-lab .sum-action-row { display: grid; }
  .sum-lab .sum-action-row .dip-slider-row { display: flex; flex-wrap: wrap; }
  .sum-lab .sum-action-row .dip-slider-row span { flex-basis: 100%; }
  .sum-lab .dip-readout { grid-template-columns: 1fr; }
  .sum-lab .sum-opposing-control { margin: 0; }
  .sum-lab .sum-opposing-control span { flex-basis: 100%; }

  body.has-fundamentals-reader .dip-explorer { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: .6rem .8rem; padding: .7rem; align-items: start; }
  .dip-explorer .dip-panels { grid-column: 2; grid-row: 1 / 3; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: .6rem; }
  .dip-explorer > :not(.dip-panels) { grid-column: 1; }
  .dip-explorer .dip-presets { display: grid; grid-template-columns: 1fr; }
  .dip-explorer .dip-adjustments { display: grid; grid-template-columns: 1fr; }
  .dip-explorer .dip-slider-row { grid-template-columns: minmax(0,1fr) 3rem; }
  .dip-explorer .dip-slider-row > span { grid-column: 1 / -1; width: 100%; }
  .dip-explorer .dip-readout { grid-template-columns: 1fr; gap: .4rem; }
  body.has-fundamentals-reader .dip-explorer .dip-readout > div { padding: .2rem .35rem; }
  body.has-fundamentals-reader .dip-explorer .dip-readout { margin: 0; gap: .25rem; }
  body.has-fundamentals-reader .dip-explorer .dip-readout strong { font-size: .95rem; }
  body.has-fundamentals-reader .dip-explorer #dip-note { grid-column: 1 / -1; }
  .dip-explorer .dip-model-notes { grid-column: 1 / -1; }
  .dip-explorer .dip-model-notes { margin: 0; }
  .dip-explorer .dip-panel-title { font-size: .95rem; }
  .dip-explorer .dip-panels figcaption { padding: .35rem; font-size: .875rem; line-height: 1.45; }

  body.has-fundamentals-reader #ion-lab { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: .6rem .8rem; padding: .7rem; align-items: start; }
  #ion-lab .visual-lab-header { grid-column: 1 / -1; }
  #ion-lab .ion-stage { grid-column: 2; grid-row: 2 / 5; margin: 0; }
  #ion-lab .visual-control-row { grid-column: 1; margin: 0; }
  #ion-lab .visual-control-row .visual-segment { display: grid; width: 100%; }
  #ion-lab .ion-readout { grid-column: 1; grid-template-columns: 1fr; gap: .45rem; margin: 0; }
  #ion-lab .ion-readout > div { padding: .4rem .6rem; }
  #ion-lab .ion-model-notes { grid-column: 1; margin: 0; padding: .5rem; }
  #ion-lab .ion-figure-grid { grid-template-columns: minmax(0,1.35fr) minmax(170px,.8fr); gap: .5rem; padding: .5rem; }
  #ion-lab #ion-svg { max-height: 365px; }
  #ion-lab .ion-signal-svg { max-height: 190px; }
  #ion-lab .ion-stage figcaption { padding: .5rem .65rem; }

  /* All four channels retain their full voltage range and vertical order. */
  body.has-fundamentals-reader .bpm-stage { grid-template-columns: minmax(260px,.65fr) minmax(0,1fr); gap: 1rem; }
  .bpm-stage .math-electrode { padding-block: .45rem; }
  .bpm-stage .math-sim-buttons { gap: .4rem; }

  body.has-fundamentals-reader .instrument-lab { display: grid; grid-template-columns: 265px minmax(0,1fr); gap: .55rem .8rem; align-items: start; }
  .instrument-lab .instrument-controls { grid-column: 1; grid-row: 1 / 4; grid-template-columns: 1fr 1fr; gap: .6rem; }
  .instrument-lab .instrument-view { grid-column: 2; grid-row: 1; margin: 0; }
  .instrument-lab .instrument-settings { grid-column: 2; grid-row: 2; }
  .instrument-lab .instrument-trace-scroll { grid-column: 2; grid-row: 3 / 6; }
  .instrument-lab > .teaching-control { grid-column: 1; margin: 0; }
  .instrument-lab .instrument-experiments { grid-column: 1; display: grid; margin: 0; gap: .4rem; }
  .instrument-lab .instrument-guidance { grid-column: 1 / -1; grid-row: 6; }
  .instrument-lab > .teaching-assumption { grid-column: 2; grid-row: 7; margin: 0; }
  .instrument-lab > .teaching-details { grid-column: 1; grid-row: 7; margin: 0; padding: .5rem; }
  .instrument-lab :is(button,select) { padding: .45rem; min-height: 38px; }
  .instrument-lab .instrument-controls label { gap: .3rem; }

  /* Two aligned figure panels; controls and interpretation use the full width. */
  .montage-compare { display: block; }
  .montage-compare .mc-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: .6rem 1.2rem; margin-bottom: .65rem; }
  .montage-compare .mc-chips { flex-wrap: wrap; gap: .4rem; }
  .montage-compare .mc-chip { min-height: 34px; padding: .4rem .7rem; font-size: .8rem; }
  .montage-compare .mc-group-label { font-size: .72rem; }
  .montage-compare .mc-hint { width: auto; min-width: 0; font-size: .75rem; margin-top: .35rem; }
  .montage-compare .mc-workspace { grid-template-columns: minmax(0,1fr) minmax(250px,28%); min-height: 502px; align-items: stretch; gap: .85rem; }
  .montage-compare .mc-stage { align-self: stretch; }
  .montage-compare .mc-heatmap { position: static; align-self: stretch; justify-content: center; min-width: 0; padding: .8rem; }
  .montage-compare .mc-heatmap-map { width: min(100%,260px); }
  .montage-compare .mc-heatmap-map text { font-size: 14px; }
  .montage-compare .mc-heatmap-label { font-size: .75rem; }
  .montage-compare .mc-heatmap-label span,
  .montage-compare .mc-heatmap-legend { font-size: .72rem; }
  .montage-compare .mc-peak { margin-top: .65rem; }
  body.has-fundamentals-reader .montage-compare #mc-note { max-width: none; margin: .45rem 0; }
  .montage-compare .mc-more { margin: .6rem 0 0; padding: .6rem .7rem; }

  body.has-fundamentals-reader .banana-split .banana-split-panels { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 1rem; }
  body.has-fundamentals-reader .banana-map-stage img { max-height: 460px; object-fit: contain; }
  body.has-fundamentals-reader :is(.cortex-figure > img,.gallery-item > img) { width: auto; max-width: 100%; max-height: calc(100dvh - 190px); object-fit: contain; margin-inline: auto; }

  /* A full recording stays uncropped; supplementary maps no longer fill a page. */
  body.has-fundamentals-reader #montage-map-figure .teaching-split-panels { grid-template-columns: minmax(0,1fr) 220px; align-items: start; gap: 1rem; }
  body.has-fundamentals-reader #montage-map-figure .teaching-split-map { max-width: 100%; margin: 0; }
  body.has-fundamentals-reader .montage-overview-map img { width: auto; max-width: 100%; max-height: 340px; margin-inline: auto; object-fit: contain; }
  body.has-fundamentals-reader :is(.head-map-stage img,.fundamentals-image > img,.sum-intuition-fig img) { max-height: 360px; object-fit: contain; }
  body.has-fundamentals-reader .sum-intuition-fig img { max-height: 240px; }
  body.has-fundamentals-reader .var-stage .var-figure { max-height: calc(100dvh - 220px); width: auto; max-width: 100%; object-fit: contain; margin-inline: auto; }
  body.has-fundamentals-reader .clinical-stage { display: grid; grid-template-columns: 225px minmax(0,1fr); padding: .6rem; gap: .5rem .75rem; align-items: start; }
  .clinical-stage .clinical-prompt { grid-column: 1; }
  .clinical-stage .clinical-scroll { grid-column: 2; grid-row: 1 / 4; }
  .clinical-stage .clinical-a11y-choices { grid-column: 1; grid-template-columns: 1fr; margin: 0; }
  .clinical-stage .clinical-feedback { grid-column: 1; margin: 0; }
  .clinical-stage .clinical-reading { grid-column: 1 / -1; }

  body.has-fundamentals-reader .clinical-tabs { padding: .45rem; }
  body.has-fundamentals-reader .clinical-prompt { margin: 0; }
  body.has-fundamentals-reader .clinical-feedback { padding: .5rem .65rem; }
  body.has-fundamentals-reader .clinical-nav { padding: .4rem .6rem; }

  body.has-fundamentals-reader .freq-explorer { display: grid; grid-template-columns: 240px minmax(0,1fr); padding: .65rem; gap: .5rem 1rem; align-items: start; }
  .freq-explorer > :not(.freq-stage) { grid-column: 1; }
  .freq-explorer .freq-stage { grid-column: 2; grid-row: 1 / 5; }
  .freq-explorer .freq-tabs { flex-wrap: wrap; }
  .freq-explorer .teaching-controls { display: grid; margin: 0; }
  .freq-explorer .teaching-controls label { margin: .3rem 0; }
  .freq-explorer .freq-body { grid-column: 2; grid-row: 5; padding: .5rem; }
  .freq-explorer .freq-nav { grid-column: 1 / -1; padding: .35rem; }

  body.has-fundamentals-reader .freq-explorer :is(.freq-controls,.freq-tabs,.freq-readout) { margin-block: .45rem; }
  body.has-fundamentals-reader .amplitude-lab { padding: .7rem; }
  .amplitude-lab .wave-lab-heading { padding: .5rem; }
  .amplitude-lab .amplitude-controls { padding: .5rem; }
  body.has-fundamentals-reader .amplitude-lab :is(.amplitude-canvas-wrap,.amplitude-equation,.amplitude-grid-note,.board-review-link) { margin: .35rem 0; }
  .amplitude-lab .amplitude-takeaways { padding: .3rem .5rem; }

  body.has-fundamentals-reader .amplitude-lab :is(.wave-lab-heading,.wave-controls,.amplitude-equation) { margin-block: .5rem; }
  body.has-fundamentals-reader .eye-lab { padding: .7rem; }
  #eye-lab .visual-lab-header h3 { font-size: 1.05rem; margin: 0; }
  #eye-lab .visual-control-row { margin-block: .35rem; gap: .4rem; }
  body.has-fundamentals-reader .eye-lab-grid { gap: .7rem; }
  body.has-fundamentals-reader .eye-traces p { padding: .4rem .6rem; }
  body.has-fundamentals-reader .seizure-timeline { padding: .7rem; }
  body.has-fundamentals-reader .seizure-timeline .seizure-controls { margin: 0; padding: 0; }
  body.has-fundamentals-reader .seizure-readouts { margin-bottom: .6rem; }

  body.has-fundamentals-reader .artifact-hunter { padding: .7rem; }
  body.has-fundamentals-reader .hunter-workspace { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: .5rem .8rem; align-items: start; scroll-margin-top: 74px; }
  .hunter-workspace .hunter-toolbar { grid-column: 1; margin: 0; gap: .4rem; }
  .hunter-workspace .hunter-controls { grid-column: 1; margin: 0; }
  .hunter-workspace .hunter-canvas-wrap { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .hunter-workspace .hunter-feedback { grid-column: 1 / -1; }
  body.has-fundamentals-reader .artifact-hunter .hunter-controls { grid-template-columns: 1fr; gap: .35rem; }
  .hunter-workspace .hunter-controls button { padding: .4rem; }

  body.has-fundamentals-reader #pdr-lab { padding: .65rem; }
  body.has-fundamentals-reader .pdr-workspace { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: .4rem .7rem; align-items: start; scroll-margin-top: 74px; }
  #pdr-lab .wave-lab-heading { padding: .6rem; }
  .pdr-workspace > :not(.pdr-canvas-wrap) { grid-column: 1; }
  #pdr-lab .pdr-canvas-wrap { grid-column: 2; grid-row: 1 / 6; margin: 0; }
  #pdr-lab .pdr-stage-buttons { grid-template-columns: 1fr 1fr; gap: .3rem; margin: 0; padding: 0; }
  #pdr-lab .pdr-stage-buttons button { padding: .3rem; }
  #pdr-lab .pdr-stage-buttons button span { display: none; } /* stage names remain */
  #pdr-lab .teaching-control { margin: 0; }
  #pdr-lab .teaching-control select { padding: .3rem; min-height: 36px; }
  body.has-fundamentals-reader #pdr-lab .pdr-workspace > p { font-size: .875rem; line-height: 1.45; margin: 0; }
  #pdr-lab .pdr-stage-readout { grid-template-columns: 1fr; display: grid; gap: .3rem; margin: 0; padding: .4rem; font-size: .875rem; }
  body.has-fundamentals-reader #pdr-lab .pdr-count-challenge { gap: .35rem; margin: 0; padding: .4rem; }
  #pdr-lab .pdr-count-challenge h4 { margin: 0; font-size: .95rem; }
  body.has-fundamentals-reader #pdr-lab .pdr-count-choices { grid-template-columns: 1fr 1fr; }
  #pdr-lab .pdr-count-challenge p { font-size: .875rem; line-height: 1.4; margin: 0; }
  #pdr-lab #pdr-assess { padding: .35rem .6rem; min-height: 38px; }
  body.has-fundamentals-reader .lead-lab-grid { align-items: start; gap: .8rem; scroll-margin-top: 74px; }
  body.has-fundamentals-reader .lab-instruction-card { min-height: 0; padding: .8rem; }
  body.has-fundamentals-reader .lab-instruction-card h3 { margin-block: .35rem .65rem; font-size: 1.1rem; }
  body.has-fundamentals-reader .lab-navigation { padding-top: .3rem; }
  body.has-fundamentals-reader .page-eeg_lead_simulator .lab-step-panel > p { font-size: .9375rem; line-height: 1.5; margin-block: .5rem; }
  body.has-fundamentals-reader .page-eeg_lead_simulator .lab-step-panel .lab-note { margin-block: .35rem; padding: .6rem; font-size: .875rem; line-height: 1.5; }
  body.has-fundamentals-reader .measurement-fields { gap: .4rem; }
  body.has-fundamentals-reader .electrode-progress { margin-block: .4rem; }
  body.has-fundamentals-reader .electrode-bin-header { margin-block: .35rem; }
  body.has-fundamentals-reader .lab-step-panel #arc-practice { padding: .65rem; margin-block: .6rem; }

  body.has-fundamentals-reader .head-toolbar { min-height: 0; padding: .6rem; gap: .6rem; }
  body.has-fundamentals-reader .head-toolbar span { min-height: 36px; }
  body.has-fundamentals-reader .head-stage { min-height: 0; padding: .25rem; }
  body.has-fundamentals-reader #lead-lab-svg { width: min(100%,344px); }
  .adc-nyquist { scroll-margin-top: 74px; }
  body.has-fundamentals-reader .adc-nyquist { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: .65rem 1rem; }
  .adc-nyquist .adc-nyquist-copy { grid-column: 1; grid-row: 1 / 5; }
  .adc-nyquist > :not(.adc-nyquist-copy) { grid-column: 2; }
  .adc-nyquist .adc-rates { margin: 0; }
}
