/* App de publication Florish : une colonne au pouce, le prochain post en tête, puis le calendrier jour par jour */
:root{
  --bg:#F3F5F1; --surface:#FFFFFF; --fg:#18201B; --muted:#5D6A61; --line:#D9E0D8;
  --accent:#1F7A4D; --accent-fg:#FFFFFF; --soft:#E3F1E8; --warn:#9A5B00; --ok:#1F7A4D;
  --segA:#B4462F; --segB:#2F5DB4; --segC:#7A3FA8;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#111613; --surface:#1A211C; --fg:#E9EFEA; --muted:#9DAAA1; --line:#2C362F;
  --accent:#4CC28A; --accent-fg:#0D1A12; --soft:#1E3326; --warn:#E3A64B; --ok:#4CC28A;
  --segA:#F08A70; --segB:#86A8F0; --segC:#C69BEB; color-scheme:dark}}
*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.45}
.page{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px 48px;display:grid;gap:16px}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h1{font-size:1.6rem;font-weight:800}
h2{font-size:1.15rem;font-weight:800}
p{margin:0}
a{color:var(--accent);font-weight:700}
.muted{color:var(--muted)}
.entete{display:flex;gap:12px;align-items:center}
.entete img{border-radius:10px}
.jour{font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
.jour.auj{color:var(--accent)}
.post{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:10px}
.post.fait{opacity:.6}
.post summary{list-style:none;cursor:pointer;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.post summary::-webkit-details-marker{display:none}
.heure{font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums}
.titre{font-weight:700;min-width:0;overflow-wrap:anywhere}
.etat{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--muted);white-space:nowrap}
.etat.ok{color:var(--ok);border-color:currentColor;font-weight:700}
.corps{display:grid;gap:10px;padding:0 14px 14px}
.tags{display:flex;gap:6px;flex-wrap:wrap;font-size:.78rem}
.tag{border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--muted)}
.tag.A{color:var(--segA);border-color:currentColor}.tag.B{color:var(--segB);border-color:currentColor}.tag.C{color:var(--segC);border-color:currentColor}
video{width:100%;aspect-ratio:9/16;max-height:60vh;background:#000;border-radius:10px;display:block}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
button,.bouton{font:inherit;font-weight:700;border-radius:10px;padding:12px 10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;min-height:48px;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px}
button.plein,.bouton.plein{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.large{grid-column:1/-1}
button:disabled{opacity:.55}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.15);font-size:.8rem}
.legende{white-space:pre-wrap;font-size:.9rem;background:var(--soft);border-radius:8px;padding:10px;overflow-wrap:anywhere}
.mesure{font-size:.85rem;color:var(--muted)}
#prochain .post{border:2px solid var(--accent)}
#prochain h2{margin-bottom:8px}
.pied{font-size:.88rem;color:var(--muted);display:grid;gap:6px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:700;max-width:calc(100% - 32px);text-align:center}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}
