/* 大师对比页（compare.html）· 基于 base.css 的变量与组件 */

/* ── header ── */
.cp-h{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.cp-h h1{margin:0;font:600 26px/1.2 var(--f-ui);white-space:nowrap}
.cp-h .sub{font-size:13px;color:var(--muted);margin-top:4px}
.cp-h .tools{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.slot{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:14px 16px;display:flex;flex-direction:column;gap:10px;position:relative;min-width:0}
.slot .hd{display:flex;align-items:center;gap:10px;min-width:0}
.slot .hd .av{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:#fff;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--gc)}
.slot .hd .av.lg{object-fit:contain;padding:3px}
.slot .hd .t{min-width:0;flex:1}
.slot .hd .t b{display:block;font:600 15px/1.25 var(--f-ui);white-space:nowrap}
.slot .hd .t small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot .x{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:7px;border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.slot .x:hover{background:var(--fill);color:var(--ink)}
.slot .st{display:flex;gap:12px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}
.slot .st span{white-space:nowrap}
.slot .st b{color:var(--ink);font-weight:600;margin-right:2px}
.slot .tags{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:10px}
.slot .tags div{display:flex;gap:7px;align-items:baseline;font-size:12.5px;color:var(--ink-2);line-height:1.4}
.slot .tags i{font-style:normal;font:700 11px/1 var(--f-ui);width:16px;flex:none;text-align:center}
.slot .tags .pro i{color:var(--pos)} .slot .tags .con i{color:var(--warn)}
.slot .tags b{color:var(--ink);font-weight:600}
.slot.empty{border:1.5px dashed var(--line-2);background:transparent;box-shadow:none;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2);min-height:150px;font:500 13.5px var(--f-ui);gap:6px}
.slot.empty:hover{border-color:var(--ink-2);color:var(--ink)}
.slot.empty .plus{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:20px;line-height:1}
.slot.empty small{font-size:12px;color:var(--muted)}

/* picker */
.pick{position:absolute;z-index:40;width:320px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-float);padding:10px}
.pick input{width:100%;height:36px;border-radius:999px;border:1px solid var(--line);background:var(--fill);padding:0 14px;font:500 13.5px var(--f-ui);color:var(--ink)}
.pick .grp{font:600 11.5px var(--f-ui);color:var(--muted);margin:10px 6px 4px}
.pick a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;cursor:pointer}
.pick a:hover{background:var(--fill)}
.pick a.dis{opacity:.45;cursor:default}
.pick a img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--line)}
.pick a b{font-weight:600;font-size:13.5px}
.pick a small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick a .r{font-size:11.5px;color:var(--muted);white-space:nowrap}
.pick a.on .r{color:var(--pos);font-weight:600}
.pick .note{font-size:11.5px;color:var(--muted);padding:8px 8px 2px;border-top:1px solid var(--line);margin-top:6px}

/* window banner */
.win{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);font-size:13px;color:var(--ink-2)}
.win b{color:var(--ink);font-weight:600}
.win .bars{flex:1;min-width:220px;position:relative;height:26px}
.win .bars .ln{position:absolute;left:0;height:4px;border-radius:999px;opacity:.85}
.win .bars .cw{position:absolute;top:-3px;bottom:-3px;border-radius:6px;background:color-mix(in srgb,var(--brand) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}
.win .bars .yr{position:absolute;bottom:-14px;font-size:10.5px;color:var(--muted);transform:translateX(-50%)}

/* panels */
.cp .sec{margin-top:28px}
.cp .sec-h{display:flex;align-items:baseline;gap:10px;margin:0 2px 10px;flex-wrap:wrap}
.cp .sec-h h2{margin:0;font:600 18px var(--f-ui);white-space:nowrap}
.cp .sec-h .meta{font-size:13px;color:var(--muted)}
.cp .sec-h .sp{flex:1}
.pn{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-card);min-width:0}
.pn .ph2{display:flex;align-items:baseline;gap:10px;padding:14px 18px 4px;flex-wrap:wrap}
.pn .ph2 h3{margin:0;font:600 15px var(--f-ui);white-space:nowrap}
.pn .ph2 .meta{font-size:12.5px;color:var(--muted)}
.pn .ph2 .act{margin-left:auto;display:flex;gap:6px}
.pn .bd{padding:6px 18px 18px}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.g57{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}

