/* Touch-only overrides leave the existing desktop study layout intact. */
html[data-ipad-layout="true"] .app {
  position: absolute;
  inset-inline: 0;
  top: var(--study-viewport-top, 0px);
  height: var(--study-viewport-height, 100vh);
  min-height: 0;
}
@supports (height: 100dvh) {
  html[data-ipad-layout="true"] .app { height: var(--study-viewport-height, 100dvh); }
}
html[data-ipad-layout="true"] .main { min-height: 0; }
html[data-ipad-layout="true"] .topbar {
  height: auto;
  min-height: 48px;
  flex-wrap: wrap;
  gap: 6px;
  padding: max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 6px max(10px, env(safe-area-inset-left));
}
html[data-ipad-layout="true"] .screen {
  scroll-padding-block: 14px max(18px, env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  -webkit-overflow-scrolling: touch;
}
html[data-ipad-layout="true"] .repair,
html[data-ipad-layout="true"] .plan-wrap {
  padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
  padding-bottom: max(36px, env(safe-area-inset-bottom));
}
html[data-ipad-layout="true"] :is(.repair, .plan-wrap) :is(button, select),
html[data-ipad-layout="true"] .topbar .tab { min-height: 44px; touch-action: manipulation; }
html[data-ipad-layout="true"] :is(.repair, .plan-wrap) :is(input, textarea, select) { font-size: max(16px, 1em); }
html[data-ipad-layout="true"] :is(.repair, .plan-wrap) :is(input, textarea, button) { scroll-margin-block: 16px; }
html[data-ipad-layout="true"] .repair #repair-answer,
html[data-ipad-layout="true"] .repair #repair-correction,
html[data-ipad-layout="true"] .plan-practice-pane input { font-size: 22px; }

/* A compact keyboard workspace stays scrollable even in iPad landscape. */
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(.repair, .plan-wrap) { padding-top: 8px; }
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(.repair-card, .plan-active) { margin-block: 8px; padding: 12px; }
html[data-ipad-layout="true"][data-study-keyboard="open"] #repair-test .repair-entry { padding: 10px; margin-top: 6px; }
html[data-ipad-layout="true"][data-study-keyboard="open"] #repair-test .repair-workspace { gap: 10px; }
html[data-ipad-layout="true"][data-study-keyboard="open"] #repair-test .repair-reference {
  max-height: max(80px, min(120px, calc(var(--study-viewport-height, 100vh) * .24)));
}
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(#repair-test .repair-practice, .recap-challenge .repair-practice) {
  max-height: none;
  overflow: visible;
  padding: 10px;
}
html[data-ipad-layout="true"][data-study-keyboard="open"] .plan-practice-pane { position: static; }
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(.plan-dictation-list, .plan-correction-list) {
  max-height: none !important;
  overflow: visible;
}
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(.plan-senses-scroll, .recap-challenge .repair-reference) {
  max-height: max(80px, min(120px, calc(var(--study-viewport-height, 100vh) * .24))) !important;
  overflow: auto;
}
html[data-ipad-layout="true"][data-study-keyboard="open"] :is(.plan-learning-layout, .plan-dictation-layout, .plan-correction-layout) { gap: 10px; }
