/* Assemblage : style visible, cadre de l’oral, puis export. */
.composer{display:block;padding:48px max(5%,calc((100% - 1120px)/2))}
.composer-heading{margin-bottom:28px}.composer-heading .eyebrow{margin-bottom:12px}
.composer-heading h2{font:38px/1.1 var(--serif);letter-spacing:-1px;margin:0 0 10px}
.composer-heading>p:not(.eyebrow){max-width:none;font-size:13px;margin:0}
.composer-controls{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px}
.composer-controls select[hidden]{display:none}
.composer-step{font:11px monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;color:#536047}
.theme-panel{min-width:0}.selected-theme{padding:0;margin:0;background:none;display:block}
.selected-theme .theme-preview{width:100%;border:0}.selected-theme-info{padding:15px 0}
.selected-theme-info strong{display:block;font:23px var(--serif)}.selected-theme-info p{margin:6px 0 0;font:12px Arial;color:#616a57}
.theme-panel-actions{display:flex;gap:12px;flex-wrap:wrap}.theme-panel-actions button{padding:11px 15px;font:12px Arial;background:transparent;border:1px solid #9ba78d;color:#26301f}
.theme-panel-actions button:first-child{background:#f6f8f0}.theme-panel-actions button:hover{border-color:#293921;background:#fff}
.brief-form{min-width:0}.composer-controls label{font:12px Arial;letter-spacing:0}
.composer-controls input,.composer-controls select{font:14px Arial;margin-top:8px;padding:10px 0}
.composer-controls .oral-grid{grid-template-columns:1fr 1fr;margin-top:22px;gap:20px}
.composer-controls details{border-top:1px solid #b8c2ac;margin-top:22px}
.composer-controls details>summary{cursor:pointer;padding:15px 0;font:12px Arial;color:#3c4833}
.composer-controls .select-grid{margin:18px 0;gap:18px}.composer-controls .instructions-field{margin-top:18px}
.composer-controls .optional-picks{padding:16px 0 4px;border-top:1px solid #c5ceba;margin-top:20px}
.composer-controls .brief-details{margin-top:16px}.composer-controls .brief-details summary{padding:12px 0}
.composer-controls .export-actions{margin-top:22px;flex-wrap:wrap}.composer-controls .export-actions button{font-size:13px}
.composer-controls .export-hint{font:12px/1.6 Arial;color:#616a57;margin:12px 0 0}
.composer-controls .suggestions{margin-top:0}.composer-controls .suggestion-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.composer-controls .suggestion-list .theme-preview{aspect-ratio:16/9}
@media(max-width:700px){.composer-controls{grid-template-columns:1fr;gap:30px}.composer{padding:32px 5%}.composer-heading h2{font-size:32px}}
/* Choix des thèmes : vignettes complètes et recherche, sans liste déroulante. */
#theme-picker{width:min(1200px,94vw);max-width:94vw;max-height:90svh;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
#theme-picker::backdrop{background:#16200ed9;backdrop-filter:blur(4px)}
.picker-header{position:sticky;top:0;background:var(--paper);z-index:2;padding:22px 26px 14px;border-bottom:1px solid var(--line)}
.picker-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.picker-title h2{font:28px var(--serif);margin:0}
.picker-title button{border:0;background:none;padding:10px;font:12px Arial}
.picker-header label{display:block;margin-top:16px;font:12px Arial}.picker-header input{display:block;width:100%;margin:8px 0 0;padding:12px;border:1px solid #afb7a6;background:#fff;font:14px Arial}
.picker-header [role=status]{font:12px Arial;color:var(--muted);margin:12px 0 0}
.picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 26px}
.picker-card{min-width:0;background:#fff;border:1px solid var(--line)}.picker-card.is-selected{outline:2px solid #293921;outline-offset:2px}
.picker-choice{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit}
.picker-choice .theme-preview{border:0}.picker-name{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px 5px;font:19px var(--serif)}
.picker-name small{font:10px Arial;color:#3c4833;white-space:nowrap}.picker-caption{display:block;padding:0 14px 12px;font:11px Arial;color:var(--muted)}
.picker-enlarge{display:block;border:0;border-top:1px solid var(--line);background:none;padding:10px 14px;width:100%;text-align:left;font:11px Arial;color:#3c4833}
.picker-choice:hover,.picker-enlarge:hover{background:#f0f3e9}
@media(max-width:700px){.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:14px}.picker-header{padding:16px}.picker-name{font-size:16px}}
