/* Privacy and Terms pages. The tokens mirror the home page's :root in
   index.html ("paper, ink and two voices"): keep the two in sync. */
:root {
  --paper: #F4F1EA; --card: #FFFDF8; --inset: #EAE5DA;
  --ink: #16161D; --ink-2: #52525F; --ink-3: #626275;
  --line: #DAD4C7; --line-soft: #E6E1D6; --edge: #85807A;
  --cobalt: #2743D6; --cobalt-press: #1C33B0; --on-cobalt: #FFFFFF;
  --turmeric: #F0B429;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-o: .07;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #111117; --card: #1A1A22; --inset: #0B0B10;
    --ink: #EEEBE3; --ink-2: #AEACB8; --ink-3: #8B8A99;
    --line: #2A2A35; --line-soft: #20202A; --edge: #6E6E7E;
    --cobalt: #8FB0FF; --cobalt-press: #5A78D6; --on-cobalt: #111117;
    --turmeric: #F4C46A;
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    --grain-o: .05;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #111117; --card: #1A1A22; --inset: #0B0B10;
  --ink: #EEEBE3; --ink-2: #AEACB8; --ink-3: #8B8A99;
  --line: #2A2A35; --line-soft: #20202A; --edge: #6E6E7E;
  --cobalt: #8FB0FF; --cobalt-press: #5A78D6; --on-cobalt: #111117;
  --turmeric: #F4C46A;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-o: .05;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--paper); color: var(--ink-2); overflow-x: clip;
  font: 400 17px/1.65 "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::after { content: ""; position: fixed; inset: 0; z-index: 90; pointer-events: none; background-image: var(--grain); opacity: var(--grain-o); }
a { color: var(--cobalt); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
b, strong { color: var(--ink); font-weight: 600; }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--cobalt); color: var(--on-cobalt); }
.wrap { width: 100%; max-width: 820px; margin: 0 auto; padding-inline: max(16px, 4vw); }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 14px; border-radius: 10px; background: var(--ink); color: var(--paper); font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }

/* header */
header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.nav { display: flex; align-items: center; gap: 14px; height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); border-radius: 8px; }
.brand svg { width: 26px; height: 26px; flex: none; }
.brand span { font: 800 20px/1 "Bricolage Grotesque", sans-serif; letter-spacing: -.02em; }
.spacer { flex: 1; }
.home { color: var(--ink-2); font-weight: 500; font-size: 15px; text-decoration: none; }
.home:hover { color: var(--ink); text-decoration: underline; }
.toggle {
  width: 40px; height: 40px; display: grid; place-items: center; flex: none; cursor: pointer;
  background: var(--card); color: var(--ink-2); border: 1px solid var(--edge); border-radius: 11px;
}
.toggle:hover { color: var(--ink); border-color: var(--ink); }
.toggle svg { width: 18px; height: 18px; }
.toggle .i-sun { display: none; }
:root[data-theme="dark"] .toggle .i-sun { display: block; }
:root[data-theme="dark"] .toggle .i-moon { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .toggle .i-sun { display: block; }
  :root:not([data-theme="light"]) .toggle .i-moon { display: none; }
}

/* document */
main { padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px); }
main > * { max-width: 68ch; }
main > .table-wrap { max-width: none; }
.doc-label { font: 500 12px/1.3 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 14px; }
h1 {
  font: 800 clamp(40px, 7vw, 64px)/1 "Bricolage Grotesque", sans-serif; letter-spacing: -.035em;
  font-variation-settings: "opsz" 96; color: var(--ink); margin: 0 0 14px;
}
h2 {
  font: 700 clamp(22px, 2.6vw, 27px)/1.2 "Bricolage Grotesque", sans-serif; letter-spacing: -.015em;
  color: var(--ink); margin: 48px 0 10px; padding-top: 18px; border-top: 1px solid var(--line);
}
.updated { font: 500 13px/1.4 "JetBrains Mono", ui-monospace, monospace; color: var(--ink-3); margin: 0 0 32px; }
p { margin: 0 0 14px; }
ul { margin: 0 0 14px; padding-left: 22px; }
li { margin: 6px 0; }
li::marker { color: var(--ink-3); }
.summary {
  background: var(--card); border-left: 4px solid var(--turmeric); border-radius: 4px 14px 14px 4px;
  padding: 18px 22px 12px; box-shadow: 0 0 0 1px var(--line);
}
.summary > strong { font: 700 19px/1.3 "Bricolage Grotesque", sans-serif; letter-spacing: -.01em; }
.summary ul { margin: 10px 0 6px; }
.table-wrap { overflow-x: auto; margin: 14px 0 18px; border-top: 1px solid var(--line); -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: 15.5px; line-height: 1.5; }
th, td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--line); }
th { font: 500 12px/1.4 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
td:first-child { color: var(--ink); }
@media (max-width: 560px) {
  table, tbody, tr, td { display: block; }
  tr:first-child { display: none; }
  tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
  td { border: 0; padding: 2px 0; }
}

/* footer */
footer { border-top: 1px solid var(--line); padding: 28px 0 44px; font-size: 14.5px; color: var(--ink-3); }
footer .links { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; }
footer a { color: var(--ink-2); text-decoration: none; }
footer a:hover { color: var(--ink); text-decoration: underline; }
footer .copy { margin-left: auto; }
@media (max-width: 560px) { footer .copy { margin-left: 0; width: 100%; } }

::view-transition-old(root), ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
::view-transition-new(root) { z-index: 1; }
