/* Entier — legal pages ("paper" theme). No JavaScript on these pages. */
body.legal {
  color-scheme: light;
  --bg: #f7f5f0; --bg-2: #ebe8e1;
  --ink: #15141a; --ink-2: #44414c; --ink-3: #6b6774;
  --line: rgb(21 20 26 / .12); --line-2: rgb(21 20 26 / .24);
  --accent: #4338ca; --accent-ink: #fff;
  background: var(--bg); color: var(--ink);
}
.legal-header {
  position: sticky; top: 0; z-index: 10;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: calc(.85rem + env(safe-area-inset-top)) var(--gutter) .85rem;
  background: rgb(247 245 240 / .86);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.legal-header__back { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; font-family: var(--font-display); font-size: 1.4rem; line-height: 1; }
.legal-header__back .mark { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; }
.legal-header__crumb { font-family: var(--font-mono); font-size: var(--step--1); color: var(--ink-3); letter-spacing: .04em; text-align: right; }
.legal-header__app { color: var(--ink); }

.legal-main { padding: var(--space-2xl) var(--gutter) var(--space-3xl); }
#privacy-content-container { max-width: 68ch; margin-inline: auto; font-size: 1.0625rem; line-height: 1.65; color: var(--ink-2); }
#privacy-content-container h3 {
  font-family: var(--font-display); font-weight: 400; font-size: var(--step-5); line-height: 1; letter-spacing: -0.015em;
  color: var(--ink); margin-bottom: var(--space-m);
}
#privacy-content-container h4,
#privacy-content-container > strong {
  display: block; font-family: var(--font-display); font-weight: 400; font-size: var(--step-2); line-height: 1.15;
  color: var(--ink); margin-top: var(--space-xl); margin-bottom: var(--space-xs);
}
#privacy-content-container > strong + p { margin-top: 0; }
#privacy-content-container p,
#privacy-content-container ul,
#privacy-content-container > div { margin-top: var(--space-s); }
#privacy-content-container > div:first-child { margin-top: 0; }
#privacy-content-container > div:first-child + br + p { font-family: var(--font-mono); font-size: var(--step--1); color: var(--ink-3); letter-spacing: .04em; margin-top: 0; }
#privacy-content-container ul { list-style: disc; padding-left: 1.3em; }
#privacy-content-container li { margin-top: .4em; padding-left: .15em; }
#privacy-content-container li::marker { color: var(--ink-3); }
#privacy-content-container li strong { color: var(--ink); font-weight: 600; }
#privacy-content-container br { display: none; }
#privacy-content-container code { font-family: var(--font-mono); font-size: .88em; background: var(--bg-2); padding: .1em .4em; border-radius: 4px; color: var(--ink); }
#privacy-content-container a { color: var(--accent); text-decoration-color: color-mix(in oklab, var(--accent) 40%, transparent); }
#privacy-content-container a:hover { text-decoration-color: currentColor; }
#privacy-content-container ::selection { background: #dcd8ff; color: var(--ink); }

.legal-footer {
  border-top: 1px solid var(--line);
  padding: var(--space-l) var(--gutter) calc(var(--space-2xl) + env(safe-area-inset-bottom));
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem;
  font-size: var(--step--1); color: var(--ink-3);
}
.legal-footer nav { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.legal-footer a { color: var(--ink-2); text-decoration: none; }
.legal-footer a:hover { text-decoration: underline; }
.legal-footer a[aria-current="page"] { color: var(--ink); font-weight: 600; }
@media print {
  .legal-header, .legal-footer { display: none; }
  body.legal { background: #fff; }
  #privacy-content-container { max-width: none; color: #000; }
}
