
:root{--bg:#0d1013;--s:#171b20;--panel:#12161b;--b:#2d343c;--b2:#414a55;--t:#edf1f5;--d:#98a2ad;--r:#ff5d66;--g:#43c463;--y:#e0aa45;--p:#b07cd8;--bl:#62a7ff}
/* A股配色: 涨=红(#d73a49/#f85149) 跌=绿(#3fb950/#238636) */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--t);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;padding:20px 32px;max-width:1800px;margin:0 auto;font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
button,input,select,textarea{font:inherit;letter-spacing:0}
[id]{scroll-margin-top:76px}

/* 左侧导航 */
.side-nav{position:sticky;top:0;left:auto;z-index:9990;width:calc(100% + 64px);margin:0 -32px 14px;padding:8px 32px;display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#0f151dcc;border:1px solid var(--b);border-left:0;border-right:0;border-radius:0;box-shadow:0 12px 28px #0005;backdrop-filter:blur(10px)}
.side-nav .nav-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 8px 0 2px;border-bottom:0;font-size:12px;color:var(--d);font-weight:700;flex:0 0 auto}
.side-nav .nav-title b{color:var(--t);font-size:13px}
.side-nav a{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;border:1px solid var(--b);background:#111820;border-radius:6px;color:var(--d);text-decoration:none;font-size:11px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;flex:0 0 auto}
.side-nav a:hover{background:#ffffff08;color:var(--t)}
.side-nav a.active{background:#58a6ff15;color:#58a6ff}
.side-nav .nav-group{margin:9px 0 3px;padding:0 10px;font-size:10px;letter-spacing:.06em;color:var(--d);opacity:.7}
.side-nav a em{margin-left:auto;font-style:normal;font-size:9px;color:var(--y);opacity:.85;white-space:nowrap}
.chg-arrow{font-size:9px;opacity:.85;margin-right:2px;letter-spacing:-1px}
/* ── 浅色主题：只覆盖 CSS 变量，不动组件结构 ── */
html[data-theme="light"]{
  --bg:#f4f6f9; --s:#ffffff; --panel:#ffffff; --b:#e0e5ec; --b2:#c4ccd6;
  --t:#16202b; --d:#5b6775;
  --r:#d93a44; --g:#1f8f3e; --y:#a9761a; --p:#7a4fb0; --bl:#1f6fd0;
}
html[data-theme="light"] body{background:var(--bg);color:var(--t)}
html[data-theme="light"] .side-nav{background:#ffffff}
html[data-theme="light"] .side-nav a{background:#f7f9fc;border-color:var(--b)}
html[data-theme="light"] .side-nav a:hover{background:#eef3fa}
html[data-theme="light"] .m-card-table tr,
html[data-theme="light"] .pv-card{background:#ffffff}
html[data-theme="light"] .hd .btn-save:hover{background:#eef3fa}
.btn-theme{cursor:pointer;padding:5px 12px;border-radius:6px;font-size:12px;border:1px solid var(--b);background:var(--s);color:var(--d);white-space:nowrap}
.btn-theme:hover{background:#0d141c;border-color:var(--b2);color:var(--t)}
html[data-theme="light"] .btn-theme:hover{background:#eef3fa}
/* 持仓诊断弹窗 */
.pos-mask{display:none;position:fixed;inset:0;z-index:10000;background:#000000b8;backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:20px}
.pos-mask.open{display:flex}
.pos-box{width:min(520px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--b2);border-radius:12px;padding:16px 18px 18px}
.pos-hd{display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--t);margin-bottom:12px}
.pos-x{cursor:pointer;font-size:22px;line-height:1;color:var(--d)}
.pos-form{display:flex;gap:8px;margin-bottom:12px}
.pos-input{flex:1;min-width:0;background:var(--s);border:1px solid var(--b);border-radius:7px;color:var(--t);font-size:13px;padding:8px 10px;outline:none}
.pos-input:focus{border-color:var(--bl)}
.pos-btn{background:var(--bl);color:#fff;border:0;border-radius:7px;padding:0 16px;font-size:13px;cursor:pointer;white-space:nowrap}
.pos-hint{font-size:12px;color:var(--d);line-height:1.8}
.pos-out{font-size:13px;color:var(--t)}
.pos-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--b);font-size:12px}
.pos-row span:first-child{color:var(--d)}
.pos-name{font-size:16px;font-weight:700;margin:2px 0 8px}
.pos-pnl{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.pos-tips{margin:10px 0 0;padding-left:16px;font-size:12px;line-height:1.9;color:var(--t)}
.pos-tips li{margin-bottom:2px}
.pos-err{color:var(--r);font-size:13px}
.pos-disc{font-size:10px;color:var(--d);margin-top:10px;line-height:1.7;border-top:1px solid var(--b);padding-top:8px}
/* 移动端：表格变卡片（data-label 由内联 JS 从表头写入） */
@media(max-width:560px){
.m-card-table thead{display:none}
.m-card-table,.m-card-table tbody,.m-card-table tr,.m-card-table td{display:block;width:100%}
.m-card-table tr{border:1px solid var(--b);border-radius:8px;margin:0 0 10px;padding:7px 10px;background:var(--s)}
.m-card-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:3px 0;text-align:right}
.m-card-table td::before{content:attr(data-label);color:var(--d);font-size:11px;font-weight:400;text-align:left;flex:0 0 auto}
.m-card-table td:first-child{font-size:15px;font-weight:700;justify-content:flex-start;padding-bottom:4px}
.m-card-table td:first-child::before,.m-card-table td:nth-child(2)::before{display:none}
.m-card-table td:nth-child(2){justify-content:flex-start;text-align:left;border-bottom:1px dashed var(--b);padding-bottom:6px;margin-bottom:4px}
}
.side-nav a i{display:none;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7;flex-shrink:0}
.nav-qr-wrap{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--b);grid-template-columns:1fr;gap:10px}
.nav-qr{min-width:0;text-align:center}
.nav-qr img{display:block;width:100%;max-width:190px;aspect-ratio:1/1;height:auto;margin:0 auto;object-fit:cover;border:1px solid var(--b);border-radius:6px;background:#fff}
.nav-qr b{display:block;margin-top:4px;font-size:10px;color:var(--t);font-weight:700}
.nav-qr span{display:block;font-size:9px;color:var(--d);line-height:1.3}
.nav-qr small{display:block;margin-top:4px;font-size:9px;color:var(--d);line-height:1.35}
@media(min-width:1400px){
  body{max-width:2080px;margin:0 auto;padding:20px 32px 20px 288px}
  .side-nav{position:fixed;left:max(18px,calc((100vw - 2080px)/2 + 18px));top:86px;width:224px;max-height:calc(100vh - 104px);margin:0;padding:10px;display:block;overflow-y:auto;overflow-x:hidden;border:1px solid var(--b);border-radius:8px}
  .side-nav .nav-title{padding:4px 6px 8px;margin-bottom:4px;border-bottom:1px solid var(--b)}
  .side-nav a{height:30px;padding:0 8px;border:0;background:transparent;font-size:12px;flex:initial}
  .side-nav a i{display:block}
  .nav-qr-wrap{display:grid}
  .nav-qr img{max-width:178px}
}
@media(max-width:1399px){
  .side-nav{width:calc(100% + 64px);max-width:none;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}
  .side-nav .nav-title span{display:none}
  .nav-qr-wrap{display:none}
}

/* 更新日志 */
.owner-board{margin:0 0 16px;background:var(--panel);border:1px solid var(--b);border-left:3px solid #58a6ff;border-radius:8px;overflow:hidden}
.owner-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0f151d;border:0;border-bottom:1px solid var(--b);color:var(--t);padding:12px 14px;cursor:pointer;text-align:left;font:inherit}
.owner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0}
.owner-head b{font-size:15px;color:var(--t)}
.owner-head span{font-size:11px;color:var(--d)}
.owner-toggle i{font-style:normal;font-size:11px;color:var(--d);border:1px solid var(--b);border-radius:4px;padding:2px 8px;white-space:nowrap}
.owner-body{padding:12px 14px}
.owner-board.is-collapsed .owner-body{display:none}
.owner-msgs{display:flex;flex-direction:column;gap:8px}
.owner-msg{padding:10px 12px;background:#0b1016;border:1px solid var(--b);border-radius:6px}
.owner-msg h4{font-size:12px;color:#58a6ff;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.owner-msg p{font-size:12px;color:var(--t);line-height:1.55}
.owner-msg.major{border-color:#f8514938;background:linear-gradient(135deg,#f8514912,#0b1016 58%)}
.owner-major{font-size:17px!important;font-weight:800!important;line-height:1.45!important;color:#f85149!important;letter-spacing:0}
.owner-major b{color:#f85149}
.owner-text{font-size:12px;color:var(--t);line-height:1.55;margin:0}
.owner-minor{font-size:11px;color:var(--d);line-height:1.55;margin-top:6px}
.owner-msg time{display:block;margin-top:5px;font-size:10px;color:var(--d)}
.owner-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.owner-badges span{font-size:10px;color:#58a6ff;border:1px solid #58a6ff30;background:#58a6ff10;border-radius:4px;padding:1px 6px}
@media(max-width:768px){.owner-head{align-items:flex-start;flex-direction:column}.owner-major{font-size:15px!important}}

/* 头栏 */
.hd{display:flex;align-items:center;gap:10px;padding:12px 0 14px;margin-bottom:14px;border-bottom:1px solid var(--b);flex-wrap:wrap}
.hd .brand{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:6px 8px;min-width:min(520px,100%)}
.hd .brand .icon{font-size:24px}
.hd .brand .cn{font-size:26px;font-weight:800;color:var(--t);letter-spacing:0}
.hd .brand .en{font-size:13px;font-weight:700;color:var(--y);letter-spacing:0;padding:2px 7px;border:1px solid #e0aa4544;border-radius:4px;background:#e0aa450d}
.hd .brand .tagline{grid-column:2 / -1;font-size:13px;font-weight:600;color:#b8c1cb;letter-spacing:0;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-update{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#ff7b72;border:1px solid #f8514955;background:#f8514912;border-radius:5px;padding:4px 9px;white-space:nowrap}
.hd-update i{width:6px;height:6px;border-radius:50%;background:#f85149;box-shadow:0 0 10px #f85149aa}
.hd .date{font-size:13px;color:var(--d);margin-left:auto}
.hd .date b{color:var(--t);font-weight:600}
.hd .btn-save{cursor:pointer;padding:5px 14px;border-radius:6px;font-size:12px;border:1px solid var(--b);background:#111820;color:var(--t);white-space:nowrap}
.hd .btn-save:hover{background:#0d141c;border-color:var(--b2)}
.online-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--d);padding:4px 8px;border:1px solid var(--b);border-radius:6px;background:#111820;white-space:nowrap}
.online-badge i{width:6px;height:6px;border-radius:50%;background:#3fb950;display:inline-block}
.online-badge b{color:var(--t);font-weight:700}
.date-pick{font-size:11px;padding:3px 8px;border:1px solid var(--b);border-radius:6px;background:var(--s);color:var(--t);cursor:pointer}
.btn-shot{cursor:pointer;padding:5px 14px;border-radius:6px;font-size:12px;border:1px solid var(--p);background:var(--s);color:var(--p);font-weight:600;white-space:nowrap}
.btn-shot:hover{background:var(--bg)}
@media(max-width:720px){.hd .brand{grid-template-columns:auto auto auto}.hd-update{grid-column:2 / -1;width:max-content}.hd .brand .tagline{grid-column:2 / -1;white-space:normal}}

/* 指示器 */
.steps{display:flex;gap:12px;margin-bottom:20px}
.step{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--s);border-radius:8px;border:1px solid var(--b)}
.step .num{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}
.s1 .num{background:var(--r)} .s2 .num{background:var(--y)} .s3 .num{background:var(--p)}
.step .info .t{font-size:14px;font-weight:600;color:var(--t)}
.step .info .d{font-size:12px;color:var(--d)}

/* 市场条 */
.mbar{display:flex;gap:8px;margin-bottom:16px;font-size:12px;color:var(--d);padding:10px 16px;background:var(--panel);border-radius:8px;border:1px solid var(--b);flex-wrap:wrap;align-items:center;white-space:nowrap;box-shadow:0 1px 0 #ffffff08 inset}
.mbar-idx{display:flex;gap:14px;align-items:center}
.mbar-idx .mi{display:inline-flex;align-items:center;gap:4px}
.mbar-idx v{font-weight:700}
.mbar-idx i{font-style:normal;font-size:11px;font-weight:600}
.mbar-idx .chg-up{color:#d73a49}
.mbar-idx .chg-dn{color:#3fb950}
.mbar-info{display:flex;gap:10px;align-items:center;font-size:12px}
.mbar-info v{font-weight:700}
.mbar-divider{width:1px;height:18px;background:var(--b)}
.mbar-pill{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}
.mbar-label{font-size:10px;color:var(--d);text-transform:uppercase;letter-spacing:0}

/* 免责声明 */
.disclaimer{font-size:11px;color:#f85149;padding:8px 14px;margin-bottom:14px;border-left:3px solid #f85149;background:#f8514910;border-radius:0 6px 6px 0;line-height:1.6}

@media(max-width:560px){.live-sector{padding:12px}.ls-head{flex-direction:column}.ls-runner{grid-template-columns:34px minmax(62px,.7fr) minmax(110px,1fr) 58px}.ls-runner small{display:none}}

/* 滚动播报 */
.tip-bar{display:flex;align-items:center;gap:10px;overflow:hidden;margin-bottom:16px;padding:8px 10px;background:var(--panel);border-radius:8px;border:1px solid var(--b);white-space:nowrap;position:relative}
.tip-head{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:6px;background:#0f151d;border:1px solid var(--b);color:var(--t);font-size:12px;font-weight:700}
.tip-head i{width:6px;height:6px;border-radius:50%;background:#58a6ff;box-shadow:0 0 0 3px #58a6ff22}
.tip-window{overflow:hidden;min-width:0;flex:1}
.tip-scroll{display:inline-flex;align-items:center;gap:8px;animation:tip-marquee 52s linear infinite;font-size:12px;color:var(--t);padding-right:8px}
.tip-chip{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:6px;border:1px solid var(--b);background:#0f151d;color:var(--d);font-weight:600}
.tip-chip::before{content:'';width:5px;height:5px;border-radius:50%;background:#8b949e;margin-right:7px;flex-shrink:0}
.tip-chip.date{color:#58a6ff;border-color:#58a6ff33;background:#58a6ff10}
.tip-chip.date::before{background:#58a6ff}
.tip-chip.sector{color:#d29922;border-color:#d2992233;background:#d2992210}
.tip-chip.sector::before{background:#d29922}
.tip-chip.weak{color:#3fb950;border-color:#3fb95033;background:#3fb95010}
.tip-chip.weak::before{background:#3fb950}
.tip-chip.breakout{color:#f85149;border-color:#f8514933;background:#f8514910}
.tip-chip.breakout::before{background:#f85149}
.tip-chip.buildup{color:#a371f7;border-color:#a371f733;background:#a371f710}
.tip-chip.buildup::before{background:#a371f7}
.tip-chip.pa{color:#e6edf3;border-color:#8b949e55;background:#8b949e12}
.tip-chip.pa::before{background:#e6edf3}
@keyframes tip-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tip-bar:hover .tip-scroll{animation-play-state:paused}
/* 今日一图流 */
.oneflow{margin:0 0 14px;padding:14px;background:var(--panel);border:1px solid var(--b);border-radius:8px;box-shadow:0 1px 0 #ffffff08 inset}
.of-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.of-title b{display:block;font-size:18px;color:var(--t);letter-spacing:0}
.of-title span{display:block;margin-top:3px;font-size:12px;color:var(--d)}
.of-date{font-size:11px;color:var(--d);padding:4px 8px;border:1px solid var(--b);border-radius:6px;background:#0b1016;white-space:nowrap}
.of-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.65fr);gap:12px}
.of-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.of-card{min-height:80px;background:var(--bg);border:1px solid var(--b);border-radius:7px;padding:10px 11px}
.of-card label{display:block;font-size:11px;color:var(--d);margin-bottom:6px}
.of-card b{display:block;font-size:16px;color:var(--t);line-height:1.25}
.of-card p{margin-top:6px;font-size:11px;color:var(--d);line-height:1.45}
.of-card .of-red{color:#f85149}.of-card .of-blue{color:#58a6ff}.of-card .of-yellow{color:#d29922}.of-card .of-green{color:#3fb950}
.of-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.of-action{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:8px 10px;background:var(--bg);border:1px solid var(--b);border-radius:7px;color:var(--t);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.of-action:hover{background:#151d27;border-color:var(--b2);transform:translateY(-1px)}
.of-action span{font-size:12px;font-weight:700}
.of-action em{font-style:normal;font-size:11px;color:var(--d)}
.of-action i{font-style:normal;color:var(--bl);font-weight:700}
.of-note{margin-top:10px;padding:9px 11px;border-left:3px solid #d29922;background:#d2992210;border-radius:0 6px 6px 0;font-size:12px;color:var(--d);line-height:1.5}
@media(max-width:900px){.of-grid{grid-template-columns:1fr}.of-main{grid-template-columns:1fr}.of-head{flex-direction:column}.of-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.of-actions{grid-template-columns:1fr}}
/* 纯价格行为 */
.pa-section{margin:14px 0 18px;padding:14px 16px;background:var(--panel);border:1px solid var(--b);border-radius:8px}
.pa-section .sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.pa-section h2{font-size:18px;color:var(--t);letter-spacing:0}
.pa-section .sec-h span{font-size:11px;color:var(--d)}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}
.pa-card{background:#0f151d;border:1px solid var(--b);border-left:3px solid var(--d);border-radius:6px;padding:12px}
.pa-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.pa-top b{font-size:14px;color:var(--t)}
.pa-top c{font-size:10px;color:var(--d);display:block}
.pa-top span{font-size:11px;font-weight:700;white-space:nowrap}
.pa-metrics,.pa-plan{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;font-size:11px;color:var(--d)}
.pa-metrics span,.pa-plan span{padding:2px 6px;border:1px solid var(--b);border-radius:4px}
.pa-metrics v,.pa-plan v{color:var(--t);font-weight:700}
.pa-card p{font-size:12px;color:var(--t);line-height:1.5;margin:8px 0}
.pa-entry{margin:10px 0;padding:8px 10px;background:#111820;border:1px solid var(--b);border-radius:6px}
.pa-entry b{display:block;font-size:11px;color:#d29922;margin-bottom:5px}
.pa-entry ul{margin:0;padding-left:16px}
.pa-entry li{font-size:11px;color:var(--t);line-height:1.55;margin:3px 0}
.pa-invalid{font-size:11px;color:#f85149;margin:8px 0}
.pa-tags{display:flex;gap:6px;flex-wrap:wrap}
.pa-tag{font-size:10px;color:#58a6ff;border:1px solid #58a6ff30;background:#58a6ff12;border-radius:4px;padding:1px 6px}
.pa-empty{font-size:12px;color:var(--d);padding:10px 0}
/* 下跌结束侦测 */
.dte-section{margin:14px 0 18px;padding:14px 16px;background:var(--panel);border:1px solid var(--b);border-radius:8px}
.dte-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.dte-head h2{font-size:18px;color:var(--t);letter-spacing:0}
.dte-head span{display:block;margin-top:3px;font-size:11px;color:var(--d)}
.dte-head em{max-width:48%;font-style:normal;text-align:right;font-size:10px;line-height:1.45;color:var(--d)}
.dte-gate{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:8px 0;border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.dte-gate span{font-size:10px;color:var(--d);padding:2px 7px;border-left:2px solid #58a6ff;background:#58a6ff0c}
.dte-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dte-card{min-width:0;background:#0f151d;border:1px solid var(--b);border-left:3px solid #8b949e;border-radius:6px;padding:12px}
.dte-stage-confirmed{border-left-color:#58a6ff}.dte-stage-near{border-left-color:#d29922}.dte-stage-watch{border-left-color:#8b949e}
.dte-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dte-stock b{display:block;font-size:15px;color:var(--t);line-height:1.25}
.dte-stock c{display:block;margin-top:2px;font-size:10px;color:var(--d)}
.dte-status{text-align:right;flex:0 0 auto}
.dte-status span{display:block;font-size:11px;font-weight:800;color:#8b949e}
.dte-stage-confirmed .dte-status span{color:#58a6ff}.dte-stage-near .dte-status span{color:#d29922}
.dte-status small{display:block;margin-top:2px;font-size:9px;color:var(--d)}
.dte-score{display:grid;grid-template-columns:58px minmax(80px,1fr) auto;align-items:center;gap:9px;margin:10px 0 8px}
.dte-score strong{font-size:22px;color:var(--t);line-height:1}
.dte-score strong small{font-size:9px;color:var(--d);font-weight:600}
.dte-score>div{height:6px;background:#242d38;border-radius:3px;overflow:hidden}
.dte-score>div i{display:block;height:100%;background:#58a6ff;border-radius:3px}
.dte-stage-near .dte-score>div i{background:#d29922}.dte-stage-watch .dte-score>div i{background:#8b949e}
.dte-score>span{font-size:10px;color:var(--d);white-space:nowrap}
.dte-prices,.dte-levels{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--d)}
.dte-prices span,.dte-levels span{padding:2px 6px;border:1px solid var(--b);border-radius:4px}
.dte-prices v,.dte-levels v{color:var(--t);font-weight:700}
.dte-dimensions{display:grid;grid-template-columns:1fr 1fr;margin:10px 0;border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.dte-dim{min-width:0;padding:8px 8px 8px 0}
.dte-dim:nth-child(even){padding-left:8px;border-left:1px solid var(--b)}
.dte-dim:nth-child(n+3){border-top:1px solid var(--b)}
.dte-dim>div{display:flex;align-items:center;gap:6px}
.dte-dim i{width:6px;height:6px;border-radius:50%;background:#59636f;flex:0 0 auto}
.dte-dim b{min-width:0;font-size:11px;color:var(--d)}
.dte-dim em{margin-left:auto;font-style:normal;font-size:9px;color:var(--d)}
.dte-dim small{display:block;margin:4px 0 0 12px;font-size:9px;line-height:1.35;color:#75808d}
.dte-dim.hit b{color:var(--t)}.dte-dim.hit em{color:#c9d1d9}
.dte-selling_exhaustion.hit i{background:#f85149}.dte-volatility_compression.hit i{background:#a371f7}
.dte-support_absorption.hit i{background:#d29922}.dte-momentum_reversal.hit i{background:#39c5bb}
.dte-levels{margin-top:9px}
.dte-card p{margin:8px 0 0;font-size:10px;line-height:1.45;color:var(--d)}
.dte-empty{font-size:12px;color:var(--d);padding:10px 0}
@media(max-width:1100px){.dte-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dte-head{align-items:flex-start;flex-direction:column}.dte-head em{max-width:none;text-align:left}.dte-grid{grid-template-columns:1fr}.dte-dimensions{grid-template-columns:1fr}.dte-dim:nth-child(even){padding-left:0;border-left:0}.dte-dim:nth-child(n+2){border-top:1px solid var(--b)}}
/* Tushare高阶因子 */
.tf-section{margin:14px 0 18px;padding:14px 16px;background:var(--panel);border:1px solid var(--b);border-radius:8px}
.tf-section .sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.tf-section h2{font-size:18px;color:var(--t);letter-spacing:0}
.tf-section .sec-h span{font-size:11px;color:var(--d)}
.tf-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}
.tf-kpis div{background:#0f151d;border:1px solid var(--b);border-radius:6px;padding:8px 10px}
.tf-kpis span{display:block;font-size:10px;color:var(--d)}
.tf-kpis b{display:block;margin-top:2px;color:var(--bl);font-size:18px}
.tf-sector-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.tf-sector{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid #d2992230;background:#d2992210;border-radius:4px;font-size:11px}
.tf-sector b{color:var(--t);font-weight:600}
.tf-sector v{color:var(--y);font-weight:700}
.tf-flow{border-color:#58a6ff30;background:#58a6ff10}
.tf-flow v{color:var(--bl)}
.tf-theme{border-color:#a371f730;background:#a371f710}
.tf-theme v{color:var(--p)}
.tf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.tf-card{background:#0f151d;border:1px solid var(--b);border-left:3px solid var(--bl);border-radius:6px;padding:10px 12px}
.tf-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.tf-top b{font-size:13px;color:var(--t)}
.tf-top c{font-size:10px;color:var(--d)}
.tf-top i{margin-left:auto;font-style:normal;font-size:10px;color:var(--bl);border:1px solid #58a6ff30;background:#58a6ff10;border-radius:4px;padding:1px 6px}
.tf-mid{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--d)}
.tf-mid v{color:var(--t);font-weight:700}
.tf-card p{font-size:11px;color:var(--d);margin:6px 0 0}
.tf-card p v{color:var(--y);font-weight:700}
.tf-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.tf-tags span{font-size:10px;color:var(--t);border:1px solid #58a6ff30;background:#58a6ff10;border-radius:4px;padding:1px 6px}
.tf-empty{font-size:12px;color:var(--d);padding:8px 0}
@media(max-width:768px){.tf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-grid{grid-template-columns:1fr}}
/* 交易风格 */
.trade-style-section{margin:16px 0 20px;background:var(--panel);border-radius:8px;border:1px solid var(--b);padding:0;overflow:hidden}
.trade-style-section h3{font-size:15px;margin:0 0 10px;font-weight:700}
.trade-style-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:var(--t);padding:12px 14px;cursor:pointer;text-align:left;font:inherit}
.trade-style-toggle b{display:block;font-size:15px;color:var(--t)}
.trade-style-toggle em{display:block;margin-top:2px;font-style:normal;font-size:11px;color:var(--d)}
.trade-style-toggle i{font-style:normal;font-size:11px;color:var(--d);border:1px solid var(--b);border-radius:4px;padding:2px 8px;white-space:nowrap}
.trade-style-content{padding:0 14px 14px}
.trade-style-section.is-collapsed .trade-style-content{display:none}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ts-col-label{font-size:11px;color:var(--d);margin-bottom:8px;font-weight:600}
.ts-card{padding:10px 14px;background:#0f151d;border:1px solid #28313d99;border-radius:6px;margin-bottom:8px}
.ts-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.ts-icon{font-size:14px}
.ts-name{font-size:13px;font-weight:700;color:var(--t)}
.ts-code{font-size:10px;color:var(--d)}
.ts-tag{font-size:9px;padding:1px 6px;border-radius:4px;border:1px solid}
.ts-mid{display:flex;gap:10px;font-size:11px;color:var(--d);margin-bottom:4px}
.ts-mid v{font-weight:600}
.ts-sector{color:var(--p);font-size:10px;margin-left:auto}
.ts-detail{font-size:10px;color:var(--y);margin-bottom:2px}
.ts-sub{font-size:9px;color:var(--d)}
.ts-checks{margin-top:4px;font-size:10px;line-height:1.8;color:var(--d)}
@media(max-width:768px){.ts-grid{grid-template-columns:1fr}}

/* 风险标签 */
.risk-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap}
.risk-hi{color:#d73a49;border:1px solid #d73a4930;background:#d73a4910}
.risk-mid{color:#d29922;border:1px solid #d2992230;background:#d2992210}
.risk-lo{color:#22863a;border:1px solid #22863a30;background:#22863a10}
.risk-inline{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.risk-inline .risk-tag{font-size:9px;padding:0 5px}
.dx-risk{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;padding:8px 10px;background:#2d1f091f;border:1px solid #d2992230;border-radius:6px;font-size:11px;color:var(--d);margin-top:8px}
.dx-risk b{color:#d29922;font-size:11px;margin-right:2px}

/* 术语提示 */
.has-tip{cursor:help;border-bottom:1px dotted var(--d);position:relative}
.has-tip:hover .tip-pop{display:block}
.tip-pop{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1f2328;color:#e6edf3;font-size:11px;padding:6px 10px;border-radius:6px;white-space:normal;width:200px;z-index:100;line-height:1.5;text-align:left}
.tip-pop::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1f2328}

/* 昨日追踪 */
.yt-col{font-size:11px;white-space:nowrap}
.yt-up{color:#d73a49;font-weight:600}
.yt-dn{color:#d73a49;font-weight:600}

/* RSI预警 */
.rsi-warn{display:flex;gap:8px;margin-bottom:16px;padding:10px 14px;background:var(--s);border-radius:8px;border:1px solid var(--b);align-items:center;flex-wrap:wrap;font-size:12px}
.rsi-label{font-weight:700;padding:2px 8px;border-radius:4px}
.rsi-label.bear{color:var(--r);background:#cf222e15}
.rsi-label.bull{color:var(--g);background:#1a7f3715}
.rsi-item{font-size:11px}
.rsi-item.bear{color:var(--r)} .rsi-item.bull{color:var(--g)}

/* 板块热力 */
.sector-heat{display:flex;gap:8px;margin-bottom:16px;padding:10px 14px;background:var(--panel);border-radius:8px;border:1px solid var(--b);align-items:center;flex-wrap:wrap;font-size:12px}
.sh-label{font-weight:700;color:var(--d);margin-right:4px}
.sh-name{min-width:60px;text-align:right;font-size:11px;color:var(--t)}
.sh-track{width:48px;height:6px;background:var(--b);border-radius:3px;overflow:hidden;margin:0 4px}
.sh-fill{height:100%;background:#d29922;border-radius:3px}
.sh-val{color:var(--r);font-weight:700;font-size:11px}

/* 实时板块强度 */
.live-sector{margin:0 0 16px;padding:14px;background:var(--panel);border:1px solid var(--b);border-left:3px solid #d29922;border-radius:8px;box-shadow:0 1px 0 #ffffff08 inset}
.ls-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.ls-head b{display:block;font-size:15px;color:var(--t)}
.ls-head span{display:block;margin-top:3px;font-size:11px;color:var(--d);line-height:1.35}
.ls-head em{flex:0 0 auto;font-style:normal;font-size:10px;color:#d29922;border:1px solid #d2992244;background:#d2992210;border-radius:999px;padding:3px 8px;white-space:nowrap}
.ls-race{display:grid;gap:7px}
.ls-runner{display:grid;grid-template-columns:42px minmax(86px,.65fr) minmax(180px,1fr) 70px 92px;align-items:center;gap:8px;min-width:0;padding:8px 10px;background:#0b1016;border:1px solid var(--b);border-radius:7px;position:relative;overflow:hidden;cursor:pointer}
.ls-runner:hover,.ls-runner:focus{border-color:#58a6ff66;box-shadow:0 0 0 1px #58a6ff22 inset;outline:none}
.ls-runner::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff08,transparent);transform:translateX(-120%);animation:lsSweep 3.6s linear infinite;pointer-events:none}
.ls-runner:nth-child(2)::before{animation-delay:.35s}.ls-runner:nth-child(3)::before{animation-delay:.7s}.ls-runner:nth-child(4)::before{animation-delay:1.05s}.ls-runner:nth-child(5)::before{animation-delay:1.4s}.ls-runner:nth-child(6)::before{animation-delay:1.75s}
.ls-runner.up{border-color:#d73a4933;background:linear-gradient(90deg,#d73a4912,#0b1016 48%)}
.ls-runner.down{border-color:#3fb95033;background:linear-gradient(90deg,#3fb95012,#0b1016 48%)}
.ls-rank{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;height:24px;border-radius:6px;background:#111820;border:1px solid var(--b);font-size:11px;color:#58a6ff;font-weight:800}
.ls-name{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--t)}
.ls-lane{position:relative;z-index:1;height:18px;background:#1b2430;border:1px solid #344050;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #0002}
.ls-lane::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,#ffffff22 0 8px,transparent 8px 16px)}
.ls-lane i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#d73a49,#f85149);transition:width .6s ease}
.ls-lane em{position:absolute;top:2px;bottom:2px;width:5px;border-radius:999px;background:#fff;box-shadow:0 0 10px #fff8;transform:translateX(-50%);left:var(--runner-left,0%)}
.ls-runner.down .ls-lane i{background:linear-gradient(90deg,#238636,#3fb950)}
.ls-pct{position:relative;z-index:1;text-align:right;font-size:13px;font-weight:900;color:#f85149}
.ls-runner.down .ls-pct{color:#3fb950}
.ls-runner small{position:relative;z-index:1;min-width:0;font-size:10px;color:var(--d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-empty{font-size:12px;color:var(--d);padding:8px 0}
.sector-detail-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.sector-detail-summary span{font-size:11px;color:var(--d);border:1px solid var(--b);background:#0b1016;border-radius:999px;padding:4px 8px}
.sector-detail-table{width:100%;border-collapse:collapse;font-size:12px}
.sector-detail-table th,.sector-detail-table td{padding:8px 7px;border-bottom:1px solid var(--b);text-align:right}
.sector-detail-table th:first-child,.sector-detail-table td:first-child,.sector-detail-table th:nth-child(2),.sector-detail-table td:nth-child(2){text-align:left}
.sector-detail-table th{font-size:11px;color:var(--d);font-weight:700;background:#0b1016;position:sticky;top:0}
.sector-detail-table td b{color:var(--t)}
.sector-detail-empty{font-size:12px;color:var(--d);padding:18px;border:1px dashed var(--b);border-radius:8px;text-align:center}
@keyframes lsSweep{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* JJRB market cloud */
.market-cloud-section{margin:0 0 14px;padding:12px;background:var(--panel);border:1px solid var(--b);border-left:3px solid #58a6ff;border-radius:8px;box-shadow:0 1px 0 #ffffff08 inset}
.market-cloud-section .mbar{margin:0 0 10px;padding:8px 12px;background:#0b1118;border-color:#273241;border-radius:6px;box-shadow:inset 0 1px 0 #ffffff08;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.market-cloud-section .mbar-info{margin-left:auto}
.mc-rankbar{display:flex;align-items:stretch;gap:8px;margin:0 0 10px;padding:8px 10px;background:#0b1118;border:1px solid #273241;border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.market-cloud-section .mbar,.mc-rankbar{scrollbar-width:thin;scrollbar-color:#344050 #0b1118}.market-cloud-section .mbar::-webkit-scrollbar,.mc-rankbar::-webkit-scrollbar{height:7px}.market-cloud-section .mbar::-webkit-scrollbar-track,.mc-rankbar::-webkit-scrollbar-track{background:#0b1118}.market-cloud-section .mbar::-webkit-scrollbar-thumb,.mc-rankbar::-webkit-scrollbar-thumb{background:#344050;border-radius:4px}
.mc-rank-group{display:flex;align-items:center;gap:6px;min-width:max-content}.mc-rank-group>span{flex:0 0 auto;font-size:11px;font-weight:900;margin-right:2px;white-space:nowrap}.mc-rank-gain>span{color:#f85149}.mc-rank-loss>span{color:#3fb950}
.mc-top-item{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:999px;color:var(--t);cursor:pointer;white-space:nowrap}.mc-top-item.is-up{border:1px solid #d73a4938;background:linear-gradient(180deg,#d73a4918,#0d1117)}.mc-top-item.is-down{border:1px solid #23863655;background:linear-gradient(180deg,#23863618,#0d1117)}
.mc-top-item:hover{border-color:#ffd86688;background:#d2992222}
.mc-top-item i{font-style:normal;font-size:10px;color:#58a6ff;font-weight:900}.mc-top-item b{font-size:12px}.mc-top-item em{font-style:normal;font-size:12px;font-weight:900}.mc-top-item.is-up em{color:#f85149}.mc-top-item.is-down em{color:#3fb950}.mc-top-item small{font-size:10px;color:var(--d)}
.mc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.mc-head b{display:block;font-size:15px;color:var(--t)}
.mc-head span{display:block;margin-top:3px;font-size:11px;color:var(--d);line-height:1.35}
.mc-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.mc-head em{font-style:normal;font-size:10px;color:#58a6ff;border:1px solid #58a6ff40;background:#58a6ff10;border-radius:999px;padding:3px 8px;white-space:nowrap}.mc-toggle{height:26px;padding:0 9px;border:1px solid #d2992244;background:#d2992214;color:#ffd866;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.mc-toggle:hover{background:#d2992224;border-color:#d2992288}.mc-icon{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #344050;background:#111820;color:#c9d1d9;border-radius:6px;font-size:17px;line-height:1;cursor:pointer}.mc-icon:hover,.mc-icon:focus-visible{color:#fff;border-color:#58a6ff;outline:none}.market-cloud-section.is-collapsed{padding-bottom:10px}.market-cloud-section.is-collapsed .mc-collapsible{display:none}
.mc-toolrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:7px 9px;background:#0b1118;border:1px solid #273241;border-radius:6px}
.mc-legend{display:flex;align-items:center;gap:3px;min-width:0}.mc-legend>span{font-size:10px;color:var(--d);font-weight:800}.mc-scale{display:block;width:22px;height:8px;border:1px solid #ffffff16}.mc-scale-d4{background:rgb(38,180,58)}.mc-scale-d2{background:rgb(50,135,69)}.mc-scale-flat{background:rgb(74,69,86)}.mc-scale-u2{background:rgb(151,57,75)}.mc-scale-u4{background:rgb(228,45,64)}
.mc-basis{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;font-size:10px;color:var(--d);white-space:nowrap}.mc-basis span{color:#58a6ff;font-weight:800}.mc-basis b{color:#e6edf3}.mc-basis em{font-style:normal}
.market-cloud-map{position:relative;height:936px;background:#0a0f15;border:1px solid #1f2935;border-radius:6px;overflow:hidden}
.mc-group{position:absolute;border:1px solid #15202b;background:#151c25;overflow:hidden;cursor:pointer;min-width:0;min-height:0;box-shadow:inset 0 0 0 1px #0006}
.mc-group.up{border-color:#8d243066}.mc-group.down{border-color:#23863666}
.mc-group:hover,.mc-group:focus{z-index:8;border-color:#ffd866;box-shadow:0 0 0 1px #ffd86680 inset,0 8px 24px #0008;outline:none}
.mc-group header{position:absolute;left:0;top:0;right:0;height:24px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 6px;background:linear-gradient(180deg,#101720f2,#101720b8);border-bottom:1px solid #0008;pointer-events:none}
.mc-group header b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#e6edf3;font-weight:900;line-height:1}
.mc-group header span{font-size:10px;font-weight:900;color:#f85149;white-space:nowrap}.mc-group.down header span{color:#3fb950}
.mc-inner{position:absolute;left:0;right:0;top:24px;bottom:0;background:#0b1016}
.mc-stock{position:absolute;border:1px solid #071018;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;text-shadow:0 1px 2px #000;min-width:1px;min-height:1px;opacity:.88}
.mc-stock:hover{z-index:6;border-color:#fff;box-shadow:0 0 0 1px #fff8 inset;opacity:1}
.mc-stock b{max-width:96%;font-size:clamp(9px,1.05vw,18px);font-weight:800;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#05080d99;border-radius:4px;padding:1px 4px}
.mc-stock em{font-style:normal;font-size:clamp(8px,.85vw,14px);font-weight:900;line-height:1.05;margin-top:2px;background:#05080d99;border-radius:4px;padding:1px 4px}
.mc-group-label{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-42%);width:min(82%,210px);padding:7px 9px;border-radius:7px;background:#05080dcc;border:1px solid #ffffff22;box-shadow:0 8px 24px #0008;text-align:center;pointer-events:none;backdrop-filter:blur(2px)}
.mc-group-label strong{display:block;font-size:clamp(14px,1.8vw,26px);line-height:1.05;color:#fff;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 5px #000}
.mc-group-label em{display:block;margin-top:3px;font-style:normal;font-size:clamp(12px,1.35vw,20px);font-weight:950;color:#f85149}.mc-group.down .mc-group-label em{color:#3fb950}
.mc-group-label small{display:block;margin-top:2px;font-size:10px;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-group-label.compact{left:6px;right:6px;top:28px;transform:none;width:auto;padding:3px 5px;text-align:left;opacity:.82}.mc-group-label.compact strong{font-size:11px}.mc-group-label.compact em{display:inline;margin-left:5px;font-size:10px}.mc-group-label.compact small{display:none}.mc-group-label.tiny{display:none}
.market-cloud-section:fullscreen,.market-cloud-section.is-fullscreen-fallback{margin:0;padding:12px;width:100vw;height:100vh;max-width:none;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;background:#0d1117}
.market-cloud-section.is-fullscreen-fallback{position:fixed;inset:0;z-index:10000}.market-cloud-section:fullscreen .mc-head,.market-cloud-section.is-fullscreen-fallback .mc-head{flex:0 0 auto}.market-cloud-section:fullscreen .mbar,.market-cloud-section.is-fullscreen-fallback .mbar{flex:0 0 auto}.market-cloud-section:fullscreen .mc-collapsible,.market-cloud-section.is-fullscreen-fallback .mc-collapsible{display:flex;flex:1;min-height:0;flex-direction:column}.market-cloud-section:fullscreen .mc-toolrow,.market-cloud-section:fullscreen .mc-rankbar,.market-cloud-section.is-fullscreen-fallback .mc-toolrow,.market-cloud-section.is-fullscreen-fallback .mc-rankbar{flex:0 0 auto}.market-cloud-section:fullscreen .market-cloud-map,.market-cloud-section.is-fullscreen-fallback .market-cloud-map{flex:1;min-height:320px;height:auto}.mc-fullscreen-fallback-open{overflow:hidden}
.mc-drawer-shell{position:fixed;inset:0;z-index:10020;display:flex;justify-content:flex-end;visibility:hidden;opacity:0;pointer-events:none;background:#05080d66;transition:opacity .18s ease,visibility .18s ease}.mc-drawer-shell.open{visibility:visible;opacity:1;pointer-events:auto}.mc-drawer{position:relative;width:min(520px,92vw);height:100%;background:#0d1117;border-left:1px solid #344050;box-shadow:-16px 0 48px #000a;overflow-y:auto;transform:translateX(100%);transition:transform .22s ease}.mc-drawer-shell.open .mc-drawer{transform:translateX(0)}
.mc-drawer-close{position:sticky;top:10px;float:right;z-index:4;display:grid;place-items:center;width:32px;height:32px;margin:10px 10px 0 0;padding:0;border:1px solid #344050;background:#111820;color:#c9d1d9;border-radius:6px;font-size:23px;line-height:1;cursor:pointer}.mc-drawer-close:hover,.mc-drawer-close:focus-visible{color:#fff;border-color:#58a6ff;outline:none}.mc-drawer-header{padding:18px 58px 13px 18px;border-bottom:1px solid var(--b)}.mc-drawer-header h3{margin:0;color:var(--t);font-size:17px}.mc-drawer-header p{margin:5px 0 0;color:var(--d);font-size:11px;line-height:1.55}.mc-drawer-body{padding:14px 18px 22px}.mc-drawer .sector-detail-table tbody tr{transition:background .12s ease}.mc-drawer .sector-detail-table tbody tr:hover{background:#161f2a}.mc-drawer-open{overflow:hidden}
@media(max-width:900px){.market-cloud-map{height:1008px}.mc-group header b{font-size:9px}.mc-stock b{font-size:9px}.mc-stock em{display:none}.mc-group-label strong{font-size:13px}.mc-group-label em{font-size:11px}.mc-toolrow{align-items:flex-start;flex-direction:column}.mc-basis{width:100%;justify-content:flex-start;flex-wrap:wrap;white-space:normal}.mc-drawer{width:100%;max-width:none}.mc-drawer-header{padding-left:14px}.mc-drawer-body{padding:12px 10px 20px}.mc-drawer .sector-detail-table th,.mc-drawer .sector-detail-table td{padding:7px 5px;font-size:11px}.market-cloud-section:fullscreen,.market-cloud-section.is-fullscreen-fallback{padding:8px}.market-cloud-section:fullscreen .market-cloud-map,.market-cloud-section.is-fullscreen-fallback .market-cloud-map{min-height:0}}

/* 主线雷达 */
.mainline-radar{margin:0 0 12px;padding:10px;background:var(--panel);border:1px solid var(--b);border-left:3px solid #58a6ff;border-radius:8px;box-shadow:0 1px 0 #ffffff08 inset}
.mr-head{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:7px}
.mr-head b{font-size:14px;color:var(--t)}
.mr-head span{font-size:10px;color:var(--d);margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mr-head em{font-style:normal;font-size:10px;color:#58a6ff;border:1px solid #58a6ff40;background:#58a6ff10;border-radius:999px;padding:2px 7px}
.mr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.mr-card{padding:10px;background:#0b1016;border:1px solid var(--b);border-radius:7px;min-width:0}
.mr-card b{display:block;font-size:13px;color:var(--t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mr-card span{display:inline-block;margin-top:5px;font-size:10px;font-weight:800;border-radius:999px;padding:2px 7px}
.mr-card p{margin-top:6px;font-size:11px;color:var(--d)}
.mr-card.main span{color:#58a6ff;background:#58a6ff12;border:1px solid #58a6ff3d}
.mr-card.hot span{color:#f85149;background:#f8514912;border:1px solid #f851493d}
.mr-card.fade span{color:#d29922;background:#d2992212;border:1px solid #d299223d}
.mr-card.weak span{color:#3fb950;background:#3fb95012;border:1px solid #3fb9503d}
.mr-card.watch span{color:var(--d);background:#ffffff08;border:1px solid var(--b)}
.ml-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ml-col{min-width:0;background:#0b1016;border:1px solid var(--b);border-radius:7px;padding:7px}
.ml-col h4{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 5px;font-size:12px;color:var(--t)}
.ml-col h4 span{font-size:10px;color:var(--d);font-weight:500}
.ml-card{display:block;padding:7px;border:1px solid var(--b);border-radius:7px;background:#111820;margin-top:5px;min-width:0}
.ml-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ml-card-top b{min-width:0;font-size:12px;color:var(--t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-card-top span{flex:0 0 auto;font-size:9px;border-radius:999px;padding:1px 6px;font-weight:800}
.ml-card.main{border-color:#f8514940;background:linear-gradient(135deg,#f8514914,#111820 55%)}
.ml-card.secondary{border-color:#58a6ff40;background:linear-gradient(135deg,#58a6ff14,#111820 55%)}
.ml-card.emerging{border-color:#d2992240;background:linear-gradient(135deg,#d2992214,#111820 55%)}
.ml-card.main .ml-card-top span{color:#f85149;background:#f8514914;border:1px solid #f8514940}
.ml-card.secondary .ml-card-top span{color:#58a6ff;background:#58a6ff14;border:1px solid #58a6ff40}
.ml-card.emerging .ml-card-top span{color:#d29922;background:#d2992214;border:1px solid #d2992240}
.ml-card p{margin:4px 0 0;font-size:10px;color:var(--d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-card em{display:block;margin-top:3px;font-style:normal;font-size:9px;color:#8b949e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-card small{display:block;margin-top:3px;font-size:9px;color:#58a6ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-empty{padding:14px 10px;border:1px dashed var(--b);border-radius:7px;color:var(--d);font-size:11px;line-height:1.5;background:#111820}
@media(max-width:560px){.mr-head{align-items:flex-start;flex-direction:column}.mr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.ml-grid{grid-template-columns:1fr}.ml-col{padding:7px}}

/* 板块轮动 */
.rotation{display:flex;gap:10px;margin-bottom:20px;padding:14px;background:var(--s);border-radius:8px;border:1px solid var(--b);flex-wrap:wrap;align-items:flex-start}
.rot-label{font-size:12px;font-weight:700;color:var(--p);white-space:nowrap;padding:4px 0;min-width:90px}
.rot-card{flex:1;min-width:150px;display:flex;flex-direction:column;gap:3px}
.rot-card b{font-size:13px;color:var(--t)}
.rot-card .rot-conf{font-size:10px;padding:1px 6px;border-radius:4px;background:#8250df15;color:var(--p);align-self:flex-start}
.rot-card p{font-size:11px;color:var(--d);line-height:1.5}

/* 席位雷达 */
.seat-radar{margin-bottom:20px}
.seat-radar h3{font-size:14px;font-weight:700;color:var(--t);margin-bottom:10px}
.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.seat-card{background:var(--s);border:1px solid var(--b);border-radius:6px;padding:8px 10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}
.seat-tier{font-size:10px;font-weight:600}
.seat-stocks{font-size:11px;color:var(--d);margin-left:auto}
.seat-amt{font-size:11px;font-weight:700}

/* 黑马 */
.dh-section{margin-bottom:20px}
.dh-section h3{font-size:15px;font-weight:700;color:var(--t);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--b)}
.dh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.dh-card{background:var(--panel);border:1px solid var(--b);border-radius:8px;overflow:hidden}
.dh-top{display:flex;gap:8px;align-items:center;padding:10px 14px;background:#0f151d;border-bottom:1px solid var(--b);font-size:14px}
.dh-top t{margin-left:auto;font-size:11px;color:var(--p);padding:1px 8px;border-radius:4px;background:#8250df15}
.dh-mid{display:flex;gap:12px;padding:10px 14px 6px;font-size:12px;color:var(--d);flex-wrap:wrap}
.dh-mid v{font-weight:700;color:var(--t);margin-left:2px}
.dh-mid v.grn{color:#f85149}
.dh-sigs{display:flex;gap:4px;padding:0 14px 8px;flex-wrap:wrap}
.dh-s{font-size:10px;padding:1px 6px;border-radius:4px;color:var(--y);border:1px solid #d2992230}
.dh-op{display:flex;gap:10px;padding:6px 14px 8px;font-size:12px;border-top:1px solid var(--b)}
.dh-op l{font-weight:600;color:var(--t)}
.dh-op l.red{color:var(--r)} .dh-op l.grn{color:#3fb950}
.dh-note{font-size:11px;color:var(--d);padding:0 14px 10px}
.kline-tip{position:fixed;z-index:9999;width:300px;background:#0d1117;border:1px solid #30363d;border-radius:8px;box-shadow:0 12px 30px #0008;padding:10px;display:none;pointer-events:none}
.kline-tip h4{font-size:12px;color:var(--t);margin:0 0 6px;display:flex;justify-content:space-between;gap:8px}
.kline-tip h4 c{font-size:10px;color:var(--d);font-weight:400}
.kline-tip svg{display:block;width:100%;height:150px;background:#161b22;border-radius:5px}
.kline-tip .kt-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--d);margin-top:7px}
.kline-tip .kt-range{display:flex;gap:7px;align-items:center;white-space:nowrap}
.kline-tip .kt-range b{font-weight:600;color:var(--t);font-size:10px}
.kline-tip .kt-range em{font-style:normal;color:var(--d);font-size:10px}
.kline-tip .kt-close{margin-left:auto;display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid #30363d;background:#161b22;font-weight:800;white-space:nowrap;box-shadow:0 1px 0 #ffffff08 inset}
.kline-tip .kt-close.up{color:#f85149;border-color:#f8514966;background:#f8514916}
.kline-tip .kt-close.down{color:#3fb950;border-color:#3fb95066;background:#3fb95016}
.kline-tip .kt-close small{font-size:9px;color:var(--d);font-weight:600}
.kline-tip .kt-close strong{font-size:11px;letter-spacing:0}
.kline-tip .kt-empty{font-size:11px;color:var(--d);padding:18px 6px}

/* 表格标题栏 */
.table-title-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 3px}
.table-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:750;color:var(--t);letter-spacing:0}
.table-title::before{content:'';width:3px;height:18px;border-radius:2px;background:currentColor;flex:0 0 auto}

/* 搜索框 */
.search-wrap{position:relative;margin-bottom:18px}
.search-wrap.featured-lookup{border:1px solid #58a6ff55;background:linear-gradient(135deg,#58a6ff18,#f8514908);border-radius:8px;padding:12px 14px;box-shadow:0 10px 28px rgba(0,0,0,.24)}
.lookup-entry-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:9px;flex-wrap:wrap}
.lookup-entry-head b{font-size:17px;color:var(--t)}
.lookup-entry-head span{font-size:11px;color:var(--d)}
.search-box{display:flex;align-items:center;gap:0;background:var(--s);border:1px solid var(--b);border-radius:8px;overflow:hidden;transition:border-color .2s}
.search-box:focus-within{border-color:var(--p);box-shadow:0 0 0 2px #a371f720}
.search-box input{flex:1;background:transparent;border:none;padding:10px 14px;font-size:14px;color:var(--t);outline:none;font-family:inherit}
.search-box input::placeholder{color:var(--d);font-size:13px}
.search-box .search-icon{padding:10px 12px;color:var(--d);font-size:16px;flex-shrink:0}
.search-box .search-clear{cursor:pointer;padding:10px 14px;color:var(--d);font-size:14px;display:none;flex-shrink:0}
.search-box .search-clear:hover{color:var(--t)}
.search-box .search-clear.visible{display:block}
.search-results{display:none;position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--s);border:1px solid var(--b);border-top:none;border-radius:0 0 8px 8px;max-height:360px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.search-results.open{display:block}
.search-hint{font-size:11px;color:var(--d);padding:8px 14px;border-bottom:1px solid var(--b)}
.search-item{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--b);transition:background .1s}
.search-item:last-child{border-bottom:none}
.search-item:hover{background:var(--bg)}
.search-item .si-name{font-weight:600;color:var(--t);font-size:13px;min-width:60px}
.search-item .si-code{color:var(--d);font-size:11px;min-width:56px}
.search-item .si-sector{color:var(--p);font-size:10px;margin-left:auto}
.search-item .si-tag{font-size:9px;padding:1px 6px;border-radius:4px;font-weight:600}
.search-item .si-tag.breakout{color:#f85149;border:1px solid #f8514930;background:#f8514910}
.search-item .si-tag.buildup{color:#d29922;border:1px solid #d2992230;background:#d2992210}
.search-none{padding:12px 14px;font-size:12px;color:var(--d);text-align:center}
.search-global{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--b);background:#58a6ff10;cursor:pointer}
.search-global:hover{background:#58a6ff18}
.search-global b{font-size:13px;color:#58a6ff}
.search-global span{font-size:11px;color:var(--d)}
.search-global i{font-style:normal;font-size:12px;color:var(--bl);font-weight:700}
.lookup-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.lookup-k{background:#0f151d;border:1px solid var(--b);border-radius:6px;padding:8px 10px}
.lookup-k span{display:block;font-size:10px;color:var(--d)}
.lookup-k b{display:block;margin-top:2px;color:var(--t);font-size:15px}
.lookup-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.lookup-tags span{font-size:10px;padding:2px 7px;border:1px solid #58a6ff30;background:#58a6ff10;color:#58a6ff;border-radius:4px}
.lookup-note{font-size:12px;color:var(--d);padding:8px 10px;background:#0f151d;border-left:3px solid #d29922;border-radius:0 6px 6px 0;margin-top:8px}
.lookup-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin-bottom:10px}
.lookup-verdict{background:#0f151d;border:1px solid var(--b);border-left:3px solid #58a6ff;border-radius:8px;padding:12px}
.lookup-verdict label,.lookup-panel label{display:block;font-size:10px;color:var(--d);margin-bottom:5px}
.lookup-verdict b{display:block;color:var(--t);font-size:15px;line-height:1.4}
.lookup-verdict p{margin-top:7px;color:var(--d);font-size:11px;line-height:1.5}
.lookup-gauge{background:#0f151d;border:1px solid var(--b);border-radius:8px;padding:12px}
.lookup-gauge .gbar{height:7px;background:var(--b);border-radius:999px;overflow:hidden;margin:7px 0 6px}
.lookup-gauge .gfill{height:100%;background:#58a6ff;border-radius:999px}
.lookup-gauge b{font-size:22px;color:#58a6ff}
.lookup-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.lookup-panel{background:#0f151d;border:1px solid var(--b);border-radius:8px;padding:10px 12px}
.lookup-list{display:flex;flex-direction:column;gap:5px}
.lookup-list span{font-size:11px;color:var(--t);line-height:1.45}
.lookup-list span::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#58a6ff;margin-right:7px;vertical-align:middle}
.lookup-list.risk span::before{background:#d29922}
.lookup-deep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.lookup-deep .deep-card{background:#0f151d;border:1px solid var(--b);border-radius:8px;padding:9px 10px;min-height:62px}
.lookup-deep span{display:block;color:var(--d);font-size:10px}
.lookup-deep b{display:block;color:var(--t);font-size:13px;margin-top:3px;line-height:1.35}
.lookup-deep em{display:block;font-style:normal;color:var(--d);font-size:10px;margin-top:2px;line-height:1.35}
@media(max-width:768px){.lookup-hero,.lookup-panels,.lookup-deep{grid-template-columns:1fr}.lookup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 详情面板(模态) */
.detail-overlay{display:none;position:fixed;z-index:10001;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);justify-content:center;align-items:center}
.detail-overlay.open{display:flex}
.detail-panel{background:var(--s);border:1px solid var(--b);border-radius:8px;width:90%;max-width:640px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 40px rgba(0,0,0,.6);position:relative}
.detail-panel .dp-close{position:sticky;top:0;right:0;float:right;z-index:10;cursor:pointer;font-size:22px;color:var(--d);padding:12px 16px;background:var(--s);border-radius:0 8px 0 8px}
.detail-panel .dp-close:hover{color:var(--t)}
.dp-header{padding:16px 20px 8px;border-bottom:1px solid var(--b)}
.dp-header .dp-title{font-size:18px;font-weight:700;color:var(--t)}
.dp-header .dp-sub{font-size:12px;color:var(--d);margin-top:4px}
.dp-header .dp-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.dp-body{padding:12px 20px 20px}
.dp-body .dx-scores{margin-bottom:12px}
.dp-not-found{padding:40px 20px;text-align:center;color:var(--d);font-size:14px}
.dp-not-found b{color:var(--y)}
.dp-outside-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:4px;background:#d2992215;color:#d29922;border:1px solid #d2992230;margin-left:8px}

@media(max-width:768px){
  .search-box input{font-size:13px;padding:8px 10px}
  .detail-panel{width:95%;max-height:90vh}
  .dp-header .dp-title{font-size:16px}
}
.btn-export:hover{background:#1a7f3715}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:14px;background:var(--panel);border-radius:8px;overflow:hidden;border:1px solid var(--b)}
th{text-align:left;padding:10px 8px;font-size:11px;color:var(--d);border-bottom:1px solid var(--b);font-weight:600;background:#0f151d}
td{padding:9px 8px;border-bottom:1px solid #28313dcc}
tr.r{cursor:pointer;transition:background 0.1s}
.chart-pop{position:fixed;z-index:9998;background:var(--s);border:1px solid var(--b);border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.6);padding:4px;display:none}
.chart-pop img{display:block;border-radius:4px;width:560px;height:300px}
@media(max-width:768px){.chart-pop img{width:380px;height:200px}}
.chart-pop .cp-label{font-size:10px;color:var(--d);text-align:center;padding:2px 0}
tr.r:hover td{background:#ffffff08}
tr.dx{display:none}
tr.dx.open{display:table-row}
tr.dx.open td{background:var(--bg);padding:0}
.rk{text-align:center;color:var(--d);font-weight:700;width:30px}
c{display:block;font-size:11px;color:var(--d)}
.pr{font-weight:700}
.pr-prev{color:var(--d);font-weight:400}
.to{color:var(--y);font-weight:600}
.fl{font-weight:600}
.fl.f-hi{color:#f85149} .fl.f-md{color:#d29922}
.p-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;font-size:10px;padding:2px 6px;border-radius:4px;color:var(--t);background:var(--bg);border:1px solid var(--b);font-weight:600;white-space:nowrap}
.p-badge.p-hi{background:var(--g)} .p-badge.p-md{background:var(--y)} .p-badge.p-lo{background:var(--d)}
.bar{position:relative;height:18px;background:var(--b);border-radius:4px;overflow:hidden;min-width:70px}
.bar-f{height:100%;border-radius:4px}
.bar t{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.4)}
.charge-bar{height:6px;background:var(--b);border-radius:3px;overflow:hidden;flex:1;min-width:40px}
.charge-fill{height:100%;border-radius:3px;transition:width .6s ease}
.dt-tag{font-size:10px;padding:1px 6px;border-radius:4px;color:var(--g);border:1px solid #1a7f3730;background:#1a7f3710}
.lv-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:11px;font-weight:700;color:#fff}

/* 详情 */
.dx-inner{padding:14px 20px;display:flex;flex-direction:column;gap:10px}
.dx-scores{display:flex;gap:8px;flex-wrap:wrap}
.sb{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--s);border-radius:6px;border:1px solid var(--b);font-size:12px}
.sb .sl{color:var(--d);font-size:11px}
.sb .sv{font-weight:700;font-size:14px}
.dx-op{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#0f151d;border-radius:8px;border:1px solid var(--b)}
.op-line{display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap}
.op-line l{color:var(--d);font-size:12px;font-weight:600}
.op-line v{font-weight:600;color:var(--t)}
.op-line l.red{color:var(--r)} .op-line v.red{color:var(--r)}
.op-line l.grn{color:var(--g)} .op-line v.grn{color:var(--g)}
.op-note{font-size:12px;color:var(--d);margin-top:2px}
.rsi-bull{color:var(--g)} .rsi-bear{color:var(--r)}
.dx-flows{display:flex;gap:4px;flex-wrap:wrap}
.ft{font-size:10px;padding:1px 7px;border-radius:4px;color:var(--p);border:1px solid #8250df30;background:#8250df08}
.dx-evidence{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;background:#0f151d;border:1px solid var(--b);border-radius:6px;font-size:11px;color:var(--d)}
.dx-evidence b{color:var(--bl);font-size:11px;margin-right:2px}
.ev{font-size:10px;padding:1px 7px;border-radius:4px;color:var(--t);border:1px solid #58a6ff30;background:#58a6ff10}

/* 龙虎榜 */
.dt-detail{padding:10px 14px;background:#0f151d;border-radius:8px;border:1px solid var(--b)}
.dt-detail h4{font-size:13px;color:var(--p);margin-bottom:6px;display:flex;gap:8px;align-items:center}
.dt-net-green{color:var(--g);font-weight:700} .dt-net-red{color:var(--r);font-weight:700}
.dt-buyers,.dt-sellers{margin:3px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}
.dt-label{color:var(--d);font-size:11px}
.dt-buy-tag{font-size:10px;padding:1px 6px;border-radius:4px;color:var(--g);border:1px solid #1a7f3730}
.seat-badge{font-size:9px;padding:0px 4px;border-radius:3px;border:1px solid;margin-left:2px;white-space:nowrap}
.dt-sell-tag{font-size:10px;padding:1px 6px;border-radius:4px;color:var(--r);border:1px solid #cf222e30}
.dt-analysis{font-size:11px;color:var(--d);margin-top:4px}

/* 底部 */
.ftr{margin-top:28px;padding:20px 0;border-top:1px solid var(--b)}
.ftr-grid{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ftr-left{font-size:12px;color:var(--d);line-height:1.8}
.ftr-left b{color:var(--t);font-size:16px}
.ftr-qr{text-align:center}
.ftr-qr p{font-size:11px;color:var(--d);margin-top:6px}
.ftr-right{text-align:right;font-size:12px;color:var(--d)}
.ftr-right b{font-size:20px;font-weight:800;color:#e36209;letter-spacing:0;display:block;margin-bottom:4px}
.btn-copy,.btn-share{cursor:pointer;padding:5px 14px;border-radius:6px;font-size:12px;border:1px solid var(--b);background:var(--s);color:var(--t)}
.btn-copy:hover,.btn-share:hover{background:var(--bg)}
.ftr-disclaimer{font-size:11px;color:var(--d);margin-top:14px;text-align:center}
@media(max-width:768px){
  body{padding:10px;font-size:14px}
  .side-nav{width:calc(100% + 20px);margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
  .hd{align-items:flex-start;gap:6px;padding:8px 0 10px;margin-bottom:10px}
  .hd .brand{width:100%;min-width:0}
  .hd .cn{font-size:20px}
  .hd .en{font-size:11px;padding:1px 6px}
  .hd .date{font-size:11px}
  .hd .btn-save{font-size:10px;padding:3px 8px}
  .online-badge{font-size:10px;padding:3px 6px}
  .date-pick{font-size:10px;padding:2px 4px}
  .btn-shot{font-size:10px;padding:3px 8px}
  .mbar{gap:4px;padding:6px 10px;font-size:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .mbar-idx{gap:6px;flex:0 0 auto}
  .mbar-idx v{font-size:11px}
  .mbar-idx i{font-size:9px}
  .mbar-info{font-size:10px;gap:4px}
  .mbar-divider{display:none}
  .live-float{top:6px;right:6px;padding:4px 8px}
  .live-cd{min-width:24px}
  .tip-bar{font-size:10px;padding:6px 10px}
  .tip-scroll{font-size:10px}
  .sector-heat{flex-wrap:nowrap;gap:4px;font-size:10px;padding:6px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .sh-name{flex-shrink:0}
  .sh-track{display:none}
  .sh-label[style]{margin-left:4px !important}
  .dh-grid{grid-template-columns:1fr}
  .dh-card{padding:8px}
  .pa-section .sec-h,.tf-section .sec-h{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:5px}
  .pa-section .sec-h h2,.tf-section .sec-h h2{width:100%;font-size:16px;line-height:1.35;overflow-wrap:normal;word-break:keep-all}
  .pa-section .sec-h span,.tf-section .sec-h span{width:100%;line-height:1.45}
  .table-title-bar{align-items:flex-start;flex-direction:column;gap:4px}
  .table-title-bar .table-title{white-space:nowrap;font-size:16px}
  .table-title-bar>span{margin-left:0 !important;white-space:normal;line-height:1.45}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .rk{width:24px;min-width:24px;font-size:11px;padding:4px 2px}
  th,td{padding:4px 6px;font-size:11px}
  .pr{font-size:11px}
  .bar{min-width:40px}
  .ftr{padding:12px 0}
  .ftr-grid{flex-direction:column;gap:12px;text-align:center}
  .ftr-right{text-align:center}
}

/* 实时指示器 */
.live-bar{display:none}
.live-float{position:fixed;top:12px;right:12px;z-index:9999;display:flex;align-items:center;gap:5px;padding:6px 12px;background:#111820;border-radius:8px;border:1px solid var(--b);box-shadow:0 2px 8px rgba(0,0,0,.4);font-size:11px;transition:opacity .3s}
.live-float:hover{opacity:1}
.live-dot{width:8px;height:8px;border-radius:50%;background:#3fb950;animation:live-pulse 2s infinite}
.live-dot.off{background:var(--d);animation:none}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.live-cd{font-variant-numeric:tabular-nums;color:var(--t);font-weight:600;min-width:32px}
.live-tag{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600}
.live-tag.on{color:#3fb950;background:#3fb95015}
.live-tag.off{color:var(--d);background:var(--bg)}
.live-time{min-width:65px}
.updating{animation:cell-flash .6s ease}
@keyframes cell-flash{0%{background:#3fb95015}100%{background:transparent}}

/* 更新提示 */
.update-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 16px;background:linear-gradient(90deg,#d73a4920,#d2992218);border:1px solid #d73a4966;border-left:4px solid #f85149;border-radius:8px;box-shadow:0 0 0 1px #ffffff08 inset}
.update-notice b{font-size:16px;color:#ff7b72;letter-spacing:0;font-weight:900}
.update-notice span{font-size:12px;color:var(--d)}
.update-notice i{font-style:normal;font-size:11px;color:#d29922;border:1px solid #d2992244;background:#d2992212;border-radius:999px;padding:3px 9px;white-space:nowrap}
@media(max-width:560px){.update-notice{align-items:flex-start;flex-direction:column}.update-notice b{font-size:15px}}

/* 收藏提示 */
.bookmark-tip{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;color:var(--t);padding:8px 14px;background:var(--s);border-radius:8px;border:1px solid var(--p);flex-wrap:wrap}
.bookmark-tip kbd{background:var(--bg);border:1px solid var(--b);border-radius:3px;padding:1px 5px;font-size:11px}
.tip-os{display:none}
.track-board{margin:16px 0 18px;background:var(--s);border:1px solid var(--b);border-radius:8px;padding:0;overflow:hidden}
.track-board h3{margin:0 0 4px;font-size:15px;color:var(--bl)}
.track-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:var(--t);padding:12px 14px;cursor:pointer;text-align:left;font:inherit}
.track-toggle b{display:block;font-size:15px;color:var(--bl)}
.track-toggle em{display:block;margin-top:2px;font-style:normal;font-size:11px;color:var(--d)}
.track-toggle i{font-style:normal;font-size:11px;color:var(--d);border:1px solid var(--b);border-radius:4px;padding:2px 8px;white-space:nowrap}
.track-content{padding:0 12px 12px}
.track-board.is-collapsed .track-content{display:none}
.track-board p{margin:0 0 10px;color:var(--d);font-size:12px}
.track-board table{background:var(--bg)}
.track-board c{display:block;color:var(--d);font-size:10px;margin-top:2px}
.track-board .up{color:#d73a49;font-weight:700}
.track-board .down{color:#3fb950;font-weight:700}

