.aipg-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto 96px;color:var(--ink,#1a1a1a)}
.aipg-layout .aipg-wrap{width:100%;margin:0 0 96px}
.aipg-layout .aipg-studio{margin-left:0;margin-right:0}
#presentation,#sources,#generateur{scroll-margin-top:calc(var(--nav1-h,78px) + var(--nav2-h,43px) + 24px)}
/* En-tête : composant commun /css/hero-editorial.css (.hed). */
.aipg-kicker{margin:0 0 18px;color:var(--accent-text,#a8402a);font:600 12px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif);letter-spacing:.16em;text-transform:uppercase}
.aipg-lede{max-width:760px;margin:28px 0 0;color:var(--ink-2,#3a3a3a);font:400 clamp(18px,2.1vw,24px)/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-hero-start{margin-top:28px}
.aipg-hero-start>p{max-width:700px;margin:0;color:var(--ink-2,#3a3a3a);font:400 15px/1.65 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-hero-start .hed-actions{margin-top:18px}
.aipg-hero-start .aipg-text-link{margin-top:14px}
.aipg-panel h2,.aipg-followup h2{margin:0 0 10px;font:400 clamp(25px,3vw,38px)/1.15 var(--f-display,'Fraunces',Georgia,serif)}
.aipg-panel>div>p,.aipg-followup p{max-width:820px;margin:0;color:var(--ink-2,#3a3a3a);font:400 15px/1.7 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-sources{margin:0 0 28px;padding:clamp(26px,5vw,52px);border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef)}
.aipg-sources h2{max-width:820px;margin:0 0 16px;font:400 clamp(30px,4vw,52px)/1.08 var(--f-display,'Fraunces',Georgia,serif);letter-spacing:-.025em}
.aipg-sources-lede{max-width:850px;margin:0;color:var(--ink-2,#3a3a3a);font:400 16px/1.7 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:30px;border:1px solid var(--rule,#c0bebc);background:var(--rule,#c0bebc)}
.aipg-source-grid article{min-height:170px;padding:22px;background:var(--paper-2,#e9e8e2)}
.aipg-source-grid h3,.aipg-public-sources h3{margin:0 0 8px;font:500 20px/1.2 var(--f-display,'Fraunces',Georgia,serif)}
.aipg-source-grid p,.aipg-source-note p,.aipg-public-sources p,.aipg-public-sources li{margin:0;color:var(--ink-2,#3a3a3a);font:400 13px/1.65 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-source-note{margin-top:24px;padding:18px 20px;border-left:3px solid #b4492e;background:rgba(180,73,46,.06)}
.aipg-source-note strong{display:block;margin-bottom:5px;font:600 14px var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-panel{margin-bottom:28px;border:1px solid var(--rule,#c0bebc);padding:clamp(24px,5vw,56px);background:var(--paper,#f4f3ef)}
.aipg-panel h2{margin-bottom:14px}
.aipg-panel>p{max-width:820px;margin:0 0 16px;color:var(--ink-2,#3a3a3a);font:400 15px/1.7 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-section-next{margin-top:24px}
.aipg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.aipg-access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}
.aipg-access-options article{display:flex;flex-direction:column;align-items:flex-start;min-height:220px;padding:22px;border:1px solid var(--rule,#c0bebc);background:var(--paper-2,#e9e8e2)}
.aipg-access-label{margin:0 0 8px;color:var(--accent-text,#a8402a);font:600 11px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif);letter-spacing:.12em;text-transform:uppercase}
.aipg-access-options h3,.aipg-access-gate h3{margin:0 0 10px;font:400 23px/1.2 var(--f-display,'Fraunces',Georgia,serif)}
.aipg-access-options article>p:not(.aipg-access-label),.aipg-access-gate>p{margin:0 0 20px;color:var(--ink-2,#3a3a3a);font:400 13px/1.6 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-access-options .aipg-button{margin-top:auto}
.aipg-access-footnote{margin:15px 0 0;color:var(--ink-3,#5c5c5c);font:400 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
/* Notes d'information : fond neutre et filet discret, sans couleur d'alerte. */
.aipg-panel .aipg-scope-notice{max-width:820px;margin:18px 0 0;padding:14px 18px;border:1px solid var(--rule,#c0bebc);border-radius:6px;background:rgba(26,26,26,.035);color:var(--ink-2,#3a3a3a);font:400 14px/1.6 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-panel .aipg-scope-notice strong{font-weight:600;color:var(--ink,#1a1a1a)}
.aipg-access-gate{margin:24px 0 0;padding:22px;border:1px solid var(--rule,#c0bebc);border-radius:8px;background:rgba(26,26,26,.03)}
.aipg-access-gate h3{font-size:26px}
.aipg-access-gate .aipg-actions{margin-top:18px}
.aipg-entitlement{margin:22px 0 0;padding:12px 14px;border-left:3px solid #b4492e;background:var(--paper,#f4f3ef);font:500 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-button:disabled{opacity:.55;cursor:not-allowed}
.aipg-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #1a1a1a;text-decoration:none;font:600 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.aipg-button-primary{background:#1a1a1a;color:#fff}
.aipg-button-secondary{background:transparent;color:var(--ink,#1a1a1a)}
.aipg-button:disabled{opacity:.58;cursor:not-allowed}
.aipg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.aipg-form-grid>label{display:grid;gap:7px;font:600 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-form-grid label span{color:var(--ink-3,#5c5c5c);font-size:12px;font-weight:400}
.aipg-form-grid input,.aipg-form-grid select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule,#c0bebc);border-radius:0;background:transparent;color:var(--ink,#1a1a1a);font:400 14px var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-questions{display:grid;gap:16px;margin:30px 0;padding:20px 0 0;border:0;border-top:1px solid var(--rule,#c0bebc)}
.aipg-questions>legend{padding:0 12px 0 0;font:400 25px var(--f-display,'Fraunces',Georgia,serif)}
.aipg-questions>p{margin:0;color:var(--ink-3,#5c5c5c);font:400 13px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-questions fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:16px;border:1px solid var(--rule,#c0bebc)}
.aipg-questions fieldset legend{grid-column:1/-1;padding:0 8px 0 0;font:600 14px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-questions label{display:flex;align-items:flex-start;gap:8px;font:400 13px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-questions input{accent-color:#b4492e;margin-top:3px;flex:0 0 auto}
.aipg-unavailable{margin:24px 0;padding:18px 20px;border:1px solid #b4492e;background:rgba(180,73,46,.06)}
.aipg-unavailable strong{display:block;margin-bottom:5px;font:600 15px var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-unavailable p{margin:0;color:var(--ink-2,#3a3a3a);font:400 13px/1.6 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-help{margin:10px 0 20px;color:var(--ink-3,#5c5c5c);font:400 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-link-button{display:block;margin:18px 0 0;padding:0;border:0;background:none;color:var(--ink-2,#3a3a3a);font:500 13px var(--f-body,'Plus Jakarta Sans',sans-serif);text-decoration:underline;cursor:pointer}
.aipg-state{margin:16px 0;padding:14px 16px;font:500 13px/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-state-warning{border:1px solid #9a6a12;background:#fff7e6}.aipg-state-error{border:1px solid #a83232;background:#fff0f0}
.aipg-output{margin-top:28px;padding-top:24px;border-top:1px solid var(--rule,#c0bebc)}
.aipg-output h3{margin:0 0 10px;font:400 26px var(--f-display,'Fraunces',Georgia,serif)}
.aipg-output label{display:block;margin-bottom:8px;font:500 13px var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-output textarea{display:block;width:100%;min-height:280px;padding:14px;border:1px solid var(--rule,#c0bebc);background:transparent;color:var(--ink,#1a1a1a);font:400 14px/1.65 var(--f-body,'Plus Jakarta Sans',sans-serif);resize:vertical}
.aipg-output .aipg-button{margin-top:14px}
.aipg-followup{display:block;margin-top:28px;padding:32px 0;border-top:1px solid var(--rule,#c0bebc);border-bottom:1px solid var(--rule,#c0bebc)}
.aipg-followup aside{padding-left:28px;border-left:1px solid var(--rule,#c0bebc)}
.aipg-followup h3{margin:0 0 8px;font:500 20px var(--f-display,'Fraunces',Georgia,serif)}
.aipg-text-link{display:inline-flex;gap:8px;margin-top:18px;color:var(--accent-text,#a8402a);font:600 13px/1.45 var(--f-body,'Plus Jakarta Sans',sans-serif);text-decoration:underline;text-underline-offset:4px}
.aipg-auth-message{margin:20px 0;padding:14px 16px;background:var(--paper-2,#e9e8e2);font:500 13px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat{margin-top:28px;overflow:hidden;border:1px solid #b4492e;border-top-width:4px;background:var(--paper-2,#e9e8e2);box-shadow:0 18px 42px rgba(52,39,31,.13)}
.aipg-chat-progress{margin:28px 0 0;padding:20px 22px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef)}
.aipg-chat-progress-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.aipg-chat-progress .aipg-kicker{margin:0 0 6px;font-size:10px}
.aipg-chat-progress-title{margin:0;font:600 16px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat-progress-note{max-width:360px;color:var(--ink-3,#5c5c5c);font:400 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif);text-align:right}
.aipg-chat-progress-track{height:5px;margin-top:16px;overflow:hidden;background:var(--rule,#c0bebc)}
.aipg-chat-progress-track span{display:block;width:20%;height:100%;background:#b4492e;transition:width .25s ease}
.aipg-chat-stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}
.aipg-chat-stage-list li{color:var(--ink-3,#5c5c5c);font:500 10px/1.35 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat-stage-list li.is-current{color:var(--accent-text,#a8402a);font-weight:700}.aipg-chat-stage-list li.is-complete{color:var(--ink-2,#3a3a3a)}
.aipg-messages{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-height:540px;overflow:auto;padding:22px}
.aipg-chat .aipg-messages{min-height:230px;background:rgba(255,255,255,.22)}
.aipg-message{min-width:0;max-width:min(820px,92%);padding:14px 16px;font:400 14px/1.65 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-message p{margin:0 0 .8em;white-space:pre-wrap}.aipg-message p:last-child{margin-bottom:0}
.aipg-message h2,.aipg-message h3,.aipg-message h4{margin:1.1em 0 .45em;font:600 1.1em/1.35 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-message h2:first-child,.aipg-message h3:first-child,.aipg-message h4:first-child{margin-top:0}
.aipg-message ul,.aipg-message ol{margin:.45em 0 .85em;padding-left:1.5em}.aipg-message ul{list-style:disc}.aipg-message ol{list-style:decimal}.aipg-message li+li{margin-top:.25em}
.aipg-message blockquote{margin:.75em 0;padding:.15em 0 .15em 1em;border-left:2px solid #b4492e;color:var(--ink-2,#3a3a3a)}
.aipg-message pre{max-width:100%;overflow:auto;margin:.75em 0;padding:12px;background:var(--paper-2,#e9e8e2);white-space:pre-wrap}
.aipg-message code{padding:.08em .25em;background:rgba(0,0,0,.06);font: .92em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.aipg-message pre code{padding:0;background:transparent}.aipg-message hr{margin:1em 0;border:0;border-top:1px solid var(--rule,#c0bebc)}
.aipg-message a{color:var(--accent-text,#a8402a);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.aipg-table-wrap{max-width:100%;overflow-x:auto;margin:.75em 0}
.aipg-message table{width:100%;min-width:520px;border-collapse:collapse;text-align:left;font-size:.9em;line-height:1.45}
.aipg-message th,.aipg-message td{padding:9px 10px;border:1px solid var(--rule,#c0bebc);vertical-align:top}
.aipg-message th{background:rgba(0,0,0,.045);font-weight:700}
.aipg-message-user p{margin:0}
.aipg-message-assistant{justify-self:start;background:var(--paper,#f4f3ef);border-left:3px solid #b4492e}
.aipg-message-user{justify-self:end;background:#1a1a1a;color:#fff}
.aipg-message-pending{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2,#3a3a3a)}
.aipg-pending-dots{display:inline-flex;align-items:center;gap:4px}
.aipg-pending-dots span{width:6px;height:6px;border-radius:50%;background:#b4492e;animation:aipg-pending-pulse 1.2s ease-in-out infinite}
.aipg-pending-dots span:nth-child(2){animation-delay:.15s}
.aipg-pending-dots span:nth-child(3){animation-delay:.3s}
@keyframes aipg-pending-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.aipg-message-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--rule,#c0bebc)}
.aipg-message-choices button{min-height:38px;padding:8px 12px;border:1px solid var(--rule,#c0bebc);background:var(--paper-2,#e9e8e2);color:var(--ink-2,#3a3a3a);font:500 12px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif);text-align:left;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}
.aipg-message-choices button:hover,.aipg-message-choices button:focus-visible{border-color:#b4492e;background:rgba(180,73,46,.06);color:var(--accent-text,#a8402a);outline:2px solid #b4492e;outline-offset:2px}
.aipg-message-choices button:disabled{opacity:.55;cursor:default}
.aipg-message-choices .aipg-choice-secondary{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:2px}
.aipg-use-hint{flex-basis:100%;margin:0 0 4px;color:var(--ink-2,#3a3a3a);font:400 13px/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-use-choices button{min-height:44px}
.aipg-use-choices button[aria-pressed="true"]{border-color:#8f3924;background:#8f3924;color:#fff}
.aipg-use-choices button[aria-pressed="true"]:disabled{opacity:.75}
.aipg-use-other{display:grid;flex-basis:100%;gap:7px;margin-top:5px;color:var(--ink-2,#3a3a3a);font:600 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-use-other input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--rule,#c0bebc);border-radius:0;background:var(--paper,#f4f3ef);color:var(--ink,#1a1a1a);font:400 14px/1.45 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-use-other input:focus-visible{outline:2px solid #b4492e;outline-offset:2px}
.aipg-use-other input:disabled{opacity:.6}
.aipg-case-choices{display:grid;gap:10px;margin:16px 0 0;padding:16px;border:1px solid var(--rule,#c0bebc)}
.aipg-case-choices legend{padding:0 6px;font-weight:700}
.aipg-case-choices .aipg-use-other{margin:0}
.aipg-case-choices select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef);color:var(--ink,#1a1a1a);font:400 14px/1.45 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-case-choices>button{justify-self:start;min-height:40px;padding:8px 12px;border:1px solid var(--rule,#c0bebc);background:transparent;color:var(--ink,#1a1a1a);cursor:pointer}
.aipg-fact-review{margin-top:18px;padding:18px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef)}
.aipg-fact-review h4{margin:0 0 8px;font:700 17px/1.35 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-fact-review>p{margin:0 0 12px}
.aipg-fact-review dl{display:grid;grid-template-columns:minmax(140px,32%) 1fr;gap:8px 14px;margin:0;font:400 13px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-fact-review dt{font-weight:700}
.aipg-fact-review dd{margin:0;overflow-wrap:anywhere}
.aipg-fact-review>[hidden]{display:none}
.aipg-review-editor{display:grid;gap:13px;margin-top:14px}
.aipg-review-editor h5,.aipg-review-editor h6{margin:8px 0 0;font:700 15px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-review-editor p{margin:0;font-size:13px}
.aipg-review-editor label{display:grid;gap:6px;font:600 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-review-editor input,.aipg-review-editor select,.aipg-review-editor textarea{box-sizing:border-box;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--rule,#c0bebc);background:#fff;color:var(--ink,#1a1a1a);font:400 14px/1.45 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-review-editor textarea{min-height:75px;resize:vertical}
.aipg-review-editor fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:14px;border:1px solid var(--rule,#c0bebc)}
.aipg-review-editor legend{padding:0 6px;font-weight:700}
.aipg-readiness-notice{margin-top:18px;padding:14px 16px;border-left:4px solid #b4492e;background:var(--paper-2,#e9e8e2)}
.aipg-readiness-notice h5{margin:0 0 7px;font:700 15px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-readiness-notice p{margin:0 0 8px;font:400 13px/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-readiness-notice ul{margin:0;padding-left:20px;font:400 13px/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule,#c0bebc)}
.aipg-draft-actions>button,.aipg-saved-draft button{min-height:42px;padding:8px 12px;border:1px solid var(--ink,#1a1a1a);background:transparent;color:var(--ink,#1a1a1a);font:600 12px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.aipg-draft-actions>button:disabled{opacity:.55;cursor:not-allowed}
.aipg-diagnostic-actions .aipg-button-primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.aipg-diagnostic-actions .aipg-button-primary:hover{background:#b4492e;border-color:#b4492e;color:#fff}
.aipg-draft-consent{display:flex;align-items:flex-start;gap:9px;flex-basis:100%;margin-top:8px;color:var(--ink-2,#3a3a3a);font:400 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-draft-consent input{flex:0 0 auto;margin-top:3px;accent-color:#b4492e}
.aipg-draft-actions>span{font:500 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-saved-drafts{margin-top:28px;padding:24px;border:1px solid var(--rule,#c0bebc);background:var(--paper-2,#e9e8e2)}
.aipg-saved-drafts h3{margin:0 0 8px;font:400 26px/1.2 var(--f-display,'Fraunces',Georgia,serif)}
.aipg-saved-drafts>p:not(.aipg-kicker){margin:0 0 16px;color:var(--ink-2,#3a3a3a);font:400 13px/1.6 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-saved-draft{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-top:1px solid var(--rule,#c0bebc)}
.aipg-saved-preview{margin-top:18px;padding:18px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef);overflow-wrap:anywhere}
.aipg-saved-draft span{flex:1 1 220px;font:500 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-saved-drafts button:focus-visible,.aipg-draft-actions button:focus-visible{outline:2px solid #b4492e;outline-offset:2px}
.aipg-country-hint{flex-basis:100%;margin:0;color:var(--ink-3,#5c5c5c);font:500 12px/1.45 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-country-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;padding-top:8px}
.aipg-country-search[hidden]{display:none}
.aipg-country-search label{grid-column:1/-1;font:600 12px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-country-search input{min-width:0;min-height:42px;padding:8px 12px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef);color:var(--ink,#1a1a1a);font:400 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-country-search input:focus-visible{outline:2px solid #b4492e;outline-offset:2px}
.aipg-chat-reset{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;margin:12px 18px 16px auto;padding:9px 14px;border:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef);color:var(--ink-2,#3a3a3a);font:600 12px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif);cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}
.aipg-chat-reset:hover,.aipg-chat-reset:focus-visible{border-color:#b4492e;background:rgba(180,73,46,.06);color:var(--accent-text,#a8402a);outline:2px solid transparent}
.aipg-chat-reset-icon{font-size:19px;line-height:1}
.aipg-chat-form{display:grid;gap:8px;padding:18px 22px;border-top:1px solid var(--rule,#c0bebc);background:var(--paper,#f4f3ef)}
.aipg-chat-form label{font:600 13px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat-form textarea{width:100%;min-height:86px;padding:12px;border:1px solid var(--rule,#c0bebc);border-radius:0;background:transparent;color:var(--ink,#1a1a1a);font:400 14px/1.55 var(--f-body,'Plus Jakarta Sans',sans-serif);resize:vertical}
.aipg-chat-form textarea:focus-visible{border-color:#a9432b;outline:2px solid rgba(169,67,43,.32);outline-offset:2px}
.aipg-chat-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.aipg-chat-count{margin-right:auto;color:var(--ink-3,#5c5c5c);font:400 12px var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat-status{padding:12px 18px;border-top:1px solid var(--rule,#c0bebc);font:500 13px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-chat-status-error{color:#8c2424;background:#fff0f0}
.aipg-chat .aipg-unavailable{margin:0;border-width:1px 0 0}
html.dark .aipg-wrap{color:var(--ink,#f4f3ef)}
html.dark .aipg-panel .aipg-scope-notice,html.dark .aipg-access-gate{background:rgba(255,255,255,.05)}
html.dark .aipg-panel,html.dark .aipg-auth-message{background:var(--paper-2,#242421)}
html.dark .aipg-sources,html.dark .aipg-source-grid article{background:var(--paper-2,#242421)}
html.dark .aipg-form-grid input,html.dark .aipg-form-grid select{color:var(--ink,#f4f3ef)}
html.dark .aipg-output textarea{color:var(--ink,#f4f3ef)}
html.dark .aipg-state-warning{color:#3b2a08}html.dark .aipg-state-error{color:#4b1717}
@media(max-width:480px){.aipg-country-search{grid-template-columns:1fr}.aipg-country-search button{width:100%}}
@media(max-width:700px){.aipg-wrap{width:min(100% - 32px,620px);margin-bottom:56px}.aipg-form-grid,.aipg-access-options{grid-template-columns:1fr}.aipg-followup{padding:24px 0}.aipg-questions fieldset{grid-template-columns:1fr}.aipg-questions fieldset legend{grid-column:1}.aipg-actions{align-items:stretch;flex-direction:column}.aipg-button{width:100%;text-align:center}.aipg-source-grid{grid-template-columns:1fr}.aipg-source-grid article{min-height:auto}.aipg-messages{padding:14px}.aipg-chat-form{position:sticky;bottom:0;z-index:2;padding:12px;background:rgba(244,243,239,.96);backdrop-filter:blur(12px)}.aipg-message{max-width:96%}.aipg-message-choices{gap:7px}.aipg-message-choices button{min-height:42px}.aipg-chat-actions{align-items:stretch;flex-direction:row}.aipg-chat-count{margin-right:auto;align-self:center}.aipg-chat-actions .aipg-button{width:auto}.aipg-chat-progress{margin-top:20px;padding:15px}.aipg-chat-progress-heading{display:block}.aipg-chat-progress-note{display:block;margin-top:6px;text-align:left}.aipg-chat-stage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.aipg-chat-stage-list li:last-child{grid-column:1/-1}.aipg-chat-aside{padding:18px}.aipg-chat-aside h2{font-size:22px}.aipg-chat-aside ol{gap:10px}}
@media(prefers-reduced-motion:reduce){.aipg-wrap *{scroll-behavior:auto!important;transition:none!important}.aipg-pending-dots span{animation:none}}

/* Studio — bande pleine largeur (piste « Nocturne », version claire ; html.dark
   bascule sur la version sombre, d’où l’absence de règles html.dark pour le chat
   plus haut : tout passe par les --st-*). Le parcours tient en une jauge horizontale pour
   laisser toute la largeur à la conversation. Couleurs portées par --st-* : une
   seule source par thème. */
.aipg-panel:has(#aipg-chat-workspace:not([hidden])),html.dark .aipg-panel:has(#aipg-chat-workspace:not([hidden])){padding:0;border:0;background:transparent}
.aipg-studio{--st-ground:#f0e2d8;--st-line:#dccabc;--st-track:#dccabc;--st-edge:#c9b3a3;--st-ink:#1a1a1a;--st-muted:#5c5650;--st-faint:#6e655d;--st-accent:#a7422b;--st-accent-hover:#8a3522;--st-on-accent:#fff;--st-chip:#f7efe9;--st-field:#fffdfb;--st-card:#fffdfb;--st-dock:#faf4ef;--st-send:#1a1a1a;--st-on-send:#fff;--st-shadow:rgba(120,70,40,.08);margin:28px calc(50% - 50vw) 0;padding:0 0 44px;border-block:1px solid var(--st-line);background:var(--st-ground);color:var(--st-ink)}
html.dark .aipg-studio{--st-ground:#171512;--st-line:#2e2a25;--st-track:#3a352e;--st-edge:#4a443b;--st-ink:#f4f3ef;--st-muted:#a8a196;--st-faint:#8a8378;--st-accent:#e07a55;--st-accent-hover:#f09a7a;--st-on-accent:#171512;--st-chip:#2a2621;--st-field:#1f1c18;--st-card:#1f1c18;--st-dock:#24201c;--st-send:#f4f3ef;--st-on-send:#171512;--st-shadow:rgba(0,0,0,.3)}
.aipg-studio-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1280px;margin:0 auto;padding:12px 40px;border-bottom:1px solid var(--st-line)}
.aipg-studio-brand{margin:0;color:var(--st-muted);font:600 11px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif);letter-spacing:.16em;text-transform:uppercase}
.aipg-studio-tools{display:flex;flex:0 0 auto;align-items:center;gap:6px}
.aipg-studio-link{padding:12px 10px;color:var(--st-accent);font:600 12px/1.4 var(--f-body,'Plus Jakarta Sans',sans-serif);text-decoration:underline;text-underline-offset:4px}
.aipg-studio .aipg-chat-reset{min-height:44px;margin:0;padding:8px 14px;border:1px solid var(--st-edge);border-radius:999px;background:transparent;color:var(--st-ink);white-space:nowrap}
.aipg-studio .aipg-chat-reset:hover,.aipg-studio .aipg-chat-reset:focus-visible{border-color:var(--st-accent);background:transparent;color:var(--st-accent);outline:2px solid var(--st-accent);outline-offset:2px}
.aipg-studio-head{max-width:1280px;margin:0 auto;padding:32px 40px 0}
.aipg-studio-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.aipg-studio-intro h3{margin:0;font:300 clamp(30px,4vw,52px)/1.05 var(--f-display,'Fraunces',Georgia,serif);letter-spacing:-.03em}
.aipg-studio-counter{flex:0 0 auto;margin:0;font:300 clamp(44px,5vw,72px)/.8 var(--f-display,'Fraunces',Georgia,serif);white-space:nowrap}
.aipg-studio-counter small{color:var(--st-muted);font:500 14px/1 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-studio .aipg-chat-progress{margin:26px 0 0;padding:0;border:0;background:transparent}
.aipg-studio .aipg-chat-progress-title,.aipg-studio .aipg-chat-progress-track{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.aipg-studio .aipg-chat-stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.aipg-studio .aipg-chat-stage-list li,.aipg-studio .aipg-chat-stage-list li:last-child{grid-column:auto}
.aipg-studio .aipg-chat-stage-list li{position:relative;padding-top:16px;color:var(--st-faint);font:500 12px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-studio .aipg-chat-stage-list li::before,.aipg-studio .aipg-chat-stage-list li.is-current::after{content:'';position:absolute;top:0;left:0;height:6px;border-radius:3px}
.aipg-studio .aipg-chat-stage-list li::before{right:0;background:var(--st-track)}
.aipg-studio .aipg-chat-stage-list li.is-current::after{width:45%;background:var(--st-accent)}
.aipg-studio .aipg-chat-stage-list li.is-complete::before{background:var(--st-accent)}
.aipg-studio .aipg-chat-stage-list li.is-current{color:var(--st-ink);font-weight:700}
.aipg-studio .aipg-chat-stage-list li.is-complete{color:var(--st-muted);font-weight:600}
.aipg-studio .aipg-chat-stage-list li span{margin-right:6px}
.aipg-studio .aipg-chat-stage-list li.is-complete span::before{content:'✓ '}
/* La conversation est une fenêtre de hauteur FIXE dans la bande, comme une
   messagerie : les messages défilent à l'intérieur (revealMessage dans
   ai-policy-guide.js ne fait jamais défiler la page), la saisie est arrimée à
   son bord bas. Hauteur = écran − menu collant (90 px) − saisie et rappel
   (~180 px) − marges : la fenêtre entière tient sous le menu. */
.aipg-studio .aipg-chat{width:min(960px,calc(100% - 80px));margin:28px auto 0;border:1px solid var(--st-edge);border-radius:22px;background:var(--st-card);box-shadow:0 18px 44px var(--st-shadow);overflow:clip}
.aipg-studio .aipg-chat .aipg-messages{gap:24px;height:clamp(360px,calc(100vh - 305px),820px);height:clamp(360px,calc(100dvh - 305px),820px);min-height:0;max-height:none;margin:0;padding:32px 40px 24px;background:transparent}
.aipg-studio .aipg-message{max-width:820px;padding:0;border:0;border-radius:0;background:transparent;color:var(--st-ink);font:400 17px/1.7 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-studio .aipg-message-assistant:not(.aipg-message-pending)::before{content:'Guide MuseumWeek';display:block;margin-bottom:8px;color:var(--st-accent);font:700 10px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif);letter-spacing:.14em;text-transform:uppercase}
/* Les échanges passés s'effacent d'un cran : l'œil va à la dernière question. */
.aipg-studio .aipg-message-assistant:has(~ .aipg-message-assistant),.aipg-studio .aipg-message-assistant:has(~ .aipg-message-assistant)::before{color:var(--st-muted)}
.aipg-studio .aipg-message-user{justify-self:end;max-width:min(70%,640px);padding:12px 18px;border-radius:18px 18px 4px 18px;background:var(--st-accent);color:var(--st-on-accent);font-size:16px;font-weight:600;line-height:1.5}
.aipg-studio .aipg-message blockquote{border-left-color:var(--st-accent);color:inherit}
.aipg-studio .aipg-message a{color:var(--st-accent)}
.aipg-studio .aipg-message-user a{color:inherit}
.aipg-studio .aipg-message th,.aipg-studio .aipg-message td,.aipg-studio .aipg-message hr{border-color:var(--st-edge)}
.aipg-studio .aipg-message pre{background:var(--st-chip)}
.aipg-studio .aipg-message-pending{color:var(--st-muted)}
.aipg-studio .aipg-pending-dots span{background:var(--st-accent)}
.aipg-studio .aipg-message-choices{gap:10px;margin-top:18px;padding-top:0;border-top:0}
.aipg-studio .aipg-message-choices button{min-height:46px;padding:10px 16px;border:1px solid var(--st-edge);border-radius:999px;background:var(--st-chip);color:var(--st-ink);font:500 14px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif)}
.aipg-studio .aipg-message-choices button:hover,.aipg-studio .aipg-message-choices button:focus-visible{border-color:var(--st-accent);background:var(--st-chip);color:var(--st-accent);outline:2px solid var(--st-accent);outline-offset:2px}
.aipg-studio .aipg-message-choices .aipg-choice-secondary{border-color:transparent;background:transparent;color:var(--st-accent);font-weight:600}
.aipg-studio .aipg-use-choices button[aria-pressed="true"]{border-color:var(--st-accent);background:var(--st-accent);color:var(--st-on-accent);font-weight:600}
.aipg-studio .aipg-use-choices button[aria-pressed="true"]::before{content:'✓ '}
.aipg-studio .aipg-use-hint,.aipg-studio .aipg-country-hint,.aipg-studio .aipg-draft-actions>span{color:var(--st-muted)}
.aipg-studio .aipg-use-other,.aipg-studio .aipg-country-search label,.aipg-studio .aipg-draft-consent{color:var(--st-ink)}
.aipg-studio .aipg-use-other input,.aipg-studio .aipg-country-search input{border-color:var(--st-edge);border-radius:12px;background:var(--st-field);color:var(--st-ink);font-size:15px}
.aipg-studio .aipg-use-other input:focus-visible,.aipg-studio .aipg-country-search input:focus-visible{outline-color:var(--st-accent)}
.aipg-studio .aipg-case-choices,.aipg-studio .aipg-fact-review{border-color:var(--st-edge);border-radius:14px;background:var(--st-field)}
.aipg-studio .aipg-case-choices select{border-color:var(--st-edge);border-radius:12px;background:var(--st-field);color:var(--st-ink)}
.aipg-studio .aipg-case-choices>button{border-color:var(--st-edge);border-radius:999px;color:var(--st-ink)}
.aipg-studio .aipg-draft-actions{border-top-color:var(--st-line)}
.aipg-studio .aipg-draft-actions>button{border-color:var(--st-ink);border-radius:999px;color:var(--st-ink)}
.aipg-studio .aipg-diagnostic-actions .aipg-button-primary{border-color:var(--st-send);background:var(--st-send);color:var(--st-on-send)}
.aipg-studio .aipg-diagnostic-actions .aipg-button-primary:hover{border-color:var(--st-accent);background:var(--st-accent);color:var(--st-on-accent)}
.aipg-studio .aipg-chat-form{gap:8px;margin:0;padding:14px 18px 12px 24px;border:0;border-top:1px solid var(--st-line);border-radius:0;background:var(--st-dock);box-shadow:none}
.aipg-studio .aipg-chat-form:focus-within{box-shadow:inset 0 0 0 2px var(--st-accent)}
.aipg-studio .aipg-chat-form label{color:var(--st-muted);font:600 11px/1.3 var(--f-body,'Plus Jakarta Sans',sans-serif);letter-spacing:.12em;text-transform:uppercase}
.aipg-studio .aipg-chat-form textarea,.aipg-studio .aipg-chat-form textarea:focus-visible{min-height:52px;height:52px;padding:0;border:0;outline:none;box-shadow:none;background:transparent;color:var(--st-ink);font-size:16px}
.aipg-studio .aipg-chat-form textarea::placeholder{color:var(--st-faint)}
.aipg-studio .aipg-chat-count{color:var(--st-faint)}
.aipg-studio .aipg-chat-actions .aipg-button-primary{min-height:44px;padding:10px 22px;border:0;border-radius:999px;background:var(--st-send);color:var(--st-on-send);font-weight:700}
.aipg-studio .aipg-chat-actions .aipg-button-primary:hover{background:var(--st-accent);color:var(--st-on-accent)}
.aipg-studio .aipg-chat-status,.aipg-studio .aipg-chat .aipg-unavailable,.aipg-studio-note{margin:0;padding:12px 24px}
.aipg-studio .aipg-chat-status{border:0;border-top:1px solid var(--st-line);border-radius:0;color:var(--st-ink)}
.aipg-studio .aipg-chat-status-error{background:#fff0f0;color:#8c2424}
.aipg-studio .aipg-chat .aipg-unavailable{border:0;border-top:2px solid var(--st-accent);border-radius:0;background:transparent}
.aipg-studio .aipg-unavailable p{color:var(--st-muted)}
.aipg-studio-note{padding-top:0!important;background:var(--st-dock);color:var(--st-muted);font:400 12px/1.5 var(--f-body,'Plus Jakarta Sans',sans-serif)}
@media(max-width:700px){.aipg-studio{padding-bottom:28px}.aipg-studio-bar{padding:6px 16px}.aipg-studio-brand{font-size:9px;letter-spacing:.1em}.aipg-studio-link{padding:12px 6px}.aipg-studio .aipg-chat-reset{width:44px;min-width:44px;padding:7px}.aipg-studio .aipg-chat-reset span:last-child{display:none}.aipg-studio-head{padding:22px 16px 0}.aipg-studio .aipg-chat-progress{margin-top:18px}.aipg-studio .aipg-chat-stage-list li{padding-top:6px;font-size:0}.aipg-studio .aipg-chat{width:calc(100% - 24px);margin-top:20px;border-radius:16px}.aipg-studio .aipg-chat .aipg-messages{height:max(320px,calc(100vh - 210px));height:max(320px,calc(100dvh - 210px));padding:22px 16px 16px}.aipg-studio-note{display:none}.aipg-studio .aipg-message{font-size:16px}.aipg-studio .aipg-message-user{max-width:88%}.aipg-studio .aipg-chat-form{position:static;gap:6px;padding:10px 10px 8px 14px;backdrop-filter:none}.aipg-studio .aipg-chat-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.aipg-studio .aipg-chat-form textarea,.aipg-studio .aipg-chat-form textarea:focus-visible{min-height:48px;height:48px}.aipg-studio .aipg-chat-status,.aipg-studio .aipg-chat .aipg-unavailable,.aipg-studio-note{padding-inline:14px}}

/* Exemples de tâches par domaine (question de suivi de l’étape 2). */
