:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Hiragino Sans GB",sans-serif;color:#1d2b26;background:#f6f5f0;font-synthesis:none;
--line:#e2e4dc;--line-strong:#cfd5ca;--muted:#66736c;--soft:#8a958e;--accent:#1f4a3b;--accent-soft:#e3ece4;--warn:#8a5a1f;--panel:#fff;--radius:8px}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit;color:inherit}button,a,input,summary{touch-action:manipulation}button,summary{cursor:pointer}
button{border:1px solid var(--accent);border-radius:6px;padding:9px 16px;background:var(--accent);color:#fff;min-height:40px;font-size:14px}button:hover{background:#173a2e}button:active{background:#122f25}button:disabled{cursor:not-allowed;opacity:.5}
.secondary{background:#fff;color:var(--accent);border-color:var(--line-strong)}.secondary:hover{background:#f1f4ee}
.link-button{background:none;border:0;color:var(--accent);padding:4px 2px;min-height:32px;font-size:13px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9fb5a8}.link-button:hover{background:none;color:#0f2c22}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid #2d7a5d;outline-offset:2px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}.meta{color:var(--muted);font-size:12px;line-height:1.65}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;z-index:10;top:8px;left:12px;padding:12px;background:#fff;color:var(--accent)}[hidden]{display:none!important}

.app-header{height:60px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#fbfbf8;position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:16px}
.brand-text{display:flex;align-items:baseline;gap:10px}.brand h1{font-size:17px;margin:0}.eyebrow{font-size:13px;color:var(--muted)}
.header-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.header-link{color:var(--accent);text-decoration:none}.header-link:hover{text-decoration:underline}
.local-badge{border:1px solid var(--line-strong);border-radius:20px;padding:4px 10px;white-space:nowrap;font-size:12px;background:#fff}

.workspace-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;width:min(1320px,100%);padding:24px 28px 48px;margin:auto}
.workspace-sidebar{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.workspace-content{min-width:0}
.primary-nav{display:flex;flex-direction:column;gap:2px}.nav-group{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:8px 12px;border:0;border-radius:6px;background:transparent;color:#2f4139;text-align:left;font-size:14px}
.nav-item:hover{background:#eceee7}.nav-item.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums;font-weight:400}
.nav-inbox{margin-bottom:6px;border:1px solid var(--line);background:#fff;font-weight:600}.nav-inbox:hover{background:#f6f8f3}
.nav-badge{min-width:22px;padding:1px 7px;border-radius:11px;background:#c2410c;color:#fff;font-weight:600;text-align:center}
.side-heading{font-size:12px;font-weight:500;color:var(--soft);margin:18px 12px 4px;letter-spacing:.02em}
.pin-row{display:flex;align-items:center}.pin-row .pin-item{flex:1;min-width:0}.pin-remove{background:none;border:0;color:var(--soft);min-height:32px;padding:0 8px;font-size:16px;opacity:0}.pin-row:hover .pin-remove,.pin-remove:focus-visible{opacity:1}.pin-remove:hover{background:none;color:#8a2c0d}
.settings-entry{width:100%;margin-top:8px;text-align:left;font-size:13px}
.sync-section{margin:16px 12px 0;padding-top:14px;border-top:1px solid var(--line)}
.sync-signal{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;margin:0 0 6px;color:#3f5a4c}.sync-signal::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#a3b1a8}
.sync-signal[data-state="ok"]::before{background:#2f9e64}.sync-signal[data-state="error"],.sync-signal[data-state="stale"],.sync-signal[data-state="blocked"],.sync-signal[data-state="attention"]{color:var(--warn)}.sync-signal[data-state="error"]::before,.sync-signal[data-state="stale"]::before,.sync-signal[data-state="blocked"]::before,.sync-signal[data-state="attention"]::before{background:#d97706}
.sync{font-size:12px;line-height:1.75;color:var(--muted)}.sync p{margin:8px 0}.sync summary{color:var(--soft)}

.page-heading{margin-bottom:14px}.page-heading h2{font-size:24px;margin:0 0 4px}.page-heading p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.segmented{display:inline-flex;padding:3px;margin:0 0 14px;border:1px solid var(--line);border-radius:8px;background:#eef0ea}.segmented button{border:0;background:transparent;color:#3f5a4c;min-height:32px;padding:5px 14px;font-size:13px;border-radius:6px}.segmented button.selected{background:#fff;color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0000001a}
#search{margin:0 0 10px}.search-row{display:flex;gap:8px}.search-row input{flex:1;min-width:0;border:1px solid var(--line-strong);border-radius:6px;padding:10px 14px;background:#fff;font-size:15px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;margin-bottom:8px;font-size:13px}
.toolbar-main{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.list-toolbar #status{color:var(--muted);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:28px;padding:3px 10px;border-radius:14px;border:1px solid var(--line-strong);background:#fff;color:#2f4139;font-size:12px}.chip:hover{background:#f1f4ee}
.toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}
.scope-details{position:relative;color:var(--muted)}.scope-details summary{font-size:13px;color:var(--soft);white-space:nowrap}.scope-details p{position:absolute;right:0;top:28px;z-index:3;width:320px;margin:0;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001a}

#results{display:flex;flex-direction:column}
.group-heading{font-size:12px;font-weight:600;color:var(--soft);margin:18px 4px 6px;letter-spacing:.04em}#results>.group-heading:first-child{margin-top:4px}
.card{background:var(--panel);overflow-wrap:anywhere}
.result-row{border:1px solid var(--line);border-bottom-width:0;padding:14px 16px}.result-row:first-of-type,.group-heading+.result-row{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}
.result-row:has(+ .group-heading),.result-row:last-child{border-bottom-width:1px;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}
.library-row{display:grid;grid-template-columns:56px minmax(0,1fr) 120px 88px;gap:14px;align-items:start;cursor:pointer}.library-row:hover{background:#fafbf7}
.row-kind{justify-self:start;margin-top:2px;padding:2px 8px;border-radius:4px;font-size:12px;background:#eef1ec;color:#44584d;white-space:nowrap}
.kind-minute{background:#e6efe9;color:#1f5a41}.kind-docx,.kind-doc{background:#e8edf5;color:#2d4a74}.kind-sheet{background:#f3ede1;color:#6d5220}
.row-content{min-width:0}.row-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:15px;line-height:1.5}.row-title>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.context-tag{border-color:#e3cfa6;color:#7a4e12}
.ai-tag{flex:none;padding:0 6px;border:1px solid #c9d8cd;border-radius:4px;font-size:11px;font-weight:500;color:#3f6b55;line-height:18px}
.row-excerpt{font-size:13px;line-height:1.7;color:#55635c;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.row-caption{font-size:12px;line-height:1.6;color:var(--soft);margin:4px 0 0}.description-pending{color:var(--warn)}
.row-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;margin-top:3px;white-space:nowrap}
.row-actions{display:flex;justify-content:flex-end;gap:8px}.row-actions button{font-size:12px;min-height:30px;padding:4px 10px}
.library-row .row-actions{opacity:0}.library-row:hover .row-actions,.library-row:focus-within .row-actions{opacity:1}
@media (hover:none){.library-row .row-actions{opacity:1}}
.list-message{padding:40px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fbfbf8;color:var(--muted);font-size:14px;line-height:1.8}.list-message p{margin-bottom:16px}
#more{display:block;margin:20px auto}

.candidate-group{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.candidate-card{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.candidate-card.decided{background:#f7f8f4}.candidate-card.decided p{margin:0}
.candidate-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.candidate-tag{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.tag-requirement{background:#e8edf5;color:#2d4a74}.tag-decision{background:#e6efe9;color:#1f5a41}.tag-commitment{background:#f3ede1;color:#6d5220}.tag-open_question{background:#f5e7e4;color:#8a3b25}
.candidate-nature{font-size:12px;color:var(--soft)}
body:not([data-section="prep"]) #prep-copy,body[data-section="prep"] .scope-details,body[data-section="candidates"] .toolbar-actions,body:not([data-section="library"]) #titles-failed,body:not([data-section="library"]) #titles-withheld{display:none!important}
.candidate-card textarea{border:1px solid transparent;border-radius:6px;padding:6px 8px;margin:0 -8px;font-size:15px;line-height:1.6;resize:none;background:transparent;width:calc(100% + 16px);field-sizing:content;min-height:2.4em}.candidate-card textarea:hover{border-color:var(--line)}.candidate-card textarea:focus{border-color:var(--line-strong);background:#fff}
.candidate-quote{margin:8px 0 12px;padding:8px 12px;border-left:3px solid #9fb5a8;background:#f6f8f4;color:#44584d;font-size:13px;line-height:1.7;white-space:pre-wrap}
.candidate-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.candidate-actions .link-button{margin-left:auto}.candidate-note:empty{display:none}

.prep-section{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.prep-item{border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.prep-content{margin:0 0 6px;font-size:15px;line-height:1.6}
.prep-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.prep-meta .link-button{margin-left:auto;min-height:24px;padding:0 2px;font-size:12px}
.prep-status{padding:1px 7px;border-radius:4px;font-weight:600}.status-confirmed{background:#e6efe9;color:#1f5a41}.status-pending{background:#f7ecd9;color:#7a4e12}
.prep-source{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prep-quote{margin:8px 0 0;padding-left:10px;border-left:2px solid var(--line-strong);font-size:12px;line-height:1.7;color:var(--soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.prep-empty{padding:28px 20px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fbfbf8;color:var(--muted);font-size:14px;line-height:1.8}.prep-empty .chips{margin-top:12px}
#copy-fallback-prep{width:100%;margin-bottom:12px;font:13px/1.7 ui-sans-serif,system-ui;padding:10px;border:1px solid var(--line-strong);border-radius:6px}
#prep-copy{min-height:32px;padding:4px 12px;font-size:13px}
#settings-dialog{width:min(620px,100%)}#settings-title{font-size:20px;margin:0}#deepseek-form{display:grid;gap:16px;margin:24px 0}#deepseek-key{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:6px;padding:12px;font-size:16px}.settings-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7}.settings-check input{flex-shrink:0;width:20px;height:20px;margin-top:3px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}#deepseek-state{padding:12px;background:#edf1e9;line-height:1.7;overflow-wrap:anywhere}

.list-columns{display:grid;grid-template-columns:minmax(0,1fr) 174px 180px;gap:16px;padding:8px 16px;font-size:12px;color:var(--soft)}
.speech-row{display:grid;grid-template-columns:minmax(0,1fr) 174px 180px;gap:16px;align-items:start}.speech-row h3{font-size:14px;margin:0 0 4px}.speech-row .row-excerpt{-webkit-line-clamp:3;white-space:pre-wrap;font-size:14px}.speech-row .row-time{text-align:left;display:flex;flex-direction:column;gap:2px}.speech-row .row-actions{flex-direction:column;align-items:stretch}.speech-row .row-actions button{min-height:34px}.source-notice{display:block;color:#6d5d36;font-size:12px;line-height:1.65;margin-bottom:4px}

dialog{width:min(860px,calc(100% - 240px));max-width:none;height:100dvh;max-height:100dvh;margin:0 0 0 auto;inset:0 0 0 auto;border:0;border-left:1px solid var(--line-strong);border-radius:0;padding:0 40px 32px;color:#1d2b26;background:#fff;overscroll-behavior:contain}
dialog::backdrop{background:#10231c4d}
.reader-top{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;z-index:1;top:0;background:#fff;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.reader-top>span{font-size:13px;color:var(--muted)}
.reader-actions{display:flex;gap:8px}.reader-actions button{min-height:34px;padding:6px 12px;font-size:13px}
.reader-navigation{display:flex;flex-wrap:wrap;gap:14px;margin:4px 0 16px}
#reader-title{overflow-wrap:anywhere;line-height:1.5;font-size:22px;margin-bottom:6px}#reader-status{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:4px}#copy-status:empty{display:none}
#copy-fallback{width:100%;max-width:100%;font:14px/1.7 ui-monospace,monospace;white-space:pre-wrap;margin-bottom:12px}
#reader-text{max-width:72ch;font:16px/1.95 ui-sans-serif,system-ui,-apple-system,"PingFang SC",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;scroll-margin-top:90px}
#reader-text::selection{background:#fde68a}
#distribution-panel{margin:16px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
#distribution-panel summary{font-weight:600;margin-bottom:12px}#distribution-overview{line-height:1.75;font-size:14px}
#distribution-panel .segmented button[aria-pressed="true"]{background:var(--panel);font-weight:600;color:var(--accent)}
.distribution-passage{padding:12px 0;border-top:1px solid var(--line)}.distribution-passage h4{margin:0 0 6px;font-size:14px}.distribution-passage p{margin-bottom:8px}
.distribution-excerpt{white-space:pre-wrap;font-size:13px;line-height:1.7;color:var(--muted)}.distribution-topic{margin-top:18px}.distribution-topic>h3{font-size:16px;margin-bottom:8px}.distribution-topic>p{font-size:14px;line-height:1.7}
.distribution-gap h4{color:var(--warn)}
#reader-provenance,#speech-panel{margin:24px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:90px;font-size:14px}
#reader-provenance dl{display:grid;grid-template-columns:130px minmax(0,1fr);font-size:12px;gap:8px 12px}#reader-provenance dd{margin:0;overflow-wrap:anywhere}#reader-provenance dt{color:var(--muted)}
#speech-panel>p{font-size:13px;line-height:1.7}#speech-turns{margin-top:14px;max-height:45vh;overflow:auto}#speech-turns .card{padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:6px}#speech-turns .card p{font-size:14px;line-height:1.8;white-space:pre-wrap}#speech-turns .card button{font-size:13px}

@media(max-width:1100px){.workspace-shell{grid-template-columns:196px minmax(0,1fr);gap:24px;padding:20px}.library-row{grid-template-columns:52px minmax(0,1fr) 100px}.library-row .row-actions{display:none}.list-columns,.speech-row{grid-template-columns:minmax(0,1fr) 150px 150px}}
@media(max-width:800px){.app-header{height:54px;padding:0 16px}.eyebrow{display:none}.workspace-shell{display:block;padding:12px 16px 40px}
.workspace-sidebar{position:static;max-height:none;overflow:visible;margin-bottom:16px}
.primary-nav{flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}
.nav-group{flex-direction:row;gap:6px}.side-heading{display:none}.nav-item{flex:none;width:auto;min-height:36px;padding:6px 12px;border:1px solid var(--line);background:#fff;border-radius:18px}.nav-inbox{margin:0}.pin-remove{display:none}
#pins-section{display:contents}.sync-section{margin:10px 2px 0;padding:0;border:0}.sync{display:none}.settings-entry{display:none}
.page-heading h2{font-size:21px}.list-toolbar{flex-wrap:wrap;gap:8px}.toolbar-actions{justify-content:flex-start}.scope-details p{left:0;right:auto;width:min(320px,90vw)}
.library-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:12px 14px}.row-kind{grid-column:1;grid-row:1}.row-time{grid-column:2;grid-row:1}.row-content{grid-column:1/-1;grid-row:2}
.list-columns{display:none}.speech-row{grid-template-columns:1fr;gap:8px}.speech-row .row-actions{flex-direction:row}
dialog{width:100%;padding:0 16px 24px;border:0}#reader-title{font-size:20px}#reader-provenance dl{grid-template-columns:1fr}#reader-text{font-size:15px}}
@media(max-width:430px){.search-row button{padding:9px 12px}.header-link{display:none}}
