/* Pages de texte (confidentialité, page introuvable) : Encre sur Paper, une seule colonne de lecture. */
body { background: var(--paper); color: var(--ink); }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px var(--gutter); }
.legal-header .brand { color: var(--ink); }
.legal-header .brand-arrow::before { background: var(--ink); }
.legal-header .brand-arrow { color: var(--paper); }
.legal-back { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--depth); }
.legal-back .icon { width: 18px; height: 18px; rotate: -90deg; }
.legal { max-width: 760px; margin: 0 auto; padding: clamp(40px, 7vw, 96px) var(--gutter) clamp(72px, 9vw, 128px); }
.legal .section-tag i { background: var(--iris); }
.legal h1 { margin: 28px 0 24px; font: 400 clamp(44px, 6vw, 76px)/1.04 Figtree, Arial, sans-serif; letter-spacing: -.05em; }
.legal .legal-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: var(--ink); }
.legal .legal-updated { margin-top: 16px; font: 12px/1.5 'JetBrains Mono', monospace; color: var(--body); }
.legal h2 { margin: 56px 0 14px; padding-top: 24px; border-top: 1px solid #21193225; font: 600 21px/1.3 Figtree, Arial, sans-serif; letter-spacing: -.01em; }
.legal p, .legal li { font-size: 17px; line-height: 1.65; color: var(--body); }
.legal p + p { margin-top: 12px; }
.legal ul { margin: 12px 0 0; padding: 0; list-style: none; }
.legal li { position: relative; padding: 0 0 8px 18px; }
.legal li::before { content: ''; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; background: var(--iris); }
.legal strong { color: var(--ink); font-weight: 600; }
.legal :is(p, li) a { color: var(--depth); text-decoration: underline; text-decoration-color: #392b5966; text-underline-offset: 3px; }
.legal :is(p, li) a:hover { text-decoration-color: currentColor; }
.footer { color: var(--body); border-top: 1px solid #21193225; }
.footer .brand { color: var(--ink); }
.footer .brand-arrow::before { background: var(--ink); }
.footer .brand-arrow { color: var(--paper); }
:root :focus-visible { outline-color: var(--iris); }
@media (max-width: 600px) { .legal p, .legal li { font-size: 16px; } .legal h2 { margin-top: 44px; } }

/* Page introuvable : un message court et deux chemins. */
.not-found-page { min-height: 100svh; display: flex; flex-direction: column; }
.not-found { flex: 1 0 auto; width: 100%; display: flex; flex-direction: column; justify-content: center; }
.legal .not-found-code { font: 12px/1.5 'JetBrains Mono', monospace; color: var(--body); }
.not-found-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 36px; }
.not-found-actions .text-link { color: var(--depth); }
@media (max-width: 360px) { .legal-header { gap: 12px; } .legal-back { white-space: nowrap; } }

/* Champ légal à compléter : visible au premier coup d’œil, et bloquant au déploiement (scripts/check-release.mjs). */
.legal-todo { padding: 1px 6px; border-radius: 4px; background: #d98b7333; color: var(--ink); font-weight: 600; }
.legal-facts li { padding-left: 18px; }
