/* 完整诊断报告（工作台、分享页、PDF 共用） */
.full-report{background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;color:var(--ink)}
.full-report .mono{font-family:var(--f-mono)}
.r-cover{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:26px 28px 18px;border-bottom:3px solid var(--ink)}
.r-cover h2{font-family:var(--f-display);font-size:28px;font-weight:900;margin:6px 0 4px}
.r-brand{font-size:20px;font-weight:700}
.r-brand small{font-size:13px;color:var(--muted);font-weight:400;margin-left:10px}
.r-no{font-size:12px;color:var(--muted);text-align:right;line-height:1.6}
.r-no .mock{color:var(--watch)}
.full-report .r-meta{grid-template-columns:repeat(5,minmax(0,1fr))}
.full-report .r-meta b{word-break:break-all}
@media (max-width:820px){.full-report .r-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.full-report h5{font-size:14px;margin:0 0 8px}
.ov3{display:grid;grid-template-columns:230px minmax(0,1fr) minmax(0,1.3fr);gap:22px;align-items:start}
@media (max-width:1100px){.ov3{grid-template-columns:230px minmax(0,1fr)}.ov3 .rbars{grid-column:1/-1}}
@media (max-width:640px){.ov3{grid-template-columns:minmax(0,1fr)}}
.radar{width:100%;max-width:380px;height:auto;display:block;margin:0 auto}
.pdf-mode .radar{width:380px;height:361px}
.rbars{display:flex;flex-direction:column;gap:6px}
.rb-row{display:grid;grid-template-columns:24px minmax(0,110px) minmax(0,1fr) 54px 44px 48px;gap:8px;align-items:center;font-size:13px}
.rb-id{font-size:11px;color:var(--muted)}
.rb-n{display:flex;flex-direction:column;line-height:1.3;font-weight:600}
.rb-n small{font-weight:400;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-v{text-align:right;font-weight:600}
.rb-v small{display:block;font-size:10px;font-weight:500}
.rb-v small.up{color:var(--ok)} .rb-v small.down{color:var(--bad)}
.rb-c{font-size:11px;color:var(--muted);text-align:right}
.bar-track .ref70{position:absolute;left:70%;top:-3px;bottom:-3px;width:1.5px;background:var(--ink-2);opacity:.5}
.rd{margin-bottom:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rd-h{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:10px;align-items:baseline;padding:9px 12px;background:var(--surface-2)}
.rd-h .mono{font-size:12px;color:var(--muted)}
.rd-h b{font-size:15px}
.rd-q{font-size:12px;color:var(--muted)}
.rd-s{font-size:18px;font-weight:600}
table.rt{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
table.rt th{text-align:left;font-weight:500;color:var(--muted);font-size:11.5px;padding:6px 8px;border-bottom:1px solid var(--line-strong);background:var(--surface)}
table.rt td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;word-break:break-word}
table.rt tr:last-child td{border-bottom:0}
table.rt td.num{font-family:var(--f-mono);font-weight:600}
table.rt td.ref{color:var(--ink-2);font-size:11.5px}
table.rt td.why{color:var(--muted);font-size:12px}
table.rt tr.na td{background:var(--bg)}
table.rt .otag{margin:1px 0;font-size:10px;padding:0 5px}
table.rt.kv th{width:120px;background:var(--surface-2);border-bottom:1px solid var(--line)}
table.rt.mx{table-layout:auto}
table.rt.mx td.c,table.rt.mx th.c{text-align:center}
.tag-core{font-size:10px;color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:0 4px;margin-left:6px;white-space:nowrap}
.evs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.evs{grid-template-columns:minmax(0,1fr)}}
.evs .ev-a{max-height:none}
.ev-f span:not(.flag){color:var(--ink-2)}
.rx-item .mod{font-size:12px;color:var(--accent)}
.rx-item .otag{vertical-align:1px}
ul.tg{list-style:none;margin:2px 0 0;padding:6px 0 0;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:3px;font-size:12px}
ul.tg li{display:block;color:var(--ink-2)}
ul.tg li .mono{display:block;font-size:11px;color:var(--muted)}
.rv{display:flex;flex-direction:column;gap:10px}
.rv div{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.rv b{color:var(--accent)}
ol.qs-list{margin:0;padding-left:22px;columns:2;column-gap:28px;font-size:12.5px}
ol.qs-list li{break-inside:avoid;margin-bottom:3px}
ol.qs-list li span{font-size:11px;color:var(--accent);margin-right:6px}
@media (max-width:640px){ol.qs-list{columns:1}}
.r-foot{display:flex;justify-content:space-between;gap:12px;padding:14px 28px;border-top:2px solid var(--ink);font-size:12px;color:var(--muted);flex-wrap:wrap}
.full-report .r-sec h4{font-size:18px}

/* PDF 导出与打印：固定浅色、固定宽度 */
.pdf-mode{color-scheme:light}
.pdf-mode .full-report{--bg:#F2F5F5;--surface:#FFFFFF;--surface-2:#EEF2F2;--surface-3:#DCE5E5;--ink:#0F2A31;--ink-2:#44585E;--muted:#6F8287;--line:#D8E0E1;--line-strong:#B5C3C5;--accent:#0A6E6A;--accent-soft:#D5EBE8;--s-brand:#008F80;--ok:#2E7A4E;--ok-soft:#DDEFE3;--watch:#9A6300;--watch-soft:#F6E9CF;--bad:#B83A2B;--bad-soft:#F7DDD8;--paper:#FFFFFF;
  border:0;border-radius:0}
.pdf-mode .full-report .ov3{grid-template-columns:230px minmax(0,1fr)}
.pdf-mode .full-report .ov3 .rbars{grid-column:1/-1}
.pdf-mode .full-report .r-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.pdf-mode .full-report .evs{grid-template-columns:repeat(2,minmax(0,1fr))}
.pdf-mode .full-report .rx{grid-template-columns:minmax(0,1fr)}
.pdf-mode .full-report .rx-col{border-radius:0}
.pdf-page .full-report{border:0;border-radius:0;overflow:visible}
.pdf-mode .full-report .ev-a{max-height:none;overflow:visible}
.full-report .r-sec{break-inside:auto}
.full-report .r-sec > h4{break-after:avoid}
@media print{
  body{background:#fff}
  .no-print,.app-side,.app-top,.rep-tools,.cmo-panel{display:none!important}
  .app-main{padding:0!important;margin:0!important}
  .full-report{border:0}
  .avoid,.ev-card,.rx-item,.issue,tr{break-inside:avoid}
}

/* v0.4 信源 · 策略 · 全部问答 */
.src-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:4px 0 14px}
.src-kpi div{background:var(--surface-2);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.src-kpi span{font-size:11.5px;color:var(--muted)}
.src-kpi b{font-size:15px}
.full-report h5{font-size:13.5px;margin:0 0 8px}
.src-all td small{display:block;color:var(--muted);font-size:10.5px}
.src-all td.why a{color:var(--accent);text-decoration:none;word-break:break-all}
.st-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.st-tools small{color:var(--muted);font-size:12px}
.st-box{margin-bottom:18px}
.st-sum{border:1px solid var(--accent);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:var(--accent-soft)}
.st-sum p{margin:6px 0 0;font-size:13.5px;line-height:1.7}
.st-qw{margin-top:8px;font-size:13px}
.st-qw ol{margin:4px 0 0;padding-left:20px}
.st-items{display:grid;gap:10px}
.st-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface)}
.st-item header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.st-item header .mono{color:var(--accent);font-weight:700}
.st-item header b{font-size:14.5px}
.st-item header small{color:var(--muted);font-size:11.5px}
.st-why{margin:6px 0 8px;font-size:12.5px;color:var(--ink-2)}
.st-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.st-grid h6{font-size:12px;margin:0 0 4px;color:var(--muted);font-weight:600}
.st-grid ul{margin:0 0 8px;padding-left:18px;font-size:12.5px;line-height:1.65}
.st-time{margin:6px 0 0;font-size:12.5px}
.st-time b{margin-right:8px;color:var(--muted);font-weight:600}
@media (max-width:720px){.st-grid{grid-template-columns:1fr}}
.qa-app h6{font-size:13px;margin:12px 0 6px}
.qa-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}
.qa-head h5{margin:0}
.qa-tools{display:flex;gap:12px;font-size:12.5px}
.qa-hint{margin:4px 0 6px}
.qa-d{border-top:1px solid var(--line)}
.qa-d:last-child{border-bottom:1px solid var(--line)}
.qa-d > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:14px 26px minmax(0,1fr) auto;gap:6px;align-items:center;padding:8px 4px;font-size:13px;font-weight:600;border-radius:6px}
.qa-d > summary::-webkit-details-marker{display:none}
.qa-d > summary::before{content:"";width:0;height:0;border-left:6px solid var(--muted);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;transition:transform .15s;justify-self:center}
.qa-d[open] > summary::before{transform:rotate(90deg)}
.qa-d > summary:hover{background:var(--surface-2)}
.qa-d > summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.qa-n{color:var(--muted);font-weight:400}
.qa-sum{display:flex;align-items:center;gap:8px;font-weight:400}
.qa-sum small{color:var(--muted);font-size:11.5px;white-space:nowrap}
.qa-dots{display:flex;gap:3px}
.qd{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.qd.ok{background:var(--ok)}.qd.watch{background:var(--watch)}.qd.bad{background:var(--bad)}.qd.na{background:transparent;border:1.5px solid var(--line-strong);width:6px;height:6px}
.qa-body{padding:2px 0 10px}
.qa-body .qa-c{padding:6px 0 6px 46px;border-top:1px dashed var(--line)}
.qa-body .qa-c:first-child{border-top:0}
.qa-ans{white-space:normal}
.qa-cites{margin:6px 0 0;padding-left:18px;font-size:11.5px}
.qa-cites li{margin:1px 0}
.qa-cites a{color:var(--accent)}
.qa-meta{display:block;margin-top:4px;color:var(--muted)}
.qa-extra{margin-top:8px;padding-top:6px;border-top:1px dotted var(--line)}
.qa-err{color:var(--bad)}
@media (max-width:640px){.qa-d > summary{grid-template-columns:14px 22px minmax(0,1fr)}.qa-sum{grid-column:3}.qa-body .qa-c{padding-left:0}}
.qa-c{display:grid;grid-template-columns:86px 84px 1fr;gap:4px 8px;align-items:start;font-size:12px;padding:2px 0 2px 30px}
.qa-c .flag{justify-self:start;white-space:nowrap}
.qa-c small{grid-column:2;color:var(--muted);font-size:10.5px}
.qa-c .qa-x{grid-column:3;grid-row:1 / span 2;color:var(--ink-2);line-height:1.55}
.qa-p{color:var(--ink);font-weight:500}
@media (max-width:640px){.qa-c{grid-template-columns:70px 1fr;padding-left:0}.qa-c .qa-x{grid-column:1 / -1;grid-row:auto}}
.pdf-mode .full-report > :last-child{margin-bottom:0!important;padding-bottom:0!important}
.pdf-mode .st-tools,.pdf-mode .no-print{display:none!important}
.pdf-mode .full-report mark.b{white-space:nowrap}
.pdf-mode .full-report .rb-row{grid-template-columns:24px 200px minmax(0,1fr) 54px 44px 48px}
.pdf-mode .full-report .two{grid-template-columns:minmax(0,1fr);gap:16px}

/* v0.7 品牌 / 竞品分色；指标依据（证据链）弹窗；信源表居中 */
.full-report mark.b,.ev-dlg mark.b{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:2px}
.full-report mark.c,.ev-dlg mark.c{background:color-mix(in srgb,var(--watch) 18%,transparent);color:var(--watch);padding:0 2px;border-radius:2px}
table.rt.src-t td,table.rt.src-t th{vertical-align:middle}
.ev-open{margin-left:8px;font:inherit;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:0;border-radius:4px;padding:1px 7px;cursor:pointer;vertical-align:1px}
.ev-open:hover{filter:brightness(.95)}
.ev-dlg{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px -20px rgba(0,0,0,.45)}
.ev-dlg::backdrop{background:rgba(6,20,26,.55)}
.ev-body{padding:0 22px 20px}
.ev-hd{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 0 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.ev-hd .mono{font-size:12px;color:var(--accent)}
.ev-hd h3{margin:2px 0 4px;font-size:19px}
.ev-hd p{margin:0;font-size:13px;color:var(--ink-2)}
.ev-x{font-size:24px;line-height:1;border:0;background:none;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:6px}
.ev-x:hover{background:var(--surface-2)}
.ev-calc{margin:12px 0 0;padding:10px 12px;background:var(--surface-2);border-radius:8px;font-size:13px;color:var(--ink-2);line-height:1.6}
.ev-calc b{margin-right:8px;color:var(--ink)}
.ev-sec{margin-top:16px}
.ev-sec h4{font-size:14px;margin:0 0 8px;padding-left:10px;border-left:3px solid var(--line-strong)}
.ev-sec.pass h4{border-left-color:var(--ok)}
.ev-sec.fail h4{border-left-color:var(--bad)}
.ev-items{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.ev-i{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}
.ev-m{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ev-m small{color:var(--muted)}
.ev-tag{margin-left:auto;font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border-radius:4px;padding:1px 6px}
.ev-qq{font-weight:600;margin:4px 0}
.ev-n{margin:4px 0;padding:6px 8px;background:color-mix(in srgb,var(--watch) 10%,transparent);border-radius:6px;color:var(--ink)}
.ev-x2{color:var(--ink-2);line-height:1.6}
.ev-full-a{margin-top:8px;padding:10px 12px;background:var(--bg);border-radius:6px;line-height:1.7}
.ev-li b{margin-right:8px}
.ev-n2{color:var(--ink-2)}
.ev-li a{margin-left:6px;color:var(--accent);font-size:12px}
.ev-sub{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:12px;border-left:2px solid var(--line)}
@media print{.ev-open{display:none}}
.qa-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 6px}
.qa-legend span{display:inline-flex;align-items:center;gap:6px}

/* v0.8 板块标题淡底色 · 异常汇总解读 · 信源图表与全部来源分页 */
:root{
  --r-band:#EAF3F2; --r-band-line:#0A6E6A;
  --pc-doubao:#4C7BB5; --pc-deepseek:#8A96A3; --pc-qwen:#C29B38; --pc-yuanbao:#8B72C0; --pc-kimi:#2E9A87; --pc-ernie:#C47358; --pc-glm:#7D8F5A;
  --sb1:#4C7BB5; --sb2:#C29B38; --sb3:#8B72C0; --sb4:#2E9A87; --sb5:#C4CDCF;
  --heat-rgb:10,110,106; --heat-ink:#FFFFFF;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--r-band:#162B2E;--r-band-line:#3DB5AB;--sb5:#4A5E61;--heat-rgb:61,181,171;--heat-ink:#06201E}}
:root[data-theme="dark"]{--r-band:#162B2E;--r-band-line:#3DB5AB;--sb5:#4A5E61;--heat-rgb:61,181,171;--heat-ink:#06201E}
.pdf-mode .full-report{--r-band:#EAF3F2;--r-band-line:#0A6E6A;--sb5:#C4CDCF;--heat-rgb:10,110,106;--heat-ink:#FFFFFF}
.full-report .r-hd{background:var(--r-band);border-left:3px solid var(--r-band-line);border-radius:0 8px 8px 0;padding:13px 18px 12px;margin:0 0 20px}
.full-report .r-hd h4{margin:0}
.full-report .r-hd .sub{margin:5px 0 0}

/* 异常汇总 */
.iss-head{display:grid;grid-template-columns:minmax(0,1.55fr) 110px minmax(0,1.65fr) minmax(0,.9fr);gap:16px;padding:0 14px 6px;font-size:11.5px;color:var(--muted)}
.iss-head span:nth-child(3){padding-left:15px}
.iss-list{display:flex;flex-direction:column;gap:8px}
.iss{display:grid;grid-template-columns:minmax(0,1.55fr) 110px minmax(0,1.65fr) minmax(0,.9fr);gap:16px;align-items:center;padding:11px 14px;border-radius:8px;background:var(--bg);font-size:13.5px}
.iss-l{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.iss-t{line-height:1.55}
.iss-how{display:block;color:var(--muted);font-size:11.5px;line-height:1.5;margin-top:2px}
.iss-s{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center}
.iss-s b{font-size:14px;text-align:left}
.iss-s .bar-track{height:8px;background:var(--surface)}
.iss-w{margin:0;color:var(--ink-2);font-size:12.8px;line-height:1.6;padding-left:14px;border-left:1px solid var(--line)}
.iss-o{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-2)}
.iss-o .otag{margin-right:6px}
@media (max-width:900px){.iss-head{display:none}.iss{grid-template-columns:1fr 118px}.iss-w{grid-column:1/-1;padding-left:0;border-left:0}.iss-o{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:4px 12px}}
.pdf-mode .full-report .iss-head{display:none}
.pdf-mode .full-report .iss{grid-template-columns:1fr 118px}
.pdf-mode .full-report .iss-w{grid-column:1/-1;padding-left:0;border-left:0}
.pdf-mode .full-report .iss-o{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:4px 12px}

/* 信源 */
.src-ins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.src-ins > div{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border-radius:10px;padding:12px 14px}
.src-ins .ico{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none}
.src-ins b{display:block;font-size:13.5px;margin-bottom:2px}
.src-ins p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.6}
.src-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}
.src-kpis > div{padding:11px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:1px}
.src-kpis > div:last-child{border-right:0}
.src-kpis span{font-size:11.5px;color:var(--muted)}
.src-kpis b{font-family:var(--f-display);font-size:25px;font-weight:900;line-height:1.15}
.src-kpis b small{font-family:var(--f-body);font-size:12px;font-weight:400;color:var(--muted);margin-left:3px}
.src-kpis em{font-style:normal;font-size:11px;color:var(--ink-2)}
.src-panel{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column}
.src-panel h5{margin:0}
.src-sub{font-size:12px;color:var(--muted);margin:2px 0 10px}
.src-stack{display:flex;gap:2px;height:28px;border-radius:6px;overflow:hidden}
.src-stack i{display:block;height:100%;min-width:3px}
.src-stack-l{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
.src-stack-l > div{display:flex;flex-direction:column;min-width:0}
.src-stack-l .k{display:flex;align-items:center;gap:6px;font-size:12px}
.src-stack-l .k i{width:9px;height:9px;border-radius:2px;flex:none}
.src-stack-l b{font-size:16px}
.src-stack-l small{font-size:11px;color:var(--muted)}
.src-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px}
.src-row2 .src-panel{margin-bottom:12px}
.src-pb{display:flex;flex-direction:column;justify-content:space-around;gap:8px;flex:1}
.src-pb > div{display:grid;grid-template-columns:70px minmax(0,1fr) 86px;gap:10px;align-items:center;font-size:12.5px}
.src-pb .t{position:relative;height:12px;background:var(--surface-2);border-radius:0 3px 3px 0}
.src-pb .t i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:0 3px 3px 0}
.src-pb .n{text-align:right;font-family:var(--f-mono);font-size:12px}
.src-pb .n small{display:block;font-size:10px;color:var(--muted)}
.src-pb .off .t{background:repeating-linear-gradient(45deg,var(--surface-2) 0 5px,transparent 5px 9px)}
.src-pb .off .n{font-family:var(--f-body);color:var(--muted);font-size:11.5px}
table.src-heat{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed;font-size:11.5px}
table.src-heat th{font-weight:500;color:var(--muted);font-size:11px;padding:0 2px}
table.src-heat th:first-child{width:64px}
table.src-heat tbody th{text-align:left;color:var(--ink);font-size:12px;white-space:nowrap}
table.src-heat td{height:28px;border-radius:5px;text-align:center;font-family:var(--f-mono)}
table.src-heat td.z{background:var(--surface-2);color:var(--muted)}
table.src-heat td.na{background:repeating-linear-gradient(45deg,var(--surface-2) 0 5px,transparent 5px 9px);color:var(--muted);font-family:var(--f-body);font-size:11px}
.src-ramp{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);margin-top:6px}
.src-ramp i{width:110px;height:7px;border-radius:9px;background:linear-gradient(90deg,rgba(var(--heat-rgb),.12),rgba(var(--heat-rgb),1))}
.src-plg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-bottom:8px}
.src-plg span{display:inline-flex;align-items:center;gap:5px}
.src-plg i,.src-tabs i{width:9px;height:9px;border-radius:2px;display:inline-block}
.src-top{display:flex;flex-direction:column;gap:6px}
.src-top > div{display:grid;grid-template-columns:170px minmax(0,1fr) 36px;gap:10px;align-items:center;font-size:12.5px}
.src-top .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.src-top .l small{color:var(--muted);font-size:10.5px;margin-left:5px}
.src-top .b{display:flex;gap:2px;height:14px}
.src-top .b i{display:block;height:100%}
.src-top .b i:last-child{border-radius:0 3px 3px 0}
.src-top .n{text-align:right;font-size:12px}
.src-all-box{margin-top:18px}
.src-all-h h5{margin:0}
.src-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:10px}
.src-tabs button{font:inherit;font-size:13px;color:var(--ink-2);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:7px 11px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:6px 6px 0 0}
.src-tabs button:hover:not([disabled]){background:var(--surface-2);color:var(--ink)}
.src-tabs button small{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);background:var(--surface-2);border-radius:9px;padding:0 6px}
.src-tabs button[aria-selected="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.src-tabs button[aria-selected="true"] small{background:var(--accent);color:var(--accent-ink)}
.src-tabs button[disabled]{opacity:.5;cursor:not-allowed}
.src-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-bottom:8px}
.src-tools select,.src-tools input,.src-pager select{font:inherit;font-size:12px;padding:3px 8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink)}
.src-tools input{width:180px}
.src-scope{margin-left:auto;color:var(--muted);font-size:11.5px}
.src-tw{overflow-x:auto}
table.rt.src-all{min-width:680px}
.src-i{color:var(--muted);font-size:11px}
.src-ty{font-size:11px;padding:0 7px;border-radius:9px;background:var(--surface-2);white-space:nowrap}
.src-ty.ty-auth{background:rgba(76,123,181,.14);color:#35618F}
.src-ty.ty-own{background:rgba(46,154,135,.15);color:#1F7466}
.src-n{display:inline-block;min-width:24px}
.src-mini{display:inline-flex;gap:1px;width:74px;height:7px;margin-left:8px;vertical-align:middle;background:var(--surface-2);border-radius:2px;overflow:hidden}
.src-mini i{display:block;height:100%}
.src-dots{display:inline-flex;gap:4px}
.src-dots i{width:9px;height:9px;border-radius:50%;display:inline-block}
.src-dots i.off{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.src-empty{text-align:center;color:var(--muted);padding:20px!important}
.src-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--ink-2)}
.src-range{margin-left:8px;color:var(--muted)}
.src-pages{display:flex;gap:4px;align-items:center}
.src-pages button{font:inherit;font-family:var(--f-mono);font-size:12px;min-width:28px;height:28px;padding:0 7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;cursor:pointer}
.src-pages button:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}
.src-pages button[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.src-pages button[disabled]{opacity:.4;cursor:default}
.src-pages span{color:var(--muted)}
@media (max-width:900px){.src-ins{grid-template-columns:1fr}.src-row2{grid-template-columns:1fr}.src-stack-l{grid-template-columns:repeat(2,minmax(0,1fr))}.src-top > div{grid-template-columns:110px minmax(0,1fr) 32px}}
.pdf-mode .full-report .src-ins,.pdf-mode .full-report .src-row2{grid-template-columns:minmax(0,1fr)}

/* 官网诊断明细：一个章节对应多项检查，章节单元格合并居中，章节之间加粗分隔 */
table.rt.sd-t th.c{text-align:center}
table.rt.sd-t td{vertical-align:middle}
table.rt.sd-t tbody + tbody tr:first-child td{border-top:2px solid var(--line-strong)}
table.rt.sd-t td.sd-chap{text-align:center;background:var(--surface-2);border-right:1px solid var(--line);padding:10px 8px}
table.rt.sd-t td.sd-chap b{display:block;font-size:13px;margin-bottom:4px}
table.rt.sd-t td.sd-chap .mono{display:block;font-size:17px;font-weight:600;line-height:1.2;margin-bottom:4px}
table.rt.sd-t tbody:nth-of-type(even) td.sd-chap{background:var(--r-band)}
@media print{table.rt.sd-t tbody{break-inside:avoid}}

/* 个性化策略卡片：动作 / 交付物 / 量化目标三栏对齐，时间安排按阶段排开 */
.st-item{padding:14px 16px 16px}
.st-item header{gap:10px}
.st-no{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:0 5px}
.st-item header b{font-size:15px}
.st-why{display:flex;gap:8px;align-items:baseline;margin:10px 0 12px;font-size:13px;color:var(--ink-2);line-height:1.65}
.st-why span{flex:none;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 6px;line-height:1.8}
.st-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.15fr);gap:10px;align-items:stretch}
.st-c{background:var(--bg);border-radius:8px;padding:10px 12px 12px;min-width:0}
.st-c h6,.st-tl h6{font-size:12px;margin:0 0 6px;color:var(--muted);font-weight:600}
.st-c ol,.st-c ul{margin:0;padding-left:18px;font-size:12.8px;line-height:1.65;color:var(--ink)}
.st-c li{margin-bottom:3px}
.st-c li::marker{color:var(--muted)}
.st-kpi{display:flex;flex-direction:column;gap:6px}
.st-kpi > div{display:flex;flex-direction:column;gap:1px;padding-bottom:6px;border-bottom:1px dashed var(--line)}
.st-kpi > div:last-child{border-bottom:0;padding-bottom:0}
.st-kpi span{font-size:12px;color:var(--ink-2)}
.st-kpi b{font-size:13px;font-weight:600;color:var(--ink)}
.st-kpi b i{font-style:normal;color:var(--accent);margin:0 3px}
.st-none{margin:0;color:var(--muted)}
.st-tl{margin-top:12px}
.st-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;counter-reset:s}
.st-steps li{position:relative;padding:14px 12px 0 0;font-size:12.5px;line-height:1.55;display:flex;flex-direction:column}
.st-steps li::before{content:"";position:absolute;left:0;right:0;top:4px;height:2px;background:var(--line)}
.st-steps li::after{content:"";position:absolute;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-sizing:border-box}
.st-steps li b{font-size:12px;color:var(--accent)}
.st-steps li span{color:var(--ink-2)}
@media (max-width:980px){.st-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.st-act{grid-column:1/-1}}
@media (max-width:560px){.st-cols{grid-template-columns:minmax(0,1fr)}}
.pdf-mode .full-report .st-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pdf-mode .full-report .st-act{grid-column:1/-1}
.st-item header .st-no{color:var(--accent-ink)}
.st-kpi-h{font-size:11px;color:var(--muted);margin:-2px 0 6px}

