/* Shared by the React app and the standalone product guides.
   Typography: supplied Codex Mac 26.1016.61520 resource declarations.
   These are source defaults, not a claim about a user's live Mac settings.
   Native fonts are resolved by the OS; no Apple font files are distributed. */
:root {
  --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-code: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --text-caption: 12px;
  --text-small: 13px;
  --text-body: 14px;
  --text-heading-small: 18px;
  --text-heading: 20px;
  --text-page: 24px;
  --text-title: 28px;
  /* Roles, not page-specific choices: reading text 430, field/row labels 500,
     interactive labels 510, section headings and explicit emphasis 600.
     Secondary text uses colour, never thin/light weights. */
  --weight-body: 430;
  --weight-medium: 500;
  --weight-heading: 600;
  --weight-control: 510;
  --leading-body: 1.5;
  --leading-prose: 1.625;
  --space-unit: .25rem;
  --field-text: 14px;
  --control-height: 44px;
  --surface-canvas: #f9f9f9;
  --surface-raised: #fff;
  --surface-muted: #f0f0f0;
  --text-primary: #212121;
  --text-secondary: #454545;
  --text-muted: #5d5d5d;
  --border-subtle: #ededed;
  --border-control: #dfdfdf;
  --brand-primary: #274d41;
  --brand-subtle: #e7efea;
  --brand-on-primary: #fff;
  font-family: var(--font-ui);
  font-size: 16px;
}
[data-theme="dark"] {
  --surface-canvas: #181818;
  --surface-raised: #212121;
  --surface-muted: #2b2b2b;
  --text-primary: #ededed;
  --text-secondary: #d1d1d1;
  --text-muted: #b4b4b4;
  --border-subtle: #343434;
  --border-control: #505050;
  --brand-primary: #b8d2c3;
  --brand-subtle: #293d32;
  --brand-on-primary: #172a20;
}
body { font-family: var(--font-ui); font-size: var(--text-body); font-weight: var(--weight-body); line-height: var(--leading-body); letter-spacing: 0; }
button, input, select, textarea { font-family: inherit; }
button { font-size: var(--text-small); font-weight: var(--weight-control); }
input, select, textarea { font-size: var(--field-text); font-weight: var(--weight-body); }
label, legend { font-size: var(--text-small); font-weight: var(--weight-medium); }
small { font-size: var(--text-caption); font-weight: var(--weight-body); }
th { font-weight: var(--weight-medium); }
strong, b { font-weight: var(--weight-heading); }
h1 { font-size: var(--text-page); font-weight: var(--weight-medium); line-height: 1.2; letter-spacing: 0; }
h2 { font-size: var(--text-heading); font-weight: var(--weight-heading); line-height: 1.3; letter-spacing: 0; }
h3 { font-size: var(--text-heading-small); font-weight: var(--weight-heading); line-height: 1.4; letter-spacing: 0; }
code, pre, kbd, samp { font-family: var(--font-code); }
/* Keep the familiar 44px touch targets rather than importing the desktop
   app's smaller pointer-only controls. 16px fields avoid iOS focus zoom. */
@media (max-width: 760px), (pointer: coarse) { :root { --field-text: 16px; } }
