/* Shared type scale. Components opt into these tokens; compact media-editor UI is intentional. */
:root {
  --font-size-micro: 10px;
  --font-size-tiny: 11px;
  --font-size-caption: 12px;
  --font-size-label: 13px;
  --font-size-secondary: 13px;
  --font-size-control: 13px;
  --font-size-body: 14px;
  --font-size-reading: 16px;
  --font-size-input-mobile: 16px;
  --font-size-subheading: 16px;
  --font-size-section-title: 18px;
  --font-size-card-title: 20px;
  --font-size-page-title: clamp(24px, 2.4vw, 30px);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-heading: 600;
}
body { font-size: var(--font-size-body); font-weight: var(--font-weight-regular); }
h1,h2,h3,h4,h5,h6 { font-weight: var(--font-weight-heading); }
h1 { font-size: var(--font-size-page-title); line-height: 1.2; }
h2 { font-size: var(--font-size-section-title); }
h3 { font-size: var(--font-size-subheading); }
h4,h5,h6 { font-size: var(--font-size-body); }
strong,b { font-weight: var(--font-weight-heading); }
/* Scope headings to preserve error-code displays, avatars and editor ruler labels. */
body > header h1, .admin-main h1 { font-size: var(--font-size-page-title); font-weight: var(--font-weight-heading); }
body > header .status { font-size: var(--font-size-secondary); font-weight: var(--font-weight-regular); }
body > header .nav-actions :is(.nav-link,.app-nav-group-trigger) { font-size: var(--font-size-body); font-weight: var(--font-weight-medium); }
:where(button,input,select,textarea) { font-family: inherit; font-size: var(--font-size-control); font-weight: var(--font-weight-regular); }
:where(button,.button,[role="button"]) { font-weight: var(--font-weight-medium); }
:where(table) { font-size: var(--font-size-secondary); }
:where(th) { font-size: var(--font-size-caption); font-weight: var(--font-weight-medium); }
:where(label,legend,.field-label) { font-weight: var(--font-weight-medium); }
:where(small,.meta,.help,.form-hint) { font-size: var(--font-size-caption); }
:where(pre,code,kbd) { font-weight: var(--font-weight-regular); }
/* Longer reading areas get breathing room without changing timeline track metrics. */
:where(.my-channel-detail p,.ai-ideas-output,.ai-idea-translation,.guide-content p) { line-height: 1.6; }
@media(max-width:720px) {
  :root { --font-size-page-title: 24px; }
  /* Prevent automatic focus zoom on iOS for text-entry fields. */
  :root[data-theme] :is(input[type="text"],input[type="url"],input[type="email"],input[type="password"],input[type="search"],textarea,select) {
    font-size: var(--font-size-input-mobile);
  }
}
