/* Carnet d'Ardoise : carte de bistrot. Ardoise noire à la craie, nappe vichy, cartons de menu à pointillés, ronds de serviette. */
:root{--slate:#222923;--slate2:#2c352d;--chalk:#f4f1e6;--chalk2:#cfd3c3;--yellow:#f2d46b;--red:#c8312b;--red2:#a32520;--cream:#fbf6e8;--paper:#fffdf4;--ink:#2b2118;--muted:#6a5e4c;--wood:#7a5a38;--brass:#b98a4e;--line:#8a7650;--c:#e8c27a;--hand:"Bradley Hand","Chalkboard SE","Segoe Print","Marker Felt","Comic Sans MS",cursive;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--mono:"Courier New",Courier,monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:17px/1.6 var(--serif);background-color:#fff;background-image:linear-gradient(90deg,rgba(200,49,43,.5) 50%,transparent 50%),linear-gradient(rgba(200,49,43,.5) 50%,transparent 50%);background-size:56px 56px;overflow-wrap:break-word}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.top :focus-visible,.board :focus-visible,.result :focus-visible,.foot :focus-visible{outline-color:var(--yellow)}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1,h2,h3{font-family:var(--hand);line-height:1.15;font-weight:700;margin:0}

/* ----- En-tête : bandeau d'ardoise ----- */
.top{background:var(--slate);color:var(--chalk);border-bottom:8px solid var(--wood);box-shadow:0 4px 0 rgba(0,0,0,.25);position:relative;z-index:10}
.top-in{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--chalk);min-width:0}
.logo img{flex:none}
.logo-t{font-family:var(--hand);font-size:1.55rem;font-weight:700;line-height:1;letter-spacing:.01em}
.logo em{font-style:normal;color:var(--yellow)}
.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}
.main-nav a,.main-nav summary{display:inline-block;color:var(--chalk);text-decoration:none;font-family:var(--hand);font-size:1.12rem;font-weight:700;padding:6px 10px;border-bottom:3px dotted transparent;cursor:pointer;list-style:none}
.main-nav summary::-webkit-details-marker{display:none}
.main-nav summary::after{content:" ▾"}
.main-nav a:hover,.main-nav summary:hover,.menu[open] summary{border-bottom-color:var(--yellow);color:var(--yellow)}
.menu{position:relative}
.menu-panel{position:absolute;right:0;top:100%;z-index:30;display:grid;width:min(250px,calc(100vw - 32px));padding:8px;background:var(--slate2);border:4px solid var(--wood);box-shadow:0 8px 0 rgba(0,0,0,.25)}
.menu-panel a{display:block;border-bottom:2px dotted rgba(244,241,230,.35)}

