@font-face{
  font-family:'SnNum';
  font-style: normal;
  font-display:swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'CkMono';
  font-style: normal;
  font-display:swap;
  font-weight: 100 800;
  src: url(/fonts/jetbrains-mono-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'CkDisp';
  font-style: normal;
  font-display:swap;
  font-weight: 100 900;
  src: url(/fonts/archivo-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{font-family:'SnCn';src:url(/fonts/sncn-verdict.woff2) format('woff2');font-weight:100 900;font-display:block}
/* 山顶时代 V7.0 决策台 · 晴空设计系统（前台与后台共用）。内部代号 sinan */
:root{
  color-scheme: light;
  --bg:#F2F3F7; --card:#FFFFFF; --sub:#F7F8FB; --line:#E8EAF0; --line2:#F0F1F5;
  --ink:#1B1F2A; --ink2:#6A7385; --ink3:#A3AAB8;
  --sky:#3D8AE0; --sky2:#8DB8EC; --skyA:rgba(61,138,224,.10); --skyB:rgba(61,138,224,.22); --skyC:rgba(61,138,224,.06);
  --up:#1FA971; --down:#EE5A52; --flat:#8A93A3; --amber:#E0922F;
  --upA:rgba(31,169,113,.10); --downA:rgba(238,90,82,.09);
  /* 10-25 晚：中文用系统字体（苹方 / 微软雅黑），不再下载思源黑体——冷启动 1 MB 里字体占了 713 KB，服务器出口只有约 1 Mbps */
  --num:'SnNum',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',system-ui,sans-serif;
  --sans:'SnNum',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Source Han Sans SC',system-ui,sans-serif;
  --good:#1FA971; --bad:#E5484D;   /* 好 / 坏（盈利、强平、止损），和涨跌色分开：切到红涨绿跌时强平不能变绿 */
  --shadow:0 1px 2px rgba(23,32,56,.04),0 10px 30px -12px rgba(23,32,56,.12);
  --r-lg:24px; --r-md:16px; --r-sm:10px;
}
body.redup{ --up:#EE5A52; --down:#1FA971; --upA:rgba(238,90,82,.09); --downA:rgba(31,169,113,.10); }
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;min-width:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:8px}
.up{color:var(--up)} .down{color:var(--down)} .flat{color:var(--flat)} .t2{color:var(--ink2)} .t3{color:var(--ink3)} .b{font-weight:700}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
.sm{font-size:12.5px}
.empty{padding:28px 8px;color:var(--ink2);text-align:center;font-size:13.5px}

/* 数字滚动 */
.sn-roll{display:inline-flex;position:relative;white-space:nowrap;vertical-align:top;line-height:var(--lh,1.15em);height:var(--lh,1.15em)}
.sn-roll .sn-w{display:inline-flex}
.sn-roll .sn-d{display:inline-block;height:var(--lh,1.15em);overflow:hidden}
.sn-roll .sn-s{display:flex;flex-direction:column;transition-property:transform;will-change:transform}
.sn-roll .sn-s>i{font-style:inherit;display:block;height:var(--lh,1.15em);line-height:var(--lh,1.15em);text-align:center}
.sn-roll .sn-c{display:inline-block}
.sn-roll .sn-out{position:absolute;left:0;top:0;pointer-events:none}

/* 通用控件 */
.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.card.pad{padding:18px 22px}
.card h3{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:4px 10px;margin-bottom:10px;flex-wrap:wrap}
.card h3 small{font-weight:400;color:var(--ink3);font-size:12px}
.card h3 .sp,.sp{flex:1}
.more{margin-left:auto;font-size:12.5px;color:var(--sky);font-weight:500}
.seg{position:relative;display:inline-flex;gap:2px;background:rgba(255,255,255,.65);border-radius:12px;padding:3px;box-shadow:inset 0 0 0 1px var(--line)}
.card .seg{background:var(--sub)}
.seg .knob{position:absolute;top:3px;bottom:3px;left:0;border-radius:9px;background:var(--card);box-shadow:0 1px 2px rgba(23,32,56,.08),0 2px 8px -2px rgba(23,32,56,.08);transition:transform .45s cubic-bezier(.3,1.3,.5,1),width .45s cubic-bezier(.3,1.3,.5,1),opacity .2s}
.seg button,.seg a{position:relative;z-index:1;padding:5px 14px;border-radius:9px;color:var(--ink2);font-size:13px;transition:color .2s;white-space:nowrap}
.seg .on{color:var(--ink);font-weight:600}
.seg.sm button{padding:3px 10px;font-size:12.5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:11px;font-weight:600;font-size:13.5px;transition:background-color .2s,box-shadow .2s,transform .1s}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--sky);color:#fff;box-shadow:0 2px 6px -2px rgba(61,138,224,.6)}
.btn.primary:hover{background:#3280D6}
.btn.primary:disabled{background:#B8CBE6;box-shadow:none;cursor:default}
.btn.ghost{background:var(--sub);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost:hover{background:#EEF1F6}
.btn.danger{background:#FDECEB;color:#C9423B}
.btn.sm{height:30px;padding:0 12px;font-size:12.5px;border-radius:9px}
.btn.wide{width:100%;margin-top:14px}
.lnk{color:var(--sky);font-size:13px}
.inp{height:36px;width:100%;padding:0 12px;border-radius:10px;background:var(--sub);border:1px solid var(--line);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}
.inp:focus{border-color:var(--sky2);background:#fff;box-shadow:0 0 0 3px rgba(61,138,224,.12)}
textarea.inp{height:auto;padding:10px 12px;line-height:1.6;resize:vertical}
select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),linear-gradient(135deg,var(--ink3) 50%,transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
.inp.sm{height:30px;font-size:12.5px;width:auto}
.fld{display:grid;gap:5px;margin-top:12px}
.fld>span{font-size:12.5px;color:var(--ink2)}
.fld .seg{justify-self:start}
.chk{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink2);margin-top:12px;cursor:pointer}
.chk input{width:15px;height:15px;accent-color:var(--sky)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.f3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 12px}
.hint{margin-top:10px;font-size:12.5px;color:var(--ink2);background:var(--sub);border-radius:10px;padding:8px 12px;line-height:1.6}
.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:500;background:var(--sub);color:var(--ink2);margin-left:8px;box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.tag.ok{background:var(--upA);color:var(--up);box-shadow:none}
.tag.err{background:var(--downA);color:var(--down);box-shadow:none}
.tag.amber{background:rgba(224,146,47,.12);color:#B87318;box-shadow:none}
.tag.sky{background:var(--skyA);color:var(--sky);box-shadow:none}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}
.kv dt{color:var(--ink2)} .kv dd{font-family:var(--num);font-weight:600}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{font-weight:500;color:var(--ink3);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:12px}
.tbl td{padding:8px 8px;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl .r{text-align:right} .tbl td.r{font-family:var(--num)}
.tbl-wrap{overflow:auto;max-height:640px}
.note{font-size:13px;padding:10px 14px;border-radius:12px;margin-bottom:10px}
.note.ok{background:var(--upA);color:var(--up)} .note.err{background:var(--downA);color:var(--down)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.chip{height:28px;padding:0 12px;border-radius:14px;background:var(--sub);color:var(--ink2);font-size:12.5px;box-shadow:inset 0 0 0 1px var(--line);transition:all .2s}
.chip.on{background:var(--ink);color:#fff;box-shadow:none}
.toasts{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);display:grid;gap:8px;z-index:60}
.toast{padding:10px 18px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;box-shadow:var(--shadow);animation:tin .35s cubic-bezier(.2,.9,.3,1.2)}
.toast.err{background:#C9423B}
@keyframes tin{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-bg{position:fixed;inset:0;background:rgba(27,31,42,.28);display:grid;place-items:center;z-index:50;animation:fin .2s ease-out}
.modal{background:var(--card);border-radius:22px;box-shadow:0 30px 80px -20px rgba(23,32,56,.35);max-height:90vh;display:flex;flex-direction:column;animation:min .35s cubic-bezier(.2,.9,.3,1.15)}
.modal-h{display:flex;align-items:center;padding:18px 22px 6px}
.modal-h h3{font-size:16px;font-weight:700;flex:1}
.modal-h .x{font-size:22px;color:var(--ink3);width:32px;height:32px;border-radius:10px}
.modal-h .x:hover{background:var(--sub)}
.modal-b{padding:4px 22px 18px;overflow:auto}
.modal-f{display:flex;gap:10px;justify-content:flex-end;padding:12px 22px 18px;border-top:1px solid var(--line2)}
@keyframes fin{from{opacity:0}to{opacity:1}}
@keyframes min{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.banner{margin:0 0 14px;padding:10px 16px;border-radius:14px;background:rgba(224,146,47,.12);color:#9A5F12;font-size:13px}
.banner a{color:var(--sky);font-weight:600;margin-left:8px}
.banner.info{background:var(--skyA);color:#2A6CB8}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ---------------------------------------------------------------- 前台外壳 */
.app{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}

.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:0 10px 22px;letter-spacing:.02em}
.brand small{font-weight:400;font-size:12px;color:var(--ink3);margin-left:2px;letter-spacing:0}
.brand i{width:22px;height:22px;border-radius:50%;background:conic-gradient(from 200deg,#8DB8EC,#3D8AE0,#8DB8EC);display:block;position:relative;flex:none}
.brand i::after{content:'';position:absolute;inset:6px;border-radius:50%;background:var(--bg)}
.brand.stack span{display:flex;flex-direction:column;line-height:1.3;white-space:nowrap}
.brand.stack small{margin-left:0}
.brand.big{font-size:22px;padding:0 0 10px}
.brand.big i{width:30px;height:30px}
.brand.big i::after{inset:8px;background:var(--card)}
.lst{position:relative;display:flex;flex-direction:column;gap:2px}
.pill{position:absolute;left:0;right:0;top:0;border-radius:18px;background:var(--card);box-shadow:var(--shadow);z-index:0;will-change:transform;transition:opacity .2s}
.it{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:13px 14px 13px 16px;border-radius:18px;text-align:left;width:100%}
.it:hover .nm{color:var(--sky)}
.it .nm{font-size:15.5px;font-weight:600;transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it .nm small{font-family:var(--num);font-weight:500;font-size:11px;color:var(--ink3);margin-left:7px;letter-spacing:.02em}
.it .nm em{font-style:normal;font-size:10.5px;color:#B87318;margin-left:6px;font-weight:500}
.it .px{font-family:var(--num);font-size:16px;font-weight:600;text-align:right}
.it .cond{font-size:12.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it .tm{font-family:var(--num);font-size:12.5px;text-align:right;font-weight:600;white-space:nowrap}
.it .tm span{color:var(--ink3);font-weight:500;margin-right:5px;font-family:var(--sans)}





.main{padding:22px 40px 40px 18px;min-width:0}



.um{position:relative}
.uname{height:32px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px var(--line);font-weight:600;color:var(--ink);display:inline-flex;align-items:center}
.menu{position:absolute;right:0;top:38px;background:var(--card);border-radius:14px;box-shadow:0 16px 40px -12px rgba(23,32,56,.25);padding:6px;display:grid;min-width:150px;z-index:20;animation:min .25s cubic-bezier(.2,.9,.3,1.15)}
.menu a,.menu button{padding:8px 12px;border-radius:9px;text-align:left;font-size:13px;color:var(--ink)}
.menu a:hover,.menu button:hover{background:var(--sub)}

/* ---------------------------------------------------------------- 首页 */
.home{display:grid;grid-template-columns:minmax(380px,440px) minmax(0,1fr);gap:22px;align-items:start}
.hero{padding:10px 8px 6px}
.hero .who{font-size:15px;color:var(--ink2);font-weight:500;display:flex;align-items:center;flex-wrap:wrap}
.hero .who b{color:var(--ink);font-weight:600;font-size:18px;margin-right:8px}
.hero .big{font-family:var(--num);font-weight:200;font-size:clamp(76px,6.4vw,112px);line-height:1;letter-spacing:-.035em;margin:10px 0 0 -4px;--lh:1.05em;height:1.05em}
.hero .sub{display:flex;gap:12px;font-size:13px;color:var(--ink2);margin-top:6px;font-family:var(--num)}
.hero .sub span:first-child{font-weight:600}
.hero .cond{font-size:19px;font-weight:500;margin-top:12px;display:flex;gap:10px;align-items:center}
.hero .hl{font-size:14.5px;color:var(--ink2);margin-top:4px}
.hero .hl b{font-family:var(--num);font-weight:600;color:var(--ink);margin:0 3px}
.fc-card{padding:18px 22px 10px;margin-top:20px}
.fc-card h3{justify-content:space-between;color:var(--ink2);font-weight:500;font-size:12.5px}
.fc-card h3 span:last-child{color:var(--ink3)}
.frow{display:grid;grid-template-columns:80px 24px 106px minmax(0,1fr);align-items:center;gap:0 12px;padding:13px 0;border-top:1px solid var(--line2)}
.fc-card h3+div .frow:first-child{border-top:0}
.frow .t{font-family:var(--num);font-weight:700;font-size:14.5px;line-height:1.25;white-space:nowrap}
.frow .t small{display:block;font-family:var(--sans);font-weight:400;font-size:11.5px;color:var(--ink2)}
.frow .v{text-align:right;line-height:1.2}
.frow .v .vr{font-family:var(--num);font-weight:700;font-size:22px;--lh:1.2em}
.frow .v small{display:block;font-family:var(--num);font-weight:600;font-size:11.5px;margin-top:2px;white-space:nowrap}
.rgw{position:relative}
.rgw svg{display:block;overflow:visible}
.rgw .base{fill:var(--line2)} .rgw .b80{fill:var(--sky2);opacity:.55} .rgw .b50{fill:var(--sky)}
.rgw .nowt{stroke:var(--ink);stroke-width:1.4;stroke-linecap:round}
.rgw .md{fill:#fff;stroke:var(--sky);stroke-width:2}
.rgw text{font-family:var(--num);font-size:11px;font-weight:600;fill:var(--ink2)}
.rgw .conf{position:absolute;right:0;bottom:-15px;font-size:10.5px;color:var(--ink3)}
.fc-card .hits{border-top:1px solid var(--line2);padding:10px 0 4px;font-size:12px;color:var(--ink2);display:flex;gap:16px;margin-top:6px}
.fc-card .hits b{font-family:var(--num);font-weight:700;color:var(--ink)}
.why{padding:16px 8px 0;font-size:14px;color:var(--ink2);line-height:1.85;text-align:justify}
.why .inv,.brief .inv,.tx .inv{margin-top:10px;color:var(--ink);display:flex;gap:8px;align-items:center;font-weight:500;line-height:1.5}
.why .inv i,.brief .inv i{width:6px;height:6px;border-radius:50%;background:var(--sky);flex:none}
.why .src{margin-top:8px;font-size:11.5px;color:var(--ink3)}
.ch-card{padding:18px 20px 10px}
.legend{display:flex;gap:16px;font-size:12px;color:var(--ink2);align-items:center}
.legend i{display:inline-block;width:14px;height:8px;border-radius:4px;margin-right:6px;vertical-align:0}
.lg-hist{background:var(--ink);height:2px!important;border-radius:1px!important;vertical-align:3px!important}
.lg-med{background:var(--sky)} .lg-50{background:var(--skyB)} .lg-80{background:var(--skyA)}

/* 预测图 */
.fc{position:relative}
.home-chart{height:clamp(320px,calc(100vh - 300px),660px);margin-top:6px}
.sym-chart{height:clamp(320px,calc(100vh - 380px),560px)}
.fc-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fc text{font-family:var(--num);font-size:11.5px;font-weight:500;fill:var(--ink3)}
.fc .fc-grid line{stroke:var(--line2)}
.fc .fc-x text.now{fill:var(--ink);font-weight:600}
.fc .fc-hist{fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.fc .fc-a80{fill:var(--skyA)} .fc .fc-a50{fill:var(--skyB)}
.fc .fc-med{fill:none;stroke:var(--sky);stroke-width:2;stroke-linecap:round}
.fc .fc-nowl{stroke:var(--ink3);stroke-dasharray:2 4;stroke-width:1}
.fc .fc-wp circle{fill:var(--card);stroke:var(--sky);stroke-width:2}
.fc .fc-lb{fill:var(--ink);font-weight:700;font-size:12px}
.fc .fc-lb2{fill:var(--ink2);font-size:11px}
.fc .fc-live{fill:var(--sky);stroke:var(--card);stroke-width:2.5}
.fc .fc-xh{opacity:0;transition:opacity .15s;pointer-events:none}
.fc .fc-xh line{stroke:var(--ink3);stroke-dasharray:2 3}
.fc .fc-xh rect{fill:var(--ink)} .fc .fc-xh text{fill:#fff;font-size:11.5px}

/* 页面通用 */
.page-h{display:flex;align-items:baseline;gap:16px;margin:6px 8px 16px;flex-wrap:wrap}
.page-h h1{font-size:22px;font-weight:700}
.page-h p{font-size:13px;color:var(--ink2);max-width:760px}

/* 品种研判 */
.sym-head{display:flex;align-items:flex-end;gap:16px;margin:4px 8px 16px}
.sym-head .who{font-size:14px;color:var(--ink2);display:flex;align-items:center}
.sym-head .who b{font-size:18px;color:var(--ink);margin-right:8px}
.big2{display:flex;align-items:baseline;gap:12px;font-family:var(--num);margin-top:4px}
.big2 .sn-roll{font-size:46px;font-weight:300;letter-spacing:-.02em}
.big2 > span:not(.sn-roll){font-weight:600}
.big2 small{color:var(--ink3);font-size:12px;font-family:var(--sans)}
.sym-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.concl{padding:20px 22px}
.c-h{display:flex;align-items:baseline;gap:8px;font-family:var(--num);font-weight:700;font-size:15px}
.c-h small{font-family:var(--sans);font-weight:400;font-size:12px;color:var(--ink2)}
.c-v{display:flex;align-items:baseline;gap:12px;margin:6px 0 14px}
.c-v .sn-roll{font-family:var(--num);font-size:40px;font-weight:600;letter-spacing:-.02em}
.c-v > span:not(.sn-roll){font-family:var(--num);font-weight:600;font-size:13px}
.pb{margin-top:16px}
.pb-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px}
.pb-bar span{transition:flex-basis .6s cubic-bezier(.3,1.2,.5,1)}
.pb-down{background:var(--down);opacity:.75} .pb-flat{background:var(--ink3);opacity:.5} .pb-up{background:var(--up);opacity:.75}
.pb-lab{display:flex;justify-content:space-between;margin-top:6px;font-size:12px}
.pb-lab span{display:grid}
.pb-lab span:nth-child(2){text-align:center} .pb-lab span:last-child{text-align:right}
.pb-lab b{font-weight:600;font-family:var(--num)}
.pb-lab small{color:var(--ink3);font-size:11px}
.brief{margin-top:16px;border-top:1px solid var(--line2);padding-top:14px;font-size:13.5px;color:var(--ink2);line-height:1.8}
.brief .ln{font-size:15px;color:var(--ink);font-weight:600;margin-bottom:4px}
.sym-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.contrib{display:grid;gap:8px}
.cb{display:grid;grid-template-columns:76px 1fr 46px;align-items:center;gap:10px;font-size:12.5px}
.cb .g{color:var(--ink2)}
.cb .bar{position:relative;height:8px;background:var(--line2);border-radius:4px}
.cb .bar::after{content:'';position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--ink3)}
.cb .bar i{position:absolute;top:0;bottom:0;border-radius:4px;transition:width .6s cubic-bezier(.3,1.2,.5,1)}
.cb .bar i.pos{background:var(--up);opacity:.7} .cb .bar i.neg{background:var(--down);opacity:.7}
.cb .v{font-family:var(--num);font-weight:600;text-align:right}
.contrib .adj{font-size:12px;color:var(--ink2);margin-top:4px}
.lv td:first-child{font-family:var(--num);font-weight:700}
.lv .nowrow td{color:var(--ink3);font-size:12px;text-align:center;background:var(--sub)}
.ver-svg{width:100%;height:84px;display:block}
.ver .mid{stroke:var(--line2);stroke-width:.3}
.ver .vb{fill:var(--skyA)}
.ver .vin{fill:var(--ink)} .ver .vout{fill:var(--amber)}
.ver-f{font-size:12px;color:var(--ink2);margin-top:6px}
.ver-f b{font-family:var(--num);color:var(--ink)}
.rec3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;border-top:1px solid var(--line2);padding-top:12px}
.rec3 div{display:grid;font-size:11.5px;color:var(--ink2)}
.rec3 b{font-family:var(--num);font-size:18px;color:var(--ink);font-weight:700}
.news{display:grid}
.nw{display:grid;grid-template-columns:70px minmax(0,1fr);gap:2px 14px;padding:10px 0;border-top:1px solid var(--line2)}
.nw:first-child{border-top:0}
.nw:hover .tt{color:var(--sky)}
.nw .t{font-family:var(--num);font-weight:600;font-size:13px;grid-row:1/3}
.nw .t small{display:block;font-family:var(--sans);font-weight:400;color:var(--ink3);font-size:11px}
.nw .tt{font-size:14px;line-height:1.55;transition:color .2s}
.nw .tt small{display:block;color:var(--ink3);font-size:12px}
.nw .meta{font-size:12px;color:var(--ink3);display:flex;gap:8px;flex-wrap:wrap}
.nw .meta em{font-style:normal;font-weight:500;color:var(--ink2)}
.nw .meta em.up{color:var(--up)} .nw .meta em.down{color:var(--down)}

/* 成绩 */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}
.kpi{padding:18px 22px}
.kv3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kv3 div{display:grid}
.kv3 b{font-family:var(--num);font-size:26px;font-weight:700;letter-spacing:-.01em}
.kv3 small{font-size:12px;color:var(--ink2)}
.kv3 em{font-style:normal;font-size:11px;color:var(--ink3)}
.kpi .n{margin-top:10px;font-size:12px;color:var(--ink3)}
.record .card.pad+.card.pad{margin-top:18px}
.ledger td small{font-size:11px}

/* 舆情 */
.news-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.cal{display:grid}
.ce{display:grid;grid-template-columns:76px 1fr auto;gap:10px;padding:10px 0;border-top:1px solid var(--line2);align-items:start}
.ce:first-child{border-top:0}
.ce.past{opacity:.5}
.ce .t{font-size:12px;color:var(--ink2);display:grid}
.ce .t b{font-family:var(--num);font-size:14px;color:var(--ink)}
.ce .tt{font-size:13.5px;font-weight:500}
.ce .tt small{display:block;font-weight:400;font-size:12px;color:var(--ink3)}

/* 回测 */
.bt-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:18px;align-items:start}
.form .seg{margin-bottom:4px}
.adv{margin-top:14px;border-top:1px solid var(--line2);padding-top:10px}
.adv summary{cursor:pointer;font-size:13px;color:var(--ink2)}
.res-h{display:flex;align-items:flex-start;justify-content:space-between}
.res-h small{display:block;font-size:12px;color:var(--ink2)}
.res-h b{font-family:var(--num);font-size:34px;font-weight:700;letter-spacing:-.02em;margin-right:12px}
.res-h span{font-family:var(--num);font-weight:600;font-size:15px}
.kv4{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;margin:18px 0 8px}
.kv4 div{display:grid}
.kv4 small{font-size:12px;color:var(--ink2)}
.kv4 b{font-family:var(--num);font-size:18px;font-weight:700}
.kv4 b em{font-style:normal;font-size:13px;color:var(--ink2);font-weight:500}
.mini{margin-top:16px}
.mini-h{font-size:12px;color:var(--ink2);margin-bottom:4px}
.mini svg{display:block;overflow:visible}
.mini .base{stroke:var(--ink3);stroke-dasharray:2 3}
.mini .ax{font-family:var(--num);font-size:11px;fill:var(--ink3)}
.mini .eq-l{fill:none;stroke-width:1.8} .mini .eq-l.up{stroke:var(--up)} .mini .eq-l.down{stroke:var(--down)}
.mini .eq-a.up{fill:var(--upA)} .mini .eq-a.down{fill:var(--downA)}
.mini .gl{stroke:var(--sky2);stroke-width:.7;opacity:.6}
.mini .pl{fill:none;stroke:var(--ink);stroke-width:1.3}
.mini .fb{fill:var(--up)} .mini .fs{fill:var(--down)}

/* 我的 */
.me-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}

/* 登录 */
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 20% 0%,#E7EEF9 0%,transparent 60%),var(--bg)}
.login-card{width:min(400px,calc(100vw - 32px));background:var(--card);border-radius:28px;box-shadow:0 30px 80px -30px rgba(23,32,56,.3);padding:34px 34px 26px;animation:min .5s cubic-bezier(.2,.9,.3,1.1)}
@media (max-width:480px){.login-card{padding:26px 22px 20px;border-radius:22px}}
.login-card p{font-size:13.5px;margin-bottom:8px}
.err-msg{margin-top:12px;font-size:13px;color:var(--down)}
.login-f{margin-top:14px;text-align:center}
.login-help{margin-top:10px;font-size:12px;color:var(--ink2);line-height:1.6;text-align:center}
.disc{margin-top:18px;font-size:11.5px;color:var(--ink3);line-height:1.6;text-align:center}

/* ---------------------------------------------------------------- 管理后台 */
.adm{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh}
.adm-side{position:sticky;top:0;height:100vh;padding:22px 14px;display:flex;flex-direction:column;background:rgba(255,255,255,.5);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:thin}
.adm-side nav{display:grid;gap:1px}
.adm-side nav a{padding:7px 12px;border-radius:10px;color:var(--ink2);font-size:13.5px;transition:background-color .2s,color .2s}
.adm-side nav a:hover{background:rgba(255,255,255,.9);color:var(--ink)}
.adm-side nav a.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.adm-me{margin-top:auto;display:grid;gap:6px;padding:12px;font-size:12.5px;color:var(--ink2)}
.adm-me span{font-weight:600;color:var(--ink)}
.adm-me a,.adm-me button{color:var(--sky);text-align:left}
.adm-main{padding:24px 32px 48px;min-width:0}
.adm-h{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.adm-h h1{font-size:22px;font-weight:700}
.bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.bar p{max-width:880px;font-size:13px;line-height:1.7}
.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;align-items:start}
.stat{display:grid;gap:4px}
.stat small{font-size:12px;color:var(--ink2)}
.stat b{font-family:var(--num);font-size:22px;font-weight:700}
.stat span{font-size:12px;color:var(--ink3)}
.st{display:inline-flex;align-items:center;gap:6px}
.st i{width:7px;height:7px;border-radius:50%;background:var(--ink3);flex:none}
.st.ok i{background:var(--up)} .st.bad i{background:var(--down)}
.st.bad{color:var(--down)}
.tbl.big th{padding:10px 12px;background:var(--sub)}
.tbl.big th:first-child{border-top-left-radius:var(--r-lg)} .tbl.big th:last-child{border-top-right-radius:var(--r-lg)}
.tbl.big td{padding:10px 12px}
.tbl .acts{text-align:right;white-space:nowrap}
.tbl .acts .btn{margin-left:6px}
.tbl .ell{max-width:240px;overflow:hidden;text-overflow:ellipsis}
.tbl .wrap{white-space:normal;line-height:1.55}
.tbl tr.off td{opacity:.5}
.tbl .sub-row>td{background:var(--sub)}
.aform{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.aform .fld.span{grid-column:1/3}
.fld em{font-style:normal;font-size:11.5px;color:var(--ink3);line-height:1.5}
.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;height:36px}
.sw input{display:none}
.sw i{width:38px;height:22px;border-radius:11px;background:var(--line);position:relative;transition:background-color .25s}
.sw i::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.sw input:checked+i{background:var(--sky)}
.sw input:checked+i::after{transform:translateX(16px)}
.sw span{font-size:13px;color:var(--ink2)}
.pick{display:grid;gap:4px;margin-top:10px;max-height:380px;overflow:auto}
.pick button{display:grid;grid-template-columns:200px 1fr auto;gap:10px;align-items:center;text-align:left;padding:9px 12px;border-radius:10px;font-size:13px}
.pick button:hover:not(:disabled){background:var(--sub)}
.pick button:disabled{opacity:.5;cursor:default}
.pick span{color:var(--ink2);font-size:12px}
.pick em{font-style:normal;font-size:11.5px;color:var(--ink3)}
.inline{display:flex;align-items:flex-end;gap:12px}
.inline .aform{flex:1;grid-template-columns:1.3fr 1fr 1fr}
.sub{font-size:13px;font-weight:600;margin:18px 0 6px;display:flex;gap:8px;align-items:baseline}
.sub small{font-weight:400;color:var(--ink3);font-size:12px}
.ag{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.ag-list{display:grid;gap:6px}
.ag-it{display:grid;gap:2px;text-align:left;padding:12px 14px;border-radius:16px;transition:background-color .2s}
.ag-it:hover{background:rgba(255,255,255,.7)}
.ag-it.on{background:var(--card);box-shadow:var(--shadow)}
.ag-it b{font-size:14px} .ag-it span{font-size:12px;color:var(--ink3)}
.ag-it .st{font-size:12px;color:var(--ink2)}
.ag-h{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.ag-h h2{font-size:17px}
.ag-h p{font-size:13px;max-width:620px}
.ag-f{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line2)}
.test{margin-top:14px}
.test dd{font-weight:500;font-family:var(--sans)}
.pre{background:var(--sub);border-radius:12px;padding:12px;white-space:pre-wrap;word-break:break-all;max-height:420px;overflow:auto;font-size:12px;line-height:1.6}
details summary{cursor:pointer;color:var(--ink2);font-size:12.5px;margin:10px 0 6px}
.pwbox{font-size:22px;letter-spacing:.06em;background:var(--sub);border-radius:12px;padding:14px;text-align:center;margin-top:10px;user-select:all}
.plan dl{margin-top:4px}

/* ---------------------------------------------------------------- 顶栏：驾驶舱入口与预警 */
.cockpit-btn{height:32px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:#fff;background:linear-gradient(135deg,#1B2A4A,#0B1220);box-shadow:0 0 0 1px rgba(77,163,255,.35),0 4px 14px -6px rgba(61,138,224,.6);transition:transform .15s}
.cockpit-btn:hover{transform:translateY(-1px)}
.cockpit-btn::before{content:'';width:7px;height:7px;border-radius:50%;background:#36D6B0;box-shadow:0 0 8px #36D6B0;animation:ckp 1.6s ease-in-out infinite}
@keyframes ckp{50%{opacity:.35}}
.bell .uname{position:relative;width:34px;justify-content:center;padding:0;color:var(--ink2)}
.bell .uname:hover{color:var(--ink)}
.badge{position:absolute;top:-5px;right:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--down);color:#fff;font-size:10.5px;font-weight:700;font-style:normal;display:grid;place-items:center;font-family:var(--num);box-shadow:0 0 0 2px var(--bg);line-height:1}
.alerts-menu{width:390px;max-height:540px;overflow:auto;padding:8px;display:block}
.am-h{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px;border-bottom:1px solid var(--line2);margin-bottom:4px}
.am-h b{font-size:14px}
.alerts-menu .am-h button{padding:4px 8px}
.am{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:9px 8px;border-radius:10px}
.am:hover{background:var(--sub)}
.am>i{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--sky)}
.am.warn>i{background:var(--amber)} .am.crit>i{background:var(--down);box-shadow:0 0 0 3px var(--downA)}
.am b{font-size:13px;font-weight:600;display:block;line-height:1.45}
.am p{font-size:12px;color:var(--ink2);line-height:1.55;margin-top:2px}
.am small{font-size:11px;color:var(--ink3);font-family:var(--num)}
.am.read{opacity:.55} .am.read>i{background:var(--ink3);box-shadow:none}

/* ---------------------------------------------------------------- 机器人参谋 */
.advisor .card+.card{margin-top:16px}
.bind{display:grid;gap:10px;justify-items:start}
.bind p{max-width:720px;font-size:13.5px}
.acct-h{display:flex;align-items:flex-end;gap:36px;flex-wrap:wrap}
.acct-h>div{display:grid}
.acct-h small{font-size:12px;color:var(--ink2)}
.acct-h b{font-family:var(--num);font-size:24px;font-weight:700;letter-spacing:-.01em}
.acct-h .right{text-align:right;line-height:1.6}
.eqspark{display:block;width:100%;height:60px;margin-top:12px}
.eqspark path{fill:none;stroke:var(--sky);stroke-width:1.6;vector-effect:non-scaling-stroke}
.bot{margin-top:16px}
.bot-h{display:flex;align-items:flex-start;gap:12px}
.bot-h h3{font-size:16px;margin-bottom:4px}
.bot-h h3 .t2{font-weight:400;font-size:13px}
.tag.big{height:28px;padding:0 14px;font-size:13.5px;font-weight:700;border-radius:9px}
.kv5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0 6px}
.kv5>div{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:var(--sub);align-content:start}
.kv5 small{font-size:12px;color:var(--ink2)}
.kv5 b{font-family:var(--num);font-size:20px;font-weight:700}
.kv5 em{font-style:normal;font-size:11.5px;color:var(--ink3);line-height:1.5}
.kv5 .hot{background:var(--downA)}
.ruler{margin:10px 0 4px}
.ruler svg{display:block;overflow:visible}
.ruler .axis{stroke:var(--line);stroke-width:2}
.ruler .band{fill:var(--skyB)}
.ruler .danger{fill:rgba(238,90,82,.16)}
.ruler .lad{stroke:var(--sky);stroke-width:1.5;opacity:.7}
.ruler .lad.blocked{stroke:var(--down);stroke-dasharray:2 2;opacity:.9}
.ruler .mk line{stroke:var(--ink3);stroke-width:1}
.ruler .mk circle{fill:var(--card);stroke:var(--ink);stroke-width:2}
.ruler .mk text{font-family:var(--num);font-size:12px;font-weight:600;fill:var(--ink2)}
.ruler .mk.now circle{fill:var(--ink)} .ruler .mk.now text{fill:var(--ink);font-weight:700}
.ruler .mk.avg circle{stroke:var(--sky)} .ruler .mk.avg text{fill:var(--sky)}
.ruler .mk.tp circle{stroke:var(--up)} .ruler .mk.tp text{fill:var(--up)}
.ruler .mk.liq0 circle,.ruler .mk.liq1 circle{stroke:var(--bad)} .ruler .mk.liq0 text,.ruler .mk.liq1 text{fill:var(--bad)}
.ruler .mk.liq1 circle{fill:var(--bad)} .ruler .mk.liq1 text{font-weight:700}
.ruler-lg{display:flex;gap:18px;font-size:12px;color:var(--ink2);margin-top:4px;flex-wrap:wrap}
.ruler-lg i{display:inline-block;width:14px;height:8px;border-radius:4px;margin-right:6px;vertical-align:0}
.ruler-lg i.band{background:var(--skyB)} .ruler-lg i.lad{width:2px;height:12px;background:var(--sky);border-radius:1px;vertical-align:-2px} .ruler-lg i.danger{background:rgba(238,90,82,.3)}
.tips{list-style:none;display:grid;gap:6px;margin:14px 0 12px;font-size:13.5px;line-height:1.7}
.tips li{position:relative;padding-left:16px}
.tips li::before{content:'';position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--sky)}
.bot-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;margin-top:8px;align-items:start}
.bot-grid h4{font-size:13px;font-weight:600;margin-bottom:6px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.bot-grid h4 small{font-weight:400;color:var(--ink3);font-size:12px}
.bot-grid .tbl{margin-bottom:8px}
.bot-grid tr.done td{color:var(--ink3)}
.bot-grid tr.blocked td{color:var(--down);background:rgba(238,90,82,.04)}
.bot-grid .tbl small{font-size:11.5px}
.bot-grid .inp.sm{height:28px;padding:0 8px;display:inline-block;text-align:right}
.bot-act{display:flex;align-items:center;gap:12px;margin:12px 0 10px}
h2.sec{font-size:16px;font-weight:700;margin:28px 8px 12px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
h2.sec small{font-size:12.5px;font-weight:400;color:var(--ink3)}
.sugg{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.sg{display:flex;flex-direction:column}
.sg-h{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.sg-h b{font-size:15px}
.sg>p{line-height:1.65;min-height:3.3em}
.sgkv{margin:12px 0 16px}
.sgkv dd small{font-weight:400;font-family:var(--sans)}
.sg .btn.wide{margin-top:auto}
.advisor .sugg .card{margin-top:0}
.sg-h .t3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sg-h .tag{flex:none}

/* 回测：我的机器人、强平线 */
.mine{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;padding:10px 12px;border-radius:12px;background:var(--skyC);font-size:12.5px;color:var(--ink2)}
.mini .liq{stroke:var(--bad);stroke-width:1.2;stroke-dasharray:5 4}

/* 品种：资金与持仓 */
.deriv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.deriv>div{display:grid;gap:1px;padding:12px 14px 8px;border-radius:14px;background:var(--sub);align-content:start}
.deriv small{font-size:12px;color:var(--ink2)}
.deriv b{font-family:var(--num);font-size:19px;font-weight:700}
.deriv em{font-style:normal;font-size:11.5px;color:var(--ink3);min-height:1.5em}
.mline{display:block;width:100%;height:34px;margin-top:6px}
.mline path{fill:none;stroke:var(--sky);stroke-width:1.5;vector-effect:non-scaling-stroke}

.mb18{margin-bottom:18px}
.res-r{display:flex;gap:22px;margin-top:4px}
.res-r span{font-family:var(--num);font-weight:600;font-size:15px}
.res-r em{font-style:normal;font-family:var(--sans);font-weight:400;font-size:12px;color:var(--ink3);margin-left:6px}
.me-grid .span2{grid-column:span 2}
.ntf .tbl td{vertical-align:top}
.ntf .inp.sm{height:30px;width:auto;padding:0 8px;font-size:12.5px}
.ntf .ell{max-width:220px}
.ntf-add{margin-top:6px;padding:4px 16px 12px;border-radius:14px;background:var(--sub)}
.ntf-add .inp{background:var(--card)}
.ntf-add .chips{margin:2px 0 0}
.am.go{cursor:pointer}
.am-h .lnk{margin-left:auto;margin-right:4px}
.me-grid .span3{grid-column:1/-1}
/* 参谋：手动推演 */
.adv-tabs{margin:0 8px 14px}
.lab{display:grid;grid-template-columns:400px minmax(0,1fr);gap:18px;align-items:start}
.lab-form h3{margin-bottom:4px}
.lab .bot{margin-top:0}
.lab-form .adv{margin-top:12px}
/* 研判纪要 */
.minutes{margin:18px 0 0}
.mn-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mn-h .tag{margin-left:0}
.mn-verdict{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.mn-verdict>div{background:var(--sub);border-radius:14px;padding:12px 14px;display:grid;gap:2px}
.mn-verdict small{font-size:12px;color:var(--ink2)}
.mn-verdict b{font-size:16px}
.mn-verdict em{font-style:normal;font-size:12px;color:var(--ink3);font-family:var(--num)}
.mn-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:6px}
.mn-card{border-radius:14px;padding:12px 14px;background:var(--sub);display:grid;gap:6px;align-content:start;font-size:12.5px;line-height:1.6}
.mn-card h5{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:6px}
.mn-card h5 i{width:8px;height:8px;border-radius:50%;display:inline-block}
.mn-card .v{display:flex;gap:4px;flex-wrap:wrap}
.mn-card .v span{font-size:11px;padding:0 6px;border-radius:5px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.mn-card .v span.up{color:var(--up)} .mn-card .v span.down{color:var(--down)}
.mn-card ul{list-style:none;display:grid;gap:4px;color:var(--ink2)}
.mn-card li{position:relative;padding-left:10px}
.mn-card li::before{content:'';position:absolute;left:0;top:.7em;width:4px;height:4px;border-radius:50%;background:var(--ink3)}
.mn-debate{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.mn-side{border-radius:16px;padding:14px 16px;display:grid;gap:8px;align-content:start}
.mn-side.bull{background:var(--upA)} .mn-side.bear{background:var(--downA)}
.mn-side h5{font-size:13.5px;display:flex;gap:10px;align-items:baseline}
.mn-side h5 small{font-weight:400;color:var(--ink2);font-size:12px}
.mn-side .th{font-size:14.5px;font-weight:600}
.mn-side ul{list-style:none;display:grid;gap:6px;font-size:13px;line-height:1.6}
.mn-side li b{font-weight:600}
.mn-side li span{color:var(--ink2)}
.mn-side .r2{border-top:1px dashed rgba(0,0,0,.1);padding-top:8px;font-size:12.5px;color:var(--ink2);line-height:1.65}
.mn-risk{margin-top:12px;border-radius:16px;padding:14px 16px;background:rgba(224,146,47,.08);display:grid;gap:8px}
.mn-risk ul{list-style:none;display:grid;gap:4px;font-size:13px}
.mn-meta{font-size:12px;color:var(--ink3);margin-top:12px;display:flex;gap:14px;flex-wrap:wrap}
.mn-scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.mn-scen>div{border-radius:12px;background:var(--sub);padding:10px 12px;font-size:12.5px;line-height:1.6}
.mn-scen b{font-family:var(--num);margin-right:6px}
.cmt-live{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:12px;background:var(--skyA);color:var(--sky);font-size:12.5px;font-weight:600}
.cmt-live i{width:7px;height:7px;border-radius:50%;background:var(--sky);animation:ckp 1.2s ease-in-out infinite}
.lab .bot-grid{grid-template-columns:minmax(0,1fr)}
/* 新闻：可展开条目 */
.nf{display:grid}
.nfi{border-top:1px solid var(--line2)}
.nfi:first-child{border-top:0}
.nfi.hot .nfi-h b{color:#B3261E}
.nfi-h{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:2px 14px;padding:11px 4px;width:100%;text-align:left;align-items:start;border-radius:12px;transition:background-color .2s}
.nfi-h:hover{background:var(--sub)}
.nfi.on .nfi-h{background:var(--sub)}
.nfi-h .t{font-family:var(--num);font-weight:600;font-size:13px}
.nfi-h .t small{display:block;font-family:var(--sans);font-weight:400;color:var(--ink3);font-size:11px}
.nfi-h .tt{display:grid;gap:3px;min-width:0}
.nfi-h .tt b{font-size:14px;font-weight:600;line-height:1.5}
.nfi-h .tt .orig{font-size:12px;color:var(--ink3);line-height:1.45}
.nfi-h .ana{font-size:12.5px;color:var(--ink2);line-height:1.55}
.nfi-h .ana em{font-style:normal;margin-left:8px;font-size:11px;color:var(--sky);background:var(--skyA);border-radius:5px;padding:0 6px}
.nfi-h .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--ink3)}
.nfi-h .meta em{font-style:normal;font-weight:500;color:var(--ink2)}
.nfi-h .meta em.up{color:var(--up)} .nfi-h .meta em.down{color:var(--down)}
.nfi-h .meta .tag{margin-left:0;font-style:normal;height:18px;font-size:11px}
.nfi-h .chev{font-size:12px;color:var(--sky);white-space:nowrap;padding-top:2px}
.nfd{margin:0 4px 12px 88px;padding:12px 16px 14px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:10px}
.nfd-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nfd-top .seg button.on{background:var(--card);box-shadow:0 1px 2px rgba(23,32,56,.1);border-radius:8px}
.nfd-ot{font-size:13px;color:var(--ink2);font-weight:600}
.nfd-body{white-space:pre-wrap;font-size:13.5px;line-height:1.85;color:var(--ink);max-height:360px;overflow:auto;padding-right:6px}
.nfd-react{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:var(--num);font-weight:600;font-size:12.5px}
.nfd-brief,.nfd-deep{border-radius:12px;padding:10px 14px;display:grid;gap:4px;font-size:13px;line-height:1.75}
.nfd-brief{background:var(--sub)}
.nfd-deep{background:var(--skyC);box-shadow:inset 0 0 0 1px var(--skyB)}
.nfd-deep.wait{background:var(--sub);box-shadow:none}
.nfd-brief h5,.nfd-deep h5{font-size:13px;display:flex;gap:10px;align-items:baseline}
.nfd-brief h5 small,.nfd-deep h5 small{font-weight:400;color:var(--ink3);font-size:11.5px}
.nfd-deep .hl{font-size:15px;font-weight:700}
.nfd-deep .tbl{margin:4px 0}
.nfd-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* 舆情看板 */
.sentb{margin-bottom:18px}
.sentg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.sentc{border-radius:16px;background:var(--sub);padding:12px 14px;display:flex;flex-direction:column;gap:7px;min-width:0}
.sentc.on{box-shadow:inset 0 0 0 2px var(--skyB)}
.sc-h{display:flex;align-items:baseline;gap:6px;min-width:0}
.sc-h b,.sc-h .t3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sc-h b{font-size:14px}
.sc-h .tag{margin-left:0}
.sc-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line)}
.sc-bar i{display:block;height:100%}
.sc-bar .b{background:var(--up);opacity:.75} .sc-bar .n{background:var(--ink3);opacity:.35} .sc-bar .r{background:var(--down);opacity:.75}
.sc-num{display:flex;gap:10px;font-size:12px;font-family:var(--num);font-weight:600;flex-wrap:wrap}
.sc-sp{width:100%;height:34px;display:block}
.sc-sp .m{fill:none;stroke:var(--sky);stroke-width:1.4;vector-effect:non-scaling-stroke}
.sc-sp .s{fill:none;stroke:var(--amber);stroke-width:1.2;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.sc-brief{font-size:12.5px;color:var(--ink2);line-height:1.65;min-height:4.9em}
.sentc .btn.wide{margin-top:auto}
.sentd{margin-top:12px;border-radius:16px;padding:14px 16px;background:var(--skyC);box-shadow:inset 0 0 0 1px var(--skyB);display:grid;gap:8px}
.sd-h{display:flex;align-items:center;gap:12px}
.sd-b{display:grid;gap:6px;font-size:13px;line-height:1.75}
.sd-b .hl{font-size:15px;font-weight:700}
.sd-g{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.4fr) minmax(0,2fr);gap:10px}
.sd-g>div{background:var(--card);border-radius:12px;padding:8px 12px;display:grid;gap:2px}
.sd-g small{font-size:11.5px;color:var(--ink3)}
.sd-g span{font-size:12.5px;line-height:1.6}
.sentb h3 small .lg-m{color:var(--sky);font-weight:600} .sentb h3 small .lg-s{color:var(--amber);font-weight:600}

.nfi-h .tt>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nfi.on .nfi-h .tt>b{-webkit-line-clamp:unset;display:block}

/* 两段式发布：委员会状态 */
.cms{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--sub);font-size:12.5px;line-height:1.6}
.cms b{font-weight:600}
.cms.done{background:var(--skyC);box-shadow:inset 0 0 0 1px var(--skyB)}
.cms.quiet{background:var(--sub)}
.cms.fail{background:#fdf0ef}
.cms .cmt-live{font-size:12.5px}
.mn-quick{background:var(--sub);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.mn-quick b{font-size:13px}
.mn-quick p{margin:0}

/* T9 强平触及概率 */
.touchp{margin:12px 0 4px;padding:12px 14px;border-radius:14px;background:var(--sub);display:grid;gap:6px}
.touchp>b{font-size:13.5px}
.touchp .tp-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.touchp .tp-g>div{background:var(--card);border-radius:12px;padding:8px 12px;display:grid;gap:2px}
.touchp .tp-g small{font-size:12px;color:var(--ink3)}
.touchp .tp-g span{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.touchp .tp-g em{font-style:normal;font-family:var(--num);font-weight:600;font-size:13.5px}
.kv4 em{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px}
.voln{display:grid;gap:3px;margin-top:8px;font-size:12px;color:var(--ink3);line-height:1.6}
.mini .hb.up{fill:var(--up);opacity:.55}.mini .hb.down{fill:var(--down);opacity:.5}.mini .hb.liq{fill:var(--bad);opacity:.95}
.mini .hb.alive{fill:var(--ink3);opacity:.45}
.bt-ent{margin-top:14px;border-top:1px solid var(--line2);padding-top:6px}
.bt-rounds{margin-top:18px;border-top:1px solid var(--line2);padding-top:6px}
.bt-rounds .tbl{margin-top:8px}
.kv4 b .i{font-size:13px;color:var(--ink2);font-weight:500}
.mn-card h5 .vf,.mn-side h5 .vf{margin-left:auto;font-size:11px;font-weight:500;padding:1px 7px;border-radius:999px;background:var(--sub);color:var(--ink3)}
.vf.ok{color:var(--up)} .vf.mid{color:var(--amber)} .vf.bad{color:var(--down);background:#fdeceb}
.mn-vf{margin-top:12px;font-size:12.5px;color:var(--ink2);background:var(--sub);border-radius:10px;padding:8px 12px}
.mn-vf.bad{background:#fdeceb;color:#a33}

/* P2 可信中心 */
.trust-tabs{margin:0 0 14px}
.trust-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.record .trust-kpis>.card.pad+.card.pad,.record .cal-g>.card.pad+.card.pad{margin-top:0}
/* 11-05：「检验」页从「复盘」拆出来以后，卡片之间的间距也要跟着带过来（否则上下两块卡片贴在一起、圆角叠在一起） */
.lab-page .card.pad+.card.pad{margin-top:18px}
.lab-page .trust-kpis>.card.pad+.card.pad,.lab-page .cal-g>.card.pad+.card.pad{margin-top:0}
.tk h3{margin-bottom:6px}
.tk-row{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.tk-row:first-of-type{border-top:0}
.tk-row small{font-size:12px;color:var(--ink3)}
.tk-row b.big,.trust b.big{font-family:var(--num);font-size:24px;font-weight:600}
.tk-v{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.tk-v small{font-size:12px}
.weak{margin:6px 0 0;padding-left:18px;display:grid;gap:8px;font-size:13.5px;line-height:1.7;color:var(--ink2)}
.how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.how>div{background:var(--sub);border-radius:14px;padding:12px 14px}
.how b{font-size:13.5px}.how p{margin:4px 0 0;font-size:12.5px;line-height:1.7;color:var(--ink2)}
.cal-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
svg.pit .grid{stroke:var(--line)} svg.pit .ax{font-size:9.5px;fill:var(--ink3)} svg.pit .b1{fill:var(--sky);opacity:.8} svg.pit .b2{fill:var(--amber);opacity:.85}
svg.pit .ideal{stroke:var(--ink);stroke-width:1.4;stroke-dasharray:3 3}
.paper-h{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.paper-h>div:first-child{flex:1;min-width:320px}
.paper-ctl{display:grid;gap:8px;justify-items:end}
.paper-t tbody tr{cursor:pointer}.paper-t tbody tr.on td{background:var(--skyC)}
.eqc svg .eq{fill:none;stroke-width:1.8}.eqc .eq.s0{stroke:var(--sky);stroke-width:2.4}.eqc .eq.s1{stroke:var(--ink3);stroke-dasharray:4 3}.eqc .eq.s2{stroke:var(--amber);stroke-dasharray:2 3}
.eq-lg{display:flex;gap:16px;font-size:12px;color:var(--ink3);margin-top:4px}
.eq-lg i{display:inline-block;width:16px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.eq-lg i.s0{background:var(--sky)}.eq-lg i.s1{background:var(--ink3)}.eq-lg i.s2{background:var(--amber)}
.gain-all{margin:8px 0 12px;font-size:14px}

/* P1 首页：变化与行动 */
.hero .chg{margin-top:8px;font-size:12.5px;color:var(--ink2);line-height:1.6}
.hero .chg-k{display:inline-block;font-size:11px;font-weight:600;color:var(--sky);background:var(--skyC);border-radius:999px;padding:1px 8px;margin-right:8px}
.why .acts{margin-top:12px;display:grid;gap:6px}
.why .acts h4{margin:0 0 2px;font-size:13px}
.why .acts h4 small{font-weight:400;color:var(--ink3);margin-left:8px;font-size:11.5px}
.why .act{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:12.5px;line-height:1.6;background:var(--sub);border-radius:10px;padding:7px 10px}
.why .act b{color:var(--ink);font-weight:600}
.why .act span{color:var(--ink2)}

/* ================================================================ P3 手机版（≤ 760px） */
@media (max-width:760px){
  body{min-width:0;font-size:13.5px}
  .app{display:block}
  
  
  
  
  
  
  
  
  
  
  .main{padding:10px 12px 86px}
  
  
  
  
  
  
  .page-h{margin:4px 2px 12px}.page-h h1{font-size:19px}.page-h p{font-size:12.5px}
  .home,.sym-grid,.sym-grid3,.news-grid,.bt-grid,.lab,.me-grid,.kpis,.trust-kpis,.cal-g,.how,.two,.g2,.mn-grid,.mn-debate,.mn-verdict,.mn-scen,.bot-grid,.sugg{grid-template-columns:minmax(0,1fr)!important}
  .cards4,.kv5,.kv4,.sentg{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .f3{grid-template-columns:1fr 1fr}
  .hero .big{font-size:52px}
  .hero .cond{font-size:16px}
  .home-chart{height:300px}
  .frow{grid-template-columns:60px 18px 84px minmax(0,1fr);gap:0 8px}
  .frow .v .vr{font-size:18px}
  .card{border-radius:18px}
  .card.pad,.concl,.ch-card,.fc-card{padding:14px}
  .tbl{display:block;overflow-x:auto;white-space:nowrap}
  .tbl td.wrap,.tbl td .wrap{white-space:normal}
  .nfi-h{grid-template-columns:52px minmax(0,1fr)!important}
  .nfi-h .chev{display:none}
  .nfd{padding-left:0!important}
  .sentc{min-width:0}
  .res-h{flex-direction:column;gap:6px}.res-h b{font-size:28px}
  .modal{width:calc(100vw - 24px)!important}
  .why .act{grid-template-columns:1fr}
  .paper-ctl{justify-items:start}
  .touchp .tp-g{grid-template-columns:1fr}
  .ruler svg{height:96px}
  .sym-head{flex-wrap:wrap;gap:10px;margin:4px 2px 12px}
  .sym-head .sp{display:none}
  .big2{gap:8px}.big2 .sn-roll{font-size:38px}.big2 small{white-space:nowrap}
  .trust-tabs{overflow-x:auto;scrollbar-width:none;margin:0 -12px 12px;padding:0 12px}
  .trust-tabs::-webkit-scrollbar{display:none}
  .trust-tabs .seg{width:max-content}
  .card h3{flex-wrap:wrap;row-gap:4px}
  .card h3 small{flex-basis:100%;line-height:1.6}
  .fc-card .hits{flex-wrap:wrap;row-gap:2px}
  .fc-card .hits .hl{flex-basis:100%;color:var(--ink3)}
}
@media (max-width:420px){
  .cards4,.kv5,.kv4,.sentg{grid-template-columns:minmax(0,1fr)!important}
  .hero .big{font-size:44px}
}
.ck-hint{position:fixed;left:12px;right:12px;bottom:16px;z-index:60;background:rgba(20,26,34,.92);color:#fff;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.6}
.ck-hint b{margin-left:8px;color:#9cc8ff}

/* P5 术语卡与新手引导 */
.term{position:relative;border-bottom:1px dotted var(--ink3);cursor:help;outline:none}
.term .term-tip{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(calc(-50% + var(--dx,0px)));width:260px;padding:10px 12px;border-radius:12px;
  background:#1d2733;color:#eef3f9;font-size:12.5px;line-height:1.65;font-weight:400;text-align:left;z-index:50;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);pointer-events:none;white-space:normal;letter-spacing:0;font-family:var(--sans,inherit)}
.term .term-tip[data-pos=below]{bottom:auto;top:calc(100% + 8px)}
.term .term-tip b{display:block;color:#9cc8ff;font-weight:600;margin-bottom:2px}
.term:hover .term-tip,.term:focus .term-tip{display:block;animation:tipin .15s ease-out}
@keyframes tipin{from{opacity:0}to{opacity:1}}
@media (max-width:760px){
  .term:hover .term-tip{display:none}
  .term:focus .term-tip{display:block;position:fixed;left:12px;right:12px;top:auto;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;transform:none;font-size:13px;z-index:70}
}
.tour{position:fixed;inset:0;z-index:90;background:rgba(18,24,32,.35);backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px}
.tour-card{width:min(460px,100%);background:var(--card);border-radius:22px;padding:22px 24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
.tour-step{font-size:12px;color:var(--sky);font-weight:600}
.tour-card h3{font-size:19px;margin:6px 0 8px}
.tour-card p{font-size:14px;line-height:1.8;color:var(--ink2)}
.tour-dots{display:flex;gap:6px;margin:14px 0}
.tour-dots i{width:22px;height:4px;border-radius:2px;background:var(--line)}.tour-dots i.on{background:var(--sky)}
.tour-act{display:flex;justify-content:flex-end;gap:10px}

/* ================================================================ 第五波：分享卡片、事件倒计时、早晚报、复盘与经验库、工具调用 */
.share-btn svg{margin-right:2px}
.hero .who .share-btn{margin-left:8px}
.share-img{display:block;width:100%;border-radius:14px;box-shadow:0 10px 30px -12px rgba(23,32,56,.25);background:var(--sub)}
.cdn{margin-top:16px;padding:16px 20px;display:grid;gap:8px}
.cdn-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cdn-h b{font-size:14.5px}
.cdn-k{font-size:11px;font-weight:600;color:var(--amber);background:rgba(224,146,47,.10);border-radius:999px;padding:1px 8px}
.cdn-t{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;font-family:var(--num)}
.cdn-t em{font-style:normal;font-size:30px;font-weight:300;letter-spacing:-.01em;min-width:1.2em;text-align:right}
.cdn-t small{font-size:12px;color:var(--ink3);margin-right:6px;font-family:var(--sans)}
.cdn-w{margin-left:auto;font-size:12px;color:var(--ink2);font-family:var(--sans)}
.cdn.soon .cdn-t em{color:var(--down)}
.cdn-n{font-size:12.5px;color:var(--ink2);line-height:1.6}
.cdn-r{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink3)}
.cdn .btn{justify-self:start}
.am.dg p{white-space:pre-line;max-height:260px;overflow:auto}
.dgs .dg-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dg-o{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--sub);cursor:pointer;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s,background-color .2s}
.dg-o.on{background:var(--skyC);box-shadow:inset 0 0 0 1.5px var(--skyB)}
.dg-o input{margin-top:3px;accent-color:var(--sky)}
.dg-o b{display:block;font-size:13.5px}.dg-o span{font-size:12px;color:var(--ink2);line-height:1.6}
.dg-pv{white-space:pre-wrap;font-family:var(--sans);font-size:12.5px;line-height:1.7;background:var(--sub);border-radius:12px;padding:12px 14px;color:var(--ink2);max-height:320px;overflow:auto}
.dg-pv b{color:var(--ink)}
.gain-tools{display:grid;gap:4px;margin:0 0 12px;padding:10px 14px;background:var(--sub);border-radius:12px;font-size:13px}
.mn-tools{margin-top:6px;font-size:11.5px;color:var(--ink3);line-height:1.6}
.mn-tools span{display:inline-block;margin-right:8px;color:var(--ink2)}
.rv-hl{font-size:17px;font-weight:700;line-height:1.5;margin:4px 0 12px;display:grid;gap:2px}
.rv-hl small{font-size:12px;font-weight:400;color:var(--ink3)}
.rv-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px}
.rv-g>div{background:var(--sub);border-radius:14px;padding:12px 14px}
.rv-g h4{font-size:13px;margin-bottom:6px}
.rv-g ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.65;color:var(--ink2)}
.rv-bad{padding:8px 0;border-top:1px solid var(--line)}.rv-bad:first-of-type{border-top:0;padding-top:0}
.rv-bad b{font-size:13px}.rv-bad p{font-size:12.5px;line-height:1.65;margin-top:2px}.rv-bad em{font-style:normal;color:var(--ink3)}
.rv-w{margin-top:12px;font-size:13px;color:var(--ink2);background:rgba(224,146,47,.08);border-radius:12px;padding:9px 12px}
.ls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ls-i{background:var(--sub);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.ls-i .tag{margin-left:0}
.ls-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ls-t{font-size:13.5px;font-weight:600;line-height:1.6}
.ls-old{margin-top:12px;font-size:12.5px;color:var(--ink2)}
.ls-old summary{cursor:pointer;color:var(--ink3)}
.ls-i.old{display:block;background:none;padding:6px 0;border-top:1px solid var(--line2)}
@media (max-width:760px){
  .dgs .dg-opts,.rv-g,.ls{grid-template-columns:minmax(0,1fr)}
  .legend{flex-wrap:wrap;gap:4px 12px}
  .legend span{white-space:nowrap}
  .legend .more{width:100%;margin-left:0}
  .cdn-t em{font-size:26px}
  .cdn-w{margin-left:0;width:100%}
  .hero .who .share-btn{margin-left:0}
}
/* 后台：产品数据 */
.pbars{display:flex;align-items:flex-end;gap:3px;padding-top:16px;margin-bottom:8px}
.pb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;position:relative}
.pb i{display:block;width:100%;max-height:calc(100% - 30px);background:var(--sky);border-radius:4px 4px 0 0;min-height:2px;opacity:.85}
.pb.part i{opacity:.4}
.pb em{font-style:normal;font-size:10px;color:var(--ink2);font-family:var(--num);margin-bottom:2px}
.pb small{font-size:10px;color:var(--ink3);margin-top:3px;white-space:nowrap;height:13px;font-family:var(--num)}
.funnel{display:grid;gap:10px;margin-top:6px}
.fn{display:grid;grid-template-columns:110px minmax(0,1fr) 36px 40px;align-items:center;gap:10px;font-size:13px}
.fn i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--sky),var(--sky2));min-width:3px}
.fn b{text-align:right;font-family:var(--num)}
/* 第六波：两步验证、登录设备、系统自检、数据授权 */
.tfa .tfa-s{display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;align-items:start}
.tfa .qr{background:#fff;border-radius:12px;padding:6px;box-shadow:inset 0 0 0 1px var(--line)}
.tfa .qr svg{display:block;width:100%;height:auto}
.tfa code.sec{display:inline-block;font-family:var(--num);font-size:14px;letter-spacing:.06em;background:var(--sub);border-radius:8px;padding:6px 10px;margin:4px 0 8px;user-select:all}
.tfa .tfa-f{display:grid;gap:8px;max-width:360px}
.tfa-rec .rec-g{display:grid;grid-template-columns:repeat(2,max-content);gap:6px 18px;margin:10px 0 12px}
.tfa-rec code{font-family:var(--num);font-size:14px;background:var(--sub);padding:4px 10px;border-radius:8px;user-select:all}
.devs .tag.ok{margin-left:8px}
.code-inp{font-family:var(--num);letter-spacing:.2em;font-size:18px;text-align:center}
.mon-l{display:grid;gap:6px;margin:4px 0 0;padding:0;list-style:none}
.mon-l li{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;background:rgba(224,146,47,.10);font-size:13px}
.mon-l li.crit{background:#fdeceb;color:#a33}
.mon-l small{color:var(--ink3);white-space:nowrap}
.lic-note{margin-bottom:16px}
.lic-note p{line-height:1.75;margin-top:6px}
@media (max-width:760px){ .tfa .tfa-s{grid-template-columns:minmax(0,1fr)} .tfa .qr{max-width:200px} }

.me-grid .tfa{grid-column:span 2}
@media (max-width:760px){ .me-grid .tfa{grid-column:auto} }
.adm-main section.card:has(> table.tbl.big){overflow-x:auto}
/* ================================================================ 10-25 风险状态（首页头条） */
:root{--r-calm:#2E9E6B;--r-warn:#D9822B;--r-danger:#E5484D}
.rbadge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:.02em}
.rbadge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.rbadge.calm{color:var(--r-calm);background:rgba(46,158,107,.10)}
.rbadge.warn{color:var(--r-warn);background:rgba(217,130,43,.12)}
.rbadge.danger{color:#fff;background:var(--r-danger)}
.rbadge.danger i{background:#fff;animation:rpulse 1.4s ease-in-out infinite}
@keyframes rpulse{0%,100%{opacity:1}50%{opacity:.35}}
.rbadge.big{height:30px;padding:0 13px;font-size:15px;gap:8px}.rbadge.big i{width:9px;height:9px}
.rpanel{margin-top:14px;padding:14px 16px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);display:grid;gap:10px;border:1.5px solid transparent}
.rpanel.warn{border-color:rgba(217,130,43,.35)}
.rpanel.danger{border-color:rgba(229,72,77,.45);background:linear-gradient(180deg,rgba(229,72,77,.05),var(--card) 60%)}
.rp-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rp-hl{font-size:14px;font-weight:600;line-height:1.55;flex:1;min-width:0}
.rp-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rchip{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--sub);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);cursor:help}
.rtails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rt{background:var(--sub);border-radius:14px;padding:10px 12px;display:grid;gap:3px}
.rt>small{font-size:11.5px;color:var(--ink3)}
.rt-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;font-size:12.5px;color:var(--ink2)}
.rt-row b{font-family:var(--num);font-size:17px;font-weight:600;color:var(--ink);text-align:right}
.rt-row em{font-style:normal;font-family:var(--num);font-weight:600;font-size:12.5px;min-width:46px;text-align:right}
.rt-row.down em{color:var(--r-danger)}.rt-row.up em{color:var(--r-calm)}
.rt-by{font-size:11px;color:var(--ink3);cursor:help}
.rtouch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12.5px;color:var(--ink2)}
.rtouch .inp{width:120px;height:30px;font-family:var(--num)}
.rt-p{flex-basis:100%;font-size:12.5px}.rt-p b{font-family:var(--num);color:var(--ink)}.rt-p small{display:block;color:var(--ink3);font-size:11.5px;margin-top:2px}
.rdir{font-size:12.5px;color:var(--ink2);line-height:1.6;padding-top:8px;border-top:1px solid var(--line2)}
.rdir b{color:var(--ink)}.rdir a{color:var(--sky);margin-left:4px}
.hero .cm-line{margin-top:10px;font-size:12.5px;color:var(--ink2);line-height:1.6}



.tbl tr.off td{color:var(--ink3)}
@media (max-width:760px){
  .rtails{grid-template-columns:minmax(0,1fr)}
  .rpanel{padding:12px 13px}
  .rp-hl{font-size:13.5px}
  
  
}

/* ================================================================ 10-25 晚：交易计划、短线参考、交易参谋 */
.plan{margin-top:14px;padding:16px 18px;border-radius:20px;display:grid;gap:12px;border:1.5px solid transparent}
.plan.on.long{border-color:rgba(31,169,113,.35)}.plan.on.short{border-color:rgba(229,72,77,.35)}
.plan.wait{background:linear-gradient(180deg,#F7F8FB,var(--card) 70%)}
.pl-h{display:flex;align-items:center;gap:12px}
.pl-h b{display:block;font-size:15px}.pl-h small{display:block;font-size:12px;color:var(--ink3);margin-top:1px}
.pl-side{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 12px;border-radius:12px;font-weight:800;font-size:15px;letter-spacing:.04em;color:#fff}
.pl-side.long{background:var(--good)}.pl-side.short{background:var(--bad)}.pl-side.wait{background:#8A93A3}
.pl-now{font-family:var(--num);font-weight:700;font-size:14px}.pl-now.good,.pl-odds b.good{color:var(--good)}.pl-now.bad,.pl-odds b.bad{color:var(--bad)}
.pl-lv{display:grid;gap:4px;background:var(--sub);border-radius:14px;padding:10px 12px}
.pl-r{display:grid;grid-template-columns:92px auto 1fr;gap:10px;align-items:baseline;font-size:12.5px;color:var(--ink2)}
.pl-r b{font-family:var(--num);font-size:16px;font-weight:650;color:var(--ink);text-align:right;min-width:86px}
.pl-r em{font-style:normal;color:var(--ink3);font-size:12px}
.pl-r.sl b{color:var(--bad)}.pl-r.tp b{color:var(--good)}
.pl-lv.compact .pl-r b{font-size:14.5px}
.pl-odds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pl-odds>div{background:var(--sub);border-radius:12px;padding:8px 10px;display:grid;gap:2px}
.pl-odds small{font-size:11px;color:var(--ink3);line-height:1.35}
.pl-odds b{font-family:var(--num);font-size:17px;font-weight:650}
.pl-odds p{grid-column:1/-1;margin-top:2px}
.pl-odds.big b{font-size:22px}
.plan .pl-odds{grid-template-columns:repeat(2,minmax(0,1fr))}
.tk .seg{margin-top:10px}
.pl-size{font-size:12.5px;color:var(--ink2);line-height:1.6}.pl-size b{color:var(--ink);font-family:var(--num)}
.pl-why{display:grid;gap:5px;padding-left:18px;font-size:12.5px;color:var(--ink2);line-height:1.6}
.pl-inv{font-size:12.5px;color:var(--ink2);line-height:1.6;padding:8px 10px;border-radius:10px;background:rgba(229,72,77,.05)}
.pl-inv b{color:var(--ink)}
.pl-disc{font-size:11.5px;color:var(--ink3)}.pl-disc a{color:var(--sky);margin-left:6px}
.pl-tg{justify-self:start;font-size:13px;color:var(--sky);font-weight:600}
.pl-tpl{display:grid;gap:10px;padding:12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.pl-tpl .btn{justify-self:start}
.pl-corr,.pl-push{margin-top:10px;font-size:12.5px;color:var(--ink2);line-height:1.6;padding:8px 12px;border-radius:12px;background:rgba(224,146,47,.08)}
.pl-push a{color:var(--sky);margin-left:6px}
.pchip{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700;margin-right:6px;color:#fff;background:#A3AAB8}
.pchip.long{background:var(--good)}.pchip.short{background:var(--bad)}
.sguide{margin-top:12px;padding:14px 16px;border-radius:18px;display:grid;gap:10px;border:1.5px solid transparent}
.sguide.warn{border-color:rgba(217,130,43,.35)}.sguide.danger{border-color:rgba(229,72,77,.45)}
.sh-h{display:flex;align-items:center;gap:8px}.sh-h b{font-size:14.5px}.sh-h small{color:var(--ink3);font-size:12px}
.sh-hl{font-size:13px;line-height:1.6;color:var(--ink)}
.sh-bands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sh-bands>div{background:var(--sub);border-radius:12px;padding:8px 10px;display:grid;gap:2px}
.sh-bands small{font-size:11.5px;color:var(--ink3)}
.sh-bands span{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sh-bands b{font-family:var(--num);font-size:15.5px;font-weight:650}.sh-bands b.bad{color:var(--bad)}.sh-bands b.good{color:var(--good)}
.sh-bands em{font-style:normal;font-family:var(--num);font-size:12px;color:var(--ink2)}
.sh-lv{width:100%;border-collapse:collapse;font-size:12.5px}
.sh-lv th{font-weight:500;color:var(--ink3);text-align:left;padding:3px 0;font-size:11.5px}.sh-lv th.r,.sh-lv td.r{text-align:right}
.sh-lv td{padding:4px 0;border-top:1px solid var(--line2);font-family:var(--num)}
.sh-tips{display:grid;gap:4px;padding-left:18px;font-size:12.5px;color:var(--ink2);line-height:1.6}
.cockpit-lnk{font-size:12.5px;color:var(--ink2);padding:4px 8px;border-radius:8px}.cockpit-lnk:hover{background:var(--sub);color:var(--ink)}
.tc{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:18px;align-items:start}
.tc-form{display:grid;gap:10px}.tc-form h3 small{display:block;font-weight:400;color:var(--ink3);font-size:12px;margin-top:2px}
.tc-form .fld em{font-style:normal;color:var(--ink3);font-size:11.5px;margin-left:6px}
.tc-tpl .lnk{color:var(--sky);font-weight:600}
.tc-res{display:grid;gap:12px}
.tc-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tc-h b{font-size:15px}.tc-h .t2{font-size:12.5px}
.tc-kv{grid-template-columns:120px 1fr}
.tc-warn{display:grid;gap:6px;list-style:none}
.tc-warn li{font-size:12.5px;line-height:1.6;padding:7px 10px;border-radius:10px;background:var(--sub);color:var(--ink2)}
.tc-warn li.crit{background:rgba(229,72,77,.10);color:#B42318;font-weight:600}.tc-warn li.warn{background:rgba(224,146,47,.10);color:#9A5B13}.tc-warn li.ok{background:rgba(31,169,113,.08);color:#16794F}
.tc-stale{font-size:12.5px;padding:8px 12px;border-radius:10px;background:rgba(224,146,47,.12);color:#9A5B13;margin-bottom:10px}
.adv-tabs{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.adv-tabs .lnk{color:var(--sky);font-size:13px}
/* 1024 左右的窄桌面 / 平板：侧栏变窄，首页和交易参谋改成单列（外部评审：1024 宽出现整页横向滚动） */
@media (min-width:761px) and (max-width:1180px){
  .app{grid-template-columns:220px minmax(0,1fr)}
  
  .main{padding:18px 18px 32px 8px}
  .home,.tc{grid-template-columns:minmax(0,1fr)}
  
}
@media (max-width:760px){
  .inp,.inp.sm,select.inp{font-size:16px}          /* iOS 输入框小于 16px 一点就会放大页面 */
  .inp.sm{height:36px}
  .rtouch .btn,.tc .btn{min-height:40px}
  .tc{grid-template-columns:minmax(0,1fr)}
  .pl-odds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-r{grid-template-columns:78px auto;row-gap:0}.pl-r em{grid-column:1/-1;font-size:11.5px;margin-top:-2px}
  .plan{padding:14px 13px}.sguide{padding:12px 13px}
  .sh-bands{grid-template-columns:minmax(0,1fr)}
  .tc-kv{grid-template-columns:96px 1fr}
}

/* ---------------------------------------------------------------- 10-26 专业 K 线 */
.kl-card{padding:0;margin-bottom:18px;overflow:visible;position:relative}
.kl-top{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.kl-tfs{display:inline-flex;gap:2px;background:var(--sub);border-radius:10px;padding:3px;box-shadow:inset 0 0 0 1px var(--line)}
.kl-tfs button{padding:3px 10px;border-radius:8px;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.kl-tfs button.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(23,32,56,.08)}
.kl-btn{height:30px;padding:0 11px;border-radius:9px;font-size:12.5px;color:var(--ink2);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.kl-btn:hover,.kl-btn.on{background:var(--sub);color:var(--ink)}
.kl-btn small{font-size:10.5px;background:var(--skyA);color:var(--sky);border-radius:6px;padding:0 5px;line-height:16px}
.kl-dd{position:relative}
.kl-menu{position:absolute;top:34px;left:0;z-index:30;width:270px;background:var(--card);border-radius:14px;box-shadow:0 12px 40px -10px rgba(23,32,56,.28),0 0 0 1px var(--line);padding:10px 12px 12px;display:grid;gap:2px}
.kl-menu h5{font-size:11.5px;color:var(--ink3);font-weight:500;margin:6px 0 2px}
.kl-menu label{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 2px;cursor:pointer;border-radius:6px}
.kl-menu label:hover{background:var(--sub)}
.kl-menu input{accent-color:var(--sky)}
.kl-menu p{font-size:11.5px;color:var(--ink3);margin-top:6px;line-height:1.5}
.kl-mob{display:none}
.kl-body{display:grid;grid-template-columns:46px minmax(0,1fr) 300px;min-height:520px}
.kl-tools{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-right:1px solid var(--line2)}
.kl-tools button{width:36px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--ink2);position:relative}
.kl-tools button span{display:none}
.kl-tools button:hover{background:var(--sub);color:var(--ink)}
.kl-tools button.on{background:var(--skyA);color:var(--sky)}
.kl-tools button:disabled{opacity:.35;cursor:default;background:none}
.kl-tools svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kl-tools svg circle{fill:currentColor;stroke:none}
.kl-tools button.long svg path{stroke:var(--good)}.kl-tools button.short svg path{stroke:var(--bad)}
.kl-sep{display:block;width:22px;height:1px;background:var(--line);margin:6px 0}
.kl-main{position:relative;min-width:0}
.kl-chart{height:600px;width:100%}
.kl-hint{position:absolute;left:12px;top:8px;z-index:5;font-size:12px;background:var(--ink);color:#fff;border-radius:8px;padding:5px 10px;display:flex;gap:10px;align-items:center;max-width:calc(100% - 24px)}
.kl-hint button{color:#9CC3F3;font-size:12px}
.kl-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:13px}
.kl-load.err{color:var(--bad)}
.kl-guest{position:absolute;right:76px;top:8px;font-size:11.5px;color:var(--ink3);background:rgba(255,255,255,.85);padding:2px 8px;border-radius:6px}
.kl-side{border-left:1px solid var(--line2);padding:12px 14px 14px;display:flex;flex-direction:column;gap:12px;overflow:auto;max-height:680px}
.kl-side h4{font-size:12.5px;font-weight:600;display:flex;flex-direction:column;gap:1px;margin-bottom:6px}
.kl-side h4 small{font-size:11px;color:var(--ink3);font-weight:400}
.kl-trend{padding:10px 12px;border-radius:14px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
.kl-trend.kt-up{background:var(--upA);box-shadow:none}.kl-trend.kt-down{background:var(--downA);box-shadow:none}
.kt-h{display:flex;align-items:baseline;gap:8px}.kt-h b{font-size:17px}.kt-h span{font-size:11.5px;color:var(--ink2)}
.kt-v{display:flex;gap:6px;margin:6px 0 4px;flex-wrap:wrap}
.kt-v span{font-size:11.5px;padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.7)}
.kt-a{font-size:12.5px;margin-top:4px}.kt-l{font-size:11.5px;color:var(--ink2);line-height:1.55;margin-top:3px}
.kt-warn{font-size:11.5px;color:#9A5B13;background:rgba(224,146,47,.12);border-radius:6px;padding:3px 7px;margin:4px 0}
.kl-trend .more{display:inline-block;margin-top:6px;font-size:11.5px}
.kl-pos{padding:10px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:6px;font-size:12px}
.kl-pos.long{box-shadow:inset 0 0 0 1.5px rgba(31,169,113,.35)}.kl-pos.short{box-shadow:inset 0 0 0 1.5px rgba(229,72,77,.35)}
.kl-pos.err{color:var(--bad)}
.kp-odds{display:grid;gap:2px}.kp-odds b{font-size:13px}
.kp-w{font-size:11.5px;border-radius:6px;padding:3px 7px;background:var(--sub);color:var(--ink2)}.kp-w.warn{background:rgba(224,146,47,.12);color:#9A5B13}.kp-w.crit{background:rgba(229,72,77,.1);color:#B42318}
.kp-f{display:flex;align-items:center;gap:10px}
.kl-ro{display:grid;gap:6px}
.kl-r{display:grid;gap:1px;font-size:12px;padding-left:8px;border-left:2px solid var(--line)}
.kl-r b{font-size:12px;display:flex;align-items:center;gap:6px}
.kl-r b em{font-style:normal;font-size:10.5px;font-weight:500;padding:0 5px;border-radius:5px;background:var(--sub);color:var(--ink2)}
.kl-r span{color:var(--ink2);line-height:1.5}
.kl-r.up{border-left-color:var(--up)}.kl-r.down{border-left-color:var(--down)}.kl-r.warn{border-left-color:var(--amber)}
.kl-r.warn b em{background:rgba(224,146,47,.14);color:#9A5B13}
.kl-lab{display:grid;gap:6px;padding-top:10px;border-top:1px dashed var(--line)}
.kb-g{display:grid;gap:3px}.kb-g>small{font-size:11px;color:var(--ink3)}
.kb-r{display:grid;grid-template-columns:1fr auto;column-gap:8px;font-size:12px;align-items:baseline}
.kb-r em{font-style:normal;font-size:11px;font-weight:600;color:var(--ink3)}
.kb-r.pass em{color:var(--good)}.kb-r.fail em,.kb-r.retired em{color:var(--bad)}
.kb-r i{grid-column:1/-1;font-style:normal;font-size:11px;color:var(--ink3)}
.kl-lab .more{font-size:11.5px}
.kl-full{position:fixed;inset:0;z-index:1000;margin:0;border-radius:0;display:flex;flex-direction:column}
.kl-full .kl-body{flex:1;min-height:0}
.kl-full .kl-chart{height:calc(100vh - 54px)}
.kl-full .kl-side{max-height:calc(100vh - 54px)}
.sym-h2{display:flex;align-items:flex-end;gap:16px;margin:6px 8px 12px}
.sym-h2 h2{font-size:15px;font-weight:600;display:flex;align-items:baseline;gap:10px;flex:1}
.sym-h2 h2 small{font-size:12px;color:var(--ink3);font-weight:400}

/* 首页：大趋势（日线） */
.trend{margin-top:12px;padding:13px 16px;border-radius:18px;display:grid;gap:6px;border:1.5px solid transparent}
.trend.tr-up{border-color:rgba(31,169,113,.28)}.trend.tr-down{border-color:rgba(229,72,77,.28)}.trend.ref{background:linear-gradient(180deg,#F7F8FB,var(--card) 70%)}
.tr-h{display:flex;align-items:center;gap:12px}
.tr-h b{display:block;font-size:14px}.tr-h small{display:block;font-size:11.5px;color:var(--ink3)}
.tr-chip{flex:none;min-width:58px;height:30px;padding:0 10px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;background:#8A93A3}
.tr-chip.up{background:var(--up)}.tr-chip.down{background:var(--down)}
.tr-v{display:flex;gap:6px;flex-wrap:wrap}
.tr-v span{font-size:11.5px;padding:1px 8px;border-radius:6px;background:var(--sub)}
.tr-a{font-size:13px}.tr-l{font-size:12.5px;color:var(--ink2);line-height:1.6}
.trend .lnk{justify-self:start;font-size:12.5px}

/* 信号实验室 */
.lab-intro p{line-height:1.7}
.lab-wrap{max-height:none}
.tbl.wrapc td:last-child{white-space:normal;min-width:240px}
.lab-cnt{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.lab-cnt .tag{margin-left:0}
.tag.warn{background:rgba(224,146,47,.12);color:#9A5B13;box-shadow:none}
.lab-f{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.chipb{height:24px;padding:0 9px;border-radius:12px;font-size:11.5px;background:var(--sub);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.chipb.on{background:var(--ink);color:#fff;box-shadow:none}
.lab-t td{vertical-align:top;white-space:normal}
.lab-row{cursor:pointer}.lab-row:hover td{background:var(--sub)}
.lab-row.pass td:first-child b{color:var(--good)}
.lab-c{display:grid;gap:1px}.lab-c .tag{margin-left:0;justify-self:start}
.lab-why{font-size:12px;color:var(--ink2);max-width:360px;line-height:1.5}
.lab-now{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:11.5px;color:var(--ink3);max-width:180px}
.lab-now .hot{color:var(--amber);font-weight:600}
.lab-detail td{background:var(--sub)}
.lab-d{display:grid;gap:8px;padding:4px 2px}
.lab-dh ul{margin:4px 0 0 18px;display:grid;gap:3px;font-size:12px;color:var(--ink2)}
.lab-dh li.bad{color:#B42318}
.lead-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:10px}
.lead-c{padding:10px 12px;border-radius:12px;background:var(--sub);display:grid;gap:2px;font-size:12.5px}
.lead-c b{font-size:14px}.lead-c em{font-style:normal;font-weight:700}
.lead-pos{margin-top:12px}.lead-pos summary{cursor:pointer;font-size:12.5px;color:var(--sky)}

@media (min-width:761px) and (max-width:1180px){
  .kl-body{grid-template-columns:46px minmax(0,1fr)}
  .kl-side{grid-column:1/-1;border-left:0;border-top:1px solid var(--line2);max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .kl-chart{height:520px}
}
@media (max-width:760px){
  .kl-card{margin:0 -4px 16px;border-radius:18px}
  .kl-top{padding:8px 10px;gap:4px}
  .kl-tfs{order:-1;width:100%;overflow-x:auto}.kl-tfs button{flex:1;padding:4px 6px}
  .kl-mob{display:inline-flex}
  .kl-body{grid-template-columns:minmax(0,1fr);min-height:0}
  .kl-tools{display:none;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line2);padding:6px;gap:4px}
  .kl-tools.open{display:flex}
  .kl-tools button{flex:none;width:auto;min-width:48px;height:46px;flex-direction:column;gap:1px;padding:0 6px}
  .kl-tools button span{display:block;font-size:10px}
  .kl-sep{width:1px;height:28px;margin:0 4px;flex:none}
  .kl-chart{height:max(340px,56vh)}
  .kl-side{border-left:0;border-top:1px solid var(--line2);max-height:none}
  .kl-guest{right:12px;top:auto;bottom:34px}
  .kl-full .kl-chart{height:calc(100vh - 110px)}
  .lab-why{max-width:none}
  .lab-t thead{display:none}
  .lab-t tr.lab-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:10px 4px;border-bottom:1px solid var(--line2)}
  .lab-t tr.lab-row td{border:0;padding:0}
  .lab-t tr.lab-row td:first-child,.lab-t tr.lab-row td.lab-why,.lab-t tr.lab-row td.lab-now{grid-column:1/-1}
  .lab-t tr.lab-row td.r{text-align:left}
}

/* ---------------- 10-29 首页（结论版）：整页白底、自带品种切换、没有左侧品种栏；方向只来自检验过的日线大趋势 ---------------- */




body.hv-on{background:#fff}
.hv{--hv-long:#12865A;--hv-short:#CB363C;--hv-wash:#F6F7F9;color:var(--ink)}
body.redup .hv{--hv-long:#CB363C;--hv-short:#12865A}
.hv .n{font-family:var(--num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.hv-syms{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.hv-syms::-webkit-scrollbar{display:none}
.hv-sym{flex:none;display:flex;align-items:baseline;gap:8px;padding:16px 14px 13px;border:0;background:none;cursor:pointer;border-bottom:2px solid transparent;color:var(--ink2);margin-bottom:-1px}
.hv-sym:first-child{padding-left:0}
.hv-sym b{font-family:var(--num);font-weight:700;font-size:15px;letter-spacing:.01em}
.hv-sym i{font-style:normal;font-family:'SnCn',var(--sans);font-weight:880;font-size:14px;color:var(--ink3)}
.hv-sym i.hv-a-short{color:var(--hv-short)} .hv-sym i.hv-a-long{color:var(--hv-long)}
.hv-sym[aria-selected=true]{color:var(--ink);border-color:var(--ink)}
.hv-sym:hover b{color:var(--ink)}
.hv-read{display:grid;grid-template-columns:minmax(0,1fr) 404px;column-gap:64px;grid-template-areas:"verdict gauge" "plan gauge" "today gauge" "bots gauge";align-items:start;padding:40px 0 48px}
.hv-verdict{grid-area:verdict}
.hv-who{display:flex;align-items:baseline;gap:12px;font-size:15px;color:var(--ink2)}
.hv-who b{color:var(--ink);font-weight:600}
.hv-act{margin:10px 0 0;font-family:'SnCn',var(--sans);font-weight:880;font-size:clamp(60px,7.4vw,108px);line-height:1.04;letter-spacing:-.01em;color:var(--ink)}
.hv-act.short{color:var(--hv-short)} .hv-act.long{color:var(--hv-long)}
.hv-why{margin:18px 0 0;font-size:20px;line-height:1.5;max-width:30em}
.hv-rec{margin:8px 0 0;font-size:14.5px;color:var(--ink2)}
.hv-rec a{color:var(--ink2);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--ink3);margin-left:6px;white-space:nowrap}
.hv-flip{margin:12px 0 0;display:inline-block;padding:8px 12px;border-radius:10px;background:rgba(224,146,47,.10);color:#8A520F;font-size:14px}
.hv-plan{grid-area:plan;margin-top:40px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.hv-side{padding:22px 28px 6px 0;min-width:0}
.hv-side+.hv-side{padding:22px 0 6px 28px;border-left:1px solid var(--line)}
.hv-side.solo{grid-column:1/-1;padding-right:0}
.hv-side h2{margin:0 0 14px;font-size:17px;font-weight:700;display:flex;align-items:baseline;gap:10px}
.hv-side h2 em{font-style:normal;font-size:13.5px;font-weight:500;color:var(--ink3)}
.hv-side.on.short h2{color:var(--hv-short)} .hv-side.on.long h2{color:var(--hv-long)}
.hv-side.off h2{color:var(--ink2)}
.hv-rows{margin:0;display:grid;grid-template-columns:3.2em 1fr;row-gap:14px;column-gap:12px}
.hv-rows dt{font-size:14px;color:var(--ink2);padding-top:3px}
.hv-rows dd{margin:0}
.hv-rows .v{font-size:19px;font-weight:650;line-height:1.35}
.hv-rows .v .n{font-weight:700}
.hv-rows .h{font-size:13px;color:var(--ink3);margin-top:2px;line-height:1.45}
.hv-side p{margin:0 0 10px;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.hv-side p .n{font-weight:700;color:var(--ink)}
.hv-side p a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--ink3);margin:0 2px}
.hv-remind{margin:6px 0 14px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.hv-remind:hover{background:var(--hv-wash)}
.hv-remind.on{border-color:var(--line);color:var(--ink2);background:var(--hv-wash)}
.hv-remind:disabled{opacity:.6;cursor:default}
.hv-today,.hv-bots{display:grid;grid-template-columns:5.2em 1fr;column-gap:12px;align-items:baseline;border-top:1px solid var(--line);padding:18px 0}
.hv-today{grid-area:today;margin-top:26px}
.hv-bots{grid-area:bots}
.hv-today>span,.hv-bots>span{font-size:14px;color:var(--ink2)}
.hv-today p,.hv-bots p{margin:0;font-size:15.5px;line-height:1.6}
.hv-bots b{font-weight:700;margin-right:8px}
.hv-bots a{color:var(--ink2);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--ink3);margin-left:8px;white-space:nowrap}
.hv-lamp{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--r-calm,#1FA971);box-shadow:0 0 0 4px rgba(31,169,113,.14)}
.hv-lamp.s1{background:#D9891C;box-shadow:0 0 0 4px rgba(217,137,28,.16)}
.hv-lamp.s2{background:var(--bad);box-shadow:0 0 0 4px rgba(229,72,77,.15)}
.hv-st{font-weight:700;margin-right:10px}.hv-st.s1{color:#B56F0E}.hv-st.s2{color:var(--bad)}
.hv-gauge{grid-area:gauge;margin:0;position:sticky;top:20px;background:var(--hv-wash);border-radius:22px;padding:18px 18px 14px}
.hv-gauge figcaption{font-size:12.5px;color:var(--ink3);padding:8px 6px 0;line-height:1.5}
.hv-g svg{display:block;width:100%;height:556px;overflow:visible}
.hv-g .g-tick{stroke:#BFC5CE;stroke-width:1;shape-rendering:crispEdges}
.hv-g .g-tick.mj{stroke:#99A0AC}
.hv-g .g-axis{stroke:#99A0AC;stroke-width:1;shape-rendering:crispEdges}
.hv-g .g-pl{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;fill:var(--ink)}
.hv-g .g-pl.sm{font-size:12.5px;font-weight:600;fill:var(--ink3)}
.hv-g .g-lab{font-size:13.5px;font-weight:650;fill:var(--ink)}
.hv-g .g-sub{font-size:12.5px;fill:var(--ink2)}
.hv-g .g-sub.n3{font-family:var(--num);fill:var(--ink3)}
.hv-g .g-line{stroke-width:1.5;shape-rendering:crispEdges}
.hv-g .k-exit .g-line{stroke:var(--bad)} .hv-g .k-exit .g-pl,.hv-g .k-exit .g-lab{fill:var(--bad)}
.hv-g .k-up1 .g-line{stroke:var(--hv-long);stroke-dasharray:6 4} .hv-g .k-up1 .g-pl,.hv-g .k-up1 .g-lab{fill:var(--hv-long)}
.hv-g .k-dn1 .g-line{stroke:var(--ink3);stroke-dasharray:6 4} .hv-g .k-dn1 .g-pl,.hv-g .k-dn1 .g-lab{fill:var(--ink2)}
.hv-g .g-conn{fill:none;stroke:#C9CED6;stroke-width:1}
.hv-g .g-now rect,.hv-g .g-tip{fill:var(--ink)} .hv-g .g-now text{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;fill:#fff}
.hv-g .g-nowline{stroke:var(--ink);stroke-width:1;opacity:.55;shape-rendering:crispEdges}
.hv-g .g-band{transform-box:view-box}
.hv-g.anim .g-band{animation:hvgrow .6s cubic-bezier(.2,.7,.2,1) both}
.hv-g.anim .g-fade{animation:hvfade .35s .35s ease-out both}
@keyframes hvgrow{from{transform:scaleY(.02)}to{transform:scaleY(1)}}
@keyframes hvfade{from{opacity:0}to{opacity:1}}
.hv-foot{font-size:12.5px;color:var(--ink3);padding-bottom:12px}
@media (min-width:761px) and (max-width:1080px){
  .hv-read{grid-template-columns:minmax(0,1fr) 330px;column-gap:36px}
  
}
@media (max-width:760px){
  
  
  
  
  .hv-syms{gap:2px;margin:0 -16px;padding:0 16px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .hv-sym{padding:13px 10px 10px}
  .hv-read{grid-template-columns:minmax(0,1fr);grid-template-areas:"verdict" "gauge" "plan" "today" "bots";padding:20px 0 24px}
  .hv-act{font-size:56px;margin-top:6px}
  .hv-why{font-size:17.5px;margin-top:12px}
  .hv-rec{font-size:13.5px}
  .hv-gauge{position:static;margin-top:20px;border-radius:18px;padding:10px 10px 8px}
  .hv-g svg{height:296px}
  .hv-plan{grid-template-columns:1fr;margin-top:26px}
  .hv-side,.hv-side+.hv-side{padding:20px 0 4px;border-left:0}
  .hv-side+.hv-side{border-top:1px solid var(--line)}
  .hv-rows .v{font-size:18px}
  .hv-today{margin-top:12px}
  .hv-today,.hv-bots{grid-template-columns:1fr;row-gap:4px}
}
/* 标尺上的文字加一圈底色描边，压住从下面穿过的横线 */
.hv-g .g-lab,.hv-g .g-sub{paint-order:stroke;stroke:var(--hv-wash);stroke-width:4px;stroke-linejoin:round}
/* 侧栏的结论小标签（和首页一致） */
.vchip{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;margin-right:6px;background:var(--sub);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.vchip.long{background:var(--upA);color:var(--up);box-shadow:none}
.vchip.short{background:var(--downA);color:var(--down);box-shadow:none}
/* 10-30：「危险」时的事件横幅（黑天鹅 / 突发），在结论词上面 */
.hv-alert{margin:16px 0 6px;padding:14px 16px 12px;border-radius:14px;background:#FFF1F0;box-shadow:inset 0 0 0 1px rgba(229,72,77,.28)}
.hv-alert.danger{background:#FFF6EC;box-shadow:inset 0 0 0 1px rgba(217,137,28,.30)}
.hv-al-h{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13.5px;color:#7A2E2E}
.hv-alert.danger .hv-al-h{color:#7A4A12}
.hv-al-h b{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--bad);color:#fff;font-weight:700;font-size:13px;letter-spacing:.06em}
.hv-alert.danger .hv-al-h b{background:#D9891C}
.hv-al-l{list-style:none;margin:10px 0 0;padding:0}
.hv-al-l .hv-al-i{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:3px 0;font-size:14.5px;line-height:1.55;color:var(--ink)}
.hv-al-l .hv-al-i:disabled{cursor:default}
.hv-al-l .hv-al-i:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:4px}
.hv-al-l .hv-al-i .n{color:var(--ink3);margin-right:8px;font-size:13px;font-weight:600}
.hv-al-l li.hd>.hv-al-i{font-size:17px;font-weight:700;line-height:1.5}
.hv-al-l .hv-al-i:not(:disabled):hover{text-decoration:underline;text-decoration-color:var(--ink3);text-underline-offset:3px}
.hv-al-s{margin:8px 0 0;font-size:13.5px;color:var(--ink2);line-height:1.6}
.hv-al-d{margin:6px 0 10px;font-size:13.5px}
/* 横幅里展开的全文：用新闻卡自己的白底框，不再套一层，也不要舆情页那 88px 的左缩进 */
.hv-alert .hv-al-d .nfd{margin:0;padding:12px 14px 14px!important;background:#fff}
.hv-rows .v.good{color:var(--good)}
.hv-g .k-tp1 .g-line{stroke:var(--good);stroke-dasharray:3 3}.hv-g .k-tp1 .g-pl,.hv-g .k-tp1 .g-lab{fill:var(--good)}
.hv-g .k-be .g-line{stroke:var(--ink2);stroke-dasharray:1 3}.hv-g .k-be .g-pl,.hv-g .k-be .g-lab{fill:var(--ink2)}
@media (max-width:760px){ .hv-alert{margin:12px 0 4px;padding:12px 12px 10px} .hv-al-l li.hd>.hv-al-i{font-size:15.5px} }
/* 10-30：危险解除后 24 小时内的黑天鹅余波（灰色，不抢结论） */
.hv-alert.after{background:#F5F6F8;box-shadow:inset 0 0 0 1px var(--line)}
.hv-alert.after .hv-al-h{color:var(--ink2)}
.hv-alert.after .hv-al-h b{background:#5B6270}
.hv-alert.after .hv-al-l li.hd>.hv-al-i{font-size:15.5px;font-weight:650}
/* 10-31：高杠杆首页——结论词、品种上的灯、倍数切换、红绿灯、标尺上的强平 / 止损线 */
.hv-act.stop{color:var(--ink)}
.hv-sym i.hv-a-stop{color:var(--ink)}
.hv-sym .hv-dot{width:7px;height:7px;border-radius:50%;display:inline-block;align-self:center;margin-left:-3px}
.hv-dot.green{background:#1F9D55}.hv-dot.yellow{background:#D9891C}.hv-dot.red{background:var(--bad)}
.hv-who .hv-lev{margin-left:auto;display:flex;gap:4px;align-self:center}
.hv-lev button{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--num);font-size:12.5px;font-weight:650;padding:3px 8px;border-radius:7px;color:var(--ink3);box-shadow:inset 0 0 0 1px var(--line)}
.hv-lev button:hover{color:var(--ink)}
.hv-lev button.on{color:#fff;background:var(--ink);box-shadow:none}
.hv-lev button:disabled{opacity:.6;cursor:default}
.hv-lev button:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.hv-light{margin:14px 0 4px;padding:12px 14px 10px;border-radius:14px;background:#F6F7F9;box-shadow:inset 0 0 0 1px var(--line)}
.hv-light.green{background:#F2FAF5;box-shadow:inset 0 0 0 1px rgba(31,157,85,.25)}
.hv-light.yellow{background:#FFF8EC;box-shadow:inset 0 0 0 1px rgba(217,137,28,.30)}
.hv-light.red{background:#FFF1F0;box-shadow:inset 0 0 0 1px rgba(229,72,77,.28)}
.hv-lt-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink2);line-height:1.5}
.hv-lt-h strong{color:var(--ink);font-weight:700}
.hv-lt-h b{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;flex:none}
.hv-light.green .hv-lt-h b{background:#1F9D55}.hv-light.yellow .hv-lt-h b{background:#D9891C}.hv-light.red .hv-lt-h b{background:var(--bad)}
.hv-lt-h b i{width:7px;height:7px;border-radius:50%;background:#fff}
.hv-lt-t{width:100%;border-collapse:collapse;margin-top:10px;font-size:13.5px}
.hv-lt-t th,.hv-lt-t td{padding:6px;text-align:right;border-top:1px solid rgba(21,25,34,.07);white-space:nowrap}
.hv-lt-t thead th{border-top:0;color:var(--ink3);font-weight:600;font-size:12.5px}
.hv-lt-t th:first-child{text-align:left}
.hv-lt-t tbody th{font-weight:650;color:var(--ink)}
.hv-lt-t tbody th .n{margin-left:8px;font-weight:600;color:var(--ink2)}
.hv-lt-t tbody th em{margin-left:6px;font-style:normal;color:var(--ink3);font-size:12px;font-family:var(--num)}
.hv-lt-t td{font-family:var(--num);font-weight:650;font-variant-numeric:tabular-nums}
.hv-lt-t td.mid{color:#B26A00}.hv-lt-t td.hi{color:var(--bad)}
.hv-lt-n{margin:8px 0 0;font-size:12.5px;color:var(--ink3);line-height:1.65}
.hv-lt-n a{margin-left:6px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.hv-rows .v small{font-weight:500;color:var(--ink3);margin-left:4px;font-size:12px}
.hv-side.off p b{font-family:var(--num)}
.hv-g .k-liqS .g-line,.hv-g .k-liqL .g-line{stroke:var(--bad)}
.hv-g .k-liqS .g-pl,.hv-g .k-liqS .g-lab,.hv-g .k-liqL .g-pl,.hv-g .k-liqL .g-lab{fill:var(--bad)}
.hv-g .k-stopS .g-line,.hv-g .k-stopL .g-line{stroke:var(--ink2);stroke-dasharray:5 4}
.hv-g .k-stopS .g-pl,.hv-g .k-stopS .g-lab,.hv-g .k-stopL .g-pl,.hv-g .k-stopL .g-lab{fill:var(--ink2)}
@media (max-width:760px){
  .hv-who{flex-wrap:wrap}
  .hv-who .hv-lev{margin-left:0;width:100%;margin-top:4px}
  .hv-lt-t{font-size:12.5px}
  .hv-lt-t th,.hv-lt-t td{padding:5px 3px}
  .hv-lt-t tbody th .n,.hv-lt-t tbody th em{display:block;margin:0}
}
/* 10-31 晚：杠杆 × 仓位占比、红绿灯下面的最坏情况和全仓强平、标尺的亏完线 / 边沿强平 */
.hv-pos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0 2px}
.hv-pos .hv-lev{margin-left:0;display:flex;align-items:center;gap:4px}
.hv-pos .hv-lev>span{font-size:12.5px;color:var(--ink3);margin:0 2px}
.hv-eff{font-size:13px;color:var(--ink2)} .hv-eff b{font-family:var(--num);color:var(--ink)}
.hv-lt-x{margin:8px 0 0;display:grid;grid-template-columns:5.2em 1fr;gap:4px 10px;font-size:13px;line-height:1.6;color:var(--ink2)}
.hv-lt-x dt{color:var(--ink3)} .hv-lt-x dd{margin:0} .hv-lt-x b{font-family:var(--num);color:var(--ink)} .hv-lt-x .n{font-family:var(--num);font-weight:600;color:var(--ink)}
.hv-g .k-mgS .g-line,.hv-g .k-mgL .g-line{stroke:var(--bad)}
.hv-g .k-mgS .g-pl,.hv-g .k-mgS .g-lab,.hv-g .k-mgL .g-pl,.hv-g .k-mgL .g-lab{fill:var(--bad)}
.hv-g .k-liqS .g-line,.hv-g .k-liqL .g-line{stroke:#8B1A1E;stroke-width:2}
.hv-g .k-liqS .g-pl,.hv-g .k-liqS .g-lab,.hv-g .k-liqL .g-pl,.hv-g .k-liqL .g-lab{fill:#8B1A1E}
.hv-g .g-sub.edge{fill:#8B1A1E;font-weight:600}
@media (max-width:760px){ .hv-pos{gap:6px 10px} .hv-lt-x{grid-template-columns:4.6em 1fr;font-size:12.5px} }
.hv-lt-t th:first-child{white-space:normal;min-width:6.5em}
.hv-light{overflow-x:auto}
/* ===================== 11-01：借鉴 tradingview-mcp —— K 线研判标注 / 复盘练习 / 读图报告 / 首页扫描条、时机三档、看图 ===================== */
.kl-note{position:absolute;top:8px;right:76px;z-index:4;max-width:min(44%,400px);background:rgba(255,255,255,.95);box-shadow:0 0 0 1px var(--line),0 6px 18px -8px rgba(23,32,56,.2);border-radius:10px;padding:7px 28px 7px 10px;font-size:12px;line-height:1.5;color:var(--ink2);display:grid;gap:1px}
.kl-note b{color:#5B3FA8;font-size:11.5px;font-weight:650}
.kl-note span{color:var(--ink)}
.kl-note em{font-style:normal;color:var(--bad);font-size:11.5px}
.kl-note button{position:absolute;top:4px;right:5px;width:20px;height:20px;border-radius:6px;color:var(--ink3);font-size:15px;line-height:20px}
.kl-note button:hover{background:var(--sub);color:var(--ink)}
.kl-tools.off{pointer-events:none;opacity:.3}
.kl-card.kl-rp{box-shadow:0 0 0 2px var(--skyB),var(--shadow)}
.rp-top{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line2);flex-wrap:wrap;background:var(--skyC);border-radius:var(--r-lg) var(--r-lg) 0 0}
.rp-ttl{font-size:13px;color:var(--sky);margin-right:6px;font-weight:700}
.rp-date{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);margin:0 4px}
.rp-date input{height:30px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:12.5px;color:var(--ink);background:var(--card)}
.rp-now{font-size:12.5px;color:var(--ink2);margin-right:6px;font-family:var(--num)}.rp-now em{font-style:normal;margin-left:8px;color:var(--ink);font-weight:650}
.rp-speed{display:inline-flex;gap:2px;background:var(--card);border-radius:8px;padding:2px;box-shadow:inset 0 0 0 1px var(--line)}
.rp-speed button{padding:2px 8px;border-radius:6px;font-size:12px;color:var(--ink2)}.rp-speed button.on{background:var(--sub);color:var(--ink);font-weight:600}
.rp-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.rp-b{height:30px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:650;color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.rp-b.long{color:#fff;background:var(--up);box-shadow:none}.rp-b.short{color:#fff;background:var(--down);box-shadow:none}
.rp-b:disabled{opacity:.35;cursor:default}
.rp-left{margin-left:4px}
.kl-side>.rp-side{grid-column:1/-1}
.rp-side{display:grid;gap:10px;font-size:12.5px;align-content:start}
.rp-side h4{margin-bottom:0}
.rp-how{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink2);line-height:1.6}
.rp-pos{padding:10px 12px;border-radius:12px;background:var(--sub);display:grid;gap:2px}
.rp-pos.long{background:var(--upA)}.rp-pos.short{background:var(--downA)}
.rp-pos b{font-size:15px;font-family:var(--num)}.rp-pos small{color:var(--ink3)}
.rp-sys{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink2);cursor:pointer}
.rp-sys input{accent-color:var(--sky)}
.rp-tr{width:100%;border-collapse:collapse;font-size:12px}
.rp-tr td{padding:4px 3px;border-top:1px solid var(--line2);white-space:nowrap;font-family:var(--num)}
.rp-tr td.r{text-align:right}
.rp-legend{font-size:11.5px;color:var(--ink3);line-height:1.9;margin:0}
.rp-legend i{display:inline-block;width:14px;height:5px;border-radius:2px;margin:0 4px 1px 8px;vertical-align:middle}
.rp-legend i.go{background:var(--sky)}.rp-legend i.chase{background:var(--amber)}.rp-legend i.tu{background:var(--up)}.rp-legend i.tf{background:var(--ink3)}.rp-legend i.td{background:var(--down)}
.rp-legend i.go,.rp-legend i.tu{margin-left:0}
.rp-rev{display:grid;gap:8px}
.rp-rev ul{margin:0;padding-left:16px;display:grid;gap:4px;color:var(--ink2);line-height:1.55}
.rp-rev h5{font-size:12px;margin:4px 0 0;color:var(--ink)}
.rp-rev p{margin:0;line-height:1.55}
.rp-big{display:flex;align-items:center;gap:12px}.rp-big b{font-size:32px;font-family:var(--num);line-height:1}.rp-big span{font-size:12px;color:var(--ink2);line-height:1.5}.rp-big em{font-style:normal;font-weight:650}
.rp-hist{display:grid;gap:5px;border-top:1px dashed var(--line);padding-top:10px}
.rp-h{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink2)}.rp-h b{font-weight:600;white-space:nowrap}
/* 读图报告 */
.crp{margin-bottom:18px}
.crp-h{display:flex;align-items:baseline;gap:10px}
.crp-c0{display:grid;grid-template-columns:230px minmax(0,1fr);gap:10px 28px;padding:16px 18px;border-radius:16px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
.crp-w{display:grid;grid-template-columns:auto auto;gap:12px 18px;align-content:start;justify-content:start}
.crp-w>div{display:grid;gap:3px;align-content:start}
.crp-w>div:first-child{grid-column:1/-1}
.crp-w small{font-size:11.5px;color:var(--ink3)}
.crp-v{font-family:'SnCn',var(--sans);font-weight:880;font-size:44px;line-height:1.02;color:var(--ink)}
.crp-v.long{color:#12865A}.crp-v.short{color:#CB363C}
body.redup .crp-v.long{color:#CB363C} body.redup .crp-v.short{color:#12865A}
.crp-tier{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:8px;font-size:14px;font-weight:700;width:max-content}
.crp-tier.go{background:var(--sky);color:#fff}.crp-tier.wait{background:#E9ECF2;color:var(--ink2)}.crp-tier.chase{background:#F3A33A;color:#fff}.crp-tier.na{background:transparent;color:var(--ink3);padding:0;font-weight:600;height:auto}
.crp-px{font-size:17px;font-weight:700}
.crp-dl{margin:0;display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:9px 12px;font-size:13px;line-height:1.65}
.crp-dl dt{color:var(--ink3)}.crp-dl dd{margin:0;display:grid;gap:4px}.crp-dl p{margin:0}
.crp-dl b{font-weight:700;margin:0 2px}
.crp-tf{display:inline-block;margin:0 8px 0 2px;font-weight:650}
.crp-t{display:inline-block;margin:0 10px 0 2px;font-weight:650;white-space:nowrap}.crp-t.go{color:var(--sky)}.crp-t.chase{color:#B26A00}.crp-t.wait{color:var(--ink2)}
.crp-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr);margin-top:16px}
.crp-col{padding:2px 18px 4px;border-left:1px solid var(--line2);min-width:0}
.crp-col:first-child{padding-left:0;border-left:0}.crp-col:last-child{padding-right:0}
.crp-col h4{font-size:13px;font-weight:650;margin:0 0 8px;display:flex;align-items:center;gap:7px}
.crp-col h4 i{font-style:normal;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--num);flex:none}
.crp-col h4 small{font-weight:400;color:var(--ink3);font-size:11.5px;margin-left:auto}
.crp-sum{display:grid;gap:2px;font-size:12.5px;padding:8px 0;border-top:1px solid var(--line2)}.crp-sum:first-of-type{border-top:0;padding-top:0}
.crp-sum>div{display:flex;justify-content:space-between;align-items:baseline}.crp-sum b{font-weight:600}.crp-sum>div span{font-weight:700;font-family:var(--num)}
.crp-sum p{margin:0;color:var(--ink2);line-height:1.55}
.crp-mtf{width:100%;border-collapse:collapse;font-size:12.5px}
.crp-mtf th,.crp-mtf td{padding:5px 4px;text-align:left;border-top:1px solid var(--line2);white-space:nowrap}
.crp-mtf thead th{border-top:0;color:var(--ink3);font-weight:500;font-size:11.5px;padding-top:0}
.crp-mtf tbody th{font-weight:600}
.crp-mtf .r{text-align:right}
.crp-note{margin:8px 0 4px;font-size:12px;color:var(--ink);background:var(--skyC);border-radius:8px;padding:6px 9px;line-height:1.55}
.crp-col>.t3.sm{margin:6px 0 0;line-height:1.5;font-size:11.5px}
.crp-lv{width:100%;border-collapse:collapse;font-size:12.5px}
.crp-lv td{padding:4px 4px;border-top:1px solid var(--line2);white-space:nowrap}
.crp-lv td:nth-child(2){white-space:normal;color:var(--ink2);line-height:1.35}
.crp-lv .r{text-align:right}
.crp-lv tr.now td{font-weight:700;color:var(--ink);background:var(--sub)}
.crp-lv tr.now td:first-child{border-radius:6px 0 0 6px}.crp-lv tr.now td:last-child{border-radius:0 6px 6px 0}
.crp-lv tr.g-趋势 td:nth-child(2){color:#9A5B13}
.crp-cm{margin:0 0 6px;font-size:13px;line-height:1.55}.crp-cm b{display:block;font-size:12px;color:#5B3FA8;margin-bottom:2px}
.crp-cl{list-style:none;margin:6px 0 8px;padding:0;display:grid;gap:3px;font-size:12px;color:var(--ink2)}
.crp-cl li{display:flex;gap:8px;align-items:baseline}.crp-cl .n{color:var(--ink);font-weight:600;min-width:5.6em;font-family:var(--num)}.crp-cl em{font-style:normal;margin-left:auto;color:var(--ink3);font-family:var(--num)}
.crp .more{margin-left:auto}
@media (max-width:1180px){ .crp-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:16px} .crp-col:nth-child(3){padding-left:0;border-left:0} .crp-col:nth-child(2){padding-right:0} }
@media (max-width:900px){ .crp-c0{grid-template-columns:1fr} }
@media (max-width:760px){
  .crp-g{grid-template-columns:1fr}.crp-col,.crp-col:nth-child(2),.crp-col:nth-child(3){padding:12px 0 0;border-left:0;border-top:1px solid var(--line2)}.crp-col:first-child{border-top:0;padding-top:0}
  .crp-dl{grid-template-columns:1fr;gap:2px}.crp-dl dt{padding-top:8px;font-weight:600}.crp-v{font-size:36px}.crp-c0{padding:14px}
  .kl-note{display:none} .rp-top{padding:8px 10px;border-radius:18px 18px 0 0} .rp-date{width:100%;margin:2px 0}
}
/* 首页：扫描条两行、时机三档、看图 */
.hv-sym{flex-direction:column;align-items:flex-start;gap:3px}
.hv-s1{display:flex;align-items:baseline;gap:8px}
.hv-s2{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink3);min-height:18px}
.hv-s2 .n{font-weight:600;font-size:12px}
.hv-tk{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:6px;background:#EEF0F4;color:var(--ink2)}
.hv-tk.go{background:var(--sky);color:#fff}.hv-tk.chase{background:#F3A33A;color:#fff}
.hv-tm{margin:16px 0 4px;display:grid;gap:8px}
.hv-tm-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hv-tm-h>span{font-size:14px;color:var(--ink2)}
.hv-tm-seg{display:inline-flex;border-radius:12px;background:var(--hv-wash);padding:3px;gap:3px}
.hv-tm-seg span{display:flex;align-items:baseline;gap:6px;padding:6px 14px;border-radius:9px;color:var(--ink3)}
.hv-tm-seg b{font-size:15px;font-weight:700}
.hv-tm-seg small{font-family:var(--num);font-size:12px;font-weight:600}
.hv-tm-seg .on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(21,25,34,.12),0 0 0 1px var(--line)}
.hv-tm-seg .s-go.on{background:var(--sky);color:#fff;box-shadow:none}
.hv-tm-seg .s-chase.on{background:#F3A33A;color:#fff;box-shadow:none}
.hv-tm p{margin:0;font-size:14.5px;line-height:1.6;max-width:44em}
.hv-tm p .t3{font-size:12.5px;margin-left:4px}
.hv-tm p a{margin-left:8px;font-size:13px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink3);white-space:nowrap}
.hv-read{grid-template-areas:"verdict gauge" "plan gauge" "chart gauge" "today gauge" "bots gauge"}
.hv-chart{grid-area:chart;margin-top:30px;border-top:1px solid var(--line);padding-top:18px}
.hv-ch-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.hv-ch-h>span{font-size:14px;color:var(--ink2)}
.hv-ch-h em{font-style:normal;font-size:12.5px;color:var(--ink3)}
.hv-ch-h a{margin-left:auto;font-size:13px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink3)}
.hv-mk{position:relative;width:100%}
.hv-mk svg{display:block}
.hv-mk-e{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:13px;background:var(--hv-wash);border-radius:12px}
.mk-grid line{stroke:#EEF0F4;shape-rendering:crispEdges}
.mk-grid text,.mk-x text{font-family:var(--num);font-size:11px;fill:var(--ink3)}
.mk-up line{stroke:var(--up)}.mk-up rect{fill:var(--up)}
.mk-dn line{stroke:var(--down)}.mk-dn rect{fill:var(--down)}
.mk-z rect{opacity:.13}.mk-z line{stroke-width:1;shape-rendering:crispEdges}
.mk-z.go rect{fill:var(--sky)}.mk-z.go line{stroke:var(--sky)}
.mk-z.chase rect{fill:#F3A33A}.mk-z.chase line{stroke:#E0922F}
.mk-lv{stroke:#99A0AC;stroke-dasharray:4 4;shape-rendering:crispEdges}
.mk-labs text{font-size:11.5px;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.mk-labs text.lv{fill:var(--ink2)}.mk-labs text.go{fill:var(--sky)}.mk-labs text.chase{fill:#B26A00}
.mk-now line{stroke:var(--ink);stroke-dasharray:2 3;opacity:.6;shape-rendering:crispEdges}
.mk-now rect{fill:var(--ink)}.mk-now text{fill:#fff;font-family:var(--num);font-size:11.5px;font-weight:700}
.hv-lv{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin-top:12px}
.hv-lv>div{display:grid;grid-template-columns:2.6em 1fr;gap:4px;align-items:baseline}
.hv-lv b{font-size:13px;color:var(--ink2);font-weight:600}
.hv-lv ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.hv-lv li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:14px}
.hv-lv li .n{font-weight:700}
.hv-lv li em{font-style:normal;color:var(--ink2);font-size:13px}
.hv-lv li i{font-style:normal;font-size:12.5px;color:var(--ink3)}
.hv-lv li small{flex-basis:100%;font-size:12px;color:var(--ink3)}
@media (max-width:760px){
  .hv-read{grid-template-areas:"verdict" "gauge" "plan" "chart" "today" "bots"}
  .hv-sym{padding:11px 10px 9px}
  .hv-tm-seg span{padding:6px 10px}
  .hv-tm p{font-size:14px}
  .hv-chart{margin-top:22px}
  .hv-lv{grid-template-columns:1fr;gap:10px}
}
.sc-t tr.few td{color:var(--ink3)} .sc-t tr.few td b{color:var(--ink2)}
/* 研判一句话：图表上方一条（不压在 K 线上） */
.kl-note{display:none}
.kl-strip{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px 0 14px;border-bottom:1px solid var(--line2);font-size:12.5px;color:var(--ink2);background:linear-gradient(90deg,rgba(122,90,200,.06),transparent 60%)}
.kl-strip b{color:#5B3FA8;font-weight:650;white-space:nowrap;flex:none}
.kl-strip span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.kl-strip em{font-style:normal;color:var(--bad);white-space:nowrap;flex:none}
.kl-strip button{flex:none;width:22px;height:22px;border-radius:6px;color:var(--ink3);font-size:15px;line-height:22px}
.kl-strip button:hover{background:var(--sub);color:var(--ink)}
.kl-chart.with-strip{height:566px}
.kl-full .kl-chart.with-strip{height:calc(100vh - 54px - 34px)}
@media (max-width:1080px){ .kl-chart.with-strip{height:486px} }
@media (max-width:760px){ .kl-strip{height:auto;padding:6px 10px;flex-wrap:wrap;gap:2px 8px;font-size:12px} .kl-strip span{white-space:normal;flex-basis:100%;order:3} .kl-strip em{order:2} .kl-strip button{margin-left:auto;order:1} }
@media (max-width:760px){ .kl-chart.with-strip{height:max(340px,56vh)} .kl-full .kl-strip{display:none} .kl-full .kl-chart.with-strip{height:calc(100vh - 110px)} }
.mk-labs{display:none}
.mk-edge{stroke:#E3E6EC;shape-rendering:crispEdges}
.mk-nowl{stroke:var(--ink);stroke-dasharray:2 3;opacity:.55;shape-rendering:crispEdges}
.mk-g path{fill:none;stroke:#C9CED6;stroke-width:1}
.mk-g text{font-family:var(--num);font-size:11.5px;font-weight:600;fill:var(--ink2)}
.mk-g .go text{fill:var(--sky)}.mk-g .chase text{fill:#B26A00}
.mk-g .now rect{fill:var(--ink)}.mk-g .now text{fill:#fff;font-weight:700}.mk-g .now path{stroke:var(--ink);opacity:.5}
.mk-hl text{font-family:var(--num);font-size:10.5px;fill:var(--ink3)}
@media (max-width:760px){ .mk-g text{font-size:11px} }
.crp-h .more{white-space:nowrap}
.hv-lv li small{flex-basis:auto;margin-left:auto}
@media (max-width:760px){ .kl-top .kl-shot{display:none} }
/* 11-01 用户反馈：看图上移到结论区（时机下面、红绿灯上面），不再单独占一行网格 */
.hv-read{grid-template-areas:"verdict gauge" "plan gauge" "today gauge" "bots gauge"}
.hv-chart{grid-area:auto;margin:20px 0 6px;border-top:0;padding-top:0}
.hv-chart .hv-lv{margin-top:8px}
@media (max-width:760px){ .hv-read{grid-template-areas:"verdict" "gauge" "plan" "today" "bots"} .hv-chart{margin-top:16px} }
/* ---------------------------------------------------------------- 11-01 晚：吸收 PanWatch */
/* 我的条件提醒：对话框 */
.ua-c{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:8px 38px 8px 10px;border-radius:12px;background:var(--sub)}
.ua-c .inp.sm{background-color:var(--card)}
.ua-v{width:112px!important;font-family:var(--num)}
.ua-u,.ua-op{font-size:12.5px;color:var(--ink2);min-width:8px}
.ua-now{margin-left:auto;font-size:12px;color:var(--ink3);font-family:var(--num);white-space:nowrap}
.ua-now.met{color:var(--sky);font-weight:600}
.ua-now.met::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sky);margin-right:5px;vertical-align:1px}
.ua-x{position:absolute;right:7px;top:50%;margin-top:-12px;width:24px;height:24px;border-radius:7px;font-size:17px;line-height:22px;color:var(--ink3)}
.ua-f .f2>*{min-width:0}.ua-f .f2 .inp{width:100%}
.ua-x:hover{background:var(--card);color:var(--ink)}
.ua-add{display:inline-block;margin-top:8px;font-weight:600}
.ua-f>.t3.sm{margin-top:8px;line-height:1.6}
.ua-f .fld>span .seg{vertical-align:middle;margin:0 2px}
.ua-f .chips{margin-bottom:0;align-items:center}
.ua-note{flex:1;min-width:0;align-self:center;line-height:1.45}
/* 「我的提醒」页 */
.ua-page .page-h .btn{align-self:center}
.ua-page>.card+.card{margin-top:18px}
.ua-list{display:grid;gap:10px}
.ua-i{padding:12px 14px;border-radius:14px;background:var(--sub)}
.ua-i.off{opacity:.62}
.ua-i-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
.ua-i-h .tag{margin-left:0}
.ua-sym{font-weight:700;font-size:14px}
.ua-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}
.ua-conds{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ua-conds>span{display:inline-flex;align-items:baseline;gap:2px;padding:3px 9px;border-radius:9px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:13px}
.ua-conds>span.met{background:var(--skyA);box-shadow:none;color:#1F5FA8}
.ua-conds em{font-style:normal;color:var(--ink3);margin-right:6px;font-size:12px}
.ua-conds small{color:var(--ink3);font-size:12px;font-family:var(--num)}
.ua-meta{margin-top:6px;line-height:1.6}
.ua-hits{margin-top:6px;display:grid;gap:6px;justify-items:start}
.ua-h{display:grid;gap:2px;width:100%}
.ua-h b{font-size:12px;color:var(--ink2)}
.ua-h pre{margin:0;white-space:pre-wrap;font-family:inherit;font-size:12.5px;line-height:1.6;background:var(--card);border-radius:10px;padding:8px 10px;box-shadow:inset 0 0 0 1px var(--line)}
.ua-ex{display:flex;flex-wrap:wrap;gap:8px}
.ua-ex .chip{height:32px;padding:0 14px;background:var(--skyC);color:#1F5FA8;box-shadow:inset 0 0 0 1px var(--skyB)}
/* 小铃铛：关键位、时机旁边 */
.ua-bell{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:24px;height:24px;border-radius:7px;color:var(--ink3);vertical-align:middle;transition:background-color .15s,color .15s;flex:none}
.ua-bell:hover{background:var(--skyA);color:var(--sky)}
.ua-bell.wl{width:auto;height:24px;padding:0 9px;margin-left:8px;font-size:12px;font-weight:600;color:var(--sky);background:var(--skyC);box-shadow:inset 0 0 0 1px var(--skyB)}
.ua-bell.wl:hover{background:var(--skyA)}
.hv-lv-bell{margin-top:10px}.hv-lv-bell .ua-bell.wl{margin-left:0}
.crp-lv td.r{width:28px;padding-right:0}
@media (max-width:760px){
  .ua-c{padding:8px 38px 8px 8px}
  .ua-x{top:8px;margin-top:0;width:30px;height:30px}
  .ua-v{width:96px!important}
  .ua-now{margin-left:0;flex-basis:100%}
  .ua-name{max-width:100%}
  .ua-bell{width:30px;height:30px}
  .ua-bell.wl{height:30px;margin:6px 0 0}
}

/* 早上定计划、晚上对账 */
.dp-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 10px}
.dp-kpi>div{background:var(--sub);border-radius:14px;padding:12px 14px;display:grid;gap:2px;align-content:start}
.dp-kpi small{font-size:12px;color:var(--ink2)}
.dp-kpi b{font-size:24px;font-family:var(--num);font-weight:650;line-height:1.2}
.dp-kpi b em{font-style:normal;font-size:14px;color:var(--ink3);font-weight:500}
.dp-kpi span{font-size:12px;color:var(--ink3);line-height:1.5}
.dp-row{border-top:1px solid var(--line2);padding:9px 0}
.dp-row:first-of-type{border-top:0;padding-top:2px}
.dp-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;cursor:pointer}
.dp-h b{font-size:14px;min-width:4.2em}
.dp-h .tag{margin-left:0}
.dp-h .vchip{margin-right:0}
.dp-line{margin:5px 0 0;line-height:1.65}
.dp-plan{margin:8px 0 2px;font-size:13px}
@media (max-width:760px){ .dp-kpi{grid-template-columns:repeat(2,minmax(0,1fr))} .dp-kpi b{font-size:20px} }

/* 跟信号的模拟盘 */
.sim-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);margin:2px 0 12px}
.sim-ctl>span{margin:0 2px 0 6px}.sim-ctl>span:first-child{margin-left:0}
.sim-ctl .chip{height:26px;padding:0 10px}
.sim-say{font-size:14px;line-height:1.8;margin:2px 0 12px;color:var(--ink)}
.sim-say b{font-weight:650}
.sim-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sim-c{background:var(--sub);border-radius:16px;padding:14px 16px;display:grid;gap:3px;align-content:start}
.sim-c.go{box-shadow:inset 0 0 0 1.5px var(--skyB);background:linear-gradient(180deg,var(--skyC),var(--sub) 70%)}
.sim-c small{font-size:12.5px;color:var(--ink2);font-weight:600}
.sim-c>b{font-size:30px;font-family:var(--num);font-weight:650;line-height:1.15}
.sim-c>span{font-size:12.5px;color:var(--ink3);font-family:var(--num)}
.sim-c dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 0;font-size:12.5px}
.sim-c dt{color:var(--ink3)}.sim-c dd{margin:0;font-weight:600;font-family:var(--num);text-align:right}
.sim-curve{margin-top:14px;min-height:190px}
.sim-curve svg{display:block}
.sim-g{stroke:#EEF0F4;shape-rendering:crispEdges}
.sim-base{stroke:#B9BFCB;stroke-dasharray:3 3;shape-rendering:crispEdges}
.sim-livel{stroke:var(--amber);stroke-dasharray:4 3;shape-rendering:crispEdges}
.sim-tx{font-family:var(--num);font-size:11px;fill:var(--ink3)}
.sim-pany{fill:none;stroke:#A9B0BD;stroke-width:1.4;stroke-linejoin:round}
.sim-pgo{fill:none;stroke:var(--sky);stroke-width:2;stroke-linejoin:round}
.sim-lg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink2);margin-top:6px}
.sim-lg i{display:inline-block;width:16px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.sim-lg i.go{background:var(--sky)}.sim-lg i.any{background:#A9B0BD}
.sim-h .tbl tr.on td{background:var(--skyC)}
.sim-h .tbl small.tag{margin-left:6px;height:18px;font-size:11px}
@media (max-width:760px){ .sim-cols{grid-template-columns:minmax(0,1fr)} .sim-c>b{font-size:26px} .sim-say{font-size:13.5px} }

/* 读图报告里的 K 线形态一行、委员会草稿 */
.crp-pat{margin:8px 0 2px;display:grid;gap:4px;font-size:12.5px;line-height:1.55}
.crp-pat p{margin:0}
.crp-pat .tag{margin-left:6px;height:18px;font-size:11px}
.mn-draft{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:rgba(224,146,47,.10);color:#8A5210;font-size:13px;line-height:1.6}

/* 美股交易时段条 */
.us-strip{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;padding:5px 10px;border-radius:10px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;color:var(--ink2);width:fit-content;max-width:100%;line-height:1.5}
.card .us-strip{background:var(--sub)}
.us-strip b{color:var(--ink);font-weight:650;white-space:nowrap}
.us-strip b::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink3);margin-right:6px;vertical-align:1px}
.us-strip.regular b::before{background:var(--good);box-shadow:0 0 0 3px rgba(31,169,113,.15)}
.us-strip.pre b::before,.us-strip.post b::before{background:var(--amber)}
.us-strip em{font-style:normal;font-size:12px;color:#8A5210;background:rgba(224,146,47,.12);border-radius:6px;padding:0 7px}
.us-strip i{font-style:normal;font-size:11.5px;padding:0 7px;border-radius:6px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.us-strip i.closed{color:var(--bad)}.us-strip i.early{color:#8A5210}
.hv-who+.us-strip{margin-top:6px}
.sym-head .us-strip{margin-top:6px}

/* 添加到主屏幕 */
.pwa .btn{margin-top:2px}
.pwa-steps{padding-left:20px;display:grid;gap:4px;font-size:13.5px;line-height:1.7}
.pwa-steps li::marker{color:var(--sky);font-weight:700}
/* 11-04：纪要卡片头里的「数字 / 出处」两个标签：不拆字，放不下就一起换到下一行 */
.mn-card h5{flex-wrap:wrap;row-gap:4px}
.mn-card h5 .vf{white-space:nowrap;margin-left:0}
.mn-card h5 .t3+.vf{margin-left:auto}
.mn-card h5 .vf.ok,.mn-side h5 .vf.ok{color:var(--up)}.mn-card h5 .vf.mid,.mn-side h5 .vf.mid{color:var(--amber)}.mn-card h5 .vf.bad,.mn-side h5 .vf.bad{color:var(--down);background:#fdeceb}

/* ================================================================ 11-04 工作台（借鉴 tickflow-stock-panel）：侧栏自选 + 功能、顶栏、手机自选横条 + 底部入口 */
.app.wb{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.app.wb .main{padding:0 26px 44px 22px;min-width:0}
.wb-side{position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--line2);padding:0 0 10px;z-index:16}
.wb-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 10px}
.wb-brand svg{flex:none}
.wb-brand b{font-size:15px;letter-spacing:.04em;display:block;line-height:1.25}
.wb-brand small{display:block;color:var(--ink3);font-size:11px;line-height:1.3}
.wb-wl{padding:2px 8px 8px}
.wb-wl-h{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;color:var(--ink3);font-size:12px}
.wb-wl-h button{color:var(--sky);font-size:12px;padding:2px 6px;border-radius:6px}
.wb-wl-h button:hover{background:var(--skyA)}
.wb-wi{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;width:100%;padding:7px 8px;border-radius:8px;text-align:left;align-items:center}
.wb-wi:hover{background:var(--sub)}
.wb-wi.on{background:var(--sub);box-shadow:inset 2px 0 0 var(--sky)}
.wb-wi .s{font-weight:650;font-size:13px;display:flex;gap:6px;align-items:baseline;min-width:0}
.wb-wi .s em{font-style:normal;font-weight:400;color:var(--ink3);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-wi .p{text-align:right;font-size:13px;font-family:var(--num)}
.wb-wi .p .sn-roll{font-size:13px}
.wb-wi .v{display:flex;gap:5px;align-items:center;min-width:0}
.wb-wi .v .vchip{margin-right:0;height:17px;font-size:10.5px;padding:0 6px}
.wb-wi .c{text-align:right;font-size:11.5px;font-family:var(--num)}
.wb-wi .fill{font-style:normal;font-size:10.5px;color:var(--amber);white-space:nowrap}
.rd{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none;font-style:normal;vertical-align:1px}
.rd.r0{background:var(--r-calm)}.rd.r1{background:var(--r-warn)}.rd.r2{background:var(--r-danger);box-shadow:0 0 0 3px rgba(229,72,77,.18)}
.vchip.stop{background:rgba(229,72,77,.12);color:#C63A3F;box-shadow:none}
.wb-nav{border-top:1px solid var(--line2);padding:8px;margin-top:4px;display:grid;gap:1px}
.wb-nav a{padding:7px 10px;border-radius:7px;color:var(--ink2);font-size:13.5px}
.wb-nav a:hover{background:var(--sub);color:var(--ink)}
.wb-nav a.on{background:var(--sub);color:var(--ink);font-weight:650;box-shadow:inset 2px 0 0 var(--sky)}
.wb-nav hr{border:0;border-top:1px solid var(--line2);margin:5px 10px}
.wb-foot{margin-top:auto;padding:10px 14px 4px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line2);font-size:12px}
.wb-theme{display:inline-flex;padding:2px;border-radius:8px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line2)}
.wb-theme button{height:24px;padding:0 10px;border-radius:6px;font-size:12px;color:var(--ink2)}
.wb-theme button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(23,32,56,.14)}
.wb-top{display:flex;align-items:center;gap:14px;min-height:58px;padding:10px 0;position:sticky;top:0;z-index:15;background:var(--bg);margin-bottom:12px;border-bottom:1px solid var(--line2)}
body.hv-on .wb-top{background:#fff}
.wb-ttl{min-width:0}
.wb-ttl h1{font-size:17px;font-weight:680;line-height:1.3}
.wb-ttl p{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.wb-top .sp{flex:1}
.wb-srch{display:flex;align-items:center;gap:8px;height:32px;width:250px;padding:0 10px;border-radius:9px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink3);font-size:12.5px;flex:none}
.wb-srch:hover{color:var(--ink2);box-shadow:inset 0 0 0 1px var(--sky2)}
.wb-srch kbd{margin-left:auto;font:11px var(--num);color:var(--ink3);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.wb-iss{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:var(--ink2);line-height:1.35;flex:none}
.wb-iss b{color:var(--ink);font-weight:650}
.wb-iss .cmt-live{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb .page-h h1{display:none}
.wb .page-h{margin:2px 2px 14px}
.wb .hv-syms{display:none}
.wb .hv{padding-top:2px}
.wb-mw,.wb-mnav,.wb-more{display:none}
.wb-light{margin-left:6px;font-size:10.5px;padding:0 5px;border-radius:4px;background:var(--sub);color:var(--ink3);box-shadow:inset 0 0 0 1px var(--line2)}
.trust-sub{margin:-4px 0 14px}
.lab-embed .page{padding:0}.lab-embed .page-h{display:none}
.sym-light{margin:-4px 4px 12px}

/* 看板 */
.wb-pn{padding:12px 16px 14px;min-width:0}
.wb-pn-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.wb-pn-h h2{font-size:14px;font-weight:650}
.wb-pn-h p{color:var(--ink3);font-size:12px}
.wb-pn-h .sp{flex:1}
.board{display:grid;gap:14px}
.wb-g2{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);gap:14px}
.wb-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wb-tbl td,.wb-tbl th{white-space:nowrap}
.wb-tbl tbody tr{cursor:pointer}
.wb-tbl tbody tr:hover td{background:var(--skyC)}
.hm{position:relative;height:420px;border-radius:8px;overflow:hidden;background:var(--card)}
.hm-t{position:absolute;overflow:hidden;border:1px solid var(--card);display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.15;text-align:center;padding:0;color:#fff}
.hm-t b{font-weight:650;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3)}
.hm-t span{font-family:var(--num);color:rgba(255,255,255,.9)}
.hm-t:hover{outline:2px solid var(--ink);outline-offset:-2px;z-index:2}
.hm-t.lt b{color:#1B1F2A;text-shadow:none}.hm-t.lt span{color:rgba(27,31,42,.75)}
.hm-lg{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink3);margin-top:8px}
.hm-lg i{display:block;width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,#D64840,#B0BAC9,#189664)}
.hm-lg i.dk{background:linear-gradient(90deg,#B4423B,#2A3346,#1E8F65)}
.hm-lg .sp{flex:1}
body.redup .hm-lg i{background:linear-gradient(90deg,#189664,#B0BAC9,#D64840)}
body.redup .hm-lg i.dk{background:linear-gradient(90deg,#1E8F65,#2A3346,#B4423B)}
.hm-tip{position:fixed;pointer-events:none;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:12px;z-index:40;min-width:180px;box-shadow:0 12px 30px rgba(23,32,56,.18)}
.hm-tip dl{display:grid;grid-template-columns:auto auto;gap:2px 14px;margin-top:4px}
.hm-tip dt{color:var(--ink3)}.hm-tip dd{text-align:right;font-family:var(--num)}
.wb-br{display:grid;gap:14px}
.br-row{display:grid;gap:6px}
.br-row .h{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--ink2)}
.br-row .h b{font-family:var(--num);font-size:20px;color:var(--ink);font-weight:600}
.br-row .h b.up{color:var(--up)}.br-row .h b.down{color:var(--down)}
.split{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--sub)}
.split i{display:block;height:100%}
/* 11-06：只给看板的宽度条用。11-05 写成全局 .bar，把后台各页顶上的说明条（同名 .bar）压成了 6px 高、文字和审计页的切换都看不见了 */
.br-row .bar{height:6px;border-radius:3px;background:var(--sub);overflow:hidden}
.br-row .bar i{display:block;height:100%;background:var(--sky)}
.ladder{display:grid;gap:4px}
.ladder div{display:grid;grid-template-columns:78px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:12px;color:var(--ink2)}
.ladder em{display:block;height:12px;border-radius:2px}
.ladder b{text-align:right;font-weight:600;color:var(--ink)}
.wb-ev{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 18px}
.wb-ev div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 10px;font-size:12.5px;line-height:1.5}
.wb-ev b{font-weight:600}
.wb-ev small{grid-column:2}

/* 添加股票代币 */
.add-s{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--sky2);color:var(--ink3)}
.add-s input{flex:1;height:36px;background:none;border:0;outline:none;color:var(--ink);font:inherit;font-size:14px;font-family:var(--num);letter-spacing:.02em}
.add-f{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0 6px}
.add-f .chip{height:26px}
.add-f .t3{margin-left:6px}
.add-t{max-height:52vh;overflow:auto}
.add-t td{white-space:nowrap}
.add-note{flex:1;line-height:1.6}

/* 研判页正股对照 */
.snap-card{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 14px;padding:12px 18px;margin:0 0 14px;align-items:end}
.snap-card>div{display:grid;gap:1px}
.snap-card small{color:var(--ink3);font-size:11.5px}
.snap-card b{font-size:17px;font-weight:600}
.snap-card p{grid-column:1/-1;margin-top:4px}
.wb-me-l{display:grid;gap:2px;margin-top:2px}
.wb-me-l>div{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--sub)}
.wb-me-l .sp{flex:1}
.wb-me-l .lnk{font-size:12.5px;padding:0 4px}
.wb-me-l .lnk:disabled{color:var(--ink3);opacity:.5}

@media (max-width:1180px) and (min-width:761px){
  .app.wb{grid-template-columns:208px minmax(0,1fr)}
  .wb-srch{width:180px}
  .wb-ttl p{max-width:34vw}
  .wb-g2{grid-template-columns:minmax(0,1fr)}
  .wb-g3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .snap-card{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .app.wb{grid-template-columns:minmax(0,1fr)}
  .wb-side{display:none}
  .app.wb .main{padding:0 12px 96px}
  .wb-top{min-height:50px;padding:8px 0;margin-bottom:6px;gap:10px}
  .wb-ttl p,.wb-iss{display:none}
  .wb-srch{width:34px;padding:0;justify-content:center;font-size:0;gap:0}
  .wb-srch kbd{display:none}
  .wb-mw{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;margin:0 -12px;padding-left:12px;padding-right:12px}
  .wb-mw::-webkit-scrollbar{display:none}
  .wb-mw .wb-wi{width:auto;min-width:132px;flex:none;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
  .sc-t td:first-child{min-width:168px}
  .add-t td,.add-t th{padding-left:6px;padding-right:6px}
  .wb-mw .wb-wi.on{box-shadow:inset 0 0 0 1.5px var(--sky)}
  .wb-mw .wb-wi.add{min-width:auto;color:var(--sky);font-size:12.5px;display:flex;align-items:center}
  .wb-mnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));height:54px;border-radius:15px;background:var(--card);box-shadow:0 10px 30px -8px rgba(23,32,56,.3),inset 0 0 0 1px var(--line2);z-index:30}
  .wb-mnav a,.wb-mnav button{display:grid;place-items:center;font-size:12.5px;color:var(--ink2)}
  .wb-mnav a.on,.wb-mnav button.on{color:var(--sky);font-weight:650}
  .wb-more{display:block;position:fixed;inset:0;z-index:29;background:rgba(10,15,25,.25)}
  .wb-more-b{position:absolute;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));background:var(--card);border-radius:15px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;box-shadow:0 10px 30px -8px rgba(23,32,56,.3)}
  .wb-more-b a{padding:12px 6px;border-radius:10px;text-align:center;font-size:13.5px;color:var(--ink2)}
  .wb-more-b a.on{background:var(--sub);color:var(--ink);font-weight:650}
  .m-hide{display:none}
  .wb-g2,.wb-g3{grid-template-columns:minmax(0,1fr)}
  .hm{height:330px}
  .snap-card{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 14px}
  .wb-pn-h p{flex-basis:100%;order:3}
}

/* ================================================================ 深色（专业模式，11-04）：只换颜色变量；写死的颜色在下面逐条改（后半段由脚本扫出全部浅底色 / 深字色生成，再人工挑过） */
html[data-theme=dark]{color-scheme:dark;
  --bg:#0E1726;--card:#142137;--sub:#1B2A44;--line:#27384F;--line2:#1E2D45;
  --ink:#DCE5F1;--ink2:#9AA9C0;--ink3:#64748E;
  --sky:#5AA2F0;--sky2:#3E77BE;--skyA:rgba(90,162,240,.15);--skyB:rgba(90,162,240,.30);--skyC:rgba(90,162,240,.08);
  --up:#2FC28C;--down:#F2685E;--flat:#7D8AA0;--amber:#EAA23C;--upA:rgba(47,194,140,.15);--downA:rgba(242,104,94,.15);
  --good:#2FC28C;--bad:#F05058;
  --shadow:0 1px 2px rgba(0,0,0,.25),0 12px 32px -16px rgba(0,0,0,.55);
  --r-calm:#3FB984;--r-warn:#EAA23C;--r-danger:#F05058}
html[data-theme=dark] body.redup{--up:#F2685E;--down:#2FC28C;--upA:rgba(242,104,94,.15);--downA:rgba(47,194,140,.15)}
html[data-theme=dark] .hv{--hv-long:#2FC28C;--hv-short:#F2685E;--hv-wash:#142137}
html[data-theme=dark] body.redup .hv{--hv-long:#F2685E;--hv-short:#2FC28C}
html[data-theme=dark] body.hv-on,html[data-theme=dark] body.hv-on .wb-top{background:var(--bg)}
html[data-theme=dark] .wb-side{background:#0B1322}
html[data-theme=dark] .card .seg{background:var(--bg)}
html[data-theme=dark] .seg .knob{background:var(--line);box-shadow:none}
html[data-theme=dark] .vchip{background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] .vchip.long{background:var(--upA);box-shadow:none}
html[data-theme=dark] .vchip.short{background:var(--downA);box-shadow:none}
html[data-theme=dark] .vchip.stop{background:rgba(240,80,88,.18)}
html[data-theme=dark] .menu{box-shadow:0 16px 40px -12px rgba(0,0,0,.6),inset 0 0 0 1px var(--line)}
html[data-theme=dark] .modal{box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 0 0 1px var(--line)}
html[data-theme=dark] .wb-theme button.on{background:var(--line);box-shadow:none}
html[data-theme=dark] .wb-mnav,html[data-theme=dark] .wb-more-b{box-shadow:0 10px 30px -8px rgba(0,0,0,.6),inset 0 0 0 1px var(--line)}
html[data-theme=dark] .hm{background:var(--bg)}
html[data-theme=dark] .hm-t{border-color:var(--bg)}
html[data-theme=dark] .hm-t:hover{outline-color:#fff}
html[data-theme=dark] .hm-tip{background:#0A1220;box-shadow:0 12px 30px rgba(0,0,0,.5)}
html[data-theme=dark] ::selection{background:rgba(90,162,240,.35)}
html[data-theme=dark] img.logo,html[data-theme=dark] .tfa .qr img{filter:none}
/* 反白的小块（背景是 --ink、字是白色）：深色下 --ink 变成浅色，字改成深色 */
html[data-theme=dark] .chip.on,html[data-theme=dark] .chipb.on,html[data-theme=dark] .hv-lev button.on,html[data-theme=dark] .crp-col h4 i,html[data-theme=dark] .kl-hint,html[data-theme=dark] .toast{color:var(--bg)}
html[data-theme=dark] .kl-hint button{color:#1F5FA8}
html[data-theme=dark] .fc .fc-xh text,html[data-theme=dark] .hv-g .g-now text,html[data-theme=dark] .mk-now text,html[data-theme=dark] .mk-g .now text{fill:var(--bg)}
html[data-theme=dark] .modal-bg{background:rgba(4,8,16,.6)}
html[data-theme=dark] .btn.primary{background:#3A86DA;box-shadow:none}
html[data-theme=dark] .btn.primary:hover{background:#4A93E3}
/* 以下由脚本生成 */
html[data-theme=dark] .seg{background:var(--sub)}
html[data-theme=dark] .btn.primary:disabled{background:#2B4466}
html[data-theme=dark] .btn.ghost:hover{background:var(--sub)}
html[data-theme=dark] .btn.danger{background:rgba(240,80,88,.13);color:#FF8A8F}
html[data-theme=dark] .inp:focus{background:var(--card)}
html[data-theme=dark] .uname{background:var(--sub)}
html[data-theme=dark] .login{background:radial-gradient(1200px 600px at 20% 0%,rgba(90,162,240,.13) 0%,transparent 60%),var(--bg)}
html[data-theme=dark] .ag-it:hover{background:var(--sub)}
html[data-theme=dark] .cms.fail{background:rgba(240,80,88,.13)}
html[data-theme=dark] .vf.bad{background:rgba(240,80,88,.13)}
html[data-theme=dark] .mn-vf.bad{background:rgba(240,80,88,.13);color:#FF8A8F}
html[data-theme=dark] .mon-l li.crit{background:rgba(240,80,88,.13);color:#FF8A8F}
html[data-theme=dark] .plan.wait{background:linear-gradient(180deg,var(--sub),var(--card) 70%)}
html[data-theme=dark] .kl-guest{background:var(--card)}
html[data-theme=dark] .kt-v span{background:var(--sub)}
html[data-theme=dark] .trend.ref{background:linear-gradient(180deg,var(--sub),var(--card) 70%)}
html[data-theme=dark] .hv-remind{background:var(--card)}
html[data-theme=dark] .hv-alert{background:rgba(240,80,88,.13)}
html[data-theme=dark] .hv-alert.danger{background:rgba(234,162,60,.13)}
html[data-theme=dark] .hv-alert .hv-al-d .nfd{background:var(--card)}
html[data-theme=dark] .hv-alert.after{background:var(--sub)}
html[data-theme=dark] .hv-light{background:var(--sub)}
html[data-theme=dark] .hv-light.green{background:rgba(47,194,140,.13)}
html[data-theme=dark] .hv-light.yellow{background:rgba(234,162,60,.13)}
html[data-theme=dark] .hv-light.red{background:rgba(240,80,88,.13)}
html[data-theme=dark] .kl-note{background:var(--card)}
html[data-theme=dark] .crp-tier.wait{background:var(--sub)}
html[data-theme=dark] .hv-tk{background:var(--sub)}
html[data-theme=dark] .hv-tm-seg .on{background:var(--card)}
html[data-theme=dark] .mn-card h5 .vf.bad,html[data-theme=dark] .mn-side h5 .vf.bad{background:rgba(240,80,88,.13)}
html[data-theme=dark] .nfi.hot .nfi-h b{color:#FF8A8F}
html[data-theme=dark] .tc-warn li.crit{color:#FF8A8F}
html[data-theme=dark] .kp-w.crit{color:#FF8A8F}
html[data-theme=dark] .lab-dh li.bad{color:#FF8A8F}
html[data-theme=dark] .hv-al-h{color:#FF8A8F}
html[data-theme=dark] .hv-alert.danger .hv-al-h{color:#F0B45E}
html[data-theme=dark] .kl-note b{color:#B9A3F0}
html[data-theme=dark] .crp-v.short{color:#FF8A8F}
html[data-theme=dark] body.redup .crp-v.long{color:#FF8A8F}
html[data-theme=dark] .crp-cm b{color:#B9A3F0}
html[data-theme=dark] .kl-strip b{color:#B9A3F0}
html[data-theme=dark] .ua-conds>span.met{color:#8FC0F5}
html[data-theme=dark] .ua-ex .chip{color:#8FC0F5}
html[data-theme=dark] .tag.amber{color:#F0B45E}
html[data-theme=dark] .banner{color:#F0B45E}
html[data-theme=dark] .banner.info{color:#8FC0F5}
html[data-theme=dark] .it .nm em{color:#F0B45E}
html[data-theme=dark] .tc-warn li.warn{color:#F0B45E}
html[data-theme=dark] .tc-warn li.ok{color:#3FCB97}
html[data-theme=dark] .tc-stale{color:#F0B45E}
html[data-theme=dark] .kt-warn{color:#F0B45E}
html[data-theme=dark] .kp-w.warn{color:#F0B45E}
html[data-theme=dark] .kl-r.warn b em{color:#F0B45E}
html[data-theme=dark] .tag.warn{color:#F0B45E}
html[data-theme=dark] .hv-flip{color:#F0B45E}
html[data-theme=dark] .hv-st.s1{color:#F0B45E}
html[data-theme=dark] .hv-g .g-tick{stroke:#34445E}
html[data-theme=dark] .hv-g .g-tick.mj{stroke:#4A5B76}
html[data-theme=dark] .hv-g .g-axis{stroke:#4A5B76}
html[data-theme=dark] .hv-g .g-conn{stroke:#34445E}
html[data-theme=dark] .hv-lt-t td.mid{color:#F0B45E}
html[data-theme=dark] .hv-g .k-liqS .g-line,html[data-theme=dark] .hv-g .k-liqL .g-line{stroke:#FF6B6B}
html[data-theme=dark] .hv-g .k-liqS .g-pl,html[data-theme=dark] .hv-g .k-liqS .g-lab,html[data-theme=dark] .hv-g .k-liqL .g-pl,html[data-theme=dark] .hv-g .k-liqL .g-lab{fill:#FF6B6B}
html[data-theme=dark] .hv-g .g-sub.edge{fill:#FF6B6B}
html[data-theme=dark] .crp-v.long{color:#3FCB97}
html[data-theme=dark] body.redup .crp-v.short{color:#3FCB97}
html[data-theme=dark] .crp-t.chase{color:#F0B45E}
html[data-theme=dark] .crp-lv tr.g-趋势 td:nth-child(2){color:#F0B45E}
html[data-theme=dark] .mk-grid line{stroke:#34445E}
html[data-theme=dark] .mk-lv{stroke:#4A5B76}
html[data-theme=dark] .mk-labs text{stroke:var(--card)}
html[data-theme=dark] .mk-labs text.chase{fill:#F0B45E}
html[data-theme=dark] .mk-edge{stroke:#34445E}
html[data-theme=dark] .mk-g path{stroke:#34445E}
html[data-theme=dark] .mk-g .chase text{fill:#F0B45E}
html[data-theme=dark] .sim-g{stroke:#34445E}
html[data-theme=dark] .sim-base{stroke:#34445E}
html[data-theme=dark] .sim-pany{stroke:#4A5B76}
html[data-theme=dark] .mn-draft{color:#F0B45E}
html[data-theme=dark] .us-strip em{color:#F0B45E}
html[data-theme=dark] .us-strip i.early{color:#F0B45E}
html[data-theme=dark] .vchip.stop{color:#FF8A8F}

/* ================================================================ 11-04 二期：合并检验、关键位检验、选代币 */
.pl-t td{vertical-align:top}
.pl-t .pl-n{max-width:300px;white-space:normal}
.pl-t .pl-n small{display:block;line-height:1.5;margin-top:2px}
.pl-t tr.pl-1 td{border-top:1px solid var(--line)}
.pl-t tr.pl-2 td{border-top:1px dashed var(--line2)}
.pl-t .tag,.lv-t .tag,.scr-r .tag,.scr-tags .tag{margin-left:0}
.lv-c{display:grid;gap:0;line-height:1.45}
.lv-c b{font-family:var(--num);font-weight:600}
.lv-t td{vertical-align:top}
.scr-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 2px 12px}
.scr-sum{padding:12px 18px;margin-bottom:14px;border-radius:14px;font-size:13.5px;line-height:1.7;box-shadow:inset 0 0 0 1px var(--line);background:var(--card)}
.scr-sum.ok{box-shadow:inset 0 0 0 1px rgba(31,169,113,.35)}
.scr-rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:14px}
.scr-r{padding:12px 14px;display:flex;flex-direction:column;gap:6px;border-radius:14px}
.scr-r.on{box-shadow:inset 0 0 0 1.5px var(--sky),var(--shadow)}
.scr-r.pass{box-shadow:inset 0 0 0 1px rgba(31,169,113,.45),var(--shadow)}
.scr-r-h{display:flex;align-items:center;justify-content:space-between;gap:6px}
.scr-r-h b{font-size:14px}
.scr-r p{line-height:1.5}
.scr-sides{display:flex;gap:6px;flex-wrap:wrap}
.scr-sides .chipb{font-size:12px}
.scr-sides .chipb b{margin-left:4px;font-weight:700}
.scr-sides .chipb:disabled{opacity:.45;cursor:default}
.scr-r-f{margin-top:auto;font-size:11.5px}
.scr-t .scr-sort{cursor:pointer;user-select:none}
.scr-t .scr-sort.on{color:var(--ink)}
.scr-t tr.nolink{cursor:default}
.scr-tags{display:flex;gap:4px;flex-wrap:wrap;max-width:280px;white-space:normal}
@media (max-width:760px){
  .scr-rules{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .scr-r{padding:10px 12px}
  .scr-r p.t3{display:none}
  .scr-r p.scr-r-f{display:block}
}
.kl-menu label.kl-sub{padding-left:24px;font-size:12.5px;color:var(--ink2)}
.kl-menu label.kl-sub .tag{margin-left:auto;height:18px;font-size:10.5px;padding:0 6px}
.kl-menu:has(.kl-sub){width:330px}
.scr-cold{margin-left:6px;height:17px;font-size:10.5px;padding:0 5px}

/* 11-04 三期：监控页 */
.ua-page .trust-tabs{margin-bottom:14px}
.sa-f{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:2px 0 10px}
.sa-mine{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12.5px;color:var(--ink2)}
.sa-list{display:grid;gap:2px}
.sa-i{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:10px 10px;border-radius:10px;cursor:pointer}
.sa-i:hover{background:var(--sub)}
.sa-i>i{width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--sky)}
.sa-i.warn>i{background:var(--amber)}.sa-i.crit>i{background:var(--bad)}
.sa-i.read{opacity:.62}
.sa-h{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.sa-h .tag{margin-left:0;height:18px;font-size:10.5px}
.sa-b p{font-size:12.5px;color:var(--ink2);line-height:1.6;white-space:pre-wrap;margin-top:2px}
.sb-flip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.me-moved .btn{margin-top:4px}
.sb-flip .dg-o.off{opacity:.55;cursor:default}
.pl-wrap{max-height:none}

/* 11-06：横幅上的「怎么判的」 */
.hv-al-b{margin-top:6px;font-size:12px;line-height:1.6;color:var(--ink3)}

/* ================================================================ 11-06 实盘：顶栏胶囊 wb-live（每个页面都有）+ 实盘页 ac-* + 后台实盘账户 ad-*（类名都带前缀，别和别的页面撞） */
.wb-live{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 12px;border-radius:11px;background:linear-gradient(135deg,#2F7BD6,#3D8AE0 55%,#5AA0EA);color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;box-shadow:0 4px 14px -4px rgba(61,138,224,.55);flex:none;white-space:nowrap}
.wb-live i{width:8px;height:8px;border-radius:50%;background:#4CF0A8;box-shadow:0 0 0 0 rgba(76,240,168,.7);animation:wbLive 1.8s ease-out infinite}
.wb-live b{font-family:var(--num);font-size:12.5px;font-weight:650;padding:2px 7px;border-radius:7px;background:rgba(255,255,255,.18)}
.wb-live:hover{filter:brightness(1.05);color:#fff}
.wb-live.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--sky)}
@keyframes wbLive{0%{box-shadow:0 0 0 0 rgba(76,240,168,.65)}80%,100%{box-shadow:0 0 0 7px rgba(76,240,168,0)}}
@media (prefers-reduced-motion:reduce){.wb-live i{animation:none}}
/* 驾驶舱入口（顶栏，实盘旁边）：深色小屏，和驾驶舱本身一个调子 */
.wb-ck{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px 0 11px;border-radius:11px;background:linear-gradient(140deg,#0E1726 0%,#15284A 100%);color:#D7E9FF;font-weight:650;font-size:13.5px;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(95,190,255,.38),0 4px 14px -6px rgba(14,23,38,.55);flex:none;white-space:nowrap}
.wb-ck svg{color:#5FD3F3;flex:none}
.wb-ck:hover{color:#fff;box-shadow:inset 0 0 0 1px rgba(95,211,243,.75),0 4px 16px -5px rgba(40,120,200,.6)}
html[data-theme=dark] .wb-ck{background:linear-gradient(140deg,#12223C 0%,#1C3560 100%)}
/* 独立页（实盘）：没有侧栏，顶栏左边是「返回」 */
.app.wb.solo{grid-template-columns:minmax(0,1fr)}
.app.wb.solo .main{width:100%;max-width:1600px;margin:0 auto;padding:0 28px 44px}
.wb-back{display:inline-flex;align-items:center;gap:3px;height:34px;padding:0 13px 0 8px;border-radius:10px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);font-size:13.5px;font-weight:600;flex:none}
.wb-back:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--sky2)}
.wb-back:focus-visible,.wb-ck:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.wb-top.solo .wb-ttl p{max-width:48vw}
.pg-live .wb-top .wb-ttl p{max-width:520px}
/* 实盘页第二版（11-06 下午）：只展示数据；卡片 ac-card，头部 ac-head，图表 ac-lc（KLineChart）/ ac-combo / ac-vb（SVG） */
.ac-page{max-width:1520px}
.ac-page em{font-style:normal}
.ac-page>section+section,.ac-page>section+.ac-row2,.ac-page>.ac-row2+section,.ac-page>.ac-row2+.ac-row2{margin-top:16px}
.ac-none{max-width:720px}
.ac-none p{margin:8px 0 16px;line-height:1.7}
.ac-accts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 2px 12px}
.ac-aseg{max-width:100%;overflow-x:auto}
.ac-aseg button em{font-family:var(--num);font-size:12px;margin-left:6px}
.ac-card{display:flex;flex-direction:column;min-width:0}
.ac-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ac-card-h h3{margin:0;font-size:15px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ac-card-h h3 small{font-size:12px;color:var(--ink3);font-weight:400}
.ac-card-x{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ac-row2{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);gap:16px;align-items:stretch}
.ac-row2.r2{grid-template-columns:minmax(330px,1fr) minmax(0,1.6fr)}
.ac-kvi{display:grid;align-content:start;gap:2px;min-width:0}
.ac-kvi small{font-size:12px;color:var(--ink2)}
.ac-kvi b{font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-kvi em{font-size:11.5px;color:var(--ink3);line-height:1.35}
/* 头部 */
.ac-head{padding:18px 22px 20px;background:linear-gradient(135deg,var(--card) 0%,var(--card) 55%,var(--skyC) 100%)}
.ac-hd-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ac-hd-name b{font-size:19px}.ac-hd-name .tag{margin-left:0}
.ac-hd-top p{font-size:13px;color:var(--ink2);margin-top:6px;line-height:1.6}
.ac-hd-top p.ac-err{color:var(--down)}
.ac-hd-main{display:grid;grid-template-columns:minmax(260px,0.9fr) minmax(0,2.4fr);gap:26px;align-items:end;margin-top:16px}
.ac-hd-eq small{display:block;font-size:12px;color:var(--ink2);letter-spacing:.02em}
.ac-eqv{font-size:42px;font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:4px 0 8px}
.ac-hd-chg{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--ink2)}
.ac-hd-chg b{font-size:14px;margin:0 2px}.ac-hd-chg i{font-style:normal;font-family:var(--num);margin-left:4px}
.ac-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;padding:14px 16px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
/* KLineChart 容器 */
.ac-lc{width:100%;position:relative}
.ac-lc-ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;color:var(--ink3);font-size:13px;border-radius:12px;background:var(--sub)}
.ac-eq-sum{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2);margin:-4px 0 8px}
.ac-eq-sum b{color:var(--ink);font-weight:650;margin-left:3px}
/* 资产分布 */
.ac-as-top{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.ac-as-top .ac-donut{align-self:center}
.ac-donut{position:relative;flex:none}
.ac-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ac-donut-c small{font-size:11px;color:var(--ink3)}.ac-donut-c b{font-size:17px}
.ac-as-leg{display:grid;gap:9px;flex:1;min-width:0}
.ac-as-leg>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 52px;gap:8px;align-items:center;font-size:13px}
.ac-as-leg i{width:10px;height:10px;border-radius:3px}
.ac-as-leg b{font-weight:650}.ac-as-leg em{font-size:12px;color:var(--ink3);text-align:right}
.ac-as-ccy{margin-top:16px;border-top:1px solid var(--line2);padding-top:12px;display:grid;gap:7px}
.ac-as-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.2fr) 52px;gap:10px;align-items:center;font-size:12.5px}
.ac-as-row span{color:var(--ink2);text-align:right}.ac-as-row em{color:var(--ink3);text-align:right}
.ac-bar{height:6px;border-radius:4px;background:var(--line2);overflow:hidden}
.ac-bar i{display:block;height:100%;border-radius:4px;background:var(--sky)}
/* 收益日历 */
.ac-cal-nav{display:flex;align-items:center;gap:8px}.ac-cal-nav b{font-size:13px;min-width:86px;text-align:center}
.ac-cal-nav .btn{min-width:28px;padding:0 8px}
.ac-cal-sum{display:flex;gap:16px;font-size:12.5px;color:var(--ink2);margin:-4px 0 10px}
.ac-cal-sum b{margin-left:3px}
.ac-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.ac-cal-w{font-size:11.5px;color:var(--ink3);text-align:center;padding-bottom:2px}
.ac-cal-d{min-height:50px;border-radius:9px;background:var(--sub);padding:6px 7px;display:flex;flex-direction:column;justify-content:space-between;cursor:default}
.ac-cal-d span{font-size:11.5px;color:var(--ink2)}
.ac-cal-d b{font-size:12px;font-weight:650;color:var(--ink);text-align:right}
.ac-cal-d.nil{background:none}.ac-cal-d.none{opacity:.45}.ac-cal-d.gap{background:repeating-linear-gradient(45deg,var(--sub),var(--sub) 4px,var(--line2) 4px,var(--line2) 8px)}
/* 柱 + 线 */
.ac-combo{position:relative}
.ac-combo svg{display:block;overflow:visible;cursor:crosshair}
.ac-combo .ax,.ac-vb .ax{font-family:var(--num);font-size:11px;fill:var(--ink3)}
.ac-combo .base,.ac-vb .base{stroke:var(--line);stroke-dasharray:2 3}
.ac-combo .bu{fill:var(--up);opacity:.78}.ac-combo .bd{fill:var(--down);opacity:.78}
.ac-combo .cl{fill:none;stroke:var(--sky);stroke-width:2;stroke-linejoin:round}
.ac-combo .hv{stroke:var(--ink3);stroke-dasharray:3 3}
.ac-combo .ax.cr{fill:var(--sky)}
.ac-vb{display:block;overflow:visible}
.ac-hm{display:none}
.ac-wm{min-width:0;overflow:hidden}.ac-st-grid>div{min-width:0}
.ac-tip{position:absolute;top:6px;transform:translateX(-50%);background:var(--card);box-shadow:0 6px 20px -8px rgba(20,30,60,.35),inset 0 0 0 1px var(--line);border-radius:9px;padding:6px 10px;font-size:12px;display:grid;gap:2px;pointer-events:none;white-space:nowrap}
.ac-tip i{font-style:normal;font-family:var(--num);font-weight:650;margin-left:4px}
.ac-brk{margin-top:10px;display:grid;gap:2px}
.ac-bk{display:grid;grid-template-columns:84px minmax(0,1fr) 104px;align-items:center;gap:10px;font-size:13px;padding:4px 0}
.ac-bk-b{height:7px;border-radius:4px;background:var(--line2);overflow:hidden}
.ac-bk-b i{display:block;height:100%;border-radius:4px;background:var(--ink3)}
.ac-bk-b i.up{background:var(--up)}.ac-bk-b i.down{background:var(--down)}
.ac-bk b{text-align:right;font-weight:700}
.ac-bk.tot{border-top:1px solid var(--line);margin-top:2px;padding-top:8px}
.ac-daily-card>p{margin-top:8px;line-height:1.55}
/* 表格 */
.ac-tw{overflow-x:auto}
.ac-page .tbl td{vertical-align:top}
.ac-page .tbl td em{display:block;font-size:11.5px;color:var(--ink3);margin-top:2px;font-family:var(--sans)}
.ac-page .tbl td.n,.ac-page .tbl td .n{font-family:var(--num)}
.ac-side{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;border-radius:6px;font-size:12px;font-weight:700;color:#fff}
.ac-side.long{background:var(--up)}.ac-side.short{background:var(--down)}
.ac-bs{display:inline-block;font-size:12px;font-weight:700;padding:1px 7px;border-radius:5px}
.ac-bs.buy{color:var(--up);background:var(--upA)}.ac-bs.sell{color:var(--down);background:var(--downA)}
.ac-adl{display:inline-flex;gap:2px;vertical-align:middle}.ac-adl i{width:4px;height:12px;border-radius:2px;background:var(--line)}.ac-adl i.on{background:var(--amber)}
.ac-pcs{display:none}
/* 策略 */
.ac-bots{display:grid;gap:16px}
.ac-bot{border-radius:18px;background:var(--sub);padding:16px 18px;display:grid;gap:14px}
.ac-b-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ac-b-h b{font-size:15px}.ac-b-h b.sym{font-family:var(--num)}.ac-b-h .tag{margin-left:0}.ac-b-h .sp{flex:1}
.ac-b-h em{font-size:12px;color:var(--ink3)}
.ac-b-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 16px;padding:12px 14px;border-radius:14px;background:var(--card)}
.ac-b-kpis .ac-kvi b{font-size:18px}
.ac-dca-b{display:flex;gap:5px}
.ac-dca-b i{flex:1;height:8px;border-radius:4px;background:var(--line)}
.ac-dca-b i.on{background:var(--sky)}
.ac-b-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 16px}
.ac-b-grid span{display:grid;gap:1px;min-width:0}
.ac-b-grid small{font-size:11.5px;color:var(--ink3)}
.ac-b-grid b{font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-b-chart{border-radius:14px;background:var(--card);padding:10px 12px 8px}
.ac-b-note{margin:6px 2px 0}
.ac-b-ct{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ac-b-ct small{font-size:12px;color:var(--ink3)}.ac-b-ct .sp{flex:1}
.ac-b-tabs{display:flex;gap:8px;align-items:center}
.ac-b-tbl{max-height:320px;overflow:auto;border-radius:12px;background:var(--card);padding:0 10px}
.ac-b-tbl .tbl th{position:sticky;top:0;background:var(--card);z-index:1}
/* 统计 */
.ac-st-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 18px;padding:14px 16px;border-radius:14px;background:var(--sub)}
.ac-st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:18px}
.ac-hb{display:grid;gap:6px}
.ac-hb-r{display:grid;grid-template-columns:64px minmax(0,1fr) 88px minmax(70px,auto);gap:10px;align-items:center;font-size:12.5px}
.ac-hb-r .k{font-weight:650}.ac-hb-r b{text-align:right;font-weight:650}.ac-hb-r em{font-size:11.5px;color:var(--ink3)}
.ac-hb-t{position:relative;height:10px;border-radius:5px;background:var(--line2)}
.ac-hb-t::after{content:'';position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line)}
.ac-hb-t i{position:absolute;top:0;bottom:0;border-radius:5px}.ac-hb-t i.p{background:var(--up)}.ac-hb-t i.n{background:var(--down)}
.ac-vb{display:block;overflow:visible}
.ac-chips{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 10px}
.ac-chips button{height:26px;padding:0 10px;border-radius:13px;font-size:12px;color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
.ac-chips button.on{color:#fff;background:var(--sky);box-shadow:none}
.ac-hist .tbl tr.liq td{background:var(--downA)}
.ac-hist>p{margin-top:10px}
.ac-more{margin-top:10px;align-self:flex-start}
.ac-src{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.ac-src>div{display:grid;gap:2px;max-width:780px}.ac-src .tag{margin-left:0}
.ac-src .sp{flex:1}
.ac-src .ac-adm{background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] .ac-head{background:linear-gradient(135deg,var(--card) 0%,var(--card) 60%,rgba(61,138,224,.12) 100%)}
html[data-theme=dark] .ac-tip{box-shadow:0 6px 20px -8px rgba(0,0,0,.6),inset 0 0 0 1px var(--line)}
@media (max-width:980px){.ac-row2,.ac-row2.r2{grid-template-columns:minmax(0,1fr)}.ac-hd-main{grid-template-columns:1fr}.ac-b-kpis,.ac-b-grid,.ac-st-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .wb-live{height:30px;padding:0 10px;font-size:13px;gap:6px}.wb-live b{display:none}
  .wb-ck{height:30px;width:34px;padding:0;justify-content:center;border-radius:10px}.wb-ck span{display:none}
  .app.wb.solo .main{padding:0 12px 32px}
  .wb-back{height:32px;padding:0 10px 0 6px;font-size:13px}
  .ac-head{padding:14px 14px 16px}
  .ac-eqv{font-size:32px}
  .ac-kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .ac-ptw{display:none}
  .ac-pcs{display:grid;gap:12px}
  .ac-pc{border-radius:16px;background:var(--sub);padding:12px 14px;display:grid;gap:10px}
  .ac-pc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ac-pc-h em{font-size:12px;color:var(--ink3)}
  .ac-pc-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ac-pc-m .ac-kvi b{font-size:14px}
  .ac-b-kpis,.ac-b-grid,.ac-st-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-st-grid{grid-template-columns:minmax(0,1fr)}
  .ac-as-top{flex-direction:column;align-items:stretch}.ac-donut{align-self:center}
  .ac-cal-d{min-height:42px;padding:4px 5px}.ac-cal-d b{font-size:10.5px}
  .ac-bk{grid-template-columns:72px minmax(0,1fr) 88px}
  .ac-hb-r{grid-template-columns:52px minmax(0,1fr) 76px}.ac-hb-r em{display:none}
  .ac-b-ct{flex-wrap:wrap}.ac-b-ct small{flex-basis:100%}.ac-b-ct .sp{display:none}
  .ac-hist .ac-card-x{margin-left:0;width:100%;overflow-x:auto;scrollbar-width:none}.ac-hist .ac-card-x::-webkit-scrollbar{display:none}
  .ac-hist .ac-tw{display:none}
  .ac-hm{display:grid}
  .ac-hr{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
  .ac-hr:last-child{border-bottom:0}
  .ac-hr .l{flex:1;min-width:0;display:grid;gap:3px}
  .ac-hr .a{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}
  .ac-hr .a b{font-weight:650}.ac-hr .a>span.n,.ac-hr .a>span:not([class]){font-size:12.5px;color:var(--ink2)}
  .ac-hr em{font-style:normal;font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ac-hr .r{text-align:right;display:grid;gap:2px;flex:none}
  .ac-hr .r b{font-size:15px;font-weight:650}
  .ac-hr .r em.up{color:var(--up)}.ac-hr .r em.down{color:var(--down)}
  .ac-hr.liq{background:var(--downA);border-radius:10px;padding:10px 8px;border-bottom:0;margin:2px 0}
}
/* 实盘：策略卡片 + 详情抽屉、持仓敞口、绩效指标（11-06 傍晚） */
.ac-row2.r3{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.ac-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}
.ac-exp{display:inline-flex;align-items:center;gap:5px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);white-space:nowrap}
.ac-exp:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--sky2)}
.ac-bts{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.ac-bts>.ac-bt{max-width:620px}
.ac-bt{position:relative;display:grid;gap:12px;align-content:start;text-align:left;padding:14px 16px 12px;border-radius:18px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line2);cursor:pointer;transition:box-shadow .18s,transform .18s,background .18s;min-width:0}
.ac-bt:hover{box-shadow:inset 0 0 0 1px var(--sky2),0 10px 26px -16px rgba(30,60,120,.45);transform:translateY(-1px)}
.ac-bt:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.ac-bt-h{display:flex;align-items:center;gap:7px;min-width:0}
.ac-bt-h>b{font-size:15.5px;font-family:var(--num)}
.ac-bt-h em{font-size:12px;color:var(--ink3);white-space:nowrap}
.ac-bt-h .sp,.ac-bt-f .sp,.ac-dw-h .sp,.ac-bd-st .sp{flex:1}
.ac-bt-k{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap}
.ac-bt-k.g{color:var(--sky);background:var(--skyA)}.ac-bt-k.d{color:#7A6BE0;background:rgba(122,107,224,.11)}
.ac-bt-dir{font-size:12px;font-weight:700;padding:1px 7px;border-radius:6px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.ac-bt-m{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:10px;align-items:end}
.ac-bt-v{display:grid;gap:1px;min-width:0}
.ac-bt-v small{font-size:12px;color:var(--ink2)}
.ac-bt-v b{font-size:25px;font-weight:750;letter-spacing:-.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-bt-v em{font-style:normal;font-size:13px;font-weight:650}
.ac-spk{position:relative;height:46px;min-width:0;overflow:hidden}
.ac-spk svg{display:block}
.ac-spk em{position:absolute;right:0;top:-2px;font-style:normal;font-size:10.5px;color:var(--ink3)}
.ac-spk.ph{display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--card);font-size:11.5px;color:var(--ink3)}
.ac-bt-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px 10px;border-radius:12px;background:var(--card)}
.ac-bt-kv span{display:grid;gap:1px;min-width:0}.ac-bt-kv small{font-size:11.5px;color:var(--ink3)}
.ac-bt-kv b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-rng .tr{position:relative;height:8px;border-radius:5px;background:linear-gradient(90deg,var(--upA),var(--line2) 50%,var(--downA));box-shadow:inset 0 0 0 1px var(--line2)}
.ac-rng .tr b{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px var(--card);transform:translate(-50%,-50%)}
.ac-rng .tr b.out{background:var(--amber)}
.ac-rng .tr i{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;transform:translateX(-50%)}
.ac-rng .tr i.avg{background:var(--ink2)}.ac-rng .tr i.liq{background:var(--down)}
.ac-rng .lb,.ac-so .lb{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:11.5px;color:var(--ink3)}
.ac-rng .lb em,.ac-so .lb em{font-style:normal;color:var(--ink2)}
.ac-so .tr{display:flex;gap:3px}
.ac-so .tr i{flex:1;height:8px;border-radius:3px;background:var(--line2)}
.ac-so .tr i.on{background:var(--sky)}
.ac-so .lb b{color:var(--ink);font-weight:700}
.ac-bt-f{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:12px;color:var(--ink3);border-top:1px dashed var(--line);padding-top:9px}
.ac-bt-f b{color:var(--ink2);font-weight:650;margin-left:2px}
.ac-bt-f .go{color:var(--sky);font-weight:650}
.ac-dw-mask{position:fixed;inset:0;z-index:70;background:rgba(10,16,28,.42);display:flex;justify-content:flex-end;animation:acFade .18s ease-out}
.ac-dw{width:min(1120px,94vw);height:100%;background:var(--bg);box-shadow:-18px 0 50px -20px rgba(10,20,40,.5);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;animation:acSlide .24s cubic-bezier(.2,.8,.2,1)}
.ac-dw-h{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--line2)}
.ac-dw-h>b{font-size:16px;font-family:var(--num);white-space:nowrap}
.ac-dw-h em{font-size:12px;color:var(--ink3)}
.ac-dw-x{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--ink2);background:var(--sub)}
.ac-dw-x:hover{color:var(--ink);background:var(--line2)}
.ac-dw-x:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.ac-dw-b{padding:16px 20px 40px}
.ac-bd{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ac-bd>*{min-width:0}
.ac-bd .ac-b-kpis{background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.ac-bd .ac-b-grid{padding:12px 14px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.ac-bd-sec{border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);padding:12px 14px 12px}
.ac-bd-st{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ac-bd-st h4{margin:0;font-size:14px;font-weight:700}
.ac-bd-st small{font-size:12px;color:var(--ink3)}
.ac-bd-chg{font-size:12.5px;color:var(--ink2)}.ac-bd-chg b{margin-left:3px}
.ac-bd .ac-b-tbl{background:var(--sub);max-height:360px}
.ac-lg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--ink3);margin:-2px 0 6px}
.ac-lg i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:3px}
.ac-lg i.b{background:var(--up);opacity:.55}.ac-lg i.s{background:var(--down);opacity:.55}.ac-lg i.fb{background:linear-gradient(90deg,var(--up) 50%,var(--down) 50%);height:5px;vertical-align:2px}
.ac-ldr{position:relative;min-width:0;overflow:hidden}
.ac-ldr svg{display:block;cursor:crosshair}
.ac-ldr .lv{stroke-width:1}.ac-ldr .lv.b{stroke:var(--up);stroke-opacity:.28}.ac-ldr .lv.s{stroke:var(--down);stroke-opacity:.26}.ac-ldr .lv.n{stroke:var(--line)}
.ac-ldr .mid{stroke:var(--line);stroke-dasharray:2 3}
.ac-ldr .fb{fill:var(--up);opacity:.85}.ac-ldr .fs{fill:var(--down);opacity:.85}
.ac-ldr .ax{font-family:var(--num);font-size:11px;fill:var(--ink3)}
.ac-ldr .avg{stroke:var(--ink2);stroke-dasharray:4 3;stroke-width:1.2}.ac-ldr .liq{stroke:var(--down);stroke-dasharray:5 3;stroke-width:1.2}
.ac-ldr .lbl{font-size:11px;font-weight:600}.ac-ldr .lbl.avg{fill:var(--ink2);stroke:none}.ac-ldr .lbl.liq{fill:var(--down);stroke:none}
.ac-ldr .cur{stroke:var(--sky);stroke-width:1.5}
.ac-ldr .curb{fill:var(--sky)}.ac-ldr .curt{fill:#fff;font-family:var(--num);font-size:11px;font-weight:700}
.ac-ldr .hv{stroke:var(--ink2);stroke-width:1;stroke-dasharray:2 2}
.ac-ldr .ac-tip{transform:translateX(-50%)}
.ac-ld{display:grid;font-size:13px}
.ac-ld-h,.ac-ld-r,.ac-ld-m{display:grid;grid-template-columns:22px minmax(0,1.2fr) minmax(0,1fr) 84px 92px 74px;align-items:center;gap:8px;padding:7px 4px}
.ac-ld-h{font-size:11.5px;color:var(--ink3);border-bottom:1px solid var(--line);padding-top:0}
.ac-ld .r{text-align:right;justify-self:end}
.ac-ld-r{border-bottom:1px solid var(--line2);position:relative}
.ac-ld-r em{display:block;font-style:normal;font-size:11px;color:var(--ink3)}
.ac-ld .dot{justify-self:center;width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line);background:var(--card)}
.ac-ld-r.on .dot{background:var(--sky);box-shadow:none}
.ac-ld-r.live .dot{box-shadow:inset 0 0 0 2.5px var(--sky)}
.ac-ld .st{font-size:12px;color:var(--ink3)}.ac-ld .st.on{color:var(--sky);font-weight:650}.ac-ld .st.live{color:var(--sky)}
.ac-ld-m{padding:4px;font-size:12px;font-weight:650;border-bottom:1px dashed var(--line)}
.ac-ld-m span:nth-child(3){grid-column:3}
.ac-ld-m .dot{width:9px;height:9px;box-shadow:none}
.ac-ld-m.tp{color:var(--up)}.ac-ld-m.tp .dot{background:var(--up)}
.ac-ld-m.avg{color:var(--ink2)}.ac-ld-m.avg .dot{background:var(--ink2)}
.ac-ld-m.cur{color:var(--sky);background:var(--skyC)}.ac-ld-m.cur .dot{background:var(--sky)}
.ac-ld-m.liq{color:var(--down)}.ac-ld-m.liq .dot{background:var(--down)}
.ac-ex-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;padding:12px 14px;border-radius:14px;background:var(--sub);margin-bottom:12px}
.ac-ex-axis{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) 210px;font-size:11px;color:var(--ink3);margin-bottom:2px}
.ac-ex-axis span:first-child{grid-column:2;text-align:right;padding-right:6px}.ac-ex-axis span:last-child{grid-column:3;padding-left:6px}
.ac-ex{display:grid;gap:2px}
.ac-ex-r{display:grid;grid-template-columns:110px minmax(0,2fr) 210px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2)}
.ac-ex-r:last-child{border-bottom:0}
.ac-ex-r .k{display:grid;gap:1px;min-width:0}.ac-ex-r .k b{font-size:14px;font-family:var(--num)}
.ac-ex-r .k em{font-style:normal;font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-ex-r .bar{display:grid;grid-template-columns:1fr 1fr;height:12px;border-radius:6px;background:var(--line2);overflow:hidden}
.ac-ex-r .bar>div{position:relative;height:100%}
.ac-ex-r .bar .sh{display:flex;justify-content:flex-end;border-right:1.5px solid var(--card)}
.ac-ex-r .bar i{display:block;height:100%}
.ac-ex-r .bar .sh i{background:var(--down);border-radius:6px 0 0 6px}.ac-ex-r .bar .lg i{background:var(--up);border-radius:0 6px 6px 0}
.ac-ex-r .v{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;font-size:12px;text-align:right}
.ac-ex-r .v b{grid-column:1/3;font-size:12.5px;font-weight:700}
.ac-pf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 14px;padding:12px 14px;border-radius:14px;background:var(--sub)}
.ac-pf .ac-kvi b{font-size:16px}
.ac-pf-wait{display:grid;gap:6px;justify-items:start;padding:14px 16px;border-radius:14px;background:var(--sub)}
.ac-pf-wait b{font-size:15px}.ac-pf-wait p{margin:0;font-size:12.5px;line-height:1.6;max-width:44em}
.ac-pf-prog{width:100%;max-width:340px;height:6px;border-radius:4px;background:var(--line2);overflow:hidden}
.ac-pf-prog i{display:block;height:100%;background:var(--sky);border-radius:4px}
@keyframes acFade{from{opacity:0}to{opacity:1}}
@keyframes acSlide{from{transform:translateX(36px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.ac-dw-mask,.ac-dw{animation:none}.ac-bt{transition:none}.ac-bt:hover{transform:none}}
html[data-theme=dark] .ac-bt:hover{box-shadow:inset 0 0 0 1px var(--sky2),0 10px 26px -14px rgba(0,0,0,.6)}
html[data-theme=dark] .ac-dw-mask{background:rgba(2,6,14,.6)}
html[data-theme=dark] .ac-bt-k.d{color:#A79CF2;background:rgba(167,156,242,.14)}
@media (max-width:1180px){.ac-pf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.ac-row2.r3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .ac-bts{grid-template-columns:minmax(0,1fr);gap:12px}
  .ac-bt{padding:12px 13px 10px;border-radius:16px}
  .ac-bt-v b{font-size:22px}
  .ac-bt:hover{transform:none}
  .ac-dw{width:100vw;box-shadow:none}
  .ac-dw-h{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top))}
  .ac-dw-h>b{font-size:14.5px}
  .ac-dw-b{padding:12px 12px calc(28px + env(safe-area-inset-bottom))}
  .ac-bd-sec{padding:10px 10px 10px;border-radius:14px}
  .ac-ld-h,.ac-ld-r,.ac-ld-m{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 72px 60px;gap:6px;font-size:12.5px}
  .ac-ex-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-ex-axis{display:none}
  .ac-ex-r{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .ac-ex-r .bar{grid-column:1/3;grid-row:2}
  .ac-ex-r .v{grid-row:1;grid-column:2;grid-template-columns:auto auto;text-align:right}
  .ac-ex-r .v b{grid-column:1/3}
  .ac-pf{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* 实盘第四版：全部交易、资金费、手续费、策略成交统计（11-06 晚） */
.ac-row2.r4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ac-ty{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:6px;white-space:nowrap}
.ac-ty.pos{color:var(--sky);background:var(--skyA)}.ac-ty.bot{color:#7A6BE0;background:rgba(122,107,224,.11)}.ac-ty.fill{color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
.ac-all td em,.ac-cs-t td em{display:block;font-style:normal;font-size:11px;color:var(--ink3)}
.ac-hist tr.go{cursor:pointer}.ac-hist tr.go:hover td{background:var(--skyC)}
.ac-lnk{color:var(--sky);font-size:12px;font-weight:650;white-space:nowrap}
.ac-fsrc{display:inline-block;font-size:11.5px;font-weight:650;padding:1px 7px;border-radius:6px;white-space:nowrap}
.ac-fsrc.m{color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}.ac-fsrc.b{color:#7A6BE0;background:rgba(122,107,224,.11)}
.ac-hr.go{cursor:pointer}
.ac-cs-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:12px 14px;border-radius:14px;background:var(--sub);margin-bottom:10px}
.ac-cs-t{margin-top:4px}.ac-cs-t tr.ac-bt-row td{background:var(--skyC)}
.ac-cs-t td em{white-space:normal;line-height:1.45}.ac-cs-t td.r em{white-space:nowrap}
.ac-fresh{font-variant-numeric:tabular-nums;cursor:help}
.ac-tier{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:12.5px;color:var(--ink2);margin:-2px 0 10px}
.ac-tier b{color:var(--ink);font-weight:700;margin-left:3px}.ac-tier em{font-style:normal;font-size:11.5px;color:var(--ink3)}
.ac-mtbar{position:relative;height:18px;border-radius:9px;background:var(--downA);overflow:hidden;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;padding:0 8px;font-size:11px;font-weight:650}
.ac-mtbar i{position:absolute;left:0;top:0;bottom:0;background:var(--upA);box-shadow:inset -2px 0 0 var(--up)}
.ac-mtbar span{position:relative;color:var(--ink2)}
.ac-mb{position:relative;min-width:0;overflow:hidden;margin-top:6px}
.ac-mb svg{display:block}
.ac-mb .base{stroke:var(--line);stroke-dasharray:2 3}
.ac-mb .bs{fill:var(--sky);opacity:.8}.ac-mb .bu{fill:var(--up);opacity:.78}.ac-mb .bd{fill:var(--down);opacity:.78}
.ac-mb .ln{fill:none;stroke:#E0922F;stroke-width:1.8;stroke-linejoin:round}
.ac-mb .ax{font-family:var(--num);font-size:10.5px;fill:var(--ink3)}
.ac-mb .hv{stroke:var(--ink3);stroke-dasharray:3 3}
.ac-mb-lg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--ink2);margin-top:2px}
.ac-mb-lg i{display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:5px;vertical-align:0}
.ac-mb-lg i.bs{background:var(--sky)}.ac-mb-lg i.bu{background:linear-gradient(90deg,var(--up) 50%,var(--down) 50%)}.ac-mb-lg i.ln{height:2px;background:#E0922F;vertical-align:3px}
.ac-mb .ac-tip{top:4px}
.ac-bst{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 14px;padding:10px 12px;border-radius:12px;background:var(--sub)}
.ac-bst .ac-kvi b{font-size:15.5px}
@media (max-width:1180px){.ac-row2.r4{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .ac-cs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-bst{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-hist .ac-cs-t{display:table}
}
/* 后台：实盘账户 */
.ad-note{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;line-height:1.6}
.ad-note b{color:var(--sky)}
.ad-ip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border-radius:14px;background:var(--skyA)}
.ad-ip>div{display:grid;gap:2px;flex:1;min-width:260px}.ad-ip b{font-size:13.5px}.ad-ip .t2{font-size:12.5px}
.ad-ip code{font-family:var(--num);font-size:13px;background:var(--card);padding:6px 10px;border-radius:9px;box-shadow:inset 0 0 0 1px var(--line)}
.ad-ip .btn{background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.ad-ip em{font-style:normal}
.ad-tw{overflow-x:auto}
.ad-acc td{vertical-align:top}.ad-acc td em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:2px;max-width:280px;white-space:normal}
.ad-acc td em.down{color:var(--down)}
.ad-acc tr.off td{opacity:.62}
.ad-acc .acts{white-space:nowrap}
.ad-acc .acts .btn{background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);margin-left:4px}
.ad-acc .ad-del{color:var(--bad)}
.ad-g{margin-top:18px;align-items:start}
.ad-g h3{display:flex;align-items:center;gap:8px}
.ad-form textarea.inp{height:auto;padding:8px 12px;line-height:1.5;resize:vertical}
.ad-form .fld{align-content:start}
.ad-g .ag-f .btn{flex:none;white-space:nowrap}
.ad-res{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.6}
.ad-sec{position:relative;display:block}
.ad-sec .inp{width:100%;padding-right:58px}
.ad-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:24px;padding:0 9px;border-radius:7px;font-size:12px;color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}
.ad-eye:hover{color:var(--ink)}
.ad-form .fld em.ad-h.ok{color:var(--up)}
.ad-form .fld em.ad-h.warn{color:#B87318}
.ad-res.ok{background:var(--upA);color:var(--ink)}.ad-res.bad{background:var(--downA);color:var(--ink)}
.ad-ck{margin:6px 0 0 18px;display:grid;gap:6px;font-size:13px;color:var(--ink2);line-height:1.55}.ad-ck b{color:var(--ink)}
.ad-log{display:grid;gap:6px;font-size:13px;color:var(--ink2);margin-top:4px}.ad-log b{font-family:var(--num);color:var(--ink);font-weight:600;margin-right:6px}

/* ================================================================ 实盘第五版（11-07）：夜盘 / 晴空两套颜色（只在实盘页：html.lvp，默认夜盘）、最新成交条、
   头部 VIP / 30 天交易量 / 距最高点 / 24 小时小图、收益构成玫瑰图、交易时段、策略排行、动效。变量设在 body 上（body.redup 也在 body 上，红涨绿跌要一起写） */
html.lvp[data-theme=dark] body{
  --bg:#0B1424;--card:#111E33;--sub:#16253E;--line:#24375A;--line2:#1B2B46;
  --ink:#E4ECF7;--ink2:#93A3BC;--ink3:#64789C;
  --sky:#4C9BFF;--sky2:#3570C2;--skyA:rgba(76,155,255,.15);--skyB:rgba(76,155,255,.30);--skyC:rgba(76,155,255,.07);
  --up:#22C38E;--down:#F0566A;--upA:rgba(34,195,142,.15);--downA:rgba(240,86,106,.15);--amber:#F2B33D;--flat:#7D8AA0;
  --good:#22C38E;--bad:#F0566A;
  --shadow:0 18px 40px -30px rgba(0,0,0,.85);
  --num:'CkDisp','SnNum',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',system-ui,sans-serif;
  --lv-mono:'CkMono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --lvh-c:76,155,255;--lvh-up:34,195,142;--lvh-dn:240,86,106;--lv-live:34,195,142;
  --lv-gold:#F2B33D;--lv-glow:rgba(76,155,255,.28);--lv-cell:#0F1C31;--lv-zero:rgba(255,255,255,.04);
}
html.lvp[data-theme=dark] body.redup{--up:#F0566A;--down:#22C38E;--upA:rgba(240,86,106,.15);--downA:rgba(34,195,142,.15);--lvh-up:240,86,106;--lvh-dn:34,195,142}
html.lvp:not([data-theme=dark]) body{
  --bg:#EEF3F8;--card:#FFFFFF;--sub:#F4F7FB;--line:#DCE4EE;--line2:#E8EEF5;
  --ink:#0E1D30;--ink2:#56677C;--ink3:#8796A8;
  --sky:#2D7BEE;--sky2:#8DB5F2;--skyA:rgba(45,123,238,.10);--skyB:rgba(45,123,238,.22);--skyC:rgba(45,123,238,.05);
  --up:#0F9F6E;--down:#E1444C;--upA:rgba(15,159,110,.11);--downA:rgba(225,68,76,.10);--amber:#C98316;
  --good:#0F9F6E;--bad:#E1444C;
  --shadow:0 1px 2px rgba(14,29,48,.04),0 16px 36px -28px rgba(45,123,238,.5);
  --lv-mono:'SnNum',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --lvh-c:45,123,238;--lvh-up:15,159,110;--lvh-dn:225,68,76;--lv-live:15,159,110;
  --lv-gold:#B7791F;--lv-glow:rgba(45,123,238,.2);--lv-cell:#FFFFFF;--lv-zero:#EEF2F7;
}
html.lvp:not([data-theme=dark]) body.redup{--up:#E1444C;--down:#0F9F6E;--upA:rgba(225,68,76,.10);--downA:rgba(15,159,110,.11);--lvh-up:225,68,76;--lvh-dn:15,159,110}
html.lvp .wb-top{background:var(--bg);border-bottom-color:var(--line2)}
html.lvp .ac-page .card{border-radius:16px;box-shadow:inset 0 0 0 1px var(--line2),var(--shadow)}
html.lvp[data-theme=dark] .ac-page .card .seg,html.lvp[data-theme=dark] .ac-dw .seg{background:#0B1628;box-shadow:inset 0 0 0 1px var(--line2)}
html.lvp[data-theme=dark] .ac-ty.bot,html.lvp[data-theme=dark] .ac-fsrc.b{color:#A79CF2;background:rgba(167,156,242,.14)}
html.lvp .ac-mb .ln{stroke:var(--amber)}html.lvp .ac-mb-lg i.ln{background:var(--amber)}
html.lvp[data-theme=dark] .ac-dw{background:#0A1322}
html.lvp[data-theme=dark] .ac-dw-h{background:#0E1A2E}
html.lvp[data-theme=dark] .tbl th{color:var(--ink3)}
.ac-page>*+*{margin-top:16px}
.ac-row2.r5{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
@media (max-width:1180px){.ac-row2.r5{grid-template-columns:minmax(0,1fr)}}

/* 进场：各块依次浮现（用 top，不用 transform——transform 会让里面 position:fixed 的抽屉错位） */
@keyframes lvIn{from{opacity:0;top:16px}to{opacity:1;top:0}}
html.lvp .ac-page>*{position:relative;animation:lvIn .7s cubic-bezier(.2,.7,.2,1) backwards}
html.lvp .ac-page>*:nth-child(2){animation-delay:.06s}html.lvp .ac-page>*:nth-child(3){animation-delay:.12s}html.lvp .ac-page>*:nth-child(4){animation-delay:.18s}
html.lvp .ac-page>*:nth-child(5){animation-delay:.24s}html.lvp .ac-page>*:nth-child(6){animation-delay:.3s}html.lvp .ac-page>*:nth-child(7){animation-delay:.36s}
html.lvp .ac-page>*:nth-child(8){animation-delay:.42s}html.lvp .ac-page>*:nth-child(n+9){animation-delay:.48s}

/* 数字变了闪一下；实时点 */
.lv-roll{border-radius:4px;font-variant-numeric:tabular-nums}
@keyframes lvFlu{0%{background:var(--upA);box-shadow:0 0 0 3px var(--upA)}100%{background:transparent;box-shadow:0 0 0 0 transparent}}
@keyframes lvFld{0%{background:var(--downA);box-shadow:0 0 0 3px var(--downA)}100%{background:transparent;box-shadow:0 0 0 0 transparent}}
.lv-flu{animation:lvFlu .95s ease-out}.lv-fld{animation:lvFld .95s ease-out}
.lv-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:rgb(var(--lv-live,31,169,113));animation:lvPulse 1.8s infinite}
@keyframes lvPulse{0%{box-shadow:0 0 0 0 rgba(var(--lv-live,31,169,113),.55)}70%{box-shadow:0 0 0 8px rgba(var(--lv-live,31,169,113),0)}100%{box-shadow:0 0 0 0 rgba(var(--lv-live,31,169,113),0)}}

/* 顶栏：实时时钟 + 夜盘 / 晴空 */
.lv-clock{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:11px;font-size:12.5px;color:var(--ink2);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;flex:none}
.lv-clock b{font-family:var(--lv-mono,var(--num));font-weight:600;color:var(--ink);min-width:64px}
.lv-sw{display:inline-flex;align-items:center;gap:2px;padding:3px;height:34px;border-radius:11px;background:var(--sub);box-shadow:inset 0 0 0 1px var(--line);flex:none}
.lv-sw button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink2);transition:background .2s,color .2s}
.lv-sw button:hover{color:var(--ink)}
.lv-sw button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(14,29,48,.12),inset 0 0 0 1px var(--line2)}
html[data-theme=dark] .lv-sw button.on{background:#22365A;color:#fff;box-shadow:none}
.lv-sw button:focus-visible{outline:2px solid var(--sky);outline-offset:1px}

/* ---------------------------------------------------------------- 最新成交：成交明细，新的一笔从上面滚进来（11-07 改版，放在概况下面） */
.lvt-card{padding:16px 0 6px;overflow:hidden}
.lvt-top{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;padding:0 20px 12px}
.lvt-top.hit .lv-dot{animation:lvPulse 1.8s infinite,lvDotHit .6s ease-out}
@keyframes lvDotHit{0%{transform:scale(1.9)}100%{transform:none}}
.lvt-ttl{display:grid;gap:2px;min-width:0}
.lvt-ttl h3{margin:0;font-size:15px;display:flex;align-items:center;gap:8px}
.lvt-ttl small{font-size:12px;color:var(--ink3)}
.lvt-stats{display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin-left:auto}
.lvt-stats b{font-family:var(--num);font-size:16px;font-weight:700;color:var(--ink);margin-right:3px}
.lvt-stats em{font-style:normal;margin-left:6px;color:var(--ink3)}
.lvt-bars{display:flex;align-items:flex-end;gap:1px;width:190px;height:28px;flex:none}
.lvt-bars i{flex:1;min-width:1px;border-radius:1px;background:var(--line);transition:height .4s}
.lvt-bars i.on{background:var(--sky);opacity:.8}.lvt-bars i.now{background:var(--amber);opacity:1}
.lvt-hd,.lvt-row{display:grid;grid-template-columns:82px minmax(0,1fr) minmax(0,.95fr) 64px minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,.8fr) 64px;gap:10px;align-items:center;padding:0 20px}
.lvt-hd{font-size:11.5px;color:var(--ink3);padding-top:8px;padding-bottom:8px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--sub)}
html.lvp[data-theme=dark] .lvt-hd{background:rgba(255,255,255,.025)}
.lvt-hd .r,.lvt-row .r{text-align:right;justify-self:end}
.lvt-wrap{position:relative}
.lvt-list{max-height:378px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.lvt-row{position:relative;height:36px;font-size:12.5px;border-bottom:1px solid var(--line2);overflow:hidden}
.lvt-row::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--up);opacity:.9}
.lvt-row.lvt-sell::before{background:var(--down)}
.lvt-row>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvt-row.go{cursor:pointer}.lvt-row.go:hover{background:var(--skyC)}
.lvt-t{font-family:var(--lv-mono,var(--num));font-size:12px;color:var(--ink2)}
.lvt-sym{font-family:var(--num);font-size:13px;font-weight:700;color:var(--ink)}
.lvt-src{font-size:12px;color:var(--ink2)}
.lvt-side{justify-self:start;font-size:11.5px;font-weight:800;padding:1px 8px;border-radius:6px}
.lvt-row.lvt-buy .lvt-side{color:var(--up);background:var(--upA)}.lvt-row.lvt-sell .lvt-side{color:var(--down);background:var(--downA)}
.lvt-px{font-family:var(--lv-mono,var(--num));font-size:13px;font-weight:650;color:var(--ink)}
.lvt-q,.lvt-nt,.lvt-fee{font-family:var(--lv-mono,var(--num));font-size:12px;color:var(--ink2)}
.lvt-q i{font-style:normal;color:var(--sky);font-weight:700}
.lvt-p{font-family:var(--lv-mono,var(--num));font-size:12px;font-weight:650}
.lvt-mk{font-size:12px;color:var(--ink3)}
.lvt-empty{padding:26px 20px;font-size:12.5px;color:var(--ink3);text-align:center}
@keyframes lvtRowIn{from{height:0;opacity:0}}
@keyframes lvtFlashB{0%{background:var(--upA)}100%{background:transparent}}
@keyframes lvtFlashS{0%{background:var(--downA)}100%{background:transparent}}
.lvt-row.new.lvt-buy{animation:lvtRowIn .42s cubic-bezier(.2,.8,.2,1),lvtFlashB 2.2s ease-out}
.lvt-row.new.lvt-sell{animation:lvtRowIn .42s cubic-bezier(.2,.8,.2,1),lvtFlashS 2.2s ease-out}
.lvt-more{position:absolute;left:50%;top:6px;z-index:2;transform:translateX(-50%);height:28px;padding:0 14px;border-radius:14px;font-size:12px;font-weight:650;color:#fff;background:var(--sky);box-shadow:0 6px 18px -8px rgba(0,0,0,.5);animation:lvFade .25s ease-out}
.lvt-more:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* ---------------------------------------------------------------- 头部 */
.ac-head{position:relative;overflow:hidden;padding:20px 24px 22px}
.ac-head>*{position:relative;z-index:1}
html.lvp[data-theme=dark] .ac-head{background:linear-gradient(160deg,#13264A 0%,#0F1D36 52%,#0C182C 100%);box-shadow:inset 0 0 0 1px #20345A,0 24px 50px -34px rgba(0,0,0,.95)}
html.lvp[data-theme=dark] .ac-head::before{content:"";position:absolute;inset:-40% -30%;z-index:0;pointer-events:none;background:repeating-linear-gradient(115deg,transparent 0 120px,rgba(76,155,255,.06) 120px 170px,transparent 170px 320px);animation:lvBands 30s linear infinite}
html.lvp[data-theme=dark] .ac-head::after{content:"";position:absolute;right:-140px;top:-200px;z-index:0;width:560px;height:560px;pointer-events:none;background:radial-gradient(closest-side,rgba(76,155,255,.2),transparent);animation:lvDrift 16s ease-in-out infinite alternate}
html.lvp:not([data-theme=dark]) .ac-head{background:linear-gradient(135deg,#FFFFFF 0%,#FFFFFF 58%,#F1F6FE 100%)}
html.lvp:not([data-theme=dark]) .ac-head::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:34%;z-index:0;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(45,123,238,.06) 45%,rgba(255,255,255,.7) 50%,rgba(45,123,238,.06) 55%,transparent);animation:lvShine 8s ease-in-out infinite}
@keyframes lvBands{to{transform:translateX(320px)}}
@keyframes lvDrift{to{transform:translate(-90px,70px)}}
@keyframes lvShine{0%,55%{transform:translateX(0)}100%{transform:translateX(440%)}}
.ac-hd-main{grid-template-columns:minmax(300px,1fr) minmax(0,2.25fr);align-items:stretch;gap:24px;margin-top:14px}
.ac-hd-eq{display:flex;flex-direction:column;min-width:0}
.ac-eqv{font-family:var(--num);font-size:46px;font-weight:700;letter-spacing:-.015em;line-height:1.06;margin:4px 0 10px;white-space:nowrap}
html.lvp[data-theme=dark] .ac-eqv{text-shadow:0 8px 30px rgba(0,0,0,.35)}
.ac-hd-chips{display:flex;flex-wrap:wrap;gap:8px}
.lv-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;border-radius:10px;font-size:12px;color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line2);white-space:nowrap}
.lv-chip b{font-family:var(--num);font-size:15px;font-weight:700;color:var(--ink)}
.lv-chip b+b{font-size:12.5px;font-weight:650}
.lv-chip.up{background:var(--upA);box-shadow:none}.lv-chip.up b{color:var(--up)}
.lv-chip.down{background:var(--downA);box-shadow:none}.lv-chip.down b{color:var(--down)}
html.lvp[data-theme=dark] .lv-chip{background:rgba(255,255,255,.05)}
html.lvp[data-theme=dark] .lv-chip.up{background:var(--upA)}html.lvp[data-theme=dark] .lv-chip.down{background:var(--downA)}
.ac-hd-days{margin-top:9px;font-size:12px;color:var(--ink3)}.ac-hd-days b{color:var(--ink2);font-weight:650}
.lv-vip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 3px;border-radius:99px;font-size:12px;font-weight:800;color:var(--lv-gold,#B7791F);background:linear-gradient(90deg,#FFF3DC,#FFF9EE);box-shadow:inset 0 0 0 1px #F2D8A6;white-space:nowrap}
.lv-vip i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:10px;font-weight:900;color:#fff;background:linear-gradient(135deg,#F2C26B,#C98A2B)}
html[data-theme=dark] .lv-vip{background:linear-gradient(90deg,rgba(242,179,61,.24),rgba(242,179,61,.06));box-shadow:inset 0 0 0 1px rgba(242,179,61,.5)}
html[data-theme=dark] .lv-vip i{color:#2A1C00;background:var(--lv-gold,#F2B33D)}
/* 24 小时小图 */
.lv-eqm{position:relative;margin-top:auto;padding-top:12px;min-width:0;cursor:crosshair;touch-action:pan-y}
.lv-eqm-h{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink3);margin-bottom:2px}.lv-eqm-h em{font-style:normal}
.lv-eqm svg{display:block;overflow:visible}
.lv-eqm .s0{stop-color:var(--sky);stop-opacity:.32}.lv-eqm .s1{stop-color:var(--sky);stop-opacity:0}
.lv-eqm.up .s0{stop-color:var(--up)}.lv-eqm.up .s1{stop-color:var(--up)}.lv-eqm.dn .s0{stop-color:var(--down)}.lv-eqm.dn .s1{stop-color:var(--down)}
.lv-eqm .l{stroke:currentColor;color:var(--sky);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.lv-eqm.up .l{color:var(--up)}.lv-eqm.dn .l{color:var(--down)}
html.lvp[data-theme=dark] .lv-eqm .l{filter:drop-shadow(0 0 5px currentColor)}
.lv-eqm .dot{fill:var(--sky)}.lv-eqm .ring{fill:none;stroke:var(--sky);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center;animation:lvRing 2s ease-out infinite}
.lv-eqm.up .dot{fill:var(--up)}.lv-eqm.up .ring{stroke:var(--up)}.lv-eqm.dn .dot{fill:var(--down)}.lv-eqm.dn .ring{stroke:var(--down)}
@keyframes lvRing{0%{opacity:.7;transform:scale(.4)}100%{opacity:0;transform:scale(1.9)}}
.lv-eqm .x{stroke:var(--ink3);stroke-dasharray:3 3}.lv-eqm .hv{fill:var(--card);stroke:var(--ink);stroke-width:1.5}
.lv-eqm-ph{display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--sub);font-size:12px;color:var(--ink3)}
.lv-eqm-tip{position:absolute;top:8px;pointer-events:none;white-space:nowrap;font-size:11.5px;padding:3px 8px;border-radius:7px;background:var(--ink);color:var(--bg);font-family:var(--num)}
/* 右边的指标格子：1px 的线隔开（容器底色从缝里露出来） */
.ac-kpis.lvk{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;border-radius:14px;overflow:hidden;background:var(--line2);box-shadow:inset 0 0 0 1px var(--line2)}
.lvk>.ac-kvi{background:var(--lv-cell,var(--card));padding:12px 14px 12px;min-width:0}
html.lvp[data-theme=dark] .lvk{background:#1E3254;box-shadow:inset 0 0 0 1px #1E3254}
.lvk .ac-kvi b{font-size:18px}
html.lvp[data-theme=dark] .lvk .ac-kvi b{font-family:var(--lv-mono);font-weight:600;font-size:17px;letter-spacing:-.01em}
.lvk .ac-kvi em i{font-style:normal;font-family:var(--num)}
.lvk-vip b{color:var(--lv-gold,#B7791F)}
html.lvp[data-theme=dark] .lvk .lvk-vip b{font-family:var(--num);font-weight:750;font-size:21px}
.lvk-vol{grid-column:span 2;position:relative}
html.lvp[data-theme=dark] .lvk .lvk-vol b{font-size:21px}
.lv-vb{position:relative;margin-top:6px;min-width:0}
.lv-vb svg{display:block}
.lv-vbb{fill:var(--skyB);transform-box:fill-box;transform-origin:bottom;animation:lvGrowY .7s cubic-bezier(.2,.8,.2,1) backwards;transition:fill .15s}
.lv-vbb.z{fill:var(--line)}.lv-vbb.now{fill:var(--sky)}.lv-vbb.hv{fill:var(--amber)}
@keyframes lvGrowY{from{transform:scaleY(0)}}
.lv-vbt{position:absolute;bottom:calc(100% + 2px);pointer-events:none;white-space:nowrap;font-size:11.5px;padding:3px 8px;border-radius:7px;background:var(--ink);color:var(--bg);font-family:var(--num);z-index:2}
html.lvp .ac-kvi b.up{color:var(--up)}html.lvp .ac-kvi b.down{color:var(--down)}

/* ---------------------------------------------------------------- 收益构成：玫瑰图 */
.lvr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.lvr-c{display:flex;justify-content:center;min-width:0}
.lvr-c svg{display:block;overflow:visible}
.lvr-ring{fill:none;stroke:var(--line2);stroke-dasharray:2 3}
.lvr-sp{stroke:var(--line2)}
.lvr-hole{fill:var(--card)}
.lvr .p0{stop-color:var(--up);stop-opacity:.45}.lvr .p1{stop-color:var(--up);stop-opacity:.95}
.lvr .n0{stop-color:var(--down);stop-opacity:.45}.lvr .n1{stop-color:var(--down);stop-opacity:.95}
.lvr-s{cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.lvr-s path{stroke:var(--card);stroke-width:1.5;animation:lvrGrow .9s cubic-bezier(.2,.8,.2,1) backwards;transition:opacity .2s,filter .2s}
.lvr-s.dim path{opacity:.4}.lvr-s.hv path{filter:brightness(1.12)}
html.lvp[data-theme=dark] .lvr-s.hv path{filter:brightness(1.15) drop-shadow(0 0 8px rgba(255,255,255,.12))}
@keyframes lvrGrow{from{transform:scale(.18);opacity:0}}
.lvr-lab{font-size:11px;font-weight:700;fill:var(--ink2);pointer-events:none;animation:lvFade .5s ease-out backwards}
.lvr-lab.in{fill:#fff}
html.lvp:not([data-theme=dark]) .lvr-lab.in{fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.08);stroke-width:2px}
@keyframes lvFade{from{opacity:0}}
.lvr-ck{font-size:11.5px;fill:var(--ink3)}
.lvr-cv{font-family:var(--num);font-size:17px;font-weight:750;fill:var(--ink)}
.lvr-cv.up{fill:var(--up)}.lvr-cv.down{fill:var(--down)}
.lvr-cs{font-size:11px;fill:var(--ink3)}
.lvr-lg{display:grid;gap:4px;min-width:0}
.lvr-li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:9px;row-gap:5px;align-items:center;padding:7px 10px;border-radius:10px;font-size:13px;transition:background .15s}
.lvr-li.hv{background:var(--skyC)}
.lvr-li>i{width:10px;height:10px;border-radius:3px;background:var(--up)}.lvr-li>i.n{background:var(--down)}
.lvr-li b{font-weight:700;text-align:right}
.lvr-bar{grid-column:2/4;display:block;height:4px;border-radius:2px;background:var(--line2);overflow:hidden}
.lvr-bar u{display:block;height:100%;border-radius:2px;background:var(--up);text-decoration:none;transform-origin:left;animation:lvGrowX .8s cubic-bezier(.2,.8,.2,1) .2s backwards}
.lvr-bar u.n{background:var(--down)}
@keyframes lvGrowX{from{transform:scaleX(0)}}
.lvr-li.tot{border-top:1px solid var(--line);border-radius:0;margin-top:2px;padding-top:10px;grid-template-columns:minmax(0,1fr) auto;font-weight:650}
.ac-rose>p{margin-top:10px;line-height:1.55}

/* ---------------------------------------------------------------- 交易时段 */
.lvh-sum{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--ink2);margin:-4px 0 12px}.lvh-sum b{color:var(--ink);font-weight:700;margin:0 2px}
.lvh{display:grid;gap:3px}
.lvh-row{display:grid;grid-template-columns:22px repeat(24,minmax(0,1fr));gap:3px;align-items:center}
.lvh-row.hrs span{font-size:10.5px;color:var(--ink3);font-family:var(--num);line-height:1}
.lvh-wd{font-size:11.5px;color:var(--ink2)}
.lvh-c{display:block;height:22px;border-radius:4px;background:var(--lv-zero,var(--sub));cursor:pointer;animation:lvhIn .5s cubic-bezier(.2,.8,.2,1) backwards;transition:transform .12s}
.lvh-c:hover,.lvh-c.hv{transform:scale(1.18);box-shadow:0 0 0 1.5px var(--ink);position:relative;z-index:1}
@keyframes lvhIn{from{opacity:0;transform:scale(.4)}}
.lvh-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--ink2);min-height:20px}
.lvh-ft b{color:var(--ink)}.lvh-ft i{font-style:normal;font-weight:700}
.lvh-lg{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink3)}
.lvh-lg i{width:14px;height:10px;border-radius:3px}
.lvh-lg .c1{background:rgba(var(--lvh-c),.22)}.lvh-lg .c2{background:rgba(var(--lvh-c),.55)}.lvh-lg .c3{background:rgba(var(--lvh-c),1)}
.lvh-lg .dn{background:rgba(var(--lvh-dn),.85)}.lvh-lg .z{background:var(--lv-zero,var(--sub))}.lvh-lg .up{background:rgba(var(--lvh-up),.85)}

/* ---------------------------------------------------------------- 策略排行 */
.lvb{display:grid;font-size:13px}
.lvb-h,.lvb-r{display:grid;grid-template-columns:34px minmax(0,1.5fr) minmax(0,.9fr) minmax(0,1.35fr) 88px 80px 116px;gap:10px;align-items:center}
.lvb-h{font-size:11.5px;color:var(--ink3);padding:0 8px 8px;border-bottom:1px solid var(--line)}
.lvb-h .r,.lvb-p,.lvb-a,.lvb-d{text-align:right}
.lvb-r{width:100%;text-align:left;padding:9px 8px;border-bottom:1px solid var(--line2);border-radius:0;color:var(--ink);cursor:pointer;transition:background .15s;animation:lvbIn .5s cubic-bezier(.2,.8,.2,1) backwards}
.lvb-r:hover{background:var(--skyC)}
.lvb-r:focus-visible{outline:2px solid var(--sky);outline-offset:-2px}
@keyframes lvbIn{from{opacity:0;transform:translateX(-10px)}}
.lvb-k{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:750;color:var(--ink3);background:var(--sub)}
html.lvp .lvb-r.t1 .lvb-k{color:#3A2600;background:linear-gradient(135deg,#F7CF6A,#D99A1E);box-shadow:0 0 0 2px rgba(242,179,61,.22)}
html.lvp .lvb-r.t2 .lvb-k{color:#1E2A3A;background:linear-gradient(135deg,#E3E9F2,#A9B6C8)}
html.lvp .lvb-r.t3 .lvb-k{color:#3A1E08;background:linear-gradient(135deg,#F0B788,#C27A45)}
.lvb-n{display:grid;gap:1px;min-width:0}.lvb-n b{font-family:var(--num);font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvb-n em,.lvb-d{font-style:normal;font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvb-d{font-size:12px;color:var(--ink2)}
.lvb-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvb-st.on{color:var(--sky);font-weight:650}
.lvb-st i{width:7px;height:7px;border-radius:50%;background:var(--sky);flex:none;animation:lvPulseSky 1.8s infinite}
@keyframes lvPulseSky{0%{box-shadow:0 0 0 0 var(--skyB)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.lvb-v{display:grid;gap:4px;min-width:0}.lvb-v b{font-weight:700;text-align:right}
.lvb-bar{display:block;height:4px;border-radius:2px;background:var(--line2);overflow:hidden}
.lvb-bar u{display:block;height:100%;border-radius:2px;background:var(--up);text-decoration:none;margin-left:auto;transform-origin:right;animation:lvGrowXr .8s cubic-bezier(.2,.8,.2,1) .15s backwards}
.lvb-bar u.n{background:var(--down)}
@keyframes lvGrowXr{from{transform:scaleX(0)}}
.lvb-p,.lvb-a{font-weight:650}
.lvb-more{margin-top:12px}
html.lvp[data-theme=dark] .lvb-k{background:#1A2A45}

/* 策略卡片：最新成交里滑进来一笔它的成交时亮一下 */
@keyframes lvHit{0%{box-shadow:inset 0 0 0 1px var(--sky),0 0 0 3px var(--skyB),0 0 30px var(--lv-glow)}100%{box-shadow:inset 0 0 0 1px var(--line2),0 0 0 0 transparent}}
.ac-bt.hit{animation:lvHit 1.3s ease-out}
html.lvp[data-theme=dark] .ac-bt{background:linear-gradient(180deg,#152643,#12213A);box-shadow:inset 0 0 0 1px #1F3356}
html.lvp[data-theme=dark] .ac-bt:hover{box-shadow:inset 0 0 0 1px #35588F,0 14px 30px -18px rgba(0,0,0,.8)}
html.lvp[data-theme=dark] .ac-bt-kv,html.lvp[data-theme=dark] .ac-spk.ph{background:rgba(7,14,27,.45)}
html.lvp[data-theme=dark] .ac-bt-dir{background:rgba(7,14,27,.45)}

@media (max-width:980px){
  .ac-hd-main{grid-template-columns:minmax(0,1fr)}
  .lvt-hd,.lvt-row{grid-template-columns:76px minmax(0,1fr) minmax(0,.9fr) 56px minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr) 64px;gap:8px}
  .lvt-hd>:nth-child(8),.lvt-row>:nth-child(8),.lvt-hd>:nth-child(10),.lvt-row>:nth-child(10){display:none}
}
@media (max-width:760px){
  .lv-clock{display:none}
  .lv-sw{height:30px;padding:2px}.lv-sw button{height:26px;padding:0 8px;font-size:0;gap:0}.lv-sw button svg{width:14px;height:14px}
  .lvt-card{padding-top:12px}
  .lvt-top{padding:0 14px 10px;gap:8px 14px}
  .lvt-stats{margin-left:0;gap:4px 14px}.lvt-stats b{font-size:15px}
  .lvt-bars{width:100%;height:22px}
  .lvt-hd,.lvt-hov{display:none}
  .lvt-list{max-height:420px}
  .lvt-row{grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:1px;height:52px;padding:0 14px;align-content:center}
  .lvt-row .lvt-side{grid-column:1;grid-row:1/3;align-self:center;justify-self:stretch;text-align:center;padding:3px 0}
  .lvt-row .lvt-sym{grid-column:2;grid-row:1}
  .lvt-row .lvt-t{grid-column:2;grid-row:2;font-size:11px}
  .lvt-row .lvt-px{grid-column:3;grid-row:1}
  .lvt-row .lvt-q{grid-column:3;grid-row:2;font-size:11px}
  .lvt-row .lvt-src,.lvt-row .lvt-nt,.lvt-row .lvt-fee,.lvt-row .lvt-mk,.lvt-row .lvt-p{display:none}
  .ac-head{padding:16px 14px 16px}
  .ac-eqv{font-size:34px}
  .ac-hd-main{gap:14px}
  .ac-kpis.lvk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lvk-vol{order:-1}
  .lvk>.ac-kvi{padding:10px 12px}
  .lvr{grid-template-columns:minmax(0,1fr);gap:8px}
  .lvh-row{grid-template-columns:18px repeat(24,minmax(0,1fr));gap:2px}.lvh{gap:2px}
  .lvh-c{height:15px;border-radius:3px}
  .lvh-row.hrs span{font-size:9.5px}
  .lvb-h{display:none}
  .lvb-r{grid-template-columns:26px minmax(0,1fr) auto;row-gap:2px;padding:10px 4px}
  .lvb-r .lvb-st{grid-column:2;grid-row:2;font-size:11.5px}
  .lvb-r .lvb-v{grid-column:3;grid-row:1/3}
  .lvb-r .lvb-p,.lvb-r .lvb-a,.lvb-r .lvb-d{display:none}
  .lvb-k{width:22px;height:22px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  html.lvp .ac-page>*,.lv-flu,.lv-fld,.lvt-row.new.lvt-buy,.lvt-row.new.lvt-sell,.ac-bt.hit,.lv-vbb,.lvr-s path,.lvr-lab,.lvr-bar u,.lvh-c,.lvb-r,.lvb-bar u{animation:none}
  .lv-dot,.lvb-st i,.lv-eqm .ring,html.lvp .ac-head::before,html.lvp .ac-head::after{animation:none}
  .lvr-s,.lvh-c{transition:none}
}
.lvk .lvk-chg{color:var(--lv-gold,#B7791F);font-weight:650}

/* 实盘：网格套利记录（一买一卖配成一对）、盘口式当前挂单、马丁格尔本轮进度 / 每一轮（11-07 用户参考 OKX App 要求） */
.ac-arb,.ac-book,.ac-cy{display:grid;gap:10px;min-width:0}
.ac-arb-k{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 14px;padding:12px 14px;border-radius:12px;background:var(--sub)}
.ac-arb-k .ac-kvi b{font-size:15.5px}
.ac-arb-bar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:12px}
.ac-arb-hd,.ac-arb-m{display:grid;grid-template-columns:120px minmax(0,2.2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) 22px;gap:10px;align-items:center;padding:0 10px}
.ac-arb-hd{font-size:11.5px;color:var(--ink3);padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.ac-arb-hd .r,.ac-arb-m .r{text-align:right;justify-self:end}
.ac-arb-list{max-height:460px;overflow-y:auto;overscroll-behavior:contain}
.ac-arb-r{border-bottom:1px solid var(--line2)}
.ac-arb-m{width:100%;min-height:40px;font-size:12.5px;text-align:left;color:var(--ink);cursor:pointer}
.ac-arb-m:hover{background:var(--skyC)}
.ac-arb-m>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-arb-m .arb-t{font-size:12px;color:var(--ink2)}
.ac-arb-m .arb-lg{display:flex;align-items:center;gap:5px}
.ac-arb-m .arb-lg .ac-bs{font-style:normal}
.ac-arb-m .arb-lg b{font-weight:650}
.ac-arb-m .arb-ar{color:var(--ink3)}
.ac-arb-m .arb-es{font-style:normal;font-size:10.5px;color:var(--amber);border:1px solid var(--amber);border-radius:4px;padding:0 3px;line-height:14px}
.ac-arb-m .arb-wt{color:var(--sky);font-weight:650}.ac-arb-m .arb-wt em{font-style:normal;margin-left:4px;color:var(--ink3);font-weight:500}
.ac-arb-r.arb-wait .ac-arb-m{background:linear-gradient(90deg,var(--skyC),transparent 60%)}
.ac-arb-m .arb-cv{color:var(--ink3);transition:transform .2s;justify-self:end}
.ac-arb-r.arb-on .ac-arb-m .arb-cv{transform:rotate(180deg)}
.ac-arb-x{display:grid;gap:4px;padding:6px 10px 12px 130px;font-size:12px;animation:lvFade .2s ease-out}
.ac-arb-x .arb-leg{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ac-arb-x .arb-leg .ac-bs{font-style:normal}
.ac-arb-x p{margin:2px 0 0}
.ac-book-top{display:flex;align-items:baseline;gap:6px 22px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2)}
.ac-book-top b{color:var(--ink);font-size:15px;margin-left:4px}
.ac-book-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;font-size:11.5px;font-weight:700}
.ac-book-bar i,.ac-book-bar u{display:flex;align-items:center;min-width:62px;padding:0 10px;font-style:normal;text-decoration:none;white-space:nowrap;transition:flex-grow .5s}
.ac-book-bar i{background:var(--upA);color:var(--up)}
.ac-book-bar u{justify-content:flex-end;background:var(--downA);color:var(--down);border-left:2px solid var(--card)}
.ac-book-hd,.ac-book-r{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(0,.9fr) 10px minmax(0,.9fr) minmax(0,1fr) 58px;gap:8px;align-items:center;padding:0 6px}
.ac-book-hd{font-size:11.5px;color:var(--ink3);padding-bottom:6px;border-bottom:1px solid var(--line)}
.ac-book-hd .r,.ac-book-r .r{text-align:right;justify-self:end}
.ac-book-hd .bk-sp,.ac-book-r .bk-sp{height:100%;border-left:1px solid var(--line2);justify-self:center}
.ac-book-list{max-height:520px;overflow-y:auto;overscroll-behavior:contain}
.ac-book-r{height:30px;font-size:12.5px;border-bottom:1px dashed var(--line2)}
.ac-book-r .bk-k{font-size:12px;font-weight:650}
.ac-book-r .bk-p{font-weight:650;color:var(--ink)}
.ac-book-r .bk-w{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px var(--skyA);margin:0 8px;vertical-align:1px;cursor:help}
.ac-book-more{justify-self:start}
.ac-dp-sum{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink2);margin:-2px 0 10px}
.ac-dp-sum b{color:var(--ink);font-weight:700;margin:0 3px}
.ac-dp-sum .up b{color:var(--up)}.ac-dp-sum .down b{color:var(--down)}
.ac-dp-sum em{font-style:normal;color:var(--ink3);margin-left:4px}
.ac-dp td em{display:block;font-style:normal;font-size:11px;color:var(--ink3)}
.ac-dp tr.dpg-done td{color:var(--ink)}.ac-dp tr.dpg-plan td{color:var(--ink3)}
.ac-dp tr.dpg-next td{background:var(--skyC)}
.ac-dp tr.dpg-tp td{background:var(--upA)}
.ac-dp .dpg-dot,.dpg-lg .dpg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px;background:var(--line);box-shadow:inset 0 0 0 1.5px var(--ink3)}
.ac-dp tr.dpg-done .dpg-dot,.dpg-lg .dpg-on{background:var(--sky);box-shadow:none}.ac-dp tr.dpg-live .dpg-dot,.dpg-lg .dpg-lvd{background:transparent;box-shadow:inset 0 0 0 2px var(--sky)}
.dpg-lg{display:none}.dpg-lg .dpg-dot{margin:0 4px 0 8px}.dpg-lg .dpg-dot:first-child{margin-left:0}
.ac-dp .dpg-ls{display:none}
.ac-dp .dpg-ok{color:var(--up);font-weight:650}.ac-dp .dpg-lv{color:var(--sky);font-weight:650}
/* 手机：本轮进度只留 档位 / 价格 / 距现价 / 成交后均价 / 成交后止盈价，状态看圆点（说明里有图例） */
@media (max-width:640px){
  .ac-dp th:nth-child(4),.ac-dp td:nth-child(4),.ac-dp th:nth-child(5),.ac-dp td:nth-child(5),.ac-dp th:nth-child(6),.ac-dp td:nth-child(6){display:none}
  .ac-dp th,.ac-dp td{padding-left:4px;padding-right:4px;font-size:12px}
  .ac-dp .dpg-lf{display:none}.ac-dp .dpg-ls{display:inline}
  .ac-dp tr.dpg-tp .ac-bs{display:none}
  .ac-dp .dpg-dot{margin-right:5px}
  .dpg-lg{display:block;margin-bottom:4px}
}
.ac-cy-hd,.ac-cy-m{display:grid;grid-template-columns:46px minmax(0,2fr) 92px 60px minmax(0,.8fr) minmax(0,.8fr) minmax(0,.9fr) 64px 22px;gap:8px;align-items:center;padding:0 10px}
.ac-cy-hd{font-size:11.5px;color:var(--ink3);padding-bottom:6px;border-bottom:1px solid var(--line)}
.ac-cy-hd .r,.ac-cy-m .r{text-align:right;justify-self:end}
.ac-cy-r{border-bottom:1px solid var(--line2)}
.ac-cy-m{width:100%;min-height:38px;font-size:12.5px;text-align:left;color:var(--ink)}
.ac-cy-m:not(:disabled){cursor:pointer}.ac-cy-m:not(:disabled):hover{background:var(--skyC)}
.ac-cy-m>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-cy-r.cy-cur .ac-cy-m{background:var(--skyC)}
.ac-cy-m .cy-cv{color:var(--ink3);transition:transform .2s;justify-self:end}
.ac-cy-r.cy-on .ac-cy-m .cy-cv{transform:rotate(180deg)}
.ac-cy-x{display:grid;gap:4px;padding:6px 10px 12px 64px;font-size:12px;animation:lvFade .2s ease-out}
.ac-cy-x>div{display:grid;grid-template-columns:64px 120px 30px minmax(0,1fr) minmax(0,1fr) 56px minmax(0,1.2fr);gap:8px;align-items:center}
.ac-cy-x .ac-bs{font-style:normal}.ac-cy-x .cy-ok{color:var(--up)}
.ac-cy-x p{margin:2px 0 0}
@media (max-width:980px){.ac-arb-k{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .ac-arb-k{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-arb-hd{display:none}
  .ac-arb-m{grid-template-columns:minmax(0,1fr) auto 18px;grid-template-rows:auto auto;row-gap:2px;padding:8px 6px}
  .ac-arb-m .arb-t{grid-column:1;grid-row:2;font-size:11px}
  .ac-arb-m .arb-lg{grid-column:1;grid-row:1}
  .ac-arb-m>:nth-child(3),.ac-arb-m>:nth-child(4){display:none}
  .ac-arb-m>:nth-child(5){grid-column:2;grid-row:1/3;align-self:center}
  .ac-arb-m .arb-cv{grid-column:3;grid-row:1/3}
  .ac-arb-x{padding:4px 6px 10px}
  .ac-book-hd,.ac-book-r{grid-template-columns:40px minmax(0,1fr) minmax(0,.9fr) 6px minmax(0,.9fr) minmax(0,1fr) 40px;gap:4px;padding:0 2px}
  .ac-book-r{font-size:11.5px}.ac-book-r .bk-k{font-size:11px}
  .ac-book-r .bk-w{margin:0 5px}
  .ac-cy-hd{display:none}
  .ac-cy-m{grid-template-columns:40px minmax(0,1fr) auto 18px;grid-template-rows:auto auto;row-gap:2px;padding:8px 6px}
  .ac-cy-m>:nth-child(2){grid-column:2;grid-row:2;font-size:11px}
  .ac-cy-m>:nth-child(3),.ac-cy-m>:nth-child(5),.ac-cy-m>:nth-child(6){display:none}
  .ac-cy-m>:nth-child(4){grid-column:2;grid-row:1;justify-self:start}
  .ac-cy-m>:nth-child(7){grid-column:3;grid-row:1}
  .ac-cy-m>:nth-child(8){grid-column:3;grid-row:2}
  .ac-cy-m .cy-cv{grid-column:4;grid-row:1/3}
  .ac-cy-x{padding:4px 6px 10px}
  .ac-cy-x>div{grid-template-columns:52px 1fr 26px 1fr;row-gap:0}
  .ac-cy-x>div>:nth-child(5),.ac-cy-x>div>:nth-child(7){display:none}
}

/* ================================================================ 实盘：折叠卡、小图标、小交互（11-07 用户：「资金费明细和手续费与费率…默认显示核心数据，点击后展示详情查看。省去页面空间」
   「收益日历或已实现盈亏版块，同理优化」「让 UI 细节更丰富一些，例如小图标，小交互效果等」）。类名都带 ac- / spl- / hs- / rg- / fs- 前缀（全站有 .hv .up .now 等） */
html.lvp[data-theme=dark] body{--lv-vi:#A79CF2;--lv-viA:rgba(167,156,242,.15);--lv-te:#38C6B8;--lv-teA:rgba(56,198,184,.14);--lv-amA:rgba(242,179,61,.14)}
html.lvp:not([data-theme=dark]) body{--lv-vi:#6E5FD8;--lv-viA:rgba(110,95,216,.10);--lv-te:#11968A;--lv-teA:rgba(17,150,138,.10);--lv-amA:rgba(201,131,22,.11)}
/* 标题前的图标块 */
.ac-card-h h3.ac-h3i{align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}
.ac-h3t{min-width:0;line-height:1.35}
.ac-h3t small{margin-left:8px;font-size:12px;color:var(--ink3);font-weight:400}
.ac-ic{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;color:var(--sky);background:var(--skyA);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.ac-ic.am{color:var(--amber);background:var(--lv-amA,rgba(201,131,22,.11))}
.ac-ic.vi{color:var(--lv-vi,#6E5FD8);background:var(--lv-viA,rgba(110,95,216,.10))}
.ac-ic.te{color:var(--lv-te,#11968A);background:var(--lv-teA,rgba(17,150,138,.10))}
.ac-ic.sl{color:var(--ink2);background:var(--sub);box-shadow:inset 0 0 0 1px var(--line2)}
.ac-card:hover>.ac-card-h .ac-ic{transform:translateY(-1px) rotate(-6deg);box-shadow:0 6px 14px -8px currentColor}
.ac-src>.ac-ic{align-self:flex-start}
/* 折叠卡：右上角「详情 / 收起」 */
.ac-fold-btn{display:inline-flex;align-items:center;gap:3px;flex:none;height:28px;padding:0 9px 0 12px;margin-left:auto;border:0;border-radius:99px;background:var(--sub);color:var(--ink2);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line2);transition:background .2s,color .2s,box-shadow .2s,transform .12s}
.ac-fold-btn:hover{background:var(--skyA);color:var(--sky);box-shadow:inset 0 0 0 1px var(--skyB)}
.ac-fold-btn:active{transform:scale(.94)}
.ac-fold-btn:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.ac-fold-btn .ic{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.ac-fold.is-open .ac-fold-btn{color:var(--sky);background:var(--skyA);box-shadow:inset 0 0 0 1px var(--skyB)}
.ac-fold.is-open .ac-fold-btn .ic,.ac-hist-x.hx-up .ic{transform:rotate(180deg)}
.ac-card-x+.ac-fold-btn{margin-left:0}
/* 摘要：一块浅底，左边核心数字、右边小图；没展开时整块可以点 */
.ac-fold{justify-content:flex-start}
.ac-fold:not(.is-open) .ac-fold-sum{flex:1 0 auto;display:flex}
.ac-fold-sum>.ac-fs{flex:1}
.ac-fs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;align-items:center;padding:13px 15px;border-radius:14px;background:var(--sub);transition:box-shadow .2s,background .2s}
.ac-fs>:only-child,.ac-fs.fs-one{grid-column:1/-1}
.ac-fs.fs-one,.ac-fs.fs-stack{grid-template-columns:minmax(0,1fr)}
.ac-fold-sum.fs-tap{cursor:pointer}
.ac-fold-sum.fs-tap:hover .ac-fs{box-shadow:inset 0 0 0 1px var(--skyB)}
.ac-fold-sum.fs-tap:active .ac-fs{background:var(--skyC)}
.ac-fs .empty{padding:6px 0;margin:0}
.ac-fs-l{display:grid;gap:10px;min-width:0}
.ac-fs-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;min-width:0}
.ac-fs-k.fs-k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ac-fs-k.fs-k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ac-fs-v{min-width:0;display:grid;gap:8px}
.ac-fs-none{display:grid;place-items:center;height:58px;font-size:12.5px;border-radius:10px;border:1px dashed var(--line)}
.ac-fs-empty{display:flex;align-items:center;gap:10px;color:var(--ink2);font-size:13px}
.ac-fs-empty .ic{flex:none;color:var(--ink3)}
.ac-fs-tags,.ac-brk-c{display:flex;flex-wrap:wrap;gap:6px}
.ac-fs-tag,.ac-brk-i{display:inline-flex;gap:6px;align-items:baseline;padding:3px 9px;border-radius:8px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);font-size:12px;white-space:nowrap}
.ac-fs-tag i{font-style:normal;font-weight:700}
.ac-brk-i em{font-style:normal;color:var(--ink3)}.ac-brk-i b{font-size:12.5px}
.ac-pf-wait2{display:grid;gap:8px}.ac-pf-wait2>div:first-child{display:grid;gap:3px;font-size:12.5px}.ac-pf-wait2 b{font-size:14.5px}
.ac-st-sum{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px}
.ac-st-sum .ac-kvi{min-width:84px}
/* 详情：高度从 0 展开（grid 0fr → 1fr），收起时也有动画；展开过的才渲染 */
.ac-fold-b{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .36s cubic-bezier(.2,.8,.2,1),visibility 0s linear .36s}
.ac-fold.is-open .ac-fold-b{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .36s cubic-bezier(.2,.8,.2,1),visibility 0s}
.ac-fold-in{min-height:0;overflow:hidden}
.ac-fold-pad{padding-top:14px;min-width:0}
.ac-fold.is-open .ac-fold-pad{animation:acFoldIn .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes acFoldIn{from{opacity:0}to{opacity:1}}
.ac-fold .ac-pf{grid-template-columns:repeat(3,minmax(0,1fr))}
.ac-fold .ac-st-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.ac-fold .ac-ex-axis{margin-top:2px}
.ac-row2:has(.ac-fold.is-open){align-items:start}
/* 资金费：持有合约现在的费率 + 下一期结算倒计时 */
.ac-fr-now{display:flex;flex-wrap:wrap;gap:6px}
.ac-fr-i{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 10px;border-radius:9px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);font-size:12px;white-space:nowrap}
.ac-fr-i b{font-weight:700}
.ac-fr-cd{flex-basis:100%;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3)}
.ac-cd{display:inline-flex;align-items:center;gap:4px;color:var(--ink3);font-size:12px}
.ac-cd b{font-family:var(--lv-mono,var(--num));font-weight:600;color:var(--ink2);letter-spacing:.02em}
.ac-cd.cd-live{color:var(--amber)}
/* 摘要里的走势小图 */
.ac-spl{position:relative;min-width:0}
.ac-spl-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink3);margin-bottom:4px}
.ac-spl-h b{font-size:13px;font-weight:700}
.ac-spl svg{display:block;overflow:visible;cursor:crosshair;touch-action:pan-y}
.ac-spl .spl-z{stroke:var(--line);stroke-dasharray:3 3}
.ac-spl .spl-ln{stroke-dasharray:1;stroke-dashoffset:1;animation:splDraw 1.1s cubic-bezier(.4,.1,.2,1) .15s forwards}
@keyframes splDraw{to{stroke-dashoffset:0}}
.ac-spl .spl-end{stroke:var(--sub);stroke-width:1.6}
.ac-spl .spl-hv{stroke:var(--ink3);stroke-dasharray:2 3}
.ac-spl .spl-hd{fill:var(--card);stroke-width:2}
.ac-spl-tip{position:absolute;top:18px;transform:translateX(-50%);display:flex;gap:6px;align-items:baseline;padding:3px 8px;border-radius:7px;background:var(--ink);color:var(--card);font-size:11.5px;white-space:nowrap;pointer-events:none;box-shadow:0 8px 18px -10px rgba(0,0,0,.6);z-index:2}
.ac-spl-tip b{color:inherit;font-weight:700}
.ac-spl-ph{display:grid;place-items:center;font-size:12px;color:var(--ink3);border:1px dashed var(--line);border-radius:10px}
/* 收益日历摘要：最近四周每天一格 */
.ac-hs{display:grid;gap:6px}
.ac-hs-r{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px}
.ac-hs-r i{display:block;aspect-ratio:1;border-radius:3px;background:var(--lv-zero,var(--line2));cursor:pointer;transition:transform .15s,box-shadow .15s}
.ac-hs-r i.hs-gap{background:repeating-linear-gradient(135deg,var(--line2) 0 2px,transparent 2px 5px)}
.ac-hs-r i.hs-now{box-shadow:0 0 0 1.5px var(--sky)}
.ac-hs-r i:hover,.ac-hs-r i.hs-hv{transform:scale(1.3);box-shadow:0 0 0 1.5px var(--ink2);position:relative;z-index:1}
.ac-hs-f{font-size:11.5px;min-height:17px;color:var(--ink2)}
.ac-hs-f b{margin-right:8px;color:var(--ink)}.ac-hs-f i{font-style:normal;font-weight:700}
.ac-cal-top{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:10px}
.ac-cal-top .ac-cal-sum{margin:0}
/* 胜率小圆环、两边对比条 */
.ac-ring{position:relative;display:grid;place-items:center;flex:none}
.ac-ring svg{position:absolute;inset:0}
.ac-ring .rg-bg{fill:none;stroke:var(--line2);stroke-width:5}
.ac-ring .rg-fg{fill:none;stroke:var(--sky);stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}
.ac-ring b{position:relative;font-size:14px;font-weight:800}
.ac-ring b small{font-size:9px;margin-left:1px;color:var(--ink3);font-weight:600}
.ac-split{display:grid;gap:5px;min-width:0}
.ac-split-t{display:flex;gap:2px;height:7px;border-radius:99px;overflow:hidden;background:var(--line2)}
.ac-split-t i{display:block;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ac-split-t i:first-child{border-radius:99px 0 0 99px}.ac-split-t i:last-child{border-radius:0 99px 99px 0}
.ac-split-l{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink2)}
.ac-split-l span{display:inline-flex;align-items:center;gap:5px}
.ac-split-l i{width:7px;height:7px;border-radius:2px}
/* 历史：默认 10 条，展开 / 收起 */
.ac-hist-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.ac-hist-f .ac-more{margin-top:0}
.ac-hist-f .ac-hist-x{margin-left:0}
/* 小图标放进现有的小块：策略类型、成交方向 */
.ac-bt-k .ic{margin-right:4px;flex:none}
.lvt-side .ic{margin-right:2px;vertical-align:-1px}
/* 表格行悬停、按钮按下 */
html.lvp .ac-page .tbl tbody tr td{transition:background .15s}
html.lvp .ac-page .tbl tbody tr:hover td{background:var(--skyC)}
html.lvp .ac-page .btn{transition:transform .12s,background .2s,box-shadow .2s}
html.lvp .ac-page .btn:active:not(:disabled){transform:scale(.96)}
@media (max-width:1180px){.ac-fold .ac-st-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .ac-fs{grid-template-columns:minmax(0,1fr);padding:12px;gap:12px}
  .ac-fs-k.fs-k4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-fs .ac-kvi b{font-size:15.5px}
  .ac-hs-r{grid-template-columns:repeat(14,minmax(0,1fr));gap:4px}
  .ac-st-sum{gap:12px 18px}.ac-st-sum .ac-kvi{min-width:0;flex:1 1 40%}
  .ac-fold .ac-pf,.ac-fold .ac-st-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-h3t small{display:block;margin:2px 0 0}
  .ac-ic{width:26px;height:26px;border-radius:8px}
  .ac-src>.ac-ic{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ac-fold-b,.ac-fold.is-open .ac-fold-b,.ac-fold-btn,.ac-fold-btn .ic,.ac-ic,.ac-split-t i,.ac-ring .rg-fg,.ac-hs-r i{transition:none}
  .ac-fold.is-open .ac-fold-pad,.ac-spl .spl-ln{animation:none}.ac-spl .spl-ln{stroke-dasharray:none;stroke-dashoffset:0}
  .ac-card:hover>.ac-card-h .ac-ic{transform:none}
}
