
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0d1117;--card:#161b22;--card2:#1c2128;--border:#30363d;
  --primary:#58a6ff;--success:#3fb950;--warn:#d29922;--danger:#f85149;
  --text:#c9d1d9;--text2:#8b949e;--text3:#6e7681;
  --petro:#f0883e;--metal:#d29922;--semi:#58a6ff;--newenergy:#3fb950;
  --pharma:#db61a2;--auto:#a371f7;--consumer:#f778ba;--finance:#8b949e;
}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;height:100vh;overflow:hidden;font-size:13px}

/* ═══ 布局 ═══ */
.app{display:grid;grid-template-rows:52px 1fr 32px;height:100vh}
.main{display:grid;grid-template-columns:240px 1fr 340px;overflow:hidden}

/* ═══ 顶部栏 ═══ */
.header{background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:16px}
.logo{font-size:15px;font-weight:700;color:var(--primary);white-space:nowrap}
.logo span{color:var(--text2);font-weight:400;font-size:12px;margin-left:8px}
.search{flex:1;max-width:380px;position:relative}
.search input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 12px;color:var(--text);font-size:12px;outline:none}
.search input:focus{border-color:var(--primary)}
.search input::placeholder{color:var(--text3)}
.tabs{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:6px}
.tab{padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text2);transition:.15s;white-space:nowrap}
.tab:hover{color:var(--text);background:var(--card2)}
.tab.active{background:var(--primary);color:#fff;font-weight:600}
.stats-top{display:flex;gap:16px;margin-left:auto;font-size:11px;color:var(--text2);white-space:nowrap}
.stats-top b{color:var(--primary);font-size:13px}

/* ═══ 左侧栏 ═══ */
.sidebar{background:var(--card);border-right:1px solid var(--border);overflow-y:auto;padding:12px}
.side-section{margin-bottom:18px}
.side-title{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}
.chain-item{display:flex;align-items:center;padding:7px 8px;border-radius:5px;cursor:pointer;margin-bottom:2px;transition:.12s;border-left:2px solid transparent}
.chain-item:hover{background:var(--card2)}
.chain-item.active{background:var(--card2);border-left-color:var(--primary)}
.chain-dot{width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0}
.chain-name{flex:1;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chain-count{font-size:11px;color:var(--text3);margin-left:6px}
.filter-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:var(--text2);cursor:pointer}
.filter-row input{accent-color:var(--primary);cursor:pointer}
.legend-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text2);margin-bottom:5px}
.legend-line{width:22px;height:0;flex-shrink:0}

/* ═══ 主画布 ═══ */
.canvas-wrap{position:relative;background:radial-gradient(circle at 50% 50%,#11161d 0%,#0d1117 100%);overflow:hidden}
canvas{display:block;width:100%;height:100%}
.overlay-title{position:absolute;top:16px;left:16px;font-size:13px;color:var(--text2);background:rgba(22,27,34,.9);padding:6px 12px;border-radius:6px;border:1px solid var(--border)}
.overlay-title b{color:var(--text)}
.hint{position:absolute;bottom:16px;left:16px;font-size:11px;color:var(--text3);background:rgba(22,27,34,.8);padding:5px 10px;border-radius:5px}
.tooltip{position:absolute;background:var(--card2);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:11px;pointer-events:none;display:none;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.5);max-width:260px}
.tooltip b{color:var(--primary)}

/* ═══ 右侧详情 ═══ */
.detail{background:var(--card);border-left:1px solid var(--border);overflow-y:auto;padding:14px}
.detail-empty{color:var(--text3);text-align:center;padding:60px 20px;font-size:12px;line-height:1.8}
.d-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.d-name{font-size:16px;font-weight:700}
.d-code{font-size:12px;color:var(--text3)}
.d-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;margin-right:4px}
.tag-A{background:rgba(63,185,80,.15);color:var(--success)}
.tag-B{background:rgba(88,166,255,.15);color:var(--primary)}
.tag-C{background:rgba(210,153,34,.15);color:var(--warn)}
.card{background:var(--card2);border:1px solid var(--border);border-radius:7px;padding:12px;margin-bottom:10px}
.card-title{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:9px;font-weight:600;display:flex;align-items:center;gap:6px}
.kv{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;border-bottom:1px solid rgba(48,54,61,.4)}
.kv:last-child{border-bottom:none}
.kv .k{color:var(--text2)}
.kv .v{color:var(--text);font-weight:600;text-align:right;max-width:60%}
.v-good{color:var(--success)!important}
.v-warn{color:var(--warn)!important}
.v-bad{color:var(--danger)!important}
.chain-path{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;margin-top:6px}
.cp-node{background:rgba(88,166,255,.12);color:var(--primary);padding:2px 7px;border-radius:3px}
.cp-arrow{color:var(--text3)}
.moat-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}
.moat-icon{width:16px;text-align:center;flex-shrink:0}
.moat-name{color:var(--text2);width:70px;flex-shrink:0}
.moat-val{color:var(--text);flex:1}
.rel-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid rgba(48,54,61,.3)}
.rel-item:last-child{border:none}
.rel-badge{font-size:9px;padding:1px 5px;border-radius:3px;flex-shrink:0;font-weight:700}
.rb-E1{background:rgba(63,185,80,.15);color:var(--success)}
.rb-E2{background:rgba(88,166,255,.15);color:var(--primary)}
.rb-E3{background:rgba(210,153,34,.15);color:var(--warn)}
.rb-E4{background:rgba(163,113,247,.15);color:var(--auto)}
.rb-E5{background:rgba(139,148,158,.15);color:var(--text2)}
.rb-E6{background:rgba(248,81,73,.15);color:var(--danger)}
.rb-E7{background:rgba(240,136,62,.15);color:var(--petro)}
.rb-E8{background:rgba(219,97,162,.2);color:var(--pharma)}

