/* Response8 — l'éditeur : annuler / rétablir, notes, fichiers, éditeur d'activité. */
.ed-cache{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); opacity:0; pointer-events:none; left:-9999px}
.ed-outil:disabled{opacity:.38; cursor:default}
.ed-outil:disabled:hover{background:transparent}
.ed-rec{display:inline-flex; align-items:center; height:24px; padding:0 8px; margin-left:2px; border-radius:99px; background:rgba(242,95,92,.16); border:1px solid rgba(242,95,92,.55); color:#FFB3B1; font:600 11.5px/1 var(--mono); cursor:pointer; white-space:nowrap; animation:ed-clignote 1.6s ease-in-out infinite}
.ed-rec[hidden]{display:none}
@keyframes ed-clignote{50%{opacity:.55}}
@media (max-width:700px){ .ed-cache-petit{display:none} }
/* la colonne du téléphone, à droite du plan */
.ed-colonne{position:absolute; top:58px; right:12px; z-index:5; display:flex; flex-direction:column; align-items:center; gap:2px; padding:4px; background:rgba(13,24,40,.92); border:1px solid var(--a-trait); border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ed-colonne[hidden]{display:none}
.ed-colonne .a-outil{width:36px; height:36px; padding:0; justify-content:center}
.ed-colonne .ed-rec{margin:2px 0 0; padding:0 5px; font-size:10px}
.a-topo--cablage .ed-colonne, .ed-topo--note .ed-colonne{top:118px}

/* — le menu « ⋯ » — */
.ed-menu{position:fixed; z-index:40; min-width:250px; max-height:calc(100vh - 16px); overflow-y:auto}
.ed-menu > button{display:flex; align-items:center; gap:10px}
.ed-menu > button svg{width:16px; height:16px; flex:none; color:var(--a-bleu-clair)}
.ed-menu > button span{flex:1}
.ed-menu kbd, .ed-raccourcis kbd{font:500 11px/1 var(--mono); padding:3px 6px; border-radius:5px; background:var(--a-carte); border:1px solid var(--a-trait-fort); color:var(--a-encre-2)}
.ed-menu__sep{height:1px; background:var(--a-trait); margin:4px 2px}

/* — les notes — */
.ed-topo--note svg{cursor:copy}
.ed-note{cursor:move; outline:none}
.ed-note:focus-visible .ed-note__fond, .ed-note--active .ed-note__fond{stroke:var(--a-bleu-clair); stroke-width:2.5}
.ed-note__texte{pointer-events:none; user-select:none}
/* la barre d'outils s'allonge : l'aide de la topologie passe dessous */
@media (min-width:701px){ .a-aide-topo{top:58px} }
.ed-aide-note{position:absolute; top:58px; right:12px; z-index:6; max-width:calc(100% - 24px); padding:7px 12px; border-radius:8px; background:var(--a-ambre); color:#04101E; font-weight:600; font-size:13px; box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ed-aide-note[hidden]{display:none}
.ed-note-edit{position:absolute; z-index:8; width:252px; max-width:calc(100% - 16px); padding:10px; display:flex; flex-direction:column; gap:9px; background:var(--a-panneau); border:1px solid var(--a-trait-fort); border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.55)}
.ed-note-edit__texte{width:100%; resize:vertical; min-height:84px; padding:8px 10px; border-radius:8px; border:1px solid var(--a-trait-fort); background:var(--a-fond); color:var(--a-encre); font:400 14px/1.4 "IBM Plex Sans",system-ui,sans-serif}
.ed-note-edit__texte:focus{outline:2px solid var(--a-bleu-clair); outline-offset:0; border-color:transparent}
.ed-nuancier{display:flex; gap:7px; flex-wrap:wrap}
.ed-nuance{width:28px; height:28px; border-radius:50%; border:2px solid rgba(255,255,255,.18); cursor:pointer; padding:0}
.ed-nuance[aria-checked="true"]{border-color:#fff; box-shadow:0 0 0 2px var(--a-bleu)}
.ed-nuance:focus-visible{outline:2px solid var(--a-bleu-clair); outline-offset:2px}
.ed-note-edit__boutons{display:flex; justify-content:space-between; gap:8px}
.ed-danger{color:#FF9B98 !important; border-color:rgba(242,95,92,.45) !important}
.ed-danger:hover{background:rgba(242,95,92,.12) !important}

/* — les fenêtres — */
.ed-voile{z-index:60; overflow-y:auto; align-items:start; padding:4vh 16px}
.ed-fenetre{position:relative; padding:22px 24px 24px; min-width:0; max-width:100%}
.ed-act, .ed-section, .ed-details{min-width:0; max-width:100%}
.ed-fenetre--large{width:min(880px,100%)}
.ed-fenetre--aide{width:min(560px,100%)}
.ed-fenetre__tete{display:flex; align-items:center; gap:12px; margin-bottom:12px}
.ed-fenetre__tete h2{flex:1; margin:0 !important}
.ed-fermer{font-size:22px; line-height:1}
.ed-raccourcis{width:100%; border-collapse:collapse}
.ed-raccourcis td{padding:8px 6px; border-bottom:1px solid var(--a-trait); vertical-align:middle; color:var(--a-encre-2)}
.ed-raccourcis td:first-child{white-space:nowrap; width:1%; padding-right:18px; color:var(--a-encre)}
.ed-note-bas{font-size:13px; margin:14px 0 0 !important}

/* — l'éditeur d'activité — */
.ed-act{display:flex; flex-direction:column; gap:6px}
.ed-aide{color:var(--a-encre-2); font-size:13.5px; margin:0 0 6px}
.ed-section{border-top:1px solid var(--a-trait); padding-top:14px; margin-top:6px}
.ed-section h3{font:600 12px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--a-gris); margin:0 0 12px}
.ed-grille{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px 12px; margin-bottom:12px}
.ed-grille--params{grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); margin:8px 0}
.ed-champ{display:flex; flex-direction:column; gap:4px; min-width:0}
.ed-champ__nom{font-size:12.5px; font-weight:500; color:var(--a-encre-2)}
.ed-champ--large{grid-column:1/-1}
.ed-champ small{font-size:11.5px; color:var(--a-gris)}
.ed-act input[type=text], .ed-act input[type=number], .ed-act input:not([type]), .ed-act select, .ed-act textarea{
  width:100%; min-width:0; height:36px; padding:0 10px; border-radius:8px; border:1px solid var(--a-trait-fort); background:var(--a-fond); color:var(--a-encre); font:inherit; font-size:14px
}
.ed-act textarea{height:auto; padding:8px 10px; resize:vertical; line-height:1.4}
.ed-act input:focus, .ed-act select:focus, .ed-act textarea:focus{outline:2px solid var(--a-bleu-clair); outline-offset:0; border-color:transparent}
.ed-act input[aria-invalid="true"]{border-color:var(--a-rouge)}
.ed-code{font-family:var(--mono) !important; font-size:12.5px !important}
.ed-trois{border:0; padding:0; margin:0 0 12px; display:flex; flex-direction:column; gap:6px; min-width:0}
.ed-trois legend{font-size:12.5px; font-weight:500; color:var(--a-encre-2); padding:0; margin-bottom:4px}
.ed-trois__ligne{display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; align-items:start}
.ed-langue{font:600 11px/36px var(--mono); color:var(--a-gris); text-align:center; background:var(--a-carte); border-radius:6px; height:36px}
.ed-textes{display:flex; flex-direction:column; gap:6px}
.ed-option{display:flex; align-items:flex-start; gap:9px; padding:6px 0; cursor:pointer; color:var(--a-encre)}
.ed-option input{margin-top:3px; accent-color:var(--a-bleu); width:16px; height:16px; flex:none}
.ed-option input:disabled + span{opacity:.45}
.ed-sep-h{height:1px; background:var(--a-trait); margin:8px 0}
.ed-taches{list-style:none; margin:0 0 12px; padding:0; display:flex; flex-direction:column; gap:10px}
.ed-vide{color:var(--a-gris); font-size:13.5px; padding:12px; border:1px dashed var(--a-trait-fort); border-radius:10px; text-align:center}
.ed-tache{background:var(--a-panneau-2); border:1px solid var(--a-trait); border-radius:12px; padding:12px; display:flex; flex-direction:column; gap:8px}
.ed-tache__tete{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.ed-tache__num{width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--a-carte); font:600 12px/1 var(--mono); color:var(--a-encre-2); flex:none}
.ed-tache__tete b{font-weight:600}
.ed-tache__actions{margin-left:auto; display:flex; gap:4px}
.ed-tache__actions .a-btn{width:30px; height:30px; padding:0; justify-content:center}
.ed-tache__actions .a-btn:disabled{opacity:.35; cursor:default}
.ed-resultat{font-size:12.5px; font-weight:500}
.ed-resultat--ok{color:var(--a-vert)}
.ed-resultat--ko{color:var(--a-ambre)}
.ed-ligne-boutons{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.ed-ligne-boutons select{width:auto !important; flex:1 1 220px}
.ed-btn-rec{border-color:var(--a-rouge) !important; color:#FFB3B1}
.ed-sol__etat{font:500 12.5px/1.4 var(--mono); color:var(--a-encre-2); margin:10px 0 0 !important}
.ed-messages{display:flex; flex-direction:column; gap:6px; margin-bottom:10px}
.ed-message{margin:0 !important; padding:8px 12px; border-radius:8px; font-size:13px; background:rgba(242,184,75,.1); border:1px solid rgba(242,184,75,.35); color:#F7D9A0 !important}
.ed-message--err{background:rgba(242,95,92,.12); border-color:rgba(242,95,92,.45); color:#FFD9D8 !important}
.ed-details summary{cursor:pointer; color:var(--a-bleu-clair); font-size:13.5px; padding:4px 0}
.ed-apercu{max-height:320px; overflow:auto; margin:8px 0 0; padding:12px; border-radius:10px; background:var(--a-term); border:1px solid var(--a-trait); font:400 12px/1.5 var(--mono); color:var(--a-term-texte); white-space:pre}
.ed-act .a-btn:disabled{opacity:.45; cursor:not-allowed}

@media (max-width:600px){
  .ed-voile{padding:0}
  .ed-fenetre{width:100% !important; min-height:100%; border-radius:0; border:0; padding:16px 16px 28px}
  .ed-fenetre__tete{position:sticky; top:-16px; z-index:2; background:var(--a-panneau); margin:-16px -16px 12px; padding:12px 16px; border-bottom:1px solid var(--a-trait)}
  .ed-fenetre__tete h2{font-size:18px !important}
  .ed-grille, .ed-grille--params{grid-template-columns:1fr 1fr}
  .ed-fenetre .a-fenetre__boutons .a-btn{flex:1 1 auto; justify-content:center}
}
@media (max-width:380px){ .ed-grille, .ed-grille--params{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .ed-rec{animation:none} }
.ed-topo--note .a-aide-topo{visibility:hidden}
