/* Phone landscape: keep controls and both text panels within the viewport. */
@media (orientation:landscape) and (max-height:500px) and (max-width:1100px) {
  html[data-theme] body.typing-session .typing-window {
    width:100%;height:100vh;height:100dvh;min-height:0;
    padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));gap:6px;
  }
  html[data-theme] body.typing-session .workspace-header {grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
  html[data-theme] body.typing-session .workspace-header h1 {grid-column:1;text-align:left;max-width:100%;font-size:13px}
  html[data-theme] body.typing-session .workspace-controls {grid-column:2;width:auto;gap:5px}
  html[data-theme] body.typing-session .workspace-controls :is(button,a) {min-height:36px;padding:5px 9px;font-size:12px;flex:none}
  html[data-theme] body.typing-session .typing-stats {grid-template-columns:repeat(6,minmax(0,1fr));padding:3px 0;gap:0}
  html[data-theme] body.typing-session .typing-stats div+div {border-left:1px solid #304252}
  html[data-theme] body.typing-session .typing-stats span {font-size:11px;line-height:1.25}
  html[data-theme] body.typing-session .typing-stats strong {font-size:16px;margin-top:0;line-height:1.3}
  html[data-theme] body.typing-session .typing-workarea {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr) auto;gap:4px 10px;min-height:0;min-width:0;
  }
  html[data-theme] body.typing-session .typing-passage {grid-column:1;grid-row:1 / 4;min-width:0;margin:0;padding:8px 10px;font-size:17px;line-height:1.5;display:block}
  html[data-theme] body.typing-session .typing-workarea label {grid-column:2;grid-row:1;font-size:11px;line-height:1.3}
  html[data-theme] body.typing-session .typing-workarea textarea {grid-column:2;grid-row:2;height:100%;min-width:0;padding:6px 8px;font-size:16px;line-height:1.45}
  html[data-theme] body.typing-session #typing-status {grid-column:2;grid-row:3;font-size:11px;line-height:1.3;margin:0;overflow-wrap:anywhere}
  html[data-theme] body.typing-session .hands {display:none}
  html[data-theme] body.typing-session .finger-panel {padding:3px 8px}
  html[data-theme] body.typing-session .finger-panel p {font-size:11px;line-height:1.3;margin:0}
  /* Text stays scrollable for long passages; scrollbar chrome stays out of the workspace. */
  body.typing-session :is(.typing-passage,.typing-workarea textarea),
  body.exam-window :is(.exam-source,.exam-input-panel textarea) {scrollbar-width:none}
  body.typing-session :is(.typing-passage,.typing-workarea textarea)::-webkit-scrollbar,
  body.exam-window :is(.exam-source,.exam-input-panel textarea)::-webkit-scrollbar {display:none;width:0;height:0}
  html[data-theme] body.exam-window {height:100vh;height:100dvh;min-height:0;overflow:hidden}
  html[data-theme] body.exam-window .exam-topbar {padding:5px 12px;gap:12px;flex-shrink:0}
  html[data-theme] body.exam-window .exam-topbar h1 {font-size:14px;margin:0;line-height:1.3}
  html[data-theme] body.exam-window .exam-topbar p {font-size:11px;margin:2px 0 0;line-height:1.25}
  html[data-theme] body.exam-window .exam-timer strong {font-size:23px;line-height:1.2}
  html[data-theme] body.exam-window .exam-timer span {font-size:10px}
  html[data-theme] body.exam-window .exam-workspace {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:6px 12px;gap:10px;min-width:0;min-height:0}
  html[data-theme] body.exam-window :is(.exam-source-panel,.exam-input-panel) {min-width:0;min-height:0}
  html[data-theme] body.exam-window :is(.exam-source-panel h2,.exam-input-panel label) {font-size:11px;margin:0 0 4px}
  html[data-theme] body.exam-window :is(.exam-source,.exam-input-panel textarea) {min-width:0;font-size:16px;line-height:1.45;padding:8px}
  html[data-theme] body.exam-window .exam-input-panel p {font-size:11px;line-height:1.3;margin:4px 0 0}
  html[data-theme] body.exam-window .exam-controls {padding:5px 12px;flex-shrink:0;gap:8px}
  html[data-theme] body.exam-window .exam-controls .exam-button {min-height:34px;padding:5px 10px;font-size:12px}
}
