@layer tokens,base,layout,components,responsive;
@layer components {
 .space-list{display:grid;gap:34px}.space-section{border-top:1px solid var(--line);padding-top:24px}
 .space-section>.row{margin-bottom:18px}.space-section h2{margin-bottom:6px}.space-section>.row p{margin:0}
 .space-empty{color:var(--muted);padding:18px 0;margin:0}.project-space{overflow-wrap:anywhere;margin:0 0 10px}
 .project-card h3{font-size:1.3571rem;margin-top:12px;overflow-wrap:anywhere}.project-card .actions{margin-top:auto;gap:8px;padding-top:14px}
 .project-card .actions button{margin-top:0}.home-intro.row{max-width:none}.home-intro>.actions{margin-top:0}
 .analysis-status{max-width:1240px;margin:20px auto 0;padding:18px 22px;background:var(--raised);border:1px solid var(--line);border-radius:10px}
 .analysis-status p{margin:8px 0;max-width:75ch}.analysis-error strong{color:var(--danger)}.access-notice{padding:12px;background:var(--raised);border-radius:8px}
 .form-error{margin:0 0 14px}.projectbar .project-space{margin:8px 0 0}
 @media(max-width:720px){.analysis-status{margin:16px 18px 0}.space-section .actions{margin-top:8px}.space-list{gap:28px}}
}
@layer tokens{
 :root{color-scheme:dark;--bg:#101318;--panel:#181d24;--raised:#202731;--field:#121820;--line:#343e4b;--text:#edf1f6;--muted:#a9b5c4;--accent:#a7ccff;--blue:#275b99;--amber:#f1ce85;--green:#97d6b9;--danger:#ffb4b4;--shadow:0 18px 60px #0005;font:87.5%/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
 :root[data-theme=light]{color-scheme:light;--bg:#f4f6f9;--panel:#fff;--raised:#eaf0f7;--field:#f8fafc;--line:#c5cfdb;--text:#202b3a;--muted:#526379;--accent:#195694;--blue:#245b9b;--amber:#7e540c;--green:#1c6448;--danger:#9f2929;--shadow:0 18px 60px #233a5520}
}
@layer base{
 *{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.52}button,a{border-radius:8px}button{background:transparent;border:1px solid var(--line);color:var(--text);padding:9px 14px;min-height:44px}button:hover:not(:disabled){background:var(--raised);border-color:var(--muted)}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{line-height:1.25;text-wrap:balance;margin:0 0 .65em;letter-spacing:-.025em}h1{font-size:clamp(1.5rem,2.2vw,2rem)}h2{font-size:1.3571rem}h3{font-size:1.0714rem}p{margin:.5em 0 1em}small,.small{font-size:0.9286rem;line-height:1.5}label{display:block;font-weight:600;margin:12px 0 6px}input,textarea,select{background:var(--field);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:8px;width:100%}textarea{resize:vertical;min-height:120px}input[type=checkbox]{width:auto;margin-right:8px;accent-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::placeholder{color:var(--muted);opacity:.9}details>summary{cursor:pointer;padding:10px 0;color:var(--accent)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.muted{color:var(--muted)}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover:not(:disabled){background:#326cab}.subtle{border-color:transparent;color:var(--muted)}.danger{color:var(--danger)}.eyebrow{font-size:0.8571rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tag{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:5px;font-size:0.8571rem;font-weight:600;color:var(--muted)}.tag.amber{color:var(--amber)}.tag.green{color:var(--green)}.skip{position:absolute;left:12px;top:-100px;z-index:99;background:var(--panel);padding:12px}.skip:focus{top:12px}.loading{padding:5vw}.empty{color:var(--muted);padding:16px 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.stack{display:grid;gap:14px}.check{display:flex;align-items:center;font-weight:400}.error{color:var(--danger)}
}
@layer layout{
 .topbar{min-height:72px;display:flex;gap:20px;align-items:center;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;gap:12px;align-items:center;font-weight:650;white-space:nowrap}.brandmark{width:30px;height:30px;display:grid;place-items:center;background:var(--raised);color:var(--accent);border:1px solid var(--line);border-radius:8px}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.projectbar{padding:24px 28px 0;display:flex;gap:24px;justify-content:space-between;align-items:end}.steps{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:18px 28px 0;margin-bottom:0;background:var(--bg)}.steps button{border:0;border-radius:0;border-bottom:3px solid transparent;padding:12px 22px;color:var(--muted)}.steps button[aria-current=step]{color:var(--text);border-color:var(--accent);background:var(--raised)}.stepnum{color:var(--muted);margin-right:8px;font-size:0.9286rem}.workspace{display:grid;grid-template-columns:240px minmax(360px,1fr) minmax(290px,360px);min-height:calc(100vh - 230px);max-width:1600px;margin:0 auto}.sidebar{border-right:1px solid var(--line);padding:26px 18px}.sidebar .section-btn{border:0;border-left:3px solid transparent;border-radius:0 7px 7px 0;width:100%;text-align:left;margin:2px 0;padding:12px}.sidebar .section-btn.active{background:var(--raised);border-left-color:var(--accent)}.sidebar .section-btn small{display:block;margin-top:3px;color:var(--muted)}.center{padding:30px clamp(20px,3vw,44px);min-width:0}.context{border-left:1px solid var(--line);padding:28px 22px;background:var(--panel);min-width:0}.home{max-width:1080px;margin:0 auto;padding:50px 28px}.home-intro{max-width:700px;margin-bottom:36px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.auth{max-width:520px;margin:48px auto;padding:0 24px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.sheet{max-width:900px;margin:auto;padding:34px 28px}.document-layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1300px;margin:auto}.docnav{border-right:1px solid var(--line);padding:28px 18px}.docnav button{display:block;text-align:left;width:100%;margin:4px 0;border:0}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,480px);gap:28px;max-width:1280px;padding:32px 28px;margin:auto}
}
@layer components{
 .card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.project-card{display:flex;flex-direction:column;align-items:start;min-height:190px}.project-card button{margin-top:auto}.question{margin:20px 0 26px;padding-left:18px;border-left:3px solid var(--accent)}.question h2{font-size:clamp(1.2857rem,1.8vw,1.6429rem);max-width:700px}.question p{color:var(--muted);margin-bottom:0}.answer-form textarea{min-height:160px}.conversation{margin:24px 0}.message{padding:14px 0;border-bottom:1px solid var(--line)}.message .speaker{font-size:0.8571rem;font-weight:650;color:var(--muted)}.message.assistant{padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:12px 0}.summary-text{white-space:pre-wrap;font-size:1rem;line-height:1.65}.context .block{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.choice{border-left:2px solid var(--amber);padding:4px 0 4px 12px;margin:15px 0}.choice.confirmed{border-color:var(--green)}.choice .actions button{padding:6px 10px;font-size:0.9286rem;min-height:38px}.point{color:var(--amber);font-size:1rem;margin:14px 0}.banner{padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:8px;margin:20px 0;background:var(--panel)}.banner p:last-child{margin-bottom:0}.spec-function{margin:28px 0 36px;scroll-margin-top:18px}.spec-function.child{margin-left:24px;padding-left:20px;border-left:1px solid var(--line)}.requirement{padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:16px 0;scroll-margin-top:18px}.spec-id{font-size:0.8571rem;font-weight:600;color:var(--muted);display:block;margin-bottom:7px}.criterion{margin:9px 0;padding-left:14px;border-left:2px solid var(--line);font-size:1rem}.sources{font-size:0.8571rem;color:var(--muted);overflow-wrap:anywhere}.remark-list{display:grid;gap:12px;margin:20px 0}.remark-item{width:100%;text-align:left;background:var(--panel)}.remark-item.active{border-color:var(--accent)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare>div{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.compare .pre{font-size:1rem}.change{padding:18px 0;border-bottom:1px solid var(--line)}.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(640px,90vw);padding:14px 20px;border:1px solid var(--line);background:var(--raised);border-radius:10px;box-shadow:var(--shadow);display:none;z-index:100}.notice.visible{display:block}.notice[data-error=true]{border-color:var(--danger)}dialog{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:14px;box-shadow:var(--shadow);width:min(760px,94vw);max-height:90vh;padding:28px}dialog::backdrop{background:#06090fbb}.dialog-head{display:flex;gap:20px;justify-content:space-between;align-items:start;margin-bottom:18px}.dialog-head button{padding:6px 12px}.editor-item{padding:16px;border:1px solid var(--line);border-radius:10px;margin:16px 0}.editor-item textarea{min-height:80px}.busy{color:var(--accent);display:flex;gap:10px;align-items:center}.busy:before{content:'';width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.busy:before{animation:none}}.coverage{display:grid;gap:10px}.coverage p{margin:0}.origin-button{font-size:0.8571rem;min-height:28px;padding:2px 6px;border:0;color:var(--accent)}
}
@layer responsive{
 .answer-form .actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0;border-top:1px solid var(--line);z-index:1}
 @media(min-width:1550px){.workspace{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
 @media(max-width:1100px){.workspace{grid-template-columns:210px minmax(0,1fr)}.context{grid-column:2;border-top:1px solid var(--line);border-left:0}.sidebar{grid-row:1/3}.projectbar{align-items:start}.review-layout{gap:20px}.topbar{padding:12px 20px}.projectbar,.steps{padding-left:20px;padding-right:20px}}
 @media(max-width:720px){.topbar{gap:8px;padding:12px 14px;flex-wrap:wrap}.brand{font-size:1rem}.top-actions{gap:2px}.top-actions .account-name{display:none}.top-actions button{font-size:0.9286rem;padding:8px}.projectbar{padding:22px 18px 0;display:block}.projectbar .project-status{margin-top:10px}.steps{padding:14px 8px 0;justify-content:space-between}.steps button{font-size:1rem;padding:12px 9px}.stepnum{margin-right:5px}.workspace{display:flex;flex-direction:column}.sidebar{padding:14px 18px;border:0;border-bottom:1px solid var(--line)}.sidebar .section-links{display:flex;overflow-x:auto;gap:6px;padding:4px 0}.sidebar .section-btn{min-width:172px;width:172px;border-left:0;border-bottom:2px solid transparent;font-size:1rem;padding:9px}.sidebar .section-btn.active{border-bottom-color:var(--accent)}.sidebar .sidebar-foot{display:none}.center{padding:24px 20px}.context{border-left:0;border-top:1px solid var(--line);padding:24px 20px}.document-layout{display:block}.docnav{border:0;border-bottom:1px solid var(--line);padding:16px}.docnav details summary{padding:0}.sheet{padding:26px 20px}.review-layout{display:flex;flex-direction:column;padding:24px 20px}.compare{grid-template-columns:1fr}.spec-function.child{margin-left:10px;padding-left:12px}.home{padding:32px 20px}.login-grid{grid-template-columns:1fr}.row{align-items:start;flex-wrap:wrap}dialog{padding:20px}.question{padding-left:14px}.question h2{font-size:1.4286rem}}
}
@layer components {
 .sidebar-title{font-size:1rem;margin-bottom:14px}
 .sidebar-tools{display:grid;gap:7px;margin-bottom:18px}
 .sidebar-tools button{text-align:left;font-size:1rem}
 .sidebar-secondary{margin-top:12px}.sidebar-secondary button{font-size:0.9286rem}
 .topic-heading h2{margin:0}.topic-heading button{font-size:0.9286rem}
 .topic-checks{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:20px 0}
 .topic-checks legend{font-weight:600;padding:0 6px}.topic-checks .check{font-size:1rem}
 .source-item{padding:16px 0;border-bottom:1px solid var(--line)}
 .source-item strong{font-size:1rem;overflow-wrap:anywhere}.source-item p{margin:5px 0}
 .source-item .actions{margin-top:10px}.source-item button{font-size:0.9286rem}
 .source-reader{position:sticky;top:16px;align-self:start;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;gap:12px}
 .reader-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
 .reader-head h2{font-size:1.1429rem;margin:0}.reader-head button{font-size:0.9286rem}
 .reader-title h3{margin:0 0 8px}.source-reader>p{margin:0}
 .reader-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
 .reader-pagination>div{display:flex;gap:6px}.reader-pagination button{font-size:0.9286rem;padding:7px 10px}
 .reader-scroll{overflow-y:auto;min-height:120px;max-height:57dvh;padding:4px 12px 10px 0;scrollbar-gutter:stable}
 .reader-text{font-size:1rem;line-height:1.7;margin-top:12px;max-width:72ch}
 .reader-details{overflow:auto;flex-shrink:0;max-height:38dvh}
 .reader-details[open]{border-top:1px solid var(--line);padding-top:6px}
 .answer-destination{overflow-wrap:anywhere}
 .workspace.reading{grid-template-columns:220px minmax(330px,1fr) minmax(370px,.95fr)}
 .workspace.reading .answer-form{scroll-margin-bottom:20px}
}
@layer responsive {
 @media(max-width:1100px){
  .workspace.reading{display:flex;flex-direction:column;max-width:900px}
  .workspace.reading>.sidebar{display:none}
  .workspace.reading>.center{display:contents}
  .workspace.reading .center>.row,.workspace.reading .center>.topic-heading,.workspace.reading .center>.conversation,.workspace.reading .center>.small{display:none}
  .workspace.reading .question{order:1;margin:20px 20px 14px}
  .workspace.reading .question h2{font-size:1.2143rem}
  .workspace.reading .question p{font-size:0.9286rem}
  .workspace.reading .source-reader{order:2;position:static;width:100%;max-height:none;padding:18px 20px;border-top:1px solid var(--line)}
  .workspace.reading .reader-scroll{max-height:42dvh}
  .workspace.reading .answer-form{order:3;position:sticky;bottom:0;padding:12px 20px;background:var(--bg);border-top:1px solid var(--line);z-index:2;max-height:44dvh;overflow-y:auto}
  .workspace.reading .answer-form textarea{min-height:84px;max-height:140px}
  .workspace.reading .answer-form .actions{position:static;padding:0;margin-top:10px;border:0}
  .workspace.reading .answer-form>p:not(.answer-destination){display:none}
  .workspace.reading .answer-destination{margin:0 0 6px;font-size:0.8571rem}
  .workspace.reading .answer-form label{font-size:0.9286rem;margin:5px 0}
  .workspace.reading .reader-details{max-height:32dvh}
 }
 @media(max-width:720px){.sidebar-tools{display:flex;flex-wrap:wrap;margin:8px 0}.sidebar-secondary{margin-top:8px}.reader-head button{padding:6px 10px}.workspace.reading .answer-form .actions button{font-size:0.9286rem;padding:7px 10px}}
}

@layer components {
 .workspace.reading .center{padding:20px 24px}
 .workspace.reading .question{margin:14px 0 18px}
 .workspace.reading .question h2{font-size:1.2857rem}
 .workspace.reading .question p{font-size:0.9286rem}
 .workspace.reading .center>p.small{display:none}
 .workspace.reading .answer-form>p:not(.answer-destination){display:none}
 .workspace.reading .answer-form [data-action=method],.workspace.reading .answer-form [data-action=source]{display:none}
 .workspace.reading .answer-form textarea{min-height:130px}
}
@layer responsive {
 .workspace.reading .answer-form .actions{position:static;padding:0;margin-top:12px;border:0}
 @media(max-width:1100px){
  .workspace.reading .source-reader{max-height:66dvh;min-height:0}
  .workspace.reading .reader-scroll{flex:1;min-height:80px;max-height:42dvh}
  .workspace.reading .answer-form{max-height:34dvh}
  .workspace.reading .answer-form textarea{min-height:84px}
  .workspace.reading .question{margin:20px}
 }
}


@layer layout {
 .steps{position:sticky;top:0;z-index:4}
 .document-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;overflow-anchor:none}
 .docnav{position:sticky;top:calc(var(--step-bar-height,60px) + 12px);align-self:start;padding:20px 14px;max-height:calc(100dvh - var(--step-bar-height,60px) - 24px);display:flex;flex-direction:column;min-width:0}
 .spec-nav-heading{flex-shrink:0;padding:0 4px 12px}
 .spec-nav-heading h2{font-size:1.1429rem;margin:0 0 6px}
 .spec-nav-heading p{margin:0 0 10px}
 .docnav .spec-nav-heading button{border:1px solid var(--line);font-size:0.9286rem;margin:0}
 #spec-nav-panel:not([hidden]){display:flex;flex-direction:column;min-height:0}
 #spec-nav-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:80px;max-height:60dvh;padding:4px 6px 4px 0}
 .spec-nav-tools{display:flex;gap:6px;padding:0 4px 10px;flex-shrink:0}
 .docnav .spec-nav-tools button{width:auto;flex:1;border:1px solid var(--line);margin:0;padding:7px 6px;font-size:0.9286rem}
 .spec-nav-footer{border-top:1px solid var(--line);padding-top:8px;margin-top:10px;flex-shrink:0}
 .docnav .spec-nav-footer button{font-size:0.9286rem;padding:8px}
}
@layer components {
 .spec-tree,.spec-tree ul{list-style:none;margin:0;padding:0}
 .spec-tree ul{margin-left:12px;padding-left:10px;border-left:1px solid var(--line)}
 .spec-nav-row{display:flex;align-items:start;border-radius:6px;margin:2px 0;min-width:0}
 .spec-nav-row.selected{background:var(--raised)}
 .docnav .spec-toggle{display:grid;place-items:center;flex:0 0 30px;width:30px;padding:6px 4px;margin:0;min-height:44px;border:0}
 .spec-toggle-spacer{flex:0 0 30px;width:30px}
 .spec-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
 .docnav .spec-link{display:flex;gap:8px;align-items:baseline;flex:1;min-width:0;width:auto;text-align:left;padding:10px 6px;margin:0;border:0;line-height:1.4;font-size:1rem;overflow-wrap:anywhere}
 .docnav .spec-link[aria-current=location]{color:var(--accent);font-weight:650}
 .spec-nav-number,.function-number{font-variant-numeric:tabular-nums;font-weight:650;color:var(--accent);flex-shrink:0}
 .spec-nav-label{display:block;min-width:0}
 .spec-nav-label>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .spec-nav-id{display:block;color:var(--muted);font-size:0.8571rem;font-weight:600;margin-bottom:3px}
 .docnav .spec-overview-link{display:block;width:100%;padding:10px 8px;margin:0 0 6px}
 .spec-overview,.spec-function,.requirement,.criterion,#coverage{scroll-margin-top:calc(var(--step-bar-height,60px) + 18px)}
 .function-number{white-space:nowrap}
 .source-reader{scroll-margin-top:calc(var(--step-bar-height,60px) + 12px)}
}
@layer responsive {
 @media(max-width:900px) and (min-width:721px){.document-layout{grid-template-columns:270px minmax(0,1fr)}.sheet{padding-left:22px;padding-right:22px}}
 @media(max-width:720px){
  .document-layout{display:block}
  .docnav{position:static;max-height:none;padding:16px 18px;border-right:0;border-bottom:1px solid var(--line)}
  .spec-nav-heading{padding-bottom:0}.spec-nav-heading h2{font-size:1.0714rem}
  #spec-nav-panel:not([hidden]){padding-top:14px}
  #spec-nav-scroll{max-height:42dvh}
  .docnav .spec-nav-tools button{font-size:0.9286rem}
 }
}

/* Preparation belongs to framing, with an explicit review before application. */
.preparation-sheet{max-width:960px;min-width:0;margin-inline:auto}
.preparation-sheet h1{font-size:1.9rem}
.preparation-sheet fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:1.25rem}
.preparation-source,.preparation-topic{padding:1.4rem 0;border-bottom:1px solid var(--line)}
.preparation-topic:last-of-type{margin-bottom:1.5rem}
.preparation-sheet .sources{overflow-wrap:anywhere}
.preparation-sheet .pre{overflow-wrap:anywhere}
.preparation-sheet details{margin-block:.8rem}
.preparation-sheet .row{flex-wrap:wrap}
@media(max-width:720px){.preparation-sheet h1{font-size:1.5rem}.preparation-sheet fieldset{padding:.8rem}.preparation-sheet .actions>button{max-width:100%}}

@layer components{[data-action=delete-project]{color:var(--danger)}}

.empty-framing .center { min-height: 320px; }
.memory-reading{min-width:0;overflow-wrap:anywhere}
.memory-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}
.memory-heading h1{font-size:1.5rem;margin:0}
.memory-heading button,.memory-run button,.memory-next button{white-space:normal;max-width:100%}
.memory-reading>p,.memory-reading>.memory-section,.memory-reading>details{max-width:75ch}
.memory-state{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}
.memory-reading .memory-freshness{color:var(--text);border-block:1px solid var(--line);padding:.7rem 0}
.memory-run{margin-block:.8rem 1.25rem}
.memory-section{margin-top:1.6rem}
.memory-section h2{font-size:1.1429rem;margin:0 0 .55rem}
.memory-section h3{font-size:1rem;margin:1rem 0 .5rem}
.memory-elements,.memory-subjects{list-style:none;margin:0;padding:0}
.memory-elements>li,.memory-subjects>li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.memory-elements p,.memory-subjects p{margin:.45rem 0}
.memory-subjects .row{flex-wrap:wrap;gap:.5rem}
.memory-topic-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}
.memory-topic-links button{font-size:.9286rem;padding:.3rem .5rem;white-space:normal;text-align:left}
.memory-reading .sources{overflow-wrap:anywhere}
.memory-reading .origin-button{white-space:normal;text-align:left}
.memory-reading>details{margin-top:1.2rem}
.memory-history li{margin:.4rem 0}
.sidebar [data-action=memory-open][aria-current=page]{color:var(--accent);background:var(--raised);border-color:var(--accent)}
@media(max-width:799px){.memory-heading h1{font-size:1.4286rem}.memory-heading{align-items:start}.memory-reading{padding-inline:1rem}.memory-topic-links button{min-height:44px}.memory-section{margin-top:1.3rem}}
.message [data-action="withdraw-message"] { color: var(--muted); font-size: .9286rem; }

/* CR-091 : la prochaine étape reste dans le fil, sans nouveau panneau. */
.report-action{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.report-action p{margin:.5rem 0}.report-action .actions{flex-wrap:wrap}.report-action button{max-width:100%;white-space:normal}.conversation-ready{margin-top:.75rem}

/* CR-094 : réglages compacts et reçus lisibles sans tableau débordant. */
.budget-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:.75rem 0}.budget-metrics dt{font-size:.9286rem;color:var(--muted)}.budget-metrics dd{margin:.2rem 0;font-variant-numeric:tabular-nums}.budget-entry{border-top:1px solid var(--line);padding:.75rem 0}.budget-entry summary{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.budget-entry summary span{min-width:0}.budget-entry summary strong{white-space:nowrap}.budget-dialog form.actions{align-items:end;flex-wrap:wrap}.budget-dialog input{max-width:100%}.budget-dialog .budget-risk[hidden]{display:none}.budget-dialog .actions button{white-space:normal;max-width:100%}@media(max-width:480px){.budget-entry summary{display:block}.budget-entry summary strong{display:block;margin-top:.25rem}.budget-metrics{gap:.65rem}.budget-dialog form.actions label{width:100%}}

/* CR-098 : blocs de lecture dans les panneaux existants. */
.handoff-reading .handoff-check{padding-block:1rem;border-top:1px solid var(--line);max-width:75ch}.handoff-reading .row{flex-wrap:wrap;gap:.5rem}.handoff-reading section{margin-block:1.2rem}.point-followup{margin-block:.8rem;padding:.7rem;background:var(--panel);border:1px solid var(--line);border-radius:6px}.point-followup .actions{flex-wrap:wrap}.handoff-reading a{overflow-wrap:anywhere}

/* CR117 : consolidation et préparation dans les panneaux existants. */
.spec-preparation{max-width:1100px;margin-inline:auto;width:100%;box-sizing:border-box}
.preparation-generation,.preparation-subject{padding:16px 0;border-bottom:1px solid var(--border,#384654)}
.preparation-subject .point{padding:12px;border:1px solid var(--border,#384654);border-radius:8px;margin-block:12px}
.preparation-return{margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border,#384654)}
.point-focus{padding:10px;border-left:3px solid var(--accent,#aacbff);overflow-wrap:anywhere}
.library-label{display:block;margin-top:12px}.spec-preparation h1{font-size:1.6rem}
.spec-preparation .actions,.preparation-return .actions{flex-wrap:wrap}
.document-framing-status{flex-basis:100%;margin-block:6px}
@media(max-width:799px){.spec-preparation .row{flex-wrap:wrap}.spec-preparation{min-width:0}.spec-preparation .actions button{white-space:normal;max-width:100%}}
.discussion-reception{min-height:2.75rem;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:.5rem 0;position:sticky;top:0;z-index:2;background:var(--panel)}
.discussion-reception [hidden]{display:none}
