/* Le compte du lecteur (maquette validée par Alison, 01/10) : l'affiche du crieur pour entrer, le pupitre pour
   l'espace membre. Couleurs de La Criée : papier, encre bleu nuit, vermillon, et l'or des trois ondes du logo. */
.ct-page{--papier:#F6F1E8;--papier-2:#EFE7DA;--blanc:#FFFDF9;--encre:#16263B;--encre-2:#2B3D55;--encre-douce:#5E6B78;--filet:#E2D9CA;--vermillon:#C8382A;--vermillon-2:#A92C20;--or:#E8B936;--ombre:0 18px 40px -28px rgba(22,38,59,.45)}
.cp-body.ct-page{background:var(--papier)}
.ct-page .ct{max-width:1240px;margin:0 auto;padding:0 max(16px,var(--cp-gutter,24px)) 56px}
.ct-page .ct-message{max-width:1240px;margin:8px auto 14px}
/* ── L'accès : l'affiche et la porte ── */
.ct-page .ct-acces{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,440px);gap:28px;align-items:stretch;max-width:none;margin:8px 0 0}
.ct-affiche{position:relative;overflow:hidden;min-height:560px;border-radius:28px;background:radial-gradient(120% 80% at 80% 100%,rgba(232,185,54,.08),transparent 60%),repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 9px),var(--encre);color:#F3EDE2;isolation:isolate}
.ct-affiche-mots{position:relative;z-index:3;max-width:310px;padding:40px 0 0 40px}
.ct-page .ct-affiche-sur{display:flex;align-items:center;gap:10px;margin:0 0 18px;font:600 12px/1 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.ct-affiche-sur svg{width:26px;height:26px}
.ct-page .ct-affiche-titre{margin:0;font:500 44px/1.06 var(--serif);letter-spacing:-.01em;color:#F3EDE2;text-wrap:balance}
.ct-affiche-titre em{font-style:italic;color:var(--or)}
.ct-affiche-liste{display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none;font:15.5px/1.4 var(--serif);color:rgba(243,237,226,.84)}
.ct-affiche-liste li{display:flex;align-items:center;gap:10px}
.ct-affiche-liste i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--or)}
.ct-affiche-liste svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.ct-affiche-liste li:last-child svg{fill:currentColor;stroke:none}
.ct-soleil{position:absolute;z-index:1;right:-6%;bottom:12%;width:min(78%,440px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,#D9584A,var(--vermillon) 55%,#9E281D)}
.ct-crieur-grand{position:absolute;z-index:2;right:3%;bottom:-2%;height:92%;width:auto;max-width:none;filter:grayscale(.35) contrast(1.06) drop-shadow(0 30px 30px rgba(0,0,0,.35));transform-origin:50% 100%}
.ct-ondes{position:absolute;z-index:3;right:calc(3% - 4px);bottom:30%;width:130px;height:150px;pointer-events:none}
.ct-ondes path{fill:none;stroke:var(--or);stroke-width:5;stroke-linecap:round;opacity:.9}
/* Le crieur bat le tambour quand on écrit, roule à l'envoi (assets/compte.js). */
.ct-frappe .ct-crieur-grand{animation:ct-frappe .22s ease-out}
.ct-frappe .ct-ondes path{animation:ct-onde .5s ease-out}
.ct-frappe .ct-ondes path:nth-child(2){animation-delay:.06s}.ct-frappe .ct-ondes path:nth-child(3){animation-delay:.12s}
.ct-roulement .ct-crieur-grand{animation:ct-frappe .13s ease-out 7}
.ct-roulement .ct-ondes path{animation:ct-onde .45s ease-out 2}
@keyframes ct-frappe{40%{transform:translateY(3px) rotate(-.7deg)}}
@keyframes ct-onde{0%{opacity:.2;transform:translateX(-6px)}40%{opacity:1}100%{opacity:.9;transform:none}}
.ct-defi{position:absolute;z-index:4;left:24px;bottom:24px;display:flex;align-items:flex-end;gap:14px;max-width:min(330px,calc(100% - 48px));padding:14px 16px;border-radius:16px;background:rgba(246,241,232,.96);color:var(--encre);box-shadow:var(--ombre)}
.ct-defi b{display:block;font:600 16px/1.25 var(--serif)}
.ct-defi div span{display:block;font:13.5px/1.35 var(--serif);color:var(--encre-douce)}
.ct-podium{display:flex;align-items:flex-end;gap:3px;flex:none}
.ct-podium i{display:grid;place-items:start center;width:20px;border-radius:5px 5px 0 0;background:var(--encre);font:700 11px/1.6 var(--serif);font-style:normal;color:#fff}
.ct-podium i:nth-child(1){height:26px}.ct-podium i:nth-child(2){height:38px;background:var(--vermillon)}.ct-podium i:nth-child(3){height:19px}
.ct-porte{display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:6px 2px}
.ct-porte-tete{display:grid;gap:6px;margin-bottom:2px}
.ct-page .ct-porte-tete h1{margin:0;font:600 32px/1.1 var(--serif);letter-spacing:-.01em;color:var(--encre)}
.ct-page .ct-porte-tete p{margin:0;font:16px/1.5 var(--serif);color:var(--encre-douce)}
.ct-page .ct-onglets{margin:0;padding:4px;border-radius:14px;background:var(--papier-2)}
.ct-page .ct-onglets button{padding:10px;border-radius:10px;font:500 15px var(--serif);color:var(--encre-douce)}
.ct-page .ct-onglets button[aria-selected="true"]{background:var(--blanc);color:var(--encre);font-weight:600}
.cp-gazette.ct-page .ct-carte{gap:12px;padding:0;background:none;border:0;box-shadow:none}
.ct-page .ct-google{min-height:48px;border-color:#CFC6B7;border-radius:999px;background:var(--blanc)}
.ct-page .ct-ou{font-size:13.5px}
.ct-page .ct-ou::before,.ct-page .ct-ou::after{background:var(--filet)}
.ct-page .ct-carte form{gap:12px}
.ct-page .ct-champ{gap:5px;min-width:0}
.ct-page .ct-champ :is(input,select){width:100%;min-width:0;box-sizing:border-box}
.ct-page .ct-champ :is(input,select),.ct-page .choix-commune>input{padding:11px 14px;border-color:#D9D0C1;border-radius:12px;background:var(--blanc)}
.ct-page .ct-case{align-items:center;font-size:14.5px}
.cp-body.cp-gazette.ct-page .ct-action{min-height:50px;border-radius:999px;border-color:var(--vermillon);background:var(--vermillon);color:#fff;box-shadow:0 12px 24px -14px rgba(200,56,42,.9)}
.cp-body.cp-gazette.ct-page .ct-action:hover{border-color:var(--vermillon-2);background:var(--vermillon-2)}
.ct-page .ct-envoye h2,.ct-page [data-ct-vue] h2.ct-h2{font:600 24px/1.2 var(--serif)}
/* ── L'espace membre : le pupitre ── */
.ct-page:has(.ct-app:not([hidden])) .lc-barre{display:none}
.ct-page:has(.ct-app:not([hidden])) .ct{max-width:none;padding:0}
.ct-app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--encre) 252px,transparent 252px)}
.ct-cote{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:18px;height:100vh;padding:22px 16px 0;background:var(--encre);color:#E9E2D6;overflow:hidden}
.ct-cote-marque{display:flex;align-items:center;gap:10px;padding:0 8px;color:#F6F1E8;font:600 22px/1 var(--serif);text-decoration:none}
.ct-cote-marque .mono{display:block!important;width:36px;height:36px}
.ct-cote-marque .mono circle{stroke:rgba(255,255,255,.18)}
.ct-cote-marque .mono path:not(:last-child){fill:#F6F1E8}
.ct-moi{display:flex;align-items:center;gap:12px;padding:0 8px}
.ct-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--vermillon);font:600 16px/1 var(--serif);color:#fff}
.ct-moi b{display:block;font:600 16px/1.3 var(--serif);color:#fff}
.ct-sortir svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.ct-page .ct-sortir{display:flex;align-items:center;gap:10px;align-self:flex-start;padding:7px 10px;border:0;border-radius:12px;background:none;font:14.5px var(--serif);color:rgba(233,226,214,.75);cursor:pointer}
.ct-page .ct-sortir:hover{background:rgba(255,255,255,.06);color:#fff}
.ct-pupitre{display:grid;gap:20px;align-content:start;min-width:0;padding:28px clamp(16px,3vw,40px) 40px}
.ct-haut{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.ct-page .ct-date{margin:0;font:15px var(--serif);color:var(--encre-douce)}
.ct-page .ct-bonjour{margin:0;font:600 36px/1.1 var(--serif);letter-spacing:-.01em;color:var(--encre)}
.ct-premiere,.ct-ajout{display:grid;gap:6px;max-width:440px;padding:16px 18px;border-radius:16px;background:var(--blanc);border:1px solid var(--filet)}
.ct-premiere{border-color:var(--vermillon);box-shadow:0 0 0 3px rgba(200,56,42,.12)}
.ct-communes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ct-page .ct-puce{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border:1px solid var(--filet);border-radius:999px;background:var(--blanc);font:14.5px var(--serif);color:var(--encre);cursor:pointer}
.ct-puce .ct-point{width:8px;height:8px;border-radius:50%;background:var(--encre-douce)}
.ct-page .ct-puce.ct-active{border-color:var(--encre);background:var(--encre);color:#fff}
.ct-page .ct-puce-changer{margin-left:2px;padding:2px 8px;border:0;border-radius:999px;background:rgba(255,255,255,.14);font:500 12.5px var(--serif);color:inherit;cursor:pointer}
.ct-page .ct-puce-nom{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.ct-puce.ct-active .ct-point{background:var(--or)}
.ct-puce small{font-size:12px;opacity:.75}
.ct-page .ct-puce-ajout{border-style:dashed;color:var(--vermillon);font-weight:600}
.ct-page .ct-puce-retirer{display:grid;place-items:center;width:22px;height:22px;margin:0 -4px 0 2px;border:0;border-radius:50%;background:rgba(255,255,255,.14);font:600 14px/1 var(--serif);color:inherit;cursor:pointer}
.ct-puce:not(.ct-active) .ct-puce-retirer{background:var(--papier-2)}
.ct-bloc{min-width:0;padding:20px 22px;border-radius:20px;background:var(--blanc);border:1px solid var(--filet)}
.ct-bloc-tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.ct-page .ct-bloc-tete h3{margin:0;font:600 21px/1.2 var(--serif);color:var(--encre)}
.ct-page .ct-bloc-lien{color:var(--vermillon);font:600 14.5px var(--serif);text-decoration:none;white-space:nowrap}
.ct-actus{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.ct-actu{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:10px;border-radius:14px;color:var(--encre);text-decoration:none}
a.ct-actu:hover{background:var(--papier)}
.ct-jour{display:grid;place-items:center;width:54px;padding:6px 0;border-radius:12px;background:#F8E3DF;line-height:1}
.ct-jour{gap:2px}
.ct-jour small{font:700 10.5px/1 var(--serif);letter-spacing:.08em;text-transform:uppercase;color:var(--vermillon)}
.ct-jour b{font:600 21px/1 var(--serif)}
.ct-jour i{font:normal 10.5px/1 var(--serif);text-transform:uppercase;color:var(--encre-douce)}
.ct-actu-t{min-width:0}
.ct-actu-t b{display:block;font:600 16px/1.3 var(--serif)}
.ct-actu-t span{font:13.5px/1.35 var(--serif);color:var(--encre-douce)}
.ct-actus-vide{padding:10px;font:15px/1.5 var(--serif);color:var(--encre-douce)}
.ct-page .ct-favoris{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
/* ── Tablettes et téléphones ── */
@media (max-width:980px){
  .ct-page .ct-acces{grid-template-columns:1fr}
  .ct-affiche{min-height:300px}
  .ct-affiche-mots{max-width:58%;padding:24px 0 0 22px}
  .ct-page .ct-affiche-titre{font-size:30px}
  .ct-affiche-liste,.ct-ondes{display:none}
  .ct-crieur-grand{right:2%;height:96%}
  .ct-soleil{width:62%;right:-12%;bottom:6%}
  .ct-defi{left:14px;bottom:14px;max-width:52%;padding:10px 12px}
  .ct-defi div span{display:none}
  .ct-app{grid-template-columns:1fr;align-content:start;background:none}
  .ct-cote{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px}
  .ct-moi{order:3;padding:0}
  .ct-cote-art{display:none}
  .ct-page .ct-sortir{margin-left:auto}
}
@media (max-width:560px){.ct-actu{gap:12px;padding:8px 4px}.ct-page .ct-deux{grid-template-columns:1fr}.ct-page .ct-bonjour{font-size:28px}.ct-page .ct-favoris{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ct-frappe .ct-crieur-grand,.ct-frappe .ct-ondes path,.ct-roulement .ct-crieur-grand,.ct-roulement .ct-ondes path{animation:none}}

/* Les deux onglets de la barre latérale. */
.ct-nav{display:grid;gap:4px}
.ct-page .ct-nav :is(button,a){display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:none;font:15.5px/1.2 var(--serif);color:rgba(233,226,214,.85);text-align:left;text-decoration:none;cursor:pointer}
.ct-nav svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.ct-nav a svg{fill:currentColor;stroke:none}
.ct-page .ct-nav :is(button,a):hover{background:rgba(255,255,255,.07);color:#fff}
.ct-page .ct-nav button[aria-selected="true"]{background:#F6F1E8;color:var(--encre);font-weight:600}
/* Le crieur fait partie de la barre : il en occupe le bas, fondu dans le bleu nuit, devant son soleil. */
.ct-cote-art{position:relative;flex:1 1 auto;min-height:260px;margin:0 -16px;-webkit-mask-image:linear-gradient(to top,#000 72%,transparent);mask-image:linear-gradient(to top,#000 72%,transparent)}
.ct-cote-art .ct-soleil{right:auto;left:50%;bottom:18%;width:120%;transform:translateX(-46%);opacity:.92}
.ct-cote-art img{position:absolute;z-index:1;left:50%;bottom:0;height:min(96%,560px);width:auto;max-width:none;transform:translateX(-56%);filter:grayscale(.35) contrast(1.06)}
.ct-cote-art .ct-ondes{right:2px;bottom:33%;width:70px;height:82px}
.ct-panneau{display:grid;gap:18px;min-width:0}
.ct-page .ct-explique{margin:-4px 0 4px;font:15px/1.5 var(--serif);color:var(--encre-douce)}
.ct-deux-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.cp-body.cp-gazette .ct-defi-quiz .cp-carte{margin:0;padding:0;border:0;background:none;box-shadow:none}
.cp-body.cp-gazette .ct-defi-quiz .cp-carte-titre{display:none}
/* Téléphone : les onglets sur une ligne (après leurs règles de base). */
@media (max-width:980px){.ct-nav{order:4;flex:1 1 100%;display:flex;gap:6px}.ct-page .ct-nav :is(button,a){flex:1 1 auto;justify-content:center;width:auto;padding:9px 8px;font-size:14.5px;white-space:nowrap}.ct-nav svg,.ct-nav-long{display:none}.ct-cote-art{display:none}}
/* Le fil des nouvelles, en notifications (même allure que le bandeau « Aujourd'hui » des pages de commune). */
.ct-notifs{display:grid;margin:0;padding:0;list-style:none}
.ct-notifs>li+li{border-top:1px solid var(--filet)}
.ct-notif{display:grid;grid-template-columns:40px minmax(0,1fr) 14px;align-items:center;gap:14px;padding:12px 10px;border-radius:14px;color:var(--encre);text-decoration:none;transition:background .15s}
.ct-notif:hover{background:var(--papier)}
.ct-notif-icone{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#F8E3DF;color:var(--vermillon)}
.ct-notif-icone svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ct-notif-mairie .ct-notif-icone{background:#E6EEE8;color:#2F5B3D}
.ct-notif-presse .ct-notif-icone{background:#F6ECCF;color:#8A6410}
.ct-notif-texte{display:grid;gap:3px;min-width:0}
.ct-notif-quand{font:700 10.5px/1.3 var(--serif);letter-spacing:.1em;text-transform:uppercase;color:var(--encre-douce)}
.ct-notif-quand b{color:var(--vermillon)}
.ct-notif-mairie .ct-notif-quand b{color:#2F5B3D}
.ct-notif-presse .ct-notif-quand b{color:#8A6410}
.ct-notif-msg{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 15.5px/1.35 var(--serif)}
.ct-notif-suite{font:400 22px/1 var(--serif);color:var(--encre-douce)}
.ct-panneau[data-ct-panneau="jour"]{max-width:920px}
/* Compétition nationale, en notifications : le quiz du jour, puis chaque place du classement. */
.ct-page .ct-fav-titre{margin:14px 0 4px;font:700 11.5px/1.3 var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--encre-douce)}
.ct-notif-quiz{align-items:start;cursor:default}
.ct-notif-quiz:hover,.ct-notif-rang:hover{background:none}
.ct-notif-quiz .ct-notif-icone{background:#E8EDF3;color:var(--encre)}
.ct-notif-quiz{grid-template-columns:40px minmax(0,1fr)}
.cp-body.cp-gazette .ct-defi-quiz .cp-carte{margin:0;padding:0;border:0;background:none;box-shadow:none}
.cp-body.cp-gazette .ct-defi-quiz .cp-carte-titre{display:none}
.ct-notif-rang{grid-template-columns:40px minmax(0,1fr)}
.ct-notif-rang .ct-notif-icone{background:var(--papier-2);color:var(--encre);font:700 16px/1 var(--serif)}
.ct-notif-rang .ct-notif-icone.ct-or{background:#F6E2A6;color:#7A5A06}
.ct-notif-rang .ct-notif-icone.ct-argent{background:#E4E7EB;color:#4B5563}
.ct-notif-rang .ct-notif-icone.ct-bronze{background:#F1D6C3;color:#8A4B23}
.ct-notif-rang .ct-notif-quand b{color:var(--encre)}
.ct-notif-rang sup{font-size:.75em}
.ct-notif-moi{background:#FBEAE7}
/* La presse de mes communes, favori par défaut. */
.ct-fav-presse{margin-bottom:6px}
/* La Masco, page de l'espace membre : la fenêtre posée à plat. */
.ct-panneau .sr.sr-page{position:static;display:block;width:auto;max-width:none;max-height:none;margin:0;overflow:visible;border:1px solid #EBD3BC;box-shadow:none}
.sr-page .sr-fermer{display:none}
.sr-page.sr-ouvert,.sr-page.sr-ouvert *{animation:none!important}
.sr-page .sr-personnage{top:20px}
/* Le classement : la période et le lieu (Alison, 08/10/2026 : « par mois, par ville et niveau national »). */
.ct-classement-choix{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px}
.ct-pastilles{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:var(--papier-2)}
.ct-pastilles button{padding:6px 12px;border:0;border-radius:999px;background:transparent;font:500 14px/1.2 var(--serif);color:var(--encre-douce);cursor:pointer}
.ct-pastilles button[aria-pressed="true"]{background:var(--blanc);color:var(--encre);font-weight:600;box-shadow:0 1px 2px rgba(13,34,65,.12)}
.ct-pastilles button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* La Masco en tête du quiz : un petit portrait rond et sa phrase. */
.ct-tete-masco{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.ct-masco-quiz{display:inline-flex;align-items:center;gap:10px;font:italic 400 14.5px/1.35 var(--serif);color:var(--encre-douce)}
.ct-masco-quiz img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:var(--vermillon);border:2px solid var(--blanc);box-shadow:0 1px 3px rgba(13,34,65,.18)}
