/* CR-101 : proportions, surfaces et commandes V1 sur le socle V3. */
:root{font-family:"Segoe UI Variable",system-ui,sans-serif;line-height:1.7;--panel-gap:16px;--accent-ink:#13253e;--soft:#24374d}
:root[data-theme=dark]{--bg:#111923;--panel:#18232f;--raised:#223140;--field:#121d28;--line:#384654;--text:#edf1f5;--muted:#b2becb;--accent:#aacbff;--blue:#aacbff}
:root[data-theme=light]{--soft:#e5effc;--accent-ink:#fff;--blue:#245b9b}
::selection{background:var(--accent);color:var(--accent-ink)}
*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
input,textarea{caret-color:var(--accent)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em;line-height:1.4;text-wrap:pretty}
h1{font-size:1.7143rem}h2{font-size:1.2857rem}h3{font-size:1.0714rem}
button{min-height:34px;padding:6px 11px;font-size:.9286rem;font-weight:400;line-height:1.5;border-radius:6px}
button.primary{background:var(--blue);border-color:var(--blue);color:var(--accent-ink);font-weight:600}
button.primary:hover:not(:disabled){background:var(--blue);color:var(--accent-ink);filter:brightness(.94)}
input,select,textarea{border-radius:6px;padding:8px 10px;font-size:1rem;line-height:1.6}
label{font-size:.9286rem;font-weight:500}textarea{min-height:112px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.eyebrow{display:none}.actions{gap:6px;margin-top:12px}.tag{font-weight:500;padding:2px 6px}
details>summary{padding:6px 0;font-size:.9286rem}
.row{flex-wrap:wrap}.pre,.summary-text,.reader-text,.report-text{max-width:75ch}
.banner{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--raised);margin:18px 0}
.banner h3{margin-bottom:6px}.banner p{max-width:75ch}.banner p:last-child{margin-bottom:0}

/* CR142 : apports encore séparés de la synthèse du sujet. */
.summary-pending{margin:20px 0 16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--amber) 7%,var(--panel));color:var(--amber);overflow-wrap:anywhere}
.summary-pending .row{gap:6px 12px;align-items:baseline}
.summary-pending h4{font-size:1rem;margin:0}
.summary-pending-status{margin:5px 0 12px}
.summary-pending ul{margin:0;padding-left:20px}
.summary-pending li+li{margin-top:12px}
.summary-pending .summary-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

/* Bandeau : marque, projet discret, onglets doux et menus fins. */
.workbench-header{height:64px;padding:8px 24px;grid-template-columns:minmax(200px,1fr) auto minmax(290px,1fr);gap:20px}
.workbench-project{gap:3px}.workbench-brand{font-size:1.0714rem;font-weight:600;letter-spacing:-.02em}
.workbench-project>span{font-size:.8571rem}.workbench-classification{font-size:.7857rem}
.workbench-header .steps{gap:4px}
.workbench-header .steps button{border:1px solid transparent;border-radius:6px;min-height:36px;padding:7px 12px;font-size:.9286rem;color:var(--muted);background:transparent}
.workbench-header .steps button[aria-current=step]{background:var(--soft);color:var(--accent);border-color:var(--soft)}
.workbench-header .steps button:hover{background:var(--raised);color:var(--text)}
.workbench-actions{gap:8px}.workbench-actions .header-link{border-color:transparent;color:var(--muted);padding:6px 8px}
.workbench-actions>button,.workbench-menu>summary{min-height:34px;font-size:.9286rem;padding:6px 10px;border-radius:6px}
.workbench-popover{padding:10px;border-radius:8px;background:var(--panel);box-shadow:0 12px 32px #0004;border:0}
.workbench-popover>strong,.workbench-popover>p{padding-inline:8px}
.workbench-popover>button,.workbench-popover .panel-controls button{min-height:34px;border-color:transparent;font-size:.9286rem;padding:6px 8px;margin:2px 0}
.workbench-popover .panel-controls{gap:2px}

/* Panneaux détachés du bord ; poignées dans la gouttière. */
.app-project>.panel-frame{width:100%;max-width:1880px;margin:0 auto;padding:20px 24px 24px;gap:var(--panel-gap);background:var(--bg)}
.app-project .work-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding-right:0}
.app-project .panel-heading{height:36px;padding:4px 12px;background:transparent;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}
.app-project .panel-heading strong{font-weight:600;font-size:.8571rem;color:var(--muted)}
.app-project .panel-heading button{display:grid;place-items:center;min-height:26px;padding:3px 6px;border-color:transparent;color:var(--muted)}
.app-project .panel-heading button:hover{border-color:var(--line);color:var(--text)}
.app-project .panel-body{border-radius:0 0 10px 10px;scrollbar-gutter:auto;background:transparent}
.app-project .panel-body>.center,.app-project .panel-body>.sheet{padding:24px 28px;background:transparent}
.app-project .panel-body>.sheet{max-width:980px;margin-inline:auto}
.app-project .panel-body>.sheet>p,.app-project .panel-body>.sheet>.spec-function{max-width:75ch}
.app-project .panel-body>.sidebar{padding:12px;background:transparent}
.app-project .panel-body>.context{padding:20px;background:transparent}
.app-project .panel-body>.docnav{padding:12px 10px 10px;background:transparent}
.app-project .panel-resizer{right:calc(-1 * var(--panel-gap));width:var(--panel-gap);background:transparent}
.app-project .panel-resizer:after{width:2px;height:32px;opacity:.4}
.app-project .panel-last>.panel-resizer{right:0}
.app-project>.sheet.panel-frame,.app-project>.preparation-sheet.panel-frame{max-width:1180px}
.app-project>.sheet.panel-frame:has(.origin-reader){max-width:1880px}
.app-project .panel-body>section:not([class]){padding:24px}
.app-project .panel-body>.card{padding:24px;background:transparent}

/* Rail de cadrage : accès courts, liste autonome et outils regroupés. */
.panel-body>.sidebar{display:flex;flex-direction:column;height:100%;min-height:0}
.sidebar-tools{display:grid;gap:4px;margin:0 0 14px}
.sidebar-tools button{font-size:.9286rem;min-height:34px;text-align:left;padding:6px 9px;border-color:transparent}
.sidebar-tools button[aria-current=page]{background:var(--soft);color:var(--accent)}
.topics-label{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px;color:var(--muted);font-size:.8571rem}
.topics-label button{min-height:28px;font-size:.8571rem;padding:3px 7px}
.sidebar .section-links{flex:1;min-height:120px;overflow-y:auto;overflow-x:hidden;gap:3px;align-content:start;scrollbar-gutter:stable}
.topic-row .section-btn{min-height:44px;border:1px solid transparent;border-radius:6px;padding:7px 8px;line-height:1.4;font-size:.9286rem}
.topic-row .section-btn.active{border-color:transparent;background:var(--soft);color:var(--accent)}
.topic-row .section-btn small{font-size:.7857rem;margin-top:4px;line-height:1.3}
.topic-row .topic-grip{width:10px}.topic-row .list-more{width:22px;min-width:22px}
.sidebar-foot{display:grid;gap:4px;flex:none;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.sidebar-foot>button{text-align:left;font-size:.9286rem;min-height:32px;padding:5px 9px}
.sidebar-more{padding:0 8px}.sidebar-more summary{font-size:.8571rem;color:var(--muted)}
.sidebar-more button{display:block;margin-top:4px;width:100%;text-align:left}
.sidebar .list-help{font-size:.8571rem}.sidebar-title{font-size:1rem}

/* Synthèse : aperçu bref, textes intégraux dépliables, aucun point supprimé. */
.framing-overview{container-type:inline-size}
.overview-intro{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.overview-intro>p{max-width:70ch;color:var(--muted)}
.overview-idea{margin:12px 0;padding:12px 14px;background:var(--field);border:1px solid var(--line);border-radius:8px}
.overview-idea>summary{color:var(--text);font-weight:500}.overview-idea .pre{margin:8px 0 0}
.overview-counts{font-size:.8571rem;color:var(--muted);margin:12px 0 0}
.overview-topics{display:grid;grid-template-columns:1fr;gap:12px}
.overview-topic{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--field);min-width:0;display:flex;flex-direction:column;align-items:start}
.overview-topic h2{font-size:1.1429rem;line-height:1.45;margin:0 0 8px}
.overview-topic details{width:100%;margin-bottom:8px}.overview-topic summary{font-size:.8571rem;color:var(--accent)}
.overview-topic .topic-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.9286rem;line-height:1.65;color:var(--muted);margin:0 0 10px;white-space:pre-wrap}
.overview-topic:has(details[open]) .topic-preview{display:none}
.overview-topic details .pre{font-size:.9286rem;margin:6px 0 12px;line-height:1.7}
.overview-topic .topic-meta{font-size:.8571rem;color:var(--muted);margin:0 0 12px}
.overview-topic>button{margin-top:auto}
@container(min-width:600px){.overview-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stage-transition{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.stage-transition h2{font-size:1.1429rem}.stage-transition>p{color:var(--muted);font-size:.9286rem}

/* Astra : titres non doublés, composeur compact, aide à la demande. */
.astra-workshop{padding:18px 20px;min-width:0}.astra-workshop>h2{display:none}
.astra-scope{color:var(--text);font-size:1rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere;margin:0 0 10px}
.astra-help{margin:0 0 12px}.astra-help summary{font-size:.8571rem;color:var(--muted)}
.astra-history{margin:16px 0}.astra-message{padding:12px 0;border-top:1px solid var(--line)}
.astra-message>strong{font-size:.8571rem;color:var(--accent);font-weight:600}.astra-message>p{font-size:.9286rem;line-height:1.7}
.astra-workshop label{font-size:.9286rem;margin-top:10px}.astra-workshop select{font-size:.9286rem}
.astra-workshop textarea{min-height:104px}.astra-workshop .draft-status{font-size:.7857rem;margin:8px 0 12px;line-height:1.5}
.context-receipt{font-size:.8571rem}.context-receipt summary{font-size:.8571rem}.draft-status[data-error=true]{color:var(--amber)}
.context h3{font-size:1.0714rem}.context .block{padding-bottom:18px;margin-bottom:18px}
.context .block .row{align-items:center;gap:6px}.context .summary-text{font-size:.9286rem;line-height:1.7}
.choice{border-left-width:1px}.point{color:var(--text)}.context .block .point+.point{border-top:1px solid var(--line);padding-top:14px}
.topic-heading{margin:14px 0}.topic-heading h2{font-size:1.4286rem}.topic-heading button{font-size:.8571rem}
.answer-form{border-top:1px solid var(--line);padding-top:14px}.answer-destination{font-size:.8571rem}
.conversation .chat-turn{font-size:1rem}.question h2{font-size:1.2857rem;font-weight:600}

/* Cahier : document, sommaire fin et exigences encadrées. */
.spec-function{margin:26px 0;padding-top:20px;border-top:1px solid var(--line)}
.spec-function h2{font-size:1.2857rem}.spec-function.child{margin-left:12px;padding-left:16px;border-top:0;border-left:1px solid var(--line)}
.function-number{font-size:.9286rem;color:var(--muted);font-variant-numeric:tabular-nums}
.requirement{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--field);margin:16px 0}
.criterion{border-left-width:1px;padding-left:12px;margin:14px 0}
.spec-id{font-size:.7857rem;font-weight:500;margin-bottom:8px}
.spec-function>.actions button,.requirement button{padding:4px 8px;min-height:30px;font-size:.8571rem}
.spec-nav-row .spec-link{font-size:.9286rem;line-height:1.45;font-weight:400;padding:7px 5px}
.spec-nav-row.selected{background:var(--soft);border-radius:6px}.spec-nav-id{font-size:.7857rem}
.spec-nav-tools button{border-color:transparent;color:var(--muted)}.spec-tree ul{border-color:var(--line)}
.export-formats{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.export-formats a{display:inline-block;padding:6px 12px;background:var(--raised);border:1px solid var(--line);border-radius:6px;font-size:.9286rem}
.documents-list{padding:12px}.document-reading{padding:24px}.document-entry .document-select{padding:7px 8px}
.document-entry strong{font-size:.9286rem}.document-metadata{font-size:.7857rem}
.home{max-width:1180px;padding:32px 24px}.project-card{border-radius:10px}.project-card h3{font-size:1.2143rem}
dialog{padding:24px}dialog h2{font-size:1.4286rem}

@media(max-width:1199px){
 .workbench-header{height:64px;grid-template-columns:minmax(160px,1fr) auto auto;gap:12px;padding-inline:16px}
 .workbench-context{grid-row:auto;grid-column:auto}.workbench-actions{grid-row:auto;grid-column:auto}.workbench-header .steps{grid-row:auto;grid-column:auto}
 .workbench-actions>.header-link{display:none}.app-project>.panel-frame{padding:16px;--panel-gap:12px}
 .app-project .panel-body>.center,.app-project .panel-body>.sheet{padding:20px}
 .astra-workshop{padding:16px}
}
@media(max-width:799px){
 .workbench-header{height:100px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:48px 40px;padding:4px 12px;gap:0 8px}
 .workbench-context{grid-column:1;grid-row:1}.workbench-actions{grid-column:2;grid-row:1}
 .workbench-header .steps{grid-column:1/-1;grid-row:2;justify-self:center;gap:2px}
 .workbench-header .steps button{font-size:.9286rem;padding:6px 12px;min-height:36px}
 .workbench-brand{font-size:1rem}.workbench-project>span{font-size:.7857rem}
 .workbench-actions>button,.workbench-menu>summary{font-size:.8571rem;min-height:34px;padding:6px 8px}
 .project-menu>summary{font-size:0;width:34px;padding:6px}
 .app-project>.panel-frame{padding:12px;gap:16px;--panel-gap:16px}
 .app-project .work-panel{border:1px solid var(--line);border-radius:10px}
 .app-project .panel-heading{height:40px}.app-project .panel-body>.center,.app-project .panel-body>.sheet{padding:18px}
 .app-project .panel-resizer{left:0;right:0;top:auto;bottom:-16px;width:auto;height:16px}.app-project .panel-resizer:after{width:32px;height:2px}
 .app-project .panel-last>.panel-resizer{right:0}.sidebar-foot{display:grid}
 .panel-body>.sidebar .section-links{display:grid;overflow-y:auto;overflow-x:hidden}.panel-body>.sidebar .section-btn{border:1px solid transparent;width:100%;font-size:.9286rem}
 .panel-body>.sidebar .section-btn.active{border-color:transparent}
 .overview-topic{padding:14px}.astra-workshop{padding:18px}.spec-function.child{margin-left:6px;padding-left:10px}
 h1{font-size:1.5rem}.topic-heading h2{font-size:1.2857rem}
 button{min-height:40px}.export-formats .actions{align-items:stretch}
}
@media(pointer:coarse){button,.sidebar-tools button,.workbench-header .steps button,.app-project .panel-heading button,.workbench-menu>summary,.spec-function>.actions button,.requirement button{min-height:44px}.app-project .panel-heading{height:48px}}

/* CR-102 : même rail de cadrage ; bibliothèque et réflexion au centre. */
.documents-center .document-catalog{margin:12px 0 22px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.document-catalog>summary{font-weight:600;cursor:pointer;padding:3px 0}
.documents-center .documents-list{height:auto;padding:8px 0 0;display:block}
.documents-center .documents-list>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:6px;max-height:250px;overflow:auto;margin:12px 0}
.documents-center .document-entry{padding:0;border:0;min-width:0}
.documents-center .document-select{padding:8px 10px;gap:4px}
.documents-center .document-select strong{white-space:normal;overflow-wrap:anywhere}
.documents-center .document-metadata{flex-wrap:wrap;gap:4px 8px}
.documents-center .documents-next{margin-top:10px;padding-top:8px}
.documents-center .documents-next>p{display:none}
.documents-center .documents-next button{width:auto;margin:0}
.documents-center .document-reading{padding:0}
.documents-center .document-reading>.source-reader{background:none;max-height:none;padding:0;border:0}
.documents-center .reader-scroll{max-height:none;overflow:visible}
.reflection-page{max-width:1100px}
.reflection-page>header p{max-width:75ch}
.reflection-discussion,.reflection-sources,.reflection-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.reflection-message{padding:16px 0;border-bottom:1px solid var(--line)}
.reflection-message>strong{font-size:.9286rem;color:var(--muted)}
.reflection-message.astra-message>strong{color:var(--accent)}
.reflection-page .reflection-message{box-sizing:border-box;width:92%;max-width:78ch;margin:16px auto 16px 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--field);overflow-wrap:anywhere;min-width:0}
.reflection-page .reflection-message.user-message{width:82%;margin-left:auto;margin-right:0;background:var(--panel);border-color:var(--accent)}
.reflection-message .report-text{min-width:0;overflow-x:auto}
.reflection-message .reflection-web-status{margin:8px 0 12px}
.reflection-web-choice{flex:1;max-width:36ch;margin:0;font-size:.8571rem;min-height:44px;align-items:center}
.reflection-web-notice{margin:10px 0 12px;max-width:85ch}
.reflection-web-notice[hidden]{display:none}
@media(max-width:600px){.reflection-page .reflection-message{width:96%;padding:12px}.reflection-page .reflection-message.user-message{width:90%}.reflection-web-choice{min-width:190px}}
.reflection-message p{margin:8px 0;overflow-wrap:anywhere}
.reflection-page form{margin-top:16px;max-width:780px}
.reflection-page textarea{min-height:120px}
.reflection-page .reflection-note textarea{min-height:180px}
.reflection-empty{padding:16px 0;color:var(--muted)}
.reflection-sources .source-item{padding:12px 0}
.framing-freshness{margin:18px 0 6px;padding:12px 14px;background:var(--soft);border:1px solid var(--line);border-radius:8px}
.framing-freshness p{margin:5px 0 10px;font-size:.9286rem}
.astra-actions{font-size:.9286rem;padding:6px 0}
.astra-actions>summary{cursor:pointer;color:var(--muted)}
.astra-actions .actions{margin-top:8px}
@media(max-width:799px){.documents-center .documents-list>nav{grid-template-columns:1fr;max-height:220px}.documents-center .reader-scroll{max-height:none!important}.reflection-page .row{align-items:start}.reflection-page .actions button{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* CR-103 : mêmes surfaces et proportions, une seule saisie par travail. */
.astra-guidance{position:fixed;z-index:90;right:24px;top:76px;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;background:var(--panel,#18232f);color:var(--text,#edf1f5);border:1px solid var(--line,#384654);border-radius:10px;padding:18px;box-shadow:0 12px 32px #0005}
.astra-guidance h2{font-size:17px;margin:0}.astra-guidance>.row{align-items:center}.astra-guidance details{margin:12px 0}.guide-answer{margin-top:16px;padding-top:12px;border-top:1px solid var(--line,#384654)}.guide-destination{margin-top:12px}.guide-destination p{margin:4px 0}
.method-picker{margin:8px 0 12px}.method-picker select{max-width:340px}.reflection-tools{padding-top:12px;border-top:1px solid var(--line,#384654)}.reflection-sources{margin-top:18px}.reflection-sources>summary{font-size:15px;font-weight:600}.reflection-result{overflow-wrap:anywhere;min-width:0}.reflection-result .report-table{overflow:auto;max-width:100%}.method-suggestion{padding:10px 0}.astra-workshop details{margin:12px 0}.astra-workshop .astra-history{max-height:50vh;overflow:auto}.astra-workshop .astra-history:empty{display:none}
[data-theme=light] .astra-guidance{background:#fff;color:#202b3a;border-color:#c6ced7}
@media(max-width:799px){.astra-guidance{right:12px;top:80px;max-height:calc(100dvh - 100px)}.reflection-tools{gap:10px}.reflection-tools button{min-height:44px}}

.workbench-header .header-link[data-action="guide-toggle"]{display:inline-flex;align-items:center}

/* CR104 : revue compacte, comparaison et états lisibles au clavier. */
.cycle-change{padding:14px 0;border-bottom:1px solid var(--line,#dce1e6)}
.cycle-change p,.cycle-topic-state p{margin:8px 0}
.cycle-change .check{align-items:flex-start}
.cycle-diff{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.cycle-diff>div{min-width:0;overflow-wrap:anywhere}
.cycle-diff .pre{max-height:24rem;overflow:auto}
.memory-section>summary{font-weight:600;padding:10px 0;cursor:pointer}
.cycle-topic-state{margin:8px 0 16px;color:var(--muted,#596573)}
.conclusion-coverage article{padding:10px 0;border-bottom:1px solid var(--line,#dce1e6)}
.topic-acquired>summary{padding:10px 12px;font-weight:600;cursor:pointer}
@media(max-width:800px){.cycle-diff{grid-template-columns:1fr;gap:10px}.cycle-change .check{line-height:1.5}}

/* CR143: freshness conveys state with words as well as colour. */
.summary-freshness{padding:.45rem .65rem;margin:.5rem 0;border:1px solid var(--line,#737b85);border-radius:8px;font-size:.85rem;overflow-wrap:anywhere}
.summary-freshness small{display:block;margin-top:.2rem}
.summary-freshness.is-current{background:#e8f4eb;color:#205e38;border-color:#90b39c}
.summary-freshness.is-stale{background:#faeded;color:#863438;border-color:#c69a9c}
.summary-freshness.is-running{background:#edf1f6;color:#324e6b}
[data-theme="dark"] .summary-freshness.is-current{background:#203b2b;color:#b9e8c6;border-color:#527961}
[data-theme="dark"] .summary-freshness.is-stale{background:#482c30;color:#f6c5ca;border-color:#895a62}
[data-theme="dark"] .summary-freshness.is-running{background:#283a4d;color:#c6def5}
.astra-prose{white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.astra-prose h2,.astra-prose h3,.astra-prose h4{margin:1.25em 0 .45em;font-size:1em;line-height:1.35}
.astra-prose p{margin:.6em 0}.astra-prose ul,.astra-prose ol{padding-left:1.4em}.astra-prose> :first-child{margin-top:0}
.astra-reflection{margin:.65rem 0;padding:.45rem .65rem;border:1px solid var(--line,#737b85);border-radius:8px}
.astra-reflection summary{cursor:pointer;font-weight:600}.reflection-log{max-height:22rem;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;scrollbar-gutter:stable}
.reflection-log>section+section{border-top:1px solid var(--line,#737b85);padding-top:.65rem;margin-top:.65rem}
.reflection-log:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.app-project>.analysis-status{max-width:none;width:100%;max-height:52vh;overflow:auto;align-items:flex-start}
.app-project>.analysis-status .analysis-history{width:100%}
.app-project>.analysis-status .astra-reflection{width:min(100%,90ch);max-width:none}
.app-project>.analysis-status .reflection-log{max-height:clamp(8rem,25vh,18rem)}
.analysis-status,.app-project>.analysis-status {display:block;}
.analysis-heading {display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;}
.analysis-heading .busy {display:flex;align-items:center;gap:.5rem;}
.analysis-return {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0;}
.analysis-return .small {overflow-wrap:anywhere;}
.analysis-status .analysis-phase {margin:.45rem 0;}
.analysis-status > .astra-reflection,.analysis-status > .analysis-history {display:block;width:100%;max-width:none;margin:.55rem 0 0;}
.analysis-history article {padding:.6rem 0;border-top:1px solid var(--line);}
.analysis-history .astra-reflection {margin:.5rem 0 0;}
.analysis-status summary {width:fit-content;max-width:100%;}
@media(max-width:640px){.analysis-heading,.analysis-return{align-items:flex-start;}.analysis-return{flex-basis:100%;}}

/* CR146 : history stays in the toolbar; only active work occupies a banner. */
.analysis-menu .analysis-popover{width:min(29rem,calc(100vw - 24px));padding:14px;overflow:visible;max-height:none}
.analysis-popover>strong{font-size:1rem;margin-bottom:8px}
.analysis-list{max-height:min(52dvh,420px);overflow:auto;overscroll-behavior:contain;padding-right:4px}
.analysis-record{padding:12px 0;border-top:1px solid var(--line)}
.analysis-record:first-child{border-top:0;padding-top:4px}
.analysis-record>strong{font-size:.9286rem;font-weight:600;display:block}
.analysis-record p{margin:5px 0 9px}
.analysis-record .analysis-return{align-items:flex-start;flex-direction:column;gap:5px}
.analysis-record .analysis-return button{min-height:36px}
.analysis-record .elapsed{font-variant-numeric:tabular-nums}
button.refresh-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid var(--accent);border-radius:6px;background:var(--raised);color:var(--text);font-size:.9286rem;font-weight:600;text-align:left;line-height:1.4;transition:background-color .15s,border-color .15s}
button.refresh-action .refresh-icon{flex:none}
button.refresh-action.is-current{background:#e8f4eb;color:#205e38;border-color:#90b39c}
button.refresh-action.is-stale{background:#faeded;color:#863438;border-color:#c69a9c}
[data-theme=dark] button.refresh-action.is-current{background:#203b2b;color:#b9e8c6;border-color:#527961}
[data-theme=dark] button.refresh-action.is-stale{background:#482c30;color:#f6c5ca;border-color:#895a62}
button.refresh-action:hover:not(:disabled){border-color:currentColor;filter:brightness(.97)}
button.refresh-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button.refresh-action:disabled{opacity:1;cursor:default;background:var(--raised);color:var(--muted);border-color:var(--line);filter:none}
button.refresh-action.is-running .refresh-icon{animation:refresh-turn 1.4s linear infinite}
@keyframes refresh-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button.refresh-action{transition:none}button.refresh-action.is-running .refresh-icon{animation:none}}
@media(pointer:coarse){button.refresh-action,.analysis-record .analysis-return button{min-height:44px}}
.panel-body>.sidebar {overflow-y:auto;display:block;height:100%}
.sidebar .section-links {min-height:0;overflow:visible;flex:none;margin-bottom:18px}
.sidebar-secondary {margin:12px 0;padding-top:10px;border-top:1px solid var(--line,#d9d9d9)}
.sidebar-secondary summary {min-height:44px;align-content:center;cursor:pointer}
.sidebar-secondary .sidebar-tools {margin-top:8px}
.framing-list-navigation{margin:0 0 12px}
.framing-list-navigation button{width:100%;min-height:34px;text-align:left;font-size:.9286rem;padding:6px 9px}
.framing-list-navigation button[aria-current=page]{background:var(--soft);color:var(--accent);border-color:transparent}
@media(pointer:coarse){.framing-list-navigation button{min-height:44px}}
.axis-topic {margin:16px 0;padding:16px;border:1px solid var(--line,#d9d9d9);border-radius:8px;background:var(--panel,#fff)}
.axis-topic h3 {margin:0;font-size:1rem}
.axis-points {list-style:none;margin:10px 0;padding:0}
.axis-point {padding:10px 0;border-top:1px solid var(--line,#d9d9d9)}
.axis-point p {margin:4px 0 8px}
.axis-relation {margin:8px 0;font-size:.9rem}
.axis-proposal-notice {font-weight:600}
[data-form="axis-update"] fieldset {margin:16px 0;padding:16px;border:1px solid var(--line,#d9d9d9);border-radius:6px;min-width:0}
[data-form="axis-update"] textarea {min-height:72px}
.topic-first-question {padding:12px 0;font-size:1rem}
.framing-analysis-details {margin:20px 0}
.overview-topic .topic-preview {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.axis-topic{padding:12px}.axis-topic .row{align-items:flex-start;flex-wrap:wrap}.axis-point button{min-height:44px}}

/* CR167 — subject navigation and focused discussions */
.topic-branch{min-width:0}
.topic-expand{width:26px;min-width:26px;padding:4px;border:0;background:transparent;align-self:center;color:var(--muted)}
.topic-expand svg{display:block;transition:transform .15s ease}
.topic-expand[aria-expanded=true] svg{transform:rotate(90deg)}
.topic-discussions{margin:3px 0 12px 20px;padding-left:8px;border-left:1px solid var(--line)}
.topic-discussions[hidden]{display:none}
.topic-discussions ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.topic-discussions li{min-width:0;margin:0}
.topic-discussions button{display:block;width:100%;min-height:36px;text-align:left;border:1px solid transparent;background:transparent;padding:7px 8px;font-size:.8571rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.topic-discussions button span{display:block}
.topic-discussions button small{display:block;color:var(--muted);font-size:.7857rem;margin-top:3px}
.topic-discussions button:hover{background:var(--soft)}
.topic-discussions button[aria-current=page]{background:var(--soft);color:var(--accent);border-color:var(--line)}
.topic-discussions summary{font-size:.8571rem;color:var(--muted);padding:8px}
.discussion-heading{margin:8px 0 24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.discussion-heading h3{font-size:1.2857rem;line-height:1.45;margin:8px 0 14px;max-width:65ch;overflow-wrap:anywhere}
.discussion-heading p{max-width:75ch}
.topic-overview-points{list-style:none;padding:0;margin:20px 0}
.topic-overview-points>li{padding:16px 0;border-bottom:1px solid var(--line)}
.topic-overview-points p{margin:0 0 10px}
.topic-overview-points button{display:block;margin-top:10px}
@media(pointer:coarse){.topic-expand{width:36px;min-width:36px;min-height:44px}.topic-discussions button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.topic-expand svg{transition:none}}
.topic-discussions [data-discussion-link] span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.legacy-topic-drafts{margin:12px 0 20px}
.legacy-topic-drafts .pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch}
.reflection-discussion form[data-form=reflection] .method-picker,.astra-workshop form[data-form=workshop]>details{font-size:.8571rem;margin:8px 0}
.reflection-discussion .draft-status{font-size:.7857rem;margin:8px 0;color:var(--muted)}
.reflection-tools.actions{gap:8px;margin:12px 0 8px}
.reflection-tools.actions button{font-size:.8571rem;padding:5px 9px;min-height:32px}
.reflection-web-help{font-size:.8571rem;margin:8px 0 20px;color:var(--muted)}
.reflection-web-help p{max-width:70ch;line-height:1.6}
.reflection-web-help summary{cursor:pointer;padding:4px 0}
#app form:has(textarea)>button.primary:not([type=button]),#dialog form:has(textarea)>button.primary:not([type=button]){display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-left:auto;min-height:32px;padding:6px 11px;font-size:.8571rem}
#app form:has(textarea)>.actions,#dialog form:has(textarea)>.actions{justify-content:flex-end}
@media(max-width:799px),(pointer:coarse){#app form:has(textarea)>button.primary:not([type=button]),#dialog form:has(textarea)>button.primary:not([type=button]){min-height:44px}}
@media(pointer:coarse){.reflection-tools.actions button{min-height:44px}}
/* CR168 : composer de discussion, options secondaires et destinataire explicite. */
.composer-sr-only,.answer-form>.answer-destination{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.answer-form .answer-compose{border:1px solid var(--line);border-radius:12px;background:var(--field);padding:10px}
.answer-form .answer-text-label{display:block;margin:0}
.answer-form .answer-compose textarea{display:block;box-sizing:border-box;width:100%;min-height:86px;max-height:280px;margin:0;padding:4px 3px 8px;border:0;border-radius:4px;background:transparent;resize:vertical;line-height:1.55;font-weight:400}
.answer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:6px}
.answer-toolbar .answer-recipients{display:flex;gap:2px;border:0;padding:0;margin:0;min-width:0}
.answer-recipients label,.answer-exclusion{position:relative;display:inline-flex;align-items:center;margin:0!important;cursor:pointer}
.answer-recipients input,.answer-exclusion input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.answer-recipients label>span,.answer-exclusion>span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;box-sizing:border-box;padding:5px 8px;border:1px solid transparent;border-radius:6px;font-size:.8571rem;color:var(--muted)}
.answer-recipients input:checked+span{color:var(--text);border-color:var(--line);background:var(--panel)}
.answer-recipients input:checked+span:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%;margin-right:5px}
.answer-recipients input:disabled+span{opacity:.65;cursor:default}
.answer-recipients input:focus-visible+span,.answer-exclusion input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.answer-exclusion>span{width:32px;padding:5px}
.answer-exclusion input:checked+span{color:var(--amber);background:var(--panel);border-color:var(--amber)}
.answer-exclusion:hover>span,.answer-recipients label:hover>span{background:var(--panel)}
.answer-form .answer-send{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 10px;font-size:.8571rem;border-radius:7px}
.answer-form .answer-voice:empty{display:none}
.answer-form .voice-compact{display:flex;flex-wrap:nowrap;gap:2px;margin:0}
.answer-form .voice-compact button{position:relative;width:32px;min-width:32px;min-height:32px;justify-content:center;border-color:transparent;background:transparent;padding:5px;color:var(--muted)}
.answer-form .voice-compact button:hover{background:var(--panel);color:var(--text)}
.voice-send-mark{position:absolute;right:0;bottom:1px;background:var(--field);border-radius:3px}
.answer-form .answer-hint{margin:7px 3px 1px;font-size:.7857rem;line-height:1.4}
.answer-form[data-excluded=true] .answer-hint{color:var(--amber)}
.answer-footer{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:6px 2px}
.answer-footer .draft-status{margin:0;font-size:.7857rem;line-height:1.4}
.answer-footer details{margin:0;font-size:.7857rem}
.answer-footer summary{padding:4px 0;color:var(--muted);white-space:nowrap}
.answer-footer .actions{padding:6px 0!important;border:0!important;margin:0!important}
.conversation .chat-turn{box-sizing:border-box}
.conversation .astra-turn,.conversation .human-turn{align-self:flex-start;border-radius:12px 12px 12px 3px;background:var(--panel)}
.conversation .own-message{align-self:flex-end;border-radius:12px 12px 3px 12px;background:var(--soft)}
.conversation .chat-question{border-color:var(--line)}
.discussion-tools{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:8px 0}.discussion-tools button{font-size:.8571rem;padding:6px 10px}
.conversation .chat-question-suggestions{padding-left:20px;margin:12px 0 0}.chat-question-suggestions li+li{margin-top:20px}.chat-question-suggestions p{margin:6px 0}.chat-question-suggestions button{font-size:.8571rem;padding:5px 8px}
.conversation .chat-point-links{padding-left:18px}.chat-point-links li+li{margin-top:8px}.chat-point-links button{text-align:left;white-space:normal;line-height:1.5;max-width:100%}
.conversation .chat-opening summary{font-size:.8571rem}.conversation .chat-opening details{margin-top:14px}
@media(max-width:799px),(pointer:coarse){.discussion-tools button,.chat-question-suggestions button,.chat-point-links button{min-height:44px}}
.conversation .chat-actions button,.conversation .chat-turn>button{font-size:.7857rem;min-height:28px;padding:4px 6px;border-color:transparent;color:var(--muted);background:transparent}
.conversation .chat-actions button:hover,.conversation .chat-turn>button:hover{color:var(--text);background:var(--soft)}
@media(max-width:799px),(pointer:coarse){.answer-recipients label>span,.answer-exclusion>span,.answer-form .voice-compact button,.answer-form .answer-send{min-height:44px}.answer-exclusion>span,.answer-form .voice-compact button{width:38px;min-width:38px}.conversation .chat-actions button,.conversation .chat-turn>button{min-height:44px}}

/* CR230 : aperçu non interactif ; le contenu intégral reste dans le disclosure natif. */
.reflection-fold>summary{cursor:pointer;color:var(--accent);list-style:none;padding:8px 0}
.reflection-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.reflection-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;white-space:pre-line;color:var(--text);line-height:1.6}
.reflection-expand-label,.reflection-collapse-label{font-size:.9rem;text-decoration:underline}
.reflection-collapse-label,.reflection-fold[open] .reflection-preview,.reflection-fold[open] .reflection-expand-label{display:none}
.reflection-fold[open] .reflection-collapse-label{display:inline}
@media print{.reflection-fold>summary{display:none}.reflection-fold::details-content{display:block}}
