/* La palette de nidello.ca, sans polices tierces. */
:root {
  --ground: #FCFAF6; --surface: #F5EEE4; --line: #E6DCCC;
  --ink: #241E1A; --muted: #6B5F55; --accent: #C0603A; --accent-hi: #8F4526; --on-accent: #fff;
  --serif: "Iowan Old Style", "New York", Georgia, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground: #191512; --surface: #221C18; --line: #352C25;
    --ink: #F2EBE1; --muted: #A69789; --accent: #DA8058; --accent-hi: #EC9670; --on-accent: #191512;
  }
}
:root[data-theme="dark"] {
  --ground: #191512; --surface: #221C18; --line: #352C25;
  --ink: #F2EBE1; --muted: #A69789; --accent: #DA8058; --accent-hi: #EC9670; --on-accent: #191512;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 16px/1.5 var(--sans); }
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 64px; }
header.marque h1 { font: 600 28px/1.2 var(--serif); margin: 0 0 8px; }
header.marque h1 span { color: var(--accent); }
.intro, .aide, .vie { color: var(--muted); }
.vie { font-size: 13px; margin-top: 40px; }
a { color: var(--accent); }
a:hover { color: var(--accent-hi); }
code.adresse { font: 600 15px/1.4 ui-monospace, Menlo, monospace; background: var(--surface); border: 1px solid var(--line);
  padding: 4px 8px; border-radius: 8px; user-select: all; overflow-wrap: anywhere; }
section { margin-top: 24px; }
section h2 { font: 600 20px/1.3 var(--serif); margin: 0 0 8px; }
.titre-prog { font: 600 28px/1.2 var(--serif); margin: 8px 0 4px; }
.note { white-space: pre-line; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 8px; }
.bouton { font: 600 15px/1 var(--sans); padding: 12px 16px; border-radius: 12px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink); text-decoration: none; cursor: pointer; }
.bouton:hover { color: var(--ink); border-color: var(--accent); }
.bouton.principal { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.bouton.principal:hover { background: var(--accent-hi); color: var(--on-accent); }
.semaine { font: 600 15px/1.3 var(--sans); color: var(--accent); text-transform: uppercase; letter-spacing: .04em; margin: 28px 0 0; }
.jour { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 12px 16px; margin-top: 12px; }
.jour h3 { font: 600 18px/1.3 var(--serif); margin: 0; }
.jour h3 small { font: 400 14px/1 var(--sans); color: var(--muted); margin-left: 6px; }
.jour ol { list-style: none; padding: 0; margin: 8px 0 0; }
.jour li { padding: 8px 0; border-top: 1px solid var(--line); display: flex; gap: 10px; }
.jour li:first-child { border-top: 0; }
.jour li .grp { flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--on-accent);
  display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.jour li .grp.vide { background: transparent; }
.jour li strong { display: block; }
.jour li span { display: block; color: var(--muted); font-size: 14px; }
.jour li .note { font-size: 13px; }
