/* Shared styles for the legal / long-form pages. */

:root {
  --ground:#F2F5F5; --surface:#FFF; --ink:#0E1516; --ink-soft:#47585A;
  --ink-dim:#7B8C8D; --rule:#D5DEDE; --rule-soft:#E4EAEA;
  --chill:#0F6E6E; --flag:#C25A18; --flag-bg:#F8E4D7;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground:#0C1213; --surface:#141C1D; --ink:#E9F0EF; --ink-soft:#9DAFAF;
    --ink-dim:#748686; --rule:#263233; --rule-soft:#1E2829;
    --chill:#4FBDB4; --flag:#E48047; --flag-bg:#331F14;
  }
}
:root[data-theme="dark"] {
  --ground:#0C1213; --surface:#141C1D; --ink:#E9F0EF; --ink-soft:#9DAFAF;
  --ink-dim:#748686; --rule:#263233; --rule-soft:#1E2829;
  --chill:#4FBDB4; --flag:#E48047; --flag-bg:#331F14;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: Karla, ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 17px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

.wrap { max-width: 720px; margin: 0 auto; padding: 0 30px; }

a { color: var(--chill); text-underline-offset: 2px; }
a:focus-visible { outline: 2px solid var(--chill); outline-offset: 3px; border-radius: 3px; }

header.doc { padding: 34px 0; border-bottom: 1px solid var(--rule); }

.brand {
  display: inline-flex; align-items: center; gap: 10px;
  text-decoration: none; color: var(--ink);
  font-family: Newsreader, ui-serif, Georgia, serif; font-size: 25px; letter-spacing: -.014em;
}
.mark { width: 23px; height: 23px; border-radius: 7px; background: var(--chill); display: grid; place-items: center; }
.mark span { width: 8px; height: 8px; border-radius: 50%; background: var(--surface); display: block; }

main { padding: 56px 0 40px; }

h1 {
  font-family: Newsreader, ui-serif, Georgia, serif;
  font-weight: 300; font-size: clamp(2.2rem, 5.5vw, 3rem);
  line-height: 1.08; letter-spacing: -.016em; margin: 0 0 14px; text-wrap: balance;
}

.updated {
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--ink-dim); margin: 0 0 40px;
}

h2 {
  font-size: 1.24rem; font-weight: 700; margin: 42px 0 12px;
  letter-spacing: -.01em; padding-top: 22px; border-top: 1px solid var(--rule-soft);
}
h2:first-of-type { border-top: none; padding-top: 0; }

h3 { font-size: 1rem; font-weight: 700; margin: 24px 0 8px; }

p, li { color: var(--ink-soft); }
p { margin: 0 0 15px; }
ul { margin: 0 0 15px; padding-left: 22px; }
li { margin-bottom: 7px; }
strong { color: var(--ink); font-weight: 700; }

.note {
  background: var(--surface); border: 1px solid var(--rule);
  border-left: 3px solid var(--flag); border-radius: 4px;
  padding: 18px 20px; margin: 0 0 34px; font-size: 15px;
}
.note p { margin: 0; }
.note b { color: var(--ink); }

.todo {
  color: var(--flag); background: var(--flag-bg);
  padding: 1px 7px; border-radius: 3px;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px; font-weight: 600; letter-spacing: .04em;
  white-space: nowrap;
}

footer.doc {
  border-top: 1px solid var(--rule); margin-top: 56px; padding: 30px 0 60px;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  color: var(--ink-dim); font-size: 13.5px;
}
footer.doc a { color: var(--ink-soft); text-decoration: none; }
footer.doc a:hover { color: var(--chill); }
