:root{
 --bg:#f5f6f4;--paper:#fff;--soft:#eef1ee;--ink:#17211d;--muted:#56615b;--tertiary:#717b75;--line:#d9ded9;
 --violet:#5b3ee4;--violet-soft:#f0edff;--green:#176b4d;--green-soft:#e6f4ed;--green-delta:#b9e4cb;--red:#a43a36;--red-soft:#fae9e7;--red-delta:#f2bbb6;
 --amber:#8a5a13;--amber-soft:#fff3dc;--code:#111714;--shadow:0 1px 2px #1018140a,0 10px 28px #10181408;
 --radius:10px;--touch:44px;
 --font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
 --text-xs:.75rem;--text-sm:.8125rem;--text-ui:.875rem;--text-body:1rem;--text-lead:1.125rem;
 --leading-ui:1.35;--leading-body:1.6;--measure:68ch
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font:400 var(--text-body)/1.55 var(--font-ui);padding-bottom:72px}
button,input,select,textarea{font:inherit}
button,summary,select{cursor:pointer}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--paper);padding:10px;z-index:100}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.eyebrow,.panel-label{font-size:var(--text-xs);font-weight:900;letter-spacing:.12em;color:var(--tertiary)}
.panel-label{margin-bottom:10px}
h1,h2,h3,p{overflow-wrap:anywhere}
.review h2,.review p,.orientation-area strong,.orientation-area small,.anchor-claim,.source-unavailable{unicode-bidi:plaintext}
body[data-review-language="fa"] .review h2,
body[data-review-language="fa"] .review p,
body[data-review-language="fa"] .review .panel-label,
body[data-review-language="fa"] .review .state,
body[data-review-language="fa"] .orientation-area>span:nth-child(2),
body[data-review-language="fa"] .anchor-claim,
body[data-review-language="fa"] #review-home,
body[data-review-language="fa"] #source-picker,
body[data-review-language="fa"] .pr-context-head,
body[data-review-language="fa"] .pr-brief>summary,
body[data-review-language="fa"] .knowledge-brief>summary,
body[data-review-language="fa"] .pr-conversation>summary,
body[data-review-language="fa"] .source-inspector-head,
body[data-review-language="fa"] #communication-workspace,
body[data-review-language="fa"] dialog{direction:rtl;text-align:right}
.pr-body,.conversation p,.finding-field textarea,.author-preview-item p{unicode-bidi:plaintext}
body[data-review-language="fa"] .diff-hunk,
body[data-review-language="fa"] .diff-line,
body[data-review-language="fa"] .diff-line code,
body[data-review-language="fa"] .source-files,
body[data-review-language="fa"] code{direction:ltr;text-align:left}

