/* Lot2 private compositions. Existing approved workspace colours and local type kept. */
body:has(.result-v2) .workspace{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body:has(.result-v2) #topbar{flex:none}#main:has(.result-v2){height:calc(100dvh - 86px);width:100%;padding:24px 32px;overflow:hidden}.lot2-result.result-v2{height:100%;display:flex;flex-direction:column;min-height:0}.result-v2 .stepper{flex:none;margin-bottom:18px}.result-v2 .document-heading{flex:none;margin-bottom:20px}.result-v2 .document-heading h1{max-width:none;font-size:25px}.result-v2 .document-layout{flex:1;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr) 248px;align-items:stretch}.result-surface{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--line);background:white;border-radius:12px}.document-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid var(--line);background:white;flex:none}.toolbar-label{display:flex;align-items:center;gap:9px;font-weight:500;font-size:12px;color:var(--muted)}.toolbar-label svg{width:17px;height:17px;color:var(--blue)}.result-v2 .document-actions{padding:0;margin:0;flex:none}.result-v2 .document-canvas{flex:1;min-height:0;height:auto;overflow:auto;background:#edf0f5;padding:20px;overscroll-behavior:contain}.result-v2 .document-sheet{min-height:0;aspect-ratio:210/297;padding:38px 34px;box-shadow:0 3px 12px #14223809}.result-v2 .document-sheet h2{font-size:23px}.result-v2 .result-next{position:static;overflow:auto;min-height:0;height:100%;padding:24px 18px}.result-v2 .result-next h2{font-size:20px;line-height:1.4;margin:7px 0 12px}.result-v2 .next-tool-list{margin-top:23px}.result-v2 .next-tool-list button{min-height:115px;gap:12px}.result-v2 .next-tool-list strong{font-size:14px}.result-v2 .next-tool-list small{font-size:11px;line-height:1.65}.recommend-price{font-size:10px;font-weight:500;display:block;margin-top:8px;color:var(--blue)}.result-v2 .result-next .choose-other{font-size:11px;width:100%;margin-top:20px;white-space:normal;gap:8px}.choose-other .ic{width:15px;height:15px}.result-v2 .prompt-canvas{background:white;padding:0}.prompt-sheet{padding:32px;max-width:840px;margin:0 auto}.prompt-sheet h2{font:700 22px/1.4 Jakarta;margin:18px 0 28px;letter-spacing:-.5px}.prompt-sheet pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;color:#344256;margin:0}.prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-top:1px solid var(--line);background:#f8f9fc;flex:none}.prompt-footer>span{font-size:12px;color:var(--muted)}.prompt-footer .button{font-size:12px;min-width:150px}.other-tool-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.other-tool-picker .button{margin:0;justify-content:flex-start;font-size:12px}
@media(max-width:600px){body:has(.result-v2) #topbar{height:68px;flex-wrap:nowrap;row-gap:0}body:has(.result-v2) #topbar .global-search{display:none}#main:has(.result-v2){height:calc(100dvh - 68px);padding:18px 14px 16px}.result-v2 .stepper{margin-bottom:15px}.result-v2 .document-heading{margin-bottom:15px}.result-v2 .document-heading h1{font-size:21px;margin:5px 0 8px;line-height:1.25}.result-v2 .result-source{gap:7px;font-size:10px}.result-v2 .document-layout{display:flex;flex-direction:column;gap:12px;overflow:hidden}.result-surface{width:100%;flex:1;min-height:180px}.document-toolbar{padding:8px;gap:7px}.toolbar-label{display:none}.result-v2 .document-actions{display:flex;width:100%;gap:6px}.result-v2 .document-actions .button{font-size:11px;min-height:44px;padding:9px 11px}.result-v2 .document-canvas{padding:12px}.result-v2 .document-sheet{padding:26px 22px;aspect-ratio:210/297}.result-v2 .document-sheet h2{font-size:20px;margin:16px 0 24px}.result-v2 .document-sheet pre{font-size:12px;line-height:1.85}.result-v2 .result-next{height:auto;flex:none;overflow:hidden;padding:13px 14px;width:100%;border-radius:11px}.result-v2 .result-next>.label{font-size:8px}.result-v2 .result-next h2{font-size:15px;margin:3px 0 0}.result-v2 .result-next>p{display:none}.result-v2 .next-tool-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.result-v2 .next-tool-list button{min-height:62px;padding:8px 0;gap:7px;border-top:1px solid #e1e8c7}.result-v2 .next-tool-list .next-icon{display:none}.result-v2 .next-tool-list strong{font-size:12px}.result-v2 .next-tool-list small{display:none}.recommend-price{font-size:9px;margin-top:3px}.result-v2 .result-next .choose-other{margin-top:6px;min-height:44px;font-size:11px}.prompt-sheet{padding:25px 22px}.prompt-sheet h2{font-size:20px;margin-bottom:25px}.prompt-sheet pre{font-size:12px;line-height:1.8}.prompt-footer{padding:10px 12px;gap:10px}.prompt-footer>span{font-size:10px;max-width:110px}.prompt-footer .button{font-size:12px;min-width:150px;min-height:44px}.other-tool-picker{grid-template-columns:1fr}}
.tool2-sources{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:white;border-radius:12px;padding:11px 16px;margin-bottom:16px;font-size:12px}.tool2-sources details{flex:1}.tool2-sources summary{cursor:pointer;font-weight:700;min-height:24px;list-style:none}.tool2-sources summary>span{font-size:11px;font-weight:400;color:var(--blue);margin-left:18px}.tool2-sources details>div{display:flex;gap:10px;padding-top:10px}.tool2-sources .picked-chat{flex:1}.tool2-sources>.textlink{flex:none}.tool2-body{display:block!important;overflow-y:auto;padding:0 2px 5px!important}.tool2-card{display:grid;grid-template-columns:260px minmax(0,1fr);background:white;border:1px solid var(--line);border-radius:16px;padding:24px;gap:24px}.tool2-topics{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}.tool2-topics>p{line-height:1.6;margin-top:12px;font-size:12px}.topic-list{display:grid;margin-top:18px;gap:4px}.topic-list label{display:flex;align-items:flex-start;gap:10px;padding:11px 9px;min-height:46px;background:var(--wash);border-radius:8px;font-size:12px;line-height:1.5;cursor:pointer}.topic-list input{accent-color:var(--blue);margin:3px 0;flex:none;width:16px;height:16px}.show-topics{border:0;background:none;padding:7px 3px;min-height:44px;margin-top:7px;font-size:12px}.tool2-choices{border-left:1px solid var(--line);padding-left:24px;min-width:0}.tool2-choices .tools-heading h2,.tool2-topics h2{font-size:16px}.tool2-choices .tool-groups{grid-template-columns:1fr 1fr;gap:14px}.tool2-choices .tool-choice{grid-template-columns:28px minmax(0,1fr) auto 14px;gap:8px;padding:11px 9px;min-height:79px;margin-bottom:7px}.tool2-choices .tool-choice strong{font-size:12px}.tool2-choices .tool-choice p{font-size:10px;line-height:1.5}.tool-price{font:500 10px DM;color:var(--blue);white-space:nowrap}.mask-block{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:#f0f3ff;border:1px solid #e0e6ff;border-radius:11px;padding:16px 18px;margin-top:0}.mask-block strong{font:700 13px Jakarta}.mask-block p{font-size:11px;color:var(--muted);margin-top:5px}.switch-label{position:relative;flex:none;display:inline-flex;margin-left:20px;cursor:pointer;width:48px;min-height:44px;align-items:center}.switch-label input{position:absolute;opacity:0;width:48px;height:44px;margin:0;cursor:pointer}.switch-label>span{width:44px;height:25px;border-radius:20px;background:#c4cad7;border:1px solid #b7becc;pointer-events:none}.switch-label>span:after{content:'';display:block;width:19px;height:19px;background:white;border-radius:50%;margin:2px;box-shadow:0 1px 3px #0002}.switch-label input:checked+span{background:var(--blue);border-color:var(--blue)}.switch-label input:checked+span:after{transform:translateX(18px)}.switch-label input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.switch-label input:disabled+span{opacity:.45}.tool2-launch{display:flex;align-items:center;gap:16px}.tool2-launch>strong{font-size:12px;font-weight:500;white-space:nowrap}.tool2-launch>.button{font-size:12px}.tool2-body .tool-group>.label{font-size:9px}
/* NOTE 12/11/2026 19:3x UTC (PRODUIT ; réserve ③ de QUALITÉ sur cdee2870, LEAD 19:1x ①) : au-dessus de 600 px, la phrase de refus du pied ne passait pas à la ligne (nowrap ci-dessus) et sortait de l'écran (DE allocation épuisée jusqu'à x = 1731 à 1440 ; l'EN dépassait déjà la carte sur main). Elle passe à la ligne et laisse sa place au bouton. */ @media(min-width:601px){.tool2-launch>strong{white-space:normal;min-width:0;flex:1 1 auto}}
@media(max-width:1180px){.tool2-card{grid-template-columns:210px minmax(0,1fr);gap:18px;padding:19px}.tool2-choices{padding-left:18px}.tool2-choices .tool-groups{grid-template-columns:1fr}.tool2-choices .tool-choice{min-height:64px}.tool2-choices .tool-choice p{font-size:11px}.tool2-choices .tool-choice strong{font-size:13px}}
@media(max-width:600px){.tool2-sources{padding:10px 12px;margin-bottom:12px;font-size:11px}.tool2-sources summary>span{font-size:10px;margin-left:8px}.tool2-sources>.textlink{font-size:11px}.tool2-sources details>div{flex-direction:column}.tool2-card{display:flex;flex-direction:column;padding:18px;gap:23px;border-radius:13px}.tool2-topics h2{font-size:15px}.tool2-topics>p{font-size:11px;margin-top:8px}.topic-list{margin-top:12px}.topic-list label{font-size:12px;padding:10px;min-height:44px}.tool2-choices{border:0;border-top:1px solid var(--line);padding:20px 0 0}.tool2-choices .tool-groups{gap:13px}.tool2-choices .tool-choice{grid-template-columns:27px minmax(0,1fr) auto 14px;min-height:75px;padding:11px 8px;gap:7px}.tool2-choices .tool-choice p{font-size:10px}.tool2-choices .tool-choice strong{font-size:12px}.tool-price{font-size:10px}.mask-block{padding:13px 12px;gap:10px}.mask-block strong{font-size:12px}.mask-block p{font-size:10px;line-height:1.6}.switch-label{margin-left:4px}.flow-footer:has(.tool2-launch){padding-top:13px;gap:12px}.flow-footer:has(.tool2-launch)>.cost-line{display:none}.tool2-launch{justify-content:space-between;width:100%;gap:12px}.tool2-launch>strong{font-size:11px}.tool2-launch .button{min-width:145px}}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:30px;height:30px;border:1px solid #dce2ef;border-radius:9px;background:#f3f5fa;color:#536380;font:700 10px DM;letter-spacing:.4px}.ai-badge i{position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border:2px solid white;border-radius:50%;background:var(--blue)}
.lot2-result .stepper{font-size:11px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--blue);text-transform:uppercase}.document-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.document-heading h1{font-size:26px;max-width:520px;margin:6px 0 12px}.result-source{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.result-source .ai-badge{width:24px;height:24px;font-size:8px}.result-source button{border:0;background:none;font-size:11px;margin-left:8px}.document-actions{display:flex;gap:8px;flex:none;padding-top:24px}.document-actions .button{font-size:12px;padding:9px 13px}.document-actions .ic{width:17px;height:17px}.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:26px;align-items:start}.document-canvas{min-width:0}.document-sheet{background:white;box-shadow:0 5px 25px #14223808;border:1px solid #e1e5ec;min-height:0;aspect-ratio:210/297;padding:48px 46px;max-width:794px;margin:auto}.sheet-kicker{display:flex;align-items:center;gap:8px;font:700 11px DM;color:var(--blue);text-transform:uppercase;letter-spacing:1.4px}.sheet-kicker svg{width:16px;height:16px}.document-sheet h2{font-size:24px;letter-spacing:-.7px;margin:20px 0 35px;line-height:1.35}.document-sheet pre{font:400 13px/1.9 DM;white-space:pre-wrap;overflow-wrap:anywhere;color:#354259;margin:0}.result-next{border:1px solid #dfe5c4;background:#f7fae7;border-radius:14px;padding:21px 17px;position:sticky;top:22px}.result-next>.label{font-size:10px;color:#66733c}.result-next h2{font-size:18px;margin:6px 0 10px}.result-next>p{font-size:12px;color:#6d7654;line-height:1.6}.result-next>.button{margin-top:18px;width:100%;font-size:11px;gap:6px;padding:10px 6px;white-space:nowrap}.result-next>.button .ic{width:15px;height:15px}.next-tool-list{margin-top:19px}.next-tool-list button{display:flex;align-items:center;gap:10px;border:0;border-top:1px solid #e1e8c7;background:none;width:100%;min-height:69px;text-align:left;padding:13px 0}.next-tool-list strong{font:700 12px Jakarta}.next-tool-list small{display:block;font-size:10px;line-height:1.5;margin-top:4px;color:#74805c}.next-tool-list button>.ic{width:13px;height:13px;margin-left:auto;flex:none}.next-icon{color:var(--blue);flex:none}.next-icon svg{width:19px;height:19px}.sources-modal{display:grid;gap:12px}.source-line{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.source-line b{font-size:13px}.source-line small{display:block}.field-label{display:block;margin:24px 0 8px;font-weight:700;font-size:12px}.copy-link-line{display:flex;gap:8px}.copy-link-line input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;font-size:12px}.copy-link-line .button{white-space:nowrap;font-size:12px}.public-footer-preview{background:var(--citron);padding:12px 18px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:500;border-radius:22px;margin-top:25px}.hook-note{font-size:12px!important;line-height:1.6!important}.export-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-menu .button{margin:0;justify-content:flex-start;font-size:12px}.ai-picker{border:0;padding:0;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-picker legend{font-size:12px;font-weight:700;margin-bottom:10px}.ai-picker label{display:flex;gap:9px;align-items:center;min-height:54px;border:1px solid var(--line);border-radius:9px;padding:9px;font-size:11px;cursor:pointer}.ai-picker input{margin-left:auto;accent-color:var(--blue)}.full-width{width:100%}.document-sheet a{color:var(--blue)}
@media(min-width:1550px){.document-sheet{min-height:0}}@media(max-width:1180px){.document-heading{display:block}.document-actions{padding-top:5px}.document-layout{grid-template-columns:minmax(0,1fr) 205px;gap:18px}.document-sheet{padding:36px 28px;min-height:0}.document-sheet pre{font-size:12px}.result-next{padding:18px 14px}}
@media(max-width:850px){.document-layout{grid-template-columns:minmax(0,1fr) 220px}.document-sheet{min-height:0}}
@media(max-width:600px){#main:has(.lot2-result){padding:23px 16px 35px}.document-heading{margin-bottom:20px}.document-heading h1{font-size:23px;line-height:1.3}.lot2-result .stepper{font-size:9px;margin-bottom:22px}.document-actions{display:flex;gap:7px;margin-top:17px}.document-actions .button{font-size:11px;padding:10px 13px;min-height:44px;flex:1}.document-actions .button:last-child{flex:1}.document-actions .ic{width:15px;height:15px}.document-layout{display:flex;flex-direction:column;gap:22px}.document-canvas{width:100%}.document-sheet{width:100%;padding:31px 26px;min-height:506px;aspect-ratio:auto}.document-sheet h2{font-size:22px;margin-top:19px;margin-bottom:28px}.document-sheet pre{font-size:12px;line-height:1.9}.result-next{position:static;width:100%;padding:23px}.result-next h2{font-size:21px}.result-next>p br{display:none}.next-tool-list{display:grid;grid-template-columns:1fr}.next-tool-list button{min-height:72px}.result-next>.button{font-size:12px}.next-tool-list strong{font-size:13px}.next-tool-list small{font-size:11px}.ai-picker{grid-template-columns:1fr}.ai-picker label{font-size:12px}.copy-link-line{flex-direction:column}.export-menu{grid-template-columns:1fr 1fr}.result-source{flex-wrap:wrap;font-size:11px}.result-source button{margin-left:0}}
/* Direct Kevin: keep the tool layout, make the mask control short and bottom-right. */
body .tool2-card .mask-block{grid-column:2;justify-self:end;width:min(100%,340px);min-height:58px;padding:9px 12px;gap:12px;margin-top:0}body .tool2-card .mask-block strong{font:500 12px/1.5 DM}body .tool2-card .mask-block p{display:none}body .tool2-card .mask-block .switch-label{margin-left:8px}
@media(max-width:600px){body .tool2-card .mask-block{width:min(100%,280px);align-self:flex-end;min-height:54px;padding:6px 10px;gap:6px}body .tool2-card .mask-block strong{font-size:11px}}

/* Direct Kevin: a prominent bottom action with explicit copy/paste guidance. */
body .result-v2 .prompt-footer{padding:18px 22px;gap:22px}body .prompt-footer .button{min-height:58px;min-width:240px;font:700 15px/1.4 DM;padding:14px 22px}body .prompt-instruction strong{display:block;font-size:13px;font-weight:700;color:var(--ink)}body .prompt-instruction p{font-size:11px;line-height:1.6;color:var(--muted);max-width:340px;margin:5px 0 0}.switch-destination{grid-column:2;display:grid;gap:12px;border:1px solid var(--line);border-radius:11px;padding:16px}.switch-destination label strong{font-size:13px}.switch-destination label span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.switch-destination select{width:100%;min-height:44px;border:1px solid #d4dced;border-radius:8px;background:white;padding:9px 10px;font-size:13px}
@media(max-width:600px){body .result-v2 .prompt-footer{display:block;padding:12px}body .prompt-footer .button{width:100%;min-height:56px;margin-top:11px;font-size:14px}body .prompt-instruction strong{font-size:11px}body .prompt-instruction p{font-size:10px;max-width:none;margin-top:3px}.switch-destination{padding:14px}.switch-destination label strong{font-size:12px}}
/* COPY54 onboarding: one viewport, scroll only the central content when necessary. */
body:has(.onboarding) .sidebar,body:has(.onboarding) #topbar{display:none}body:has(.onboarding) .workspace{margin:0;height:100dvh;overflow:hidden}#main:has(.onboarding){max-width:none;height:100dvh;padding:0;overflow:hidden}.onboarding{height:100dvh;display:flex;flex-direction:column;background:#f7f8fb}.ob-header{height:92px;padding:0 50px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);flex:none}.ob-header>img{width:135px}.ob-header>button{background:none;border:0;font-size:12px;min-height:44px}.ob-main{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,640px);gap:48px;justify-content:center;align-items:center;padding:35px}.ob-side{align-self:center}.ob-side>.label{font-size:10px;color:var(--blue)}.ob-side h2{font-size:34px;line-height:1.25;letter-spacing:-1px;margin:13px 0 16px}.ob-side>p{color:var(--muted);font-size:13px}.ob-side ol{list-style:none;padding:0;margin:37px 0 0;display:grid;gap:17px}.ob-side li{font-size:12px;color:#8792a3;display:flex;align-items:center;gap:12px}.ob-side li>span{width:27px;height:27px;border-radius:50%;background:#edf0f5;border:1px solid var(--line);display:grid;place-items:center;font-size:10px}.ob-side li svg{width:13px;height:13px}.ob-side li[aria-current]{color:var(--blue);font-weight:700}.ob-side li[aria-current]>span{background:var(--citron);color:var(--ink);border-color:var(--citron)}.ob-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 30px #14223805;display:flex;flex-direction:column;min-height:480px;max-height:100%;height:740px;overflow:hidden}.ob-progress{padding:25px 34px 0;flex:none;color:var(--muted);font-size:11px}.ob-progress>div{height:3px;background:#edf0f5;border-radius:5px;margin-top:12px;overflow:hidden}.ob-progress i{display:block;height:100%;background:var(--blue)}.ob-content{padding:32px 34px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.ob-content h1{font-size:29px;line-height:1.25;letter-spacing:-.9px;margin-bottom:24px}.ob-sub,.ob-lead{font-size:14px;line-height:1.8;color:var(--muted)}.ob-lead{max-width:490px}.ob-help{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}.ob-footer{padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);background:#fff;flex:none;gap:12px}.ob-footer .button{min-width:120px;font-size:12px}.ob-welcome-art{height:160px;margin:20px 0 40px;display:flex;align-items:center;justify-content:center;gap:20px;background:#f5f7fc;border-radius:14px}.ob-welcome-art>span{width:100px;height:110px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px #14223809;border-radius:14px;display:grid;place-items:center;color:var(--blue);transform:rotate(-9deg)}.ob-welcome-art>span+span{background:var(--citron);transform:rotate(10deg);margin-left:-20px}.ob-welcome-art svg{width:35px;height:35px}.ob-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ob-name-grid label>span,.ob-pref-fields>label>span,.ob-pref-fields legend{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.ob-name-grid input,.ob-pref-fields select{min-height:48px;width:100%;border:1px solid #dce2ed;border-radius:10px;padding:11px 13px;background:white;min-width:0}.ob-name-grid input[aria-invalid]{border-color:#b24747}#ob-name-error{font-size:12px;color:#a83838;margin-top:12px}.ob-use-list{display:grid;gap:9px;margin-top:20px}.ob-use-list label{display:flex;gap:14px;align-items:center;min-height:60px;border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:13px;cursor:pointer}.ob-use-icon{display:grid;place-items:center;width:30px;height:30px;background:#f2f4fc;border-radius:8px;color:var(--blue)}.ob-use-icon svg{width:17px;height:17px}.ob-use-list input{margin-left:auto;flex:none}.ob-content input[type=checkbox],.ob-content input[type=radio]{width:18px;height:18px;accent-color:var(--blue);flex:none;cursor:pointer}.ob-ai-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.ob-ai-choice{display:flex;gap:9px;align-items:center;padding:10px;min-height:58px;border:1px solid var(--line);border-radius:9px;font-size:12px;cursor:pointer}.ob-ai-choice input{margin-left:auto}.ob-noext{border-top:1px solid var(--line);margin-top:24px;padding-top:22px;font-size:13px;color:var(--muted)}.ob-noext .button{margin-top:16px;font-size:12px}.ob-vitals{border-top:1px solid var(--line);padding-top:23px;margin-top:24px}.ob-vitals h2{font-size:17px;margin-bottom:13px}.ob-vitals>p{font-size:12px;line-height:1.75;color:var(--muted)}.ob-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:14px 0;cursor:pointer;font-size:12px;line-height:1.65}.ob-check input{margin:2px 0 0}.ob-check span{min-width:0}.ob-small{font-size:11px!important;margin-top:16px}.ob-ai-consent{padding:16px;border:1px solid var(--line);border-radius:12px;margin:16px 0}.ob-ai-consent>.ai-badge{vertical-align:middle;margin-right:9px}.ob-ai-consent>strong{font-size:12px}.ob-ai-consent>.button{width:100%;font-size:12px;margin-top:12px}.ob-ai-consent>.ob-check{margin-top:8px}.ob-consent-help,.ob-ai-consent>p{font-size:11px;line-height:1.75;color:var(--muted)}.ob-weekly-art{background:#f3f5fb;border:1px solid var(--line);height:130px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:25px 30px;margin-top:27px;color:var(--blue)}.ob-weekly-art svg{width:25px;height:25px}.ob-weekly-art i{height:7px;width:75%;background:#dfe5f2;border-radius:10px}.ob-weekly-art i:last-child{width:55%}.ob-weekly-choice{margin-top:24px;background:#f5f8e7;border:1px solid #e4ebc6;border-radius:10px;padding:16px}.ob-pref-fields{display:grid;gap:30px}.ob-pref-fields fieldset{border:0;padding:0}.ob-appearance{display:flex;align-items:center;gap:11px;font-size:13px;min-height:48px;border-bottom:1px solid var(--line);cursor:pointer}.ob-done{width:80px;height:80px;background:var(--citron);color:var(--blue);display:grid;place-items:center;border-radius:50%;margin:8px 0 28px}.ob-done svg{width:36px;height:36px}.ob-workspace{margin-top:25px;font-size:12px}.journey-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.journey-steps{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;margin-bottom:30px}.journey-steps i{font-style:normal;color:#acb4c0}.journey-card{width:min(100%,540px);background:white;border:1px solid var(--line);border-radius:18px;padding:40px;text-align:center}.journey-card h1{font-size:29px;margin:20px 0}.journey-card>p{font-size:14px;line-height:1.8;color:var(--muted)}.journey-card>.button{margin-top:25px;min-width:220px;font-size:13px}.journey-symbol{width:70px;height:70px;display:grid;place-items:center;background:var(--citron);border-radius:18px;color:var(--blue);margin:auto}.journey-symbol svg{width:30px;height:30px}.install-state{margin-top:25px;padding:16px;background:#f5f7fb;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px}.journey-email{display:block;text-align:left;font-size:12px;font-weight:700}.journey-email input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px}
@media(max-width:1050px){.ob-main{grid-template-columns:210px minmax(0,600px);gap:25px;padding:25px}.ob-side h2{font-size:29px}.ob-side ol{gap:14px}.ob-side li{font-size:11px}}@media(max-width:700px){.ob-header{height:72px;padding:0 22px}.ob-header>img{width:115px}.ob-header>button{font-size:11px}.ob-main{display:flex;align-items:stretch;padding:18px 16px;gap:0}.ob-side{display:none}.ob-card{min-height:0;height:100%;width:100%;border-radius:14px}.ob-progress{padding:20px 22px 0;font-size:10px}.ob-content{padding:24px 22px}.ob-content h1{font-size:25px;margin-bottom:22px}.ob-sub,.ob-lead{font-size:12px;line-height:1.85}.ob-help{font-size:11px;line-height:1.8;margin-top:21px}.ob-footer{padding:15px 18px}.ob-footer .button{min-width:110px;font-size:12px}.ob-welcome-art{height:140px;margin:22px 0 30px}.ob-welcome-art>span{width:80px;height:92px}.ob-name-grid{grid-template-columns:1fr;gap:20px}.ob-name-grid label>span{font-size:12px}.ob-use-list label{font-size:12px;padding:11px;min-height:60px;gap:10px}.ob-use-list input{margin-left:auto}.ob-ai-list{grid-template-columns:1fr;gap:7px}.ob-ai-choice{font-size:12px;min-height:53px}.ob-vitals>p{font-size:11px}.ob-check{font-size:12px}.ob-ai-consent{padding:13px}.ob-pref-fields select{font-size:12px}.ob-weekly-art{height:125px;padding:25px;margin-top:24px}.ob-weekly-choice{font-size:12px;padding:14px}.ob-appearance{font-size:12px}.journey-main{padding:22px 17px}.journey-steps{flex-wrap:wrap;font-size:10px;gap:7px;justify-content:center;line-height:1.8}.journey-card{padding:30px 24px}.journey-card h1{font-size:25px}.journey-card>p{font-size:12px}.journey-card>.button{width:100%;font-size:12px;min-width:0}}
/* Dense chat selection: eleven historical metadata fixtures, no invented source dates. */
#main:has(.chats-v2){height:calc(100dvh - 86px);padding:24px 32px;overflow:hidden}.chats-v2{height:100%;display:flex;flex-direction:column;min-height:0}.chats-v2 .stepper{flex:none;margin-bottom:15px}.chats-v2>.heading{flex:none;margin-bottom:17px}.chats-v2 .heading h1{font-size:28px}.chats-v2 .heading p{font-size:13px;margin-top:6px}.chats2-body{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 245px;gap:22px}.chats2-body .chat-selector{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chats2-body .selector-header{padding:15px 16px 13px;flex:none;border-bottom:1px solid var(--line)}.chats2-body .selector-search{margin:0;min-height:44px}.chat-toolbar{display:flex;gap:12px;justify-content:space-between;margin-top:10px}.chat-toolbar label{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted)}.chat-toolbar select{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:7px 11px;background:white;color:var(--ink);font-size:12px;min-width:170px}.chats2-body .chat-list{flex:1;min-height:0;overflow:auto;padding:0 12px;overscroll-behavior:contain}.chats2-body .chat-row{height:46px;min-height:46px;padding:4px 9px;gap:10px;border-radius:0;border-bottom:1px solid #edf0f5}.chats2-body .chat-row input{width:16px;height:16px;accent-color:var(--blue);margin:0;flex:none}.chats2-body .chat-row .ai-badge{width:27px;height:27px;font-size:9px}.chats2-body .chat-name{min-width:0;flex:1}.chats2-body .chat-name strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45}.chats2-body .chat-name small{font-size:10px;line-height:1.3;display:block}.chats2-body .chat-row time{display:block;font-size:9px;white-space:nowrap;flex:none;width:85px;text-align:right;color:var(--muted)}.chats-v2>.flow-footer{flex:none;min-height:72px;margin-top:17px;padding-top:15px}.chats-v2 .flow-footer p{font-size:12px}.chats-v2 .picked-panel .panel{padding:20px 16px}.chats-v2 .picked-heading h2{font-size:16px}.chats-v2 .picked-chat strong{font-size:11px}.chats-v2 .picked-chat .ai-badge{width:24px;height:24px;font-size:8px}.chats-v2 .picked-chat button{min-width:36px}.chats-v2 .hint{font-size:11px;line-height:1.7}
@media(max-width:1000px){.chat-toolbar select{min-width:120px}.chats2-body{grid-template-columns:minmax(0,1fr) 210px}.chats2-body .chat-row time{width:75px;font-size:8px}}
@media(max-width:600px){body:has(.chats-v2) #topbar{height:68px;flex-wrap:nowrap;row-gap:0}body:has(.chats-v2) #topbar .global-search{display:none}#main:has(.chats-v2){height:calc(100dvh - 68px);padding:17px 14px 16px}.chats-v2>.heading{margin-bottom:12px}.chats-v2 .heading h1{font-size:24px}.chats-v2 .heading p{font-size:11px}.chats-v2 .stepper{font-size:9px;margin-bottom:12px}.chats-v2 .mobile-selected{display:block;flex:none;margin-bottom:11px;max-height:190px;overflow:auto}.chats-v2 .mobile-selected summary{font-size:11px;padding:10px 12px;min-height:44px}.chats2-body{display:block;overflow:hidden}.chats2-body .chat-selector{height:100%}.chats2-body .selector-header{padding:10px}.chats2-body .selector-search{min-height:40px;padding:7px 10px}.chat-toolbar{gap:9px;margin-top:8px}.chat-toolbar label{display:block;min-width:0;flex:1}.chat-toolbar label>span{display:none}.chat-toolbar select{width:100%;min-width:0;min-height:40px;font-size:10px;padding:7px 8px}.chats2-body .chat-list{padding:0 5px}.chats2-body .chat-row{height:44px;min-height:44px;padding:4px 7px;gap:7px}.chats2-body .chat-row .ai-badge{width:24px;height:24px;font-size:8px}.chats2-body .chat-name strong{font-size:11px}.chats2-body .chat-name small{font-size:9px}.chats2-body .chat-row time{font-size:8px;width:68px}.chats-v2>.flow-footer{margin-top:12px;padding-top:12px;min-height:64px}.chats-v2 .flow-footer p{font-size:10px}.chats-v2 .flow-footer .button{font-size:11px;min-width:140px}}
/* Home: actual reload age only, one action. Access/AI choices/automatic/email live in Settings/onboarding. */
#main:has(.home-v2),#main:has(.settings-v2){height:calc(100dvh - 86px);padding:24px 32px;overflow:hidden}.home-v2{height:100%;display:flex;flex-direction:column;gap:22px;min-height:0}.home-v2>.heading{margin:0;flex:none}.home-v2 .heading h1{font-size:28px}.home-v2 .heading p{font-size:13px}.home-v2 .hero-banner{margin:0;flex:none;min-height:210px;padding:27px 30px}.home-v2 .hero-banner h2{font-size:28px}.home-v2 .home-columns{flex:1;min-height:0;margin:0;gap:22px;grid-template-columns:1.5fr 1fr}.home-v2 .home-columns .panel{min-height:0;display:flex;flex-direction:column;padding:22px}.home-v2 .sectionhead{flex:none}.home-v2 .sectionhead h2{font-size:17px}.home-v2 .sectionhead .textlink{font-size:11px}.home-task-scroll{min-height:0;overflow:auto}.home-v2 .task-row{padding:14px 0;gap:13px}.home-v2 .task-name b{font-size:12px}.home-v2 .task-row time{font-size:10px;white-space:nowrap}.vitals-compact{flex:none;display:flex;align-items:center;gap:15px;padding:18px 22px;background:white;border:1px solid var(--line);border-radius:14px;min-height:96px}.vitals-compact .vitals-badge{width:44px;height:44px;margin:0;display:grid;place-items:center;background:#eef2ff;border-radius:12px;flex:none}.vitals-compact h2{font-size:16px}.vitals-compact p{font-size:12px;color:var(--muted);margin-top:5px}.vitals-compact .button{margin-left:auto;font-size:12px}.settings-v2{height:100%;display:flex;flex-direction:column;min-height:0;max-width:1040px;margin:auto}.settings-v2>.heading{flex:none}.settings-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;gap:20px;padding:2px 4px 4px}.settings-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:25px}.settings-panel>h2{font-size:18px;margin-bottom:20px}.settings-panel .ob-help{margin-top:12px}.settings-panel .ob-check{font-size:12px}.settings-panel input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}.reload-ai-prefs{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr}.reload-ai-prefs legend{font-weight:700;font-size:13px;padding-top:20px;margin-bottom:10px}.reload-ai-prefs .ob-check{align-items:center}.reload-ai-prefs .ob-check input{margin-left:auto;margin-right:25px}.automatic-later{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.automatic-later .pill{margin-left:9px;font-size:9px}.automatic-later select{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#f7f8fb;color:var(--muted);font-size:12px}.settings-save{flex:none;padding-top:18px;text-align:right}.settings-save .button{min-height:44px;font-size:12px}
@media(max-width:600px){body:has(.home-v2) #topbar,body:has(.settings-v2) #topbar{height:68px;flex-wrap:nowrap;row-gap:0}body:has(.home-v2) #topbar .global-search,body:has(.settings-v2) #topbar .global-search{display:none}#main:has(.home-v2),#main:has(.settings-v2){height:calc(100dvh - 68px);padding:18px 14px 16px}.home-v2{gap:16px}.home-v2 .heading h1{font-size:24px}.home-v2 .heading p{font-size:11px;line-height:1.6}.home-v2 .hero-banner{min-height:186px;padding:22px}.home-v2 .hero-banner h2{font-size:23px}.home-v2 .hero-banner .label{font-size:9px;letter-spacing:.8px}.home-v2 .hero-banner p{font-size:11px}.home-v2 .hero-banner .button{font-size:12px;min-height:44px;margin-top:17px}.home-v2 .home-columns{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:14px;flex:1;min-height:0}.home-v2 .home-columns .panel{padding:17px;min-height:0}.home-v2 .sectionhead{margin-bottom:9px}.home-v2 .sectionhead h2{font-size:15px}.home-v2 .task-row{padding:9px 0;min-height:66px}.home-v2 .task-name b{font-size:11px}.home-v2 .task-name small{font-size:9px}.vitals-compact{padding:14px 12px;gap:9px;min-height:90px}.vitals-compact .vitals-badge{width:30px;height:30px;border-radius:8px}.vitals-compact .vitals-badge svg{width:18px;height:18px}.vitals-compact h2{font-size:13px}.vitals-compact p{font-size:9px;line-height:1.6;max-width:105px}.vitals-compact .button{font-size:10px;min-height:44px;padding:8px;gap:5px}.vitals-compact .button svg{width:14px;height:14px}.settings-v2 .heading h1{font-size:25px}.settings-v2 .heading p{font-size:11px}.settings-panel{padding:20px 16px;border-radius:12px}.settings-panel>h2{font-size:17px}.reload-ai-prefs{grid-template-columns:1fr}.reload-ai-prefs .ob-check input{margin-right:0}.settings-scroll{gap:14px}}
/* Global: foldable navigation and one neutral badge family, no provider logo. */
.sidebar-toggle{position:absolute;right:8px;top:20px;border:0;background:none;width:44px;min-height:44px;padding:8px;color:var(--muted)}.sidebar-toggle:hover{background:var(--wash)}.sidebar>.brand{margin-right:32px}body.rail{--side:76px}body.rail .sidebar{width:76px;padding:28px 12px 14px}body.rail .workspace{margin-left:76px}body.rail .sidebar-toggle{top:77px;left:16px;width:44px}body.rail .brand{margin:0 auto 79px;display:block;width:36px}body.rail .brand img{width:36px;height:36px}body.rail .side-new{width:44px;min-height:44px;padding:10px;font-size:0;margin:0 auto 23px;gap:0}body.rail .navlink{padding:10px;width:44px;justify-content:center;margin:0 auto 4px}body.rail .navlink>span{display:none}body.rail .navlink .ic{margin:0;width:20px;height:20px}body.rail .pins{margin-top:20px}body.rail .side-bottom{padding-top:12px}body.rail .extension-link{font-size:0;align-items:center}body.rail .account{padding:0;justify-content:center}body.rail .account>span:not(.avatar){display:none}body.rail .account-wrap{padding-top:12px}body.rail .account-menu{left:0;bottom:64px}body.rail .sidebar-close{display:none}.rail-pinned{color:var(--muted)}
#main:has(.connections-v2),#main:has(.badges-review){height:calc(100dvh - 86px);padding:24px 32px;overflow:hidden}.connections-v2,.badges-review{height:100%;display:flex;flex-direction:column;min-height:0}.connection-scroll{flex:1;min-height:0;overflow:auto;padding:2px 4px 4px;overscroll-behavior:contain}.connections-v2 .connection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.connections-v2 .connection-card{padding:18px 15px}.connections-v2 .connection-card>div{display:flex;align-items:center;gap:9px}.connections-v2 .connection-card h3{font-size:12px}.connections-v2 .connection-card p{font-size:11px;line-height:1.7}.connections-v2 .connection-card .button{font-size:10px;min-height:44px;white-space:normal;padding:9px 10px}.connections-v2 .connection-section>h2{margin-bottom:18px}.badge-context-head{display:grid;grid-template-columns:145px minmax(0,1fr);font-size:10px;font-weight:700;color:var(--muted);padding:0 14px 14px;gap:14px}.badge-context-head>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.badge-table{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:14px;background:white;padding:0 14px}.badge-family-row{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:14px;border-bottom:1px solid #edf0f5;min-height:84px}.badge-family-row:last-child{border-bottom:0}.badge-family-name{display:flex;align-items:center;gap:9px}.badge-family-name strong{font-size:11px;line-height:1.6}.badge-contexts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.badge-context-chip{display:flex;align-items:center;gap:7px;min-width:0}.badge-context-chip>span:not(.ai-badge){font-size:10px;line-height:1.5}.badge-context-chip .ai-badge{width:26px;height:26px;font-size:8px}.badge-context-chip small{display:none}.badge-review-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:14px;flex:none}.badges-review>.heading{flex:none}.badges-review .heading h1{font-size:27px}.badges-review .heading p{font-size:12px}
@media(max-width:1150px){.connections-v2 .connection-grid{grid-template-columns:1fr 1fr}.badge-context-head,.badge-family-row{grid-template-columns:125px minmax(0,1fr);gap:10px}.badge-context-chip>span:not(.ai-badge){font-size:9px}.badge-context-chip{gap:4px}}
@media(max-width:850px){body.rail .workspace{margin-left:0}body.rail .sidebar{display:none}body.rail .sidebar.open{display:flex;width:76px}body.rail .sidebar-toggle{display:inline-flex}body:not(.rail) .sidebar-toggle{right:51px;top:16px}.sidebar.open{max-height:100dvh;overflow-y:auto}}
@media(max-width:600px){body:has(.badges-review) #topbar,body:has(.connections-v2) #topbar{height:68px;flex-wrap:nowrap;row-gap:0}body:has(.badges-review) #topbar .global-search,body:has(.connections-v2) #topbar .global-search{display:none}#main:has(.connections-v2),#main:has(.badges-review){height:calc(100dvh - 68px);padding:18px 14px 16px}.connections-v2 .heading h1{font-size:25px}.connections-v2 .heading p{font-size:11px}.connections-v2 .connection-grid{grid-template-columns:1fr}.connections-v2 .connection-card{padding:20px}.connections-v2 .connection-card h3{font-size:14px}.connections-v2 .connection-card .button{font-size:11px}.connections-v2 .extension-banner{padding:17px;flex-wrap:wrap}.connections-v2 .extension-banner h2{font-size:15px}.badges-review .heading h1{font-size:23px}.badges-review .heading p{font-size:10px}.badge-context-head{display:none}.badge-table{padding:0 11px}.badge-family-row{grid-template-columns:108px minmax(0,1fr);gap:8px;min-height:87px}.badge-family-name{gap:7px}.badge-family-name strong{font-size:10px}.badge-family-name>.ai-badge{width:25px;height:25px;font-size:8px}.badge-contexts{gap:3px}.badge-context-chip{display:flex;flex-direction:column;gap:5px;min-width:0}.badge-context-chip>span:not(.ai-badge){display:none}.badge-context-chip .ai-badge{width:22px;height:22px;font-size:7px}.badge-context-chip small{display:block;font-size:6px;line-height:1.4;text-align:center;overflow-wrap:anywhere;min-height:18px}.badge-review-note{font-size:8px;margin-top:9px}}

/* Host handoff states, no result content created outside review fixtures. */
.result-source{flex-wrap:wrap}.source-ai-label{display:inline-flex;gap:6px;align-items:center}.result-empty{min-height:0;overflow:auto;padding:24px}.result-empty h1{margin-top:32px}.result-empty .button{margin-top:16px}#host-task-error{color:#a12439}#host-quote{font-weight:700}

.mask-help{width:28px;height:28px;min-width:28px;display:inline-grid;place-items:center;border:1px solid #dbe1ed;border-radius:50%;background:white;color:#526180;margin-left:7px;cursor:pointer}.settings-use{margin-bottom:24px}.settings-use h3{margin-bottom:16px}.topics-whole{padding:16px 0;color:#526180}

/* LEAD1793229212.944719: always-visible mask beside task usage. */
.flow-footer:has(.tool2-launch){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;flex:none}
.flow-footer>.mask-block{margin:0;width:340px;max-width:100%;min-height:54px;padding:5px 12px;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}
.flow-footer>.mask-block>div{display:flex;align-items:center;min-width:0}.flow-footer>.mask-block strong{font-size:12px}.flow-footer>.mask-block p{display:none}
.flow-footer>.mask-block .mask-help{width:44px;height:44px;min-width:44px;margin:0;border:0;background:transparent;position:relative;isolation:isolate;font-size:12px}.flow-footer>.mask-block .mask-help:before{content:'';position:absolute;inset:9px;border:1px solid #dbe1ed;border-radius:50%;background:white;z-index:-1}
.flow-footer>.mask-block .switch-label{margin:0}.flow-footer>.tool2-launch{margin-left:auto;width:auto;max-width:100%;flex-wrap:wrap}
@media(max-width:600px){.flow-footer:has(.tool2-launch){padding-top:8px;gap:7px}.flow-footer>.mask-block{width:280px;min-height:48px;padding:1px 9px;gap:5px}.flow-footer>.mask-block strong{font-size:11px}.flow-footer>.tool2-launch{width:100%;margin:0}.flow-footer>.tool2-launch .button{min-height:44px}}

/* Profile hydration status: never offer a destructive save before the saved snapshot arrives. */
.settings-save{gap:14px;align-items:center}.settings-save .profile-load-status{margin:0 auto 0 0;max-width:520px;font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:600px){.settings-save{gap:9px}.settings-save .profile-load-status{font-size:10px;max-width:55%}}

/* Focusable unavailable Reload: activation remains guarded by the host capability. */
#home-reload[aria-disabled="true"]{opacity:.45;cursor:not-allowed}

/* Lot 3 B: examples, native components and explicit local provenance. */
.example-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:4px 9px;border:1px solid #d5dd9d;background:#f6f9df;color:#4458ac;border-radius:6px;font:700 10px/1.2 DM;white-space:nowrap}.example-context{display:flex;align-items:center;gap:12px;flex:none;margin:0 0 12px;min-height:34px}.example-presets{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.example-context>[data-real-chats]{margin-left:auto}.example-context button{font-size:11px;min-height:34px}.home-proposal{display:flex;align-items:center;gap:16px;margin:18px 0}.home-proposal .proposal-icon{width:42px;height:42px;border-radius:10px;background:#e4ee99;color:#4458ac;display:grid;place-items:center;flex:none}.home-proposal>div{min-width:0;flex:1}.home-proposal h2{font-size:15px;margin:8px 0 4px}.home-proposal p{font-size:11px;color:var(--muted);margin:0}.home-proposal .label{display:flex;align-items:center;gap:8px}.analytics-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.analytics-stats>div{padding:20px;border:1px solid var(--line);border-radius:12px;background:#f7f8ff}.analytics-stats b{display:block;font:700 32px Jakarta;color:var(--blue)}.analytics-stats span{font-size:12px;display:block;margin-top:7px;color:var(--muted)}.example-tools-chart{padding:16px 0 24px}.example-tools-chart>div{display:flex;gap:14px;align-items:center;margin:12px 0;font-size:12px}.example-tools-chart span{width:70px}.example-tools-chart i{height:12px;flex:1;border-radius:4px;background:#e4ee99}.example-tools-chart b{width:20px}.task-row>.example-badge{margin-left:10px}.example-context+ .stepper{margin-top:0}
@media(max-width:600px){.example-context{gap:7px;flex-wrap:wrap;margin-bottom:8px}.example-context>[data-real-chats]{margin-left:0}.example-presets{gap:10px}.example-context button{font-size:10px;min-height:28px}.home-proposal{padding:16px;flex-wrap:wrap;gap:10px}.home-proposal>.button{margin-left:52px;min-height:40px}.home-proposal h2{font-size:13px}.analytics-stats{gap:7px;margin:18px 0}.analytics-stats>div{padding:12px 9px}.analytics-stats b{font-size:24px}.analytics-stats span{font-size:10px;line-height:1.5}.task-row>.example-badge{font-size:8px;padding:4px 6px;margin-left:4px}.example-analytics .task-row time{display:none}}

.example-context button{border:1px solid var(--line);border-radius:7px;background:white;color:var(--blue);padding:6px 10px;cursor:pointer;font-family:DM}.example-context button:hover{background:var(--wash)}.example-context button[aria-pressed=true]{background:#e4ee99;border-color:#d5dd9d}.example-context button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.pins .pinned-link:has(.example-badge){display:flex;align-items:center;gap:7px}.pins .pinned-link:has(.example-badge)>span:not(.example-badge){min-width:0;flex:1}.pins .pinned-link>.example-badge{padding:3px 5px;font-size:8px;flex:none}

/* Lot 3 F3/F5. Only Topics owns a scrollbar inside the tool/options card. */
#main:has(.tool2-body){height:calc(100dvh - 86px);padding:24px 32px 16px;overflow:hidden;min-height:0}#main:has(.tool2-body)>.stepper{flex:none;margin-bottom:10px}#main:has(.tool2-body)>.heading{flex:none;margin-bottom:14px}#main:has(.tool2-body)>.tool2-sources{flex:none;margin-bottom:12px}.tool2-body{display:block!important;overflow:hidden!important;margin-bottom:0;min-height:0;padding:0!important}.tool2-card{height:100%;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:18px;gap:12px;overflow:hidden}.tool2-topics{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden}.tool2-topics>.topics-heading{flex:none}.tool2-topics>p{flex:none;font-size:11px;margin-top:8px}.tool2-topics .topic-list{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:10px;max-height:100%}.tool2-topics .show-topics{flex:none;margin-top:3px;min-height:34px}.tool2-choices{grid-column:2;grid-row:1;min-height:0;padding-left:16px;overflow:visible}.tool2-choices .tools-heading{margin-bottom:8px}.tool2-choices .tool-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool2-choices .tool-choice{min-height:62px;padding:8px;gap:6px;margin-bottom:5px;grid-template-columns:24px minmax(0,1fr) auto 12px}.tool2-choices .tool-choice p{font-size:10px;line-height:1.4}.tool2-choices .tool-choice strong{font-size:12px}.tool2-body .switch-destination{grid-column:2;grid-row:2;padding:10px 12px;gap:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);align-items:center}.switch-destination label strong{font-size:12px}.switch-destination label span{font-size:10px;margin-top:4px}.switch-destination select{min-height:40px;margin:0;width:100%;max-width:100%}#main:has(.tool2-body)>.flow-footer{margin-top:12px;padding-top:8px}.flow-page:has(.tool2-body)>.example-context{min-height:30px;margin-bottom:8px}.flow-page:has(.tool2-body) .example-presets{display:none}.flow-page:has(.tool2-body) .example-context:not(:has(.example-badge)){display:none}
@media(max-width:600px){body:has(.tool2-body) #topbar{height:68px;flex-wrap:nowrap;row-gap:0}body:has(.tool2-body) #topbar .global-search{display:none}#main:has(.tool2-body){height:calc(100dvh - 68px);padding:12px 14px 12px}.flow-page:has(.tool2-body)>.example-context{min-height:28px;margin-bottom:5px;flex-wrap:nowrap}.flow-page:has(.tool2-body)>.example-context>[data-real-chats]{margin-left:auto;font-size:9px;min-height:28px}#main:has(.tool2-body)>.stepper{font-size:9px;gap:10px;margin-bottom:8px}#main:has(.tool2-body)>.stepper b{width:22px;height:22px;font-size:9px}#main:has(.tool2-body)>.heading{margin-bottom:9px}#main:has(.tool2-body)>.heading h1{font-size:24px}#main:has(.tool2-body)>.heading p{font-size:10px;margin-top:4px}#main:has(.tool2-body)>.tool2-sources{padding:7px 10px;margin-bottom:9px;font-size:10px}.tool2-sources summary{min-height:23px}.tool2-card{display:flex;flex-direction:column;gap:9px;padding:11px;min-height:0}.tool2-topics{flex:none;max-height:116px;overflow:hidden}.tool2-topics>p{display:none}.tool2-topics .topics-heading h2{font-size:12px}.tool2-topics .topics-heading .ic{width:15px;height:15px}.tool2-topics .topic-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:51px;margin-top:6px;scrollbar-gutter:auto}.topic-list label{font-size:9px;line-height:1.35;min-height:44px;padding:6px 5px;gap:4px;overflow-wrap:anywhere}.topic-list input{width:13px;height:13px;margin:2px 0}.tool2-topics .show-topics{font-size:10px;min-height:26px;padding:3px 0;align-self:flex-start;margin-top:3px}.tool2-choices{border:0;border-top:1px solid var(--line);padding:9px 0 0;min-height:0;flex:1}.tool2-choices .tools-heading h2{font-size:12px}.tool2-choices .tools-heading{margin-bottom:6px}.tool2-choices .tool-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tool2-body .tool-group>.label{font-size:7px;letter-spacing:.5px;margin-bottom:5px}.tool2-choices .tool-choice{position:relative;min-height:62px;padding:7px 5px;gap:5px;margin-bottom:4px;grid-template-columns:18px minmax(0,1fr) 10px;align-items:start}.tool2-choices .tool-choice .toolicon{width:18px;height:20px}.tool2-choices .tool-choice .ic{width:16px;height:16px}.tool2-choices .tool-choice>div{grid-column:2}.tool2-choices .tool-choice strong{font-size:10px}.tool2-choices .tool-choice p{font-size:9px;line-height:1.35;margin-top:3px}.tool2-choices .tool-choice .radio{grid-column:3;grid-row:1;width:10px;height:10px;margin-top:4px}.tool2-choices .tool-choice .tool-price{position:absolute;right:7px;bottom:3px;font-size:7px;line-height:1}.tool2-choices .tool-choice:has(.tool-price:not(:empty)){padding-bottom:13px}.tool2-body .switch-destination{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);flex:none;width:100%;padding:8px;gap:8px}.switch-destination label strong{font-size:10px}.switch-destination label span{font-size:8px}.switch-destination select{font-size:10px;min-height:36px;padding:6px}#main:has(.tool2-body)>.flow-footer{padding-top:7px;margin-top:8px;gap:5px}.flow-footer>.mask-block{min-height:44px}.tool2-launch{gap:7px}.tool2-launch>.button{min-height:42px;font-size:11px}.tool2-launch>strong{font-size:10px;white-space:normal;max-width:160px}}

.tool2-selected-description{display:none}
@media(max-width:600px){.tool2-choices .tool-choice{min-height:44px;align-items:center}.tool2-choices .tool-choice p{display:none}.tool2-choices .tool-choice strong{font-size:11px;line-height:1.35}.tool2-choices .tool-choice .radio{align-self:center;margin-top:0}.tool2-choices .tool-choice .tool-price{font-size:8px}.tool2-selected-description{display:block;min-height:48px;font-size:10.5px;line-height:1.5;color:var(--muted);margin-top:6px}}

/* The source summary opens over the card, without stealing its viewport height. */
.tool2-sources{position:relative}.tool2-sources details>div{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:210px;overflow:auto;z-index:12;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 35px #1422381a;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool2-sources details:not([open])>div{display:none}@media(max-width:600px){.tool2-sources details>div{grid-template-columns:1fr;max-height:180px}}

/* H2 replaces G2: the title belongs to the content; sources keep their position. */
#main:has(.result-v2){display:flex;flex-direction:column;min-height:0}
#main:has(.result-v2)>.example-context{flex:none}
#main:has(.result-v2)>.result-v2{height:auto;flex:1;min-height:0}
body .result-v2 .result-steps{display:flex;align-items:center;gap:9px;min-height:24px;margin:0 0 10px;font:500 11px/1.4 DM;color:var(--muted)}
body .result-v2 .result-steps span{display:inline-flex;align-items:center;gap:0}
body .result-v2 .result-steps i{display:block;width:13px;min-width:13px;flex:none;height:1px;background:#cbd3e0}
body .result-v2 .result-steps .current{font-weight:700;color:var(--blue);background:#edf0ff;padding:4px 9px;border-radius:5px}
body .result-v2 .document-heading{margin:0 0 12px}
body .result-v2 .document-heading .result-source{min-height:28px}
@media(max-width:600px){body .result-v2 .result-steps{font-size:10px;gap:7px;min-height:24px;margin-bottom:8px}body .result-v2 .document-heading{margin-bottom:10px}#main:has(.result-v2) .example-presets{display:none}}

/* G4–G6: visible result actions and a single purpose per menu. */
body .result-v2 .document-toolbar{padding:12px 16px;gap:14px}
body .result-v2 .document-actions{display:flex;gap:10px}
body .result-v2 .document-actions .button{min-height:48px;min-width:108px;padding:12px 18px;font:700 14px/1.4 DM;gap:9px}
body .result-v2 .document-actions .ic{width:20px;height:20px}
body .result-v2 .document-actions .is-copied{background:#f4f8dc;color:#40540c;border-color:#c8d689}
.export-menu,.share-menu{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.export-menu .button,.share-menu .button{justify-content:flex-start;min-height:58px;margin:0;padding:15px 18px;font:700 15px/1.4 DM;gap:14px;width:100%}
.export-menu .ic,.share-menu .ic{width:22px;height:22px;color:var(--blue)}
.shared-page-preview{margin-top:20px;border:1px solid var(--line);border-radius:12px;background:#f8f9fc;padding:24px;max-height:290px;overflow:auto;overscroll-behavior:contain}
.shared-page-preview h3{font:700 20px/1.4 Jakarta;margin:0 0 18px}.shared-page-preview>p{font:400 12px/1.8 DM;white-space:pre-wrap;overflow-wrap:anywhere}.shared-page-preview .public-footer-preview{font-size:10px;margin:22px 0 0}.share-send{display:flex;gap:10px;margin-top:16px}.share-send .button{min-height:46px;flex:1}
@media(max-width:600px){body .result-v2 .document-toolbar{padding:8px;gap:0}body .result-v2 .document-actions{gap:6px;width:100%;margin:0}body .result-v2 .document-actions .button{min-height:48px;min-width:0;flex:1;font-size:12px;padding:10px 8px;gap:6px}body .result-v2 .document-actions .ic{width:18px;height:18px}.shared-page-preview{padding:18px;max-height:220px}.copy-link-line .button{min-height:44px}}

/* H4: prompts are a ready-to-paste panel, with no paper treatment. */
@property --prompt-phase{syntax:'<angle>';inherits:false;initial-value:0deg}
body .result-v2.is-prompt .result-surface{position:relative;isolation:isolate;border:1px solid #c5cef2;background:#f5f7ff;border-radius:14px;box-shadow:0 2px 12px #4458ac08}
body .result-v2 .prompt-canvas{background:#f5f7ff;padding:0}
body .result-v2 .prompt-sheet{background:transparent;box-shadow:none;border:0;aspect-ratio:auto;max-width:none;margin:0;padding:32px 34px}
body .result-v2 .prompt-sheet .sheet-kicker{letter-spacing:1.3px}
body .result-v2 .prompt-sheet h2{font:700 23px/1.4 Jakarta;margin:18px 0 24px;color:var(--ink)}
body .result-v2 .prompt-sheet pre{border-left:2px solid #d7deff;padding-left:19px;font-size:13px;line-height:1.85}
body .result-v2.is-prompt .prompt-footer{background:#eaf0ff;border-top:1px solid #d5def9;padding:18px 22px;gap:22px}
body .result-v2.is-prompt .prompt-instruction p{margin:0;max-width:340px;font-size:12px;line-height:1.7}
body .result-v2.is-prompt .prompt-footer .button{min-height:58px;min-width:250px;font-size:15px}
body .result-v2.is-prompt .result-surface.prompt-arrival::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;padding:2px;background:conic-gradient(from var(--prompt-phase),#c5cef2 0deg,#c5cef2 210deg,#4458ac 270deg,#e4ee99 315deg,#c5cef2 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:prompt-border-arrival 900ms ease-out 1}
body .prompt-arrival [data-prompt-title]::after{content:'▏';color:var(--blue);font-weight:400}
@keyframes prompt-border-arrival{from{--prompt-phase:0deg}to{--prompt-phase:360deg}}
@media(max-width:600px){body .result-v2 .prompt-sheet{padding:24px 22px}body .result-v2 .prompt-sheet h2{font-size:20px;margin:16px 0 22px}body .result-v2 .prompt-sheet pre{font-size:12px;padding-left:13px}body .result-v2.is-prompt .prompt-footer{display:block;padding:12px}body .result-v2.is-prompt .prompt-instruction p{font-size:10px;max-width:none}body .result-v2.is-prompt .prompt-footer .button{min-width:0;width:100%;min-height:56px;margin-top:10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){body .result-v2.is-prompt .result-surface.prompt-arrival::before{animation:none!important}body .prompt-arrival [data-prompt-title]::after{content:none}}

/* G8: the next task is reviewed in the Result side panel, without losing the document. */
body .result-v2 .result-next-review h2{font-size:20px;margin:9px 0}
.result-next-review>p{font-size:12px;line-height:1.7;color:var(--muted)}
.next-sources{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;margin:16px 0;color:var(--muted)}
.result-next-review label{display:block;font-size:12px;font-weight:700;margin-top:14px}
.result-next-review select{width:100%;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px;margin-top:8px;background:white;font-size:12px}
.result-next-review .next-quote{font-weight:700;color:var(--blue);border-top:1px solid #dfe5c4;padding-top:14px;margin-top:18px}
.result-next-review .next-error:empty{display:none}.result-next-review .next-error{color:#92352b;font-size:11px}
.result-next-review>.button{display:flex;width:100%;min-height:44px;margin-top:10px;font-size:12px}
.result-v2 .document-canvas>.previous-result{margin-bottom:24px}
body .result-v2 .document-canvas>.previous-result.prompt-sheet{border:1px solid #c5cef2;border-radius:12px;background:#f5f7ff;padding:28px;min-height:0}
@media(max-width:600px){body .result-v2 .result-next:has(.result-next-review){max-height:280px;overflow:auto;padding:12px}body .result-v2 .result-next-review{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}body .result-v2 .result-next-review>.label{grid-column:1/-1;font-size:8px}body .result-v2 .result-next-review>h2{font-size:16px;margin:0}body .result-v2 .result-next-review>p:not(.next-quote):not(.next-error){grid-column:1/-1;font-size:10px;margin:0}body .result-v2 .result-next-review>.next-sources{grid-column:1/-1;margin:0;font-size:10px}body .result-v2 .result-next-review>label{margin:0;align-self:center;font-size:10px}body .result-v2 .result-next-review>select{margin:0;font-size:10px}body .result-v2 .result-next-review>.next-quote{grid-column:1/-1;margin:0;padding:7px 0 0;font-size:12px}body .result-v2 .result-next-review>.next-error{grid-column:1/-1;margin:0}body .result-v2 .result-next-review>.button{margin:0}.result-v2 .document-canvas>.previous-result{margin-bottom:14px}}

/* G9: keep an explicit restore control while the surrounding workspace is hidden. */
.result-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;margin-bottom:8px}
body .result-v2 .result-viewbar .result-steps{margin:0}
.result-viewbar .result-reading{width:36px;min-height:36px;height:36px;padding:7px;border-radius:8px;background:transparent}
.result-reading .ic{width:20px;height:20px}
body.reading-mode #sidebar,body.reading-mode #topbar{display:none!important}
body.reading-mode .workspace{margin-left:0!important;width:100%;height:100dvh}
body.reading-mode #main:has(.result-v2){height:100dvh;padding:18px 28px;width:100%;margin:0}
body.reading-mode #main>.example-context{display:none}
body.reading-mode .result-v2 .document-layout{grid-template-columns:minmax(0,1fr)}
body.reading-mode .result-next{display:none!important}
body.reading-mode .result-surface{width:100%;max-width:1020px;margin:0 auto}
body.reading-mode .result-v2 .document-sheet{max-width:850px}
/* G3: a compact white companion panel, with two clear next-tool cards. */
body .result-v2 .result-next{background:#fff;border-color:var(--line);padding:20px 16px}
body .result-v2 .result-next>.label{display:inline-flex;background:var(--citron);border-radius:5px;color:#3f4c1b;padding:5px 7px;font-size:8px;letter-spacing:1px}
body .result-v2 .result-next>h2{font-size:18px;line-height:1.4;margin:10px 0}
body .result-v2 .result-next>p{font-size:11px;line-height:1.7;color:var(--muted)}
body .result-v2 .next-tool-list{display:grid;gap:10px;margin:18px 0 0}
body .result-v2 .next-tool-list button{border:1px solid #dfe5ef;background:#fafbff;border-radius:10px;min-height:108px;padding:13px 10px;gap:10px;align-items:flex-start;transition:background 120ms,border-color 120ms}
body .result-v2 .next-tool-list button:hover{background:#f1f4ff;border-color:#bcc8f8}
body .result-v2 .next-tool-list .next-icon{width:30px;height:30px;background:#edf0ff;border-radius:7px;display:grid;place-items:center}
body .result-v2 .next-tool-list .next-icon .ic{width:18px;height:18px}
body .result-v2 .next-tool-list button>span:nth-child(2){min-width:0;flex:1}
body .result-v2 .next-tool-list strong{font-size:12px;line-height:1.5;display:block}
body .result-v2 .next-tool-list small{font-size:10px;line-height:1.6;color:var(--muted);margin-top:5px}
body .result-v2 .next-tool-list button>.ic{width:13px;height:13px;margin-top:8px}
body .result-v2 .next-tool-list .recommend-price:empty{display:none}
body .result-v2 .result-next>.button{font-size:11px;min-height:44px;margin-top:12px;padding:10px 8px;white-space:normal}
body .result-v2 .result-next>.choose-other{background:#f7f8fb;border-color:#e4e8ee;margin-top:8px}
@media(max-width:600px){.result-viewbar{margin-bottom:6px}.result-viewbar .result-reading{width:34px;min-height:34px;height:34px}body .result-v2 .result-next{padding:12px}body .result-v2 .result-next>.label{font-size:7px;padding:3px 6px}body .result-v2 .result-next>h2{font-size:15px;margin:6px 0 8px}body .result-v2 .result-next>p{display:none}body .result-v2 .next-tool-list{grid-template-columns:1fr 1fr;gap:8px;margin-top:0}body .result-v2 .next-tool-list button{min-height:70px;padding:9px;gap:6px}body .result-v2 .next-tool-list .next-icon{display:none}body .result-v2 .next-tool-list strong{font-size:11px}body .result-v2 .next-tool-list small{display:none}body .result-v2 .next-tool-list button>.ic{width:12px;height:12px;margin-top:2px}body .result-v2 .result-next>.button{margin-top:8px;min-height:44px}body .result-v2 .result-next>.choose-other{margin-top:6px}body.reading-mode #main:has(.result-v2){padding:12px;height:100dvh}body.reading-mode .result-v2 .document-layout{display:flex}body.reading-mode .result-v2 .result-surface{flex:1}body.reading-mode .result-v2 .document-sheet{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){body .result-v2 .next-tool-list button{transition:none}}

/* The paper grows with its text inside the reading scroller. */
body .result-v2 .document-sheet{aspect-ratio:auto;min-height:100%;height:auto}

/* The Home's own scroller keeps Example rows reachable at narrow widths. */
.home-v2 .home-proposal{margin:0}
.home-v2 .home-task-scroll{min-height:44px}
[data-task-unavailable]{cursor:default}
.billing-error{font-size:12px;color:#92352b;margin-top:14px}.billing-error:empty{display:none}
.extension-banner .extension-store{font-size:12px;white-space:normal;text-align:center}
@media(max-width:600px){.home-v2{overflow:auto;overscroll-behavior:contain;padding-right:2px}.home-v2>.home-columns{flex:none;min-height:264px;grid-template-rows:1fr 1fr}.home-v2>.home-proposal{flex:none}.home-v2>.home-columns .panel{min-height:125px}.home-v2 .home-task-scroll{min-height:66px}.extension-banner{flex-wrap:wrap}.extension-banner .extension-store{width:100%;min-height:44px}}

body .destination .billing-error{color:#92352b}

/* F7: the confirmation repeats exactly what will be sent and the live quote. */
#modal:has(.task-review){width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.task-review{display:grid;gap:19px;margin-top:22px}.review-tool{display:flex;gap:14px;align-items:flex-start;padding:17px;background:#f5f7ff;border:1px solid #dde3fb;border-radius:12px}.review-tool>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:9px;background:#e6edff;color:var(--blue)}
.review-tool h3{font-size:18px}.task-review .review-tool p{font-size:12px;line-height:1.7;margin-top:6px;color:var(--muted)}
.review-section h3,.review-settings h3{font:700 12px/1.5 DM;margin:0 0 9px;letter-spacing:0}.review-sources{display:grid;gap:7px;max-height:155px;overflow:auto}.review-sources a{display:flex;align-items:center;gap:11px;padding:10px 12px;min-height:48px;border:1px solid var(--line);border-radius:9px}.review-sources a>span{min-width:0;flex:1}.review-sources b{display:block;font-size:12px;overflow-wrap:anywhere}.review-sources small{display:block;font-size:10px;margin-top:2px}.review-sources a>.ic{width:15px;height:15px;color:var(--blue)}
.review-topics{margin:0;padding:0 0 0 18px;max-height:112px;overflow:auto;font-size:12px;line-height:1.9;color:var(--muted)}.task-review .review-section>p{font-size:12px;line-height:1.7;margin:0;color:var(--muted)}
.review-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-settings>section{padding:12px;border:1px solid var(--line);border-radius:9px}.task-review .review-settings p{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.review-settings .ic{width:17px;height:17px;color:var(--blue)}
.review-confirm{border-top:1px solid var(--line);padding-top:17px}.task-review #host-quote{font:700 16px/1.5 DM;color:var(--blue);margin:0 0 12px}.task-review #host-task-error{font-size:12px;line-height:1.6;color:#92352b;margin:0 0 10px}.task-review #host-task-error:empty{display:none}.review-confirm .button{min-height:50px;width:100%;margin:0;font-size:14px}
/* PRODUIT 03/11 (essai gratuit, écran de revue) : la ligne ws.review.free_trial sous le coût, fond citron et texte bleu (identité B). */
.task-review .review-free-trial{display:inline-block;margin:-4px 0 12px;padding:6px 10px;border-radius:8px;background:var(--citron);color:var(--blue);font:600 13px/1.45 DM}:where(html[data-theme=dark]) .task-review .review-free-trial{background:var(--citron);color:#142238}
@media(max-width:600px){#modal:has(.task-review){padding:24px 20px}.task-review{gap:15px;margin-top:17px}.review-tool{padding:13px;gap:10px}.review-tool h3{font-size:16px}.task-review .review-tool p{font-size:11px}.review-tool>span{width:32px;height:32px}.review-settings{grid-template-columns:1fr 1fr;gap:8px}.review-settings h3{font-size:10px}.review-sources{max-height:120px}.review-topics{max-height:90px}}

.review-sources a>.ai-badge{flex:none}.review-sources a>span:nth-child(2){min-width:0;flex:1}

/* F1/F2/F4: only the topic list scrolls, with short once-only arrival. */
.topic-bulk{display:flex;align-items:center;gap:9px;flex:none;margin-top:5px;font-size:11px;color:var(--muted)}
.topic-bulk button{border:0;background:none;padding:4px 1px;min-height:30px;font-size:11px;font-weight:700}
.topics-arrival .topics-heading>.ic{animation:topics-scan 650ms ease-out 1}
.topics-arrival .topic-list>label{animation:topic-arrive 230ms ease-out both;animation-delay:var(--topic-delay,0ms)}
@keyframes topic-arrive{from{opacity:0;transform:translateY(4px);background:#edf0ff}to{opacity:1;transform:translateY(0)}}
@keyframes topics-scan{0%{transform:rotate(-12deg);color:var(--blue)}45%{transform:rotate(40deg);filter:drop-shadow(0 0 4px #7484db)}100%{transform:rotate(0);color:var(--blue)}}
@media(max-width:600px){.tool2-topics{max-height:148px}.tool2-topics .topic-bulk{gap:8px;margin-top:0;font-size:10px}.tool2-topics .topic-bulk button{font-size:10px;min-height:28px;padding:3px 0}.tool2-topics .topic-list{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.topics-arrival .topics-heading>.ic,.topics-arrival .topic-list>label{animation:none!important;transform:none;opacity:1}}

/* F6: compact tool entries are the Home's primary starting choices. */
.home-tool-picker{flex:none;border:1px solid #dfe5ef;border-radius:14px;background:#f1f4ff;padding:20px}
.home-tool-picker h2{font-size:21px;margin:0 0 15px}.home-tool-picker>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.home-tool-picker .button{min-height:76px;display:flex;flex-direction:column;gap:8px;padding:12px 6px;font:700 11px/1.4 DM;min-width:0}
.home-tool-picker .ic{width:22px;height:22px;color:var(--blue)}
@media(max-width:1100px){.home-tool-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.home-tool-picker .button{min-height:64px;flex-direction:row}}
@media(max-width:600px){.home-tool-picker{padding:15px}.home-tool-picker h2{font-size:18px;margin-bottom:12px}.home-tool-picker .button{flex-direction:column;gap:6px;min-height:64px;font-size:9px;padding:8px 4px}.home-tool-picker .ic{width:19px;height:19px}.home-v2 .home-proposal>.button{margin-left:0}.home-v2 .home-proposal{gap:10px}}

/* C: profile first; access and reload have a single location and compact rows. */
.settings-use{margin-top:22px}.settings-use h3{margin-bottom:12px;font-size:14px}.settings-use .ob-check{display:inline-flex;margin-right:20px;min-height:34px;font-size:12px}.settings-use .ob-help{display:block}.settings-panel .ob-pref-fields{max-width:620px}.preference-page .settings-scroll{display:block}.preference-page .settings-panel{max-width:750px}.preference-page{max-width:880px}
.compact-connections{margin-top:24px;border:1px solid var(--line);background:white;border-radius:12px;padding:18px}.compact-connections>h2{font-size:17px;margin:0 0 10px}.connection-row{display:flex;align-items:center;gap:14px;min-height:74px;padding:13px 0;border-top:1px solid var(--line)}.connection-row>div{flex:1;min-width:0}.connection-row h3{font-size:13px;margin:0}.connection-row p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.6}.connection-row>.ai-badge{flex:none}.connection-row-icon{flex:none;display:grid;place-items:center;width:32px;height:32px;color:var(--blue)}.connection-row-note{font-size:10px;line-height:1.6;color:var(--muted);max-width:180px;text-align:right}.connection-row .button{font-size:11px;min-height:44px;max-width:240px}.connection-row .extension-store{white-space:normal;text-align:center}
@media(max-width:600px){.compact-connections{padding:14px;margin-top:16px}.compact-connections>h2{font-size:15px}.connection-row{gap:10px;min-height:70px;flex-wrap:wrap;padding:12px 0}.connection-row>div{min-width:180px}.connection-row-note{max-width:none;text-align:left;margin-left:42px;font-size:10px}.connection-row>.button{margin-left:42px;max-width:calc(100% - 42px)}.settings-use .ob-check{display:flex;margin-right:0}.preference-page .settings-scroll{padding-top:0}}

/* D: explicit AI filters in place of the hidden dropdown. */
.chat-ai-pills{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:1;min-width:0}
.chat-ai-pills>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:white;font:500 11px/1.4 DM;min-height:38px;padding:7px 10px}
.chat-ai-pills>button[aria-pressed=true]{border-color:#b4c1fb;background:#edf0ff;color:var(--blue);font-weight:700}
.chat-ai-pills .ai-badge{width:22px;height:22px;font-size:7px;border-radius:6px;flex:none}
.chat-ai-pills .chat-ai-add{border-style:dashed;color:var(--blue)}.chat-ai-add .ic{width:15px;height:15px}
.chat-toolbar:has(.chat-ai-pills){align-items:flex-start;gap:12px}.chat-toolbar:has(.chat-ai-pills)>label{flex:none}.chat-toolbar:has(.chat-ai-pills)>label select{min-width:145px}
.add-chat-ai-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.add-chat-ai-picker .button{justify-content:flex-start;min-height:54px;font-size:12px;gap:9px;margin:0}.add-chat-ai-picker .ai-badge{flex:none}
@media(max-width:600px){.chat-toolbar:has(.chat-ai-pills){flex-wrap:wrap;gap:8px}.chat-ai-pills{width:100%;flex:auto;gap:5px}.chat-ai-pills>button{font-size:10px;min-height:36px;padding:6px 7px;gap:5px}.chat-ai-pills .ai-badge{width:20px;height:20px;font-size:6px}.chat-toolbar:has(.chat-ai-pills)>label{margin-left:auto;width:145px}.chat-toolbar:has(.chat-ai-pills)>label select{width:100%;min-height:36px;min-width:0}.add-chat-ai-picker{grid-template-columns:1fr}.add-chat-ai-picker .button{min-height:48px}}

/* C6: compact help and a message drafted in the user's email app. */
.support-page{max-width:860px;margin:0 auto}.support-page>.heading{margin-bottom:24px}.support-page>.panel{margin-bottom:20px;padding:24px}.support-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.support-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf0ff;color:var(--blue)}.support-heading h2{font-size:19px}.support-faq details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;margin:0 0 20px}.support-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;min-height:58px;font:700 14px/1.6 DM;padding:12px 0}.support-faq summary::-webkit-details-marker{display:none}.support-faq details[open] summary .ic{transform:rotate(180deg)}.support-faq details>p{font-size:13px;line-height:1.85;color:var(--muted);padding:0 0 18px}.support-contact>p,.support-address{font-size:13px;color:var(--muted);line-height:1.8}.support-contact>.button{margin-top:16px}.support-feedback>label{display:block;font-weight:700;font-size:13px;margin:18px 0 9px}.support-feedback textarea{display:block;width:100%;resize:vertical;min-height:210px;padding:14px;border:1px solid #d4dced;border-radius:10px;background:white;color:var(--ink);font:400 14px/1.7 DM;overflow-wrap:anywhere}.support-feedback>.button{margin-top:20px;min-height:48px}.support-feedback textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:600px){body:has(.support-page) #topbar{height:68px;flex-wrap:nowrap}body:has(.support-page) #topbar .global-search{display:none}#main:has(.support-page){padding:20px 14px}.support-page>.panel{padding:20px}.support-page .heading h1{font-size:25px}.support-page>.heading{margin-bottom:20px}.support-heading h2{font-size:17px}.support-faq summary{font-size:13px;gap:10px}.support-faq details>p{font-size:12px}.support-feedback textarea{min-height:230px}.support-feedback>.button{width:100%}}


body .example-context:has(.example-action-note){flex-wrap:wrap!important}body .example-context .example-action-note{order:3;flex-basis:100%;font:500 11px/1.5 DM;color:var(--blue);margin:0;padding:3px 0}body .example-context .example-action-note[hidden]{display:none}@media(max-width:600px){body .example-context .example-action-note{font-size:10px;padding:0}}

body.reading-mode #main>.example-context:has(.example-action-note:not([hidden])){display:flex!important;min-height:0;margin:0 0 6px}body.reading-mode #main>.example-context>:not(.example-action-note){display:none!important}

/* C4: literal MCP explanation and existing Privacy anchor, disabled connector stays honest. */
.mcp-explainer{padding:0 0 14px;color:var(--muted);max-width:740px}.mcp-explainer p{font-size:12px;line-height:1.65;margin:0 0 8px}.mcp-explainer .textlink{font-size:12px;display:inline-flex;min-height:32px;align-items:center}.mcp-section .connection-row{border-top:1px solid var(--line)}

/* I1/I2 Kevin: two explicit starts, one finished sample; no new-task sample or Home tool menu. */
body .home-v2{grid-template-rows:auto auto minmax(170px,1fr) auto}
.home-new-task{padding:23px 25px;border-color:#d4dce9;background:#fff}.home-new-task h2{font:700 21px/1.3 Jakarta;margin:0 0 17px}.home-start-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-start-paths .button{justify-content:flex-start;min-height:64px;padding:16px 18px;font-size:14px}.home-start-paths .button>.ic:last-child{margin-left:auto}.home-start-paths .button>.ic{width:21px;height:21px}.home-start-paths .button:not(.primary){background:#f5f7ff;color:var(--blue);border-color:#d5def9}
@media(max-width:600px){body .home-v2{grid-template-rows:auto auto minmax(240px,1fr) auto}.home-new-task{padding:18px}.home-new-task h2{font-size:20px;margin-bottom:13px}.home-start-paths{grid-template-columns:1fr;gap:10px}.home-start-paths .button{min-height:56px;padding:12px 14px;font-size:13px}}

/* I3: full-width history with controls and a dedicated scrolling list. */
#main:has(.history-v2){height:calc(100dvh - 86px);overflow:hidden}.history-v2{height:100%;width:100%;max-width:none;display:flex;flex-direction:column;min-height:0}.history-v2>.pagehead{flex:none}.history-panel{flex:1;min-height:0;padding:0;display:flex;flex-direction:column}.history-controls{display:flex;align-items:end;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line);flex:none}.history-controls>label:not(.history-search){display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.history-controls select{min-height:44px;min-width:154px;padding:10px 28px 10px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:400 12px DM}.history-search{display:flex;align-items:center;gap:9px;min-height:44px;flex:1;border:1px solid var(--line);border-radius:9px;padding:0 13px}.history-search>.ic{width:18px;height:18px;color:var(--muted)}.history-search input{border:0;outline:0;min-width:0;width:100%;font:400 13px DM;background:transparent}.history-task-list{flex:1;min-height:0;overflow:auto;padding:0 22px}.history-row{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:17px;min-height:92px}.history-row>.example-badge{align-self:center}.history-row .task-name{min-width:0}.history-row .task-name b{white-space:normal;overflow-wrap:anywhere}.history-row .task-name small{margin-top:5px}.history-row time{font-size:11px;color:var(--muted);white-space:nowrap}.history-task-list>.empty{padding:24px 0}
@media(max-width:600px){#main:has(.history-v2){height:calc(100dvh - 68px);padding:18px 14px}.history-controls{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:12px}.history-search{grid-column:1/-1}.history-controls select{min-width:0;width:100%;font-size:11px}.history-task-list{padding:0 16px}.history-row{grid-template-columns:max-content minmax(0,1fr);gap:10px;min-height:104px;padding:16px 0}.history-row time{grid-column:2}.history-row .task-name b{font-size:12px}.history-row .task-name small{font-size:10px}}

body:has(.history-v2) .workspace{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body:has(.history-v2) #topbar{flex:none}body #main:has(.history-v2){height:auto;flex:1;min-height:0;width:100%;max-width:none}

/* I5/I4: more substantial primary actions and a deliberately inset select chevron. */
#continue-result,#host-send,[data-next-confirm]{min-height:56px;padding:14px 24px;font-size:15px;line-height:1.35;border-radius:10px;font-weight:700}#chat-sort,#ob-language,.history-controls select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%235c6480' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px 18px;background-position:right 13px center}
@media(max-width:600px){#continue-result,#host-send,[data-next-confirm]{min-height:54px;padding:12px 17px;font-size:13px}.tool2-launch #continue-result{max-width:calc(100vw - 106px);white-space:normal}#chat-sort,#ob-language,.history-controls select{padding-right:40px;background-position:right 12px center}}

/* I7: three accessible appearance choices, and weekly email under Notifications only. */
.ob-pref-fields fieldset:has(.ob-appearance){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ob-pref-fields fieldset:has(.ob-appearance)>legend{margin-bottom:12px}.ob-appearance{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:118px;padding:18px 13px!important;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;color:var(--muted)}.ob-appearance input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0;cursor:pointer;margin:0}.ob-appearance:has(input:checked){background:#f5f7ff;border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.ob-appearance:has(input:focus-visible){outline:3px solid #cbd4f5;outline-offset:3px}.appearance-symbol>.ic{width:30px;height:30px;stroke-width:1.6}.appearance-label{font-size:12px;font-weight:700;text-align:center}.appearance-check{position:absolute;right:9px;top:9px;display:none}.appearance-check>.ic{width:15px;height:15px}.ob-appearance:has(input:checked) .appearance-check{display:block}.weekly-notification{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.weekly-notification h3{font:700 15px Jakarta;margin:0 0 8px}.weekly-notification>p{font-size:12px;line-height:1.6;margin:0 0 13px}.weekly-unavailable{display:flex;gap:10px;align-items:flex-start;color:#8d96a9;font-size:12px;line-height:1.5;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f7f8fb}.weekly-unavailable input{flex:none;accent-color:var(--blue);margin:3px 0 0}.weekly-notification .muted{font-size:11px;margin:9px 0 0}#notifications-panel{max-height:calc(100dvh - 112px);overflow:auto}
@media(max-width:600px){.ob-pref-fields fieldset:has(.ob-appearance){gap:8px}.ob-appearance{min-height:110px;padding:16px 8px!important}.appearance-label{font-size:11px}.appearance-symbol>.ic{width:28px;height:28px}#notifications-panel{width:calc(100vw - 28px);max-width:380px;right:14px;max-height:calc(100dvh - 90px)}}

/* I8: a consistent connection card with identity, explicit status, one action and help. */
.connection-group{margin:0 0 27px}.connection-group>h2{font:700 14px Jakarta;margin:0 0 12px}.connection-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px 15px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 10px;min-width:0}.connection-item>.ai-badge,.connection-item>.connection-row-icon{width:40px;height:40px;grid-row:1/3;align-self:start;margin:0}.connection-row-icon{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:#f5f7ff;color:var(--blue)}.connection-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.connection-identity h3{font:700 14px Jakarta;margin:0;overflow-wrap:anywhere}.connection-status{font-size:10px;line-height:1.5;padding:4px 8px;border:1px solid #e3e8f1;border-radius:6px;color:#637087;background:#f7f9fc;max-width:100%}.connection-action{grid-column:3;grid-row:1/3;align-self:center;max-width:275px}.connection-action .button{min-height:42px;white-space:normal;text-align:center;font-size:11px;line-height:1.5;padding:10px 16px}.connection-help{grid-column:2;font-size:11px;line-height:1.7;color:var(--muted);margin:0;max-width:670px}.connection-item .button[aria-disabled="true"]{opacity:.5;cursor:not-allowed}.connection-scroll{scrollbar-gutter:stable;padding:2px 8px 12px 2px}
@media(max-width:850px){.connection-identity{gap:7px}.connection-item{padding:17px;column-gap:12px}.connection-action{max-width:190px}.connection-action .button{font-size:10px;padding:9px 12px}}
@media(max-width:600px){.connection-item{grid-template-columns:36px minmax(0,1fr);padding:18px 16px;gap:9px 12px;border-radius:13px;margin-bottom:12px}.connection-item>.ai-badge,.connection-item>.connection-row-icon{width:36px;height:36px;grid-row:1/3}.connection-identity{align-items:flex-start;flex-direction:column;gap:7px}.connection-identity h3{font-size:14px}.connection-status{font-size:10px}.connection-help{grid-column:2;font-size:11px;line-height:1.7}.connection-action{grid-column:2;grid-row:3;max-width:none;justify-self:start;margin-top:3px}.connection-action .button{min-height:42px;font-size:11px;padding:10px 14px}.connection-group{margin-bottom:25px}.connection-group>h2{font-size:13px;margin-bottom:12px}.connection-scroll{padding-right:3px}}

/* Real chats received from the extension remain visible inside the existing Home task frame. */
.home-received{display:flex;align-items:center;gap:11px;margin:0 0 17px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#f8faff;min-width:0}.home-received>div{flex:1;min-width:0}.home-received strong{display:block;font-size:12px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-received small{font-size:10px;color:var(--muted)}.home-received .pill{font-size:10px;white-space:nowrap}@media(max-width:600px){.home-received{gap:9px;padding:11px}.home-received .ai-badge{width:29px;height:29px}.home-received strong{font-size:11px}.home-received .pill{font-size:9px;padding:5px 7px}}

/* M3: only host-supported controls, quote then explicit normal-task confirmation. */
.adjust-fields{display:grid;gap:15px;margin:18px 0}.adjust-fields label{display:grid;gap:8px;font-size:12px;font-weight:700}.adjust-fields select{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:11px 36px 11px 12px;font:400 12px DM;color:var(--ink)}.adjust-memo-note{padding:12px 13px;background:#f5f7ff;border:1px solid #e1e7ff;border-radius:10px;font-size:11px!important;line-height:1.75!important}.adjust-review [data-next-confirm]{min-height:52px;padding:14px 18px;font-size:13px;line-height:1.5;white-space:normal}.document-actions [data-result-action="adjust"]{color:var(--blue);background:#f5f7ff;border-color:#dfe5ff}.adjust-review .next-quote{font-size:12px;line-height:1.7}.adjust-review [data-next-cancel]{min-height:42px}@media(max-width:600px){.adjust-review [data-next-confirm]{min-height:54px}.document-actions [data-result-action="adjust"]{font-size:11px}.adjust-fields select{font-size:13px;min-height:46px}body .result-v2 .result-next:has(.adjust-review){position:fixed;width:auto;height:auto;padding:20px;inset:154px 14px 14px;z-index:25;overflow:auto;max-height:calc(100dvh - 168px);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #14204425;background:#fff}body .result-v2 .result-next-review.adjust-review{display:block;padding:0}body .result-v2 .adjust-review .adjust-fields label{display:grid;margin-top:0}.adjust-review .adjust-fields{gap:13px;margin:17px 0}.adjust-review h2{font-size:19px}}

/* COPY68: context for a completed example, separate from LEAD's click-only notice. */
.example-context .example-intro{flex:1;min-width:0;margin:0;font-size:11px;line-height:1.6;color:var(--muted)}@media(max-width:600px){.example-context .example-intro{font-size:10px;flex-basis:calc(100% - 92px);line-height:1.5}.example-context:has(.example-intro){align-items:flex-start;margin-bottom:9px}}

/* COPY69 exact informational limit: no unsupported Length setting. */
.adjust-review .adjust-length-note{margin:13px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}@media(max-width:600px){body .result-v2 .adjust-review .adjust-length-note{font-size:11px;margin:12px 0 0}}

/* J/K — shared approved colours and typography; each device has its reading layout. */
.result-start-new{width:100%;margin-top:16px;white-space:normal;font-size:12px;min-height:46px}
@media(min-width:601px){
 body:has(.result-v2) #topbar{height:64px;min-height:64px;padding-top:0;padding-bottom:0}
 body:has(.result-v2) #main{height:calc(100dvh - 64px);padding:12px 24px 20px}
 body .result-v2 .compact-result-context{display:flex;align-items:center;gap:12px;min-height:26px;margin:0 0 8px;flex:none;flex-wrap:nowrap}
 body .result-v2 .compact-result-context .result-steps{margin:0;flex:none;font-size:10px;min-height:24px;gap:7px}
 .compact-result-context .example-badge{padding:3px 7px;font-size:9px}
 .desktop-source-summary{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;min-width:0;max-width:55%;white-space:nowrap;overflow:hidden;color:var(--muted)}
 .desktop-source-summary .source-ai-label{gap:5px;flex:none}.desktop-source-summary .ai-badge{width:22px;height:22px;font-size:7px}.desktop-source-summary .textlink{font-size:10px;white-space:nowrap;margin-left:5px;min-height:26px}
 body .result-v2 .document-toolbar{padding:4px 10px;min-height:52px;gap:10px}
 body .result-v2 .document-toolbar .toolbar-label{font-size:11px}
 body .result-v2 .document-actions{gap:7px;display:flex;align-items:center}
 body .result-v2 .document-actions .button{min-height:42px;padding:8px 13px;font-size:12px}
 body .result-v2 .document-actions .result-reading{min-height:42px;width:42px;height:42px;margin-left:1px;flex:none;border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:8px}
 body .result-v2 .document-canvas{padding:0 16px 16px}
 body .result-v2 .document-sheet{padding:18px 26px;min-height:100%;aspect-ratio:auto;box-shadow:none}
 body .result-v2.is-document .document-sheet>.sheet-kicker{display:none}
 body .result-v2.is-document .document-sheet>h2{margin:0 0 24px}
 body .result-v2 .prompt-canvas{padding:0}
 body .result-v2 .prompt-sheet{padding:10px 32px}
 body .result-v2 .prompt-sheet>.sheet-kicker{margin:0;min-height:14px}
 body .result-v2 .prompt-sheet>h2{margin:8px 0 24px}
 body.reading-mode .result-v2 .compact-result-context{display:none}
 body.reading-mode:has(.result-v2) #main{height:100dvh;padding:14px}
}
@media(max-width:600px){
 body:has(.mobile-result){overflow:hidden;background:#fff}
 body:has(.mobile-result) #topbar{display:none!important}
 body:has(.mobile-result) .workspace{height:100dvh;margin:0;overflow:hidden;display:block}
 body:has(.mobile-result) #main{height:100dvh;max-width:none;width:100%;margin:0;padding:0!important;overflow:hidden;display:block}
 .mobile-result{height:100%;display:flex;flex-direction:column;min-height:0;background:#fff;color:var(--ink)}
 .mobile-result-header{display:flex;align-items:center;gap:3px;height:44px;min-height:44px;padding:0 8px;border-bottom:1px solid #edf0f5;flex:none;background:#fff;transition:margin-top .18s ease;z-index:2}
 .mobile-result-header.is-collapsed{margin-top:-44px}
 .mobile-result-header>.icon{width:40px;min-height:44px;height:44px;flex:none;border:0;background:transparent;border-radius:8px}
 .mobile-result-header>.icon:first-child .ic{transform:rotate(180deg)}
 .mobile-result-header .ic{width:18px;height:18px}
 .mobile-result-kind{display:flex;align-items:center;gap:7px;min-width:0;flex:1}
 .mobile-result-kind>svg{width:17px;height:17px;color:var(--blue);flex:none}
 .mobile-result-kind>strong{font:700 12px Jakarta;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-result-kind .example-badge{font-size:8px;padding:3px 6px}
 .mobile-document-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#fff;outline-offset:-3px}
 .mobile-document-sheet{padding:12px 20px 36px;min-height:100%;box-sizing:border-box}
 .mobile-document-sheet>h2{font:700 23px/1.22 Jakarta;letter-spacing:-.65px;margin:0 0 14px;color:var(--ink);overflow-wrap:anywhere}
 .mobile-document-sheet>pre{font:400 14px/1.8 DM;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#344256;min-height:calc(100% - 64px)}
 .mobile-prompt .mobile-document-sheet{background:#f5f7ff;border-left:3px solid var(--blue);padding-left:17px}
 .mobile-prompt .mobile-document-sheet>h2{color:var(--blue)}
 .mobile-prompt .mobile-document-sheet>pre{font:400 13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#344256}
 .mobile-result-trail:empty{display:none}
 .mobile-result-trail .previous-result{padding:18px 20px;border:0;border-bottom:1px solid var(--line);margin:0;background:#f9faff;aspect-ratio:auto;box-shadow:none}
 .mobile-result-trail .previous-result h2{font-size:20px;margin:12px 0 18px}.mobile-result-trail pre{font:400 14px/1.8 DM;white-space:pre-wrap;overflow-wrap:anywhere}
 .mobile-result-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex:none;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));min-height:56px;border-top:1px solid #e3e8f1;background:#fff;z-index:3}
 .mobile-result-actions.has-continue{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(139px,1.9fr)}
 .mobile-result-actions.no-share{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-result-actions.has-continue.no-share{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(139px,1.9fr)}
 .mobile-action{min-width:0;min-height:44px;border:0;border-radius:9px;background:transparent;color:#4a5870;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;font:500 10px/1.2 DM;cursor:pointer}
 .mobile-action>.ic{width:19px;height:19px;flex:none}.mobile-action>span{overflow-wrap:anywhere;text-align:center;max-width:100%}
 .mobile-action.primary{background:var(--blue);color:#fff;flex-direction:row;padding:6px 10px;gap:7px;font-size:11px;font-weight:700}
 .mobile-action.primary .ic{width:16px;height:16px}.mobile-action.is-copied{color:var(--blue);background:#f0f4ff}.mobile-action:focus-visible{outline:3px solid #aabbff;outline-offset:-3px}
 .mobile-result-options{display:grid;gap:10px}.mobile-result-options>.button{width:100%;min-height:48px;justify-content:flex-start;margin:0;font-size:13px}
 .mobile-result-options>.result-start-new{justify-content:center}
 .mobile-result-options .next-tool-list{display:grid;grid-template-columns:1fr;gap:8px;margin:0}
 .mobile-result-options .next-tool-list button{display:flex;align-items:center;gap:12px;min-height:66px;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:left;background:#fff}
 .mobile-result-options .next-tool-list button>span:nth-child(2){flex:1}.mobile-result-options .next-tool-list strong{display:block;font-size:13px}.mobile-result-options .next-tool-list small{display:block;font-size:11px;line-height:1.5;margin-top:4px;color:var(--muted)}.mobile-result-options .next-tool-list .ic{width:20px;height:20px}
 dialog.result-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:calc(100dvh - 44px);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;box-shadow:0 -15px 60px #15234424}
 dialog.result-sheet::backdrop{background:#17244265}
 dialog.result-sheet .close{position:absolute;right:10px;top:8px;float:none;margin:0;width:40px;height:40px;min-height:40px;background:#f5f7fb;border:0;border-radius:50%;font-size:23px;z-index:2}
 dialog.result-sheet .sheet-grip{display:flex;position:absolute;justify-content:center;align-items:center;width:68px;height:21px;left:calc(50% - 34px);top:0;background:transparent;border:0;padding:0;touch-action:none;cursor:pointer}
 dialog.result-sheet .sheet-grip span{display:block;width:34px;height:4px;background:#c8cfda;border-radius:8px}
 dialog.result-sheet #modal-body>h2{font:700 19px/1.4 Jakarta;margin:10px 44px 18px 0}
 dialog.result-sheet .export-menu,dialog.result-sheet .share-menu{display:flex;flex-direction:column;gap:8px}
 dialog.result-sheet .export-menu .button,dialog.result-sheet .share-menu .button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:54px;width:100%;margin:0;padding:14px;font-size:14px;text-align:left}
 dialog.result-sheet .export-menu svg,dialog.result-sheet .share-menu svg{width:21px;height:21px}
 dialog.result-sheet .ai-picker{display:grid;grid-template-columns:1fr;max-height:47dvh;overflow:auto}
 dialog.result-sheet .copy-link-line{flex-direction:column}.result-sheet .full-width{width:100%}
 dialog.result-sheet .result-next-review.adjust-review{display:block;padding:0}
 dialog.result-sheet .adjust-fields{gap:12px;margin:18px 0}
 dialog.result-sheet .adjust-fields label{display:grid;margin:0;font-size:12px;gap:7px}
 dialog.result-sheet .adjust-fields select{font-size:14px;min-height:46px;margin:0}
 dialog.result-sheet .result-next-review>.button{display:flex;width:100%;min-height:48px;margin-top:10px;justify-content:center}
 dialog.result-sheet .next-sources{font-size:10px}.result-sheet .next-sources .ai-badge{width:22px;height:22px;font-size:7px}
 dialog.result-sheet .result-next-review .next-quote{margin:15px 0 0;padding-top:12px}
 body:has(.mobile-result) .status{left:12px;right:12px;bottom:72px;max-width:none;font-size:12px;line-height:1.5;z-index:100}
 @media(prefers-reduced-motion:reduce){.mobile-result-header{transition:none}}
}

.result-start-line{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}.desktop-source-summary .textlink{border:0;background:transparent;color:var(--blue);padding:4px 5px;cursor:pointer}.mobile-action:not(.primary)>span{white-space:nowrap}

/* Kevin20:25: desktop context keeps its first row; sources get one left-aligned row below. */
@media(min-width:601px){body .result-v2 .compact-result-context{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;row-gap:5px}.compact-result-context>.result-steps{grid-column:1;grid-row:1}.compact-result-context>span{grid-column:2;grid-row:1;justify-self:start}.compact-result-context>.desktop-source-summary{grid-column:1/-1;grid-row:2;justify-self:start;margin-left:0;max-width:100%}}

/* Reopened tasks keep their document, not source chats: offer source selection without a retention promise. */
.missing-result-sources{padding:2px 0}.missing-result-sources>.label{font-size:9px;letter-spacing:1px;color:#5C6480;margin-bottom:17px}.missing-result-sources>.button{width:100%;min-height:48px;white-space:normal;background:#4458AC;border-color:#4458AC;color:#FCFCFF;font-size:12px;line-height:1.5}@media(max-width:600px){.missing-result-sources>.button{font-size:14px}}

/* Kevin Home review1793306373, approved charteB c705c13a. */
body .home-new-task74{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#4458AC;color:#FCFCFF;border:0;padding:24px 32px;border-radius:24px}
body .home-new-task74 h2{color:#FCFCFF;margin:0 0 8px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700}
body .home-new-task74 .home-task-intro>p{color:#FCFCFF;margin:0;font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}
body .home-new-task74>.button{background:#E4EE99;color:#263153;border:1px solid #E4EE99;border-radius:8px;flex-shrink:0;font-weight:600;min-height:48px}
body .home-new-task74>.button:hover{background:#FCFCFF;border-color:#FCFCFF}
body .home-new-task74 .home-received{background:#EEF0FC;color:#263153;margin:16px 0 0}
.tool-first-choice{margin:0 0 16px}.tool-first-choice>.textlink{background:none;border:0;padding:0;font:inherit;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#4458AC;white-space:normal;text-align:left}
.tool-first-choice.is-empty{padding:16px 24px;background:#EEF0FC;border-radius:16px;margin:0 16px 16px}
.tool-first-choice.is-empty>.textlink{font-weight:600}.tool-first-choice svg{flex-shrink:0}
body .tool2-sources>.textlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#4458AC;font-weight:600}
.missing-result-sources>p{font-size:13px;line-height:1.5;color:#5C6480;margin:8px 0 16px}.result-sheet .missing-result-sources>.label{display:none}
@media(max-width:600px){body .home-new-task74{align-items:stretch;flex-direction:column;gap:16px;padding:24px}.home-new-task74>.button{justify-content:center}.tool-first-choice{margin-bottom:12px}.tool-first-choice.is-empty{margin:0 12px 16px;padding:16px}.tool-first-choice>.textlink{max-width:100%;line-height:1.5}body .tool2-sources>.textlink{flex-shrink:0}.home-new-task74 .home-received{flex-wrap:wrap}}

/* LEAD1793308733: only air between Result controls and the paper. */
@media(min-width:601px){body .result-v2 .document-canvas{padding-top:16px}}
@media(max-width:600px){.mobile-document-scroll{margin-block:12px}}

/* LEAD1793308733: illustrated Home banner, charteB approved colours and house tools. */
body .home-illustrated{min-height:240px;background:#EEF0FC;color:#263153;border:1px solid #DDE2F1;padding:28px 40px;gap:32px;overflow:hidden}
.home-task-main{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
body .home-illustrated h2{color:#4458AC;font-size:28px;line-height:1.2;letter-spacing:-.7px}
body .home-illustrated .home-task-intro>p{color:#5C6480;max-width:42ch}
body .home-illustrated .home-task-main>.button{background:#E4EE99;color:#263153;border:1px solid #D1DD7D;border-radius:8px;font-weight:600;min-height:48px;padding:12px 20px}
body .home-illustrated .home-task-main>.button:hover{background:#FCFCFF;border-color:#4458AC}
.home-banner-art{width:236px;height:184px;position:relative;flex:none;isolation:isolate}
.banner-orbit{position:absolute;width:180px;height:180px;border:1px solid #D3D9F4;border-radius:50%;left:28px;top:0}
.banner-paper{position:absolute;left:53px;top:4px;width:132px;height:172px;background:#FCFCFF;border:1px solid #CDD4EF;border-radius:16px;padding:20px 18px;display:flex;flex-direction:column;gap:8px;transform:rotate(-7deg)}
.banner-paper-corner{position:absolute;right:-1px;top:-1px;width:28px;height:28px;border-radius:0 16px 0 8px;background:#E4EE99;border:1px solid #CDD4EF}
.banner-paper-icon{color:#4458AC;margin-bottom:4px}.banner-paper-icon>.ic{width:24px;height:24px}
.banner-rule{height:4px;width:76%;background:#DCE1F6;border-radius:3px}.banner-rule.long{width:100%}.banner-rule.short{width:54%}
.banner-paper-chips{display:flex;gap:5px;margin:6px 0}.banner-paper-chips>i{height:14px;width:24px;background:#EEF0FC;border-radius:4px}.banner-paper-chips>i:first-child{background:#E4EE99}
.banner-tool{position:absolute;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #D4DBF3;border-radius:12px;background:#FCFCFF;color:#4458AC;transform:rotate(8deg)}
.banner-tool>.ic{width:23px;height:23px}.banner-tool-0{top:0;left:7px}.banner-tool-1{top:48px;right:2px;background:#E4EE99}.banner-tool-2{bottom:0;left:11px;transform:rotate(-9deg)}
@media(max-width:600px){body .home-illustrated{position:relative;min-height:320px;display:grid;grid-template-columns:1fr;gap:16px;padding:24px}.home-illustrated .home-task-main{display:contents}.home-illustrated .home-task-intro{grid-row:1;padding-right:0}.home-illustrated .home-task-intro>p{max-width:28ch}.home-illustrated .home-task-main>.button{grid-row:3;width:100%;margin-top:0;align-self:stretch;justify-content:center}.home-illustrated .home-banner-art{position:relative;grid-row:2;justify-self:end;right:auto;bottom:auto;margin-block:-28px;transform:scale(.7);transform-origin:center;pointer-events:none}body .home-illustrated h2{font-size:25px}.home-illustrated .home-received{margin-top:12px;max-width:100%}}

/* LEAD1793308733: two exclusive orders, subjects only after selected sources. */
.tool-first-v2{height:100%;min-height:0;display:flex;flex-direction:column}.first-tool-catalog{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0;overflow:auto;align-content:start;padding:2px}
.first-tool-card{display:flex;align-items:center;gap:12px;min-height:100px;width:100%;padding:16px;border:1px solid #DDE2F1;border-radius:16px;background:#FCFCFF;color:#263153;text-align:left;font-family:DM,sans-serif;cursor:pointer}
.first-tool-card[aria-checked=true]{border:2px solid #4458AC;padding:15px;background:#EEF0FC}.first-tool-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:1px solid #DDE2F1;border-radius:12px;color:#4458AC;background:#EEF0FC}.first-tool-icon>.ic{width:22px;height:22px}
.first-tool-copy{flex:1;min-width:0}.first-tool-copy>strong{display:block;font-family:Jakarta,sans-serif;font-weight:700;font-size:14px;margin:0 0 6px}.first-tool-copy>span{display:block;font-size:12px;line-height:1.5;color:#5C6480}.first-tool-cost{font-size:11px;color:#4458AC;font-weight:600;white-space:nowrap}.first-tool-card>.radio{flex:none;width:16px;height:16px}.first-tool-card[aria-checked=true]>.radio{border:5px solid #4458AC}
.first-tool-quote-note{font-size:12px;line-height:1.5;color:#5C6480;margin:12px 0}.tool-first-v2>.flow-footer{flex:none;justify-content:flex-end;position:static}
.source-step-options{border-top:1px solid #DDE2F1;padding:20px;background:#FCFCFF}.source-step-options>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.source-step-options>header>span{display:flex;align-items:center;gap:10px;color:#4458AC}.source-step-options .tool2-topics{padding:0;border:0}.source-step-options .topics-heading{margin-bottom:10px}.source-step-options .topic-list{margin:16px 0}.source-step-options .topic-list label{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px}.source-step-options .mask-block{margin-top:20px}.source-step-options .switch-destination{margin-top:20px}.source-step-options .textlink{background:none;border:0;color:#4458AC;padding:8px 0}
.is-tool-first-sources .chat-selector{overflow:auto;min-height:0}.is-tool-first-sources .chat-list{max-height:340px;flex:none}.is-tool-first-sources .flowbody{min-height:0}.is-tool-first-sources .flow-footer{flex:none}
@media(max-width:600px){.first-tool-catalog{grid-template-columns:1fr;gap:8px}.first-tool-card{min-height:88px;padding:12px;gap:10px;border-radius:12px}.first-tool-card[aria-checked=true]{padding:11px}.first-tool-copy>strong{font-size:13px}.first-tool-copy>span{font-size:12px;line-height:1.5}.first-tool-cost{font-size:10px;max-width:62px;white-space:normal}.first-tool-icon{width:32px;height:36px;border:0}.tool-first-v2>.flow-footer{padding:12px 0 0}.tool-first-v2>.flow-footer>.button{width:100%;justify-content:center}.source-step-options{padding:16px}.is-tool-first-sources .chat-list{max-height:260px}.source-step-options .mask-block{padding:12px}.source-step-options .switch-destination{display:block}.source-step-options .switch-destination select{width:100%;margin-top:12px}}

/* FORGE1793309232: explain disabled rebound tools instead of inert clicks. */
.other-tool-picker .button>span{display:block;text-align:left}.other-tool-picker .button small{display:block;font-size:11px;color:#5C6480;font-weight:400;margin-top:4px}.other-tool-picker .button:disabled{opacity:.55;cursor:not-allowed}

/* QA1793315740: show every explicitly selected incoming chat beside its count. */
.home-v2 .home-illustrated{flex:none}
.home-illustrated .home-received{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.home-received-list{display:grid;gap:10px;min-width:0}
.home-received-chat{display:flex;align-items:center;gap:10px;min-width:0}
.home-received-chat>div{min-width:0;flex:1}
.home-received-chat .ai-badge{flex-shrink:0}
.home-received-chat strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media(max-width:600px){.home-illustrated .home-received{grid-template-columns:minmax(0,1fr)}.home-received>.pill{justify-self:start}}

/* W11: a single switch, confirmed state only, COPY68 help describes click-only reading. */
.reload-auto-panel{padding:20px;border:1px solid #DDE2F1;border-radius:16px;background:#FCFCFF}
.reload-auto-row{display:flex;align-items:center;gap:12px}.reload-auto-row>input{margin-left:auto}
#reload-auto{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:48px;height:28px;border:1px solid #AEB8D2;border-radius:18px;background:#DDE2F1;cursor:pointer}
#reload-auto::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#FCFCFF;box-shadow:0 1px 3px #26315330}
#reload-auto:checked{background:#4458AC;border-color:#4458AC}#reload-auto:checked::before{left:23px;background:#E4EE99}
#reload-auto:focus-visible{outline:3px solid #4458AC;outline-offset:4px}#reload-auto:disabled{cursor:default;opacity:.55}
.reload-auto-panel>p{font:400 13px/1.65 DM,sans-serif;color:#5C6480;max-width:75ch;margin:12px 0}
#reload-auto-status{min-height:22px;color:#4458AC}#reload-auto-status.is-error{color:#9D3333}
.reload-auto-manual{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid #DDE2F1;padding-top:16px;color:#5C6480;font-size:12px}
.reload-auto-progress{width:16px;height:16px;border:2px solid #DDE2F1;border-top-color:#4458AC;border-radius:50%;animation:reload-auto-spin .9s linear infinite}.reload-auto-progress[hidden]{display:none}
@keyframes reload-auto-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.reload-auto-progress{animation:none}}
@media(max-width:600px){.reload-auto-panel{padding:16px}.reload-auto-manual{align-items:stretch;flex-direction:column}.reload-auto-panel>p{font-size:13px}}

/* QA1793315740: already-chosen tool, exact COPY55 empty-chat instruction. */
.chat-list .empty .chat-empty-title{display:block;margin-bottom:8px;font-weight:600}.chat-list .empty .chat-empty-title+span{display:block}

/* Chat identity stays visible while source details are collapsed. */
.tool2-sources details{min-width:0}
.tool2-sources summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}
.tool2-sources .source-identity{display:flex;align-items:center;flex:1;gap:10px;min-width:0;color:var(--ink);margin:0;font-size:12px}
.tool2-sources .source-count{flex:none;font-weight:700}
.tool2-sources .source-title{min-width:0;max-width:48ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}
.tool2-sources .source-extra{flex:none;font-size:11px;font-weight:700;color:var(--blue);background:#eef0fa;border-radius:6px;padding:3px 6px}
.tool2-sources summary>.source-details{flex:none;font-size:11px;font-weight:400;color:var(--blue);margin:0}
@media(max-width:600px){.tool2-sources{align-items:flex-start;gap:10px}.tool2-sources summary{gap:7px}.tool2-sources .source-identity{flex-basis:100%;flex-wrap:wrap;gap:6px 8px;font-size:11px}.tool2-sources .source-count{flex-basis:100%}.tool2-sources .source-title{max-width:25ch;flex:0 1 auto;font-size:12px}.tool2-sources summary>.source-details{font-size:10px;margin-left:0}.tool2-sources>.textlink{padding-top:2px}}

/* LEAD03:56: a second deposited chat keeps both selected titles visible. */
.tool2-sources .source-titles{display:flex;align-items:center;gap:6px;min-width:0;max-width:72ch}.tool2-sources .source-titles .source-title{max-width:32ch}.tool2-sources .source-separator{flex:none;color:var(--muted)}
@media(max-width:600px){.tool2-sources .source-titles{flex-direction:column;align-items:flex-start;flex-basis:100%;max-width:100%;gap:3px}.tool2-sources .source-titles .source-title{max-width:100%}.tool2-sources .source-separator{display:none}}

/* Let the mobile tool body scroll instead of compressing its choices into the destination. */
@media(max-width:600px){.tool2-body{overflow-y:auto!important}.tool2-card{height:auto;min-height:100%;overflow:visible}.tool2-choices{flex:none;min-height:min-content}}

/* LEAD04:11 / LEDGER1793419142: purchase confirmation has one caller, pricing-v4. Keep existing portal separate. */
.billing-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.billing-actions .button{margin:0}

.result-pin-card{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid #dfe3f2;border-radius:16px;background:#f6f7fc;color:#263153;text-align:left;box-sizing:border-box}
.result-pin-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#e4ee99;color:#4458ac}
.result-pin-icon svg{width:21px;height:21px}
.result-pin-content{min-width:0;flex:1}
.result-pin-card h2{margin:1px 0 8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;line-height:1.4;font-weight:700;color:#263153;letter-spacing:-.3px}
.result-pin-card p{margin:0;font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.55;color:#535e7c;overflow-wrap:break-word}
.result-pin-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px}
.result-pin-buttons .button{min-height:40px;padding:8px 16px;border:1px solid #c7cee6;border-radius:10px;background:#fff;color:#4458ac;font-size:14px;font-weight:700;box-shadow:none;white-space:normal;line-height:1.4}
.result-pin-buttons .textlink{min-height:40px;padding:6px 0;border:0;background:transparent;color:#626c88;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:normal;line-height:1.4}
.result-pin-buttons button:focus-visible{outline:3px solid #4458ac;outline-offset:3px}
.result-next>.result-pin-card{margin:0 0 24px}
.lot2-result .result-next .result-pin-card h2{font-size:16px;line-height:1.4;margin:0 0 8px}
.lot2-result .result-next .result-pin-card p{font-size:14px;line-height:1.55;margin:0}
.result-next>.result-pin-card .result-pin-icon{display:none}
.mobile-document-scroll>.result-pin-card{margin:20px 16px 24px}
html[lang=ja] .result-pin-card{line-break:strict;word-break:normal;overflow-wrap:normal}
@media(max-width:600px){.result-pin-card{padding:16px;gap:10px}.result-pin-card h2{font-size:16px}.result-pin-buttons .button,.result-pin-buttons .textlink{min-height:44px}}

/* QA1793444504 Q6: a narrow tool page flows as one page, never a nested tool viewport. */
@media(max-width:600px){
 body:has(.tool2-body){height:auto;min-height:100dvh;overflow-y:auto}
 body:has(.tool2-body) .workspace{height:auto;min-height:100dvh}
 #main:has(.tool2-body){height:auto;min-height:calc(100dvh - 68px);overflow:visible}
 #main:has(.tool2-body) .tool2-body{flex:none;height:auto;min-height:0;overflow:visible!important}
 #main:has(.tool2-body) .tool2-card{height:auto;min-height:0;overflow:visible}
}

/* LEAD 31/10 12:18: the optional pin offer must not clip the result actions. */
body:has([data-result-pin-card]){height:auto;min-height:100dvh;overflow-y:auto}
body:has([data-result-pin-card]) .workspace{height:auto;min-height:100dvh;overflow:visible}
body:has([data-result-pin-card]) #main{height:auto;min-height:calc(100dvh - 64px);overflow:visible}
body .result-v2:has([data-result-pin-card]){height:auto;min-height:0}
body .result-v2:has([data-result-pin-card]) .document-layout{flex:none;overflow:visible;align-items:start}
body .result-v2:has([data-result-pin-card]) .result-surface{overflow:visible}
body .result-v2:has([data-result-pin-card]) .document-canvas{flex:none;overflow:visible}
body .result-v2:has([data-result-pin-card]) .result-next{height:auto;overflow:visible}
@media(max-width:600px){
 body:has([data-result-pin-card]) #main{min-height:100dvh}
 .mobile-result:has([data-result-pin-card]){height:auto;min-height:100dvh}
 .mobile-document-scroll:has([data-result-pin-card]){flex:none;overflow:visible}
}

/* Current engine quote extent, before the existing confirmation action. */
.quote-reading{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f5f7ff;color:var(--ink);overflow-wrap:anywhere}
.quote-reading ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px}.quote-reading li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:12px;line-height:1.5}.quote-reading li b{min-width:0}.quote-reading li span{white-space:nowrap;color:var(--blue)}.quote-reading p{margin:0;font-size:13px;line-height:1.65}

/* W40 source-only layout. No AI icons, per-provider colors, fixed action overlay or new shared-host rules. */
.recent-chats-page{display:flex;flex-direction:column;min-height:0;flex:1;max-width:1120px;width:100%;margin-inline:auto;padding-bottom:22px}.recent-chats-page .page-heading{margin-bottom:16px}.recent-toggle{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px;color:#263153}.recent-toggle input{width:18px;height:18px;accent-color:#4458ac;flex:none}.recent-scope{color:#66708a;font-size:13px;margin:8px 0 14px}.recent-providers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.recent-providers section{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;background:#f4f5fa;border:1px solid #dce1ed;border-radius:12px;min-width:0}.recent-providers b{font-size:13px}.recent-providers span{font-size:12px;color:#66708a}.recent-providers a{font-size:12px;min-height:34px;margin-left:auto}.recent-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.recent-toolbar .selector-search{flex:1;min-width:180px}.recent-toolbar input{min-width:0;width:100%}.recent-toolbar select{max-width:none;min-height:40px;border:1px solid #dce1ed;border-radius:9px;background:white;color:#263153}.recent-filters{display:flex;gap:5px;flex-wrap:wrap}.recent-filters button{border:1px solid #dce1ed;border-radius:8px;background:white;color:#263153;min-height:40px;padding:7px 12px;font:inherit}.recent-filters button[aria-pressed=true]{background:#e4ee99;border-color:#c9d67b;color:#263153}.recent-list{min-height:100px;overflow:auto;flex:1;border:1px solid #dce1ed;border-radius:14px;background:white}.recent-chat-row{display:grid;grid-template-columns:minmax(0,1fr) 190px 110px;align-items:center;gap:16px;width:100%;padding:18px 20px;border:0;border-bottom:1px solid #e6e9f1;background:white;color:#263153;text-align:left;font:inherit;cursor:pointer}.recent-chat-row:last-child{border-bottom:0}.recent-chat-row:hover:not(:disabled){background:#f4f5fc}.recent-chat-row:focus-visible{outline:3px solid #4458ac;outline-offset:-3px}.recent-chat-row:disabled{cursor:default;opacity:.7}.recent-chat-title{font-weight:600;overflow-wrap:anywhere;min-width:0}.recent-chat-meta{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#66708a}.recent-chat-meta b{font-weight:500;color:#263153}.recent-chat-action{font-size:12px;color:#4458ac}.recent-empty,.recent-loading{padding:32px 24px;text-align:center;color:#66708a}.recent-empty h2{font-size:21px;color:#263153}.recent-recovery{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.recent-error{background:#fff7e9;border:1px solid #e8c895;border-radius:12px;padding:14px 18px;margin:12px 0}.recent-error p{margin:5px 0;font-size:13px}.recent-error .recent-recovery{justify-content:flex-start}.recent-notices{padding-top:16px;color:#66708a;font-size:12px;line-height:1.6}.recent-notices p{margin:4px 0}.recent-notices button{margin-top:9px}.recent-back{margin-bottom:12px}.recent-chats-page a,.recent-chats-page button{overflow-wrap:anywhere}
@media(max-width:600px){.recent-chats-page{height:auto;overflow:visible;padding-bottom:24px}.recent-toggle{align-items:flex-start;font-size:13px;line-height:1.5}.recent-toggle input{margin-top:2px}.recent-providers{grid-template-columns:1fr;gap:8px;margin-bottom:14px}.recent-providers section{padding:10px 12px}.recent-toolbar{gap:9px}.recent-toolbar .selector-search{flex-basis:100%;min-width:0}.recent-toolbar select{margin-left:auto;font-size:12px;max-width:none}.recent-filters{gap:4px}.recent-filters button{font-size:12px;padding:6px 9px}.recent-list{overflow:visible;flex:none;min-height:80px}.recent-chat-row{grid-template-columns:minmax(0,1fr);gap:7px;padding:15px}.recent-chat-title{font-size:14px;line-height:1.45}.recent-chat-meta{flex-direction:row;flex-wrap:wrap;gap:5px 14px}.recent-chat-action{font-size:12px}.recent-empty{padding:26px 16px}.recent-notices{font-size:11px}.recent-recovery a,.recent-recovery button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.recent-chats-page *{animation:none!important;transition:none!important}}

/* Guest History, source review only; no new captures or visual approval. */
.guest-history-panel{padding:clamp(20px,4vw,40px);max-width:800px}
.guest-history-invite{max-width:640px}
.guest-history-invite h2{margin:0 0 24px;font-size:clamp(20px,2.2vw,28px);line-height:1.4;overflow-wrap:anywhere}
.guest-history-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.guest-history-actions .button{white-space:normal;text-align:center;min-height:44px}
.guest-account-footer{padding:16px;display:grid;gap:4px;border-top:1px solid var(--line,#e5e7eb)}
.guest-account-footer span{font-size:12px;color:var(--muted,#6b7280)}
.rail .guest-account-footer{padding:12px 4px;text-align:center;font-size:11px}
.rail .guest-account-footer span{display:none}
@media(max-width:600px){.guest-history-actions{align-items:stretch;flex-direction:column}.guest-history-actions .textlink{align-self:center;padding:10px}.guest-history-panel{width:100%;box-sizing:border-box}.guest-history-invite h2{font-size:21px}}

/* Nine-language UI: keep the full task-usage label inside its mobile button. */
@media(max-width:600px){#topbar .usage{flex-shrink:0}#topbar .usage>.ic{display:none}#topbar .usage>span{min-width:0;max-width:82px;overflow-wrap:normal;hyphens:auto;line-height:1.25}}

@media(max-width:600px){.export-format .button{height:auto;min-height:104px}}

/* Produit 02/11 (Kevin 16:20 UTC, lot 5) — récapitulatif modifiable avec le masquage, lignes de tasks, états de chargement, sans extension. */
.review-head{display:flex;align-items:center;gap:10px;min-width:0}
.review-section .review-head,.review-settings .review-head{margin-bottom:9px}
.review-section .review-head h3,.review-settings .review-head h3{margin:0;flex:1;min-width:0}
.review-edit{flex:none;border:0;background:none;padding:0 4px;min-height:32px;font:600 12px/1 DM;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.review-edit:hover{text-decoration-thickness:2px}
.review-edit:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.review-tool>div{flex:1;min-width:0}
.review-tool .review-edit{align-self:flex-start}
.review-settings{grid-template-columns:minmax(0,1fr)}
.review-settings>section.review-mask{grid-column:1/-1}
.review-mask .review-head{margin-bottom:4px}
.review-mask .switch-label{margin-left:0}
.review-mask-state{flex:none;font:700 12px/1 DM;color:var(--muted)}
.task-review .review-settings .review-mask p{display:block;margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.review-mask-help{margin-top:8px;font-size:12px}
.review-mask-help summary{cursor:pointer;color:var(--blue);font-weight:600;min-height:28px}
.review-mask-help summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.task-row .task-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0}
.task-row .task-line b{display:inline;overflow-wrap:anywhere}
.task-tool{display:inline-flex;flex:none;padding:2px 8px;border-radius:999px;background:var(--blue);color:#fff;font:700 10px/1.4 DM;text-transform:none;letter-spacing:0;white-space:nowrap}
.task-row time{display:block;flex:none;white-space:nowrap;font-size:11px}
.skeleton-row{display:block;height:46px;margin:0 0 10px;border-radius:10px;background:linear-gradient(90deg,#eef1f6 25%,#f6f8fb 50%,#eef1f6 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s linear infinite}
@keyframes skeleton-shimmer{to{background-position:-200% 0}}
.result-loading .panel,.history-loading .panel{padding:18px}
.result-loading .panel{margin-top:22px}
.noext-notice{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 18px;padding:16px 18px;border:1px solid #dde3fb;border-radius:12px;background:#f5f7ff}
.noext-notice p{flex:1 1 260px;margin:0;font-size:14px;line-height:1.6}
.noext-notice .button{flex:none}
/* 14/11 (LEAD 01:23 UTC ②) : le lien de dépôt qui ne s'ouvre plus — même cadre que .noext-notice, teinte d'alerte douce */
.bring-failure{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 0 18px;padding:14px 18px;border:1px solid #f1d9a8;border-radius:12px;background:#fff8ea}
.bring-failure p{flex:1 1 260px;margin:0;font-size:14px;line-height:1.6}
.bring-failure [data-bring-dismiss]{flex:none;min-height:44px}
.settings-cookies [data-open-cookies]{min-height:44px}
/* 14/11 (PRODUIT ; LEAD 11:20 GO « de l'essai au compte ») : lot 1 : A « Gardez ce résultat », B « Votre essai a rejoint votre compte ».
   Lavande, contour seulement : le bleu plein reste le geste de l'écran (« Continuer dans… », « Nouvelle tâche »). */
.essai-garder{margin:20px 32px 24px;padding:20px 24px;border:1px solid #c9cdf2;border-radius:14px;background:#f3f4ff;color:var(--ink)}
.essai-garder h2{margin:0 0 6px;font-size:20px;line-height:1.25}
.essai-garder>p{margin:0 0 14px;font-size:15px;line-height:1.5;color:#3b4466}
.essai-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.essai-actions .button{min-height:44px;display:inline-flex;align-items:center;gap:10px}
.essai-g{display:inline-flex;width:18px;height:18px}
.essai-mail{display:flex;gap:8px;flex:1 1 300px;margin:0}
.essai-mail input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:1px solid #c9cdf2;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px}
.essai-mail input[aria-invalid=true]{border-color:#c0392b}
.essai-status{margin:12px 0 0;font-size:14px;line-height:1.5;color:#1f4d2a}
.essai-status[data-error=true]{color:#a5281b}
.essai-rejoint{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;border:1px solid #bfe0c2;border-radius:12px;background:#eef7ee;color:#1f4d2a}
.essai-rejoint p{flex:1;margin:0;font-size:15px}
.essai-rejoint .icon{min-width:44px;min-height:44px}
.essai-tag{display:inline-flex;margin-left:8px;padding:1px 8px;border-radius:99px;background:#e9eafe;color:#4a55a8;font-size:12px;font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-document-scroll .essai-garder{margin:16px 16px 20px;padding:16px}
@media(max-width:600px){.essai-garder{padding:16px}.essai-actions .button{width:100%;justify-content:center}.essai-mail{flex-direction:column}}
:where(html[data-theme=dark]) .essai-garder{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-ink)}
:where(html[data-theme=dark]) .essai-garder>p{color:var(--d-ink)}
:where(html[data-theme=dark]) :where(html[data-theme=dark]) .essai-rejoint{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-ink)}
/* 14/11 : la provenance d'une task (API, Extension) — la même forme discrète que .example-badge, en gris */
.task-entry{display:inline-flex;align-items:center;flex:none;margin-left:8px;padding:2px 7px;border:1px solid #dde3fb;border-radius:6px;background:#f5f7ff;color:#5b6687;font:700 10px/1.3 DM;letter-spacing:.02em;white-space:nowrap}
:where(html[data-theme=dark]) .task-entry{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-muted,#aab3cf)}
:where(html[data-theme=dark]) .bring-failure{border-color:var(--d-line);background-color:var(--d-quiet)}
@media(max-width:600px){.review-edit{min-height:36px}.review-settings{grid-template-columns:minmax(0,1fr)}.review-sources{max-height:136px}.noext-notice .button{width:100%}}

/* Produit 02/11 (lot recent-900) : la Home tenait en un écran fixe ; à 900 px de haut le panneau Recent se resserrait et rognait sa dernière ligne. Au-dessus de 600 px, les deux panneaux gardent la place de trois lignes et c'est la page qui défile quand l'écran est trop bas. */
@media(min-width:601px){#main:has(.home-v2){overflow-y:auto}.home-v2{height:auto;min-height:100%}.home-v2 .home-columns{flex:1 1 0;min-height:230px}}
/* AMENDÉ le 07/11 (Kevin 14:35 CET : l'accueil doit tenir à l'écran) : les deux blocs prennent la place qui reste (flex 1 1 0) au lieu de
   leur contenu (1 0 auto, avec 310 px) : à 1440 × 900, la règle d'avant poussait « Analyses » sous l'écran. Une ligne qui ne tient pas
   n'est plus rognée : fitHomeRows() la masque entière. Plancher 230 px (l'en-tête du bloc et deux lignes) : plus bas, la page défile. */

/* Lot ⑳a (Kevin 02/11) — la page résultat : le titre de la task en gros, l'outil à côté en pastille (la .task-tool de Recent et History, à l'échelle du titre),
   puis le texte mis en forme : titres en gras, vraies listes, niveaux en pastille en fin de point. Aucune couleur nouvelle : bleu et gris de la palette. */
.result-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 26px;min-width:0}
body .result-title-line>h2,body .result-v2 .result-title-line>h2{margin:0;font:700 29px/1.22 Jakarta;letter-spacing:-.8px;color:var(--ink);overflow-wrap:anywhere;min-width:0;flex:0 1 auto}
.result-title-line .task-tool{font-size:12px;padding:3px 11px;line-height:1.4}
.result-text{font:400 14px/1.75 DM;color:#354259;white-space:normal;overflow-wrap:anywhere;margin:0}
.result-text>:first-child{margin-top:0}.result-text>:last-child{margin-bottom:0}
.result-text .rt-h{font:700 17px/1.35 Jakarta;letter-spacing:-.25px;color:var(--ink);margin:30px 0 10px}
.result-text .rt-caps{font-size:14px;letter-spacing:.07em;margin-top:28px}
.result-text .rt-sub{font:700 14px/1.4 Jakarta;color:var(--ink);margin:20px 0 6px}
.result-text .rt-p{margin:0 0 14px}
.result-text .rt-list{margin:0 0 16px;padding:0 0 0 22px}
.result-text .rt-list li{margin:0 0 10px;padding-left:3px}.result-text .rt-list li::marker{color:var(--blue)}
.result-text .rt-list .rt-list{margin:9px 0 2px}
.result-text .rt-rule{border:0;border-top:1px solid var(--line);margin:24px 0}
.result-text code{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;background:#f1f3f8;padding:1px 5px;border-radius:5px}
.result-text .rt-grounds{color:var(--muted);font-size:13px}
.result-text .rt-level{display:inline;margin:0 3px;padding:2px 10px;border-radius:999px;font:700 11px/1.6 DM;letter-spacing:.3px;text-transform:capitalize;white-space:nowrap;vertical-align:1px}
.result-text .rt-lv-strong{background:#3a485c;color:#fff}
.result-text .rt-lv-moderate,.result-text .rt-lv-other{background:#dfe5ef;color:#344256}
.result-text .rt-lv-thin{background:transparent;box-shadow:inset 0 0 0 1px #617089;color:#4f5b73}
.prompt-sheet .result-text,.mobile-prompt .result-text{font:400 13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;color:#344256}
.prompt-sheet .result-text .rt-h,.prompt-sheet .result-text .rt-sub,.mobile-prompt .result-text .rt-h,.mobile-prompt .result-text .rt-sub{font-family:inherit;font-size:13px;letter-spacing:0}
body .result-v2 .prompt-sheet .result-text{border-left:2px solid #d7deff;padding-left:19px}
.mobile-document-sheet>.result-text{min-height:calc(100% - 64px)}
.mobile-prompt .result-title-line>h2{color:var(--blue)}
.share-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 6px;font:700 16px/1.35 Jakarta;overflow-wrap:anywhere}.share-title b{font-weight:700}
.share-title .task-tool{font-size:11px}
#modal .share-title,#modal .share-title b{color:var(--ink)}
@media(max-width:1180px){body .result-title-line>h2,body .result-v2 .result-title-line>h2{font-size:26px}.result-text{font-size:13.5px}}
@media(max-width:600px){.result-title-line{margin-bottom:20px;gap:6px 10px}body .result-title-line>h2,body .result-v2 .result-title-line>h2{font-size:23px;line-height:1.25;letter-spacing:-.65px}.result-title-line .task-tool{font-size:11px;padding:2px 9px}.result-text{font-size:14px}.result-text .rt-h{font-size:16px;margin-top:26px}.result-text .rt-caps{font-size:13px}body .result-v2 .prompt-sheet .result-text{padding-left:13px}}
/* Lot 22 (Kevin 02/11) : la pastille de l outil dans la barre du document, a cote de « Document » ; sans chats connus (task rouverte), le bloc « Keep going » vient sous les deux propositions. */
.document-toolbar .toolbar-tool{margin:0 auto 0 10px;flex:none;font-size:11px;padding:2px 10px}
.result-next .missing-result-sources{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.result-next .missing-result-sources>p{margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--muted)}
/* Désabonnement des e-mails marketing (Réglages) */
.marketing-panel .marketing-line{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.marketing-panel .marketing-state{font:700 13px/1.4 DM;color:var(--ink)}
.marketing-panel .marketing-confirm{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}
.marketing-panel .marketing-confirm p{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--ink)}
.marketing-panel .marketing-actions{display:flex;gap:10px;flex-wrap:wrap}
.marketing-panel .marketing-error{margin:12px 0 0;font-size:13px;line-height:1.6;color:#b3261e}
.marketing-panel .marketing-done{margin:10px 0 0;font-size:12px;color:var(--muted)}
.marketing-panel .skeleton-row{display:block;height:34px;border-radius:10px}
/* Pastille de l'outil (Kevin 02/11 : « le bleu clair se perd ») : PLEINE, bleu de la marque (--blue #2348ef du workspace), texte blanc en gras, jamais de majuscules.
   Contraste blanc sur --blue : 6,47:1 (AA ≥ 4,5:1). Une seule règle pour tous ses emplacements (barre du document, sous le titre, Recent, History, feuille Share) :
   le workspace n'a pas de thème sombre (aucun style sombre n'existe), la pastille garde ces deux couleurs en clair comme en sombre. */
.task-tool,.document-toolbar .toolbar-tool,.result-title-line .task-tool,.share-title .task-tool{background:var(--blue);color:#fff;font-weight:700;text-transform:none;letter-spacing:0}
.document-toolbar .toolbar-tool{font-size:12px;padding:3px 11px;line-height:1.4}
/* Plan & billing (PRODUIT 03/11, lot « Billing lot 2 ») : le pack en cours et l'historique des achats. Mêmes cartes (.panel), même filet et même rythme que les lignes de tasks (.task-row). */
.destination .panel+.panel{margin-top:16px}
.destination .panel .billing-error{margin:0 0 14px}
.purchase-list{list-style:none;margin:0;padding:0}
.pack-line,.purchase-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:6px 18px;padding:15px 0;border-top:1px solid var(--line)}
.purchase-list>li:last-child{padding-bottom:3px}
.purchase-main,.purchase-side{min-width:0}
.purchase-side{margin-left:auto;text-align:right}
.pack-line b,.purchase-main b,.purchase-side b{display:block;font-size:13px;overflow-wrap:anywhere}
.pack-line small,.purchase-main small,.purchase-side small{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:var(--muted)}
.purchase-flag{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--line);border-radius:999px;background:var(--wash);font-size:11px;font-weight:700;color:var(--muted);vertical-align:1px}
.destination .purchases-empty{margin:0}
#billing-purchases .skeleton-row{height:34px}
@media(max-width:600px){.purchase-side{margin-left:0;flex-basis:100%;text-align:left}.pack-line,.purchase-row{padding:13px 0}}
/* ═══ THEME-SOMBRE:DEBUT — généré par tools/produit-theme-sombre/generer.mjs (ne pas éditer à la main) ═══ */
/* Palette sombre = celle du compte (v31/account.css) ; les jetons --d-edge, --d-soft-line, --d-cit-*, --d-red, --d-amber* sont dérivés de la même famille (PRODUIT, 02/11). Préfixe :where() = spécificité zéro ajoutée. */
html[data-theme=dark]{--d-bg:#13182B;--d-surface:#1C233A;--d-quiet:#202941;--d-soft:#293452;--d-line:#3C4765;--d-ink:#EDF0FF;--d-muted:#B4BDD8;--d-accent:#A4B6FF;--d-edge:#6B7899;--d-soft-line:#4A5A8C;--d-cit-ink:#E4EE99;--d-cit-tint:#343B45;--d-cit-tint2:#444C4D;--d-cit-line:#586057;--d-cit-line2:#80896A;--d-red:#FF9E92;--d-amber:#393A47;--d-amber-line:#786D63;--ink:#EDF0FF;--muted:#B4BDD8;--line:#3C4765;--paper:#1C233A;--wash:#13182B;color-scheme:dark}
:where(html[data-theme=dark]) body{background-color:var(--wash);color:var(--ink)}
:where(html[data-theme=dark]) a{color:inherit}
:where(html[data-theme=dark]) button:focus-visible,:where(html[data-theme=dark]) a:focus-visible,:where(html[data-theme=dark]) input:focus-visible,:where(html[data-theme=dark]) summary:focus-visible,:where(html[data-theme=dark]) select:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) small,:where(html[data-theme=dark]) .muted{color:var(--muted)}
:where(html[data-theme=dark]) button{color:inherit}
:where(html[data-theme=dark]) .button,:where(html[data-theme=dark]) .icon{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .button.primary{background-color:var(--blue);color:white;border-color:var(--blue)}
:where(html[data-theme=dark]) .button.citron{background-color:var(--citron);border-color:var(--citron);color:#142238}
:where(html[data-theme=dark]) .button.quiet{background-color:transparent}
:where(html[data-theme=dark]) .label{color:var(--muted)}
:where(html[data-theme=dark]) .textlink{color:var(--d-accent)}
:where(html[data-theme=dark]) .pill{background-color:var(--d-quiet);border-color:var(--line)}
:where(html[data-theme=dark]) .pill.lime{background-color:var(--citron);border-color:var(--citron);color:var(--ink);color:#142238}
:where(html[data-theme=dark]) .sidebar{background-color:var(--d-surface);border-right-color:var(--line)}
:where(html[data-theme=dark]) .navlink{color:var(--d-muted)}
:where(html[data-theme=dark]) .navlink.active{color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .extension-link{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .account-wrap{border-top-color:var(--line)}
:where(html[data-theme=dark]) .account{background-color:transparent}
:where(html[data-theme=dark]) .avatar{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .account-menu{border-color:var(--line);box-shadow:0 18px 60px #00000055;background-color:var(--d-surface)}
:where(html[data-theme=dark]) .account-menu a:hover{background-color:var(--wash)}
:where(html[data-theme=dark]) .account-menu a:last-child{border-top-color:var(--line)}
:where(html[data-theme=dark]) #topbar{background-color:var(--d-surface);border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .crumb{color:var(--muted)}
:where(html[data-theme=dark]) .global-search{background-color:var(--wash);border-color:var(--line);color:var(--d-muted)}
:where(html[data-theme=dark]) .global-search input{background-color:transparent}
:where(html[data-theme=dark]) .global-search kbd{border-color:var(--d-line)}
:where(html[data-theme=dark]) .usage{background-color:var(--d-cit-tint);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .notification .dot{background-color:var(--blue)}
:where(html[data-theme=dark]) .heading p{color:var(--muted)}
:where(html[data-theme=dark]) .hero-banner{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .hero-banner .label{color:var(--d-accent)}
:where(html[data-theme=dark]) .hero-banner p{color:var(--d-muted)}
:where(html[data-theme=dark]) .art-card{background-color:var(--d-surface);box-shadow:0 9px 22px #00000032;border-color:var(--d-line)}
:where(html[data-theme=dark]) .art-card .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .art-card i{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .art-card.front{background-color:var(--d-cit-tint2);border-color:var(--d-cit-line2)}
:where(html[data-theme=dark]) .art-card.front i{background-color:var(--d-cit-line2)}
:where(html[data-theme=dark]) .panel{background-color:var(--paper);border-color:var(--line)}
:where(html[data-theme=dark]) .task-row{border-top-color:var(--line)}
:where(html[data-theme=dark]) .task-icon{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .task-row time{color:var(--muted)}
:where(html[data-theme=dark]) .task-row .pin{background-color:transparent;color:var(--d-accent)}
:where(html[data-theme=dark]) .pin-empty{color:var(--muted)}
:where(html[data-theme=dark]) .vitals-badge{background-color:var(--citron);color:#142238}
:where(html[data-theme=dark]) .vitals-head p{color:var(--muted)}
:where(html[data-theme=dark]) .vital-row,:where(html[data-theme=dark]) .schedule{border-top-color:var(--line)}
:where(html[data-theme=dark]) .check-label input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .schedule input[type=time],:where(html[data-theme=dark]) .schedule select{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .integration-card .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .integration-card p{color:var(--muted)}
:where(html[data-theme=dark]) .connection-card{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .connection-card p{color:var(--muted)}
:where(html[data-theme=dark]) .connection-top{background-color:var(--d-soft);border-color:var(--d-line)}
:where(html[data-theme=dark]) .connection-top .bigicon{background-color:var(--d-surface);color:var(--d-accent)}
:where(html[data-theme=dark]) .connection-top p{color:var(--muted)}
:where(html[data-theme=dark]) .stepper{color:var(--d-muted)}
:where(html[data-theme=dark]) .stepper b{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .stepper .current{color:var(--d-accent)}
:where(html[data-theme=dark]) .stepper .current b{background-color:var(--blue);color:white;border-color:var(--blue)}
:where(html[data-theme=dark]) .stepper i{background-color:var(--line)}
:where(html[data-theme=dark]) .chat-selector{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .selector-header{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .selector-search{background-color:var(--wash);border-color:var(--line)}
:where(html[data-theme=dark]) .selector-search input,:where(html[data-theme=dark]) .filterbar button{background-color:transparent}
:where(html[data-theme=dark]) .filterbar button[aria-pressed=true]{background-color:var(--citron);border-color:#d1e35d;color:#142238}
:where(html[data-theme=dark]) .filterbar select{background-color:transparent;color:var(--muted)}
:where(html[data-theme=dark]) .chat-row{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .chat-row.picked{background-color:var(--d-cit-tint);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .chat-row input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .chat-row time{color:var(--muted)}
:where(html[data-theme=dark]) .picked-chat{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .picked-chat button{background-color:transparent;color:var(--muted)}
:where(html[data-theme=dark]) .picked-panel .hint{color:var(--muted)}
:where(html[data-theme=dark]) .read-receipt{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .flow-footer{border-top-color:var(--line);background-color:var(--wash)}
:where(html[data-theme=dark]) .flow-footer p{color:var(--muted)}
:where(html[data-theme=dark]) .flow-footer strong{color:var(--ink)}
:where(html[data-theme=dark]) .source-summary{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .source-summary summary .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .source-summary .picked-chat{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .topics{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .topics-heading .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .topics p{color:var(--muted)}
:where(html[data-theme=dark]) .topic-pills label{background-color:var(--citron);border-color:#d4e55f;color:#142238}
:where(html[data-theme=dark]) .topic-pills label:has(input:not(:checked)){background-color:var(--d-surface);border-color:var(--line);color:var(--muted)}
:where(html[data-theme=dark]) .topic-pills input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .variant-toggle{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .variant-toggle button{background-color:var(--d-surface)}
:where(html[data-theme=dark]) .variant-toggle button[aria-pressed=true]{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .tool-choice{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .tool-choice .toolicon{color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .tool-choice p{color:var(--d-muted)}
:where(html[data-theme=dark]) .tool-choice .radio{border-color:var(--d-edge);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .tool-choice[aria-checked=true]{background-color:var(--d-cit-tint2);border-color:var(--d-cit-line2)}
:where(html[data-theme=dark]) .tool-choice[aria-checked=true] .radio{border-color:var(--d-accent)}
:where(html[data-theme=dark]) .tool-choice[aria-checked=true] .toolicon{background-color:var(--d-cit-tint2)}
:where(html[data-theme=dark]) .tool-choice .micro{color:var(--muted)}
:where(html[data-theme=dark]) .popover{background-color:var(--d-surface);border-color:var(--line);box-shadow:0 20px 60px #00000053}
:where(html[data-theme=dark]) .popover p{color:var(--muted)}
:where(html[data-theme=dark]) .popover .empty-icon{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .popover .activity{border-top-color:var(--line)}
:where(html[data-theme=dark]) .result-context{color:var(--muted)}
:where(html[data-theme=dark]) .recorded-body{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .recorded-body pre{color:var(--d-ink)}
:where(html[data-theme=dark]) .rebound{border-color:var(--d-cit-line);background-color:var(--d-cit-tint)}
:where(html[data-theme=dark]) .rebound .label{color:var(--d-cit-ink)}
:where(html[data-theme=dark]) .rebound p{color:var(--d-muted)}
:where(html[data-theme=dark]) .rebound button{background-color:var(--d-surface);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .rebound button small{color:var(--d-muted)}
:where(html[data-theme=dark]) .export-stage{background-color:var(--d-soft);border-color:var(--d-line)}
:where(html[data-theme=dark]) .export-stage .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .destination p{color:var(--muted)}
:where(html[data-theme=dark]) dialog{border-color:var(--line);color:var(--ink);box-shadow:0 25px 80px #00000072}
:where(html[data-theme=dark]) dialog::backdrop{background-color:#050810a6}
:where(html[data-theme=dark]) dialog p{color:var(--muted)}
:where(html[data-theme=dark]) .status{background-color:var(--ink);color:white}
:where(html[data-theme=dark]) .empty{color:var(--muted)}
:where(html[data-theme=dark]) .list-update-label{border-top-color:var(--line)}
:where(html[data-theme=dark]) .list-update-label p{color:var(--muted)}
@media(max-width:850px){
:where(html[data-theme=dark]) .sidebar{box-shadow:0 0 0 100vw #000000b2}
}
@media(max-width:600px){
:where(html[data-theme=dark]) .mobile-menu{background-color:transparent}
:where(html[data-theme=dark]) .mobile-selected summary{background-color:var(--d-cit-tint);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .mobile-selected>div{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .crumb{color:var(--ink)}
}
:where(html[data-theme=dark]) .result-surface{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .document-toolbar{border-bottom-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .toolbar-label{color:var(--muted)}
:where(html[data-theme=dark]) .toolbar-label svg{color:var(--d-accent)}
:where(html[data-theme=dark]) .result-v2 .document-canvas{background-color:var(--d-bg)}
:where(html[data-theme=dark]) .result-v2 .document-sheet{box-shadow:0 3px 12px #00000026}
:where(html[data-theme=dark]) .recommend-price{color:var(--d-accent)}
:where(html[data-theme=dark]) .result-v2 .prompt-canvas{background-color:var(--d-surface)}
:where(html[data-theme=dark]) .prompt-sheet pre{color:var(--d-ink)}
:where(html[data-theme=dark]) .prompt-footer{border-top-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .prompt-footer>span{color:var(--muted)}
@media(max-width:600px){
:where(html[data-theme=dark]) .result-v2 .next-tool-list button{border-top-color:var(--d-cit-line)}
}
:where(html[data-theme=dark]) .tool2-sources{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .tool2-sources summary>span{color:var(--d-accent)}
:where(html[data-theme=dark]) .tool2-card{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .topic-list label{background-color:var(--wash)}
:where(html[data-theme=dark]) .topic-list input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .show-topics{background-color:transparent}
:where(html[data-theme=dark]) .tool2-choices{border-left-color:var(--line)}
:where(html[data-theme=dark]) .tool-price{color:var(--d-accent)}
:where(html[data-theme=dark]) .mask-block{background-color:var(--d-soft);border-color:var(--d-line)}
:where(html[data-theme=dark]) .mask-block p{color:var(--muted)}
:where(html[data-theme=dark]) .switch-label>span{background-color:var(--d-edge);border-color:var(--d-edge)}
:where(html[data-theme=dark]) .switch-label>span:after{background-color:var(--d-surface);box-shadow:0 1px 3px #0002}
:where(html[data-theme=dark]) .switch-label input:checked+span{background-color:var(--blue);border-color:var(--blue)}
:where(html[data-theme=dark]) .switch-label input:focus-visible+span{outline-color:var(--d-accent)}
@media(max-width:600px){
:where(html[data-theme=dark]) .tool2-choices{border-top-color:var(--line)}
}
:where(html[data-theme=dark]) .ai-badge{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-muted)}
:where(html[data-theme=dark]) .ai-badge i{border-color:white;background-color:var(--blue)}
:where(html[data-theme=dark]) .eyebrow{color:var(--d-accent)}
:where(html[data-theme=dark]) .result-source{color:var(--muted)}
:where(html[data-theme=dark]) .result-source button{background-color:transparent}
:where(html[data-theme=dark]) .document-sheet{background-color:var(--d-surface);box-shadow:0 5px 25px #00000025;border-color:var(--d-line)}
:where(html[data-theme=dark]) .sheet-kicker{color:var(--d-accent)}
:where(html[data-theme=dark]) .document-sheet pre{color:var(--d-ink)}
:where(html[data-theme=dark]) .result-next{border-color:var(--d-cit-line);background-color:var(--d-cit-tint)}
:where(html[data-theme=dark]) .result-next>.label{color:#66733c}
:where(html[data-theme=dark]) .result-next>p{color:var(--d-muted)}
:where(html[data-theme=dark]) .next-tool-list button{border-top-color:var(--d-cit-line);background-color:transparent}
:where(html[data-theme=dark]) .next-tool-list small{color:var(--d-muted)}
:where(html[data-theme=dark]) .next-icon{color:var(--d-accent)}
:where(html[data-theme=dark]) .source-line,:where(html[data-theme=dark]) .copy-link-line input{border-color:var(--line)}
:where(html[data-theme=dark]) .public-footer-preview{background-color:var(--citron);color:#142238}
:where(html[data-theme=dark]) .ai-picker label{border-color:var(--line)}
:where(html[data-theme=dark]) .ai-picker input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .document-sheet a{color:var(--d-accent)}
:where(html[data-theme=dark]) body .prompt-instruction strong{color:var(--ink)}
:where(html[data-theme=dark]) body .prompt-instruction p{color:var(--muted)}
:where(html[data-theme=dark]) .switch-destination{border-color:var(--line)}
:where(html[data-theme=dark]) .switch-destination label span{color:var(--muted)}
:where(html[data-theme=dark]) .switch-destination select{border-color:var(--d-edge);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .onboarding{background-color:var(--d-bg)}
:where(html[data-theme=dark]) .ob-header{background-color:var(--d-surface);border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .ob-header>button{background-color:transparent}
:where(html[data-theme=dark]) .ob-side>.label{color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-side>p{color:var(--muted)}
:where(html[data-theme=dark]) .ob-side li{color:var(--d-muted)}
:where(html[data-theme=dark]) .ob-side li>span{background-color:var(--d-soft);border-color:var(--line)}
:where(html[data-theme=dark]) .ob-side li[aria-current]{color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-side li[aria-current]>span{background-color:var(--citron);color:var(--ink);border-color:var(--citron);color:#142238}
:where(html[data-theme=dark]) .ob-card{background-color:var(--d-surface);border-color:var(--line);box-shadow:0 7px 30px #00000020}
:where(html[data-theme=dark]) .ob-progress{color:var(--muted)}
:where(html[data-theme=dark]) .ob-progress>div{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .ob-progress i{background-color:var(--blue)}
:where(html[data-theme=dark]) .ob-sub,:where(html[data-theme=dark]) .ob-lead,:where(html[data-theme=dark]) .ob-help{color:var(--muted)}
:where(html[data-theme=dark]) .ob-footer{border-top-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .ob-welcome-art{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .ob-welcome-art>span{background-color:var(--d-surface);border-color:var(--line);box-shadow:0 8px 20px #00000026;color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-welcome-art>span+span{background-color:var(--citron);color:#142238}
:where(html[data-theme=dark]) .ob-name-grid input,:where(html[data-theme=dark]) .ob-pref-fields select{border-color:var(--d-edge);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .ob-name-grid input[aria-invalid]{border-color:var(--d-red)}
:where(html[data-theme=dark]) #ob-name-error{color:var(--d-red)}
:where(html[data-theme=dark]) .ob-use-list label{border-color:var(--line)}
:where(html[data-theme=dark]) .ob-use-icon{background-color:var(--d-quiet);color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-content input[type=checkbox],:where(html[data-theme=dark]) .ob-content input[type=radio]{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-ai-choice{border-color:var(--line)}
:where(html[data-theme=dark]) .ob-noext{border-top-color:var(--line);color:var(--muted)}
:where(html[data-theme=dark]) .ob-vitals{border-top-color:var(--line)}
:where(html[data-theme=dark]) .ob-vitals>p{color:var(--muted)}
:where(html[data-theme=dark]) .ob-ai-consent{border-color:var(--line)}
:where(html[data-theme=dark]) .ob-consent-help,:where(html[data-theme=dark]) .ob-ai-consent>p{color:var(--muted)}
:where(html[data-theme=dark]) .ob-weekly-art{background-color:var(--d-quiet);border-color:var(--line);color:var(--d-accent)}
:where(html[data-theme=dark]) .ob-weekly-art i{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .ob-weekly-choice{background-color:var(--d-cit-tint);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .ob-appearance{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .ob-done{background-color:var(--citron);color:var(--blue)}
:where(html[data-theme=dark]) .journey-steps{color:var(--muted)}
:where(html[data-theme=dark]) .journey-steps i{color:var(--d-muted)}
:where(html[data-theme=dark]) .journey-card{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .journey-card>p{color:var(--muted)}
:where(html[data-theme=dark]) .journey-symbol{background-color:var(--citron);color:var(--blue)}
:where(html[data-theme=dark]) .install-state{background-color:var(--d-quiet);border-color:var(--line);color:var(--muted)}
:where(html[data-theme=dark]) .journey-email input{border-color:var(--line)}
:where(html[data-theme=dark]) .chats2-body .selector-header{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .chat-toolbar label{color:var(--muted)}
:where(html[data-theme=dark]) .chat-toolbar select{border-color:var(--line);background-color:var(--d-surface);color:var(--ink)}
:where(html[data-theme=dark]) .chats2-body .chat-row{border-bottom-color:var(--d-line)}
:where(html[data-theme=dark]) .chats2-body .chat-row input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .chats2-body .chat-row time{color:var(--muted)}
:where(html[data-theme=dark]) .vitals-compact{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .vitals-compact .vitals-badge{background-color:var(--d-soft);color:#142238}
:where(html[data-theme=dark]) .vitals-compact p{color:var(--muted)}
:where(html[data-theme=dark]) .settings-panel{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .settings-panel input[type=checkbox]{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .reload-ai-prefs,:where(html[data-theme=dark]) .automatic-later{border-top-color:var(--line)}
:where(html[data-theme=dark]) .automatic-later select{border-color:var(--line);background-color:var(--d-quiet);color:var(--muted)}
:where(html[data-theme=dark]) .sidebar-toggle{background-color:transparent;color:var(--muted)}
:where(html[data-theme=dark]) .sidebar-toggle:hover{background-color:var(--wash)}
:where(html[data-theme=dark]) .rail-pinned,:where(html[data-theme=dark]) .badge-context-head{color:var(--muted)}
:where(html[data-theme=dark]) .badge-table{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .badge-family-row{border-bottom-color:var(--d-line)}
:where(html[data-theme=dark]) .badge-review-note{color:var(--muted)}
:where(html[data-theme=dark]) #host-task-error{color:var(--d-red)}
:where(html[data-theme=dark]) .mask-help{border-color:var(--d-line);background-color:var(--d-surface);color:var(--d-muted)}
:where(html[data-theme=dark]) .topics-whole{color:var(--d-muted)}
:where(html[data-theme=dark]) .flow-footer>.mask-block .mask-help{background-color:transparent}
:where(html[data-theme=dark]) .flow-footer>.mask-block .mask-help:before{border-color:var(--d-line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .settings-save .profile-load-status{color:var(--muted)}
:where(html[data-theme=dark]) .example-badge{border-color:var(--d-cit-line);background-color:var(--d-cit-tint);color:var(--d-accent)}
:where(html[data-theme=dark]) .home-proposal .proposal-icon{background-color:#e4ee99;color:#4458ac}
:where(html[data-theme=dark]) .home-proposal p{color:var(--muted)}
:where(html[data-theme=dark]) .analytics-stats>div{border-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .analytics-stats b{color:var(--d-accent)}
:where(html[data-theme=dark]) .analytics-stats span{color:var(--muted)}
:where(html[data-theme=dark]) .example-tools-chart i{background-color:#e4ee99;color:#142238}
:where(html[data-theme=dark]) .example-context button{border-color:var(--line);background-color:var(--d-surface);color:var(--d-accent)}
:where(html[data-theme=dark]) .example-context button:hover{background-color:var(--wash)}
:where(html[data-theme=dark]) .example-context button[aria-pressed=true]{background-color:#e4ee99;border-color:#d5dd9d;color:#142238}
:where(html[data-theme=dark]) .example-context button:focus-visible{outline-color:var(--d-accent)}
@media(max-width:600px){
:where(html[data-theme=dark]) .tool2-choices{border-top-color:var(--line)}
:where(html[data-theme=dark]) .tool2-selected-description{color:var(--muted)}
}
:where(html[data-theme=dark]) .tool2-sources details>div{background-color:var(--d-surface);border-color:var(--line);box-shadow:0 15px 35px #00000042}
:where(html[data-theme=dark]) body .result-v2 .result-steps{color:var(--muted)}
:where(html[data-theme=dark]) body .result-v2 .result-steps i{background-color:var(--d-edge)}
:where(html[data-theme=dark]) body .result-v2 .result-steps .current{color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) body .result-v2 .document-actions .is-copied{background-color:var(--d-cit-tint);color:var(--d-cit-ink);border-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .export-menu .ic,:where(html[data-theme=dark]) .share-menu .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .shared-page-preview{border-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) body .result-v2.is-prompt .result-surface{border-color:var(--d-line);background-color:var(--d-quiet);box-shadow:0 2px 12px #00000025}
:where(html[data-theme=dark]) body .result-v2 .prompt-canvas{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) body .result-v2 .prompt-sheet{background-color:transparent;box-shadow:none}
:where(html[data-theme=dark]) body .result-v2 .prompt-sheet h2{color:var(--ink)}
:where(html[data-theme=dark]) body .result-v2 .prompt-sheet pre{border-left-color:var(--d-line)}
:where(html[data-theme=dark]) body .result-v2.is-prompt .prompt-footer{background-color:var(--d-soft);border-top-color:var(--d-line)}
:where(html[data-theme=dark]) body .result-v2.is-prompt .result-surface.prompt-arrival::before{background:conic-gradient(from var(--prompt-phase),var(--d-soft) 0deg,var(--d-soft) 210deg,#4458ac 270deg,#e4ee99 315deg,var(--d-soft) 360deg)}
:where(html[data-theme=dark]) body .prompt-arrival [data-prompt-title]::after{color:var(--d-accent)}
:where(html[data-theme=dark]) .result-next-review>p,:where(html[data-theme=dark]) .next-sources{color:var(--muted)}
:where(html[data-theme=dark]) .result-next-review select{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .result-next-review .next-quote{color:var(--d-accent);border-top-color:var(--d-cit-line)}
:where(html[data-theme=dark]) .result-next-review .next-error{color:var(--d-red)}
:where(html[data-theme=dark]) body .result-v2 .document-canvas>.previous-result.prompt-sheet{border-color:var(--d-line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .result-viewbar .result-reading{background-color:transparent}
:where(html[data-theme=dark]) body .result-v2 .result-next{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) body .result-v2 .result-next>.label{background-color:var(--citron);color:#3f4c1b}
:where(html[data-theme=dark]) body .result-v2 .result-next>p{color:var(--muted)}
:where(html[data-theme=dark]) body .result-v2 .next-tool-list button{border-color:var(--d-line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) body .result-v2 .next-tool-list button:hover{background-color:var(--d-soft);border-color:var(--d-soft-line)}
:where(html[data-theme=dark]) body .result-v2 .next-tool-list .next-icon{background-color:var(--d-soft)}
:where(html[data-theme=dark]) body .result-v2 .next-tool-list small{color:var(--muted)}
:where(html[data-theme=dark]) body .result-v2 .result-next>.choose-other{background-color:var(--d-quiet);border-color:var(--d-line)}
:where(html[data-theme=dark]) .billing-error,:where(html[data-theme=dark]) body .destination .billing-error{color:var(--d-red)}
:where(html[data-theme=dark]) .review-tool{background-color:var(--d-quiet);border-color:var(--d-line)}
:where(html[data-theme=dark]) .review-tool>span{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .task-review .review-tool p{color:var(--muted)}
:where(html[data-theme=dark]) .review-sources a{border-color:var(--line)}
:where(html[data-theme=dark]) .review-sources a>.ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .review-topics,:where(html[data-theme=dark]) .task-review .review-section>p{color:var(--muted)}
:where(html[data-theme=dark]) .review-settings>section{border-color:var(--line)}
:where(html[data-theme=dark]) .review-settings .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .review-confirm{border-top-color:var(--line)}
:where(html[data-theme=dark]) .task-review #host-quote{color:var(--d-accent)}
:where(html[data-theme=dark]) .task-review #host-task-error{color:var(--d-red)}
:where(html[data-theme=dark]) .topic-bulk{color:var(--muted)}
:where(html[data-theme=dark]) .topic-bulk button{background-color:transparent}
:where(html[data-theme=dark]) .home-tool-picker{border-color:var(--d-line);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .home-tool-picker .ic{color:var(--d-accent)}
:where(html[data-theme=dark]) .compact-connections{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .connection-row{border-top-color:var(--line)}
:where(html[data-theme=dark]) .connection-row p{color:var(--muted)}
:where(html[data-theme=dark]) .connection-row-icon{color:var(--d-accent)}
:where(html[data-theme=dark]) .connection-row-note{color:var(--muted)}
:where(html[data-theme=dark]) .chat-ai-pills>button{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .chat-ai-pills>button[aria-pressed=true]{border-color:var(--d-soft-line);background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .chat-ai-pills .chat-ai-add{color:var(--d-accent)}
:where(html[data-theme=dark]) .support-heading>span{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .support-faq details{border-top-color:var(--line);border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .support-faq details>p,:where(html[data-theme=dark]) .support-contact>p,:where(html[data-theme=dark]) .support-address{color:var(--muted)}
:where(html[data-theme=dark]) .support-feedback textarea{border-color:var(--d-edge);background-color:var(--d-surface);color:var(--ink)}
:where(html[data-theme=dark]) .support-feedback textarea:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) body .example-context .example-action-note{color:var(--d-accent)}
:where(html[data-theme=dark]) .mcp-explainer{color:var(--muted)}
:where(html[data-theme=dark]) .mcp-section .connection-row{border-top-color:var(--line)}
:where(html[data-theme=dark]) .home-new-task{border-color:var(--d-edge);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .home-start-paths .button:not(.primary){background-color:var(--d-quiet);color:var(--d-accent);border-color:var(--d-line)}
:where(html[data-theme=dark]) .history-controls{border-bottom-color:var(--line)}
:where(html[data-theme=dark]) .history-controls>label:not(.history-search){color:var(--muted)}
:where(html[data-theme=dark]) .history-controls select{border-color:var(--line);background-color:var(--d-surface);color:var(--ink)}
:where(html[data-theme=dark]) .history-search{border-color:var(--line)}
:where(html[data-theme=dark]) .history-search>.ic{color:var(--muted)}
:where(html[data-theme=dark]) .history-search input{background-color:transparent}
:where(html[data-theme=dark]) .history-row time{color:var(--muted)}
:where(html[data-theme=dark]) .ob-appearance{border-color:var(--line);background-color:var(--d-surface);color:var(--muted)}
:where(html[data-theme=dark]) .ob-appearance:has(input:checked){background-color:var(--d-quiet);border-color:var(--d-accent);color:var(--d-accent);box-shadow:0 0 0 1px var(--d-accent)}
:where(html[data-theme=dark]) .ob-appearance:has(input:focus-visible){outline-color:var(--d-soft-line)}
:where(html[data-theme=dark]) .weekly-notification{border-top-color:var(--line)}
:where(html[data-theme=dark]) .weekly-unavailable{color:var(--d-muted);border-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .weekly-unavailable input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .connection-item{background-color:var(--d-surface);border-color:var(--line)}
:where(html[data-theme=dark]) .connection-row-icon{border-color:var(--line);background-color:var(--d-quiet);color:var(--d-accent)}
:where(html[data-theme=dark]) .connection-status{border-color:var(--d-line);color:var(--d-muted);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .connection-help{color:var(--muted)}
:where(html[data-theme=dark]) .home-received{border-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .home-received small{color:var(--muted)}
:where(html[data-theme=dark]) .adjust-fields select{border-color:var(--line);background-color:var(--d-surface);color:var(--ink)}
:where(html[data-theme=dark]) .adjust-memo-note{background-color:var(--d-quiet);border-color:var(--d-line)}
:where(html[data-theme=dark]) .document-actions [data-result-action="adjust"]{color:var(--d-accent);background-color:var(--d-quiet);border-color:var(--d-line)}
@media(max-width:600px){
:where(html[data-theme=dark]) body .result-v2 .result-next:has(.adjust-review){border-color:var(--line);box-shadow:0 12px 40px #00000053;background-color:var(--d-surface)}
}
:where(html[data-theme=dark]) .example-context .example-intro,:where(html[data-theme=dark]) .adjust-review .adjust-length-note{color:var(--muted)}
@media(min-width:601px){
:where(html[data-theme=dark]) .desktop-source-summary{color:var(--muted)}
:where(html[data-theme=dark]) body .result-v2 .document-actions .result-reading{border-color:var(--line);background-color:var(--d-surface);color:var(--d-accent)}
:where(html[data-theme=dark]) body .result-v2 .document-sheet{box-shadow:none}
}
@media(max-width:600px){
:where(html[data-theme=dark]) body:has(.mobile-result){background-color:var(--d-surface)}
:where(html[data-theme=dark]) .mobile-result{background-color:var(--d-surface);color:var(--ink)}
:where(html[data-theme=dark]) .mobile-result-header{border-bottom-color:var(--d-line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .mobile-result-header>.icon{background-color:transparent}
:where(html[data-theme=dark]) .mobile-result-kind>svg{color:var(--d-accent)}
:where(html[data-theme=dark]) .mobile-document-scroll{background-color:var(--d-surface)}
:where(html[data-theme=dark]) .mobile-document-sheet>h2{color:var(--ink)}
:where(html[data-theme=dark]) .mobile-document-sheet>pre{color:var(--d-ink)}
:where(html[data-theme=dark]) .mobile-prompt .mobile-document-sheet{background-color:var(--d-quiet);border-left-color:var(--d-accent)}
:where(html[data-theme=dark]) .mobile-prompt .mobile-document-sheet>h2{color:var(--d-accent)}
:where(html[data-theme=dark]) .mobile-prompt .mobile-document-sheet>pre{color:var(--d-ink)}
:where(html[data-theme=dark]) .mobile-result-trail .previous-result{border-bottom-color:var(--line);background-color:var(--d-quiet);box-shadow:none}
:where(html[data-theme=dark]) .mobile-result-actions{border-top-color:var(--d-line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .mobile-action{background-color:transparent;color:var(--d-muted)}
:where(html[data-theme=dark]) .mobile-action.primary{background-color:var(--blue);color:#fff}
:where(html[data-theme=dark]) .mobile-action.is-copied{color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .mobile-action:focus-visible{outline-color:var(--d-soft-line)}
:where(html[data-theme=dark]) .mobile-result-options .next-tool-list button{border-color:var(--line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .mobile-result-options .next-tool-list small{color:var(--muted)}
:where(html[data-theme=dark]) dialog.result-sheet{border-color:var(--line);box-shadow:0 -15px 60px #00000052}
:where(html[data-theme=dark]) dialog.result-sheet::backdrop{background-color:#050810a6}
:where(html[data-theme=dark]) dialog.result-sheet .close{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) dialog.result-sheet .sheet-grip{background-color:transparent}
:where(html[data-theme=dark]) dialog.result-sheet .sheet-grip span{background-color:var(--d-edge)}
}
:where(html[data-theme=dark]) .result-start-line{color:var(--muted)}
:where(html[data-theme=dark]) .desktop-source-summary .textlink{background-color:transparent;color:var(--d-accent)}
:where(html[data-theme=dark]) .missing-result-sources>.label{color:var(--d-muted)}
:where(html[data-theme=dark]) .missing-result-sources>.button{background-color:#4458AC;border-color:#4458AC;color:#FCFCFF}
:where(html[data-theme=dark]) body .home-new-task74{background-color:#4458AC;color:#FCFCFF}
:where(html[data-theme=dark]) body .home-new-task74 h2,:where(html[data-theme=dark]) body .home-new-task74 .home-task-intro>p{color:#FCFCFF}
:where(html[data-theme=dark]) body .home-new-task74>.button{background-color:#E4EE99;color:#263153;border-color:#E4EE99}
:where(html[data-theme=dark]) body .home-new-task74>.button:hover{background-color:#FCFCFF;border-color:#FCFCFF}
:where(html[data-theme=dark]) body .home-new-task74 .home-received{background-color:#EEF0FC;color:#263153}
:where(html[data-theme=dark]) .tool-first-choice>.textlink{background-color:transparent;color:var(--d-accent)}
:where(html[data-theme=dark]) .tool-first-choice.is-empty{background-color:var(--d-soft)}
:where(html[data-theme=dark]) body .tool2-sources>.textlink{color:var(--d-accent)}
:where(html[data-theme=dark]) .missing-result-sources>p{color:var(--d-muted)}
:where(html[data-theme=dark]) body .home-illustrated{background-color:var(--d-soft);color:var(--d-ink);border-color:var(--d-line)}
:where(html[data-theme=dark]) body .home-illustrated h2{color:var(--d-accent)}
:where(html[data-theme=dark]) body .home-illustrated .home-task-intro>p{color:var(--d-muted)}
:where(html[data-theme=dark]) body .home-illustrated .home-task-main>.button{background-color:#E4EE99;color:#263153;border-color:#D1DD7D}
:where(html[data-theme=dark]) body .home-illustrated .home-task-main>.button:hover{background-color:#FCFCFF;border-color:#4458AC}
:where(html[data-theme=dark]) .banner-orbit{border-color:var(--d-line)}
:where(html[data-theme=dark]) .banner-paper{background-color:var(--d-surface);border-color:var(--d-line)}
:where(html[data-theme=dark]) .banner-paper-corner{background-color:#E4EE99;border-color:var(--d-line);color:#142238}
:where(html[data-theme=dark]) .banner-paper-icon{color:var(--d-accent)}
:where(html[data-theme=dark]) .banner-rule,:where(html[data-theme=dark]) .banner-paper-chips>i{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .banner-paper-chips>i:first-child{background-color:#E4EE99;color:#142238}
:where(html[data-theme=dark]) .banner-tool{border-color:var(--d-line);background-color:var(--d-surface);color:var(--d-accent)}
:where(html[data-theme=dark]) .banner-tool-1{background-color:#E4EE99;color:#142238}
:where(html[data-theme=dark]) .first-tool-card{border-color:var(--d-line);background-color:var(--d-surface);color:var(--d-ink)}
:where(html[data-theme=dark]) .first-tool-card[aria-checked=true]{border-color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .first-tool-icon{border-color:var(--d-line);color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .first-tool-copy>span{color:var(--d-muted)}
:where(html[data-theme=dark]) .first-tool-cost{color:var(--d-accent)}
:where(html[data-theme=dark]) .first-tool-card[aria-checked=true]>.radio{border-color:var(--d-accent)}
:where(html[data-theme=dark]) .first-tool-quote-note{color:var(--d-muted)}
:where(html[data-theme=dark]) .source-step-options{border-top-color:var(--d-line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .source-step-options>header>span{color:var(--d-accent)}
:where(html[data-theme=dark]) .source-step-options .textlink{background-color:transparent;color:var(--d-accent)}
:where(html[data-theme=dark]) .other-tool-picker .button small{color:var(--d-muted)}
:where(html[data-theme=dark]) .reload-auto-panel{border-color:var(--d-line);background-color:var(--d-surface)}
:where(html[data-theme=dark]) #reload-auto{border-color:var(--d-edge);background-color:var(--d-soft)}
:where(html[data-theme=dark]) #reload-auto::before{background-color:var(--d-surface);box-shadow:0 1px 3px #00000065}
:where(html[data-theme=dark]) #reload-auto:checked{background-color:#4458AC;border-color:#4458AC}
:where(html[data-theme=dark]) #reload-auto:checked::before{background-color:var(--d-cit-tint2)}
:where(html[data-theme=dark]) #reload-auto:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .reload-auto-panel>p{color:var(--d-muted)}
:where(html[data-theme=dark]) #reload-auto-status{color:var(--d-accent)}
:where(html[data-theme=dark]) #reload-auto-status.is-error{color:var(--d-red)}
:where(html[data-theme=dark]) .reload-auto-manual{border-top-color:var(--d-line);color:var(--d-muted)}
:where(html[data-theme=dark]) .reload-auto-progress{border-color:var(--d-line);border-top-color:var(--d-accent)}
:where(html[data-theme=dark]) .tool2-sources .source-identity{color:var(--ink)}
:where(html[data-theme=dark]) .tool2-sources .source-extra{color:var(--d-accent);background-color:var(--d-soft)}
:where(html[data-theme=dark]) .tool2-sources summary>.source-details{color:var(--d-accent)}
:where(html[data-theme=dark]) .tool2-sources .source-separator{color:var(--muted)}
:where(html[data-theme=dark]) .result-pin-card{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-ink)}
:where(html[data-theme=dark]) .result-pin-icon{background-color:#e4ee99;color:#4458ac}
:where(html[data-theme=dark]) .result-pin-card h2{color:var(--d-ink)}
:where(html[data-theme=dark]) .result-pin-card p{color:var(--d-muted)}
:where(html[data-theme=dark]) .result-pin-buttons .button{border-color:var(--d-edge);background-color:var(--d-surface);color:var(--d-accent);box-shadow:none}
:where(html[data-theme=dark]) .result-pin-buttons .textlink{background-color:transparent;color:var(--d-muted)}
:where(html[data-theme=dark]) .result-pin-buttons button:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .quote-reading{border-color:var(--line);background-color:var(--d-quiet);color:var(--ink)}
:where(html[data-theme=dark]) .quote-reading li span{color:var(--d-accent)}
:where(html[data-theme=dark]) .recent-toggle{color:var(--d-ink)}
:where(html[data-theme=dark]) .recent-toggle input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .recent-scope{color:var(--d-muted)}
:where(html[data-theme=dark]) .recent-providers section{background-color:var(--d-quiet);border-color:var(--d-edge)}
:where(html[data-theme=dark]) .recent-providers span{color:var(--d-muted)}
:where(html[data-theme=dark]) .recent-toolbar select,:where(html[data-theme=dark]) .recent-filters button{border-color:var(--d-edge);background-color:var(--d-surface);color:var(--d-ink)}
:where(html[data-theme=dark]) .recent-filters button[aria-pressed=true]{background-color:#e4ee99;border-color:#c9d67b;color:#263153}
:where(html[data-theme=dark]) .recent-list{border-color:var(--d-edge);background-color:var(--d-surface)}
:where(html[data-theme=dark]) .recent-chat-row{border-bottom-color:var(--d-line);background-color:var(--d-surface);color:var(--d-ink)}
:where(html[data-theme=dark]) .recent-chat-row:hover:not(:disabled){background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .recent-chat-row:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .recent-chat-meta{color:var(--d-muted)}
:where(html[data-theme=dark]) .recent-chat-meta b{color:var(--d-ink)}
:where(html[data-theme=dark]) .recent-chat-action{color:var(--d-accent)}
:where(html[data-theme=dark]) .recent-empty,:where(html[data-theme=dark]) .recent-loading{color:var(--d-muted)}
:where(html[data-theme=dark]) .recent-empty h2{color:var(--d-ink)}
:where(html[data-theme=dark]) .recent-error{background-color:var(--d-amber);border-color:var(--d-amber-line)}
:where(html[data-theme=dark]) .recent-notices{color:var(--d-muted)}
:where(html[data-theme=dark]) .guest-account-footer{border-top-color:var(--d-line)}
:where(html[data-theme=dark]) .guest-account-footer span{color:var(--muted,#6b7280)}
:where(html[data-theme=dark]) .review-edit{background-color:transparent;color:var(--d-accent)}
:where(html[data-theme=dark]) .review-edit:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .review-mask-state,:where(html[data-theme=dark]) .task-review .review-settings .review-mask p{color:var(--muted)}
:where(html[data-theme=dark]) .review-mask-help summary{color:var(--d-accent)}
:where(html[data-theme=dark]) .review-mask-help summary:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .task-tool{background-color:var(--blue);color:#fff}
:where(html[data-theme=dark]) .skeleton-row{background:linear-gradient(90deg,var(--d-quiet) 25%,var(--d-quiet) 50%,var(--d-quiet) 75%)}
:where(html[data-theme=dark]) .noext-notice{border-color:var(--d-line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) body .result-title-line>h2,:where(html[data-theme=dark]) body .result-v2 .result-title-line>h2{color:var(--ink)}
:where(html[data-theme=dark]) .result-text{color:var(--d-ink)}
:where(html[data-theme=dark]) .result-text .rt-h,:where(html[data-theme=dark]) .result-text .rt-sub{color:var(--ink)}
:where(html[data-theme=dark]) .result-text .rt-list li::marker{color:var(--d-accent)}
:where(html[data-theme=dark]) .result-text .rt-rule{border-top-color:var(--line)}
:where(html[data-theme=dark]) .result-text code{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .result-text .rt-grounds{color:var(--muted)}
:where(html[data-theme=dark]) .result-text .rt-lv-strong{background-color:#3a485c;color:#fff}
:where(html[data-theme=dark]) .result-text .rt-lv-moderate,:where(html[data-theme=dark]) .result-text .rt-lv-other{background-color:#dfe5ef;color:#344256}
:where(html[data-theme=dark]) .result-text .rt-lv-thin{background-color:transparent;box-shadow:inset 0 0 0 1px #617089;color:#4f5b73}
:where(html[data-theme=dark]) .prompt-sheet .result-text,:where(html[data-theme=dark]) .mobile-prompt .result-text{color:var(--d-ink)}
:where(html[data-theme=dark]) body .result-v2 .prompt-sheet .result-text{border-left-color:var(--d-line)}
:where(html[data-theme=dark]) .mobile-prompt .result-title-line>h2{color:var(--d-accent)}
:where(html[data-theme=dark]) #modal .share-title,:where(html[data-theme=dark]) #modal .share-title b{color:var(--ink)}
:where(html[data-theme=dark]) .result-next .missing-result-sources{border-top-color:var(--line)}
:where(html[data-theme=dark]) .result-next .missing-result-sources>p{color:var(--muted)}
:where(html[data-theme=dark]) .marketing-panel .marketing-state{color:var(--ink)}
:where(html[data-theme=dark]) .marketing-panel .marketing-confirm{border-color:var(--line);background-color:var(--wash)}
:where(html[data-theme=dark]) .marketing-panel .marketing-confirm p{color:var(--ink)}
:where(html[data-theme=dark]) .marketing-panel .marketing-error{color:var(--d-red)}
:where(html[data-theme=dark]) .marketing-panel .marketing-done{color:var(--muted)}
:where(html[data-theme=dark]) .task-tool,:where(html[data-theme=dark]) .document-toolbar .toolbar-tool,:where(html[data-theme=dark]) .result-title-line .task-tool,:where(html[data-theme=dark]) .share-title .task-tool{background-color:var(--blue);color:#fff}
:where(html[data-theme=dark]) .pack-line,:where(html[data-theme=dark]) .purchase-row{border-top-color:var(--line)}
:where(html[data-theme=dark]) .pack-line small,:where(html[data-theme=dark]) .purchase-main small,:where(html[data-theme=dark]) .purchase-side small{color:var(--muted)}
:where(html[data-theme=dark]) .purchase-flag{border-color:var(--line);background-color:var(--wash);color:var(--muted)}
:where(html[data-theme=dark]) .uck-ai-label{color:var(--d-ink)}
:where(html[data-theme=dark]) .uck-ai-mark{border-color:var(--d-line);background-color:var(--d-quiet);color:var(--d-muted)}
:where(html[data-theme=dark]) .uck-ai-mark:after{border-color:white;background-color:#2348ef}
/* — Compléments (rôles que la règle claire n'exprime pas ou qu'on inverse en sombre) — */
html[data-theme=dark] body{background:var(--d-bg);color:var(--d-ink)}
html[data-theme=dark] .status{background:var(--d-ink);color:var(--d-bg)}
html[data-theme=dark] dialog{background:var(--d-surface);color:var(--d-ink)}
html[data-theme=dark] dialog::backdrop{background:#050810a6}
html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{color-scheme:dark}
html[data-theme=dark] ::placeholder{color:var(--d-muted);opacity:.9}
html[data-theme=dark] img[src$="uncook-logo.svg"]{box-sizing:content-box;background:#FCFCFF;border-radius:10px;padding:7px 10px}
/* Niveaux de confiance en sombre : mêmes trois gris ardoise, éclaircis ; le bleu plein reste celui de la pastille d'outil */
html[data-theme=dark] .result-text .rt-lv-strong{background:#64738F;color:#fff;box-shadow:none}
html[data-theme=dark] .result-text .rt-lv-moderate,html[data-theme=dark] .result-text .rt-lv-other{background:#3A465F;color:#E3E8F5;box-shadow:none}
html[data-theme=dark] .result-text .rt-lv-thin{background:transparent;box-shadow:inset 0 0 0 1px #8C99B5;color:#C5CCDF}
html[data-theme=dark] .skeleton-row{background:linear-gradient(90deg,var(--d-quiet) 25%,var(--d-soft) 50%,var(--d-quiet) 75%)}
html[data-theme=dark] .ai-badge i,html[data-theme=dark] .uck-ai-mark:after{border-color:var(--d-quiet)}
/* ═══ THEME-SOMBRE:FIN ═══ */

/* W12: a separate rename button beside the task link; no nested interactive control. */
.task-row-wrap{display:flex;align-items:center;gap:12px;min-width:0;border-bottom:1px solid var(--line)}
.task-row-wrap>.task-row{flex:1;min-width:0;border-bottom:0}
.task-rename{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:40px;padding:8px 10px;border:1px solid #DDE2F1;border-radius:9px;color:#4458AC;background:#FCFCFF;font:500 11px DM,sans-serif;cursor:pointer}
.task-rename:hover{background:#EEF0FC}.task-rename:focus-visible{outline:3px solid #4458AC;outline-offset:3px}.task-rename .ic{width:16px;height:16px}.task-rename:disabled{opacity:.5;cursor:wait}
#modal:has(#rename-task-form){width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #DDE2F1;border-radius:20px;color:#263153;background:#FCFCFF}
#modal:has(#rename-task-form) #modal-body>h2{font:700 22px/1.35 Jakarta,sans-serif;margin:14px 36px 24px 0}
#rename-task-form{display:flex;flex-direction:column;gap:10px}
#rename-task-form>label{font:600 13px DM,sans-serif}
#rename-task-title{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #AEB8D2;border-radius:10px;background:white;color:#263153;font:400 15px/1.5 DM,sans-serif}
#rename-task-title:focus-visible{outline:3px solid #4458AC;outline-offset:2px}#rename-task-title[aria-invalid=true]{border-color:#9D3333}
#rename-task-limit{margin:0;color:#5C6480;font:400 12px/1.6 DM,sans-serif}
#rename-task-status{min-height:22px;margin:5px 0;color:#9D3333;font:400 12px/1.6 DM,sans-serif}#rename-task-form[aria-busy=true] #rename-task-status{color:#4458AC}
.rename-task-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.rename-task-actions .button{min-height:46px}
@media(max-width:600px){.task-row-wrap{gap:8px}.task-rename{width:40px;height:44px;padding:8px}.task-rename>span{display:none}.task-row-wrap .task-row{min-width:0}.task-row-wrap .task-row time{font-size:9px}.task-row-wrap .task-name{min-width:0}.is-history>.history-row{grid-template-columns:max-content minmax(0,1fr)}#modal:has(#rename-task-form){padding:22px 20px}#modal:has(#rename-task-form) #modal-body>h2{font-size:20px}.rename-task-actions .button{flex:1;justify-content:center}}

/* W12 en thème sombre : les couleurs du bouton et du panneau suivent les jetons --d-* (le dessin de BRAND est antérieur au thème sombre). */
html[data-theme=dark] .task-rename{border-color:var(--d-line);background:var(--d-surface);color:var(--d-accent)}
html[data-theme=dark] .task-rename:hover{background:var(--d-soft)}
html[data-theme=dark] .task-rename:focus-visible,html[data-theme=dark] #rename-task-title:focus-visible{outline-color:var(--d-accent)}
html[data-theme=dark] #modal:has(#rename-task-form){border-color:var(--d-line);background:var(--d-surface);color:var(--d-ink)}
html[data-theme=dark] #rename-task-title{border-color:var(--d-edge);background:var(--d-quiet);color:var(--d-ink)}
html[data-theme=dark] #rename-task-title[aria-invalid=true]{border-color:#FF9C9C}
html[data-theme=dark] #rename-task-limit{color:var(--d-muted)}
html[data-theme=dark] #rename-task-status{color:#FF9C9C}html[data-theme=dark] #rename-task-form[aria-busy=true] #rename-task-status{color:var(--d-accent)}

/* ═══ CORBEILLE (PRODUIT-CORBEILLE 03/11) : « Move to trash » dans History et sous un résultat, la page Trash, ses confirmations ═══ */
.task-row-wrap.history-item{gap:6px}
.history-item .history-trash{flex:none;width:40px;min-height:40px;padding:8px;color:var(--muted);border-color:transparent;background:transparent}
.history-item .history-trash .ic{width:18px;height:18px}
.history-item .history-trash:hover,.history-item .history-trash:focus-visible{color:#92352b;border-color:var(--line);background:var(--wash)}
.result-trash{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:8px 0;min-height:36px;background:none;border:0;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}
.result-trash .ic{width:16px;height:16px}
.result-trash:hover,.result-trash:focus-visible{color:#92352b}
.trash-page .heading p{max-width:640px}
.trash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px}
.trash-count{font-size:12px;color:var(--muted);font-weight:600}
.button.trash-empty-btn{font-size:12px;min-height:38px;padding:8px 13px;color:#92352b}
.trash-empty-btn .ic{width:16px;height:16px}
.trash-row{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.trash-row .task-name{min-width:0}
.trash-row .task-name b{overflow-wrap:anywhere;font-size:13px}
.trash-row .task-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0}
.trash-row small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.trash-left.is-soon{color:#92352b;font-weight:700}
.trash-actions{display:flex;gap:8px}
.trash-actions .button{font-size:12px;min-height:38px;padding:8px 13px}
.button.trash-forever{color:#92352b}
.trash-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 0;color:var(--muted)}
.trash-empty .ic{width:28px;height:28px}
.trash-empty .empty{margin:0}
.trash-confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.button.primary.trash-danger{background:#92352b;border-color:#92352b;color:#fff}
@media(max-width:600px){.trash-row{grid-template-columns:max-content minmax(0,1fr);gap:10px 12px}.trash-actions{grid-column:1/-1}.trash-actions .button{flex:1}.trash-toolbar{flex-wrap:wrap}.trash-confirm-actions .button{flex:1}}
html[data-theme=dark] .history-item .history-trash:hover,html[data-theme=dark] .history-item .history-trash:focus-visible,html[data-theme=dark] .result-trash:hover,html[data-theme=dark] .result-trash:focus-visible,html[data-theme=dark] .button.trash-forever,html[data-theme=dark] .button.trash-empty-btn,html[data-theme=dark] .trash-left.is-soon{color:var(--d-red)}
html[data-theme=dark] .history-item .history-trash:hover{background:var(--d-quiet)}
html[data-theme=dark] .button.primary.trash-danger{background:var(--d-red);border-color:var(--d-red);color:#13182B}
/* ═══ CORBEILLE:FIN ═══ */

.workspace-switch-ai{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;font-weight:600}
.workspace-switch-ai input,.workspace-e3-topic input{accent-color:var(--blue,#4458ac)}
/* ═══ ARRIVÉE:DÉBUT — PRODUIT 11/11 (LEAD 10:5x et 11:0x UTC, revue réelle de Kevin) : « Review and launch » (outil déjà choisi dans l'extension),
   la carte du chat (grille et arrivée), « Switch to another AI » en un bloc, les sujets repliés en une ligne. Jetons du workspace seulement. ═══ */
.chat-cards{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;flex:none;margin-bottom:14px;min-width:0}
.chat-card{flex:1 1 300px;min-width:0;display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.chat-card>.ai-badge{width:38px;height:38px;border-radius:10px;font-size:11px;margin-top:1px}
.chat-card-main{flex:1;min-width:0}
.chat-card h2{font:700 20px/1.3 Jakarta,sans-serif;letter-spacing:-.4px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.chat-card-meta{display:flex;flex-wrap:wrap;margin-top:5px;font-size:13px;line-height:1.5;color:var(--muted)}
.chat-card-meta>*+*:before{content:'·';margin:0 8px}
.chat-card-sources{margin-top:6px;font-size:12px}
.chat-card-sources>summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;color:var(--blue);font-weight:600}
.chat-card-sources>summary::-webkit-details-marker{display:none}
.chat-card-sources[open]>summary>span{transform:rotate(180deg)}
.chat-card-sources>.picked-chat{margin:6px 0 0;background:var(--wash)}
.chat-card-sources>.picked-chat button{flex:none;min-width:44px;min-height:44px;border:0;background:none;font-size:18px;color:var(--muted)}
.chat-card-add{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px dashed var(--line);border-radius:14px;font-size:13px;font-weight:600}
/* aucun chat : une seule ligne (le compte, « Add chats »), pas plus haute que la ligne d'avant */
.chat-cards.is-empty{flex-wrap:nowrap;align-items:center;padding:0 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.chat-cards.is-empty .chat-card-add{flex:0 0 auto;min-height:44px;padding:0;border:0;font-size:12px}
.chat-cards-none{flex:1;min-width:0;font-size:12px;font-weight:700;color:var(--ink)}
/* sur la grille, la carte tient en deux lignes (le titre, puis l'IA, les messages et la date) : « View sources » à droite, sa ligne dessous une fois ouverte */
#main:has(.tool2-body)>.chat-cards{margin-bottom:12px}
#main:has(.tool2-body)>.chat-cards .chat-card{padding:11px 16px;align-items:center}
/* 11/11 (LEAD 13:1x) : « Voir les sources » dépliée, la pastille de l'IA reste en haut, à côté du titre (elle se centrait sur toute la carte) */
#main:has(.tool2-body)>.chat-cards .chat-card:has(.chat-card-sources[open])>.ai-badge{align-self:flex-start}
#main:has(.tool2-body)>.chat-cards .chat-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center}
#main:has(.tool2-body)>.chat-cards .chat-card h2{grid-column:1;font-size:17px;-webkit-line-clamp:1}
#main:has(.tool2-body)>.chat-cards .chat-card-meta{grid-column:1;margin-top:2px;font-size:12px}
#main:has(.tool2-body)>.chat-cards .chat-card-sources{grid-column:2;grid-row:1/span 2;margin-top:0}
#main:has(.tool2-body)>.chat-cards .chat-card-sources[open]{grid-column:1/-1;grid-row:3;margin-top:4px}
/* la grille : une colonne (les sujets ne sont plus une colonne), le bloc Switch à la suite des outils */
.tool2-card.tool2-card-v2{display:flex;flex-direction:column;gap:14px;overflow:auto}
.tool2-card-v2>.tool2-choices{flex:none;border-left:0;padding-left:0}
.tool2-card-v2>.topics-fold,.tool2-card-v2>.switch-block{flex:none}
@media(min-width:1181px){.tool2-card-v2>.tool2-choices .tool-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.tool2-card-v2 .tool-group-profile:not(:has(>.label)){padding-top:23px}}
/* ⑤ un seul bloc : l'interrupteur, puis le choix de l'IA dessous */
.switch-block{min-width:0;border:1px solid var(--line);border-radius:11px;padding:2px 14px;background:var(--paper)}
.switch-block>.workspace-switch-ai{justify-content:space-between;padding:0;font-size:13px}
.switch-block>.workspace-switch-ai .switch-label{margin-left:12px}
.switch-block>.switch-destination{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);align-items:center;gap:8px 16px;border:0;border-radius:0;padding:12px 0}
.switch-block>.workspace-switch-ai+.switch-destination{border-top:1px solid var(--line)}
/* ⑥ les sujets en une ligne, la liste au clic sur « Edit » */
.topics-fold{min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.topics-fold>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:2px 14px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}
.topics-fold>summary::-webkit-details-marker{display:none}
.topics-fold>summary>.ic{width:18px;height:18px;color:var(--blue)}
.topics-fold-sum{flex:1;min-width:0}
.topics-fold-edit{flex:none;font-size:12px}
.topics-fold-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.topics-fold-body>p{margin-top:12px;font-size:12px;line-height:1.6;color:var(--muted)}
.topics-fold .topic-list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:8px;max-height:none;overflow:visible}
.topics-fold .topic-list label{font-size:12px;line-height:1.5;padding:10px;min-height:44px}
.topics-fold .topic-list input{width:16px;height:16px;margin:3px 0}
/* ① « Review and launch » */
#main.flow-page:has(.arr-body){max-width:1000px!important}
.arr-body{display:block;overflow-y:auto;min-height:0;margin-bottom:0;padding:0 2px 18px}
.arr-col{display:grid;gap:14px;min-width:0}
.arr-col>.chat-cards{margin-bottom:0}
.arr-tool{min-width:0;padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.arr-tool-head{display:flex;align-items:flex-start;gap:16px}
.arr-tool-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#f0f3ff;color:var(--blue)}
.arr-tool-icon .ic{width:26px;height:26px}
.arr-tool-head>div{flex:1;min-width:0}
.arr-tool-head h2{font:700 26px/1.2 Jakarta,sans-serif;letter-spacing:-.8px}
.arr-tool-head p{margin-top:6px;font-size:14px;line-height:1.55;color:var(--muted)}
.arr-change{flex:none;min-height:44px;border:0;background:none;padding:0 2px;font-size:13px;white-space:nowrap}
.arr-options{display:grid;gap:10px;margin-top:20px}
:where(html[data-theme=dark]) .chat-card-sources>summary{color:var(--d-accent)}
:where(html[data-theme=dark]) .arr-tool-icon{background-color:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .topics-fold>summary>.ic{color:var(--d-accent)}
@media(max-width:600px){
 .chat-cards{gap:8px;margin-bottom:10px}
 .chat-card{flex-basis:100%;padding:13px 14px;gap:11px;border-radius:12px}
 .chat-card>.ai-badge{width:32px;height:32px;font-size:10px}
 .chat-card h2{font-size:17px}
 .chat-card-meta{font-size:12px}
 .chat-card-add{flex:1 1 100%;border-radius:12px}
 #main:has(.tool2-body)>.chat-cards .chat-card{align-items:flex-start;padding:11px 12px}
 #main:has(.tool2-body)>.chat-cards .chat-card-main{display:block}
 #main:has(.tool2-body)>.chat-cards .chat-card h2{font-size:16px}
 #main:has(.tool2-body)>.chat-cards .chat-card-sources{margin-top:4px}
 .tool2-card.tool2-card-v2{overflow:visible;gap:12px}
 .tool2-card.tool2-card-v2>.tool2-choices{border-top:0;padding-top:0}
 .switch-block>.switch-destination{grid-template-columns:minmax(0,1fr)}
 .switch-block>.switch-destination label strong{font-size:12px}
 .switch-block>.switch-destination label span{font-size:11px}
 .switch-block>.switch-destination select{font-size:13px;min-height:44px}
 .arr-body{padding-bottom:12px}
 .arr-col{gap:10px}
 .arr-tool{padding:16px 14px;border-radius:13px}
 .arr-tool-head{flex-wrap:wrap;gap:12px}
 .arr-tool-icon{width:44px;height:44px;border-radius:11px}
 .arr-tool-head h2{font-size:22px}
 .arr-tool-head p{font-size:13px}
 .arr-change{order:3;flex-basis:100%;justify-content:flex-start;text-align:left;min-height:40px}
 .arr-options{margin-top:12px}
}
/* ═══ ARRIVÉE:FIN ═══ */
.workspace-profile-link .ic{flex:none}
.workspace-e3-options{display:grid;gap:12px;margin:16px 0}
.workspace-e3-options>.button{display:grid;justify-items:start;justify-content:start;gap:4px;min-height:48px;text-align:start;white-space:normal}
.workspace-e3-options>.button span:empty{display:none}
.workspace-e3-options fieldset{min-width:0;margin:0;padding:12px 16px;border:1px solid currentColor;border-radius:12px}
.workspace-e3-options legend{padding:0 5px;font-weight:700;overflow-wrap:anywhere}
.workspace-e3-topic label{display:flex;align-items:start;gap:8px;padding:8px 0;overflow-wrap:anywhere}
.workspace-e3-topic label input{flex:none}
.workspace-e3-topic p,.workspace-topic-option p{margin:0 0 8px;font-size:.875em}
#e3-status:not(:empty){margin:0 0 12px}
.workspace-reading-choice{margin:0 0 12px}

/* L'accueil tient à l'écran (Kevin 07/11 14:35 CET) : la grille borne ses deux blocs (avant, la rangée suivait son contenu et les
   lignes débordaient, coupées par #main), et une ligne qui ne tient pas est masquée par fitHomeRows() (workspace.js), pas coupée. */
.home-v2 .home-columns{grid-template-rows:minmax(0,1fr)}
.home-v2 .home-task-scroll{overflow:hidden}
.home-v2 .task-row.home-row-over{display:none}
.history-controls .history-pinned{display:flex;align-items:center;gap:8px;flex-direction:row}
@media(max-width:600px){.home-v2>.home-columns{grid-template-rows:auto auto}}

/* La barre latérale « Épinglées » tient à l'écran (LEAD 14:1x UTC) : la section prend la place restante et ne pousse plus le bas de la
   barre hors de l'écran ; fitSidePins() (workspace.js) masque les lignes qui ne tiennent pas et montre « Show all (n) ». */
.sidebar .pins{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.sidebar .pins>.pinned-link{flex:none}
.sidebar .pinned-link.pin-over{display:none}
.sidebar .pinned-more[hidden]{display:none}
.sidebar .pinned-more{color:var(--blue);font-weight:600}

/* Le chargement des conversations (07/11, LEAD 18:47 UTC) : la liste unique, la raison d'un état vide, AI Profile en lien dans la liste des outils. */
.recent-chats-page .recent-here{margin:0 0 14px;flex:none}.recent-chats-page .recent-here h2{font-size:15px;margin:0 0 8px}
.recent-chats-page .recent-here .chat-list{max-height:156px;overflow:auto;display:grid;gap:6px}
.recent-chats-page .recent-here .chat-row{min-height:0;padding:8px 14px}
.recent-chats-page .recent-list{min-height:150px}
.recent-chats-page .recent-reason{margin:6px 0 12px;color:var(--muted)}
.recent-chats-page .flow-footer{margin-top:10px}
.tool-group-profile{margin-top:0}.tool-choice-link{text-decoration:none;color:inherit}.tool-choice-link>.ic{margin-left:auto;width:18px;height:18px}
@media(max-width:600px){.tool-group-profile .tool-choice-link p{display:none}.tool-group-profile .tool-choice-link{min-height:0;padding-block:8px}}

/* QUALITÉ 07/11 (défaut d'affichage, §7) : la liste de tri des chats récents coupait son texte (« Plus récents d'abc », « Más recientes primero ») — max-width:145px plus le chevron natif. Elle prend la largeur de son texte. */

/* W16 (08/11) : l'e-mail de la semaine, une case ACTIVE (accueil sous la cloche, Réglages) — même dessin que l'ancienne case grisée, à l'encre normale. */
.weekly-email-choice{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}
.weekly-email-choice input{flex:none;accent-color:var(--blue);margin:3px 0 0}
.weekly-email-choice:has(input:disabled){color:#8d96a9;background:#f7f8fb;cursor:default}
.weekly-email-status{font-size:11px;margin:9px 0 0}.weekly-email-status.is-error{color:#b42318}
.weekly-settings>p{font-size:13px;line-height:1.6;margin:0 0 13px}
:where(html[data-theme=dark]) .weekly-email-choice{border-color:var(--line);background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .weekly-email-choice input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .weekly-email-choice:has(input:disabled){color:var(--d-muted);background-color:var(--d-quiet)}

/* 0.31 (B11) : les 8 IA des chats récents, « Mettre à jour » à côté de l'interrupteur ; une bande de pastilles (1440×900 : le pied reste dans l'écran) */
.recent-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.recent-toggle-row .recent-update{min-height:34px;font-size:13px;padding:6px 14px}.recent-ais{flex:1 0 100%;min-width:0;margin:0}.recent-toggle-row{margin-bottom:8px;row-gap:2px}.recent-toggle-row .recent-toggle{min-height:36px}.recent-toggle-row~.recent-toolbar{margin-bottom:8px}.recent-chats-page .recent-notices{padding-top:8px}.recent-providers.ais8{justify-content:flex-start;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.recent-providers.ais8 li{display:flex;min-width:0}.recent-providers.ais8 li>b,.recent-providers.ais8 li>span,.recent-providers.ais8 a,.recent-providers.ais8 button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border:1px solid #dce1ed;border-radius:999px;background:#f4f5fa;color:#263153;font:inherit;font-size:12px;text-decoration:none}.recent-providers.ais8 li:has(>b){gap:0;border:1px solid #dce1ed;border-radius:999px;background:#f4f5fa;padding:4px 10px;min-height:30px;align-items:center;column-gap:6px}.recent-providers.ais8 li:has(>b)>b,.recent-providers.ais8 li:has(>b)>span{border:0;padding:0;min-height:0;background:none}.recent-providers.ais8 b{font-size:12px;font-weight:600}.recent-providers.ais8 span{font-size:11px;color:#66708a}.recent-providers.ais8 button{cursor:pointer;border-color:#c9d1e8;background:white}.recent-providers.ais8 button span,.recent-providers.ais8 a span{color:#4458ac}.recent-providers.ais8 button:hover:not(:disabled),.recent-providers.ais8 a:hover{background:#f3f5fd;border-color:#9daee8}.recent-providers.ais8 i{font-style:normal;color:#4458ac;font-size:13px}.recent-providers.ais8 button:disabled{opacity:.6;cursor:default}
:where(html[data-theme=dark]) .recent-providers.ais8 li:has(>b),:where(html[data-theme=dark]) .recent-providers.ais8 a,:where(html[data-theme=dark]) .recent-providers.ais8 button{background-color:var(--d-quiet);border-color:var(--d-edge);color:var(--d-ink)}

/* 0.31 (QUALITÉ 13:3x, défaut d'affichage seul) : à 1440×900, avec 3 chats, la liste défilait à l'intérieur (227 contre 209 px), car la bande des 8 IA prend 18 px. Lignes 18 → 14 px en hauteur : 3 lignes tiennent sans défilement, avec 6 px de marge, et le pied reste dans l'écran. */
.recent-chats-page .recent-chat-row{padding-block:14px}

/* 10/11 (LEAD 18:2x, correction de Kevin ; PRODUIT, parcours après paiement) — LE RETOUR DU CHECKOUT SUR PLAN & BILLING (?checkout=success, la même
   boucle que /payment-v4/) : le bandeau d'état devient une carte d'état au dessin de /payment-v4/ (repère rond, lime = confirmé, lavande = en attente
   ou en retard), au lieu d'un aplat vert ou ambre. FORME SEULE : texte, rôle status, data-paiement-retour et la boucle restent ceux de workspace.js
   et hote-lot2.js ; rien ici ne touche l'achat, le portail ni les boutons. Sombre : les jetons --d-* de l'espace. */
.billing-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:10px 16px 10px 10px;border-radius:14px;border:1px solid #E3E8F8;background:#EEF0FC;color:#263153;font-weight:600;line-height:1.45}
.billing-banner:before{content:'';flex:0 0 32px;box-sizing:border-box;width:32px;height:32px;border-radius:50%;background:#fff center/16px 16px no-repeat}
.billing-banner[data-paiement-retour="attente"]:before{background:#fff;border:3px solid #DCE2FA;border-top-color:#4458AC;animation:billing-tourne 1s linear infinite}
.billing-banner[data-paiement-retour="confirme"]{border-color:#E4EE99;background:#F2F6CF;color:#263153}
.billing-banner[data-paiement-retour="confirme"]:before{background-color:#E4EE99;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23263153' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.billing-banner[data-paiement-retour="retarde"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234458AC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
@keyframes billing-tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.billing-banner[data-paiement-retour="attente"]:before{animation:none}}
:where(html[data-theme=dark]) .billing-banner{border-color:var(--d-line);background:var(--d-quiet);color:var(--d-ink)}
:where(html[data-theme=dark]) .billing-banner:before{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="attente"]:before{background:none;border-color:var(--d-soft-line);border-top-color:var(--d-accent)}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="confirme"]{border-color:var(--d-cit-line);background:var(--d-cit-tint);color:var(--d-cit-ink)}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="confirme"]:before{background-color:var(--d-cit-ink)}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="retarde"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A4B6FF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
/* (même lot) l'aplat ambre de workspace.css (.billing-banner[data-paiement-retour="retarde"]) et le gris des paragraphes de l'espace l'emportaient : on les nomme. */
/* 10/11 (LEAD 19:2x ④) : le retour du Checkout ANNULÉ (?checkout=cancel) prend la même carte d'état, lavande comme « en attente » (rien n'est
   arrivé, rien n'a été débité), repère : une croix dans un rond, au trait de « en retard ». Aucune animation ; le sombre reprend les règles existantes. */
.billing-banner[data-paiement-retour="attente"],.billing-banner[data-paiement-retour="retarde"],.billing-banner[data-paiement-retour="annule"]{border-color:#E3E8F8;background:#EEF0FC;color:#263153}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="attente"],:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="retarde"],:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="annule"]{border-color:var(--d-line);background:var(--d-quiet);color:var(--d-ink)}
.billing-banner[data-paiement-retour="annule"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234458AC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m9.2 9.2 5.6 5.6M14.8 9.2l-5.6 5.6'/%3E%3C/svg%3E")}
:where(html[data-theme=dark]) .billing-banner[data-paiement-retour="annule"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A4B6FF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m9.2 9.2 5.6 5.6M14.8 9.2l-5.6 5.6'/%3E%3C/svg%3E")}

/* 11/11 (LEAD 10:5x UTC, revue de Kevin ; PRODUIT) — « CHOISIR DES CHATS » REFAIT (workspace.js, CHOIX1111) : une ligne des IA connectées et
   « Manage AIs » (panneau des 8 IA), une liste à cocher toutes IA confondues, une recherche et UN filtre, une ligne sur les données. Les
   valeurs sont celles du panneau d'avant, dans cette feuille (encre #263153, gris #66708a, bleu #4458ac, bord #dce1ed, calme #f4f5fa,
   filet #e6e9f1, lavande #eef0fc, ambre .recent-error) ; sombre : les jetons --d-* de l'espace. Aucune nouvelle couleur. */
.choix-chats .cc-top{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;min-height:40px;margin:0 0 10px}
.choix-chats .cc-ais{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;min-width:0;font-size:13px;font-weight:600;color:#263153}
.choix-chats .cc-dot{color:#66708a;font-weight:400}
.choix-chats .cc-manage{font-size:13px;border:0;background:none;padding:6px 0;cursor:pointer;font-family:inherit}
.choix-chats .cc-refresh{margin-left:auto;width:36px;min-height:36px;padding:7px;font-size:18px;color:#263153}
.choix-chats .cc-refresh:disabled{opacity:.55;cursor:default}
.choix-chats .cc-panel{margin:0 0 14px;padding:4px 16px 10px;border:1px solid #dce1ed;border-radius:14px;background:#f4f5fa}
.choix-chats .cc-panel ul{list-style:none;margin:0;padding:0}
.choix-chats .cc-panel li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:9px 0;border-bottom:1px solid #e6e9f1;font-size:13px;color:#263153;min-width:0}
.choix-chats .cc-panel li b{font-weight:600;min-width:9.5em}
.choix-chats .cc-etat{color:#66708a;min-width:0;overflow-wrap:anywhere}
.choix-chats .cc-panel li[data-etat=compte-pro] .cc-etat{color:#263153;background:#fff7e9;border:1px solid #e8c895;border-radius:999px;padding:2px 10px}
.choix-chats .cc-geste{margin-left:auto}
.choix-chats .cc-geste .textlink{font-size:13px;border:0;background:none;cursor:pointer;font-family:inherit;padding:4px 0;text-decoration:none}
.choix-chats .cc-geste .textlink:disabled{opacity:.55;cursor:default}
.choix-chats .cc-confirm{min-height:34px;padding:6px 12px;font-size:13px}
.choix-chats .cc-off{min-height:40px;margin-top:6px;padding:4px 0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:#66708a;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.choix-chats .cc-off:disabled{opacity:.55;cursor:default}
.choix-chats .cc-tools{flex-wrap:nowrap}
.choix-chats .cc-tools .selector-search{margin-top:0}
.choix-chats .cc-tools select{min-height:40px;padding:0 10px;border:1px solid #dce1ed;border-radius:9px;background:white;color:#263153;font:inherit;font-size:13px}
.choix-chats .cc-list{min-height:150px}
.choix-chats .cc-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #e6e9f1;background:white;color:#263153;cursor:pointer}
.choix-chats .cc-rows .cc-row:last-child{border-bottom:0}
.choix-chats .cc-row:hover{background:#f4f5fc}
.choix-chats .cc-row.is-on{background:#eef0fc}
.choix-chats .cc-row input{width:18px;height:18px;margin:0;accent-color:#4458ac}
.choix-chats .cc-row:has(input:disabled){cursor:default}
.choix-chats .cc-row:has(input:disabled:not(:checked)) .cc-title{color:#66708a}
.choix-chats .cc-row:has(input:focus-visible){outline:3px solid #4458ac;outline-offset:-3px}
.choix-chats .cc-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.choix-chats .cc-meta{display:flex;align-items:baseline;gap:10px;font-size:12px;color:#66708a;white-space:nowrap}
.choix-chats .cc-meta b{font-weight:500;color:#263153}
.choix-chats .cc-state{padding:28px 20px;text-align:center;color:#263153}
.choix-chats .cc-state p{margin:0 0 12px;font-size:15px}
.choix-chats .cc-state-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.choix-chats .cc-rows+.cc-state{border-top:1px solid #e6e9f1;padding:16px 20px}
.choix-chats .cc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.choix-chats .cc-ghost{cursor:default}
.choix-chats .cc-ghost i{display:block;height:12px;border-radius:6px;background:#eef0f5}
.choix-chats .cc-ghost i:first-child{width:18px;height:18px;border-radius:4px}
.choix-chats .cc-ghost i:last-child{width:84px}
.choix-chats .cc-echecs{margin:6px 0;padding-left:18px;font-size:13px}
.choix-chats .cc-data{margin:10px 0 0;font-size:12px;color:#66708a}
.choix-chats .cc-data a{color:#4458ac}
@media(prefers-reduced-motion:no-preference){.choix-chats .cc-ghost i{animation:cc-pouls 1.4s ease-in-out infinite alternate}}
@keyframes cc-pouls{to{opacity:.45}}
@media(max-width:600px){.choix-chats .cc-row{grid-template-columns:20px minmax(0,1fr);gap:4px 12px;padding:12px 14px}.choix-chats .cc-meta{grid-column:2}.choix-chats .cc-title{white-space:normal;overflow-wrap:anywhere}.choix-chats .cc-tools{flex-wrap:wrap}.choix-chats .cc-tools .selector-search{flex-basis:100%}.choix-chats .cc-tools select{margin-left:auto}.choix-chats .cc-panel li b{min-width:0}.choix-chats .cc-ghost i:last-child{display:none}}
:where(html[data-theme=dark]) .choix-chats .cc-ais,:where(html[data-theme=dark]) .choix-chats .cc-refresh,:where(html[data-theme=dark]) .choix-chats .cc-panel li,:where(html[data-theme=dark]) .choix-chats .cc-state,:where(html[data-theme=dark]) .choix-chats .cc-meta b{color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-dot,:where(html[data-theme=dark]) .choix-chats .cc-etat,:where(html[data-theme=dark]) .choix-chats .cc-meta,:where(html[data-theme=dark]) .choix-chats .cc-data{color:var(--d-muted)}
:where(html[data-theme=dark]) .choix-chats .cc-panel{background-color:var(--d-quiet);border-color:var(--d-edge)}
:where(html[data-theme=dark]) .choix-chats .cc-panel li{border-bottom-color:var(--d-line)}
:where(html[data-theme=dark]) .choix-chats .cc-panel li[data-etat=compte-pro] .cc-etat{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-row{background-color:var(--d-surface);border-bottom-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-row:hover,:where(html[data-theme=dark]) .choix-chats .cc-row.is-on{background-color:var(--d-quiet)}
:where(html[data-theme=dark]) .choix-chats .cc-row input{accent-color:var(--d-accent)}
:where(html[data-theme=dark]) .choix-chats .cc-tools select{background-color:var(--d-surface);border-color:var(--d-edge);color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-ghost i{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .choix-chats .cc-data a,:where(html[data-theme=dark]) .choix-chats .cc-manage{color:var(--d-accent)}
:where(html[data-theme=dark]) .choix-chats .cc-off{color:var(--d-muted)}
/* 11/11 (LEAD 11:0x UTC ⑨, revue de Kevin) — PAGE RÉSULTAT : le fil d'étapes (Choose chats — Pick a tool — Result) et la ligne des sources
   (« ChatGPT · 1 chat · View sources ») étaient à 10 px : trop petits. Ils passent à 14 px (corps lisible, comme le reste de la page), le trait
   et la pastille de l'IA suivent. TAILLE SEULE : mêmes mots, même ordre, mêmes liens ; à 600 px et moins l'écran mobile n'affiche pas ces deux lignes. */
@media(min-width:601px){
 body .result-v2 .compact-result-context{row-gap:6px;margin-bottom:10px}
 body .result-v2 .compact-result-context .result-steps{font-size:14px;gap:10px;min-height:30px}
 body .result-v2 .compact-result-context .result-steps .current{padding:4px 11px;border-radius:7px}
 body .result-v2 .compact-result-context .result-steps i{width:18px;min-width:18px}
 .compact-result-context>.desktop-source-summary{font-size:14px;line-height:1.4;gap:8px}
 .compact-result-context>.desktop-source-summary .ai-badge{width:26px;height:26px;font-size:8px}
 .compact-result-context>.desktop-source-summary .textlink{font-size:14px;min-height:30px}
}
/* 11/11 (LEAD 11:0x UTC ⑦, revue de Kevin) — LA FENÊTRE DE REVUE (« Review your task » / « Vérifiez votre tâche ») PASSE AU STYLE V4 DU SITE.
   FORME SEULE : contenu, mots, ordre, boutons et comportement sont ceux de workspace.js (taskReviewMarkup, presentTaskQuote), à l'identique ; le devis,
   la ligne d'essai, le verrou du bouton et les requêtes ne sont pas touchés (banc test/workspace-revue-attente.mjs : même texte, mêmes requêtes que main).
   Portée : la classe `review-v4`, posée par modal() sur le <dialog> quand il montre cette fenêtre, et retirée pour toute autre ; le reste de l'espace
   garde son style (un lot à part l'alignera). Valeurs : les jetons V4 mesurés sur le site servi (origin/produit/panneau-jetons,
   tools/produit-panneau/jetons-v4.css) — fond #FCFCFF, carte blanche rayon 18, encre #263153 / #5C6480, bleu #4458AC (survol #36478F), citron #E4EE99,
   titres Plus Jakarta Sans 700, texte DM Sans 400/600, bouton principal bleu rayon 10, secondaire blanc bord rgba(68,88,172,.22), anneau 3 px #4458AC.
   Polices : les fichiers que l'espace sert déjà (lot2/assets/, identiques à l'octet à /_home-v4/assets/) ; DM Sans 600 n'était pas déclarée dans « DM »,
   elle l'est ici sous un nom à part pour ne rien changer ailleurs. Aucune requête hors site. Sombre : les jetons --d-* de l'espace, mêmes formes. */
@font-face{font-family:"Uncook DM Sans";src:url('assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Uncook DM Sans";src:url('assets/dm-sans-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Uncook Jakarta";src:url('assets/plus-jakarta-sans-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
#modal.review-v4{--rv-paper:#FCFCFF;--rv-card:#FFFFFF;--rv-tint:#EEF0FC;--rv-lime:#E4EE99;--rv-line:#E5E8F3;--rv-line-strong:rgba(68,88,172,.22);--rv-ring:rgba(38,49,83,.10);--rv-ink:#263153;--rv-soft:#5C6480;--rv-blue:#4458AC;--rv-blue-hover:#36478F;--rv-on-blue:#FCFCFF;--rv-accent:#4458AC;--rv-accent-hover:#36478F;--rv-error:#92352B;--rv-off:#C4CAD7;--rv-head:"Uncook Jakarta","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--rv-body:"Uncook DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
:where(html[data-theme=dark]) #modal.review-v4{--rv-paper:var(--d-surface);--rv-card:var(--d-quiet);--rv-tint:var(--d-soft);--rv-line:var(--d-line);--rv-line-strong:var(--d-soft-line);--rv-ring:var(--d-line);--rv-ink:var(--d-ink);--rv-soft:var(--d-muted);--rv-accent:var(--d-accent);--rv-accent-hover:var(--d-ink);--rv-error:var(--d-red);--rv-off:var(--d-edge)}
#modal.review-v4{width:min(620px,calc(100vw - 32px));padding:28px;border:1px solid var(--rv-line);border-radius:18px;background:var(--rv-paper);color:var(--rv-ink);font:400 15px/1.5 var(--rv-body);box-shadow:0 30px 70px -28px rgba(38,49,83,.45);-webkit-font-smoothing:antialiased}
#modal.review-v4::backdrop{background:rgba(38,49,83,.45)}
#modal.review-v4 :focus-visible{outline:3px solid var(--rv-accent);outline-offset:3px}
#modal.review-v4 .close{width:40px;min-height:40px;height:40px;margin:-8px -8px 0 12px;padding:0;border:1px solid var(--rv-line-strong);border-radius:10px;background:var(--rv-card);color:var(--rv-ink);font:400 22px/1 var(--rv-body);cursor:pointer}
#modal.review-v4 .close:hover{background:var(--rv-tint);color:var(--rv-accent)}
#modal.review-v4 #modal-body>h2{margin:2px 0 0;font:700 24px/1.2 var(--rv-head);letter-spacing:-.02em;color:var(--rv-accent)}
#modal.review-v4 .task-review{gap:20px;margin-top:22px}
#modal.review-v4 .review-tool{gap:14px;padding:18px;border:0;border-radius:18px;background:var(--rv-card);box-shadow:inset 0 0 0 1px var(--rv-ring)}
#modal.review-v4 .review-tool>span{width:40px;height:40px;border-radius:10px;background:var(--rv-tint);color:var(--rv-accent)}
#modal.review-v4 .review-tool h3{margin:0;font:700 19px/1.25 var(--rv-head);letter-spacing:-.015em;color:var(--rv-ink)}
#modal.review-v4 .review-tool p{margin:4px 0 0;font:400 14px/1.5 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-section h3,#modal.review-v4 .review-settings h3{font:600 15px/1.4 var(--rv-body);letter-spacing:0;color:var(--rv-ink)}
#modal.review-v4 .review-edit{min-height:36px;padding:0 4px;border-radius:6px;font:600 14px/1 var(--rv-body);color:var(--rv-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
#modal.review-v4 .review-edit:hover{color:var(--rv-accent-hover);text-decoration-thickness:2px}
#modal.review-v4 .review-sources{gap:8px}
#modal.review-v4 .review-sources a{gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--rv-line);border-radius:12px;background:var(--rv-card);color:var(--rv-ink);text-decoration:none}
#modal.review-v4 .review-sources a:hover{border-color:var(--rv-line-strong);background:var(--rv-tint)}
#modal.review-v4 .review-sources b{font:600 15px/1.35 var(--rv-body);color:var(--rv-ink)}
#modal.review-v4 .review-sources small{margin-top:2px;font:400 13px/1.45 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-sources a>.ic{width:16px;height:16px;color:var(--rv-accent)}
#modal.review-v4 .review-topics{padding-left:20px;font:400 15px/1.7 var(--rv-body);color:var(--rv-ink)}
#modal.review-v4 .review-topics li::marker{color:var(--rv-accent)}
#modal.review-v4 .review-section>p{font:400 14px/1.5 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-settings{gap:12px}
#modal.review-v4 .review-settings>section{padding:14px 16px;border:1px solid var(--rv-line);border-radius:12px;background:var(--rv-card)}
#modal.review-v4 .review-settings p{font:400 15px/1.5 var(--rv-body);color:var(--rv-ink)}
#modal.review-v4 .review-settings .review-mask p{margin:6px 0 0;font:400 14px/1.5 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-mask-state{font:600 14px/1 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-mask-help{margin-top:8px;font:400 14px/1.5 var(--rv-body)}
#modal.review-v4 .review-mask-help summary{min-height:28px;font-weight:600;color:var(--rv-accent);border-radius:6px}
#modal.review-v4 .switch-label>span{background:var(--rv-off);border-color:var(--rv-off)}
#modal.review-v4 .switch-label input:checked+span{background:var(--rv-blue);border-color:var(--rv-blue)}
#modal.review-v4 .switch-label input:focus-visible+span{outline:3px solid var(--rv-accent);outline-offset:3px}
#modal.review-v4 .workspace-reading-choice{font:400 14px/1.5 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 .review-confirm{padding-top:18px;border-top:1px solid var(--rv-line)}
#modal.review-v4 #host-quote{margin:0 0 12px;font:600 17px/1.4 var(--rv-body);color:var(--rv-accent)}
#modal.review-v4 .review-free-trial{margin:-4px 0 12px;padding:6px 10px;border-radius:8px;background:var(--rv-lime);color:#263153;font:600 14px/1.45 var(--rv-body)}
#modal.review-v4 .quote-reading{margin:0 0 16px;padding:14px 16px;border:1px solid var(--rv-line);border-radius:12px;background:var(--rv-card);color:var(--rv-ink)}
#modal.review-v4 .quote-reading li{font:400 14px/1.5 var(--rv-body)}
#modal.review-v4 .quote-reading li b{font-weight:600}
#modal.review-v4 .quote-reading li span{color:var(--rv-accent)}
#modal.review-v4 .quote-reading p{font:400 14px/1.55 var(--rv-body);color:var(--rv-soft)}
#modal.review-v4 #host-task-error{margin:0 0 10px;font:400 14px/1.5 var(--rv-body);color:var(--rv-error)}
#modal.review-v4 .button{border-radius:10px;font:600 15px/1.25 var(--rv-body);border:1px solid var(--rv-line-strong);background:var(--rv-card);color:var(--rv-ink)}
#modal.review-v4 .button:hover{background:var(--rv-tint);color:var(--rv-accent)}
#modal.review-v4 .button.primary{border:0;background:var(--rv-blue);color:var(--rv-on-blue);box-shadow:0 10px 22px -16px rgba(68,88,172,.93);transition:background-color .15s ease,box-shadow .15s ease}
#modal.review-v4 .button.primary:hover:not(:disabled){background:var(--rv-blue-hover);color:var(--rv-on-blue);box-shadow:0 14px 26px -14px rgba(68,88,172,.95)}
#modal.review-v4 .button.primary:disabled{background:var(--rv-blue);color:var(--rv-on-blue);box-shadow:none}
#modal.review-v4 #host-send{width:100%;min-height:52px;margin:0;padding:12px 20px;font-size:16px;font-weight:600}
#modal.review-v4 #host-quote .button,#modal.review-v4 #host-task-error .button{min-height:40px;margin:8px 0 0;padding:8px 14px;text-decoration:none}
@media (prefers-reduced-motion:reduce){#modal.review-v4 .button.primary{transition:none}}
@media(max-width:600px){
 #modal.review-v4{padding:22px 18px}
 #modal.review-v4 #modal-body>h2{font-size:21px}
 #modal.review-v4 .task-review{gap:16px;margin-top:18px}
 #modal.review-v4 .review-tool{padding:14px;gap:12px}
 #modal.review-v4 .review-tool>span{width:36px;height:36px}
 #modal.review-v4 .review-tool h3{font-size:18px}
 #modal.review-v4 .review-settings>section{padding:12px 14px}
 #modal.review-v4 .review-settings h3{font-size:14px}
}
/* 11/11 (LEAD 11:0x UTC ⑧, revue de Kevin) — L'ATTENTE DU RÉSULTAT (workspace.js resultWaitPanel) : la page Résultat s'ouvre dès le clic de lancement, avec
   le cadre du résultat à venir (fil d'étapes, sources, barre, titre) et, à la place du texte, les étapes VRAIES de l'envoi : celle en cours tourne, les
   faites portent une coche citron. Les lignes grises sont le squelette du texte, pas une jauge : ni pourcentage, ni durée. Couleurs et polices : celles
   de la page Résultat d'aujourd'hui (jetons de l'espace), pour que le résultat remplace l'attente sans saut. Mouvement réduit : rien ne bouge, mêmes
   informations (anneau fixe = en cours, coche = fait). */
.result-wait .result-title-line h2:focus{outline:none}
.result-wait .desktop-source-summary{min-height:30px}
.result-wait .wait-steps{list-style:none;margin:6px 0 30px;padding:0;display:grid;gap:14px}
.result-wait .wait-step{display:flex;align-items:flex-start;gap:12px;font:500 16px/1.5 DM;color:var(--ink);letter-spacing:0}
.result-wait .wait-step.is-done{color:var(--muted)}
.result-wait .wait-mark{flex:none;box-sizing:border-box;width:22px;height:22px;margin-top:1px;border-radius:50%}
.result-wait .wait-step.is-active .wait-mark{border:3px solid #dce2fa;border-top-color:var(--blue);animation:billing-tourne .9s linear infinite}
.result-wait .wait-step.is-done .wait-mark{background:var(--citron) center/12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23142238' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.result-wait .wait-text{position:relative;flex:1;min-width:0;overflow-wrap:anywhere}
.result-wait .wait-label.is-typing{opacity:0}
.result-wait .wait-typed{position:absolute;inset:0 0 auto 0}
.result-wait .wait-typed::after{content:'';display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.16em;background:var(--blue)}
.result-wait .wait-skeleton{display:grid;gap:14px}
.result-wait .skeleton-row{background-image:linear-gradient(90deg,#e4e9f5 25%,#eff2fb 50%,#e4e9f5 75%)}
.result-wait .wait-skeleton .skeleton-row{height:14px;margin:0;border-radius:7px}
.result-wait .wait-skeleton .skeleton-row:nth-child(2){width:92%}
.result-wait .wait-skeleton .skeleton-row:nth-child(3){width:97%}
.result-wait .wait-skeleton .skeleton-row:nth-child(4){width:84%}
.result-wait .wait-skeleton .skeleton-row:nth-child(5){width:58%}
.result-v2.result-wait .wait-aside{display:grid;align-content:start;gap:12px}
.result-wait .wait-aside .skeleton-row{height:72px;margin:0;border-radius:12px}
.result-wait .wait-aside .skeleton-row:first-child{height:44px;width:70%}
.mobile-result.result-wait .result-title-line h2{font:700 23px/1.22 Jakarta;letter-spacing:-.65px;margin:0;overflow-wrap:anywhere}
.mobile-result.result-wait .result-title-line{margin:0 0 20px}
@media (prefers-reduced-motion:reduce){.result-wait .wait-step.is-active .wait-mark,.result-wait .skeleton-row{animation:none}}
html[data-theme=dark] .result-wait .skeleton-row{background-image:linear-gradient(90deg,var(--d-quiet) 25%,var(--d-soft) 50%,var(--d-quiet) 75%)}
:where(html[data-theme=dark]) .result-wait .wait-step.is-active .wait-mark{border-color:var(--d-soft-line);border-top-color:var(--d-accent)}
:where(html[data-theme=dark]) .result-wait .wait-typed::after{background:var(--d-accent)}
/* 11/11 (LEAD 12:4x) : la vraie raison quand le nombre de chats ne va pas à l'outil choisi, en haut de la liste (les valeurs ambre de .recent-error). */
.choix-chats .cc-raison{margin:0 0 12px;padding:10px 14px;border:1px solid #e8c895;border-radius:12px;background:#fff7e9;color:#263153;font-size:14px}
:where(html[data-theme=dark]) .choix-chats .cc-raison{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
   ESPACE V4 — socle (PRODUIT, 11/11/2026 ; LEAD 12:3x UTC, cadrage de Kevin : « tout l'espace à un niveau exceptionnel »).
   Le style V4 du site, déjà porté par la fenêtre de revue (#modal.review-v4), devient celui de TOUT l'espace : Home, History, Trash, Settings, Connections,
   Plan and billing, le compte, les épinglées, et le parcours d'une tâche. CSS SEUL : aucun mot, aucun balisage, aucune mise en page refaite, rien du
   chemin de l'argent. Un bloc ajouté ici, plutôt que des centaines de lignes modifiées en place.
   Valeurs : les jetons V4 mesurés sur le site (origin/produit/panneau-jetons, tools/produit-panneau/jetons-v4.css) — fond #FCFCFF, cartes blanches rayon 18,
   encre #263153 / #5C6480, bleu #4458AC (survol #36478F), citron #E4EE99, ligne #E5E8F3, titres Plus Jakarta Sans 700 serrés, texte DM Sans 400 / 600,
   anneau de focus 3 px #4458AC.
   COMMENT : (1) les jetons de l'espace (:root de workspace.css) sont redéfinis — l'essentiel des couleurs en dépend ; (2) ce qui est écrit en dur est
   repris pour la coque et les composants partagés ; (3) les COULEURS en dur ne valent que pour le thème clair (portée :where(html:not([data-theme=dark])),
   sans poids), les FORMES et les polices valent dans les deux thèmes.
   LE BOUTON PRINCIPAL, un seul jeu de valeurs dans tout l'espace, fenêtre de revue comprise : fond #4458AC, texte #FCFCFF, rayon 10, DM Sans 600, 15 px,
   survol #36478F. Mesuré sur /handoff-v4/ : le site n'a pas une valeur unique (en-tête 12 / 500 / 15, héros 8 / 600 / 16, bouton de contenu « See the full
   example » 10 / 600 / 15, pied 8 / 600 / 15, consentement 10 / 600 / 14). On retient celles du bouton de CONTENU de la page : 600 est la graisse de quatre
   boutons sur cinq, 15 px la taille de trois, et 10 le rayon du bouton courant (l'en-tête est une variante de navigation, le héros un appel unique).
   THÈME SOMBRE : ses couleurs ne changent pas. Il garde ses jetons (--d-*, encre, fond, ligne) et son bleu d'action #2348EF et son citron, rétablis
   ci-dessous ; il reçoit seulement les formes (rayons, graisses, tailles). Un lot à part pourra y porter le bleu de marque, usage par usage.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── Polices : DM Sans 600 n'était pas déclarée dans « DM » (un 600 demandé tombait sur le 700). Le V4 écrit en 400 et 600 : la face 600 est déclarée, et
   le « gras » de l'espace (700) prend le même fichier — tout texte DM en gras s'aligne d'un coup sur la graisse du site. Fichiers déjà servis par l'espace
   (lot2/assets/, identiques à l'octet à /_home-v4/assets/) : aucune requête hors site. */
@font-face{font-family:DM;src:url('assets/dm-sans-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-600.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

/* ── Jetons ── */
:root{--blue:#4458AC;--ink:#263153;--muted:#5C6480;--line:#E5E8F3;--citron:#E4EE99;--paper:#FFFFFF;--wash:#FCFCFF;
 --v4-blue-hover:#36478F;--v4-tint:#EEF0FC;--v4-lime-soft:#F2F6CF;--v4-lime-line:#C4D56C;--v4-line-strong:rgba(68,88,172,.22);--v4-on-blue:#FCFCFF;
 --v4-card-shadow:0 24px 48px -30px rgba(38,49,83,.32);--v4-float-shadow:0 30px 70px -28px rgba(38,49,83,.45);--v4-button-shadow:0 10px 22px -14px rgba(68,88,172,.93);
 --v4-radius-card:18px;--v4-radius-button:10px;--v4-radius-row:12px}
html[data-theme=dark]{--blue:#2348ef;--citron:#e3f56b;--v4-card-shadow:none;--v4-float-shadow:0 30px 70px -28px #000000a6;--v4-button-shadow:none}

/* ── Texte et titres ── */
body{-webkit-font-smoothing:antialiased}
h1{letter-spacing:-.03em}
h2{letter-spacing:-.02em}
h3{letter-spacing:-.01em}
.label{font-weight:600;letter-spacing:.14em}
.textlink{font-weight:600;text-underline-offset:4px}
:where(html:not([data-theme=dark])) .textlink:hover{color:var(--v4-blue-hover)}

/* ── Boutons : un seul jeu ── */
.button,.icon{border-radius:var(--v4-radius-button);font-weight:600}
:where(html:not([data-theme=dark])) .button,:where(html:not([data-theme=dark])) .icon{border-color:var(--v4-line-strong)}
:where(html:not([data-theme=dark])) :where(.button:not(.primary):not(.citron):not(:disabled),.icon:not(:disabled)):hover{background-color:var(--v4-tint);color:var(--blue)}
.button.primary{font-size:15px;font-weight:600;border-radius:var(--v4-radius-button);transition:background-color .15s ease,box-shadow .15s ease}
:where(html:not([data-theme=dark])) .button.primary{background-color:var(--blue);border-color:var(--blue);color:var(--v4-on-blue);box-shadow:var(--v4-button-shadow)}
:where(html:not([data-theme=dark])) .button.primary:not(:disabled):hover{background-color:var(--v4-blue-hover);border-color:var(--v4-blue-hover);color:var(--v4-on-blue)}
:where(html:not([data-theme=dark])) .button.primary:disabled{box-shadow:none}
:where(html:not([data-theme=dark])) .button.citron{background-color:var(--citron);border-color:var(--v4-lime-line);color:var(--ink)}
:where(html:not([data-theme=dark])) .button.quiet{border-color:transparent}
#modal.review-v4 #host-send{font-size:15px}
@media (prefers-reduced-motion:reduce){.button.primary{transition:none}}

/* ── Coque : barre latérale, barre du haut ── */
:where(html:not([data-theme=dark])) .sidebar{background-color:#FFFFFF;border-right-color:var(--line)}
.navlink{border-radius:var(--v4-radius-button)}
.navlink.active{font-weight:600}
:where(html:not([data-theme=dark])) .navlink{color:var(--muted)}
:where(html:not([data-theme=dark])) .navlink:hover{background-color:var(--v4-tint);color:var(--blue)}
:where(html:not([data-theme=dark])) .navlink.active{color:var(--blue);background-color:var(--v4-tint)}
.account-menu{border-radius:var(--v4-radius-card);box-shadow:var(--v4-float-shadow)}
.account-menu a{border-radius:var(--v4-radius-button)}
:where(html:not([data-theme=dark])) .account-menu a:hover{background-color:var(--v4-tint);color:var(--blue)}
:where(html:not([data-theme=dark])) #topbar{background-color:#FFFFFF;border-bottom-color:var(--line)}
.global-search{border-radius:var(--v4-radius-button)}
:where(html:not([data-theme=dark])) .global-search{background-color:var(--wash);border-color:var(--line);color:var(--muted)}
:where(html:not([data-theme=dark])) .global-search:focus-within{border-color:var(--blue)}
:where(html:not([data-theme=dark])) .global-search kbd{border-color:var(--line);color:var(--muted)}
.usage{border-radius:var(--v4-radius-button);font-weight:600}
:where(html:not([data-theme=dark])) .usage{background-color:var(--v4-lime-soft);border-color:var(--citron);color:var(--ink)}
.popover{border-radius:var(--v4-radius-card);box-shadow:var(--v4-float-shadow)}
:where(html:not([data-theme=dark])) .popover .empty-icon{background-color:var(--v4-tint)}

/* ── Cartes, listes, états vides, squelettes, bandeaux ── */
.panel{border-radius:var(--v4-radius-card);box-shadow:var(--v4-card-shadow)}
.pill{border-radius:999px;font-weight:600}
:where(html:not([data-theme=dark])) .pill{background-color:var(--v4-tint);border-color:transparent;color:var(--ink)}
:where(html:not([data-theme=dark])) .pill.lime{background-color:var(--citron);border-color:var(--citron);color:var(--ink)}
.empty{font-size:14px;line-height:1.55}
.skeleton-row{border-radius:var(--v4-radius-row)}
:where(html:not([data-theme=dark])) .skeleton-row{background-image:linear-gradient(90deg,#EEF0FC 25%,#F7F8FE 50%,#EEF0FC 75%)}
.status{border-radius:var(--v4-radius-row);font-size:14px;line-height:1.45;padding:14px 18px}
:where(html:not([data-theme=dark])) .status{background-color:var(--ink);color:var(--v4-on-blue);box-shadow:var(--v4-float-shadow)}

/* ── Champs ── */
input[type=text],input[type=email],input[type=search],input[type=url],input[type=password],input:not([type]),select,textarea{border-radius:var(--v4-radius-button)}
:where(html:not([data-theme=dark])) #main :is(input[type=text],input[type=email],input[type=url],input[type=password],input:not([type]),select,textarea){border-color:var(--v4-line-strong);color:var(--ink)}
:where(html:not([data-theme=dark])) #main :is(input,select,textarea)::placeholder{color:var(--muted)}

/* ── Fenêtres : le dessin de la fenêtre de revue, pour toutes ── */
dialog{border-radius:var(--v4-radius-card);box-shadow:var(--v4-float-shadow)}
:where(html:not([data-theme=dark])) dialog{background-color:#FCFCFF;border-color:var(--line);color:var(--ink)}
:where(html:not([data-theme=dark])) dialog::backdrop{background-color:rgba(38,49,83,.45)}
dialog #modal-body>h2{font:700 22px/1.25 Jakarta,sans-serif;letter-spacing:-.02em}
:where(html:not([data-theme=dark])) dialog #modal-body>h2{color:var(--blue)}
dialog .close{border-radius:var(--v4-radius-button)}
:where(html:not([data-theme=dark])) dialog .close{background-color:#FFFFFF;border-color:var(--v4-line-strong);color:var(--ink)}
dialog p{line-height:1.5}

/* ── Cartes de section : le même rayon partout (Settings, Connections, Chat Vitals, chats récents, carte du chat, outil, résultat) ── */
.settings-panel,.connection-item,.reload-auto-panel,.vitals-compact,.recent-list,.chat-card,.chat-card-add,.arr-tool,.result-surface,#main .first-vitals-inner,body .result-v2.is-prompt .result-surface,body .result-v2 .result-next{border-radius:var(--v4-radius-card)}
.settings-panel,.connection-item,.reload-auto-panel,.vitals-compact,.recent-list,.chat-card,.arr-tool{box-shadow:var(--v4-card-shadow)}
:where(html:not([data-theme=dark])) .billing-gauge{background-color:var(--v4-tint)}
:where(html:not([data-theme=dark])) .billing-gauge span{background-color:var(--blue)}
/* ── Les boutons d'action du parcours et l'appel de Home prennent le jeu unique (rayon 10, 600, 15 px) ; l'ombre bleue ne va pas sous un bouton citron ── */
#continue-result,#host-send,[data-next-confirm]{font-size:15px;font-weight:600;border-radius:var(--v4-radius-button)}
body .home-illustrated .home-task-main>.button,body .home-new-task74>.button{border-radius:var(--v4-radius-button);box-shadow:none}
body .button.primary{font-weight:600}

/* ── Relevé d'écrans du 11/11 (mesuré sur main c8641d53), ce qui est du CSS pur ─────────────────────────────────────────────────────────────────────────
   Titre de page : 34 px à l'écran large, 26 px à 390, encre V4, serré. Texte : rien sous 13 px (le relevé comptait 34 textes sous 13 px, jusqu'à 9 px) ;
   corps 15 px, secondaire 14 px. Les planchers ci-dessous doivent l'emporter sur des dizaines de règles locales écrites au fil des lots : ils passent par
   :is(#v4-socle, …) — l'identifiant ne désigne aucun élément, il donne seulement à la liste le poids d'un identifiant. Exception dite : le monogramme
   des pastilles d'IA (« CG », « CL »), qui est un pictogramme masqué aux lecteurs d'écran, garde sa taille dans son carré. */
@font-face{font-family:"DM Sans";src:url('assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url('assets/dm-sans-600.ttf') format('truetype');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url('assets/plus-jakarta-sans-700.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}

#main h1{font-size:34px;line-height:1.15;letter-spacing:-.03em}
@media(max-width:600px){#main h1{font-size:26px;line-height:1.2}}

/* secondaire : 13 px au moins */
html body :is(#v4-socle,.navlink .later,.sidebar .label,.navlink.extension-link span,.account .avatar,.account small,.global-search kbd,.usage,.usage small,.task-row small,.task-row time,.task-rename span,.task-tool,#home-reload-age,.example-badge,.history-controls label>span,.history-pinned span,.ob-help,.appearance-label,.connection-status,.popover .activity b,.stepper:not(.result-steps),.stepper:not(.result-steps) span,.stepper:not(.result-steps) b,.cc-data,.cc-data a,#footer-count,.chat-card-sources summary,.chat-card-sources summary span,.chat-card-meta span,.chat-card-meta time,.picked-chat strong,.picked-chat small,.topics-fold-edit,.topics-fold-body p,.topic-bulk button,.topic-bulk span,.workspace-topic-option label span,.cost-line small,#quote-label,.toolbar-label,.prompt-instruction p,.arrivee-kicker,.result-next>.label,.result-next>p,.result-next button strong,.result-next button small,.choose-other,.result-start-line,.rt-level,.missing-result-sources p,.crumb,.mobile-action span,.support-faq details p,.weekly-notification p,.profile-load-status,.sectionhead .textlink){font-size:13px}
html body :is(#v4-socle,.label,.arrivee-kicker){letter-spacing:.08em}
/* corps et libellés */
html body :is(#v4-socle,.task-row b,.navlink,.empty,.popover .empty-text b){font-size:15px}
html body :is(#v4-socle,.heading p,.ob-name-grid label>span,.ob-pref-fields label>span,.ob-pref-fields legend,.settings-panel legend,.ob-check span,.weekly-email-choice span,.connection-help,.popover p,.global-search input,.document-actions .button,.document-actions .button span,.connection-action .button,#home-reload,.task-rename){font-size:14px}
html body dialog :is(#v4-socle,p){font-size:15px}
/* le libellé d'un bouton principal : 15 px partout */
html body :is(#v4-socle,.button.primary,.button.primary span,.mobile-action.primary span){font-size:15px}

/* ── L'anneau de focus suit le rayon du champ de recherche ── */
.global-search input:focus-visible{outline:none}
.global-search:focus-within{outline:3px solid var(--blue);outline-offset:2px}
html[data-theme=dark] .global-search:focus-within{outline-color:var(--d-accent)}

/* ── Home : le trait d'une ligne de tâche va jusqu'au bout (il s'arrêtait avant « Rename ») ── */
.task-row-wrap>.task-row{border-top:0}
.task-row-wrap:first-child{border-top:1px solid var(--line)}

/* ── Settings : la page défile (le cadre intérieur coupait les cartes en haut et en bas) ; « Save settings » reste au bas de l'écran ── */
html body #main:has(.settings-v2){height:auto;min-height:calc(100dvh - 86px);overflow:visible}
#main .settings-v2{height:auto;display:block}
#main .settings-scroll{overflow:visible}
#main .settings-save{position:sticky;bottom:0;z-index:5;padding:14px 0 16px;background:linear-gradient(to top,var(--wash) 72%,transparent)}

/* ── Une seule colonne de contenu, un seul bord gauche (le titre de page était à x = 268, 278, 318 ou 408 selon la section) ── */
@media(min-width:901px){
 html body #main:not(.flow-page):not(:has(.result-v2)):not(:has(.lot2-result)){padding-left:40px;padding-right:40px}
 #main :is(.settings-v2,.support-page){margin-left:0;margin-right:auto}
}

/* ── La carte d'appel de Home : même rayon de carte ── */
body .home-new-task{border-radius:var(--v4-radius-card)}

/* ── Barre du haut à 390 : avec des libellés lisibles, « New task » reste sur une ligne et le fil se coupe proprement ── */
@media(max-width:600px){
 #topbar .top-new{white-space:nowrap;padding-left:12px;padding-right:12px;gap:6px}
 #topbar .crumb{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #topbar .usage{flex:none}
}
html body #main .arrivee-kicker{font-size:13px}
html body :is(#v4-socle,.button.primary){font-weight:600}
html body #main .first-result-vitals .first-vitals-copy .arrivee-kicker{font-size:13px}
/* ── Le fil d'étapes à 390. AMENDÉ 12/11/2026 (2b, QUALITÉ A2 ⑥ : « Choisir des c… », « Résul… » en FR et DE) : plus aucun « … ». Chaque étape
   garde son numéro et son plus long mot (min-content) ; son libellé passe à la ligne au besoin, à côté du numéro. Avant : une ligne, les étapes non
   courantes coupées par « … » — c'était le défaut. ── */
@media(max-width:600px){
 html body .stepper:not(.result-steps){flex-wrap:nowrap;gap:6px;min-width:0;max-width:100%;align-items:center}
 html body .stepper:not(.result-steps) i{width:8px;min-width:8px;flex:none}
 html body .stepper:not(.result-steps) span{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:min-content;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;hyphens:none;line-height:1.15}
 html body .stepper:not(.result-steps) span.current{flex:0 1 auto}
 html body .stepper:not(.result-steps) span b{display:inline-grid;flex:none;margin-right:0}
}
/* ── Page Résultat, colonne « Keep going » : la ligne de chaque outil prend toute la largeur de la carte (l'icône, le nom et la flèche sur un rang,
   la ligne dessous), pour tenir en trois lignes au plus au lieu de cinq. ── */
@media(min-width:901px){
 body .result-v2 .result-next{padding-left:12px;padding-right:12px}
 body .result-v2 .result-next .next-tool-list button{display:grid;grid-template-columns:30px minmax(0,1fr) 14px;column-gap:10px;row-gap:8px;align-items:center;min-height:0;padding:14px 9px}
 body .result-v2 .result-next .next-tool-list button>span:nth-child(2){display:contents}
 body .result-v2 .result-next .next-tool-list .next-icon{grid-area:1/1}
 body .result-v2 .result-next .next-tool-list strong{grid-area:1/2}
 body .result-v2 .result-next .next-tool-list button>.ic{grid-area:1/3;margin:0}
 body .result-v2 .result-next .next-tool-list small{grid-column:1/-1;grid-row:2;margin:0;line-height:1.5}
 body .result-v2 .result-next .next-tool-list .recommend-price{grid-column:1/-1;grid-row:3}
 body .result-v2 .result-next .next-tool-list .recommend-price:empty{display:none}
}
/* ── La grille des outils (étape 2 sans outil choisi) : mêmes planchers — nom de l'outil 15 px, ligne et intertitres 13 px ; le fil et le sous-titre
   de cette page portaient des règles plus fortes que le plancher général. ── */
html body :is(#v4-socle,.tool-group .label,.tool-choice p,.tools-heading h2){font-size:13px}
html body :is(#v4-socle,.tool-choice strong){font-size:15px}
html body #main :is(#v4-socle,.stepper:not(.result-steps),.stepper:not(.result-steps) span,.stepper:not(.result-steps) b){font-size:13px}
html body #main :is(#v4-socle,.heading p){font-size:14px}
@media(max-width:600px){html body #main:has(.tool2-body) :is(h1,.heading h1){font-size:26px;line-height:1.2}}
/* ═══ LOGIQUE 1:DÉBUT — PRODUIT 11/11 (relevé n° 2) : le bouton d'épingle d'une ligne de task (Home, History), frère de la ligne comme Rename et la corbeille. Jetons du workspace. ═══ */
.task-pin{flex:none;width:40px;min-height:40px;padding:8px;color:var(--muted);border-color:transparent;background:transparent}
.task-pin .ic{width:18px;height:18px}
.task-pin:hover,.task-pin:focus-visible{color:var(--blue);border-color:var(--line);background:var(--wash)}
.task-pin[aria-pressed=true]{color:var(--blue)}
.task-pin[aria-pressed=true] .ic{fill:currentColor}
:where(html[data-theme=dark]) .task-pin:hover,:where(html[data-theme=dark]) .task-pin:focus-visible,:where(html[data-theme=dark]) .task-pin[aria-pressed=true]{color:var(--d-accent)}
/* ═══ LOGIQUE 1:FIN ═══ */

/* LOGIQUE 2 (PRODUIT 11/11/2026) — la cloche et la recherche du haut : seulement ce que demandent les éléments neufs ou déplacés (workspace.js, bloc « LOGIQUE 2 »).
   Les couleurs, corps et rayons d'ensemble restent au socle de style (produit/espace-style-v4). */
.top-rows{display:grid;gap:2px}
.top-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px;border-radius:10px;color:inherit;text-decoration:none}
.top-row:hover,.top-row[aria-selected=true]{background:#f1f4ff}
.top-row-text{display:grid;gap:2px;min-width:0}
.top-row-text b,.top-row-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-row-text b{font-size:14px;font-weight:600;line-height:1.35}
.top-row.is-unread .top-row-text b{font-weight:700}
.top-row-text small{font-size:13px;color:var(--muted);line-height:1.4}
.top-row-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.top-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.top-link{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.notif-loading .skeleton-row{height:50px;margin:0 0 8px}
.popover .notif-error,.popover .search-none{font-size:13px;line-height:1.55;color:var(--muted);margin:4px 0}
.popover .search-none{overflow-wrap:anywhere}
#search-panel{max-width:none}
#search-results{display:grid;gap:2px}
#search-results[hidden]{display:none}
.search-more{display:inline-block;margin:12px 0 0 8px;font-size:13px}
.history-none .top-link{margin-left:6px}
#topbar .global-search input:focus-visible{outline:0}
#topbar .global-search:focus-within{outline:3px solid var(--blue);outline-offset:2px}
:where(html[data-theme=dark]) .top-row:hover,:where(html[data-theme=dark]) .top-row[aria-selected=true]{background-color:var(--d-soft)}
:where(html[data-theme=dark]) .top-link{color:var(--d-accent)}
@media (prefers-reduced-motion:reduce){.notif-loading .skeleton-row{animation:none}}
/* À 600 px et moins, Home cachait le champ de recherche (barre sur une ligne) alors que History, Trash ou Billing le montrent sur une 2e ligne : Home fait comme elles. */
@media(max-width:600px){body:has(.home-v2) #topbar{height:116px;flex-wrap:wrap;row-gap:7px}body:has(.home-v2) #topbar .global-search{display:flex}#main:has(.home-v2){height:calc(100dvh - 116px)}}
/* ── P2 (recette de Kevin 11/11, LEAD 15:3x UTC) — NOTE D'INCIDENT : au survol, le bouton citron « Nouvelle tâche » de l'accueil prenait le fond
   #FCFCFF et l'encre #FCFCFF du survol des boutons principaux : texte invisible. Il reste citron, un ton plus soutenu, encre de la marque. ── */
html body :is(.home-illustrated .home-task-main,.home-new-task74)>.button:is(:hover,:focus-visible){background:#D6E27A;border-color:#C5D166;color:#263153}
html body :is(.home-illustrated .home-task-main,.home-new-task74)>.button:is(:hover,:focus-visible) *{color:inherit}
/* ═══ P6:DÉBUT — PRODUIT 11/11/2026 (décision de Kevin sur sa recette réelle : l'étape outil « brouillon, je ne comprends pas ce qu'on attend de nous » ;
   LEAD 15:3x UTC). L'étape 2 « Pick a tool » et le parcours outil d'abord : les chats choisis en PUCES, les sujets en une ligne discrète repliée, les outils
   en GRILLE de cartes (icône, nom, une ligne), AI Profile à part, la contrainte d'un outil SUR SA CARTE au choix. Jetons V4 de l'espace seulement ;
   la couleur de chaque IA est posée ici, le script ne fait que la nommer (data-ai). Rien sous 13 px. ═══ */
/* ① les puces */
#main .chat-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:none;min-width:0;margin:0 0 14px}
#main .chat-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:min(100%,340px);height:40px;padding:0 3px 0 6px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:600 13px/1.2 DM,sans-serif}
#main .chip-ai{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 5px;border-radius:999px;background:var(--chip-ai,#555F70);color:#FFFFFF;font:700 13px/1 DM,sans-serif;letter-spacing:.02em}
.chip-ai[data-ai=cg]{--chip-ai:#0F7A5E}.chip-ai[data-ai=cl]{--chip-ai:#A9512D}.chip-ai[data-ai=ge]{--chip-ai:#3557C2}.chip-ai[data-ai=co]{--chip-ai:#6A4BB4}
.chip-ai[data-ai=pe]{--chip-ai:#1C6B78}.chip-ai[data-ai=mv]{--chip-ai:#A8461C}.chip-ai[data-ai=gn]{--chip-ai:#555F70}.chip-ai[data-ai=as]{--chip-ai:#2C66AD}
#main .chip-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#main .chip-ai-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
#main .chip-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);font:400 20px/1 DM,sans-serif;cursor:pointer}
#main .chip-remove:hover,#main .chip-remove:focus-visible{background:var(--v4-tint);color:var(--ink)}
#main .chat-chip-add{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 10px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--blue);font:600 13px/1 DM,sans-serif;text-decoration:none}
#main .chat-chip-add .ic{width:16px;height:16px}
#main .chat-chip-add:hover{border-color:var(--v4-line-strong);background:var(--v4-tint)}
#main .chat-chips-none{font:600 13px/1.4 DM,sans-serif;color:var(--muted)}
/* ② les sujets : une ligne discrète, repliée, qui s'ouvre sur place (la même logique, le même « Edit ») */
#main .tool-step>.topics-fold{border:1px solid transparent;border-radius:12px;background:transparent}
#main .tool-step>.topics-fold>summary{min-height:44px;padding:0 12px;gap:10px;font:600 13px/1.4 DM,sans-serif;color:var(--muted)}
#main .tool-step>.topics-fold>summary:hover{color:var(--ink)}
#main .tool-step>.topics-fold>summary>.ic{width:16px;height:16px}
#main .tool-step .topics-fold-sum{flex:0 1 auto}
#main .tool-step .topics-fold-edit{font-size:13px}
#main .topics-fold-chev{flex:none;display:inline-flex;color:var(--muted)}
#main .topics-fold-chev .ic{width:16px;height:16px;transform:rotate(180deg);transition:transform .18s ease}
#main .topics-fold[open] .topics-fold-chev .ic{transform:none}
#main .tool-step>.topics-fold[open]{border-color:var(--line);background:var(--wash)}
#main .tool-step .topics-fold-body>p,#main .tool-step .topics-fold .topic-list label,#main .tool-step .topics-fold .topic-bulk,#main .tool-step .topics-fold .topic-bulk button{font-size:13px}
/* ③ la grille des outils */
#main .tool-step .tools-heading{margin:0 0 10px}
#main .tool-step .tools-heading h2{font:700 15px/1.3 Jakarta,sans-serif;letter-spacing:-.01em;color:var(--ink)}
#main .tool-step .tool-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 24px;grid-template-columns:none}
#main .tool-step .tool-group{flex:var(--n,1) 1 0;min-width:0;margin:0;padding:0}
#main .tool-step .tool-group>.label{margin:0 0 8px;padding:0;font:600 13px/1.4 DM,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted)}
#main .tool-step .tool-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}
#main .tool-step .tool-card{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;min-width:0;min-height:0;margin:0;padding:14px 16px 16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);text-align:left;text-decoration:none;font:400 13px/1.45 DM,sans-serif;cursor:pointer;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
#main .tool-step .tool-card:hover{border-color:var(--v4-line-strong);box-shadow:var(--v4-card-shadow)}
#main .tool-step .tool-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#main .tool-step .tool-card:disabled{opacity:.55;cursor:default;box-shadow:none}
#main .tool-step .tool-card-top{display:flex;align-items:center;gap:8px;margin:0 0 10px}
#main .tool-step .tool-card-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:var(--v4-tint);color:var(--blue)}
#main .tool-step .tool-card-icon .ic{width:22px;height:22px}
#main .tool-step .tool-card .tool-price{position:static;margin-left:auto;font:600 13px/1 DM,sans-serif;color:var(--blue);white-space:nowrap}
#main .tool-step .tool-card .tool-price:empty{display:none}
#main .tool-step .tool-card-check,#main .tool-step .tool-card-go{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:auto;border:1.5px solid var(--line);border-radius:999px;color:transparent}
#main .tool-step .tool-card .tool-price:not(:empty)+.tool-card-check{margin-left:0}
#main .tool-step .tool-card-check .ic{width:14px;height:14px}
#main .tool-step .tool-card-go{border:0;color:var(--blue)}#main .tool-step .tool-card-go .ic{width:18px;height:18px}
#main .tool-step .tool-card>strong{display:block;margin:0;font:700 16px/1.3 Jakarta,sans-serif;letter-spacing:-.01em;color:var(--ink)}
#main .tool-step .tool-card>p{display:block;margin:4px 0 0;font:400 13px/1.45 DM,sans-serif;color:var(--muted)}
#main .tool-step .tool-card[aria-checked=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
#main .tool-step .tool-card[aria-checked=true] .tool-card-icon{background:var(--citron);color:var(--ink)}
#main .tool-step .tool-card[aria-checked=true] .tool-card-check{border-color:var(--blue);background:var(--blue);color:#FFFFFF}
/* ④ la contrainte de l'outil choisi, sur sa carte (une seule zone de message par carte : [data-tool-note]) */
#main .tool-step .tool-card-note{display:block;margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#FFF3DD;color:#7A4A05;font:600 13px/1.45 DM,sans-serif}
#main .tool-step .tool-card-note:empty{display:none}
#main .tool-step .tool-card.has-note[aria-checked=true]{border-color:#C98A2E;box-shadow:inset 0 0 0 1px #C98A2E}
#main .tool-step .tool-card.has-note[aria-checked=true] .tool-card-check{border-color:#C98A2E;background:#C98A2E}
/* AI Profile à part : la même famille, en ligne, sous les deux groupes */
#main .tool-step .tool-group-profile{flex:1 1 100%;padding-top:14px;border-top:1px solid var(--line)}
#main .tool-step .tool-group-profile .tool-card{padding-block:12px}
#main .tool-step .tool2-selected-description{display:none}
#main .tool-first-v2 .first-tool-quote-note{font-size:13px}
#main .tool-step .tool-group-profile .tool-cards{grid-auto-flow:row;grid-template-columns:minmax(0,440px)}
#main .tool-step .tool-group-profile .tool-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:14px;align-items:center}
#main .tool-step .tool-group-profile .tool-card-top{display:contents}
#main .tool-step .tool-group-profile .tool-card-icon{grid-column:1;grid-row:1/span 2}
#main .tool-step .tool-group-profile .tool-card-check,#main .tool-step .tool-group-profile .tool-card-go,#main .tool-step .tool-group-profile .tool-price{grid-column:3;grid-row:1/span 2;margin:0}
#main .tool-step .tool-group-profile .tool-card>strong{grid-column:2;grid-row:1}
#main .tool-step .tool-group-profile .tool-card>p{grid-column:2;grid-row:2;margin-top:2px}
#main .tool-step .tool-group-profile .tool-card-note{grid-column:1/-1;grid-row:3}
/* le parcours outil d'abord : la même grille */
#main .first-tool-catalog.tool-step{display:block;min-height:0;overflow:auto;padding:2px}
/* entre 601 et 1299 px : les groupes l'un sous l'autre, trois cartes par rang */
@media(max-width:1299px){#main .tool-step .tool-grid{flex-direction:column;align-items:stretch}#main .tool-step .tool-group{flex:none;width:100%}#main .tool-step .tool-cards{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}#main .tool-step .tool-group-profile .tool-cards{grid-template-columns:minmax(0,440px)}}
@media(max-width:600px){
 #main .chat-chips{gap:6px;margin-bottom:10px}
 #main .chat-chip{max-width:100%}
 #main .tool-step .tool-grid{gap:14px}
 #main .tool-step .tool-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #main .tool-step .tool-card{padding:12px;border-radius:18px}
 #main .tool-step .tool-card-top{margin-bottom:8px}
 #main .tool-step .tool-card-icon{width:34px;height:34px;border-radius:10px}
 #main .tool-step .tool-card-icon .ic{width:20px;height:20px}
 #main .tool-step .tool-card>strong{font-size:15px}
 #main .tool-step .tool-group-profile{padding-top:14px}
 #main .tool-step .tool-group-profile .tool-cards{grid-template-columns:minmax(0,1fr)}
 #main .tool-step .tool-group-profile .tool-card{grid-template-columns:34px minmax(0,1fr) auto;column-gap:12px}
 #main .tool-step>.topics-fold>summary{padding:0 8px}
}
/* thème sombre : ses jetons (--d-*) */
:where(html[data-theme=dark]) #main .chat-chip-add{color:var(--d-accent);border-color:var(--d-line)}
:where(html[data-theme=dark]) #main .chat-chip-add:hover,:where(html[data-theme=dark]) #main .chip-remove:hover,:where(html[data-theme=dark]) #main .chip-remove:focus-visible{background:var(--d-soft);color:var(--d-ink)}
:where(html[data-theme=dark]) #main .tool-step .tool-card:hover{border-color:var(--d-edge)}
:where(html[data-theme=dark]) #main .tool-step .tool-card:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) #main .tool-step .tool-card-icon{background:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) #main .tool-step .tool-card .tool-price,:where(html[data-theme=dark]) #main .tool-step .tool-card-go{color:var(--d-accent)}
:where(html[data-theme=dark]) #main .tool-step .tool-card-check{border-color:var(--d-edge)}
:where(html[data-theme=dark]) #main .tool-step .tool-card[aria-checked=true]{border-color:var(--d-accent);box-shadow:inset 0 0 0 1px var(--d-accent)}
:where(html[data-theme=dark]) #main .tool-step .tool-card[aria-checked=true] .tool-card-icon{background:var(--d-cit-ink);color:var(--d-bg)}
:where(html[data-theme=dark]) #main .tool-step .tool-card[aria-checked=true] .tool-card-check{border-color:var(--d-accent);background:var(--d-accent);color:var(--d-bg)}
:where(html[data-theme=dark]) #main .tool-step .tool-card-note{background:#3A2F1C;color:#F6C77A}
:where(html[data-theme=dark]) #main .tool-step .tool-card.has-note[aria-checked=true]{border-color:#B98535;box-shadow:inset 0 0 0 1px #B98535}
:where(html[data-theme=dark]) #main .tool-step .tool-card.has-note[aria-checked=true] .tool-card-check{border-color:#B98535;background:#B98535;color:var(--d-bg)}
:where(html[data-theme=dark]) #main .tool-step>.topics-fold[open]{border-color:var(--d-line);background:var(--d-quiet)}
@media (prefers-reduced-motion:reduce){#main .topics-fold-chev .ic,#main .tool-step .tool-card{transition:none}}
/* ═══ P6:FIN ═══ */
/* 11/11 — P4 (Kevin, recette réelle : « pas sérieux, je suis perdu » ; LEAD 15:3x UTC) — LA LISTE DES CHATS, dense et lisible (références : un choix
   de fichiers façon iLovePDF, une liste de réunions façon Granola). Chaque ligne : la case, la PASTILLE NEUTRE de l'IA (les deux lettres d'aiCodes, une
   teinte par IA, contraste AA calculé par test/workspace-p4-p5.mjs dans les deux thèmes), le titre, la date. La barre : une recherche plus courte, le
   filtre par IA et le tri par date sur UNE ligne ; à 600 px et moins, la recherche prend la 1re ligne, filtre et tri la 2e. « Reload » en mot. Rien sous 13 px. */
.choix-chats .cc-row{grid-template-columns:20px 32px minmax(0,1fr) auto}
.choix-chats .cc-meta{font-size:13px}
.cc-pastille{width:32px;height:28px;border-radius:8px;border:0;font:700 13px/1 DM,system-ui,sans-serif;letter-spacing:.2px}
.cc-pastille[data-ia=CG]{background:#DDF1E8;color:#0B5E45}.cc-pastille[data-ia=CL]{background:#F8E3DA;color:#8E3B1E}
.cc-pastille[data-ia=GE]{background:#E1E9FB;color:#1F47A6}.cc-pastille[data-ia=CO]{background:#ECE4FA;color:#5B2FA6}
.cc-pastille[data-ia=PE]{background:#DCEFF1;color:#0F5D63}.cc-pastille[data-ia=MV]{background:#FBEBCB;color:#7A4A00}
.cc-pastille[data-ia=GN]{background:#E5E8EE;color:#2E3A52}.cc-pastille[data-ia=AS]{background:#F7E1EE;color:#8A2560}
:where(html[data-theme=dark]) .cc-pastille[data-ia=CG]{background:#173B33;color:#8FE0C0}:where(html[data-theme=dark]) .cc-pastille[data-ia=CL]{background:#43281F;color:#F5B39B}
:where(html[data-theme=dark]) .cc-pastille[data-ia=GE]{background:#1E2E57;color:#A9C2FF}:where(html[data-theme=dark]) .cc-pastille[data-ia=CO]{background:#33264F;color:#CDB5FF}
:where(html[data-theme=dark]) .cc-pastille[data-ia=PE]{background:#163B40;color:#8ED8DE}:where(html[data-theme=dark]) .cc-pastille[data-ia=MV]{background:#3F3115;color:#F2CC7A}
:where(html[data-theme=dark]) .cc-pastille[data-ia=GN]{background:#2A3246;color:#C9D2E6}:where(html[data-theme=dark]) .cc-pastille[data-ia=AS]{background:#42213A;color:#F3A9D2}
.cc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.choix-chats .cc-top,.choix-chats .cc-tools{flex-shrink:0} /* la page est une colonne de hauteur fixe : sans cela, une longue liste écrase la ligne du haut et « Reload » passe sous la recherche */
.choix-chats .cc-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.choix-chats .cc-tools .selector-search{flex:0 1 300px;min-width:180px;min-height:40px;padding:0 12px}
.choix-chats .cc-tools select{flex:none;margin:0}
.choix-chats .cc-reload{margin:0 0 0 auto;min-height:36px;padding:6px 14px;font-size:13px;font-weight:600;gap:7px;display:inline-flex;align-items:center}
.choix-chats .cc-reload .ic{width:16px;height:16px}
.choix-chats .cc-reload:disabled{opacity:.6;cursor:default}
@media(prefers-reduced-motion:no-preference){.choix-chats .cc-reload[aria-busy=true] .ic{animation:cc-tour 1s linear infinite}}
@keyframes cc-tour{to{transform:rotate(360deg)}}
@media(max-width:600px){.choix-chats .cc-row{grid-template-columns:20px 32px minmax(0,1fr)}.choix-chats .cc-meta{grid-column:3}.choix-chats .cc-tools{flex-wrap:wrap}.choix-chats .cc-tools .selector-search{flex:1 1 100%}.choix-chats .cc-tools select{flex:1 1 0;min-width:0;margin:0}}
:where(html[data-theme=dark]) .choix-chats .cc-reload{color:var(--d-ink)}
/* 11/11 — P5 : « MANAGE AIs » EST UNE FENÊTRE (#modal.cc-modal, avec le style V4 de la fenêtre de revue : #modal.review-v4, ses jetons --rv-*, sa croix
   de 40 px, rayon 18 ; sombre par les mêmes jetons). Une ligne par IA : pastille, nom et état, le geste, « Show in list ». Rien sous 13 px, boutons 600. */
#modal.cc-modal{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
#modal.cc-modal #modal-body>h2{font-size:22px}
#modal.cc-modal .cc-panel{margin:14px 0 0}
#modal.cc-modal .cc-panel ul{list-style:none;margin:0;padding:0;border:1px solid var(--rv-line);border-radius:14px;background:var(--rv-card)}
#modal.cc-modal .cc-panel li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:12px 16px;border-bottom:1px solid var(--rv-line);font-size:14px;color:var(--rv-ink);min-width:0}
#modal.cc-modal .cc-panel li:last-child{border-bottom:0}
#modal.cc-modal .cc-ia{display:flex;flex-direction:column;gap:2px;min-width:0}
#modal.cc-modal .cc-ia b{font-weight:600}
#modal.cc-modal .cc-etat{font-size:13px;color:var(--rv-soft);overflow-wrap:anywhere}
#modal.cc-modal .cc-ok{display:inline-block;margin-right:8px;font-weight:600;color:#0B5E45}
#modal.cc-modal .cc-erreur{color:var(--rv-ink);background:#fff7e9;border:1px solid #e8c895;border-radius:8px;padding:1px 8px;display:inline-block}
#modal.cc-modal .cc-geste .button,#modal.cc-modal .cc-geste .button.primary{margin:0;min-height:36px;padding:6px 14px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none}
#modal.cc-modal .cc-geste .button:disabled{opacity:.6;cursor:default}
#modal.cc-modal .cc-geste .button span{font-size:inherit} /* le mot provisoire (span lang=en) ne prend pas les 15 px du socle des boutons principaux */
#modal.cc-modal .cc-switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--rv-soft);cursor:pointer;white-space:nowrap}
#modal.cc-modal .cc-switch input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:36px;height:20px;margin:0;border-radius:999px;background:#c5cbdc;cursor:pointer;transition:background .15s}
#modal.cc-modal .cc-switch input:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(38,49,83,.3);transition:transform .15s}
#modal.cc-modal .cc-switch input:checked{background:var(--rv-blue)}
#modal.cc-modal .cc-switch input:checked:before{transform:translateX(16px)}
#modal.cc-modal .cc-switch input:focus-visible{outline:3px solid var(--rv-accent);outline-offset:2px}
#modal.cc-modal .cc-off{display:block;margin:16px 0 0;padding:6px 0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--rv-soft);text-decoration:underline;cursor:pointer}
#modal.cc-modal .cc-off:disabled{opacity:.6;cursor:default}
#modal.cc-modal .cc-modal-off{margin-top:16px}#modal.cc-modal .cc-modal-off p{margin:0 0 4px;color:var(--rv-ink)}
@media(prefers-reduced-motion:reduce){#modal.cc-modal .cc-switch input,#modal.cc-modal .cc-switch input:before{transition:none}}
@media(max-width:600px){#modal.cc-modal{padding:22px 18px}#modal.cc-modal .cc-panel li{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"p n n" ". g s";padding:12px 14px;gap:8px 12px}#modal.cc-modal .cc-pastille{grid-area:p}#modal.cc-modal .cc-ia{grid-area:n}#modal.cc-modal .cc-geste{grid-area:g;justify-self:start;min-width:0}#modal.cc-modal .cc-geste .button,#modal.cc-modal .cc-geste .button.primary{white-space:normal;text-align:left}#modal.cc-modal .cc-geste:empty{display:none}#modal.cc-modal .cc-switch{grid-area:s;justify-self:end}}
:where(html[data-theme=dark]) #modal.cc-modal .cc-ok{color:#8FE0C0}
:where(html[data-theme=dark]) #modal.cc-modal .cc-erreur{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
:where(html[data-theme=dark]) #modal.cc-modal .cc-switch input{background:#4A5A8C}
:where(html[data-theme=dark]) #modal.cc-modal .cc-switch input:checked{background:var(--d-accent)}
:where(html[data-theme=dark]) #modal.cc-modal .cc-switch input:before{background:#13182B}
/* 13/11 — IA AVEC CHATS (workspace.js, ccPli/ccAutresBloc) : sous les IA où la personne a des chats, UN bouton « Autres IA » + leur nombre + le chevron
   des menus V4 ; il déplie, sur place, une seconde liste au même dessin que la première. Jetons de la fenêtre (--rv-*) ; aucune couleur nouvelle,
   pas de bleu plein (le seul de la vue reste celui de la page) ; texte ≥ 13 px ; cible ≥ 40 px. */
#modal.cc-modal .cc-autres{display:flex;width:fit-content;align-items:center;gap:8px;min-height:40px;margin:10px 0 0;padding:6px 12px 6px 4px;border:0;border-radius:10px;background:none;font:600 14px/1.3 var(--rv-body);color:var(--rv-ink);cursor:pointer}
#modal.cc-modal .cc-autres:hover{background:var(--rv-tint)}
#modal.cc-modal .cc-autres:focus-visible{outline:3px solid var(--rv-accent);outline-offset:2px}
#modal.cc-modal .cc-autres-n{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:var(--rv-tint);font-size:13px;font-weight:600;color:var(--rv-soft)}
#modal.cc-modal .cc-autres .menu-v4-fleche{width:18px;height:18px;flex:none;color:var(--rv-soft);transition:transform .15s}
#modal.cc-modal .cc-autres[aria-expanded=true] .menu-v4-fleche{transform:rotate(180deg)}
#modal.cc-modal .cc-panel .cc-autres-liste{margin-top:6px}
#modal.cc-modal .cc-panel .cc-autres-liste[hidden]{display:none}
@media(prefers-reduced-motion:reduce){#modal.cc-modal .cc-autres .menu-v4-fleche{transition:none}}
:where(html[data-theme=dark]) #modal.cc-modal .cc-autres-n{background:var(--d-soft);color:var(--d-ink)}
/* ═══ E3 (PRODUIT 11/11/2026 ; contrat d'EXTENSION CONTRAT-HOTE-E3.md, QUALITÉ 16:1x ③④) — LA LECTURE CHAT PAR CHAT (workspace.js, bloc
   renderReadStatus) : une ligne par chat choisi au-dessus du « Next » (le retour de « Continue » est dans la fenêtre de P5, ses styles).
   Les valeurs du panneau « Choisir des chats » (encre #263153, gris #66708a, bleu #4458ac, bord #dce1ed, calme #f4f5fa, filet #e6e9f1,
   ambre de .recent-error) ; sombre : les jetons --d-* de l'espace. Aucune nouvelle couleur. ═══ */
.choix-chats .cc-lecture{margin:12px 0 0;min-width:0}
.choix-chats .cc-lecture[hidden]{display:none}
.choix-chats .cc-lecture-avis{margin:0 0 8px;padding:10px 14px;border:1px solid #e8c895;border-radius:12px;background:#fff7e9;color:#263153;font-size:13px;line-height:1.5}
.choix-chats .cc-lecture-lignes{list-style:none;margin:0;padding:4px 16px;border:1px solid #dce1ed;border-radius:14px;background:#f4f5fa}
.choix-chats .cc-lecture-lignes li{display:grid;grid-template-columns:20px minmax(0,1fr) auto minmax(0,auto) auto;align-items:center;gap:4px 12px;padding:9px 0;border-bottom:1px solid #e6e9f1;font-size:13px;color:#263153;min-width:0}
.choix-chats .cc-lecture-lignes li:last-child{border-bottom:0}
.choix-chats .cc-lecture-titre{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.choix-chats .cc-lecture-ia{font-weight:500}
.choix-chats .cc-lecture-etat{color:#66708a;min-width:0;overflow-wrap:anywhere}
.choix-chats .cc-lecture-lignes li[data-read-state=failed] .cc-lecture-etat{color:#263153}
.choix-chats .cc-lecture-marque{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #dce1ed;font-size:12px;font-weight:700;line-height:1;color:#4458ac}
.choix-chats .cc-lecture-marque .ic{width:14px;height:14px}
.choix-chats li[data-read-state=reading] .cc-lecture-marque{border-color:#dce1ed;border-top-color:#4458ac}
.choix-chats li[data-read-state=read] .cc-lecture-marque{border-color:#4458ac}
.choix-chats li[data-read-state=failed] .cc-lecture-marque{border-color:#e8c895;background:#fff7e9;color:#263153}
.choix-chats .cc-lecture-retry{border:0;background:none;padding:4px 0;min-height:34px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.choix-chats .cc-lecture-retry:disabled{opacity:.55;cursor:default}
@media(prefers-reduced-motion:no-preference){.choix-chats li[data-read-state=reading] .cc-lecture-marque{animation:cc-lecture-tour .9s linear infinite}}
@keyframes cc-lecture-tour{to{transform:rotate(360deg)}}
@media(max-width:600px){.choix-chats .cc-lecture-lignes{padding:4px 12px}.choix-chats .cc-lecture-lignes li{grid-template-columns:20px minmax(0,1fr) auto;gap:2px 10px}.choix-chats .cc-lecture-etat{grid-column:2/4}.choix-chats .cc-lecture-retry{grid-column:2/4;justify-self:start}}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-lignes{background-color:var(--d-quiet);border-color:var(--d-edge)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-lignes li{border-bottom-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-etat{color:var(--d-muted)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-lignes li[data-read-state=failed] .cc-lecture-etat{color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-avis,:where(html[data-theme=dark]) .choix-chats li[data-read-state=failed] .cc-lecture-marque{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-marque{border-color:var(--d-edge);color:var(--d-accent)}
:where(html[data-theme=dark]) .choix-chats li[data-read-state=reading] .cc-lecture-marque{border-top-color:var(--d-accent)}
:where(html[data-theme=dark]) .choix-chats li[data-read-state=read] .cc-lecture-marque{border-color:var(--d-accent)}
/* Gestes (LEAD 18:0x UTC) : une ligne en échec passe sur trois rangs — le chat, la phrase, le geste — pour qu'une phrase entière se lise. */
.choix-chats .cc-lecture-lignes li[data-read-state=failed]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:4px}
.choix-chats .cc-lecture-lignes li[data-read-state=failed] .cc-lecture-etat{grid-column:2/4;line-height:1.45}
.choix-chats .cc-lecture-gestes{grid-column:2/4;display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px}
.choix-chats .cc-lecture-geste{border:0;background:none;padding:4px 0;min-height:34px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.choix-chats .cc-lecture-geste:disabled{opacity:.55;cursor:default}
/* ═══ E3 : FIN ═══ */
/* 11/11 (P7, décision du LEAD 15:3x UTC) — « 1 tâche par chat » (workspace.js, bloc P7). L'option [data-p7-option] est UN bloc, à déplacer tel quel à la fusion
   avec le nouveau dessin des cartes outil (P6). La revue liste les N tâches et leur coût ; la page de la file montre une ligne par chat (en attente, en
   cours, prête, échec, non lancée). Jetons de l'espace ; mouvement réduit : l'anneau « en cours » ne tourne pas. */
.p7-option{margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fff)}
.p7-option.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}
.p7-option-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.p7-option-label input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue)}
.p7-option-text{display:grid;gap:2px;min-width:0}
.p7-option-text b{font:700 14px/1.4 DM;color:var(--ink);overflow-wrap:anywhere}
.p7-option-text small{font-size:12.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.arr-options .p7-option{margin:0 0 14px}
.p7-review-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:240px;overflow:auto}
.p7-review-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;min-height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:12px}
.p7-review-chat{display:flex;align-items:center;gap:10px;min-width:0}
.p7-review-chat b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p7-review-cost{font:600 13px/1.4 DM;color:var(--ink);white-space:nowrap}
.p7-review-error{grid-column:1/-1;margin:0;font-size:12.5px;line-height:1.45;color:#9b3b2a}
.p7-review-line.is-error{border-color:#e8c895;background:#fff7e9}
.p7-lot-card{max-width:760px;margin:18px auto 40px;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:var(--paper,#fff)}
.p7-lot-head{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px}
.p7-lot-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef1fd;color:var(--blue)}
.p7-lot-head h2{font:700 22px/1.25 Jakarta;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere}
.p7-lot-head h2:focus{outline:none}
.p7-lot-sum{margin:4px 0 0;color:var(--muted);font-size:14px}
.p7-lot-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p7-task{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px}
.p7-mark{box-sizing:border-box;width:22px;height:22px;border-radius:50%;border:2px solid #cfd6ea}
.p7-task.is-sending .p7-mark,.p7-task.is-quoting .p7-mark{border:3px solid #dce2fa;border-top-color:var(--blue);animation:billing-tourne .9s linear infinite}
.p7-task.is-ready .p7-mark{border:0;background:var(--citron) center/12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23142238' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.p7-task.is-failed .p7-mark{border-color:#d9735e;background:#fdecea}
.p7-task.is-skipped .p7-mark{border-style:dashed}
.p7-task-main{display:grid;gap:2px;min-width:0}
.p7-task-title{font:600 15px/1.4 DM;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p7-task-meta{font-size:12.5px;color:var(--muted)}
.p7-task-reason{margin:4px 0 0;font-size:13px;line-height:1.45;color:#9b3b2a;overflow-wrap:anywhere}
.p7-task-reason .button{margin-top:6px}
.p7-task.is-skipped .p7-task-reason{color:var(--muted)}
.p7-task-state{font:600 13px/1.4 DM;color:var(--muted);white-space:nowrap}
.p7-task.is-ready .p7-task-state{color:var(--ink)}
.p7-task.is-failed .p7-task-state{color:#9b3b2a}
.p7-task-action .button{min-height:40px;white-space:nowrap}
.p7-lot-stop{margin:16px 0 0;padding:10px 14px;border:1px solid #e8c895;border-radius:12px;background:#fff7e9;color:#263153;font-size:14px}
.p7-export{margin:14px 0 0}
.p7-export-line{margin:0;font:600 14px/1.4 DM;color:var(--ink)}
.p7-export-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;text-align:left}
.p7-export-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px}
.p7-export-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.p7-lot-card{margin:12px 0 28px;padding:20px 16px}.p7-lot-head h2{font-size:19px}.p7-task{grid-template-columns:22px minmax(0,1fr) auto;padding:12px}.p7-task-action{grid-column:2/-1}.p7-task-action .button{width:100%}.p7-review-line{grid-template-columns:minmax(0,1fr)}.p7-option-text small{font-size:12px}}
@media (prefers-reduced-motion:reduce){.p7-task.is-sending .p7-mark,.p7-task.is-quoting .p7-mark{animation:none}}
:where(html[data-theme=dark]) .p7-option,:where(html[data-theme=dark]) .p7-lot-card{background:var(--d-surface);border-color:var(--d-line)}
:where(html[data-theme=dark]) .p7-option.is-on{border-color:var(--d-accent);box-shadow:0 0 0 1px var(--d-accent) inset}
:where(html[data-theme=dark]) .p7-option-text b,:where(html[data-theme=dark]) .p7-task-title,:where(html[data-theme=dark]) .p7-review-cost,:where(html[data-theme=dark]) .p7-export-line{color:var(--d-ink)}
:where(html[data-theme=dark]) .p7-option-text small,:where(html[data-theme=dark]) .p7-task-meta,:where(html[data-theme=dark]) .p7-task-state,:where(html[data-theme=dark]) .p7-lot-sum{color:var(--d-muted)}
:where(html[data-theme=dark]) .p7-task,:where(html[data-theme=dark]) .p7-review-line,:where(html[data-theme=dark]) .p7-export-list li{border-color:var(--d-line)}
:where(html[data-theme=dark]) .p7-lot-icon{background:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .p7-review-line.is-error,:where(html[data-theme=dark]) .p7-lot-stop{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .p7-task-reason,:where(html[data-theme=dark]) .p7-review-error{color:#ffb4a6}
.p7-review-warn{margin:0 0 8px;padding:10px 14px;border:1px solid #e8c895;border-radius:12px;background:#fff7e9;color:#263153;font-size:13.5px;line-height:1.45}
.p7-lot-stop .button{margin-left:6px;min-height:36px;vertical-align:middle}
:where(html[data-theme=dark]) .p7-review-warn{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
/* 13/11 (Kevin, LEAD 11:06 UTC) — ① LA GRILLE DES N TÂCHES : une carte par tâche (2 colonnes à 2 tâches, jusqu'à 3 au-delà ; une seule à 390), et sous
   chacune les trois étapes de l'attente d'une tâche seule (mêmes marques : cercle vide à venir, anneau qui tourne, coche citron sans texte). PUIS LES ONGLETS
   du résultat (workspace.js perChatTabsMarkup) : soulignés, jamais un bleu plein ; le numéro sur la lavande de l'espace. Jetons de l'espace, sombre compris. */
.p7-lot-card{box-sizing:border-box;width:100%;max-width:980px}
.p7-lot-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;align-items:start}
.p7-lot-list.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.p7-task{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;padding:16px;border-radius:14px}
.p7-task-head{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px 12px;min-width:0}
.p7-task-reason{margin:0}
.p7-lot-list .p7-task-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere}
.p7-task-action{display:flex;justify-content:flex-end}
.p7-wait{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.p7-wait .wait-step{display:flex;align-items:flex-start;gap:10px;font:500 14px/1.45 DM;color:var(--ink);letter-spacing:0}
.p7-wait .wait-step.is-done,.p7-wait .wait-step.is-pending{color:var(--muted)}
.p7-wait .wait-mark{flex:none;box-sizing:border-box;width:18px;height:18px;margin-top:1px;border-radius:50%}
.p7-wait .wait-step.is-pending .wait-mark{border:2px solid #cfd6ea}
.p7-wait .wait-step.is-active .wait-mark{border:3px solid #dce2fa;border-top-color:var(--blue);animation:billing-tourne .9s linear infinite}
.p7-wait .wait-step.is-done .wait-mark{background:var(--citron) center/10px 10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23142238' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.p7-wait .wait-text{position:relative;flex:1;min-width:0;overflow-wrap:anywhere}
.p7-wait .wait-label.is-typing{opacity:0}
.p7-wait .wait-typed{position:absolute;inset:0 0 auto 0}
.p7-wait .wait-typed::after{content:'';display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.16em;background:var(--blue)}
@media (prefers-reduced-motion:reduce){.p7-wait .wait-step.is-active .wait-mark{animation:none}}
@media(max-width:600px){.p7-lot-list.is-two{grid-template-columns:minmax(0,1fr)}.p7-task{padding:14px}.p7-task-action .button{width:100%}}
.p7-tabs-bar{flex:none;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;min-width:0;margin:0 0 14px}
.p7-tabs-bar.has-tabs{border-bottom:1px solid var(--line)}
.p7-tabs{display:flex;gap:2px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.p7-tabs::-webkit-scrollbar{display:none}
.p7-tab{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;max-width:300px;min-height:44px;margin:0 0 -1px;padding:8px 12px 7px;border:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:var(--muted);font:600 14px/1.3 DM;cursor:pointer}
@media (hover:hover){.p7-tab:hover{color:var(--ink);background:#EEF0FC}}
.p7-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}
.p7-tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.p7-tab-n{flex:none;display:grid;place-items:center;box-sizing:border-box;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--line);border-radius:999px;font:700 13px/1 DM;color:var(--muted)}
.p7-tab[aria-selected=true] .p7-tab-n{border-color:#EEF0FC;background:#EEF0FC;color:#4458AC}
.p7-tab-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p7-tabs-bar .p7-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0 0 0 auto;padding:0 4px;border:0;background:transparent;box-shadow:none;color:var(--blue);font:600 14px/1.3 DM;cursor:pointer}
.p7-tabs-bar:not(.has-tabs) .p7-back{margin:0}
.p7-tabs-bar .p7-back .ic{transform:rotate(180deg)}
.mobile-result>.p7-tabs-bar{margin:0;padding:0 8px;background:#fff}
.mobile-result>.p7-tabs-bar .p7-tab{max-width:46vw;padding-inline:10px}
.mobile-result>.p7-tabs-bar .p7-back{order:-1;flex:1 0 100%;justify-content:flex-start;min-height:40px;margin:0}
:where(html[data-theme=dark]) .p7-wait{border-top-color:var(--d-line)}
:where(html[data-theme=dark]) .p7-wait .wait-step{color:var(--d-ink)}
:where(html[data-theme=dark]) .p7-wait .wait-step.is-done,:where(html[data-theme=dark]) .p7-wait .wait-step.is-pending{color:var(--d-muted)}
:where(html[data-theme=dark]) .p7-wait .wait-step.is-pending .wait-mark{border-color:var(--d-soft-line)}
:where(html[data-theme=dark]) .p7-wait .wait-step.is-active .wait-mark{border-color:var(--d-soft-line);border-top-color:var(--d-accent)}
:where(html[data-theme=dark]) .p7-wait .wait-typed::after{background:var(--d-accent)}
:where(html[data-theme=dark]) .p7-tabs-bar.has-tabs{border-bottom-color:var(--d-line)}
:where(html[data-theme=dark]) .p7-tab{color:var(--d-muted)}
@media (hover:hover){:where(html[data-theme=dark]) .p7-tab:hover{color:var(--d-ink);background:var(--d-soft)}}
:where(html[data-theme=dark]) .p7-tab[aria-selected=true]{color:var(--d-ink);border-bottom-color:var(--d-accent)}
:where(html[data-theme=dark]) .p7-tab:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .p7-tab-n{border-color:var(--d-line);color:var(--d-muted)}
:where(html[data-theme=dark]) .p7-tab[aria-selected=true] .p7-tab-n{border-color:var(--d-soft);background:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .mobile-result>.p7-tabs-bar{background:var(--d-surface)}
:where(html[data-theme=dark]) .p7-tabs-bar .p7-back{color:var(--d-accent)}
/* Fusion P6 × P7 (11/11) : la carte choisie dit « Each chat gets its own {tool}. » quand l'option P7 est cochée — ton neutre (bleu), pas l'ambre de la contrainte. */
#main .tool-step .tool-card.is-p7 .tool-card-note{background:#EEF1FD;color:#263153}
#main .tool-step .tool-card.has-note.is-p7[aria-checked=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
#main .tool-step .tool-card.has-note.is-p7[aria-checked=true] .tool-card-check{border-color:var(--blue);background:var(--blue)}
.p7-option.is-compact{padding:10px 14px}
:where(html[data-theme=dark]) #main .tool-step .tool-card.is-p7 .tool-card-note{background:var(--d-soft);color:var(--d-ink)}
:where(html[data-theme=dark]) #main .tool-step .tool-card.has-note.is-p7[aria-checked=true]{border-color:var(--d-accent);box-shadow:inset 0 0 0 1px var(--d-accent)}
/* Fusion P6 × P7 (11/11, PRODUIT sur la capture 1440) : l'interrupteur « 1 task per chat » vit dans le PIED COLLANT, sur la ligne du devis — toujours visible.
   À 390, il prend sa propre ligne en tête du pied (le pied reste collant). */
.flow-footer .tool2-launch{align-items:center}
.flow-footer .p7-option.is-compact{margin:0;padding:6px 12px;border-radius:999px;flex:none}
.flow-footer .p7-option .p7-option-label{align-items:center;gap:8px}
.flow-footer .p7-option .p7-option-label input{margin:0;width:16px;height:16px}
.flow-footer .p7-option .p7-option-text b{font-size:13px;white-space:nowrap}
@media(max-width:600px){.flow-footer .p7-option.is-compact{flex:1 0 100%;border-radius:12px;padding:6px 10px}}
/* P7 à l'arrivée (OUI du LEAD 17:1x UTC) : « Each chat gets its own {tool}. » sous la ligne de l'outil, ton neutre ; l'interrupteur est dans le pied. */
.arr-p7-note{display:inline-block;margin:8px 0 0;padding:6px 10px;border-radius:10px;background:#EEF1FD;color:#263153;font:600 13px/1.45 DM,sans-serif}
:where(html[data-theme=dark]) .arr-p7-note{background:var(--d-soft);color:var(--d-ink)}

/* ═══ CLÉS API:DÉBUT — PRODUIT 11/11/2026 (relevé SOCLE RELEVE-ACCES-AGENTS-1111, lot L2) : le bloc « API keys » de Connections (workspace.js, bloc « CLÉS API »).
   La carte est une .connection-item (rayon de carte, ombre, fond du socle) ; seuls les éléments neufs sont dessinés ici. Rien sous 13 px ; thème sombre par
   les variables existantes. ═══ */
.api-keys-card .api-keys-body{grid-column:1/-1;min-width:0;margin-top:8px}
.api-keys-card .connection-action .button{font-weight:600}
.api-key-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.api-key-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.api-key-row:last-child{border-bottom:0}
.api-key-text{display:grid;gap:3px;min-width:0;flex:1}
.api-key-name{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.api-key-name b{font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.api-key-name code,.api-key-value input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.api-key-name code{font-size:13px;color:var(--muted)}
.api-key-text small{font-size:13px;line-height:1.45;color:var(--muted)}
html body .api-key-row .api-key-revoke{flex:none;font-size:14px;font-weight:600;min-height:40px;padding:8px 14px;border-radius:var(--v4-radius-button)}
.api-keys-note{font-size:14px;line-height:1.55;color:var(--muted);margin:4px 0 6px}
.api-keys-note.is-error .top-link{margin-left:4px}
.api-keys-pro{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#f5f7ff;margin:0 0 10px}
.api-keys-pro p{margin:0;font-size:14px;line-height:1.55}
.api-keys-pro b{font-weight:700}
.api-keys-loading .skeleton-row{height:44px;margin:0 0 8px}
.api-key-form{display:grid;gap:8px}
.api-key-form label{font-size:14px;font-weight:600}
.api-key-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--v4-line-strong,var(--line));font:inherit;font-size:15px}
.api-key-hint,.api-key-why{font-size:14px;line-height:1.55;color:var(--muted);margin:0}
.api-key-form-error{font-size:14px;line-height:1.5;color:#a12439;margin:0}
.api-key-once{margin:0 0 12px}
.api-key-value{display:flex;gap:10px;align-items:stretch;min-width:0}
.api-key-value input{flex:1;min-width:0;min-height:44px;padding:10px 12px;font-size:14px;border:1px solid var(--v4-line-strong,var(--line));border-radius:var(--v4-radius-button);background:#f5f7ff;color:var(--ink)}
.api-key-value .button{flex:none}
.api-key-copied{min-height:20px;font-size:14px;margin:6px 0 8px;color:var(--muted)}
@media(max-width:600px){.api-key-row{flex-wrap:wrap;gap:10px}.api-key-row .api-key-revoke{margin-left:0}.api-key-value{flex-direction:column}}
:where(html[data-theme=dark]) .api-keys-pro{background-color:var(--d-quiet);border-color:var(--d-line)}
:where(html[data-theme=dark]) .api-key-value input{background-color:var(--d-quiet);border-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .api-key-form input{background-color:var(--d-quiet);border-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .api-key-form-error{color:var(--d-red)}
:where(html[data-theme=dark]) .api-key-list,:where(html[data-theme=dark]) .api-key-row{border-color:var(--line)}
.api-key-actions{display:flex;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}
html body .api-key-row .api-key-cap-edit{font-size:14px;font-weight:600;min-height:40px;padding:8px 14px;border-radius:var(--v4-radius-button)}
.api-key-text small.api-key-cap{color:var(--ink);font-weight:600}
.api-key-text small.api-key-cap.is-zero{color:#8a4b00}
.api-key-form input[type=number]{max-width:180px}
.api-key-cap-state{min-height:21px;font-size:14px;line-height:1.5;margin:0;color:var(--ink);font-weight:600}
.api-key-cap-state .is-error{color:#a12439}
@media(max-width:600px){.api-key-actions{justify-content:flex-start;width:100%}}
:where(html[data-theme=dark]) .api-key-text small.api-key-cap,:where(html[data-theme=dark]) .api-key-cap-state{color:var(--d-ink)}
:where(html[data-theme=dark]) .api-key-text small.api-key-cap.is-zero{color:var(--d-cit-ink)}
:where(html[data-theme=dark]) .api-key-cap-state .is-error{color:var(--d-red)}
/* ═══ CLÉS API:FIN ═══ */
/* REMISE 11/11 — NOTE D'INCIDENT : à 390, avec les mots d'ÉDITO posés (FR « C'est mon compte, continuer » + « Afficher dans la liste »), le geste et
   l'interrupteur de chaque IA ne tenaient plus sur la même ligne et se recouvraient (workspace-p4-p5, 390 FR). Ils passent sur deux lignes. */
@media(max-width:600px){html body #modal.cc-modal .cc-panel li{grid-template-columns:32px minmax(0,1fr);grid-template-areas:"p n" ". g" ". s"}html body #modal.cc-modal .cc-switch{grid-area:s;justify-self:start;white-space:normal}}
/* 11/11/2026 (PRODUIT, remise) — au-delà de la borne de l'offre : la phrase du moteur et les gestes, juste au-dessus du pied (workspace.js overLimitMarkup). */
.workspace-over-limit{flex:none;margin:0 0 12px;padding:14px 16px;border:1px solid var(--line,#DCE0EA);border-radius:12px;background:var(--wash,#F6F7FA)}
.workspace-over-limit>p{margin:0 0 4px;font-size:14px;line-height:1.45}.workspace-over-limit-phrase{font-size:12px!important;color:var(--muted,#5C6480)}
.workspace-over-limit-choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.workspace-over-limit-choices>.button{display:grid;justify-items:start;justify-content:start;gap:3px;min-height:48px;flex:1 1 220px;text-align:start;white-space:normal}
.workspace-over-limit-choices>.button>span{font-size:12px;font-weight:400;opacity:.8}
@media(max-width:600px){.workspace-over-limit{padding:10px 12px;margin-bottom:8px}.workspace-over-limit>p{font-size:13px}.workspace-over-limit-choices{gap:6px;margin-top:6px}.workspace-over-limit-choices>.button{flex-basis:100%;min-height:40px}}
/* Un lancement à la fois (QUALITÉ 17:3x UTC) : la ligne qui dit pourquoi une confirmation est fermée pendant une file ou un envoi. */
.launch-lock-note{margin:8px 0;padding:8px 12px;border:1px solid #e8c895;border-radius:10px;background:#fff7e9;color:#263153;font-size:13px;line-height:1.45}
:where(html[data-theme=dark]) .launch-lock-note{background-color:var(--d-amber);border-color:var(--d-amber-line);color:var(--d-ink)}
/* À 390, le pied de l'étape outil est COLLANT (QUALITÉ 17:3x UTC) : l'interrupteur « 1 task per chat », le devis et le bouton restent à l'écran. */
@media(max-width:600px){.flow-footer:has(.tool2-launch){position:sticky;bottom:0;z-index:20;background:var(--wash,#f7f8fa)}}
/* ═══ DA-ESPACE (12/11/2026, PRODUIT ; LEAD 08:3x UTC ③) — l'espace à la DA d'Uncook (assets/brand/systeme-v4/), écran par écran, sans changer ni
   les mots ni le comportement. UN bloc par écran, chacun tenu par UN sous-agent sur sa branche : ne jamais écrire hors de son bloc (les trois
   branches fusionnent sans conflit). Ordre de cascade : ces blocs viennent après tout lot2.css. ═══ */
/* ═══ DA-OUTIL:DÉBUT — choix de l'outil (étape 2, grille des outils, carte de contrainte, pied) ═══ */
/* PRODUIT 12/11/2026 (LEAD 08:3x UTC ③ : « l'espace à la DA d'Uncook, écran par écran, sans changer ni les mots ni le comportement »).
   L'étape outil (grille « Choisissez un outil », arrivée « Vérifier et lancer », pied collant, panneau au-delà de la borne) prend l'allure du
   panneau latéral que Kevin a aimé (« joli, un joli fond, de la couleur ») : la SCÈNE lilas/citron derrière des cartes blanches arrondies, UNE
   pastille de couleur par outil (icône), l'outil choisi évident (pastille au citron, anneau bleu + halo), un pied net en carte blanche.
   Source des valeurs : origin/produit/panneau-jetons-v3 tools/produit-panneau/jetons-v4.css (--uck-tool-*-bg/-ink, --uck-panel-bg, --uck-card-ring),
   elles-mêmes lues dans ce fichier (P6 .tool-card-icon, P4 .cc-pastille) — recopiées ici en propriétés --da-outil-*, clair ET sombre.
   CSS seul, aucun crochet ajouté : les outils se lisent par [data-tool] (cartes), [data-arrival-tool] (arrivée) et #main:has(…) (pied).
   Les couleurs passent TOUTES par des propriétés : une seule règle par objet vaut pour les deux thèmes (les règles sombres d'avant sont en
   :where(), une règle claire plus loin les écraserait sinon). */
:root{
 /* TEINTES PAR OUTIL — la seule place où elles s'écrivent (LEAD 08:3x UTC : une palette d'outils distincte des 8 IA arrive dans
    assets/brand/systeme-v4/ ; le citron est réservé à la SÉLECTION, Merge ne le porte plus). Chaque teinte lit d'abord --uck-tool-<id>-bg/-ink
    de la DA servie (site/assets/systeme-v4/uncook-v4.css, mêmes noms, clair et sombre), sinon la valeur de repli écrite ici : changer une
    teinte = changer UNE ligne (ou charger la feuille de la DA). Repli = proposition PRODUIT des 6 teintes (produit/da-teintes-outils 673240fd, 12/11, à valider LEAD), distinctes des 8 IA ; citron = sélection seulement. */
 --da-outil-handoff-fond:var(--uck-tool-handoff-bg,#CAD0FE);--da-outil-handoff-encre:var(--uck-tool-handoff-ink,#36478F);
 --da-outil-merge-fond:var(--uck-tool-merge-bg,#FAD3FF);--da-outil-merge-encre:var(--uck-tool-merge-ink,#7E2F96);
 --da-outil-summarize-fond:var(--uck-tool-summarize-bg,#B8E4FE);--da-outil-summarize-encre:var(--uck-tool-summarize-ink,#0B5A7A);
 --da-outil-memo-fond:var(--uck-tool-memo-bg,#FFD3B1);--da-outil-memo-encre:var(--uck-tool-memo-ink,#8A4310);
 --da-outil-export-fond:var(--uck-tool-export-bg,#D0E7C1);--da-outil-export-encre:var(--uck-tool-export-ink,#2F6B1E);
 --da-outil-aiprofile-fond:var(--uck-tool-profile-bg,#FECDCB);--da-outil-aiprofile-encre:var(--uck-tool-profile-ink,#9E1F33);
 /* la SÉLECTION : le citron (pastille de l'outil choisi), seul usage du citron sur cet écran */
 --da-outil-selection-fond:var(--uck-lime,#E4EE99);--da-outil-selection-encre:#263153;
 --da-outil-neutre-fond:#EEF0FC;--da-outil-neutre-encre:#4458AC;
 --da-outil-scene:none; /* ⑤ Kevin 13/11 : plus de scène lilas/citron, le fond neutre de la page (--wash) */
 --da-outil-anneau:rgba(38,49,83,.12);
 --da-outil-ombre:0 18px 36px -26px rgba(38,49,83,.38);
 --da-outil-ombre-forte:0 24px 44px -24px rgba(38,49,83,.42);
 --da-outil-ombre-puce:0 8px 18px -14px rgba(38,49,83,.45);
 --da-outil-choisi:#4458AC;--da-outil-choisi-fond:#EEF0FC;--da-outil-halo:rgba(68,88,172,.16);
 --da-outil-note-bord:#C98A2E;--da-outil-note-halo:rgba(201,138,46,.18);
 --da-outil-limite-fond:#FFF7E9;--da-outil-limite-bord:#E8C895;
 --da-outil-pied-fond:var(--paper);--da-outil-ajout-fond:var(--paper);--da-outil-ajout-bord:var(--v4-line-strong);
}
html[data-theme=dark]{
 --da-outil-handoff-fond:var(--uck-tool-handoff-bg,#4D4B62);--da-outil-handoff-encre:var(--uck-tool-handoff-ink,#CCD3FF);
 --da-outil-merge-fond:var(--uck-tool-merge-bg,#5F425B);--da-outil-merge-encre:var(--uck-tool-merge-ink,#F6BDF8);
 --da-outil-summarize-fond:var(--uck-tool-summarize-bg,#2F4A5C);--da-outil-summarize-encre:var(--uck-tool-summarize-ink,#8FD3FA);
 --da-outil-memo-fond:var(--uck-tool-memo-bg,#584435);--da-outil-memo-encre:var(--uck-tool-memo-ink,#FFC08C);
 --da-outil-export-fond:var(--uck-tool-export-bg,#3A432E);--da-outil-export-encre:var(--uck-tool-export-ink,#BEDC8E);
 --da-outil-aiprofile-fond:var(--uck-tool-profile-bg,#5F4142);--da-outil-aiprofile-encre:var(--uck-tool-profile-ink,#FFB9BD);
 --da-outil-selection-fond:#E4EE99;--da-outil-selection-encre:#13182B;
 --da-outil-neutre-fond:#293452;--da-outil-neutre-encre:#A4B6FF;
 --da-outil-scene:none; /* ⑤ Kevin 13/11 */
 --da-outil-anneau:#3C4765;
 --da-outil-ombre:0 18px 36px -26px #00000099;
 --da-outil-ombre-forte:0 24px 44px -24px #000000B3;
 --da-outil-ombre-puce:none;
 --da-outil-choisi:#A4B6FF;--da-outil-choisi-fond:#293452;--da-outil-halo:rgba(164,182,255,.22);
 --da-outil-note-bord:#B98535;--da-outil-note-halo:rgba(185,133,53,.26);
 --da-outil-limite-fond:#393A47;--da-outil-limite-bord:#786D63;
 /* en sombre, le pied et « Ajouter des chats » gardent le fond et le bord de main (test/workspace-style-v4.mjs ③ : aucun couple texte|fond ni bord neuf) :
    la carte se dessine par son anneau et son ombre */
 --da-outil-pied-fond:var(--wash);--da-outil-ajout-fond:transparent;--da-outil-ajout-bord:var(--d-line);
}
/* une teinte par outil : la carte de la grille, l'arrivée, l'AI Profile (lien ou carte) */
#main .tool-step [data-tool=handoff],#main .arr-tool[data-arrival-tool=handoff]{--da-ti-fond:var(--da-outil-handoff-fond);--da-ti-encre:var(--da-outil-handoff-encre)}
#main .tool-step [data-tool=merge],#main .arr-tool[data-arrival-tool=merge]{--da-ti-fond:var(--da-outil-merge-fond);--da-ti-encre:var(--da-outil-merge-encre)}
#main .tool-step [data-tool=summarize],#main .arr-tool[data-arrival-tool=summarize]{--da-ti-fond:var(--da-outil-summarize-fond);--da-ti-encre:var(--da-outil-summarize-encre)}
#main .tool-step [data-tool=memo],#main .arr-tool[data-arrival-tool=memo]{--da-ti-fond:var(--da-outil-memo-fond);--da-ti-encre:var(--da-outil-memo-encre)}
#main .tool-step [data-tool=export],#main .arr-tool[data-arrival-tool=export]{--da-ti-fond:var(--da-outil-export-fond);--da-ti-encre:var(--da-outil-export-encre)}
#main .tool-step [data-tool=aiprofile],#main .tool-step .tool-card-link,#main .arr-tool[data-arrival-tool=aiprofile]{--da-ti-fond:var(--da-outil-aiprofile-fond);--da-ti-encre:var(--da-outil-aiprofile-encre)}
/* le pied reprend la teinte de l'outil choisi (grille : la carte cochée ; arrivée : l'outil arrivé) */
#main:has(.tool-step [data-tool=handoff][aria-checked=true],.arr-tool[data-arrival-tool=handoff]){--da-pied-fond:var(--da-outil-handoff-fond);--da-pied-encre:var(--da-outil-handoff-encre)}
#main:has(.tool-step [data-tool=merge][aria-checked=true],.arr-tool[data-arrival-tool=merge]){--da-pied-fond:var(--da-outil-merge-fond);--da-pied-encre:var(--da-outil-merge-encre)}
#main:has(.tool-step [data-tool=summarize][aria-checked=true],.arr-tool[data-arrival-tool=summarize]){--da-pied-fond:var(--da-outil-summarize-fond);--da-pied-encre:var(--da-outil-summarize-encre)}
#main:has(.tool-step [data-tool=memo][aria-checked=true],.arr-tool[data-arrival-tool=memo]){--da-pied-fond:var(--da-outil-memo-fond);--da-pied-encre:var(--da-outil-memo-encre)}
#main:has(.tool-step [data-tool=export][aria-checked=true],.arr-tool[data-arrival-tool=export]){--da-pied-fond:var(--da-outil-export-fond);--da-pied-encre:var(--da-outil-export-encre)}
#main:has(.tool-step [data-tool=aiprofile][aria-checked=true],.arr-tool[data-arrival-tool=aiprofile]){--da-pied-fond:var(--da-outil-aiprofile-fond);--da-pied-encre:var(--da-outil-aiprofile-encre)}

/* ① la scène : le fond lilas/citron du panneau derrière la grille (et derrière la colonne de l'arrivée) */
#main .tool2-card.tool-step{background:var(--da-outil-scene);border-color:var(--da-outil-anneau);border-radius:22px}
#main .arr-col{padding:16px;border-radius:22px;background:var(--da-outil-scene);box-shadow:inset 0 0 0 1px var(--da-outil-anneau)}
#main .arr-col .chat-card,#main .arr-tool{border-color:var(--da-outil-anneau);border-radius:18px;box-shadow:var(--da-outil-ombre)}
#main .arr-col .chat-card-add{background:var(--da-outil-ajout-fond);border-color:var(--da-outil-ajout-bord);border-radius:18px}
#main .tool-step .switch-block{border-color:var(--da-outil-anneau);border-radius:14px;box-shadow:var(--da-outil-ombre)}
#main .tool-step .tool-group-profile{border-top-color:var(--da-outil-anneau)}

/* ② les chats en puces compactes : blanches, un anneau doux, une ombre légère ; « Ajouter des chats » sur fond blanc */
#main .chat-chips .chat-chip{border-color:var(--da-outil-anneau);box-shadow:var(--da-outil-ombre-puce)}
#main .chat-chips .chat-chip-add{background:var(--da-outil-ajout-fond);border-color:var(--da-outil-ajout-bord)}

/* ③ les cartes d'outils : blanches, rayon 18, anneau + ombre douce ; la pastille en couleur de l'outil, au citron quand il est choisi */
#main .tool-step .tool-card{border-color:var(--da-outil-anneau);box-shadow:var(--da-outil-ombre);transition:border-color .18s ease,box-shadow .18s ease}
#main .tool-step .tool-card:hover{border-color:var(--v4-line-strong);box-shadow:var(--da-outil-ombre-forte)}
#main .tool-step .tool-card:disabled{box-shadow:none}
#main .tool-step .tool-card .tool-card-icon{background:var(--da-ti-fond,var(--da-outil-neutre-fond));color:var(--da-ti-encre,var(--da-outil-neutre-encre))}
/* la carte cochée : sa pastille passe au citron (la sélection, comme P6 et le kit) */
#main .tool-step .tool-card[aria-checked=true] .tool-card-icon{background:var(--da-outil-selection-fond);color:var(--da-outil-selection-encre)}
#main .tool-step .tool-card>strong{color:var(--ink)}
/* l'outil choisi : anneau 2 px + halo de 4 px + ombre, coche pleine — évident d'un coup d'œil, dans les deux thèmes */
#main .tool-step .tool-card[aria-checked=true]{border-color:var(--da-outil-choisi);box-shadow:inset 0 0 0 1px var(--da-outil-choisi),0 0 0 4px var(--da-outil-halo),var(--da-outil-ombre-forte)}
#main .tool-step .tool-card.has-note[aria-checked=true]{border-color:var(--da-outil-note-bord);box-shadow:inset 0 0 0 1px var(--da-outil-note-bord),0 0 0 4px var(--da-outil-note-halo),var(--da-outil-ombre-forte)}
#main .tool-step .tool-card.has-note.is-p7[aria-checked=true]{border-color:var(--da-outil-choisi);box-shadow:inset 0 0 0 1px var(--da-outil-choisi),0 0 0 4px var(--da-outil-halo),var(--da-outil-ombre-forte)}
/* ④ la note de contrainte, sur la carte : sa couleur d'avant, un filet d'accent à gauche (ambre pour la contrainte, bleu pour « 1 par chat ») */
#main .tool-step .tool-card-note{box-shadow:inset 3px 0 0 var(--da-outil-note-bord)}
#main .tool-step .tool-card.is-p7 .tool-card-note{box-shadow:inset 3px 0 0 var(--da-outil-choisi)}

/* ⑤ l'arrivée « Vérifier et lancer » : la pastille de l'outil en couleur */
#main .arr-tool .arr-tool-icon{background:var(--da-ti-fond,var(--da-outil-neutre-fond));color:var(--da-ti-encre,var(--da-outil-neutre-encre))}
#main .arr-p7-note{box-shadow:inset 3px 0 0 var(--da-outil-choisi)}

/* ⑥ le pied : une carte blanche nette (anneau, rayon 18, ombre), la pastille de l'outil choisi ; « 1 task per chat » cochée = pilule lavande */
#main:has(.tool-step,.arr-tool)>.flow-footer:has(.tool2-launch){margin-bottom:8px;padding:10px 12px 10px 16px;border:1px solid var(--da-outil-anneau);border-radius:18px;background:var(--da-outil-pied-fond);box-shadow:var(--da-outil-ombre)}
#main:has(.tool-step,.arr-tool)>.flow-footer .task-icon{border-radius:11px;background:var(--da-pied-fond,var(--da-outil-neutre-fond));color:var(--da-pied-encre,var(--da-outil-neutre-encre))}
#main .flow-footer .p7-option.is-compact{border-color:var(--da-outil-anneau)}
#main .flow-footer .p7-option.is-compact.is-on{border-color:var(--da-outil-choisi);background:var(--da-outil-choisi-fond);box-shadow:inset 0 0 0 1px var(--da-outil-choisi)}
@media(max-width:600px){
 #main .arr-col{padding:10px;border-radius:18px}
 #main .tool2-card.tool-step{border-radius:18px}
 /* collant à 390 : la carte se pose au bas de l'écran, son ombre vers le haut pour se détacher de la grille qui défile dessous ; elle déborde
    de 9 px de chaque côté dans la marge de #main (14 px) pour garder au contenu la largeur exacte d'avant (le devis et le bouton restent sur une ligne) */
 #main:has(.tool-step,.arr-tool)>.flow-footer:has(.tool2-launch){margin-inline:-9px;margin-bottom:0;padding:8px 8px;border-radius:18px 18px 14px 14px;box-shadow:0 -14px 30px -22px rgba(38,49,83,.45)}
 :where(html[data-theme=dark]) #main:has(.tool-step,.arr-tool)>.flow-footer:has(.tool2-launch){box-shadow:0 -14px 30px -18px #000000B3}
}

/* ⑦ au-delà de la borne (#over-limit) : l'allure seulement — une carte ambre douce (le ton des contraintes), les gestes en cartes blanches */
#main .workspace-over-limit{padding:16px 18px;border-color:var(--da-outil-limite-bord);border-radius:18px;background:var(--da-outil-limite-fond);box-shadow:var(--da-outil-ombre)}
#main .workspace-over-limit>p:first-child strong{font-family:Jakarta,sans-serif;font-weight:700;color:var(--ink)}
#main .workspace-over-limit .workspace-over-limit-phrase{font-size:13px!important;color:var(--muted)}
#main .workspace-over-limit-choices>.button{border-color:var(--da-outil-anneau);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--da-outil-ombre-puce)}
#main .workspace-over-limit-choices>.button:hover{border-color:var(--v4-line-strong)}
#main .workspace-over-limit-choices>.button>span{font-size:13px;opacity:1;color:var(--muted)}
@media(max-width:600px){#main .workspace-over-limit{padding:12px 14px;border-radius:14px}#main .workspace-over-limit .workspace-over-limit-phrase{font-size:13px!important}}
@media (prefers-reduced-motion:reduce){#main .tool-step .tool-card{transition:none}}
/* ═══ DA-OUTIL:FIN ═══ */

/* ═══ DA-CHATS:DÉBUT — liste des chats (étape 1) et Gérer les IA (fenêtre) ═══ */
/* DA-CHATS (PRODUIT 12/11/2026, LEAD ③ « l'espace à la DA d'Uncook, écran par écran ») : la liste des chats et « Gérer les IA » prennent le dessin du
   panneau latéral que Kevin a aimé (origin/produit/panneau-jetons-v3 tools/produit-panneau/jetons-v4.css : .uck-recent / .uck-recent-row, .uck-ia-status,
   .uck-btn-secondary) : les lignes dans UNE carte blanche (rayon 18, filet, ombre douce), une ligne = pastille d'IA · titre · date, séparateurs en retrait,
   survol et choix en lavande ; les actions en petits boutons secondaires (rayon 10), plus aucun lien nu pour une action. Mêmes valeurs que le socle
   (lot2.css « ESPACE V4 — socle » :root --paper/--line/--ink/--muted/--v4-*) et sombre --d-* ; aucun mot, aucun comportement, aucun balisage changé.
   Les jetons locaux --dc-* portent la paire clair/sombre une seule fois (les règles sombres :where() d'avant ce bloc ont la même spécificité que
   celles-ci : sans eux, le clair écraserait le sombre). */
.choix-chats{--dc-card:var(--paper,#FFFFFF);--dc-line:var(--line,#E5E8F3);--dc-line-strong:var(--v4-line-strong,rgba(68,88,172,.22));--dc-ink:var(--ink,#263153);--dc-muted:var(--muted,#5C6480);--dc-accent:var(--blue,#4458AC);--dc-tint:var(--v4-tint,#EEF0FC);--dc-tint-hover:color-mix(in srgb,#4458AC 12%,#FFFFFF);--dc-shadow:var(--v4-card-shadow,0 24px 48px -30px rgba(38,49,83,.32));--dc-ok:#0B5E45;--dc-focus:#4458AC;--dc-field:var(--uck-ink-muted,#5C6480)}
:where(html[data-theme=dark]) .choix-chats{--dc-card:var(--d-surface);--dc-line:var(--d-line);--dc-line-strong:var(--d-soft-line);--dc-ink:var(--d-ink);--dc-muted:var(--d-muted);--dc-accent:var(--d-accent);--dc-tint:var(--d-soft);--dc-tint-hover:var(--d-quiet);--dc-shadow:none;--dc-ok:#8FE0C0;--dc-focus:var(--d-accent);--dc-field:var(--d-edge)}

/* ── En haut : les IA lues en puces (papier, filet, pilule, point « lue »), « Gérer les IA » et « Recharger » en petits boutons secondaires ── */
.choix-chats .cc-top{gap:8px 10px}
.choix-chats .cc-ais{gap:6px;color:var(--dc-ink)}
.choix-chats .cc-ais .cc-dot{display:none} /* le point séparateur (aria-hidden) : les puces séparent déjà */
.choix-chats .cc-ai{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 12px 4px 10px;border:1px solid var(--dc-line);border-radius:999px;background:var(--dc-card);font-size:13px;font-weight:600;line-height:1.2;color:var(--dc-ink);white-space:nowrap}
.choix-chats .cc-ai::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--dc-ok)}
.choix-chats .cc-top .cc-manage{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid transparent;border-radius:10px;background:var(--dc-tint);color:var(--dc-accent);font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
.choix-chats .cc-top .cc-manage:hover{background:var(--dc-tint-hover);border-color:var(--dc-line-strong)}
.choix-chats .cc-top .cc-reload{min-height:34px;padding:6px 12px;border:1px solid var(--dc-line-strong);border-radius:10px;background:var(--dc-card);color:var(--dc-ink);box-shadow:none;transition:background-color .15s ease,color .15s ease}
.choix-chats .cc-top .cc-reload:not(:disabled):hover{background:var(--dc-tint);color:var(--dc-accent)}
.choix-chats .cc-top :is(.cc-manage,.cc-reload):focus-visible{outline:2px solid var(--dc-focus);outline-offset:2px}

/* ── La barre : recherche, filtre et tri en champs blancs au rayon 10 ; leur bord à ≥ 3:1 sur la page (--uck-ink-muted #5C6480 de la DA, ≥ 4,5:1 sur le papier, LEAD 13/11 18:00 UTC : plus #8790AE, hors couleurs.json ; sombre --d-edge : 4,0:1 sur --d-bg) ── */
.choix-chats .cc-tools .selector-search,.choix-chats .cc-tools select{border:1px solid var(--dc-field);border-radius:10px;background-color:var(--dc-card);color:var(--dc-ink)}
.choix-chats .cc-tools .selector-search:focus-within,.choix-chats .cc-tools select:focus-visible{outline:2px solid var(--dc-focus);outline-offset:1px}
.choix-chats .cc-tools .selector-search input{color:var(--dc-ink)}

/* ── La liste : UNE carte blanche (.uck-recent), des lignes au rayon 12 (.uck-recent-row), séparateurs en retrait ── */
.choix-chats .cc-list{padding:6px;border:1px solid var(--dc-line);border-radius:18px;background:var(--dc-card);box-shadow:var(--dc-shadow)}
.choix-chats .cc-row{position:relative;min-height:52px;column-gap:12px;padding:10px 12px;border-bottom:0;border-radius:12px;background:transparent;color:var(--dc-ink);transition:background-color .15s ease}
.choix-chats .cc-row+.cc-row::before{content:"";position:absolute;inset-inline:12px;top:0;border-top:1px solid var(--dc-line);pointer-events:none}
.choix-chats .cc-row:is(:hover,.is-on)::before,.choix-chats .cc-row:is(:hover,.is-on)+.cc-row::before{border-top-color:transparent}
.choix-chats .cc-row:hover{background:var(--dc-tint)}
.choix-chats .cc-row.is-on{background:var(--dc-tint);box-shadow:inset 0 0 0 1px var(--dc-line-strong)}
.choix-chats .cc-row.cc-ghost:hover{background:transparent}
.choix-chats .cc-row input{accent-color:var(--dc-accent)}
.choix-chats .cc-row:has(input:focus-visible){outline:2px solid var(--dc-focus);outline-offset:-2px}
.choix-chats .cc-title{color:var(--dc-ink)}
.choix-chats .cc-meta{color:var(--dc-muted)}
.choix-chats .cc-rows+.cc-state{margin:6px 6px 0;border-top:1px solid var(--dc-line)}
.choix-chats .cc-state{color:var(--dc-ink)}

/* ── La lecture chat par chat (E3) : la même carte, une ligne par chat, les gestes en petits boutons secondaires ── */
.choix-chats .cc-lecture-lignes{padding:6px;border:1px solid var(--dc-line);border-radius:18px;background:var(--dc-card);box-shadow:var(--dc-shadow)}
.choix-chats .cc-lecture-lignes li{position:relative;padding:10px 12px;border-bottom:0;border-radius:12px;color:var(--dc-ink)}
.choix-chats .cc-lecture-lignes li+li::before{content:"";position:absolute;inset-inline:12px;top:0;border-top:1px solid var(--dc-line);pointer-events:none}
.choix-chats .cc-lecture-lignes li[data-read-state=failed]{row-gap:6px}
.choix-chats .cc-lecture-etat{color:var(--dc-muted)}
.choix-chats .cc-lecture-lignes li[data-read-state=failed] .cc-lecture-etat{color:var(--dc-ink)}
.choix-chats .cc-lecture-ia{color:var(--dc-ink)}
.choix-chats .cc-lecture-gestes{gap:8px;margin-top:2px}
.choix-chats .cc-lecture-geste{min-height:32px;padding:5px 12px;border:1px solid transparent;border-radius:10px;background:var(--dc-tint);color:var(--dc-accent);line-height:1.3;transition:background-color .15s ease,border-color .15s ease}
.choix-chats .cc-lecture-geste:not(:disabled):hover{background:var(--dc-tint-hover);border-color:var(--dc-line-strong)}
.choix-chats .cc-lecture-geste:focus-visible{outline:2px solid var(--dc-focus);outline-offset:2px}
.choix-chats .cc-lecture-avis{border-radius:12px}
@media(max-width:600px){.choix-chats .cc-list{padding:4px}.choix-chats .cc-row{padding:10px}.choix-chats .cc-row+.cc-row::before{inset-inline:10px}}
@media(prefers-reduced-motion:reduce){.choix-chats :is(.cc-row,.cc-manage,.cc-reload,.cc-lecture-geste){transition:none}}

/* ── Gérer les IA (#modal.cc-modal) : les IA dans une carte blanche (.uck-ia-status), une ligne par IA, les gestes compacts ── */
#modal.cc-modal .cc-panel ul{padding:6px;border:1px solid var(--rv-line);border-radius:18px;background:var(--rv-card);box-shadow:var(--v4-card-shadow,0 24px 48px -30px rgba(38,49,83,.32))}
#modal.cc-modal .cc-panel li{position:relative;padding:10px 12px;border-bottom:0;border-radius:12px}
#modal.cc-modal .cc-panel li+li::before{content:"";position:absolute;inset-inline:12px;top:0;border-top:1px solid var(--rv-line);pointer-events:none}
#modal.cc-modal .cc-ia b{font-size:15px;color:var(--rv-ink)}
#modal.cc-modal .cc-etat{font-size:13px;line-height:1.45;color:var(--rv-soft)}
#modal.cc-modal .cc-erreur{border-radius:8px}
/* « Se connecter », « Recharger » : le petit bouton secondaire (.uck-btn-secondary) ; « C'est mon compte, continuer » : le bouton lavande de .uck-ia-status */
#modal.cc-modal .cc-geste .button{min-height:34px;padding:6px 12px;border:1px solid var(--rv-line-strong);border-radius:10px;background:var(--rv-card);color:var(--rv-ink);box-shadow:none;font-size:13px;line-height:1.3;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
#modal.cc-modal .cc-geste .button:not(:disabled):hover{background:var(--rv-tint);color:var(--rv-accent);transform:none}
#modal.cc-modal .cc-geste .button.primary{border-color:transparent;background:var(--rv-tint);color:var(--rv-accent);box-shadow:none}
#modal.cc-modal .cc-geste .button.primary:not(:disabled):hover{background:color-mix(in srgb,var(--rv-accent) 14%,var(--rv-card));border-color:var(--rv-line-strong);color:var(--rv-accent)}
#modal.cc-modal .cc-geste .button:focus-visible{outline:2px solid var(--rv-accent);outline-offset:2px}
/* l'interrupteur éteint : un rail lisible (≥ 3:1 sur la carte), allumé : le bleu */
#modal.cc-modal .cc-switch input{background:#7C86A6}
#modal.cc-modal .cc-switch input:checked{background:var(--rv-blue)}
/* « Ne plus lire mes chats récents » : en bas, discret, un petit bouton fantôme (plus un lien souligné) */
#modal.cc-modal .cc-off{display:inline-flex;align-items:center;min-height:34px;margin:14px 0 0;padding:6px 12px;border:1px solid var(--rv-line);border-radius:10px;background:transparent;color:var(--rv-soft);text-decoration:none;transition:background-color .15s ease,color .15s ease}
#modal.cc-modal .cc-off:not(:disabled):hover{background:var(--rv-tint);color:var(--rv-ink)}
#modal.cc-modal .cc-off:focus-visible{outline:2px solid var(--rv-accent);outline-offset:2px}
@media(max-width:600px){#modal.cc-modal .cc-panel li{padding:10px}#modal.cc-modal .cc-panel li+li::before{inset-inline:10px}}
@media(prefers-reduced-motion:reduce){#modal.cc-modal :is(.cc-geste .button,.cc-off){transition:none}}
:where(html[data-theme=dark]) #modal.cc-modal .cc-panel ul{box-shadow:none}
:where(html[data-theme=dark]) #modal.cc-modal .cc-switch input{background:var(--d-edge)}
:where(html[data-theme=dark]) #modal.cc-modal .cc-switch input:checked{background:var(--d-accent)}
/* ═══ DA-CHATS:FIN ═══ */

/* ═══ DA-ACCUEIL:DÉBUT — Accueil (Welcome back) et Nouvelle tâche ═══ */
/* PRODUIT 12/11/2026 (LEAD : « l'espace à la DA d'Uncook, écran par écran, sans changer ni les mots ni le comportement » ; Kevin sur le panneau : « joli,
   un joli fond, de la couleur »). Source des valeurs : le kit du panneau (origin/produit/panneau-jetons-v3, tools/produit-panneau/jetons-v4.css), lui-même
   relevé sur ce fichier — aucune valeur inventée hors des provisoires dits en ① et ④. CSS seul, plus UN attribut : data-outil sur la ligne de tâche (workspace.js taskRowMarkup), qui
   NOMME l'outil ; la couleur vit ici (charte §9.10 ③).
   Welcome back (/welcome-back-v4/) n'est PAS stylé ici : la page est à FORGE (test/proprietaires-v4.mjs), elle reste telle quelle.
   POINTS DE BASCULE vers la DA servie (assets/brand/systeme-v4/, site/assets/systeme-v4/uncook-v4.css) — une ligne chacun, rien d'autre à toucher :
     · teinte d'un outil : --da-outil-<outil>-bg / -ink ci-dessous (clair, puis sombre) ← --uck-tool-<outil>-bg / -ink de la DA ;
     · bande « Nouvelle tâche » : --da-bande ci-dessous ← la valeur de .uck-bande de la DA.
   ① La teinte d'un outil (LEAD 08:3x UTC : une palette d'outils DISTINCTE des 8 IA, le citron réservé à la SÉLECTION — Merge n'est plus citron).
     K14 (PRODUIT 12/11/2026, LEAD 09:2x UTC ; seule écriture de la 2ᵉ vague hors de son bloc, dite) : les replis provisoires d'ici (Merge vert
     #E6F4EA/#1E6B3A, Compare sur la paire Claude #F8E3DA/#8E3B1E, les autres sur des teintes d'IA) sont REMPLACÉS par les teintes servies de la DA :
     chaque variable lit --uck-tool-<outil>-bg/-ink (site/assets/systeme-v4/uncook-v4.css), repli = la même valeur, clair et sombre (= les replis
     --da-outil-*-fond/-encre de DA-OUTIL). Compare n'est pas au catalogue V1 : la lavande neutre de l'espace (#EEF0FC/#4458AC ; sombre #293452/#A4B6FF,
     = --da-outil-neutre-*). Switch est une option de Handoff (taskToolName) : la teinte de Handoff (règle par défaut .task-row[data-outil]).
     Elle sert à la pastille d'icône ET à la puce du nom d'outil — la ligne de Home comme celle d'History (même balisage ; DA-HISTORIQUE lit ces mêmes variables). */
:root{--da-outil-handoff-bg:var(--uck-tool-handoff-bg,#CAD0FE);--da-outil-handoff-ink:var(--uck-tool-handoff-ink,#36478F);
 --da-outil-merge-bg:var(--uck-tool-merge-bg,#FAD3FF);--da-outil-merge-ink:var(--uck-tool-merge-ink,#7E2F96);
 --da-outil-summarize-bg:var(--uck-tool-summarize-bg,#B8E4FE);--da-outil-summarize-ink:var(--uck-tool-summarize-ink,#0B5A7A);
 --da-outil-memo-bg:var(--uck-tool-memo-bg,#FFD3B1);--da-outil-memo-ink:var(--uck-tool-memo-ink,#8A4310);
 --da-outil-export-bg:var(--uck-tool-export-bg,#D0E7C1);--da-outil-export-ink:var(--uck-tool-export-ink,#2F6B1E);
 --da-outil-aiprofile-bg:var(--uck-tool-profile-bg,#FECDCB);--da-outil-aiprofile-ink:var(--uck-tool-profile-ink,#9E1F33);
 --da-bande:linear-gradient(120deg,#4458AC 0%,#3B3F9E 60%,#36358F 100%)}
html[data-theme=dark]{--da-outil-handoff-bg:var(--uck-tool-handoff-bg,#4D4B62);--da-outil-handoff-ink:var(--uck-tool-handoff-ink,#CCD3FF);
 --da-outil-merge-bg:var(--uck-tool-merge-bg,#5F425B);--da-outil-merge-ink:var(--uck-tool-merge-ink,#F6BDF8);
 --da-outil-summarize-bg:var(--uck-tool-summarize-bg,#2F4A5C);--da-outil-summarize-ink:var(--uck-tool-summarize-ink,#8FD3FA);
 --da-outil-memo-bg:var(--uck-tool-memo-bg,#584435);--da-outil-memo-ink:var(--uck-tool-memo-ink,#FFC08C);
 --da-outil-export-bg:var(--uck-tool-export-bg,#3A432E);--da-outil-export-ink:var(--uck-tool-export-ink,#BEDC8E);
 --da-outil-aiprofile-bg:var(--uck-tool-profile-bg,#5F4142);--da-outil-aiprofile-ink:var(--uck-tool-profile-ink,#FFB9BD)}
/* 2b-da (PRODUIT 12/11/2026, LEAD D1 sur le train BU) : Compare SORT — plus de cas ni de teinte Compare. Une ligne dont l'outil n'est pas dans la
   palette de la DA (assets/brand/systeme-v4/couleurs.json `outils` : une ligne Compare ancienne, s'il en reste) prend la BASE NEUTRE de l'espace
   (--da-outil-neutre-* de DA-OUTIL = couleurs.json base tint/accent) ; Switch = Handoff. */
.task-row[data-outil]{--da-ti-bg:var(--da-outil-neutre-fond);--da-ti-ink:var(--da-outil-neutre-encre)}
.task-row:is([data-outil=handoff],[data-outil=switch]){--da-ti-bg:var(--da-outil-handoff-bg);--da-ti-ink:var(--da-outil-handoff-ink)}
.task-row[data-outil=merge]{--da-ti-bg:var(--da-outil-merge-bg);--da-ti-ink:var(--da-outil-merge-ink)}
.task-row[data-outil=summarize]{--da-ti-bg:var(--da-outil-summarize-bg);--da-ti-ink:var(--da-outil-summarize-ink)}
.task-row[data-outil=memo]{--da-ti-bg:var(--da-outil-memo-bg);--da-ti-ink:var(--da-outil-memo-ink)}
.task-row[data-outil=export]{--da-ti-bg:var(--da-outil-export-bg);--da-ti-ink:var(--da-outil-export-ink)}
.task-row[data-outil=aiprofile]{--da-ti-bg:var(--da-outil-aiprofile-bg);--da-ti-ink:var(--da-outil-aiprofile-ink)}
html body .task-row[data-outil] .task-icon{background-color:var(--da-ti-bg);color:var(--da-ti-ink);border-radius:11px}
html body .task-row[data-outil] .task-tool{background-color:var(--da-ti-bg);color:var(--da-ti-ink);font-weight:600}
.task-row[data-outil] .task-line b{transition:color .15s ease}
:where(html:not([data-theme=dark])) .task-row[data-outil]:hover .task-line b{color:var(--blue)}
:where(html[data-theme=dark]) .task-row[data-outil]:hover .task-line b{color:var(--d-accent)}

/* ② Le fond : la « scène » du panneau (--uck-panel-bg), lilas en haut à droite, citron en bas à gauche, sur la colonne de l'espace (barre du haut
     comprise, qui devient un verre). Le corps garde #FCFCFF : le fond est celui de l'écran, pas un nouveau jeton de page. Sombre : le dégradé sombre du kit. */
body:has(.home-v2) .workspace{background-color:var(--wash);background-image:none}
:where(html[data-theme=dark]) body:has(.home-v2) .workspace{background-color:var(--wash);background-image:none}
:where(html:not([data-theme=dark])) body:has(.home-v2) #topbar{background-color:rgba(255,255,255,.62);border-bottom-color:rgba(68,88,172,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
:where(html[data-theme=dark]) body:has(.home-v2) #topbar{background-color:transparent}
:where(html:not([data-theme=dark])) body:has(.home-v2) #topbar .global-search{background-color:#FFFFFF;border-color:rgba(68,88,172,.16)}
:where(html:not([data-theme=dark])) body:has(.home-v2) #topbar #notifications{background-color:#FFFFFF}

/* 2b-da (PRODUIT 12/11/2026, LEAD D3) : en sombre, l'anneau des « New task » discrets passe de --d-edge (#6B7899, absent de la DA) à --d-line (#3C4765,
   couleurs.json base.line sombre), ici et dans DA-HISTORIQUE ②, DA-REVUE ② et DA-COMPTE ② — le pendant sombre de l'anneau bleu doux du clair.
   ③ Une seule action principale par vue : l'appel citron de la carte « Nouvelle tâche ». Sur Home, les deux autres « Nouvelle tâche » (barre du haut,
     barre latérale) restent là, mêmes mots, même lien — en bouton discret (#FCFCFF, encre bleue, anneau), comme « See the full example » du site. */
:where(html:not([data-theme=dark])) body:has(.home-v2) :is(#topbar .top-new,#sidebar .side-new){background-color:#FCFCFF;border-color:rgba(68,88,172,.22);color:#4458AC;box-shadow:none}
:where(html:not([data-theme=dark])) body:has(.home-v2) :is(#topbar .top-new,#sidebar .side-new):hover{background-color:#EEF0FC;border-color:rgba(68,88,172,.22);color:#36478F}
:where(html[data-theme=dark]) body:has(.home-v2) :is(#topbar .top-new,#sidebar .side-new){background-color:var(--d-surface);border-color:var(--d-line);color:var(--d-accent);box-shadow:none}
:where(html[data-theme=dark]) body:has(.home-v2) :is(#topbar .top-new,#sidebar .side-new):hover{background-color:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}

/* ④ La carte « Nouvelle tâche » : l'en-tête de l'écran, une BANDE en dégradé (décision LEAD 08:3x UTC ; la valeur finale vient de .uck-bande de la DA,
     par --da-bande en tête de bloc). Provisoire : du bleu de marque #4458AC vers un indigo plus profond (#36478F, le survol du bouton principal, puis
     #2B3A7A). Mesuré aux deux bouts : titre et texte #FCFCFF 6,33:1 sur #4458AC, 10,31:1 sur #2B3A7A ; le bouton citron #E4EE99 5,25:1 / 8,54:1 contre
     la bande, son texte #263153 sur citron 10,32:1 ; son survol (#D6E27A, encre #263153, BANC 9,12) ne change pas, il le soulève d'un pixel.
     Mêmes valeurs en clair et en sombre (comme .uck-bande). */
html body .home-v2 .home-illustrated{border:0;background-color:#4458AC;background-image:var(--da-bande);color:#FCFCFF;box-shadow:0 24px 48px -30px rgba(38,49,83,.55)}
html body .home-v2 .home-illustrated h2,html body .home-v2 .home-illustrated .home-task-intro>p{color:#FCFCFF}
html body .home-v2 .home-illustrated h2{font-family:"Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.025em}
html body .home-v2 .home-illustrated .home-task-main>.button{transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}
html body .home-v2 .home-illustrated .home-task-main>.button:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 12px 22px -14px rgba(10,16,40,.7)}
html body .home-v2 .home-illustrated .home-task-main>.button:focus-visible{outline-color:#FCFCFF}
:where(html:not([data-theme=dark])) body .home-v2 .home-illustrated .banner-orbit{border-color:rgba(252,252,255,.28)} /* 2b-da (D3) : en sombre, le cercle garde le --d-line servi (#3C4765, couleurs.json base.line sombre) */
html body .home-v2 .home-illustrated .banner-paper{box-shadow:0 18px 34px -18px rgba(10,16,40,.55)}
@media (prefers-reduced-motion:reduce){html body .home-v2 .home-illustrated .home-task-main>.button{transition:none}html body .home-v2 .home-illustrated .home-task-main>.button:is(:hover,:focus-visible){transform:none}}

/* ⑤ Tâches récentes, Épinglées, Chat Vitals : des cartes BLANCHES posées sur le fond (rayon 18, anneau et ombre du kit), plus de filet gris autour. */
:where(html:not([data-theme=dark])) .home-v2 :is(.home-recent,.home-pins,.vitals-compact){background-color:#FFFFFF;border-color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(38,49,83,.08),0 24px 48px -30px rgba(38,49,83,.32)}
.home-v2 :is(.home-recent,.home-pins) .sectionhead h2{font-family:"Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.015em}
:where(html:not([data-theme=dark])) .home-v2 .vitals-compact .vitals-badge{background-color:#EEF0FC;color:#4458AC}
/* ═══ DA-ACCUEIL:FIN ═══ */

/* ═══ DA-HISTORIQUE:DÉBUT — Historique et Réglages ═══ */
/* PRODUIT 12/11/2026 (LEAD 08:3x UTC, même cadrage que DA-ACCUEIL) : History, Settings et Connections (la page qui porte le bloc API keys et le
   rechargement des chats / Vitals) à la DA du panneau. CSS seul, aucun crochet de plus : la ligne d'History lit data-outil et les variables
   --da-outil-* posées en tête de DA-ACCUEIL (même point de bascule vers systeme-v4). Valeurs : le kit du panneau, comme DA-ACCUEIL.
   ① Le fond : la même scène lilas / citron que Home ; barre du haut en verre clair. Sombre : le dégradé sombre du kit. */
body:has(:is(.history-v2,.settings-v2,.connections-v2)) .workspace{background-color:var(--wash);background-image:none}
:where(html[data-theme=dark]) body:has(:is(.history-v2,.settings-v2,.connections-v2)) .workspace{background-color:var(--wash);background-image:none}
:where(html:not([data-theme=dark])) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #topbar{background-color:rgba(255,255,255,.62);border-bottom-color:rgba(68,88,172,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
:where(html[data-theme=dark]) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #topbar{background-color:transparent}
:where(html:not([data-theme=dark])) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #topbar :is(.global-search,#notifications){background-color:#FFFFFF}

/* ② Une seule action principale par vue. History et Connections : « Nouvelle tâche » de la barre du haut reste le bouton principal, celle de la
     barre latérale passe en bouton discret. Settings : l'action de l'écran est « Enregistrer les paramètres » — les deux « Nouvelle tâche » sont
     discrètes. Mêmes mots, même lien ; le jeu discret est celui de DA-ACCUEIL ③. */
:where(html:not([data-theme=dark])) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #sidebar .side-new,:where(html:not([data-theme=dark])) body:has(.settings-v2) #topbar .top-new{background-color:#FCFCFF;border-color:rgba(68,88,172,.22);color:#4458AC;box-shadow:none}
:where(html:not([data-theme=dark])) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #sidebar .side-new:hover,:where(html:not([data-theme=dark])) body:has(.settings-v2) #topbar .top-new:hover{background-color:#EEF0FC;border-color:rgba(68,88,172,.22);color:#36478F}
:where(html[data-theme=dark]) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #sidebar .side-new,:where(html[data-theme=dark]) body:has(.settings-v2) #topbar .top-new{background-color:var(--d-surface);border-color:var(--d-line);color:var(--d-accent);box-shadow:none}
:where(html[data-theme=dark]) body:has(:is(.history-v2,.settings-v2,.connections-v2)) #sidebar .side-new:hover,:where(html[data-theme=dark]) body:has(.settings-v2) #topbar .top-new:hover{background-color:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}

/* ③ Historique : la liste est une carte BLANCHE posée sur le fond (rayon 18, anneau et ombre du kit) ; la barre des filtres sur une teinte lavande
     douce, champs blancs ; chaque ligne porte la teinte de son outil (DA-ACCUEIL ①) ; au survol, la ligne s'éclaire et son titre passe au bleu. */
:where(html:not([data-theme=dark])) .history-v2 .history-panel{background-color:#FFFFFF;border-color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(38,49,83,.08),0 24px 48px -30px rgba(38,49,83,.32)}
:where(html:not([data-theme=dark])) .history-v2 .history-controls{background-color:#F7F8FE;border-bottom-color:#E5E8F3;border-radius:17px 17px 0 0}
:where(html:not([data-theme=dark])) .history-v2 .history-controls :is(.history-search,select){background-color:#FFFFFF}
.history-v2 .history-controls label>span{font-weight:600}
/* Trouvé en passant (charte §4, corrigé dans la même passe) : le champ « Rechercher des tâches » d'History n'avait AUCUN anneau de focus au clavier
   (mesuré sur la base 2cd81061 : outline none sur le champ et sur son label). Il prend celui du champ de recherche du haut : 3 px, bleu / --d-accent. */
.history-v2 .history-search input:focus-visible{outline:0}
.history-v2 .history-search:focus-within{outline:3px solid var(--blue);outline-offset:2px}
html[data-theme=dark] .history-v2 .history-search:focus-within{outline-color:var(--d-accent)}
.history-v2 .task-row-wrap.is-history{padding-inline:8px;transition:background-color .15s ease}
:where(html:not([data-theme=dark])) .history-v2 .task-row-wrap.is-history:hover{background-color:#F7F8FE}
:where(html[data-theme=dark]) .history-v2 .task-row-wrap.is-history:hover{background-color:var(--d-quiet)}
@media (prefers-reduced-motion:reduce){.history-v2 .task-row-wrap.is-history{transition:none}}

/* ④ Settings et Connections : des cartes BLANCHES (rayon 18, anneau et ombre du kit) sur le fond, titres de carte et de groupe en Plus Jakarta Sans ;
     la pastille d'icône d'une connexion (extension, rechargement, clés API) en lavande du kit ; le choix d'apparence coché en lavande, bord bleu.
     Le pied collant « Enregistrer les paramètres » se fond dans la scène (lavande translucide qui s'efface vers le haut), plus l'aplat #FCFCFF qui la coupait. */
:where(html:not([data-theme=dark])) :is(.settings-v2 .settings-panel,.connections-v2 .connection-item,.connections-v2 .reload-auto-panel){background-color:#FFFFFF;border-color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(38,49,83,.08),0 24px 48px -30px rgba(38,49,83,.32)}
:is(.settings-v2 .settings-panel>h2,.connections-v2 .connection-group>h2){font-family:"Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.015em}
.connections-v2 .connection-group>h2{font-size:15px}
.settings-v2 .settings-panel>h2{font-size:17px}
:where(html:not([data-theme=dark])) .connections-v2 .connection-row-icon{background-color:#EEF0FC;border-color:#EEF0FC;color:#4458AC}
:where(html:not([data-theme=dark])) .connections-v2 .connection-status{background-color:#F7F8FE;border-color:#E5E8F3;color:#5C6480}
:where(html:not([data-theme=dark])) .settings-v2 .ob-appearance{background-color:#FFFFFF}
:where(html:not([data-theme=dark])) .settings-v2 .ob-appearance:has(input:checked){background-color:#EEF0FC}
:where(html:not([data-theme=dark])) #main .settings-v2 .settings-save{background:linear-gradient(to top,rgba(236,239,252,.94) 45%,rgba(236,239,252,0))}
:where(html[data-theme=dark]) #main .settings-v2 .settings-save{background:linear-gradient(to top,rgba(22,27,46,.94) 45%,rgba(22,27,46,0))}
/* ═══ DA-HISTORIQUE:FIN ═══ */

/* ═══ DA-ESPACE, 2ᵉ vague (12/11/2026, LEAD 09:2x UTC K14) — même règle : un bloc par groupe d'écrans, un sous-agent par bloc. ═══ */
/* ═══ DA-REVUE:DÉBUT — vérification (fenêtre de revue), attente, page Résultat ═══ */
/* socle commun : fond */
/* K14, ajout de Kevin/LEAD (12/11/2026, par PRODUIT) : la SCÈNE lilas/citron de la DA (--uck-bg de assets/brand/systeme-v4/ ; = --da-outil-scene de
   DA-OUTIL et la scène de DA-ACCUEIL ②) passe dans la base COMMUNE de tout l'espace : UNE règle sur la colonne de l'espace (.workspace), clair et sombre,
   pour chaque écran, plus seulement Home, History, Settings, Connections. Le corps garde #FCFCFF (le fond calculé de la page ne change pas, banc
   workspace-style-v4 ①) ; en sombre, la colonne reste transparente et porte le dégradé sombre du kit (une image : aucun couple texte|fond neuf).
   Le résultat à 390 reste la feuille blanche plein écran (exception dite du banc) : la scène ne s'y pose pas. La colonne tient au moins la hauteur de l'écran (sinon la scène s'arrête sous une page courte, mesuré sur Trash). La barre du haut devient un verre
   clair partout (DA-ACCUEIL ②) ; en sombre elle garde sa couleur servie. Les règles identiques de DA-ACCUEIL ② et DA-HISTORIQUE ① restent en place
   (blocs servis, mêmes valeurs : elles ne changent plus rien) ; celles de DA-REVUE et DA-COMPTE sont retirées au profit de celle-ci. */
.workspace:not(:has(.mobile-result)){min-height:100dvh;background-color:var(--wash);background-image:none}
:where(html[data-theme=dark]) .workspace:not(:has(.mobile-result)){background-color:var(--wash);background-image:none}
:where(html:not([data-theme=dark])) .workspace:not(:has(.mobile-result)) #topbar{background-color:rgba(255,255,255,.62);border-bottom-color:rgba(68,88,172,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
:where(html:not([data-theme=dark])) .workspace:not(:has(.mobile-result)) #topbar :is(.global-search,#notifications){background-color:#FFFFFF}

/* PRODUIT 12/11/2026 (K14, LEAD 09:2x UTC : « la DA dans TOUT l'espace, vite, SANS changer ni les mots ni le comportement »). La fenêtre « Review your
   task », l'attente du résultat et la page Résultat prennent le dessin de DA-OUTIL : la SCÈNE lilas/citron derrière des cartes BLANCHES (rayon 18,
   anneau, ombre douce), UNE pastille de couleur par outil (les teintes --da-outil-<outil>-fond/-encre de DA-OUTIL, elles-mêmes = --uck-tool-* de la
   DA servie, clair et sombre), le citron gardé pour la sélection, des boutons secondaires discrets, la barre du haut en verre (DA-ACCUEIL ②).
   CSS SEUL, aucun crochet ajouté : l'outil se lit sur ce que la page porte déjà — la pastille d'icône de la barre du document
   ([data-uncook-tool-icon], Memo = « brief »), l'icône de l'en-tête mobile, data-rebound des outils suivants, et pour la fenêtre de revue l'outil
   choisi de l'étape dessous (#main .arr-tool[data-arrival-tool] / .tool-step [data-tool][aria-checked=true], comme le pied de DA-OUTIL).
   Export (icône sans attribut) et Compare (hors catalogue V1) gardent la lavande neutre ; Switch = Handoff. Fond calculé des fenêtres et du corps
   inchangé (#FCFCFF ; la scène est une IMAGE de fond) ; le sombre n'emploie que les teintes sombres de la DA et les jetons --d-* déjà servis. */
.lot2-result:has(.toolbar-label [data-uncook-tool-icon=handoff]),.lot2-result:has(.toolbar-label [data-uncook-tool-icon=switch]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=handoff]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=switch]),.result-next .next-tool-list [data-rebound=handoff],.result-next .next-tool-list [data-rebound=switch],.mobile-result-options [data-rebound=handoff],.mobile-result-options [data-rebound=switch]{--dr-fond:var(--da-outil-handoff-fond);--dr-encre:var(--da-outil-handoff-encre)}
.lot2-result:has(.toolbar-label [data-uncook-tool-icon=merge]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=merge]),.result-next .next-tool-list [data-rebound=merge],.mobile-result-options [data-rebound=merge]{--dr-fond:var(--da-outil-merge-fond);--dr-encre:var(--da-outil-merge-encre)}
.lot2-result:has(.toolbar-label [data-uncook-tool-icon=summarize]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=summarize]),.result-next .next-tool-list [data-rebound=summarize],.mobile-result-options [data-rebound=summarize]{--dr-fond:var(--da-outil-summarize-fond);--dr-encre:var(--da-outil-summarize-encre)}
.lot2-result:has(.toolbar-label [data-uncook-tool-icon=brief]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=brief]),.result-next .next-tool-list [data-rebound=memo],.mobile-result-options [data-rebound=memo]{--dr-fond:var(--da-outil-memo-fond);--dr-encre:var(--da-outil-memo-encre)}
.lot2-result:has(.toolbar-label [data-uncook-tool-icon=aiprofile]),.mobile-result:has(.mobile-result-kind [data-uncook-tool-icon=aiprofile]),.result-next .next-tool-list [data-rebound=aiprofile],.mobile-result-options [data-rebound=aiprofile]{--dr-fond:var(--da-outil-aiprofile-fond);--dr-encre:var(--da-outil-aiprofile-encre)}
.result-next .next-tool-list [data-rebound=export],.mobile-result-options [data-rebound=export]{--dr-fond:var(--da-outil-export-fond);--dr-encre:var(--da-outil-export-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=handoff],.arr-tool[data-arrival-tool=switch],.tool-step [data-tool=handoff][aria-checked=true],.tool-step [data-tool=switch][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-handoff-fond);--dr-encre:var(--da-outil-handoff-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=merge],.tool-step [data-tool=merge][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-merge-fond);--dr-encre:var(--da-outil-merge-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=summarize],.tool-step [data-tool=summarize][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-summarize-fond);--dr-encre:var(--da-outil-summarize-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=memo],.tool-step [data-tool=memo][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-memo-fond);--dr-encre:var(--da-outil-memo-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=export],.tool-step [data-tool=export][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-export-fond);--dr-encre:var(--da-outil-export-encre)}
body:has(#main :is(.arr-tool[data-arrival-tool=aiprofile],.tool-step [data-tool=aiprofile][aria-checked=true])) #modal.review-v4{--dr-fond:var(--da-outil-aiprofile-fond);--dr-encre:var(--da-outil-aiprofile-encre)}
:root{--dr-carte:#FFFFFF;--dr-calme-fond:#FCFCFF;--dr-calme-bord:rgba(68,88,172,.22);--dr-calme-encre:#4458AC;--dr-calme-survol:#EEF0FC;--dr-calme-survol-encre:#36478F;--dr-rail:#DCE2FA}
html[data-theme=dark]{--dr-carte:var(--d-quiet);--dr-calme-fond:var(--d-surface);--dr-calme-bord:var(--d-edge);--dr-calme-encre:var(--d-accent);--dr-calme-survol:var(--d-soft);--dr-calme-survol-encre:var(--d-ink);--dr-rail:var(--d-soft-line)}

/* ① VÉRIFICATION — la fenêtre « Review your task » : la scène derrière ses cartes ; la carte de l'outil, les sources, le masquage et la lecture en
     cartes blanches (anneau + ombre douce) ; la pastille de l'outil à sa teinte. Mots, ordre, devis, verrou du bouton : inchangés. */
#modal.review-v4{background-image:var(--da-outil-scene)}
#modal.review-v4 .review-tool{box-shadow:inset 0 0 0 1px var(--da-outil-anneau),var(--da-outil-ombre)}
#modal.review-v4 .review-tool>span{border-radius:12px;background:var(--dr-fond,var(--da-outil-neutre-fond));color:var(--dr-encre,var(--da-outil-neutre-encre))}
#modal.review-v4 .review-sources a{border-color:var(--da-outil-anneau);border-radius:14px;box-shadow:var(--da-outil-ombre-puce);transition:background-color .15s ease,border-color .15s ease}
#modal.review-v4 .review-sources a:hover{border-color:var(--rv-line-strong)}
#modal.review-v4 .review-settings>section,#modal.review-v4 .quote-reading{border-color:var(--da-outil-anneau);border-radius:18px;box-shadow:var(--da-outil-ombre)}
#modal.review-v4 .review-confirm{border-top-color:var(--da-outil-anneau)}
#modal.review-v4 .close{box-shadow:var(--da-outil-ombre-puce)}

/* ② ATTENTE et RÉSULTAT (ordinateur) : la scène et la barre de verre viennent du socle commun ci-dessus. En sombre, la barre du haut de la page
     Résultat est transparente sur la scène (comme Home, DA-ACCUEIL ②). */
@media(min-width:601px){
 :where(html[data-theme=dark]) body:has(.result-v2) #topbar{background-color:transparent}
 /* une seule action principale par vue : sur la page Résultat, l'action est celle du document (« Continue in … ») ; les « New task » de la barre
    latérale et de la barre du haut passent au bouton discret (le jeu de DA-ACCUEIL ③). Mêmes mots, même lien. */
 :where(html:not([data-theme=dark])) body:has(.result-v2) :is(#topbar .top-new,#sidebar .side-new){background-color:#FCFCFF;border-color:rgba(68,88,172,.22);color:#4458AC;box-shadow:none}
 :where(html:not([data-theme=dark])) body:has(.result-v2) :is(#topbar .top-new,#sidebar .side-new):hover{background-color:#EEF0FC;border-color:rgba(68,88,172,.22);color:#36478F}
 :where(html[data-theme=dark]) body:has(.result-v2) :is(#topbar .top-new,#sidebar .side-new){background-color:var(--d-surface);border-color:var(--d-line);color:var(--d-accent);box-shadow:none}
 :where(html[data-theme=dark]) body:has(.result-v2) :is(#topbar .top-new,#sidebar .side-new):hover{background-color:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}
}
/* la surface du document : une carte BLANCHE posée sur la scène (rayon 18 déjà, anneau + ombre) ; la bande d'action du prompt garde sa lavande */
:where(html:not([data-theme=dark])) #main .result-v2 .result-surface{border-color:var(--da-outil-anneau);background-color:#FFFFFF;box-shadow:var(--da-outil-ombre)}
:where(html[data-theme=dark]) #main .result-v2 .result-surface{box-shadow:var(--da-outil-ombre)}
:where(html:not([data-theme=dark])) #main .result-v2 .document-toolbar{background-color:#FFFFFF;border-bottom-color:#E5E8F3}
/* la pastille du nom de l'outil (barre du document, sous le titre, en-tête mobile) : la teinte de l'outil, encre de l'outil (≥ 4,9:1, verifier.mjs) */
#main :is(.lot2-result,.mobile-result) .task-tool{background-color:var(--dr-fond,var(--da-outil-neutre-fond));color:var(--dr-encre,var(--da-outil-neutre-encre))}
/* 2b-da (PRODUIT 12/11/2026, LEAD D2) : la pastille de la feuille Share (Summarize, Memo ; hors de #main) gardait l'ancien bleu plein (#4458AC clair,
   #2348EF sombre, test/workspace-pastille.mjs) : elle prend la teinte PLEINE de l'outil du document, lue comme ci-dessus sur l'icône de la barre ;
   hors palette (Compare, sorti D1 ; Export sans attribut) : la base neutre. */
body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=handoff]),body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=switch]){--ds-fond:var(--da-outil-handoff-fond);--ds-encre:var(--da-outil-handoff-encre)}
body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=merge]){--ds-fond:var(--da-outil-merge-fond);--ds-encre:var(--da-outil-merge-encre)}
body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=summarize]){--ds-fond:var(--da-outil-summarize-fond);--ds-encre:var(--da-outil-summarize-encre)}
body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=brief]){--ds-fond:var(--da-outil-memo-fond);--ds-encre:var(--da-outil-memo-encre)}
body:has(#main :is(.lot2-result .toolbar-label,.mobile-result .mobile-result-kind) [data-uncook-tool-icon=aiprofile]){--ds-fond:var(--da-outil-aiprofile-fond);--ds-encre:var(--da-outil-aiprofile-encre)}
html body .share-title .task-tool{background-color:var(--ds-fond,var(--da-outil-neutre-fond));color:var(--ds-encre,var(--da-outil-neutre-encre));font-weight:600}
#main .lot2-result .toolbar-label>svg{color:var(--dr-encre,var(--da-outil-neutre-encre))}
#main .mobile-result .mobile-result-kind>svg{box-sizing:content-box;padding:6px;border-radius:9px;background:var(--dr-fond,var(--da-outil-neutre-fond));color:var(--dr-encre,var(--da-outil-neutre-encre))}
/* Copier / Exporter / plein écran : les boutons secondaires discrets (papier, anneau, rayon 10 ; survol lavande, encre bleue). Un bouton principal de la barre
   (Share d'un document) reste plein : c'est l'action de la vue. */
#main .result-v2 .document-actions .button:not(.is-copied):not(.primary),#main .result-v2 .document-actions .result-reading{border-color:var(--dr-calme-bord);background-color:var(--dr-calme-fond);color:var(--dr-calme-encre);box-shadow:none;transition:background-color .15s ease,color .15s ease}
#main .result-v2 .document-actions .button:not(.is-copied):not(.primary):hover,#main .result-v2 .document-actions .result-reading:hover{background-color:var(--dr-calme-survol);color:var(--dr-calme-survol-encre)}

/* ③ L'ATTENTE : la marque de l'étape en cours tourne à la teinte de l'outil lancé ; le panneau d'à côté est la même carte que « Et ensuite » */
#main .result-wait .wait-step.is-active .wait-mark{border-color:var(--dr-fond,var(--dr-rail));border-top-color:var(--dr-encre,var(--blue))}

/* ④ « ET ENSUITE » (Keep going) : une carte blanche (anneau + ombre) ; l'étiquette en lavande (le citron ne porte pas de texte seul) ; chaque outil
     suivant en carte blanche, sa pastille à SA teinte ; « Choose another tool » en bouton discret ; « Start a new task » aussi quand le document
     porte son action (« Continue in … », un prompt) — sinon il reste l'action principale de la vue. */
:where(html:not([data-theme=dark])) #main .result-v2 .result-next{border-color:var(--da-outil-anneau);background-color:#FFFFFF;box-shadow:var(--da-outil-ombre)}
:where(html[data-theme=dark]) #main .result-v2 .result-next{border-color:var(--d-line);background-color:var(--d-surface)}
#main .result-v2 .result-next>.label{background-color:var(--da-outil-neutre-fond);color:var(--da-outil-neutre-encre)}
#main .result-v2 .result-next>h2{font-family:"Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.015em}
#main .result-v2 .next-tool-list button{border-color:var(--da-outil-anneau);border-radius:14px;background-color:var(--dr-carte);box-shadow:var(--da-outil-ombre-puce);transition:border-color .15s ease,box-shadow .15s ease}
#main .result-v2 .next-tool-list button:hover{border-color:var(--dr-calme-bord);box-shadow:var(--da-outil-ombre-forte)}
:is(#main .result-v2 .next-tool-list,.mobile-result-options .next-tool-list) .next-icon{border-radius:10px;background-color:var(--dr-fond,var(--da-outil-neutre-fond));color:var(--dr-encre,var(--da-outil-neutre-encre))}
#main .result-v2 .result-next>.choose-other,#main .result-v2:has([data-result-action=continueAI]) .result-next>.result-start-new{border:1px solid var(--dr-calme-bord);background-color:var(--dr-calme-fond);color:var(--dr-calme-encre);box-shadow:none;transition:background-color .15s ease,color .15s ease}
#main .result-v2 .result-next>.choose-other:hover,#main .result-v2:has([data-result-action=continueAI]) .result-next>.result-start-new:hover{background-color:var(--dr-calme-survol);color:var(--dr-calme-survol-encre)}
@media (prefers-reduced-motion:reduce){#main .result-v2 :is(.next-tool-list button,.document-actions .button,.result-next>.button),#modal.review-v4 .review-sources a{transition:none}}
/* ═══ DA-REVUE:FIN ═══ */

/* ═══ DA-COMPTE:DÉBUT — Épinglées, Corbeille, Offre et facturation, Compte, Welcome back ═══ */
/* PRODUIT 12/11/2026 (K14, LEAD 09:2x UTC : « la DA dans TOUT l'espace, vite, SANS changer ni les mots ni le comportement »). Épinglées, Corbeille,
   Offre et facturation, le menu du compte : le dessin de DA-HISTORIQUE (même scène lilas/citron, barre du haut en verre, cartes BLANCHES rayon 18 avec
   l'anneau et l'ombre du kit, une seule action principale par vue, boutons secondaires discrets). CSS SEUL, aucun crochet : les pages se lisent par
   .trash-page, .billing-plan (Plan & billing n'a pas de classe de page) et .history-v2 (Épinglées = History filtrée, déjà à DA-HISTORIQUE) ; une ligne de
   la Corbeille lit son outil sur sa pastille d'icône ([data-uncook-tool-icon], Memo = « brief ») et prend les teintes --da-outil-*-bg/-ink de DA-ACCUEIL.
   Welcome back (/welcome-back-v4/) a sa propre feuille : il est stylé dans site/welcome-back-v4/welcome-back.css, mêmes valeurs.
   SOMBRE : Plan & billing est comparé à main élément par élément (test/workspace-style-v4.mjs ③) ; ce bloc n'y change que des formes, des ombres et —
   une seule action principale par vue — les deux « New task » en bouton discret (NOMMÉS dans DA_ESPACE du banc, NOTE D'INCIDENT du 12/11). */

/* ① Le fond (scène lilas/citron, barre de verre) : le socle commun en tête de DA-REVUE le pose sur tout l'espace, ces pages comprises. */

/* ② Une seule action principale par vue. Corbeille : « New task » de la barre du haut reste principal, celui de la barre latérale passe discret (comme
     History). Plan & billing : l'action de l'écran est « Buy a pack » — les deux « New task » sont discrets (comme Settings). Mêmes mots, même lien. */
:where(html:not([data-theme=dark])) body:has(:is(.trash-page,.billing-plan)) #sidebar .side-new,:where(html:not([data-theme=dark])) body:has(.billing-plan) #topbar .top-new{background-color:#FCFCFF;border-color:rgba(68,88,172,.22);color:#4458AC;box-shadow:none}
:where(html:not([data-theme=dark])) body:has(:is(.trash-page,.billing-plan)) #sidebar .side-new:hover,:where(html:not([data-theme=dark])) body:has(.billing-plan) #topbar .top-new:hover{background-color:#EEF0FC;border-color:rgba(68,88,172,.22);color:#36478F}
:where(html[data-theme=dark]) body:has(:is(.trash-page,.billing-plan)) #sidebar .side-new,:where(html[data-theme=dark]) body:has(.billing-plan) #topbar .top-new{background-color:var(--d-surface);border-color:var(--d-line);color:var(--d-accent);box-shadow:none}
:where(html[data-theme=dark]) body:has(:is(.trash-page,.billing-plan)) #sidebar .side-new:hover,:where(html[data-theme=dark]) body:has(.billing-plan) #topbar .top-new:hover{background-color:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}

/* ③ Les cartes : BLANCHES sur la scène (rayon 18 déjà, anneau et ombre du kit, comme .history-panel) ; titres de carte en Plus Jakarta Sans. */
:where(html:not([data-theme=dark])) body:has(:is(.trash-page,.billing-plan)) #main .panel{background-color:#FFFFFF;border-color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(38,49,83,.08),0 24px 48px -30px rgba(38,49,83,.32)}
:where(html[data-theme=dark]) body:has(:is(.trash-page,.billing-plan)) #main .panel{box-shadow:var(--da-outil-ombre)}
body:has(.billing-plan) #main .panel>h2,#main .billing-plan>h2{font-family:"Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.015em}
/* Plan & billing : la jauge en rail lavande, le remplissage au bleu d'action, bouts arrondis ; « View plan & pricing », « Manage billing », « Retry » :
     les boutons secondaires discrets (papier, anneau bleu doux, survol lavande) */
#main .billing-gauge,#main .billing-gauge>span{border-radius:999px}
:where(html:not([data-theme=dark])) body:has(.billing-plan) #main .panel .button:not(.primary){background-color:#FCFCFF;border-color:rgba(68,88,172,.22);color:#4458AC}
:where(html:not([data-theme=dark])) body:has(.billing-plan) #main .panel .button:not(.primary):hover{background-color:#EEF0FC;color:#36478F}

/* ④ Corbeille : la poubelle vide dans une pastille lavande ; une ligne = la pastille et la puce de SON outil (teintes de DA-ACCUEIL ①), survol lavande */
#main .trash-empty>.ic{box-sizing:content-box;padding:14px;border-radius:16px;background-color:var(--da-outil-neutre-fond);color:var(--da-outil-neutre-encre)}
.trash-row:has(.task-icon :is([data-uncook-tool-icon=handoff],[data-uncook-tool-icon=switch])){--da-ti-bg:var(--da-outil-handoff-bg);--da-ti-ink:var(--da-outil-handoff-ink)}
.trash-row:has(.task-icon [data-uncook-tool-icon=merge]){--da-ti-bg:var(--da-outil-merge-bg);--da-ti-ink:var(--da-outil-merge-ink)}
.trash-row:has(.task-icon [data-uncook-tool-icon=summarize]){--da-ti-bg:var(--da-outil-summarize-bg);--da-ti-ink:var(--da-outil-summarize-ink)}
.trash-row:has(.task-icon [data-uncook-tool-icon=brief]){--da-ti-bg:var(--da-outil-memo-bg);--da-ti-ink:var(--da-outil-memo-ink)}
.trash-row:has(.task-icon [data-uncook-tool-icon=aiprofile]){--da-ti-bg:var(--da-outil-aiprofile-bg);--da-ti-ink:var(--da-outil-aiprofile-ink)}
.trash-row:has(.task-icon>svg:not([data-uncook-tool-icon])){--da-ti-bg:var(--da-outil-export-bg);--da-ti-ink:var(--da-outil-export-ink)}
html body #main .trash-row .task-icon{border-radius:11px;background-color:var(--da-ti-bg,var(--da-outil-neutre-fond));color:var(--da-ti-ink,var(--da-outil-neutre-encre))}
html body #main .trash-row .task-tool{background-color:var(--da-ti-bg,var(--da-outil-neutre-fond));color:var(--da-ti-ink,var(--da-outil-neutre-encre));font-weight:600}
#main .trash-row{padding-inline:8px;transition:background-color .15s ease}
:where(html:not([data-theme=dark])) #main .trash-row:hover{background-color:#F7F8FE}
:where(html[data-theme=dark]) #main .trash-row:hover{background-color:var(--d-quiet)}

/* ⑤ Épinglées : la page est History filtrée (DA-HISTORIQUE) ; dans la barre latérale, une épingle = une ligne au rayon 10, survol lavande */
#sidebar .pins .pinned-link{border-radius:10px;transition:background-color .15s ease}
:where(html:not([data-theme=dark])) #sidebar .pins .pinned-link:hover{background-color:#EEF0FC}
:where(html[data-theme=dark]) #sidebar .pins .pinned-link:hover{background-color:var(--d-soft)}
.history-v2 .history-controls input[type=checkbox]{accent-color:var(--blue)}
html[data-theme=dark] .history-v2 .history-controls input[type=checkbox]{accent-color:var(--d-accent)}

/* ⑥ Le menu du compte : une carte BLANCHE (rayon 18, anneau et ombre flottante), les icônes en bleu, le survol lavande déjà servi */
:where(html:not([data-theme=dark])) #sidebar .account-menu{background-color:#FFFFFF;border-color:rgba(38,49,83,.08);box-shadow:inset 0 0 0 1px rgba(38,49,83,.04),0 24px 48px -24px rgba(38,49,83,.38)}
:where(html:not([data-theme=dark])) #sidebar .account-menu a>svg{color:#4458AC}
:where(html[data-theme=dark]) #sidebar .account-menu a>svg{color:var(--d-accent)}
#sidebar .account-menu a{transition:background-color .15s ease,color .15s ease}
:where(html:not([data-theme=dark])) #sidebar .account:hover{background-color:#EEF0FC}
@media (prefers-reduced-motion:reduce){#main .trash-row,#sidebar .pins .pinned-link,#sidebar .account-menu a{transition:none}}
/* ═══ DA-COMPTE:FIN ═══ */

/* ═══ DA-K:DÉBUT — recette de Kevin K3–K11 (lecture visible, étape outil, Merge vers quelle IA, sujets, vérification, forfait) ═══ */
/* K5–K7, K4 */
/* PRODUIT 12/11/2026 (recette de Kevin, via LEAD 09:0x UTC). Sous-section contiguë, en TÊTE de DA-K (l'autre sous-agent, K8–K11, écrit en bas).
   Valeurs : les jetons --da-outil-* de DA-OUTIL (clair et sombre) et --rv-* de la fenêtre de revue ; rien d'inventé (assets/brand/systeme-v4/). */
/* K5 ① les chats choisis = les SOURCES : le mot « Sources » en tête, sur une bande lavande distincte de la scène des outils */
#main .k5-sources{display:flex;align-items:center;gap:8px 14px;flex:none;min-width:0;margin:0 0 14px;padding:10px 12px 10px 16px;border:1px solid var(--da-outil-anneau);border-radius:18px;background:var(--da-outil-choisi-fond)}
#main .k5-sources-label{flex:none;font:700 13px/1.3 Jakarta,sans-serif;letter-spacing:.02em;color:var(--da-outil-neutre-encre)}
#main .k5-sources>.chat-chips{flex:1 1 auto;margin:0}
/* K5 ② « 9 sujets trouvés » plus visible : une pilule à l'accent de la DA, son icône, plus grande ; toujours repliée par défaut */
#main .tool-step>.topics-fold>summary{width:fit-content;max-width:100%;min-height:40px;margin:0;padding:0 14px 0 12px;border:1px solid var(--da-outil-choisi);border-radius:999px;background:var(--da-outil-choisi-fond);color:var(--da-outil-choisi);font:600 15px/1.3 DM,sans-serif;box-shadow:var(--da-outil-ombre-puce)}
#main .tool-step>.topics-fold>summary:hover{color:var(--da-outil-choisi);box-shadow:0 0 0 4px var(--da-outil-halo)}
#main .tool-step>.topics-fold>summary>.ic{width:18px;height:18px;color:var(--da-outil-choisi)}
#main .tool-step>.topics-fold .topics-fold-edit,#main .tool-step>.topics-fold .topics-fold-chev{color:var(--da-outil-choisi)}
#main .tool-step>.topics-fold .topics-fold-edit{font-size:13px;text-decoration:underline;text-underline-offset:3px}
#main .tool-step>.topics-fold[open]>summary{margin:8px 8px 0}
/* K5 ③ les cartes d'outils de MÊME taille : une seule grille (les groupes et leurs cartes s'y déplient, display:contents), --k colonnes égales
   (workspace.js toolGrid), les rangs de cartes en 1fr (une grille de hauteur libre les rend tous égaux au plus haut) ; les textes passent à la ligne */
#main .tool-step .tool-grid{display:grid;grid-template-columns:repeat(var(--k,5),minmax(0,1fr));grid-template-rows:auto 1fr;gap:10px 12px;align-items:stretch}
#main .tool-step .tool-grid>.tool-group,#main .tool-step .tool-grid>.tool-group>.tool-cards{display:contents}
#main .tool-step .tool-grid>.tool-group>.label{grid-row:1;grid-column:auto/span var(--n,1);margin:0}
#main .tool-step .tool-grid .tool-card{grid-row:2;height:100%}
@media(max-width:1299px){
 #main .tool-step .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr auto 1fr;grid-auto-rows:1fr}
 #main .tool-step .tool-grid>.tool-group>.label{grid-row:auto;grid-column:1/-1}
 #main .tool-step .tool-grid>.tool-group+.tool-group>.label{margin-top:6px}
 #main .tool-step .tool-grid .tool-card{grid-row:auto}
}
@media(max-width:600px){
 #main .k5-sources{flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:8px 10px;border-radius:16px}
 #main .k5-sources>.chat-chips{flex-basis:100%}
 #main .tool-step .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr auto 1fr 1fr;gap:8px}
 #main .tool-step>.topics-fold>summary{gap:8px;padding:6px 12px 6px 10px;border-radius:16px;font-size:14px}
}
/* K6 AI Profile hors de l'étape : l'entrée de la barre de gauche (navlink, sa pastille d'outil) et la carte de l'Accueil */
#sidebar .workspace-profile-link>.ic{color:var(--da-outil-aiprofile-encre)}
.home-v2>.home-profile-card{flex:none;display:flex;align-items:center;gap:14px;margin:0;padding:10px 18px;border:1px solid var(--da-outil-anneau);border-radius:18px;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:var(--da-outil-ombre);transition:border-color .15s ease,box-shadow .15s ease}
.home-v2>.home-profile-card:hover{border-color:var(--v4-line-strong);box-shadow:var(--da-outil-ombre-forte)}
.home-v2>.home-profile-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.home-profile-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--da-outil-aiprofile-fond);color:var(--da-outil-aiprofile-encre)}
.home-profile-icon .ic{width:22px;height:22px}
.home-profile-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.home-profile-text strong{font:700 16px/1.3 Jakarta,sans-serif;color:var(--ink)}
.home-profile-text>span{font:400 13px/1.45 DM,sans-serif;color:var(--muted)}
.home-profile-go{flex:none;margin-left:auto;display:inline-flex;color:var(--da-outil-choisi)}.home-profile-go .ic{width:18px;height:18px}
@media(max-width:600px){.home-v2>.home-profile-card{padding:12px 14px;gap:12px}}
@media(prefers-reduced-motion:reduce){.home-v2>.home-profile-card{transition:none}}
/* 2b-da (PRODUIT 12/11/2026, QUALITÉ NON K6 bloquant D1) : à 1440 × 900 la carte, en rangée pleine largeur entre la bande et les blocs, prenait 86 px
   aux Tâches récentes — la 2ᵉ tâche récente passait sous l'écran (test/workspace-accueil-ecran.mjs ④ 23/1), contre la demande de Kevin du 07/11 (les
   tâches récentes visibles au premier écran). Ordinateur : l'Accueil devient une grille de deux colonnes (1,5fr | 1fr, celles des blocs) ; la carte
   passe dans la COLONNE DE CÔTÉ, sous Épinglées, sur la même rangée que Chat Vitals (sous Tâches récentes) : plus aucune rangée prise aux blocs.
   Mêmes mots, même lien, même ordre dans le document (CSS seul). Téléphone (≤ 600 px) : inchangé. */
@media(min-width:601px){
 .home-v2:has(>.home-profile-card){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto minmax(230px,1fr) auto;column-gap:22px;row-gap:22px}
 .home-v2:has(>.home-profile-card)>*{grid-column:1/-1}
 .home-v2:has(>.home-profile-card)>.home-columns{grid-row:3;min-height:230px;contain:size} /* sa hauteur vient de la rangée (1fr), pas des 60 lignes : comme flex:1 1 0 avant */
 .home-v2:has(>.home-profile-card)>.vitals-compact{grid-column:1;grid-row:4;margin:0}
 .home-v2:has(>.home-profile-card)>.home-profile-card{grid-column:2;grid-row:4}
}
/* K7 « Continuer dans quelle IA ? » : la petite fenêtre (style V4 de la revue), les IA en pastilles, celles des chats d'abord (anneau d'accent) */
#modal.review-v4:has(.k7-dest){width:min(560px,calc(100vw - 32px))}
#modal .k7-dest-from{margin:6px 0 14px;font-size:14px;color:var(--rv-soft)}
#modal .k7-dest-pills{display:flex;flex-wrap:wrap;gap:8px}
#modal .k7-dest-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:5px 14px 5px 6px;border:1px solid var(--rv-line-strong);border-radius:999px;background:var(--rv-card);color:var(--rv-ink);font:600 14px/1.2 DM,sans-serif;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
#modal .k7-dest-pill.is-source{border-color:var(--rv-accent);box-shadow:inset 0 0 0 1px var(--rv-accent)}
#modal .k7-dest-pill:hover{background:var(--rv-tint)}
#modal .k7-dest-pill:focus-visible{outline:2px solid var(--rv-accent);outline-offset:2px}
#modal .k7-dest-pill .cc-pastille{width:30px;height:28px;border-radius:999px}
@media(prefers-reduced-motion:reduce){#modal .k7-dest-pill{transition:none}}
/* K4 « Gérer les IA » plus large : chaque état sur UNE ligne, les 8 IA à l'écran sans défiler à 1440×900 ; à 390 les lignes restent compactes */
#modal.cc-modal{width:min(880px,calc(100vw - 32px))}
@media(min-width:601px){
 #modal.cc-modal .cc-panel li{padding-block:8px}
 #modal.cc-modal .cc-etat{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
}
@media(max-width:600px){
 /* une ligne : pastille · nom · « Show in list » ; dessous l'état sur toute la largeur, puis le geste sur une ligne (le nom et l'état se déplient, display:contents) */
 html body #modal.cc-modal #cc-panel li{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"p n s" ". e e" ". g g";gap:2px 10px;padding:8px 10px}
 html body #modal.cc-modal #cc-panel .cc-ia{display:contents}
 html body #modal.cc-modal #cc-panel .cc-ia>b{grid-area:n;align-self:center;min-width:0}
 html body #modal.cc-modal #cc-panel .cc-etat{grid-area:e}
 html body #modal.cc-modal #cc-panel .cc-geste{grid-area:g;margin-top:4px}
 html body #modal.cc-modal #cc-panel .cc-geste .button{white-space:nowrap}
 html body #modal.cc-modal #cc-panel .cc-switch{grid-area:s;justify-self:end;white-space:nowrap}
}
/* fin K5–K7, K4 */
/* K8–K11 (PRODUIT 12/11/2026, recette de Kevin via LEAD 09:0x/09:2x UTC) — sous-section contiguë, en BAS de DA-K. */
/* K11 · le bloc d'offre du haut : petit, une ligne, « Pack · 79 tâches » (workspace.js usageChipMarkup) ; le clic mène toujours à « Offre et facturation ». */
#topbar .usage:has(.usage-k11){min-height:36px;padding:6px 12px;gap:7px;font-size:13px;line-height:1.2}
#topbar .usage:has(.usage-k11)>.ic{width:15px;height:15px}
#topbar .usage>.usage-k11{display:inline-flex;align-items:baseline;white-space:nowrap;max-width:none;min-width:0;font-size:13px;line-height:1.2;font-weight:600}
#topbar .usage>.usage-k11 small{display:inline;font-size:13px;font-weight:400;white-space:pre}
#topbar .usage>.usage-k11 .usage-k11-court{display:none}
@media(max-width:600px){#topbar .usage:has(.usage-k11){padding:6px 9px;min-height:36px}#topbar .usage>.usage-k11 .usage-k11-long{display:none}#topbar .usage>.usage-k11 .usage-k11-court{display:inline}}
/* 2b-UI K11 (a) (12/11/2026) : à 390 la pilule (48 → 74 px) coupait le fil d'Ariane (« Esp… » FR, « Bereich » DE). Le fil n'est plus jamais
   tronqué : il garde au moins son plus long mot (min-content) et passe à la ligne au besoin ; la barre resserre ses écarts et la pilule son retrait. */
@media(max-width:600px){
 #topbar:has(.usage-k11){column-gap:6px}
 #topbar:has(.usage-k11) .crumb{flex:1 1 0;min-width:min-content;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;hyphens:none;line-height:1.15}
 #topbar .top-actions:has(.usage-k11){gap:4px}
 #topbar .usage:has(.usage-k11){padding:6px 6px}
 #topbar:has(.usage-k11) .top-new{padding-left:8px;padding-right:9px;gap:4px}
}
/* K9 · la vérification sans défiler : sources et sujets repliés en une ligne (workspace.js reviewSummaryMarkup), « Voir » les déplie. */
#modal.review-v4 .review-resume[data-k9=replie]~[data-k9-detail]{display:none}
#modal.review-v4 .review-resume{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:var(--v4-radius-row);background:var(--v4-tint)}
#modal.review-v4 .review-resume p{margin:0;font-size:14px;line-height:1.4;color:var(--ink);min-width:0}
#modal.review-v4 .review-resume p [data-k9-chats]{font-weight:600}
#modal.review-v4 .review-resume-voir{flex:none;white-space:nowrap}
:where(html[data-theme=dark]) #modal.review-v4 .review-resume{background:rgba(255,255,255,.04)}
/* 2b-da (PRODUIT 12/11/2026, QUALITÉ NON K9) : en sombre, « Voir ⌄ » était #EDF0FF sur le voile .04 (1,13:1 au banc p2-survol). Le bouton prend un fond
   OPAQUE de la DA : carte sombre #1C233A (--d-surface ; survol #293452, --d-soft), texte #EDF0FF (--d-ink, 14,6:1 / 11,6:1), bord #B4BDD8
   (--d-muted, 8,6:1 / 6,9:1 contre ces fonds) — texte ≥ 4,5:1, bord ≥ 3:1, valeurs de couleurs.json base (sombre). */
html[data-theme=dark] #modal.review-v4 .review-resume .review-resume-voir{background-color:var(--d-surface);color:var(--d-ink);border:1px solid var(--d-muted)}
html[data-theme=dark] #modal.review-v4 .review-resume .review-resume-voir:is(:hover,:focus-visible){background-color:var(--d-soft);color:var(--d-ink);border-color:var(--d-muted)}
/* K8 · le gros chat : la fenêtre des sujets plus large, les sujets en deux colonnes, sans défiler ; poids de chaque sujet, total en direct (workspace.js paintE3Topics). */
#modal:has([data-k8-total]){width:min(940px,calc(100vw - 32px))}
#modal:has([data-k8-total]) .workspace-e3-options{gap:10px;margin:12px 0}
#modal:has([data-k8-total]) .workspace-e3-options fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:4px 14px 6px;border-color:var(--line)}
#modal:has([data-k8-total]) .workspace-e3-topic label{align-items:baseline;padding:5px 0}
#modal:has([data-k8-total]) .e3-k8-why{margin:0;font-size:15px;line-height:1.45;color:var(--ink)}
#modal:has([data-k8-total]) .e3-k8-poids{margin-left:auto;padding-left:12px;flex:none;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
#modal:has([data-k8-total]) .e3-k8-total{margin:2px 0 0;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}
#modal:has([data-k8-total]) .e3-k8-total:empty{display:none}
#modal:has([data-k8-total]) #e3-use-topics{justify-self:start}
#modal:has([data-k8-total]) #e3-use-topics:disabled{opacity:.5;cursor:not-allowed;box-shadow:none} /* en sombre, l'inactif ne se voyait pas : il se voit maintenant au-dessus de la borne */
@media(max-width:700px){#modal:has([data-k8-total]) .workspace-e3-options fieldset{grid-template-columns:minmax(0,1fr)}#modal:has([data-k8-total]) #e3-use-topics{justify-self:stretch}}
/* ═══ DA-K:FIN ═══ */

/* ═══ DA-K1K3:DÉBUT — la lecture qui se voit (PRODUIT, 12/11/2026 ; recette réelle de Kevin 0.32 v2, K3 et B). Valeurs de la DA
   (site/assets/systeme-v4/uncook-v4.css) : --uck-ink #263153, --uck-ink-muted #5C6480, --uck-accent #4458AC, --uck-line #E5E8F3,
   --uck-tint #EEF0FC, --uck-fs-small 13px, --uck-radius-pill, --uck-space-*. Par les jetons --dc-* du bloc DA-CHATS (clair/sombre), valeurs de la DA en repli. */
/* B : le temps écoulé d'une ligne en lecture (m:ss), chiffres tabulaires, discret, à droite de « Reading… » */
.choix-chats .cc-lecture-temps{font-size:12px;line-height:1.45;color:var(--dc-muted,#5C6480);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end}
.choix-chats .cc-lecture-lignes li[data-read-state=reading] .cc-lecture-etat{color:var(--dc-accent,#4458AC);font-weight:600}
@media(max-width:600px){.choix-chats .cc-lecture-lignes li[data-read-state=reading]{grid-template-columns:20px minmax(0,1fr) auto}.choix-chats .cc-lecture-lignes li[data-read-state=reading] .cc-lecture-etat{grid-column:2/3}.choix-chats .cc-lecture-lignes li[data-read-state=reading] .cc-lecture-temps{grid-column:3/4}}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-temps{color:var(--d-muted)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-lignes li[data-read-state=reading] .cc-lecture-etat{color:var(--d-accent)}
/* K2 : le détail d'un échec, sous sa phrase, en petit (codes seulement) */
.choix-chats .cc-lecture-detail{grid-column:2/4;font-size:12px;line-height:1.45;color:var(--dc-muted,#5C6480);overflow-wrap:anywhere;margin-top:-2px}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-detail{color:var(--d-muted)}
/* K3 : le compteur « {n} of {total} read » et sa barre, dans le pied de la liste, collant pendant et après une lecture */
.choix-chats .flow-footer:has(.cc-lecture-compte){position:sticky;bottom:0;z-index:20;background:var(--wash,#FCFCFF);display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
.choix-chats .cc-lecture-compte{flex:1 1 220px;min-width:0;display:grid;gap:6px;max-width:360px;margin-inline:auto 0}
.choix-chats .cc-lecture-compte[hidden]{display:none}
.choix-chats .cc-lecture-compte-texte{font-size:13px;line-height:1.45;font-weight:600;color:var(--dc-ink,#263153);font-variant-numeric:tabular-nums}
.choix-chats .cc-lecture-barre{display:block;height:4px;border-radius:999px;background:var(--dc-tint,#EEF0FC);overflow:hidden}
.choix-chats .cc-lecture-barre>i{display:block;height:100%;border-radius:inherit;background:var(--dc-accent,#4458AC)}
@media(prefers-reduced-motion:no-preference){.choix-chats .cc-lecture-barre>i{transition:width .3s ease-out}}
/* le pied collant ne cache pas les lignes amenées sous les yeux (readMontrer, block:'nearest') */
.choix-chats .cc-lecture{scroll-margin-bottom:150px}
@media(max-width:600px){.choix-chats .flow-footer:has(.cc-lecture-compte){padding-bottom:10px}.choix-chats .cc-lecture-compte{flex:1 1 100%;max-width:none;order:-1}}
:where(html[data-theme=dark]) .choix-chats .flow-footer:has(.cc-lecture-compte){background-color:var(--wash)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-compte-texte{color:var(--d-ink)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-barre{background-color:var(--d-line)}
:where(html[data-theme=dark]) .choix-chats .cc-lecture-barre>i{background-color:var(--d-accent)}
/* ═══ DA-K1K3:FIN ═══ */
/* 12/11/2026 (PRODUIT) — NOTE D'INCIDENT : à 390, le panneau du dépassement (#over-limit, flex:none, 255 à 325 px) se posait entre le corps
   défilant de « Vérifier et lancer » (.arr-body, overflow-y:auto, l. 1264) et le pied, dans #main à hauteur FIXE (.flow-page, workspace.css l. 9 :
   calc(100dvh - 116px)) : le corps tombait à 213 px pour 450 px de contenu, et la carte de l'outil (.arr-tool) n'en montrait que le bord haut,
   coupé net contre le panneau. Avec le panneau, l'étape coule maintenant d'une seule page (même règle que la grille, QA1793444504 Q6, plus haut) :
   plus de corps défilant imbriqué, le panneau juste au-dessus du pied, le pied reste COLLANT (règle ci-dessus). workspace.js showOverLimitBar
   amène le panneau à l'écran à sa première apparition. 1440 inchangé.
   Même jour : la fenêtre des choix (.workspace-e3-options, l. 1309) centrait la piste de sa grille (justify-content du .button) : « Read all: N tasks »,
   plus court que les deux autres gestes, partait en retrait au milieu (page Résultat, 390 et 1440). La piste part à gauche, comme au pied (l. 2156). */
@media(max-width:600px){#main.flow-page:has(>#over-limit){height:auto;min-height:calc(100dvh - 116px)}#main.flow-page:has(>#over-limit)>.flowbody{flex:none;overflow:visible}.workspace-over-limit{scroll-margin-bottom:200px}}
/* 2b-UI (12/11/2026, RECETTE GPT KO à 390 : le panneau couvrait l'écran Outil et la carte Memo, 154 → 187,8 px, FR clair). La règle du dessus
   ne visait que #over-limit ENFANT DIRECT de #main et laissait la hauteur, le max-height et le défilement des cartes (.tool2-card, .arr-col) aux
   règles de la grille ; le panneau du chat trop court (#turns-min, même dessin) n'y était pas. Généralisée : dès qu'un panneau de choix
   (.workspace-over-limit) est dans l'étape, l'étape coule d'une page, aucun corps ni carte à hauteur bornée, le panneau DANS le flux (statique,
   sans superposition) juste au-dessus du pied collant. Mesure (test/workspace-2b-ui.mjs) : 0 px de recouvrement Memo/Handoff/Merge, FR/EN, clair/sombre. */
@media(max-width:600px){
 #main.flow-page:has(>.workspace-over-limit){height:auto;min-height:calc(100dvh - 116px);overflow:visible}
 #main.flow-page:has(>.workspace-over-limit)>.flowbody{flex:none;height:auto;max-height:none;min-height:0;overflow:visible!important}
 #main.flow-page:has(>.workspace-over-limit) :is(.tool2-card,.arr-col){height:auto;max-height:none;min-height:0;overflow:visible}
 #main.flow-page>.workspace-over-limit{position:static;flex:none;margin-top:12px;scroll-margin-bottom:200px;transform:none}
}
/* 2b (12/11/2026, relevé N3) : à 390, menu latéral ouvert, le pied collant (z-index 20) recouvrait le bas du menu (Connexions, le compte). Tant que
   le menu est ouvert, le pied de l'étape s'efface ; il revient à la fermeture. Aucun geste de lancement n'est retiré, il est seulement sous le menu. */
@media(max-width:600px){body:has(.sidebar.open) .flow-footer{visibility:hidden}}
/* ═══ DA-CONNECTEURS:DÉBUT — PRODUIT 12/11/2026 (Kevin 12/11, CHEMIN-SORTIE §B bis) : le bloc « Connectors » de Connections (workspace.js, bloc
   « CONNECTEURS »), distinct du bloc « API keys ». N'existe que si le contrat servi porte connector.oauth (sinon aucun de ces sélecteurs ne s'applique).
   Une carte blanche par IA (rayon de carte, ombre de la DA), la PASTILLE de l'IA (.cc-pastille[data-ia], teintes existantes), le geste « Add to … »,
   deux listes courtes (ordinateur, téléphone). Rien sous 13 px ; boutons 600 ; thème sombre par les variables existantes. 3 colonnes ≥ 1100 px, 1 en dessous. ═══ */
.connectors-section .connectors-lede{font:700 17px/1.4 "Plus Jakarta Sans",Jakarta,sans-serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px}
.connectors-section .connectors-help{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 14px;max-width:760px}
.connectors-note{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.connectors-note.is-error{color:#a12439}
.connectors-note .top-link{margin-left:4px;font-weight:600}
.connectors-any{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--v4-radius-row,12px);background:#f5f7ff;padding:12px 16px;margin:0 0 14px}
.connectors-any p{margin:0;font-size:14px;line-height:1.55;color:var(--ink);min-width:0}
.connectors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.connector-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--v4-radius-card,18px);box-shadow:var(--v4-card-shadow);padding:18px 18px 16px;display:grid;gap:14px;min-width:0}
.connector-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.connector-head h3{font:700 16px/1.3 "Plus Jakarta Sans",Jakarta,sans-serif;margin:0;overflow-wrap:anywhere}
.connector-head .cc-pastille{display:inline-grid;place-items:center;flex:none}
.connector-state{margin-left:auto;font-size:13px;line-height:1.4;padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#f7f9fc;white-space:nowrap}
.connector-state[data-conn-state=on]{color:#1E6B3A;background:#E6F4EA;border-color:#BFE0C9}
.connector-actions{display:flex;flex-wrap:wrap;gap:8px}
html body .connector-card .button,html body .connectors-any .button{font-size:14px;font-weight:600;min-height:42px;padding:9px 16px;border-radius:var(--v4-radius-button,10px)}
.connector-steps{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:14px;min-width:0}
.connector-col h4{font:700 13px/1.4 "Plus Jakarta Sans",Jakarta,sans-serif;text-transform:none;margin:0 0 6px;color:var(--ink)}
.connector-col ol{margin:0;padding-left:20px;display:grid;gap:6px}
.connector-col li{font-size:14px;line-height:1.55;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.connector-address{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;min-width:0}
.connector-address code{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f5f7ff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;min-width:0;overflow-wrap:anywhere;user-select:all}
html body .connector-address .connector-copy{min-height:36px;padding:6px 12px;font-size:13px}
@media(max-width:1100px){.connectors-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.connector-card{padding:16px 14px 14px}.connector-state{margin-left:0}.connectors-section .connectors-lede{font-size:16px}}
:where(html[data-theme=dark]) .connectors-any{background:var(--d-quiet);border-color:var(--d-line)}
:where(html[data-theme=dark]) .connector-card{background:var(--d-surface);border-color:var(--d-line)}
:where(html[data-theme=dark]) .connector-state{background:var(--d-quiet);border-color:var(--d-line);color:var(--d-muted)}
:where(html[data-theme=dark]) .connector-state[data-conn-state=on]{background:#173B2A;border-color:#2E6A48;color:#9FE0B8}
:where(html[data-theme=dark]) .connector-address code{background:var(--d-quiet);border-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .connectors-note.is-error{color:var(--d-red)}
/* ═══ DA-CONNECTEURS:FIN ═══ */
/* ═══ DA-UN-GESTE:DÉBUT (PRODUIT, 12/11/2026 — QUALITÉ 2 parcours client, LISEZMOI assets/brand/systeme-v4 règles 1, 2, 6) ═══
   ③ UN seul bouton bleu plein par vue : « + New task » est TOUJOURS secondaire (contour, comme l'accueil le faisait déjà) et UN seul est visible :
      celui de la barre latérale au-dessus de 850 px (barre ouverte ou en rail), celui de l'en-tête en dessous (la barre latérale y est repliée).
      Le bleu reste au geste de l'étape : « Next: pick a tool », « Create prompt », « Continue in ChatGPT », « Save settings ».
      « Add to Chrome » (sans extension, dans l'étape Choisir des chats) passe en secondaire : le bouton de l'étape reste le seul bleu.
   ④ le citron ne porte pas de texte : la pastille de consommation et la ligne « essai gratuit » passent à la lavande (--uck-tint) à encre --uck-ink.
   P5 à 390, la pastille sans nombre lisible (« Task usage » sans session) garde son icône seule (le nom accessible reste le texte, masqué visuellement),
      la pastille à nombre garde sa forme courte (« Free · 3 », K11) ; le fil d'Ariane n'est jamais tronqué (il peut passer à la ligne).
   ⑤ #host-quote : seul un montant (.quote-cout, workspace.js) garde la forme de titre ; un échec ou une attente se lit comme une note.
   ⑥ la liste des chats récents vide ne laisse pas de carte blanche. Banc : test/workspace-da-un-geste.mjs. */
html:not([data-theme=dark]) body:has(#main) :is(#topbar .top-new,#sidebar .side-new){background:#FCFCFF;border-color:var(--v4-line-strong);color:var(--blue);box-shadow:none}
html:not([data-theme=dark]) body:has(#main) :is(#topbar .top-new,#sidebar .side-new):hover{background:var(--v4-tint);border-color:var(--v4-line-strong);color:var(--v4-blue-hover)}
html[data-theme=dark] body:has(#main) :is(#topbar .top-new,#sidebar .side-new){background:var(--d-surface);border-color:var(--d-line);color:var(--d-accent);box-shadow:none}
html[data-theme=dark] body:has(#main) :is(#topbar .top-new,#sidebar .side-new):hover{background:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}
@media(min-width:851px){html body:has(#main) #topbar .top-new{display:none}}
html:not([data-theme=dark]) body:has(#main) .noext-notice .button.primary{background:#FCFCFF;border:1px solid var(--v4-line-strong);color:var(--blue);box-shadow:none}
html:not([data-theme=dark]) body:has(#main) .noext-notice .button.primary:hover{background:var(--v4-tint);color:var(--v4-blue-hover)}
html[data-theme=dark] body:has(#main) .noext-notice .button.primary{background:var(--d-surface);border:1px solid var(--d-line);color:var(--d-accent);box-shadow:none}
html[data-theme=dark] body:has(#main) .noext-notice .button.primary:hover{background:var(--d-soft);color:var(--d-ink)}
html:not([data-theme=dark]) .usage{background-color:var(--v4-tint);border-color:var(--v4-line-strong);color:var(--ink)}
html:not([data-theme=dark]) .usage small{color:var(--muted)}
html:not([data-theme=dark]) .usage>.ic{color:var(--blue)}
html[data-theme=dark] .usage{background-color:var(--d-soft);border-color:var(--d-line);color:var(--d-ink)}
html[data-theme=dark] .usage small{color:var(--d-muted)}
html[data-theme=dark] .usage>.ic{color:var(--d-accent)}
html body .task-review .review-free-trial{background:var(--v4-tint);color:var(--ink)}
html[data-theme=dark] body .task-review .review-free-trial{background:var(--d-soft);color:var(--d-ink)}
html body #modal.review-v4 .review-free-trial{background:var(--rv-tint);color:var(--rv-ink)}
@media(max-width:600px){
 html body #topbar .usage:not(:has(.usage-k11)){padding:0;width:40px;min-width:40px;min-height:36px;justify-content:center}
 html body #topbar .usage:not(:has(.usage-k11))>.ic{display:inline-block;width:16px;height:16px}
 html body #topbar .usage:not(:has(.usage-k11))>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;max-width:none}
 html body #topbar{column-gap:6px}
 html body #topbar .crumb{flex:1 1 0;min-width:min-content;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;hyphens:none;line-height:1.15}
 html body #topbar .top-actions{gap:4px}
 html body #topbar .top-new{padding-left:8px;padding-right:9px;gap:4px}
}
html body .task-review #host-quote:not(:has(.quote-cout)),html body #modal.review-v4 #host-quote:not(:has(.quote-cout)){font:400 14px/1.5 var(--rv-body,DM);color:var(--muted)}
html body #modal.review-v4 #host-quote:not(:has(.quote-cout)){color:var(--rv-soft)}
html[data-theme=dark] body .task-review #host-quote:not(:has(.quote-cout)){color:var(--d-muted)}
html[data-theme=dark] body #modal.review-v4 #host-quote:not(:has(.quote-cout)){color:var(--rv-soft)}
html body #recent-list:empty{display:none}
/* ═══ DA-UN-GESTE:FIN ═══ */
/* 13/11 (PRODUIT ; QUALITÉ 2) : après un 402 not-enough-tasks au clic, la revue vide #host-quote (workspace.js shortReviewAfterClick : ni coût ni reste) ;
   vide, il ne garde pas sa marge au-dessus de la phrase du manque. */
html body .task-review #host-quote:empty{display:none}

/* ═══ K-LISTE:DÉBUT — « Choisir des chats » après la recette réelle de Kevin et du LEAD (12/11/2026, PRODUIT) ═══ */
/* K4 : l'étape déjà passée du fil est un lien ; l'outil choisi d'abord se voit sur la liste, avec « Change tool ». */
.stepper a.step-back{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:8px;cursor:pointer}
.stepper a.step-back:hover{color:var(--blue,#4458AC);text-decoration:underline;text-underline-offset:3px}
.stepper a.step-back:focus-visible{outline:2px solid var(--blue,#4458AC);outline-offset:3px}
:where(html[data-theme=dark]) .stepper a.step-back:hover{color:var(--d-accent)}
.choix-chats .cc-outil{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--dc-line);border-radius:14px;background:var(--dc-card);color:var(--dc-ink);font-size:14px}
.choix-chats .cc-outil .task-icon{display:inline-grid;place-items:center;width:28px;height:28px;flex:none}
.choix-chats .cc-outil .cc-outil-changer{margin-inline-start:auto;font-size:13px;font-weight:600;border:0;background:none;padding:6px 0;cursor:pointer;color:var(--dc-accent);font-family:inherit}
/* K4 · DA (réserve ① de QUALITÉ 2, 12/11/2026) : la pastille de l'outil choisi prend la teinte de SON outil, par le même attribut et le même
   mécanisme que la ligne de tâche (DA-ACCUEIL ① : data-outil → --da-ti-bg/--da-ti-ink ← --da-outil-<outil>-bg/-ink ← --uck-tool-<outil>-* de la DA) ;
   un outil hors palette garde la base neutre de l'espace ; Switch = Handoff. */
.choix-chats .cc-outil[data-outil]{--da-ti-bg:var(--da-outil-neutre-fond);--da-ti-ink:var(--da-outil-neutre-encre)}
.choix-chats .cc-outil:is([data-outil=handoff],[data-outil=switch]){--da-ti-bg:var(--da-outil-handoff-bg);--da-ti-ink:var(--da-outil-handoff-ink)}
.choix-chats .cc-outil[data-outil=merge]{--da-ti-bg:var(--da-outil-merge-bg);--da-ti-ink:var(--da-outil-merge-ink)}
.choix-chats .cc-outil[data-outil=summarize]{--da-ti-bg:var(--da-outil-summarize-bg);--da-ti-ink:var(--da-outil-summarize-ink)}
.choix-chats .cc-outil[data-outil=memo]{--da-ti-bg:var(--da-outil-memo-bg);--da-ti-ink:var(--da-outil-memo-ink)}
.choix-chats .cc-outil[data-outil=export]{--da-ti-bg:var(--da-outil-export-bg);--da-ti-ink:var(--da-outil-export-ink)}
.choix-chats .cc-outil[data-outil=aiprofile]{--da-ti-bg:var(--da-outil-aiprofile-bg);--da-ti-ink:var(--da-outil-aiprofile-ink)}
html body .choix-chats .cc-outil[data-outil] .task-icon{background-color:var(--da-ti-bg);color:var(--da-ti-ink);border-radius:11px}
/* K5 : la raison d'un bouton fermé, au pied, à côté de lui. */
/*    DA (réserve ② de QUALITÉ 2) : plus de couleur en dur (l'ambre #8A4B00 / #F2C27A n'est pas dans la DA, qui n'a pas de teinte d'alerte) : l'encre de
   la DA (LISEZMOI « Quand utiliser quoi » 6 : le texte en --uck-ink), en 600. --uck-ink d'abord, sinon --dc-ink du bloc DA-CHATS, qui porte la paire
   clair/sombre de couleurs.json base.ink (#263153 / #EDF0FF) : une seule règle, le sombre suit. */
.choix-chats .flow-footer .cc-raison-pied{display:block;margin-top:3px;font-size:13px;font-weight:600;color:var(--uck-ink,var(--dc-ink))}
/* K13 : les chats arrivés après attendent derrière UNE ligne en fin de liste ; rien ne s'insère au-dessus de ce qui est montré. */
.choix-chats .cc-nouveaux{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:4px 0 0;padding:10px 12px;border:1px dashed var(--dc-line-strong);border-radius:12px;background:var(--dc-tint);color:var(--dc-accent);font-weight:600;font-size:13px;line-height:1.3;font-family:inherit;cursor:pointer} /* DA (réserve ③ de QUALITÉ 2) : « font:600 13px/1.3 inherit » était invalide (inherit ne se mêle pas au raccourci), la déclaration entière tombait */
.choix-chats .cc-nouveaux .ic{width:15px;height:15px}
.choix-chats .cc-nouveaux:hover{background:var(--dc-tint-hover)}
.choix-chats .cc-nouveaux:focus-visible{outline:2px solid var(--dc-focus,#4458AC);outline-offset:2px}
/* K7 : en lecture, seuls les chats choisis, puis « Add chats » qui rouvre la liste. */
.choix-chats .cc-choisis{flex:1 1 auto;min-height:0;overflow:auto}
.choix-chats .cc-choisis .cc-lecture{margin-top:0}
.choix-chats .cc-ajout{margin:12px 0 0}
.choix-chats .cc-ajout-btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 14px;border:1px solid var(--dc-line-strong);border-radius:10px;background:var(--dc-card);color:var(--dc-ink);font-size:13px;font-weight:600;box-shadow:none}
.choix-chats .cc-ajout-btn .ic{width:16px;height:16px}
.choix-chats .cc-ajout-btn:hover{background:var(--dc-tint);color:var(--dc-accent)}
/* K6 : « Reload » reste un vrai bouton lisible, même fermé pendant une lecture. */
.choix-chats .cc-top .cc-reload:disabled{opacity:.72}
/* ═══ K-LISTE:FIN ═══ */

/* ═══ DA-R5-CONNEXIONS:DÉBUT — PRODUIT 12/11/2026 (retour de Kevin, LEAD 15:5x UTC, R5) : Réglages › Connexions en quelques lignes, chacune avec
   UN bouton qui ouvre son panneau (workspace.js, connections() et le bloc R5). Les lignes dans UNE carte (rayon 18, filet, séparateurs en retrait,
   comme DA-CHATS) ; le panneau (#r5-panel) prend la fenêtre de la DA (croix 40 px, titre Jakarta) ; à 600 px et moins, le panneau et « Manage AIs »
   ouverts depuis Connexions passent en plein écran. Jetons du socle seulement (--paper, --line, --ink, --muted, --blue ; sombre : leurs valeurs
   html[data-theme=dark]) ; aucune couleur nouvelle. Rien sous 13 px ; boutons 600. ═══ */
.r5-lignes{list-style:none;margin:6px 0 24px;padding:6px;max-width:980px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--v4-card-shadow,0 24px 48px -30px rgba(38,49,83,.32))}
.r5-ligne{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:16px 18px;min-width:0}
.r5-ligne+.r5-ligne::before{content:"";position:absolute;inset-inline:18px;top:0;border-top:1px solid var(--line);pointer-events:none}
.r5-ligne>.r5-icone,.r5-ligne>.ai-badge{width:44px;height:44px;margin:0}
.r5-texte{min-width:0}
.r5-texte h2{margin:0;font:700 16px/1.35 Jakarta,sans-serif;letter-spacing:-.01em;color:var(--ink)}
.r5-texte p{margin:3px 0 0;max-width:62ch;font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.r5-ligne .r5-etat{font-size:13px;white-space:nowrap}
.r5-action{justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px;min-width:0}
.r5-action .button{min-height:40px;padding:8px 16px;font-size:14px;font-weight:600;white-space:nowrap}
#r5-panel{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px 28px 28px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 30px 70px -28px rgba(38,49,83,.45)}
#r5-panel::backdrop{background:rgba(38,49,83,.45)}
#r5-panel .r5-panel-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}
#r5-panel .r5-panel-tete h2{margin:6px 0 0;font:700 22px/1.25 Jakarta,sans-serif;letter-spacing:-.02em;color:var(--ink)}
#r5-panel .r5-fermer{flex:none;width:40px;height:40px;min-height:40px;margin:0 -8px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:400 22px/1 system-ui,sans-serif;cursor:pointer}
#r5-panel .r5-fermer:hover{color:var(--blue)}
#r5-panel :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#r5-panel .r5-panel-corps>.connection-group{margin:0}
#r5-panel .r5-panel-corps>.connection-group>h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#r5-panel .r5-panel-corps .connection-item{margin-bottom:0}
@media(max-width:600px){
  .r5-lignes{margin-top:2px;padding:4px}
  .r5-ligne{grid-template-columns:36px minmax(0,1fr);gap:8px 12px;padding:14px 12px}
  .r5-ligne+.r5-ligne::before{inset-inline:12px}
  .r5-ligne>.r5-icone,.r5-ligne>.ai-badge{width:36px;height:36px;align-self:start}
  .r5-ligne .r5-etat{white-space:normal}
  .r5-action{grid-column:2;justify-self:start;justify-content:flex-start}
  #r5-panel,body:has(.r5-connexions) #modal.cc-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
  #r5-panel{padding:16px 16px 24px}
}
:where(html[data-theme=dark]) .r5-lignes{box-shadow:none}
:where(html[data-theme=dark]) #r5-panel{background:var(--d-surface);border-color:var(--d-line)}
:where(html[data-theme=dark]) #r5-panel .r5-fermer{background:var(--d-quiet);border-color:var(--d-line);color:var(--d-ink)}
/* dans le panneau : le titre en bleu comme « Manage AIs » ; « Update chats » : la phrase à gauche, l'interrupteur à droite (l'icône répétait la
   ligne) ; « Add to … » des connecteurs en boutons secondaires (un seul bouton principal par vue) ; rien sous 13 px */
#r5-panel .r5-panel-tete h2{color:var(--blue)}
#r5-panel .reload-auto-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px}
#r5-panel .reload-auto-row{grid-column:2;grid-row:1}
#r5-panel .reload-auto-row .connection-row-icon{display:none}
#r5-panel #reload-auto-help{grid-column:1;grid-row:1;margin:0}
#r5-panel #reload-auto-status{grid-column:1/-1;margin:0}
#r5-panel #reload-auto-status:empty{display:none}
#r5-panel .reload-auto-manual{grid-column:1/-1;font-size:13px}
:where(html[data-theme=dark]) #r5-panel .r5-panel-tete h2{color:var(--d-accent)}
@media(max-width:600px){#r5-panel .r5-fermer{margin-right:0}}
/* R5 bis (PRODUIT, 12/11/2026 ; CHEMIN-SORTIE B quater) : le panneau « Connectors » montre les pas de l'IA choisie. Onglets = pastille d'IA + nom (la
   pastille garde la teinte de SON IA) ; l'onglet choisi prend la lavande (--v4-tint, sombre --d-soft) et l'accent, jamais le citron. Les pas : deux colonnes
   (ordinateur, téléphone), une seule à 600 px et moins. « Copy address » est le seul bouton principal du panneau. */
.connectors-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.connector-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px 6px 7px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:600 14px/1.2 DM,system-ui,sans-serif;cursor:pointer}
.connector-tab>span[aria-hidden]{display:inline-flex}
.connector-tab:hover{border-color:var(--blue)}
.connector-tab[aria-selected=true]{background:var(--v4-tint,#EEF0FC);border-color:var(--blue);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.connector-tab:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#r5-panel .connector-card{box-shadow:none}
#r5-panel .connector-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.connector-col .connector-address{margin:0 0 10px}
.connector-col[data-conn-col=mobile]{min-width:0}
@media(max-width:600px){#r5-panel .connector-steps{grid-template-columns:minmax(0,1fr)}.connector-tab{padding-right:12px}}
:where(html[data-theme=dark]) .connector-tab{background:var(--d-quiet);border-color:var(--d-line);color:var(--d-ink)}
:where(html[data-theme=dark]) .connector-tab:hover{border-color:var(--d-accent)}
:where(html[data-theme=dark]) .connector-tab[aria-selected=true]{background:var(--d-soft);border-color:var(--d-accent);color:var(--d-ink);box-shadow:inset 0 0 0 1px var(--d-accent)}
:where(html[data-theme=dark]) .connector-tab:focus-visible{outline-color:var(--d-accent)}
/* ═══ DA-R5-CONNEXIONS:FIN ═══ */

/* ═══ DA-ACCUEIL-K12:DÉBUT — l'Accueil dans le dessin de « Bon retour » (PRODUIT 12/11/2026 ; LEAD, retour R7 de Kevin « on peut faire mieux ») ═══ */
/* Même dessin que /welcome-back-v4/ (welcome-back.css, bloc K12) : le titre de l'espace à sa taille de page (#main h1, 34 px, 26 à ≤ 600 px — celle de
   toutes les pages de l'espace, déjà raisonnable ; Bon retour, page du site, est à 40), UN geste principal sous le titre,
   puis la CARTE de la dernière tâche (workspace.js homeLastTask : pastille de l'outil à sa teinte — les --da-outil-* de DA-ACCUEIL ①, = couleurs.json —,
   titre de la tâche, outil · date, « Open it » ; toute la carte s'ouvre), puis Tâches récentes / Épinglées / Chat Vitals / profil IA, inchangés.
   La carte « Nouvelle tâche » (.home-new-task) n'est plus une bande : ses mots, son bouton et son lien restent ; son titre h2, qui répète le bouton,
   est gardé pour les lecteurs d'écran (masqué à l'œil) ; l'illustration (décor) n'est plus montrée ; « Start from your AI chats, or from a tool. »
   passe à côté du bouton. Le bouton est le SEUL bleu plein de la vue (les « New task » de la barre du haut et de la barre latérale restent
   discrets, DA-ACCUEIL ③). Hors de ce bloc : rien (les pastilles de consommation et l'en-tête ne sont pas touchés ; DA-UN-GESTE est ailleurs). */
/* Les couleurs du bloc (réserve ③ de QUALITÉ 2, PRODUIT 12/11/2026 ; LEAD 19:48) : plus aucune valeur en dur dans les règles. Chaque couleur pleine
   lit la variable de lot2 qui porte la MÊME valeur et que la DA consolide (assets/brand/systeme-v4/uncook-v4.css : --uck-on-blue = --v4-on-blue,
   --uck-blue-hover = --v4-blue-hover, --uck-surface = --paper, --uck-tint = --v4-tint, --uck-line-strong = --v4-line-strong ; --blue). Les ombres,
   qu'aucun jeton ne porte à ces valeurs (--uck-shadow-card dit .32, ici .36 ; --uck-shadow-button s'éteint en sombre, ici il reste), sont nommées UNE
   fois ci-dessous. Valeurs calculées identiques en clair et en sombre (getComputedStyle, repos / survol / focus, 1440 et 390). Deux règles sombres du
   bouton (#FFFFFF, survol #4458AC) ne s'appliquaient jamais — la règle claire, plus précise (html body…), les écrase : en sombre le bouton a toujours eu
   --v4-on-blue et --v4-blue-hover. Elles sont retirées (aucun effet) ; l'intention sombre de la DA est une réserve nommée au LEAD. */
.home-v2.home-k12{--k12-ombre-bouton:0 10px 22px -14px #4458acee;--k12-ombre-carte:inset 0 0 0 1px rgba(38,49,83,.08),0 24px 48px -30px rgba(38,49,83,.36);--k12-ombre-carte-survol:inset 0 0 0 1px rgba(38,49,83,.12),0 30px 56px -30px rgba(38,49,83,.5)}
:where(html[data-theme=dark]) .home-v2.home-k12{--k12-ombre-carte:inset 0 0 0 1px var(--d-line),0 24px 48px -30px rgba(0,0,0,.6)}
html body .home-v2.home-k12 .home-new-task.home-illustrated{display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;overflow:visible}
html body .home-v2.home-k12 .home-new-task .home-banner-art{display:none}
html body .home-v2.home-k12 .home-new-task .home-task-main{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 18px;padding:0;min-height:0}
html body .home-v2.home-k12 .home-new-task .home-task-intro{flex:1 1 260px;min-width:0}
html body .home-v2.home-k12 .home-new-task .home-task-intro>h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body .home-v2.home-k12 .home-new-task .home-task-intro>p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
html body .home-v2.home-k12 .home-new-task .home-task-main>.button{min-height:52px;padding:14px 24px;border:0;border-radius:10px;background:var(--blue);color:var(--v4-on-blue);font-size:16px;font-weight:600;box-shadow:var(--k12-ombre-bouton)}
html body .home-v2.home-k12 .home-new-task .home-task-main>.button:is(:hover,:focus-visible){background:var(--v4-blue-hover);color:var(--v4-on-blue);border:0}
html body .home-v2.home-k12 .home-new-task .home-task-main>.button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
:where(html[data-theme=dark]) body .home-v2.home-k12 .home-new-task .home-task-intro>p{color:var(--d-muted)}
:where(html[data-theme=dark]) body .home-v2.home-k12 .home-new-task .home-task-main>.button:focus-visible{outline-color:var(--d-accent)}
/* la grille de l'Accueil (DA-K, ≥ 601 px) : une rangée de plus pour la carte, avant Tâches récentes / Épinglées */
@media(min-width:601px){
 html body .home-v2.home-k12:has(>.home-last):has(>.home-profile-card){grid-template-rows:auto auto auto minmax(200px,1fr) auto}
 html body .home-v2.home-k12:has(>.home-last):has(>.home-profile-card)>.home-last{grid-row:3}
 html body .home-v2.home-k12:has(>.home-last):has(>.home-profile-card)>.home-columns{grid-row:4;min-height:200px}
 html body .home-v2.home-k12:has(>.home-last):has(>.home-profile-card)>.vitals-compact,html body .home-v2.home-k12:has(>.home-last):has(>.home-profile-card)>.home-profile-card{grid-row:5}
}
/* la carte de la dernière tâche */
.home-v2.home-k12 .home-last{margin:10px 0 0;min-width:0}
.home-v2.home-k12 .home-last-label{margin:0 0 12px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.home-v2.home-k12 .home-last-card{--k12-bg:var(--da-outil-neutre-fond);--k12-ink:var(--da-outil-neutre-encre);position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:22px;padding:20px 26px;border-radius:20px;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:var(--k12-ombre-carte);transition:box-shadow .2s ease,transform .2s ease}
.home-v2.home-k12 .home-last-card:is([data-outil=handoff],[data-outil=switch]){--k12-bg:var(--da-outil-handoff-bg);--k12-ink:var(--da-outil-handoff-ink)}
.home-v2.home-k12 .home-last-card[data-outil=merge]{--k12-bg:var(--da-outil-merge-bg);--k12-ink:var(--da-outil-merge-ink)}
.home-v2.home-k12 .home-last-card[data-outil=summarize]{--k12-bg:var(--da-outil-summarize-bg);--k12-ink:var(--da-outil-summarize-ink)}
.home-v2.home-k12 .home-last-card[data-outil=memo]{--k12-bg:var(--da-outil-memo-bg);--k12-ink:var(--da-outil-memo-ink)}
.home-v2.home-k12 .home-last-card[data-outil=export]{--k12-bg:var(--da-outil-export-bg);--k12-ink:var(--da-outil-export-ink)}
.home-v2.home-k12 .home-last-card[data-outil=aiprofile]{--k12-bg:var(--da-outil-aiprofile-bg);--k12-ink:var(--da-outil-aiprofile-ink)}
.home-v2.home-k12 .home-last-card:hover{transform:translateY(-2px);box-shadow:var(--k12-ombre-carte-survol)}
.home-v2.home-k12 .home-last-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.home-v2.home-k12 .home-last-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--k12-bg);color:var(--k12-ink)}
.home-v2.home-k12 .home-last-icon svg{width:26px;height:26px}
.home-v2.home-k12 .home-last-body{display:block;min-width:0}
.home-v2.home-k12 .home-last-body strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 4px;font-family:"Plus Jakarta Sans",Jakarta,sans-serif;font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere}
.home-v2.home-k12 .home-last-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:15px;line-height:1.5;color:var(--muted)}
.home-v2.home-k12 .home-last-open{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid var(--v4-line-strong);border-radius:10px;background:var(--paper);color:var(--blue);font-size:15px;font-weight:600;white-space:nowrap}
.home-v2.home-k12 .home-last-open::after{content:"↗" / "";font-size:16px;line-height:1}
.home-v2.home-k12 .home-last-card:hover .home-last-open{background:var(--v4-tint)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-label,:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-meta{color:var(--d-muted)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-card{background:var(--d-surface);color:var(--d-ink)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-body strong{color:var(--d-ink)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-open{background:var(--d-surface);border-color:var(--d-line);color:var(--d-accent)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-card:hover .home-last-open{background:var(--d-soft)}
:where(html[data-theme=dark]) .home-v2.home-k12 .home-last-card:focus-visible{outline-color:var(--d-accent)}
@media(max-width:600px){
 html body .home-v2.home-k12 .home-new-task .home-task-main{flex-direction:column-reverse;align-items:stretch}
 html body .home-v2.home-k12 .home-new-task .home-task-intro{flex:none}
 html body .home-v2.home-k12 .home-new-task .home-task-main>.button{justify-content:center;width:100%}
 .home-v2.home-k12 .home-last-card{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px}
 .home-v2.home-k12 .home-last-icon{width:48px;height:48px;border-radius:14px}
 .home-v2.home-k12 .home-last-body strong{font-size:18px}
 .home-v2.home-k12 .home-last-open{grid-column:1/-1;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.home-v2.home-k12 .home-last-card{transition:none}.home-v2.home-k12 .home-last-card:hover{transform:none}}
/* ═══ DA-ACCUEIL-K12:FIN ═══ */
/* ═══ DA-RESULTAT-R1R4:DÉBUT ═══ (PRODUIT, 12/11/2026 ; retours de Kevin via LEAD 15:5x UTC)
   R1 : la carte Vitals ne coupe plus le résultat. À 1440 c'est une PETITE carte dans la colonne de droite, sous « Keep going » ; à 390, une carte compacte
        à la fin du document (dans son défilement), jamais un bloc collé sous la barre d'actions. Son bouton n'est plus bleu : un seul bouton bleu par vue.
   R2 : en plein écran, une croix (même mot que l'icône : ws.doc.collapse) ; Échap fermait déjà.
   R3 : « Keep going » reste en haut de la colonne (la carte d'épinglage passe sous lui, workspace.js syncResultPin).
   Jetons : ceux de la DA V4 (assets/brand/systeme-v4/couleurs.json) et --d-* du thème sombre.
   12/11 (rejeu, NOTE D'INCIDENT) : la carte compacte posait 11 / 11,5 / 12,5 px ; le banc workspace-style-v4 tient le plancher de 13 px de l'espace
   (rouge sur 8087ca8a, vert sur la base) : la carte reste petite par son cadre et sa marge, pas par un texte sous 13 px.
   13/11 (refusion sur main 852da512 ; condition de QUALITÉ 2 du 12/11 19:25 UTC, LEAD 19:3x) : AUCUNE couleur en dur dans ce bloc. Les deux couleurs hors
   couleurs.json (#F6F7FD, #CAD0EC) et les autres valeurs écrites passent en jetons de la feuille : --wash, --line, --ink, --muted, --v4-tint, --paper,
   --v4-line-strong, --blue, --da-outil-anneau ; sombre : --d-*.
   13/11 (réserves de QUALITÉ 2 sur R1–R4, NOTE D'INCIDENT ; PRODUIT, tête produit/r1r4-reserves-1311) :
   ③ en sombre, deux --d-* de la feuille n'étaient pas des couleurs de la DA (couleurs.json) : --d-quiet #202941 (fond de Vitals) et --d-edge #6B7899 (bord
     du bouton de Vitals et de la croix). Remplacés par leurs voisins de la DA, au même rôle qu'en clair : fond de Vitals = « paper » sombre #13182B (--d-bg ;
     en clair c'est --wash = « paper » clair, une carte un cran sous la colonne « surface »), bords = « line » sombre #3C4765 (--d-line, le bord des cartes
     sombres). Le banc workspace-resultat-r1-r4 compare désormais fond / bord / encre de Vitals et de la croix aux valeurs de couleurs.json, en clair et en
     sombre (valeurs calculées) : une couleur en dur ou hors DA le fait rougir.
   ② la croix est rendue DANS .document-actions (workspace.js), après « Agrandir » : Tab y passe avant le document (elle reste fixe, même place).
   ④ entre 601 et 1100 px, la barre ne prend plus 3 rangées : [data-compact] (workspace.js fitResultToolbar, mesuré) met les boutons en icône quand leurs
     mots ne tiennent pas sur une ligne (secondaires d'abord, puis tous). Le mot reste le nom du bouton (lu, masqué à l'œil) et son infobulle. */
html body #main .result-v2 .result-next .first-result-vitals,html body #main .mobile-document-scroll>.first-result-vitals{display:block;margin:16px 0 0;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--wash);box-shadow:none}
html body #main .result-v2 .result-next .first-vitals-inner,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-inner{display:block;padding:14px;border-radius:14px;background:transparent;box-shadow:none}
html body #main .result-next .first-result-vitals .first-vitals-mark,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-mark{float:left;width:22px;height:22px;border-radius:6px;background-size:14px;margin:0 8px 0 0}
html body #main .result-next .first-result-vitals .first-vitals-copy .arrivee-kicker,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-copy .arrivee-kicker{margin:0 0 8px;font-size:13px;line-height:22px;letter-spacing:.08em}
html body #main .result-next .first-result-vitals .first-vitals-copy h2,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-copy h2{margin:0 0 4px;font-size:14px;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
html body #main .result-next .first-result-vitals .first-vitals-copy p:not(.arrivee-kicker),html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-copy p:not(.arrivee-kicker){font-size:13px;line-height:1.5;color:var(--muted)}
html body #main .result-next .first-result-vitals .first-vitals-copy .first-vitals-off,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-copy .first-vitals-off{margin-top:8px;padding:3px 8px;font-size:13px;background:var(--v4-tint);color:var(--ink)}
html body #main .result-next .first-result-vitals .first-vitals-actions,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-actions{clear:both;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;margin-top:10px;align-self:auto}
html body #main .result-next .first-result-vitals .first-vitals-button,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-button{min-height:36px;padding:7px 12px;border-radius:9px;font-size:13px;box-shadow:none;transform:none}
html body #main .result-next .first-result-vitals .first-vitals-primary,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-primary{background:var(--paper);border:1px solid var(--v4-line-strong);color:var(--blue)}
html body #main .result-next .first-result-vitals .first-vitals-primary:hover,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-primary:hover{background:var(--v4-tint)}
html body #main .result-next .first-result-vitals .first-vitals-secondary,html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-secondary{min-height:36px;padding:7px 2px;border:0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
html body #main .mobile-document-scroll>.first-result-vitals{margin:8px 16px 24px}
html body #main .mobile-document-scroll>.first-result-vitals .first-vitals-button{min-height:44px}
html[data-theme=dark] body #main .result-v2 .result-next .first-result-vitals,html[data-theme=dark] body #main .mobile-document-scroll>.first-result-vitals{background:var(--d-bg);border-color:var(--d-line)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-copy h2{color:var(--d-ink)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-copy p:not(.arrivee-kicker){color:var(--d-muted)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-copy .arrivee-kicker{color:var(--d-accent)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-copy .first-vitals-off{background:var(--d-soft);color:var(--d-ink)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-button.first-vitals-primary{background:var(--d-surface);border-color:var(--d-line);color:var(--d-accent)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-button.first-vitals-primary:hover{background:var(--d-soft)}
html[data-theme=dark] body #main .first-result-vitals .first-vitals-button.first-vitals-secondary{background:transparent;color:var(--d-muted)}
html body #main .result-v2 .result-next>.result-pin-card{margin:16px 0 0}
body.reading-mode .result-reading-close{position:fixed;top:16px;right:20px;z-index:40;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--v4-line-strong);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:0 6px 18px var(--da-outil-anneau);cursor:pointer}
body.reading-mode .result-reading-close .ic{width:20px;height:20px}
body.reading-mode .result-reading-close:hover{background:var(--v4-tint)}
body.reading-mode .result-reading-close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
html[data-theme=dark] body.reading-mode .result-reading-close{background:var(--d-surface);border-color:var(--d-line);color:var(--d-ink)}
html[data-theme=dark] body.reading-mode .result-reading-close:hover{background:var(--d-soft)}
html[data-theme=dark] body.reading-mode .result-reading-close{box-shadow:none}
html[data-theme=dark] body.reading-mode .result-reading-close:focus-visible{outline-color:var(--d-accent)}
.result-reading-close{display:none}
body.reading-mode .result-reading-close{display:inline-grid}
/* 13/11 (refusion ; condition de QUALITÉ 2 du 12/11 19:25 UTC, défaut d'affichage seul) : sous ~1150 px, la croix fixe (haut 16, droite 20) recouvrait le
   dernier bouton de la barre (« Quitter l'affichage agrandi », DE 1024 ; « Exporter » à 768). En plein écran, la barre lui RÉSERVE sa place à droite,
   à la place de son propre bouton « Quitter l'affichage agrandi » (même nom, même geste : la croix le remplace, workspace.js toggleReadingMode y met le
   focus), et garde 72 px à droite (44 px de croix + 20 px de marge + le bord) : les boutons s'arrêtent avant la croix. */
@media(min-width:601px){html body.reading-mode #main .result-v2 .document-toolbar{padding-right:72px}html body.reading-mode #main .result-v2 .document-toolbar [data-reading]{display:none}}
/* Trouvé en mesurant (déjà vrai sur main 852da512, défaut d'affichage seul) : quand la barre ne tient pas sur une ligne (hors plein écran à 1100 et
   moins, avec la colonne ; en plein écran à 768 et 601), ses derniers boutons sortaient de la barre — « Teilen » et « Dokument vergrößern » passaient
   SOUS la colonne de droite (inatteignables au clic à 1024). Les boutons passent maintenant à la ligne, alignés à droite (et avant la croix). */
@media(min-width:601px) and (max-width:1240px){html body #main .result-v2 .document-toolbar{flex-wrap:wrap;row-gap:8px}html body #main .result-v2 .document-toolbar .document-actions{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;width:auto;min-width:0;max-width:100%;row-gap:8px;margin-left:auto}}
/* ④ (13/11) la barre compacte : un bouton en icône a la forme de « Agrandir » (42 × 42) ; son mot reste dans le bouton, masqué à l'œil. */
@media(min-width:601px){html body #main .result-v2 .document-toolbar:is([data-compact=secondaires],[data-compact=toutes]) .document-actions .button:not(.primary),html body #main .result-v2 .document-toolbar[data-compact=toutes] .document-actions .button.primary{justify-content:center;width:42px;min-width:42px;padding:8px 9px;gap:0}
html body #main .result-v2 .document-toolbar:is([data-compact=secondaires],[data-compact=toutes]) .document-actions .button:not(.primary)>span,html body #main .result-v2 .document-toolbar[data-compact=toutes] .document-actions .button.primary>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}
/* (13/11, réserve de QUALITÉ 2) « Continue in an AI » était à 11 px, sous le plancher de 13 px de la DA : même taille et même écart que « Choose another tool ». */
html body #main .result-v2 .result-next>.document-continue{font-size:13px;gap:8px}
/* (13/11, LEAD 02:3x UTC, A) les chats de la tâche ne sont plus gardés : « Choose your chats » prend la forme discrète de « Choose another tool » (mêmes
   jetons --dr-calme-*), la vue garde UN bouton bleu plein (« Keep going in an AI » d'un Handoff, « Share » d'un Summarize). La règle ancienne (#4458AC en dur,
   l.360 et l.1019) est couverte ici, pas réécrite. */
html body #main .result-v2 .result-next .missing-result-sources>.button{border:1px solid var(--dr-calme-bord);background:var(--dr-calme-fond);color:var(--dr-calme-encre);box-shadow:none;font-size:13px}
html body #main .result-v2 .result-next .missing-result-sources>.button:hover{background:var(--dr-calme-survol);color:var(--dr-calme-survol-encre)}
/* ═══ DA-RESULTAT-R1R4:FIN ═══ */
/* ═══ RETOURS-KEVIN-1311:DÉBUT — PRODUIT 13/11/2026 (recette directe de Kevin, 01:05 Budapest ; LEAD 00:14 UTC, CHEMIN-SORTIE « B quinquies »).
   Jetons seulement (--ink, --muted, --line, --paper = surface, --wash = papier de couleurs.json), rien sous 13 px, citron jamais en fond. ═══ */
/* ① Le choix de lecture (dépassement, #over-limit ; chat trop court, #turns-min) : plus de bandeau abricot entre l'étape et son pied. Une ligne calme
   AU BAS de la carte de l'outil choisi (workspace.js placeOverLimit) : un filet, le titre et la phrase sur une même ligne de texte, les deux gestes en
   boutons secondaires compacts. Aucun fond, aucune ombre : la grille et la carte gardent toute leur hauteur. */
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit{position:static;flex:none;margin:10px 0 0;padding:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none;transform:none}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit>p{display:inline;margin:0;font-size:14px;line-height:1.5}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit>p:first-child strong{font:600 14px/1.5 DM,"DM Sans",sans-serif;color:var(--ink)}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit>p:first-child::after{content:" "}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-phrase{font-size:13px!important;color:var(--muted)}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button{display:inline-flex;flex:0 1 auto;align-items:baseline;justify-content:flex-start;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:none;text-align:start;white-space:normal;font-size:14px}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button:hover{border-color:var(--v4-line-strong,var(--line));background:var(--wash)}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button>strong{font-weight:600}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button>span{font-size:13px;font-weight:400;opacity:1;color:var(--muted)}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button>span:not(:empty)::before{content:"· "}
/* NOTE D'INCIDENT 13/11 (réserve de QUALITÉ 2, 06:39 UTC, hors tête) : cette règle peignait en bleu plein le geste « Choisir des chats » de la ligne du chat
   trop court (#turns-min) ; avec le bouton de lancement du pied (bleu, inactif), la vue avait DEUX bleus pleins (1440). La règle retenue est celle du
   bloc ③ « un seul bouton bleu par vue » (test/workspace-da-un-geste.mjs, où un bouton inactif compte : « le bouton de l'étape reste le seul ») et du
   dessin validé de la ligne calme : dans la carte, ses gestes sont SECONDAIRES, comme les deux choix du dépassement ; le seul bleu de l'étape reste le
   bouton du pied, inactif tant que le choix n'est pas fait. Un geste seul n'est pas étiré sur toute la largeur de la carte. Hors de la carte (revue,
   page Résultat, file P7), le geste garde son bleu : il y est le seul. */
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button.primary{background:var(--paper);border-color:var(--line);color:var(--ink)}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button.primary:hover{border-color:var(--v4-line-strong,var(--line));background:var(--wash)}
/* ③ L'emplacement de la ligne d'offre, sous les deux choix : vide et masqué tant que rien n'est servi (workspace.js overLimitOffer). */
#main .workspace-over-limit-offre{display:block;margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
#main .workspace-over-limit-offre[hidden]{display:none}
/* NOTE 13/11 (PRODUIT, revue à l'image) : dans la carte de l'outil, la règle « >p{display:inline;margin:0} » du bloc RETOURS-KEVIN-1311 collait la ligne d'offre aux deux choix ; elle reprend sa place sous eux. */
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit>.workspace-over-limit-offre{display:block;margin:10px 0 0}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit>.workspace-over-limit-offre[hidden]{display:none}
@media(max-width:600px){
 #main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices{flex-direction:column;gap:6px}
 #main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button{display:block;width:100%;min-height:44px}
 /* 2b-UI (12/11) suivait le panneau ENFANT de #main (:has(>…)) ; il est maintenant dans la carte : la même règle, pour un panneau n'importe où dans
    l'étape — l'étape coule d'une page, aucun corps ni carte à hauteur bornée, le pied reste collant. */
 #main.flow-page:has(.workspace-over-limit){height:auto;min-height:calc(100dvh - 116px);overflow:visible}
 #main.flow-page:has(.workspace-over-limit)>.flowbody{flex:none;height:auto;max-height:none;min-height:0;overflow:visible!important}
 #main.flow-page:has(.workspace-over-limit) :is(.tool2-card,.arr-col){height:auto;max-height:none;min-height:0;overflow:visible}
 #main .workspace-over-limit{scroll-margin-bottom:200px}
}
/* ① suite (PRODUIT 13/11, NON de QUALITÉ 2 04:43 UTC sur 36245494) : au-dessus de 600 px, la carte qui porte la ligne était encore à hauteur bornée
   (#main:has(.tool2-body) = 100dvh − 86 px, .tool2-card height 100 %, overflow auto) : Handoff 1440 défilait de 24 (EN) à 63 px (DE), toutes les
   cartes à 1240 d'environ 165 px (Handoff 229), les deux choix coupés ou cachés. Décision PRODUIT : la carte qui porte la ligne NE DÉFILE JAMAIS,
   elle grandit ; c'est la page qui défile, la ligne reste dans la carte (le dessin validé par Kevin). L'étape garde au moins la hauteur de l'écran
   (la carte de la grille la remplit comme avant quand tout tient : rien ne bouge à 1440 EN Merge), la carte d'arrivée garde sa hauteur de contenu
   (.arr-col n'est pas étirée). Le pied devient collant comme à 390 ; un anneau du fond de page (--wash) sous son ombre masque ce qui passe derrière
   ses coins et ses 12 px de marge. Il est APRÈS la carte dans le flux : défilée jusqu'au bout, la fin de la carte est au-dessus de lui ; à sa
   première apparition la ligne est amenée à l'écran au-dessus du pied (workspace.js showOverLimitBar, scroll-margin-bottom). */
@media(min-width:601px){
 #main.flow-page:has(.workspace-over-limit){height:auto;min-height:calc(100dvh - 86px);overflow:visible}
 #main.flow-page:has(.workspace-over-limit)>.flowbody{flex:1 0 auto;height:auto;max-height:none;min-height:0;overflow:visible!important}
 #main.flow-page:has(.workspace-over-limit)>.tool2-body{display:flex!important;flex-direction:column}
 #main.flow-page:has(.workspace-over-limit)>.tool2-body>.tool2-card{flex:1 0 auto;height:auto;max-height:none;min-height:0;overflow:visible}
 #main.flow-page:has(.workspace-over-limit) .arr-col{height:auto;max-height:none;min-height:0;overflow:visible}
 #main.flow-page:has(.workspace-over-limit)>.flow-footer{position:sticky;bottom:8px;z-index:20;box-shadow:var(--da-outil-ombre),0 0 0 12px var(--wash)}
 #main .workspace-over-limit{scroll-margin-bottom:120px}
 /* 13/11 (souhait DA de QUALITÉ 2, 06:39 UTC) : à 1240 et 1024 la page finissait juste sous le pied ; le défilement d'arrivée était donc aussi le
    défilement maximal et ne pouvait pas aller jusqu'au bord propre suivant (workspace.js bringReadingLine) : le titre restait tranché (Merge EN 1240,
    grille : 20 px sur 67). Quand, et seulement quand, ce bord est au-delà du bout de la page, le script nomme la marge qui manque — 56 px d'ordinaire, 96 au plus quand le défilement minimal couperait un bloc (NON de QUALITÉ 2, 13/11 12:49) — (--reading-room,
    96 px au plus) : la page gagne ce fond sous l'étape, et à l'arrivée le pied se pose au-dessus de ce fond. Sans ligne, la règle ne s'applique plus. */
 #main.flow-page:has(.workspace-over-limit){padding-bottom:var(--reading-room,0px)!important} /* contre .flow-page{padding-bottom:0!important} */
}
#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button>span:not(:empty){margin-inline-start:.25em}
/* 13/11 (QUALITÉ 2, 06:39 UTC, hors tête) : SANS dépassement, la carte de la grille défilait encore à 1240 (Handoff 79 px, la rangée « Passer à une
   autre IA » ; les autres outils 15 px) et à 1024 (147 à 248 px). Même règle que ① suite : au-dessus de 600 px, la carte de la grille ne défile jamais,
   elle grandit et la page défile, le pied collant avec son anneau. Quand tout tient (1440), rien ne bouge : la carte remplit l'étape comme avant. */
@media(min-width:601px){
 #main.flow-page:has(>.tool2-body){height:auto;min-height:calc(100dvh - 86px);overflow:visible}
 #main.flow-page>.tool2-body{display:flex!important;flex-direction:column;flex:1 0 auto;height:auto;max-height:none;min-height:0;overflow:visible!important}
 #main.flow-page>.tool2-body>.tool2-card{flex:1 0 auto;height:auto;max-height:none;min-height:0;overflow:visible}
 #main.flow-page:has(>.tool2-body)>.flow-footer{position:sticky;bottom:8px;z-index:20;box-shadow:var(--da-outil-ombre),0 0 0 12px var(--wash)}
}
@media(min-width:601px){#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices{flex-wrap:nowrap}#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button{flex:1 1 0;min-width:0;display:block}}
@media(min-width:601px){#main :is(.arr-tool,.tool2-card)>.workspace-over-limit .workspace-over-limit-choices>.button:only-child{flex:0 1 auto;font-weight:600}}
/* ② La fenêtre des sujets (#e3-workspace) et la liste des sujets de l'étape (#topics-list) : l'avertissement générique UNE fois, en tête ; la liste
   compacte (une ligne par sujet, le poids à droite, le total en direct dessous). */
.e3-sujets-note{margin:0 0 2px;font-size:13px;line-height:1.45;color:var(--muted)}
#modal .workspace-e3-options:has(.e3-sujets-note){gap:8px}
#modal .workspace-e3-topic label{padding:3px 0;align-items:baseline}
#modal:has([data-k8-total]) .workspace-e3-topic label{padding:3px 0}
#modal .workspace-e3-options fieldset{padding:4px 14px 6px}
#main .topics-fold-body>.e3-sujets-note,#main .tool2-topics>.e3-sujets-note{margin:6px 0 4px}
/* ④ Le pied de l'étape des chats (« 0 chat sélectionné · Suivant : choisir un outil ») : plus de bande blanche posée sur le fond, bords collés au texte.
   Il est sur le fond de la page (transparent), un filet au-dessus, le texte et le bouton alignés sur la colonne de la liste (mêmes bords que la carte). */
#main :is(.recent-chats-page,.chats-v2)>.flow-footer,#main .recent-chats-page .flow-footer{background:transparent;border-top:1px solid var(--line);padding:16px 0 20px;margin-top:16px}
:where(html[data-theme=dark]) #main :is(.recent-chats-page,.chats-v2) .flow-footer{background-color:transparent}
@media(max-width:600px){#main :is(.recent-chats-page,.chats-v2) .flow-footer{padding:14px 0 16px}}
/* ⑤ Le fond : NEUTRE partout (--wash = le papier de couleurs.json, #FCFCFF / #13182B). Les règles de scène lilas/citron sont neutralisées à leur
   source (--da-outil-scene:none ; .workspace et les écrans Home, History, Settings, Connections : var(--wash), sans image). Les cadres d'arrivée
   (prénom, portes de retour, premier résultat) gardent leur carte, sans scène. La couleur reste l'accent : pastilles d'outil et d'IA, bouton bleu. */
html #main :is(.first-name,.doors,.visit-two,.first-result-vitals){background:var(--paper)}
html[data-theme=dark] body #main :is(.first-name,.doors,.visit-two,.first-result-vitals){background:var(--paper)}
/* ⑥ Le refus du réglage de la liste (« Ne plus lire mes chats récents » / « Réactiver la liste ») : une ligne discrète, sans fond d'alerte ni cadre. */
#main .recent-error.recent-pref{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0 10px;padding:0;border:0;border-radius:0;background:none}
:where(html[data-theme=dark]) #main .recent-error.recent-pref{background:none;border:0}
#main .recent-pref p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
#main .recent-pref p strong{font-weight:600;color:var(--ink)}
#main .recent-pref .textlink{min-height:32px;padding:0;border:0;background:none;color:var(--blue);font:600 13px/1.5 DM,"DM Sans",sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
:where(html[data-theme=dark]) #main .recent-pref .textlink{color:var(--d-accent)}
/* ⑦ Les fenêtres de choix (« Gérer les IA », la fenêtre des sujets) : plus grandes, sans défilement inutile. 1440 : jusqu'à 1040 px de large, toute la
   hauteur de l'écran moins une marge ; 390 : une feuille de 8 px de marge, chaque ligne d'IA sur deux lignes au plus (l'état et son geste côte à côte). */
#modal.cc-modal,#modal:has(#e3-workspace){width:min(1040px,calc(100vw - 64px));max-height:calc(100dvh - 48px)}
#modal:has(#e3-workspace) .workspace-e3-options fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
@media(max-width:700px){#modal:has(#e3-workspace) .workspace-e3-options fieldset{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 #modal.cc-modal,#modal:has(#e3-workspace){width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 16px);padding:16px 14px}
 html body #modal.cc-modal #cc-panel li{padding:5px 10px}
 html body #modal.cc-modal #cc-panel .cc-geste{margin-top:2px}
 html body #modal.cc-modal #cc-panel .cc-geste .button{min-height:32px;padding:4px 12px}
 #modal.cc-modal .cc-panel{margin-top:8px}
 #modal.cc-modal .cc-panel>.cc-off{margin-top:8px}
}
/* ═══ RETOURS-KEVIN-1311:FIN ═══ */
/* ═══ TOUT-LIRE-PACK-1311 (PRODUIT, 13/11 ; B sexies) — le manque au solde et l'offre Pack passent par la ligne d'offre ③ des retours de Kevin
   ([data-over-limit-offre], RETOURS-KEVIN-1311 ci-dessus pour le pied) ; ici, la même ligne dans la fenêtre des choix (#e3-workspace), et son lien
   (.textlink vers Offre et facturation) dans les deux. Jetons de la page. ═══ */
#e3-workspace>.workspace-over-limit-offre{display:block;margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--muted)}
#e3-workspace>.workspace-over-limit-offre[hidden]{display:none}
:is(#main,#e3-workspace) .workspace-over-limit-offre>span{color:var(--ink)}
:is(#main,#e3-workspace) .workspace-over-limit-offre>.textlink{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
:where(html[data-theme=dark]) :is(#main,#e3-workspace) .workspace-over-limit-offre>.textlink{color:var(--d-accent)}
/* ═══ TOUT-LIRE-PACK-1311:FIN ═══ */
/* 13/11/2026 (PRODUIT ; réserve ③ de QUALITÉ 2 sur tout-lire-pack-suite 9eb9fc1a, 11:55 UTC) — à 390, quand le pied porte la phrase d'un refus de solde
   (bouton en attente data-balance-wait), la phrase tenait en 7 à 8 lignes à côté du bouton : elle prend la pleine largeur au-dessus, comme à 1440. */
@media(max-width:600px){.tool2-launch:has(#continue-result[data-balance-wait]){flex-wrap:wrap}.tool2-launch:has(#continue-result[data-balance-wait])>#quote-label{max-width:none;flex:1 1 100%}.tool2-launch:has(#continue-result[data-balance-wait])>#continue-result{margin-left:auto}}
/* ═══ CONNEXIONS-ACCUEIL-1311 (PRODUIT, retours de Kevin du 13/11, LEAD 11:06 UTC) ═══
   ② l'interrupteur de la ligne « Mettre à jour les chats depuis votre IA » : le dessin de #reload-auto (le panneau d'avant), posé dans .r5-action ;
      la confirmation et le refus (ws.pref.*) sous la phrase de la ligne, à 13 px, vides sans place prise.
   ③b « Chat Vitals » : le titre est un bouton calme (encre du titre, flèche à l'accent, souligné au survol), jamais un second bleu plein ;
      la fenêtre Vitals : la phrase de la carte Vitals à 15 px, l'état à 14 px, « Activer Vitals » seul bouton plein. */
.r5-ligne #reload-auto{margin:0}
.r5-ligne .reload-auto-progress{flex:none}
.r5-ligne #reload-auto-status{min-height:0;margin:4px 0 0;font-size:13px;line-height:1.45;font-weight:600}
.r5-ligne #reload-auto-status:empty{margin:0}
.vitals-compact h2 .vitals-ouvrir{display:inline-flex;align-items:center;gap:6px;margin:0;padding:2px 0;border:0;border-radius:6px;background:none;font:inherit;line-height:inherit;color:inherit;text-align:left;cursor:pointer}
.vitals-compact .vitals-ouvrir-fleche{display:inline-grid;place-items:center;color:var(--blue)}
.vitals-compact .vitals-ouvrir-fleche svg{width:16px;height:16px}
.vitals-compact .vitals-ouvrir:hover{text-decoration:underline;text-underline-offset:3px}
.vitals-compact .vitals-ouvrir:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#modal.vitals-modal{width:min(560px,calc(100vw - 32px));max-width:min(560px,calc(100vw - 32px))}
#modal.vitals-modal .vitals-fenetre p{margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--ink)}
#modal.vitals-modal .vitals-fenetre .vitals-fenetre-etat{font-size:14px;color:var(--muted)}
#modal.vitals-modal .vitals-fenetre-actions{margin-top:8px}
:where(html[data-theme=dark]) .vitals-compact .vitals-ouvrir-fleche{color:var(--d-accent)}
:where(html[data-theme=dark]) .vitals-compact .vitals-ouvrir:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) #modal.vitals-modal .vitals-fenetre p{color:var(--d-ink)}
:where(html[data-theme=dark]) #modal.vitals-modal .vitals-fenetre .vitals-fenetre-etat{color:var(--d-muted)}
/* ═══ CONNEXIONS-ACCUEIL-1311:FIN ═══ */
/* 13/11/2026 (PRODUIT ; LEAD 15:57 UTC ③, Kevin) — le bas de la barre d'un visiteur : « Se connecter » (contour, jamais un second bleu plein),
   à la place de « Uncook / Espace » ; replié (rail) : l'icône seule, le nom reste lu (aria-label du lien par son texte). */
.guest-account-footer.is-signin{display:block;border-top:0;padding-top:12px}
.guest-account-footer .guest-signin{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600}
.guest-account-footer .guest-signin .ic{width:18px;height:18px;flex:none}
.rail .guest-account-footer .guest-signin{padding:0;min-height:40px}
.rail .guest-account-footer .guest-signin span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* NON de QUALITÉ 2 (18:10 UTC) NOTE D'INCIDENT — D1 : l'ancienne règle « .guest-account-footer span{font-size:12px;color:muted} » (plus haut) prenait
   le texte du lien : 12 px gris, sous les 13 px de la DA ; le texte hérite du lien (15 px, son encre). D2 : barre repliée, « .rail .guest-account-footer
   span{display:none} » le masquait ; le lien porte aussi son nom (aria-label). */
.guest-account-footer .guest-signin span{font-size:inherit;color:inherit}
.rail .guest-account-footer .guest-signin span{display:inline}
/* ═══ MENUS-AJUSTER-OUTILS-1311 (PRODUIT, 13/11/2026 ; retours de Kevin ④ ⑤ ⑥, LEAD 11:06 UTC) ═══
   ④ ⑤ Le menu V4 (workspace.js, MENUS V4) : un bouton au bord de champ (--uck-ink-muted #5C6480 de la DA, ≥ 4,5:1 sur le papier — LEAD 13/11 18:00 UTC, plus #8790AE hors couleurs.json ; sombre --d-edge), rayon 10, la flèche de
   l'espace à l'accent, la liste dans une carte (rayon 12, ombre de carte), l'option active en lavande, la choisie cochée à l'accent et en 600.
   Aucun texte sous 13 px ; aucun bleu plein (le seul bleu de la vue reste le bouton de l'étape). Le <select> d'avant est gardé, caché. */
.menu-v4{--mv-carte:var(--paper,#FFFFFF);--mv-encre:var(--ink,#263153);--mv-accent:var(--blue,#4458AC);--mv-teinte:var(--v4-tint,#EEF0FC);--mv-bord:var(--uck-ink-muted,#5C6480);--mv-ligne:var(--line,#E5E8F3);--mv-ombre:0 18px 40px -18px rgba(38,49,83,.38);position:relative;display:inline-flex;min-width:0;max-width:100%;vertical-align:middle}
:where(html[data-theme=dark]) .menu-v4{--mv-carte:var(--d-surface);--mv-encre:var(--d-ink);--mv-accent:var(--d-accent);--mv-teinte:var(--d-soft);--mv-bord:var(--d-edge);--mv-ligne:var(--d-line);--mv-ombre:0 18px 40px -18px #000000B3}
.menu-v4 select.menu-v4-natif{display:none!important}
.menu-v4-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.menu-v4 .menu-v4-bouton{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:40px;margin:0;padding:0 11px 0 14px;border:1px solid var(--mv-bord);border-radius:10px;background:var(--mv-carte);color:var(--mv-encre);font-family:DM,"DM Sans",system-ui,sans-serif;font-size:13px;font-weight:500;line-height:1.3;text-align:left;cursor:pointer;box-shadow:none;transition:border-color .15s ease,background-color .15s ease}
.menu-v4 .menu-v4-valeur{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;overflow:hidden}
.menu-v4 .menu-v4-valeur>span{grid-area:1/1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-v4 .menu-v4-gabarit{visibility:hidden;height:0}
.menu-v4 .menu-v4-fleche{flex:none;width:16px;height:16px;color:var(--mv-accent);transition:transform .15s ease}
.menu-v4 .menu-v4-bouton:hover:not(:disabled){background:var(--mv-teinte)}
.menu-v4 .menu-v4-bouton:focus-visible{outline:2px solid var(--mv-accent);outline-offset:2px}
.menu-v4.is-ouvert .menu-v4-bouton{border-color:var(--mv-accent)}
.menu-v4.is-ouvert .menu-v4-fleche{transform:rotate(180deg)}
.menu-v4 .menu-v4-bouton:disabled{opacity:.55;cursor:default}
.menu-v4-liste{position:fixed;inset:auto;margin:0;z-index:1000;box-sizing:border-box;min-width:160px;max-width:min(360px,calc(100vw - 16px));overflow:auto;list-style:none;padding:6px;border:1px solid var(--mv-ligne);border-radius:12px;background:var(--mv-carte);color:var(--mv-encre);box-shadow:var(--mv-ombre);overscroll-behavior:contain}
.menu-v4-liste[hidden]{display:none}
.menu-v4-liste [role=option]{display:flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:8px 14px 8px 8px;border-radius:8px;font-family:DM,"DM Sans",system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.35;color:var(--mv-encre);cursor:pointer;white-space:nowrap}
.menu-v4-liste [role=option]>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.menu-v4-liste .menu-v4-coche{flex:none;width:16px;height:16px;color:var(--mv-accent);visibility:hidden}
.menu-v4-liste [aria-selected=true]{font-weight:600}
.menu-v4-liste [aria-selected=true] .menu-v4-coche{visibility:visible}
.menu-v4-liste .is-actif{background:var(--mv-teinte)}
@media(prefers-reduced-motion:reduce){.menu-v4 .menu-v4-bouton,.menu-v4 .menu-v4-fleche{transition:none}}
/* ④ la barre « Choisir des chats » : recherche, filtre, tri ; à 390 la recherche prend la ligne, les deux menus se partagent la suivante */
.choix-chats .cc-tools .menu-v4{flex:none}
.chat-toolbar .chat-sort-menu{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted)}
@media(max-width:600px){.choix-chats .cc-tools .menu-v4{flex:1 1 0;min-width:0}.chat-toolbar .chat-sort-menu{flex:1;min-width:0}.chat-toolbar .chat-sort-menu>span{display:none}.chat-toolbar .chat-sort-menu .menu-v4{flex:1}}
/* ⑤ Ajuster : les mêmes menus, pleine largeur, 14 px ; le libellé au-dessus ; « Faire une nouvelle version » sur UNE ligne, à la taille des boutons de la colonne */
.adjust-fields .adjust-field{display:grid;gap:8px;min-width:0}
:is(#main,#modal) .adjust-fields .adjust-field>label{display:block;margin:0;font-size:13px;font-weight:700}
.adjust-fields .menu-v4{display:flex;width:100%}
.adjust-fields .menu-v4 .menu-v4-bouton{min-height:46px;font-size:14px;font-weight:400}
:is(#main,#modal) .result-next-review.adjust-review>:is([data-next-confirm],[data-next-cancel]){min-height:42px;padding:10px 16px;font-size:14px;line-height:1.3;white-space:nowrap;justify-content:center}
#modal.result-sheet .result-next-review.adjust-review>:is([data-next-confirm],[data-next-cancel]){min-height:48px}
/* un seul bleu plein : quand la colonne passe en revue (Ajuster, ou un autre outil à confirmer), son bouton est l'action ; « Partager » prend le
   contour calme des autres boutons du document (--dr-calme-*, clair et sombre) le temps de la revue */
#main .result-v2:has(.result-next-review) .document-actions .button.primary:not(.is-copied){border-color:var(--dr-calme-bord);background-color:var(--dr-calme-fond);color:var(--dr-calme-encre);box-shadow:none}
/* ⑥ « Choisir un autre outil » : chaque outil dans SA pastille, la teinte de la grille (les --da-outil-* de TEINTES PAR OUTIL, clair et sombre) */
.other-tool-picker .button{font-size:14px;gap:12px}
.other-tool-picker .button small{font-size:13px}
/* NON de QUALITÉ 2 (13/11 14:5x, ①) NOTE D'INCIDENT : la règle FORGE « .other-tool-picker .button>span{display:block} » (plus haut) l'emportait
   sur la pastille (0,2,1 contre 0,2,0) : display:block, l'icône collée en haut à gauche. Le sélecteur porte désormais l'enfant direct (0,3,1). */
.other-tool-picker .button>span.ot-pastille,.other-tool-picker .ot-pastille{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--ot-fond,var(--da-outil-neutre-fond));color:var(--ot-encre,var(--da-outil-neutre-encre))}
.other-tool-picker .ot-pastille .ic{width:20px;height:20px}
.other-tool-picker [data-rebound=handoff]{--ot-fond:var(--da-outil-handoff-fond);--ot-encre:var(--da-outil-handoff-encre)}
.other-tool-picker [data-rebound=merge]{--ot-fond:var(--da-outil-merge-fond);--ot-encre:var(--da-outil-merge-encre)}
.other-tool-picker [data-rebound=summarize]{--ot-fond:var(--da-outil-summarize-fond);--ot-encre:var(--da-outil-summarize-encre)}
.other-tool-picker [data-rebound=memo]{--ot-fond:var(--da-outil-memo-fond);--ot-encre:var(--da-outil-memo-encre)}
.other-tool-picker [data-rebound=export]{--ot-fond:var(--da-outil-export-fond);--ot-encre:var(--da-outil-export-encre)}
.other-tool-picker [data-rebound=aiprofile]{--ot-fond:var(--da-outil-aiprofile-fond);--ot-encre:var(--da-outil-aiprofile-encre)}
/* ═══ MENUS-AJUSTER-OUTILS-1311:FIN ═══ */
/* ═══ AVIS-EPINGLE-HISTORIQUE-1311 (PRODUIT, 13/11/2026 ; retours de Kevin ⑦ ⑨ ⑩, LEAD 11:06 et 11:13 UTC) ═══
   Jetons de la page seulement (aucune couleur écrite) ; aucun bleu plein ajouté (le seul bleu de la vue reste son bouton) ; aucun texte sous 13 px. */
/* ⑦ « Donner votre avis » : la note rapide, deux pouces (bascules exclusives), au-dessus du message */
.support-feedback .feedback-rating{min-width:0;margin:18px 0 0;padding:0;border:0}
.support-feedback .feedback-rating>legend{float:left;width:100%;margin:0 0 9px;padding:0;font-size:13px;font-weight:700;color:var(--ink)}
.support-feedback .feedback-thumbs{clear:both;display:flex;gap:10px}
.support-feedback .feedback-thumb{display:inline-grid;place-items:center;width:48px;height:48px;min-height:48px;margin:0;padding:0;border:1px solid var(--v4-line-strong);border-radius:12px;background:var(--paper);color:var(--muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.support-feedback .feedback-thumb .ic{width:22px;height:22px}
.support-feedback .feedback-thumb:hover{background:var(--v4-tint);color:var(--blue)}
.support-feedback .feedback-thumb:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.support-feedback .feedback-thumb[aria-pressed=true]{border-color:var(--blue);background:var(--v4-tint);color:var(--blue)}
.support-feedback .feedback-thumb[aria-pressed=true] .ic{fill:currentColor;fill-opacity:.2}
:where(html[data-theme=dark]) .support-feedback .feedback-rating>legend{color:var(--ink)}
:where(html[data-theme=dark]) .support-feedback .feedback-thumb{border-color:var(--d-edge);background:var(--d-surface);color:var(--muted)}
:where(html[data-theme=dark]) .support-feedback .feedback-thumb:hover{background:var(--d-soft);color:var(--d-accent)}
:where(html[data-theme=dark]) .support-feedback .feedback-thumb:focus-visible{outline-color:var(--d-accent)}
:where(html[data-theme=dark]) .support-feedback .feedback-thumb[aria-pressed=true]{border-color:var(--d-accent);background:var(--d-soft);color:var(--d-accent)}
.support-feedback .feedback-rating+label{margin-top:20px}
@media(prefers-reduced-motion:reduce){.support-feedback .feedback-thumb{transition:none}}
/* ⑨ l'épingle de la barre du résultat : la forme de « Agrandir » (42 × 42, contour calme), pleine quand la tâche est épinglée */
#main .result-v2 .document-actions .result-pin-task{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;min-height:42px;padding:0;border:1px solid var(--dr-calme-bord);border-radius:8px;background-color:var(--dr-calme-fond);color:var(--dr-calme-encre);box-shadow:none;transition:background-color .15s ease,color .15s ease}
#main .result-v2 .document-actions .result-pin-task .ic{width:20px;height:20px}
#main .result-v2 .document-actions .result-pin-task:hover{background-color:var(--dr-calme-survol);color:var(--dr-calme-survol-encre)}
#main .result-v2 .document-actions .result-pin-task:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
#main .result-v2 .document-actions .result-pin-task[aria-pressed=true]{color:var(--blue)}
:where(html[data-theme=dark]) #main .result-v2 .document-actions .result-pin-task[aria-pressed=true]{color:var(--d-accent)}
:where(html[data-theme=dark]) #main .result-v2 .document-actions .result-pin-task:focus-visible{outline-color:var(--d-accent)}
.result-pin-task[aria-pressed=true] .ic{fill:currentColor}
.mobile-result-header .mobile-pin-task[aria-pressed=true]{color:var(--blue)}
:where(html[data-theme=dark]) .mobile-result-header .mobile-pin-task[aria-pressed=true]{color:var(--d-accent)}
@media(prefers-reduced-motion:reduce){#main .result-v2 .document-actions .result-pin-task{transition:none}}
/* ⑨ le dernier cran de fitResultToolbar (data-serre) : quand six boutons en icône ne tiennent pas sur une rangée (601 px), 38 × 38 et écart 5 */
@media(min-width:601px){html body #main .result-v2 .document-toolbar[data-serre] .document-actions{gap:5px;column-gap:5px}
html body #main .result-v2 .document-toolbar[data-compact=toutes][data-serre] .document-actions :is(.button,.result-pin-task,.result-reading):is(.button,.icon){width:38px;min-width:38px;height:38px;min-height:38px;padding:0}}
/* ⑩ Historique : la barre des filtres (recherche, Outil, Trier, Date, Épinglées ; « Période » sur sa ligne) */
.history-v2 .history-controls{flex-wrap:wrap;align-items:flex-end;row-gap:12px}
.history-v2 .history-controls .history-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.history-v2 .history-controls .history-field-lab{font-size:13px;font-weight:600;color:var(--muted)}
.history-v2 .history-controls .history-field .menu-v4{display:flex;min-width:150px}
.history-v2 .history-controls .history-pinned{align-self:flex-end;min-height:40px;flex-direction:row;align-items:center;gap:8px}
.history-v2 .history-controls .history-pinned span{font-size:13px;font-weight:600}
.history-v2 .history-range{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:12px 16px}
.history-v2 .history-range[hidden]{display:none}
.history-v2 .history-range label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.history-v2 .history-range input[type=date]{min-height:40px;padding:0 10px;border:1px solid var(--v4-line-strong);border-radius:10px;background:var(--paper);color:var(--ink);font:400 14px DM,"DM Sans",system-ui,sans-serif;color-scheme:light}
.history-v2 .history-range input[type=date]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
:where(html[data-theme=dark]) .history-v2 .history-range input[type=date]{border-color:var(--d-edge);background:var(--d-surface);color:var(--ink);color-scheme:dark}
:where(html[data-theme=dark]) .history-v2 .history-range input[type=date]:focus-visible{outline-color:var(--d-accent)}
/* ⑩ les lignes compactes : le titre, l'outil et la source sur une ligne, l'icône à 32, les boutons à 36 */
.history-v2 .history-task-list .history-row{min-height:0;padding:8px 0;gap:12px}
.history-v2 .history-row .task-icon{width:32px;height:32px}
.history-v2 .history-row .task-icon .ic{width:18px;height:18px}
.history-v2 .history-row .task-name{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:2px}
.history-v2 .history-row .task-name small{margin-top:0}
.history-v2 .task-row-wrap.is-history :is(.task-pin,.history-trash){width:36px;min-height:36px;height:36px;padding:7px}
.history-v2 .task-row-wrap.is-history .task-rename{min-height:36px;padding-block:6px}
@media(max-width:600px){
 .history-v2 .history-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .history-v2 .history-controls .history-field .menu-v4{min-width:0;width:100%}
 .history-v2 .history-controls .history-pinned{align-self:end}
 .history-v2 .history-range{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .history-v2 .history-range label{flex-direction:column;align-items:stretch;gap:6px}
 .history-v2 .history-range input[type=date]{width:100%;min-width:0}
 .history-v2 .history-task-list .history-row{grid-template-columns:40px minmax(0,max-content) minmax(0,1fr);grid-template-areas:"i l l" "i s t";padding:8px 0;gap:3px 0}
 .history-v2 .history-row .task-icon{grid-area:i;width:30px;height:30px;margin-right:10px;align-self:center}
 /* NON de QUALITÉ 2 (15:49 UTC, D3) NOTE D'INCIDENT : la ligne d'un exemple (Historique d'un compte vide) porte la pastille « Exemple » à la place
    de l'icône ; sans aire, elle tombait dans la colonne de 40 px, débordait et touchait le titre. Elle prend l'aire de l'icône, à sa largeur. */
 .history-v2 .history-task-list .history-row:has(>.example-badge){grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr)}
 .history-v2 .history-row>.example-badge{grid-area:i;align-self:center;justify-self:start;margin-right:10px}
 .history-v2 .history-row .task-name{display:contents}
 .history-v2 .history-row .task-line{grid-area:l}
 .history-v2 .history-row .task-name small{grid-area:s;margin-top:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .history-v2 .history-row time{grid-area:t;margin:0;white-space:nowrap}
 .history-v2 .history-row .task-name:has(small)+time::before{content:"·";margin:0 5px}
 .history-v2 .task-row-wrap.is-history{gap:0}
 .history-v2 .task-row-wrap.is-history :is(.task-pin,.history-trash,.task-rename){width:36px;min-width:36px;min-height:36px;height:36px;padding:7px}
}
/* ═══ AVIS-EPINGLE-HISTORIQUE-1311:FIN ═══ */
/* QUALITÉ 2, 13/11/2026 (§7, défaut d'affichage seul ; BANC 20:2x UTC, LEAD 20:18 UTC) — barre repliée à 1440 : « Nouvelle tâche » (.side-new, 44 px)
   laissait déborder son texte : la règle socle html body :is(#v4-socle,.button.primary,…){font-size:15px} (spécificité d'un id) battait
   body.rail .side-new{font-size:0}. Le texte reste dans le DOM (title et aria-label posés par workspace.js) ; seul « + » se voit. */
html body.rail #sidebar .side-new{font-size:0}
