:root { color-scheme:light; --ink:#18201d; --muted:#66716c; --paper:#f3f1eb; --card:#fffefa; --line:#d9ddd7; --accent:#176b51; --warm:#b85d36; --soft:#edf3ef; --serif:"Iowan Old Style","Yu Mincho","Hiragino Mincho ProN",Georgia,serif; }
#session-recovery { margin:16px;padding:16px 20px;border-left:3px solid var(--accent);background:var(--soft);color:var(--ink);overflow-wrap:anywhere; }
#session-recovery h2 { margin:0 0 8px;font-size:18px; }
#session-recovery p { max-width:80ch;line-height:1.6; }
#session-recovery a { display:inline-block;margin:0 16px 8px 0; }
.pending-image { display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);background:var(--soft);overflow-wrap:anywhere; }
.pending-image small { display:block;flex-basis:100%;color:var(--muted); }
.request-inbox main { display:block;max-width:1040px;margin:auto; }
.request-inbox .panel { padding:24px; }
.request-inbox .app-header { gap:16px;flex-wrap:wrap; }
.inbox-note { color:var(--muted);font-size:13px; }
.inbox-toolbar,.request-actions { display:flex;gap:16px;align-items:center;flex-wrap:wrap; }
.request-row { padding:24px 16px;border-top:1px solid var(--line);overflow-wrap:anywhere; }
.request-row h2 { margin-bottom:8px; }
.request-unread { border-left:3px solid var(--accent);background:var(--soft); }
.request-read-state { color:var(--muted); }
.request-inbox [hidden] { display:none!important; }
#improvement-dialog { width:min(1080px,96vw);max-height:94vh;border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--card);color:var(--ink); }
#improvement-dialog::backdrop { background:#16251db0; }
.improvement-header { display:flex;justify-content:space-between;gap:20px;align-items:start;position:sticky;top:-26px;background:var(--card);padding:14px 0;z-index:2; }
#improvement-boundary,.improvement-warning { padding:12px 16px;background:var(--soft);border-left:3px solid var(--accent); }
#improvement-document { max-width:760px;margin:28px auto;padding:10px 12px;line-height:1.95;overflow-wrap:anywhere; }
#improvement-document h2 { margin-top:40px; }
#improvement-dialog pre { white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f1eb;padding:14px;max-height:450px;overflow:auto; }
#improvement-dialog textarea { width:100%;min-height:80px; }
#improvement-history { display:flex;flex-direction:column;align-items:start; }
#improvement-dialog [hidden] { display:none!important; }
.improvement-actions { position:sticky;bottom:-26px;background:var(--card);border-top:1px solid var(--line);padding:16px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap; }
.improvement-actions span { color:var(--muted);font-size:12px; }
.diff-added,.diff-removed { overflow-wrap:anywhere;padding:8px 14px;border-left:3px solid; }
.diff-added { background:#eaf5ec;border-color:#268249; }
.diff-removed { background:#fff0ed;border-color:#b65343; }
.diff-context { color:var(--muted);font-size:12px; }
#personal-reading { max-width:900px;margin:24px auto;padding:24px;background:var(--card); }
#personal-reading[hidden] { display:none; }
.personal-reading-header { display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px; }
body.personal-reading>main { display:none; }
#source-apply-controls { border:1px solid var(--warm);padding:14px; }
#source-apply-controls input { width:auto; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.7 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif; }
body>header { display:flex; justify-content:space-between; align-items:center; padding:18px max(3vw,24px) 15px; border-bottom:1px solid var(--line); background:#f8f7f2; }
h1,h2,p { margin-top:0; } h1 { font:600 27px/1.18 var(--serif); margin-bottom:4px; } h2 { font-size:18px; }
body>header p:last-child { margin-bottom:0; color:var(--muted); font-size:12px; }
.eyebrow,.kind { color:var(--accent); font-size:11px; letter-spacing:.13em; font-weight:750; text-transform:uppercase; }
.status { border:1px solid var(--line); border-radius:99px; padding:5px 10px; color:var(--muted); font-size:12px; }
main { display:grid; grid-template-columns:280px minmax(0,920px); justify-content:center; gap:24px; padding:24px max(3vw,20px) 80px; }
.panel,.empty { background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 6px 24px #1d2f2710; }
.controls { padding:18px; height:max-content; position:sticky; top:18px; }
.controls section[hidden] { display:none; }
.panel-intro { color:var(--muted); font-size:12px; margin-bottom:16px; }
label { display:block; margin:14px 0; color:var(--muted); font-size:12px; font-weight:650; }
.help,.optional { display:block; color:#89938e; font-size:11px; font-weight:450; margin-top:4px; }
.inferred-objective { margin:15px 0; padding:10px 11px; border-radius:7px; background:var(--soft); color:var(--muted); font-size:12px; }
.inferred-objective span { font-weight:700; }.inferred-objective p { margin:3px 0 0; color:var(--ink); }
.customization { margin:15px 0; padding:10px 11px; border:1px solid var(--line); border-radius:7px; }
.customization summary { cursor:pointer; font-size:12px; font-weight:700; }.customization summary span { color:var(--muted); font-weight:450; }.customization>p { margin:8px 0 0; color:var(--muted); font-size:11px; }
.customization textarea { min-height:65px; }
.not-implemented-note { margin:10px 0 16px; padding:10px 11px; border-left:3px solid #c7a26e; background:#f8f3ea; color:var(--muted); font-size:11px; }
.not-implemented-note b { color:var(--ink); }.not-implemented-note p { margin:3px 0 0; }
input,select,textarea { width:100%; margin-top:5px; border:1px solid var(--line); border-radius:7px; padding:9px; background:white; color:var(--ink); font:inherit; }
textarea { min-height:86px; resize:vertical; }
button { border:0; border-radius:7px; background:var(--accent); color:white; padding:10px 13px; font-weight:700; cursor:pointer; }
button.secondary,button.subtle { background:#e7ebe7; color:var(--ink); }
button.subtle { padding:6px 9px; font-size:12px; opacity:0; transition:opacity .15s; }
button:disabled { opacity:.45; cursor:not-allowed; }
#local-login-status:not(:empty) { margin:8px 0; padding:9px 11px; border-radius:7px; background:#f0f5f2; color:var(--ink); }
.login-key-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:8px 0 16px; }
#login-token-check,#login-token-help { color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
#login-token { font-size:16px; }
.controls section>button { width:100%; }.controls section>button.secondary { margin-top:8px; }
.action-help { color:var(--muted); font-size:11px; margin:6px 0 0; }
.version-actions { margin-top:14px; padding:10px 11px; border:1px solid var(--line); border-radius:7px; color:var(--muted); font-size:11px; }
.version-actions summary { color:var(--ink); cursor:pointer; font-size:12px; font-weight:700; }
.version-actions p { margin:8px 0; }.version-actions button { width:100%; }
.legend,.meta { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.review-context-primary h2 { margin:4px 0 8px; font-size:17px; line-height:1.4; }
.review-context-line { display:flex; flex-direction:column; gap:2px; margin:0; color:var(--muted); font-size:11px; }
.review-context-line strong { color:var(--ink); font-size:13px; }
.requested-decision { margin:12px 0 0; padding:9px 10px; border-radius:7px; background:var(--soft); font-size:11px; }
.requested-decision b,.requested-decision span { display:block; }
.requested-decision span { margin-top:2px; }
.review-context-details { margin-top:13px; border-top:1px solid var(--line); padding-top:10px; color:var(--muted); font-size:11px; }
.review-context-details>summary { cursor:pointer; color:var(--ink); font-size:12px; font-weight:700; }
.review-instruction { margin:12px 0 0; }
.review-summary { margin:14px 0 18px; }
.review-summary div { padding:9px 0; border-bottom:1px solid var(--line); }
.review-summary dt { color:var(--muted); font-size:10px; font-weight:700; }
.review-summary dd { margin:2px 0 0; color:var(--ink); font-weight:650; }
.review-request-details { margin-top:14px; color:var(--muted); font-size:12px; }
.review-request-details summary { cursor:pointer; color:var(--ink); font-weight:700; }
.review-request-details .meta { margin-top:8px; padding-top:8px; }
#version-actions button+button { margin-top:8px; }
.reading-column { min-width:0; }
.review-progress { position:sticky; z-index:10; top:12px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 14px; margin-bottom:12px; box-shadow:0 8px 30px #1d2f2718; }
.review-progress h2 { margin-bottom:4px; }.review-progress p { margin-bottom:0; color:var(--muted); font-size:13px; }
.review-progress .eyebrow { display:none; }
.review-progress h2 { font-size:14px; white-space:nowrap; }
.review-progress p { font-size:11px; }
.review-progress-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.review-submit-confirmation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:-2px 0 12px; padding:16px 18px; border-color:#8cbba9; background:#f3f8f5; }
.review-submit-confirmation[hidden] { display:none; }
.review-submit-confirmation b { display:block; margin-bottom:2px; }
.review-submit-confirmation p { margin:0; color:var(--muted); font-size:12px; }
.review-submit-confirmation-actions { display:flex; gap:8px; flex-shrink:0; }
#review-rule-candidates label { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--ink); }
#review-rule-candidates input[type=checkbox] { width:auto; margin:3px 0 0; }
#review-rule-candidates > div { padding:10px 0; border-bottom:1px solid var(--line); }
#review-rule-confirmation { margin-top:18px; }
#review-rule-confirmation h3 { font-size:15px; }
#review-rule-status { margin-top:8px; }
#improvement-followups { padding:12px; border-left:3px solid #b17c28; background:#fff8e8; }
.review-handoff { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:-2px 0 12px; padding:16px 18px; border-color:#8cbba9; background:#f3f8f5; }
.review-handoff[hidden] { display:none; }.review-handoff b { display:block; margin-bottom:2px; }.review-handoff p { margin:0; color:var(--muted); font-size:12px; }
.button-link { display:inline-block; flex-shrink:0; border-radius:7px; padding:10px 13px; background:var(--accent); color:white; font-size:13px; font-weight:700; text-decoration:none; }
.count-badge { white-space:nowrap; border-radius:99px; padding:5px 9px; color:var(--accent); background:#e7f2ed; font-size:12px; font-weight:700; }
.overall-feedback { padding:0; margin-top:12px; overflow:hidden; }
.overall-feedback>details>summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; cursor:pointer; list-style:none; }
.overall-feedback>details>summary::-webkit-details-marker { display:none; }
.overall-feedback>details>summary span:first-child { display:flex; flex-direction:column; }
.overall-feedback>details>summary small { color:var(--muted); font-weight:450; }
.overall-feedback-body { padding:0 20px 20px; border-top:1px solid var(--line); }
.overall-feedback-body>p { margin:14px 0 4px; color:var(--muted); font-size:12px; }
.overall-feedback textarea { min-height:74px; }.overall-feedback form button { margin-top:8px; }
.document { padding:38px clamp(28px,6vw,72px) 58px; }
.document-title { padding:0 0 30px; border-bottom:0; }
.document-title .eyebrow { margin-bottom:10px; }
.document-title h1 { max-width:760px; margin:0 0 14px; font:600 clamp(29px,4vw,43px)/1.28 var(--serif); letter-spacing:-.02em; }
.document-title>p:last-child { max-width:680px; color:#52605a; margin-bottom:0; font-size:14px; }
.document-outline { display:grid; grid-template-columns:100px 1fr; gap:18px; padding:18px 0 22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.document-outline>span { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.08em; }
.document-outline ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 20px; list-style:none; padding:0; margin:0; }
.document-outline a { display:flex; gap:9px; color:#385247; text-decoration:none; font-size:12px; }
.document-outline a:hover { color:var(--accent); text-decoration:underline; }
.document-outline a b { color:#9aa39f; font-size:10px; }
.narrative-section { padding:48px 0 20px; scroll-margin-top:90px; }
.narrative-section+.narrative-section { border-top:1px solid var(--line); }
.narrative-heading { margin-bottom:24px; }
.narrative-heading h2 { margin:0 0 5px; font:600 clamp(24px,3.2vw,31px)/1.35 var(--serif); letter-spacing:-.015em; }
.narrative-heading p { margin:0; color:var(--muted); font-size:13px; }
.document-passage { position:relative; margin:0 0 24px; scroll-margin-top:90px; }
.document-passage:last-child { margin-bottom:10px; }
.passage-tools { display:flex; justify-content:flex-end; align-items:center; gap:13px; margin-top:8px; min-height:28px; opacity:.55; transition:opacity .15s; }
.document-passage:hover .passage-tools,.document-passage:focus-within .passage-tools { opacity:1; }
.document-passage:hover button.subtle,.document-passage:focus-within button.subtle { opacity:1; }
.markdown-body { font-size:16.5px; line-height:1.9; letter-spacing:.005em; }.markdown-body p { max-width:46em; margin:0 0 21px; }.markdown-body h3,.markdown-body h4 { margin:30px 0 10px; }
.markdown-body ul,.markdown-body ol { max-width:46em; padding-left:1.4em; margin:16px 0 24px; }.markdown-body li { margin:7px 0; padding-left:3px; }
.markdown-body blockquote,.feedback-item blockquote { margin:4px 0 30px; padding:18px 20px; border-left:4px solid var(--accent); background:var(--soft); color:#304a3f; }
.markdown-body blockquote strong { font-size:17px; }
.markdown-body code { background:#edf0ed; border-radius:4px; padding:2px 5px; }
.markdown-body pre { position:relative; overflow:auto; padding:16px; border-radius:8px; background:#18211e; color:#eff7f2; line-height:1.5; }
.markdown-body pre code { background:none; padding:0; color:inherit; }
.markdown-body .mermaid { margin:8px 0 28px; background:white; color:var(--ink); text-align:center; border:1px solid var(--line); }
.markdown-body .mermaid svg { max-width:100%; height:auto; }
.markdown-body table { width:100%; border-collapse:collapse; margin:22px 0 28px; font-size:13px; line-height:1.55; }.markdown-body th,.markdown-body td { border-bottom:1px solid var(--line); padding:11px 12px; text-align:left; vertical-align:top; }.markdown-body th { border-top:1px solid var(--line); background:var(--soft); }
.markdown-body img { max-width:100%; height:auto; border-radius:8px; }
.selection-bar { margin:14px 0; padding:9px 10px; border-radius:7px; background:#e7f2ed; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#35574a; font-size:12px; }
.selection-bar[hidden] { display:none; }.selection-preview { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.feedback-form { margin-top:14px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fafbf9; }
.feedback-form[hidden] { display:none; }.form-actions { display:flex; gap:8px; margin-top:8px; }.quote-preview { color:#53625c; font-size:12px; border-left:3px solid var(--accent); padding-left:10px; margin-bottom:9px; }
.feedback-list:not(:empty) { margin-top:12px; }.feedback-item { margin-top:8px; padding:11px 13px; border-left:3px solid var(--warm); background:#fbf2ed; font-size:13px; }.feedback-item p { margin:4px 0; }.feedback-item small { color:var(--muted); }
.history-discussion { margin-top:12px; border-top:1px dashed var(--line); padding-top:10px; }.history-discussion>summary { cursor:pointer; color:var(--muted); font-size:12px; font-weight:700; }.historical-feedback-list .feedback-item { border-left-color:#91a59c; background:#f3f6f4; }
.history-discussion>summary,.all-history>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-radius:6px; }
.history-discussion>summary::before,.all-history>summary::before { content:"▸"; }
.history-discussion[open]>summary::before,.all-history[open]>summary::before { content:"▾"; }
.history-discussion>summary>span:first-of-type,.all-history>summary>span:first-of-type { flex:1; }
.has-unfinished>summary { background:#fff4df; color:#704812; border-left:3px solid #bb852c; }
.unfinished-count { font-size:11px; white-space:nowrap; color:var(--muted); }
.has-unfinished>summary .unfinished-count,.needs-attention { color:#704812; background:#fff0d3; }
.feedback-item[hidden],.reply-list:empty { display:none; }
.feedback-list { overflow-anchor:none; }
.history-filters { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 8px; }
.history-filters button { background:transparent; color:var(--muted); border:1px solid var(--line); padding:7px 10px; font-size:12px; }
.history-filters button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:white; }
.orphaned-shortcut { width:100%; margin-bottom:14px; text-align:left; }
.orphaned-shortcut.needs-attention { border:1px solid #c58d35; color:#704812; background:#fff4df; }
#history-filter-status { margin:10px 0; font-size:12px; color:var(--muted); }
.feedback-target { display:block; margin-bottom:4px; color:var(--warm); font-size:11px; font-weight:750; }
.feedback-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:7px; }
.feedback-actions { display:flex; gap:10px; }.text-button { padding:0; color:var(--accent); background:none; font-size:12px; }.text-button.danger { color:#a33e35; }
.feedback-inbox { margin-top:16px; padding:22px; scroll-margin-top:18px; }.inbox-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }.inbox-head h2 { margin-bottom:4px; }.inbox-head p { color:var(--muted); font-size:13px; }.empty-inbox { color:var(--muted); }
.feedback-thread { margin-top:10px; padding-top:9px; border-top:1px solid rgba(70,85,78,.13); }
.discussion-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.discussion-state { padding:3px 8px; border-radius:99px; background:#f1e7de; color:#7b5141; font-size:10px; font-weight:750; }
.discussion-state.resolved { background:#e1eee8; color:#2f6652; }
.discussion-actions { display:flex; gap:11px; }
.reply-list { margin:9px 0 0 14px; padding-left:12px; border-left:2px solid #d8dfdb; }
.feedback-reply { padding:7px 0; }.feedback-reply+.feedback-reply { border-top:1px solid rgba(70,85,78,.1); }.feedback-reply p { margin:0 0 2px; }
.reply-form { margin-top:9px; }.reply-form[hidden] { display:none; }.reply-form textarea { min-height:60px; }
.revision-history { border-color:#dbe1dd; background:#fbfcfb; }
.history-overview { margin:16px 0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:white; }
.history-stat { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:11px 13px; border-bottom:1px solid var(--line); }
.history-stat:last-child { border-bottom:0; }
.history-stat b,.history-stat span { display:block; }.history-stat b { margin-bottom:2px; font-size:12px; }.history-stat span { color:var(--muted); font-size:10px; line-height:1.45; }
.history-stat strong { display:grid; place-items:center; min-width:28px; height:24px; padding:0 7px; border-radius:99px; background:var(--soft); color:var(--ink); font-size:12px; }
.history-stat.state-orphaned b { color:#9a5a42; }
.all-history { border-top:1px solid var(--line); padding-top:12px; }.all-history>summary { cursor:pointer; color:var(--accent); font-size:12px; font-weight:750; }
.proposal-panel { margin-top:16px; padding:22px; scroll-margin-top:18px; }
.owner-workflow { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:16px 0 20px; padding:0; list-style:none; counter-reset:owner-step; }.owner-workflow li { counter-increment:owner-step; padding:10px; border-radius:7px; background:var(--soft); font-size:11px; }.owner-workflow li::before { content:counter(owner-step); display:inline-grid; place-items:center; width:20px; height:20px; margin-bottom:6px; border-radius:50%; background:var(--accent); color:white; font-weight:700; }.owner-workflow b,.owner-workflow span { display:block; }.owner-workflow span { margin-top:3px; color:var(--muted); }
.proposal-item { margin-top:14px; padding:16px; border:1px solid var(--line); border-radius:9px; background:#fbfcfa; }
.proposal-item.status-approved { border-color:#8cbba9; background:#f0f7f3; }.proposal-item.status-rejected { opacity:.65; }.proposal-item.status-deferred,.proposal-item.status-stale { border-color:#d8b18c; }
.proposal-item blockquote { margin:7px 0 12px; padding:9px 12px; border-left:3px solid var(--warm); background:#fbf2ed; }
.proposal-type { display:flex; gap:8px; align-items:center; margin-bottom:10px; }.proposal-type b,.proposal-type span { border-radius:99px; padding:3px 8px; background:var(--soft); font-size:11px; }.proposal-type span { color:var(--muted); }
.scope-proposal { display:grid; grid-template-columns:auto 1fr 1fr auto; gap:8px; align-items:center; padding:10px; border-radius:7px; background:#edf5f1; }.scope-proposal span { color:var(--muted); font-size:11px; }.scope-proposal b { font-size:12px; }.scope-proposal strong { color:var(--accent); }
.scope-choice { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; margin-top:10px; color:var(--muted); font-size:11px; }.scope-choice select { width:100%; }
.proposal-item details { margin-top:9px; color:var(--muted); font-size:12px; }.proposal-item details p { margin:5px 0; }
.proposal-rationale { margin:10px 0; color:var(--muted); font-size:12px; }.proposal-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; font-weight:700; }.proposal-actions { display:flex; gap:7px; }.proposal-actions button { padding:6px 10px; font-size:11px; }
.decision-effects { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:10px 0; }.decision-effects p { margin:0; padding:8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); font-size:10px; }.decision-effects b { display:block; color:var(--ink); }
.revision-readiness { margin-top:18px; padding:14px; border-radius:8px; background:var(--soft); }.revision-readiness p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.revision-readiness button { margin-top:12px; }
.missing-contract { color:#a33e35; }
.provenance { color:var(--muted); font-size:12px; margin-top:14px; }.provenance>summary { cursor:pointer; font-weight:700; }
.source-item { margin-top:10px; padding:13px; border:1px solid var(--line); border-radius:8px; background:#fafbf9; }
.source-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--ink); }.source-heading code { white-space:nowrap; }
.source-locator { margin:4px 0 10px; overflow-wrap:anywhere; color:var(--accent); }
.source-excerpt { margin:4px 0 10px; padding:9px 11px; border-left:3px solid #aeb9b3; background:white; color:#405049; white-space:pre-wrap; }
.source-missing { margin:8px 0; padding:9px 11px; border-left:3px solid #c7a26e; background:#f8f3ea; color:var(--muted); }
.source-context { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.source-context p { margin:0; padding:8px; border-radius:6px; background:var(--soft); }.source-context b,.source-context span { display:block; }.source-context b { color:var(--muted); font-size:10px; text-transform:uppercase; }.source-context span { color:var(--ink); }
.source-technical { margin-top:8px; }.source-technical summary { cursor:pointer; }.source-technical code { display:block; margin-top:4px; overflow-wrap:anywhere; }
.evidence-inspector { margin-top:16px; padding:18px 22px; scroll-margin-top:18px; }
.evidence-inspector>summary { display:flex; justify-content:space-between; align-items:center; gap:18px; cursor:pointer; }
.evidence-inspector>summary span:first-child { display:flex; flex-direction:column; }.evidence-inspector>summary small { color:var(--muted); font-weight:450; }
.evidence-claim { padding:24px 0; border-top:1px solid var(--line); scroll-margin-top:18px; }.evidence-claim:first-child { margin-top:18px; }
.evidence-claim>header { display:flex; justify-content:space-between; align-items:start; gap:18px; }.evidence-claim h3 { margin:3px 0 0; font-size:16px; }.evidence-claim>header code { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.empty { padding:48px; text-align:center; color:var(--muted); }
body[data-surface="reconciliation"] .comment-toggle,
body[data-surface="reconciliation"] .selection-bar,
body[data-surface="reconciliation"] .feedback-form,
body[data-surface="reconciliation"] #overall-feedback-form,
body[data-surface="reconciliation"] #submit-review,
body[data-surface="reconciliation"] .feedback-actions { display:none; }
@media(max-width:840px){
  body>header { padding:11px 16px 9px; }
  body>header .eyebrow,body>header p:last-child,body>header .status { display:none; }
  body>header h1 { margin:0; font:600 19px/1.25 var(--serif); }
  main { grid-template-columns:1fr; gap:10px; padding:10px 0 60px; }
  .controls { position:static; margin:0 10px; padding:12px 14px; border-radius:9px; }
  #review-summary-panel .eyebrow { display:none; }
  .review-context-primary { display:grid; grid-template-columns:1fr auto; gap:2px 12px; align-items:center; }
  .review-context-primary h2 { margin:0; font-size:14px; }
  .review-context-line { grid-column:2; grid-row:1; align-items:flex-end; }
  .review-context-line strong { font-size:12px; }
  .review-context-line span:not(:last-child) { display:none; }
  .requested-decision { grid-column:1/-1; margin:8px 0 0; }
  .review-context-details { grid-column:1/-1; margin-top:7px; padding-top:7px; }
  .reading-column { width:100%; }
  #review-surface { display:flex; flex-direction:column; }
  .review-progress { top:6px; margin:0 10px 8px; padding:8px 10px; border-radius:9px; }
  .review-progress>div:first-child { min-width:0; }
  .review-progress h2 { margin:0; }
  .review-progress p { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .review-progress-actions { flex-wrap:nowrap; }
  .review-progress .count-badge { display:none; }
  .review-progress button { white-space:nowrap; padding:7px 9px; font-size:11px; }
  .review-submit-confirmation,.review-handoff { align-items:stretch; flex-direction:column; gap:10px; margin:0 10px 8px; padding:14px; }
  .review-submit-confirmation-actions { flex-direction:row-reverse; justify-content:flex-end; }
  .document { margin:0; padding:30px 22px 44px; border-left:0; border-right:0; border-radius:0; box-shadow:none; }
  .document-title { padding-bottom:22px; }
  .document-title h1 { font-size:30px; line-height:1.3; }
  .document-title>p:last-child { font-size:13px; line-height:1.7; }
  .document-outline { grid-template-columns:1fr; gap:8px; padding:14px 0 17px; }
  .document-outline ol { grid-template-columns:1fr; gap:3px; }
  .narrative-section { padding:38px 0 14px; }
  .narrative-heading { margin-bottom:18px; }
  .narrative-heading h2 { font-size:25px; }
  .markdown-body { font-size:16px; line-height:1.88; }
  .markdown-body p { margin-bottom:19px; }
  .markdown-body blockquote { margin-bottom:25px; padding:15px 16px; }
  .markdown-body table { display:block; overflow-x:auto; white-space:normal; }
  .overall-feedback,.evidence-inspector,.feedback-inbox,.proposal-panel { margin:10px; }
  .overall-feedback { order:2; }
  .evidence-inspector { order:3; }
  .feedback-inbox { order:4; }
  .proposal-panel { order:5; }
  .source-context,.scope-proposal,.owner-workflow,.decision-effects { grid-template-columns:1fr; }
  button.subtle { opacity:1; }
  .passage-tools { opacity:1; }
  .evidence-claim>header { display:block; }
}
/* Reading-first pilot journey. Stable document/thread DOM is retained. */
.journey-shell{grid-column:1/-1;padding:20px 24px;border:1px solid #d8dfdc;border-radius:14px;background:#f7faf8;color:#20372d;margin-bottom:16px}
.journey-shell h2{font-size:22px;margin:12px 0 8px}.journey-identity{font-size:12px;color:#586b61}
.journey-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.journey-documents nav{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0}.journey-documents a{padding:8px 12px;border:1px solid #b9cec1;border-radius:8px;color:inherit;text-decoration:none}
#journey-owner{margin-top:20px;border-top:1px solid #ccdcd2;padding-top:12px;line-height:1.85}
body[data-surface="reviewer"] #review-submit-confirmation:not([hidden]){position:fixed;inset:auto 16px 16px;max-width:700px;max-height:80dvh;overflow:auto;margin:auto;z-index:1000;background:#fff;box-shadow:0 0 0 100vmax #13271e66,0 12px 48px #0003;border:2px solid #497c61}
@media(max-width:700px){.journey-shell{padding:16px}.journey-actions button{min-height:44px;flex:1 1 130px}.journey-documents nav{flex-direction:column}.journey-documents a{min-height:40px}.journey-identity{line-height:1.6}}
