:root{
  --paper:#ffffff;
  --bg:#faf9f7;
  --ink:#1b1b1b;
  --ink2:#4c4a48;
  --muted:#8b8783;
  --line:#e7e4df;
  --line2:#d9d5cf;
  --red:#a63a2f;
  --red2:#c15a4c;
  --red-soft:#fbf2f0;
  --gold:#dfa83c;
  --gold-soft:#fbf4e6;
  --brown:#7c615a;
  --brown2:#a58b83;
  --up:#c0392b;
  --down:#2f8b5b;
  --slate:#59606a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
}
button,input,select{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
.app{max-width:1220px;margin:0 auto;padding:26px 34px 60px;background:var(--paper);min-height:100vh;
  box-shadow:0 0 0 1px rgba(0,0,0,.02)}
.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--red);font-weight:700;text-transform:uppercase}
.eyebrow .sep{margin:0 6px;color:var(--line2)}

/* masthead */
.masthead{border-bottom:1px solid var(--line);padding-bottom:0}
.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:12px 0 22px}
h1{font-size:25px;line-height:1.3;margin:0;font-weight:700;letter-spacing:-.01em}
.subtitle{margin:6px 0 0;color:var(--muted);font-size:12.5px}
.meta-box{min-width:300px;text-align:right;padding-top:2px}
.meta-line{display:flex;justify-content:flex-end;align-items:baseline;gap:8px;font-size:11.5px;color:var(--muted);line-height:1.9}
.meta-line strong{color:var(--ink);font-weight:600;font-size:12.5px}
.meta-line .live{color:var(--red);font-weight:600}
.meta-line .src-tag{color:var(--red);font-size:12px;font-weight:600;background:var(--red-soft);padding:1px 7px;border-radius:2px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red2);margin-right:5px;vertical-align:1px;
  box-shadow:0 0 0 3px rgba(193,90,76,.14)}
.tabs{display:flex;align-items:flex-end;gap:28px;border-bottom:1px solid var(--line)}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 2px 11px;font-size:13.5px;color:var(--muted);font-weight:600;margin-bottom:-1px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--ink);border-bottom-color:var(--red)}
.tab-note{margin-left:auto;font-size:11px;color:var(--muted);padding-bottom:12px}

/* section label */
.section-label{font-size:10.5px;letter-spacing:.13em;font-weight:700;color:var(--red);text-transform:uppercase;
  padding:22px 0 10px;border-bottom:1px solid var(--line);margin-bottom:16px}
.section-label span{color:var(--muted);font-weight:500;letter-spacing:.02em;text-transform:none;font-size:11.5px;margin-left:6px}

/* selector */
.selector{padding-top:4px}
.selector-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.search-wrap{position:relative;flex:1 1 420px;min-width:280px}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-52%);color:var(--muted);font-size:19px;pointer-events:none}
#search{width:100%;height:40px;padding:0 14px 0 36px;border:1px solid var(--line2);background:var(--paper);outline:none;border-radius:2px;font-size:13px}
#search:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(166,58,47,.08)}
#search::placeholder{color:#aaa5a0}
.suggest{position:absolute;top:42px;left:0;right:0;background:var(--paper);border:1px solid var(--line2);z-index:30;
  box-shadow:0 8px 24px rgba(0,0,0,.09);max-height:340px;overflow:auto;border-radius:2px}
.suggest.hidden{display:none}
.sg-item{padding:9px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f3f1ee;cursor:pointer}
.sg-item:last-child{border-bottom:0}
.sg-item:hover,.sg-item.on{background:var(--red-soft)}
.sg-code{font-size:11.5px;color:var(--muted);width:62px;flex:none}
.sg-name{font-weight:600;font-size:12.5px}
.sg-index{margin-left:auto;font-size:11px;color:var(--muted)}
.sg-scale{font-size:11.5px;color:var(--ink2);width:78px;text-align:right;flex:none}
.quick-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.quick-label{font-size:11px;color:var(--muted);margin-right:2px}
.qchip{border:1px solid var(--line2);background:var(--paper);padding:5px 9px;font-size:11.5px;color:var(--ink2);border-radius:2px;white-space:nowrap}
.qchip:hover{border-color:var(--red);color:var(--red)}

