/* Research-specific surfaces and a separate phone composition. */
:root:root { --r-lg:20px;--r-md:14px;--r-sm:12px;--glass:var(--glass-card);--cell:var(--glass-card);--tint:var(--control-track);--shadow:var(--liquid-shadow);color-scheme:light dark; }
html { scroll-padding-top:calc(var(--native-top,0px) + 16px);scroll-padding-bottom:calc(var(--native-bottom,0px) + 20px); }
:root:root body.research-page { margin:0;background:var(--bg);color:var(--text);background-attachment:scroll;font-size:15px;line-height:1.6; }
:root:root body.research-page :is(button,.button) { color:var(--text);background:var(--control-bg);border:1px solid var(--line);box-shadow:var(--liquid-inset);min-height:42px;padding:8px 14px;font-size:14px;font-weight:550;backdrop-filter:none;-webkit-backdrop-filter:none; }
:root:root body.research-page :is(button.primary,#add-company) { color:var(--bg)!important;background:var(--text)!important;border-color:var(--text)!important;box-shadow:none!important;transition-property:transform!important; }
:root:root body.research-page :is(button.primary,#add-company):is(:hover,:focus,:active,:disabled) { color:var(--bg)!important;background:var(--text)!important; }
:root:root body.research-page :is(button.primary,#add-company) :is(span,svg) { color:inherit; }
:root:root body.research-page :is(button.danger,#delete-company) { color:var(--red)!important;background:var(--control-track)!important; }
:root:root body.research-page :is(input,select,textarea) { color:var(--text);background:var(--control-bg);border:1px solid var(--line);padding:10px 12px;min-width:0;box-shadow:none; }
:root:root body.research-page label { color:var(--text);font-size:13px;line-height:1.5; }
:root:root body.research-page :is(.hint,.muted,.eyebrow,.aside-bottom,.brand small,.company small) { color:var(--muted); }
:root:root body.research-page :is(.panel,.company,aside,dialog,.history-item,.evidence,.model-card,.simple-card,.scenario-card,.model-segment,.advanced-model>summary) { color:var(--text);background:var(--glass-card);border:1px solid var(--line);box-shadow:var(--liquid-inset);backdrop-filter:none;-webkit-backdrop-filter:none; }
:root:root body.research-page .company strong { color:var(--text)!important; }
:root:root body.research-page #company-list .company { border-radius:14px!important;text-align:left;white-space:normal; }
:root:root body.research-page .company.active { background:var(--control-selected); }
:root:root body.research-page .topbar { width:calc(100% - 32px);max-width:1440px;margin:16px auto 0;top:12px;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:24px!important;background:var(--glass-surface-strong);box-shadow:var(--liquid-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }
:root:root body.research-page .brand { color:var(--text);display:flex;gap:10px;align-items:center;font-size:16px; }
.brand img { border-radius:9px; }.brand small { font-size:11px; }
:root:root body.research-page .shell { max-width:1472px;grid-template-columns:260px minmax(0,1fr);padding:18px 16px 32px;gap:20px; }
:root:root body.research-page aside { border-radius:20px;top:98px;padding:16px; }
:root:root body.research-page .panel { padding:20px;border-radius:20px!important;margin-bottom:16px; }
:root:root body.research-page h1 { font-size:28px;line-height:1.3; }.research-page h2 { font-size:19px;line-height:1.4; }.research-page h3 { font-size:16px;line-height:1.5; }
:root:root body.research-page .tabs { width:100%;padding:5px;border:1px solid var(--line);border-radius:18px;background:var(--control-track);gap:4px;box-shadow:none; }
:root:root body.research-page .tabs button { flex:1;color:var(--muted)!important;background:transparent!important;border:0;box-shadow:none;white-space:nowrap; }
:root:root body.research-page .tabs button.active { color:var(--text)!important;background:var(--control-selected)!important;box-shadow:var(--liquid-inset); }
:root:root body.research-page .badge { color:var(--text);background:var(--control-track);border:1px solid var(--line);font-size:11px;line-height:1.5; }
:root:root body.research-page .badge:is(.empty,.review,.rebuild) { color:var(--text);background:var(--control-selected); }
:root:root body.research-page :is(.notice,.audit-warning,.price-requirement,.plain-risk) { color:var(--text);background:var(--control-track); }
:root:root body.research-page th { color:var(--muted);background:var(--control-track); }
:root:root body.research-page .stage-button { color:var(--text);background:var(--control-bg); }
:root:root body.research-page .stage-button.active { color:var(--text);background:var(--control-selected); }
:root:root body.research-page .stage-number { color:var(--text);background:var(--control-track); }
:root:root body.research-page .stage-button:is(.active,.done) .stage-number { color:var(--bg);background:var(--text); }
.research-page :is(.shell,main,.panel,.page-heading,.fields,.top-actions) { min-width:0; }
.research-page :is(p,li,td,summary) { overflow-wrap:anywhere; }.research-page :is(.table-wrap,table) { max-width:100%; }.research-page .table-wrap { overflow-x:auto;overscroll-behavior-x:contain; }
:root:root body.research-page dialog { color:var(--text);background:var(--panel-strong);border-radius:22px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto; }
.research-page dialog::backdrop { background:rgba(0,0,0,.4); }
.research-page #save-state { color:var(--muted);font-size:11px;font-weight:400;border:0;background:none;box-shadow:none;padding:0; }
#research-roster>summary,#research-tools>summary,.mobile-stage-picker { display:none; }
#research-tools:not([open])>.top-actions,#research-roster:not([open])>.roster-content { display:block; }
#research-tools>.top-actions { display:flex;gap:6px;align-items:center;flex-wrap:wrap; }
.research-basics>summary { display:flex;justify-content:space-between;gap:12px;cursor:pointer;align-items:center;list-style:none; }
.research-basics>summary strong { font-size:17px; }.research-basics>summary span { font-size:12px;color:var(--muted); }
.research-notes>summary { cursor:pointer;font-size:13px;font-weight:550; }
.research-notes label { margin-top:12px; }.research-delete { margin-top:12px;display:flex;justify-content:flex-end; }
.research-status-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }.research-status-row h2 { margin:0; }
.research-lead { font-size:17px;line-height:1.8; }.research-priorities { display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:12px; }
.research-priorities h3 { margin:0 0 8px; }.research-priorities ul { margin:8px 0;padding-left:18px; }.research-priorities li { margin:6px 0; }
.research-summary details>summary,.research-table>summary { cursor:pointer;color:var(--muted);font-size:13px;padding:10px 0; }
.research-table { margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
:root:root body.research-page .evidence { border-radius:14px;padding:16px!important; }
html[data-app-embed="1"] body.research-page { padding-top:calc(var(--native-top,0px) + 8px);padding-bottom:calc(var(--native-bottom,0px) + 24px); }
html[data-app-embed="1"] body.research-page .topbar { position:static;margin:0 auto;border:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none; }
html[data-app-embed="1"] .topbar :is(.brand,.research-back) { display:none; }
@media(max-width:1050px) and (min-width:721px) { :root:root body.research-page .shell { grid-template-columns:220px minmax(0,1fr);gap:14px; }.research-page .tabs button { padding:8px;font-size:12px; } }
.research-page .company :is(strong,small) { min-width:0;overflow-wrap:anywhere; }
/* Native chrome owns the brand and navigation; do not render a second header. */
:root:root[data-app-embed="1"] body.research-page .topbar { position:relative;top:auto;margin:0 auto;width:calc(100% - 24px);padding:0 2px;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important; }
:root:root[data-app-embed="1"] body.research-page .topbar :is(.brand,.research-back) { display:none!important; }
/* Separate automatic results from detailed evidence editing on small screens. */
.research-manual>summary { display:none; }
.research-manual:not([open])>.research-grid { display:grid; }
.deep-progress-details>summary { cursor:pointer;font-size:12px;color:var(--muted);padding:10px 0; }
@media(max-width:720px) {
 :root:root body.research-page { font-size:14px;line-height:1.65; }
 :root:root body.research-page .topbar { position:relative;top:auto;z-index:30;width:calc(100% - 24px);margin:10px auto 0;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px; }
 :root:root body.research-page .brand { font-size:15px;flex:1; }
 .brand small { font-size:10px; }
 .brand img { width:28px;height:28px; }
 #research-tools { position:relative;margin-left:auto; }
 #research-tools>summary { display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:13px;border:1px solid var(--line);border-radius:14px;cursor:pointer;list-style:none; }
 #research-tools:not([open])>.top-actions { display:none; }
 #research-tools[open] { flex-basis:100%;width:100%; }
 #research-tools[open]>summary { justify-content:space-between; }
 #research-tools[open]>.top-actions { position:static;width:100%;margin-top:8px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:transparent;border:0;box-shadow:none; }
 :root:root body.research-page #research-tools :is(button,.button) { justify-content:center;font-size:13px;min-height:44px;text-align:center; }
 :root:root body.research-page #save-state { flex-basis:100%;text-align:left;font-size:10px;line-height:1.4; }
 :root:root body.research-page .shell { display:block; }
 :root:root body.research-page aside { padding:0;position:static;border-radius:16px; }
 #research-roster>summary { display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer; }
 #research-roster>summary>span:first-child { flex:1;min-width:0; }
 #research-roster summary small { display:block;font-size:10px;color:var(--muted); }
 #roster-current { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
 #roster-count { font-size:11px;color:var(--muted); }
 #research-roster:not([open])>.roster-content { display:none; }
 .roster-content { padding:0 14px 14px; }
 .roster-content .aside-title { font-size:13px; }
 :root:root body.research-page #company-list { display:flex;flex-direction:column;gap:6px;max-height:264px;overflow-y:auto; }
 :root:root body.research-page #company-list .company { width:100%;min-width:0;min-height:60px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center; }
 .research-page .company strong { font-size:14px; }
 .research-page .company small { margin:0;font-size:11px; }
 .research-page .company small:last-child { grid-column:2;grid-row:1/3;white-space:nowrap; }
 .research-page .aside-bottom { margin-top:10px;padding-top:10px; }
 .research-page .aside-bottom p { font-size:11px; }
 .research-page .aside-bottom p:first-child { display:none; }
 :root:root body.research-page main { padding:0; }
 :root:root body.research-page h1 { letter-spacing:-.3px; }
 .research-page h2 { font-size:17px; }
 .research-page h3 { font-size:15px; }
 .research-page .page-heading { gap:8px; }
 .page-heading>div { min-width:0;flex:1; }
 .research-page .page-heading .eyebrow { display:none; }
 :root:root body.research-page #export-report { font-size:11px;min-height:44px;padding:8px 10px;white-space:nowrap; }
 :root:root body.research-page .tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px;padding:4px;margin:0 0 12px;overflow:visible;border-radius:16px; }
 :root:root body.research-page .tabs button { padding:7px 4px;border-radius:12px!important; }
 :root:root body.research-page .panel { content-visibility:visible; }
 .research-page .panel-header { gap:8px;align-items:center; }
 .research-page .panel-header h2 { font-size:17px; }
 .research-page .eyebrow { display:none; }
 :root:root body.research-page :is(button,.button) { min-height:44px;padding:8px 12px;font-size:13px; }
 :root:root body.research-page :is(input,select,textarea) { min-height:44px;padding:9px 10px;font-size:14px;border-radius:12px!important; }
 .research-page textarea { min-height:88px; }
 .research-page label { font-size:12px;gap:5px; }
 .research-page .fields,.research-page .fields.two { gap:12px 10px;margin:14px 0 0; }
 .research-page label:has(textarea),.research-page .fields .full { grid-column:1/-1; }
 .research-page .research-notes { margin-top:4px; }
 .research-page .research-notes>summary { padding:10px 0;border-top:1px solid var(--line); }
 .research-page .research-delete button { font-size:12px; }
 .research-page .research-delete { border-top:1px solid var(--line);padding-top:10px; }
 .research-page .research-basics>summary { min-height:32px;flex-wrap:wrap;gap:3px 8px; }
 .research-page .research-basics>summary strong { font-size:15px; }
 .research-page .research-basics>summary span { font-size:11px; }
 .research-page .deep-panel .panel-header { display:block; }
 .research-page .deep-panel .hint { font-size:12px;margin:8px 0 12px; }
 .research-page .deep-actions { display:flex;gap:8px; }
 .research-page .deep-actions button { flex:1; }
 .research-page #deep-status { font-size:12px;margin:10px 0 0; }
 .research-page .deep-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:12px 0; }
 .research-page .deep-steps span { font-size:10px;padding:4px 5px;text-align:center; }
 .research-page .research-lead { font-size:15px;line-height:1.8; }
 .research-page .research-priorities { grid-template-columns:1fr;gap:14px; }
 .research-page .research-priorities section+section { border-top:1px solid var(--line);padding-top:14px; }
 .research-page .research-priorities li { font-size:13px;line-height:1.8; }
 .research-page .stages { display:none; }
 .research-page .mobile-stage-picker { display:flex;flex-direction:column;gap:6px;margin:14px 0 12px; }
 .research-page .mobile-stage-picker select { font-weight:600; }
 .research-page .reader-lead { font-size:15px; }
 .research-page .reader-summary { margin:12px 0; }
 .research-page .reader-risk { padding:10px 12px; }
 .research-page .evidence-actions { flex-wrap:wrap;gap:8px; }
 .research-page .evidence-meta { font-size:11px;overflow-wrap:anywhere; }
 .research-page .model-cards,.research-page .simple-cards,.research-page .scenario-cards { grid-template-columns:1fr;gap:10px; }
 .research-page .model-card { padding:14px;border-radius:14px; }
 .research-page .model-card strong { font-size:24px; }
 .research-page .table-wrap { margin:12px -2px 0;padding-bottom:6px; }
 .research-page table { font-size:12px; }
 .research-page :is(th,td) { padding:9px 8px;vertical-align:top; }
 .research-page td input { min-width:88px; }
 .research-page .table-wrap::before { content:'左右滑动查看完整表格';display:block;color:var(--muted);font-size:10px;margin-bottom:6px; }
 .research-page footer { font-size:10px;padding:12px 2px; }
 .research-page dialog { padding:18px; }
 .research-page dialog h2 { font-size:18px; }
 html[data-app-embed="1"] body.research-page .topbar { width:calc(100% - 24px);padding:0 2px;gap:4px; }
 html[data-app-embed="1"] #research-tools { margin-left:0; }
 html[data-app-embed="1"] #research-tools>summary { padding:6px 10px;font-size:12px; }
 html[data-app-embed="1"] body.research-page #save-state { flex-basis:auto;margin-left:auto; }
 :is(input,select,textarea,button,summary) { scroll-margin-top:calc(var(--native-top,0px) + 16px);scroll-margin-bottom:calc(var(--native-bottom,0px) + 16px); }
 html[data-app-embed="1"] #research-tools[open]>.top-actions { left:0;right:auto; }
 .research-page #research-roster[open]>summary>span:last-child,.research-page #research-tools[open]>summary>span { transform:rotate(180deg); }
 :root:root body.research-page .tabs button { white-space:normal;line-height:1.35; }
 html[data-app-embed="1"] #research-tools>summary { min-height:44px; }
 :root:root body.research-page .shell { padding:12px 16px 32px; }
 :root:root body.research-page .panel { padding:18px;margin-bottom:16px;border-radius:20px!important; }
 .research-page .page-heading { align-items:flex-start;margin:8px 0 16px; }
 :root:root body.research-page h1 { font-size:23px;line-height:1.4; }
 .research-page #page-subtitle { font-size:12px;line-height:1.6; }
 .research-page .deep-panel .hint { line-height:1.75; }
 .research-page .deep-actions { flex-wrap:wrap;margin-top:16px; }
 .research-page .deep-actions button.primary { flex-basis:100%;min-height:48px; }
 .research-page #deep-status { padding:12px;border-radius:12px;background:var(--control-track);line-height:1.75;overflow-wrap:anywhere; }
 .research-page .deep-panel progress { width:100%;height:5px;accent-color:var(--text); }
 .research-page .deep-preview { margin:16px 0;padding-top:12px;border-top:1px solid var(--line); }
 .research-page .deep-preview>summary { font-size:14px;line-height:1.7;cursor:pointer; }
 .research-page .deep-preview details { padding:12px 0;border-bottom:1px solid var(--line); }
 .research-page .deep-preview :is(p,li) { font-size:14px;line-height:1.85; }
 .research-page .research-manual { margin:16px 0;border:1px solid var(--line);border-radius:18px;background:var(--glass-card);padding:16px; }
 .research-page .research-manual>summary { display:flex;flex-direction:column;gap:4px;font-size:16px;font-weight:600;cursor:pointer;list-style:none; }
 .research-page .research-manual>summary span { font-size:12px;font-weight:400;color:var(--muted); }
 .research-page .research-manual:not([open])>.research-grid { display:none; }
 .research-page .research-manual .panel { padding:14px;margin-top:12px; }
 .research-page .reader-summary li,.research-page .evidence p { font-size:14px;line-height:1.9; }
 .research-page .stage-question { font-size:18px;line-height:1.6; }
 .research-page .fields,.research-page .fields.two { grid-template-columns:1fr; }
 .research-page .research-basics .fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 :root:root body.research-page .tabs button { min-height:48px;font-size:13px; }
 :root:root[data-app-embed="1"] body.research-page #save-state { flex-basis:auto;margin-left:auto;max-width:60%;text-align:right; }
 .research-page .page-heading { display:none; }
 .research-page .topbar #export-report { font-size:13px; }
 :root:root body.research-page .shell { padding-top:8px; }
 :root:root body.research-page aside { margin-bottom:10px; }
 #research-roster>summary { padding:10px 12px; }
 #roster-current { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .research-page *, .research-page *::before,.research-page *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
