/* Shared reading sizes; project navigation follows a clear title / item / action hierarchy. */
:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-caption: 1rem;
  --font-small: 1.125rem;
  --font-ui: 1.25rem;
  --font-body: 1.375rem;
}
body, .sidebar { font-family: var(--font-sans); }
body { font-weight: 400; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3,
.login-card h1, .page-intro h1, .empty-area h1, .legacy-chat-head h1,
.health-page-head h1, .project-nav-head h1, .scope-heading-copy h1,
.taskboard-header h1, .dialog-head h2, .context-head h2,
.analyses-title-row h1, .biomarker-detail-head h1, .history-section-head h2 {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: -.02em;
}
.primary-button, .secondary-button, .context-button, .text-button { font-weight: 500; }
.sidebar .mini-brand strong { font-size: 26px; font-weight: 600; }
.sidebar .nav-item, .sidebar .chat-list-item {
  min-height: 48px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
}
.sidebar .nav-icon { width: 22px; flex-basis: 22px; }
.sidebar .nav-item.active, .sidebar .chat-list-item.is-current { font-weight: 600; }
.sidebar .nav-icon svg { width: 22px; height: 22px; }
.sidebar .sidebar-section-head { font-size: 16px; font-weight: 400; }
.sidebar .sidebar-section-head .sidebar-new-chat { width: 36px; height: 36px; font-size: 24px; }
.sidebar .patient-card { min-height: 60px; }
.sidebar .patient-card small { font-size: 13px; }
.sidebar .patient-card strong { font-size: 17px; font-weight: 400; }
.sidebar .patient-card .avatar { width: 32px; height: 32px; font-size: 12px; }
.sidebar .user-row { min-height: 60px; }
.sidebar .user-row strong { font-size: 20px; font-weight: 400; }
.sidebar .user-row small { font-size: 14px; }
.sidebar .user-row .avatar { width: 34px; height: 34px; font-size: 13px; }
.sidebar .api-budget-head { font-size: 12px; }
.sidebar .api-budget-note, .sidebar .api-budget-link { font-size: 14px; }
.sidebar .api-budget-values small { font-size: 13px; }
.sidebar .api-budget-values strong { font-size: 14px; }
.sidebar .chat-list-empty, .sidebar .logout-button { font-size: 17px; }
.taskboard-header h1 { font-size: 34px; }
.taskboard-header p { font-size: 18px; }
.taskboard-header > button { font-size: 18px; font-weight: 500; }
.taskboard-column h2 { font-size: 20px; font-weight: 600; }
.taskboard-card-title { font-size: 22px; font-weight: 500; line-height: 1.45; }
.taskboard-project { font-size: 16px; line-height: 1.4; }
.taskboard-add-card { font-size: 18px; }
.taskboard-composer textarea, .taskboard-action-panel select, .taskboard-action-panel button { font-size: 18px; }
.project-card-title { font-size: 22px; font-weight: 500; }
.project-nav-head h1 { font-size: 24px; line-height: 1.3; color: var(--ink); }
.project-nav-head .project-direction { font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.scope-section-head { font-size: 14px; font-weight: 600; color: #53675f; }
.scope-section-head b { color: #64756d; font-weight: 400; }
.scope-board-link { font-size: 14px; font-weight: 400; color: #53675f; }
.project-chat-item .scope-nav-copy strong { font-size: 20px; font-weight: 400; line-height: 1.4; }
.project-chat-item.active .scope-nav-copy strong { font-weight: 600; }
.scope-nav-list .add-task-card strong { font-size: 18px; font-weight: 400; line-height: 1.4; }
.scope-nav-list .no-tasks { font-size: 16px; line-height: 1.5; }
.completed-scope-tasks > summary { font-size: 14px; font-weight: 500; }
.task-nav-row .scope-nav-copy strong { font-size: 20px; font-weight: 400; line-height: 1.4; }
.project-task-composer textarea { font-size: 18px; }
.scope-nav-copy small, .task-nav-row .scope-nav-copy small { font-size: 15px; }
.scope-heading-copy h1, body[data-route-mode="legacy-chat"] .breadcrumbs { font-size: 22px; font-weight: 600; }
body[data-route-mode="legacy-chat"] .breadcrumbs strong { font-weight: 600; }
.scope-head-actions .secondary-button, .scope-head-actions .text-button,
body[data-route-mode="legacy-chat"] .context-button { font-size: 16px; }
.message-body { font-size: 22px; line-height: 1.6; }
.message-body h2 { font-size: 1.15em; line-height: 1.35; }
.message-body h3 { font-size: 1em; line-height: 1.4; }
.scoped-composer .composer-main textarea { font-size: 22px; line-height: 1.5; }
.scoped-composer .chat-model-picker select { font-size: 16px; }

@media (max-width: 900px) {
  :root { --font-caption: .8125rem; --font-small: 1rem; --font-ui: 1.0625rem; --font-body: 1.125rem; }
  .sidebar .mini-brand strong { font-size: 24px; }
  .sidebar .nav-item, .sidebar .chat-list-item { min-height: 44px; font-size: 17px; }
  .sidebar .patient-card strong, .sidebar .chat-list-empty, .sidebar .logout-button { font-size: 16px; }
  .sidebar .user-row strong { font-size: 18px; }
  .sidebar .sidebar-collapse { width: 44px; height: 44px; }
  .taskboard-header h1 { font-size: 29px; }
  .taskboard-header p { font-size: 14px; }
  .taskboard-header > button { font-size: 14px; }
  .taskboard-column h2 { font-size: 18px; }
  .taskboard-card-title, .project-card-title { font-size: 18px; }
  .taskboard-project { font-size: 14px; }
  .taskboard-add-card, .task-nav-row .scope-nav-copy strong { font-size: 17px; }
  .project-nav-head h1 { font-size: 20px; }
  .project-nav-head .project-direction { font-size: 13px; color: #53675f; }
  .scope-section-head, .completed-scope-tasks > summary { font-size: 13px; }
  .project-chat-item .scope-nav-copy strong { font-size: 17px; }
  .scope-nav-list .add-task-card strong, .scope-nav-list .no-tasks { font-size: 16px; }
  .scope-heading-copy h1, body[data-route-mode="legacy-chat"] .breadcrumbs,
  body[data-route-mode="legacy-chat"] .mobile-route-title { font-size: 18px; font-weight: 600; }
  .message-body, .scoped-composer .composer-main textarea { font-size: 18px; }
  .scoped-composer .chat-model-picker select { font-size: 14px; }
}