/* ----- Corps de page ----- */
main{max-width:1080px;margin:0 auto;padding:0 16px 24px}
.board{position:relative;background:radial-gradient(ellipse at 20% 0,rgba(255,255,255,.07),transparent 55%),radial-gradient(ellipse at 90% 100%,rgba(255,255,255,.05),transparent 50%),var(--slate);color:var(--chalk);border:14px solid var(--wood);border-radius:6px;box-shadow:0 0 0 3px #4d3822,0 8px 0 rgba(0,0,0,.28),inset 0 0 50px rgba(0,0,0,.5);padding:34px 26px;text-align:center;text-shadow:0 0 1px rgba(244,241,230,.55)}
.hero{margin:26px 0 8px}
.hero.small .board{padding:26px 22px}
.hero h1{font-size:clamp(2rem,6vw,3.6rem);margin:6px 0 12px}
.hero.small h1{font-size:clamp(1.6rem,4.6vw,2.6rem)}
.hero mark{background:none;color:var(--yellow);text-decoration:underline wavy rgba(240,166,184,.9);text-decoration-thickness:2px;text-underline-offset:6px}
.chalk-kicker{margin:0;font-family:var(--hand);font-size:1.3rem;color:var(--yellow);letter-spacing:.04em}
.lead{max-width:640px;margin:0 auto 22px;color:var(--chalk2);font-size:1.1rem;overflow-wrap:break-word}
.ring{display:inline-grid;place-items:center;width:1.5em;height:1.5em;margin-right:.15em;border:4px solid var(--c);border-radius:50%;font-size:.8em;vertical-align:middle;line-height:1;background:rgba(255,255,255,.06)}
.dots{list-style:none;margin:0 auto 22px;padding:0;max-width:480px}
.dots li{display:flex;align-items:baseline;gap:8px;padding:5px 0;font-family:var(--hand);font-size:1.12rem;text-align:left}
.dots span{min-width:0}
.dots i{flex:1 1 20px;min-width:16px;border-bottom:3px dotted rgba(244,241,230,.55);transform:translateY(-4px)}
.dots b{color:var(--yellow);font-size:1.3rem}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-family:var(--hand);font-weight:700;font-size:1.1rem;padding:11px 24px;border:3px solid #fff;border-radius:999px;box-shadow:0 4px 0 var(--red2);cursor:pointer;transition:transform .15s;text-shadow:none;text-align:center}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn.alt{background:transparent;color:var(--slate);border:3px dashed var(--line);box-shadow:none}
.board .btn.alt,.result .btn.alt{color:var(--chalk);border-color:var(--chalk2)}
.btn.small{font-size:1rem;padding:8px 16px;border-width:2px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.count{margin:0 0 6px;color:var(--chalk2)}
.count b{color:var(--yellow)}
.byline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0 0;font-size:.9rem;color:var(--chalk2)}
.byline img,.portrait{border-radius:50%;object-fit:cover}
.byline a,.crumbs a{color:var(--chalk);text-decoration:underline dotted;text-underline-offset:3px}
.portrait{border:5px solid var(--chalk);margin-bottom:8px}
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin:0 0 12px;color:var(--chalk2);font-size:.92rem}
.crumbs i{font-style:normal;opacity:.6}

