/* Spec Lab: one working document. Decisions first; engineering detail on demand. */
:root {
  --paper:#fff; --white:#fff; --ink:#1c2533; --muted:#5b6575;
  --line:#e1e5eb; --soft:#f6f7f9; --green:#2457cf; --pale:#eef3ff;
  --amber:#875319; --red:#b22d3c; --radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}
a{color:#244fb5;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.table-wrap:focus-visible{outline:3px solid #6991ee;outline-offset:3px}
[hidden]{display:none!important}input,textarea{max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:650;line-height:1.25;letter-spacing:-.025em}h1{font-size:36px;letter-spacing:-.04em}h2{font-size:27px}h3{font-size:21px}h4{font-size:15px}h5{font-size:13px;margin:16px 0 6px}
p{margin:8px 0 12px}ul,ol{padding-left:22px}li{margin:4px 0}code{font: .9em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--soft);padding:14px;border:1px solid var(--line);border-radius:6px}
.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}
.skip{position:absolute;top:-100px;left:20px}.skip:focus{top:8px;background:white;z-index:20;padding:10px 16px}
.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 9px}.small,.privacy{font-size:12px;line-height:1.55;color:var(--muted)}
.lab-header{height:64px;padding:0 40px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);background:white}
.wordmark{font-size:24px;font-weight:750;letter-spacing:-1.3px;text-decoration:none;color:var(--ink);line-height:1}.wordmark span{color:var(--green)}
.lab-name{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;border-left:1px solid var(--line);padding-left:22px}.preview{font-size:10px;font-weight:500;color:var(--muted);background:var(--soft);padding:2px 7px;border-radius:4px}
.lab-header>a:last-child{margin-left:auto;font-size:12px;text-decoration:none;color:var(--muted)}.lab-header>a:last-child:hover{text-decoration:underline}
.lab-shell{max-width:1248px;padding:0 40px;margin:auto}.lab-shell,.stage,.source-grid>*,.review-grid>*,.result,.plan-section,.plan-detail,.plan-requirement,.assignment-card,.report-layout,.report-content{min-width:0}
.intro{padding:40px 0 30px;max-width:780px}.intro>p:last-child{max-width:630px;margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.65}
body[data-active-step]:not([data-active-step=source]) .intro{display:none}body[data-active-step]:not([data-active-step=source]) .workspace-bar{margin-top:22px}
.workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}
.steps{display:flex;gap:22px;align-self:stretch}.steps button{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;padding:13px 0;background:transparent;font-size:13px;font-weight:550;color:var(--muted);white-space:nowrap}.steps button span{display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--line);border-radius:50%;font-size:11px;line-height:1}.steps button[aria-current=step]{color:var(--ink);font-weight:650;border-bottom-color:var(--ink)}.steps button[aria-current=step] span{background:var(--ink);color:white;border-color:var(--ink)}.steps button:disabled{opacity:.55}
.session-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}.session-toolbar .secondary{min-height:32px;padding:4px 0;border:0;color:var(--muted);background:transparent;font-size:12px;font-weight:500}.session-toolbar .secondary:hover{color:var(--ink);background:transparent;text-decoration:underline}.reset-short{display:none}
#status{font-size:12px;color:var(--muted);margin:0;max-width:290px;line-height:1.4}#status:empty{display:none}
.stage{padding:24px 0 36px}.source-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:48px;align-items:start}
.section-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-top h2{font-size:19px}.file-button{position:relative;overflow:hidden;font-size:12px;white-space:nowrap;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.file-button input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.file-button:focus-within{outline:3px solid #6991ee;outline-offset:3px}
textarea{resize:vertical;width:100%;border:1px solid #bac4d2;background:white;padding:16px;line-height:1.65;border-radius:var(--radius)}textarea::placeholder{color:#747e8d;opacity:1}#spec{display:block;min-height:300px;font-size:14px;box-shadow:0 1px 2px #17202c03}
.editor-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:7px 0 18px}#char-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.primary,.secondary{border:1px solid var(--ink);border-radius:6px;padding:8px 13px;font-size:12px;font-weight:600;background:var(--ink);color:white;text-decoration:none;display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:38px;line-height:1.4;text-align:center}.primary:hover:not(:disabled){background:#344157;border-color:#344157}.secondary{background:white;color:var(--ink);border-color:#d4dae3}.secondary:hover:not(:disabled){background:var(--soft);border-color:#acb7c5}.source-actions{margin:4px 0 17px}.source-actions .primary{padding-inline:17px}.text-button{padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:inherit;color:inherit}
.privacy-block{padding-top:13px;border-top:1px solid var(--line)}.data-retention-note{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 4px;max-width:660px}.data-retention-note strong{color:#3e4c60;font-weight:600}.privacy{margin:0 0 4px;max-width:660px}.privacy-details{margin:6px 0 0}.privacy-details summary{font-size:11px;font-weight:500;color:var(--muted)}.privacy-details p{max-width:660px;font-size:12px;color:var(--muted);margin:8px 0}.service-status{margin:10px 0 0;overflow-wrap:anywhere}
.start-aside{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:24px}.example-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.example-heading .eyebrow{margin:0}.example-marker{font-size:22px;line-height:1;color:#768398}.start-aside h2{font-size:23px;margin:17px 0 14px;line-height:1.3}.example-rule{font-size:13px;line-height:1.65;margin:0 0 16px}.example-table-wrap{border:1px solid var(--line);border-radius:6px;overflow:hidden}.example-table{font-size:12px}.example-table caption{text-align:left;font-size:11px;padding:10px 12px;color:var(--muted);background:white}.example-table th,.example-table td{padding:9px 12px}.example-table th{font-size:11px;white-space:nowrap}.example-table td:last-child{font-weight:600}.example-allowed{color:#16714d}.example-caption{font-size:11px;color:var(--muted);margin:8px 0 18px}.scope-note{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.scope-note p{margin:5px 0 0}.scope-limit{margin:14px 0 0;font-size:11px}

/* The document toolbar and the review checkpoint. */
.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.plan-heading h2{font-size:28px;letter-spacing:-.035em}.plan-heading .eyebrow{display:none}.plan-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:6px 0 0}.report-toolbar{min-width:0;text-align:right}.export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.more-exports{position:relative;margin:0}.more-exports>summary{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 11px;border:1px solid #d4dae3;border-radius:6px;font-size:12px;background:white;list-style:none;font-weight:550}.more-exports>summary::-webkit-details-marker{display:none}.more-exports>summary:after{content:'⌄';font-size:13px}.more-exports>div{position:absolute;right:0;top:44px;z-index:5;min-width:238px;padding:6px;display:grid;gap:3px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #17202c15}.more-exports>div .secondary{justify-content:flex-start;border:0;font-weight:500;font-size:12px}.report-toolbar #report-status{font-size:12px;margin:6px 0 0}#report-status:empty{display:none}
.stage-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px}.stage-heading h2{font-size:21px}.stage-heading p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:820px;margin:7px 0 0}.badge{padding:3px 8px;border:1px solid var(--line);border-radius:5px;font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}
.inline-analysis{scroll-margin-top:28px;margin:0 0 18px}.review-grid{display:block}.review-context{display:none}.inline-analysis.analysis-settled>.stage-heading,.inline-analysis.analysis-continuation>.stage-heading{display:none}
.report-overview{padding:13px 16px;border:1px solid #dbe3f0;border-radius:8px;background:#f7f9fd;font-size:13px;margin:0 0 14px}.report-overview:empty{display:none}.report-overview:has(.model-blocker-notice){border-color:#e8d9bc;background:#fffcf5}.model-blocker-notice{color:#895023;font-weight:500}.report-overview>strong{font-size:13px;font-weight:650}.report-overview p{font-size:12px;margin:5px 0}.report-overview ul{font-size:12px;margin:7px 0}.report-overview details{margin-top:6px}.report-overview summary{font-size:12px}.review-open-details{margin:8px 0}.review-open-details>summary{font-size:12px}
.question{border:1px solid #e7d8b4;border-left:3px solid #b78624;border-radius:8px;background:#fffefa;padding:20px;margin-bottom:12px}.question label{display:block;font-weight:650;font-size:16px;line-height:1.5;max-width:900px}.question textarea{min-height:72px;font-size:14px;margin-top:9px}.question .small{font-size:12px;margin:7px 0}.question-alternatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.question-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d7dee8;border-radius:6px;background:white;padding:12px;text-align:left}.question-option:hover{border-color:#879ec4;background:#f7faff}.question-option strong{font-size:13px}.question-option span{font-size:12px;color:var(--muted)}.question-alternatives>p{grid-column:1/-1;margin:0}.suggestions{display:flex;gap:7px;flex-wrap:wrap}.suggestions button{font-size:12px;text-align:left;background:white;border:1px solid #c9d1de;border-radius:5px;padding:7px 10px;min-height:36px}.suggestions button:hover{background:var(--soft)}
.source-conflict-evidence{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.6fr);gap:20px;margin:16px 0}.source-conflict-evidence .field{margin:0 0 8px}.source-witness-table{font-size:12px;border:1px solid var(--line)}.source-witness-table th,.source-witness-table td{padding:8px 10px}.source-witness-table th{font-family:inherit;font-weight:500;width:75%}.source-witness-table th span,.source-witness-table code{display:block}.source-witness-table code{font-size:10px;color:var(--muted)}.source-witness-table td{font-weight:650;overflow-wrap:anywhere}.source-conflict-rule{border-left:2px solid #cad3e1;padding-left:12px;margin-bottom:12px;font-size:12px}.source-conflict-rule blockquote{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.source-rule-outcome{font-weight:600}.source-conflict-question>details{font-size:12px;margin-top:10px}.continuation-options{margin:8px 0;padding:0}.continuation-options>summary{font-size:13px;color:var(--muted)}.continuation-options .question{margin-top:12px}.analysis-continuation #answers-form>.actions:has(button[hidden]):not(:has(button:not([hidden]))){display:none}
.model-notice{padding:12px 14px;border:1px solid #d7e2f3;border-radius:6px;background:#f5f8fe;font-size:13px;margin-bottom:14px}.model-notice:empty{display:none}.model-notice p{font-size:13px;margin:6px 0}.plan-note{font-size:12px;color:var(--muted);margin:0 0 16px}.plan-note strong{font-weight:600;color:#465164}.blocking{color:var(--red);background:#fff2f2;padding:11px 13px;border-radius:5px;font-size:13px;margin-top:12px}.conflict{color:var(--red)}.unsupported{background:#fbf5e9}.assumptions{font-size:13px}.error{padding:13px 16px;border-left:3px solid var(--red);background:#fff1f2;font-size:13px;margin:14px 0;border-radius:5px}.busy{opacity:.65;pointer-events:none}
body[data-active-step=plan] #error[data-session-error=true]:not([data-allowance-error=true]),body[data-active-step=plan] #error-diagnostic[data-session-error=true],body[data-active-step=plan] #error-actions:not([data-allowance-error=true]){display:none}

/* Progress shows real saved artifacts; settled work stops competing with the plan. */
.progress-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:14px}.progress-heading{display:flex;align-items:center;gap:10px;font-size:14px}.working-mark{width:15px;height:15px;border:2px solid #d5dfef;border-top-color:var(--green);border-radius:50%;animation:working 1.2s linear infinite;flex-shrink:0}@keyframes working{to{transform:rotate(360deg)}}
#progress-caption{font-size:13px;color:var(--muted);margin:8px 0}.progress-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;padding:0;margin:17px 0 12px;gap:7px}.progress-stages li{margin:0;padding:9px 8px;border-top:3px solid #e3e7ee;min-width:0}.progress-stages strong{display:block;font-size:11px;line-height:1.4}.progress-stages span{display:block;font-size:10px;line-height:1.4;color:var(--muted);margin-top:3px}.progress-stages [data-current=true]{border-top-color:var(--green);background:var(--pale);border-radius:0 0 5px 5px}.progress-stages [data-current=true] strong{color:#214cac}.progress-clock{display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.progress-panel #progress-wait{font-size:12px;margin:8px 0}.progress-details{margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.progress-details>summary{font-size:12px;color:var(--muted)}.progress-events{font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:240px;overflow:auto;padding-left:23px}.progress-events li{padding:3px 0}.progress-milestones{list-style:none;padding:8px 0;margin:0;display:flex;gap:6px 20px;flex-wrap:wrap;font-size:12px}.progress-panel[data-connection=paused] .progress-heading{color:var(--amber)}#progress-draft-actions{margin-top:10px}#retry-poll{margin-top:12px}.progress-panel[data-running=false] #progress-elapsed{display:inline}
.inline-analysis.analysis-settled .progress-panel,.progress-stopped{border:0;background:transparent;padding:0}.inline-analysis.analysis-settled .progress-clock,.inline-analysis.analysis-settled #progress-wait,.inline-analysis.analysis-settled #progress-stages,.inline-analysis.analysis-settled #progress-unit,.inline-analysis.analysis-settled .progress-heading,.inline-analysis.analysis-settled #progress-caption,.inline-analysis.analysis-settled #progress-draft-actions,.progress-stopped .progress-heading,.progress-stopped #progress-caption,.progress-stopped #progress-wait{display:none}.inline-analysis.analysis-settled .progress-details,.progress-stopped .progress-details{margin:0;padding:0;border:0}.progress-stopped .progress-clock{margin:8px 0}.source-progress-disclosure{margin:0 0 16px;border:1px solid var(--line);border-radius:8px}.source-progress-disclosure>summary{padding:11px 14px;font-size:12px}.source-progress-disclosure>.progress-panel{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.live-preview{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.live-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.live-preview-heading h3{font-size:15px}.live-preview-badge{font-size:10px;color:#875319;background:#fff6e8;padding:3px 7px;border-radius:4px}.live-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.live-preview-card{min-width:0;background:var(--soft);border-radius:6px;padding:14px}.live-preview-card h4{font-size:13px}.live-preview-card ul{padding-left:17px;margin:9px 0 0}.live-preview-card li{font-size:12px;line-height:1.6;margin:7px 0;overflow-wrap:anywhere}.live-preview-empty{font-size:12px;color:var(--muted);margin:10px 0 0}.live-preview-table table{table-layout:fixed;margin:10px 0 0}.live-preview-table th,.live-preview-table td{white-space:normal;overflow-wrap:anywhere;font-size:12px;padding:9px}.live-preview-table th:first-child{width:72%}

/* A continuous report; this rail is an in-page index, never a tab switcher. */
.report-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:28px;align-items:start;margin-top:16px}.plan-index{display:flex;flex-direction:column;gap:3px;position:sticky;top:24px;padding:6px 0}.plan-index>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:0 10px;margin-bottom:7px}.plan-index a{display:block;padding:7px 10px;text-decoration:none;font-size:12px;line-height:1.4;color:var(--muted);border-radius:5px}.plan-index a:hover{background:var(--soft);color:var(--ink)}.plan-index a[aria-current=page]{background:var(--pale);color:#264fa7;font-weight:600}
.report-content{min-width:0}.plan-section{scroll-margin-top:28px;overflow-wrap:anywhere}.report-content>.plan-section{padding:0 0 30px;margin-bottom:28px;border-bottom:1px solid var(--line)}.plan-section>h3{font-size:22px}.plan-section .eyebrow{font-size:10px;margin-bottom:7px}.section-intro{max-width:770px;font-size:13px;color:var(--muted);margin:9px 0 18px}.advanced-report,.behavior-review{padding:15px 17px;border:1px solid var(--line);background:#fafbfc;border-radius:7px;margin:12px 0}.advanced-report>summary,.behavior-review>summary{font-size:13px;font-weight:600}.advanced-report[open]>summary,.behavior-review[open]>summary{margin-bottom:20px}.advanced-report>.small{font-size:12px}.advanced-report .plan-section>h3{font-size:18px}.provenance-details{margin:12px 0}.provenance-details>summary{font-size:12px;color:var(--muted)}
details{margin-top:10px}summary{cursor:pointer;font-size:13px;font-weight:600}details p{font-size:13px}.plan-detail{border-top:1px solid var(--line);padding:10px 0;margin:0;overflow-wrap:anywhere}.plan-detail>summary{font-size:12px;line-height:1.5;padding:3px 0}.plan-detail[open]>summary{margin-bottom:10px}.plan-detail p,.plan-detail li{font-size:12px;line-height:1.6}.plan-detail ul{padding-left:18px}.plan-detail .plan-detail{margin:8px 0 0;padding-bottom:0}.report-subsection{margin:20px 0}.report-subsection>h4{font-size:15px;margin:0 0 8px}.report-subsection>p{font-size:12px;color:var(--muted);margin:7px 0 10px}.report-subsection>.table-wrap{margin-top:8px}
.plan-requirement{padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.plan-requirement h4{font-size:15px;line-height:1.5;margin:5px 0 10px}.criterion{padding:10px 0;border-top:1px solid var(--line)}.criterion p{margin:5px 0}.req-id,.technical-id,.risk .id{display:block;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);overflow-wrap:anywhere;margin:5px 0}.obligation-title{font-weight:600}.disposition,.check-status{display:inline-block;font-size:10px;line-height:1.5;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:2px 6px;margin:0 0 0 7px;vertical-align:middle}.hazard-group{margin:18px 0}.hazard-group>h4{font-size:12px;color:var(--muted);margin-bottom:10px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.category-record{padding-left:12px;border-left:2px solid var(--line)}.category-record p{margin:6px 0}.gap-count{font-weight:600}.audit-finding{padding:11px 0;border-top:1px solid var(--line)}.audit-finding>strong{font-size:13px}.audit-finding p{margin:5px 0}.risk-note,.check-incomplete{color:var(--amber)}

/* Test data is readable at table density, with explicit input / outcome hierarchy. */
.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:7px;margin-top:12px;overscroll-behavior-x:contain}
table{width:100%;border-collapse:collapse;font-size:13px;background:white;line-height:1.6}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}thead th{font-size:11px;font-weight:650;background:var(--soft);color:#4b586b}tbody th{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}td p:first-child{margin-top:0}td p:last-child{margin-bottom:0}
.report-table table{table-layout:fixed;min-width:650px}.report-table th,.report-table td{overflow-wrap:anywhere}.report-table td p{font-size:12px;line-height:1.6;margin:0 0 8px}.report-table td h4{font-size:13px;line-height:1.5;margin:0 0 6px}.report-table td h5{font-size:12px;margin:10px 0 5px}.report-table td ul{margin:6px 0;padding-left:17px}.report-table td li{font-size:12px;margin:3px 0}.report-table td pre{font-size:11px;padding:8px}.report-table td .disposition{margin:5px 0 0}.requirements-table th:first-child{width:34%}.requirements-table th:nth-child(2){width:36%}.requirements-table th:nth-child(3){width:30%}.obligations-table table{min-width:780px}.obligations-table th:first-child{width:22%}.obligations-table th:nth-child(2){width:27%}.obligations-table th:nth-child(3){width:28%}.obligations-table th:nth-child(4){width:23%}.native-check-table th:first-child,.domain-findings-table th:first-child{width:27%}.native-check-table th:nth-child(2),.domain-findings-table th:nth-child(2){width:18%}.native-check-table th:nth-child(3),.domain-findings-table th:nth-child(3){width:55%}.variable-definitions-table th:first-child{width:23%}.variable-definitions-table th:nth-child(2){width:15%}.data-boundaries-table th:first-child{width:24%}.data-boundaries-table th:nth-child(2){width:36%}.model-provenance-table{min-width:600px}.model-provenance-table th{white-space:nowrap}
.numeric-cases table{table-layout:auto;min-width:0}.numeric-cases th:first-child{width:76px;min-width:76px;white-space:nowrap}.numeric-cases th:last-child,.numeric-cases td:last-child{width:27%;min-width:150px}.numeric-cases td:last-child{font-weight:550}.case-values{margin:0;display:grid;gap:4px}.case-value{display:grid;grid-template-columns:minmax(0,1fr) minmax(40px,max-content);gap:14px;align-items:baseline;max-width:450px}.case-value dt{font-size:12px;color:var(--muted)}.case-value dt strong{font-weight:400}.case-value dd{margin:0;font-size:12px;text-align:right;font-variant-numeric:tabular-nums;word-break:normal;overflow-wrap:normal}.numeric-preview-tools,.risk-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.numeric-preview-toggle,.risk-preview-toggle{min-height:32px;padding:6px 10px;font-size:11px}.numeric-preview-count{font-variant-numeric:tabular-nums}
.risk-scenarios-table table{table-layout:fixed;width:100%;min-width:0}.risk-scenarios-table th{width:33.333%}.risk-scenarios-table td{font-size:12px;line-height:1.65}.risk-scenarios-table td p{font-size:12px;line-height:1.65;margin:5px 0}.risk-scenarios-table td ul{padding-left:16px;margin:6px 0}.risk-class,.risk-origin{font-size:10px;color:var(--muted)}.risk-origin{display:block;overflow-wrap:anywhere;margin-bottom:4px}.risk-scenarios-table .plan-detail{padding:0;margin:8px 0 0;border:0}.risk-scenarios-table .plan-detail summary{font-size:11px}.plan-requirement:focus{outline:2px solid #6991ee;outline-offset:-2px}
tr.selected{background:#edf3ff}tr.selected th{box-shadow:inset 3px 0 var(--green)}tr.excluded{color:var(--muted);background:var(--soft)}.case-label,.row-kind{display:block;font-size:10px;color:var(--muted)}.pair-controls{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.pair-controls button{border:1px solid #c9d1de;border-radius:5px;background:white;padding:7px 10px;font-size:12px;min-height:34px}.pair-controls button[aria-pressed=true]{background:var(--ink);color:white}.pair-explanation{font-size:13px;min-height:22px}.cross-check,.remaining{margin-top:20px}.remaining ul{font-size:13px}.cross-row{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.assignment-card{margin:16px 0 0;padding:16px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.assignment-card>h4{font-size:16px;line-height:1.5;margin:0 0 10px}.assignment-summary{font-size:13px;font-weight:600}.variable-definition{padding:10px 0;border-top:1px solid var(--line)}.variable-definition p{font-size:12px;margin:5px 0}.assigned-output{background:#f4f6fa;border-left:2px solid #c8d2e3}.assignment-table{margin:10px 0 14px}.assignment-table table{font-size:12px}.assignment-table thead th{max-width:160px;min-width:100px;white-space:normal;overflow-wrap:anywhere}.assignment-table th:last-child,.assignment-table td:last-child{min-width:180px}.assignment-table .plan-detail{border:0;padding:0;margin:0}.assignment-table .plan-detail>summary{font-size:11px;font-weight:400;margin:0;padding:0}#plan-results .table-wrap table{min-width:640px}.obligation-violation{background:#fff6e9}.result{margin:18px 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.result-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:12px}.result-head p{font-size:12px}.count-pill{min-width:94px;background:var(--soft);padding:10px;border:1px solid var(--line);border-radius:6px;text-align:center}.count-pill strong{font-size:24px;display:block;line-height:1.2}.count-pill span{font-size:10px}

/* Requirement editing and technical evidence remain available, behind disclosure. */
.reading-stage{max-width:1100px;margin:auto}.reading-stage .stage-heading h2{font-size:20px}.requirement{padding:18px 0;border-top:1px solid var(--line);margin-bottom:6px}.requirement header{display:flex;justify-content:space-between;align-items:start;gap:16px}.requirement h3{font-size:16px;line-height:1.5}.requirement>p{font-size:13px}.source-quote{font-size:12px;border-left:2px solid var(--line);padding-left:12px;margin:12px 0;color:var(--muted);overflow-wrap:anywhere}.field{display:block;font-size:12px;font-weight:600;margin:14px 0 6px}.formula-input{width:100%;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;padding:10px;background:var(--soft);border:1px solid var(--line)}.native-formula{font-size:12px}.native-variables{font:12px/1.6 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.formulation-details{border-top:1px solid var(--line);padding-top:10px;margin-top:14px}.formulation-details>summary{font-size:12px;color:var(--muted)}.variable-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}.variable{border-top:1px solid var(--line);padding-top:8px;min-width:0}.variable p{font-size:12px;margin:4px 0}.variable dl{font-size:12px;display:grid;grid-template-columns:34px 1fr;gap:4px;margin:6px 0}.variable dt{font-weight:600}.variable dd{margin:0}#source-context{margin:16px 0}.revision-feedback{border-top:1px solid var(--line);padding:18px 0;margin-top:16px}.revision-feedback label{display:block;font-size:13px;margin:12px 0 6px}.revision-feedback .small{margin:6px 0 12px}.record-review{border-top:1px solid var(--line);padding-top:14px}.record-review>summary{font-size:12px;color:var(--muted)}.optional{font-size:10px;font-weight:400;padding-left:8px;margin-left:6px;border-left:1px solid var(--line)}.approval{display:flex;align-items:start;gap:8px;font-size:13px;font-weight:500;margin-top:14px}.approval input{margin-top:4px;accent-color:var(--green);width:16px;height:16px;flex:0 0 auto}
.native-check{padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.native-check>strong{display:block;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.native-check p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.check-status{margin:6px 0 0}.check-status.check-incomplete{background:#fff5e4;color:var(--amber)}#native-checks,#gap-list,.risk,.question,.requirement,#requirement-list h3{overflow-wrap:anywhere}.native-findings{font-size:12px}.native-findings-summary{font-weight:600}.formal-rule{white-space:pre-wrap;overflow-wrap:anywhere}.criterion-method,.missing-data,.condition-effect{font-size:12px;color:var(--muted)}.counterexamples,.assignment-constraints,.variable-definitions,.domain-sources{margin:12px 0;font-size:12px}.domain-group{margin:16px 0}.domain-group>h4{font-size:16px;margin-bottom:12px}.domain-group h5,.domain-check h5{font-size:13px;margin:16px 0 8px}.domain-check{padding:12px 0;border-top:1px solid var(--line)}.domain-group blockquote{margin:8px 0;padding-left:12px;border-left:2px solid var(--line);font-size:12px;overflow-wrap:anywhere}.domain-matrix{max-width:100%}#review-domains{margin:18px 0}#internal-review-notice button{margin:5px 8px 5px 0}.risk{border-top:1px solid var(--line);padding:12px 0}.risk p{font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;background:var(--soft);padding:15px;border-radius:6px;margin:10px 0}.metric strong{display:block;font-size:22px;font-variant-numeric:tabular-nums}.metric span{font-size:11px;color:var(--muted)}

/* Recovery, sharing and destructive actions. */
.saved-drafts,.session-links{padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:7px;margin:14px 0}.saved-drafts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.saved-drafts h2{font-size:16px}.saved-draft{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.saved-draft p{margin:4px 0 0}.saved-draft strong,.saved-draft-state{font-size:12px}.saved-draft-state{color:var(--muted)}.saved-draft-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.saved-draft-actions p{flex-basis:100%;margin:0}.session-links:not([open]){padding:6px 0;margin:9px 0 0;border:0;background:transparent}.session-links>summary{font-size:12px;color:var(--muted);font-weight:500}.session-links[open]>summary{font-weight:600;color:var(--ink);margin-bottom:14px}.session-links label{display:block;font-weight:600;font-size:12px;margin:10px 0 6px}.session-links .small{max-width:850px}.link-row{display:flex;gap:8px}.link-row input{flex:1;min-width:0;padding:9px 11px;background:white;border:1px solid #c9d1de;border-radius:5px;font-size:12px}
.delete-dialog{max-width:490px;width:calc(100% - 32px);padding:26px;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 80px #17202c30;color:var(--ink);background:white}.delete-dialog::backdrop{background:#17202c66;backdrop-filter:blur(2px)}.delete-dialog h2{font-size:23px}.delete-message{font-size:14px;line-height:1.65;margin:14px 0}.delete-dialog .actions{justify-content:flex-end;margin-top:22px}.danger-button{background:#b42332;color:white;border:1px solid #b42332;border-radius:6px;padding:9px 14px;font-size:12px;font-weight:600;min-height:38px}.danger-button:hover:not(:disabled){background:#921d29}.danger-text,.delete-error{color:#a51f2e}.delete-error:empty{display:none}.delete-error{font-size:13px;line-height:1.5}

/* Shared/owner reader is a clean document, not a second editor. */
.shared-report{max-width:1000px;padding:35px 0;margin:auto}.shared-report>header{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:25px}.shared-content{background:white;overflow-wrap:anywhere}.report-reader-actions{margin-top:19px;gap:8px}.report-reader-actions>a{font-size:12px;margin-left:7px}.report-reader-status{font-size:11px;color:var(--muted);margin:0 0 24px}.report-reader-contents{display:flex;align-items:center;gap:5px 12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 16px;margin:0 0 24px}.report-reader-contents-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-right:4px}.report-reader-contents button{border:0;background:transparent;color:#244fb5;padding:5px 0;font-size:12px;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:3px}.report-reader-contents button:hover{color:var(--ink)}.shared-report>header>p:not(.eyebrow){font-size:13px;line-height:1.65;color:var(--muted);max-width:740px;margin:12px 0 0}body[data-report-view] .shared-report{padding-inline:32px}body[data-report-view] .lab-header{position:static}.shared-content>p:first-child{font-size:13px;color:var(--muted)}.shared-content h1{font-size:29px}.shared-content h2{font-size:22px;margin:34px 0 14px}.shared-content h3{font-size:17px;margin:24px 0 10px}.shared-content table{min-width:0;font-size:12px}.shared-table{overflow:auto;margin:16px 0;border:1px solid var(--line);border-radius:7px}.shared-content td,.shared-content th{padding:11px;border-bottom:1px solid var(--line)}.shared-content blockquote{border-left:3px solid var(--line);padding-left:15px;margin-left:0;color:var(--muted)}
.next-step{border-top:1px solid var(--line);padding:26px 0 0;margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.next-step h3{font-size:18px}.next-step p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:640px;margin:6px 0 0}.next-step a{font-size:13px;font-weight:600;flex-shrink:0}.lab-footer{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted)}.lab-footer>div{display:flex;gap:16px}.footer-divider{margin:0 8px;color:#a1aaba}.site-links{border-top:1px solid var(--line);margin:0;padding:12px 0 20px}.site-links>summary{font-size:11px;color:var(--muted);font-weight:400}.site-links .site-footer{font-size:12px;padding-top:12px}.site-links .foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:16px}.site-links .foot-col a{display:block;margin:5px 0}.site-links .foot-col-h{font-weight:600;margin-bottom:8px}.site-links .foot-line{color:var(--muted);line-height:2}.site-links .sep{margin:0 8px}

@media(max-width:1080px){.lab-header{padding-inline:28px}.lab-shell{padding-inline:28px}.source-grid{gap:28px;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}.session-toolbar #status{max-width:180px}.report-layout{grid-template-columns:140px minmax(0,1fr);gap:18px}.plan-heading{align-items:flex-start}.export-actions{justify-content:flex-end}.report-toolbar{max-width:380px}}
@media(max-width:800px){.source-grid{grid-template-columns:1fr}.start-aside{max-width:600px}.intro{padding-top:30px}.workspace-bar{gap:12px;flex-wrap:wrap}.session-toolbar{margin-left:auto}.session-toolbar #status{display:none}.report-layout{display:block}.plan-index{position:static;flex-direction:row;flex-wrap:wrap;gap:4px 8px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:24px}.plan-index>span{flex-basis:100%;padding:0;margin-bottom:4px}.plan-index a{padding:5px 7px;font-size:11px}.plan-heading{flex-wrap:wrap;gap:14px}.report-toolbar{max-width:none;width:100%;text-align:left}.export-actions{justify-content:flex-start}.stage-heading{gap:12px}.stage-heading h2{font-size:20px}.category-grid{grid-template-columns:1fr}.next-step{align-items:start;flex-direction:column;gap:13px}}
@media(max-width:600px){.lab-header{padding:0 18px;height:58px;gap:13px}.lab-name{padding-left:13px;gap:7px;font-size:12px}.wordmark{font-size:22px}.lab-header>a:last-child{font-size:11px}.lab-shell{padding-inline:18px}.intro{padding:27px 0 23px}.intro h1{font-size:30px}.intro>p:last-child{font-size:14px}.steps{gap:17px}.steps button{font-size:12px;gap:6px;padding:12px 0}.steps button span{width:18px;height:18px;font-size:10px}.session-toolbar{gap:12px}.session-toolbar .secondary{font-size:11px;min-height:40px}.reset-full{display:none}.reset-short{display:inline}.stage{padding-top:22px}.source-grid{gap:26px}.section-top h2{font-size:18px}.file-button{font-size:11px}#spec{min-height:260px;font-size:16px;padding:13px}.editor-meta{font-size:10px}.primary,.secondary{min-height:42px}.source-actions{gap:8px}.source-actions .primary,.source-actions .secondary{font-size:12px}.start-aside{padding:19px}.start-aside h2{font-size:22px}.plan-heading h2{font-size:27px}.plan-heading .eyebrow{font-size:10px}.export-actions{gap:6px}.export-actions>.primary,.export-actions>.secondary{font-size:11px;padding-inline:10px}.more-exports>summary{font-size:11px;min-height:42px;padding:9px}.more-exports>div{min-width:230px}.report-content>.plan-section{padding-bottom:24px;margin-bottom:24px}.plan-section>h3{font-size:21px}.advanced-report,.behavior-review{padding:14px 12px}.question{padding:16px 13px}.question label{font-size:15px}.question textarea{font-size:16px}.question-alternatives,.source-conflict-evidence{grid-template-columns:1fr}.question-option{min-height:48px}.source-conflict-evidence{gap:12px}.source-witness-table th code,.source-witness-table th span{display:inline}.source-witness-table th code{margin-left:6px}.stage-heading{flex-wrap:wrap}.badge{font-size:10px}.progress-panel{padding:14px}.progress-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:14px 0}.progress-stages li{padding:7px 5px}.progress-stages span{display:none}.progress-stages [data-current=true] span{display:block}.progress-clock{display:grid;gap:3px}.progress-milestones{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.live-preview-grid{grid-template-columns:1fr}.live-preview-table th:first-child{width:65%}.live-preview-heading h3{font-size:14px}.numeric-preview-tools,.risk-preview-tools{align-items:flex-start;gap:8px}.numeric-preview-count{font-size:11px}.numeric-cases{border:0}.numeric-cases table,.numeric-cases tbody{display:block;min-width:0;width:100%}.numeric-cases thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.numeric-cases tr{display:block;border:1px solid var(--line);border-radius:7px;margin-bottom:10px;padding:12px}.numeric-cases tr th,.numeric-cases tr td{display:block;min-width:0;width:auto;border:0;padding:4px 0}.numeric-cases tr th{font-weight:700;font-size:12px;margin-bottom:5px}.numeric-cases td:before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;font-weight:600;margin-bottom:5px}.numeric-cases td:last-child{font-weight:600;background:#f5f8fe;padding:9px;margin:7px -3px 0;border-radius:4px}.case-value{grid-template-columns:minmax(0,1fr) auto;gap:9px;max-width:none}.case-value dt{overflow-wrap:anywhere}.case-value dd{max-width:135px;overflow-wrap:anywhere}.risk-scenarios-table table,.risk-scenarios-table tbody,.risk-scenarios-table tr,.risk-scenarios-table td{display:block}.risk-scenarios-table thead{display:none}.risk-scenarios-table tr{padding:9px 0;border-bottom:1px solid var(--line)}.risk-scenarios-table td{width:auto;border:0;padding:7px 12px}.risk-scenarios-table td:nth-child(1)::before{content:'What could go wrong'}.risk-scenarios-table td:nth-child(2)::before{content:'What to test'}.risk-scenarios-table td:nth-child(3)::before{content:'Evidence to collect'}.risk-scenarios-table td::before{display:block;font-size:10px;font-weight:650;color:var(--muted);margin-bottom:4px}.saved-draft{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.saved-draft>div:first-child{grid-column:1/-1}.saved-draft-actions{justify-content:flex-end}.link-row{flex-wrap:wrap}.link-row input{flex-basis:100%}.metrics{gap:10px}.metric strong{font-size:20px}.metric span{font-size:10px}.shared-report{padding-top:24px}.shared-content h1{font-size:26px}.shared-content h2{font-size:21px}.delete-dialog{padding:22px}.lab-footer{font-size:10px;gap:8px}}
@media(max-width:600px){body[data-report-view] .shared-report{padding-inline:18px}.report-reader-actions{gap:7px}.report-reader-actions .primary,.report-reader-actions .secondary{font-size:11px;padding-inline:10px}.report-reader-actions>a{flex-basis:100%;margin:6px 0 0}.report-reader-status{margin-bottom:18px}}
/* Narrative report tables become labelled records on small screens. Wide truth
   tables retain their column relationship inside a horizontally scrolling frame. */
@media(max-width:600px){
 .shared-table:not(.shared-matrix):not(:has(td[data-label="Expected result"])):has(thead th:nth-child(6)) table{min-width:660px}
 .shared-table:not(.shared-matrix):not(:has(td[data-label="Expected result"])):has(thead th:nth-child(6))::before{content:"Scroll horizontally to compare all columns →";display:block;padding:8px 11px;font-size:10px;color:var(--muted);background:var(--soft)}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))){border:0;border-radius:0;overflow:visible}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) table,.shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) tbody{display:block;width:100%}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) tr{display:block;border:1px solid var(--line);border-radius:7px;padding:8px 12px;margin-bottom:10px}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) td{display:block;width:auto;border:0;padding:6px 0;font-size:13px;line-height:1.6}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:650;margin-bottom:3px}
 .shared-table:has(td[data-label]):not(.shared-matrix):not(:has(thead th:nth-child(6))) td:first-child{font-weight:600}
}

@media(max-width:600px){.report-reader-contents{gap:4px 14px;padding-bottom:14px;margin-bottom:20px}.report-reader-contents-label{flex-basis:100%;margin-bottom:3px}.report-reader-contents button{font-size:11px;min-height:32px}}
/* Paused analysis keeps recovery prominent without repeating report navigation. */
.progress-stopped{padding:0}
.progress-stopped #progress-draft-actions button[data-go="model"],.progress-stopped #progress-draft-actions a[data-report-section="plan-tests"]{display:none}
.acceptance-cases table{table-layout:fixed;min-width:0}.acceptance-cases th:first-child{width:64%}.acceptance-cases th:nth-child(2){width:12%}.acceptance-cases th:nth-child(3){width:24%}.acceptance-cases td{font-size:13px;line-height:1.6}.acceptance-cases td:nth-child(2){font-size:12px;color:var(--muted)}.acceptance-cases .plan-detail{border:0;margin:0;padding:0}.acceptance-cases .plan-detail>summary{font-size:11px}.acceptance-cases td:first-child{font-weight:500}.acceptance-cases td p{margin:4px 0}
@media(max-width:600px){
 .progress-stopped{padding:0}
 .acceptance-cases{border:0;overflow:visible}.acceptance-cases table,.acceptance-cases tbody{display:block;width:100%}.acceptance-cases thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.acceptance-cases tr{display:block;border:1px solid var(--line);border-radius:7px;margin-bottom:10px;padding:10px 12px}.acceptance-cases td{display:block;width:auto;border:0;padding:5px 0}.acceptance-cases td:first-child{font-weight:500}.acceptance-cases td:nth-child(2){display:flex;gap:8px;align-items:baseline}.acceptance-cases td:nth-child(2)::before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:600}.acceptance-cases td:nth-child(3){border-top:1px solid var(--line);margin-top:6px;padding-top:9px}
}

/* During a run, the live stage is the status. Do not stack two summaries above it. */
body[data-review-status="reviewing"] #plan-overview,
body[data-review-status="reviewing"] #questions>.stage-heading{display:none}
body[data-review-status="reviewing"] .plan-heading{margin-bottom:14px}
body[data-review-status="reviewing"] #plan-summary{display:none}
@media(max-width:360px){.lab-header{gap:8px}.wordmark{font-size:20px}.lab-name{padding-left:8px;gap:5px;font-size:11px;white-space:nowrap}.preview{font-size:9px;padding-inline:4px}.lab-header>a:last-child{font-size:10px;white-space:nowrap}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.working-mark{animation:none}}
@media print{.lab-header,.workspace-bar,.session-toolbar,.session-links,.saved-drafts,.report-toolbar,.plan-index,.next-step,.site-links,.lab-footer,.delete-dialog{display:none!important}.lab-shell{max-width:none;padding:0}.report-layout{display:block}.table-wrap{overflow:visible}body{font-size:11px}.stage{padding:0}.plan-section{break-inside:avoid}.shared-report{padding:0;max-width:none}a{color:inherit}}

/* Numeric plans keep one variable per column, including on narrow screens. */
.numeric-column-cases.numeric-cases{max-width:100%;overflow-x:auto;border:1px solid var(--line)}
.numeric-column-cases.numeric-cases table{display:table;table-layout:auto;min-width:600px;width:100%}
.numeric-column-cases.numeric-cases thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.numeric-column-cases.numeric-cases tbody{display:table-row-group;width:auto}
.numeric-column-cases.numeric-cases tr{display:table-row;border:0;border-radius:0;margin:0;padding:0}
.numeric-column-cases.numeric-cases tr[hidden]{display:none}
.numeric-column-cases.numeric-cases tr th,.numeric-column-cases.numeric-cases tr td{display:table-cell;width:auto;min-width:80px;border:0;border-bottom:1px solid var(--line);margin:0;padding:10px 12px;font-size:12px}
.numeric-column-cases.numeric-cases thead th{white-space:normal;max-width:220px}
.numeric-column-cases.numeric-cases tbody td{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400}
.numeric-column-cases.numeric-cases td:before{display:none}
.numeric-column-cases.numeric-cases td:last-child{background:transparent;border-radius:0}
.numeric-column-cases.numeric-cases tbody .expected-value{font-weight:600;background:#f0f5fa}

.shared-matrix{max-width:100%;overflow-x:auto}.shared-matrix table{min-width:600px}.shared-matrix td{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px){.shared-matrix::before{content:"Scroll horizontally to compare all columns →";display:block;padding:8px 11px;font-size:11px;color:var(--muted);background:var(--soft)}}

@media(max-width:600px){.numeric-column-cases.numeric-cases::before{content:"Scroll horizontally to compare all columns →";display:block;padding:8px 11px;font-size:11px;color:var(--muted);background:var(--soft)}}
/* Shared/owner read-only task handoffs retain every field without horizontal panning. */
@media(max-width:600px){
 .shared-table:has(td[data-label="Expected result"]) {border:0;overflow:visible}
 .shared-table:has(td[data-label="Expected result"]) :is(table,tbody) {display:block;min-width:0;width:100%}
 .shared-table:has(td[data-label="Expected result"]) thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .shared-table:has(td[data-label="Expected result"]) tr {display:block;padding:14px;margin:0 0 14px;border:1px solid #bdc6d1;border-radius:6px;background:white}
 .shared-table:has(td[data-label="Expected result"]) td {display:block;width:auto;min-width:0;padding:8px 0;border:0;text-align:left;overflow-wrap:anywhere;white-space:normal}
 .shared-table:has(td[data-label="Expected result"]) td::before {display:block;content:attr(data-label);font-size:12px;font-weight:650;color:#374151;margin-bottom:5px}
 .shared-table:has(td[data-label="Expected result"]) td:first-child {font-size:16px;font-weight:650}
 .shared-table:has(td[data-label="Expected result"]) td[data-label="Expected result"] {background:#edf3fa;border:1px solid #bdc6d1;border-radius:4px;padding:10px;font-weight:600}
}
@media(max-width:600px){
 .shared-content .shared-matrix {border:0;overflow:visible}
 .shared-content .shared-matrix::before {display:none}
 .shared-content .shared-matrix :is(table,tbody) {display:block;min-width:0;width:100%;table-layout:auto}
 .shared-content .shared-matrix thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .shared-content .shared-matrix tr {display:flex;flex-wrap:wrap;gap:0 12px;padding:14px;margin:0 0 14px;border:1px solid #bdc6d1;border-radius:6px;background:white}
 .shared-content .shared-matrix tbody td {display:block;min-width:0;max-width:100%;width:auto;flex:1 1 40%;padding:7px 0;border:0;white-space:normal;order:2;overflow-wrap:anywhere}
 .shared-content .shared-matrix tbody td::before {display:block;content:attr(data-label);font-size:12px;font-weight:650;color:#374151;margin-bottom:4px}
 .shared-content .shared-matrix tbody td:first-child {flex:1 1 100%;order:0;font-size:15px;font-weight:650}
 .shared-content .shared-matrix tbody td[data-output="true"] {flex:1 1 100%;order:1;background:#edf3fa;border:1px solid #bdc6d1;border-radius:4px;padding:10px;margin:6px 0;font-weight:600}
 .shared-content .shared-matrix tbody td[data-label="Why this example"] {flex:1 1 100%;order:3;border-top:1px solid #d1d5db;margin-top:8px;padding-top:10px}
}

.project-opening{max-width:760px;margin:80px auto;padding:32px;color:#17202c}.project-opening h1{font-size:30px;line-height:1.2;margin:10px 0 16px}.project-opening p{font-size:15px;line-height:1.6;color:#445064}.opening-placeholder{display:grid;gap:12px;margin-top:28px}.opening-placeholder span{height:14px;border-radius:4px;background:#e3e7ed}.opening-placeholder span:nth-child(2){width:82%}.opening-placeholder span:nth-child(3){width:62%}.project-opening[aria-busy="false"] .opening-placeholder{display:none}.project-opening .actions{margin-top:24px}.restoring-project body.workspace-app{padding:0;display:block;background:#fff}@media(max-width:600px){.project-opening{margin:32px auto;padding:24px}.project-opening h1{font-size:25px}}
@media(prefers-reduced-motion:no-preference){.project-opening[aria-busy="true"] .opening-placeholder{animation:opening-pulse 1.6s ease-in-out infinite alternate}@keyframes opening-pulse{from{opacity:.55}to{opacity:1}}}

/* Expand long case tables at the point where the preview ends. */
.case-table-footer{border-top:1px solid #d4dbe5;background:#f8fafc;padding:0}
.case-table-footer .numeric-preview-toggle{display:block;width:100%;min-height:44px;margin:0;padding:12px 16px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#44359c;font:inherit;font-size:14px;font-weight:600;text-align:center;cursor:pointer}
.case-table-footer .numeric-preview-toggle:hover{background:#eef0f8}
.case-table-footer .numeric-preview-toggle:focus-visible{outline:2px solid #5046a4;outline-offset:-4px}
@media(max-width:850px){.case-table-footer{border:1px solid #cbd5e1;border-radius:6px}}
