html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg-page);
  color: var(--text-primary);
  font: var(--type-body);
  letter-spacing: var(--tracking-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { margin: 0; color: var(--text-primary); text-wrap: balance; }
h1 { font: var(--type-h1); letter-spacing: var(--tracking-display); }
h2 { font: var(--type-h2); letter-spacing: var(--tracking-heading); }
h3 { font: var(--type-h3); letter-spacing: var(--tracking-heading); }
h4 { font: var(--type-h4); }
p { margin: 0 0 var(--space-4); text-wrap: pretty; }
small { font: var(--type-caption); color: var(--text-secondary); }
code, pre { font-family: var(--font-mono); font-size: 0.9em; }
a { color: var(--link); text-decoration-color: color-mix(in oklab, var(--link) 35%, transparent); text-underline-offset: 3px; transition: color var(--duration-fast) var(--ease-standard); }
a:hover { color: var(--link-hover); text-decoration-color: currentColor; }
::selection { background: var(--red-600); color: #fff; }
:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
/* The subline utility — Space Mono caps at wide tracking. Optical fix: trailing letter-space off. */
.stria-subline { font: var(--type-subline); letter-spacing: var(--tracking-subline); text-transform: uppercase; text-indent: var(--tracking-subline); }
.stria-index { font: var(--type-index); letter-spacing: var(--tracking-index); text-transform: uppercase; }