/* 官网诊断：AI 爬虫卡片 */
.bots-h{display:flex;align-items:baseline;gap:10px;margin:16px 0 8px!important}
.bots-h small{font-size:12px;color:var(--muted);font-weight:400}
.bots2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bots2 > div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface)}
.bots2 > div.no{border-color:var(--bad);background:var(--bad-soft)}
.bots2 b{display:block;font-size:13px}
.bots2 small{display:block;font-size:11px;color:var(--muted);line-height:1.45}
@media (max-width:980px){.bots2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.bots2{grid-template-columns:1fr}}
.pdf-mode .full-report .bots2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* 复查计划：节奏卡片 + 跟踪指标双栏 */
.rv2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.rv2 > div{position:relative;border:1px solid var(--line);border-radius:10px;padding:12px 14px 12px 50px;background:var(--surface)}
.rv2 .rv-no{position:absolute;left:14px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.rv2 b{display:block;font-size:15px;color:var(--accent)}
.rv2 p{margin:2px 0 2px;font-size:13px;color:var(--ink);line-height:1.6}
.rv2 small{font-size:11.5px;color:var(--muted)}
.rv-h{margin:0 0 8px!important}
.rv-tw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
table.rt.rv-t td{vertical-align:middle}
.rv-dim{display:inline-block;font-size:10.5px;color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:0 5px;margin-right:6px;line-height:1.7}
@media (max-width:900px){.rv2{grid-template-columns:1fr}.rv-tw{grid-template-columns:1fr}}
.pdf-mode .full-report .rv-tw{grid-template-columns:1fr}

/* ———— 手机端（≤640px）：宽表格改为卡片式排列；电脑端与导出的 PDF 不受影响 ———— */
@media (max-width:640px){
  /* 异常汇总：标题、得分、说明、优化项上下排列 */
  html:not(.pdf-mode) .full-report .iss{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}
  html:not(.pdf-mode) .full-report .iss-s{grid-template-columns:28px minmax(0,1fr);max-width:220px;padding-left:44px}

  /* 十二度指标明细：每项指标一张小卡片 */
  html:not(.pdf-mode) .full-report .rd-h{grid-template-columns:auto minmax(0,1fr) auto auto}
  html:not(.pdf-mode) .full-report .rd-h .rd-q{grid-column:1/-1;grid-row:2}
  html:not(.pdf-mode) .full-report .rd table.rt,html:not(.pdf-mode) .full-report .rd table.rt tbody{display:block}
  html:not(.pdf-mode) .full-report .rd table.rt thead{display:none}
  html:not(.pdf-mode) .full-report .rd table.rt tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"name name flag" "res ref score" "opt opt opt";gap:6px 10px;padding:11px 12px;border-bottom:1px solid var(--line)}
  html:not(.pdf-mode) .full-report .rd table.rt tr:last-child{border-bottom:0}
  html:not(.pdf-mode) .full-report .rd table.rt td{display:block;padding:0;border:0;font-size:12.5px}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(1){grid-area:name;font-weight:600;font-size:13.5px}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(2){grid-area:res}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(3){grid-area:ref}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(4){grid-area:score}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(5){grid-area:flag;justify-self:end}
  html:not(.pdf-mode) .full-report .rd table.rt td:nth-child(6){grid-area:opt}
  html:not(.pdf-mode) .full-report .rd table.rt tr:not(.na) td:nth-child(2)::before{content:"结果"}
  html:not(.pdf-mode) .full-report .rd table.rt tr:not(.na) td:nth-child(3)::before{content:"参考值"}
  html:not(.pdf-mode) .full-report .rd table.rt tr:not(.na) td:nth-child(4)::before{content:"得分"}
  html:not(.pdf-mode) .full-report .rd table.rt tr:not(.na) td:nth-child(-n+4):not(:first-child)::before{display:block;font-family:var(--f-sans,inherit);font-weight:400;font-size:11px;color:var(--muted);margin-bottom:1px}
  html:not(.pdf-mode) .full-report .rd table.rt tr.na{grid-template-areas:"name name name" "why why why" "opt opt opt"}
  html:not(.pdf-mode) .full-report .rd table.rt tr.na td:nth-child(2){grid-area:why}
  html:not(.pdf-mode) .full-report .rd table.rt tr.na td:nth-child(3){grid-area:opt}

  /* 官网 AI 诊断：章节作为小标题，每个检查项一行，说明另起一行 */
  html:not(.pdf-mode) .full-report table.rt.sd-t,html:not(.pdf-mode) .full-report table.rt.sd-t tbody{display:block}
  html:not(.pdf-mode) .full-report table.rt.sd-t colgroup,html:not(.pdf-mode) .full-report table.rt.sd-t thead{display:none}
  html:not(.pdf-mode) .full-report table.rt.sd-t tbody{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:10px}
  html:not(.pdf-mode) .full-report table.rt.sd-t tbody + tbody tr:first-child td{border-top:0}
  html:not(.pdf-mode) .full-report table.rt.sd-t tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
  html:not(.pdf-mode) .full-report table.rt.sd-t tr:last-child{border-bottom:0}
  html:not(.pdf-mode) .full-report table.rt.sd-t td{display:block;padding:0;border:0}
  html:not(.pdf-mode) .full-report table.rt.sd-t td.sd-chap{grid-column:1/-1;display:flex;align-items:center;gap:10px;text-align:left;margin:-10px -12px 6px;padding:9px 12px;border-right:0;border-bottom:1px solid var(--line)}
  html:not(.pdf-mode) .full-report table.rt.sd-t td.sd-chap b,html:not(.pdf-mode) .full-report table.rt.sd-t td.sd-chap .mono{display:inline;margin:0}
  html:not(.pdf-mode) .full-report table.rt.sd-t td.sd-chap .mono{font-size:15px}
  html:not(.pdf-mode) .full-report table.rt.sd-t td.why{grid-column:1/-1}

  /* 信源：三条结论合成一个面板，左右边缘与下方数据框对齐；数据框两列，单独一格占满一行 */
  html:not(.pdf-mode) .full-report .src-ins{gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2)}
  html:not(.pdf-mode) .full-report .src-ins > div{border-radius:0;background:transparent;padding:12px 14px}
  html:not(.pdf-mode) .full-report .src-ins > div + div{border-top:1px solid var(--line)}
  html:not(.pdf-mode) .full-report .src-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
  html:not(.pdf-mode) .full-report .src-kpis > div{border-right:0;background:var(--paper)}
  html:not(.pdf-mode) .full-report .src-kpis > div:last-child:nth-child(odd){grid-column:1/-1}

  /* 提及矩阵：压缩列宽，6 个平台一屏放下 */
  html:not(.pdf-mode) .full-report table.rt.mx{table-layout:fixed;min-width:0}
  html:not(.pdf-mode) .full-report table.rt.mx th,html:not(.pdf-mode) .full-report table.rt.mx td{padding:6px 2px;font-size:11.5px}
  html:not(.pdf-mode) .full-report table.rt.mx th:first-child,html:not(.pdf-mode) .full-report table.rt.mx td:first-child{width:36%;padding-left:6px}
  html:not(.pdf-mode) .full-report table.rt.mx th.c{font-size:10.5px;line-height:1.3;word-break:break-all}
  html:not(.pdf-mode) .full-report table.rt.mx .cell{min-width:22px;padding:1px 4px}
}
