/* The only type scale for radar. Components choose a role, not a local font size. */
:root {
  --font-family: "Roboto", Arial, sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --size-h1: 28px;
  --line-h1: 34px;
  --size-h2: 20px;
  --line-h2: 26px;
  --size-h3: 18px;
  --line-h3: 24px;
  --size-h4: 16px;
  --line-h4: 22px;
  --size-h5: 14px;
  --line-h5: 20px;
  --size-h6: 13px;
  --line-h6: 18px;
  --size-body: 14px;
  --line-body: 22px;
  --size-ui: 13px;
  --line-ui: 18px;
  --size-caption: 12px;
  --line-caption: 18px;
  --size-input: 14px;
  --line-input: 20px;
  --size-card-title: 15px;
  --line-card-title: 21px;
  --size-brand: 26px;
  --line-brand: 32px;
  --tracking-title: -0.02em;
  --tracking-copy: 0;
  font-family: var(--font-family);
  font-size: var(--size-body);
  line-height: var(--line-body);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-copy);
}
body {
  font: inherit;
}
button,
input,
select,
textarea,
.button {
  font-family: var(--font-family);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: var(--font-family);
  font-weight: var(--weight-semibold);
  overflow-wrap: anywhere;
}
h1 {
  font-size: var(--size-h1);
  line-height: var(--line-h1);
  letter-spacing: var(--tracking-title);
}
h2 {
  font-size: var(--size-h2);
  line-height: var(--line-h2);
  letter-spacing: var(--tracking-title);
}
h3 {
  font-size: var(--size-h3);
  line-height: var(--line-h3);
}
h4 {
  font-size: var(--size-h4);
  line-height: var(--line-h4);
}
h5 {
  font-size: var(--size-h5);
  line-height: var(--line-h5);
}
h6 {
  font-size: var(--size-h6);
  line-height: var(--line-h6);
}
p,
.muted,
.message-preview,
.full-message,
.notice,
.auth-card > .muted,
.source-empty {
  font-size: var(--size-body);
  line-height: var(--line-body);
  font-weight: var(--weight-regular);
}
button,
.button,
label,
.tag,
.status,
.fact-line,
.contact-line,
.editor-summary dl,
.chosen-source > span,
.connected p,
.setup-notice p,
#toast,
.qr-setup ol,
.search-source-count,
.message-telegram,
.new-count {
  font-size: var(--size-ui);
  line-height: var(--line-ui);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-copy);
}
input,
select,
textarea,
.tag-field input {
  font-size: var(--size-input);
  line-height: var(--line-input);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-copy);
}
small,
.field-hint,
.reader-meta,
.message-summary small,
.message-summary .excerpt,
.search-title small,
.quiet-note,
.auth-note,
.table-head,
.run-status,
.status-tabs span,
.keyword-line span,
.fact-line small,
.contact-line small,
.chat-option small,
.chosen-source small,
.sidebar-connection small,
.sidebar-connection > .dot,
.modal-actions > span,
.search-source-count small,
.new-count small,
.page-heading p {
  font-size: var(--size-caption);
  line-height: var(--line-caption);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-copy);
}
.message-summary strong,
.search-title strong,
.connected strong,
.setup-notice strong {
  font-size: var(--size-card-title);
  line-height: var(--line-card-title);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-copy);
}
strong,
b {
  font-weight: var(--weight-semibold);
}
.brand {
  font-size: var(--size-brand);
  line-height: var(--line-brand);
  font-weight: var(--weight-bold);
  letter-spacing: -0.04em;
}
.eyebrow {
  font-size: var(--size-caption);
  line-height: var(--line-caption);
  font-weight: var(--weight-medium);
  letter-spacing: 0.06em;
}
.tag button {
  font-size: var(--size-h3);
  line-height: var(--line-h3);
  font-weight: var(--weight-regular);
}
.sidebar-connection {
  font-size: var(--size-caption);
  line-height: var(--line-caption);
}
.bottom-nav button {
  font-size: var(--size-caption);
  line-height: var(--line-caption);
}
@media (max-width: 720px) {
  :root {
    --size-h1: 22px;
    --line-h1: 28px;
    --size-body: 15px;
    --line-body: 22px;
    --size-ui: 14px;
    --line-ui: 20px;
    --size-input: 16px;
    --line-input: 22px;
  }
}

/* Mobile navigation uses the same caption role; compact does not mean tiny. */
@media (max-width: 720px) {
  .search-actions button, .status-tabs button, .lead-status-options button, .inbox-detail-heading > span { font-size: var(--size-caption); line-height: var(--line-caption); }
  .mobile-search-title strong { font-size: var(--size-h3); line-height: var(--line-h3); }
  .account-grid h2 { font-size: var(--size-h4); line-height: var(--line-h4); }
}

@media (max-width: 720px) {
  .mobile-message-meta, .mobile-message-facts, .settings-label, .account-footnote { font-size: var(--size-caption); line-height: var(--line-caption); font-weight: var(--weight-regular); }
  .account-profile strong { font-size: var(--size-h4); line-height: var(--line-h4); }
  .settings-label { text-transform: uppercase; letter-spacing: .06em; }
}