/* legend */
.lgd{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.lgd span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.lgd i{display:inline-block;width:14px;height:3px;border-radius:2px}
.lgd i.dash{height:0;border-top:2px dashed var(--muted);border-radius:0}

/* chart */
.ch svg{display:block;width:100%;overflow:visible}
.ch svg text{font:500 11px var(--f-ui);fill:var(--muted)}
.hov{position:absolute;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-float);padding:8px 10px;font-size:12.5px;min-width:150px;display:none;z-index:5}
.hov .t{font-weight:600;margin-bottom:4px}
.hov .r{display:flex;justify-content:space-between;gap:14px;line-height:1.7}
.hov .r i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}

/* metric table (cols = gurus) */
.ct{width:100%;border-collapse:collapse;font-size:13.5px}
.ct th{font:500 12px var(--f-ui);color:var(--muted);text-align:right;padding:8px 6px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.ct th:first-child,.ct td:first-child{text-align:left;padding-left:0}
.ct th:last-child,.ct td:last-child{padding-right:0}
.ct th .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.ct td{padding:0 6px;height:40px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.ct tr:last-child td{border-bottom:0}
.ct td .best{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink)}
.ct td .best::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pos)}
.ct td.l{color:var(--ink-2)}
.ct td.l small{display:block;font-size:11.5px;color:var(--muted);line-height:1.2}
.ct td.spy{color:var(--muted)}

/* heatmap */
.hm{display:grid;gap:3px;font-size:12px}
.hm .c{height:34px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;white-space:nowrap;position:relative}
.hm .c small{position:absolute;bottom:2px;right:5px;font-size:9.5px;font-weight:500;opacity:.75}
.hm .rh{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden}
.hm .rh i{width:8px;height:8px;border-radius:50%;flex:none}
.hm .ch2{height:22px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11.5px}
.hm-l{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);margin-top:10px;flex-wrap:wrap}
.hm-l .sc{display:flex;height:10px;width:160px;border-radius:999px;overflow:hidden}
.hm-l .sc i{flex:1}

/* style dot strips */
.ds{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 16px;align-items:center}
.ds .l{font-size:13px;color:var(--ink);white-space:nowrap}
.ds .l small{display:block;font-size:11.5px;color:var(--muted)}
.ds .tr{position:relative;height:46px}
.ds .tr .rail{position:absolute;left:0;right:0;top:22px;height:2px;background:var(--line)}
.ds .tr .end{position:absolute;top:30px;font-size:10.5px;color:var(--muted);white-space:nowrap}
.ds .tr .end.r{right:0}
.ds .tr .pt{position:absolute;top:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.ds .tr .pt i{width:14px;height:14px;border-radius:50%;border:2.5px solid var(--card);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.ds .tr .pt b{font:600 10.5px var(--f-ui);white-space:nowrap;position:absolute;bottom:16px}
.ds .row-b{grid-column:1/-1;height:1px;background:var(--line);margin:2px 0}

/* sector stack */
.sk{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px 12px;align-items:center}
.sk .n{font-size:13px;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}
.sk .n i{width:8px;height:8px;border-radius:50%;flex:none}
.sk .bar{display:flex;height:24px;border-radius:6px;overflow:hidden;background:var(--fill)}
.sk .bar span{display:flex;align-items:center;padding:0 6px;font:600 10.5px var(--f-ui);color:#fff;white-space:nowrap;overflow:hidden;border-right:1.5px solid var(--card);min-width:0}
.sk .bar span:last-child{border-right:0}
.sk .bar span.lt{color:var(--ink)}
.sk-l{display:flex;gap:10px 14px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--ink-2)}
.sk-l span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.sk-l i{width:9px;height:9px;border-radius:2px}

/* overlap matrix */
.om{display:grid;gap:4px;font-size:12.5px}
.om .c{height:52px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600}
.om .c small{font-size:10.5px;font-weight:500;opacity:.8}
.om .c.self{background:var(--fill);color:var(--muted);font-weight:500}
.om .h{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--ink-2);white-space:nowrap}
.om .h img{width:22px;height:22px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--line)}
.om .h.rw{justify-content:flex-start}
.om-n{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.6}

