/* Mobile geometry is owned here, after the shared brand and report styles. */
.mobile-comparison-jump { display: none; }
.scope-header { display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; align-items: baseline; }
.scope-header .scope-clock { float: none; margin: 8px 0; }
.expert-resume[hidden] { display: none !important; }
@media (max-width: 900px) {
  .layout-root { height: var(--visual-height, 100dvh); }
  .page { padding-inline: max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right)); }
  .composer-dock { padding-left: max(10px, env(safe-area-inset-left)); padding-right: max(10px, env(safe-area-inset-right)); }
  .composer textarea { overflow-y: auto; overscroll-behavior-y: contain; }
  body.keyboard-open .composer { padding-block: 4px; }
  body.keyboard-open .composer-dock { padding-top: 2px; }
  body.keyboard-open .composer .mode-picker { grid-column: 1; grid-row: 2; }
  .assistant-turn[data-lane] { padding-inline: 6px; }
  .answer-body { padding: 16px 10px; }
  [data-lane="evidence"][data-answer-mode="normal"] .answer-body { padding-inline: 10px; }
  .answer-document, .answer-document a, .source-card, .follow-up-question { min-width: 0; overflow-wrap: anywhere; }
  .answer-table-scroll { width: 100%; min-width: 0; touch-action: pan-x pan-y; }
  .answer-table { min-width: 0; width: 100%; }
  .answer-table:has(tr > :nth-child(4)) { min-width: 560px; }
  .answer-table th, .answer-table td { min-width: 90px; overflow-wrap: anywhere; }
  .normal-workflow { padding: 18px 14px; }
  .normal-workflow .scope-header small { font-size: 12px; }
  .scope-actions { flex-direction: column; }
  .scope-actions button { width: 100%; text-align: center; min-height: 48px; }
  .normal-workflow textarea { font-size: 16px; scroll-margin-block: 20px; }
  .normal-workflow .expert-note-body { max-height: none; overflow: visible; }
  .normal-workflow .expert-resume { position: sticky; top: 8px; z-index: 2; min-height: 44px; background: var(--note-bg); box-shadow: 0 2px 10px #0001; }
  .mobile-comparison-jump { display: block; min-height: 44px; width: 100%; padding: 10px 12px; margin: 0 0 14px; text-align: left; font: inherit; font-size: 13px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
  .mobile-comparison-jump:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
  .assistant-turn, [data-report-section] { scroll-margin-top: 16px; }
  .report-toc button, .report-appendix > summary, .source-book summary, .expert-received > summary { min-height: 44px; }
  .dialog-layer, .tutorial-layer { top: var(--visual-top, 0px); bottom: auto; height: var(--visual-height, 100dvh); box-sizing: border-box; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); overflow-y: auto; }
  .dialog-box { max-height: calc(var(--visual-height, 100dvh) - 32px); overflow-y: auto; }
  .dialog-box input, .tutorial-panel input { font-size: 16px; }
  .tutorial-panel { top: 12px; right: 12px; width: calc(100% - 24px); max-height: calc(var(--visual-height, 100dvh) - 32px); }
  .tutorial-close, .dialog-actions button { min-width: 44px; min-height: 44px; }
  .history-panel.open, .ask-panel.open { max-width: 100%; }
  .history-panel .sidebar-actions { flex-shrink: 0; }
}
@media (max-width: 900px) and (max-height: 500px) {
  .composer { grid-template-columns: minmax(0, 1fr) auto 44px; }
  .composer .mode-picker, body.keyboard-open .composer .mode-picker { grid-column: 2; grid-row: 1; align-self: end; }
  .composer .send-button { grid-column: 3; grid-row: 1; }
  .topbar { height: calc(48px + env(safe-area-inset-top)); }
}