/* top chrome */
.topbar{min-height:64px;height:auto;width:100%;box-sizing:border-box;background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;padding:8px 22px;gap:22px;position:sticky;top:0;z-index:40}
.brand{display:flex;align-items:center;min-width:0;text-decoration:none;color:var(--ink)}
.logo{font-size:1.5rem;font-weight:950;letter-spacing:.11em;white-space:nowrap}.version-stamp{font-size:.62em;font-weight:700;color:var(--tertiary);letter-spacing:.02em}
.pr-meta{display:flex;align-items:center;gap:10px;min-width:0;color:var(--muted);font-size:var(--text-sm)}.pr-meta strong{color:var(--ink);flex:0 0 auto}.repo{display:block;max-width:min(32vw,260px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);padding:5px 8px;border-radius:6px;color:var(--ink)}
.topbar-actions{display:flex;align-items:center;gap:5px}.language-control{display:flex;align-items:center;position:relative}.language-control select{height:38px;width:max-content;min-width:108px;max-width:140px;padding:0 27px 0 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);font-size:var(--text-xs);font-weight:800}.language-control.is-loading select{padding-left:27px;opacity:.82}.language-control.is-loading::before{content:"";position:absolute;left:9px;width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;z-index:1;pointer-events:none;animation:language-spin .75s linear infinite}@keyframes language-spin{to{transform:rotate(360deg)}}.nav-notifications{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);cursor:pointer}.nav-notifications svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav-notifications__off{opacity:1}.nav-notifications:hover{background:var(--soft);color:var(--ink)}.nav-notifications:focus-visible{outline:3px solid #5b3ee433;outline-offset:1px}.nav-notifications[data-state="on"]{background:var(--green-soft);border-color:#b7d9c8;color:var(--green)}.nav-notifications[data-state="on"] .nav-notifications__off{opacity:0}.nav-notifications[data-state="blocked"]{color:var(--tertiary);opacity:.6}.nav-notifications__dot{position:absolute;right:5px;top:5px;width:8px;height:8px;border:2px solid var(--paper);border-radius:50%;background:var(--green);opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease}.nav-notifications[data-state="on"] .nav-notifications__dot{opacity:1;transform:scale(1)}.nav-notifications.has-attention .nav-notifications__dot{opacity:1;transform:scale(1);background:var(--violet);animation:notification-pulse 1.4s ease-in-out infinite}@keyframes notification-pulse{50%{box-shadow:0 0 0 5px #5b3ee426}}.icon-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:1.05rem;line-height:1}.icon-btn:hover{background:var(--soft)}.icon-btn:focus-visible{outline:3px solid #5b3ee433;outline-offset:1px}

/* buttons */
.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--touch);padding:0 14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:var(--text-ui);font-weight:800;line-height:1;box-shadow:0 1px 2px #0000000a}
.ui-button:active:not(:disabled){transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){
 .ui-button:hover:not(:disabled){background:var(--soft)}
 .ui-button--primary:hover:not(:disabled),.ui-button--ai:hover:not(:disabled){background:#4f34d0}
 .ui-button--success:hover:not(:disabled){background:#125a40}
 .ui-button--danger.is-active:hover:not(:disabled){background:#8f312d}
}
.ui-button:focus-visible{outline:3px solid #5b3ee433;outline-offset:2px}
.ui-button:disabled{opacity:1;cursor:not-allowed;background:#e4e8e5!important;border-color:#cbd2cd!important;color:#4d5952!important;box-shadow:none!important}
.ui-button--primary:not(:disabled),.ui-button--ai:not(:disabled){background:var(--violet);border-color:var(--violet);color:#fff!important;box-shadow:0 4px 14px #5b3ee42c}
.ui-button--primary:not(:disabled) *, .ui-button--ai:not(:disabled) *{color:#fff!important}
.ui-button--secondary{background:var(--paper);color:var(--muted)}
.ui-button--tertiary{background:transparent;color:var(--ink)}
.ui-button--quiet{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted);padding-inline:8px}
.ui-button--judgment{background:var(--paper);border-color:var(--line);color:var(--muted);box-shadow:none}
.ui-button--danger.is-active{background:var(--red-soft);border-color:#e8b9b5;color:var(--red)}
.ui-button--success{background:var(--green);border-color:var(--green);color:#fff}
.back-home{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:var(--text-sm);font-weight:850;line-height:1;white-space:nowrap}.back-home__caret{display:grid;place-items:center;width:12px;height:18px;font-size:1.25rem;line-height:18px}.back-home__label{display:flex;align-items:center;height:18px;line-height:18px}

/* home and browser */
body[data-view="home"] .pr-meta{display:none}
.review-home{max-width:1080px;margin:0 auto;padding:clamp(38px,6vw,76px) 28px 72px}
.home-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;padding-bottom:24px;border-bottom:1px solid var(--line)}.home-intro{max-width:760px}.home-head h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.05em;line-height:.98;margin:8px 0 14px;max-width:760px}.home-head p{margin:0;color:var(--muted);max-width:680px;font-size:1.0625rem;line-height:var(--leading-body)}.home-meta{display:grid;justify-items:end;gap:7px;padding-bottom:4px}.home-auth-action{border:0;background:transparent;color:var(--tertiary);font:800 var(--text-xs)/1.2 var(--font-ui);padding:2px 0;cursor:pointer}.home-auth-action:hover{color:var(--ink)}.home-auth-action:focus-visible{outline:2px solid #5b3ee433;outline-offset:3px}.home-auth-action:disabled{opacity:.55;cursor:wait}.home-queue-status{font-size:var(--text-sm);font-weight:800;color:var(--muted);white-space:nowrap}
.integration-state{display:inline-flex;width:max-content;padding:4px 7px;border:1px solid var(--line);border-radius:999px;font-size:var(--text-xs);font-weight:900;letter-spacing:.08em;color:var(--muted);background:var(--paper)}
.integration-state.ready{color:var(--green);border-color:#b7d9c8;background:var(--green-soft)}.integration-state.error{color:var(--red);border-color:#e7bbb7;background:var(--red-soft)}
.review-queue{display:grid;gap:12px;margin:22px 0}.queue-card{position:relative;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:18px 50px 18px 18px;color:var(--ink);display:grid;gap:5px}.queue-card:hover{border-color:#a9b1ac}.queue-card--primary{padding:22px 185px 22px 22px;border-color:#d8d0ff;box-shadow:0 8px 26px #2c20560b}.queue-card--primary:hover{border-color:#a99cf5;box-shadow:0 10px 30px #2c205612}.queue-card strong{font-size:var(--text-body)}.queue-card--primary strong{font-size:1.125rem;line-height:1.35}.queue-card small,.queue-repo,.queue-empty>span{color:var(--muted);font-size:var(--text-sm)}.queue-repo{font-weight:800}.queue-cta{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;background:var(--violet);color:#fff;font-size:var(--text-sm);font-weight:900}.queue-empty{border:1px solid var(--line);border-radius:14px;padding:32px;display:grid;gap:7px;text-align:center;background:var(--paper)}.queue-empty strong{font-size:1.125rem}.queue-browse-action{justify-self:center;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:transparent;color:var(--violet);font:850 var(--text-ui)/1.3 var(--font-ui);padding:10px}.queue-browse-action--primary{margin-top:10px;min-height:42px;padding:0 14px;background:var(--violet);color:#fff}.queue-browse-action--secondary{justify-self:start;color:var(--muted);padding:6px 0}.queue-browse-action:hover{color:#4f34d0}.queue-browse-action--primary:hover{color:#fff;background:#4f34d0}.queue-browse-action--secondary:hover{color:var(--ink)}
.browse-panel{border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;padding:14px;background:var(--paper)}.source-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(300px,1.4fr) auto;gap:11px 12px}
.select-field{display:grid;gap:5px}.select-field>label,.field-help{font-size:var(--text-xs);color:var(--tertiary);font-weight:800}.field-help{font-weight:500}
.select-wrap{position:relative}.select-wrap select{width:100%;min-height:42px;appearance:none;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 34px 0 11px}.select-chevron{position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted)}
.pr-scope{border:0;margin:0;padding:0;display:flex;align-items:center;gap:16px;font-size:var(--text-sm);font-weight:700}.pr-scope label{display:flex;align-items:center;gap:6px}.pr-scope .history{margin-left:auto;color:var(--muted)}.pr-scope input{accent-color:var(--violet)}
.pr-field{grid-column:1/3}.source-controls #refresh-prs{grid-column:3}.source-controls #open-pr{grid-column:3;grid-row:1}

/* selected PR / AI */
.source-picker{background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,620px);align-items:center;gap:22px;padding:12px 22px;position:relative;z-index:30;max-width:100%;min-width:0}.source-picker>*{min-width:0}.source-picker.model-ready{grid-template-columns:minmax(0,1fr)}
.review-toolbar{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.review-toolbar__identity{min-width:0;flex:1 1 auto;overflow:hidden}.review-toolbar__identity strong{display:block;min-width:0;max-width:100%;font-size:var(--text-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysis-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;max-width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(135deg,#faf9ff,var(--paper))}
.analysis-card__icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d8d0ff;background:#fff;border-radius:8px;color:var(--violet);position:relative;isolation:isolate}.analysis-card__copy{display:grid;min-width:0;overflow:hidden}.analysis-card__ready-title{font-size:var(--text-xs);line-height:1.3;color:var(--green);font-weight:900}.analysis-card__status{font-size:var(--text-sm);color:var(--muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.analysis-card__actions .ui-button{min-width:150px}.runtime-action__copy{display:grid;gap:1px;text-align:left}.runtime-action__copy small{font-size:.68rem;line-height:1.05;font-weight:800;opacity:.72;overflow-wrap:anywhere}.analysis-progress{display:none}.analysis-provenance{display:block;margin-top:4px;color:var(--tertiary);font:800 var(--text-xs)/1.35 var(--font-ui);white-space:normal}.review-model-refresh-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.review-model-refresh{display:inline-flex;align-items:center;gap:5px;min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--tertiary);font:800 var(--text-xs)/1.2 var(--font-ui);padding:0 9px}.review-model-refresh:hover{background:var(--soft);color:var(--violet)}
.analysis-card.is-ready-to-start #analyze-pr{position:fixed;left:50%;bottom:24px;z-index:90;min-width:auto;min-height:52px;padding:0 22px;border-radius:999px;box-shadow:0 16px 38px #2d206b33,0 2px 8px #2d206b26;transform:translateX(-50%);animation:smart-review-arrive .52s cubic-bezier(.2,.8,.2,1) both}.analysis-card.is-ready-to-start #analyze-pr:hover{transform:translateX(-50%) translateY(-1px)}.analysis-card.is-ready-to-start #analyze-pr .runtime-action__copy small{display:none}.analysis-card.is-working .analysis-card__actions .ui-button.is-active-build:disabled{opacity:1;cursor:progress;background:var(--violet);color:#fff;border-color:var(--violet)}.analysis-card.is-working #analysis-detail{color:var(--muted)}
@keyframes smart-review-arrive{0%{opacity:0;transform:translateX(-50%) translateY(18px) scale(.96)}70%{opacity:1;transform:translateX(-50%) translateY(-2px) scale(1.01)}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes smart-review-arrive-mobile{0%{opacity:0;transform:translateY(18px) scale(.96)}70%{opacity:1;transform:translateY(-2px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}
.source-error{margin:28px auto;width:min(720px,calc(100% - 28px));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.source-error strong,.source-error span{display:block}.source-error span{color:var(--muted);margin-top:4px}

/* PR context */
.pr-context{background:var(--paper);border-bottom:1px solid var(--line);padding:12px 22px;max-width:100%;min-width:0;overflow:hidden}.pr-context.is-brief-stage{width:min(920px,calc(100% - 36px));margin:20px auto 0;border:1px solid var(--line);border-radius:14px;padding:20px 22px}.pr-context.is-brief-stage .pr-context-head{display:block}.pr-context.is-brief-stage .pr-facts,.pr-context.is-brief-stage .pr-flags,.pr-context.is-brief-stage .knowledge-brief{display:none}.pr-context.is-brief-stage .pr-context-head .eyebrow{display:none}.pr-context.is-brief-stage h3{font-size:1.35rem;margin:0 0 12px}.pr-context.is-brief-stage details{margin-top:12px}.pr-context.is-brief-stage summary{font-size:var(--text-body);padding:8px 0}.pr-context.is-brief-stage .pr-body{max-width:760px}.pr-context.is-compact{padding:0 22px}.pr-context-toggle{width:100%;min-height:42px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:8px;padding:0;font:800 var(--text-sm)/1.3 var(--font-ui);text-align:left}.pr-context-toggle:hover{color:var(--ink)}.pr-context-compact-flags{display:flex;gap:5px;min-width:0}.pr-context-compact-flags span{font-size:var(--text-xs);font-weight:900;padding:3px 6px;border-radius:999px}.pr-context-compact-flags .draft{color:var(--amber);background:var(--amber-soft)}.pr-context-compact-flags .merged{color:var(--violet);background:var(--violet-soft)}.pr-context-compact-flags .conflict{color:var(--red);background:var(--red-soft)}.pr-context-toggle__caret{margin-left:auto;transition:transform .15s ease}.pr-context.is-expanded .pr-context-toggle__caret{transform:rotate(180deg)}.pr-context.is-compact.is-expanded{padding-bottom:12px}.pr-context-head{display:flex;justify-content:space-between;gap:18px}.pr-context h3{font-size:1.25rem;margin:3px 0}.pr-facts{font-size:var(--text-sm);color:var(--muted)}.pr-flags{display:flex;gap:7px;flex-wrap:wrap}.pr-flags span{height:max-content;font-size:var(--text-xs);font-weight:900;padding:4px 7px;border:1px solid var(--line);border-radius:999px}.pr-flags .open{color:var(--green);background:var(--green-soft);border-color:#b7d9c8}.pr-flags .merged{color:var(--violet);background:var(--violet-soft);border-color:#d8d0ff}.pr-flags .conflict{color:var(--red);background:var(--red-soft)}
.pr-context details{margin-top:8px}.pr-context summary{font-weight:800;font-size:var(--text-ui)}.brief-hint{font-weight:500;color:var(--tertiary);margin-left:6px}.pr-translation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:38px;margin:7px 0 10px}.pr-translation__action{min-height:34px;border:1px solid #d8d0ff;border-radius:999px;background:var(--violet-soft);padding:0 11px;color:var(--violet);font-size:var(--text-xs);font-weight:900;text-decoration:none}.pr-translation__action:hover:not(:disabled){border-color:#a99cf5;background:#eeeaff}.pr-translation__action:focus-visible{outline:3px solid #5b3ee433;outline-offset:2px}.pr-translation__action:disabled{cursor:wait;color:var(--tertiary);background:var(--soft);border-color:var(--line)}.pr-translation__status{font-size:var(--text-xs);font-weight:750;color:var(--tertiary)}body[data-review-language="fa"] .pr-translation{direction:rtl}.pr-body{max-width:var(--measure);color:var(--muted);line-height:var(--leading-body);overflow-wrap:anywhere}
.pr-body>:first-child{margin-top:0}.pr-body>:last-child{margin-bottom:0}.pr-body p{margin:.7em 0}.pr-body h1,.pr-body h2,.pr-body h3,.pr-body h4{color:var(--ink);line-height:1.25;margin:1.25em 0 .45em}.pr-body h1{font-size:1.5rem}.pr-body h2{font-size:1.25rem;border-bottom:1px solid var(--line);padding-bottom:.25em}.pr-body h3{font-size:1.125rem}.pr-body h4{font-size:1rem}.pr-body ul,.pr-body ol{padding-left:1.5em;margin:.65em 0}.pr-body li+li{margin-top:.25em}.pr-body blockquote{margin:.8em 0;padding:.1em 0 .1em 1em;border-left:4px solid var(--line);color:var(--tertiary)}.pr-body code{font:var(--text-ui)/1.45 var(--font-mono);background:var(--soft);color:var(--ink);padding:.12em .32em;border-radius:4px}.pr-body pre{max-width:100%;overflow:auto;background:var(--code);color:#eef4ef;padding:12px;border-radius:8px}.pr-body pre code{background:transparent;color:inherit;padding:0;font-size:var(--text-sm)}.pr-body a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:2px}.pr-body img{max-width:100%;height:auto}.pr-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:.8em 0}.pr-body th,.pr-body td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}.pr-body th{background:var(--soft);color:var(--ink)}.pr-body hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}.pr-body input[type="checkbox"]{margin-right:.45em;accent-color:var(--violet)}.conversation{display:grid;gap:8px;margin-top:8px}.conversation article{border-left:3px solid var(--line);padding:7px 10px;background:var(--bg)}.conversation article.draft{border-left-color:var(--violet)}.conversation small{font-size:var(--text-xs);color:var(--tertiary);font-weight:900}.conversation .thread-state{display:inline-flex;align-items:center;gap:4px;font-weight:800}.conversation .thread-state.resolved{color:var(--success)}.conversation .thread-state.open{color:var(--violet)}.conversation .thread-state.outdated{color:var(--tertiary)}.conversation p{margin:3px 0;white-space:pre-wrap;line-height:var(--leading-body);max-width:var(--measure)}.conversation .conversation-body{margin-top:4px}.conversation .conversation-body p{white-space:normal}.conversation .conversation-body>:first-child{margin-top:0}.conversation .conversation-body>:last-child{margin-bottom:0}

/* pre-analysis source inspection */
.source-inspector{width:min(1280px,calc(100% - 32px));max-width:100%;min-width:0;margin:22px auto 0}.source-inspector-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}.source-inspector h3{font-size:1.5rem;margin:3px 0}.source-inspector p{margin:0;color:var(--muted);max-width:var(--measure);line-height:var(--leading-body)}.source-inspector-state{font-size:var(--text-xs);font-weight:900;color:var(--tertiary);background:var(--soft);padding:6px 8px;border-radius:999px;white-space:nowrap}
.source-files{display:grid;gap:9px;min-width:0;max-width:100%}.source-file{border:1px solid var(--line);border-radius:9px;background:var(--paper);overflow:hidden;min-width:0;max-width:100%}.source-file>summary{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:11px 13px;font:700 var(--text-sm)/1.45 var(--font-mono)}.source-file>summary::-webkit-details-marker{display:none}.source-file>summary small{color:var(--muted)}
.source-file[open]>summary{border-bottom:1px solid var(--line)}

/* review model */

.map{background:#fafbfa;border-right:1px solid var(--line);padding:24px 16px;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto}.map-head{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:end;padding:0 7px;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit}.map-head:hover .map-title,.map-head:hover h1{color:var(--violet)}.map-head__meta{display:flex;align-items:center;gap:7px}.map-head__caret{color:var(--tertiary);font-size:1rem;transition:transform .15s ease}.map-head[aria-expanded="true"] .map-head__caret{transform:rotate(180deg)}.map h1{font-size:var(--text-lead);margin:4px 0 0}.progress-text{font-size:var(--text-sm);color:var(--muted)}.progress{height:3px;background:#e1e6e2;margin:14px 7px 14px;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}
.source-accounting{margin:0 7px 14px;padding:9px 10px;border-radius:8px;display:grid;gap:2px;font-size:var(--text-xs)}.source-accounting strong{font-size:var(--text-xs)}.source-accounting span{color:var(--muted)}.source-accounting.blocked{background:var(--amber-soft);color:var(--amber)}.source-accounting.blocked span{color:#76511d}

.collective-assurance{margin:10px 0 0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);display:grid;gap:8px}.collective-assurance[hidden]{display:none}.collective-assurance__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.collective-assurance__head strong{font-size:var(--text-sm)}.collective-assurance__head span{font-size:var(--text-xs);font-weight:800;color:var(--tertiary)}.collective-assurance>p{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.45}.collective-participants{display:flex;flex-wrap:wrap;gap:5px}.collective-person{padding:4px 7px;border-radius:999px;background:var(--soft);font-size:var(--text-xs);font-weight:750;color:var(--muted)}.collective-person.is-you{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.collective-question-state{display:grid;gap:5px;padding-top:7px;border-top:1px solid var(--line)}.collective-question-state small{color:var(--tertiary);line-height:1.4}.collective-question-state span{font-size:var(--text-xs);color:var(--muted)}
#units{display:flex;flex-direction:column;gap:4px}.unit{border:0;background:transparent;text-align:left;width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:9px 8px;border-radius:7px;color:var(--muted)}.unit:hover{background:var(--soft)}.unit.active{background:#e8ece9;color:var(--ink)}.unit-index{font-size:var(--text-xs);padding-top:2px}.unit-copy strong{display:block;font-size:var(--text-ui)}.unit-copy small{display:block;font-size:var(--text-xs);color:var(--tertiary);margin-top:2px}.unit.done .unit-copy small{color:var(--green);font-weight:800}.unit.attention{box-shadow:inset 3px 0 0 var(--red)}.unit.attention .unit-copy small{color:var(--red);font-weight:800}
.unit-jump{display:none}
.review{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:36px 0 120px}.review:focus{outline:none}.review-orientation,.review-head,.review-judgment{width:min(100%,900px);margin-inline:auto}
.orientation-head h2{font-size:clamp(2rem,4vw,2.625rem);letter-spacing:-.045em;line-height:1.05;margin:10px 0 10px}.orientation-head>p{margin:0;color:var(--muted);font-size:var(--text-lead);line-height:var(--leading-body)}
.review-provenance{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:-6px;color:var(--tertiary);font:800 var(--text-xs)/1.35 var(--font-ui)}.review-provenance span{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted)}
.orientation-card p{font-size:var(--text-body);line-height:var(--leading-body);margin:7px 0 0}
.orientation-map-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 10px}.orientation-map-summary span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted);font-size:var(--text-xs);font-weight:800}.orientation-map-summary strong{color:var(--ink);font-size:var(--text-sm)}.orientation-areas{display:grid;gap:6px;margin-top:10px}.orientation-area{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;border-radius:9px;padding:11px 12px}.orientation-area:hover{border-color:#c8c0f5;background:#fdfcff}.orientation-area-index{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--violet-soft);color:var(--violet);font-size:var(--text-xs);font-weight:900}.orientation-area strong{display:block;font-size:var(--text-ui)}.orientation-area small{display:block;margin-top:3px;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.orientation-area-attention{display:inline-block;margin-top:6px;color:var(--red);font-size:var(--text-xs);font-style:normal;font-weight:900}.orientation-area>b{color:var(--violet);padding-top:2px}.overview-return{border:0;background:transparent;color:var(--violet);font:800 var(--text-xs)/1 var(--font-ui);padding:5px 3px;letter-spacing:0;text-transform:none}
.review-head{display:grid;gap:0}.crumb{display:flex;align-items:center;gap:9px;font-size:var(--text-xs);font-weight:900;letter-spacing:.1em;color:var(--tertiary)}.risk{padding:4px 7px;border-radius:5px;letter-spacing:.06em}.risk.high{color:var(--red);background:var(--red-soft)}
.review h2{font-size:clamp(2rem,4vw,2.625rem);letter-spacing:-.045em;line-height:1.05;margin:13px 0 8px}.review-head>p{font-size:var(--text-lead);line-height:var(--leading-body);color:var(--muted);margin:0;max-width:var(--measure)}.review-head--focused{padding-bottom:4px}.review-head--focused .review-question{font-size:clamp(1.08rem,2vw,1.25rem);font-weight:750;color:var(--ink);max-width:62ch}.attention-reason{font-size:var(--text-sm)!important;color:var(--tertiary)!important;margin-top:9px!important}.review-judgment{margin-top:14px}.review-demand__intro{margin:10px 0 12px;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.evidence-claims{display:grid;gap:8px}.evidence-claim{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--paper)}.evidence-claim strong{display:block;font-size:var(--text-sm);line-height:1.45}.evidence-claim p{margin:4px 0 8px;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.evidence-claim__source{border:0;background:transparent;color:var(--violet);padding:2px 0;font:850 var(--text-xs)/1.3 var(--font-ui)}.evidence-claim__source:hover{text-decoration:underline;text-underline-offset:2px}
.flow-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 8px}.flow-review-head>div{display:grid;gap:2px}.flow-review-head>span{font-size:var(--text-xs);font-weight:800;color:var(--tertiary);text-align:right}.flow-trace-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(420px,1fr);gap:20px;align-items:start;margin-top:12px}.flow-trace-map-wrap{position:relative;min-width:0;padding:0 8px 12px}.flow-trace-lanes{display:grid;grid-template-columns:repeat(var(--flow-lanes,1),minmax(150px,1fr));gap:10px;margin:0 0 10px;padding:0 4px}.flow-lane-head{min-width:0;padding:7px 9px;border-bottom:2px solid var(--line);color:var(--tertiary)}.flow-lane-head code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 var(--text-xs)/1.3 var(--font-mono)}.code-flow{position:relative}.code-flow-grid{display:grid;grid-template-columns:repeat(var(--flow-lanes,1),minmax(150px,1fr));grid-auto-rows:minmax(84px,auto);column-gap:10px;row-gap:38px;position:relative;z-index:2}.code-flow-row{grid-column:var(--flow-lane);grid-row:var(--flow-row);min-width:0}.code-flow-step{display:grid;grid-template-columns:26px minmax(0,1fr) 14px;align-items:start;gap:8px;width:100%;min-height:82px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-align:left;box-shadow:0 1px 2px #10181408;position:relative;z-index:2;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.code-flow-step:hover{border-color:var(--violet);box-shadow:0 4px 14px #352d6614}.code-flow-step.is-selected{border-color:var(--violet);box-shadow:0 0 0 2px #6a5bd51f,0 5px 18px #352d6618;transform:translateY(-1px)}.code-flow-step.is-elevated{border-color:#e1b7a7}.code-flow-step.is-elevated.is-selected{border-color:#b75c3e;box-shadow:0 0 0 2px #b75c3e1c,0 5px 18px #61342118}.code-flow-step__index{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--soft);color:var(--muted);font:900 var(--text-xs)/1 var(--font-ui)}.code-flow-step.is-elevated .code-flow-step__index{background:#f8e4dc;color:#8d3a25}.code-flow-step__body{display:grid;gap:3px;min-width:0}.code-flow-source{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--tertiary);font-size:var(--text-xs)}.code-flow-source code:first-child{display:none}.code-flow-source code{font:800 var(--text-xs)/1.35 var(--font-mono);overflow-wrap:anywhere}.code-flow-step__body>strong{font-size:var(--text-sm);line-height:1.32}.code-flow-step__detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.4}.code-flow-step__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.code-flow-badge{display:inline-flex;align-items:center;min-height:19px;padding:2px 6px;border-radius:999px;background:var(--soft);color:var(--muted);font:850 var(--text-xs)/1.1 var(--font-ui)}.code-flow-badge--async{background:#eef4ff;color:#355a91}.code-flow-badge--effect{background:#f1f0fb;color:#5c4b91}.code-flow-badge--attention{background:#f8e4dc;color:#8d3a25}.code-flow-step__jump{color:var(--tertiary);font-weight:900}.flow-trace-edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.flow-edge-path{fill:none;stroke:#a9b0ab;stroke-width:1.7;vector-effect:non-scaling-stroke}.flow-edge-path.is-active{stroke:var(--violet);stroke-width:2.3}.flow-trace-edges marker path{fill:#a9b0ab}.flow-edge-label{fill:var(--tertiary);font:750 var(--text-xs) var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}.flow-focus{position:sticky;top:86px;min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--paper);overflow:hidden;box-shadow:0 4px 18px #1018140b}.flow-focus__empty{padding:22px;color:var(--muted);font-size:var(--text-sm)}.flow-focus__content{min-width:0}.flow-focus__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 13px 9px;background:var(--soft);border-bottom:1px solid var(--line)}.flow-focus__head>div{display:grid;gap:3px;min-width:0}.flow-focus__eyebrow{overflow-wrap:anywhere;color:var(--tertiary);font:800 var(--text-xs)/1.35 var(--font-mono)}.flow-focus__head strong{font-size:var(--text-ui);line-height:1.3}.flow-focus__open{border:0;background:transparent;color:var(--violet);font:850 var(--text-xs)/1.2 var(--font-ui);white-space:nowrap}.flow-focus__content>p{margin:10px 13px 7px;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.flow-focus__badges{display:flex;gap:5px;flex-wrap:wrap;padding:0 13px 10px}.flow-focus__code{max-height:min(58vh,620px);overflow:auto;border-top:1px solid var(--line);background:var(--bg)}.flow-focus__code .diff-hunk{margin:0;border:0;border-radius:0}.flow-focus__expand{display:block;width:100%;padding:10px 12px;border:0;border-top:1px solid var(--line);background:var(--soft);color:var(--violet);font:850 var(--text-xs)/1.2 var(--font-ui);text-align:center}.flow-focus__code .diff-location{position:sticky;top:0;z-index:2}.flow-focus__no-code{padding:18px;color:var(--muted);font-size:var(--text-sm)}.flow-review-hint{display:block;margin-top:10px;color:var(--tertiary);font-size:var(--text-xs);font-weight:750}
.source-file-review{border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}.source-file-review+.source-file-review{margin-top:12px}.source-file-review__head,.source-file-review__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.source-file-review__head{background:var(--soft);border-bottom:1px solid var(--line)}.source-file-review.is-collapsed .source-file-review__head{border-bottom:0}.source-file-review__disclosure{display:flex;align-items:center;gap:8px;min-width:0;min-height:34px;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.source-file-review__disclosure strong{min-width:0;overflow-wrap:anywhere;font-size:var(--text-ui)}.source-file-review__chevron{display:inline-block;color:var(--muted);font-weight:900;transform:rotate(0deg);transition:transform .16s ease}.source-file-review.is-collapsed .source-file-review__chevron{transform:rotate(-90deg)}.source-file-review.is-collapsed .source-file-review__body{display:none}.source-file-review__foot{border-top:1px solid var(--line);background:#fafbfa}.source-file-review__foot small{color:var(--tertiary);font-size:var(--text-xs);font-weight:800}.source-file-review__hunks .source-anchor{margin:0;border:0;border-radius:0}.source-file-review__hunks .source-anchor+.source-anchor{border-top:1px solid var(--line)}.source-file-review__hunks .diff-location strong{display:none}

.review-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:16px;box-shadow:var(--shadow)}.review-section p{line-height:var(--leading-body)}.review-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-context-grid .review-section{margin-top:14px}.lead{font-size:var(--text-body);line-height:var(--leading-body);margin:0;max-width:var(--measure)}.knowledge-panel{border-color:#d8d0ff;background:linear-gradient(135deg,#fff,var(--violet-soft))}.knowledge-panel .panel-label{color:var(--violet)}
.before-after{display:grid;grid-template-columns:1fr 36px 1fr;align-items:stretch}.before-after>div:not(.arrow){background:#f7f8f7;border-radius:8px;padding:14px}.before-after .arrow{display:grid;place-items:center;color:var(--tertiary);font-size:1.25rem}.state{font-size:var(--text-xs);font-weight:900;letter-spacing:.1em}.state.before{color:var(--red)}.state.after{color:var(--green)}.before-after p{font-weight:700;margin:7px 0 0}
.visual-model-panel{border-color:#d8d0ff;background:linear-gradient(135deg,#fff,#faf9ff)}.visual-model-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:6px}.visual-model-head .panel-label{margin-bottom:2px;color:var(--violet)}.visual-model-head>span{font-size:var(--text-xs);font-weight:800;color:var(--tertiary)}.visual-model{display:grid;gap:10px}.visual-node,.visual-edge{font:inherit;color:var(--ink)}
.visual-timeline{display:grid;gap:0;width:min(100%,760px);margin:2px auto 0}.visual-timeline-node{display:grid;grid-template-columns:minmax(78px,auto) minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;text-align:left;border:1px solid #d8d0ff;background:var(--paper);border-radius:10px;padding:9px 11px;box-shadow:0 1px 2px #1018140a}.visual-timeline-node span{display:inline-flex;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;background:var(--violet-soft);color:var(--violet);font-size:var(--text-xs);font-weight:900;letter-spacing:.05em;text-transform:uppercase}.visual-timeline-node strong{min-width:0;font-size:var(--text-ui);line-height:1.35;overflow-wrap:anywhere}.visual-timeline-node[data-visual-hunks]:hover{border-color:var(--violet);background:#fdfcff}.visual-transition{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;min-height:38px;padding:1px 0}.visual-transition::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:#cfc5ff}.visual-transition-rail{position:relative;z-index:1;display:grid;place-items:end center;height:100%;padding-bottom:1px;color:var(--violet);font-weight:900;background:linear-gradient(to right,transparent 0 11px,#faf9ff 11px 18px,transparent 18px)}.visual-transition small{position:relative;z-index:1;justify-self:start;max-width:min(100%,48ch);padding:2px 7px;border-radius:999px;background:#faf9ff;color:var(--muted);font-size:var(--text-xs);font-weight:800;line-height:1.35}
.visual-edge-list{display:grid;gap:7px}.visual-edge{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0;text-align:left;border:1px solid #d8d0ff;background:var(--paper);border-radius:9px;padding:9px 11px;box-shadow:0 1px 2px #1018140a}.visual-edge[data-visual-hunks]:hover{border-color:var(--violet);background:#fdfcff}.visual-edge-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-width:0}.visual-edge-route strong{min-width:0;font-size:var(--text-sm);line-height:1.35;overflow-wrap:anywhere}.visual-edge-route b{color:var(--violet);font-size:1rem}.visual-edge>small{max-width:28ch;text-align:right;color:var(--muted);font-size:var(--text-xs);font-weight:800;line-height:1.35}.visual-model-hint{display:block;margin-top:10px;color:var(--tertiary);font-size:var(--text-xs)}.visual-node:disabled,.visual-edge:disabled{cursor:default;opacity:1}
.panel-intro{font-size:var(--text-ui);line-height:var(--leading-body);color:var(--muted);margin:-2px 0 12px;max-width:var(--measure)}
.source-unavailable{display:grid;gap:2px;padding:12px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:var(--text-sm)}.source-unavailable strong{color:var(--ink)}
.source-anchor-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.source-anchor-head .panel-label{margin-bottom:2px}.source-anchor-head>span{font-size:var(--text-xs);color:var(--tertiary);font-weight:800}.source-anchors{display:grid;gap:14px}.source-anchor{display:grid;gap:8px}.anchor-claims{display:grid;gap:6px}.anchor-claim{border-left:3px solid var(--violet);padding:7px 9px;background:#faf9ff;border-radius:0 7px 7px 0}.anchor-claim strong,.anchor-claim span{display:block}.anchor-claim strong{font-size:var(--text-sm)}.anchor-claim span{margin-top:2px;color:var(--muted);font-size:var(--text-xs);line-height:1.45}
.raw-source-access{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.raw-source-access>summary{font-size:var(--text-sm);font-weight:800;color:var(--muted)}.raw-source-access .source-files{margin-top:10px}
.uncertainty-panel{margin-top:16px;padding:14px 16px;border-left:4px solid var(--amber);background:var(--amber-soft);border-radius:0 9px 9px 0}.uncertainty-panel .panel-label{color:var(--amber);margin-bottom:5px}.uncertainty-panel p{margin:0;color:#684819;font-size:var(--text-ui);line-height:var(--leading-body);max-width:var(--measure)}
.assurance-gap-panel{margin-top:14px;padding:16px;border:1px solid #d9b46b;border-radius:12px;background:var(--amber-soft);display:grid;gap:13px}.assurance-gap-panel[hidden]{display:none}.assurance-gap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.assurance-gap-head .panel-label{color:var(--amber);margin-bottom:4px}.assurance-gap-head strong{font-size:var(--text-lead);line-height:1.25}.assurance-gap-owner{flex:0 0 auto;padding:5px 8px;border-radius:999px;border:1px solid #d9b46b;background:var(--paper);color:#684819;font:850 var(--text-xs)/1.2 var(--font-ui)}.assurance-gap-copy{margin:0;max-width:var(--measure);font-size:var(--text-ui);line-height:var(--leading-body);color:#4f3a1f}.assurance-resolution{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assurance-resolution>div{padding:11px 12px;border:1px solid #e6cf9f;border-radius:9px;background:var(--paper)}.assurance-resolution span{display:block;margin-bottom:4px;color:var(--tertiary);font:850 var(--text-xs)/1.2 var(--font-ui);letter-spacing:.04em}.assurance-resolution strong{display:block;font-size:var(--text-sm);line-height:1.45}.assurance-gap-edit{border-top:1px solid #e6cf9f;padding-top:10px}.assurance-gap-edit>summary{cursor:pointer;font:850 var(--text-sm)/1.3 var(--font-ui);color:var(--muted)}.assurance-gap-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.assurance-gap-fields label{display:grid;gap:5px;font-size:var(--text-xs);font-weight:800;color:var(--muted)}.assurance-gap-fields label:first-child,.assurance-gap-fields label:nth-last-child(-n+2){grid-column:1/-1}.assurance-gap-fields textarea,.assurance-gap-fields select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px 10px;font:inherit}.assurance-gap-actions{display:flex;flex-wrap:wrap;gap:7px}.assurance-gap-actions .ui-button{min-height:38px}.authorization-actions .ui-button.is-active{border-color:var(--violet);background:var(--violet-soft);color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.authorization-actions #judgment-change.is-active{border-color:var(--red);background:var(--red-soft);color:var(--red)}.authorization-actions #judgment-blocked.is-active{border-color:#c08a2b;background:var(--amber-soft);color:#7a561e}

/* exact source diff */
.diff-hunk{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}.diff-location{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;background:var(--soft);border-bottom:1px solid var(--line);font:var(--text-xs)/1.45 var(--font-mono);color:var(--tertiary)}.diff-location strong{color:var(--ink);overflow-wrap:anywhere}.diff-location span{text-align:right}
.diff-lines{overflow-x:auto}.diff-line{display:grid;grid-template-columns:58px minmax(0,1fr);min-width:560px;font:var(--text-ui)/1.55 var(--font-mono)}.diff-line+.diff-line{border-top:1px solid #edf0ed}.diff-line.context{background:var(--paper)}.diff-line.added{background:var(--green-soft)}.diff-line.removed{background:var(--red-soft)}.diff-line.added.intraline-focus,.diff-line.removed.intraline-focus{background:var(--paper)}.diff-line.meta{color:var(--tertiary);font-style:italic}.diff-gutter{display:grid;grid-template-columns:minmax(0,1fr) 14px;align-items:start;color:#8a938e;border-right:1px solid #e0e5e1;user-select:none}.diff-line-number{padding:5px 3px 5px 5px;text-align:right}.diff-mark{padding:5px 1px;text-align:center;font-weight:900}.diff-line.added .diff-mark{color:var(--green)}.diff-line.removed .diff-mark{color:var(--red)}.diff-line.source-selectable .diff-gutter{cursor:pointer}.diff-line.source-selectable .diff-gutter:hover{background:var(--violet-soft);color:var(--violet)}.diff-line.source-selected{box-shadow:inset 3px 0 0 var(--violet)}.diff-line.source-selected .diff-gutter{background:var(--violet-soft);color:var(--violet)}.diff-line code{padding:5px 9px 5px 5px;white-space:pre;color:#28322d}.code-atom,.code-operator{white-space:pre}.diff-line.added .delta-token{background:var(--green-delta);border-radius:3px;font-weight:800}.diff-line.removed .delta-token{background:var(--red-delta);border-radius:3px;font-weight:800}
.diff-gap{min-width:560px;background:var(--paper);border-block:1px solid var(--line)}.diff-gap>summary{list-style:none;padding:6px 10px;text-align:center;color:var(--muted);background:var(--soft);font:800 var(--text-xs)/1.4 var(--font-ui)}.diff-gap>summary::-webkit-details-marker{display:none}.diff-gap[open]>summary{border-bottom:1px solid var(--line)}
.source-finding-hint{display:block;margin:6px 0 10px;color:var(--tertiary);font-size:var(--text-xs);font-weight:750}.source-selection-popover{position:fixed;z-index:110;display:flex;align-items:center;gap:8px;max-width:min(360px,calc(100vw - 20px));padding:7px 8px 7px 10px;border:1px solid #cfc5ff;border-radius:10px;background:var(--paper);box-shadow:0 12px 30px #1712262e,0 2px 8px #1712261f;color:var(--ink)}.source-selection-popover>span{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:750 var(--text-xs)/1.3 var(--font-mono);color:var(--tertiary)}.source-selection-popover button{display:inline-flex;align-items:center;gap:4px;min-height:34px;border:0;border-radius:7px;padding:0 9px;background:var(--violet);color:#fff;font:900 var(--text-xs)/1 var(--font-ui);white-space:nowrap}.source-selection-popover button:focus-visible{outline:3px solid #5b3ee43d;outline-offset:2px}.source-file .diff-hunk{border:0;border-radius:0}.source-file .diff-hunk+.diff-hunk{border-top:8px solid var(--bg)}
.source-files.compact .source-file>summary{font-size:var(--text-xs)}

/* decision bar: judgment dominates, navigation stays quiet */

.decision-nav{display:grid;grid-template-columns:34px auto 34px;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper);color:var(--muted);font-size:var(--text-xs);font-weight:850}.decision-nav__button{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font:800 1.2rem/1 var(--font-ui);padding:0}.decision-nav__button:disabled{color:#b3bbb6;cursor:default}.decision-nav__position{min-width:44px;height:34px;display:grid;place-items:center;padding:0 7px;border-inline:1px solid var(--line);white-space:nowrap}.decision-context strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-complete-action{margin-left:auto;min-height:38px;white-space:nowrap}.resume-state,.draft-state{font-size:var(--text-xs);font-weight:800;white-space:nowrap}.resume-state{color:var(--tertiary);padding:0}.resume-state.error{color:var(--red);background:var(--red-soft);padding:3px 5px;border-radius:999px}.draft-state{color:var(--tertiary)}.decision-actions .ui-button{min-height:42px}
#comment.has-source-selection{border-color:var(--violet);background:var(--violet-soft);color:var(--violet)}
body[data-review-state="blocked"] 

/* communication pass */

.communication-head h1{font-size:clamp(2rem,4vw,2.75rem);line-height:1.05;letter-spacing:-.04em;margin:6px 0 8px}.communication-head p{max-width:var(--measure);margin:0;color:var(--muted);font-size:var(--text-body);line-height:var(--leading-body)}.communication-save-state{display:inline-flex;margin-top:10px}
.communication-summary{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:8px;margin:16px 0 20px}.communication-summary>div{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px 12px}.communication-summary span,.communication-summary strong{display:block}.communication-summary span{font-size:var(--text-xs);font-weight:800;color:var(--tertiary);text-transform:uppercase;letter-spacing:.08em}.communication-summary strong{font-size:1rem;margin-top:2px}
.finding-editor,.author-package{min-width:0}.communication-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.communication-section-head .panel-label{margin-bottom:2px}.communication-section-head h2,.author-package h2{font-size:1.375rem;margin:0}.communication-help,.author-package>p{color:var(--muted);font-size:var(--text-ui);line-height:var(--leading-body)}.findings-list{display:grid;gap:12px;margin-top:14px}.finding-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:14px;box-shadow:var(--shadow);transition:outline-color .2s ease,box-shadow .2s ease}.finding-card.is-new{outline:3px solid #5b3ee42e;outline-offset:2px;box-shadow:0 0 0 5px #5b3ee414}.finding-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.finding-include{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:900}.finding-include input{accent-color:var(--violet)}.finding-intent-select{width:160px}.finding-intent-select select{min-height:36px;font-size:var(--text-sm)}.finding-context{display:grid;gap:2px;margin-bottom:10px;padding:9px 10px;background:var(--soft);border-radius:8px}.finding-context span{font-size:var(--text-xs);font-weight:900;color:var(--tertiary);text-transform:uppercase;letter-spacing:.08em}.finding-context strong{font-size:var(--text-ui)}.finding-context small{font-size:var(--text-xs);color:var(--tertiary)}.finding-source-connector{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 10px;border:1px dashed var(--line);border-radius:8px;background:var(--bg)}.finding-source-connector.is-connected{border-style:solid;border-color:#b7d9c8;background:var(--green-soft)}.finding-source-connector>span{display:grid;gap:1px;min-width:0}.finding-source-connector strong{font-size:var(--text-xs);color:var(--muted)}.finding-source-connector small{font:var(--text-xs)/1.35 var(--font-mono);color:var(--tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finding-source-connector>button,.finding-source-connector>div button{border:0;background:transparent;color:var(--violet);padding:4px 5px;font:850 var(--text-xs)/1.2 var(--font-ui)}.finding-source-connector>div{display:flex;gap:2px;flex-shrink:0}.finding-source-connector>div button:last-child{color:var(--tertiary)}.finding-source-connector button:hover{text-decoration:underline;text-underline-offset:2px}.finding-field{display:grid;gap:5px;margin-top:10px}.finding-field>span{font-size:var(--text-xs);font-weight:900;letter-spacing:.08em;color:var(--tertiary);text-transform:uppercase}.finding-field input,.finding-field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:9px 10px}.finding-field input{font-weight:800}.finding-field textarea{resize:vertical;font-size:var(--text-body);line-height:var(--leading-body)}.finding-field input:focus,.finding-field textarea:focus{outline:3px solid #5b3ee420;border-color:#a99cf5}.finding-anchors{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.finding-anchors>span{font-size:var(--text-xs);font-weight:900;color:var(--tertiary)}.finding-anchors code{font-size:var(--text-xs);background:var(--soft);padding:3px 5px;border-radius:5px;color:var(--muted)}.finding-card>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.finding-origin{font-size:var(--text-xs);color:var(--tertiary);font-weight:800}.finding-source-link{border:0;background:transparent;color:var(--violet);font-size:var(--text-xs);font-weight:900;padding:5px}.findings-empty,.author-preview-empty{display:grid;gap:3px;border:1px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--muted)}.findings-empty strong,.author-preview-empty strong{color:var(--ink)}.findings-empty span,.author-preview-empty span{font-size:var(--text-sm)}
.author-package{position:sticky;top:82px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.author-preview{display:grid;gap:8px;margin:14px 0}.author-preview-item{border-left:3px solid var(--violet);background:var(--bg);border-radius:0 8px 8px 0;padding:10px 11px}.author-preview-item>strong,.author-preview-item>span{display:block}.author-preview-item>strong{font-size:var(--text-ui);margin-top:3px}.author-preview-item p{font-size:var(--text-ui);line-height:var(--leading-body);white-space:pre-wrap;margin:5px 0;color:var(--muted)}.author-preview-item small{font-size:var(--text-xs);color:var(--tertiary)}.author-preview-placement{font-weight:850;color:var(--violet)!important}.finding-intent{font-size:var(--text-xs);font-weight:950;letter-spacing:.09em;text-transform:uppercase}.intent-action{color:var(--red)}.intent-question{color:var(--amber)}.intent-suggestion{color:var(--violet)}.intent-note{color:var(--green)}
.review-outcome{border:0;border-top:1px solid var(--line);padding:12px 0 0;margin:14px 0 10px;display:grid;gap:7px}.review-outcome legend{font-size:var(--text-xs);font-weight:900;color:var(--tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.review-outcome label{display:flex;align-items:center;gap:7px;font-size:var(--text-ui);font-weight:800}.review-outcome input{accent-color:var(--violet)}.outcome-warning{margin:8px 0;padding:8px 10px;border-left:3px solid var(--amber);background:var(--amber-soft);color:#684819;border-radius:0 7px 7px 0;font-size:var(--text-xs);line-height:1.45}.dark .outcome-warning{color:#ead4a8}.prepare-github{width:100%;margin-top:6px}.author-package>small{display:block;text-align:center;color:var(--tertiary);font-size:var(--text-xs);margin-top:7px}
.github-preview-dialog{width:min(680px,calc(100% - 28px))}.github-submit-error{margin:10px 0 14px;padding:10px 12px;border:1px solid #e7bbb7;border-left:3px solid var(--red);border-radius:8px;background:var(--red-soft);color:var(--red);font-size:var(--text-sm);line-height:1.45;white-space:pre-wrap}.review-outcome label.is-disabled{opacity:.5}.review-outcome label.is-disabled input{cursor:not-allowed}.github-preview-body{display:grid;gap:10px;margin:14px 0;max-height:60vh;overflow:auto}.github-preview-delivery{padding:10px 12px;border:1px solid #d8d0ff;border-radius:8px;background:var(--violet-soft);color:var(--ink);font-size:var(--text-sm);line-height:1.45}.github-preview-outcome{display:flex;justify-content:space-between;align-items:center;background:var(--soft);border-radius:8px;padding:9px 11px}.github-preview-outcome span{font-size:var(--text-xs);font-weight:900;color:var(--tertiary);text-transform:uppercase}.github-preview-finding{border:1px solid var(--line);border-radius:9px;padding:12px}.github-preview-finding>span{font-size:var(--text-xs);font-weight:950;color:var(--violet);text-transform:uppercase;letter-spacing:.08em}.github-preview-finding h3{font-size:var(--text-body);margin:4px 0}.github-preview-finding p{white-space:pre-wrap;color:var(--muted);font-size:var(--text-ui);line-height:var(--leading-body);margin:6px 0;max-width:var(--measure)}.github-preview-finding small{font-size:var(--text-xs);color:var(--tertiary)}.github-preview-group{display:grid;gap:8px}.github-preview-group>strong{font-size:var(--text-xs);font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--tertiary)}.github-preview-placement{display:block;margin-bottom:4px;color:var(--violet)!important;font-weight:850}.github-preview-provenance{display:block;color:var(--tertiary);font-size:var(--text-xs);line-height:1.45;border-top:1px solid var(--line);padding-top:10px}

/* focused review handoff */


.communication-back{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:0;background:transparent;color:var(--muted);padding:3px 4px;font:850 var(--text-sm)/1 var(--font-ui)}
.communication-back:hover{color:var(--ink)}
.communication-head__copy{min-width:0}
.communication-head .eyebrow{display:block;margin-bottom:4px}
.communication-head h1{font-size:clamp(1.8rem,3.5vw,2.45rem);margin:0 0 5px}
.communication-head p{font-size:var(--text-ui);max-width:620px}
.communication-save-state{margin-top:7px}
.communication-summary{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:var(--tertiary);font-size:var(--text-xs);font-weight:750}
.communication-summary strong{display:inline;color:var(--ink);font-size:inherit}
.communication-summary span{display:inline;color:inherit;font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:0}

.communication-section-head{align-items:center}
.communication-section-head h2{font-size:1.25rem}
.communication-add-note{border:0;background:transparent;color:var(--violet);padding:5px 2px;font:850 var(--text-xs)/1.2 var(--font-ui)}
.communication-add-note:hover{text-decoration:underline;text-underline-offset:2px}
.communication-help{margin:5px 0 12px;font-size:var(--text-sm);color:var(--tertiary)}
.findings-list{margin-top:0}
.finding-card{padding:12px;border-radius:10px;box-shadow:none}
.finding-card>header{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:10px}
.finding-include{min-height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}
.finding-include span{font-size:var(--text-xs)}
.finding-intent-select{width:138px}
.finding-intent-select select{min-height:34px}
.finding-source-summary{justify-self:end;display:flex;align-items:center;gap:6px;min-width:0}
.finding-source-summary code,.finding-source-summary>span{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:var(--green-soft);color:var(--green);padding:5px 8px;font:800 var(--text-xs)/1.2 var(--font-mono)}
.finding-source-summary.is-pr-level>span{background:var(--soft);color:var(--muted);font-family:var(--font-ui)}
.finding-source-summary button{border:0;background:transparent;color:var(--violet);padding:4px 2px;font:850 var(--text-xs)/1 var(--font-ui)}
.finding-field.finding-message{margin-top:0}
.finding-message>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.finding-field textarea{min-height:88px;background:var(--paper);font-size:var(--text-ui)}
.finding-details{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
.finding-details>summary{width:max-content;color:var(--tertiary);font-size:var(--text-xs);font-weight:850;cursor:pointer}
.finding-details[open]>summary{color:var(--ink)}
.finding-details__body{display:grid;gap:9px;padding-top:9px}
.finding-details .finding-context{margin:0}
.finding-details .finding-field{margin:0}
.finding-details__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.finding-details__actions button{border:0;background:transparent;color:var(--violet);padding:4px;font:850 var(--text-xs)/1.2 var(--font-ui)}
.finding-details__actions button:first-child{color:var(--tertiary)}
.finding-card>footer{display:none}
.author-package{top:72px;padding:14px;box-shadow:none}
.author-package h2{font-size:1.15rem}
.author-package>p{margin:5px 0 10px;font-size:var(--text-sm)}
.author-preview{display:none}
.review-outcome{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;border-top:0;padding:0;margin:10px 0}
.review-outcome legend{grid-column:1/-1;margin-bottom:1px}
.review-outcome label{position:relative;display:block}
.review-outcome input{position:absolute;opacity:0;pointer-events:none}
.review-outcome label span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--bg);text-align:center;font-size:var(--text-xs);font-weight:850;line-height:1.15}
.review-outcome input:checked+span{border-color:var(--violet);background:var(--violet-soft);color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}
.review-outcome input:focus-visible+span{outline:3px solid #5b3ee433;outline-offset:2px}
.prepare-github{min-height:44px;margin-top:8px}
.author-package>small{margin-top:5px}.communication-local-close{display:block;margin:9px auto 0;border:0;background:transparent;color:var(--tertiary);padding:4px 6px;font:800 var(--text-xs)/1.2 var(--font-ui)}.communication-local-close:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}

/* completed review */
.review-complete-workspace{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:42px 0 72px}.review-complete-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.review-complete-head h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:.98;letter-spacing:-.05em;margin:7px 0 12px}.review-complete-head p{max-width:720px;margin:0;color:var(--muted);font-size:1.05rem;line-height:var(--leading-body)}.review-complete-actions{display:flex;gap:8px;flex-shrink:0}.review-complete-receipt{margin:22px 0 26px;border:1px solid #b7d9c8;background:var(--paper);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.review-receipt-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.review-receipt-title strong{font-size:1.2rem}.review-receipt-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.review-receipt-facts>div{background:var(--soft);border-radius:9px;padding:10px 11px}.review-receipt-facts span,.review-receipt-facts strong{display:block}.review-receipt-facts span{font-size:var(--text-xs);font-weight:850;color:var(--tertiary);text-transform:uppercase;letter-spacing:.06em}.review-receipt-facts strong{margin-top:3px;font-size:var(--text-ui)}.review-delivery-warning{margin-top:14px;padding:10px 12px;border:1px solid #e8c58d;border-left:3px solid var(--amber);border-radius:8px;background:var(--amber-soft);color:var(--ink);font-size:var(--text-sm);line-height:1.45}.review-receipt-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.review-receipt-links a{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--violet);font-size:var(--text-xs);font-weight:900;text-decoration:none}.review-receipt-links a:hover{border-color:#a99cf5;background:var(--violet-soft)}.review-complete-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-complete-panel{min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:16px}.review-complete-panel>.panel-label{display:block;margin-bottom:10px}.review-complete-list{display:grid;gap:9px}.review-complete-list>p,.review-complete-list>article{margin:0;padding:10px 11px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:var(--text-ui);line-height:var(--leading-body)}.review-complete-list article{display:grid;gap:4px}.review-complete-list article strong{color:var(--ink);font-size:var(--text-ui)}.review-complete-list article small{color:var(--muted);font-size:var(--text-sm);line-height:1.45}.review-learning-candidates{border-color:#d8d0ff;background:linear-gradient(145deg,var(--paper),var(--violet-soft))}.review-learning-candidates>p{margin:0 0 12px;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.review-complete-empty{font-style:italic;color:var(--tertiary)!important}.review-retrospective-state{margin-top:14px;color:var(--tertiary);font-size:var(--text-sm);line-height:1.45}

/* finding capture */
.capture-dialog .comment-head>div{display:grid;gap:2px}.capture-dialog .comment-head small{font-size:var(--text-xs);font-weight:600;color:var(--tertiary)}.capture-dialog #comment-anchor{display:block;margin-top:7px;color:var(--muted);font-size:var(--text-xs)}.capture-intent{border:0;padding:0;margin:14px 0 6px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.capture-intent legend{grid-column:1/-1;font-size:var(--text-xs);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--tertiary);margin-bottom:5px}.capture-intent label{position:relative}.capture-intent input{position:absolute;opacity:0;pointer-events:none}.capture-intent span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-size:var(--text-ui);font-weight:850}.capture-intent input:checked+span{border-color:var(--violet);background:var(--violet-soft);color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.capture-intent input:focus-visible+span{outline:3px solid #5b3ee433;outline-offset:2px}.capture-dialog textarea{min-height:108px}.finding-card[data-captured="true"]{border-left:3px solid var(--violet)}
/* dialogs / feedback */
.comment-dialog{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--paper);color:var(--ink);width:min(560px,calc(100% - 28px))}.source-attach-dialog{width:min(1280px,calc(100% - 28px));max-height:88vh}.source-attach-dialog form{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-height:88vh}.source-attach-dialog .comment-head>div{display:grid;gap:2px}.source-attach-dialog .comment-head small{font-size:var(--text-xs);color:var(--tertiary)}.source-attach-selection{margin:10px 0 12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font:800 var(--text-sm)/1.35 var(--font-ui);color:var(--muted)}.source-attach-files{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.source-attach-files .source-file{border:0;border-bottom:1px solid var(--line);border-radius:0}.source-attach-files .source-file:last-child{border-bottom:0}.source-attach-dialog .comment-actions{padding-top:12px}.source-attach-dialog .diff-line.source-selectable .diff-gutter{cursor:pointer}.comment-dialog::backdrop{background:#0007}.comment-dialog form{padding:18px}.comment-head{display:flex;justify-content:space-between;align-items:center}.comment-head button{border:0;background:none;font-size:1.5rem;color:var(--ink)}.comment-dialog textarea{width:100%;margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--bg);color:var(--ink);resize:vertical}.comment-actions{display:flex;justify-content:flex-end;gap:8px}.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.review-summary>div{padding:10px;background:var(--soft);border-radius:8px}.review-summary span,.review-summary strong{display:block}.review-summary span{font-size:var(--text-xs);color:var(--tertiary)}.review-summary strong{font-size:var(--text-ui);margin-top:2px}.completion-source{font-size:var(--text-sm);color:var(--muted)}.completion-note{font-size:var(--text-ui);color:var(--muted)}
.toast{position:fixed;right:20px;bottom:82px;background:#17211d;color:#fff;padding:10px 14px;border-radius:8px;opacity:0;transform:translateY(5px);transition:.2s;z-index:70;font-size:var(--text-ui)}.toast.show{opacity:1;transform:none}

/* dark */
.dark{--bg:#111713;--paper:#18211c;--soft:#253029;--ink:#edf2ef;--muted:#a9b3ad;--tertiary:#8f9a94;--line:#344039;--green-soft:#17392c;--green-delta:#275b43;--red-soft:#422725;--red-delta:#633632;--amber-soft:#3a301f;--violet-soft:#292342}
.dark .code-flow-step,.dark .flow-focus{background:#202923}.dark .code-flow-step:hover{background:#292342}.dark .code-flow-step.is-elevated{border-color:#7d5143}.dark .code-flow-step__index{background:#18211c}.dark .code-flow-badge--async{background:#1d2a3b;color:#abc8f2}.dark .code-flow-badge--effect{background:#292342;color:#c9c0f3}.dark .code-flow-badge--attention{background:#3a2721;color:#efb7a3}.dark .flow-focus__head{background:#18211c}.dark .flow-focus__code{background:#131b16}.dark .flow-edge-label{stroke:#202923}.dark .source-selection-popover{border-color:#5e50a1;background:#202923}.dark .source-file-review__head,.dark .source-file-review__foot{background:#202923}.dark .map{background:#131b16}.dark .analysis-card{background:#292342}.dark .dark .dark .dark .dark .evidence-claim{background:#202923}.dark .diff-line code{color:#e6ece8}.dark .diff-line.context{background:#18211c}.dark .dark .before-after>div:not(.arrow){background:#202923}.dark .uncertainty-panel p{color:#ead4a8}

/* responsive */
@media(min-width:1181px){
 .review-on-demand>#flow-demand[open]{width:100%;margin-inline:0}
 
 .flow-trace-map-wrap{min-height:520px}
 .flow-focus{top:78px}
 .flow-focus__code .diff-line{min-width:640px}
}
@media(max-width:1180px){
 .source-picker{grid-template-columns:1fr;gap:10px}
 
 .map{position:sticky;top:64px;height:auto;z-index:25;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px;background:var(--paper);overflow:visible}
 .map-head{padding:0}.map-head .eyebrow{display:none}.map h1{font-size:var(--text-ui);margin:0}.progress{margin:7px 0}.source-accounting{margin:0 0 8px;padding:7px 8px}.review-area-access{padding-top:4px}
 #units{display:none}.unit-jump{display:block}.unit-jump>label{display:block;font-size:var(--text-xs);font-weight:900;color:var(--tertiary);margin-bottom:4px}.unit-jump .select-wrap select{min-height:38px;font-size:var(--text-sm)}
 .map-footer{display:none}
 
 .review{width:min(100% - 28px,1120px)}
}

@media(max-width:900px){
 .orientation-footprint{grid-template-columns:1fr 1fr}

 .pr-meta span:not(.repo){display:none}
 .source-picker{grid-template-columns:1fr;gap:10px}.pr-context.is-brief-stage{width:min(920px,calc(100% - 28px));margin-top:14px}
 .analysis-card__actions .ui-button{min-width:130px}
 
 .map{position:sticky;top:64px;height:auto;z-index:25;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px;background:var(--paper);overflow:visible}
 .map-head{padding:0}.map-head .eyebrow{display:none}.map h1{font-size:var(--text-ui);margin:0}.progress{margin:7px 0}.source-accounting{margin:0 0 8px;padding:7px 8px}.review-area-access{padding-top:4px}
 #units{display:none}.unit-jump{display:block}.unit-jump>label{display:block;font-size:var(--text-xs);font-weight:900;color:var(--tertiary);margin-bottom:4px}.unit-jump .select-wrap select{min-height:38px;font-size:var(--text-sm)}
 .map-footer{display:none}
 .review{width:min(100% - 28px,900px);padding-top:24px}
 
 .review-context-grid{grid-template-columns:1fr}.review-context-grid .review-section{margin-top:12px}
}
@media(max-width:650px){.flow-focus{margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;border-radius:0}.flow-focus__head{padding-left:12px;padding-right:12px}.flow-focus__content>p,.flow-focus__badges{padding-left:12px;padding-right:12px}.flow-focus__code .diff-location{padding-left:8px;padding-right:8px}.flow-focus__code .diff-line{grid-template-columns:42px minmax(0,1fr)}.flow-focus__code .diff-line code{font-size:12px;line-height:1.45}.flow-review-head{display:grid;gap:6px}.flow-review-head>span{text-align:left}.flow-trace-layout{display:block}.flow-trace-lanes,.flow-trace-edges{display:none}.flow-trace-map-wrap{padding:0}.code-flow-grid{display:grid;grid-template-columns:24px minmax(0,1fr);grid-auto-rows:auto;row-gap:0}.code-flow-row{grid-column:1 / -1!important;grid-row:auto!important;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;position:relative;padding-bottom:10px}.code-flow-row:before{content:"";grid-column:1;justify-self:center;width:2px;height:100%;background:var(--line);position:absolute;top:24px}.code-flow-row:last-child:before{display:none}.code-flow-step{grid-column:2;grid-template-columns:24px minmax(0,1fr) 14px;min-height:0;padding:9px 10px;gap:7px}.code-flow-source{display:flex}.code-flow-source code:first-child{display:inline}.code-flow-step__detail{-webkit-line-clamp:1}.flow-focus{position:static;margin-top:4px}.flow-focus__code{max-height:none;overflow:visible}
 .source-file-review__head,.source-file-review__foot{align-items:flex-start}.source-file-review__foot{display:grid}
 .orientation-head h2{font-size:2rem}.orientation-head>p{font-size:var(--text-body)}.orientation-footprint{gap:6px}.orientation-footprint>div{padding:9px 10px}.orientation-area{grid-template-columns:26px minmax(0,1fr) auto;padding:10px}.orientation-area small{font-size:var(--text-sm)}.orientation-actions .ui-button{width:100%}

 .visual-timeline{width:100%}.visual-timeline-node{grid-template-columns:1fr;gap:5px;padding:9px 10px}.visual-timeline-node span{font-size:.6875rem}.visual-transition{grid-template-columns:26px minmax(0,1fr);min-height:34px}.visual-transition::before{left:12px}.visual-transition small{max-width:100%;padding-left:5px}.visual-edge{grid-template-columns:1fr;gap:4px;padding:9px 10px}.visual-edge-route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}.visual-edge>small{text-align:left;max-width:none;padding-left:0}

 body{padding-bottom:112px}
 .topbar{min-height:56px;height:auto;padding:6px 14px;grid-template-columns:minmax(0,1fr) auto}.pr-meta{display:none}.logo{font-size:1.25rem}.topbar-actions{gap:4px}.language-control select{width:max-content;min-width:104px;max-width:126px;height:40px;padding-left:9px;padding-right:23px}.nav-notifications,.icon-btn{width:40px;height:40px}
 .analysis-card.is-ready-to-start #analyze-pr{left:14px;right:14px;bottom:18px;width:calc(100% - 28px);justify-content:center;transform:none;animation-name:smart-review-arrive-mobile}.analysis-card.is-ready-to-start #analyze-pr:hover{transform:translateY(-1px)}.review-home{padding:28px 14px 48px}.home-head{grid-template-columns:1fr;gap:18px;align-items:start}.pr-context.is-brief-stage{width:calc(100% - 28px);padding:16px 14px}.home-head h1{font-size:2.35rem}.home-meta{justify-items:start}.home-queue-status{white-space:normal}.queue-card--primary{padding:18px 18px 74px}.queue-cta{left:18px;right:auto;top:auto;bottom:16px;transform:none}.browse-panel{padding:10px}.source-controls{grid-template-columns:1fr}.pr-field,.source-controls #refresh-prs,.source-controls #open-pr{grid-column:1;grid-row:auto}.pr-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pr-scope .history{grid-column:1/-1;margin-left:0}
 .source-picker{padding:10px 14px}.source-picker.model-ready{grid-template-columns:minmax(0,1fr)}.review-model-refresh__label{display:inline}.review-model-refresh-actions{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:4px;order:5}.review-model-refresh{width:100%;min-height:44px;justify-content:center;padding:0 9px;flex:0 0 auto}.pr-context{padding-inline:14px}.pr-context.is-compact{padding-inline:14px}.pr-context-toggle{min-height:40px}.review-toolbar{min-width:0}.review-toolbar__identity{min-width:0;overflow:hidden}.analysis-card{grid-template-columns:32px minmax(0,1fr);padding:9px}.analysis-card__status{white-space:normal}.analysis-card #analyze-pr{grid-column:1/-1;width:100%;margin-top:2px}
 .pr-context{padding:11px 14px}.pr-context-head{display:block}.pr-flags{margin-top:8px}
 .source-inspector{width:calc(100% - 28px);margin-top:16px}.source-inspector-head{display:block}.source-inspector-state{display:inline-flex;margin-top:8px}
 .map{top:56px}
 .review{width:100%;padding:20px 14px 96px}.review h2{font-size:2rem}.review-head>p{font-size:var(--text-body)}.attention-reason{font-size:var(--text-xs)!important}
 .review-section{padding:15px}.before-after{grid-template-columns:1fr}.before-after .arrow{height:26px;transform:rotate(90deg)}.knowledge-panel{background:var(--paper);border-left:4px solid var(--violet)}
 .source-selection-popover{max-width:calc(100vw - 16px);padding:6px 7px 6px 9px}.source-selection-popover>span{max-width:130px}.source-selection-popover button{min-height:38px;padding-inline:10px}
 .source-anchor-head{align-items:flex-start}.source-anchor>.diff-hunk{margin-inline:-15px;border-inline:0;border-radius:0}.diff-location{display:block;padding-inline:8px}.diff-location span{display:block;text-align:left;margin-top:2px}
 .diff-lines{margin-right:-1px;overflow-x:hidden}
 .diff-line{grid-template-columns:44px minmax(0,1fr);min-width:0;align-items:start}
 .diff-gutter{grid-template-columns:minmax(0,1fr) 11px}
 .diff-line-number{padding:5px 2px 5px 3px;font-size:.6875rem}
 .diff-line code{min-width:0;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;padding:5px 7px 5px calc(4px + var(--wrap-indent,2ch));text-indent:calc(-1 * var(--wrap-indent,2ch))}
 .code-atom{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
 .code-operator{white-space:nowrap}
 .diff-mark{padding-inline:0;font-size:.75rem}
 .diff-line.added{background:var(--green-soft)}
 .diff-line.removed{background:var(--red-soft)}
 .diff-gap{min-width:0}
 .diff-gap>summary{padding:7px 8px;font-size:var(--text-xs)}
 .decision-nav{grid-column:1}.decision-context strong{display:none}.decision-context .resume-state,.decision-context .draft-state{display:none}.review-complete-action{min-height:40px;margin-left:auto;padding:0 10px;font-size:var(--text-xs)}.decision-actions .ui-button{min-height:44px;padding:0 8px;font-size:var(--text-xs)}.decision-context #comment{min-height:40px;padding:0 9px;font-size:var(--text-xs)}.assurance-resolution{grid-template-columns:1fr}.assurance-gap-fields{grid-template-columns:1fr}.assurance-gap-fields label{grid-column:1!important}.assurance-gap-head{display:grid}.assurance-gap-owner{justify-self:start}
 .capture-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:16px 16px 0 0;border-inline:0;border-bottom:0}.capture-dialog form{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.capture-intent{grid-template-columns:1fr 1fr}.capture-intent span{min-height:42px}.capture-dialog textarea{min-height:116px}
 .communication-back{width:max-content;margin-left:-4px}.communication-head h1{font-size:1.75rem}.communication-head p{font-size:var(--text-sm)}.communication-summary{margin-top:7px}.author-package{position:static;order:-1}.communication-section-head{align-items:center}.communication-add-note{min-height:38px}.communication-help{margin:3px 0 10px}.finding-card>header{grid-template-columns:auto minmax(0,1fr);align-items:center}.finding-intent-select{width:100%}.finding-source-summary{grid-column:1/-1;justify-self:start;width:100%;justify-content:space-between}.finding-source-summary code,.finding-source-summary>span{max-width:210px}.finding-field textarea{min-height:100px}.review-outcome label span{min-height:44px;padding-inline:3px}.github-preview-body{max-height:65vh}
 .review-complete-workspace{width:calc(100% - 28px);padding:24px 0 48px}.review-complete-head{display:block}.review-complete-head h1{font-size:2.35rem}.review-complete-head p{font-size:var(--text-ui)}.review-complete-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}.review-complete-actions .ui-button{width:100%}.review-receipt-title{display:grid;gap:4px}.review-receipt-facts{grid-template-columns:1fr 1fr}.review-complete-grid{grid-template-columns:1fr}.source-attach-dialog{width:100%;max-width:none;max-height:94vh;margin:auto 0 0;border-radius:16px 16px 0 0;border-inline:0;border-bottom:0}.source-attach-dialog form{max-height:94vh;padding:16px 14px calc(14px + env(safe-area-inset-bottom))}.source-attach-files .diff-line{grid-template-columns:44px minmax(0,1fr);min-width:0}.source-attach-files .diff-line code{min-width:0;white-space:pre-wrap;overflow-wrap:normal;word-break:normal}
 .review-summary{grid-template-columns:1fr}.toast{bottom:112px;right:14px}
}

@media(prefers-reduced-motion:reduce){
 .analysis-card.is-ready-to-start #analyze-pr{animation:none}
}

.model-history{margin-left:auto;min-height:36px;border:0;background:transparent;color:var(--violet);font:800 var(--text-xs)/1.2 var(--font-ui);padding:0 8px;border-radius:8px}.model-history:hover{background:var(--violet-soft)}.model-history-dialog{width:min(1040px,calc(100% - 24px))}.model-history-copy{color:var(--muted);margin:0 0 14px}.model-history-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.model-history-controls label{display:grid;gap:5px;font-size:var(--text-xs);font-weight:800;color:var(--tertiary)}.model-history-controls select{min-height:42px;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 9px}.model-comparison{margin-top:16px}.model-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.model-snapshot-column{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.model-snapshot-column>header{display:grid;gap:3px;padding:11px 12px;background:var(--soft)}.model-snapshot-column>header small{color:var(--tertiary)}.model-snapshot-areas{display:grid}.model-snapshot-areas article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:11px 12px;border-top:1px solid var(--line)}.model-snapshot-areas article>small{color:var(--tertiary);font-weight:900}.model-snapshot-areas p{margin:4px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.model-snapshot-areas em{display:block;margin-top:5px;color:var(--amber);font-size:var(--text-xs);line-height:1.4}.model-history-empty{color:var(--muted)}
@media(max-width:650px){.model-history{min-height:44px;padding:0 10px}.model-history-controls{grid-template-columns:1fr}.model-compare-grid{grid-template-columns:1fr}.model-history-dialog{width:calc(100% - 12px)}}

.rebuild-status{display:inline-flex;align-items:center;min-height:32px;max-width:280px;padding:0 8px;border-radius:8px;font:800 var(--text-xs)/1.25 var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tertiary);background:var(--soft)}.rebuild-status[data-state="working"]{color:var(--violet);background:var(--violet-soft)}.rebuild-status[data-state="success"]{color:var(--green);background:var(--green-soft)}.rebuild-status[data-state="error"]{color:var(--red);background:var(--red-soft)}
@media(max-width:650px){.rebuild-status{order:4;flex-basis:100%;max-width:100%;min-height:40px;white-space:normal}.review-toolbar{flex-wrap:wrap}}


/* Authorization Workspace — one question, one surface */
.authorization-workspace{
 width:min(1320px,100%);
 margin:0 auto;
 padding:14px 24px 170px;
 display:grid;
 gap:0;
 min-width:0
}
.authorization-layout[hidden]{display:none!important}

/* The change brief is a destination, not permanent chrome above every judgment. */
.authorization-brief{
 width:min(980px,100%);
 margin:18px auto 0;
 padding:18px 0 28px;
 display:grid;
 gap:22px
}
.authorization-brief__top{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:20px
}
.authorization-brief__top h1{
 margin:5px 0 0;
 max-width:18ch;
 font-size:clamp(2rem,4vw,3rem);
 letter-spacing:-.045em;
 line-height:1.02
}
.authorization-brief__grid{
 display:grid;
 grid-template-columns:1.1fr .9fr;
 gap:30px;
 padding:4px 0 20px;
 border-bottom:1px solid var(--line)
}
.authorization-brief__grid>section{min-width:0}
.authorization-brief__grid p{
 margin:6px 0 0;
 color:var(--muted);
 font-size:var(--text-body);
 line-height:1.58
}
.authorization-brief__route{
 display:grid;
 gap:12px;
 padding-top:2px
}
.authorization-brief__route-head{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:18px
}
.authorization-brief__route-head>span{
 color:var(--tertiary);
 font-size:var(--text-xs);
 font-weight:800
}
.orientation-map-summary{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:2px
}
.authorization-brief .orientation-areas{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px
}
.authorization-brief .orientation-area{
 min-height:54px;
 text-align:left;
 border:1px solid var(--line);
 border-radius:11px;
 background:var(--paper);
 box-shadow:none
}
.authorization-brief .orientation-area:hover{border-color:var(--violet)}
.authorization-current{justify-self:start;margin-top:2px}

/* Question navigation is one thin strip. It replaces the old left-hand dashboard rail. */
.authorization-layout{
 display:block;
 min-width:0
}
.authorization-rail.map{
 position:sticky;
 top:64px;
 z-index:34;
 width:100%;
 max-height:none;
 overflow:visible;
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:8px 16px;
 margin:0;
 padding:8px 0 9px;
 border:0;
 border-bottom:1px solid var(--line);
 background:var(--paper);
 box-shadow:none
}
.authorization-rail .map-head{
 min-width:118px;
 padding:0;
 border:0;
 background:transparent
}
.authorization-rail .map-head>div{display:grid;gap:1px}
.authorization-rail .map-head .eyebrow{font-size:.65rem}
.authorization-rail .map-head h1{display:none}
.authorization-rail .map-head__meta{margin-left:auto}
.authorization-rail .progress{
 position:absolute;
 left:0;
 right:0;
 bottom:-1px;
 height:2px;
 margin:0;
 border-radius:0;
 overflow:hidden
}
.authorization-rail .review-area-access{
 display:block;
 min-width:0;
 padding:0;
 overflow:hidden
}
.authorization-rail #units{
 display:flex;
 align-items:center;
 gap:5px;
 overflow-x:auto;
 overscroll-behavior-inline:contain;
 scrollbar-width:none;
 padding:1px 2px
}
.authorization-rail #units::-webkit-scrollbar{display:none}
.authorization-rail .unit{
 flex:0 0 auto;
 width:auto;
 max-width:260px;
 min-height:38px;
 padding:6px 9px;
 display:flex;
 align-items:center;
 gap:7px;
 border:1px solid transparent;
 border-radius:9px;
 background:transparent;
 box-shadow:none
}
.authorization-rail .unit:hover{background:var(--soft)}
.authorization-rail .unit.active{
 border-color:var(--line-strong);
 background:var(--soft);
 box-shadow:none
}
.authorization-rail .unit-index{
 width:22px;
 height:22px;
 display:grid;
 place-items:center;
 flex:0 0 22px;
 border-radius:999px;
 background:var(--soft);
 color:var(--tertiary);
 font-size:.68rem;
 font-weight:900
}
.authorization-rail .unit.active .unit-index{
 background:var(--violet);
 color:#fff
}
.authorization-rail .unit.done .unit-index{
 background:var(--green-soft);
 color:var(--green)
}
.authorization-rail .unit.attention .unit-index{
 background:var(--amber-soft);
 color:#7a561e
}
.authorization-rail .unit-copy{
 min-width:0;
 display:grid;
 gap:0;
 text-align:left
}
.authorization-rail .unit-copy strong{
 max-width:190px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:var(--text-xs)
}
.authorization-rail .unit-copy small{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:var(--tertiary);
 font-size:.67rem
}
.authorization-rail .unit-jump{display:none}
.authorization-rail .source-accounting{
 grid-column:1/-1;
 margin:3px 0 0
}
.authorization-rail .collective-assurance{
 grid-column:1/-1;
 margin:3px 0 0;
 padding:8px 0 0;
 border:0;
 border-top:1px solid var(--line);
 border-radius:0;
 background:transparent
}

/* The active question is the page. */
.authorization-case.review{
 width:min(1160px,100%);
 margin:0 auto;
 padding:28px 0 20px;
 min-width:0
}
.authorization-case__head{
 width:100%;
 max-width:900px;
 margin:0;
 padding:0 0 22px;
 border:0;
 background:transparent;
 box-shadow:none
}
.authorization-case__head .crumb{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:8px
}
.authorization-case__head .overview-return{
 margin-left:auto;
 border:0;
 background:transparent;
 color:var(--violet);
 font-weight:850
}
.authorization-case__head h2{
 margin:12px 0 8px;
 max-width:24ch;
 font-size:clamp(2.25rem,4.6vw,3.6rem);
 letter-spacing:-.05em;
 line-height:.98
}
.authorization-case__head .review-question{
 max-width:62ch;
 margin:0;
 color:var(--ink);
 font-size:clamp(1.08rem,2vw,1.28rem);
 font-weight:720;
 line-height:1.45
}
.authorization-case__head .attention-reason{
 max-width:72ch;
 margin:10px 0 0;
 color:var(--muted);
 font-size:var(--text-sm);
 line-height:1.48
}
.authorization-case-grid{
 display:grid;
 grid-template-columns:minmax(0,1.5fr) minmax(310px,.68fr);
 gap:46px;
 align-items:start;
 min-width:0
}

/* The assurance argument is editorial, not a pile of cards. */
.assurance-case{
 min-width:0;
 display:grid;
 gap:0
}
.assurance-argument{
 display:grid;
 gap:0;
 padding:0;
 border:0;
 background:transparent;
 box-shadow:none
}
.assurance-now{
 display:grid;
 gap:6px;
 padding:0 0 18px
}
.assurance-now .panel-label{color:var(--violet)}
.assurance-now p{
 margin:0;
 max-width:48ch;
 color:var(--ink);
 font-size:clamp(1.25rem,2.35vw,1.65rem);
 font-weight:770;
 line-height:1.4
}
.assurance-consequence{
 padding:17px 0 18px;
 border:0;
 border-top:1px solid var(--line);
 border-radius:0;
 background:transparent
}
.assurance-consequence p{
 margin:6px 0 0;
 max-width:62ch;
 color:var(--muted);
 font-size:var(--text-body);
 line-height:1.58
}
.case-context{
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 gap:12px;
 align-items:start;
 padding:0 0 18px
}
.case-context .panel-label{
 margin-top:3px;
 color:var(--tertiary)
}
.case-context p{
 margin:0;
 color:var(--muted);
 font-size:var(--text-sm);
 line-height:1.52
}
.assurance-argument .visual-model-panel{
 margin:0 0 18px;
 padding:14px 0 18px;
 border:0;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 border-radius:0;
 background:transparent;
 box-shadow:none
}
.case-flow{
 display:block;
 margin:0;
 padding:18px 0 0;
 border:0;
 border-top:1px solid var(--line);
 background:transparent;
 box-shadow:none;
 overflow:hidden
}
.case-flow__summary{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 gap:14px;
 margin-bottom:8px
}
.case-flow__summary>span:first-child{display:grid;gap:2px}
.case-flow__meta{
 color:var(--tertiary);
 font-size:var(--text-xs);
 font-weight:800
}
.case-flow .panel-intro{
 margin:4px 0 12px;
 color:var(--muted)
}
.case-flow .flow-trace-layout{margin-top:8px}
.case-flow .flow-focus{top:auto}
.flow-review-hint{
 display:block;
 margin-top:8px;
 color:var(--tertiary);
 font-size:var(--text-xs)
}
.uncertainty-panel{
 margin-top:18px;
 padding:12px 0 12px 15px;
 border:0;
 border-left:3px solid var(--amber);
 border-radius:0;
 background:transparent
}
.uncertainty-panel p{
 margin:0;
 color:var(--muted);
 font-size:var(--text-sm);
 line-height:1.52
}

/* "I cannot decide yet" becomes a path forward, not an error card. */
.assurance-gap-panel{
 margin-top:18px;
 padding:16px 18px;
 display:grid;
 gap:12px;
 border:0;
 border-left:3px solid #c08a2b;
 border-radius:0 12px 12px 0;
 background:var(--amber-soft)
}
.assurance-gap-panel[hidden]{display:none}
.assurance-gap-head{gap:12px}
.assurance-resolution{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px
}
.assurance-gap-actions{
 display:flex;
 flex-wrap:wrap;
 gap:7px
}

/* Evidence is a single verification sidecar. */
.evidence-inspector{
 position:sticky;
 top:126px;
 min-width:0;
 max-height:calc(100vh - 148px);
 overflow:auto;
 display:grid;
 gap:0;
 padding:15px 17px;
 border:1px solid var(--line);
 border-radius:14px;
 background:var(--soft);
 box-shadow:none
}
.evidence-inspector__head{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:3px 10px;
 padding:0 0 11px
}
.evidence-inspector__head>div{display:grid;gap:2px}
.evidence-inspector__head small{
 grid-column:1/-1;
 color:var(--tertiary);
 line-height:1.42
}
.evidence-inspector__meta{
 align-self:start;
 color:var(--tertiary);
 font-size:var(--text-xs);
 font-weight:800
}
.evidence-inspector__body{display:grid;gap:0}
.evidence-note{
 justify-self:start;
 margin:0 0 6px
}
.evidence-panel{
 min-width:0;
 padding:11px 0;
 border:0;
 border-top:1px solid var(--line);
 border-radius:0;
 background:transparent;
 box-shadow:none
}
.evidence-panel__head{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 gap:10px;
 margin:0 0 6px
}
.evidence-panel__head small{
 color:var(--tertiary);
 font-weight:800
}
.evidence-panel .review-demand__intro{
 margin:0 0 8px;
 color:var(--tertiary);
 font-size:var(--text-xs);
 line-height:1.45
}
.evidence-claims{display:grid;gap:0}
.evidence-claim{
 padding:10px 0;
 border:0;
 border-top:1px solid var(--line);
 border-radius:0;
 background:transparent
}
.evidence-claim:first-child{border-top:0}
.evidence-claim strong{
 display:block;
 font-size:var(--text-sm);
 line-height:1.42
}
.evidence-claim p{
 margin:3px 0 6px;
 color:var(--muted);
 font-size:var(--text-xs);
 line-height:1.45
}
.evidence-claim__source{
 padding:2px 0;
 border:0;
 background:transparent;
 color:var(--violet);
 font:850 var(--text-xs)/1.3 var(--font-ui)
}
.evidence-code>summary{
 min-height:38px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 cursor:pointer;
 list-style:none
}
.evidence-code>summary::-webkit-details-marker{display:none}
.evidence-code>summary b{
 color:var(--tertiary);
 font-size:1rem;
 font-weight:500;
 transition:transform .15s ease
}
.evidence-code[open]>summary b{transform:rotate(45deg)}
.evidence-code__body{
 max-height:52vh;
 overflow:auto;
 padding-top:8px
}
.evidence-code .source-anchors{gap:9px}
.evidence-code .diff-line{min-width:620px}

/* The human decision stays available without covering the evidence being read. */
.judgment-console-sentinel{height:1px}
.judgment-console__toggle{display:none}
.judgment-console{
 position:fixed;
 left:50%;
 bottom:16px;
 z-index:48;
 width:min(1080px,calc(100vw - 48px));
 transform:translateX(-50%);
 margin:0;
 padding:10px 12px;
 display:grid;
 grid-template-columns:minmax(150px,.55fr) minmax(520px,2fr) auto;
 align-items:center;
 gap:12px;
 border:1px solid var(--line-strong);
 border-radius:16px;
 background:var(--paper);
 box-shadow:0 18px 50px rgba(20,24,40,.18)
}
.judgment-console__head{
 min-width:0;
 display:grid;
 grid-template-columns:1fr;
 gap:2px
}
.judgment-console__head>div:first-child{display:grid;gap:1px}
.judgment-console__head .panel-label{font-size:.64rem}
.judgment-console__head strong{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:var(--text-xs)
}
.judgment-console__head .decision-nav{display:none}
.judgment-console .authorization-actions{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:6px
}
.judgment-console .authorization-actions .ui-button{
 min-height:44px;
 padding:8px 10px;
 white-space:normal;
 font-size:var(--text-sm)
}
.judgment-console__foot{
 min-width:0;
 display:flex;
 align-items:center;
 gap:7px;
 padding:0
}
.judgment-console__foot .resume-state:not(.error),
.judgment-console__foot .draft-state{display:none!important}
.judgment-console__foot .review-complete-action{
 margin:0;
 white-space:nowrap
}
.authorization-actions .ui-button.is-active{
 border-color:var(--violet);
 background:var(--violet-soft);
 color:var(--violet);
 box-shadow:inset 0 0 0 1px var(--violet)
}
.authorization-actions #judgment-change.is-active{
 border-color:var(--red);
 background:var(--red-soft);
 color:var(--red)
}
.authorization-actions #judgment-blocked.is-active{
 border-color:#c08a2b;
 background:var(--amber-soft);
 color:#7a561e
}
body[data-review-state="blocked"] .judgment-console{border-color:#c08a2b}

/* Handoff is a separate mode, so it can be calm and complete. */
.authorization-handoff{
 margin-top:10px;
 padding:24px 0;
 display:grid;
 gap:18px;
 border-top:1px solid var(--line)
}
.authorization-handoff[hidden]{display:none}
.authorization-handoff__head{
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:start;
 gap:14px
}
.authorization-handoff__head h2{
 margin:3px 0 5px;
 font-size:clamp(1.6rem,3vw,2.1rem);
 letter-spacing:-.03em
}
.authorization-handoff__head p{margin:0;color:var(--muted)}
.authorization-handoff__grid{
 display:grid;
 grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
 gap:22px;
 align-items:start
}
.authorization-receipt{min-width:0}
.authorization-findings .finding-card{box-shadow:none}
.authorization-handoff .author-package{top:74px}
#review-orientation[hidden]{display:none!important}
.review-complete-action[hidden]{display:none!important}

.dark .authorization-rail.map{background:var(--paper)}
.dark .authorization-case__head,
.dark .assurance-argument,
.dark .case-flow,
.dark .judgment-console,
.dark .authorization-handoff{background:var(--paper)}
.dark .assurance-argument,
.dark .case-flow,
.dark .authorization-case__head,
.dark .authorization-handoff{background:transparent}
.dark .evidence-inspector{background:var(--soft)}
.dark .evidence-claim{background:transparent}

@media(max-width:1080px){
 .authorization-workspace{padding-inline:18px}
 .authorization-case-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.72fr);gap:28px}
 .judgment-console{width:min(980px,calc(100vw - 28px));grid-template-columns:minmax(130px,.45fr) minmax(0,2fr) auto}
 .judgment-console__head .panel-label{display:none}
}

@media(max-width:900px){
 .authorization-brief__top,
 .authorization-brief__route-head{display:grid}
 .authorization-brief__grid,
 .authorization-case-grid,
 .authorization-handoff__grid{grid-template-columns:1fr}
 .authorization-brief .orientation-areas{grid-template-columns:1fr}
 .authorization-rail.map{top:56px}
 .authorization-rail .map-head{min-width:96px}
 .authorization-rail .unit-copy strong{max-width:150px}
 .authorization-case.review{padding-top:22px}
 .evidence-inspector{
  position:static;
  max-height:none;
  overflow:visible;
  margin-top:4px;
  padding:14px 16px
 }
 .evidence-code__body{max-height:none}
 .authorization-handoff .author-package{position:static}
 .case-flow .flow-trace-layout{grid-template-columns:1fr}
 .flow-focus{position:static}
 .judgment-console{
  left:14px;
  right:14px;
  bottom:10px;
  width:auto;
  transform:none;
  grid-template-columns:1fr;
  gap:7px;
  padding:8px;
  border-radius:14px
 }
 .judgment-console__head{display:none}
 .judgment-console .authorization-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
 .judgment-console__foot:has(.review-complete-action[hidden]){display:none}
 .judgment-console__foot .review-complete-action{width:100%}
}

@media(max-width:650px){
 .authorization-workspace{padding:8px 12px 80px}
 .authorization-brief{margin-top:6px;padding:8px 2px 20px;gap:16px}
 .authorization-brief__top h1{font-size:1.9rem}
 .authorization-brief__grid{grid-template-columns:1fr;gap:14px;padding-bottom:16px}
 .authorization-brief__route-head>span{display:none}
 .authorization-current{width:100%;justify-content:center}
 .authorization-rail.map{
  top:54px;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  margin-inline:-1px;
  padding:6px 0 7px
 }
 .authorization-rail .map-head{min-width:64px}
 .authorization-rail .map-head .eyebrow{display:none}
 .authorization-rail .map-head__meta{margin:0}
 .authorization-rail .progress-text{font-size:.72rem}
 .authorization-rail .unit{
  min-height:34px;
  max-width:148px;
  padding:5px 7px
 }
 .authorization-rail .unit-index{
  width:20px;
  height:20px;
  flex-basis:20px
 }
 .authorization-rail .unit-copy strong{max-width:104px;font-size:.7rem}
 .authorization-rail .unit-copy small{display:none}
 .authorization-rail .collective-assurance{padding-top:6px}
 .authorization-case.review{padding:18px 2px 8px}
 .authorization-case__head{padding-bottom:16px}
 .authorization-case__head h2{margin-top:10px;font-size:2rem;line-height:1.02}
 .authorization-case__head .review-question{font-size:1rem}
 .authorization-case__head .crumb{font-size:.68rem;letter-spacing:.04em;gap:6px}
 .authorization-case__head .risk{font-size:.64rem}
 .authorization-case__head .overview-return{margin-left:auto}
 .authorization-case-grid{gap:16px}
 .assurance-now{padding-bottom:14px}
 .assurance-now p{font-size:1.15rem;line-height:1.46}
 .assurance-consequence{padding:14px 0}
 .case-context{grid-template-columns:1fr;gap:3px;padding-bottom:14px}
 .case-context .panel-label{margin:0;font-size:.67rem}
 .case-flow{padding-top:14px}
 .case-flow__summary{margin-bottom:6px}
 .case-flow__summary .panel-label{display:none}
 .case-flow__summary strong{font-size:var(--text-ui)}
 .flow-review-hint{display:none}
 .uncertainty-panel{margin-top:14px}
 .assurance-gap-panel{margin-top:14px;padding:13px 14px}
 .assurance-resolution{grid-template-columns:1fr}
 .evidence-inspector{padding:12px 13px;border-radius:12px}
 .evidence-inspector__head{padding-bottom:8px}
 .evidence-inspector__head .panel-label{display:none}
 .evidence-inspector__head strong{font-size:var(--text-ui)}
 .evidence-inspector__head small{display:none}
 .evidence-note{margin-bottom:5px}
 .evidence-panel{padding:9px 0}
 .evidence-panel .review-demand__intro{display:none}
 .evidence-claim{padding:9px 0}
 .evidence-code .diff-line{min-width:0}
 .judgment-console{
  left:8px;
  right:8px;
  bottom:calc(8px + env(safe-area-inset-bottom));
  gap:6px;
  padding:7px
 }
 .judgment-console .authorization-actions{
  grid-template-columns:1fr 1fr;
  gap:6px
 }
 .judgment-console .authorization-actions .ui-button{
  min-height:42px;
  padding:7px 8px;
  font-size:.78rem
 }
 .judgment-console.is-mobile-compact:not(.is-mobile-expanded){
  left:auto;
  right:8px;
  bottom:calc(8px + env(safe-area-inset-bottom));
  width:50px;
  height:50px;
  padding:0;
  display:block;
  overflow:hidden;
  border-radius:999px;
  transform:none
 }
 .judgment-console.is-mobile-compact:not(.is-mobile-expanded) .judgment-console__head,
 .judgment-console.is-mobile-compact:not(.is-mobile-expanded) .authorization-actions,
 .judgment-console.is-mobile-compact:not(.is-mobile-expanded) .judgment-console__foot{display:none!important}
 .judgment-console.is-mobile-compact .judgment-console__toggle{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  font:700 1.65rem/1 system-ui;
  cursor:pointer
 }
 .judgment-console.is-mobile-compact.is-mobile-expanded{
  padding-top:44px
 }
 .judgment-console.is-mobile-compact.is-mobile-expanded .judgment-console__toggle{
  position:absolute;
  top:4px;
  right:4px;
  width:36px;
  height:36px;
  font-size:1.35rem;
  transform:rotate(45deg)
 }
 .judgment-console.is-mobile-inline{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  margin:4px 0 0;
  transform:none;
  box-shadow:0 10px 28px rgba(20,24,40,.1)
 }
 .judgment-console.is-mobile-inline .judgment-console__toggle{display:none}
 .authorization-handoff{padding-top:14px}
 .authorization-handoff__head{grid-template-columns:1fr}
}



/* Review navigator v2 — compact desktop stepper, focused mobile picker. */
.authorization-rail.map{
 position:sticky;
 top:64px;
 z-index:34;
 width:100%;
 max-height:none;
 overflow:visible;
 display:block;
 margin:0;
 padding:0 16px;
 border:0;
 border-bottom:1px solid var(--line);
 background:var(--paper);
 box-shadow:none
}
.review-nav-shell{
 position:relative;
 width:min(1160px,100%);
 min-height:52px;
 margin:0 auto;
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:stretch;
 gap:10px
}
.review-nav-completion{
 display:flex;
 align-items:center;
 gap:6px;
 min-width:72px;
 padding:0 8px;
 color:var(--tertiary);
 font-size:var(--text-xs);
 font-weight:850;
 white-space:nowrap
}
.review-nav-completion>span:first-child{color:var(--green);font-size:.8rem}
.review-nav-arrow{display:none}
.authorization-rail .map-head.review-nav-current{display:none}
.authorization-rail .review-area-access{
 display:block;
 min-width:0;
 padding:0;
 overflow:hidden
}
.authorization-rail #units{
 display:flex;
 flex-direction:row;
 align-items:stretch;
 gap:0;
 min-width:0;
 height:52px;
 overflow-x:auto;
 overscroll-behavior-inline:contain;
 scrollbar-width:none;
 padding:0
}
.authorization-rail #units::-webkit-scrollbar{display:none}
.authorization-rail .unit{
 flex:0 1 300px;
 min-width:170px;
 max-width:320px;
 min-height:52px;
 padding:6px 12px;
 display:grid;
 grid-template-columns:24px minmax(0,1fr);
 align-items:center;
 gap:8px;
 border:0;
 border-left:1px solid var(--line);
 border-radius:0;
 background:transparent;
 color:var(--muted);
 box-shadow:none
}
.authorization-rail .unit:first-child{border-left:0}
.authorization-rail .unit:hover{background:var(--soft)}
.authorization-rail .unit.active{
 background:var(--soft);
 color:var(--ink);
 box-shadow:inset 0 -2px 0 var(--violet)
}
.authorization-rail .unit-index{
 width:22px;
 height:22px;
 display:grid;
 place-items:center;
 border-radius:999px;
 background:var(--soft);
 color:var(--tertiary);
 font-size:.68rem;
 font-weight:900
}
.authorization-rail .unit.active .unit-index{background:var(--violet);color:#fff}
.authorization-rail .unit.done .unit-index{background:var(--green-soft);color:var(--green)}
.authorization-rail .unit.attention .unit-index{background:var(--amber-soft);color:#7a561e}
.authorization-rail .unit-copy{
 min-width:0;
 display:grid;
 gap:1px;
 text-align:left
}
.authorization-rail .unit-copy strong{
 display:block;
 min-width:0;
 max-width:none;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:var(--text-xs);
 line-height:1.25
}
.authorization-rail .unit-copy small{
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:var(--tertiary);
 font-size:.67rem;
 line-height:1.2
}
.authorization-rail .progress{
 position:absolute;
 left:0;
 right:0;
 bottom:-1px;
 height:2px;
 margin:0;
 border-radius:0;
 overflow:hidden
}
.authorization-rail .source-accounting,
.authorization-rail .collective-assurance{
 width:min(1160px,100%);
 margin-inline:auto
}

@media(max-width:650px){
 .authorization-rail.map{
  top:54px;
  padding:6px 10px 7px
 }
 .review-nav-shell{
  min-height:42px;
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:4px;
  align-items:center
 }
 .review-nav-completion{display:none}
 .review-nav-arrow{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font:700 1.45rem/1 var(--font-ui)
 }
 .review-nav-arrow:not(:disabled):active{background:var(--soft);color:var(--ink)}
 .review-nav-arrow:disabled{opacity:.25}
 .authorization-rail .map-head.review-nav-current{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:38px;
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  text-align:left
 }
 .review-nav-current-index{
  color:var(--violet);
  font-size:.7rem;
  font-weight:900;
  white-space:nowrap
 }
 .review-nav-current-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.2
 }
 .authorization-rail .map-head__caret{
  color:var(--tertiary);
  font-size:.85rem;
  transition:transform .15s ease
 }
 .authorization-rail .map-head[aria-expanded="true"] .map-head__caret{transform:rotate(180deg)}
 .authorization-rail .review-area-access{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  left:46px;
  right:46px;
  max-height:min(58vh,420px);
  overflow:auto;
  padding:5px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper);
  box-shadow:0 12px 34px rgba(22,28,24,.14)
 }
 .authorization-rail .review-area-access.is-open{display:block}
 .authorization-rail #units{
  display:grid;
  height:auto;
  gap:2px;
  overflow:visible;
  padding:0
 }
 .authorization-rail .unit{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:7px 8px;
  border:0;
  border-radius:7px
 }
 .authorization-rail .unit.active{box-shadow:none;background:var(--soft)}
 .authorization-rail .unit-copy strong{
  max-width:none;
  white-space:normal;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
 }
 .authorization-rail .unit-copy small{display:block}
 .authorization-rail .source-accounting,
 .authorization-rail .collective-assurance{width:100%}
}
@media(max-width:650px){
 .toast{
  left:12px;
  right:12px;
  width:auto;
  max-width:none;
  text-align:center
 }
}

.github-preview-advisory{
 margin:0 0 12px;
 padding:11px 12px;
 border:1px solid #d7a94c;
 border-radius:9px;
 background:var(--amber-soft);
 color:var(--ink)
}
.github-preview-advisory strong{display:block;margin-bottom:5px}
.github-preview-advisory p{margin:3px 0;color:var(--muted);font-size:var(--text-sm)}
.outcome-warning p{margin:4px 0}

.collective-question-state.is-disagreement{
 gap:7px;
 padding:9px 10px;
 border:1px solid #d7a94c;
 border-radius:8px;
 background:var(--amber-soft)
}
.collective-disagreement strong{display:block;font-size:var(--text-sm);color:var(--ink)}
.collective-disagreement p{margin:2px 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.45}
.collective-question-state.is-disagreement>span{color:var(--ink)}
.collective-continue{
 justify-self:start;
 margin-top:2px;
 padding:6px 0;
 border:0;
 background:transparent;
 color:var(--violet);
 font:850 var(--text-xs)/1.2 var(--font-ui)
}
.collective-assurance.has-disagreement{box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 15%,transparent)}


/* Showcase front door — thesis first, work second. */
.review-home{
 max-width:1180px;
 margin:0 auto;
 padding:clamp(34px,5vw,68px) 28px 80px
}
.product-hero{
 display:grid;
 grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
 gap:clamp(34px,6vw,72px);
 align-items:center;
 min-height:min(72vh,720px);
 padding:12px 0 56px
}
.product-hero__copy{max-width:720px}
.product-hero__copy h1{
 margin:10px 0 18px;
 max-width:760px;
 font-size:clamp(3.2rem,7vw,6.4rem);
 line-height:.9;
 letter-spacing:-.065em
}
.product-hero__copy>p{
 margin:0;
 max-width:680px;
 color:var(--muted);
 font-size:clamp(1.1rem,2vw,1.35rem);
 line-height:1.5
}
.product-hero__actions{display:flex;align-items:center;gap:16px;margin-top:26px;flex-wrap:wrap}
.product-hero__actions .ui-button{text-decoration:none;min-height:46px}
.product-hero__learn{color:var(--muted);font-weight:850;text-decoration:none}
.product-hero__learn:hover{color:var(--violet)}
.product-proof{
 display:grid;
 grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);
 align-items:stretch;
 gap:8px;
 padding:14px;
 border:1px solid var(--line);
 border-radius:18px;
 background:linear-gradient(145deg,var(--paper),#faf9ff);
 box-shadow:0 24px 60px #2f24550d
}
.product-proof__side{
 min-height:220px;
 padding:22px;
 border-radius:12px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 gap:10px
}
.product-proof__side--before{background:var(--soft);color:var(--muted)}
.product-proof__side--after{background:var(--violet-soft);color:var(--ink)}
.product-proof__side>span{
 font-size:var(--text-xs);
 font-weight:900;
 letter-spacing:.08em;
 text-transform:uppercase;
 color:var(--tertiary)
}
.product-proof__side--after>span{color:var(--violet)}
.product-proof__side strong{font-size:1.2rem;line-height:1.28}
.product-proof__side small{font-size:var(--text-sm);line-height:1.5;color:var(--muted)}
.product-proof__arrow{display:grid;place-items:center;color:var(--violet);font-size:1.4rem;font-weight:900}
.product-principles{
 padding:62px 0;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line)
}
.product-principles__head{max-width:760px}
.product-principles__head h2{
 margin:8px 0 0;
 font-size:clamp(2rem,4vw,3.3rem);
 letter-spacing:-.045em;
 line-height:1
}
.product-principles__grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
 margin-top:34px
}
.product-principles__grid article{
 min-height:210px;
 padding:20px;
 border:1px solid var(--line);
 border-radius:14px;
 background:var(--paper)
}
.product-principles__grid article>span{
 display:block;
 margin-bottom:38px;
 color:var(--violet);
 font:900 var(--text-xs)/1 var(--font-ui)
}
.product-principles__grid strong{display:block;font-size:1.08rem}
.product-principles__grid p{margin:7px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.55}
.collective-thesis{
 display:grid;
 grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
 gap:34px;
 align-items:start;
 margin-top:16px;
 padding:24px;
 border-radius:14px;
 background:var(--code);
 color:#fff
}
.collective-thesis strong{font-size:1.2rem;line-height:1.25}
.collective-thesis p{margin:0;color:#dbe4dd;line-height:1.55}
.home-work{padding-top:64px;scroll-margin-top:80px}
.home-work .home-head{padding-bottom:20px}
.home-work .home-head h2{
 margin:7px 0 10px;
 font-size:clamp(2rem,4vw,3.25rem);
 line-height:1;
 letter-spacing:-.045em
}

/* Reviewer-facing chrome should not advertise implementation plumbing. */
.version-stamp{display:none}
.review-diagnostics{position:relative;flex:0 0 auto}
.review-diagnostics>summary{
 list-style:none;
 width:36px;
 height:36px;
 display:grid;
 place-items:center;
 border:1px solid var(--line);
 border-radius:8px;
 background:var(--paper);
 color:var(--tertiary);
 cursor:pointer;
 font-weight:900;
 letter-spacing:.1em
}
.review-diagnostics>summary::-webkit-details-marker{display:none}
.review-diagnostics[open]>summary{background:var(--soft);color:var(--ink)}
.review-diagnostics__menu{
 position:absolute;
 right:0;
 top:42px;
 z-index:80;
 min-width:230px;
 padding:7px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--paper);
 box-shadow:0 14px 40px #10181420
}
.review-diagnostics__menu .model-history,
.review-diagnostics__menu .review-model-refresh-actions{width:100%}
.review-diagnostics__menu .model-history,
.review-diagnostics__menu .review-model-refresh{
 width:100%;
 justify-content:flex-start;
 min-height:40px;
 border-radius:7px
}
.analysis-provenance{display:none!important}

@media(max-width:900px){
 .product-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:44px}
 .product-hero__copy h1{font-size:clamp(3rem,12vw,5rem)}
 .product-proof{max-width:720px}
 .product-principles__grid{grid-template-columns:1fr}
 .product-principles__grid article{min-height:0}
 .product-principles__grid article>span{margin-bottom:22px}
 .collective-thesis{grid-template-columns:1fr;gap:10px}
}
@media(max-width:650px){
 .review-home{padding:24px 14px 54px}
 .product-hero{gap:28px;padding-top:10px}
 .product-hero__copy h1{font-size:clamp(3rem,16vw,4.5rem)}
 .product-hero__copy>p{font-size:1.05rem}
 .product-hero__actions{align-items:stretch}
 .product-hero__actions .ui-button{flex:1 1 auto}
 .product-proof{grid-template-columns:1fr;padding:8px}
 .product-proof__side{min-height:0;padding:18px}
 .product-proof__arrow{transform:rotate(90deg);height:24px}
 .product-principles{padding:44px 0}
 .home-work{padding-top:44px}
 .home-work .home-head{gap:14px}
 .review-diagnostics__menu{right:-4px;min-width:min(260px,calc(100vw - 28px))}
}

.review-language-dialog{width:min(560px,calc(100vw - 28px))}
.review-language-dialog .comment-head{align-items:flex-start}
.review-language-dialog .comment-head small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}
.review-language-options{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px;
 margin-top:18px
}
.review-language-options button{
 min-height:48px;
 padding:10px 12px;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--paper);
 color:var(--ink);
 font:850 var(--text-sm)/1.2 var(--font-ui);
 cursor:pointer
}
.review-language-options button:hover,
.review-language-options button:focus-visible{
 border-color:var(--violet);
 background:var(--violet-soft);
 outline:none
}
.review-language-options button.is-suggested::after{
 content:" · browser";
 color:var(--tertiary);
 font-weight:700
}
@media(max-width:520px){
 .review-language-options{grid-template-columns:1fr}
}