/* common holdings */
.chd{width:100%;border-collapse:collapse;font-size:13px}
.chd th{font:500 12px var(--f-ui);color:var(--muted);text-align:left;padding:6px 8px 8px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.chd th:first-child,.chd td:first-child{padding-left:0}
.chd td{padding:0 8px;height:42px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.chd .tk{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.chd .tk .tkl{width:22px;height:22px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--line);flex:none}
.chd .tk span.tkl{display:grid;place-items:center;font:700 8px var(--f-ui);color:var(--muted);background:var(--fill)}
.chd .tk small{font-weight:500;color:var(--muted);font-size:12px}
.wc{display:flex;align-items:center;gap:6px;min-width:96px}
.wc .b{height:8px;border-radius:2px;min-width:2px}
.wc span{font-size:12px;font-weight:600}
.wc em{font-style:normal;font-size:11px;font-weight:600}
.wc.no{color:var(--line-2)}
.chd .cnt{font-size:12px;color:var(--muted)}

.foot2{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.7;max-width:100ch}

/* responsive */
.tscroll{overflow-x:auto;scrollbar-width:thin}
@media (max-width:1180px){ .slots{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1100px){ .g57,.g75{grid-template-columns:minmax(0,1fr)} }
@media (max-width:820px){ .g2{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){
  .cp{padding:14px 14px 60px}
  .cp-h h1{font-size:22px}
  .cp-h .tools{margin-left:0;width:100%}
  .slots{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .slot{padding:12px}
  .slot .tags{padding-top:8px}
  .slot .tags div{font-size:11.5px}
  .slot .st{gap:8px}
  .ds{grid-template-columns:minmax(0,1fr)}
  .ds .l{margin-top:6px}
  .ct td:first-child,.ct th:first-child,.chd td:first-child,.chd th:first-child{position:sticky;left:0;background:var(--card);z-index:1}
  .pn .bd{padding:6px 14px 14px}
}

.ct{table-layout:fixed}
.ct th:first-child{width:96px}
.ct th{overflow:hidden;text-overflow:ellipsis}
.slot .tags .m span{font-size:12.5px;color:var(--muted)}

.chd{table-layout:fixed}
.chd th:first-child{width:118px}
.chd th:last-child{width:44px;text-align:right}
.chd td:last-child{text-align:right;padding-right:0}
.chd td:first-child{overflow:hidden}
.chd .tk small{display:none}
.chd .tk{max-width:100%;overflow:hidden}
.wc{min-width:0}
.wc .b{max-width:46px}

.tscroll{overflow-y:hidden}
.ct th:last-child{width:58px}
@media (max-width:640px){
  .ct,.chd{min-width:520px} .ct{table-layout:auto}
  .ct th:first-child,.ct td.l{width:104px;min-width:104px;max-width:112px;white-space:normal;line-height:1.3}
  .ct td.l small{white-space:normal}
}

/* v5 · 5 位 + 扩展指标 */
.g57{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.g75{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px}
.ct tr.grp td{height:30px;padding:10px 0 0;font:600 11.5px var(--f-ui);color:var(--muted);letter-spacing:.04em;border-bottom:1px solid var(--line-2);text-align:left}
.ct tr.grp:first-child td{padding-top:2px}
.ct td .wst{color:var(--neg)}
.best-k{color:var(--pos)} .wst-k{color:var(--neg)}
.ct{table-layout:auto} .ct th:first-child{width:auto;min-width:150px}
.ct.ct-c th:first-child{min-width:120px}
.ct th:last-child{width:auto}
.seg.sm button{padding:3px 9px;font-size:12px}
.pn .ph2 .act{align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--ink-2)}
.chips span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.chips i{width:8px;height:8px;border-radius:50%}
.chips b{color:var(--ink);font-weight:600}
.chips .mut{color:var(--muted)}
.empty-n{padding:40px 0;text-align:center;color:var(--muted);font-size:13px}
.bps{display:flex;flex-direction:column;gap:6px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.bp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}
.bp .n{display:inline-flex;align-items:center;gap:6px;width:86px;font-weight:600;color:var(--ink);white-space:nowrap}
.bp .n i{width:8px;height:8px;border-radius:50%}
.bp .ck{display:inline-flex;align-items:baseline;gap:5px;padding:3px 8px;border-radius:999px;background:var(--fill);font-weight:600;white-space:nowrap}
.bp .ck b{color:var(--pos)} .bp .ck small{font-size:10.5px;color:var(--muted);font-weight:500}
.note2{font-size:12px;color:var(--muted);margin:10px 2px 0;line-height:1.6;max-width:110ch}
.ch circle[data-tip]{cursor:pointer}
@media (max-width:640px){
  .slots{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ct{min-width:540px} .ct.ct-big{min-width:640px}
  .bp .n{width:100%}
  .pn .ph2 .act{margin-left:0;width:100%}
}
/* 风格 v2 */
.av3{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--gc);flex:none;display:block}
.av3.lg{object-fit:contain;padding:2px}
.av3.sm{width:18px;height:18px;box-shadow:0 0 0 1.5px var(--card),0 0 0 3px var(--gc)}

/* legend in panel head */
.lgd3{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:2px 0 6px}
.lgd3 span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.lgd3 .md i{width:2px;height:14px;background:var(--ink-2);opacity:.45;border-radius:1px}

/* style rails */
.ds3{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 16px;align-items:start}
.ds3 .l{font-size:13px;color:var(--ink);white-space:nowrap;padding-top:22px}
.ds3 .l small{display:block;font-size:11.5px;color:var(--muted)}
.ds3 .tr{position:relative;margin:0 14px}
.ds3 .rail{position:absolute;left:-14px;right:-14px;top:30px;height:2px;background:var(--line);border-radius:1px}
.ds3 .mdk{position:absolute;top:20px;width:2px;height:22px;margin-left:-1px;background:var(--ink-2);opacity:.35;border-radius:1px}
.ds3 .pt{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;z-index:1}
.ds3 .pt b{position:absolute;left:100%;margin-left:6px;font:600 11.5px var(--f-ui);color:var(--ink);white-space:nowrap;background:var(--card);padding:0 2px;border-radius:3px}
.ds3 .pt.lf b{left:auto;right:100%;margin:0 6px 0 0}
.ds3 .pt .stem{position:absolute;left:50%;bottom:100%;width:1.5px;margin-left:-.75px;opacity:.5}
.ds3 .end{position:absolute;left:-14px;font-size:10.5px;color:var(--muted);white-space:nowrap}
.ds3 .end.r{left:auto;right:-14px}

/* snapshot names with avatar */
.sk3 .n{gap:9px}

/* sector trend matrix */
.smx{display:grid;gap:4px;font-size:12.5px;align-items:stretch}
.smx .hq{font:500 12px var(--f-ui);color:var(--muted);display:flex;align-items:flex-end;padding-bottom:6px;white-space:nowrap}
.smx .hq.r{padding-left:6px}
.qp{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--fill);color:var(--ink-2);font:600 11.5px var(--f-ui);white-space:nowrap}
.qp.on{background:var(--ink);color:var(--card)}
.smx .hg{display:flex;align-items:center;gap:8px;padding:0 4px 6px;font:600 12.5px var(--f-ui);white-space:nowrap;overflow:hidden}
.smx .sn{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}
.smx .sn i{width:9px;height:9px;border-radius:2px;flex:none}
.smx .cl{position:relative;height:58px;border-radius:8px;background:var(--fill);overflow:hidden;cursor:crosshair}
.smx .cl svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:40px;display:block}
.smx .cl .v{position:relative;z-index:1;display:flex;align-items:baseline;gap:6px;padding:6px 8px 0}
.smx .cl .v b{font:600 13.5px var(--f-ui);color:var(--ink)}
.smx .cl .v small{font:600 11px var(--f-ui)}
.smx .cl small.up{color:var(--pos)} .smx .cl small.dn{color:var(--neg)} .smx .cl small.flat{color:var(--muted);font-weight:500}
.smx .cl .vl,.sa .vl{position:absolute;top:0;bottom:0;width:1px;background:var(--ink);opacity:.55;display:none;pointer-events:none;z-index:2}
.smx .cl.none{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11.5px;background:repeating-linear-gradient(135deg,var(--fill) 0 6px,transparent 6px 12px);cursor:default}
.smx .cs{display:flex;flex-direction:column;justify-content:center;gap:4px;padding-left:6px;min-width:0}
.smx .cs small{font-size:11.5px;color:var(--muted);line-height:1.35}
.tg{align-self:flex-start;padding:2px 8px;border-radius:999px;font:600 11.5px var(--f-ui);white-space:nowrap}
.tg.pos{background:color-mix(in srgb,var(--pos) 13%,transparent);color:var(--pos)}
.tg.neg{background:color-mix(in srgb,var(--neg) 12%,transparent);color:var(--neg)}
.tg.warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.tg.ink{background:var(--ink);color:var(--card)}
.tg.mut{background:var(--fill);color:var(--ink-2)}
.note3{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6;max-width:120ch}

/* stacked composition view */
.sa{display:grid;grid-template-columns:110px minmax(0,1fr) 300px;gap:6px 14px;align-items:center;min-width:620px}
.sa .hq{font:500 12px var(--f-ui);color:var(--muted)}
.sa .n{display:flex;align-items:center;gap:9px;font:600 13px var(--f-ui);white-space:nowrap}
.sa .ar{position:relative;height:54px;border-radius:6px;overflow:hidden;background:var(--fill);cursor:crosshair}
.sa .ar svg{width:100%;height:100%;display:block}
.sa .rd{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--ink-2)}
.sa .rd span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.sa .rd i{width:8px;height:8px;border-radius:2px}
.sa .rd b{color:var(--ink);font-weight:600;margin-left:auto}
.sa .rd{max-width:200px}
.sa .ax{position:relative;height:16px;font-size:11px;color:var(--muted)}
.sa .ax span{position:absolute;transform:translateX(-50%)}

@media (max-width:640px){
  .ds3{grid-template-columns:minmax(0,1fr)} .ds3 .l{padding-top:8px}
  .sa{grid-template-columns:84px minmax(0,1fr) 150px}
}

/* ── 精简模式（默认）：次级说明收起，标题旁 ⓘ 悬停可看 ── */
.cp.lean .pn .ph2 .meta:not(:has(.best-k)),
.cp.lean .sec-h .meta:not(#sum),
.cp.lean .cp-h .sub,
.cp.lean .note2,.cp.lean .note3,.cp.lean .om-n,.cp.lean .foot2,
.cp.lean .win .why{display:none}
.ii{display:none;margin-left:6px;width:15px;height:15px;border-radius:50%;border:1px solid var(--line-2);color:var(--muted);font:600 10px/13px var(--f-ui);text-align:center;vertical-align:2px;cursor:help;position:relative;font-style:italic}
.cp.lean .ii{display:inline-block}
.ii:hover::after{content:attr(data-t);position:absolute;left:-8px;top:22px;z-index:20;width:max-content;max-width:320px;white-space:normal;background:var(--ink);color:var(--card);font:500 12px/1.5 var(--f-ui);font-style:normal;text-align:left;padding:7px 10px;border-radius:8px;box-shadow:var(--sh-float)}
@keyframes vmflash{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 0%,transparent)}30%{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 35%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.slots.flash .slot:not(.empty){animation:vmflash .9s ease-out}

/* 对比区间：一行摘要 + 可展开的起点甘特 */
.win{display:block}
.win .w-l{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap}
.win .w-l .m{color:var(--muted)}
.win .w-l .lnk.sm{margin-left:auto;font-size:12px}
.gnt{display:grid;grid-template-columns:84px minmax(0,1fr);gap:7px 12px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.gnt .gn{font-size:12.5px;white-space:nowrap}
.gnt .gb{position:relative;height:14px;background:var(--fill);border-radius:4px}
.gnt .gb .ln{position:absolute;top:4px;right:0;height:6px;border-radius:999px}
.gnt .gb .st{position:absolute;top:-1px;transform:translateX(calc(-100% - 6px));font:600 11px var(--f-ui);color:var(--ink-2)}
.gnt .gb .cw{position:absolute;top:-4px;bottom:-4px;right:0;background:color-mix(in srgb,var(--brand) 10%,transparent);border-left:1.5px dashed var(--brand)}
.gnt .gx{position:relative;height:30px;font-size:11px;color:var(--muted)}
.gnt .gx span{position:absolute;top:0;transform:translateX(-50%)}
.gnt .gx .cwl{top:14px;transform:none;margin-left:-5px;color:var(--brand);font-weight:600;white-space:nowrap}

/* 共同操作 */
.cm-ctl{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 10px}
.cm-ctl small{margin-left:4px;opacity:.6;font-weight:500}
.chd.mvt td{vertical-align:top}
.mvc{display:flex;flex-direction:column;gap:2px}
.mvc small{font-size:11px;color:var(--muted);white-space:nowrap}
.mv{display:inline-block;align-self:flex-start;padding:1px 7px;border-radius:999px;font:600 11.5px var(--f-ui);white-space:nowrap}
.mv.u{background:color-mix(in srgb,var(--pos) 12%,transparent);color:var(--pos)}
.mv.d{background:color-mix(in srgb,var(--neg) 11%,transparent);color:var(--neg)}
.mv.n{background:var(--pos);color:#fff}
.mv.x{background:var(--neg);color:#fff}
.mv b{font-weight:600}
.wc.mute{color:var(--muted);font-size:12px}
.chd .cnt .u{color:var(--pos);font-weight:600}.chd .cnt .d{color:var(--neg);font-weight:600}
.win .lnk.sm{height:26px;padding:0 11px}

/* 本期权重变化 */
.v2-imp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
 .v2-imp-card{padding:10px 12px;border:1px solid var(--line);border-radius:10px}
 .v2-imp-head{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:600}
 .v2-imp-head img{width:20px;height:20px;border-radius:50%;object-fit:cover}
 .v2-imp-row{display:grid;grid-template-columns:58px 1fr 52px;gap:7px;align-items:center;margin:7px 0;font-size:11px}
 .v2-imp-row .ticker{font-weight:600;color:var(--ink)}
 .v2-imp-track{height:8px;position:relative;background:var(--line);border-radius:8px}
 .v2-imp-track i{display:block;height:100%;border-radius:8px}
 .v2-imp-row .val{text-align:right;color:var(--muted)}
 .v2-imp-empty{padding:12px;color:var(--muted);font-size:12px}

.v2-imp-head .av{width:20px;height:20px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;font-size:10px;background:var(--fill)}
.v2-imp-head .mut{font-weight:400}
.v2-imp-row .val.up{color:var(--pos)}.v2-imp-row .val.down{color:var(--neg)}

/* 口径切换 + 一句话结论 */
.cp-h .tools #basis button{white-space:nowrap}
.concl{margin:0 0 18px;padding:14px 16px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-card);font-size:var(--fs-sm);line-height:1.7;color:var(--ink-2)}
.concl .basis-n{font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}
.concl .basis-n b,.concl b{color:var(--ink);font-weight:600}
.concl p{margin:0}.concl p + p{margin-top:4px}
.concl .warn-t{color:color-mix(in srgb,var(--warn) 55%,var(--ink))}
.ct .ns{display:block;font:500 10.5px var(--f-ui);color:var(--muted);margin-top:1px}
.smx .hq .ref{display:block;font-size:10.5px;color:var(--muted);margin-top:2px;font-weight:500}

/* 头像：站内的 guruAv（照片 / 机构标志 / 首字母） */
.slot .hd .av.logo,.av3.logo,.pick .logo{object-fit:contain;padding:3px;background:#fff}
.slot .hd span.av,.pick a span.av,span.av3{display:inline-grid;place-items:center;font:600 14px var(--f-ui);color:var(--ink-2);background:var(--fill)}
.pick .pl{max-height:min(60vh,460px);overflow-y:auto}

/* 窄屏：所有面板不超出视口，宽表在自身容器里横向滚动 */
.cp .pn,.cp .g2 > *,.cp .g57 > *,.cp .g75 > *{min-width:0}
.cp .tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:720px){
  .cp-h .tools{margin-left:0;width:100%}
  .cp-h .tools .seg{overflow-x:auto;max-width:100%}
  .slots{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cp .om{min-width:0}
}
.cm-ctl{flex-wrap:wrap;min-width:0}
.cm-ctl .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}
.cm-ctl .seg button{flex:none}
.smx .hq .ref{white-space:normal}

/* 指标名 + 悬停说明；分组标题更醒目，指标行更紧凑 */
.ct td.l{color:var(--ink);font-size:13.5px}
.mlab{border-bottom:1px dotted var(--line-2);cursor:help;outline-offset:2px}
.mlab:hover,.mlab:focus-visible{border-bottom-color:var(--ink-2)}
.ct td{height:36px}
.ct tr.grp td{font:600 12px var(--f-ui);color:var(--ink-2);letter-spacing:.02em;padding-top:14px}
.v2-imp-row .ticker{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--ink);text-decoration:none}
.v2-imp-row .ticker:hover span{text-decoration:underline}
.v2-imp-row .ticker .tkl{width:18px;height:18px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--line);flex:none}
.v2-imp-row .ticker span.tkl{display:grid;place-items:center;font:700 8px var(--f-ui);color:var(--muted);background:var(--fill)}
.v2-imp-row{grid-template-columns:84px 1fr 56px}
.ct td.l .mlab{white-space:nowrap}
@media (max-width:640px){.ct td.l .mlab{white-space:normal}}

/* 顶部要点：4 个数字卡 */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0 22px}
.kpis .kp{background:var(--card);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpis .lab{font-size:var(--fs-xs);color:var(--muted)}
.kpis .v{font:700 24px/1.15 var(--f-ui);color:var(--ink);font-variant-numeric:tabular-nums}
.kpis .v small{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}
.kpis .sub{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;line-height:1.5}
.kpis .who{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink)}
.kpis .who .av{width:18px;height:18px;border-radius:50%;object-fit:cover;font-size:9px;display:inline-grid;place-items:center;background:var(--fill)}
.rng-t{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;cursor:help;align-self:center}
.slot .tags .con i{color:var(--warn);font-weight:700}
