/* 交易台样式 — scoped under .kp-trade；宽度/色板跟随主站（index.html :root） */
.kp-trade{
    /* 继承主站 :root 的 --bg/--card/--line/--txt/--blue/--grad/--radius/--shadow */
    --line2:#eef2f8;
    --sub:var(--muted); --sub2:#98a2b8;
    --upbg:#fdeeec; --downbg:#e9f7f0; --bluebg:#e8f4fa;
    --amber:var(--warn); --amberbg:#fff6e5;
    --gray:#8b95a8; --graybg:#f0f2f6;
  }.kp-trade *{box-sizing:border-box}.kp-trade{margin:0;background:transparent;color:var(--txt);
       font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}.kp-trade .wrap{max-width:none;margin:0;padding:0 0 20px}.kp-trade header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0 0 12px}.kp-trade h1{font-size:20px;margin:0;letter-spacing:.5px;font-weight:700}.kp-trade h1 small{font-size:12.5px;color:var(--sub);font-weight:400;margin-left:8px}.kp-trade .acct{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.kp-trade .kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius, 12px);padding:6px 12px;min-width:96px;box-shadow:var(--shadow)}.kp-trade .kpi .k{font-size:11px;color:var(--sub);letter-spacing:.3px}.kp-trade .kpi .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.kp-trade .kpi .v.up{color:var(--up)}.kp-trade .kpi .v.down{color:var(--down)}.kp-trade .bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}.kp-trade button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);
         color:var(--txt);border-radius:8px;padding:6px 13px;transition:.15s}.kp-trade button:hover{border-color:var(--blue);background:#f0f7fb}.kp-trade button:disabled{opacity:.5;cursor:not-allowed}.kp-trade button.primary{background:var(--grad);border:none;color:#fff;box-shadow:0 2px 8px rgba(14,111,168,.3)}.kp-trade button.primary:hover{filter:brightness(1.06);border:none;background:var(--grad);color:#fff}.kp-trade button.danger{background:var(--upbg);border-color:#f6c9c4;color:var(--up)}.kp-trade button.ok{background:var(--downbg);border-color:#bfe6d4;color:var(--down)}.kp-trade button.sm{padding:3px 9px;font-size:12.5px;border-radius:6px}.kp-trade #status{font-size:12.5px;color:var(--sub);margin-left:4px}.kp-trade #status.err{color:var(--up)}.kp-trade .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.kp-trade .tabs button{border:none;background:none;border-radius:0;padding:9px 16px;color:var(--sub);
               border-bottom:2px solid transparent;font-weight:500}.kp-trade .tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}.kp-trade .tabs button b{font-weight:600;opacity:.75;margin-left:3px}.kp-trade .pane{display:none}.kp-trade .pane.on{display:block}.kp-trade .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius, 12px);overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow)}.kp-trade .card-h{padding:9px 14px;border-bottom:1px solid var(--line2);font-size:13px;font-weight:600;
          display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafd}.kp-trade .card-h .card-h-title{flex:0 0 auto}.kp-trade .card-h .tip{font-weight:400;color:var(--sub);font-size:12px;flex:1 1 160px;min-width:0}.kp-trade .card-h .tip.tight{flex:0 0 auto;font-weight:600;white-space:nowrap}.kp-trade .card-h .pool-tools{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;white-space:nowrap}.kp-trade .card-h .pool-tools .flt,.kp-trade .card-h .pool-tools select,.kp-trade select.flt,.kp-trade #pane-chan select{width:auto;min-width:0;max-width:none;flex:0 0 auto}.kp-trade table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.kp-trade th, .kp-trade td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line2);vertical-align:middle}.kp-trade th{font-size:11.5px;color:var(--sub);font-weight:500;background:#fcfdff;white-space:nowrap;
     position:sticky;top:0;z-index:2}.kp-trade td{font-size:13px}.kp-trade tr:last-child td{border-bottom:none}.kp-trade tr:hover td{background:#fafcff}.kp-trade .nm{font-weight:600}.kp-trade .cd{font-size:11px;color:var(--sub2);font-family:ui-monospace,Menlo,Consolas,monospace}.kp-trade .px{font-weight:600}.kp-trade .up{color:var(--up)}.kp-trade .down{color:var(--down)}.kp-trade .mut{color:var(--sub)}.kp-trade .tnum{font-family:ui-monospace,Menlo,Consolas,monospace}.kp-trade .sig{display:flex;gap:4px}.kp-trade .dot{width:13px;height:13px;border-radius:4px;background:var(--graybg);border:1px solid var(--line);
       display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#fff;line-height:1}.kp-trade .dot.on{background:var(--down);border-color:var(--down)}.kp-trade .dot.manual{background:var(--amber);border-color:var(--amber)}.kp-trade .dot.manual.off{background:var(--graybg);border-color:#d9deea;color:transparent}.kp-trade .dotlbl{font-size:9.5px;color:var(--sub2);display:block;text-align:center;margin-top:1px}.kp-trade .box{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11.5px;font-weight:500;white-space:nowrap}.kp-trade .b-buy{background:var(--downbg);color:var(--down);border:1px solid #bfe6d4}.kp-trade .b-no{background:var(--graybg);color:var(--gray);border:1px solid var(--line)}.kp-trade .b-warn{background:var(--amberbg);color:var(--amber);border:1px solid #f3ddb0}.kp-trade .b-dan{background:var(--upbg);color:var(--up);border:1px solid #f6c9c4}.kp-trade .b-info{background:var(--bluebg);color:var(--blue);border:1px solid #ccdcff}.kp-trade /* 买点分级 S/A/B/C/D（v9，2026-10-26 夜重做）：只看 ①缠论买点 ②三项指标 ③KDJ 金叉第几天，
     顺序即优先级；位置/量能型/大盘 已退出定级，只作参考数字。与 /chan 同一套口径。 */
  .gd{display:inline-flex;align-items:center;justify-content:center;
      min-width:19px;height:19px;padding:0 5px;border-radius:5px;
      font-size:12px;font-weight:700;line-height:1;vertical-align:middle}.kp-trade .gd.S{background:#fdecea;color:#c0392b;border:1px solid #f3bdb6}.kp-trade .gd.A{background:#fdeeec;color:#e03a2f;border:1px solid #f7d4d0}.kp-trade .gd.B{background:#fff6e5;color:#d98a00;border:1px solid #f5dfae}.kp-trade .gd.C{background:#f0f2f6;color:#6b7690;border:1px solid #e2e6ee}.kp-trade .gd.D{background:#f7f8fa;color:#a8b1c2;border:1px solid #e8ebf1}.kp-trade .gdchip{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:4px;
          background:#f4f6fa;color:#5a6579;border:1px solid #e6eaf2;white-space:nowrap;margin-right:4px}.kp-trade .gdchip.warn{background:#fff6e5;color:#b07800;border-color:#f5dfae}.kp-trade .gdchip.bad{background:#f7f8fa;color:#98a2b8;border-color:#e8ebf1}.kp-trade /* 背离徽章：顶=红、底=蓝。实心=方向与缠论买卖点一致（确认）；描边=跟买卖点反着（冲突）；
     虚线灰=还没有对应买卖点（待配）。失效的背离一律不上徽章，只在详情里留灰字。 */
  .divtag{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;
          padding:2px 7px;border-radius:5px;letter-spacing:.4px;white-space:nowrap;vertical-align:middle}.kp-trade .divtag.top{background:#fd3b2f;color:#fff;box-shadow:0 1px 4px rgba(200,40,30,.35)}.kp-trade .divtag.bottom{background:#1f6fd0;color:#fff;box-shadow:0 1px 4px rgba(30,90,190,.3)}.kp-trade .divtag.x-top{background:#fff;color:#d0271d;border:1.5px solid #f0a9a3}.kp-trade .divtag.x-bottom{background:#fff;color:#2864a8;border:1.5px dashed #a9c4e4}.kp-trade .divtag.watch-top{background:transparent;color:#9aa3b2;border:1px dashed #ccd3de}.kp-trade .divtag.watch-bottom{background:transparent;color:#8fa6c2;border:1px dashed #c3d3e6}.kp-trade .divtag i{font-style:normal;font-weight:600;opacity:.75;font-size:10px}.kp-trade .divline{margin-top:5px;padding:5px 8px;border-radius:6px;font-size:10.5px;line-height:1.55;
           background:#f6f8fc;border:1px solid #e6eaf2;color:#4b5568;max-width:420px}.kp-trade .divline b.top{color:#c0271d}.kp-trade .divline b.bottom{color:#1a56b0}.kp-trade .divline .stalenote{color:#98a2b8;font-size:10px;margin-top:2px}.kp-trade .range{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;white-space:nowrap}.kp-trade .stack{font-size:11.5px;color:var(--sub);line-height:1.35}.kp-trade .mini{font-size:10.5px;line-height:1.3;margin-top:4px}.kp-trade .mini.warn{color:var(--amber)}.kp-trade .mini.done{color:var(--sub2)}.kp-trade .dot.manual{width:20px;height:15px;border-radius:4px;font-size:10px}.kp-trade /* 蓝色光圈＝这个勾是 /chan 确认买点自动打上的，不是手点的 */
  .dot.manual.auto{border-color:var(--blue);box-shadow:0 0 0 2px rgba(14,111,168,.28)}.kp-trade /* 橙色虚线＝信号本来有，但今天被我自己点掉了（明天会自动回来），别误读成「没信号」 */
  .dot.manual.off.off-by-me{border:1px dashed #d98a00;background:#fff7e8}.kp-trade .empty{padding:34px 10px;text-align:center;color:var(--sub2);font-size:13px}.kp-trade .note{padding:10px 14px;font-size:12px;color:var(--sub);background:#fbfcfe;border-top:1px solid var(--line2);line-height:1.7}.kp-trade /* ---- 缺口 / 触发条件 ---- */
  .gapcell{min-width:132px;max-width:210px}.kp-trade /* ---- RS30 强度列 ---- */
  .thsub{font-size:10px;font-weight:400;color:var(--sub2)}.kp-trade .rscell{min-width:78px;white-space:nowrap}.kp-trade .rsv{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;font-weight:800;line-height:1.2}.kp-trade .rsv .u{font-size:10px;font-weight:600;opacity:.72;margin-left:1px}.kp-trade .rsv.up{color:var(--up)}.kp-trade .rsv.down{color:var(--down)}.kp-trade .rsv.na{color:var(--sub2);font-weight:500}.kp-trade .gap-h{font-size:11.5px;line-height:1.35;color:#34405a;margin-top:3px}.kp-trade .b-ready{background:var(--downbg);color:var(--down);border:1px solid #bfe6d4}.kp-trade .b-near{background:#fff4e0;color:#b26a00;border:1px solid #f6d79a}.kp-trade .b-watch{background:var(--bluebg);color:var(--blue);border:1px solid #ccdcff}.kp-trade .b-dead{background:#f4f5f8;color:#8b95a8;border:1px solid #e2e5ee}.kp-trade .b-blocked{background:var(--upbg);color:var(--up);border:1px solid #f6c9c4}.kp-trade tr.row-ready td{background:#f2fbf6}.kp-trade tr.row-near td{background:#fffdf7}.kp-trade tr.row-flash td{animation:flashRow 1.4s ease-out 3}
  @keyframes flashRow{0%,100%{background:inherit}.kp-trade 50%{background:#fff3c4}}.kp-trade tr.expandable{cursor:pointer}.kp-trade .gapdetail td{background:#f9fbff;padding:0}.kp-trade .gapbox{padding:10px 14px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px 18px}.kp-trade .gline{font-size:12px;line-height:1.55;border-left:3px solid var(--line);padding-left:9px}.kp-trade .gline.ok{border-left-color:#bfe6d4}.kp-trade .gline.no{border-left-color:#f6c9c4}.kp-trade .gline.gate{border-left-color:#f6d79a}.kp-trade .gline b{font-weight:600}.kp-trade .gline .gk{font-size:11px;color:var(--sub);margin-right:5px}.kp-trade .gline .ga{display:block;color:#b26a00;margin-top:2px}.kp-trade .gline .ga.dead{color:#8b95a8}.kp-trade .alertbar{display:none;margin:0 0 12px;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.6;
            border:1px solid #f6d79a;background:#fff9ec;color:#8a5a00}.kp-trade .alertbar.on{display:block}.kp-trade .alertbar b{color:#7a4b00}.kp-trade .alertbar .x{float:right;cursor:pointer;color:#b09a6a;margin-left:10px}.kp-trade .live{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--sub);cursor:pointer;
        user-select:none;margin-left:auto;font-weight:400}.kp-trade .live input{margin:0;vertical-align:-1px}.kp-trade .live .dotlive{width:7px;height:7px;border-radius:50%;background:#c9d3e6;display:inline-block}.kp-trade .live.on .dotlive{background:var(--down);box-shadow:0 0 0 3px rgba(10,154,94,.16);animation:pulse 1.6s infinite}
  @keyframes pulse{0%,100%{opacity:1}.kp-trade 50%{opacity:.35}}.kp-trade select.flt{font:inherit;font-size:12.5px;padding:3px 7px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--txt)}/* modal：z-index 须高于本站 .topbar(100)，否则标题会被导航挡住 */
.kp-trade #mask{position:fixed;inset:0;background:rgba(16,24,40,.42);display:none;z-index:1000;
        align-items:center;justify-content:center;padding:20px}.kp-trade #mask.on{display:flex}.kp-trade .modal{background:#fff;border-radius:14px;width:min(520px,100%);max-height:88vh;overflow:auto;
         box-shadow:0 18px 50px rgba(16,24,40,.24)}.kp-trade .modal h3{margin:0;padding:15px 18px;border-bottom:1px solid var(--line2);font-size:15px}.kp-trade .modal .body{padding:16px 18px}.kp-trade .modal .foot{padding:12px 18px;border-top:1px solid var(--line2);display:flex;gap:8px;justify-content:flex-end}.kp-trade .fg{margin-bottom:12px}.kp-trade .fg > label{display:block;font-size:12px;color:var(--sub);margin-bottom:4px}.kp-trade .fg input:not([type=radio]):not([type=checkbox]), .kp-trade .fg select, .kp-trade .fg textarea{width:100%;padding:7px 10px;border:1px solid var(--line);
        border-radius:7px;font:inherit;background:#fff;color:var(--txt)}.kp-trade .fg input[type=radio], .kp-trade .fg input[type=checkbox]{width:auto;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;flex:0 0 auto}.kp-trade .fg label.opt{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--txt);cursor:pointer;margin:7px 0;font-weight:400}.kp-trade .fg label.opt .hint{display:block;margin:2px 0 0}.kp-trade .fg input:not([type=radio]):not([type=checkbox]):focus, .kp-trade .fg textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,111,168,.12)}.kp-trade .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kp-trade .hint{font-size:11.5px;color:var(--sub2);margin-top:3px}.kp-trade .calc{background:#eef6fc;border:1px solid #cfe3f7;border-radius:8px;padding:9px 12px;font-size:12.5px;
        line-height:1.8;color:#34405a}.kp-trade .calc b{color:var(--txt)}.kp-trade /* 大盘风控条 */
  .riskbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0 2px;
    padding:9px 13px;border-radius:10px;border:1px solid;font-size:12.5px;line-height:1.55}.kp-trade .riskbar.rk0{background:#EAF3DE;border-color:#C0DD97;color:#27500A}.kp-trade .riskbar.rk1{background:#E6F1FB;border-color:#B5D4F4;color:#0C447C}.kp-trade .riskbar.rk2{background:#FAEEDA;border-color:#FAC775;color:#854F0B}.kp-trade .riskbar.rk3{background:#FAECE7;border-color:#F0997B;color:#993C1D}.kp-trade .rulebar{margin:0 0 12px;padding:8px 13px;border-radius:9px;border:1px solid #CFE3F7;
    background:#EEF6FF;color:#1F4E79;font-size:12.5px;line-height:1.6}.kp-trade .rulebar b{color:#0C447C}.kp-trade .rulebar .mut{color:#6b7690;font-size:11.5px}.kp-trade .riskbar.rk4{background:#FCEBEB;border-color:#F09595;color:#A32D2D}.kp-trade .riskbar .rk-badge{font-weight:700;font-size:13px;padding:2px 9px;border-radius:6px;
    background:rgba(255,255,255,.75)}.kp-trade .riskbar .rk-coef{font-weight:700}.kp-trade .riskbar .rk-txt{opacity:.88}.kp-trade .riskbar .rk-cut{font-weight:600}.kp-trade .riskbar .rk-idx-row{display:flex;flex-wrap:wrap;gap:3px 16px;width:100%;font-size:11.5px}.kp-trade .riskbar .rk-i em{font-style:normal;opacity:.65}.kp-trade .riskbar .rk-i .up{color:#c0362c;font-style:normal;font-weight:600}.kp-trade .riskbar .rk-i .dn{color:#1a7f4b;font-style:normal;font-weight:600}.kp-trade .riskbar .rk-flags{width:100%;font-size:11.5px;opacity:.85}.kp-trade .rkcut{color:#993C1D;background:#FAECE7;border-radius:4px;padding:1px 4px;display:inline-block}.kp-trade .gline.rkline{background:#f7f9fc;border-radius:5px;padding:5px 7px;margin-bottom:4px}

  @media(max-width:900px){
    .acct{width:100%;margin-left:0}.kp-trade th:nth-child(6), .kp-trade td:nth-child(6), .kp-trade th:nth-child(8), .kp-trade td:nth-child(8){display:none}
  }.kp-trade /* ========== 缠论买点区（合并自 /chan，全部限定在 #pane-chan 内）==========
     20 个同名类（.card/.bar/.kpi/.note/.empty/.up/.down/.nm/.cd/.mini…）原本与
     交易台样式打架，统一加 #pane-chan 前缀隔离；id 与 trade 无冲突，保持原样。 */
#pane-chan .cn-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 10px}.kp-trade #pane-chan .cn-head #meta{font-size:12.5px;color:var(--sub)}.kp-trade #pane-chan header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0 12px}.kp-trade #pane-chan h1{font-size:19px;margin:0;letter-spacing:.3px}.kp-trade #pane-chan h1 small{font-size:12px;color:var(--sub);font-weight:400;margin-left:8px}.kp-trade #pane-chan .kv{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.kp-trade #pane-chan .kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 13px;min-width:78px;cursor:pointer;transition:.15s}.kp-trade #pane-chan .kpi:hover{border-color:var(--blue)}.kp-trade #pane-chan .kpi.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--bluebg)}.kp-trade #pane-chan .kpi .k{font-size:11px;color:var(--sub);letter-spacing:.3px}.kp-trade #pane-chan .kpi .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.kp-trade #pane-chan .bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 14px}.kp-trade #pane-chan button:not(.btn), .kp-trade #pane-chan select{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);
         color:var(--txt);border-radius:8px;padding:6px 12px;transition:.15s}.kp-trade #pane-chan > .bar > button:not(.btn):hover{border-color:var(--blue);background:#f0f7fb}.kp-trade #pane-chan button:disabled{opacity:.5;cursor:not-allowed}.kp-trade #pane-chan button.primary:not(.btn){background:var(--grad);border:none;color:#fff;box-shadow:0 2px 8px rgba(14,111,168,.3)}.kp-trade #pane-chan button.primary:not(.btn):hover{filter:brightness(1.06);border:none;background:var(--grad);color:#fff}.kp-trade #pane-chan button.btn{font:inherit;cursor:pointer;display:inline-block;border-radius:8px;font-weight:600;transition:filter .15s,transform .05s;width:auto;flex:0 0 auto}.kp-trade #pane-chan button.btn-p{background:var(--grad);color:#fff;border:none;box-shadow:0 2px 8px rgba(14,111,168,.3)}.kp-trade #pane-chan button.btn-p:hover{filter:brightness(1.06);background:var(--grad);border:none;color:#fff}.kp-trade #pane-chan button.btn-o{background:#fff;color:var(--blue);border:1px solid var(--line)}.kp-trade #pane-chan button.btn-o:hover{border-color:var(--blue);background:#f0f7fb}.kp-trade #pane-chan button.btn-sm{padding:4px 10px;font-size:12px}.kp-trade #pane-chan .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card)}.kp-trade #pane-chan .seg button{border:0;border-radius:0;padding:6px 11px;font-size:12.5px;color:var(--sub);background:transparent}.kp-trade #pane-chan .seg button+button,.kp-trade #pane-chan .seg button+button:hover{border-left:1px solid var(--line2)}.kp-trade #pane-chan .seg button:hover{border-color:transparent;background:#f0f7fb}.kp-trade #pane-chan .seg button+button:hover{border-left-color:var(--line2)}.kp-trade #pane-chan .seg button.on,.kp-trade #pane-chan .seg button.on:hover{background:var(--grad);color:#fff;border-color:transparent}.kp-trade #pane-chan .hint{font-size:12px;color:var(--sub)}.kp-trade #pane-chan .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}.kp-trade #pane-chan .seal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef6ff;border:1px solid #cfe3f7;
        color:#1f4e79;border-radius:9px;padding:8px 13px;font-size:12.5px;margin-bottom:14px;line-height:1.6}.kp-trade #pane-chan .seal b{color:#0c447c}.kp-trade #pane-chan .seal .lock{font-weight:700}.kp-trade #pane-chan .card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.kp-trade #pane-chan .card>h2{margin:0;padding:12px 16px;font-size:14px;border-bottom:1px solid var(--line2);
           display:flex;align-items:center;gap:8px;background:#fbfcfe;flex-wrap:wrap}.kp-trade #pane-chan .card>h2 .badge{font-weight:400;font-size:11.5px;color:var(--sub)}.kp-trade #pane-chan .card .body{padding:14px 16px}.kp-trade #pane-chan .card .body.tight{padding:0;overflow-x:auto}.kp-trade #pane-chan .card .body.tight table{min-width:1360px}.kp-trade #pane-chan .picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.kp-trade #pane-chan .pick{border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff;position:relative;overflow:hidden;cursor:pointer;transition:.15s}.kp-trade #pane-chan .pick:hover{border-color:#c9d3e6;box-shadow:0 2px 10px rgba(30,60,120,.07)}.kp-trade #pane-chan .pick::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.kp-trade #pane-chan .pick.buy::before{background:var(--up)}.kp-trade #pane-chan .pick.pending::before{background:var(--amber)}.kp-trade #pane-chan .pick.sell::before{background:var(--down)}.kp-trade #pane-chan .pick.brk::before{background:#8b95a8}.kp-trade #pane-chan .pick-tag.brk{background:var(--graybg);color:#68758c}.kp-trade #pane-chan .pick-h{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.kp-trade #pane-chan .pick-n{font-weight:700;font-size:15px;flex:0 1 auto;min-width:0;
          white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-trade #pane-chan .pick-c{font-size:11px;color:var(--sub2);flex:0 0 auto;
          font-family:ui-monospace,Menlo,Consolas,monospace}.kp-trade #pane-chan .pick-tag{margin-left:auto;font-size:11.5px;font-weight:700;padding:1px 8px;
            border-radius:20px;white-space:nowrap;flex:0 0 auto}.kp-trade #pane-chan .pick-tag.buy{background:var(--upbg);color:var(--up)}.kp-trade #pane-chan .pick-tag.pending{background:var(--amberbg);color:var(--amber)}.kp-trade #pane-chan .pick-tag.sell{background:var(--downbg);color:var(--down)}.kp-trade #pane-chan .gd{display:inline-flex;align-items:center;justify-content:center;
      min-width:19px;height:19px;padding:0 5px;border-radius:5px;
      font-size:12px;font-weight:700;line-height:1;flex:0 0 auto;
      font-variant-numeric:tabular-nums}.kp-trade #pane-chan .gd.S{background:#fdecea;color:#c0392b;border:1px solid #f3bdb6}.kp-trade #pane-chan .gd.A{background:#fdeeec;color:#e03a2f;border:1px solid #f7d4d0}.kp-trade #pane-chan .gd.B{background:#fff6e5;color:#d98a00;border:1px solid #f5dfae}.kp-trade #pane-chan .gd.C{background:#f0f2f6;color:#6b7690;border:1px solid #e2e6ee}.kp-trade #pane-chan .gd.D{background:#f7f8fa;color:#a8b1c2;border:1px solid #e8ebf1}.kp-trade #pane-chan .gdwrap{display:flex;gap:5px;align-items:center;margin-top:5px;flex-wrap:wrap}.kp-trade #pane-chan .gdchip{font-size:11px;padding:1px 6px;border-radius:4px;background:#f4f6fa;
          color:#5a6579;border:1px solid #e6eaf2;white-space:nowrap}.kp-trade #pane-chan .gdchip.warn{background:#fff6e5;color:#b07800;border-color:#f5dfae}.kp-trade #pane-chan .gdchip.bad{background:#f7f8fa;color:#98a2b8;border-color:#e8ebf1}.kp-trade #pane-chan .divtag{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:800;
          padding:2px 8px;border-radius:5px;letter-spacing:.4px;white-space:nowrap}.kp-trade #pane-chan .divtag.top{background:#fd3b2f;color:#fff;box-shadow:0 1px 4px rgba(200,40,30,.35)}.kp-trade #pane-chan .divtag.bottom{background:#1f6fd0;color:#fff;box-shadow:0 1px 4px rgba(30,90,190,.3)}.kp-trade #pane-chan .divtag.x-top{background:#fff;color:#d0271d;border:1.5px solid #f0a9a3}.kp-trade #pane-chan .divtag.x-bottom{background:#fff;color:#2864a8;border:1.5px dashed #a9c4e4}.kp-trade #pane-chan .divtag.watch-top{background:transparent;color:#9aa3b2;border:1px dashed #ccd3de}.kp-trade #pane-chan .divtag.watch-bottom{background:transparent;color:#8fa6c2;border:1px dashed #c3d3e6}.kp-trade #pane-chan .divline{margin-top:7px;padding:7px 9px;border-radius:7px;font-size:11.5px;line-height:1.6;
           background:#f6f8fc;border:1px solid #e6eaf2;color:#4b5568}.kp-trade #pane-chan .divline b.top{color:#c0271d}.kp-trade #pane-chan .divline b.bottom{color:#1a56b0}.kp-trade #pane-chan .divline .stalenote{color:#98a2b8;font-size:10.5px;margin-top:3px}.kp-trade #pane-chan .divlegend{margin:0 0 10px;padding:9px 12px;border-radius:8px;background:#fff;
  border:1px solid var(--line2);font-size:11.5px;line-height:2.1;color:var(--sub)}.kp-trade #pane-chan .divlegend .divtag{font-size:10.5px;padding:1px 6px;margin:0 3px 0 0}.kp-trade #pane-chan .divlegend .lgitem{display:inline-block;white-space:nowrap;margin-right:14px}.kp-trade #pane-chan .divlegend .staleeg{color:#98a2b8;border-bottom:1px dashed #ccd3de}.kp-trade #pane-chan .pick-grid{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin-top:9px;font-size:12.5px}.kp-trade #pane-chan .pick-grid .k{color:var(--sub)}.kp-trade #pane-chan .pick-grid .v{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.kp-trade #pane-chan .up{color:var(--up)}.kp-trade #pane-chan .down{color:var(--down)}.kp-trade #pane-chan .warnline{margin-top:9px;padding:6px 9px;border-radius:7px;background:#fff9ef;border:1px solid #f5e2bf;
            color:#8a5b00;font-size:11.8px;line-height:1.5}.kp-trade #pane-chan table{width:100%;border-collapse:collapse;font-size:13px}.kp-trade #pane-chan thead th{position:sticky;top:0;background:#f7f9fc;color:var(--sub);font-weight:600;font-size:11.5px;
           letter-spacing:.2px;padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;z-index:2}.kp-trade #pane-chan tbody td{padding:9px 10px;border-bottom:1px solid var(--line2);vertical-align:middle}.kp-trade #pane-chan tbody tr.row:not(.hl):hover{background:#fafbff}.kp-trade #pane-chan tbody tr.row.hl:hover>td{filter:brightness(.97)}.kp-trade #pane-chan tbody tr.row{cursor:pointer}.kp-trade #pane-chan td.r{text-align:right;font-variant-numeric:tabular-nums}.kp-trade #pane-chan .nm{font-weight:600}.kp-trade #pane-chan .cd{font-size:11px;color:var(--sub2);font-family:ui-monospace,Menlo,Consolas,monospace}.kp-trade #pane-chan .pill{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}.kp-trade #pane-chan .pill.buy{background:var(--upbg);color:var(--up)}.kp-trade #pane-chan .pill.buy_watch{background:#fff1ee;color:#c2632f}.kp-trade #pane-chan .pill.pending_buy{background:var(--amberbg);color:var(--amber)}.kp-trade #pane-chan .pill.sell{background:var(--downbg);color:var(--down)}.kp-trade #pane-chan .pill.pending_sell{background:#e8f6ef;color:#0a7a4a}.kp-trade #pane-chan .pill.invalid{background:var(--graybg);color:#68758c}.kp-trade #pane-chan .pill.stale_buy, .kp-trade #pane-chan .pill.stale_sell{background:#f4f6fa;color:#7d879c}.kp-trade #pane-chan .pill.none{background:#f4f6fa;color:var(--sub2)}.kp-trade #pane-chan .mini{font-size:11.5px;color:var(--sub)}.kp-trade #pane-chan .arrow{color:var(--sub2);font-size:11px;display:inline-block;transition:.2s}.kp-trade #pane-chan tr.row.open .arrow{transform:rotate(90deg)}.kp-trade #pane-chan .chg{font-size:11px;padding:1px 6px;border-radius:20px;background:#fff1f0;color:#b23a30;border:1px solid #f7d4d0}.kp-trade #pane-chan .ok60{font-size:11.5px;font-weight:700;color:#0a7a4a;background:#e9f7f0;border:1px solid #bfe6d4;
        padding:1px 7px;border-radius:20px;white-space:nowrap}.kp-trade #pane-chan .brk{margin-top:3px;font-size:11px;color:#b23a30;background:#fdeeec;border:1px solid #f7d4d0;
       border-radius:6px;padding:1px 6px;display:inline-block;white-space:nowrap}.kp-trade #pane-chan td.catbox{white-space:normal;line-height:1.5}.kp-trade #pane-chan td.catbox .brk, .kp-trade #pane-chan td.catbox .chg{margin-top:3px;display:inline-block;font-size:10.5px}.kp-trade #pane-chan .filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef6ff;border:1px solid #cfe3f7;
    color:#1f4e79;border-radius:9px;padding:7px 13px;font-size:12.5px;margin:0 0 12px}.kp-trade #pane-chan .filterbar b{color:#0c447c}.kp-trade #pane-chan .filterbar button{padding:3px 10px;font-size:12px;border-radius:6px}.kp-trade #pane-chan .filterbar .sw{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:4px}.kp-trade #pane-chan tr.detail>td{padding:0;background:#fbfcfe;border-bottom:1px solid var(--line)}.kp-trade #pane-chan .detail-inner{padding:14px 16px 18px}.kp-trade #pane-chan .detail-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px;font-size:12.5px;color:var(--sub)}.kp-trade #pane-chan .detail-head b{color:var(--txt)}.kp-trade #pane-chan .chartbox{width:100%;overflow:hidden}.kp-trade #pane-chan .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--sub);margin-top:8px}.kp-trade #pane-chan .legend span{display:flex;align-items:center;gap:5px}.kp-trade #pane-chan .legend i{display:inline-block;width:14px;height:0;border-top-width:2px;border-top-style:solid}.kp-trade #pane-chan .empty{color:var(--sub);text-align:center;padding:40px 0;font-size:13px}.kp-trade #pane-chan .note{font-size:12px;color:var(--sub);line-height:1.75}.kp-trade #pane-chan .note b{color:var(--txt)}.kp-trade #pane-chan .note ol{margin:6px 0;padding-left:20px}.kp-trade #pane-chan .note li{margin:4px 0}.kp-trade #pane-chan .loading{display:inline-block;width:13px;height:13px;border:2px solid #c9d3e6;border-top-color:var(--blue);
           border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}.kp-trade #pane-chan.only-table #buyCard, .kp-trade #pane-chan.only-table #sellCard, .kp-trade #pane-chan.only-table #brkCard{display:none}.kp-trade #pane-chan.filtering #buyCard, .kp-trade #pane-chan.filtering #sellCard, .kp-trade #pane-chan.filtering #brkCard{display:none}.kp-trade #pane-chan.filtering #filterBar{margin-bottom:10px}.kp-trade #pane-chan .sv{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.kp-trade #pane-chan .sv-box{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff}.kp-trade #pane-chan .sv-box h3{margin:0 0 8px;font-size:13px;font-weight:700}.kp-trade #pane-chan .sv-box h3 span{font-weight:400;font-size:11.5px;color:var(--sub);margin-left:6px}.kp-trade #pane-chan .svrow{display:flex;align-items:center;gap:8px;font-size:12px;margin:5px 0}.kp-trade #pane-chan .svrow .lb{width:34px;color:var(--sub);font-variant-numeric:tabular-nums}.kp-trade #pane-chan .svrow .tr{flex:1;height:16px;background:var(--graybg);border-radius:4px;overflow:hidden;position:relative}.kp-trade #pane-chan .svrow .fl{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#0d9bce,#0e6fa8)}.kp-trade #pane-chan .svrow .fl.warn{background:linear-gradient(90deg,#ffc46b,#d98a00)}.kp-trade #pane-chan .svrow .vv{width:62px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.kp-trade #pane-chan .sv-note{font-size:11.5px;color:var(--sub);margin-top:8px;line-height:1.65}.kp-trade #pane-chan .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#17202f;color:#fff;
         padding:9px 18px;border-radius:9px;font-size:13px;opacity:0;transition:.25s;pointer-events:none;z-index:99}.kp-trade #pane-chan .toast.on{opacity:1}