/* V5.9 iPad viewport fit — keep each challenge's primary controls visible. */
@media (max-height: 900px) {
  .app-shell { min-height:100svh; height:100svh; padding:max(4px,env(safe-area-inset-top)) 4px max(4px,env(safe-area-inset-bottom)); overflow:hidden; }
  .game-card { display:flex; flex-direction:column; width:min(100%,410px); max-height:calc(100svh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))); padding:8px; overflow:hidden; }
  .corporate-ribbon,header,.stats,.controls,.jel-capabilities { flex:none; }
  .game-card:has(.flow-panel) .canvas-wrap,.game-card:has(.commission-panel) .canvas-wrap,.game-card:has(.corporate-finish) .canvas-wrap { flex:1 1 auto; min-height:0; height:auto; max-height:none; aspect-ratio:auto; }
  .game-card:has(.flow-panel) .flow-panel,.game-card:has(.commission-panel) .commission-panel,.game-card:has(.corporate-finish) .corporate-finish { overflow-y:hidden; }
  .flow-panel { padding:9px 10px; }
  .flow-head { padding:6px 8px; }
  .flow-instructions { margin:5px 0; }
  .flow-grid { grid-template-rows:repeat(3,minmax(54px,1fr)); }
  .flow-tile span { height:36px; font-size:27px; }
  .parts-key { margin-top:5px; }
  .commission-panel,.pressure-challenge { padding:12px 14px; }
  .commission-panel h2 { margin:3px 0 7px; font-size:19px; }
  .commission-score { margin-bottom:6px; padding:6px 9px; }
  .test-phases { margin:2px 0 8px; }
  .test-phases span { padding:6px 2px; }
  .digital-gauge { margin-bottom:6px; padding:9px 14px; }
  .digital-gauge strong { font-size:46px; }
  .pressure-gauge { margin:8px 3px 7px; }
  .pressure-button,.balance-controls button { height:42px; }
  .hold-progress { height:25px; margin-top:8px; }
  .commission-note { margin-top:6px; }
  .corporate-finish { justify-content:flex-start; gap:0; padding:9px 16px; }
  .corporate-finish .operating-scene { height:min(180px,25svh); margin-bottom:7px; }
  .corporate-finish h2 { margin-bottom:5px; font-size:21px; }
  .corporate-finish>p { margin-bottom:6px; line-height:1.25; }
  .finish-brand { margin:0 0 7px; padding:6px; }
  .finish-brand span { margin:3px auto; }
  .score-entry { margin:0 0 7px; }
  .corporate-finish>button { padding:10px 18px; }
  .jel-link { margin-top:7px; }
}
@media (max-height:700px) {
  .brand-title>img { width:88px; }
  .eyebrow { font-size:7px; }
  h1 { font-size:18px; }
  .corporate-finish .operating-scene { height:130px; }
  .system-seal { padding:5px 7px; top:8px; left:8px; }
  .finish-brand span { display:none; }
}