/* ═══ 底部栏 ═══ */
.footer{background:var(--card);border-top:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:20px;font-size:11px;color:var(--text3)}
.footer b{color:var(--text2)}

/* ═══ 视图容器 ═══ */
.view{display:none;position:absolute;inset:0}
.view.active{display:block}
.profile-view{position:absolute;inset:0;overflow-y:auto;padding:24px;display:none}
.profile-view.active{display:block}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;max-width:1200px;margin:0 auto}
.p-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px}
.p-card-title{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;font-weight:600}
.p-big{font-size:22px;font-weight:700;color:var(--primary)}
.p-sub{font-size:12px;color:var(--text2)}

/* ═══ 导航层 CSS ═══ */
.crumb{display:flex;align-items:center;gap:5px;font-size:12px;flex-wrap:wrap}
.crumb .c-item{color:#8b949e;cursor:pointer;padding:1px 3px;border-radius:3px}
.crumb .c-item:hover{color:#58a6ff;background:#58a6ff18}
.crumb .c-item.cur{color:#58a6ff;font-weight:700;cursor:default}
.crumb .c-sep{color:#30363d;font-size:10px}
.crumb .c-back{margin-left:auto;font-size:11px;color:#8b949e;cursor:pointer;border:1px solid #30363d;padding:2px 8px;border-radius:4px}
.crumb .c-back:hover{color:#58a6ff;border-color:#58a6ff}
.search-wrap{position:relative;flex:1;max-width:520px}
.search-drop{position:absolute;top:38px;left:0;right:0;background:#161b22;border:1px solid #30363d;border-radius:8px;max-height:420px;overflow:auto;z-index:999;display:none;box-shadow:0 8px 24px #000a}
.search-drop.on{display:block}
.sd-group{padding:6px 10px 2px;font-size:10px;color:#6e7681;font-weight:700}
.sd-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12px;cursor:pointer;color:#c9d1d9}
.sd-item:hover,.sd-item.sel{background:#1f6feb22;color:#58a6ff}
.sd-item .sd-sub{margin-left:auto;font-size:10px;color:#6e7681}
.sd-empty{padding:14px;text-align:center;color:#6e7681;font-size:12px}
.rel-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rel-btn{font-size:10px;padding:3px 9px;border-radius:4px;border:1px solid #30363d;background:#1c2128;color:#8b949e;cursor:pointer}
.rel-btn:hover{color:#58a6ff;border-color:#58a6ff;background:#58a6ff15}
.stock-hero{background:linear-gradient(135deg,#1f6feb22,#3fb95011);border:1px solid #30363d;border-radius:8px;padding:14px;margin-bottom:12px}
.stock-hero .sh-name{font-size:20px;font-weight:700;color:#fff}
.stock-hero .sh-code{font-size:12px;color:#6e7681;margin-left:8px}
.stock-hero .sh-pills{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.sh-pill{font-size:10px;padding:2px 8px;border-radius:9px;border:1px solid #30363d;color:#8b949e}
.sh-pill.g{color:#3fb950;border-color:#3fb95055;background:#3fb95015}
.sh-pill.y{color:#d29922;border-color:#d2992255;background:#d2992215}
.sh-pill.r{color:#f85149;border-color:#f8514955;background:#f8514915}
.sh-pill.b{color:#58a6ff;border-color:#58a6ff55;background:#58a6ff15}


/* ═══ 布局改造：整页滚动 ═══ */
html{scroll-behavior:smooth}
body{height:auto !important;min-height:100vh;overflow-y:auto !important;overflow-x:hidden}
.app{height:auto !important;min-height:100vh;grid-template-rows:52px auto 32px !important}
.main{grid-template-columns:240px 1fr 340px;overflow:visible !important;align-items:start}
.header{position:sticky;top:0;z-index:200;background:var(--bg)}
.sidebar{position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto}
.detail{position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto}
.center-col{display:flex;flex-direction:column;min-width:0}
.canvas-wrap{height:calc(100vh - 84px) !important;max-height:780px;min-height:520px;flex-shrink:0}
.extra-panels{padding:18px 20px 30px;background:var(--bg);border-top:1px solid var(--border)}
.extra-panels:empty{display:none}
.panel-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.panel-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.panel-sub{font-size:10px;color:var(--text3);margin-bottom:12px}
.panel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}


/* ═══ 公司画像 ═══ */
#profHero{display:none;background:var(--card);border-bottom:1px solid var(--border);padding:12px 18px;flex-shrink:0}
#profHero.on{display:block}
.ph-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ph-name{font-size:20px;font-weight:700;color:#fff}
.ph-code{font-size:12px;color:var(--text3)}
.ph-pills{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.ph-pill{font-size:9.5px;padding:2px 8px;border-radius:9px;border:1px solid var(--border);color:var(--text2)}
.ph-pill.g{color:#3fb950;border-color:#3fb95055;background:#3fb95015}
.ph-pill.y{color:#d29922;border-color:#d2992255;background:#d2992215}
.ph-pill.b{color:#58a6ff;border-color:#58a6ff55;background:#58a6ff15}
.ph-pill.o{color:#f0883e;border-color:#f0883e55;background:#f0883e15}
.ph-metrics{display:flex;gap:22px;margin-top:8px;flex-wrap:wrap}
.ph-m{display:flex;flex-direction:column;gap:1px}
.ph-m .l{font-size:9.5px;color:var(--text3)}
.ph-m .v{font-size:14px;font-weight:700}
.ph-nav{display:flex;gap:6px;margin-top:10px;border-top:1px solid var(--border);padding-top:9px;flex-wrap:wrap}
.ph-mod{font-size:11.5px;padding:5px 13px;border-radius:5px;color:var(--text2);cursor:pointer;border:1px solid transparent}
.ph-mod:hover{background:var(--panel2);color:var(--text)}
.ph-mod.on{background:#1f6feb26;color:var(--blue);border-color:#1f6feb55;font-weight:600}
#profHTML{display:none;position:absolute;inset:0;overflow:auto;padding:16px 18px;background:var(--bg)}
#profHTML.on{display:block}
.ph-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ph-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ph-card{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px}
.ph-card-t{font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.ph-card-t .tg{font-size:9px;font-weight:400;color:var(--text3)}
.ph-kv{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px dashed #21262d}
.ph-kv:last-child{border-bottom:none}
.ph-kv .k{color:var(--text2)}
.ph-kv .v{color:var(--text);font-weight:600}
.ph-table{width:100%;border-collapse:collapse;font-size:10.5px}
.ph-table th{background:var(--panel);color:var(--text2);text-align:left;padding:5px 7px;border-bottom:1px solid var(--border);font-size:9.5px}
.ph-table td{padding:4px 7px;border-bottom:1px solid #21262d}
.ph-bar{height:13px;background:#21262d;border-radius:3px;overflow:hidden}
.ph-bar i{display:block;height:100%;border-radius:3px}
.ph-barrow{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.ph-barrow .lb{width:80px;font-size:10px;color:var(--text2)}
.ph-barrow .ph-bar{flex:1}
.ph-barrow .vv{width:46px;text-align:right;font-size:10px;font-weight:700}


/* ═══ 画像 v3：profile 模式隐藏右栏 ═══ */
.main.profile-mode{grid-template-columns:240px 1fr !important}
.main.profile-mode .detail{display:none !important}
.main.profile-mode .center-col{min-width:0}
.main.profile-mode .canvas-wrap{height:auto !important;max-height:none !important;min-height:0 !important}
.main.profile-mode #profHTML{position:relative !important;inset:auto !important;height:auto !important;min-height:520px;overflow:visible !important;padding:14px 18px}
.main.profile-mode .canvas-wrap.canvas-module{height:calc(100vh - 84px) !important;max-height:780px !important;min-height:520px !important}
.main.profile-mode .canvas-wrap.canvas-module #profHTML{display:none !important}
#profHTML{display:none;position:absolute;inset:0;overflow:auto;padding:14px 18px;background:var(--bg)}
#profHTML.on{display:block}
/* 画像内部样式 */
.pv-card{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:11px}
.pv-ct{font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.pv-ct .tg{font-size:9px;font-weight:400;color:var(--text3)}
.pv-kv{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px dashed #21262d}
.pv-kv:last-child{border-bottom:none}
.pv-kv .k{color:var(--text2)}
.pv-kv .v{color:var(--text);font-weight:600}
.pv-g2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.pv-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.pv-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.pv-t{width:100%;border-collapse:collapse;font-size:10.5px}
.pv-t th{background:var(--panel);color:var(--text2);text-align:left;padding:5px 7px;border-bottom:1px solid var(--border);font-weight:600;font-size:9.5px;white-space:nowrap}
.pv-t td{padding:4px 7px;border-bottom:1px solid #21262d}
.pv-t tr:hover td{background:#161b22}
.pv-t tr.me td{background:#1f6feb18;font-weight:600}
.pv-t tr.med td{background:#21262d;color:#8b949e}
.pv-bar{height:16px;background:#21262d;border-radius:3px;overflow:hidden;position:relative}
.pv-bar i{display:block;height:100%;border-radius:3px}
.pv-bar span{position:absolute;right:5px;top:1px;font-size:9px;font-weight:700;color:#fff}
.pv-rank{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed #21262d}
.pv-rank:last-child{border-bottom:none}
.pv-rank .rl{width:70px;font-size:10.5px;color:var(--text2)}
.pv-rank .rv{width:58px;text-align:right;font-size:11.5px;font-weight:700}
.pv-rank .rb{flex:1;height:14px;background:#21262d;border-radius:3px;position:relative;overflow:hidden}
.pv-rank .rb i{position:absolute;top:0;bottom:0;border-radius:3px}
.pv-rank .rb .p25,.pv-rank .rb .p75{width:1px;background:#d2992299}
.pv-rank .rr{width:66px;text-align:right;font-size:9.5px;font-weight:700}
.pv-nodemap{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #21262d}
.pv-nodemap:last-child{border-bottom:none}
.pv-nodemap .b{width:190px;font-size:10.5px}
.pv-nodemap .a{width:72px;text-align:right;font-size:10.5px;font-weight:600}
.pv-nodemap .p{width:48px;text-align:right;font-size:9.5px;color:var(--text3)}
.pv-nodemap .ar{color:var(--text3);font-size:12px}
.pv-nodemap .n{flex:1;font-size:10px;padding:2px 7px;border-radius:4px;background:#1f6feb20;border:1px solid #1f6feb55;color:var(--blue)}
.pv-nodemap .g{width:52px;text-align:right;font-size:9.5px}
.pv-note{background:#d2992215;border:1px solid #d2992244;border-radius:6px;padding:7px 9px;font-size:9.5px;color:#d29922;line-height:1.6;margin-top:8px}
.pv-spark{height:36px;display:flex;align-items:flex-end;gap:2px}
.pv-spark i{flex:1;background:#1f6feb;border-radius:1px 1px 0 0;min-height:2px}



.html-view{position:fixed;left:0;right:0;top:52px;bottom:32px;z-index:400;
  overflow-y:auto;background:#0d1117}
.html-view.on{display:block}
.hv-head{padding:16px 24px;border-bottom:1px solid #30363d}
.hv-title{font-size:18px;font-weight:700;color:#c9d1d9;margin-bottom:4px}
.hv-sub{font-size:12px;color:#8b949e}
.hv-body{padding:16px 24px}
.hv-table{width:100%;border-collapse:collapse;font-size:12px}
.hv-table th{position:sticky;top:0;background:#161b22;color:#6e7681;font-size:10.5px;
  font-weight:500;padding:8px;text-align:left;border-bottom:1px solid #30363d}
.hv-table td{padding:7px 8px;border-bottom:1px solid #161b22;color:#c9d1d9}
.hv-table tr:hover{background:#1f6feb1a;cursor:pointer}
.hv-card{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px 18px;margin-bottom:12px}
.hv-card-t{font-size:13px;font-weight:700;color:#c9d1d9;margin-bottom:10px}
.hv-stat{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#8b949e}
.hv-stat b{color:#c9d1d9;font-size:15px;margin-left:4px}
.hv-g{display:inline-block;font-size:11px;padding:4px 10px;border-radius:11px;cursor:pointer;
  border:1px solid #30363d;color:#8b949e;background:#161b22;margin:0 4px 4px 0;white-space:nowrap}
.hv-g.on{background:#1f6feb26;color:#58a6ff;border-color:#1f6feb55;font-weight:600}
.hv-up{color:#f85149}
.hv-dn{color:#3fb950}
.hv-flat{color:#8b949e}
.hv-code{color:#58a6ff;font-family:monospace}
.hv-loading{padding:60px;text-align:center;color:#8b949e;font-size:13px}


#__wl_overlay{position:fixed;inset:0;z-index:9500;background:rgba(13,17,23,.97);
  display:none;flex-direction:column;font-family:inherit}
#__wl_overlay.on{display:flex}
.__wl_head{padding:14px 22px;border-bottom:1px solid #30363d;display:flex;
  align-items:center;gap:14px;flex-wrap:wrap}
.__wl_title{font-size:16px;font-weight:700;color:#c9d1d9}
.__wl_groups{display:flex;gap:6px;flex-wrap:wrap;flex:1;max-height:60px;overflow-y:auto}
.__wl_g{font-size:11px;padding:4px 10px;border-radius:11px;cursor:pointer;
  border:1px solid #30363d;color:#8b949e;background:#161b22;white-space:nowrap}
.__wl_g.on{background:#1f6feb26;color:#58a6ff;border-color:#1f6feb55;font-weight:600}
.__wl_close{font-size:20px;color:#8b949e;cursor:pointer;padding:0 8px}
.__wl_close:hover{color:#f85149}
.__wl_stats{padding:8px 22px;font-size:11.5px;color:#8b949e;display:flex;gap:18px;
  border-bottom:1px solid #21262d;flex-wrap:wrap}
.__wl_body{flex:1;overflow-y:auto;padding:0 12px 20px}
.__wl_t{width:100%;border-collapse:collapse;font-size:12px}
.__wl_t thead th{position:sticky;top:0;background:#161b22;color:#6e7681;font-size:10.5px;
  font-weight:500;padding:8px 8px;text-align:left;border-bottom:1px solid #30363d;z-index:2}
.__wl_t tbody tr{cursor:pointer;border-bottom:1px solid #161b22}
.__wl_t tbody tr:hover{background:#1f6feb1a}
.__wl_t td{padding:7px 8px;color:#c9d1d9}
.__wl_code{color:#58a6ff;font-family:monospace}
.__wl_name{color:#c9d1d9;font-weight:500}
.__wl_px{font-family:monospace;font-weight:600}
.__wl_up{color:#f85149}
.__wl_dn{color:#3fb950}
.__wl_flat{color:#8b949e}
.__wl_chain{color:#8b949e;font-size:10.5px}
.__wl_loading{padding:60px;text-align:center;color:#8b949e;font-size:13px}


/* ═══ 5年季度趋势图：横向滚动条 ═══ */
.qt-scroll::-webkit-scrollbar{height:9px}
.qt-scroll::-webkit-scrollbar-track{background:#0d1117;border-radius:5px}
.qt-scroll::-webkit-scrollbar-thumb{background:#30363d;border-radius:5px;border:1px solid #0d1117}
.qt-scroll::-webkit-scrollbar-thumb:hover{background:#484f58}
.qt-bar{transition:opacity .12s, filter .12s}
.qt-bar:hover{filter:brightness(1.35);opacity:1 !important}


/* ★ 系统定位说明（中长期基本面，非现时买卖依据） */
.logo .pos-note {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  font-style: normal;
  font-weight: 400;
  color: #d29922;
  letter-spacing: .2px;
  opacity: .95;
}
.logo { line-height: 1.25; }

/* ── 画像 ⑦ 分析报告（内嵌） ── */
.rpt-wrap{padding:4px 2px 30px}
.rpt-tabs{display:flex;align-items:center;gap:8px;margin:0 0 10px;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:5;border-bottom:1px solid var(--border);flex-wrap:wrap}
.rpt-tab{cursor:pointer;font-size:12px;padding:4px 10px;border-radius:12px;border:1px solid var(--border);color:var(--text2);user-select:none}
.rpt-tab:hover{color:var(--text)}
.rpt-tab.on{color:#58a6ff;border-color:#58a6ff66;background:#58a6ff14;font-weight:700}
.rpt-note{margin-left:auto;font-size:10px;color:var(--text3)}
.rpt-body{max-width:1180px}
.rpt-tab.disabled{opacity:.55;cursor:not-allowed;border-style:dashed}
.rpt-meta{font-size:10.5px;color:#8b949e;margin-left:8px}
