/* Pôle Animation : hub (catégories et posts) et éditeur de texte collaboratif façon traitement de texte.
   Pas de style en ligne (CSP) : couleurs, tailles, polices et alignements du texte sont des attributs data-* ci-dessous. */

/* ---------------------------------------------------------------- Hub */
.staff-accueil .anim-hub{display:grid;gap:16px}
.staff-accueil .anim-entete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.staff-accueil .anim-entete h2{margin:0 0 2px;font:20px var(--s-police);font-weight:600;color:var(--s-texte)}
.staff-accueil .anim-entete p{margin:0;font-size:14px}
.staff-accueil .anim-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.staff-accueil .anim-cat{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;padding:12px 16px;text-align:left;cursor:pointer;color:var(--s-texte);font:inherit;background:linear-gradient(160deg,#1a1a21,#121216)!important;border:1px solid var(--s-ligne)!important;border-radius:var(--s-rayon);box-shadow:none!important}
.staff-accueil .anim-cat:hover{border-color:var(--s-ligne-forte)!important}
.staff-accueil .anim-cat.actif{border-color:var(--s-or)!important;box-shadow:inset 0 2px 0 var(--s-or)!important}
.staff-accueil .anim-cat strong{font:16px var(--s-police);font-weight:600}
.staff-accueil .anim-cat-nb{font:600 22px/1 var(--s-police);color:var(--s-or-clair)}
.staff-accueil .anim-cat small{grid-column:1/-1;font:12.5px var(--s-police);color:var(--s-pale)}
.staff-accueil .anim-creation{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--s-or);border-radius:var(--s-rayon);background:var(--s-surface)}
.staff-accueil .anim-creation input{flex:1 1 280px;min-width:0}
.staff-accueil .anim-outils{margin:0}
.staff-accueil .anim-posts{display:grid;gap:8px}
.staff-accueil .anim-post{display:grid;gap:6px;padding:14px 18px;text-decoration:none;color:var(--s-texte);background:linear-gradient(160deg,#1a1a21,#121216);border:1px solid var(--s-ligne);border-radius:var(--s-rayon)}
.staff-accueil .anim-post:hover{border-color:var(--s-ligne-forte);background:linear-gradient(160deg,#202029,#15151a)}
.staff-accueil .anim-post-tete{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.staff-accueil .anim-post-tete strong{font:16.5px var(--s-police);font-weight:600;margin-right:4px}
.staff-accueil .anim-badge-or{color:var(--s-or-clair)!important;border-color:var(--s-or)!important}
.staff-accueil .anim-badge-bleu{color:#74a9de!important;border-color:#74a9de88!important}
.staff-accueil .anim-post-extrait{margin:0;color:var(--s-doux);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.staff-accueil .anim-post-extrait.vide{font-style:italic;color:var(--s-pale)}
.staff-accueil .anim-gestion{padding:12px 16px;border:1px solid var(--s-ligne);border-radius:var(--s-rayon);background:var(--s-surface)}
.staff-accueil .anim-gestion summary{cursor:pointer;color:var(--s-doux);font:14px var(--s-police)}
.staff-accueil .anim-gestion-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.staff-accueil .anim-gestion-ligne input{flex:1 1 220px;min-width:0}

/* ---------------------------------------------------------------- Éditeur : cadre */
.staff-accueil .anim-editeur{display:grid;gap:0}
.staff-accueil .anim-haut{display:grid;gap:8px;margin:0 0 12px}
.staff-accueil .anim-haut-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.staff-accueil .anim-haut-ligne:first-child{justify-content:space-between}
.staff-accueil .anim-haut-ligne:first-child .fiche-retour{margin-right:auto}
.staff-accueil .anim-titre{flex:1 1 320px;min-width:0;padding:6px 10px;font:600 24px var(--s-police);color:var(--s-or-clair);background:transparent;border:1px solid transparent;border-radius:var(--s-rayon)}
.staff-accueil .anim-titre:hover:not([readonly]),.staff-accueil .anim-titre:focus{border-color:var(--s-ligne-forte);background:var(--s-surface)}
.staff-accueil .anim-titre[readonly]{cursor:default}
.staff-accueil .anim-sync{font:13px var(--s-police);color:var(--s-pale)}
.staff-accueil .anim-sync.en-cours{color:var(--s-or-clair)}
.staff-accueil .anim-sync.erreur{color:#e38d86}
.staff-accueil .anim-presence{display:flex;align-items:center}
.staff-accueil .anim-pastille{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:-6px;border-radius:50%;border:2px solid #131318;font:600 12px var(--s-police);color:#fff;background:#8fa0b0}
.staff-accueil .anim-presence .anim-pastille:first-child{margin-left:0}
.staff-accueil .anim-plus{background:#3a3a46}
.staff-accueil .anim-bandeau{margin:0 0 12px;padding:10px 14px;border:1px solid #74a9de66;border-radius:var(--s-rayon);background:#74a9de14;color:#b9d3ee;font-size:14px}
.staff-accueil .anim-pied{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;margin-top:10px;font:13px var(--s-police);color:var(--s-doux)}

/* Partage */
.anim-voile{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:#000a}
.anim-boite{display:grid;gap:12px;width:min(480px,100%);max-height:86vh;overflow:auto;padding:22px;border:1px solid var(--s-ligne-forte,#ffffff1c);border-radius:12px;background:#131318;color:#ececf1}
.anim-boite h3{margin:0;font-size:18px;font-weight:600}
.anim-equipe{display:grid;gap:2px;max-height:300px;overflow:auto}
.anim-personne{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer}
.anim-personne:hover{background:#ffffff0d}
.anim-personne .anim-pastille{margin:0}
.anim-boite-actions{display:flex;gap:10px}

/* ---------------------------------------------------------------- Éditeur : ruban */
.ruban{position:sticky;top:66px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;padding:6px 8px;border:1px solid #ffffff1c;border-radius:10px 10px 0 0;background:#1a1a21;box-shadow:0 6px 14px #0006}
.ruban[hidden]{display:none}
.ruban-groupe{display:flex;align-items:center;gap:2px;padding:0 6px;border-right:1px solid #ffffff14}
.ruban-groupe:last-child{border-right:0}
.ruban-bouton{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:#d6d6de;font:14px Arial,sans-serif;cursor:pointer}
.ruban-bouton:hover:not(:disabled){background:#ffffff14}
.ruban-bouton.actif{background:#b89a6330;border-color:#b89a6388;color:#f0dca8}
.ruban-bouton:disabled{opacity:.35;cursor:default}
.ruban-bouton .ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ruban-bouton .ico circle{fill:currentColor;stroke:none}
.ruban-bouton.gras .ruban-texte{font-weight:700}.ruban-bouton.italique .ruban-texte{font-style:italic;font-family:Georgia,serif}.ruban-bouton.souligne .ruban-texte{text-decoration:underline}.ruban-bouton.barre .ruban-texte{text-decoration:line-through}
.ruban-bouton.tableau-action{font-size:12.5px;padding:0 8px}
.ruban-liste{height:30px;max-width:150px;padding:0 6px;border:1px solid #ffffff1c;border-radius:6px;background:#0f0f13;color:#d6d6de;font:13.5px Arial,sans-serif}
.ruban-liste.large{width:128px}.ruban-liste.police{width:150px}.ruban-liste.taille{width:58px}
.ruban-menu{position:relative}
.ruban-couleur{flex-direction:column;gap:0;padding-top:2px}
.ruban-couleur .ruban-texte{font-weight:700;line-height:17px}
.ruban-couleur-barre{display:block;width:16px;height:4px;border-radius:1px;background:#6f6f7d}
.ruban-fenetre{position:absolute;top:34px;left:0;z-index:40;display:grid;grid-template-columns:repeat(5,26px);gap:6px;padding:10px;border:1px solid #ffffff22;border-radius:8px;background:#1a1a21;box-shadow:0 10px 24px #000a}
.ruban-fenetre[hidden]{display:none}
.coul-choix{width:26px;height:26px;padding:0;border:2px solid #0000;border-radius:50%;cursor:pointer;background:#888}
.coul-choix:hover{border-color:#fff}
.coul-choix.aucune{background:repeating-linear-gradient(45deg,#2a2a33,#2a2a33 4px,#444 4px,#444 8px)}
.coul-choix[data-c=noir],.ruban-couleur-barre[data-c=noir]{background:#1c1c20}
.coul-choix[data-c=gris],.ruban-couleur-barre[data-c=gris]{background:#6b6b76}
.coul-choix[data-c=rouge],.ruban-couleur-barre[data-c=rouge]{background:#c0392b}
.coul-choix[data-c=orange],.ruban-couleur-barre[data-c=orange]{background:#d9731a}
.coul-choix[data-c=jaune],.ruban-couleur-barre[data-c=jaune]{background:#a67c00}
.coul-choix[data-c=vert],.ruban-couleur-barre[data-c=vert]{background:#2e8b4a}
.coul-choix[data-c=turquoise],.ruban-couleur-barre[data-c=turquoise]{background:#138d86}
.coul-choix[data-c=bleu],.ruban-couleur-barre[data-c=bleu]{background:#1f64c4}
.coul-choix[data-c=violet],.ruban-couleur-barre[data-c=violet]{background:#7a3fc2}
.coul-choix[data-c=rose],.ruban-couleur-barre[data-c=rose]{background:#c2397f}
/* Le surlignage a sa propre palette (couleurs claires) : même attribut, autre bouton. */
.ruban-menu:nth-of-type(2) .coul-choix[data-c=jaune],.ruban-menu:nth-of-type(2) .ruban-couleur-barre[data-c=jaune]{background:#ffe066}

/* ---------------------------------------------------------------- Éditeur : feuille */
.anim-scene{padding:28px 12px 40px;border:1px solid #ffffff1c;border-top:0;border-radius:0 0 10px 10px;background:#0c0c10;overflow-x:auto}
.lecture-seule .anim-scene{border-top:1px solid #ffffff1c;border-radius:10px}
.feuille{width:min(100%,816px);min-height:1056px;margin:0 auto;padding:72px 84px;box-sizing:border-box;background:#fff;color:#1c1c20;box-shadow:0 2px 3px #0008,0 14px 40px #0009}
@media(max-width:900px){.feuille{padding:36px 22px;min-height:70vh}}
.feuille-texte{outline:none;min-height:900px;font:11pt/1.55 Calibri,'Segoe UI',Arial,sans-serif}
.lecture-seule .feuille-texte{cursor:default}
.feuille-texte{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none}
.feuille-texte pre{white-space:pre-wrap}
.feuille-texte p{margin:0 0 .55em}
.feuille-texte h1{margin:.9em 0 .4em;font:700 22pt/1.2 Georgia,'Times New Roman',serif;color:#1d2b4f}
.feuille-texte h2{margin:.9em 0 .35em;font:700 16pt/1.25 Georgia,'Times New Roman',serif;color:#2b3f6e}
.feuille-texte h3{margin:.8em 0 .3em;font:700 13pt/1.3 Georgia,'Times New Roman',serif;color:#3a5084}
.feuille-texte>:first-child{margin-top:0}
.feuille-texte ul,.feuille-texte ol{margin:0 0 .6em;padding-left:1.6em}
.feuille-texte li>p{margin:0 0 .2em}
.feuille-texte blockquote{margin:.8em 0;padding:.2em 1em;border-left:4px solid #b89a63;color:#4a4a55;background:#f6f1e6}
.feuille-texte hr{margin:1.2em 0;border:0;border-top:2px solid #d9d9de}
.feuille-texte a{color:#1f64c4;text-decoration:underline;cursor:pointer}
.feuille-texte code{padding:1px 5px;border-radius:4px;background:#eceef2;font:10.5pt Consolas,'Courier New',monospace}
.feuille-texte pre{padding:12px 14px;border-radius:6px;background:#1e2230;color:#e6e8ef}
.feuille-texte pre code{padding:0;background:none;color:inherit}
.feuille-texte img{max-width:100%;height:auto;border-radius:2px}
.feuille-texte img.ProseMirror-selectednode{outline:3px solid #4a9be0}
.feuille-texte ul[data-type=taskList]{padding-left:.2em;list-style:none}
.feuille-texte ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}
.feuille-texte ul[data-type=taskList] li>label{flex:none;margin-top:.3em;user-select:none}
.feuille-texte ul[data-type=taskList] li>div{flex:1}
.feuille-texte ul[data-type=taskList] li[data-checked=true]>div{color:#8a8a94;text-decoration:line-through}
.feuille-texte p.is-editor-empty:first-child::before{content:attr(data-placeholder);float:left;height:0;color:#a0a0aa;pointer-events:none}
/* Mise en forme du texte (attributs data-*) */
.feuille-texte [data-align=center]{text-align:center}.feuille-texte [data-align=right]{text-align:right}.feuille-texte [data-align=justify]{text-align:justify}
.feuille-texte [data-taille="9"]{font-size:9pt}.feuille-texte [data-taille="10"]{font-size:10pt}.feuille-texte [data-taille="11"]{font-size:11pt}.feuille-texte [data-taille="12"]{font-size:12pt}.feuille-texte [data-taille="14"]{font-size:14pt}.feuille-texte [data-taille="16"]{font-size:16pt}.feuille-texte [data-taille="18"]{font-size:18pt}.feuille-texte [data-taille="20"]{font-size:20pt}.feuille-texte [data-taille="24"]{font-size:24pt}.feuille-texte [data-taille="28"]{font-size:28pt}.feuille-texte [data-taille="32"]{font-size:32pt}.feuille-texte [data-taille="36"]{font-size:36pt}
.feuille-texte [data-police=arial]{font-family:Arial,Helvetica,sans-serif}.feuille-texte [data-police=georgia]{font-family:Georgia,serif}.feuille-texte [data-police=times]{font-family:'Times New Roman',Times,serif}.feuille-texte [data-police=verdana]{font-family:Verdana,Geneva,sans-serif}.feuille-texte [data-police=trebuchet]{font-family:'Trebuchet MS',sans-serif}.feuille-texte [data-police=courier]{font-family:'Courier New',monospace}
.feuille-texte [data-couleur=noir]{color:#1c1c20}.feuille-texte [data-couleur=gris]{color:#6b6b76}.feuille-texte [data-couleur=rouge]{color:#c0392b}.feuille-texte [data-couleur=orange]{color:#d9731a}.feuille-texte [data-couleur=jaune]{color:#a67c00}.feuille-texte [data-couleur=vert]{color:#2e8b4a}.feuille-texte [data-couleur=turquoise]{color:#138d86}.feuille-texte [data-couleur=bleu]{color:#1f64c4}.feuille-texte [data-couleur=violet]{color:#7a3fc2}.feuille-texte [data-couleur=rose]{color:#c2397f}
.feuille-texte [data-surlignage=jaune]{background:#ffe066}.feuille-texte [data-surlignage=vert]{background:#b6f0a0}.feuille-texte [data-surlignage=cyan]{background:#a5ecf5}.feuille-texte [data-surlignage=rose]{background:#ffc2dd}.feuille-texte [data-surlignage=orange]{background:#ffd0a0}.feuille-texte [data-surlignage=bleu]{background:#bcd7ff}.feuille-texte [data-surlignage=gris]{background:#dcdce2}
/* Tableaux */
.feuille-texte .tableWrapper{max-width:100%;overflow-x:auto;margin:.6em 0}
.feuille-texte table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;overflow:hidden}
.feuille-texte td,.feuille-texte th{position:relative;min-width:60px;padding:6px 9px;border:1px solid #b8b8c2;vertical-align:top;box-sizing:border-box}
.feuille-texte th{background:#ecebe4;font-weight:700;text-align:left}
.feuille-texte td>p,.feuille-texte th>p{margin:0}
.feuille-texte .selectedCell::after{content:'';position:absolute;inset:0;z-index:2;background:#4a9be033;pointer-events:none}
.feuille-texte .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;z-index:3;background:#4a9be0;pointer-events:none}
.feuille-texte.resize-cursor,.resize-cursor .feuille-texte{cursor:col-resize}
/* ProseMirror : sélection, curseur de dépôt, curseur de bloc */
.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}
.ProseMirror-selectednode{outline:2px solid #4a9be0}
.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}
.ProseMirror-gapcursor:after{content:'';display:block;position:absolute;top:-2px;width:20px;border-top:1px solid #000;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}
@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}
.ProseMirror-focused .ProseMirror-gapcursor{display:block}
/* Curseurs des autres rédacteurs */
.curseur-distant{position:relative;margin-left:-1px;margin-right:-1px;border-left:2px solid;border-right:0;word-break:normal;pointer-events:none}
.curseur-nom{position:absolute;top:-1.5em;left:-2px;padding:1px 6px;border-radius:4px 4px 4px 0;color:#fff;font:600 11px/1.4 Arial,sans-serif;white-space:nowrap;user-select:none}
.feuille-texte .collaboration-cursor__label{display:none}
@media print{.ruban,.anim-haut,.anim-pied,.staff-nav,.anim-bandeau{display:none!important}.feuille{box-shadow:none;padding:0;width:auto}.anim-scene{border:0;background:#fff;padding:0}}
/* Plan de la page (animation-plan.js) : colonne à gauche de la feuille sur grand écran, repliable en dessous de 1320 px. */
.anim-corps{position:relative}
.anim-plan{position:absolute;top:0;bottom:0;left:16px;width:216px;pointer-events:none}
.anim-plan-bascule{display:none}
.anim-plan-boite{position:sticky;top:140px;display:grid;gap:2px;max-height:calc(100dvh - 170px);overflow:auto;padding:10px 6px 10px 12px;border-left:2px solid #ffffff14;pointer-events:auto;scrollbar-width:thin}
.anim-plan-boite::before{content:'Plan';display:block;margin:0 0 6px;color:var(--s-pale,#6f6f7d);font:600 11.5px var(--s-police,'Inter',sans-serif);letter-spacing:.1em;text-transform:uppercase}
.anim-plan-item{display:block;width:100%;margin:0;padding:5px 8px;border:0;border-left:2px solid transparent;border-radius:0 6px 6px 0;background:none;color:var(--s-doux,#a1a1ae);font:13px/1.35 var(--s-police,'Inter',sans-serif);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.anim-plan-item:hover{background:#ffffff0d;color:var(--s-texte,#ececf1)}
.anim-plan-item:focus-visible{outline:2px solid var(--s-or,#d3bb84);outline-offset:-2px}
.anim-plan-item.actif{border-left-color:var(--s-or,#d3bb84);background:#d3bb8414;color:var(--s-or-clair,#f0dca6)}
.anim-plan-n1{font-weight:600}.anim-plan-n2{padding-left:18px}.anim-plan-n3{padding-left:30px;font-size:12.5px}
.anim-plan-vide{margin:0;color:var(--s-pale,#6f6f7d);font-size:12px;line-height:1.45}
.feuille-texte h1,.feuille-texte h2,.feuille-texte h3{scroll-margin-top:150px}
@keyframes anim-plan-flash{0%,60%{background:#d3bb8466}100%{background:transparent}}
.feuille-texte .anim-plan-flash{animation:anim-plan-flash 1.4s ease-out;border-radius:4px}
@media(max-width:1320px){
 .anim-plan{position:static;width:auto;margin:0 0 10px;pointer-events:auto}
 .anim-plan-bascule{display:block;padding:7px 14px;border:1px solid #ffffff1c;border-radius:8px;background:#1a1a21;color:var(--s-doux,#a1a1ae);font:13px var(--s-police,'Inter',sans-serif);cursor:pointer}
 .anim-plan-bascule::after{content:' ▾'}.anim-plan.ouvert .anim-plan-bascule::after{content:' ▴'}
 .anim-plan-boite{position:static;display:none;max-height:40vh;margin-top:6px;border:1px solid #ffffff14;border-radius:8px;background:#101014}
 .anim-plan.ouvert .anim-plan-boite{display:grid}
}
