/* ============================================================
   Editeur de texte MDSL - styles du composant (framework/js/editeur_texte.js)
   Documentation : docs/modules/editeur_texte/README.md. Fichier produit a partir des sources du composant.
   Toutes les regles sont limitees au composant (.ed, .ed-couche des fenetres flottantes, .ed-medm de la mediatheque).
   Couleurs (03/10/2026) : celles du theme choisi (variables --color-* et --mdsl-* : $ListeThemeColor de
   application/general/init_constantes.php, framework/css/theme-color.php ; docs/architecture.md, "Themes de couleur"),
   valeurs de repli = theme Moderne (page sans variables de theme). Aucune couleur de marque en dur.
   - interface (barre, etagere, pied, menus, mediatheque) et editeurs d'une ligne ou de texte seul (objet, SMS) :
     neutres --mdsl-* du theme, sombres dans le theme sombre ;
   - zone de saisie d'un texte riche (courriel, page, questionnaire) : page blanche, neutres fixes, comme la zone de
     Summernote : le texte sera lu sur fond blanc (courriel, PDF, page publique), une couleur choisie y reste lisible ;
   - accent (mots-cles, blocs, liens, boutons actifs) : couleur primaire du theme (--color-1), melangee au fond et a
     l'encre de l'endroit (color-mix) pour rester lisible sur fond clair comme sur fond sombre ;
   - repris (orange) et retire (rouge) : --color-orange et --color-rouge, communes a tous les themes.
   ============================================================ */
