/* Rotation follows CSS viewport width; no reload or dialogue state changes. */
@media screen {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body {
    padding-left:env(safe-area-inset-left, 0px);
    padding-right:env(safe-area-inset-right, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
  body:not(.report-mode) #appShell .topline,
  .lab-topline { height:auto; min-height:72px; flex-wrap:wrap; gap:12px; padding-top:12px; padding-bottom:12px; }
  body:not(.report-mode) #appShell .topline > div:last-child,
  .lab-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin-left:auto; max-width:100%; }
  body:not(.report-mode) #appShell .topline button,
  .lab-actions button { margin:0; }
  .report-column, .result, .result-text { min-width:0; }
  .result-text { overflow-wrap:anywhere; }
}
@media screen and (max-width:1050px) {
  body:not(.report-mode) #appShell main { grid-template-columns:minmax(0,1fr); }
  body:not(.report-mode) #appShell .result { padding:28px 22px; }
}
@media screen and (max-width:700px) {
  .lab-topline, body:not(.report-mode) #appShell .topline { gap:10px; }
  .signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-mode .result { padding-left:20px; padding-right:20px; }
}
