/* openvillage.ch, festival « Prenons soin ensemble ». Version 3.3 (06.11.2026, @c-pse) : tiges courbes et trèfles plus naturels dans le jardin (prompt 22).
   Version 3.2 (06.11.2026, @c-pse) : jardin des thèmes en tête de la page Éditions
   (option F de l'agent 2, prompt 18, intégrée au prompt 20 avec les trèfles du logo).
   Version 3.1 (06.11.2026, @c-pse) : deuxième série de propositions (aperçu, prompt 16) :
   fils des thèmes sur la frise, lecture en deux sens, fil dans les pages.
   Version 3.0 (06.11.2026, @c-pse) : plus organique (prompt 13) : fond de papier
   et lavis d'aquarelle aux couleurs des cœurs, filets et bords en vague, formes de galet, respiration lente du logo (sauf mouvement réduit).
   Version 2.1 (06.11.2026, @c-pse) : filtres au style de la visionneuse de breathinggames.net.
   Version 2.0 (06.11.2026, @c-pse).
   Style du site actuel openvillage.ch (captures du 24.09.2026, prompt 5) : police Inter, fond blanc, bandeau et pied de page noirs,
   rose du festival (#ed0d63) pour les filets pointillés, les grands chiffres et le pied de page ; couleurs des quatre cœurs du logo
   (rose, orange, vert, bleu). Les liens et les boutons prennent un rose un peu plus foncé (#d10b57) : contraste d'au moins 4,5 : 1.
   Toutes les couleurs sont des jetons, définis en clair, en sombre et en contraste inversé.
   1.0 (06.11.2026) : charte provisoire terre, sable, feuille. */
