/* Legal text remains readable at every breakpoint without changing the layout. */
.brand small, .nav-count, .section-label, .sidebar-foot, .sidebar-foot small,
.local-tag, .retrieve-tag, .eyebrow, .muted, .page-heading .muted,
.preset-description, .field-label span, .material-meta, .inline-note,
.settings summary > span, .consent, .composer-footer > span,
.history-message header, .history-message summary,
.result-heading > span, .reference-header > span, .reference-subtitle,
.reference-foot, .reference-item summary .law-number, .law-meta, .source-link,
.label-number, .fact-status, .citation-chip, .role-marker, .causal-arrow small,
.audit-dl, .document-entry small, .doc-meta, .search-summary,
.preset-card small, .app-footer {
  font-size: 12px;
}

.small, .topbar-actions .small, .text-button, .composer-head .text-button,
.nav-button, .session-select, .session-empty, .topbar-title,
.boundary-note, .composer-head label, .field-label, .file-command,
.settings summary, .settings-content, .online-fields > label, .online-fields p,
.composer-footer .primary, .composer-footer .secondary,
.job-progress, .job-progress p, .result-tabs button, .empty-state p,
.reference-header h2, .reference-empty, .warning, .evidence-table th,
.evidence-table button, .evidence-grid h4, .causal-gap,
.view-description, .search-form button, .document-entry strong,
.preset-card h3, .preset-card p, .structured-document dl,
dialog form > label, #import-status, .toast {
  font-size: 14px;
}

input, select, textarea, .composer textarea, .composer textarea::placeholder,
.composer-head select, .settings-content select,
.settings-content input[type=number], .online-fields input,
.history-message p, .result-content, .analysis-block p, .analysis-block h3,
.fact-row, .fact-row p, .role-title h3, .role-block p,
.evidence-table, .evidence-grid p, .causal-node, .causal-item p,
.plain-answer, .data-list, .law-text, .reference-item summary,
.case-result h4, .case-result p, .search-form input,
.document-reader h3, .document-article p, .instruction-text,
.structured-document p, .structured-document h3, dialog textarea {
  font-size: 16px;
}

.composer-head { flex-wrap: wrap; }
.composer-controls { display: flex; justify-content: flex-start; margin-bottom: 16px; }
.composer-controls button { font-size: 14px; max-width: 100%; }
.result-tabs { overflow-y: hidden; }
.result-tabs button:focus-visible { outline-offset: -3px; }
.composer-head select { flex: 1; min-width: 110px; }
.material-meta { flex-wrap: wrap; }
.material-meta > span { margin-left: auto; }
.composer-footer { flex-wrap: wrap; }
.composer-footer > span { flex: 1; min-width: 120px; }
.composer-footer > div { margin-left: auto; }
.document-entry, .reference-item, .document-reader { overflow-wrap: anywhere; }
.document-entry .document-status { font-weight: 600; color: #476a54; }
.document-entry .document-status.historical { color: #923848; }
.document-reader > .warning, .document-reader > .boundary-note { margin-top: 15px; }
.doc-meta, .law-meta { white-space: pre-line; }
.settings summary > span { overflow-wrap: anywhere; }
.fact-status { max-width: 150px; }
.empty-state h3 { font-size: 16px; }

@media (max-width: 760px) {
  .composer-head .text-button { margin-left: auto; }
  .settings summary > span {
    float: none;
    display: block;
    max-width: 100%;
    margin-top: 6px;
    text-align: left;
  }
  .composer-head { row-gap: 9px; }
  .structured-document dl { grid-template-columns: 85px minmax(0, 1fr); }
  .evidence-table th:first-child { width: 25%; }
  .evidence-table th:nth-child(2) { width: 38%; }
  .role-title { flex-wrap: wrap; }
  .result-heading { align-items: flex-start; }
  .result-heading > span { max-width: 54%; }
  .app-footer { line-height: 1.8; }
}

@media (max-width: 390px) {
  .local-tag { display: none; }
  .topbar-title { gap: 6px; }
  .composer-head select { max-width: calc(100% - 74px); }
  .composer-head .text-button { flex-basis: 100%; text-align: right; }
  .evidence-table th, .evidence-table td { padding-left: 5px; padding-right: 5px; }
}
