:root {
  color-scheme: light;
  --paper: #ffffff;
  --ink: #111827;
  --muted: #4b5563;
  --blue: #3b82f6;
  --blue-text: #1d4ed8;
  --violet: #8b5cf6;
  --violet-text: #6d28d9;
  --green: #16a34a;
  --green-text: #166534;
  --amber: #d97706;
  --amber-text: #92400e;
  --red: #dc2626;
  --line: #d1d5db;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  font-synthesis: none;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
button, select { font: inherit; color: inherit; }
button, select, summary { min-height: 48px; }
a { color: var(--blue-text); text-underline-offset: 5px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a, button, select, summary { -webkit-tap-highlight-color: #dbeafe; }
:focus-visible { outline: 3px solid var(--blue-text); outline-offset: 5px; }
[hidden] { display: none !important; }
main:focus { outline: none; }
h1, h2, h3 { font-weight: 600; line-height: 1.25; margin: 0; text-wrap: pretty; }
h1 { font-size: 36px; letter-spacing: -0.025em; max-width: 24ch; }
h2 { font-size: 30px; letter-spacing: -0.02em; }
h3 { font-size: 24px; letter-spacing: -0.015em; }
p { margin: 0; }
p + p { margin-top: 16px; }
p, li, dd, dt, figcaption, label, select, button, a, summary { font-size: 16px; }
[data-role="page-layout"] { display: grid; grid-template-columns: 288px minmax(0, 1fr); max-width: 1440px; margin-inline: auto; }
[data-role="reading-column"] { min-width: 0; padding: 64px 72px 32px; }
main { max-width: 824px; }
[data-role="page-heading"] { padding-bottom: 32px; }
[data-role="eyebrow"] { font-weight: 600; color: var(--muted); line-height: 1.5; margin-bottom: 16px; }
[data-role="intro"] { font-size: 18px; line-height: 1.7; max-width: 64ch; margin-top: 24px; }
[data-role="reading-section"] { margin-top: 64px; max-width: 72ch; }
[data-role="reading-section"] > h2 { margin-bottom: 24px; }
[data-role="reading-section"] > p { max-width: 68ch; }
h2[id] { scroll-margin-top: 32px; }
[data-role="skip-link"] { position: fixed; top: 16px; left: 16px; z-index: 10; padding: 12px 24px; background: var(--paper); border: 2px solid var(--blue-text); transform: translateY(-160%); }
[data-role="skip-link"]:focus { transform: none; }
[data-role="site-footer"] { max-width: 824px; margin-top: 64px; padding-block: 32px; border-top: 1px solid var(--line); }
[data-role="site-footer"] p { max-width: 62ch; color: var(--muted); }
[data-role="site-footer"] nav { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-top: 16px; }
[data-role="site-footer"] a { display: inline-flex; align-items: center; min-height: 48px; gap: 16px; }
[data-role="next-page"] { margin-top: 48px; padding: 24px 0; border-top: 1px solid var(--line); max-width: 72ch; }
[data-role="next-page"] p { color: var(--muted); max-width: 60ch; }
[data-role="next-page"] a, [data-role="return-link"] { display: inline-flex; align-items: center; min-height: 48px; padding-block: 8px; margin-top: 8px; gap: 24px; font-weight: 600; }
[data-role="return-link"] + p { margin-top: 24px; }

@media (max-width: 1100px) {
  [data-role="page-layout"] { grid-template-columns: 256px minmax(0, 1fr); }
  [data-role="reading-column"] { padding: 48px 40px 24px; }
}
@media (max-width: 800px) {
  [data-role="page-layout"] { display: block; }
  [data-role="reading-column"] { padding: 32px 24px 16px; }
  [data-role="reading-section"] { margin-top: 48px; }
  [data-role="page-heading"] { padding-bottom: 24px; }
  h1 { max-width: 22ch; }
  h2 { font-size: 30px; }
  [data-role="site-footer"] { margin-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (prefers-contrast: more) {
  :root { --muted: #111827; --line: #111827; --blue-text: #173eac; }
  a { text-decoration-thickness: 2px; }
}
@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight; }
  a { color: LinkText; }
  button, select, summary { border: 1px solid ButtonText; }
}
@media print {
  [data-role="page-layout"] { display: block; }
  [data-role="side-index"], [data-role="jump-menu"], [data-role="skip-link"], [data-role="next-page"], [data-role="site-footer"] nav { display: none; }
  [data-role="reading-column"] { padding: 0; }
  [data-role="reading-section"], [data-role="footnotes"] { margin-top: 32px; }
  a { color: #111827; }
  [data-role="source-link"]::after { content: " (" attr(href) ")"; overflow-wrap: anywhere; font-size: 16px; font-weight: 400; }
  [data-role="answer"], [data-role="checklist"] li { break-inside: avoid; }
}