.ed,.ed-couche,.ed-medm{
  --ed-c1:var(--color-1,#4A505B); --ed-orange:var(--color-orange,#F0AD4E); --ed-rouge-th:var(--color-rouge,#C55756);
  --ed-ardoise:var(--ed-c1); --ed-ardoise-2:var(--color-2,#686F7C); --ed-ardoise-3:var(--mdsl-encre-3,#A1A6AF);
  --ed-fond:var(--mdsl-piste,#F1F1F1); --ed-surface:var(--mdsl-surface,#FFFFFF); --ed-surface-2:var(--mdsl-survol,#F9F9F9);
  --ed-filet:var(--mdsl-filet,#D8D8D8); --ed-filet-2:var(--mdsl-filet,#EBEBEB);
  --ed-encre:var(--mdsl-encre,#333333); --ed-encre-2:var(--mdsl-encre-2,#626268);
  --ed-ambre-point:var(--ed-orange); --ed-ambre-fond:var(--color-orange-op-04,#FFF3DC); --ed-rouge-fond:var(--color-rouge-op-04,#FDECEA);
  --ed-ombre:0 1px 2px rgba(31,39,51,.06),0 10px 28px -14px rgba(31,39,51,.28);
  --ed-t-court:.14s; --ed-t-moyen:.24s; --ed-courbe:cubic-bezier(.2,.8,.2,1);
  font-family:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
/* Page blanche : zone de saisie d'un texte riche (pas l'objet ni le SMS, qui sont des champs) */
.ed:not(.ed-ligne):not(.ed-texte-seul) .ed-cadre{
  --ed-ardoise-2:#686F7C; --ed-ardoise-3:#A1A6AF;
  --ed-fond:#F1F1F1; --ed-surface:#FFFFFF; --ed-surface-2:#F9F9F9; --ed-filet:#D8D8D8; --ed-filet-2:#EBEBEB;
  --ed-encre:#333333; --ed-encre-2:#626268;
  background:var(--ed-surface);color:var(--ed-encre)
}
/* Accent, repris, retire : calcules sur le fond et l'encre de l'element (interface ou page blanche).
   Repli sans color-mix() (navigateurs anciens) : selection et bordure de selection du theme. */
.ed,.ed-couche,.ed-medm,.ed:not(.ed-ligne):not(.ed-texte-seul) .ed-cadre{
  --ed-accent-encre:var(--ed-c1); --ed-accent-fond:var(--mdsl-selection,#EAF1FA); --ed-accent-survol:var(--mdsl-selection-bord,#C7D7EC);
  --ed-accent-moyen:var(--mdsl-selection-bord,#C7D7EC); --ed-accent-bord:var(--mdsl-selection-bord,#C7D7EC);
  --ed-accent-bord-2:var(--mdsl-selection-bord,#C7D7EC); --ed-accent-voile:var(--ed-surface-2); --ed-accent-anneau:var(--mdsl-selection,#EAF1FA);
  --ed-ambre:#8A5200; --ed-rouge:#B42318;
}
@supports (background:color-mix(in srgb,red 10%,white)){
  .ed,.ed-couche,.ed-medm,.ed:not(.ed-ligne):not(.ed-texte-seul) .ed-cadre{
    --ed-accent-encre:color-mix(in srgb,var(--ed-c1) 60%,var(--ed-encre));
    --ed-accent-fond:color-mix(in srgb,var(--ed-c1) 12%,var(--ed-surface));
    --ed-accent-survol:color-mix(in srgb,var(--ed-c1) 22%,var(--ed-surface));
    --ed-accent-moyen:color-mix(in srgb,var(--ed-c1) 38%,var(--ed-surface));
    --ed-accent-bord:color-mix(in srgb,var(--ed-c1) 50%,var(--ed-surface));
    --ed-accent-bord-2:color-mix(in srgb,var(--ed-c1) 30%,var(--ed-surface));
    --ed-accent-voile:color-mix(in srgb,var(--ed-c1) 5%,var(--ed-surface));
    --ed-accent-anneau:color-mix(in srgb,var(--ed-c1) 16%,transparent);
    --ed-ambre:color-mix(in srgb,var(--ed-orange) 45%,var(--ed-encre));
    --ed-rouge:color-mix(in srgb,var(--ed-rouge-th) 75%,var(--ed-encre));
  }
}
.ed,.ed *,.ed-couche,.ed-couche *,.ed-medm,.ed-medm *{box-sizing:border-box}
.ed [hidden],.ed-couche [hidden],.ed-medm [hidden]{display:none !important}
/* Boutons et champs : sans les marges et hauteurs generales de forms.css (specificite nulle, les classes du composant decident) */
:where(.ed,.ed-couche,.ed-medm) button{margin:0;padding:0;line-height:normal;border-radius:0;cursor:pointer;font-family:inherit}
:where(.ed,.ed-couche,.ed-medm) input{margin:0;color:var(--ed-encre);background-color:var(--ed-surface)}
.ed :focus-visible,.ed-couche :focus-visible,.ed-medm :focus-visible{outline:2px solid var(--ed-accent-encre);outline-offset:2px}
/* Icones Font Awesome */
.ed .ic,.ed-couche .ic,.ed-medm .ic{display:inline-block;width:18px;font-size:15px;line-height:1;text-align:center;flex:0 0 auto}
.ed .ic.s,.ed-couche .ic.s{width:16px;font-size:13px}
.ed .ic.xs,.ed-couche .ic.xs{width:13px;font-size:11px}
/* Icones SVG (page sans Font Awesome, CFG.urlIcones : portail patient v2) : meme boite, hauteur de la police */
.ed svg.ic,.ed-couche svg.ic{height:1em;fill:currentColor;vertical-align:-.125em;overflow:visible}
/* Couche des fenetres flottantes : fixe sur toute la fenetre, sous les modales du framework (.modal-fp : 101) */
.ed-couche{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:100;color:var(--ed-encre);font-size:14px;line-height:1.45}
.ed-couche > *{pointer-events:auto}
/* Couche d'un editeur place dans une modale du framework (.modal-fp : 101, son contenu .modal-fp-container-root : 102) */
.modal-fp > .ed-couche{z-index:103}
@keyframes ed-monte{from{opacity:0;transform:translate(var(--tx,0),8px)}to{opacity:1;transform:translate(var(--tx,0),0)}}
.ed{font-size:14px;line-height:1.45;color:var(--ed-encre);text-align:left}

/* ---------- Mediatheque (modale du framework, application/parametrage/ajax_editeur_texte.php) ---------- */
.ed-medm{display:flex;flex-direction:column;gap:12px;padding:4px 2px 8px;color:var(--ed-encre);font-size:14px}
.ed-medm-tete{display:flex;gap:10px;align-items:center}
.ed-medm-q{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--ed-filet);border-radius:8px;font-size:14px}
.ed-medm-ajouter{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:0;border-radius:8px;background:var(--ed-ardoise);color:#FFFFFF;font-weight:600;white-space:nowrap}
.ed-medm-depot{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px dashed var(--ed-ardoise-3);border-radius:10px;background:var(--ed-surface-2);color:var(--ed-encre-2);font-size:13px;cursor:pointer}
.ed-medm-depot .ic{font-size:20px;width:24px;color:var(--ed-accent-encre)}
.ed-medm-depot.survol{border-color:var(--ed-accent-encre);background:var(--ed-accent-fond)}
.ed-medm-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px 10px;max-height:52vh;overflow:auto;padding:2px}
.ed-medm-it{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;text-align:left;color:inherit}
.ed-medm-choisir{display:block;padding:0;border:0;border-radius:8px;background:transparent}
.ed-medm-choisir img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--ed-filet-2);background:var(--ed-surface-2)}
.ed-medm-choisir img.ed-medm-etiree{object-fit:contain;padding:6px}
.ed-medm-choisir:hover img,.ed-medm-choisir:focus-visible img{border-color:var(--ed-accent-encre);box-shadow:0 0 0 2px var(--ed-accent-fond)}
.ed-medm-ligne{display:flex;align-items:center;gap:1px;min-width:0}
.ed-medm-nom{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-medm-act{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ed-encre-2);font-size:12px}
.ed-medm-act:hover,.ed-medm-act:focus-visible{background:var(--ed-fond);color:var(--ed-encre)}
/* Ou sert une image (fenetre de confirmation du framework, 23/10/2026) */
.ed-lieux{text-align:left}
.ed-lieux ul{margin:6px 0 10px;padding-left:20px}
.ed-lieux p{margin:0 0 6px}
.ed-medm .ed-medm-renom{flex:1;min-width:0;height:28px;padding:0 6px;border:1px solid var(--ed-accent-encre);border-radius:6px;font-size:12.5px;line-height:normal}
.ed-medm-info{font-size:11.5px;color:var(--ed-encre-2)}
.ed-medm-aucune,.ed-medm-vide{margin:6px 2px;color:var(--ed-encre-2);font-size:13px}
.ed-medm-pied{font-size:12px;color:var(--ed-encre-2)}

/* ---------- Texte de l'editeur affiche sans editeur (LireHtmlEditeur() du serveur, EdCoeur.versLecture()) ----------
   Memes marges que la zone de saisie ; aucune marge avant le premier bloc ni apres le dernier : un texte d'une ligne
   s'affiche sur une ligne, comme dans Summernote (sans cette feuille, le navigateur met 1 em autour de chaque paragraphe) */
.texte-mdsl{overflow-wrap:anywhere}
.texte-mdsl > :first-child{margin-top:0}
.texte-mdsl > :last-child{margin-bottom:0}
.texte-mdsl p{margin:0 0 .7em}
.texte-mdsl h2{margin:.9em 0 .4em;font-size:1.36em;line-height:1.3;font-weight:600}
.texte-mdsl h3{margin:.85em 0 .35em;font-size:1.1em;line-height:1.35;font-weight:700}
.texte-mdsl ul,.texte-mdsl ol{margin:0 0 .7em;padding-left:1.45em}
.texte-mdsl li{margin:.12em 0}
.texte-mdsl blockquote{margin:0 0 .7em;padding:.1em 0 .1em 14px;border-left:3px solid var(--mdsl-encre-3,#A1A6AF)}
.texte-mdsl hr{border:0;border-top:1px solid var(--mdsl-filet,#D8D8D8);margin:1.1em 0}
.texte-mdsl img{max-width:100%;height:auto}


.ed{position:relative;display:flex;flex-direction:column;container:editeur / inline-size;background:var(--ed-surface);border:1px solid var(--ed-filet);border-radius:10px;transition:border-color var(--ed-t-court) ease,box-shadow var(--ed-t-court) ease}
.ed.ed-focus{border-color:var(--ed-accent-encre);box-shadow:0 0 0 3px var(--ed-accent-anneau)}

/* ---------- Barre d'outils ---------- */
.ed-tete{position:sticky;top:var(--ed-colle,0px);z-index:6;background:var(--ed-surface);border-radius:10px 10px 0 0}
/* Collee en haut de la zone qui defile (--ed-colle : decalage voulu par la page, par ex. sa marge haute en negatif) :
   bord droit, ombre portee sur le texte qui passe dessous */
.ed.ed-collee .ed-tete,.ed.ed-collee .ed-barre{border-radius:0}
.ed.ed-collee .ed-tete{box-shadow:0 10px 14px -12px rgba(31,39,51,.4)}
.ed-barre{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:5px 6px;border-bottom:1px solid var(--ed-filet-2);background:var(--ed-surface);border-radius:10px 10px 0 0}
/* Barre etroite : le libelle \ab  Inserer \bb  laisse la place aux boutons (une seule rangee si possible) */
@container editeur (max-width: 900px){ .ed-barre .ed-txt{display:none} .ed-police{min-width:96px} }
/* Barre a la saisie : apparait quand on entre dans le texte (zones des questionnaires), posee au-dessus du cadre
   sans decaler le texte : le clic qui fait entrer dans la zone ne doit rien deplacer sous la souris. En plein ecran, barre
   ordinaire toujours affichee (posee au-dessus du cadre, elle sortait de l'ecran et disparaissait hors du texte) */
.ed.ed-barre-saisie:not(.ed-focus):not(.ed-garde):not(.ed-en-plein-ecran) .ed-tete{display:none}
.ed.ed-barre-saisie:not(.ed-en-plein-ecran) .ed-tete{position:absolute;left:-1px;right:-1px;top:auto;bottom:calc(100% - 1px);border:1px solid var(--ed-accent-encre);border-bottom:0;box-shadow:0 -8px 18px -12px rgba(31,39,51,.35);animation:ed-monte var(--ed-t-court) var(--ed-courbe)}
.ed.ed-barre-saisie.ed-focus:not(.ed-en-plein-ecran),.ed.ed-barre-saisie.ed-garde:not(.ed-en-plein-ecran){border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}
.ed-police{min-width:118px;justify-content:space-between;color:var(--ed-encre);font-size:13px;font-weight:600;border:1px solid var(--ed-filet-2)}
.ed-police-lib{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-grp{display:flex;align-items:center;gap:1px;padding-right:5px;margin-right:3px;border-right:1px solid var(--ed-filet-2)}
.ed-grp:empty{display:none}
.ed-grp.ed-fin{margin-left:auto;border-right:0;padding-right:0;margin-right:0}
.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;min-width:32px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:var(--ed-encre-2);transition:background var(--ed-t-court) ease,color var(--ed-t-court) ease}
.ed-btn:hover{background:var(--ed-fond);color:var(--ed-encre)}
.ed-btn[aria-pressed="true"]{background:var(--ed-accent-fond);color:var(--ed-accent-encre)}
.ed-btn .ic.xs{margin-left:-2px;opacity:.7}
.ed-lettre{font:700 15.5px/1 'Open Sans',system-ui,sans-serif;width:14px;text-align:center}
.ed-l-gras{font-weight:800}
.ed-l-italique{font-style:italic;font-weight:600;font-family:Georgia,'Times New Roman',serif;font-size:17px}
.ed-l-souligne{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.ed-l-barre{text-decoration:line-through;font-weight:600}
.ed-a{display:inline-flex;flex-direction:column;align-items:center;font:700 15px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-encre)}
.ed-a-trait{width:15px;height:3px;border-radius:2px;margin-top:2px;background:var(--ed-accent-encre)}
.ed-style{min-width:122px;justify-content:space-between;color:var(--ed-encre);font-size:13px;font-weight:600;border:1px solid var(--ed-filet-2)}
.ed-txt{font-size:13px;font-weight:600}
.ed-btn[data-action="inserer"]{color:var(--ed-accent-encre)}

/* ---------- Etagere des mots-cles (comme la liste de la v1, au-dessus du texte) ---------- */
.ed-etagere{display:flex;flex-wrap:wrap;align-items:center;gap:6px 6px;padding:8px 12px;border-bottom:1px solid var(--ed-filet-2);background:var(--ed-surface-2)}
.ed-etagere:empty{display:none}
.ed-etagere-lib{font-size:12px;color:var(--ed-encre-2);margin-right:2px}
.ed-etagere-lib + .ed-puce{margin-left:0}
.ed-puce + .ed-etagere-lib{margin-left:10px}
.ed-puce{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px 0 15px;border:0;font:600 12.5px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-accent-encre);
  background:radial-gradient(circle at 7px 50%,var(--ed-surface-2) 2px,transparent 2.5px),var(--ed-accent-fond);
  clip-path:polygon(6px 0,100% 0,100% 100%,6px 100%,0 50%);border-radius:0 5px 5px 0;transition:background-color var(--ed-t-court) ease,transform var(--ed-t-court) ease}
.ed-puce:hover{background-color:var(--ed-accent-survol)}
.ed-puce:active{transform:translateY(1px)}
.ed-puce.contexte{background:radial-gradient(circle at 7px 50%,var(--ed-surface-2) 2px,transparent 2.5px),var(--ed-accent-moyen);color:var(--ed-accent-encre)}
.ed-puce.ed-puce-bloc{clip-path:none;border-radius:6px;padding:0 10px;background:var(--ed-surface);border:1.5px dashed var(--ed-accent-bord)}
.ed-puce.ed-puce-bloc:hover{background:var(--ed-accent-fond)}

/* ---------- Zone de saisie ---------- */
.ed-cadre{position:relative;flex:1}
/* Page blanche en haut ou en bas du cadre (aucune barre, barre a la saisie hors saisie, telephone, sans pied) : coins arrondis
   comme le cadre, sinon ses angles droits mangent la bordure arrondie (27/10/2026) */
.ed.ed-sans-barre:not(.ed-en-plein-ecran) .ed-cadre,
.ed.ed-barre-saisie:not(.ed-focus):not(.ed-garde):not(.ed-en-plein-ecran) .ed-cadre{border-top-left-radius:9px;border-top-right-radius:9px}
.ed:not(.ed-en-plein-ecran):not(:has(> .ed-pied:not(.ed-pied-vide))) .ed-cadre{border-bottom-left-radius:9px;border-bottom-right-radius:9px}
@media (max-width: 620px){
  .ed:not(.ed-en-plein-ecran):not(.ed-barre-saisie) .ed-cadre{border-top-left-radius:9px;border-top-right-radius:9px}
}
.ed-zone{position:relative;min-height:230px;padding:16px 22px 18px 40px;outline:none;font:400 15px/1.62 'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;color:var(--ed-encre);overflow-wrap:anywhere;caret-color:var(--ed-accent-encre)}
.ed-zone > :first-child,.ed-cas > :first-child{margin-top:0}
.ed-zone p,.ed-cas p{margin:0 0 .7em}
.ed-zone h2{margin:.9em 0 .4em;font-size:1.36em;line-height:1.3;font-weight:600;color:#2A2F36}
.ed-zone h3{margin:.85em 0 .35em;font-size:1.1em;line-height:1.35;font-weight:700;color:#2A2F36}
.ed-zone ul,.ed-zone ol{margin:0 0 .7em;padding-left:1.45em}
.ed-zone li{margin:.12em 0}
.ed-zone li::marker{color:var(--ed-ardoise-2)}
.ed-zone blockquote{margin:0 0 .7em;padding:.1em 0 .1em 14px;border-left:3px solid var(--ed-ardoise-3);color:var(--ed-encre-2)}
.ed-zone hr{border:0;border-top:1px solid var(--ed-filet);margin:1.1em 0;cursor:default}
.ed-zone a{color:var(--ed-accent-encre);text-decoration:underline;text-underline-offset:2px}
.ed-zone b,.ed-zone strong{font-weight:700}
.ed.ed-vide .ed-zone::before{content:attr(data-attente);position:absolute;left:40px;top:16px;color:var(--ed-ardoise-3);pointer-events:none}
.ed-ligne .ed-zone{min-height:0;padding:8px 46px 8px 12px;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.ed-ligne .ed-zone p{margin:0}
.ed-ligne.ed-vide .ed-zone::before{left:12px;top:8px}
.ed-ligne-outils{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;gap:1px;background:var(--ed-surface);box-shadow:-12px 0 10px -2px var(--ed-surface)}
.ed-ligne-outils:empty{display:none}
.ed-ligne-mc{color:var(--ed-accent-encre)}
.ed-ligne-mc:hover,.ed-ligne-emo:hover{background:var(--ed-fond)}
.ed-ligne.ed-ligne-2 .ed-zone{padding-right:80px}
.ed-texte-seul .ed-zone{min-height:140px;padding-left:22px}
.ed-texte-seul .ed-zone p{margin:0;min-height:1.62em}
.ed-texte-seul.ed-vide .ed-zone::before{left:22px}

/* ---------- Mot-cle dans le texte : etiquette ---------- */
.ed-mc{display:inline-block;padding:0 .48em 0 .95em;margin:0 .06em;line-height:1.5;border-radius:0 4px 4px 0;font-size:.9em;font-weight:600;color:var(--ed-accent-encre);white-space:nowrap;cursor:pointer;vertical-align:baseline;
  background:radial-gradient(circle at .5em 50%,var(--ed-surface) .13em,transparent .16em),var(--ed-accent-fond);
  clip-path:polygon(.42em 0,100% 0,100% 100%,.42em 100%,0 50%);user-select:all;transition:background-color var(--ed-t-court) ease}
.ed-mc:hover{background-color:var(--ed-accent-survol)}
.ed-mc .ic{width:auto;font-size:.82em;vertical-align:0;margin-right:.32em}
.ed-mc.ed-tampon,.ed-bloc.ed-tampon{animation:ed-tampon .5s var(--ed-courbe)}
@keyframes ed-tampon{0%{transform:scale(.82);filter:brightness(1.12)}55%{transform:scale(1.07)}100%{transform:none;filter:none}}

/* ---------- Bloc de mots-cles : un texte par cas ---------- */
.ed-bloc{margin:.35em 0 .95em;border:1.5px dashed var(--ed-accent-bord);border-radius:10px;background:var(--ed-surface);font-size:15px;transform-origin:20% 50%}
.ed-bloc-tete{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:6px 6px 6px 12px;border-bottom:1px dashed var(--ed-accent-bord-2);background:var(--ed-accent-voile);border-radius:9px 9px 0 0;user-select:none;font-size:13px;line-height:1.3}
.ed-bloc-titre{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ed-accent-encre)}
.ed-bloc-cas{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--ed-filet);border-radius:8px;background:var(--ed-surface)}
.ed-bloc-cas button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ed-encre-2);font:600 12.5px/1 'Open Sans',system-ui,sans-serif;transition:background var(--ed-t-court) ease,color var(--ed-t-court) ease}
.ed-bloc-cas button:hover{color:var(--ed-encre);background:var(--ed-surface-2)}
.ed-bloc-cas button[aria-selected="true"]{background:var(--ed-accent-encre);color:#FFFFFF}
.ed-bloc-cas .pt{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;flex:0 0 auto}
.ed-bloc-cas .plein .pt{background:currentColor}
.ed-bloc-menu{margin-left:auto;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ed-encre-2);display:grid;place-items:center}
.ed-bloc-menu:hover{background:var(--ed-surface)}
.ed-cas{padding:10px 14px 2px;outline:none;min-height:2.4em}
.ed-cas::before{content:attr(data-libelle);display:block;margin:0 0 5px;font-size:12px;font-weight:600;color:var(--ed-accent-encre);user-select:none;pointer-events:none}
.ed-cas:focus{background:var(--ed-accent-voile);border-radius:0 0 9px 9px}

/* ---------- Repris de l'ancien editeur ---------- */
.ed-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;background:var(--ed-ambre-fond);color:var(--ed-ambre);font:700 11.5px/1 'Open Sans',system-ui,sans-serif;white-space:nowrap}
.ed-ilot{margin:.35em 0 .95em;border:1.5px dotted var(--ed-ambre-point);border-radius:9px;background:#FFFCF5;font-size:14px;user-select:none}
.ed-ilot-tete{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 8px;border-bottom:1px dotted #EDC98A;font-size:12.5px;line-height:1.3}
.ed-ilot-aide{color:var(--ed-ambre);flex:1;min-width:160px}
.ed-ilot-contenu{padding:8px 12px 10px;overflow-x:auto;user-select:text}
.ed-ilot-contenu table{border-collapse:collapse;min-width:60%}
.ed-ilot-contenu td,.ed-ilot-contenu th{border:1px solid #E8DCC4;padding:4px 9px;text-align:left;vertical-align:top}
.ed-montrer-repris .ed-repris-mk{text-decoration:underline dotted var(--ed-ambre-point) 2px;text-underline-offset:4px}
.ed-montrer-repris .ed-repris-bl{background:linear-gradient(90deg,#FFF6E4,rgba(255,246,228,0) 70%);border-radius:4px}
.ed-mini{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--ed-filet);border-radius:6px;background:var(--ed-surface);font:600 12.5px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-encre);white-space:nowrap}
.ed-mini:hover{border-color:var(--ed-ardoise-3)}
.ed-mini.danger{color:var(--ed-rouge)}
.ed-mini.plein{background:var(--ed-ardoise);border-color:var(--ed-ardoise);color:#FFFFFF}

/* ---------- Images ---------- */
.ed-img{position:relative;display:block;margin:.3em 0 .9em;cursor:pointer;user-select:none;border-radius:7px;outline:2px solid transparent;outline-offset:3px;transition:outline-color var(--ed-t-court) ease}
.ed-img img{display:block;width:100%;border-radius:6px}
.ed-img:hover{outline-color:var(--ed-accent-moyen)}
.ed-img[data-taille="25"]{width:25%}.ed-img[data-taille="50"]{width:50%}.ed-img[data-taille="75"]{width:75%}
.ed-img[data-align="centre"]{margin-left:auto;margin-right:auto}
.ed-img[data-align="droite"]{margin-left:auto}
.ed-img[data-align="droite"]:not([data-taille="100"]){float:right;margin:.2em 0 .6em 16px}
.ed-img[data-align="gauche"]:not([data-taille="100"]){float:left;margin:.2em 16px .6em 0}
.ed-zone h2,.ed-zone h3,.ed-zone table,.ed-zone .ed-bloc,.ed-zone .ed-ilot,.ed-zone hr{clear:both}
.ed-img.ed-repris{outline:1.5px dotted var(--ed-ambre-point)}
.ed-img .ed-badge{position:absolute;left:8px;top:8px}

/* ---------- Poignee de paragraphe (survol) ---------- */
.ed-poignee{position:absolute;left:8px;width:24px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ed-ardoise-3);display:grid;place-items:center;cursor:pointer;z-index:2;transition:top 90ms ease,background var(--ed-t-court) ease}
.ed-poignee:hover{background:var(--ed-fond);color:var(--ed-encre)}
.ed-eclair{animation:ed-eclair 1.4s ease}
@keyframes ed-eclair{0%,30%{background-color:var(--ed-ambre-fond);box-shadow:0 0 0 4px var(--ed-ambre-fond)}100%{background-color:transparent;box-shadow:0 0 0 4px transparent}}

/* ---------- Pied : contexte, compteur ---------- */
.ed-pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;min-height:36px;padding:6px 12px;border-top:1px solid var(--ed-filet-2);font-size:12.5px;color:var(--ed-encre-2);position:sticky;bottom:var(--ed-colle-bas,0px);z-index:5;background:var(--ed-surface);border-radius:0 0 10px 10px}
/* Pied colle en bas de la zone qui defile (texte long) : la ligne de contexte (\ab  Convertir \bb ...) reste visible */
.ed-pied.ed-pied-vide{display:none}
.ed.ed-pied-colle .ed-pied{border-radius:0;box-shadow:0 -10px 14px -12px rgba(31,39,51,.4)}
.ed-contexte,.ed-compte{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ed-compte{margin-left:auto}
.ed-ctx{display:inline-flex;align-items:center;gap:6px}
.ed-ctx.repris{color:var(--ed-ambre)}
.ed-ctx.cas{color:var(--ed-accent-encre);font-weight:600}
.ed kbd,.ed-couche kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--ed-filet);border-bottom-width:2px;border-radius:4px;background:var(--ed-surface);color:var(--ed-encre);font:600 11.5px/1.35 'Open Sans',system-ui,sans-serif;text-align:center}
.ed-lien-btn{border:0;background:transparent;padding:0;color:var(--ed-accent-encre);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ed-alerte{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:0;border-radius:12px;background:var(--ed-rouge-fond);color:var(--ed-rouge);font:600 12px/1 'Open Sans',system-ui,sans-serif}
.ed-nb{font-variant-numeric:tabular-nums;white-space:nowrap}
.ed-nb.plusieurs{color:var(--ed-ambre);font-weight:600}
/* Limite de caracteres donnee par l'ecran (option maxCaracteres) */
.ed-nb.ed-limite.depasse{color:var(--ed-rouge);font-weight:600}
/* Message pour les lecteurs d'ecran (role=status), invisible a l'ecran */
.ed-annonce{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Lecture seule a la volee : barre, etagere et dock grises et inactifs (inert) */
.ed.ed-lecture .ed-tete,.ed.ed-lecture .ed-etagere,.ed.ed-lecture .ed-dock{opacity:.45}
.ed.ed-lecture .ed-zone{cursor:default}

/* ---------- Fenetres flottantes ---------- */
.ed-pop{position:absolute;z-index:80;background:var(--ed-surface);border:1px solid var(--ed-filet);border-radius:10px;box-shadow:var(--ed-ombre);font-size:13.5px;color:var(--ed-encre);animation:ed-monte var(--ed-t-court) var(--ed-courbe)}
.ed-pop .ic{width:16px;font-size:13px}
.ed-sugg{width:310px;max-height:330px;display:flex;flex-direction:column;overflow:hidden}
.ed-sugg-tete{padding:8px 12px 4px;font-size:12px;color:var(--ed-encre-2);display:flex;align-items:center;gap:6px}
.ed-sugg-q{padding:1px 6px;border-radius:5px;background:var(--ed-surface-2);color:var(--ed-encre);font-weight:600}
.ed-sugg-liste{overflow:auto;padding:2px 5px 5px;display:flex;flex-direction:column}
.ed-sugg-it{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:7px;background:transparent;text-align:left;color:inherit}
.ed-sugg-it[aria-selected="true"]{background:var(--ed-accent-fond)}
.ed-sugg-it:hover{background:var(--ed-surface-2)}
.ed-sugg-it[aria-selected="true"]:hover{background:var(--ed-accent-fond)}
.ed-sugg-ic{width:28px;height:28px;flex:0 0 auto;border-radius:7px;background:var(--ed-surface-2);display:grid;place-items:center;color:var(--ed-accent-encre)}
.ed-sugg-it[aria-selected="true"] .ed-sugg-ic{background:var(--ed-surface)}
.ed-emo-car{font-size:19px;line-height:1}
.ed-sugg-lib{flex:1;min-width:0;font-weight:600}
.ed-sugg-lib small{font-weight:400;color:var(--ed-accent-encre);margin-left:4px}
.ed-sugg-code{font:500 11.5px/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--ed-encre-2);white-space:nowrap}
.ed-sugg-rien{margin:6px 8px 8px;color:var(--ed-encre-2);font-size:13px}
.ed-sugg-it.emo{padding:5px 8px}
.ed-sugg-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ed-sugg-it.emo .ed-sugg-lib{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-sugg-it.emo .ed-sugg-code{font-size:11px;overflow:hidden;text-overflow:ellipsis}
.ed-sugg-pied{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;border-top:1px solid var(--ed-filet-2);font-size:11.5px;color:var(--ed-encre-2)}
.ed-sugg-pied kbd{font-size:10.5px;padding:0 4px}
.ed-sugg-pied kbd + kbd{margin-left:-1px}
.ed-menu{min-width:230px;max-width:300px;padding:5px;display:flex;flex-direction:column}
.ed-menu-titre{padding:6px 10px 3px;font-size:12px;color:var(--ed-encre-2)}
.ed-menu-it{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:transparent;text-align:left;color:inherit;font-size:13.5px}
.ed-menu-it:hover,.ed-menu-it:focus-visible{background:var(--ed-surface-2);outline:none}
.ed-menu-it[disabled]{opacity:.4;cursor:default}
.ed-menu-it.danger{color:var(--ed-rouge)}
.ed-menu-it .ic{color:var(--ed-encre-2)}
.ed-menu-it.danger .ic{color:var(--ed-rouge)}
.ed-menu-lib{flex:1}
.ed-menu-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ed-menu-desc{font-size:12px;color:var(--ed-encre-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-menu-conseil{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:9px;background:var(--ed-accent-fond);color:var(--ed-accent-encre);font-size:11px;font-weight:600;vertical-align:1px}
.ed-menu-convertir{width:330px;max-width:calc(100% - 16px)}
.ed-menu-convertir .ed-menu-it{align-items:flex-start;padding:8px 10px}
.ed-menu-convertir .ed-menu-it > .ic{margin-top:2px;color:var(--ed-accent-encre)}
.ed-menu-aide{font-size:12px;color:var(--ed-encre-2)}
.ed-menu-it .ed-coche{color:var(--ed-accent-encre)}
.ed-menu-vide{width:16px;flex:0 0 auto}
.ed-menu-sep{height:1px;background:var(--ed-filet-2);margin:4px 4px}
.ed-ap{width:30px;flex:0 0 auto;text-align:center;line-height:1.1;color:var(--ed-encre)}
.ed-ap-p{font-size:14px}.ed-ap-t{font-size:19px;font-weight:600}.ed-ap-st{font-size:15.5px;font-weight:700}
.ed-ap-c{font-size:14px;color:var(--ed-encre-2);border-left:2.5px solid var(--ed-ardoise-3);padding-left:4px}
.ed-nuancier{display:flex;flex-wrap:wrap;gap:7px;padding:4px 10px 10px}
.ed-nuance{width:24px;height:24px;border-radius:50%;border:2px solid var(--ed-surface);box-shadow:0 0 0 1px var(--ed-filet);background:var(--n);padding:0;transition:transform var(--ed-t-court) ease}
.ed-nuance:hover{transform:scale(1.15)}
.ed-nuance.fond{border-radius:6px}
.ed-nuance.choisie{box-shadow:0 0 0 2px var(--ed-accent-encre)}
.ed-nuance-plus{display:grid;place-items:center;background:var(--ed-surface);border:1px dashed var(--ed-ardoise-3);box-shadow:none;color:var(--ed-encre-2)}
.ed-nuance-plus .ic.s{width:14px;font-size:11px}
.ed-nuance-plus:hover{border-color:var(--ed-accent-encre);color:var(--ed-accent-encre)}
/* Menu des couleurs : titre et retour au defaut sur une ligne, pastilles en grille, \ab  + \bb  = autre couleur */
.ed-menu.ed-menu-couleur{min-width:0;max-width:none;padding:2px 0 12px}
.ed-coul + .ed-coul{margin-top:8px;border-top:1px solid var(--ed-filet-2)}
.ed-coul-tete{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px 7px;font-size:12px;color:var(--ed-encre-2)}
.ed-coul-raz{border:0;background:transparent;margin:-3px -6px -3px 0;padding:3px 6px;border-radius:5px;font:600 12px/1.2 'Open Sans',system-ui,sans-serif;color:var(--ed-accent-encre)}
.ed-coul-raz:hover{background:var(--ed-surface-2)}
.ed-coul-lib{padding:10px 12px 6px;font-size:12px;color:var(--ed-encre-2)}
.ed-coul-grille{display:grid;grid-template-columns:repeat(8,24px);gap:8px;padding:0 12px}
.ed-carte{width:290px;padding:12px;display:flex;flex-direction:column;gap:9px}
.ed-carte-tete{display:flex;align-items:center;gap:8px;min-width:0}
.ed-carte-tete .ic{color:var(--ed-accent-encre)}
.ed-carte p{margin:0;color:var(--ed-encre-2);font-size:13px}
.ed-url{color:var(--ed-accent-encre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ed-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}
.ed-dl dt{color:var(--ed-encre-2)}
.ed-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ed-dl code,.ed-emo-nom code{font:500 12px/1.3 ui-monospace,'SF Mono',Menlo,Consolas,monospace;background:var(--ed-surface-2);padding:1px 5px;border-radius:4px}
.ed-raccourcis dt{white-space:nowrap}
.ed-carte-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.ed-champ{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ed-encre-2)}
.ed-champ input{height:34px;border:1px solid var(--ed-filet);border-radius:7px;padding:0 10px;font:400 14px 'Open Sans',system-ui,sans-serif;color:var(--ed-encre);background:var(--ed-surface)}
.ed-champ input:focus{outline:2px solid var(--ed-accent-encre);outline-offset:-1px;border-color:transparent}
.ed-erreur{color:var(--ed-rouge) !important;font-size:12.5px}
.ed-seg{display:inline-flex;border:1px solid var(--ed-filet);border-radius:7px;overflow:hidden;align-self:flex-start}
.ed-seg button{height:28px;padding:0 9px;border:0;background:transparent;font:600 12.5px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-encre-2)}
.ed-seg button + button{border-left:1px solid var(--ed-filet-2)}
.ed-seg button[aria-pressed="true"]{background:var(--ed-accent-fond);color:var(--ed-accent-encre)}
.ed-liste-r{margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:4px}
.ed-liste-r small{color:var(--ed-encre-2)}
.ed-note{font-size:12px !important}

/* Emojis (facon Discord : recherche, categories, nom :code: au survol) */
.ed-emojis{width:348px;height:390px;display:flex;flex-direction:column;overflow:hidden}
.ed-emo-tete{padding:8px 8px 6px}
.ed-emo-tete input{width:100%;height:34px;border:1px solid var(--ed-filet);border-radius:8px;padding:0 10px;font:400 13.5px 'Open Sans',system-ui,sans-serif;background:var(--ed-surface-2)}
.ed-emo-tete input:focus{outline:2px solid var(--ed-accent-encre);outline-offset:-1px;background:var(--ed-surface)}
.ed-emo-cats{display:flex;gap:2px;padding:0 8px 6px;border-bottom:1px solid var(--ed-filet-2)}
.ed-emo-cats button{width:34px;height:32px;border:0;border-radius:7px;background:transparent;font-size:18px;line-height:1}
.ed-emo-cats button:hover{background:var(--ed-surface-2)}
.ed-emo-grille{flex:1;overflow:auto;padding:0 8px 8px;position:relative}
.ed-emo-sec{position:sticky;top:0;z-index:1;padding:8px 2px 4px;background:var(--ed-surface);font-size:12px;font-weight:600;color:var(--ed-encre-2)}
.ed-emo-lot{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}
.ed-emo{aspect-ratio:1;border:0;border-radius:7px;background:transparent;font-size:22px;line-height:1;padding:0;transition:background var(--ed-t-court) ease,transform var(--ed-t-court) ease}
.ed-emo:hover,.ed-emo:focus-visible{background:var(--ed-accent-fond);transform:scale(1.12);outline:none}
.ed-emo-pied{display:flex;align-items:center;gap:10px;min-height:50px;padding:6px 12px;border-top:1px solid var(--ed-filet-2);background:var(--ed-surface-2)}
.ed-emo-gros{font-size:28px;line-height:1;width:32px;text-align:center}
.ed-emo-nom{font-size:12.5px;color:var(--ed-encre-2);display:flex;flex-direction:column;gap:2px}

/* Feuille du bas (telephone) */
.ed-pop.ed-feuille{left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:64%;border-radius:16px 16px 0 0;border-bottom:0;animation:ed-feuille var(--ed-t-moyen) var(--ed-courbe);box-shadow:0 -10px 30px -12px rgba(31,39,51,.35)}
.ed-pop.ed-feuille::before{content:"";display:block;width:38px;height:4px;border-radius:2px;background:var(--ed-filet);margin:8px auto 2px}
.ed-emojis.ed-feuille{height:62%}
@keyframes ed-feuille{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}

/* ---------- Bulle : outils pres de la selection (ordinateur) ---------- */
.ed-bulle{position:absolute;z-index:85;display:flex;align-items:center;gap:1px;padding:4px;background:var(--ed-ardoise);border-radius:9px;box-shadow:0 8px 24px -10px rgba(31,39,51,.55);animation:ed-monte var(--ed-t-court) var(--ed-courbe)}
.ed-bulle .ed-btn{color:#FFFFFF;height:30px;min-width:30px}
.ed-bulle .ed-btn:hover{background:rgba(255,255,255,.16);color:#FFFFFF}
.ed-bulle .ed-btn[aria-pressed="true"]{background:#FFFFFF;color:var(--ed-ardoise)}
.ed-bulle .ed-a{color:#FFFFFF}
.ed-bulle .ic{width:16px;font-size:13px}
.ed-bulle-sep{width:1px;height:18px;background:rgba(255,255,255,.25);margin:0 3px}

/* ---------- Tableaux ---------- */
.ed-zone table.ed-table{border-collapse:collapse;width:100%;margin:.3em 0 .9em}
.ed-zone table.ed-table td,.ed-zone table.ed-table th{padding:6px 8px;vertical-align:top;border:1px dashed #CFD3D8;text-align:left;min-width:44px}
.ed-zone table.ed-table[data-bordures="1"] td,.ed-zone table.ed-table[data-bordures="1"] th{border:1px solid #C3C8CE}
.ed-zone table.ed-table th{font-weight:600;background:var(--ed-surface-2)}
.ed-zone table.ed-table td:focus-within,.ed-zone table.ed-table th:focus-within{box-shadow:inset 0 0 0 2px var(--ed-accent-moyen)}
.ed-img-cel{max-width:100%;vertical-align:middle;border-radius:4px;cursor:pointer}
.ed-pastille-tableau{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--ed-filet);border-radius:13px;background:var(--ed-surface);font:600 12px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-encre-2);box-shadow:var(--ed-ombre)}
.ed-pastille-tableau:hover{color:var(--ed-encre);border-color:var(--ed-ardoise-3)}
.ed-choix-tab{padding:4px 8px 10px}
.ed-tab-grille{display:grid;grid-template-columns:repeat(8,22px);gap:3px;padding:2px}
.ed-tab-grille button{width:22px;height:22px;border:1px solid var(--ed-filet);border-radius:3px;background:var(--ed-surface);padding:0}
.ed-tab-grille button.actif{background:var(--ed-accent-fond);border-color:var(--ed-accent-encre)}
.ed-tab-dim{font-weight:700;color:var(--ed-encre);margin-left:6px;font-variant-numeric:tabular-nums}
.ed-tab-form{display:flex;flex-direction:column;gap:12px;padding:14px 16px 18px}
.ed-tab-pas{display:flex;align-items:center;gap:12px;font-size:15px}
.ed-tab-pas span{flex:1}
.ed-tab-pas button{width:44px;height:44px;border:1px solid var(--ed-filet);border-radius:12px;background:var(--ed-surface);font-size:20px}
.ed-tab-pas b{min-width:28px;text-align:center;font-size:17px;font-variant-numeric:tabular-nums}
.ed-tab-ok{height:44px;font-size:15px;justify-content:center}

/* ---------- Liste des mots-cles (bouton, sans crochet) ---------- */
.ed-liste-mc{width:310px}
.ed-liste-mc-tete{padding:8px 8px 4px}
.ed-liste-mc-tete input,.ed-med-tete input{width:100%;height:32px;border:1px solid var(--ed-filet);border-radius:8px;padding:0 10px;font:400 13.5px 'Open Sans',system-ui,sans-serif;background:var(--ed-surface-2)}
.ed-liste-mc-tete input:focus,.ed-med-tete input:focus{outline:2px solid var(--ed-accent-encre);outline-offset:-1px;background:var(--ed-surface)}

/* ---------- Couleurs : nuancier, couleur libre (equivalent d'OpenColorPicker) ---------- */
.ed-picker{width:290px;padding:12px;display:flex;flex-direction:column;gap:10px}
.ed-pk-sv{position:relative;height:150px;border-radius:8px;cursor:crosshair;touch-action:none}
.ed-pk-blanc,.ed-pk-noir{position:absolute;inset:0;border-radius:8px}
.ed-pk-blanc{background:linear-gradient(to right,#FFFFFF,rgba(255,255,255,0))}
.ed-pk-noir{background:linear-gradient(to top,#000000,rgba(0,0,0,0))}
.ed-pk-curseur,.ed-pk-curseur-t{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid #FFFFFF;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.45);pointer-events:none}
.ed-pk-curseur-t{top:50%}
.ed-pk-ligne{display:flex;align-items:center;gap:10px}
.ed-pk-apercu{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);flex:0 0 auto}
.ed-pk-teinte{position:relative;flex:1;height:12px;border-radius:6px;background:linear-gradient(to right,#F00,#FF0,#0F0,#0FF,#00F,#F0F,#F00);cursor:pointer;touch-action:none}
.ed-pk-champs{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:6px}
.ed-pk-champs label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ed-encre-2);text-align:center}
.ed-pk-champs input{height:30px;width:100%;min-width:0;border:1px solid var(--ed-filet);border-radius:6px;text-align:center;font:500 13px 'Open Sans',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.ed-pk-vide{font-size:12.5px;color:var(--ed-encre-2);padding:0 2px}
.ed-picker .ed-menu-titre,.ed-picker .ed-nuancier{padding-left:0;padding-right:0}

/* ---------- Mediatheque ---------- */
.ed-med{width:460px;max-height:460px;display:flex;flex-direction:column;overflow:hidden}
.ed-med-tete{display:flex;gap:8px;padding:10px 10px 4px}
.ed-med-tete .ed-mini{height:32px}
.ed-med-depot{display:flex;align-items:center;gap:10px;margin:6px 10px 8px;padding:10px 12px;border:1.5px dashed var(--ed-ardoise-3);border-radius:10px;font-size:12.5px;color:var(--ed-encre-2);cursor:pointer;transition:background var(--ed-t-court) ease,border-color var(--ed-t-court) ease}
.ed-med-depot b{color:var(--ed-encre)}
.ed-med-depot:hover,.ed-med-depot.survol{border-color:var(--ed-accent-encre);background:var(--ed-accent-fond)}
.ed-med-depot .ic{color:var(--ed-accent-encre)}
.ed-med-grille{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;padding:2px 10px 12px;align-content:start}
.ed-med-it{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0}
.ed-med-vignette{aspect-ratio:4/3;padding:0;border:1px solid var(--ed-filet);border-radius:8px;overflow:hidden;background:var(--ed-surface-2);transition:outline-color var(--ed-t-court) ease;outline:2px solid transparent;outline-offset:1px}
.ed-med-vignette img{width:100%;height:100%;object-fit:cover;display:block}
.ed-med-vignette:hover{outline-color:var(--ed-accent-moyen)}
.ed-med-nom{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-med-info{font-size:11px;color:var(--ed-encre-2);font-variant-numeric:tabular-nums}
.ed-med-plus{position:absolute;top:5px;right:5px;width:24px;height:24px;border:0;border-radius:50%;background:var(--ed-surface);box-shadow:var(--ed-ombre);display:grid;place-items:center;opacity:0;color:var(--ed-rouge)}
.ed-med-it:hover .ed-med-plus,.ed-med-plus:focus-visible{opacity:1}
.ed-med-pied{padding:8px 12px;border-top:1px solid var(--ed-filet-2);font-size:11.5px;color:var(--ed-encre-2);background:var(--ed-surface-2)}

/* ---------- Feuilles du bas (telephone) ---------- */
.ed-feuille-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 8px 8px 16px;border-bottom:1px solid var(--ed-filet-2)}
.ed-feuille-tete b{font-size:15px}
.ed-feuille-fermer{width:40px;height:40px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;color:var(--ed-encre-2)}
.ed-pop.ed-feuille{overflow:auto}
.ed-feuille.ed-menu,.ed-feuille.ed-sugg,.ed-feuille.ed-med,.ed-feuille.ed-carte,.ed-feuille.ed-picker{width:auto;max-width:none;min-width:0}
.ed-feuille.ed-carte,.ed-feuille.ed-picker{padding:0 0 16px}
.ed-feuille .ed-coul-tete,.ed-feuille .ed-coul-lib,.ed-feuille .ed-coul-grille{padding-left:0;padding-right:0}
.ed-feuille .ed-coul-tete{padding-top:0;font-size:12.5px}
.ed-feuille .ed-coul-raz{font-size:13.5px;padding:7px 8px;margin:-7px -8px -7px 0}
.ed-feuille .ed-coul-grille{grid-template-columns:repeat(8,minmax(0,36px));gap:8px;justify-content:space-between}
.ed-feuille .ed-coul-grille .ed-nuance{width:100%;height:auto;aspect-ratio:1}
.ed-feuille.ed-menu-couleur .ed-coul{padding:12px 16px 4px}
.ed-feuille .ed-coul + .ed-coul{margin-top:10px}
.ed-feuille.ed-carte > *:not(.ed-feuille-tete),.ed-feuille.ed-picker > *:not(.ed-feuille-tete){margin-left:16px;margin-right:16px}
.ed-feuille.ed-carte .ed-carte-tete:not(.ed-feuille-tete){margin-top:12px}
.ed-feuille.ed-picker .ed-pk-sv{margin-top:12px;height:170px}
.ed-feuille .ed-menu-it{padding:12px 14px;font-size:15px}
.ed-feuille .ed-sugg-it{padding:10px 12px}
.ed-feuille .ed-mini{height:40px;padding:0 14px;font-size:14px}
.ed-feuille .ed-seg button{height:38px;padding:0 12px}
.ed-feuille .ed-champ input{height:42px;font-size:16px}
.ed-feuille .ed-nuance{width:34px;height:34px}
.ed-feuille .ed-nuancier{gap:10px;padding:6px 16px 12px}
.ed-feuille .ed-menu-titre{padding:10px 16px 4px}
.ed-feuille.ed-med{max-height:82%}
.ed-feuille .ed-med-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.ed-feuille .ed-med-plus{opacity:1}
.ed-feuille.ed-emojis{height:66%;width:auto}
.ed-feuille .ed-emo-lot{grid-template-columns:repeat(8,minmax(0,1fr))}
.ed-feuille .ed-emo{font-size:24px}
.ed-feuille .ed-emo-tete input{height:40px;font-size:16px}
.ed-feuille .ed-liste-mc-tete input,.ed-feuille .ed-med-tete input{height:40px;font-size:16px}
.ed-fl-sec{padding:12px 16px 6px}
.ed-fl-sec + .ed-fl-sec{border-top:1px solid var(--ed-filet-2)}
.ed-fl-titre{font-size:12.5px;color:var(--ed-encre-2);margin-bottom:8px}
.ed-fl-puces,.ed-fl-boutons{display:flex;flex-wrap:wrap;gap:8px}
.ed-fl-puce{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--ed-filet);border-radius:21px;background:var(--ed-surface);font:600 14px/1 'Open Sans',system-ui,sans-serif;color:var(--ed-encre)}
.ed-fl-puce .ed-ap{width:auto}
.ed-fl-puce[aria-pressed="true"],.ed-fl-carre[aria-pressed="true"]{background:var(--ed-accent-fond);border-color:var(--ed-accent-encre);color:var(--ed-accent-encre)}
.ed-fl-puce.danger{color:var(--ed-rouge)}
.ed-fl-carre{width:50px;height:50px;border:1px solid var(--ed-filet);border-radius:12px;background:var(--ed-surface);display:grid;place-items:center;color:var(--ed-encre)}
.ed-fl-carre .ic{width:22px;font-size:18px}
.ed-fl-carre .ed-lettre{font-size:19px;width:auto}
.ed-feuille .ed-puce{height:38px;font-size:14px;padding:0 13px 0 18px}
.ed-feuille .ed-puce.ed-puce-bloc{padding:0 13px}
.ed-fl-lignes{display:flex;flex-direction:column;margin:0 -4px}
.ed-fl-ligne{display:flex;align-items:center;gap:14px;min-height:50px;padding:0 6px;border:0;border-top:1px solid var(--ed-filet-2);background:transparent;font-size:15px;text-align:left;color:var(--ed-encre)}
.ed-fl-ligne:first-child{border-top:0}
.ed-fl-ligne .ic{color:var(--ed-accent-encre);width:22px;font-size:18px}

/* ---------- Ecran etroit (telephone) : dock en bas, au-dessus du clavier ----------
   Toutes les actions de la barre, en une bande qui defile ; fondu du cote ou il en reste ; Aa : toute la mise en forme */
.ed-dock{display:none}
@media (max-width: 620px){
  .ed-tete{display:none !important}
  .ed-cadre{order:1}
  .ed-pied{order:2;position:static}
  .ed-ctx.astuce,.ed-pied.ed-pied-astuce{display:none}
  .ed-dock{order:3;display:block;position:sticky;bottom:0;z-index:6;padding:6px 0 calc(6px + env(safe-area-inset-bottom, 0px));background:var(--ed-surface);border-top:1px solid var(--ed-filet-2);border-radius:0 0 10px 10px;box-shadow:0 -6px 14px -10px rgba(31,39,51,.25)}
  .ed.ed-barre-saisie:not(.ed-focus):not(.ed-garde):not(.ed-en-plein-ecran) .ed-dock,.ed.ed-sans-barre:not(.ed-focus):not(.ed-garde):not(.ed-en-plein-ecran) .ed-dock{display:none}
  .ed-dock-bande{display:flex;align-items:center;gap:2px;padding:0 6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .ed-dock-bande::-webkit-scrollbar{display:none}
  .ed-dock-bande.apres{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
  .ed-dock-bande.avant{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
  .ed-dock-bande.avant.apres{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
  .ed-dk{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--ed-encre);display:grid;place-items:center}
  .ed-dk:active{background:var(--ed-fond)}
  .ed-dk[aria-pressed="true"]{background:var(--ed-accent-fond);color:var(--ed-accent-encre)}
  .ed-dk .ic{width:22px;font-size:18px}
  .ed-dk .ed-lettre{font-size:18px;width:auto}
  .ed-dk-aa{font:700 17px/1 'Open Sans',system-ui,sans-serif}
  .ed-dk-plus,.ed-dk-ctx{background:var(--ed-accent-fond);color:var(--ed-accent-encre)}
  .ed-dk-sep{flex:0 0 1px;align-self:stretch;margin:8px 4px;background:var(--ed-filet-2)}
  .ed-dock-fl{display:none;position:absolute;top:6px;width:34px;height:44px;padding:0;border:0;place-items:center;color:var(--ed-encre)}
  .ed-dock-fl.g{left:0;background:linear-gradient(90deg,var(--ed-surface) 55%,transparent);border-radius:0 0 0 10px}
  .ed-dock-fl.g .ic{transform:rotate(180deg)}
  .ed-dock-fl.d{right:0;background:linear-gradient(270deg,var(--ed-surface) 55%,transparent)}
  .ed-dock.avant .ed-dock-fl.g,.ed-dock.apres .ed-dock-fl.d{display:grid}
  .ed-dock-bande.glisse{cursor:grabbing}
  .ed-dock-bande.glisse .ed-dk{pointer-events:none}
  .ed-zone{padding:14px 14px 16px;min-height:200px}
  .ed.ed-vide .ed-zone::before{left:14px;top:14px}
  .ed-poignee,.ed-pastille-tableau{display:none !important}
  .ed-img[data-taille="25"]{width:50%}
  .ed-bloc-tete{padding:6px}
  .ed-bloc-cas{width:100%}
  .ed-bloc-cas button{flex:1;justify-content:center;height:34px}
}

/* ---------- Affichage (lecture seule, MdslEditeur.afficher) ---------- */
.ed.ed-affichage{border:0;background:transparent}
.ed.ed-affichage.ed-avec-cadre{border:1px solid var(--ed-filet)}
.ed-affichage .ed-cadre{border-radius:9px}
.ed-affichage .ed-zone{min-height:0;padding:10px 14px;cursor:default}
.ed-affichage .ed-zone > :last-child,.ed-affichage .ed-cas > :last-child{margin-bottom:0}
.ed-affichage.ed-ligne .ed-zone{white-space:normal;padding:8px 12px}
/* mot-cle : son explication au clic (Entree ou Espace au clavier) */
.ed-affichage .ed-img{cursor:default;user-select:text}
.ed-affichage .ed-mc{cursor:pointer;user-select:text}
.ed-affichage .ed-img:hover{outline-color:transparent}
.ed-affichage .ed-img.ed-repris{outline:0}
.ed-affichage .ed-badge{display:none}
.ed-affichage .ed-ilot{border:0;background:transparent;margin:.3em 0 .9em}
.ed-affichage .ed-ilot-contenu{padding:0}
.ed-affichage .ed-zone table.ed-table:not([data-bordures="1"]) td,.ed-affichage .ed-zone table.ed-table:not([data-bordures="1"]) th{border-color:transparent}
.ed-affichage .ed-cas{padding-bottom:8px}

@media (prefers-reduced-motion: reduce){
  .ed *,.ed,.ed-pop,.ed-pop *,.ed-bulle{transition:none !important;animation:none !important}
}
.ed-zone b .ed-mc,.ed-zone strong .ed-mc{font-weight:800}

/* ---------- Ajouts du 15/10/2026 (README, section 15) : points a verifier, apercu, plein ecran, recherche, brouillon ---------- */
.ed-alerte.ed-avert{background:var(--ed-ambre-fond);color:var(--ed-ambre)}
/* Apercu : le texte comme le recevra le patient ; rien n'est modifiable, la barre est grisee sauf apercu, plein ecran et menu */
.ed.ed-en-apercu .ed-zone,.ed.ed-en-apercu .ed-etagere,.ed.ed-en-apercu .ed-poignee,.ed.ed-en-apercu .ed-pastille-tableau{display:none !important}
.ed.ed-en-apercu .ed-barre .ed-btn:not([data-action="apercu"]):not([data-action="plein-ecran"]):not([data-action="plus"]),
.ed.ed-en-apercu .ed-dock .ed-dk:not([data-action="apercu"]):not([data-action="plus"]){opacity:.35;pointer-events:none}
.ed-apercu{padding:0 0 18px}
.ed-ap-tete{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 14px;border-bottom:1px solid var(--ed-filet-2);background:var(--ed-accent-voile);font-size:12.5px;color:var(--ed-encre-2)}
.ed-ap-tete[hidden]{display:none}
/* sans barre affichee (barre a la saisie, telephone) : l'en-tete de l'apercu se colle lui-meme en haut */
.ed-apercu > .ed-ap-tete{position:sticky;top:var(--ed-colle,0px);z-index:5}
.ed-ap-titre{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ed-accent-encre)}
.ed-ap-bloc{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.ed-ap-bloc > span{margin-right:2px}
.ed-ap-bloc button{height:24px;padding:0 9px;border:1px solid var(--ed-accent-bord-2);border-radius:12px;background:var(--ed-surface);color:var(--ed-encre-2);font:600 12px/1 'Open Sans',system-ui,sans-serif}
.ed-ap-bloc button[aria-pressed="true"]{background:var(--ed-accent-encre);border-color:var(--ed-accent-encre);color:#FFFFFF}
.ed-ap-tete .ed-mini{margin-left:auto}
.ed-ap-corps{padding:16px 22px 0 40px;overflow-wrap:anywhere}
.ed-ap-corps .ap-val{background:var(--ed-accent-fond);border-radius:3px;padding:0 2px;color:inherit;text-decoration:none}
.ed-ap-corps a.ap-val{color:#1F5FA8;text-decoration:underline}
.ed-ap-texte{margin:0;font-size:15px;line-height:1.55}
/* Plein ecran : l'editeur dans la couche des fenetres flottantes (toute la fenetre, ou toute la modale qui le contient) */
/* marge a l'exterieur de l'editeur (pas de padding sur le fond qui defile) : barre et pied se collent au bord de la fenetre */
.ed-plein{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;overflow:auto;overscroll-behavior:contain;padding:0;background:rgba(31,39,51,.5)}
/* Plein ecran : la page derriere ne defile plus */
html.ed-plein-actif,html.ed-plein-actif body{overflow:hidden}
.ed-plein > .ed.ed-en-plein-ecran{width:calc(100% - 32px);max-width:1000px;min-height:calc(100% - 48px);margin:24px auto;box-shadow:0 18px 48px -18px rgba(0,0,0,.5)}
.ed.ed-en-plein-ecran .ed-cadre{flex:1 0 auto}
.ed.ed-en-plein-ecran .ed-zone{min-height:60vh}
/* Rechercher et remplacer : sous la barre (dans l'en-tete colle en haut quand la barre est toujours affichee) */
.ed-cherche{padding:6px 8px;border-bottom:1px solid var(--ed-filet-2);background:var(--ed-surface-2)}
.ed-cherche[hidden]{display:none}
.ed-cherche-l{display:flex;align-items:center;gap:4px}
/* zone de texte : le focus est montre par le cadre de l'editeur (.ed-focus), pas par un second contour */
.ed .ed-zone:focus-visible,.ed .ed-cas:focus-visible{outline:none}
.ed-cherche-l + .ed-cherche-l{margin-top:6px}
.ed-cherche-l > .ic{color:var(--ed-encre-2);margin:0 4px 0 2px}
.ed-cherche input{flex:1;min-width:0;height:30px;padding:0 10px;border:1px solid var(--ed-filet);border-radius:6px;font-size:13.5px;line-height:normal;box-shadow:none}
.ed-cherche input:focus{outline:2px solid var(--ed-accent-encre);outline-offset:0;border-color:transparent}
.ed-cherche-n{min-width:84px;font-size:12px;color:var(--ed-encre-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ed-cherche.ed-cherche-vide .ed-cherche-q{border-color:var(--ed-rouge)}
.ed-cherche.ed-cherche-vide .ed-cherche-n{color:var(--ed-rouge)}
::highlight(ed-trouve){background-color:#FFF3B0;color:inherit}
::highlight(ed-trouve-actif){background-color:#F7C873;color:#1F2733}
/* Brouillon non enregistre propose a la reouverture */
.ed-brouillon{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;border-bottom:1px solid var(--ed-filet-2);background:var(--ed-ambre-fond);color:var(--ed-ambre);font-size:13px}
.ed-brouillon > span{flex:1;min-width:180px}
@media (max-width: 620px){
  .ed-plein > .ed.ed-en-plein-ecran{width:100%;min-height:100%;margin:0;border:0;border-radius:0}
  .ed-ap-corps{padding:14px 14px 0}
}

/* Etiquette de libelle (README 20, 26/10/2026) : pastille en ligne, a la couleur du libelle ; un texte long passe a la ligne */
.ed-etq{display:inline;padding:.1em .45em .1em .5em;margin:0 .06em;border-left:3px solid var(--ed-etq,var(--ed-accent-moyen));border-radius:2px 5px 5px 2px;background:var(--ed-accent-fond);color:var(--ed-encre);font-weight:600;line-height:1.8;cursor:pointer;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;user-select:all;transition:background-color var(--ed-t-court) ease}
.ed-etq:hover{background-color:var(--ed-accent-survol)}
.ed-affichage .ed-etq{cursor:default}
.ed-puce.ed-puce-etq .ic{color:var(--ed-etq,currentColor)}
.ed-puce-etq .ed-puce-txt{max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-sugg-it.etq .ed-sugg-ic{color:var(--ed-etq,var(--ed-accent-encre))}
.ed-sugg-it.etq .ed-sugg-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.ed-sugg-it.etq .ed-sugg-lib{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-sugg-sous{font-size:12px;color:var(--ed-encre-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ed-liste-etq{width:380px}
.ed-etq-texte{max-height:12em;overflow:auto}

/* Etiquette enregistree, affichee hors de l'editeur (dossier du patient, lecture seule ; 26/10/2026) : meme pastille, en gras,
   couleur du libelle gardee dans le texte (--ed-etq) ; le PDF ne lit pas cette feuille : texte simple */
.ed-etiquette{padding:.05em .4em .05em .45em;margin:0 .04em;border-left:3px solid var(--ed-etq,#8A94A6);border-radius:2px 4px 4px 2px;background:#EEF1F4;font-weight:700;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Texte d'une IA au fil de l'eau (ed.flux(), 23/10/2026) : apercu sous la ligne du curseur, insere dans le texte a la fin */
.ed-flux{margin:.35em 0 .95em;padding:8px 12px;border-left:3px solid var(--ed-accent-moyen);border-radius:0 8px 8px 0;background:var(--ed-accent-fond);user-select:none}
.ed-flux-tete{font-size:13px;font-style:italic;color:var(--ed-accent-encre)}
.ed-flux-tete::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:currentColor;vertical-align:middle;animation:ed-flux 1.2s ease-in-out infinite}
@keyframes ed-flux{50%{opacity:.2}}
.ed-flux-texte:empty{display:none}
.ed-flux-texte > :first-child{margin-top:.35em}
.ed-flux-texte > :last-child{margin-bottom:0}

/* Retouche d'une image (pivoter, recadrer : copie dans la mediatheque, 23/10/2026) */
.ed-carte.ed-retouche{width:min(480px,calc(100vw - 32px))}
.ed-retouche-cadre{position:relative;width:max-content;max-width:100%;margin:0 auto;overflow:hidden;line-height:0;border-radius:6px;background:var(--ed-surface-2);touch-action:none;cursor:crosshair}
.ed-retouche-vue{display:block;max-width:100%}
.ed-retouche-sel{position:absolute;border:2px dashed #FFFFFF;outline:1px solid rgba(31,39,51,.7);box-shadow:0 0 0 9999px rgba(31,39,51,.45);pointer-events:none}
.ed-retouche-outils{display:flex;flex-wrap:wrap;gap:6px}
.ed-mini:disabled{opacity:.45;cursor:default}

/* Apercu PDF (23/10/2026) : le PDF du serveur dans une fenetre du framework (ou du composant, page sans framework) */
.ed-apdf{display:block;width:100%;height:min(72vh,900px);border:1px solid var(--ed-filet);border-radius:6px;background:var(--ed-surface-2)}
.ed-alerte.ed-apdf-points{display:flex;align-items:flex-start;height:auto;margin:0 0 10px;padding:8px 12px;border-radius:8px;font-weight:400;line-height:1.4}
.ed-carte.ed-apdf-carte{width:min(820px,calc(100vw - 32px))}

/* Contraste eleve du systeme (Windows, couleurs forcees, 23/10/2026) : bordures et etats visibles sans les couleurs du theme */
@media (forced-colors: active){
  .ed{border:1px solid CanvasText}
  .ed.ed-focus{outline:2px solid Highlight}
  .ed .ed-btn,.ed-menu-it,.ed-mini,.ed-dk,.ed-alerte{border:1px solid ButtonText}
  .ed .ed-btn[aria-pressed="true"],.ed-menu-it[aria-checked="true"]{outline:2px solid Highlight;outline-offset:-2px}
  .ed .ed-btn:focus-visible,.ed-menu-it:focus-visible,.ed-mini:focus-visible,.ed-dk:focus-visible{outline:2px solid Highlight}
  .ed .ed-mc,.ed .ed-puce-bloc,.ed .ed-bloc,.ed .ed-etq{border:1px solid CanvasText}
  .ed.ed-vide .ed-zone::before{color:GrayText}
}
