/* Carnet legal site: the app's white room and type tokens (docs/DESIGN.md). */
/* Geist, served from this site (SIL OFL 1.1, fonts/Geist-OFL.txt): no third-party requests. */
@font-face { font-family: "Geist"; font-weight: 400; font-display: swap; src: url("/fonts/Geist-Regular.ttf") format("truetype"); }
@font-face { font-family: "Geist"; font-weight: 600; font-display: swap; src: url("/fonts/Geist-SemiBold.ttf") format("truetype"); }
@font-face { font-family: "Geist"; font-weight: 700; font-display: swap; src: url("/fonts/Geist-Bold.ttf") format("truetype"); }
:root {
  --surface: #ffffff;
  --surface-grouped: #f3f4f2;
  --text: #141414;
  --text-2: #6e6e6c;
  --hairline: #e4e4e2;
  --focus: #2a6df4;
  --font: "Geist", -apple-system, "SF Pro Text", system-ui, sans-serif;
  --s2: 8px; --s3: 12px; --s4: 16px; --s6: 24px; --s7: 32px; --s8: 44px;
  --r-control: 14px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--text);
  font: 400 16px/1.55 var(--font);
  -webkit-text-size-adjust: 100%;
}
main { max-width: 640px; margin: 0 auto; padding: var(--s8) var(--s4) var(--s8); }
header { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s7); }
header a.home { font-size: 22px; font-weight: 700; letter-spacing: -0.03em; color: var(--text); text-decoration: none; }
nav { display: flex; gap: var(--s4); font-size: 15px; }
nav a { color: var(--text-2); text-decoration: none; }
nav a[aria-current="page"] { color: var(--text); font-weight: 600; }
h1 { font-size: 32px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; margin: 0 0 var(--s2); }
h2 { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; margin: var(--s7) 0 var(--s2); }
p, ul { margin: 0 0 var(--s3); }
ul { padding-left: 1.2em; }
li { margin-bottom: var(--s2); }
.meta { color: var(--text-2); font-size: 15px; margin-bottom: var(--s6); }
.note { background: var(--surface-grouped); border-radius: var(--r-control); padding: var(--s4); margin: var(--s6) 0; }
a { color: var(--text); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
footer { margin-top: var(--s8); padding-top: var(--s4); border-top: 1px solid var(--hairline); color: var(--text-2); font-size: 14px; }
