/* Palette Lumina (décisions de marque) : fond #0F1412, lumière #E8FFF5, menthe #5EEAB4. */
:root {
  --bg: #f6fbf8; --fg: #10201a; --muted: #3d5a4e; --accent: #1a6b55; --accent-fg: #ffffff; --line: #c6ded3; --ctl: #5b786a;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0f1412; --fg: #e8fff5; --muted: #a9c9bb; --accent: #5eeab4; --accent-fg: #0f1412; --line: #26362f; --ctl: #7a9a8b; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 1rem/1.6 system-ui, sans-serif; }
header, main, footer { max-width: 40rem; margin: 0 auto; padding: 1.25rem 1rem; }
header { border-bottom: 1px solid var(--line); }
footer { border-top: 1px solid var(--line); margin-top: 2rem; }
footer ul.plain { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 0; }
footer ul.plain li { border: 0; padding: 0; }
footer a { display: inline-block; padding: .5rem 0; min-height: 1.5rem; }
.pending { border: 2px dashed var(--ctl); border-radius: .375rem; padding: 0 1rem 1rem; }
.brand { letter-spacing: .2em; font-weight: 600; color: inherit; text-decoration: none; }
body { overflow-wrap: anywhere; }
p.legal { white-space: pre-line; }
h1 { font-size: 1.5rem; line-height: 1.25; }
a { color: var(--accent); }
.button, button { display: inline-block; background: var(--accent); color: var(--accent-fg); border: 0; border-radius: .375rem;
  padding: .625rem 1rem; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; min-height: 2.75rem; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.error { color: #b00020; }
@media (prefers-color-scheme: dark) { .error { color: #ff8a80; } }
label { font-weight: 600; }
input, select { font: inherit; padding: .5rem; min-height: 2.75rem; max-width: 100%; border: 1px solid var(--ctl); border-radius: .375rem; background: var(--bg); color: var(--fg); }
form.inline { display: inline; }
section { margin-top: 1.5rem; }
input[readonly] { width: 100%; max-width: 32rem; }
ul.plain { list-style: none; padding: 0; }
ul.plain li { border-top: 1px solid var(--line); padding: 1rem 0; }
dt { font-weight: 600; }
dd { margin: 0 0 .5rem; }
code { word-break: break-all; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--bg); padding: .5rem; z-index: 1; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
