:root{
  --canvas:#f4f6f8;--surface:#fff;--surface-2:#f8fafc;--ink:#142033;--ink-2:#3f4c5f;--muted:#6b7789;
  --line:#dfe4ea;--line-strong:#cbd3dc;--primary:#2956c8;--primary-soft:#edf3ff;--accent:#b85b18;
  --accent-soft:#fff2e8;--success:#17765a;--success-soft:#e9f7f1;--danger:#a63c36;--danger-soft:#fff0ef;
  --radius:14px;--radius-sm:9px;--shadow:0 10px 30px rgba(26,38,55,.07);--content:1340px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.55}button,input,select{font:inherit}button,a{cursor:pointer}button{color:inherit}a{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;left:16px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{top:16px}.app-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.topbar{height:72px;max-width:var(--content);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:1px}.topbar-right{display:flex;align-items:center;gap:10px}.day-picker,.status-button{height:42px;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:flex;align-items:center;gap:10px}.day-picker{padding:0 7px 0 13px}.day-picker span{font-size:12px;color:var(--muted)}.day-picker select{border:0;background:transparent;font-weight:700;outline:0;min-width:116px}.status-button{padding:0 14px;font-size:13px;font-weight:650}.status-button svg{width:17px;height:17px}.primary-tabs{height:48px;max-width:var(--content);margin:auto;padding:0 28px;display:flex;gap:4px}.tab-button{position:relative;border:0;background:transparent;padding:0 18px;color:var(--muted);font-size:14px;font-weight:650;transition:color .18s ease,background .18s ease;border-radius:8px 8px 0 0}.tab-button:hover{background:var(--surface-2);color:var(--ink)}.tab-button[aria-selected=true]{color:var(--primary)}.tab-button[aria-selected=true]::after{content:"";position:absolute;height:3px;left:18px;right:18px;bottom:0;background:var(--primary);border-radius:3px 3px 0 0}.tab-button:focus-visible,.status-button:focus-visible,.day-picker:focus-within,button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid rgba(41,86,200,.22);outline-offset:2px}.app-main{max-width:var(--content);margin:auto;padding:42px 28px 80px}.tab-panel[hidden]{display:none}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:28px}.page-intro>div:first-child{max-width:790px}.kicker{margin:0;color:var(--primary);font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.14em}.page-intro h1{font-size:34px;line-height:1.18;letter-spacing:-.025em;margin:8px 0 8px}.page-intro p:last-child{margin:0;color:var(--muted);font-size:15px}.mode-pill{min-width:186px;padding:12px 15px;border:1px solid #cbd9f7;background:var(--primary-soft);border-radius:12px;display:grid;grid-template-columns:10px 1fr;column-gap:9px;align-items:center}.mode-pill i{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(23,118,90,.12)}.mode-pill span{font-size:13px;font-weight:750}.mode-pill small{grid-column:2;color:var(--muted);font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:32px}.metric-card{min-height:110px;padding:17px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.metric-card span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:29px;line-height:1.2;margin-top:7px;font-variant-numeric:tabular-nums}.metric-card small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.metric-card.signal{background:var(--ink);border-color:var(--ink);color:#fff}.metric-card.signal span,.metric-card.signal small{color:#bac4d1}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.section-toolbar h2{margin:0;font-size:20px}.section-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.segmented{display:flex;padding:3px;background:#e9edf2;border-radius:9px}.segmented button{height:32px;border:0;background:transparent;border-radius:7px;padding:0 12px;font-size:12px;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 3px rgba(15,23,42,.1)}.story-list{display:grid;gap:14px}.story-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.story-body{padding:22px 24px}.story-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}.source-badge,.decision-badge,.evidence-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:750}.source-badge.recommended{background:var(--primary-soft);color:var(--primary)}.source-badge.hot{background:var(--accent-soft);color:var(--accent)}.decision-badge.selected{background:var(--success-soft);color:var(--success)}.decision-badge.watch{background:#fff8db;color:#775c00}.decision-badge.discarded{background:#eef1f4;color:#66707d}.story-card h3{font-size:21px;line-height:1.35;margin:13px 0 6px;letter-spacing:-.01em}.byline{color:var(--ink-2);font-size:13px}.original{margin:18px 0 0;padding:17px 19px;background:#f7f9fb;border-left:3px solid var(--line-strong);border-radius:0 9px 9px 0}.original-label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em}.original blockquote{margin:0;font-family:Georgia,"Songti SC",STSong,serif;font-size:16px;line-height:1.8;white-space:pre-wrap}.analysis-panel{border-top:1px solid var(--line);background:#fbfcfd;padding:18px 24px}.analysis-lead{display:grid;grid-template-columns:1fr 1fr;gap:18px}.analysis-block span{display:block;color:var(--muted);font-size:11px;font-weight:750;margin-bottom:4px}.analysis-block p{margin:0;font-size:13px;line-height:1.65}.evidence-row{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-2)}.evidence-badge{flex:none;background:#edf1f5;color:#465365}.story-actions{display:flex;align-items:center;gap:8px;margin-top:17px}.story-actions a,.story-actions button{height:36px;border-radius:8px;padding:0 12px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;text-decoration:none;font-size:12px;font-weight:700}.story-actions a{background:var(--ink);border-color:var(--ink);color:#fff}.story-actions button[aria-pressed=true]{background:var(--primary-soft);border-color:#c6d6fa;color:var(--primary)}.insight-rail{position:sticky;top:142px;display:grid;gap:12px}.rail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:19px}.rail-card h2{font-size:16px;margin:6px 0 12px}.editor-note{color:var(--ink-2);font-size:13px}.editor-note p{margin:0 0 10px}.rail-heading{display:flex;align-items:center;justify-content:space-between}.rail-heading button{border:0;background:transparent;color:var(--primary);font-size:12px}.topic-mini{display:grid;gap:8px}.topic-mini button{width:100%;border:0;background:var(--surface-2);border-radius:8px;min-height:42px;padding:8px 10px;display:flex;justify-content:space-between;text-align:left;font-size:12px}.topic-mini strong{font-size:12px}.topic-mini span{color:var(--muted)}.method-card ul{padding-left:18px;margin:0;color:var(--muted);font-size:12px}.method-card li+li{margin-top:7px}.source-stat{min-width:168px;padding:13px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:right}.source-stat strong{display:block;font-size:23px}.source-stat small{color:var(--muted);font-size:11px}.discovery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.discovery-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column}.discovery-card.discarded{opacity:.72;background:#f7f8fa}.discovery-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.rank{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.discovery-card h2{font-size:18px;line-height:1.4;margin:12px 0 5px}.discovery-card .excerpt{font-family:Georgia,"Songti SC",STSong,serif;font-size:14px;line-height:1.75;color:var(--ink-2);margin:14px 0}.discovery-result{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:12px}.discovery-result strong{display:block;margin-bottom:3px}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.theme-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px}.theme-card header{display:flex;justify-content:space-between;gap:14px}.theme-card h2{font-size:18px;margin:0}.theme-count{color:var(--primary);font-weight:800}.theme-stocks{color:var(--muted);font-size:12px;margin:6px 0 16px}.theme-card ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.theme-card li{padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.theme-card li a{text-decoration:none}.theme-card li span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.opportunity-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.opportunity-card header{display:flex;justify-content:space-between;gap:18px}.opportunity-card h2{font-size:20px;margin:0}.opportunity-card .ticker{color:var(--muted);font-size:12px}.opportunity-card h3{font-size:11px;color:var(--muted);margin:18px 0 5px;text-transform:uppercase;letter-spacing:.08em}.opportunity-card p{font-size:13px;margin:0}.empty{padding:42px 24px;text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:5px}.skeleton{height:250px;border-radius:var(--radius);background:linear-gradient(90deg,#e9edf1 25%,#f5f7f9 42%,#e9edf1 65%);background-size:300% 100%;animation:shimmer 1.4s infinite}.status-dialog{width:min(680px,calc(100vw - 32px));max-height:82vh;border:0;border-radius:16px;padding:0;box-shadow:0 30px 80px rgba(15,23,42,.25)}.status-dialog::backdrop{background:rgba(16,25,38,.48);backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;background:var(--surface);display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:6px 0 0;font-size:20px}.close-button{width:40px;height:40px;border:0;background:var(--surface-2);border-radius:9px;font-size:25px;line-height:1}.status-body{padding:22px 24px;overflow:auto}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-metric{padding:14px;background:var(--surface-2);border-radius:10px}.status-metric span{display:block;color:var(--muted);font-size:11px}.status-metric strong{font-size:22px}.snapshot-list{margin-top:18px;border-top:1px solid var(--line)}.snapshot-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.snapshot-row span:last-child{color:var(--muted);text-align:right}.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:var(--ink);color:#fff;padding:11px 15px;border-radius:9px;box-shadow:var(--shadow);font-size:12px}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}@media(max-width:1040px){.metric-grid{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:1fr}.insight-rail{position:static;grid-template-columns:repeat(3,1fr)}.discovery-list,.opportunity-grid{grid-template-columns:1fr}.theme-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{height:64px;padding:0 16px}.day-picker span,.status-button span{display:none}.day-picker select{min-width:105px}.status-button{width:42px;padding:0;justify-content:center}.primary-tabs{height:52px;overflow:auto;padding:0 12px}.tab-button{flex:0 0 auto;padding:0 12px}.tab-button[aria-selected=true]::after{left:12px;right:12px}.app-main{padding:28px 15px 64px}.page-intro{align-items:flex-start;display:block;margin-bottom:22px}.page-intro h1{font-size:27px}.mode-pill,.source-stat{margin-top:16px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-card{min-height:94px;padding:14px}.metric-card strong{font-size:25px}.section-toolbar{display:block}.segmented{margin-top:12px;width:max-content}.story-body,.analysis-panel{padding:18px 16px}.story-card h3{font-size:19px}.analysis-lead{grid-template-columns:1fr}.story-actions{flex-wrap:wrap}.insight-rail{grid-template-columns:1fr}.theme-grid{grid-template-columns:1fr}.discovery-card{padding:17px}.status-grid{grid-template-columns:1fr 1fr}.brand small{display:none}}@media(max-width:390px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card:last-child{grid-column:1/-1}.story-meta{align-items:flex-start}.day-picker{padding-left:8px}.day-picker select{min-width:92px}.tab-button{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.evidence-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.evidence-links a{color:var(--primary);text-decoration:none;border-bottom:1px solid #b9c9ed}
@media(max-width:720px){.topbar-right{min-width:0}.day-picker{width:132px;min-width:0}.day-picker select{width:112px;min-width:0;max-width:112px;overflow:hidden;text-overflow:ellipsis}.primary-tabs{max-width:100vw}}
@media(max-width:390px){.brand>span:last-child{display:none}.topbar{gap:10px}.day-picker{width:125px}.day-picker select{width:108px;max-width:108px}}
@media(max-width:720px){.primary-tabs{overflow:visible;padding:0 4px;gap:0}.tab-button{flex:1;min-width:0;padding:0 2px;font-size:12px}.tab-button[aria-selected=true]::after{left:7px;right:7px}}
.decision-badge.seen_card{background:#eef2f6;color:#58677a}.decision-badge.candidate{background:#e8f1ff;color:#155bd7}.decision-badge.deep_read{background:#eeeaff;color:#5c45b8}.decision-badge.pending_verification{background:#fff4d6;color:#805d00}.discovery-result{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.discovery-result>div{min-width:0}.card-source-link{flex:none;color:var(--primary);font-weight:750;text-decoration:none;padding:7px 9px;border-radius:7px;background:var(--primary-soft)}.discovery-card.seen_card{border-style:dashed}.discovery-card.candidate{border-color:#c7d8fb}.discovery-card.deep_read{border-color:#d5cdf8}.discovery-card.pending_verification{border-color:#eed894}

/* Research desk v4 */
.reading-progress{margin:-2px 0 15px;padding:12px 15px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.reading-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.reading-progress strong{color:var(--ink);font-size:13px}.progress-track{height:5px;margin-top:9px;border-radius:999px;background:#e7ebf0;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#4f7ce6);transition:width .25s ease}.reading-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:750}.reading-badge.unread{background:#f0f3f6;color:#59677a}.reading-badge.later{background:#fff4d6;color:#775c00}.reading-badge.read{background:var(--success-soft);color:var(--success)}.reading-badge.skipped{background:#f0f1f3;color:#727b87}.decision-badge.thesis_change{background:#eaf1ff;color:#2456be}.decision-badge.new_opportunity{background:#e8f6ef;color:#157253}.decision-badge.risk{background:var(--danger-soft);color:var(--danger)}.decision-badge.context{background:#f0f1f4;color:#5f6874}.story-card.reading-read,.story-card.reading-skipped{border-color:#dfe5e3}.brief-summary{margin:19px 0 0;padding:17px 19px;border-radius:10px;background:#f3f6fa;border:1px solid #e4e9ef}.brief-summary span,.card-summary>span,.thesis-lead>span{display:block;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:6px}.brief-summary p,.card-summary p{margin:0;font-size:15px;line-height:1.75;color:var(--ink)}.analysis-block.judgment{padding-left:18px;border-left:2px solid #c9d7f4}.counterpoint{margin-top:15px;padding:13px 15px;border-radius:9px;background:#fff5f3;border:1px solid #f2d8d4}.counterpoint span{display:block;color:var(--danger);font-size:11px;font-weight:750}.counterpoint p{margin:4px 0 0;font-size:12px;line-height:1.65}.card-summary{margin:15px 0;padding:14px 15px;background:#f5f7fa;border-radius:9px}.card-summary p{font-size:13px}.feed-groups{display:grid;gap:28px}.feed-group>header{display:flex;align-items:center;gap:10px;margin-bottom:11px}.feed-group>header h2{margin:0;font-size:17px}.feed-group>header span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;background:#e8edf3;border-radius:999px;font-size:11px;font-weight:750}.group-discarded{opacity:.8}.group-discarded .discovery-card{background:#f8f9fa}.opportunity-grid{display:grid;grid-template-columns:1fr;gap:20px}.opportunity-card{padding:0;overflow:hidden}.opportunity-card>header{padding:25px 27px 22px;background:linear-gradient(135deg,#fff 35%,#f4f7fb)}.opportunity-eyebrow{display:flex;gap:12px;color:var(--muted);font-size:11px;margin-bottom:7px}.opportunity-card h2{font-size:23px;line-height:1.35}.opportunity-status{flex:none;height:30px;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:800}.opportunity-status.researching,.opportunity-status.discovery{background:#fff2d6;color:#7c5b06}.opportunity-status.formed{background:#dff4e9;color:#0f6a4c}.opportunity-status.tracking{background:#e8f0ff;color:#2457b7}.opportunity-status.rejected{background:#eef0f2;color:#65707d}.opportunity-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfd}.opportunity-stats span{padding:13px 26px;color:var(--muted);font-size:11px;border-right:1px solid var(--line)}.opportunity-stats span:last-child{border-right:0}.opportunity-stats strong{color:var(--ink);font-size:18px;margin-right:5px}.thesis-lead{margin:24px 27px 0;padding:20px 22px;border-radius:11px;background:#162238;color:#fff}.thesis-lead>span{color:#9db9ff}.thesis-lead p{font-size:15px;line-height:1.8;margin:0}.research-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 27px 0}.research-section{min-width:0;padding:18px;background:#f7f9fb;border:1px solid #e4e8ed;border-radius:10px}.research-section h3,.valuation-box h3,.claim-section h3{margin:0 0 8px;font-size:12px;letter-spacing:.04em;color:var(--ink)}.research-section p,.valuation-box p{font-size:13px;line-height:1.75;margin:0;color:var(--ink-2)}.research-section ul{margin:0;padding-left:18px}.research-section li{font-size:13px;line-height:1.65;color:var(--ink-2)}.research-section li+li{margin-top:7px}.research-section.risk{background:#fff7f5;border-color:#f0deda}.research-section.positive{background:#f2f9f5;border-color:#d8ebe1}.valuation-box{margin:16px 27px 0;padding:18px 20px;border-left:3px solid var(--primary);background:#f2f6ff;border-radius:0 10px 10px 0}.claim-section{margin:20px 27px 27px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px}.claim-section>div>p{font-size:11px;line-height:1.6;color:var(--muted)}.claim-section ul{list-style:none;margin:0;padding:0}.claim-section li{position:relative;padding:0 0 14px 112px;min-height:34px;border-bottom:1px solid var(--line)}.claim-section li+li{padding-top:14px}.claim-section li+li .claim-status{top:14px}.claim-section li:last-child{border-bottom:0}.claim-section li p{margin:0;font-size:12px;line-height:1.65}.claim-section li>a{display:inline-block;margin-top:4px;color:var(--primary);font-size:11px;text-decoration:none}.claim-status{position:absolute;left:0;top:0;padding:3px 7px;border-radius:5px;font-size:10px;font-weight:750}.claim-status.verified{background:var(--success-soft);color:var(--success)}.claim-status.open{background:#fff4d6;color:#775c00}.toast{display:flex;align-items:center;gap:14px}.toast button{border:0;border-left:1px solid #526071;background:transparent;color:#aecaef;padding-left:13px;font-size:12px;font-weight:750}.toast[hidden]{display:none}.story-actions button[data-reading="skipped"]{color:#6e7782}.story-actions button[data-reading="unread"]{margin-left:auto}.evidence-links{margin-top:7px}
@media(max-width:820px){.research-columns{grid-template-columns:1fr}.claim-section{grid-template-columns:1fr}.opportunity-card>header{display:block}.opportunity-status{display:inline-flex;margin-top:12px}.analysis-block.judgment{padding-left:0;border-left:0}.opportunity-stats span{padding:12px}.claim-section li{padding-left:0;padding-top:30px}.claim-section li+li{padding-top:44px}.claim-section li+li .claim-status{top:14px}}
@media(max-width:520px){.segmented{width:100%;overflow:auto}.segmented button{flex:0 0 auto}.opportunity-card>header,.thesis-lead,.valuation-box,.claim-section{margin-left:16px;margin-right:16px}.opportunity-card>header{margin:0;padding:20px 16px}.research-columns{padding-left:16px;padding-right:16px}.opportunity-stats{grid-template-columns:1fr}.opportunity-stats span{border-right:0;border-bottom:1px solid var(--line)}.opportunity-stats span:last-child{border-bottom:0}}

/* Research desk v5: source coverage and progressive disclosure */
.source-badge.other{background:#f0edff;color:#5f49a8}.feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin-bottom:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.feed-toolbar>div:first-child{min-width:210px}.feed-toolbar>div:first-child strong,.feed-toolbar>div:first-child span{display:block}.feed-toolbar>div:first-child strong{font-size:14px}.feed-toolbar>div:first-child span{margin-top:2px;color:var(--muted);font-size:11px}.feed-filters{display:flex;flex-wrap:wrap;gap:6px}.feed-filters button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:12px;transition:background .18s ease,border-color .18s ease,color .18s ease}.feed-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.feed-filters b{margin-left:6px;font-variant-numeric:tabular-nums}.load-more{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:18px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--primary);font-weight:750}.load-more span{color:var(--muted);font-size:11px;font-weight:500}.discovery-card.seen_card .card-summary{background:#fafbfc}.discovery-card.seen_card .card-summary p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.discovery-card h2{overflow-wrap:anywhere}.discovery-result span{display:block;color:var(--ink-2);line-height:1.65}.source-stat small{display:block}
@media(max-width:720px){.feed-toolbar{align-items:flex-start;display:block}.feed-filters{margin-top:12px}.feed-filters button{flex:1 0 auto}.primary-tabs{overflow-x:auto;padding:0 8px;scrollbar-width:none}.primary-tabs::-webkit-scrollbar{display:none}.tab-button{flex:0 0 auto;min-width:62px;padding:0 8px}.tab-button[aria-selected=true]::after{left:8px;right:8px}}
.capture-bridge,.capture-sink{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;opacity:.001!important;pointer-events:none!important}
.source-kind-badge.comment{background:#e8f3ed;color:#17643d;border:1px solid #c9e3d4}

/* Research reader v10: one editorial card at a time */
#panel-today{max-width:1180px;margin:0 auto}.today-intro{margin-bottom:16px}.today-intro h1{font-size:30px}.reader-metrics{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.reader-metrics .metric-card{min-height:70px;padding:11px 14px;border-radius:11px}.reader-metrics .metric-card strong{display:inline-block;font-size:22px;margin:3px 8px 0 0}.reader-metrics .metric-card small{display:inline;font-size:10px}.reader-shell{height:calc(100dvh - 315px);min-height:640px;max-height:860px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#eef1f4;border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(20,32,51,.09)}.reader-toolbar{min-height:62px;padding:10px 14px 10px 18px;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(250px,1fr);align-items:center;gap:16px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.reader-status strong,.reader-status span{display:block}.reader-status strong{font-size:14px}.reader-status span{margin-top:1px;color:var(--muted);font-size:11px}.reader-nav{display:flex;align-items:center;justify-content:flex-end;gap:7px}.reader-nav button{height:40px;min-width:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:#fff}.reader-nav button:hover:not(:disabled){border-color:#aab8cc;background:var(--primary-soft)}.reader-nav button:disabled{cursor:not-allowed;opacity:.35}.reader-nav svg{width:18px;height:18px}.reader-nav>span{min-width:54px;text-align:center;color:var(--ink-2);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.reader-fullscreen span{font-size:12px;font-weight:700}.reader-shell>.reading-progress{margin:0;padding:8px 18px;border:0;border-radius:0;background:#fafbfc}.reader-shell>.reading-progress .progress-track{height:3px;margin-top:6px}.reader-deck{min-height:0;padding:16px;outline:none;touch-action:pan-y;background:radial-gradient(circle at 85% 10%,rgba(41,86,200,.08),transparent 34%),#eef1f4}.reader-deck:focus-visible{box-shadow:inset 0 0 0 3px rgba(41,86,200,.23)}.reader-card{height:100%;max-width:1040px;margin:0 auto;display:grid;grid-template-rows:minmax(0,1fr) auto;border-color:#d5dbe3;border-radius:15px;box-shadow:0 14px 38px rgba(20,32,51,.08);animation:reader-card-in .22s ease-out}.reader-card-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:30px 38px 26px;background:#fff}.reader-card-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.reader-card-head h2{max-width:900px;margin:15px 0 8px;font-size:clamp(25px,3vw,38px);line-height:1.24;letter-spacing:-.025em}.reader-card-head .card-position{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.source-title{margin:11px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.source-title span{margin-right:8px;color:var(--ink-2);font-weight:750}.reader-thesis{margin-top:22px;padding:22px 24px;border-radius:12px;background:#152136;color:#fff;box-shadow:inset 4px 0 0 #6f96ef}.reader-thesis>span,.reader-analysis-block>span,.reader-counterpoint>span{display:block;margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.08em}.reader-thesis>span{color:#a9c2ff}.reader-thesis p{margin:0;font-size:17px;line-height:1.85}.reader-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.reader-analysis-block{padding:18px 20px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.reader-analysis-block>span{color:var(--primary)}.reader-analysis-block p,.reader-evidence p{margin:0;font-size:14px;line-height:1.78;color:var(--ink-2)}.reader-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.reader-evidence>div{padding:17px 19px;border-radius:11px;background:#f4f6f8;border:1px solid var(--line)}.reader-evidence .evidence-badge{margin-bottom:8px;background:#e4ebf8;color:#294c91}.reader-counterpoint{background:#fff6f3!important;border-color:#eddcd5!important}.reader-counterpoint>span{color:#9f4238}.reader-actions{margin:0;padding:12px 18px;min-height:62px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px rgba(20,32,51,.04)}.reader-actions a,.reader-actions button{min-height:40px;height:40px;padding:0 16px}.reader-actions a{margin-right:auto;background:var(--primary);border-color:var(--primary)}.reader-hint{min-height:30px;padding:6px 18px;display:flex;align-items:center;justify-content:space-between;color:#6b7789;background:#e4e8ed;font-size:10px}.reader-shell:fullscreen{width:100vw;height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;padding:18px;background:#dfe4ea}.reader-shell:fullscreen .reader-toolbar{border-radius:14px 14px 0 0}.reader-shell:fullscreen .reader-deck{padding:22px}.reader-shell:fullscreen .reader-hint{border-radius:0 0 14px 14px}.reader-shell:fullscreen .reader-card{max-width:1120px}.reader-shell:fullscreen .reader-card-scroll{padding:34px 46px}.reader-shell:fullscreen .reader-card-head h2{font-size:clamp(30px,3vw,44px)}
@keyframes reader-card-in{from{opacity:.35;transform:translateX(16px)}to{opacity:1;transform:none}}
@media(max-width:900px){.reader-shell{height:calc(100dvh - 290px);min-height:620px}.reader-toolbar{grid-template-columns:1fr auto}.reader-toolbar .segmented{grid-row:2;grid-column:1/-1;width:100%}.reader-toolbar .segmented button{flex:1}.reader-analysis-grid,.reader-evidence{grid-template-columns:1fr}.reader-card-scroll{padding:24px 25px}.reader-thesis p{font-size:16px}}
@media(max-width:720px){#panel-today{margin:0}.today-intro,.reader-metrics{display:none}.reader-shell{height:calc(100dvh - 140px);min-height:0;margin:-16px -15px 0;border-left:0;border-right:0;border-radius:0}.reader-toolbar{min-height:108px;padding:9px 12px;gap:8px}.reader-status span{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-nav{gap:4px}.reader-nav button{height:38px;min-width:38px;padding:0 8px}.reader-fullscreen span{display:none}.reader-shell>.reading-progress{padding:7px 13px}.reader-deck{padding:9px}.reader-card{border-radius:12px}.reader-card-scroll{padding:20px 18px}.reader-card-head h2{font-size:25px}.reader-thesis{padding:18px}.reader-thesis p{font-size:15px;line-height:1.75}.reader-analysis-block,.reader-evidence>div{padding:15px}.reader-actions{padding:9px;gap:6px;overflow-x:auto}.reader-actions a,.reader-actions button{flex:0 0 auto;min-height:44px;height:44px;padding:0 13px}.reader-hint{padding:6px 11px}.reader-hint span:last-child{display:none}.reader-shell:fullscreen{padding:0}.reader-shell:fullscreen .reader-toolbar,.reader-shell:fullscreen .reader-hint{border-radius:0}.reader-shell:fullscreen .reader-deck{padding:9px}.reader-shell:fullscreen .reader-card-scroll{padding:20px 18px}}
@media(prefers-reduced-motion:reduce){.reader-card{animation:none}}

/* Viewpoint-first reader: source stance is separate from the desk's judgment. */
.view-facts{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:9px;margin-top:18px}
.view-facts>div{padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;min-width:0}
.view-facts span,.view-facts strong{display:block}
.view-facts span{color:var(--muted);font-size:11px;margin-bottom:3px}
.view-facts strong{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.view-section{margin-top:14px;padding:19px 21px;border:1px solid var(--line);border-radius:11px;background:#fff}
.view-section.plain{background:#f2f6ff;border-color:#dbe5f8}
.view-section h3{font-size:13px;margin:0 0 8px;color:var(--ink)}
.view-section p,.view-section li{margin:0;color:var(--ink-2);font-size:14px;line-height:1.8}
.view-section ol{margin:0;padding-left:20px}.view-section li+li{margin-top:7px}
.view-section small{display:block;margin-top:10px;color:var(--muted);font-size:11px}
@media(max-width:720px){.view-facts{grid-template-columns:1fr 1fr}.view-facts>div:first-child{grid-column:1/-1}.view-section{padding:16px}}

/* Edition and source-audit layout */
.editor-overview{margin:0 0 16px;padding:17px 20px;background:var(--surface);border:1px solid var(--line);border-radius:13px}
.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.editor-heading span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--primary)}
.editor-heading h2{font-size:18px;line-height:1.3;margin:3px 0 0}
.editor-heading small{max-width:500px;color:var(--muted);font-size:11px;line-height:1.5;text-align:right}
.change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}
.change-grid button{display:grid;grid-template-columns:26px 1fr;align-content:start;gap:2px 8px;min-height:88px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;text-align:left;transition:border-color .2s,background .2s}
.change-grid button:hover{border-color:#aabff0;background:#f1f5ff}
.change-grid b{grid-row:1/3;color:var(--primary);font-size:15px}
.change-grid strong{font-size:12px;line-height:1.4}
.change-grid span{color:var(--muted);font-size:11px;line-height:1.45}
.editor-conclusions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}
.editor-conclusions p{margin:0;color:var(--ink-2);font-size:11px;line-height:1.5}
.editor-conclusions strong{display:block;color:var(--ink);margin-bottom:3px;font-size:11px}
.source-subtabs{display:flex;gap:7px;margin-bottom:16px}
.source-subtabs button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:700;font-size:13px;transition:background .2s,border-color .2s}
.source-subtabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.source-controls{display:grid;grid-template-columns:minmax(0,1fr) 170px 170px;gap:10px;margin-bottom:12px}
.source-controls label,.research-search{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}
.source-controls input,.source-controls select,.research-search input{height:42px;width:100%;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font-size:13px}
.source-controls input:focus-visible,.source-controls select:focus-visible,.research-search input:focus-visible{outline:3px solid rgba(41,86,200,.22);outline-offset:1px}
#source-status-filters{margin:0 0 15px}
.source-list{display:grid;gap:8px}
.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 18px;padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:11px}
.source-row.discarded{background:#fafbfc}
.source-row-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:11px}
.source-row h2{font-size:15px;line-height:1.45;margin:7px 0 2px}
.source-row-meta{color:var(--muted);font-size:11px}
.source-row-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;color:var(--ink-2);font-size:12px;line-height:1.6}
.source-row details{min-width:138px;justify-self:end}
.source-row summary,.opportunity-detail summary,.research-cluster>details summary{cursor:pointer;color:var(--primary);font-size:12px;font-weight:750;list-style:none}
.source-row summary::-webkit-details-marker,.opportunity-detail summary::-webkit-details-marker,.research-cluster>details summary::-webkit-details-marker{display:none}
.source-row details[open]{grid-column:1/-1;justify-self:stretch;border-top:1px solid var(--line);padding-top:12px}
.source-row-detail{padding:10px 0 2px;color:var(--ink-2);font-size:12px;line-height:1.7}
.source-row-detail strong{display:block;color:var(--ink);margin-top:5px}
.source-row-detail p{margin:4px 0 12px}
.source-row .card-source-link{display:inline-flex;margin-top:5px}
.research-search{max-width:400px;margin:0 0 17px}
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.research-cluster{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.research-cluster header{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line)}
.research-cluster h2{font-size:19px;margin:4px 0 3px}
.research-cluster header p{margin:0;color:var(--muted);font-size:11px}
.research-cluster header>strong{white-space:nowrap;color:var(--primary);font-size:11px}
.research-cluster-list{display:grid}
.research-cluster-list>div{padding:13px 18px;border-bottom:1px solid var(--line)}
.research-cluster-list span{display:block;color:var(--primary);font-size:10px;font-weight:700}
.research-cluster-list strong{display:block;font-size:13px;line-height:1.5;margin-top:3px}
.research-cluster-list p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0;color:var(--ink-2);font-size:11px;line-height:1.6}
.research-cluster-list a{color:var(--primary);font-size:11px;text-decoration:none}
.research-cluster>details{padding:12px 18px}
.opportunity-filters{margin-bottom:16px}
.opportunity-quick{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;padding:15px 27px;border-top:1px solid var(--line)}
.opportunity-quick p{margin:0;color:var(--ink-2);font-size:12px;line-height:1.6}
.opportunity-quick strong{display:block;color:var(--ink);font-size:11px;margin-bottom:3px}
.opportunity-quick .valuation-state{align-self:center;white-space:nowrap;padding:6px 9px;border-radius:6px;background:#fff4d6;color:#775c00;font-size:11px;font-weight:750}
.opportunity-detail{padding:16px 0 0}
.opportunity-detail>summary{margin:0 27px 16px;padding:11px 0;border-top:1px solid var(--line)}
.opportunity-detail:not([open]){padding-bottom:5px}
@media(max-width:900px){.change-grid,.editor-conclusions{grid-template-columns:1fr}.editor-heading{display:block}.editor-heading small{display:block;text-align:left;margin-top:6px}.source-controls{grid-template-columns:1fr 1fr}.source-controls label:first-child{grid-column:1/-1}.theme-grid{grid-template-columns:1fr}.opportunity-quick{grid-template-columns:1fr 1fr}.opportunity-quick .valuation-state{grid-column:1/-1;justify-self:start}}
@media(max-width:720px){.editor-overview{padding:13px;margin:0 0 10px}.change-grid{gap:6px}.change-grid button{min-height:0}.editor-conclusions{gap:7px}.editor-conclusions p:nth-child(n+2){display:none}.source-subtabs{overflow:auto}.source-subtabs button{white-space:nowrap;flex:none}.source-controls{grid-template-columns:1fr 1fr}.source-row{display:block;padding:14px}.source-row details{margin-top:9px}.source-row details[open]{padding-top:9px}.opportunity-quick{grid-template-columns:1fr;padding:14px 16px;gap:8px}.opportunity-quick .valuation-state{grid-column:auto}.opportunity-detail>summary{margin-left:16px;margin-right:16px}.reader-shell{height:calc(100dvh - 160px);margin-top:0}}
.source-context:not(:empty){margin:2px 0 17px;padding:17px 19px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.context-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:13px}
.context-heading span{color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.08em}
.context-heading h2{margin:3px 0 0;font-size:17px}
.context-heading small{max-width:480px;color:var(--muted);font-size:11px;text-align:right}
.context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.context-grid article{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.context-grid strong,.context-grid span{display:block}
.context-grid strong{font-size:12px}.context-grid strong a{text-decoration:none}.context-grid strong small{font-weight:500;color:var(--muted)}
.context-grid span{margin:3px 0;color:var(--primary);font-size:10px;font-weight:650}
.context-grid p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--ink-2);font-size:11px;line-height:1.5}
.context-overlap{margin-top:12px;font-size:11px}.context-overlap summary{cursor:pointer;color:var(--primary);font-weight:750}.context-overlap div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.context-overlap div span{padding:5px 8px;background:#fff;border:1px solid var(--line);border-radius:6px}.context-overlap p{color:var(--muted)}
.context-more{margin-top:12px}.context-more>summary{cursor:pointer;color:var(--primary);font-size:12px;font-weight:750}.context-more>.context-grid{margin-top:10px}
@media(max-width:900px){.context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.context-heading{display:block}.context-heading small{display:block;text-align:left;margin-top:5px}.context-grid{grid-template-columns:1fr}}
@media(min-width:721px) and (max-width:900px){.change-grid,.editor-conclusions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){#panel-today:not([hidden]){display:flex;flex-direction:column}.today-intro{order:0}.reader-shell{order:1}.editor-overview{order:2;margin-top:14px}.reader-metrics{order:3;margin-top:14px}}
@media(max-width:720px){.editor-heading small{display:none}.change-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.change-grid button{flex:0 0 245px;scroll-snap-align:start}.app-main{padding-top:13px}}