:root{--bg:#fffcf8;--surface:#fff;--card:#f6f1ea;--ink:#212529;--muted:#5c636a;--line:#e3e3e3;--link:#d10b57;--btn:#d10b57;--btn-ink:#fff;
--accent:#ed0d63;--soft:#fde7ef;--top:#000;--pebble:22px 30px 24px 34px / 28px 22px 32px 24px;--blob:46% 54% 42% 58% / 52% 44% 56% 48%;--top-ink:#fff;--top-line:#4a4a4a;--foot-ink:#ed0d63;--shadow:0 2px 10px rgba(0,0,0,.08);
--rose:#e51963;--orange:#f2a438;--vert:#539922;--bleu:#3483bb;--todo:#dff0dc;--chk:#ffe600;--chk-ink:#1e1a19;--max:1080px;
--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Arabic",sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121212;--surface:#1b1b1b;--card:#1f1f1f;--ink:#f1f1f1;--muted:#b8b8b8;--line:#363636;
--bg:#13110f;--link:#ff4f91;--btn:#ff4f91;--btn-ink:#121212;--soft:#3a1626;--shadow:0 2px 10px rgba(0,0,0,.5);--todo:#203a24;--chk:#f2d300;color-scheme:dark}}
html[data-contrast="dark"]{--bg:#000;--surface:#0b0b0b;--card:#121212;--ink:#fff;--muted:#d6d6d6;--line:#5a5a5a;--link:#ff8ab5;--btn:#ff8ab5;--btn-ink:#000;
--accent:#ff8ab5;--soft:#2a1020;--foot-ink:#ff8ab5;--todo:#203a24;color-scheme:dark}
/* inter-debut : police Inter (SIL OFL 1.1), sous-ensembles gardés dans le dépôt (tools/fetch_fonts.py) ; retirée par build.py si les fichiers manquent */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:700 800;font-display:swap;src:url(../fonts/inter-700.woff) format("woff")}
/* inter-fin */
*{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--font)}
/* lavis d'aquarelle aux couleurs des quatre cœurs, très légers, derrière le contenu */
main{background:radial-gradient(ellipse 60% 38% at 4% 6%,rgba(242,164,56,.10),transparent 70%),radial-gradient(ellipse 50% 34% at 96% 18%,rgba(229,25,99,.07),transparent 70%),
radial-gradient(ellipse 55% 40% at 8% 62%,rgba(83,153,34,.07),transparent 70%),radial-gradient(ellipse 60% 40% at 94% 88%,rgba(52,131,187,.08),transparent 70%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) main{background:radial-gradient(ellipse 60% 38% at 4% 6%,rgba(242,164,56,.07),transparent 70%),radial-gradient(ellipse 55% 40% at 94% 88%,rgba(52,131,187,.07),transparent 70%)}}
html[data-contrast="dark"] main{background:none}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;background:var(--surface);color:var(--ink);padding:8px 12px;z-index:99;border:2px solid var(--link)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding:28px 16px}
.narrow{max-width:680px}
.center{text-align:center;justify-content:center}
h1{font-size:clamp(1.75rem,3.6vw,2.25rem);line-height:1.2;margin:.3em 0 .6em;text-wrap:balance;font-weight:700;letter-spacing:-.01em}
h2{font-size:1.45rem;line-height:1.25;margin:1.4em 0 .7em;text-wrap:balance;font-weight:700}
.sec h2:first-child,.sec .wrap>h2:first-child{margin-top:.4em}
h2 a{color:inherit;text-decoration-color:var(--line)}
h3,.h3{font-size:1.08rem;margin:1.1em 0 .35em;font-weight:600}
.h-plain{font-size:1.08rem;font-weight:700;margin:.4em 0 1em}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
p,li,dd,figcaption{text-wrap:pretty}
.lead{font-size:1.2rem;max-width:62ch}
.prose{max-width:72ch}.prose-wide{max-width:860px}
.small,.meta{font-size:.875rem;color:var(--muted)}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--link);margin:0}
.crumb{font-size:.9rem;margin:0 0 .4em}
/* bandeau d'aperçu (règle 35 de la charte @s-meta) : propre à l'aperçu, absent du site en ligne */
.apercu-bandeau{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center;padding:.5rem 16px;background:var(--card);border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.3}
.apercu-bandeau a{color:inherit;font-weight:700;overflow-wrap:anywhere}
/* en-tête : barre des langues sur fond clair, bandeau noir avec logo et menu */
.langbar{background:var(--bg)}
.langbar ul{list-style:none;margin:0 auto;padding:4px 16px;max-width:var(--max);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 16px}
.langbar a{display:inline-block;padding:4px 0;font-size:.8rem;color:var(--ink);text-decoration:none}
.langbar a:hover,.langbar a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.bar{background:var(--top);color:var(--top-ink);position:relative}
.bar::after,.foot::before{content:"";position:absolute;left:0;right:0;height:14px;pointer-events:none;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='14' viewBox='0 0 240 14'%3E%3Cpath d='M0 0 H240 V4 C 210 14, 180 14, 150 7 S 90 0, 60 7 S 15 14, 0 6 Z' fill='%23000'/%3E%3C/svg%3E") repeat-x left top/240px 14px}
.bar::after{top:100%}
.foot::before{bottom:100%;transform:scaleY(-1)}
.top-in{max-width:var(--max);margin:0 auto;padding:8px 16px;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center}
.logo{display:flex;gap:8px;align-items:center;text-decoration:none;margin-right:auto}
.logo-mark{flex:none;width:48px;height:auto;transform-origin:50% 55%}
@media (prefers-reduced-motion:no-preference){.logo-mark{animation:souffle 6s ease-in-out infinite}
@keyframes souffle{0%,100%{transform:scale(1)}45%{transform:scale(1.06)}}}
.logo-t{font-weight:800;font-size:1.1rem;line-height:1.05;text-transform:uppercase;color:var(--foot-ink);letter-spacing:.01em}
.tools{display:flex;gap:6px;order:2}
.tool{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--top-line);border-radius:50%;background:transparent;color:var(--top-ink);cursor:pointer}
.tool:hover{border-color:var(--foot-ink);color:var(--foot-ink)}
.tool[aria-pressed="true"]{background:var(--top-ink);color:var(--top)}
.menu{order:3;flex-basis:100%}
.menu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 22px}
.menu a{display:inline-block;padding:8px 0 6px;color:var(--top-ink);text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:3px solid transparent}
.menu a:hover{border-bottom-color:var(--top-line)}
.menu a[aria-current]{border-bottom-color:var(--foot-ink)}
.top :focus-visible{outline-color:var(--foot-ink)}
@media (min-width:900px){.menu{order:1;flex-basis:auto}.tools{order:2}}
/* sections séparées par un filet pointillé rose, comme sur le site actuel */
.sec{position:relative;padding-top:6px}
.sec::before,.ov-sec::before,.ed-group::before,.syn::before,.nl-sec::before{content:"";position:absolute;left:0;right:0;top:-6px;height:12px;pointer-events:none;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='12' viewBox='0 0 120 12'%3E%3Cpath d='M0 6 C 15 1, 25 1, 40 6 S 65 11, 80 6 S 105 1, 120 6' fill='none' stroke='%23ed0d63' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/120px 12px}
html[data-contrast="dark"] .sec::before{filter:brightness(1.4)}
/* boutons, liens fléchés, pastilles */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;font-size:1rem;min-height:44px;padding:9px 22px;border-radius:26px 30px 24px 32px / 30px 24px 32px 26px;border:0;background:var(--btn);color:var(--btn-ink);text-decoration:none;cursor:pointer;box-shadow:0 4px 12px rgba(209,11,87,.22);text-align:center}
.btn:hover{filter:brightness(1.08)}
.btn-sm{min-height:40px;padding:6px 16px;font-size:.9rem}
.btn.ghost{background:transparent;color:var(--link);box-shadow:none;border:2px solid var(--btn)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}
.arrow{color:var(--ink);text-decoration:none;font-weight:500}
.arrow::after{content:"\2002\2192";color:var(--link)}
.arrow:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.chips{list-style:none;padding:0;margin:.5em 0;display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-block;background:var(--soft);color:var(--ink);border-radius:20px;padding:3px 12px;font-size:.88rem;text-decoration:none}
a.pill:hover{outline:2px solid var(--accent)}
.tag{display:inline-block;font-size:.75rem;font-weight:600;border:1px solid var(--line);border-radius:4px;padding:0 6px;color:var(--muted);background:var(--surface)}
.probable{display:inline-block;font-size:.72rem;font-weight:700;border:1px dashed var(--muted);border-radius:4px;padding:0 5px;color:var(--muted)}
/* accueil et vision */
.hero h1{max-width:30ch;margin-top:.6em}
.hero-img{margin:18px 0}
.hero-img .cover{border-radius:120px 40px 150px 36px / 70px 30px 90px 34px;aspect-ratio:21/9}
.hearts{list-style:none;margin:1em 0;padding:0;display:grid;gap:14px;max-width:62ch}
.hearts li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start}
.heart{fill:var(--rose);margin-top:2px}.heart-orange{fill:var(--orange)}.heart-vert{fill:var(--vert)}.heart-bleu{fill:var(--bleu)}
.impact{list-style:none;margin:10px 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;text-align:center}
.impact b{display:block;font-size:clamp(2.2rem,5vw,3rem);line-height:1.15;font-weight:500;color:var(--accent)}
.impact span{font-size:.95rem}
.pcards,.tcards{list-style:none;margin:16px 0;padding:0;display:grid;gap:16px}
.pcards{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr))}
.tcards{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
.pcards li,.tcards li{background:var(--surface);border-radius:var(--pebble);box-shadow:var(--shadow);padding:16px 18px;border:1px solid var(--line)}
.pcards h3{color:var(--link);margin-top:0}.tcards h3{margin-top:0}
.pcards p,.tcards p{margin:.3em 0}
/* thèmes : activités, bloc, noms */
.acts{list-style:none;margin:0 0 1em;padding:0 0 0 clamp(0px,3vw,24px);display:grid;gap:18px;max-width:80ch}
.acts h3{margin:0;font-size:1.08rem}.acts h3 a{color:inherit}
.act-d{margin:0}
.dash{list-style:none;margin:.2em 0;padding:0}
.dash li::before{content:"– "}
.plain{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:.8em}
.bloc{background:var(--card);border-radius:var(--pebble);padding:18px 20px;max-width:80ch}
.bloc h2{margin-top:.2em}
.names{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:6px 18px;font-size:.92rem}
.names-all{gap:8px 18px}
/* index des thèmes */
.themes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px}
.themes a{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 16px;border-radius:var(--pebble);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-decoration:none}
.themes a:hover{border-color:var(--accent)}
.themes b{color:var(--link)}
.themes span{font-size:.85rem;color:var(--muted)}
.themes-long{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.th-d{display:block;margin-top:4px;color:var(--ink)!important;font-size:.9rem!important;line-height:1.45}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
/* cartes */
.cards{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cards-1{grid-template-columns:minmax(0,420px)}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--pebble);overflow:hidden;display:flex;flex-direction:column;gap:4px;padding-bottom:14px;position:relative}
.card>h2,.card>h3,.card>p{margin:0;padding:0 14px}
.card>h3,.card>h2{font-size:.95rem;line-height:1.35;font-weight:500}
.card-d{margin-top:10px!important}
.card>h3 a{color:inherit;text-decoration:none}
.card>h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.card:not(.media)>h3 a::before{content:"";position:absolute;inset:0}
.card:not(.media)>h3{margin-top:10px;font-weight:600}
.card .tags{display:flex;flex-wrap:wrap;gap:4px}
.card-img{display:block}
.cover,.ph-viz{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;height:auto}
.card a.inner{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){.card,.themes a,.gal-list>li{transition:transform .5s ease,box-shadow .5s ease}
.card:hover,.themes a:hover,.gal-list>li:hover{transform:translateY(-2px) rotate(-.2deg);box-shadow:0 8px 22px rgba(0,0,0,.08)}}
/* vidéo au clic */
.video-box{position:relative;aspect-ratio:16/9;background:var(--card)}
.video-box .ph-viz{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:0;border-radius:999px;background:var(--btn);color:var(--btn-ink);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);white-space:nowrap}
/* filtres : style de la visionneuse de breathinggames.net (prompt 6) : boutons d'un même groupe accolés, coins arrondis aux
   deux bouts seulement, bouton choisi en foncé ; étiquette du groupe en petit, à gauche */