/* overview */
.overview{margin-top:20px;border:1px solid var(--line);background:var(--paper)}
.product-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.product-name{font-size:18px;font-weight:700;letter-spacing:-.01em}
.product-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.product-badge{font-size:11px;color:var(--red);border:1px solid rgba(166,58,47,.28);background:var(--red-soft);padding:4px 10px;border-radius:2px;white-space:nowrap}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.kpi{padding:15px 16px 16px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi-label{font-size:10.5px;color:var(--muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-value{font-size:23px;font-weight:700;line-height:1.25;margin-top:7px;letter-spacing:-.02em}
.kpi-value.small{font-size:17px}
.kpi-unit{font-size:11px;color:var(--muted);font-weight:500;margin-left:3px}
.kpi-foot{font-size:10.5px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-red{color:var(--red)} .v-up{color:var(--up)} .v-down{color:var(--down)} .v-gold{color:#b8861f}

/* action bar */
.action-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.action-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.act-label{font-size:11px;color:var(--muted)}
.tone-group{display:inline-flex;border:1px solid var(--line2);border-radius:2px;overflow:hidden}
.tone-btn{border:0;background:var(--paper);padding:5px 12px;font-size:11.5px;color:var(--ink2);border-right:1px solid var(--line2)}
.tone-btn:last-child{border-right:0}
.tone-btn.active{background:var(--red);color:#fff;font-weight:600}
.action-right{display:flex;gap:8px}
.btn{padding:7px 15px;font-size:12px;font-weight:600;border-radius:2px;border:1px solid var(--line2);background:var(--paper);color:var(--ink2)}
.btn:hover{border-color:var(--red);color:var(--red)}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-primary:hover{background:#8f3026;border-color:#8f3026;color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* panels */
.panel{display:none}
.panel.active{display:block}
.print-head{display:none}

/* copy */
.copy-text{border:1px solid var(--line);border-left:3px solid var(--red);padding:24px 28px;background:#fdfcfb;
  font-size:14.5px;line-height:2.05;color:var(--ink2)}
.copy-text p{margin:0 0 14px}
.copy-text p:last-child{margin-bottom:0}
.copy-text .lead{font-size:16px;color:var(--ink);font-weight:700;line-height:1.75;margin-bottom:16px}
.copy-text strong{color:var(--red);font-weight:700}
.copy-text .sub-h{display:block;font-size:11px;letter-spacing:.08em;color:var(--red);font-weight:700;margin:0 0 5px}
.copy-text .caution{background:var(--gold-soft);border-left:2px solid var(--gold);padding:9px 13px;font-size:12.5px;color:#7a5a17;line-height:1.8;margin:14px 0}
.copy-text .risk-line{font-size:11.5px;color:var(--muted);border-top:1px dashed var(--line2);padding-top:12px;margin-top:18px;line-height:1.8}
.element-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.element{border:1px solid var(--line);padding:13px 14px;background:var(--paper)}
.element .e-no{font-size:10px;color:var(--red);font-weight:700;letter-spacing:.1em}
.element .e-title{font-size:12.5px;font-weight:700;margin:6px 0 6px}
.element .e-body{font-size:11.5px;color:var(--ink2);line-height:1.75}
.element .e-body b{color:var(--red)}
.disclaimer{font-size:11px;color:var(--muted);line-height:1.85;margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}

/* chips */
.chip-editor{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.chip-row{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.cchip{border:1px solid var(--line2);background:var(--paper);padding:5px 9px;font-size:11.5px;border-radius:2px;color:var(--ink2)}
.cchip.on{border-color:var(--red);color:var(--red);background:var(--red-soft);font-weight:600}
.cchip.cur{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.cchip.cur:hover{background:var(--red)}
#addIndex{height:30px;border:1px solid var(--line2);background:var(--paper);font-size:11.5px;color:var(--ink2);padding:0 8px;border-radius:2px;max-width:210px}
.group-intro{font-size:12.5px;color:var(--ink2);background:var(--bg);border-left:2px solid var(--gold);padding:10px 14px;margin:14px 0 0;line-height:1.85}

/* table */
.table-scroll{overflow-x:auto;border:1px solid var(--line)}
.data-table{border-collapse:collapse;width:100%;font-size:11.8px;min-width:900px}
.data-table th{background:#f7f5f2;text-align:left;padding:10px 11px;font-weight:700;color:var(--ink2);border-bottom:1px solid var(--line2);white-space:nowrap;font-size:11px}
.data-table td{padding:10px 11px;border-bottom:1px solid #f0eeeb;vertical-align:top;color:var(--ink2)}
.data-table tr:last-child td{border-bottom:0}
.data-table tr.cur{background:var(--red-soft)}
.data-table tr.cur td{font-weight:600;color:var(--ink)}
.data-table .t-idx{font-weight:700;color:var(--ink);white-space:nowrap}
.data-table .t-code{font-size:10.5px;color:var(--muted);display:block;font-weight:400}
.data-table .num{text-align:right;white-space:nowrap}
.state{padding:1px 6px;border-radius:2px;font-size:10.5px;font-weight:700;white-space:nowrap}
.state-low{background:#eef4ef;color:#2f7a52}
.state-mid{background:var(--gold-soft);color:#a8791a}
.state-high{background:#fbebe8;color:var(--red)}
.state-vhigh{background:var(--red);color:#fff}
.na{color:#b5b0ab}
.approx{color:var(--red);font-weight:700;font-size:10px;margin-left:1px}
.tfoot-note{background:#faf8f5;color:var(--muted);font-size:10.5px;line-height:1.75;border-top:1px solid var(--line2)}
.ref-block{margin-top:16px;border-top:1px dashed var(--line2);padding-top:12px}
.ref-title{font-size:11.5px;font-weight:700;color:var(--ink)}
.ref-title span{font-size:10px;color:var(--red);font-weight:600;margin-left:6px}
.ref-sub{font-size:10.5px;color:var(--muted);margin:2px 0 10px;line-height:1.6}

/* cards & charts */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.two-col .section-label{margin-top:4px}
.card-list{border:1px solid var(--line)}
.comp-card{padding:12px 14px;border-bottom:1px solid #f0eeeb}
.comp-card:last-child{border-bottom:0}
.comp-card.cur{background:var(--red-soft)}
.comp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.comp-name{font-size:12.5px;font-weight:700;color:var(--ink)}
.comp-count{font-size:10.5px;color:var(--muted)}
.comp-rule{font-size:11.5px;color:var(--ink2);line-height:1.8;margin-top:5px}
.comp-focus{font-size:11.5px;color:var(--red);margin-top:4px;line-height:1.7}
.comp-top{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.7}
.chart-card{border:1px solid var(--line);padding:14px 16px;min-height:220px}
.chart-title{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:2px}
.chart-sub{font-size:10.5px;color:var(--muted);margin-bottom:12px}
.bar-row{display:grid;grid-template-columns:118px 1fr 76px;gap:9px;align-items:center;margin-bottom:8px;font-size:11px}
.bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink2)}
.bar-name.hi{color:var(--red);font-weight:700}
.bar-track{display:block;height:13px;background:#f2f0ed;position:relative;border-radius:1px;overflow:hidden}
.bar-fill{display:block;height:100%;background:var(--brown2);border-radius:1px;min-width:2px}
.bar-fill.hi{background:var(--red)}
.bar-fill.gold{background:var(--gold)}
.bar-fill.brown{background:var(--brown)}
.bar-fill.red{background:var(--red2)}
.bar-val{text-align:right;color:var(--ink2);font-size:11px;white-space:nowrap}
.bar-val.hi{color:var(--red);font-weight:700}
.chart-note{font-size:10.5px;color:var(--muted);margin-top:12px;line-height:1.7;border-top:1px dashed var(--line);padding-top:9px}
.legend{display:flex;gap:14px;font-size:10.5px;color:var(--muted);margin-bottom:12px}
.legend i{display:inline-block;width:9px;height:9px;margin-right:4px;vertical-align:-1px}
.conclusion{border:1px solid var(--line);border-left:3px solid var(--gold);padding:18px 22px;font-size:13px;line-height:2;color:var(--ink2);background:#fdfcfb}
.conclusion p{margin:0 0 10px}
.conclusion p:last-child{margin:0}
.conclusion b{color:var(--red)}

/* footer */
.footer{margin-top:34px;border-top:2px solid var(--ink);padding-top:14px}
.footer-title{font-size:10.5px;letter-spacing:.13em;font-weight:700;color:var(--red)}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px;font-size:11px;color:var(--ink2);line-height:1.85}
.footer-grid h4{margin:0 0 4px;font-size:11.5px;color:var(--ink)}
.footer-grid ul{margin:0;padding-left:16px}
.risk{font-size:10.5px;color:var(--muted);line-height:1.85;margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}

/* constituents & weights */
.weight-panel{border:1px solid var(--line);background:#fdfcfb;padding:0 0 14px}
.weight-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
.weight-toolbar .act-label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.04em}
.weight-tabs{display:flex;gap:6px;flex-wrap:wrap}
.wtab{border:1px solid var(--line2);background:#fff;color:var(--ink2);font-size:11.5px;padding:4px 10px;border-radius:2px}
.wtab:hover{border-color:var(--red2);color:var(--red)}
.wtab.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.weight-source{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 16px 0;font-size:11.5px;color:var(--muted)}
.tier-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:2px;letter-spacing:.03em}
.tier-ima{background:var(--red-soft);color:var(--red);border:1px solid #e6c9c3}
.tier-web{background:var(--gold-soft);color:#8a6415;border:1px solid #ecd9ac}
.weight-source .ws-date{color:var(--ink2);font-weight:600}
.weight-source .ws-src{color:var(--muted)}
.ver-switch{margin-left:auto;border:1px solid var(--line2);background:#fff;color:var(--red);font-size:11px;padding:3px 9px;border-radius:2px}
.ver-switch:hover{border-color:var(--red2);background:var(--red-soft)}
.weight-main{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;padding:12px 16px 0}
.weight-table-wrap{min-width:0}
.wtable{width:100%;border-collapse:collapse;font-size:12px}
.wtable th{text-align:left;font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.04em;padding:5px 6px;border-bottom:1px solid var(--line)}
.wtable td{padding:5px 6px;border-bottom:1px solid #f1efec;vertical-align:middle}
.wtable .w-no{width:26px;color:var(--muted);font-size:10.5px}
.wtable .w-name{width:38%;font-weight:600}
.wtable .w-bar{width:44%}
.wtable .w-val{width:58px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--red)}
.wtable tr.hi td{background:var(--red-soft)}
.wtrack{display:block;height:8px;background:#f0ede9;border-radius:1px;overflow:hidden}
.wfill{display:block;height:100%;background:var(--brown2)}
.wfill.hi{background:var(--red)}
.w-na{color:var(--muted);font-size:11px}
.weight-side{border-left:1px solid var(--line);padding-left:14px}
.ws-title{font-size:10.5px;color:var(--red);font-weight:700;letter-spacing:.1em;margin-bottom:8px}
.ws-metric{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid #f1efec;font-size:11.5px}
.ws-metric span{color:var(--muted)}
.ws-metric b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.ws-metric b.red{color:var(--red)}
.ws-note{font-size:11px;color:var(--ink2);line-height:1.8;margin-top:10px}
.weight-overview{margin:14px 16px 0;border-top:1px solid var(--line);padding-top:10px}
.wo-title{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.06em;margin-bottom:6px}
.wotable{width:100%;border-collapse:collapse;font-size:11.5px}
.wotable th{text-align:left;font-size:10px;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line)}
.wotable td{padding:5px 6px;border-bottom:1px solid #f1efec}
.wotable tr.cur td{background:var(--red-soft)}
.wotable .num{text-align:right;font-variant-numeric:tabular-nums;padding-right:20px}
.wotable th:first-child{width:24%}
.wotable td:not(:first-child){padding-right:16px}
.weight-note{margin:12px 16px 0;font-size:10.5px;color:var(--muted);line-height:1.85;border-top:1px dashed var(--line2);padding-top:9px}
@media(max-width:900px){
  .weight-main{grid-template-columns:1fr}
  .weight-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:10px}
  .ver-switch{margin-left:0}
}

/* toast */
.toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,14px);background:var(--ink);color:#fff;
  padding:9px 18px;font-size:12px;border-radius:3px;opacity:0;pointer-events:none;transition:.22s;z-index:99}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* responsive */
@media(max-width:1000px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .kpi:nth-child(3){border-right:0}
  .kpi:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .element-grid{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .title-row{flex-direction:column;gap:10px}
  .meta-box{text-align:left}
  .meta-line{justify-content:flex-start}
}
@media(max-width:640px){
  .app{padding:16px 14px 40px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .kpi{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}
  .element-grid{grid-template-columns:1fr}
  .tab-note{display:none}
  .copy-text{padding:16px}
  .bar-row{grid-template-columns:88px 1fr 62px}
}

/* print / PDF */
/* 券商实时信息补充段落（文案页） */
.broker-block{background:#fbf8f5;border-left:2px solid var(--brown2);padding:9px 13px;margin:10px 0;font-size:12.5px;line-height:1.85}
.broker-pt{color:var(--ink2)}
.broker-src{display:inline-block;margin-top:6px;font-size:10.5px;color:var(--muted)}

/* 全市场相关指数差异 */
.index-family{margin:10px 0 22px}
.fam-head{background:var(--red-soft);border:1px solid var(--line);padding:10px 13px;margin-bottom:11px}
.fam-title{font-size:14px;font-weight:700;color:var(--red)}
.fam-title span{font-weight:500;color:var(--ink2);font-size:12px}
.fam-sub{font-size:11.5px;color:var(--ink2);line-height:1.7;margin-top:4px}
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.idx-card{border:1px solid var(--line);background:#fff;padding:10px 11px;min-width:0}
.idx-card.cur{border-color:var(--red);background:#fffdfc;box-shadow:inset 0 0 0 1px var(--red-soft)}
.idx-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.idx-h b{font-size:13px;color:var(--ink)}
.idx-h span{font-size:10.5px;color:var(--muted)}
.idx-full{font-size:10.5px;color:var(--muted);margin:1px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idx-metrics{display:grid;grid-template-columns:1fr 1fr;gap:4px 9px;padding:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:6px}
.idx-metrics div{display:flex;justify-content:space-between;gap:4px;font-size:11px;min-width:0}
.idx-metrics span{color:var(--muted);white-space:nowrap}
.idx-metrics b{font-weight:600;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.idx-line{font-size:11px;color:var(--ink2);line-height:1.55;margin-top:3px}
.idx-line>span:first-child{display:inline-block;min-width:88px;color:var(--muted)}
.idx-cur{color:var(--red);font-weight:600}
.idx-sample{color:var(--muted);font-size:10.5px}
.fam-concl{margin-top:11px;padding:9px 12px;border-left:2px solid var(--red);background:#fbf8f7;font-size:12px;line-height:1.8;color:var(--ink2)}
.fam-note{margin-top:7px;font-size:10.5px;color:var(--muted);line-height:1.6}
@media(max-width:900px){.fam-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fam-grid{grid-template-columns:1fr}}
@media print{
  .fam-grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .idx-card{padding:6px 8px;break-inside:avoid}
  .fam-head,.fam-concl,.fam-note,.broker-block{font-size:8pt}
  .broker-block{break-inside:avoid}
}

@media print{
  @page{size:A4;margin:16mm 14mm}
  body{background:#fff;font-size:11pt}
  .app{max-width:none;padding:0;box-shadow:none}
  .no-print,.action-bar,.selector,.overview,.footer,.toast,.tabs,.masthead{display:none!important}
  .panel{display:none!important}
  .panel.active{display:block!important}
  .print-head{display:block!important;border-bottom:2px solid #1b1b1b;padding-bottom:10px;margin-bottom:14px}
  .print-head h2{font-size:17pt;margin:5px 0 3px}
  .print-meta{font-size:8.5pt;color:#666}
  .section-label{font-size:8pt;padding:12px 0 6px;margin-bottom:9px;break-after:avoid}
  .copy-text{font-size:10.5pt;line-height:1.8;border-left-width:2px;padding:14px 16px;break-inside:avoid}
  .copy-text .lead{font-size:12pt}
  .element-grid{grid-template-columns:repeat(5,1fr);gap:6px}
  .element{padding:7px 8px}
  .element .e-body{font-size:8pt;line-height:1.5}
  .two-col{grid-template-columns:1fr 1fr;gap:10px}
  .data-table{font-size:8pt;min-width:0}
  .data-table th,.data-table td{padding:5px 6px}
  .comp-card{padding:7px 9px}
  .comp-rule,.comp-focus,.comp-top{font-size:8pt;line-height:1.5}
  .chart-card{padding:9px;min-height:0}
  .bar-row{grid-template-columns:92px 1fr 58px;gap:5px;margin-bottom:5px;font-size:8pt}
  .conclusion{font-size:9.5pt;padding:10px 13px;line-height:1.7}
  .disclaimer,.risk{font-size:8pt}
  .chip-editor,#addIndex{display:none!important}
  .group-intro{font-size:9pt;padding:7px 10px}
  .panel,.comp-card,.chart-card,.conclusion,.element,.data-table tr{break-inside:avoid}
  .group-intro,.section-label{break-after:avoid}
  .table-scroll{overflow:visible;border:1px solid #ddd}
  .weight-panel{break-inside:avoid}
  .weight-toolbar{display:none!important}
  .weight-main{grid-template-columns:1.3fr 1fr;gap:8px;padding:8px 10px 0}
  .weight-overview{margin:10px 10px 0}
  .weight-note{margin:8px 10px 0;font-size:7.5pt}
  .weight-source{padding:8px 10px 0}
  .wtable,.wotable{font-size:8pt}
  .wtrack{height:6px}
  .bar-track,.bar-fill,.wtrack,.wfill,.legend i,.state,.tier-badge,.cchip.cur,.wtab.on{
    print-color-adjust:exact;-webkit-print-color-adjust:exact
  }
}
