/* Marelle est distribuée sous licence SIL OFL 1.1 par le projet Marelle.
   Source publique officielle (pas de redistribution binaire dans l'extension).
   Le système signale explicitement les blocages réseau/CORS. */
@font-face{font-family:"MarelleAtelier";src:url("https://marelle.forge.apps.education.fr/fonts/Marelle-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Marelle2Atelier";src:url("https://marelle.forge.apps.education.fr/fonts/Marelle2-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"MarelleBatonAtelier";src:url("https://marelle.forge.apps.education.fr/fonts/MarelleBaton-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
/* Atelier d'écriture : reprend les trois colonnes et les composants Atelier.
   Les dimensions d'exercice et la réglure sont en mm dans le rendu métier. */
#view-ecriture:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:9px;color:#123854;font:12px Lexend,Arial,sans-serif}
#view-ecriture [hidden],#view-ecriture-start [hidden]{display:none!important}
#view-ecriture h1{margin:0;font-size:19px}#view-ecriture h2{font-size:16px;margin:0 0 11px}#view-ecriture h3{font-size:12px;margin:15px 0 8px}
.ew-header{min-height:50px;flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px}
.ew-workspace{display:grid;grid-template-columns:var(--ef-library-width) minmax(0,1fr) var(--ef-parameters-width);flex:1;min-height:0;gap:var(--ef-activity-gap)}
.ew-library,.ew-preview,.ew-settings{background:white;border:1px solid #eadcc6;border-radius:var(--ef-activity-radius);min-width:0;min-height:0;padding:13px;box-sizing:border-box}
.ew-library{overflow-y:auto;scrollbar-width:thin}.ew-library-hint,.ew-muted{font-size:11px;color:#70879a;line-height:1.4}
.ew-library input{border:1px solid #dfe5e9;border-radius:10px;background:white;padding:10px;width:100%;box-sizing:border-box;font:inherit}
.ew-preview{display:flex;flex-direction:column;overflow:hidden}.ew-preview-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;margin-bottom:10px}.ew-preview-heading span{font-size:11px;color:#718898}.ew-preview-canvas{flex:1 1 auto;min-height:0;overflow:auto;border-radius:13px;background:#eef1f2;display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}.ew-editor-stage{flex:0 0 auto;position:relative;box-shadow:0 2px 14px #183e5420}.ew-worksheet{position:absolute;top:0;left:0;box-shadow:none;color:#17384f;font-family:Lexend,Arial,sans-serif;overflow:hidden}.ew-ws-heading{text-align:center;font-size:5mm;font-weight:700;flex:0 0 auto}.ew-ws-instruction{text-align:center;font-weight:600;font-size:3.5mm;flex:0 0 auto}.ew-ws-blocks{display:flex;flex-direction:column;flex:1;min-height:0}.ew-exercise{flex:0 0 auto;box-sizing:border-box;border:0.15mm dashed transparent;padding:1mm;overflow:hidden;cursor:pointer}.ew-exercise-label{font-size:3mm;font-weight:700;line-height:1.3;margin-bottom:1mm}.ew-writing-lines{display:flex;flex-direction:column;gap:0}.ew-svg{display:block;flex:0 0 auto;max-width:none}.ew-exercise.is-current{border-color:#1b85c4;background:rgba(56,155,202,.025)}.ew-toolbar{display:flex;gap:7px;align-items:center;justify-content:center;margin-top:0}.ew-toolbar button:not(.ef-fs-trigger):not(.ef-fs-option){border:1px solid #d7e2e7;border-radius:9px;background:white;font:700 17px Lexend;color:#244d68;padding:6px 12px;cursor:pointer}.ew-toolbar button:disabled{opacity:.3}.ew-status{font-size:11px;color:#648099;margin:5px 0 0;min-height:15px;text-align:center}.ew-status.is-error,.ew-work-error{color:#a13737}.ew-work-error{padding:24px;text-align:center}.ew-worksheet.is-overflowing{outline:2px dashed #bb4343;outline-offset:-2px}
.ew-settings{display:grid;grid-template-columns:minmax(0,1fr) var(--ef-rail-width);column-gap:9px;padding:10px;overflow:hidden}.ew-settings-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ew-settings-scroll{overflow-y:auto;scrollbar-width:thin;min-height:0;padding:2px 5px 8px 2px}.ew-settings-section{display:flex;flex-direction:column;gap:11px}.ew-settings-section label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#476b84}.ew-settings-section :is(input:not([type=checkbox]),select){box-sizing:border-box;width:100%;max-width:100%;border:1px solid #dce5ea;border-radius:10px;min-width:0;background:white;color:#173d5a;padding:10px;font:700 12px Lexend,Arial,sans-serif}.ew-settings-section label.ew-check{display:flex;flex-direction:row;align-items:center;gap:8px}.ew-settings-section button,#ew-preview-open{background:#fff1c4;border:1px solid #e6b52b;color:#173d57;font:700 12px Lexend;cursor:pointer;padding:9px;border-radius:10px}.ew-total{border-top:1px solid #e0e4e7;padding-top:12px;display:flex;justify-content:space-between;gap:5px;align-items:center;flex-wrap:wrap}.ew-remove{background:#fff4f3!important;border-color:#e9aaa6!important}.ew-rail{grid-column:2;grid-row:1;background:#fff9ec;border:1px solid #e6b83d;border-radius:12px;padding:5px 2px;display:flex;flex-direction:column;gap:5px;align-items:center;overflow-y:auto;scrollbar-width:none}.ew-rail>button{width:var(--ef-rail-button);min-height:var(--ef-rail-button);border:1px solid #e6d5bd;border-radius:10px;background:white;color:#153952;cursor:pointer;font:700 20px Lexend}.ew-rail>button[aria-pressed=true]{background:#ffcc39}.ew-save-state{display:none}
@media(max-width:1000px){.ew-workspace{gap:var(--ef-activity-gap)}.ew-library,.ew-preview{padding:9px}.ew-settings{padding:7px}}
@media(max-width:800px){#view-ecriture:not([hidden]){overflow:auto}.ew-workspace{grid-template-columns:1fr;grid-template-rows:minmax(340px,50vh) minmax(160px,25vh) minmax(300px,40vh)}.ew-preview{order:0}.ew-library{order:1}.ew-settings{order:2}.ew-settings{grid-template-columns:minmax(0,1fr) var(--ef-rail-width)}.ew-palette{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media print{
 .ew-worksheet{position:relative;box-shadow:none!important;transform:none!important}
 #print-stage.efpv-native-print .ew-exercise.is-current{border-color:transparent!important;background:transparent!important}
 #print-stage.efpv-native-print .ew-exercise{cursor:default!important}
 #print-stage.efpv-native-print .ew-svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Image et texte utilisent le même rendu source dans l’éditeur, l’aperçu et l’impression. */
.ew-entry-label{display:block;font:700 11px Lexend,sans-serif;color:#476b84;margin:4px 0 7px}
.ew-library h3{font-size:12px;margin:18px 0 10px}
.ew-image-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
.ew-image-choice{min-width:0;border:1px solid #dce4e9;background:#fff;border-radius:10px;padding:5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#193b54;font:600 10px Lexend,sans-serif}
.ew-image-choice:hover{background:#fff5dd;border-color:#e3ae40}
.ew-image-choice img{width:100%;height:65px;object-fit:contain}
.ew-image-choice span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ew-image-results>.ew-library-hint{grid-column:1/-1}
.ew-writing-row{display:flex;align-items:center;width:100%;min-height:0;gap:3mm;overflow:hidden}
.ew-model-image{width:18mm;height:18mm;object-fit:contain;flex:0 0 18mm}
.ew-writing-row .ew-svg{flex:1 1 auto;min-width:0}
.ew-image-association{display:flex;flex-direction:column;gap:7px;padding:9px;border:1px solid #dee8eb;border-radius:10px;font-size:11px}
.ew-image-association>button:disabled{opacity:.4;cursor:default}

/* La commande de plein écran est fournie par atelier-plein-ecran-commun.js. */
#view-ecriture .ew-toolbar.ef-zoom-toolbar{flex-wrap:wrap}
#view-ecriture:fullscreen .ew-workspace{flex:1 1 auto;min-height:0}
#view-ecriture:fullscreen .ew-preview-canvas{flex:1 1 auto;min-height:0}

/* Écriture : pas de peau graphique parallèle sur le menu plein écran commun. */
#view-ecriture .ew-toolbar .ef-fs-option{display:block;width:100%;text-align:left;font:700 12px/1.3 Lexend,Arial,sans-serif;color:#183850;background:#fff;border:0;border-radius:7px;padding:11px 10px}
#view-ecriture .ew-toolbar .ef-fs-option:hover{background:#fff1c3}
#view-ecriture .ew-toolbar .ef-fs-trigger{display:grid;width:32px;height:32px;min-width:32px;place-items:center;padding:0;font-size:inherit;border:1px solid #d8e2e8;border-radius:9px;background:#fff;color:#173b55}
.ew-exercise{position:relative}
.ew-edit-individual{position:absolute;z-index:4;right:2mm;top:0;display:none;place-items:center;width:7mm;height:7mm;border:1px solid #bad4e3;border-radius:2mm;background:#fff8e8;color:#173b55;cursor:pointer}
.ew-edit-individual svg{height:4.5mm;width:4.5mm}
.ew-edit-individual:hover{background:#ffd66e}
.ef-canonical-holder .ew-character-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;min-width:0;width:100%;max-width:none;margin:0;padding:2px 0;box-sizing:border-box;color:#173b55}
#view-ecriture .ef-canonical-holder .pin-settings-main{overflow-y:auto;scrollbar-width:thin}
.ew-character-editor label{font:700 11px Lexend,Arial,sans-serif;display:flex;flex-direction:column;gap:4px;color:#214a61;min-width:0}
.ew-character-editor input[type=text]{width:100%;min-width:0;max-width:100%;padding:7px 9px;border:1px solid #d5e1ea;border-radius:8px;font:500 13px Lexend,Arial,sans-serif;color:#173d57;box-sizing:border-box}
.ew-character-choices{display:flex;flex-wrap:wrap;gap:5px}
.ew-character-choices button{min-width:29px;min-height:29px;border-radius:8px;border:1px solid #cddce6;background:#fff;color:#173b55;font:600 14px Lexend,Arial,sans-serif;cursor:pointer}
.ew-character-choices button[aria-pressed=true]{background:#ffdb77;border:2px solid #d99d09}
.ew-character-settings{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.ew-character-settings button{border:1px solid #cddce6;border-radius:8px;background:white;min-height:28px;padding:4px 9px;font-weight:700;cursor:pointer}
.ew-character-settings button[aria-pressed=true]{background:#ffdb77;border:2px solid #d99d09}
.ew-selected-color-label{font:700 11px Lexend,Arial,sans-serif;color:#31536a}
.ew-selected-color{display:inline-block;width:24px;height:24px;border:3px solid white;box-shadow:0 0 0 1px #ccdce6;border-radius:7px}
.ew-character-settings .ew-reset-letter{margin-left:auto;font:700 10px Lexend,Arial,sans-serif}
@media print{.ew-edit-individual{display:none!important}}
/* Écriture v0.9.503 — intégration dans les mêmes commandes individuelles. */
.ew-exercise.is-actions-visible :is(.ew-edit-individual,.ew-delete-individual){display:grid}
.ew-delete-individual{display:none;position:absolute;z-index:4;top:0;right:11mm;place-items:center;width:7mm;height:7mm;border:1px solid #e6bbbb;border-radius:2mm;background:#fff7f6;color:#a13f3e;cursor:pointer}
.ew-delete-individual svg{width:4.5mm;height:4.5mm}
.ew-delete-individual:hover{background:#ffe4e0}
.ef-canonical-holder .ew-individual-section{display:flex;flex-direction:column;gap:5px;border-top:1px solid #dde7eb;padding-top:6px}
.ew-individual-section select,.ew-individual-section input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #d5e1ea;border-radius:8px;padding:6px;font:600 11px Lexend,Arial,sans-serif;color:#153950;background:white;box-sizing:border-box}
.ew-individual-section button{border:1px solid #d5e1ea;border-radius:8px;background:white;padding:6px;cursor:pointer;color:#173950}
.ew-individual-section button:disabled{opacity:.35;cursor:default}
.ew-individual-section .ew-inline-check{flex-direction:row;align-items:center}
.ew-line-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ew-color-swatches{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}
.ew-palette-line{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-width:0}
.ew-palette-tools{display:flex;gap:4px;flex:none}
.ew-color-chip,.ew-color-none,.ew-color-wheel{position:relative;box-sizing:border-box;width:21px;height:21px;flex:0 0 21px;border-radius:50%;border:1px solid #c6d4dc;cursor:pointer;min-height:0;padding:2px;background-clip:content-box;background-origin:content-box;background-color:white}
.ew-color-chip[aria-pressed=true],.ew-color-none[aria-pressed=true]{outline:2px solid #dba51f;outline-offset:1px}
.ew-color-none{font:bold 14px/15px Lexend,Arial,sans-serif;color:#d05c5c;text-align:center;background:white}
.ew-color-wheel{display:inline-block;background:conic-gradient(#f33,#ffdb00,#0d5,#29f,#95f,#f3a,#f33);padding:0}
.ew-color-wheel input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ew-palette-tone{border:1px solid #cddce6;border-radius:10px;padding:4px 7px;background:#fff;color:#173b55;font:700 10px Lexend,Arial,sans-serif;cursor:pointer}
.ew-palette-tone[aria-pressed=true]{border-color:#d99d09;background:#fff0bd}
#ew-font-example{display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;max-width:100%;min-height:78px;font-size:18px;line-height:1.5;gap:0;border:1px solid #e0e7eb;border-radius:9px;padding:7px 3px;background:#fff;text-align:center;overflow:hidden}#ew-font-example span{display:block;max-width:100%;white-space:nowrap}
@media print{.ew-edit-individual,.ew-delete-individual{display:none!important}}

/* Écriture : disposition spécifique en page unique dans l'éditeur canonique existant. */
.ew-editor-top{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
.ew-editor-card{display:flex;flex-direction:column;gap:5px;min-width:0;padding:7px 9px;border:1px solid #e2e5e7;border-radius:12px;background:#fff}
#view-ecriture .ew-editor-card-title{margin:-7px -9px 3px;padding:5px 9px;border-radius:11px 11px 0 0;background:#fff8e8;color:#193b55;font:700 13px Lexend,Arial,sans-serif}
.ew-editor-subtitle{font:700 10px Lexend,Arial,sans-serif;color:#193b55}
.ew-letter-help{font-size:10px;margin:0;color:#667c88}
.ew-character-editor :is(select,input[type=number]){width:100%;min-width:0;box-sizing:border-box;border:1px solid #d7e2e9;border-radius:8px;background:#fff;color:#173d57;padding:6px 7px;font:600 11px Lexend,Arial,sans-serif;min-height:30px}
.ew-character-editor .ew-inline-check{flex-direction:row;align-items:center}
.ew-character-editor input[type=checkbox]{accent-color:#e5ad13}
.ew-presentation-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px}
.ew-presentation-left,.ew-presentation-right{display:flex;flex-direction:column;gap:5px;min-width:0}
.ew-presentation-right{border-left:1px solid #e2e7ea;padding-left:11px}
.ew-individual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 9px}
.ew-individual-grid label{min-width:0}
.ew-font-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(95px,28%);gap:9px;align-items:end}
.ew-individual-font-sample{min-width:0;border:1px solid #e3e9eb;border-radius:8px;background:#fffdf7;text-align:center;padding:3px 6px;min-height:27px;font-size:18px;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ew-individual-buttons{display:flex;gap:6px;flex-wrap:wrap}
.ew-individual-buttons button{min-width:0;flex:1 1 90px;border:1px solid #d7e2e9;border-radius:8px;background:#fff;padding:6px;color:#173d57;cursor:pointer;font:600 10px Lexend,Arial,sans-serif}
.ew-individual-buttons button:disabled{opacity:.35}
.ew-band-area[hidden]{display:none!important}
.ew-editor-ruling{display:flex;flex-direction:column;gap:5px}
.ew-editor-ruling>.ew-band-area{display:block;min-width:0}
.ew-band-editor{display:flex;flex-direction:column;gap:5px;min-width:0;border:1px solid #dfe7eb;border-radius:9px;padding:5px;background:#fff}
.ew-band-lines{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 10px Lexend,Arial,sans-serif;color:#173b55}
.ew-band-line-options{display:flex;flex-wrap:wrap;gap:4px}
.ew-band-line-choice{border:1px solid #cbdce7;background:#fff;border-radius:7px;min-height:25px;padding:3px 9px;font:700 10px Lexend,Arial,sans-serif;color:#173b55;cursor:pointer}
.ew-band-line-choice[aria-pressed=true]{background:#ffdd79;border-color:#dba31c}
.ew-band-preview{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #a9d9f1;border-radius:4px}
.ew-band-strip{display:block;width:100%;height:11px;min-height:11px;padding:0;border:0;border-bottom:1px solid #76b9e6;background:#fff;cursor:pointer}
.ew-band-strip:last-child{border-bottom:2px solid #9681c7}
.ew-band-strip[aria-pressed=true]{outline:2px solid #d69d0b;outline-offset:-3px;z-index:1;position:relative}
.ew-band-caption{font:600 10px Lexend,Arial,sans-serif;color:#637e90}
.ew-band-editor>.ew-muted{font-size:9px;margin:0;color:#657b89}
.ew-editor-ruling .ew-band-editor{display:grid;grid-template-columns:minmax(140px,27%) minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;column-gap:12px}
.ew-editor-ruling .ew-band-editor>.ew-band-lines{grid-column:1/-1;grid-row:1}
.ew-editor-ruling .ew-band-editor>.ew-band-preview{grid-column:1;grid-row:2}
.ew-editor-ruling .ew-band-editor>.ew-band-caption{grid-column:1;grid-row:3}
.ew-editor-ruling .ew-band-editor>.ew-color-swatches{grid-column:2;grid-row:2}
.ew-editor-ruling .ew-band-editor>.ew-muted{grid-column:2;grid-row:3}
@media(max-width:1120px){.ew-editor-top{grid-template-columns:1fr}.ew-editor-ruling .ew-band-editor{display:flex}}
@media(max-width:1100px){.ew-presentation-body{grid-template-columns:1fr}.ew-presentation-right{border-left:0;padding-left:0;border-top:1px solid #e2e7ea;padding-top:7px}.ew-font-pair{grid-template-columns:minmax(0,1fr) minmax(95px,25%)}}
@media(max-width:880px){.ew-editor-top{grid-template-columns:1fr}.ew-editor-card{padding:8px}.ew-color-swatches{flex-wrap:wrap}}


/* Zoom écran commun : le canevas SVG et les mm du document restent intacts. */
#view-ecriture #ew-preview-canvas.ef-work-viewport{display:flex;align-items:safe center;justify-content:safe center}
#view-ecriture #ew-zoom-board.ef-zoom-board{box-shadow:0 2px 14px #183e5420}
#view-ecriture #ew-toolbar{flex-wrap:wrap;row-gap:3px}
#view-ecriture #ew-toolbar .ef-zoom-button{font:700 17px Lexend,Arial,sans-serif;padding:0;min-width:32px;width:32px;height:32px}
#view-ecriture .ef-canonical-holder .pin-preview-panel{display:flex;flex-direction:column;min-height:0}
#view-ecriture .ef-canonical-holder .pin-sheet-space.ef-work-viewport{display:flex;align-items:safe center;justify-content:safe center;overflow:auto;min-height:0;flex:1 1 auto}
#view-ecriture .ef-canonical-holder .pin-detail-card{flex:0 0 auto;width:max-content;height:max-content;min-width:0;max-width:none;max-height:none;display:flex;align-items:flex-start;justify-content:flex-start}
#view-ecriture .ew-individual-preview{background:#fff;min-width:0;min-height:0;box-sizing:border-box}
#view-ecriture .ew-individual-preview .ew-individual-lines{width:100%;display:flex;flex-direction:column}
#view-ecriture .ef-canonical-holder .ef-zoom-toolbar{flex:0 0 38px;min-height:38px}
@media(max-width:600px){#view-ecriture #ew-toolbar .ef-zoom-range{flex-basis:96px}}

/* Zoom écriture : contrôles placés explicitement sous chaque aperçu.
   Les commandes sont animées exclusivement par atelier-zoom-commun.js. */
#view-ecriture .ew-zoom-controls{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;max-width:100%;flex-wrap:nowrap}
#view-ecriture #ew-toolbar{justify-content:center;gap:5px}
#view-ecriture #ew-toolbar .ew-zoom-controls{margin-inline:4px}
#view-ecriture .ew-individual-zoom{flex:0 0 38px;align-self:stretch}
#view-ecriture .ew-zoom-controls .ef-zoom-range{width:clamp(74px,8vw,140px);flex:0 1 140px}
@media(max-width:1100px){#view-ecriture #ew-toolbar{flex-wrap:wrap;height:auto;min-height:38px}}
@media(max-width:600px){#view-ecriture .ew-zoom-controls .ef-zoom-range{width:76px;flex-basis:76px}}
