:root {
  color-scheme: light;
  --page: #fcfcf9;
  --ink: #25372f;
  --text: #444d46;
  --muted: #73796f;
  --green: #345b45;
  --line: #e2e5dc;
  --soft: #eaf0e4;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--page);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; font-size: 16px; line-height: 1.6; }
a { color: inherit; text-underline-offset: 4px; }
button, input { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; border-radius: 3px; }
button { border: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); }
[hidden] { display: none !important; }
::selection { background: #dbe7cf; color: var(--ink); }
.icon-button { display: grid; place-items: center; width: 32px; height: 32px; background: transparent; border-radius: 50%; font-size: 24px; line-height: 1; }
.icon-button:hover { background: var(--soft); }
.skip-link { position: fixed; top: -70px; left: 20px; z-index: 10; padding: 10px 20px; background: var(--ink); color: white; }
.skip-link:focus { top: 12px; }
.term-link { color: inherit; text-decoration-style: dotted; text-decoration-color: #a4aea0; text-decoration-thickness: 1px; }
.term-link:hover, .term-link[aria-expanded="true"] { color: #173b2a; background: var(--soft); border-radius: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
