:root {
  color-scheme: dark;
  --color-text: #eef3ea;
  --color-muted: #b9c7bc;
  --color-page: #0c1410;
  --color-panel: #142019;
  --color-link: #b6f27a;
  --color-border: #2f4537;
  --color-focus: #b6f27a;
  --text-small: .875rem;
  --text-body: 1.0625rem;
  --text-section: 1.375rem;
  --text-title: clamp(2rem, 4vw, 2.75rem);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-text);
  background: var(--color-page);
}
* { box-sizing: border-box; }
body { margin: 0; font-size: var(--text-body); line-height: 1.6; overflow-wrap: anywhere; }
a { color: var(--color-link); text-underline-offset: .2em; text-decoration-thickness: from-font; }
button { font: inherit; color: var(--color-link); background: var(--color-page); border: 1px solid var(--color-link); border-radius: .25rem; padding: .5rem .8rem; min-height: 2.75rem; cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
@media (forced-colors: active) { :focus-visible { outline-color: Highlight; } }
@media (hover: hover) { a:hover { text-decoration-thickness: 2px; } button:hover { background: var(--color-panel); } }
.skip { position: absolute; inset-block-start: -8rem; inset-inline-start: 1rem; padding: .75rem; background: var(--color-page); z-index: 1; }
.skip:focus { inset-block-start: 1rem; }
.masthead, .preview, .layout { max-width: 76rem; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 3rem); }
.masthead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.5rem; }
.brand { color: var(--color-text); font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 1.2rem; font-weight: 700; letter-spacing: -.06em; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.brand .brand-glyph { color: var(--color-link); font-size: 1.7rem; margin-inline-end: .3rem; line-height: 1; font-weight: 400; }
.language { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; font-size: 1rem; }
.language a, .language span { padding-block: .6rem; }
.language span { font-weight: 700; }
.preview { padding-block: 1rem; background: var(--color-panel); font-size: var(--text-small); }
.preview p { margin: .25rem 0 0; max-width: 85ch; }
.layout { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 3rem; padding-block: 3rem; }
.legal-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.legal-nav a { display: block; padding: .6rem .75rem; border-inline-start: 3px solid transparent; font-size: 1rem; }
.legal-nav [aria-current] { background: var(--color-panel); border-color: var(--color-link); font-weight: 700; }
main { min-width: 0; max-width: 68ch; }
.error-page, .thanks-page { margin-inline: auto; padding: clamp(1rem, 4vw, 3rem); }
.thanks-page ol { padding-inline-start: 1.25rem; margin: 0 0 1rem; }
.thanks-page li { margin-block: .75rem; }
.thanks-page pre { margin: .5rem 0 0; padding: .85rem 1rem; background: var(--color-panel); border-radius: .25rem; font-size: .95rem; line-height: 1.5; white-space: pre-wrap; }
.thanks-page footer nav { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-block-end: .5rem; }
h1, h2 { line-height: 1.4; text-wrap: balance; }
h1 { font-size: var(--text-title); margin: .5rem 0 1rem; letter-spacing: -.025em; }
h2 { font-size: var(--text-section); margin: 0 0 1rem; }
.eyebrow, .metadata { font-size: var(--text-small); color: var(--color-muted); }
.eyebrow { margin: 0; font-family: ui-monospace, "SFMono-Regular", monospace; }
.metadata { margin-block: 0 1.5rem; }
.intro { font-size: 1.125rem; }
.document-heading { margin-block-end: 2.5rem; }
.contents { background: var(--color-panel); padding: 1.25rem 1.5rem; margin-block-end: 3rem; }
.contents h2 { font-size: 1rem; }
.contents ul { list-style: none; padding: 0; margin: 0; }
.contents a { display: inline-block; padding-block: .35rem; font-size: 1rem; }
section { margin-block: 0 3rem; }
section h2, main { scroll-margin-block-start: 1.5rem; }
p { margin: 0 0 1rem; }
.missing { font-weight: 600; }
footer { border-block-start: 1px solid var(--color-border); padding-block: 1.5rem; font-size: var(--text-small); }
footer a { display: inline-block; padding-block: .6rem; }
.noscript { margin: 1rem; }
@media (max-width: 58rem) {
  .layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-block-start: 1.5rem; }
  .legal-nav ul { display: flex; flex-wrap: wrap; gap: .5rem; }
  .legal-nav a { padding-inline: .5rem; }
  main { max-width: 100%; }
}
@media print {
  @page { size: A4; margin: 18mm; }
  :root { color-scheme: light; --color-page: #ffffff; --color-panel: #ffffff; --color-border: #333333; --color-text: #000000; --color-muted: #333333; --color-link: #000000; font-size: 10pt; }
  .masthead, .legal-nav, .contents, button, .skip, footer a, .noscript { display: none !important; }
  .layout { display: block; padding: 0; }
  main { max-width: none; }
  .preview { border: 1px solid #333333; padding: .75rem; margin-block-end: 1.5rem; }
  section { margin-block-end: 1.5rem; }
  h1, h2 { break-after: avoid; }
  p { orphans: 3; widows: 3; }
  h1 { font-size: 24pt; }
  h2 { font-size: 14pt; }
}
