html { color-scheme: light; scroll-behavior: smooth; background: var(--color-page); }
html[data-theme="dark"] { color-scheme: dark; }
body {
  min-width: 320px;
  min-height: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  background: var(--color-page);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.is-scroll-locked { overflow: hidden; }
main { display: block; }
h1, h2, h3 { font-family: var(--font-display); line-height: var(--line-heading); letter-spacing: -.035em; }
p { color: var(--color-text-secondary); }
a { text-decoration-thickness: .08em; text-underline-offset: .18em; }
::selection { background: var(--color-brand); color: var(--color-brand-contrast); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
