@font-face{font-family:Anton;src:url(polices/anton-400.woff2) format('woff2');font-display:swap}
@font-face{font-family:Bricolage;src:url(polices/bricolage-800.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Fraunces;src:url(polices/fraunces-italic-latin-a41c87c2.woff2) format('woff2');font-style:italic;font-display:swap}
@font-face{font-family:Archivo;src:url(polices/archivo-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;src:url(polices/archivo-latin-ext-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--fond:#f5f1e8;--carte:#fff;--encre:#1b1d3a;--doux:#6d6f8c;--trait:#e4ddcc;--creme:#ebe5d6;
  --jaune:#ffcf3f;--corail:#ff6b4a;--bleu:#2f6bff;--vert:#16b47a;--rouge:#ec3d50;--ambre:#c99a12}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--fond);color:var(--encre);font-family:Archivo,system-ui,sans-serif;font-size:15px;line-height:1.4;min-height:100vh}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:var(--bleu)}
.provisoire{background:var(--encre);color:#fff;font-size:12px;font-weight:700;text-align:center;padding:5px 10px;letter-spacing:.02em}
main{max-width:520px;margin:0 auto;padding:16px 18px 120px}
.t{font-family:Bricolage,system-ui;font-weight:800;letter-spacing:-.02em;line-height:1}
.a{font-family:Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.doux{color:var(--doux)}
.petit{font-size:13px}
.marque{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.marque .a{font-size:22px}.marque .a i{font-style:normal;color:var(--corail)}
.puce{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 9px;border-radius:99px;background:var(--creme);color:#4b4d6b;white-space:nowrap}
.puce.actif{background:var(--encre);color:#fff}
.boite{background:var(--carte);border-radius:20px;box-shadow:0 2px 0 var(--trait),0 8px 24px rgba(27,29,58,.06)}
.btn{display:block;width:100%;text-align:center;font-weight:800;font-size:17px;padding:16px;border-radius:18px;background:var(--encre);color:#fff;box-shadow:0 5px 0 #000;transition:transform .08s}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #000}
.btn.j{background:var(--jaune);color:var(--encre);box-shadow:0 5px 0 #c99a12}
.btn.b{background:#fff;color:var(--encre);box-shadow:0 0 0 2px var(--trait)}
.bas{position:fixed;left:0;right:0;bottom:0;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--fond) 30%)}
.bas .rang{max-width:484px;margin:0 auto;display:flex;gap:10px}
.liens{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px;font-size:12.5px !important;white-space:nowrap;margin-top:12px;font-size:13px;font-weight:700;color:var(--doux)}
.liens button,.liens a{color:var(--doux);font-weight:700;text-decoration:none}
a.btn{text-decoration:none}
.pion{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-family:Anton,Impact;font-size:14px;color:#fff;flex:none;letter-spacing:.02em}
.pion.g{width:44px;height:44px;font-size:17px;border-radius:13px}
.haut{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.retour{width:38px;height:38px;border-radius:12px;background:var(--creme);display:grid;place-items:center;font-size:18px;flex:none}
h1.t{font-size:44px;margin:18px 0 12px}
h2.t{font-size:26px}
.carte-ev{border-radius:16px;padding:10px;color:#fff;font-weight:800;font-size:12px;line-height:1.15;box-shadow:0 5px 0 rgba(0,0,0,.18);width:100px;flex:none;text-align:left}
.carte-ev .i{font-size:26px;display:block;margin-bottom:6px}
.pioche{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pioche .carte-ev{width:auto;min-height:92px}
.frise{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.an{display:flex;align-items:center;gap:8px;padding:10px 12px}
.an .ev-puce{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an .puce{font-size:15px;padding:6px 11px;flex:none}
.an .t{width:48px;font-size:18px}
.ev-puce{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:6px 10px;border-radius:99px;color:#fff}
.ev-puce button{color:#fff;font-weight:900;margin-left:2px}
.deposer{flex:1;min-width:110px;border:2px dashed var(--trait);border-radius:99px;padding:6px;font-size:12px;color:#a8a28f;font-weight:700}
.forces{display:flex;gap:6px;margin:12px 0}
.ligne-c{display:flex;gap:10px;align-items:center;padding:10px 11px;width:100%;text-align:left}
.ligne-c .txt{flex:1;min-width:0}
.ligne-c b{font-size:14px;display:block}
.ligne-c .src{font-size:12.5px;color:var(--doux)}
.cout{font-size:12px;font-weight:800;white-space:nowrap}
.commune{opacity:.72}
.evenement{color:#fff;border-radius:20px;padding:14px 16px;display:flex;gap:12px;align-items:center;transform:rotate(-1.2deg);box-shadow:0 7px 0 rgba(0,0,0,.2);margin:12px 0 16px;animation:tombe .45s cubic-bezier(.2,1.4,.4,1)}
.evenement .i{font-size:36px}
.evenement .q{font-size:12px;font-weight:800;opacity:.85;letter-spacing:.06em;text-transform:uppercase}
@keyframes tombe{from{transform:translateY(-40px) rotate(-6deg);opacity:0}}
.liste{display:flex;flex-direction:column;gap:7px}
.progression{display:flex;gap:4px;margin:8px 0}
.progression i{flex:1;height:6px;border-radius:9px;background:var(--trait)}
.progression i.f{background:var(--encre)}
.puces{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.barre{display:flex;align-items:center;gap:10px}
.jauge{flex:1;height:14px;border-radius:9px;background:#ece6d8;overflow:hidden}
.jauge i{display:block;height:100%;border-radius:9px;transition:width .5s}
.val{width:64px;text-align:right;font-family:Bricolage;font-weight:800}
.faits{font-size:13px;display:flex;flex-direction:column;gap:6px;margin-top:8px}
.note{background:#fff7dc;border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.4;margin:12px 0}
table.res{width:100%;border-collapse:collapse;font-size:12px;text-align:center}
table.res th{font-size:12px;color:var(--doux);padding:8px 2px;font-weight:800;cursor:pointer}
table.res th.tri{color:var(--encre);text-decoration:underline}
table.res td{padding:6px 2px;font-weight:700;white-space:nowrap;border-top:1px solid #f0ebdf}
table.res tr{cursor:pointer}
.bon{color:var(--vert)}.mauvais{color:var(--rouge)}
.tampon{font-family:Anton,Impact;text-transform:uppercase;font-size:12px;padding:2px 7px;border:2.5px solid;border-radius:7px;transform:rotate(-6deg);display:inline-block;letter-spacing:.04em;white-space:nowrap}
.tampon[class*="r-"]{cursor:help}
.aide{text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:help}
.bulle-tampon{position:fixed;z-index:50;max-width:min(300px,calc(100vw - 16px));background:var(--encre);color:#fff;font-size:13px;line-height:1.35;font-weight:600;padding:9px 12px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none}
.r-tenue{color:#1d9a62}.r-allegee{color:var(--ambre)}.r-bloquee{color:var(--rouge)}.r-nonengagee{color:#8a8aa0}
.chrono{position:relative;padding-left:26px;display:flex;flex-direction:column;gap:10px}
.chrono:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:3px;background:var(--trait);border-radius:3px}
.chrono .boite{padding:11px 13px;position:relative}
.chrono .point{position:absolute;left:-24px;top:14px;width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 3px var(--fond)}
.mes{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px}
.mes span:first-child{font-size:13px;font-weight:600}
#voile{position:fixed;inset:0;background:rgba(27,29,58,.45);display:flex;align-items:flex-end;justify-content:center;z-index:9}
#voile[hidden]{display:none}
.feuille{background:var(--fond);width:100%;max-width:520px;max-height:88vh;overflow:auto;border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));animation:monte .25s ease-out}
@keyframes monte{from{transform:translateY(60px);opacity:0}}
.citation{border-left:4px solid var(--bleu);padding:4px 0 4px 12px;margin-top:12px}
.citation p{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:15px}
.depart{display:flex;justify-content:space-between;padding:6px 14px 14px}
.cartes-accueil{display:flex;gap:8px;padding:0 14px 16px;overflow:hidden}
.court{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:700px){main{padding-top:30px}}
.logo{display:flex;align-items:center;gap:8px}.logo img{border-radius:10px;box-shadow:0 2px 0 var(--trait)}

/* ---- le film : carrousel des années ---- */
.f-tete{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.f-scene{min-height:440px;display:flex;align-items:center;justify-content:center;perspective:900px}
.f-carte{width:100%;animation:carrousel .55s cubic-bezier(.2,1.1,.3,1)}
@keyframes carrousel{from{transform:translateX(70%) rotateY(-28deg) scale(.9);opacity:0}}
.f-annee{text-align:center}.f-annee .t{font-size:96px;letter-spacing:-.04em;animation:tombe .6s cubic-bezier(.2,1.4,.4,1)}
.f-une{background:#fffdf7;border:2px solid var(--encre);border-radius:6px;padding:16px 16px 10px;box-shadow:6px 6px 0 var(--encre);font-family:Georgia,serif;transform:rotate(-1deg)}
.f-une header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px double var(--encre);padding-bottom:6px;margin-bottom:12px;gap:8px}
.f-une header b{font-family:Anton,Impact;text-transform:uppercase;font-size:20px;letter-spacing:.02em}
.f-une header span{font-size:11px;color:var(--doux);text-align:right}
.f-une h2{font-family:Bricolage,Archivo;font-weight:800;font-size:34px;line-height:1;letter-spacing:-.02em;margin:10px 0}
.f-une p{font-size:15px;line-height:1.45}
.f-une footer,.f-depeche footer{font-family:Archivo;font-size:10px;color:var(--doux);text-transform:uppercase;letter-spacing:.08em;margin-top:12px;border-top:1px solid var(--trait);padding-top:6px}
.f-icone{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-size:36px;float:right;margin:0 0 6px 10px}
.f-citation{background:var(--carte);border-left:8px solid;border-radius:18px;padding:20px 18px;box-shadow:0 8px 24px rgba(27,29,58,.08)}
.f-citation blockquote{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:22px;line-height:1.3;margin:12px 0 14px}
.f-cand{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;margin:4px 0}
.f-depeche{background:var(--encre);color:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 0 #000}
.f-depeche.flash{background:var(--rouge)}
.f-depeche .f-bandeau{font-size:11px;font-weight:800;letter-spacing:.1em;opacity:.85;margin-bottom:8px}
.f-depeche h3{font-family:Bricolage,Archivo;font-weight:800;font-size:24px;line-height:1.1;margin-top:6px}
.f-depeche p{margin-top:8px;opacity:.9}
.f-depeche .f-cand{color:#fff}.f-depeche footer{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.2)}
.f-chiffres{background:var(--carte);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 24px rgba(27,29,58,.08)}
.f-points{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:14px}
.f-points i{width:5px;height:5px;border-radius:9px;background:var(--trait)}.f-points i.vu{background:#b9b2a0}.f-points i.on{background:var(--encre);width:14px}

.f-fil{background:#fff;border-radius:18px;padding:14px;box-shadow:0 8px 24px rgba(27,29,58,.08);border-top:6px solid var(--rouge)}
.f-fil .f-bandeau{color:var(--rouge);font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}
.f-breve{padding:8px 0;border-bottom:1px solid #f0ebdf;font-size:14px;font-weight:600}.f-breve .f-cand{font-size:13px}
.f-fil footer{font-size:10px;color:var(--doux);text-transform:uppercase;letter-spacing:.08em;margin-top:8px}
.f-article{transform:rotate(.8deg)}
.f-chiffre{background:var(--jaune);border-radius:22px;padding:20px;box-shadow:0 7px 0 #c99a12;text-align:center}
.f-chiffre .f-gros{font-family:Bricolage;font-weight:800;font-size:68px;letter-spacing:-.04em;line-height:1;margin:8px 0 2px}
.f-chiffre p{font-family:Fraunces,Georgia;font-style:italic;font-size:18px;margin:12px 0 8px}
.f-chiffre a{color:var(--encre)}
.f-message{display:flex;flex-direction:column;align-items:center}
.f-tel{width:88%;background:#fff;border-radius:28px;padding:14px;box-shadow:0 0 0 6px var(--encre),0 14px 30px rgba(27,29,58,.18)}
.f-tel-haut{display:flex;flex-direction:column;align-items:center;border-bottom:1px solid #f0ebdf;padding-bottom:8px;margin-bottom:12px}
.f-tel-haut span{font-size:11px;color:var(--doux)}
.f-bulle{background:#e9efff;border-radius:18px 18px 18px 4px;padding:12px 14px;font-size:15px;line-height:1.35}
.f-heure{font-size:10px;color:var(--doux);margin-top:6px}
.f-message footer{font-size:10px;color:var(--doux);text-transform:uppercase;letter-spacing:.08em;margin-top:14px}
.f-face{background:var(--carte);border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(27,29,58,.08)}
.f-duo{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.f-duo>div:not(.f-vs){border-left:6px solid;border-radius:12px;background:#faf7f0;padding:10px 12px}
.f-duo p{font-size:14px;margin-top:4px}
.f-vs{font-family:Anton,Impact;font-size:22px;text-align:center;color:var(--corail)}
.f-voix{background:#fff;border-radius:24px;padding:22px 20px;box-shadow:0 8px 24px rgba(27,29,58,.08);position:relative}
.f-guillemet{font-family:Fraunces,Georgia;font-size:90px;line-height:.6;color:var(--corail);height:36px}
.f-voix blockquote{font-family:Fraunces,Georgia;font-style:italic;font-size:21px;line-height:1.3;margin:6px 0 14px}
.f-titre{font-size:26px;text-align:center;margin:6px 0 2px}
.f-scene{min-height:max(400px,calc(100svh - 260px))}

/* ==== habillages du carrousel ==== */
.f-fiction{font-family:Archivo;font-size:9.5px;color:var(--doux);text-transform:uppercase;letter-spacing:.1em;margin-top:10px;text-align:center}
.f-carte{animation:none}
.anim-tombe{animation:aTombe .6s cubic-bezier(.2,1.3,.4,1)}@keyframes aTombe{from{transform:translateY(-60px) rotate(-8deg);opacity:0}}
.anim-feuille{animation:aFeuille .6s ease-out}@keyframes aFeuille{from{transform:rotateX(70deg) translateY(-40px);opacity:0}}
.anim-zoom{animation:aZoom .5s cubic-bezier(.2,1.2,.4,1)}@keyframes aZoom{from{transform:scale(.6);opacity:0}}
.anim-glisse{animation:aGlisse .5s cubic-bezier(.2,1.1,.3,1)}@keyframes aGlisse{from{transform:translateX(80%);opacity:0}}
.anim-tampon{animation:aTampon .45s cubic-bezier(.3,1.6,.5,1)}@keyframes aTampon{from{transform:scale(1.6) rotate(6deg);opacity:0}}
.anim-vibre{animation:aVibre .5s}@keyframes aVibre{0%,100%{transform:none}20%{transform:translateX(-6px) rotate(-2deg)}40%{transform:translateX(6px) rotate(2deg)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.anim-telex .f-frappe{overflow:hidden;animation:aFrappe 1.6s steps(40) both}@keyframes aFrappe{from{max-height:0}to{max-height:400px}}

/* journal */
.f-journal{background:#fbf8f0;color:#111;padding:14px 14px 8px;box-shadow:0 1px 0 #ddd,0 18px 30px rgba(0,0,0,.18);transform:rotate(-1.2deg);
  background-image:linear-gradient(115deg,transparent 48%,rgba(0,0,0,.035) 50%,transparent 52%),radial-gradient(circle at 20% 10%,rgba(0,0,0,.025),transparent 40%);font-family:Georgia,serif}
.f-page{transform:rotate(1deg)}
.f-mast{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #111;border-bottom:3px double #111;padding:4px 0;margin-bottom:6px;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.f-mast b{font-family:"Old English Text MT",Georgia,serif;font-size:22px;letter-spacing:0;text-transform:none;font-style:italic;font-weight:700}
.petit-mast b{font-size:15px}
.f-rubrique{display:inline-block;background:#111;color:#fff;font-family:Archivo;font-weight:800;font-size:10px;letter-spacing:.12em;padding:2px 6px;margin:4px 0}
.f-grostitre{font-family:Anton,Impact;text-transform:uppercase;font-size:40px;line-height:.95;letter-spacing:.01em;margin:4px 0 8px}
.f-titre-art{font-family:Georgia,serif;font-weight:700;font-size:26px;line-height:1.05;margin:8px 0}
.f-photo{height:110px;display:grid;place-items:center;font-size:56px;filter:grayscale(.35) contrast(1.1);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 2px,transparent 2px 6px)!important;margin:6px 0}
.f-photo{background-blend-mode:normal}
.f-colonnes{columns:2;column-gap:14px;column-rule:1px solid #ccc;font-size:13px;line-height:1.35;text-align:justify;hyphens:auto}
.f-colonnes p{margin:0 0 6px}
.f-filet{font-style:italic;color:#555}

/* chaîne d'info */
.f-tv{background:#111;border-radius:14px;padding:8px;box-shadow:0 18px 30px rgba(0,0,0,.25)}
.f-ecran{position:relative;aspect-ratio:4/3.4;background:linear-gradient(160deg,#1f2a6b,#0d1236 70%);border-radius:8px;overflow:hidden;color:#fff}
.f-direct{position:absolute;top:10px;left:10px;background:var(--rouge);font-weight:900;font-size:11px;letter-spacing:.1em;padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:6px}
.f-point{width:7px;height:7px;border-radius:50%;background:#fff;animation:clignote 1s infinite}@keyframes clignote{50%{opacity:.2}}
.f-chaine{position:absolute;top:10px;right:10px;font-family:Anton;font-size:16px;opacity:.9}
.f-plateau{position:absolute;top:44%;left:0;right:0;display:flex;justify-content:center;transform:translateY(-50%)}
.f-plateau .f-cand{color:#fff;font-size:18px;background:rgba(255,255,255,.08);padding:8px 14px;border-radius:30px}
.f-bas-titre{position:absolute;left:0;right:0;bottom:30px;background:#fff;color:#111;padding:8px 12px;border-left:8px solid var(--rouge);font-size:15px;line-height:1.2}
.f-defile{position:absolute;left:0;right:0;bottom:0;height:30px;background:var(--jaune);color:#111;overflow:hidden;white-space:nowrap;display:flex;align-items:center}
.f-defile-in{display:inline-block;animation:defile 14s linear infinite;font-weight:700;font-size:13px}
.f-defile-in span{margin-right:36px}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.f-tv .f-fiction{color:#aaa}

/* télex */
.f-telex{display:flex;flex-direction:column;align-items:center}
.f-bande{background:#f3e9c6;width:92%;padding:16px 16px 12px;font-family:ui-monospace,"Courier New",monospace;color:#2a2416;box-shadow:0 10px 20px rgba(0,0,0,.15);
  -webkit-mask:radial-gradient(circle 5px at 50% 0,transparent 98%,#000) 0 0/14px 51% repeat-x,radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 100%/14px 51% repeat-x;
  background-image:repeating-linear-gradient(transparent 0 23px,rgba(0,0,0,.05) 23px 24px)}
.f-tx-tete{font-size:11px;letter-spacing:.08em;color:var(--rouge);font-weight:700}
.f-frappe{font-size:17px;line-height:1.45;margin:10px 0;font-weight:700}

/* affiche */
.f-affiche{background:var(--jaune);padding:10px;transform:rotate(1.5deg);box-shadow:0 14px 26px rgba(0,0,0,.18)}
.f-affiche-in{border:3px solid var(--encre);padding:16px;text-align:center;background-image:radial-gradient(rgba(27,29,58,.07) 1px,transparent 1px);background-size:8px 8px}
.f-af-haut{font-family:Anton;font-size:18px;letter-spacing:.2em}
.f-affiche .f-gros{font-family:Anton,Impact;font-size:92px;line-height:.95;letter-spacing:-.01em;margin:8px 0 0}
.f-affiche .f-gros small{font-size:40px}
.f-af-sous{font-family:Anton;text-transform:uppercase;letter-spacing:.08em}
.f-affiche p{font-family:Fraunces,Georgia;font-style:italic;font-size:18px;margin:12px 0 8px}
.f-af-src{font-size:11px;margin-top:6px}.f-af-src a{color:var(--encre)}

/* circulaire */
.f-circ{display:flex;flex-direction:column;align-items:center}
.f-circ-in{position:relative;background:#fff;width:94%;padding:18px 18px 22px;font-family:ui-monospace,"Courier New",monospace;font-size:13px;color:#222;box-shadow:0 2px 0 #e7e1d2,0 16px 30px rgba(0,0,0,.14);transform:rotate(-.8deg)}
.f-circ-ent{font-family:Georgia,serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #222;padding-bottom:8px;margin-bottom:10px}
.f-circ-ref{font-size:11px;color:#666;margin-bottom:8px}
.f-circ-obj{margin-bottom:10px}
.f-circ-txt{line-height:1.5;font-size:14px}
.f-circ-sig{text-align:right;margin-top:14px;font-size:12px}
.f-tampon{position:absolute;top:44%;right:10px;transform:rotate(-14deg);border:3px solid var(--rouge);color:var(--rouge);font-family:Anton,Impact;font-size:22px;letter-spacing:.1em;padding:2px 10px;border-radius:6px;opacity:.75;animation:aTampon .5s .4s both cubic-bezier(.3,1.6,.5,1)}

/* débat */
.f-debat{background:#0d1236;border-radius:16px;padding:12px;color:#fff;box-shadow:0 18px 30px rgba(0,0,0,.25)}
.f-debat-titre{font-family:Anton;letter-spacing:.08em;text-align:center;font-size:15px;margin-bottom:10px;color:var(--jaune)}
.f-split{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.f-split>div{background:linear-gradient(180deg,var(--c),rgba(255,255,255,.04) 45%);border-radius:10px;padding:10px;min-height:220px}
.f-split .f-cand{color:#fff;font-size:13px;flex-wrap:wrap}
.f-split p{font-size:13px;margin-top:8px;line-height:1.35}
.f-debat-pied{font-size:11px;opacity:.7;text-align:center;margin-top:8px}.f-debat-pied .f-fiction{display:inline;color:inherit}

/* radio */
.f-radio{background:#fff;border-radius:22px;padding:18px;box-shadow:0 8px 24px rgba(27,29,58,.08)}
.f-radio-tete{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.f-radio-tete span{font-size:12px;color:var(--doux)}
.f-onde{display:flex;align-items:center;gap:3px;height:70px;margin:6px 0 12px}
.f-onde i{flex:1;background:var(--corail);border-radius:3px;animation:onde .7s ease-in-out infinite alternate}
@keyframes onde{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.f-radio blockquote{font-family:Fraunces,Georgia;font-style:italic;font-size:20px;line-height:1.3;margin-bottom:10px}

/* graphique */
.f-graph{background:#0d1236;color:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 30px rgba(0,0,0,.2)}
.f-graph-tete{font-weight:800;font-size:12px;letter-spacing:.06em;color:var(--jaune)}
.f-graph .jauge{background:rgba(255,255,255,.12)}
.f-graph .barre{animation:aGlisse .5s both}

/* ==== l'année : une carte par candidat (stories) ==== */
.petit-ev{margin:8px 0 12px;padding:10px 14px}.petit-ev .i{font-size:30px}
.stories-barre{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
.sb{border-radius:14px;padding:2px;box-shadow:0 0 0 2px transparent;transition:box-shadow .2s,transform .2s;flex:none}
.sb.on{box-shadow:0 0 0 3px var(--c);transform:scale(1.08)}
.stories{display:flex;align-items:flex-start;overflow-y:hidden;transition:height .25s;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none;margin:0 -18px;padding:0 0 4px}
.stories::-webkit-scrollbar{display:none}
.story{flex:0 0 100%;scroll-snap-align:center;padding:0 18px;display:flex;flex-direction:column;gap:10px}
.story-tete{display:flex;align-items:center;gap:12px;background:var(--carte);border-radius:20px;padding:12px;border-top:6px solid var(--c);box-shadow:0 2px 0 var(--trait)}
.story-tete b{font-size:19px}
.story-bloc{display:block;width:100%;text-align:left;background:var(--carte);border-radius:18px;padding:12px 14px;box-shadow:0 2px 0 var(--trait)}
.story-bloc.commune{opacity:.75}
.story-label{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--doux);margin-bottom:6px}
.story-rep{font-family:Bricolage;font-weight:800;font-size:18px;line-height:1.15;margin-bottom:4px}
.story-mes{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 0;border-top:1px solid #f0ebdf;font-weight:700;font-size:14px}
.story-mes:first-of-type{border-top:0}
.story-mes small{display:block;font-weight:500;font-size:12.5px;color:var(--doux)}
.story-fait{font-size:13px;font-weight:700;color:var(--rouge);padding-top:6px}
.petit-btn{font-size:14px;padding:11px}

/* ==== des chiffres qui se détachent ==== */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpi{background:var(--carte);border-radius:16px;padding:10px 8px 8px;text-align:center;box-shadow:0 2px 0 var(--trait);border-bottom:5px solid var(--trait)}
.kpi.bon{border-bottom-color:var(--vert)}.kpi.mauvais{border-bottom-color:var(--rouge)}
.kpi-nom{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--doux);text-transform:uppercase}
.kpi-val{font-family:Bricolage;font-weight:800;font-size:25px;letter-spacing:-.03em;line-height:1.1;margin:3px 0}
.kpi-var{font-size:13px;font-weight:800;color:var(--doux)}
.kpi.bon .kpi-var{color:var(--vert)}.kpi.mauvais .kpi-var{color:var(--rouge)}
.val{font-size:17px;width:72px}
.rang-n{font-family:Bricolage;font-weight:800;font-size:15px;color:var(--doux);width:18px;text-align:center}
table.res td{font-size:14px;font-family:Bricolage;font-weight:800}
table.res td.bon{background:rgba(22,180,122,.14);border-radius:8px}
table.res td.mauvais{background:rgba(236,61,80,.12);border-radius:8px}
.f-graph .val{color:#fff;font-size:18px}

/* réalité des programmes */
.obst{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid #f0ebdf;font-size:14px}.obst:first-of-type{border-top:0}
.real{display:block;width:100%;text-align:left;padding:11px 12px}
.real-haut{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.real-titre{font-weight:700;font-size:14px}
.real-pc{font-family:Bricolage;font-weight:800;font-size:22px;letter-spacing:-.02em;white-space:nowrap}
.real-barre{display:flex;height:9px;border-radius:9px;background:#f0e2e2;overflow:hidden;margin:6px 0}
.real-barre i{display:block;height:100%}
.real-bas{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12.5px;color:var(--doux);font-weight:600}
.real-obst{color:var(--rouge)}
.nat{padding:2px 7px;border-radius:99px;font-weight:800;font-size:12px;background:var(--creme);color:#4b4d6b}
.nat-constitution{background:#ffe3e0;color:#b3261e}.nat-europe{background:#e3eaff;color:#1f4fa8}.nat-decret{background:#dff5ea;color:#11663f}
.evol{display:flex;flex-direction:column}.evol>div{display:grid;grid-template-columns:60px 90px 1fr;gap:6px;padding:6px 0;border-top:1px solid #f0ebdf;font-size:13px}.evol>div:first-child{border-top:0}
.lettre{border-top:3px solid var(--encre);border-bottom:1px solid var(--encre);padding:14px 0;margin:14px 0}
.lettre-tete{display:flex;gap:12px;align-items:center}
.surtitre{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--doux)}
.lettre .titre,.une .titre{display:block;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:22px;line-height:1.15;color:var(--encre)}
/* Bandeau de la lettre sur l'accueil : rubrique de journal, sans couleur ajoutée */
.une{display:flex;gap:14px;align-items:center;width:100%;margin:18px 0 0;padding:12px 0 14px;border:0;border-top:3px solid var(--encre);border-bottom:1px solid var(--encre);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.une svg{flex:none}
@media(min-width:900px){.accueil-grille .une{grid-column:2;margin-top:-22px}}
.une-texte{flex:1;min-width:0}
.une .sous{display:block;font-size:13px;color:var(--doux);margin-top:2px}
.une .fleche{flex:none;font-weight:800;font-size:13px;color:var(--encre);border:2px solid var(--encre);border-radius:999px;padding:6px 12px;white-space:nowrap}
.lettre input[type=email]{width:100%;font:inherit;font-size:16px;padding:12px;border-radius:12px;border:2px solid var(--trait);margin-bottom:8px;background:#fff}
.lettre .accord{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px}.lettre .accord input{margin-top:3px}
.lettre-msg{margin-top:8px;font-weight:700}
.piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---- affichage du 2026-10-29 ---- */
.story-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;text-align:center}
.story-fl{width:40px;height:40px;border-radius:50%;background:var(--carte);box-shadow:0 2px 0 var(--trait),0 4px 12px rgba(27,29,58,.08);font-size:15px;flex:none}
.story-fl.cote{display:none}
@media (min-width:700px){
  .story-fl.cote{display:grid;place-items:center;position:fixed;top:50%;width:52px;height:52px;font-size:20px;z-index:5}
  .story-fl.cote.g{left:calc(50% - 330px)}.story-fl.cote.d{right:calc(50% - 330px)}
}
.compteurs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}
.compteurs>div{background:var(--carte);border-radius:14px;padding:8px 4px;text-align:center;box-shadow:0 2px 0 var(--trait);font-size:12.5px;font-weight:700;color:var(--doux);line-height:1.2}
.compteurs b{display:block;font-size:22px;color:var(--encre);margin-bottom:2px}
.compteurs small{display:block;font-size:11.5px;margin-top:2px}
.chrono-an{font-size:18px;margin:8px 0 -2px -26px;padding-left:26px;position:relative;background:var(--fond)}
.chrono-an:first-child{margin-top:0}
.accueil-depart{margin-top:22px}
@media (min-width:1000px){
  body[data-ecran=accueil] main{max-width:980px}
  .accueil-grille{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin-top:20px}
  .accueil-grille h1{font-size:64px}
  .accueil-depart{margin-top:0}
}
@media (max-width:499px){.provisoire .large{display:none}}