.filters{display:grid;gap:8px;margin:14px 0 6px}
.filters input[type=search]{font:inherit;width:100%;max-width:420px;min-height:44px;padding:8px 14px;border:1px solid var(--link);border-radius:22px 26px 22px 28px;background:var(--bg);color:var(--ink)}
.fgrp{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 0}
.flab{font-size:.8rem;color:var(--muted);margin-right:.7rem;min-width:5rem}
.fb{font:inherit;font-size:.85rem;min-height:2rem;padding:3px 10px;margin-left:-1px;border:1px solid var(--link);border-radius:0;background:var(--bg);color:var(--ink);cursor:pointer}
.flab+.fb{border-radius:16px 0 0 16px;margin-left:0}.fgrp .fb:last-child{border-radius:0 16px 16px 0}
.fb i{font-style:normal;opacity:.7;margin-left:.2rem}
.fb[aria-pressed="true"]{background:#1d1d1d;border-color:#1d1d1d;color:#fff}.fb[aria-pressed="true"] i{color:inherit;opacity:.85}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fb[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}}
html[data-contrast="dark"] .fb[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.empty{color:var(--muted)}
/* rendez-vous annulé */
.tag-cancel{border-color:var(--ink);color:var(--ink);background:var(--surface)}
.notice-cancel{display:inline-block;margin:0 0 14px;padding:6px 12px;border:2px solid var(--ink);border-radius:8px;font-weight:700}
/* programme */
.prog{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:80ch}
.prog li{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:4px 14px;padding:10px 0;border-top:1px solid var(--line)}
.prog h3{margin:0 0 2px;font-size:1rem}.prog p{margin:0}
.prog-h{font-weight:700;color:var(--link);font-variant-numeric:tabular-nums}
@media (max-width:560px){.prog li{grid-template-columns:minmax(0,1fr)}}
.note{margin:.4em 0;padding-left:1.2em;display:grid;gap:4px;max-width:80ch}
/* listes de médias et synthèses */
.ov-sec{position:relative;margin-top:28px;padding-top:6px}
.mlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;max-width:80ch}.mlist li{overflow-wrap:anywhere}
.mlist-d{display:inline-block;min-width:9.5rem;color:var(--muted);font-size:.88rem}
.syn{position:relative;margin-top:16px;padding-top:6px}
.syn-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.syn-l{display:inline-block;min-width:7rem;font-weight:600;color:var(--muted);font-size:.88rem}
/* page Images */
.gal-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}
.gal-list>li{background:var(--surface);border:1px solid var(--line);border-radius:var(--pebble);box-shadow:var(--shadow);padding:12px 14px}
.gal-list h2{font-size:1rem;font-weight:600;margin:0 0 8px}
.gal-list h2 a{color:inherit;text-decoration:none}.gal-list h2 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.gal-list p{margin:4px 0 0}
.thumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.thumbs .thumb{width:44px;height:44px;aspect-ratio:1;object-fit:cover;border-radius:var(--blob)}
.more{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border-radius:var(--blob);background:var(--card);font-size:.8rem;font-weight:600}
/* fiches */
.facts-dl{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 18px}
.facts-dl div{min-width:0}
.facts-dl dt{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.facts-dl dd{margin:0}
.ed-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:28px;align-items:start}
.ed-cover{margin:0}.ed-cover .cover{border-radius:var(--pebble)}.ed-cover figcaption{margin-top:4px}
@media (max-width:820px){.ed-head{grid-template-columns:minmax(0,1fr)}}
.ed-group{position:relative;margin-top:22px;padding-top:6px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}
.gal figure{margin:0}
.gal .gal-i{border-radius:var(--pebble);width:100%;aspect-ratio:4/3;object-fit:cover}
.gal .visuel{aspect-ratio:16/9;object-fit:contain;background:#000}
.gal figcaption{font-size:.78rem;color:var(--muted);margin-top:4px}
.gal-ph .ph-viz{border-radius:var(--pebble);aspect-ratio:4/3}
/* formulaires : contact au centre, comme sur le site actuel */
.contact{max-width:540px;margin:0 auto}
.contact label{display:block;font-weight:600;font-size:.85rem;margin-bottom:4px}
.contact input,.contact textarea,.nl input{font:inherit;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--muted);border-radius:14px 18px 14px 18px;background:var(--surface);color:var(--ink)}
.contact .btn{width:100%}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* lettre */
.nl-sec{position:relative;margin-top:28px;padding-top:6px}
.nl-sec h2{margin:.2em 0 .2em}
.nl-note{margin:0 0 18px}
.nl-box{background:var(--card);padding:16px 18px;border-radius:var(--pebble)}
.nl-box-h{font-weight:600;margin:0}
.nl{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.nl input{flex:1 1 200px;width:auto}
/* pied de page noir, textes en rose */
.foot{background:var(--top);color:var(--top-ink);position:relative;margin-top:24px}
.foot-in{display:grid;gap:18px;padding-top:40px;padding-bottom:30px}
.foot-logo{width:64px;height:auto}
.foot-row{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center;border-top:1px solid var(--top-line);padding-top:16px}
.foot-org p{margin:0;color:var(--foot-ink)}
.foot-org a{color:var(--foot-ink)}
.social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.social a,.foot-links a{color:var(--top-ink);font-weight:600;font-size:.92rem}
.foot-bottom{display:grid;gap:12px;border-top:1px solid var(--top-line);padding-top:14px}
.foot-bottom p{margin:0;color:#d6d6d6}.foot-bottom p a{color:var(--top-ink)}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fbadge{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 10px;border:1px solid var(--top-line);border-radius:20px;color:var(--top-ink);text-decoration:none;font-size:.82rem}
.fbadge svg{width:16px;height:16px}
.fbadge:hover{border-color:var(--foot-ink)}
.foot :focus-visible{outline-color:var(--foot-ink)}
.foot mark.chk{color:var(--chk-ink)}
/* ========== Jardin des thèmes, page Éditions (templates/_jardin.html) ==========
   Repris de static/css/prop3-jeu.css (option F, agent 2, prompt 18) ; trèfles du logo au lieu des fleurs (prompt 20). */
/* ---------- boutons radio présentés comme les filtres du site (jardin des thèmes) ---------- */
.jd-pl .flab+input+label.fb{border-radius:16px 0 0 16px;margin-left:0}
.jd-pl input:checked+label{background:#1d1d1d;border-color:#1d1d1d;color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .jd-pl input:checked+label{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}}
html[data-contrast="dark"] .jd-pl input:checked+label{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.jd-pl input:focus-visible+label{outline:3px solid var(--link);outline-offset:2px}
.jd-pl label.fb{display:inline-flex;align-items:center}

/* ---------- le jardin des thèmes ---------- */
.jd{--rh:48px;--jd-band:rgba(242,164,56,.2);--jd-sol:#dcc29f;--jd-coeur:#f7d774}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .jd{--jd-band:rgba(242,164,56,.16);--jd-sol:#4b3a29}}
html[data-contrast="dark"] .jd{--jd-band:rgba(255,255,255,.17);--jd-sol:#3a3a3a}
.jd-lead{max-width:72ch;margin:0 0 .5em}
.jd-pl{margin:.3em 0 1.3em}
.jd-main{display:grid;gap:22px 44px;align-items:start}
@media (min-width:900px){.jd-main{grid-template-columns:minmax(0,460px) minmax(0,1fr)}}
.jd-gauche,.jd-droite{min-width:0}
/* les saisons : galets des années, de haut en bas comme la frise */
.jd-scene{display:grid;grid-template-columns:54px minmax(0,1fr);gap:0 6px;position:relative}
/* bande de lumière de la saison choisie, derrière son galet et sa rangée (--si : indice de la saison, posé plus bas) */
.jd-scene::before{content:"";position:absolute;left:-6px;right:0;top:calc(var(--rh) * var(--si,0));height:var(--rh);background:var(--jd-band);border-radius:24px}
.jd-saisons{display:flex;flex-direction:column;position:relative;z-index:1}
.jd-y{display:flex;align-items:center;justify-content:center;height:calc(var(--rh) - 8px);margin:4px 0;border:2px solid var(--accent);border-radius:var(--blob);background:var(--surface);color:var(--ink);font-weight:700;font-size:.88rem;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none}
.jd-y:hover{background:var(--soft)}
.jd-saisons input:checked+.jd-y{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.jd-saisons input:focus-visible+.jd-y{outline:3px solid var(--link);outline-offset:2px}
.jd-y:has(~ input:checked){border-style:dashed;color:var(--muted)}   /* saisons à venir */
/* le jardin : une colonne par plante, une rangée par année ; le sol et les tuteurs en bas */
.jd-jardin{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:relative;padding-bottom:4px}
.jd-jardin::after{content:"";position:absolute;left:-2px;right:-2px;bottom:0;height:30px;background:var(--jd-sol);opacity:.7;border-radius:58% 42% 10px 10px / 16px 20px 10px 10px}
.jd-plante{display:flex;flex-direction:column;position:relative;z-index:1}
.jd-c{position:relative;height:var(--rh);transform-origin:50% 100%}
/* tiges courbes (prompt 22) : un SVG par rangée, 40 px de large sans déformation horizontale, étiré en hauteur ; trait d'épaisseur fixe */
.jd-tige{position:absolute;left:50%;top:0;width:40px;height:100%;margin-left:-20px;overflow:visible;pointer-events:none}
.jd-tige path{fill:none;stroke:var(--th);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.jd-tige .pt{stroke-width:2;stroke-dasharray:1 5;opacity:.65}
.jd-tige .ft{fill:var(--th);stroke:none;opacity:.8}.jd-tige .pf{opacity:.6}
.jd-fl{position:absolute;inset:0;z-index:2;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.jd-fl svg{display:block;width:var(--fs);height:var(--fs);overflow:visible}
.jd-fl use{fill:var(--th);color:var(--bg)}   /* trèfle : cœurs de la couleur de la tige, filet de la couleur du fond */
.jd-fl.n1{--fs:22px}.jd-fl.n2{--fs:29px}.jd-fl.n3{--fs:36px}
/* trèfles posés sur la courbe de la tige (dx : décalage du centre, -8 à 8 px) et un peu inclinés (rt) */
.jd-fl.dx0{translate:-8px 0}.jd-fl.dx1{translate:-7px 0}.jd-fl.dx2{translate:-6px 0}.jd-fl.dx3{translate:-5px 0}.jd-fl.dx4{translate:-4px 0}.jd-fl.dx5{translate:-3px 0}.jd-fl.dx6{translate:-2px 0}.jd-fl.dx7{translate:-1px 0}.jd-fl.dx8{translate:0px 0}.jd-fl.dx9{translate:1px 0}.jd-fl.dx10{translate:2px 0}.jd-fl.dx11{translate:3px 0}.jd-fl.dx12{translate:4px 0}.jd-fl.dx13{translate:5px 0}.jd-fl.dx14{translate:6px 0}.jd-fl.dx15{translate:7px 0}.jd-fl.dx16{translate:8px 0}
.jd-fl.rt0 svg{rotate:-14deg}.jd-fl.rt1 svg{rotate:-6deg}.jd-fl.rt2 svg{rotate:3deg}.jd-fl.rt3 svg{rotate:9deg}.jd-fl.rt4 svg{rotate:17deg}
.jd-tut{position:relative;z-index:2;display:block;width:12px;height:22px;margin:2px auto 4px;border-radius:3px 3px 7px 7px;background:var(--th);box-shadow:0 0 0 2px var(--bg);cursor:pointer}
.jd-defs{position:absolute;width:0;height:0;overflow:hidden}
/* légende et équivalent en mots */
.jd-leg{display:flex;flex-wrap:wrap;gap:4px 16px;margin:10px 0 4px}
.jd-l{display:inline-flex;align-items:center;gap:6px}
.jd-l-fl svg{width:16px;height:16px;flex:none}.jd-l-fl use{fill:var(--accent);color:var(--bg)}
.jd-l-f::before{content:"";flex:none;width:14px;height:9px;background:var(--vert);border-radius:0 100% 0 100%}
.jd-l-ra::before{content:"";flex:none;width:0;height:16px;border-left:2px dotted var(--muted)}
.jd-mots{margin:22px 0 0;max-width:72ch}
.jd-mots summary{cursor:pointer;font-weight:600;font-size:.95rem}
.jd-mots ul{padding-left:1.1em;margin:.3em 0}.jd-mots p{margin:.3em 0}
/* fiches des plantes et récolte de la saison */
.jd-fiche{background:var(--card);border-radius:var(--pebble);padding:10px 16px;margin:0 0 14px;max-width:70ch}
.jd-fiche p{margin:.15em 0}.jd-fiche ul{margin:.2em 0;padding-left:1.1em}
.jd-fiche-h{font-weight:700}
.jd-fiche-h .th-dot{font-size:1rem;margin:0}
.jd-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:.1em 0 .25em;font-size:1.08rem;font-weight:600;line-height:1.3}
.jd-h a{color:var(--ink);text-decoration-color:var(--accent)}
.jd-hy{display:inline-grid;place-items:center;min-width:58px;height:38px;padding:0 8px;border-radius:var(--blob);background:var(--btn);color:var(--btn-ink);font-weight:700}
.jd-note{margin:.1em 0 .4em}
.jd-m{display:none;margin:.4em 0 .6em;padding:6px 12px;border-left:5px solid var(--th);background:var(--surface);border-radius:0 16px 16px 0;max-width:62ch}
.jd-saison .frise-row{margin-top:4px}
@supports selector(:has(*)){.jd-fiche,.jd-saison{display:none}}
/* saison choisie : récolte, bande de lumière, rangées à venir encore en terre (indices 0 à 9, 0 = la plus récente) */
.jd:has(#jd-s0:checked) .jd-saison.s0,.jd:has(#jd-s1:checked) .jd-saison.s1,.jd:has(#jd-s2:checked) .jd-saison.s2,.jd:has(#jd-s3:checked) .jd-saison.s3,
.jd:has(#jd-s4:checked) .jd-saison.s4,.jd:has(#jd-s5:checked) .jd-saison.s5,.jd:has(#jd-s6:checked) .jd-saison.s6,.jd:has(#jd-s7:checked) .jd-saison.s7,
.jd:has(#jd-s8:checked) .jd-saison.s8,.jd:has(#jd-s9:checked) .jd-saison.s9{display:block}
.jd:has(#jd-s1:checked){--si:1}.jd:has(#jd-s2:checked){--si:2}.jd:has(#jd-s3:checked){--si:3}.jd:has(#jd-s4:checked){--si:4}.jd:has(#jd-s5:checked){--si:5}
.jd:has(#jd-s6:checked){--si:6}.jd:has(#jd-s7:checked){--si:7}.jd:has(#jd-s8:checked){--si:8}.jd:has(#jd-s9:checked){--si:9}
.jd:has(#jd-s1:checked) .jd-c:has(~ .i1),.jd:has(#jd-s2:checked) .jd-c:has(~ .i2),.jd:has(#jd-s3:checked) .jd-c:has(~ .i3),.jd:has(#jd-s4:checked) .jd-c:has(~ .i4),
.jd:has(#jd-s5:checked) .jd-c:has(~ .i5),.jd:has(#jd-s6:checked) .jd-c:has(~ .i6),.jd:has(#jd-s7:checked) .jd-c:has(~ .i7),.jd:has(#jd-s8:checked) .jd-c:has(~ .i8),
.jd:has(#jd-s9:checked) .jd-c:has(~ .i9){opacity:.1;transform:scaleY(.55)}
/* plante suivie : sa fiche, ses messages ; les autres plantes s'effacent ; les cartes des autres thèmes se retirent.
   Les clés des thèmes ne se contiennent pas l'une l'autre : [data-theme*=clé] suffit pour la liste « a|b » des cartes. */
.jd:has(#jd-p-tout:checked) .f-tout,.jd:has(#jd-p-sante-mentale:checked) .f-sante-mentale,.jd:has(#jd-p-nature:checked) .f-nature,.jd:has(#jd-p-ecoute:checked) .f-ecoute,
.jd:has(#jd-p-arts:checked) .f-arts,.jd:has(#jd-p-droit:checked) .f-droit,.jd:has(#jd-p-communs:checked) .f-communs,.jd:has(#jd-p-technologies:checked) .f-technologies{display:block}
.jd:has(#jd-p-sante-mentale:checked) .m-sante-mentale,.jd:has(#jd-p-nature:checked) .m-nature,.jd:has(#jd-p-ecoute:checked) .m-ecoute,.jd:has(#jd-p-arts:checked) .m-arts,
.jd:has(#jd-p-droit:checked) .m-droit,.jd:has(#jd-p-communs:checked) .m-communs,.jd:has(#jd-p-technologies:checked) .m-technologies{display:block}
.jd:has(#jd-p-sante-mentale:checked) .jd-plante:not(.th-sante-mentale) .jd-c,.jd:has(#jd-p-nature:checked) .jd-plante:not(.th-nature) .jd-c,
.jd:has(#jd-p-ecoute:checked) .jd-plante:not(.th-ecoute) .jd-c,.jd:has(#jd-p-arts:checked) .jd-plante:not(.th-arts) .jd-c,
.jd:has(#jd-p-droit:checked) .jd-plante:not(.th-droit) .jd-c,.jd:has(#jd-p-communs:checked) .jd-plante:not(.th-communs) .jd-c,
.jd:has(#jd-p-technologies:checked) .jd-plante:not(.th-technologies) .jd-c{opacity:.14;pointer-events:none}
.jd:has(#jd-p-sante-mentale:checked) .th-sante-mentale>.jd-tut,.jd:has(#jd-p-nature:checked) .th-nature>.jd-tut,.jd:has(#jd-p-ecoute:checked) .th-ecoute>.jd-tut,
.jd:has(#jd-p-arts:checked) .th-arts>.jd-tut,.jd:has(#jd-p-droit:checked) .th-droit>.jd-tut,.jd:has(#jd-p-communs:checked) .th-communs>.jd-tut,
.jd:has(#jd-p-technologies:checked) .th-technologies>.jd-tut{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.jd:has(#jd-p-sante-mentale:checked) .jd-recolte .frise-m:not([data-theme*="sante-mentale"]),.jd:has(#jd-p-nature:checked) .jd-recolte .frise-m:not([data-theme*="nature"]),
.jd:has(#jd-p-ecoute:checked) .jd-recolte .frise-m:not([data-theme*="ecoute"]),.jd:has(#jd-p-arts:checked) .jd-recolte .frise-m:not([data-theme*="arts"]),
.jd:has(#jd-p-droit:checked) .jd-recolte .frise-m:not([data-theme*="droit"]),.jd:has(#jd-p-communs:checked) .jd-recolte .frise-m:not([data-theme*="communs"]),
.jd:has(#jd-p-technologies:checked) .jd-recolte .frise-m:not([data-theme*="technologies"]),
.jd:has(#jd-p-sante-mentale:checked) .jd-saison:has(.m-sante-mentale) .frise-row,.jd:has(#jd-p-nature:checked) .jd-saison:has(.m-nature) .frise-row,
.jd:has(#jd-p-ecoute:checked) .jd-saison:has(.m-ecoute) .frise-row,.jd:has(#jd-p-arts:checked) .jd-saison:has(.m-arts) .frise-row,
.jd:has(#jd-p-droit:checked) .jd-saison:has(.m-droit) .frise-row,.jd:has(#jd-p-communs:checked) .jd-saison:has(.m-communs) .frise-row,
.jd:has(#jd-p-technologies:checked) .jd-saison:has(.m-technologies) .frise-row{display:none}
@media (max-width:560px){.jd{--rh:42px}.jd-scene{grid-template-columns:46px minmax(0,1fr);gap:0 4px}.jd-y{font-size:.8rem}.jd-fl.n3{--fs:32px}}
@media (max-width:360px){.jd{--rh:40px}.jd-scene{grid-template-columns:42px minmax(0,1fr)}.jd-y{font-size:.75rem}.jd-fl.n2{--fs:26px}.jd-fl.n3{--fs:30px}}
@media (prefers-reduced-motion:no-preference){
  .jd-c{transition:opacity .45s ease,transform .45s ease;animation:jd-pousse .6s ease-out backwards}
  .jd-scene::before{transition:top .45s ease}
  .jd-c.i9{animation-delay:.05s}.jd-c.i8{animation-delay:.15s}.jd-c.i7{animation-delay:.25s}.jd-c.i6{animation-delay:.35s}.jd-c.i5{animation-delay:.45s}
  .jd-c.i4{animation-delay:.55s}.jd-c.i3{animation-delay:.65s}.jd-c.i2{animation-delay:.75s}.jd-c.i1{animation-delay:.85s}.jd-c.i0{animation-delay:.95s}
  .jd-fl svg{transition:transform .3s ease}.jd-fl:hover svg{transform:scale(1.15) rotate(10deg)}
  .jd-saison,.jd-fiche{animation:jd-vient .35s ease-out}
  @keyframes jd-pousse{from{opacity:0;transform:scaleY(.3)}}
  @keyframes jd-vient{from{opacity:0;transform:translateY(6px)}}
}

.ed-tous{padding-top:6px}.ed-group h3.h2{font-size:1.45rem;line-height:1.25;margin:1.4em 0 .7em;font-weight:700}
/* couleurs des thèmes (pastilles des propositions, aperçu) */
.th-sante-mentale{--th:#e51963}.th-nature{--th:#539922}.th-ecoute{--th:#c9781a}.th-arts{--th:#8a4fbf}.th-droit{--th:#3483bb}.th-communs{--th:#1f9e8f}.th-technologies{--th:#5f6670}
.th-dot{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;margin:0 10px 4px 0}
.th-dot::before{content:"";width:12px;height:12px;border-radius:50% 45% 55% 50%;background:var(--th,#999);flex:none}
/* propositions (aperçu seulement) */
.prop-note{background:var(--card);border-radius:var(--pebble);padding:12px 16px;max-width:80ch}.prop-note p{margin:.3em 0}
.prop-pc{margin:.3em 0;padding-left:1.1em;font-size:.95rem}
.prop-nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px}.prop-nav a[aria-current]{font-weight:700;text-decoration-thickness:2px}
.prop-list>li{border-top:6px solid var(--accent)}.prop-list>li.th-band-2{border-top-color:var(--vert)}.prop-list>li.th-band-3{border-top-color:var(--bleu)}
.frise{list-style:none;margin:0;padding:0;position:relative}
.frise::before{content:"";position:absolute;left:31px;top:0;bottom:0;width:4px;border-radius:4px;background:linear-gradient(var(--orange),var(--accent),var(--vert),var(--bleu));opacity:.55}
.frise-ed{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;padding:10px 0 22px}
.frise-y span{position:relative;display:grid;place-items:center;width:66px;height:66px;border-radius:var(--blob);background:var(--surface);border:2px solid var(--accent);font-weight:700}
.frise-body h2{margin:.2em 0 .3em}.frise-th{display:flex;flex-wrap:wrap;margin:0}
.frise-row{list-style:none;margin:8px 0 0;padding:4px 2px 10px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity}
.frise-m{flex:0 0 220px;scroll-snap-align:start}
.frise-m a{display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--pebble);overflow:hidden;padding-bottom:10px;height:100%}
.frise-m a>*:not(.frise-img){padding:0 10px}.frise-m b{font-weight:600;line-height:1.3;margin-top:6px}
.frise-m .th-dot::before{width:10px;height:10px}.frise-m .th-dot{margin:2px 4px 0 0}
.carte-scroll{overflow-x:auto;border-radius:var(--pebble);border:1px solid var(--line);background:var(--surface)}
.carte{border-collapse:collapse;min-width:900px;width:100%;font-size:.85rem}
.carte th,.carte td{border:1px solid var(--line);padding:6px;vertical-align:top;text-align:left}
.carte thead th{position:sticky;top:0;background:var(--card)}
.carte tbody th{width:150px;border-left:6px solid var(--th,#999)}
.tok{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 6px;align-items:center;color:var(--ink);text-decoration:none;margin-bottom:6px}
.tok-i .thumb,.tok-i .ph-viz{width:40px;height:40px;object-fit:cover;border-radius:var(--blob);aspect-ratio:1}
.tok-t{line-height:1.25}.tok-n{grid-column:2;font-size:.75rem;color:var(--muted)}
.mt-grid{list-style:none;margin:14px 0;padding:0;columns:4 230px;column-gap:12px}
.mt-t{break-inside:avoid;margin:0 0 12px}
.mt-t a{display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--pebble);overflow:hidden;padding-bottom:10px}
.mt-t a>*:not(.mt-img){padding:0 10px}.mt-t b{font-weight:600;line-height:1.3}
.mt-img{position:relative;display:block}.mt-photos .mt-img .cover{aspect-ratio:4/3}
.mt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--btn);color:var(--btn-ink)}
.mt-k{margin-top:8px}
.prop-head{padding-bottom:4px}.prop-head+.wrap{padding-top:8px}
.prop-old{padding-left:1.1em}.prop-old li{margin:.3em 0}
/* deuxième série (prompt 16) : éléments communs */
.frise-m a,.tok{position:relative}   /* garde les textes pour lecteurs d'écran (.sr) dans la bande qui défile */
.mfil{list-style:none;margin:6px 0 14px;padding:0;display:flex;position:relative;max-width:560px}
.mfil::before{content:"";position:absolute;left:12px;right:12px;top:11px;height:2px;background:var(--th,#999);opacity:.35;border-radius:2px}
.mfil li{flex:1 1 0;display:flex;flex-direction:column;align-items:center;font-size:.78rem;color:var(--muted);position:relative;min-width:0}
.mfil li::before{content:"";width:10px;height:10px;margin:6px 0 4px;border-radius:var(--blob);border:2px solid var(--th,#999);background:var(--bg);opacity:.6}
.mfil li.on::before{width:18px;height:18px;margin:2px 0 0;border:0;background:var(--th,#999);opacity:1;box-shadow:0 0 0 3px var(--bg)}
.mfil li.on a{font-weight:700;color:var(--ink)}
/* option A : sept fils sur la gauche de la frise ; le fil du thème choisi reste allumé */
.frise-fils::before{display:none}
.frise-fils .frise-ed{grid-template-columns:auto 66px minmax(0,1fr);padding:0;--yc:43px}
.frise-fils .frise-y{padding-top:10px}.frise-fils .frise-body{padding:10px 0 22px}
.fils{display:grid;grid-template-columns:repeat(7,9px);align-self:stretch}
.fil{position:relative;transition:opacity .2s}
.fil::before{content:"";position:absolute;left:3.5px;top:0;bottom:0;width:2px;background:var(--th);opacity:.28}
.fil.on::before{left:2.5px;width:4px;opacity:.95}
.fil.on::after{content:"";position:absolute;left:-.5px;top:calc(var(--yc) - 5px);width:10px;height:10px;border-radius:var(--blob);background:var(--th);box-shadow:0 0 0 2px var(--bg)}
.fb-th::before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50% 45% 55% 50%;background:var(--th)}
.frise-vide{display:none;margin:4px 0}
.frise-row:not(:has(>li:not([hidden]))){display:none}
.frise-row:not(:has(>li:not([hidden])))+.frise-vide{display:block}
.p-fils:has(.fb[data-v="sante-mentale"][aria-pressed="true"]) .fil:not(.th-sante-mentale),.p-fils:has(.fb[data-v="nature"][aria-pressed="true"]) .fil:not(.th-nature),
.p-fils:has(.fb[data-v="ecoute"][aria-pressed="true"]) .fil:not(.th-ecoute),.p-fils:has(.fb[data-v="arts"][aria-pressed="true"]) .fil:not(.th-arts),
.p-fils:has(.fb[data-v="droit"][aria-pressed="true"]) .fil:not(.th-droit),.p-fils:has(.fb[data-v="communs"][aria-pressed="true"]) .fil:not(.th-communs),
.p-fils:has(.fb[data-v="technologies"][aria-pressed="true"]) .fil:not(.th-technologies){opacity:.12}
@media (max-width:560px){.frise-fils .frise-ed{grid-template-columns:auto 50px minmax(0,1fr);gap:8px;--yc:35px}.frise-fils .frise-y span{width:50px;height:50px;font-size:.9rem}.fils{grid-template-columns:repeat(7,7px)}.fil::before{left:2.5px}.fil.on::before{left:1.5px}.fil.on::after{left:-1.5px}}
/* option B : deux lectures d'une même page (boutons radio, CSS :has) */
.vue{margin:14px 0 18px}
.vue label.fb{display:inline-flex;align-items:center}
.vue .flab+input+label.fb{border-radius:16px 0 0 16px;margin-left:0}
.vue input:checked+label{background:#1d1d1d;border-color:#1d1d1d;color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .vue input:checked+label{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}}
html[data-contrast="dark"] .vue input:checked+label{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.vue input:focus-visible+label{outline:3px solid var(--link);outline-offset:2px}
.deux-sens:has(#vue-th:checked) .vue-ed{display:none}
.deux-sens:not(:has(#vue-th:checked)) .vue-th{display:none}
.th-sauts a{text-decoration:none;color:var(--ink)}
.fil-th{margin:10px 0 26px;padding-top:6px;border-top:2px dotted var(--th)}
.fil-h{margin:.4em 0 .2em}.fil-h a{text-decoration-color:var(--th)}
.frise-t::before{background:var(--th);opacity:.5}
.frise-t .frise-y span{border-color:var(--th)}
.frise-t .frise-ed{padding:4px 0 12px}.frise-lab{margin:.6em 0 0}
/* option C : le fil dans les pages */
.sec-ex{margin-top:34px;padding-top:18px;border-top:2px dotted var(--accent)}
.mini-frise{list-style:none;margin:10px 0;padding:0;max-width:760px}
.mini-frise li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.mf-y{font-weight:700;font-size:.92rem;display:grid;place-items:center;width:60px;height:42px;border-radius:var(--blob);border:2px solid var(--accent);background:var(--surface)}
.mf-b{display:flex;flex-direction:column}.mf-th{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:120px}
.mf-th .th-dot{margin:2px}
.fils-ed{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px;max-width:860px}
.fils-ed>li{display:grid;grid-template-columns:4.2rem minmax(0,1fr) 4.2rem;gap:8px;align-items:start;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--th);border-radius:var(--pebble)}
.fe-prev a,.fe-next a{font-weight:700;text-decoration:none}.fe-next{text-align:right}
.fe-mid{display:grid;gap:6px}.fe-r{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px}
.sept-fils{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 26px}
.sept-fils .mfil{margin:2px 0 10px}
.deux-fils{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 32px}
.toks{list-style:none;margin:6px 0 12px;padding:0}
/* passages à écrire (vert pâle) et écarts (jaune vif), dans l'aperçu seulement : règles 19 et 22 de la charte @s-meta */
.a-ecrire{background:var(--todo);color:var(--ink);border-radius:3px;padding:1px 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark.chk{background:var(--chk);color:var(--chk-ink);padding:0 3px;border-radius:2px}
/* liens sortants : flèche, et note pour les lecteurs d'écran (aria-describedby="nw") */
a[target="_blank"]:not(.fbadge):not(.arrow):not(.btn):not(.pill)::after{content:"\2009\2197";font-size:.85em}
/* droite à gauche (page en arabe) */
[dir="rtl"] .arrow::after{content:"\2002\2190"}
/* version légère : texte seul */
html[data-eco] .ph-viz,html[data-eco] .hero-img,html[data-eco] .gal,html[data-eco] .card-img,html[data-eco] .video-box .ph-viz,html[data-eco] .thumbs{display:none}
html[data-eco] .video-box{aspect-ratio:auto;padding:10px}
html[data-eco] .play{position:static;transform:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.top .tools,.menu,.langbar,.nl-sec,.apercu-bandeau,.play{display:none}.bar,.foot{background:#fff;color:#000}}
