/*
 * Feuille des pages statiques du portail (404, mentions légales).
 * Elles vivent hors de l'application Vue : une page d'erreur ou une page
 * légale doit s'afficher même si le JavaScript ne se charge pas. Fichier à
 * part plutôt qu'un style en ligne, que la CSP du vhost refuse.
 */
:root {
  --bg: #041f1e;
  --text: #eaf5f3;
  --text-dim: #93b3b0;
  --accent: #5ee7d3;
  --glass: rgba(255, 255, 255, 0.06);
  --glass-border: rgba(255, 255, 255, 0.16);
  color-scheme: dark;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  color: var(--text);
  background: radial-gradient(120% 80% at 50% -10%, #0d3b39 0%, var(--bg) 60%) fixed, var(--bg);
}

main {
  max-width: 44rem;
  margin: 0 auto;
  padding: max(2rem, env(safe-area-inset-top)) 1rem 3rem;
}

h1 { margin: 0 0 0.5rem; font-size: clamp(1.6rem, 6vw, 2.2rem); line-height: 1.15; letter-spacing: -0.02em; }
h2 { margin: 2rem 0 0.5rem; font-size: 1.15rem; }
h3 { margin: 1.5rem 0 0.25rem; font-size: 1rem; color: var(--text); }
p, li, dd { color: var(--text-dim); }
strong { color: var(--text); }

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

.retour {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.7rem 1.2rem;
  border-radius: 14px;
  background: var(--glass);
  border: 1px solid var(--glass-border);
  font-weight: 650;
  text-decoration: none;
}

dl { margin: 0; }
dt { margin-top: 0.75rem; font-weight: 650; color: var(--text); }
dd { margin: 0; }