/* ----- Panneaux de carte ----- */
.sect,.prose,.toolbox form,.passe,.matrix,.embedbox,.example,.modele-form,.timer,.finder-row{position:relative}
.sect,.prose,.toolbox form,.passe,.matrix,.embedbox,.example{background:var(--cream);border:2px dotted var(--line);border-radius:4px;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.sect{margin:30px 0;padding:24px 22px}
.sect>h2,.prose h2{font-size:1.65rem;color:var(--slate);margin:0 0 10px;padding-bottom:6px;border-bottom:3px dotted rgba(200,49,43,.55)}
.sect>h2+*{margin-top:14px}
.note{margin:12px 0;color:var(--muted)}
.note a,.prose a,.sect a.linkbtn{color:var(--red2);font-weight:700}
.prose{max-width:800px;margin:30px auto;padding:24px 26px}
.prose.wide{max-width:none}
.prose h2{margin-top:26px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.25rem;margin:18px 0 6px}
.prose p,.prose li{line-height:1.7}
.prose .intro{font-size:1.12rem;border-left:6px solid var(--c);padding-left:14px}
.prose ul.grid{margin-top:12px}
.rnote{margin:10px 0 0;font-size:.9rem;color:var(--muted)}
.famille{margin:20px 0 26px}
.famille h3{font-size:1.35rem;color:var(--slate)}
.famille>p{margin:2px 0 12px;color:var(--muted)}

/* ----- Grilles et cartes ----- */
.grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.grid>li{min-width:0}
.grid.rondes{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px}
.grid.sites{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}
.grid.plats>li{display:flex}
.rond{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:10px 6px;text-align:center;text-decoration:none;color:var(--ink)}
.rond i{display:grid;place-items:center;width:78px;height:78px;border:7px solid transparent;border-radius:50%;font-style:normal;font-size:2rem;line-height:1;background-image:linear-gradient(var(--cream),var(--cream)),conic-gradient(from 30deg,var(--c),#fff 18%,var(--c) 35%,rgba(0,0,0,.25) 55%,var(--c) 75%,#fff 90%,var(--c));background-clip:padding-box,border-box;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.rond b{font-family:var(--hand);font-size:1.05rem;line-height:1.2;overflow-wrap:break-word;max-width:100%}
.rond span{font-size:.85rem;color:var(--muted)}
.rond:hover i{transform:rotate(-8deg)}
.plat{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px 16px 16px;background:var(--paper);border:2px dotted var(--line);border-top:10px solid var(--c);border-radius:3px;text-decoration:none;color:var(--ink);box-shadow:0 3px 0 rgba(0,0,0,.15)}
.plat i{font-style:normal;font-size:1.8rem;line-height:1}
.plat b{font-family:var(--hand);font-size:1.18rem;line-height:1.2;padding-bottom:6px;border-bottom:2px dotted rgba(138,118,80,.6)}
.plat span{color:var(--muted);font-size:.93rem}
.plat:hover{transform:translateY(-3px) rotate(-.6deg)}
.grid.sites li{position:relative}
.site{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;height:100%;padding:12px 14px;background:var(--paper);border:2px dotted var(--line);border-left:10px solid var(--c);border-radius:3px;text-decoration:none;color:var(--ink);box-shadow:0 3px 0 rgba(0,0,0,.14)}
.site b{font-family:var(--hand);font-size:1.08rem;overflow-wrap:anywhere;min-width:0}
.leader{flex:1 1 18px;min-width:14px;border-bottom:3px dotted rgba(138,118,80,.7)}
.site em{font-style:normal;font-size:.86rem;color:var(--muted)}
.site em i{font-style:normal}
.site:hover{transform:translateY(-2px) rotate(-.4deg)}
.has-fav .site{padding-right:46px}
.fav{position:absolute;top:6px;right:6px;width:36px;height:36px;border:0;background:transparent;font-size:1.4rem;line-height:1;color:var(--red);cursor:pointer}
.fav:hover{transform:scale(1.15)}

/* ----- Annuaire : recherche et filtres ----- */
.finder{margin-bottom:16px}
.finder-row{position:relative;margin-bottom:12px}
.finder input,.field input,.field select,.field textarea,textarea{font:inherit}
.finder input[type=search]{width:100%;padding:12px 44px 12px 14px;border:2px dashed var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}
.finder-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:1.1rem;padding:8px;cursor:pointer;color:var(--muted)}
.chips{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips button,.linkbtn{font:inherit;font-family:var(--hand);font-size:.98rem;padding:6px 14px;border:2px dotted var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer}
.chips button[aria-pressed=true]{background:var(--slate);color:var(--chalk);border-style:solid;border-color:var(--c)}
.linkbtn{background:transparent;border:0;text-decoration:underline dotted;border-radius:0;padding:4px 6px}
.finder-count{margin:4px 0 0;color:var(--muted);font-size:.92rem}
.favbox{margin:0 0 20px;padding:14px 16px;border:2px dashed var(--red);border-radius:4px;background:#fff7e6}
.favbox h3{font-size:1.2rem;margin-bottom:10px}
.favbox-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0}
.empty{text-align:center;padding:30px 16px;color:var(--muted)}
.empty-emoji{font-size:2.6rem}

/* ----- Outils : formulaires et ardoise de résultat ----- */
.toolbox{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;margin:30px 0;align-items:start}
.toolbox>*{min-width:0}
.toolbox form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:22px}
.toolbox form>*{min-width:0}
.toolbox form>fieldset,.toolbox form>.field:only-child{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-family:var(--hand);font-weight:700;font-size:1.02rem;line-height:1.25;color:var(--slate)}
.field input,.field select,.field textarea,textarea{width:100%;max-width:100%;min-width:0;padding:10px 12px;border:2px dashed var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus,textarea:focus{border-style:solid;border-color:var(--red)}
textarea{resize:vertical;line-height:1.5}
fieldset.days{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 14px;border:2px dotted var(--line);border-radius:4px;min-width:0}
fieldset.days legend{font-family:var(--hand);font-weight:700;padding:0 6px}
fieldset.days label{display:inline-flex;align-items:center;gap:6px;font-size:1rem}
.result{background:radial-gradient(ellipse at 15% 0,rgba(255,255,255,.07),transparent 55%),var(--slate);color:var(--chalk);border:10px solid var(--wood);border-radius:4px;box-shadow:0 0 0 2px #4d3822,0 6px 0 rgba(0,0,0,.25),inset 0 0 36px rgba(0,0,0,.45);padding:16px 18px;min-width:0;text-shadow:0 0 1px rgba(244,241,230,.45)}
.result:empty{display:none}
.res{margin:0}
.res div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 14px;padding:9px 0;border-bottom:2px dotted rgba(244,241,230,.4)}
.res div:last-child{border-bottom:0}
.res dt{flex:1 1 55%;min-width:0;color:var(--chalk2)}
.res dd{margin:0;flex:0 1 auto;max-width:100%;text-align:right;font-weight:700;overflow-wrap:anywhere}
.res .main dt{color:var(--yellow);font-family:var(--hand);font-size:1.15rem}
.res .main dd{color:var(--yellow);font-family:var(--hand);font-size:1.5rem}
.conv-main{margin:0 0 8px;font-family:var(--hand);font-size:1.35rem;color:var(--yellow);overflow-wrap:break-word}
.err{margin:0;color:#a02820;font-weight:700}
.result .err{color:#ffb4a8}
.result .rnote,.result .status{color:var(--chalk2)}
.result h2,.result h3{color:var(--yellow)}
.example{padding:16px 18px;margin:12px 0}
.example ul{margin:6px 0 14px;padding-left:20px}
.example .result{margin-top:10px}
.embedbox{padding:16px 18px}
.embedbox textarea{font-family:var(--mono);font-size:.85rem;margin:8px 0;overflow-wrap:anywhere}
.status{min-height:1.4em;margin:6px 0 0;font-size:.92rem;color:var(--muted)}
.chiplist{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chiplist li{min-width:0;max-width:100%}
.chiplist a{display:inline-block;max-width:100%;padding:6px 14px;border:2px dotted var(--line);border-radius:999px;background:var(--paper);text-decoration:none;color:var(--ink);font-weight:400;overflow-wrap:anywhere}
.chiplist a:hover{background:var(--slate);color:var(--chalk)}
.swap{grid-column:1/-1;justify-self:start;font-family:var(--hand);font-size:1rem;padding:6px 14px;border:2px dotted var(--line);border-radius:999px;background:var(--paper);cursor:pointer}
.callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:22px 0;padding:16px 18px;background:var(--paper);border:2px dotted var(--line);border-left:12px solid var(--c);border-radius:3px}
.callout p{margin:0;flex:1 1 240px}
.checklist{padding:6px 16px;background:var(--paper);border:2px dotted var(--line);border-radius:3px}
.checklist ul{list-style:none;margin:6px 0;padding:0}
.checklist li{position:relative;padding:5px 0 5px 30px;border-bottom:2px dotted rgba(138,118,80,.35)}
.checklist li:last-child{border-bottom:0}
.checklist li::before{content:"☐";position:absolute;left:2px;top:4px;color:var(--red)}
.faq details{background:var(--paper);border:2px dotted var(--line);border-radius:3px;padding:10px 16px;margin-bottom:10px}
.faq summary{cursor:pointer;font-family:var(--hand);font-weight:700;font-size:1.1rem}
.faq p{margin:8px 0 2px;color:var(--muted)}
.guide-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide-nav a{display:block;min-width:0;padding:12px 14px;border:2px dotted var(--line);border-radius:3px;background:var(--paper);text-decoration:none;color:var(--ink);font-family:var(--hand);font-weight:700}
.guide-nav span{display:block;font-family:var(--serif);font-weight:400;font-size:.82rem;color:var(--muted)}
.facts{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:8px 20px;padding:16px 18px;background:var(--paper);border:2px dotted var(--line);border-radius:3px}
.facts dt{font-family:var(--hand);font-weight:700}
.facts dd{margin:0;overflow-wrap:anywhere}
.crit-list{grid-template-columns:minmax(0,1fr)}
.crit-list dd{margin-bottom:6px;color:var(--muted)}
.links,.plain{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}
.plain li{min-width:0;overflow-wrap:anywhere}
.links a{display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 14px;border:2px dotted var(--line);border-radius:3px;background:var(--paper);text-decoration:none;overflow-wrap:anywhere}
.links span{color:var(--muted)}

/* ----- Tableaux ----- */
.tablewrap{overflow-x:auto;max-width:100%;position:relative}
table.evlist{border-collapse:collapse;width:100%;min-width:460px;font-size:.95rem}
.evlist th,.evlist td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:2px dotted rgba(138,118,80,.5)}
.evlist thead th{font-family:var(--hand);font-size:1.02rem;border-bottom:3px solid var(--line)}
.evlist tbody th{font-weight:700}

/* ----- Papiers du bistrot ----- */
.modele-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;margin:30px 0;align-items:start}
.modele-grid>*{min-width:0}
.modele-form{display:grid;gap:14px;padding:22px;background:var(--cream);border:2px dotted var(--line);border-radius:4px}
.modele-side h2{font-size:1.4rem;margin-bottom:8px}
.paper{background:#fffefa;border:1px solid #d8c9a6;box-shadow:0 5px 0 rgba(0,0,0,.18);padding:26px 28px;min-height:320px;font-family:Georgia,"Times New Roman",serif;color:#111;overflow-wrap:anywhere;background-image:repeating-linear-gradient(transparent 0 27px,rgba(138,118,80,.18) 27px 28px)}
.paper p{margin:0;min-height:28px;line-height:28px}
.directory{min-width:0}
body.modele .paper{background-color:#fffefa}
.dl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* ----- La passe ----- */
.passe{padding:22px;margin:30px 0}
.fallback{margin:0 0 12px;padding:12px 14px;background:#fff1c9;border:2px dashed var(--brass);border-radius:3px}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.duo>*{min-width:0}
.duo h2{font-size:1.4rem;margin-bottom:8px}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.cols>*{min-width:0}
.cols .full{grid-column:1/-1;margin:0}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
.controls select{padding:8px 10px;border:2px dashed var(--line);background:var(--paper);font:inherit}
.filebtn{position:relative;overflow:hidden}
.filebtn input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.filebtn:focus-within{outline:3px solid var(--red)}
.timers{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.timer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;background:var(--paper);border:2px dotted var(--line);border-radius:4px}
.timer input[type=text]{flex:1 1 140px;min-width:0}
.timer input[type=number]{flex:0 0 84px;min-width:0}
.timer input{padding:8px 10px;border:2px dashed var(--line);border-radius:4px;background:#fff;font:inherit}
.timer .unit{color:var(--muted)}
.clock{flex:0 1 auto;min-width:5.5ch;font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--slate)}
.timer.done{background:var(--yellow);border-style:solid;border-color:var(--red)}
.canvaswrap{max-width:100%;overflow:hidden;border-radius:4px}
.canvaswrap canvas{display:block;width:100%;max-width:100%;height:auto;border:1px solid #0003}
.empty-note{color:var(--muted)}

/* ----- Balance des choix ----- */
.matrix{padding:20px;margin:30px 0}
.matrix-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:10px}
.matrix-top>*{min-width:0}
.help{margin:6px 0 14px;color:var(--muted)}
.names{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;margin-bottom:14px}
.names>*{min-width:0}
.crit{margin:0 0 14px;padding:12px 14px;border:2px dotted var(--line);border-radius:4px;background:var(--paper);min-width:0}
.crit legend{font-family:var(--hand);font-weight:700;padding:0 6px}
.crit>.field{margin-bottom:8px}
.scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;margin-top:8px}
.scores>*{min-width:0}
.ranking{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ranking li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px}
.ranking b{overflow-wrap:anywhere}
.ranking .bar{grid-column:1/-1;display:block;height:12px;border:2px dotted rgba(244,241,230,.6);border-radius:8px;overflow:hidden}
.ranking .bar i{display:block;height:100%;background:var(--yellow)}
.rk{font-family:var(--hand);color:var(--yellow);font-size:1.2rem}
.sc{font-family:var(--hand);font-size:1.15rem;color:var(--yellow)}
.verdict{margin:14px 0 0;font-family:var(--hand);font-size:1.15rem}

/* ----- Pied de page : l'addition ----- */
.foot{margin-top:46px;padding:0 16px 44px}
.addition{position:relative;max-width:1080px;margin:0 auto;padding:30px 26px 22px;background:#fffefa;color:var(--ink);font-family:var(--mono);font-size:.93rem;box-shadow:0 6px 0 rgba(0,0,0,.2)}
.addition::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:radial-gradient(circle at 10px 12px,#fffefa 9px,transparent 10px) repeat-x;background-size:20px 12px}
.addition-head{margin:0 0 18px;text-align:center;font-family:var(--hand);font-size:1.5rem;font-weight:700;line-height:1.2;padding-bottom:12px;border-bottom:3px dashed var(--ink)}
.addition-head span{font-family:var(--mono);font-size:.82rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:22px}
.foot-grid>*{min-width:0}
.foot h3{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;padding-bottom:4px;border-bottom:2px dotted var(--ink)}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:block;padding:3px 0;text-decoration:none;overflow-wrap:anywhere}
.foot li a:hover{text-decoration:underline dotted}
.foot-about p{margin:10px 0 0;line-height:1.5}
.foot .logo{color:var(--ink)}
.foot .logo img{background:var(--slate);border-radius:6px;padding:2px}
.foot .logo em{color:var(--red2)}
.foot-bottom{margin:20px 0 0;padding-top:12px;border-top:3px dashed var(--ink);font-size:.82rem;text-align:center;overflow-wrap:anywhere}

/* ----- Pages intégrables ----- */
body.embed{background:var(--paper);background-image:none}
.embed-wrap{max-width:640px;margin:0 auto;padding:12px 12px 20px}
.embed-wrap h1{font-size:1.5rem;color:var(--slate);margin-bottom:10px}
.embed .toolbox{grid-template-columns:minmax(0,1fr);margin:10px 0}
.embed .toolbox form{grid-template-columns:minmax(0,1fr)}
.embed-credit{margin:10px 0 0;text-align:center;font-size:.88rem}
.embed-credit a{color:var(--red2);font-weight:700}

/* ----- Adaptations ----- */
@media (max-width:860px){
  .toolbox,.modele-grid,.duo{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-about{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16px;background-size:40px 40px}
  main{padding:0 12px 16px}
  .top-in{padding:8px 12px}
  .logo-t{font-size:1.35rem}
  .main-nav{width:100%}
  .main-nav a,.main-nav summary{font-size:1.02rem;padding:6px 8px}
  .menu{flex:1 1 100%}
  .menu-panel{position:static;width:100%;box-shadow:none}
  .board{padding:24px 14px;border-width:10px}
  .hero.small .board{padding:20px 12px}
  .sect,.prose,.passe,.matrix{padding:16px 14px}
  .toolbox form,.cols,.matrix-top,.guide-nav{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .addition{padding:24px 16px 18px}
  .paper{padding:18px 14px}
  .grid.sites{grid-template-columns:minmax(0,1fr)}
  .grid.plats{grid-template-columns:minmax(0,1fr)}
  .ranking li{grid-template-columns:auto minmax(0,1fr)}
  .ranking .sc{grid-column:2}
}
@media print{
  body{background:#fff;color:#000}
  .top,.foot,.hero,.modele-form,.dl-actions,.modele-side h2,.sect,.prose,.passe .fallback{display:none!important}
  main{padding:0;max-width:none}
  .modele-grid{display:block;margin:0}
  .paper{border:0;box-shadow:none;padding:0;background-image:none}
  body.carte-print .passe .duo>div:first-child,body.carte-print .btnrow,body.carte-print .duo h2,body.carte-print .prose{display:none!important}
  body.carte-print .passe{display:block!important;border:0;box-shadow:none;background:none;padding:0}
  body.carte-print .duo{display:block}
  .canvaswrap canvas{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
