@media (max-width: 1100px) {
  .control-room {
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
    grid-template-rows: auto auto auto;
  }
  .stage-nav { grid-column: 1 / -1; grid-row: 2; }
  .session-meter { grid-column: 1 / -1; grid-row: 3; }
  .control-room__actions { grid-column: 2; grid-row: 1; }
  .chapter__frame,
  .chapter:nth-of-type(even) .chapter__frame { grid-template-columns: 62px minmax(300px, .95fr) minmax(360px, 1.05fr); gap: 1.8rem; }
}

@media (max-width: 820px) {
  .control-room__actions .icon-button span { display: none; }
  .chapter-jump select { width: 11rem; }
  .opening-scene { grid-template-columns: 1fr; }
  .opening-scene__signal { min-height: 18rem; }
  .chapter__frame,
  .chapter:nth-of-type(even) .chapter__frame {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 1.2rem;
  }
  .chapter__narrative,
  .chapter:nth-of-type(even) .chapter__narrative { grid-column: 2; }
  .chapter__visual-column,
  .chapter:nth-of-type(even) .chapter__visual-column { grid-column: 2; grid-row: auto; }
  .visual-panel { position: relative; top: auto; min-height: 34rem; margin-top: 3rem; }
  .chapter__index { top: calc(var(--header-height) + 2rem); }
}

@media (max-width: 740px), (max-height: 650px) {
  html { scroll-padding-top: 1rem; }
  .control-room {
    position: relative;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    padding: .7rem var(--page-gutter);
  }
  .control-room__identity .micro-label { display: none; }
  .journey-name { max-width: 12rem; }
  .stage-nav { grid-column: 1 / -1; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .stage-nav ol { width: max-content; min-width: 100%; grid-template-columns: repeat(5, minmax(8.4rem, 1fr)); }
  .session-meter { grid-column: 1 / -1; }
  .control-room__actions { grid-column: 2; }
  .chapter-jump { display: none; }
  .session-meter__readout span:nth-child(2) { display: none; }
  .opening-scene { min-height: 90svh; padding-top: 4.5rem; }
  .opening-scene h1 { font-size: clamp(3.4rem, 16vw, 5.2rem); }
  .opening-scene__signal { display: none; }
  .phase-marker { padding-top: 3rem; }
  .chapter { min-height: auto; scroll-margin-top: 1rem; }
  .chapter::before { left: calc(var(--page-gutter) + 18px); }
  .chapter__frame,
  .chapter:nth-of-type(even) .chapter__frame {
    display: block;
    padding-top: 4.5rem;
    padding-bottom: 5rem;
  }
  .chapter__index {
    position: relative;
    top: auto;
    min-height: 0;
    flex-direction: row;
    align-items: center;
    margin-bottom: 2rem;
  }
  .chapter__index-line { width: auto; height: 1px; flex: 1; }
  .chapter__index-id { writing-mode: initial; }
  .chapter__header h2 { font-size: clamp(2.8rem, 14vw, 4.6rem); }
  .visual-panel { min-height: 0; padding: 1rem; box-shadow: 8px 10px 0 rgba(0,0,0,.34); }
  .visual-panel__stage { min-height: 26rem; }
  .visual-sources { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .source-slot { min-height: 15rem; padding: .45rem; }
  .source-slot:nth-child(2) { min-height: 17rem; }
  .record-grid, .pair-grid, .term-grid, .matrix-grid { grid-template-columns: 1fr; }
  .notebook { bottom: .6rem; width: calc(100vw - .75rem); }
}

@media (max-width: 480px) {
  .skip-link--notebook { left: .8rem; top: 4rem; transform: translateY(-320%); }
  .skip-link--notebook:focus { transform: translateY(0); }
  .control-room { grid-template-columns: minmax(0,1fr) auto; }
  .mark { width: 44px; }
  .journey-name { max-width: 9rem; font-size: .78rem; }
  .control-room__actions { gap: .3rem; }
  .icon-button { padding: .55rem; }
  .opening-scene { padding-inline: var(--page-gutter); }
  .opening-scene h1 { font-size: clamp(3rem, 15vw, 4.2rem); }
  .opening-scene__subtitle { font-size: 1rem; }
  .phase-marker { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .chapter__header h2 { font-size: clamp(2.65rem, 13.5vw, 4rem); }
  .chapter__objective { grid-template-columns: 1fr; }
  .content-block { padding-inline: 1rem; }
  .visual-panel__stage { min-height: 23rem; }
  .visual-locks { grid-template-columns: 1fr; }
  .visual-lock { min-height: 6rem; grid-template-columns: auto 1fr; text-align: left; }
  .visual-parts { gap: .5rem; }
  .part-tile { min-height: 8rem; padding: .65rem; }
  .visual-conversion { grid-template-columns: 1fr; }
  .conversion-arrow { transform: rotate(90deg); }
  .visual-floorplan { min-height: 23rem; }
  .floor-room { min-height: 7rem; padding: .5rem; }
  .visual-map { grid-template-columns: repeat(2, 1fr); }
  .visual-folders { grid-template-columns: repeat(2, 1fr); }
  .folder-room:last-child { grid-column: span 2; }
  .visual-contradictions { grid-template-columns: 1fr 2px 1fr; }
  .contradiction-beam { width: 2px; margin: 0 .35rem; }
  .visual-brief { gap: .55rem; }
  .visual-qa { grid-template-columns: 1fr; }
  .qa-gate { width: 100%; height: 3rem; writing-mode: initial; }
  .visual-continuity { grid-template-columns: 1fr; }
  .continuity-arrow { transform: rotate(90deg); text-align: center; }
  .exercise-slot { padding-left: 2.6rem; }
}
