/* Studio exégétique (onglet Exégèse modernisé, lot 1).
   Architecture : docs/EXEGESE_BP_ARCHITECTURE_UI.md. Toutes les règles sont
   limitées à #exe_studio : la palette historique n'est pas touchée. */
@font-face { font-family: 'BP Gentium'; src: url('../tools/fonts/Gentium.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'SBL Hebrew'; src: url('../SBLHebrew.woff') format('woff'); font-display: swap; }

#exe_studio {
    --exs-canvas: #faf7f1; --exs-surface: #fff; --exs-soft: #fffdf8; --exs-ink: #2a2622; --exs-ink-soft: #4a433c;
    --exs-muted: #6f675f; --exs-line: #e6dfd3; --exs-line-soft: #f0ebe2; --exs-accent: #7a4a21; --exs-accent-dark: #5a3416;
    --exs-gold: #ffbf40; --exs-gold-wash: #fff0c7; --exs-bar: #1e1c1a; --exs-bar-soft: #2b2724; --exs-bar-line: #3a3632;
    --exs-bar-ink: #c9c1b6; --exs-bar-dim: #a39a90;
    /* Gentium partout (interface comprise), SBL Hebrew pour l'hébreu. */
    --exs-serif: 'BP Gentium', 'Gentium Plus', 'Gentium', Georgia, serif;
    --exs-heb: 'SBL Hebrew', serif;
    --exs-ui: 'BP Gentium', 'Gentium Plus', 'Gentium', Georgia, serif;
    display: none; background: var(--exs-canvas); color: var(--exs-ink); font: 400 14px/1.4 var(--exs-ui);
    border-radius: 10px; overflow: hidden; cursor: default; white-space: normal; text-align: left;
    margin: -10px -10px 0;
}
#exe_studio.exs-on { display: block; }
#exe_studio button { font: inherit; color: inherit; cursor: pointer; }
#exe_studio .exs-serif { font-family: var(--exs-serif); }
#exe_studio .exs-grk { font-family: var(--exs-serif); }
#exe_studio .exs-heb { font-family: var(--exs-heb); }
#exe_studio .exs-muted { color: var(--exs-muted); }
#exe_studio .exs-small { font-size: 12.5px; }
#exe_studio .exs-kicker { font: 700 10.5px var(--exs-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--exs-accent); }
#exe_studio .exs-h2 { font: 700 21px var(--exs-serif); margin: 0; color: var(--exs-ink); }
#exe_studio .exs-h3 { font: 700 16px var(--exs-serif); margin: 0; color: var(--exs-ink); }
#exe_studio .exs-code { font: 700 10.5px var(--exs-ui); letter-spacing: .05em; color: var(--exs-accent); background: rgba(122,74,33,.09); border-radius: 4px; padding: 2px 6px; white-space: nowrap; }
#exe_studio .exs-card { background: var(--exs-surface); border: 1px solid var(--exs-line); border-radius: 10px; }

/* En-tête sombre, comme Références, Commentaires et Dictionnaires */
#exe_studio .exs-head { background: var(--exs-bar); padding: 0 28px; }
#exe_studio .exs-head-top { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--exs-bar-line); flex-wrap: wrap; padding: 8px 0; }
#exe_studio .exs-titre { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; min-width: 0; }
#exe_studio .exs-title { font: 400 1.12rem/1.15 var(--exs-serif); letter-spacing: .01em; color: #f5efe5; margin-right: 2px; }
#exe_studio .exs-titre .exs-sub { margin-left: 10px; }
#exe_studio .exs-nav { border: 0; background: none; padding: 0 5px; font: 400 20px/1 var(--exs-serif); color: var(--exs-bar-dim); cursor: pointer; }
#exe_studio .exs-nav:hover { color: var(--exs-gold); }
#exe_studio .exs-sub { font-size: 12.5px; color: var(--exs-bar-dim); }
#exe_studio .exs-barbtn { height: 32px; padding: 0 12px; border-radius: 5px; border: 1px solid var(--exs-bar-line); background: var(--exs-bar-soft); color: var(--exs-bar-ink); font: 600 12.5px var(--exs-ui); display: inline-flex; align-items: center; gap: 7px; }
#exe_studio .exs-barbtn:hover { color: #fff; border-color: #5a534c; }
#exe_studio .exs-barbtn .n { color: var(--exs-gold); }
#exe_studio .exs-tabs { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
#exe_studio .exs-tab { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 14px; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--exs-bar-ink); font: 600 13px var(--exs-ui); white-space: nowrap; }
#exe_studio .exs-tab:hover { color: #fff; }
#exe_studio .exs-tab.on { color: var(--exs-gold); border-bottom-color: var(--exs-gold); }
#exe_studio .exs-tab .cnt { font-size: 11px; color: var(--exs-gold); }
#exe_studio .exs-tab svg { width: 16px; height: 16px; }

#exe_studio .exs-body { padding: 14px 28px 30px; display: flex; flex-direction: column; gap: 14px; }

/* Points d'examen */
#exe_studio .exs-hots { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
#exe_studio .exs-hot { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 11px 12px; border-radius: 9px; border: 1px solid var(--exs-line); background: var(--exs-surface); min-width: 0; }
#exe_studio .exs-hot:hover { border-color: #c9b79c; }
#exe_studio .exs-hot.on { border-color: var(--exs-gold); box-shadow: 0 0 0 3px var(--exs-gold-wash); }
#exe_studio .exs-fam { font: 700 9.5px var(--exs-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--exs-accent); }
#exe_studio .exs-note { font-size: 12.5px; color: var(--exs-muted); padding: 10px 12px; border: 1px dashed var(--exs-line); border-radius: 8px; background: var(--exs-soft); }

/* Statuts */
#exe_studio .exs-st { font: 700 9.5px var(--exs-ui); letter-spacing: .07em; text-transform: uppercase; border-radius: 9px; padding: 2px 7px; white-space: nowrap; border: 1px solid transparent; }
#exe_studio .exs-st-DONNEE { background: var(--exs-ink); color: #fff; }
#exe_studio .exs-st-CONSTAT { background: #dcefec; color: #0b5e57; }
#exe_studio .exs-st-ANALYSE { background: #e3ebf8; color: #1f4fa8; }
#exe_studio .exs-st-HYPOTHESE { background: #fdf0cf; color: #6e4a00; }
#exe_studio .exs-st-INDETERMINE, #exe_studio .exs-st-ETAT { background: #fff; color: #57504a; border: 1px dashed #a39a90; }

/* Grille principale : texte à gauche, espace de travail à droite */
#exe_studio .exs-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 18px; align-items: start; }
#exe_studio .exs-text { padding: 14px 18px 16px; position: sticky; top: 64px; min-width: 0; max-height: calc(100vh - 90px); overflow-y: auto; }
#exe_studio .exs-work { padding: 16px 22px 20px; min-height: 520px; min-width: 0; overflow: hidden; }
@media (max-width: 1100px) {
    #exe_studio .exs-main { grid-template-columns: minmax(0, 1fr); }
    #exe_studio .exs-text { position: static; max-height: none; }
}

/* Commandes du texte */
#exe_studio .exs-ctrls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
#exe_studio .exs-mode { height: 28px; padding: 0 11px; border: 1px solid var(--exs-line); background: #fff; font: 600 12px var(--exs-ui); color: var(--exs-ink-soft); margin-left: -1px; }
#exe_studio .exs-mode:first-child { border-radius: 14px 0 0 14px; margin-left: 0; }
#exe_studio .exs-mode:last-child { border-radius: 0 14px 14px 0; }
#exe_studio .exs-mode.on { background: var(--exs-ink); border-color: var(--exs-ink); color: #fff; }
#exe_studio .exs-tog { height: 28px; padding: 0 10px; border-radius: 14px; border: 1px solid var(--exs-line); background: #fff; font: 600 12px var(--exs-ui); color: var(--exs-ink-soft); display: inline-flex; align-items: center; gap: 6px; }
#exe_studio .exs-tog .bx { width: 12px; height: 12px; border-radius: 3px; border: 1.5px solid #a39a90; }
#exe_studio .exs-tog.on .bx { background: var(--exs-accent); border-color: var(--exs-accent); }

/* Texte en propositions */
#exe_studio .exs-cot { font: italic 400 14px var(--exs-serif); color: var(--exs-muted); padding: 10px 0 2px; }
#exe_studio .exs-line { padding: 8px 0 6px; border-bottom: 1px dashed #eee6d9; }
#exe_studio .exs-lab { font: 600 11px var(--exs-ui); color: var(--exs-muted); margin-bottom: 2px; }
#exe_studio .exs-lab .rule { font: 700 10px var(--exs-ui); color: #a39a90; letter-spacing: .04em; }
#exe_studio .exs-ind1 { margin-left: 30px; } #exe_studio .exs-ind2 { margin-left: 60px; } #exe_studio .exs-ind3 { margin-left: 90px; }
#exe_studio .exs-cons { display: inline-flex; flex-direction: column; gap: 2px; margin: 0 6px 4px 0; vertical-align: top; }
#exe_studio .exs-fl { font: 700 9.5px var(--exs-ui); letter-spacing: .07em; text-transform: uppercase; padding: 1px 6px; border-radius: 3px; align-self: flex-start; }
#exe_studio .exs-words { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 2px; }
#exe_studio .exs-w { background: none; border: 0; border-radius: 7px; padding: 3px 5px 4px; display: inline-flex; flex-direction: column; align-items: center; gap: 1px; position: relative; }
#exe_studio .exs-w:hover { background: rgba(122,74,33,.07); }
#exe_studio .exs-w:focus-visible { outline: 2px solid var(--exs-accent); outline-offset: 1px; }
#exe_studio .exs-w.join { padding-left: 0; padding-right: 0; margin: 0 -1px; }
#exe_studio .exs-w .f { font: 400 27px/1.25 var(--exs-serif); }
#exe_studio .exs-w .fh { font: 400 30px/1.5 var(--exs-heb); }
#exe_studio .exs-w .it { font: italic 400 13px var(--exs-serif); color: var(--exs-accent); white-space: nowrap; }
#exe_studio .exs-w .tr { font: 400 11.5px var(--exs-ui); color: #8a8078; white-space: nowrap; }
#exe_studio .exs-w .mc { font: 600 9.5px var(--exs-ui); color: #8a8078; letter-spacing: .03em; white-space: nowrap; }
#exe_studio .exs-w .nt { font: 700 10px var(--exs-ui); color: #b45309; white-space: nowrap; }
#exe_studio .exs-w.sel { background: var(--exs-gold-wash); box-shadow: inset 0 -3px 0 var(--exs-gold); }
#exe_studio .exs-w.inspan { background: #fff7e3; }
#exe_studio .exs-pn { font: 400 27px var(--exs-serif); padding-top: 3px; margin-left: -4px; }
#exe_studio .exs-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; font-size: 11.5px; color: var(--exs-ink-soft); }
#exe_studio .exs-legend i { display: inline-block; width: 16px; height: 9px; border-radius: 3px; background: currentColor; margin-right: 6px; vertical-align: middle; }

/* Couleurs : code BP (Coloriser_TexteGrec), fonctions MACULA */
#exe_studio .c-verb { color: #b3261e; } #exe_studio .c-nom { color: #1f4fa8; } #exe_studio .c-acc { color: #7a4a21; }
#exe_studio .c-gen { color: #2f7d32; } #exe_studio .c-dat { color: #8e3fa0; } #exe_studio .c-voc { color: #c26a00; } #exe_studio .c-gris { color: #7a7168; }
#exe_studio .c-fS { color: #1f4fa8; } #exe_studio .c-fV { color: #b3261e; } #exe_studio .c-fO, #exe_studio .c-fO2 { color: #7a4a21; }
#exe_studio .c-fADV, #exe_studio .c-fPP { color: #2f7d32; } #exe_studio .c-fP { color: #8e3fa0; } #exe_studio .c-fVC { color: #c26a00; }
#exe_studio .c-fIO { color: #0f766e; } #exe_studio .c-fDET { color: #0f766e; } #exe_studio .c-f { color: var(--exs-ink); }
#exe_studio .b-fS { background: #e3ebf8; color: #1f4fa8; } #exe_studio .b-fV { background: #f7e2df; color: #8a2616; }
#exe_studio .b-fO, #exe_studio .b-fO2 { background: #f3e8dc; color: #5a3416; } #exe_studio .b-fADV, #exe_studio .b-fPP { background: #e2efe2; color: #245f27; }
#exe_studio .b-fP { background: #f0e4f4; color: #6b2c7a; } #exe_studio .b-fVC { background: #fbecd9; color: #8a4a00; }
#exe_studio .b-fIO, #exe_studio .b-fDET { background: #dcefec; color: #0b5e57; } #exe_studio .b-f { background: #eeebe6; color: #57504a; }

/* Traduction */
#exe_studio .exs-tr { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; align-items: baseline; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee6d9; }
#exe_studio .exs-tr .txt { font: 400 16.5px var(--exs-serif); color: var(--exs-ink-soft); }
#exe_studio .exs-tr mark { background: var(--exs-gold-wash); box-shadow: inset 0 -2px 0 var(--exs-gold); color: inherit; border-radius: 3px; padding: 0 1px; }
#exe_studio .exs-tr textarea { width: 100%; box-sizing: border-box; min-height: 40px; border: 1px dashed #d8cfc1; border-radius: 7px; background: var(--exs-soft); padding: 8px 10px; font: 400 15px var(--exs-serif); color: var(--exs-ink); resize: vertical; }

/* Espace de travail : tiroir, fiche, vues */
#exe_studio .exs-crumb { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #eee6d9; }
#exe_studio .exs-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 10px; border-radius: 13px; border: 1px solid var(--exs-line); background: var(--exs-canvas); font: 600 12px var(--exs-ui); color: var(--exs-ink-soft); white-space: nowrap; }
#exe_studio button.exs-chip:hover { border-color: var(--exs-accent); color: var(--exs-accent); }
#exe_studio .exs-dsec { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; padding: 9px 0; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-dsec .n { width: 20px; height: 20px; border-radius: 50%; background: #f3ede2; color: var(--exs-accent); font: 700 10.5px var(--exs-ui); display: flex; align-items: center; justify-content: center; }
#exe_studio .exs-dsec .t { font: 700 11px var(--exs-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--exs-muted); margin-bottom: 4px; }
#exe_studio .exs-li { font: 400 13px/1.45 var(--exs-ui); color: var(--exs-ink); padding: 2px 0; }
#exe_studio .exs-btn { height: 34px; padding: 0 13px; border-radius: 6px; border: 1px solid var(--exs-accent); background: var(--exs-accent); color: #fff; font: 600 12.5px var(--exs-ui); display: inline-flex; align-items: center; gap: 7px; }
#exe_studio .exs-btn:hover { background: var(--exs-accent-dark); }
#exe_studio .exs-btn.ghost { background: #fff; color: var(--exs-accent); }
#exe_studio .exs-row { display: grid; gap: 12px; padding: 8px 0; border-top: 1px solid var(--exs-line-soft); align-items: baseline; }
#exe_studio .exs-arow { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; align-items: baseline; width: 100%; text-align: left; padding: 8px 6px; border: 0; border-top: 1px solid var(--exs-line-soft); background: none; font: 400 13px var(--exs-ui); color: var(--exs-ink); }
#exe_studio .exs-arow:hover { background: #fbf6ec; }

/* Transitions de droite à gauche */
@keyframes exs-rtl { from { opacity: 0; transform: translateX(56px); } to { opacity: 1; transform: none; } }
#exe_studio .exs-view { animation: exs-rtl .34s cubic-bezier(.2,.75,.25,1) both; }
@media (prefers-reduced-motion: reduce) { #exe_studio .exs-view { animation: none; } }

/* Retour au studio depuis la palette historique */
#exe_studio_retour { display: none; margin: 0 0 10px; height: 32px; padding: 0 12px; border-radius: 5px; border: 1px solid #7a6344; background: #332b21; color: #ead4af; font: 600 13px 'BP Gentium', 'Gentium Plus', Georgia, serif; cursor: pointer; }

/* Quand le studio est affiché, la palette historique est masquée par une classe,
   sans toucher aux show()/hide() que afficheExegese applique à chaque icône. */
#div_exegese.exs-mode > img.exe, #div_exegese.exs-mode > br, #div_exegese.exs-mode > #app_ex,
#div_exegese.exs-mode > #LoadingImageExe { display: none !important; }
#div_exegese.exs-palette > #exe_studio_retour { display: inline-flex; align-items: center; gap: 7px; }

/* AT : un mot graphique (préfixes et suffixes compris) forme un seul bloc, comme l'unité ATI */
#exe_studio .exs-gw { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; padding: 3px 5px 4px; border-radius: 7px; }
#exe_studio .exs-gw.sel { background: var(--exs-gold-wash); box-shadow: inset 0 -3px 0 var(--exs-gold); }
#exe_studio .exs-gw.inspan { background: #fff7e3; }
#exe_studio .exs-gw-f { display: inline-flex; }
#exe_studio .exs-m { background: none; border: 0; padding: 0; border-radius: 4px; }
#exe_studio .exs-m:hover { background: rgba(122,74,33,.10); }
#exe_studio .exs-m.on { box-shadow: inset 0 -2px 0 var(--exs-accent); }
#exe_studio .exs-m:focus-visible { outline: 2px solid var(--exs-accent); }
#exe_studio .exs-m .fh { font: 400 30px/1.5 var(--exs-heb); }
#exe_studio .exs-gw .it { font: italic 400 13px var(--exs-serif); color: var(--exs-accent); white-space: nowrap; }
#exe_studio .exs-gw .tr { font: 400 11.5px var(--exs-ui); color: #8a8078; white-space: nowrap; }
#exe_studio .exs-gw .mc { font: 600 9.5px var(--exs-ui); color: #8a8078; letter-spacing: .03em; white-space: nowrap; direction: ltr; }

/* Étape 3 : marques de l'apparat sur le texte, témoins, unités cliquables */
#exe_studio .exs-mk { font: 400 21px var(--exs-serif); color: #b45309; padding-top: 5px; }
#exe_studio .exs-w.var .f { text-decoration: underline dotted #b45309; text-decoration-thickness: 2px; text-underline-offset: 7px; }
#exe_studio .exs-w.hx .fh, #exe_studio .exs-m.hx .fh { text-decoration: underline dotted #b45309; text-decoration-thickness: 2px; text-underline-offset: 9px; }
#exe_studio .exs-wit { display: inline-flex; align-items: center; height: 23px; padding: 0 7px; border-radius: 5px; background: var(--exs-canvas); border: 1px solid var(--exs-line); font: 600 12.5px var(--exs-serif); color: var(--exs-ink); white-space: nowrap; }
#exe_studio .exs-unit { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 2px 0 6px; border-radius: 6px; }
#exe_studio .exs-unit:hover { background: #fbf6ec; }

/* ---------- Immersion : même intégration que Références et Commentaires ----------
   L'onglet occupe toute la largeur, sans marge ni cadre, et le fond historique
   (papyrus) disparaît. La classe du conteneur de défilement est posée ET retirée
   par un MutationObserver qui suit l'affichage réel de #div_exegese (voir
   surveillerImmersion dans exegese-studio.js), jamais par un clic : c'est la
   leçon tirée de pr-reference-mode (passage-resources.css). Classe distincte,
   pour que l'observateur de Références et Commentaires ne la retire pas. */
#main_section.exs-studio-mode {
    background: #faf7f1 !important;
    background-image: none !important;
}
#div_exegese.exs-mode {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100%;
    padding: 0 !important;
    cursor: default !important;
    background: #faf7f1;
    box-shadow: 0 40px 0 #faf7f1;
    box-sizing: border-box;
}
#div_exegese.exs-mode > #exe_studio_retour { display: none !important; }
#exe_studio { margin: 0; border-radius: 0; overflow: visible; min-height: 100%; }
/* Bandeau collant : aucun ancêtre ne doit porter overflow:hidden ni transform. */
#exe_studio .exs-head {
    position: sticky;
    top: 0;
    z-index: 20;
    padding: 0 clamp(16px, 4vw, 54px);
    box-shadow: 0 1px 0 var(--exs-bar-line), 0 6px 18px rgba(30, 28, 26, .13);
}
#exe_studio .exs-body { padding: 16px clamp(16px, 4vw, 54px) 36px; }
#exe_studio .exs-text { top: 124px; max-height: calc(100vh - 240px); }
@media (max-width: 1100px) { #exe_studio .exs-text { max-height: none; } }

/* Étape 4 : constructions figées, typologie des propositions. */
#exe_studio .exs-w.idi, #exe_studio .exs-m.idi { box-shadow: inset 0 -2px 0 rgba(15, 107, 99, .6); }
#exe_studio .exs-legend i.c-idi { background: none; height: 0; border-radius: 0; border-bottom: 2px solid #0f6b63; }
#exe_studio .exs-unit .exs-li { display: block; }
#exe_studio .exs-phrs { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 4px; }
#exe_studio .exs-phr { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; padding: 4px 10px; border: 1px solid var(--exs-line-soft); border-radius: 7px; background: #fff; cursor: pointer; font: inherit; color: var(--exs-ink); }
#exe_studio .exs-phr:hover { background: #fbf6ec; }

/* Étape 5 : situer, introductions, parallèles. */
#exe_studio .exs-st-SECONDAIRE { background: #efe7da; color: #6b5a44; }
#exe_studio .exs-sit { display: flex; flex-direction: column; gap: 4px; }
#exe_studio .exs-sit-l { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 8px; align-items: baseline; font: 400 14px/1.4 var(--exs-serif); }
#exe_studio .exs-position { display: grid; gap: 3px; padding: 2px 0 7px; }
#exe_studio .exs-position-l { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 7px; align-items: start; margin-left: calc(var(--niveau, 0) * 10px); font: 400 13.5px/1.35 var(--exs-serif); }
#exe_studio .exs-position-l.livre { grid-template-columns: 65px minmax(0, 1fr); margin: 0 0 3px; align-items: baseline; }
#exe_studio .exs-position-l.livre .exs-serif { font-size: 17px; font-weight: 600; }
#exe_studio .exs-position-trait { width: 12px; height: 12px; margin-top: 3px; border-left: 1px solid var(--exs-line); border-bottom: 1px solid var(--exs-line); }
#exe_studio .exs-position-l small { display: block; margin-top: 1px; color: var(--exs-muted); font: 400 11.5px var(--exs-ui); }
#exe_studio .exs-position-courante { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 8px; align-items: baseline; padding-top: 6px; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-pericopes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 7px; }
#exe_studio .exs-pericope { position: relative; min-width: 0; padding: 8px 9px; border: 1px solid var(--exs-line-soft); border-radius: 8px; background: #fff; color: var(--exs-ink); text-align: left; cursor: pointer; }
#exe_studio .exs-pericope > span { display: block; margin-bottom: 3px; color: var(--exs-muted); font: 700 9.5px var(--exs-ui); letter-spacing: .08em; text-transform: uppercase; }
#exe_studio .exs-pericope b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 12.5px var(--exs-serif); }
#exe_studio .exs-pericope small { color: var(--exs-muted); font: 400 10.5px var(--exs-ui); }
#exe_studio .exs-pericope:not(.current):hover, #exe_studio .exs-pericope:not(.current):focus-visible { border-color: var(--exs-accent); background: #fbf6ec; outline: none; }
#exe_studio .exs-pericope.current { border-color: #c9ab7b; background: var(--exs-gold-wash); cursor: default; }
#exe_studio .exs-contexte { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
#exe_studio .exs-contexte-l { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 7px; padding: 6px 0; border-top: 1px solid var(--exs-line-soft); align-items: baseline; }
#exe_studio .exs-contexte-l:nth-child(-n+2) { border-top: 0; }
#exe_studio .exs-contexte-l span { color: var(--exs-accent); font: 700 9.5px var(--exs-ui); letter-spacing: .07em; text-transform: uppercase; }
#exe_studio .exs-contexte-l b { font: 500 13px/1.4 var(--exs-serif); }
#exe_studio .exs-themes { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 6px; }
#exe_studio .exs-themes span { padding: 3px 8px; border-radius: 99px; background: #f2ebe0; color: #5f4c37; font: 600 10.5px var(--exs-ui); }
#exe_studio .exs-contexte-volume { margin-bottom: 3px; }
#exe_studio .exs-visuels-apercu { display: grid; grid-template-columns: repeat(6, minmax(72px, 1fr)); gap: 7px; margin: 2px 0 7px; }
#exe_studio .exs-visuel-apercu { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--exs-line); border-radius: 7px; background: #fff; color: var(--exs-ink); text-align: left; }
#exe_studio .exs-visuel-apercu img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eee6da; }
#exe_studio .exs-visuel-apercu figcaption { display: block; padding: 5px 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 10.5px var(--exs-ui); }
#exe_studio .exs-intro { border-top: 1px solid var(--exs-line-soft); padding: 5px 0; }
#exe_studio .exs-intro summary { cursor: pointer; font: 600 13.5px var(--exs-ui); color: var(--exs-ink); }
#exe_studio .exs-intro-t { white-space: pre-line; font: 400 14px/1.55 var(--exs-serif); color: var(--exs-ink-soft); padding: 6px 0 4px; }
#exe_studio .exs-wit.cur { background: var(--exs-ink); color: #fff; }
@media (max-width: 760px) {
    #exe_studio .exs-pericopes { grid-template-columns: 1fr; }
    #exe_studio .exs-contexte { grid-template-columns: 1fr; }
    #exe_studio .exs-contexte-l:nth-child(2) { border-top: 1px solid var(--exs-line-soft); }
    #exe_studio .exs-visuels-apercu { grid-template-columns: repeat(3, minmax(72px, 1fr)); }
}

/* Relier : constellation canonique, frise de la réception, monde du texte, bibliographie. */
#exe_studio .exs-arcs, #exe_studio .exs-frise { display: block; width: 100%; height: auto; margin: 4px 0 2px; }
#exe_studio .exs-arc-lab { font: 600 11px var(--exs-ui); fill: #7a6e60; }
#exe_studio .exs-arc-me { font: 700 13px var(--exs-ui); fill: #1d1a16; }
#exe_studio .exs-arcs path:hover { stroke-opacity: 1; stroke-width: 3; }
#exe_studio .exs-bulle { cursor: pointer; }
#exe_studio .exs-bulle:hover circle { fill-opacity: .9; }
#exe_studio .exs-rl { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 10px; padding: 6px 0; border-top: 1px solid var(--exs-line-soft); align-items: baseline; }
#exe_studio .exs-rl > div { display: flex; flex-wrap: wrap; gap: 5px; }
#exe_studio a.exs-wit { text-decoration: none; }
#exe_studio a.exs-wit.extra { background: #f3ecf7; border-color: #d8c6e4; }
#exe_studio .exs-ents { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin-top: 6px; }
#exe_studio .exs-ent { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; text-align: left; padding: 9px 10px; border: 1px solid var(--exs-line-soft); border-radius: 9px; background: #fff; font: 400 13px/1.4 var(--exs-ui); color: var(--exs-ink); cursor: pointer; }
#exe_studio .exs-ent:hover { background: #fbf6ec; }
#exe_studio .exs-ent-i { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #efe7da; color: #6b5a44; }
#exe_studio .exs-ent-i svg { width: 17px; height: 17px; }
#exe_studio .exs-ent-personne .exs-ent-i { background: #e3ebf8; color: #1f4fa8; }
#exe_studio .exs-ent-faune .exs-ent-i, #exe_studio .exs-ent-flore .exs-ent-i { background: #dcefec; color: #0b5e57; }
#exe_studio .exs-ent-t { display: block; margin-top: 3px; color: var(--exs-ink-soft); font: 400 12.5px/1.45 var(--exs-serif); }
#exe_studio .exs-bib { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--exs-line-soft); font: 400 13.5px/1.4 var(--exs-serif); }
#exe_studio .exs-bib-loc { font: 600 12px var(--exs-ui); color: var(--exs-accent); text-align: right; }
@media (max-width: 720px) { #exe_studio .exs-rl { grid-template-columns: 1fr; } #exe_studio .exs-bib { grid-template-columns: 1fr; } }
#exe_studio .exs-frise-lab { font: 600 14px var(--exs-ui); fill: #7a6e60; }
#exe_studio .exs-frise-nom { font: 600 14.5px var(--exs-ui); fill: #3d342a; }
#exe_studio .exs-frise-nom.cur { fill: #000; font-weight: 800; }
#exe_studio .exs-siecles { display: grid; gap: 0; margin: 6px 0 4px; border-top: 2px solid #d6cab7; }
#exe_studio .exs-siecle { padding: 6px 6px 4px; border-left: 1px dashed #e0d6c6; min-width: 0; }
#exe_studio .exs-siecle:first-child { border-left: 0; }
#exe_studio .exs-siecle-t { font: 700 11px var(--exs-ui); letter-spacing: .06em; color: var(--exs-accent); margin-bottom: 4px; }
#exe_studio .exs-pere { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 5px; align-items: center; width: 100%; padding: 3px 4px; border: 0; border-radius: 6px; background: none; text-align: left; font: 600 12px/1.25 var(--exs-ui); color: var(--exs-ink); cursor: pointer; }
#exe_studio .exs-pere:hover { background: #f5eee2; }
#exe_studio .exs-pere .pt { justify-self: center; border-radius: 50%; background: #8a6d3b; opacity: .7; }
#exe_studio .exs-pere .nm { overflow-wrap: anywhere; hyphens: auto; }
#exe_studio .exs-pere .nb { font: 700 11px var(--exs-ui); color: var(--exs-muted); }
#exe_studio .exs-pere.on { background: #1d1a16; color: #fff; }
#exe_studio .exs-pere.on .pt { background: #e9c98f; opacity: 1; }
@media (max-width: 720px) { #exe_studio .exs-siecles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Versions anciennes. */
#exe_studio .exs-anc { font-size: 16px; line-height: 1.6; }
#exe_studio .exs-heb.exs-anc { font-size: 19px; text-align: right; }
#exe_studio .exs-syr { font-family: 'Noto Sans Syriac', 'Estrangelo Edessa', 'Serto Jerusalem', serif; font-size: 19px; text-align: right; }
#exe_studio .exs-cop { font-family: 'Antinoou', 'Noto Sans Coptic', 'Segoe UI Historic', serif; }
#exe_studio mark.exs-diff { background: #fde9c4; color: inherit; border-radius: 3px; padding: 0 2px; }

/* Étape 6 : points d'examen de la famille, en tête de sa vue. */
#exe_studio .exs-pfam { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 2px 0 12px; margin-bottom: 10px; border-bottom: 1px solid var(--exs-line-soft); }
#exe_studio .exs-pfam .exs-chip { white-space: normal; text-align: left; height: auto; padding: 4px 10px; }

/* Division massorétique. */
#exe_studio .exs-acc { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; width: 100%; padding: 4px 6px; border: 0; border-top: 1px solid var(--exs-line-soft); background: none; cursor: pointer; direction: rtl; text-align: right; }
#exe_studio .exs-acc:hover { background: #fbf6ec; }
#exe_studio .exs-acc .exs-heb { font-size: 19px; }
#exe_studio .exs-acc-l { direction: ltr; font: 600 11.5px var(--exs-ui); color: var(--exs-accent); white-space: nowrap; }

/* Dossier d'enquête. */
#exe_studio .exs-saisie { display: block; width: 100%; box-sizing: border-box; min-height: 44px; margin: 6px 0; border: 1px solid var(--exs-line); border-radius: 7px; background: var(--exs-soft); padding: 8px 10px; font: 400 14.5px/1.45 var(--exs-serif); color: var(--exs-ink); resize: vertical; }
#exe_studio .exs-saisie:focus, #exe_studio .exs-sel:focus { outline: 2px solid rgba(122,74,33,.35); outline-offset: 1px; border-color: var(--exs-accent); }
#exe_studio .exs-sel { height: 28px; padding: 0 6px; border: 1px solid var(--exs-line); border-radius: 6px; background: #fff; font: 600 12px var(--exs-ui); color: var(--exs-ink-soft); }
#exe_studio .exs-dq { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--exs-line); border-radius: 9px; background: #fff; }
#exe_studio .exs-dq-pied { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
#exe_studio .exs-dgr { margin-top: 16px; }
#exe_studio .exs-dn { margin-top: 8px; padding: 10px 12px; border: 1px solid var(--exs-line-soft); border-radius: 9px; background: #fff; }
#exe_studio .exs-dn-t { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
#exe_studio .exs-dn-c { display: flex; gap: 6px; align-items: center; }
#exe_studio .exs-dn-titre { font-size: 16px; line-height: 1.4; margin-top: 4px; }
#exe_studio .exs-dn-d { margin-top: 4px; }
#exe_studio .exs-dn-d summary { cursor: pointer; font: 600 12px var(--exs-ui); color: var(--exs-ink-soft); }
#exe_studio .exs-dn-d .exs-kicker { display: block; margin-top: 6px; }
#exe_studio .exs-dn-p { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
#exe_studio .exs-dexp { margin-top: 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
#exe_studio .exs-chip-alerte { border-color: #b3471f; color: #8a2616; background: #fdf1ec; }

/* Méthode et bibliographie. */
#exe_studio .exs-barbtn[aria-pressed="true"] { color: #fff; border-color: var(--exs-gold); }
#exe_studio .exs-meth { margin-top: 18px; padding: 10px 12px; border-top: 1px solid var(--exs-line); background: var(--exs-soft); border-radius: 0 0 8px 8px; }
#exe_studio .exs-ref { border: 0; padding: 0; background: none; font: inherit; color: var(--exs-accent); cursor: pointer; text-decoration: underline dotted; text-underline-offset: 2px; }
#exe_studio .exs-ref:hover { color: var(--exs-accent-dark); text-decoration-style: solid; }
#exe_studio .exs-mgr { margin-top: 18px; }
#exe_studio .exs-mp { padding: 8px 0; border-top: 1px solid var(--exs-line-soft); display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }
#exe_studio .exs-ms { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 10px; padding: 5px 0; border-top: 1px solid var(--exs-line-soft); align-items: baseline; }
#exe_studio .exs-mrub { margin-top: 12px; }
#exe_studio .exs-mref { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 8px; padding: 6px 4px; border-top: 1px solid var(--exs-line-soft); align-items: baseline; border-radius: 5px; }
#exe_studio .exs-mref.on { background: #fdf0cf; }
#exe_studio .exs-mnot { font: 400 14px/1.45 var(--exs-serif); color: var(--exs-ink); }
#exe_studio .exs-cercle { display: inline-block; width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--exs-accent); }
#exe_studio .exs-cercle.lu { background: var(--exs-accent); }
@media (max-width: 720px) { #exe_studio .exs-ms { grid-template-columns: 1fr; gap: 2px; } }

/* Finitions, passe 1 : deux colonnes.
   Gauche : le texte sur toute la hauteur ; en-tête fixe (commandes, LSG), propositions qui défilent.
   Droite : l'espace de travail (tiroir, fiches, vues), puis les points d'examen repliables en bas. */
#exe_studio .exs-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
#exe_studio .exs-text { display: flex; flex-direction: column; padding: 0; overflow: hidden; top: 116px; height: calc(100vh - 56px - 116px - 16px); max-height: none; }
#exe_studio .exs-text-tete { padding: 14px 18px 10px; border-bottom: 1px solid var(--exs-line-soft); flex: 0 0 auto; }
#exe_studio .exs-text-tete .exs-tr { margin-top: 10px; padding-top: 10px; }
#exe_studio .exs-text-corps { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 18px 16px; scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; }
#exe_studio .exs-text-corps::-webkit-scrollbar { width: 6px; }
#exe_studio .exs-text-corps::-webkit-scrollbar-thumb { background: #9a7a56; border-radius: 3px; }
#exe_studio .exs-text-corps::-webkit-scrollbar-track { background: transparent; }
#exe_studio .exs-text-corps::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
#exe_studio .exs-droite { display: flex; flex-direction: column; gap: 10px; min-width: 0; position: sticky; top: 116px; height: calc(100vh - 56px - 116px - 16px); max-height: none; overflow: hidden; }

#exe_studio .exs-work { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; padding: 16px 22px 20px; }
#exe_studio .exs-work::-webkit-scrollbar { width: 6px; }
#exe_studio .exs-work::-webkit-scrollbar-thumb { background: #9a7a56; border-radius: 3px; }
#exe_studio .exs-work::-webkit-scrollbar-track { background: transparent; }
#exe_studio .exs-work::-webkit-scrollbar-button { display: none; width: 0; height: 0; }

#exe_studio .exs-hotzone { flex: 0 0 auto; display: flex; flex-direction: column; gap: 6px; padding-top: 2px; }
#exe_studio .exs-hot-t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
#exe_studio .exs-hots-ligne { display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 6px; align-items: stretch; min-width: 0; }
#exe_studio .exs-hots { display: block; min-width: 0; max-height: none; overflow: hidden; scroll-behavior: auto; scrollbar-width: none; }
#exe_studio .exs-hots::-webkit-scrollbar { display: none; width: 0; height: 0; }
#exe_studio .exs-hots-piste { display: flex; gap: 8px; min-width: 0; }
#exe_studio .exs-hot { flex: 0 0 calc((100% - 16px) / 3); height: 92px; min-height: 92px; max-height: 92px; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 2px; padding: 7px 12px; overflow: hidden; }
#exe_studio .exs-hot-l { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
#exe_studio .exs-hot-titre { font: 700 14px/1.25 var(--exs-serif); color: var(--exs-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#exe_studio .exs-hot-raison { font-size: 11.5px; line-height: 1.35; color: var(--exs-ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#exe_studio .exs-chevron { align-self: stretch; display: inline-flex; align-items: center; justify-content: center; width: 30px; min-height: 92px; border: 1px solid var(--exs-line); border-radius: 9px; background: var(--exs-surface); padding: 0; color: var(--exs-accent); cursor: pointer; transition: border-color .16s, background-color .16s; }
#exe_studio .exs-chevron svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .24s ease; }
#exe_studio .exs-chevron.retour svg { transform: rotate(180deg); }
#exe_studio .exs-chevron:hover { color: var(--exs-accent-dark); border-color: #c9b79c; background: var(--exs-soft); }
@media (prefers-reduced-motion: reduce) { #exe_studio .exs-chevron svg { transition: none; } }

/* Pas de glissade quand la vue de droite ne change pas (bascules, choix dans un bloc). */
#exe_studio.exs-fixe .exs-view { animation: none; }
/* Bloc d'arrivée d'une action du tiroir. */
@keyframes exs-cible { from { box-shadow: 0 0 0 3px var(--exs-gold-wash), 0 0 0 1px var(--exs-gold); } to { box-shadow: none; } }
#exe_studio .exs-cible { animation: exs-cible 1.6s ease-out .3s both; }

/* Liens : marron et soulignés, comme ailleurs dans BP. */
#exe_studio a:not(.exs-wit) { color: var(--exs-accent); text-decoration: underline; text-underline-offset: 2px; }
#exe_studio a:not(.exs-wit):hover { color: var(--exs-accent-dark); }

/* « Où le verset est discuté » : le titre garde sa largeur, les renvois passent dessous s'ils sont longs. */
#exe_studio .exs-bib { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
#exe_studio .exs-bib > span:first-child { flex: 1 1 260px; min-width: 0; }
#exe_studio .exs-bib-loc { flex: 0 1 auto; max-width: 100%; text-align: left; overflow-wrap: anywhere; }

@media (max-width: 1100px) {
    #exe_studio .exs-main { grid-template-columns: minmax(0, 1fr); }
    #exe_studio .exs-text { position: static; height: auto; }
    #exe_studio .exs-text-corps { overflow: visible; }
    #exe_studio .exs-droite { position: static; height: auto; overflow: visible; }
    #exe_studio .exs-work { overflow: visible; min-height: 420px; }
    #exe_studio .exs-hot { flex-basis: calc((100% - 8px) / 2); }
}
/* Verset très long : la LSG ne mange pas la colonne ; le segment surligné est ramené en vue. */
#exe_studio .exs-text-tete .exs-tr .txt { max-height: 24vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; padding-right: 4px; }
#exe_studio .exs-text-tete .exs-tr .txt::-webkit-scrollbar { width: 5px; }
#exe_studio .exs-text-tete .exs-tr .txt::-webkit-scrollbar-thumb { background: #9a7a56; border-radius: 3px; }
@media (max-width: 1100px) { #exe_studio .exs-text-tete .exs-tr .txt { max-height: none; } }
/* Téléphone : les lignes à étiquette s'empilent (versions anciennes : le texte était écrasé à 0 px),
   les boutons peuvent aller à la ligne. */
@media (max-width: 720px) {
    #exe_studio .exs-row { grid-template-columns: minmax(0, 1fr) !important; gap: 2px; }
    #exe_studio .exs-chip { white-space: normal; height: auto; min-height: 26px; padding: 3px 10px; }
    #exe_studio .exs-hot { flex-basis: 100%; }
}

/* Finitions, passe 2 : bouton « i » et vue « Le studio exégétique ». */
#exe_studio .exs-info { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--exs-bar-dim); background: none; color: var(--exs-bar-dim); font: italic 700 14px/1 var(--exs-serif); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
#exe_studio .exs-info:hover, #exe_studio .exs-info.on { color: var(--exs-gold); border-color: var(--exs-gold); }
#exe_studio .exs-mtoc { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
#exe_studio .exs-mbref { font: 400 15px/1.55 var(--exs-serif); color: var(--exs-ink); margin: 6px 0 0; }
#exe_studio .exs-mgr { scroll-margin-top: 130px; }

/* Finitions, passe 5 : panneau latéral (outils amples), qui glisse depuis la droite. */
#exe_studio .exs-volet-fond { position: fixed; inset: 56px 0 0 0; background: rgba(30, 28, 26, .18); z-index: 2400; }
#exe_studio .exs-volet { position: fixed; top: 56px; right: 0; bottom: 0; width: min(820px, 94vw); z-index: 2500; background: var(--exs-canvas); border-left: 1px solid var(--exs-line); box-shadow: -14px 0 34px rgba(30, 28, 26, .18); display: flex; flex-direction: column; }
/* Passe 10 : le volet glisse vraiment de droite à gauche, et repart vers la droite ; le fond se fond. */
@keyframes exs-volet-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes exs-volet-out { from { transform: translateX(0); } to { transform: translateX(100%); } }
@keyframes exs-fond-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes exs-fond-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes exs-relu { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
#exe_studio .exs-volet.entre { animation: exs-volet-in .46s cubic-bezier(.16,.84,.3,1) both; }
#exe_studio .exs-volet.sort { animation: exs-volet-out .27s cubic-bezier(.55,0,.8,.2) both; pointer-events: none; }
#exe_studio .exs-volet-fond { animation: exs-fond-in .35s ease both; }
#exe_studio .exs-volet-fond.sort { animation: exs-fond-out .27s ease both; pointer-events: none; }
#exe_studio .exs-volet-corps.relu { animation: exs-relu .28s ease both; }
@media (prefers-reduced-motion: reduce) {
    #exe_studio .exs-volet.entre { animation-duration: .22s; }
    #exe_studio .exs-volet.sort { animation-duration: .16s; }
}
#exe_studio .exs-volet-tete { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 20px 8px; background: var(--exs-surface); }
#exe_studio .exs-volet-actions { display: flex; gap: 8px; align-items: center; }
#exe_studio .exs-legacy { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--exs-line); background: #fff; color: var(--exs-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
#exe_studio .exs-legacy:hover { color: var(--exs-accent); border-color: var(--exs-accent); }
#exe_studio .exs-volet-x { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--exs-line); background: #fff; font: 400 20px/1 var(--exs-ui); color: var(--exs-ink-soft); cursor: pointer; }
#exe_studio .exs-volet-x:hover { color: var(--exs-accent); border-color: var(--exs-accent); }
#exe_studio .exs-volet-onglets { display: flex; gap: 2px; flex-wrap: wrap; padding: 0 16px; background: var(--exs-surface); border-bottom: 1px solid var(--exs-line); }
#exe_studio .exs-volet-onglets .exs-tab { color: var(--exs-ink-soft); }
#exe_studio .exs-volet-onglets .exs-tab.on { color: var(--exs-accent); }
#exe_studio .exs-volet-outils { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 20px; border-bottom: 1px solid var(--exs-line-soft); }
#exe_studio .exs-filtre { flex: 1 1 180px; min-width: 0; height: 30px; padding: 0 10px; border: 1px solid var(--exs-line); border-radius: 6px; background: #fff; font: 400 13px var(--exs-ui); color: var(--exs-ink); }
#exe_studio .exs-volet-boutons { display: flex; gap: 6px; flex-wrap: wrap; }
#exe_studio .exs-chip-ia { border-color: #d9b56a; background: #fdf6e3; }
#exe_studio .exs-volet-corps { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 12px 20px 30px; scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; }
#exe_studio .exs-volet-corps::-webkit-scrollbar { width: 6px; }
#exe_studio .exs-volet-corps::-webkit-scrollbar-thumb { background: #9a7a56; border-radius: 3px; }
#exe_studio .exs-vgr { padding: 10px 0; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-vgr-texte { font-size: 16px; line-height: 1.5; color: var(--exs-ink); }
#exe_studio .exs-vgr-v { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
#exe_studio .exs-vcode { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px 2px 3px; border: 1px solid var(--exs-line); border-radius: 12px; background: #fff; font: 600 11.5px var(--exs-ui); color: var(--exs-ink-soft); }
#exe_studio .exs-vcode img { width: 14px; height: 20px; object-fit: cover; border-radius: 2px; }
#exe_studio .exs-vligne { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-top: 1px solid var(--exs-line-soft); align-items: start; }
#exe_studio .exs-vligne img { width: 34px; height: 48px; object-fit: cover; border-radius: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
#exe_studio .exs-vnom { font: 700 12px var(--exs-ui); color: var(--exs-accent); }
#exe_studio .exs-vtexte { font-size: 15.5px; line-height: 1.5; }
#exe_studio .exs-ia { margin-bottom: 12px; padding: 10px 12px; border: 1px solid #e7d3a4; border-radius: 9px; background: #fffaf0; }
#exe_studio .exs-ia-t { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
#exe_studio .exs-ia-texte { font: 400 14.5px/1.55 var(--exs-serif); color: var(--exs-ink); }
#exe_studio .exs-carte-action { display: flex; justify-content: flex-end; margin: -2px 0 6px; }
@media (max-width: 720px) {
    #exe_studio .exs-volet { width: 100vw; }
    #exe_studio .exs-volet-tete, #exe_studio .exs-volet-outils, #exe_studio .exs-volet-corps { padding-left: 14px; padding-right: 14px; }
}

/* Panneau : introductions (liste des sources, lecture) et citations (textes en regard). */
#exe_studio .exs-volet-intros { width: min(1000px, 96vw); }
#exe_studio .exs-intros { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 250px minmax(0, 1fr); border-top: 1px solid var(--exs-line); }
#exe_studio .exs-intros-liste { overflow-y: auto; padding: 10px 8px; border-right: 1px solid var(--exs-line-soft); background: var(--exs-soft); scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; }
#exe_studio .exs-intros-src { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; width: 100%; text-align: left; padding: 6px 8px; border: 0; border-radius: 7px; background: none; font: 600 12.5px/1.3 var(--exs-ui); color: var(--exs-ink-soft); cursor: pointer; }
#exe_studio .exs-intros-src img { width: 28px; height: 40px; object-fit: cover; border-radius: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.15); }
#exe_studio .exs-intros-src:hover { background: #fff; }
#exe_studio .exs-intros-src.on { background: #fff; color: var(--exs-accent); box-shadow: inset 3px 0 0 var(--exs-gold); }
#exe_studio .exs-intros-bp { width: 28px; height: 40px; border-radius: 3px; background: var(--exs-accent); color: #fff; font: 700 11px/40px var(--exs-ui); text-align: center; }
#exe_studio .exs-intros-texte { overflow-y: auto; padding: 16px 26px 40px; scrollbar-width: thin; scrollbar-color: #9a7a56 transparent; }
#exe_studio .exs-intros-t { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; margin-bottom: 10px; }
#exe_studio .exs-lecture { font: 400 15.5px/1.65 var(--exs-serif); color: var(--exs-ink); max-width: 44em; }
#exe_studio .exs-lecture p { margin: 0 0 .8em; }
#exe_studio .exs-lecture h4 { font: 700 16px var(--exs-serif); margin: 1.2em 0 .4em; color: var(--exs-accent-dark); }
#exe_studio .exs-lecture h5 { font: 700 14.5px var(--exs-serif); margin: 1em 0 .3em; }
#exe_studio .exs-lecture ul, #exe_studio .exs-lecture ol { padding-left: 1.4em; }
#exe_studio .exs-lecture table { border-collapse: collapse; font-size: 14px; }
#exe_studio .exs-lecture td, #exe_studio .exs-lecture th { border: 1px solid var(--exs-line); padding: 3px 6px; }
#exe_studio .exs-cit { padding: 12px 0; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-cit-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 8px; }
#exe_studio .exs-cit-col { padding: 8px 10px; border: 1px solid var(--exs-line-soft); border-radius: 8px; background: #fff; }
#exe_studio .exs-cit-txt { font-size: 17px; line-height: 1.55; margin-top: 4px; }
#exe_studio mark.exs-commun { background: #e3ebf8; color: #1f4fa8; border-radius: 3px; padding: 0 1px; }
#exe_studio .exs-cit-trad { margin-top: 8px; }
@media (max-width: 720px) {
    #exe_studio .exs-intros { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
    #exe_studio .exs-intros-liste { max-height: 30vh; border-right: 0; border-bottom: 1px solid var(--exs-line-soft); }
}
@media (max-width: 720px) { #exe_studio .exs-volet.exs-volet-intros { width: 100vw; } }

/* Passe 6 : deux zones à défilement indépendant sur grand écran. La page ne défile plus : sous la
   grille, des éléments de l'application l'allongeaient, et en fin de course la colonne collante
   de gauche était entraînée vers le haut. */
@media (min-width: 1101px) {
    #main_section.exs-studio-mode { overflow-y: hidden !important; }
    #exe_studio .exs-body { padding-bottom: 14px; }
    /* La rangée est bornée à la hauteur de la grille : sans cela elle s'étire sur le contenu et rien ne défile. */
    #exe_studio .exs-main { height: calc(100vh - 56px - 116px - 30px); grid-template-rows: minmax(0, 1fr); align-items: stretch; }
    #exe_studio .exs-text { position: relative; top: auto; height: auto; min-height: 0; }
    /* Deux zones jointives : le tiroir occupe l'espace restant et la galerie des points
       prend seulement sa hauteur naturelle, sans rangée fantôme entre les deux. */
    #exe_studio .exs-droite { display: grid; grid-template-rows: minmax(0, 1fr) max-content; position: relative; top: auto; height: auto; min-height: 0; overflow: hidden; padding-right: 0; }
    #exe_studio .exs-work { height: auto; max-height: none; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
    #exe_studio .exs-hotzone { align-self: stretch; width: 100%; min-height: 0; max-height: none; overflow: visible; }
    #exe_studio .exs-hots { min-height: 0; max-height: none; overflow: hidden; }
}
#exe_studio .exs-text-corps { overscroll-behavior: contain; }

/* Mots : ni sélection du texte au clic, ni contour à la souris (le clavier garde le sien). */
#exe_studio .exs-w, #exe_studio .exs-m, #exe_studio .exs-acc { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
#exe_studio button:focus:not(:focus-visible) { outline: none; }

/* Accents de cantillation en rouge, comme dans le module historique. */
#exe_studio .exs-accent { color: #c0271d; }

/* Sens UBS : renvoi à un autre lemme. */
#exe_studio .exs-ubs-l { font-style: italic; }
#exe_studio .exs-ubs-l.exs-heb, #exe_studio .exs-ubs-l.exs-grk { font-style: normal; font-size: 1.08em; }

/* Pastille de retour au studio, dans la section des outils (même allure que celle de la Recherche intelligente). */
#exegese-retour { position: fixed; right: 18px; bottom: 18px; z-index: 12000; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px;
    border: 1px solid rgba(255, 191, 64, .48); border-radius: 999px; background: rgba(16, 25, 31, .94); color: #ffbf40; font: 600 13px/1.2 "Open Sans", Helvetica, Arial, sans-serif;
    box-shadow: 0 5px 22px rgba(0, 0, 0, .42); cursor: pointer; transition: transform .16s ease, background-color .16s ease; }
#exegese-retour:hover, #exegese-retour:focus-visible { transform: translateY(-2px); background: rgba(39, 43, 38, .98); outline: none; }

/* Passe 7 : Septante et TM selon Tov. */
#exe_studio .exs-tov { padding: 8px 0; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-tov-mots { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; }
#exe_studio .exs-tov-mots .exs-heb { font-size: 20px; color: #8a2616; }
#exe_studio .exs-tov-mots .exs-grk { font-size: 17px; color: #8a2616; }
#exe_studio .exs-tov-table { width: 100%; border-collapse: collapse; }
#exe_studio .exs-tov-table th { text-align: left; font: 700 10.5px var(--exs-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--exs-accent); padding: 4px 8px; border-bottom: 1px solid var(--exs-line); }
#exe_studio .exs-tov-table td { padding: 5px 8px; border-bottom: 1px solid var(--exs-line-soft); vertical-align: top; }
#exe_studio .exs-tov-table td.exs-heb { font-size: 19px; text-align: right; }
#exe_studio .exs-tov-table td.exs-grk { font-size: 16px; }
#exe_studio .exs-tov-table tr.ecart td { background: #fdf1ec; }
#exe_studio .exs-tov-table tr.ecart td.exs-heb, #exe_studio .exs-tov-table tr.ecart td.exs-grk { color: #8a2616; }
#exe_studio .exs-ac { margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--exs-line); border-radius: 9px; background: #fff; }
#exe_studio .exs-ac-cl { padding-left: 14px; }
#exe_studio .exs-ac-item { margin-top: 8px; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-ac-item > summary { padding: 9px 2px 7px; cursor: pointer; color: var(--exs-ink); }
#exe_studio .exs-ac-item > summary::marker { color: var(--exs-accent); }
#exe_studio .exs-ac-notice { margin: 7px 0 5px 14px; padding: 9px 11px; border-left: 2px solid var(--exs-accent); background: var(--exs-soft); font: 14px/1.55 var(--exs-ui); }
#exe_studio .exs-ac-notice p { margin: 0 0 7px; }
#exe_studio .exs-ac-notice p:last-child { margin-bottom: 0; }

/* Passe 8 : apparats critiques, notices du monde du texte, pastille de retour depuis Références. */
#exe_studio .exs-app { padding: 10px 0 14px; border-top: 1px solid var(--exs-line-soft); scroll-margin-top: 8px; }
#exe_studio .exs-app-texte { font-size: 15px; line-height: 1.7; max-width: none; }
#exe_studio .exs-app-texte sup { font-size: .7em; }
#exe_studio .exs-fiche-champs { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 12px; margin: 0 0 10px; font: 400 13.5px/1.45 var(--exs-ui); }
#exe_studio .exs-fiche-champs dt { color: var(--exs-accent); font-weight: 700; }
#exe_studio .exs-fiche-champs dd { margin: 0; color: var(--exs-ink); }
#exe_studio button.exs-ent { cursor: pointer; }
#exegese-retour-ref { position: fixed; right: 18px; bottom: 18px; z-index: 12000; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px;
    border: 1px solid rgba(255, 191, 64, .48); border-radius: 999px; background: rgba(16, 25, 31, .94); color: #ffbf40; font: 600 13px/1.2 "Open Sans", Helvetica, Arial, sans-serif;
    box-shadow: 0 5px 22px rgba(0, 0, 0, .42); cursor: pointer; transition: transform .16s ease, background-color .16s ease; }
#exegese-retour-ref:hover, #exegese-retour-ref:focus-visible { transform: translateY(-2px); background: rgba(39, 43, 38, .98); outline: none; }
@media (max-width: 720px) { #exe_studio .exs-fiche-champs { grid-template-columns: 1fr; } }
#exe_studio .exs-carte-action { gap: 6px; flex-wrap: wrap; }

/* Les deux rangées de droite peuvent se contracter dans la grille sans déborder horizontalement. */
#exe_studio .exs-droite > * { min-width: 0; }

/* Apparats critiques, réécrits : sections, unités, leçons, éditions, témoins. */
#exe_studio .exs-app { padding: 14px 0 6px; border-top: 1px solid var(--exs-line); }
#exe_studio .exs-app-carte { border-top: 0; padding-top: 0; }
#exe_studio .exs-app-t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
#exe_studio .exs-app-u { padding: 8px 12px; margin-top: 8px; border: 1px solid var(--exs-line-soft); border-radius: 9px; background: #fff; }
#exe_studio .exs-app-l { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; padding: 5px 0; border-top: 1px dashed var(--exs-line-soft); }
#exe_studio .exs-app-u > .exs-app-l:first-child, #exe_studio .exs-app-u > div:first-child + .exs-app-l { border-top: 0; }
#exe_studio .exs-app-l.retenu .exs-app-lecon { color: var(--exs-accent-dark); }
#exe_studio .exs-app-lecon { font-size: 18px; line-height: 1.4; }
#exe_studio .exs-app-lecon.exs-heb { font-size: 20px; }
#exe_studio .exs-ed { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 4px; background: var(--exs-canvas); border: 1px solid var(--exs-line); font: 700 10.5px var(--exs-ui); color: var(--exs-ink-soft); }
#exe_studio .exs-app-fam { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px; align-items: baseline; padding-left: 12px; }
#exe_studio .exs-app-fam .exs-kicker { min-width: 110px; }
#exe_studio .exs-app-tem { flex-basis: 100%; padding-left: 12px; }
#exe_studio .exs-app-w { flex-direction: column; gap: 2px; }
#exe_studio .exs-app-com { font-size: 14px; line-height: 1.6; margin-top: 4px; max-width: none; }
#exe_studio .exs-app-na27 p { margin: 0 0 6px; font-size: 16px; line-height: 1.6; }
#exe_studio .exs-app-na27 sup, #exe_studio .exs-wit sup { font-size: .7em; }

/* Passe 10 : illustrations des manuels (vignettes, visionneuse) et renvois bibliques. */
#exe_studio .exs-galerie { margin: 4px 0 14px; padding: 10px 0 12px; border-top: 1px solid var(--exs-line); border-bottom: 1px solid var(--exs-line); }
#exe_studio .exs-galerie-t { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
#exe_studio .exs-galerie-l { display: flex; flex-wrap: wrap; gap: 10px; }
#exe_studio .exs-vignette { width: 96px; height: 72px; padding: 0; border: 1px solid var(--exs-line); border-radius: 6px; overflow: hidden; background: #efe8dc; cursor: zoom-in; box-shadow: 0 1px 3px rgba(30, 28, 26, .12); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
#exe_studio .exs-vignette img { width: 100%; height: 100%; object-fit: cover; display: block; }
#exe_studio button.exs-vignette:hover, #exe_studio button.exs-vignette:focus-visible { transform: translateY(-2px); border-color: var(--exs-accent); box-shadow: 0 5px 14px rgba(30, 28, 26, .2); outline: none; }
#exe_studio .exs-vignette.attente { display: inline-block; cursor: default; background: linear-gradient(90deg, #efe8dc 0%, #f7f2ea 50%, #efe8dc 100%); background-size: 200% 100%; animation: exs-attente 1.2s linear infinite; }
#exe_studio .exs-visuels-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
#exe_studio .exs-visuel-tuile { position: relative; min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--exs-line); border-radius: 9px; background: #fff; color: var(--exs-ink); text-align: left; cursor: zoom-in; box-shadow: 0 1px 3px rgba(30, 28, 26, .1); }
#exe_studio .exs-visuel-tuile img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eee6da; }
#exe_studio .exs-visuel-tuile span { display: block; padding: 7px 8px 8px; font: 500 12px/1.3 var(--exs-ui); }
#exe_studio .exs-visuel-tuile small { position: absolute; top: 7px; right: 7px; padding: 2px 6px; border-radius: 99px; background: rgba(30, 28, 26, .84); color: #fff; font: 700 9px var(--exs-ui); letter-spacing: .05em; text-transform: uppercase; }
#exe_studio .exs-visuel-tuile:hover, #exe_studio .exs-visuel-tuile:focus-visible { border-color: var(--exs-accent); transform: translateY(-1px); box-shadow: 0 5px 14px rgba(30, 28, 26, .16); outline: none; }
#exe_studio .exs-visuels-note { margin-top: 12px; }
@keyframes exs-attente { from { background-position: 100% 0; } to { background-position: -100% 0; } }
#exe_studio .exs-visionneuse { position: fixed; inset: 0; z-index: 2700; display: flex; align-items: center; justify-content: center; animation: exs-fond-in .2s ease both; }
#exe_studio .exs-vis-fond { position: absolute; inset: 0; background: rgba(24, 22, 20, .9); }
#exe_studio .exs-visionneuse figure { position: relative; margin: 0; max-width: min(1000px, 86vw); display: flex; flex-direction: column; align-items: center; gap: 10px; }
#exe_studio .exs-visionneuse img { max-width: 100%; max-height: 78vh; border-radius: 4px; box-shadow: 0 14px 44px rgba(0, 0, 0, .5); background: #111; }
#exe_studio .exs-visionneuse figcaption { display: flex; gap: 10px; align-items: baseline; color: #eee6da; font: 400 14px var(--exs-ui); }
#exe_studio .exs-visionneuse figcaption .lg::first-letter { text-transform: uppercase; }
#exe_studio .exs-visionneuse figcaption .nb { color: #a39a90; font-size: 12px; }
#exe_studio .exs-vis-pas, #exe_studio .exs-vis-x { position: relative; z-index: 1; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: rgba(20, 18, 16, .55); color: #fff; font: 400 30px/1 var(--exs-ui); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
#exe_studio .exs-vis-pas { margin: 0 22px; }
#exe_studio .exs-vis-pas[hidden] { display: none; }
#exe_studio .exs-vis-x { position: absolute; top: 70px; right: 22px; font-size: 26px; }
#exe_studio .exs-vis-pas:hover, #exe_studio .exs-vis-x:hover, #exe_studio .exs-vis-pas:focus-visible, #exe_studio .exs-vis-x:focus-visible { background: rgba(122, 74, 33, .85); border-color: #ffbf40; outline: none; }
@media (max-width: 720px) { #exe_studio .exs-vis-pas { margin: 0 4px; width: 38px; height: 38px; } #exe_studio .exs-visionneuse figure { max-width: 72vw; } }
#exe_studio .exs-bref { color: var(--exs-accent); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: nowrap; }
#exe_studio .exs-bref:hover, #exe_studio .exs-bref:focus-visible { color: var(--exs-accent-dark); outline: none; background: rgba(122, 74, 33, .07); border-radius: 3px; }
/* La fenêtre des versets (PopupDataRef, tingle) passe au-dessus du volet quand il est ouvert. */
body.exs-volet-ouvert .tingle-modal { z-index: 2800; }
/* Les Pères lisent le verset (ECF, Schaff). */
#exe_studio .exs-peres-auteurs { max-height: 132px; overflow-y: auto; }
#exe_studio .exs-pere-x { padding: 12px 0 10px; border-bottom: 1px solid var(--exs-line-soft); }
#exe_studio .exs-pere-t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
#exe_studio .exs-pere-t .exs-chip { margin-left: auto; }
#exe_studio .exs-pere-texte { font: 400 15.5px/1.62 var(--exs-serif); color: var(--exs-ink); margin: 6px 0 0; }
#exe_studio .exs-lecture-pere p { font-size: 15.5px; line-height: 1.65; }
#exe_studio .exs-gram { margin-top: 12px; padding: 14px 16px; }
#exe_studio .exs-gram:first-child { margin-top: 0; }
#exe_studio .exs-gram-t { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 9px; margin-bottom: 10px; border-bottom: 1px solid var(--exs-line-soft); }
#exe_studio .exs-gram-t .exs-st { flex: 0 0 auto; }
#exe_studio .exs-gram-texte { max-width: 50em; }
#exe_studio .exs-gram-texte .exs-heb { font-size: 1.1em; }
#exe_studio .exs-gram-note { margin-top: 12px; padding-top: 9px; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-bref.vise { background: var(--exs-gold-wash); box-shadow: 0 0 0 2px var(--exs-gold-wash); border-radius: 3px; font-weight: 700; color: var(--exs-accent-dark); }
#exe_studio button.exs-wit { cursor: pointer; font: inherit; }
#exe_studio .exs-chip.on { background: var(--exs-accent); border-color: var(--exs-accent); color: #fff; }
/* Cantillation, passe 10 : verset coupé par ses disjonctifs, puis coupures une à une ; l'accent visé en rouge. */
#exe_studio .exs-accent-bas { color: #c9beb0; }
#exe_studio .exs-accent.vise { color: #c0271d; }
#exe_studio .exs-cant-verset { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 4px; font-size: 25px; line-height: 1.9; padding: 6px 10px; margin-bottom: 8px; border-radius: 8px; background: #fff; border: 1px solid var(--exs-line-soft); }
#exe_studio .exs-cant-u { border: 0; background: none; padding: 0 3px; font: inherit; color: var(--exs-ink); border-radius: 5px; cursor: pointer; }
#exe_studio .exs-cant-u:hover, #exe_studio .exs-cant-u:focus-visible { background: #fbf2e1; outline: none; }
#exe_studio .exs-cant-trait { font-family: var(--exs-ui); font-weight: 700; padding: 0 3px; }
#exe_studio .exs-cant-trait.n1, #exe_studio .exs-cant-nom b.n1 { color: #8a2616; font-size: 1.15em; }
#exe_studio .exs-cant-trait.n2, #exe_studio .exs-cant-nom b.n2 { color: #b45309; }
#exe_studio .exs-cant-trait.n3, #exe_studio .exs-cant-nom b.n3 { color: #a08a6c; font-size: .9em; }
#exe_studio .exs-cant-trait.n4, #exe_studio .exs-cant-nom b.n4 { color: #c2b6a6; font-size: .85em; }
#exe_studio .exs-cant-liste { display: flex; flex-direction: column; }
#exe_studio .exs-cant-l { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 5px 6px; border: 0; border-top: 1px solid var(--exs-line-soft); background: none; cursor: pointer; text-align: start; width: auto; }
#exe_studio .exs-cant-l:hover { background: #fbf6ec; }
#exe_studio .exs-cant-nom { font: 600 12px var(--exs-ui); color: var(--exs-accent); white-space: nowrap; }
#exe_studio .exs-cant-nom b { font-size: 16px; }
#exe_studio .exs-cant-t { font-size: 19px; line-height: 1.7; text-align: right; }
#exe_studio .exs-cant-u, #exe_studio .exs-cant-l { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
@media (max-width: 720px) { #exe_studio .exs-cant-l { flex-direction: column; align-items: stretch; } }
/* Texte du SBLGNT là où NA28 imprime autre chose : double trait sous le mot. */
#exe_studio .exs-w.sbl .f, #exe_studio .exs-w.sbl .fh { text-decoration: underline double #7a3e9d; text-underline-offset: 5px; }
#exe_studio .exs-legend i.c-sbl { background: none; height: 0; border-radius: 0; border-bottom: 3px double #7a3e9d; }
#exe_studio .exs-ecart { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 14px; padding: 7px 0; border-top: 1px solid var(--exs-line-soft); width: 100%; border-left: 0; border-right: 0; border-bottom: 0; background: none; cursor: pointer; text-align: left; font: inherit; }
#exe_studio .exs-ecart:hover { background: #fbf6ec; }
#exe_studio .exs-ecart .exs-grk { font-size: 18px; }
/* Le volet est une colonne flexible : seul son corps rétrécit ; en-tête, onglets et barres d'outils gardent leur hauteur. */
#exe_studio .exs-volet > .exs-volet-tete, #exe_studio .exs-volet > .exs-volet-onglets, #exe_studio .exs-volet > .exs-volet-outils { flex-shrink: 0; }
#exe_studio .exs-peres-auteurs { max-height: none; }

/* Consultation classique : icône seule, ronde, dans la barre des familles. */
#exe_studio .exs-barbtn.exs-barico { width: 34px; height: 34px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }

/* Ma synthèse (28/09/2026) : la fiche du verset d'abord, puis l'Atelier IA, puis les éléments numérotés. */
#exe_studio .exs-syn-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
#exe_studio .exs-syn-vide { margin-top: 12px; padding: 14px 16px; border: 1px dashed var(--exs-line); border-radius: 10px; background: var(--exs-soft); font: 400 14.5px/1.55 var(--exs-serif); }
#exe_studio .exs-syn-vide p { margin: 0 0 6px; }
#exe_studio .exs-syn-fiche { margin-top: 12px; padding: 14px 18px 10px; border: 1px solid var(--exs-line); border-top: 3px solid var(--exs-gold); border-radius: 10px; background: #fff; }
#exe_studio .exs-syn-fiche-t { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
#exe_studio .exs-syn-s { padding: 8px 0 4px; border-top: 1px solid var(--exs-line-soft); }
#exe_studio .exs-syn-s:first-of-type { border-top: 0; }
#exe_studio .exs-syn-s ul { margin: 4px 0 0; padding-left: 0; list-style: none; }
#exe_studio .exs-syn-s li { font: 400 14.5px/1.5 var(--exs-serif); padding: 3px 0; }
#exe_studio .exs-syn-f { font-size: 1.05em; }
#exe_studio .exs-syn-n { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 18px; padding: 0 5px; margin: 0 1px; border: 1px solid #e3c98b; border-radius: 9px; background: var(--exs-gold-wash); font: 700 10.5px var(--exs-ui); color: var(--exs-accent-dark); vertical-align: 1px; cursor: pointer; }
#exe_studio button.exs-syn-n:hover { border-color: var(--exs-accent); }
#exe_studio .exs-syn-n.statique { cursor: default; }
#exe_studio .exs-ia { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--exs-line); border-radius: 10px; background: var(--exs-soft); }
#exe_studio .exs-ia-t { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
#exe_studio .exs-ia-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
#exe_studio .exs-ia-mode { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 8px 10px; border: 1px solid var(--exs-line); border-radius: 9px; background: #fff; min-width: 0; }
#exe_studio .exs-ia-mode b { font: 700 13.5px var(--exs-ui); }
#exe_studio .exs-ia-mode small { font-size: 12px; color: var(--exs-muted); }
#exe_studio .exs-ia-mode.on { border-color: var(--exs-gold); box-shadow: 0 0 0 3px var(--exs-gold-wash); }
#exe_studio .exs-ia-lancer { display: flex; justify-content: flex-end; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
#exe_studio .exs-ia-lancer label { display: inline-flex; align-items: center; gap: 6px; }
#exe_studio .exs-ia-etat { margin-top: 6px; font-size: 13px; color: var(--exs-ink-soft); }
#exe_studio .exs-ia-res { margin-top: 10px; padding: 12px 14px; border: 1px solid var(--exs-line); border-radius: 9px; background: #fff; }
#exe_studio .exs-ia-res-t { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 6px; }
#exe_studio .exs-ia-texte { max-width: none; }
#exe_studio .exs-ia-texte h3 { font: 700 15.5px var(--exs-serif); margin: 12px 0 4px; color: var(--exs-accent-dark); }
#exe_studio .exs-ia-hist { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
#exe_studio .exs-ia-hist .exs-chip.on { border-color: var(--exs-gold); background: var(--exs-gold-wash); }
#exe_studio .exs-syn-el { margin-top: 18px; }
#exe_studio .exs-dn-g { display: inline-flex; align-items: center; gap: 7px; }
#exe_studio .exs-dn-in { display: inline-flex; align-items: center; gap: 4px; font: 600 11.5px var(--exs-ui); color: var(--exs-ink-soft); cursor: pointer; }
#exe_studio .exs-dn.hors { opacity: .6; background: var(--exs-canvas); }
#exe_studio .exs-dn.eclair { animation: exs-eclair 1.4s ease-out; }
@keyframes exs-eclair { from { box-shadow: 0 0 0 4px var(--exs-gold); } to { box-shadow: 0 0 0 0 transparent; } }
@media (max-width: 640px) { #exe_studio .exs-ia-modes { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { #exe_studio .exs-dn.eclair { animation: none; } }
