/* ============================================================
   潮汐投研 — 组件样式
   ============================================================ */

.app{height:100vh;}

/* ---------------- 信息流落地页 ---------------- */
.feed{height:100vh;display:flex;flex-direction:column;background:var(--bg);}

.nav{
  display:flex;align-items:center;gap:24px;
  height:60px;padding:0 24px;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);flex-shrink:0;z-index:30;
}
.nav-left{display:flex;align-items:center;gap:20px;flex:1;min-width:0;}
/* 导航中部：全局搜索（三段式布局，搜索框真居中） */
.nav-center{flex:0 1 480px;display:flex;justify-content:center;min-width:0;}
.nav-right{flex:1;justify-content:flex-end;}
.gsearch{position:relative;width:100%;max-width:440px;}
.gs-drop{position:absolute;top:44px;left:0;right:0;background:#fff;border:1px solid var(--line2);border-radius:12px;box-shadow:0 16px 44px rgba(20,25,35,.16);padding:5px;z-index:60;}
.gs-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;font-size:13px;text-align:left;transition:.1s;}
.gs-item.hi{background:#f4f6f9;}
.gs-name{font-weight:700;color:var(--t1);flex:none;}
.gs-sym{color:var(--t3);font-size:11px;flex:none;}
.gs-px{margin-left:auto;font-weight:700;font-size:12px;white-space:nowrap;}
/* 工作台头部中部搜索 */
.th-center{flex:1;display:flex;justify-content:center;min-width:120px;padding:0 16px;}
.th-center .search{height:34px;border-radius:17px;max-width:380px;}
.th-center .gs-drop{top:40px;}
.logo{display:flex;align-items:center;gap:9px;}
.logo-txt{font-weight:800;font-size:22px;letter-spacing:-1px;color:var(--t1);}
.logo-ai{color:var(--blue);}
/* 产品页：logo 后的领域标 + 产品切换 tabs */
.logo-prod{font-size:12px;font-weight:800;color:var(--blue);background:var(--blue-soft);padding:3px 10px;border-radius:8px;letter-spacing:1px;}
.prod-tabs{display:flex;gap:2px;background:#eef0f2;padding:3px;border-radius:10px;flex-shrink:0;}
.prod-tab{font-size:12.5px;font-weight:600;color:var(--t2);padding:5px 13px;border-radius:8px;text-decoration:none;transition:.13s;}
.prod-tab:hover{color:var(--t1);}
.prod-tab.on{background:#fff;color:var(--t1);font-weight:700;box-shadow:0 1px 4px rgba(20,24,30,.08);}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--up);position:relative;}
.live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--up);animation:pulse 2s infinite;}
.live-dot.sm{width:6px;height:6px;}

.search{
  display:flex;align-items:center;gap:8px;flex:1;max-width:340px;
  height:38px;padding:0 14px;background:#f1f3f5;border-radius:19px;
  border:1px solid transparent;transition:.18s;
}
.search:focus-within{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.search input{border:none;background:none;outline:none;flex:1;font-size:14px;color:var(--t1);}
.search input::placeholder{color:var(--t3);}

.nav-tabs{display:flex;gap:4px;flex-shrink:0;}
.ntab{
  padding:7px 16px;border-radius:9px;font-size:15px;font-weight:600;color:var(--t2);transition:.15s;
}
.ntab:hover{color:var(--t1);background:#f1f3f5;}
.ntab.on{color:var(--blue);background:var(--blue-soft);}

.nav-right{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.live-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--t2);padding:5px 11px;border-radius:16px;background:#f1f3f5;}
.live-dot-blue{background:var(--blue);}
.live-dot-blue::after{background:var(--blue);}
.nav-icon{width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;transition:.15s;}
.nav-icon:hover{background:#e0e8fd;}
.avatar{width:30px;height:30px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;flex-shrink:0;}
.nav-me{cursor:pointer;}

/* 指数 tape */
.tape{
  display:flex;gap:30px;padding:8px 24px;background:#fff;border-bottom:1px solid var(--line);
  overflow-x:auto;flex-shrink:0;
}
.tape::-webkit-scrollbar{display:none;}
.tape-item{display:flex;align-items:baseline;gap:8px;white-space:nowrap;}
.tape-n{font-size:13px;color:var(--t2);font-weight:600;}
.tape-v{font-size:14px;font-weight:700;}
.tape-c{font-size:12px;}

/* 筛选条（参考选电影的多维筛选：每行一个维度） */
.subbar{display:flex;align-items:center;gap:10px;background:#fff;border-bottom:1px solid var(--line);padding:9px 24px;flex-shrink:0;}
.filter-icon{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;color:var(--t2);}
.filter-dims{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.fdim{display:flex;align-items:center;gap:12px;}
.fdim-label{flex-shrink:0;width:36px;font-size:12px;font-weight:600;color:var(--t3);}
.fdim-opts{display:flex;gap:4px;flex-wrap:wrap;}
.fopt{padding:4px 12px;border-radius:7px;font-size:13px;font-weight:600;color:var(--t2);transition:.13s;white-space:nowrap;}
.fopt:hover{background:#f1f3f5;color:var(--t1);}
.fopt.on{background:var(--blue);color:#fff;}
/* 折叠态快捷筛选 */
.subbar.expanded{align-items:flex-start;padding-top:10px;padding-bottom:10px;}
.subbar.expanded .filter-icon{margin-top:3px;}
.quick-row{flex:1;display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;}
.quick-row::-webkit-scrollbar{height:0;display:none;}
.fchip{flex-shrink:0;padding:6px 13px;border-radius:18px;font-size:13px;font-weight:600;color:var(--t2);background:#f1f3f5;transition:.15s;white-space:nowrap;}
.fchip:hover{background:#e7eaee;color:var(--t1);}
.fchip.on{background:var(--t1);color:#fff;}
.filter-expand{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:18px;font-size:12.5px;font-weight:600;color:var(--blue);background:var(--blue-soft);white-space:nowrap;}
.fx-caret{font-size:10px;}
.filter-collapse{align-self:flex-start;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--blue);padding:4px 10px;border-radius:8px;background:var(--blue-soft);white-space:nowrap;}

/* 瀑布流 */
.feed-scroll{flex:1;overflow-y:auto;padding:22px 24px 60px;position:relative;}
.masonry{display:flex;gap:16px;align-items:flex-start;max-width:1480px;margin:0 auto;}
.mcol{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0;}

.newpill{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;margin:0 auto 18px;
  padding:9px 18px;background:var(--blue);color:#fff;border-radius:20px;font-size:13.5px;font-weight:600;
  box-shadow:0 6px 20px rgba(58,109,240,.35);animation:slideUp .3s;
}
.newpill-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite;}
.feed-end{text-align:center;color:var(--t3);font-size:12.5px;margin-top:34px;letter-spacing:2px;}
.empty{text-align:center;color:var(--t3);padding:80px 0;font-size:14px;}

/* 卡片 */
.card{
  background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;
  box-shadow:0 1px 2px rgba(20,25,35,.04);transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(20,25,35,.10);}
.card-new{}
@keyframes cardFlash{0%{}100%{}}
.card-cover{position:relative;}
.card-tag{
  position:absolute;top:10px;left:10px;z-index:2;padding:3px 9px;border-radius:7px;
  background:rgba(26,29,33,.62);color:#fff;font-size:11.5px;font-weight:600;backdrop-filter:blur(4px);
}
.card-body{padding:12px 14px 13px;}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;}
.card-chip{font-size:11.5px;font-weight:600;color:var(--blue);background:var(--blue-soft);padding:3px 9px;border-radius:7px;}

/* ---------------- 封面（抓眼球为核心，加高） ---------------- */
.cov{height:210px;position:relative;overflow:hidden;}
/* ── 形态匹配 banner (cov-pat) ── */
.cov-pat{position:relative;overflow:hidden;background:linear-gradient(155deg,#0f172a 0%,#0c1a2e 55%,#091420 100%);}
.cov-pat-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:30px 30px;}
.cov-pat-glow{position:absolute;top:-40px;left:-20px;width:280px;height:180px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(58,109,240,.14),transparent 70%);}
.cov-pat-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3a6df0,#60a5fa,#3a6df0);}
.cov-pat-in{position:relative;padding:12px 15px 13px;}
.cov-pat-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.cov-pat-sym{font-size:10px;color:rgba(255,255,255,.32);letter-spacing:.5px;}
.cov-pat-px{font-size:12px;font-weight:700;}
.cov-pat-hero{line-height:1.1;margin-bottom:7px;}
.cov-pat-hname{display:block;font-size:34px;font-weight:900;color:#fff;letter-spacing:-.5px;font-family:var(--sans);}
.cov-pat-hlabel{display:block;font-size:15px;font-weight:700;color:#60a5fa;letter-spacing:.3px;margin-top:3px;}
.cov-pat-hint{font-size:11px;color:rgba(255,255,255,.38);margin-bottom:6px;}
.cov-pat-chart{position:relative;height:68px;margin-bottom:8px;}
.cov-pat-r{position:absolute;top:2px;right:2px;font-size:9px;color:rgba(255,255,255,.3);}
.cov-pat-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);}
.cov-pat-stats{font-size:11.5px;color:rgba(255,255,255,.72);font-weight:600;}
.cov-pat-stats .cpst-sep{color:rgba(255,255,255,.22);margin:0 4px;}
.cov-pat-tend{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:5px;}
.cov-stat{background:linear-gradient(180deg,#fbfcfd,#f4f6f8);padding:26px 18px 0;display:flex;flex-direction:column;}
.cov-stat-big{font-size:52px;font-weight:800;letter-spacing:-2px;line-height:1;}
.cov-stat-sub{font-size:15px;font-weight:700;color:var(--t1);margin-top:12px;}
.cov-stat-note{font-size:11.5px;color:var(--t2);margin-top:5px;}
.cov-spark{position:absolute;left:0;right:0;bottom:0;height:68px;opacity:.85;}

.cov-chart{background:#fbfcfd;display:flex;flex-direction:column;}
.cov-chart-mini{flex:1;padding:10px 8px 0;}
.cov-chart-label{padding:8px 14px 12px;font-size:13px;font-weight:700;color:var(--t1);}

.cov-quote{background:var(--t1);color:#fff;padding:24px 20px;display:flex;flex-direction:column;justify-content:center;height:210px;}
.cov-quote-mark{font-size:54px;line-height:.6;color:var(--blue);font-family:Georgia,serif;height:24px;}
.cov-quote-text{font-size:19px;font-weight:700;line-height:1.5;letter-spacing:-.2px;margin-top:8px;text-wrap:balance;}
.cov-quote-who{font-size:12px;color:var(--t3);margin-top:12px;}

.cov-cmp{background:#fbfcfd;display:flex;flex-direction:column;}
.cov-cmp-chart{flex:1;padding:14px 10px 0;}
.cov-cmp-vs{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;font-size:13px;font-weight:700;}
.cov-cmp-vs span{color:var(--t1);}
.cov-cmp-vs em{font-style:normal;font-size:11px;color:#fff;background:var(--blue);padding:2px 7px;border-radius:6px;}

/* 未来推演封面（业绩 / 供需） */
.cov-fc{background:linear-gradient(180deg,#fbfcfd,#f2f4f7);padding:20px 18px 0;display:flex;flex-direction:column;}
.cov-fc-kicker{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.3px;color:var(--blue);background:var(--blue-soft);padding:3px 10px 3px 9px;border-radius:20px;}
.cov-fc-sd .cov-fc-kicker{color:#b45309;background:#fbf0e0;}
.cov-fc-big{font-size:40px;font-weight:800;letter-spacing:-1.5px;line-height:1;margin-top:13px;}
.cov-fc-sub{font-size:13px;font-weight:700;color:var(--t2);margin-top:7px;text-wrap:balance;}
/* 产业链封面 */
.cov-chain{padding-bottom:18px;}
.cov-chain-flow{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--t2);margin-top:14px;flex-wrap:wrap;}
.cov-chain-flow b{font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.5px;}
.cov-chain-ar{color:var(--blue);font-weight:800;}
.cov-chain-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;}
.cov-chain-chip{font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:3px 9px;border-radius:7px;}
.cov-fc-leg{position:absolute;right:15px;top:46px;display:flex;gap:12px;font-size:10.5px;color:var(--t2);font-weight:600;}
.cov-fc-leg span{display:inline-flex;align-items:center;gap:4px;}
.fcl{width:8px;height:8px;border-radius:2px;}
.fcl-dem{background:#e8a33d;}
.fcl-sup{background:#9aa1a8;}
.cov-fc-chart{position:absolute;left:18px;right:18px;bottom:13px;height:76px;}
.fcb{display:flex;align-items:stretch;gap:11px;height:100%;}
.fcb-split{width:0;border-left:1px dashed #c2c7cd;margin:0 1px;}
.fcb-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;}
.fcb-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;}
.fcb-bar{width:60%;background:var(--c,#3a6df0);border-radius:3px 3px 0 0;min-height:3px;}
.fcb-bar.est{background:transparent;border:1.6px dashed var(--c,#3a6df0);}
.fcb-pair .fcb-bar{width:40%;}
.fcb-dem{--c:#e8a33d;}
.fcb-sup{--c:#9aa1a8;}
.fcb-lab{font-size:9.5px;color:var(--t3);letter-spacing:-.3px;margin-top:5px;white-space:nowrap;}
/* strip 版 */
.scov-fc{background:linear-gradient(180deg,#fbfcfd,#f2f4f7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
.scov-fc-big{font-size:18px;font-weight:800;color:var(--t1);letter-spacing:-.5px;}
.scov-fc-sub{font-size:10px;color:var(--t2);font-weight:600;}

.cov-img{background:#eef0f2;}
.cov-img-ph{
  height:100%;display:grid;place-items:center;
  background:repeating-linear-gradient(45deg,#e9ebee 0 11px,#eef0f2 11px 22px);
}
.cov-img-ph span{font-size:11.5px;color:#9aa0a7;padding:5px 10px;background:rgba(255,255,255,.7);border-radius:6px;}

/* ---------------- 观点投票卡 ---------------- */
.cov-poll{
  background:linear-gradient(150deg,#20242c 0%,#2b3450 56%,#1b263d 100%);
  padding:18px 18px 0;display:flex;flex-direction:column;
}
.cov-poll-kicker{
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:800;letter-spacing:.4px;color:#cfe0ff;
  background:rgba(120,158,255,.16);border:1px solid rgba(120,158,255,.3);
  padding:3px 11px 3px 7px;border-radius:20px;
}
.cov-poll-q{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;line-height:1;}
.cov-poll-title{
  margin-top:15px;font-size:21px;font-weight:800;line-height:1.34;letter-spacing:-.4px;
  color:#fff;text-wrap:balance;position:relative;z-index:1;
}
.cov-poll-stat{margin-top:9px;font-size:11.5px;color:#9fb1c9;letter-spacing:.2px;position:relative;z-index:1;}
.cov-poll-spark{
  position:absolute;left:0;right:0;bottom:0;height:52px;opacity:.3;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 70%);mask-image:linear-gradient(180deg,transparent,#000 70%);
}

.card-poll{display:flex;flex-direction:column;}
.poll-body{padding:13px 14px 14px;display:flex;flex-direction:column;gap:11px;}
.poll-prompt{font-size:12.5px;font-weight:700;color:var(--t2);}
.poll-btns{display:flex;gap:9px;}
.poll-btn{
  flex:1;padding:12px 8px;border-radius:11px;border:1.5px solid var(--line2);background:#fff;
  font-size:14.5px;font-weight:700;color:var(--t1);transition:transform .14s,border-color .14s,background .14s,color .14s;cursor:pointer;
}
.poll-btn:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(58,109,240,.14);}
.poll-btn:active{transform:translateY(0);}
.poll-meta{font-size:11px;color:var(--t3);}

.poll-results{display:flex;flex-direction:column;gap:8px;}
.poll-res{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:11px 13px;border-radius:11px;border:1.5px solid var(--line);background:#fff;overflow:hidden;
}
.poll-res.mine{border-color:var(--blue);}
.poll-res-bar{position:absolute;left:0;top:0;bottom:0;background:#f1f4f9;z-index:0;animation:pollBar .55s cubic-bezier(.2,.7,.3,1);}
.poll-res.mine .poll-res-bar{background:var(--blue-soft);}
@keyframes pollBar{from{width:0;}}
.poll-res-txt{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--t1);}
.poll-res-tick{font-size:10.5px;font-weight:800;color:var(--blue);background:#fff;border:1px solid #dde7fd;padding:1px 7px;border-radius:6px;white-space:nowrap;}
.poll-res-pct{position:relative;z-index:1;font-size:14px;font-weight:800;color:var(--t2);}
.poll-res.mine .poll-res-pct{color:var(--blue);}

.poll-ai{background:var(--blue-soft);border:1px solid #e2eafd;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:6px;}
.poll-ai-tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.3px;color:var(--blue);}
.poll-ai-txt{font-size:12.5px;line-height:1.6;color:var(--t1);text-wrap:pretty;}

.poll-detail{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:10px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;transition:.14s;cursor:pointer;}
.poll-detail:hover{background:#2f5fdd;}
.poll-arrow{transition:transform .15s;}
.poll-detail:hover .poll-arrow{transform:translateX(3px);}

/* related-rail 缩略封面（投票卡兜底） */
.scov-poll{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(150deg,#262b37,#2b3450);color:#fff;padding:0 10px;text-align:center;}
.scov-poll-q{font-size:12.5px;font-weight:800;color:#fff;}
.scov-poll-sub{font-size:9.5px;color:#9fb1c9;letter-spacing:.3px;}

/* ---------------- 交易工作台 ---------------- */
.trade-layer{position:fixed;inset:0;z-index:100;background:var(--bg);animation:slideUp .26s cubic-bezier(.2,.7,.3,1);}
.trade{height:100vh;display:flex;flex-direction:column;}

.th{
  display:flex;align-items:center;gap:18px;height:64px;padding:0 22px;flex-shrink:0;
  background:#fff;border-bottom:1px solid var(--line);
}
.th-back{
  display:flex;align-items:center;gap:3px;padding:8px 14px 8px 9px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--t1);background:#f1f3f5;transition:.15s;
}
.th-back:hover{background:#e7eaee;}
.th-asset{display:flex;align-items:center;gap:9px;}
.mkt-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;}
.mkt-badge.sm{font-size:10px;padding:1px 5px;}
.mkt-A{background:#fdecec;color:var(--up);}
.mkt-HK{background:#eaf1ff;color:var(--blue);}
.mkt-US{background:#ecf7f1;color:var(--down);}
.mkt-CMDTY{background:#fdf3e3;color:#b45309;}
.crumb-menu-item.dis{opacity:.45;cursor:default;}
.crumb-menu-item.dis:hover{background:none;}
.th-name{font-size:20px;font-weight:800;letter-spacing:-.5px;}
.th-sym{font-size:13px;color:var(--t3);}
.th-price{display:flex;align-items:baseline;gap:10px;}
.th-px{font-size:26px;font-weight:800;letter-spacing:-1px;}
.th-chg{font-size:15px;font-weight:700;}
.th-stats{display:flex;gap:20px;margin-left:8px;}
.th-stat{display:flex;flex-direction:column;gap:2px;}
.th-stat-k{font-size:11px;color:var(--t3);}
.th-stat-v{font-size:13px;font-weight:600;color:var(--t1);}
.th-watch{margin-left:auto;padding:9px 18px;border-radius:10px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;transition:.15s;}
.th-watch:hover{background:#2f5fdd;}

.trade-main{flex:1;display:flex;min-height:0;}

/* 相关内容左栏（滚动浏览） */
.related-rail{width:296px;flex-shrink:0;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0;}
.rr-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0;border-bottom:1px solid var(--line);}
.rr-head .op-count{display:flex;align-items:center;gap:5px;}
.rr-list{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px;}
.rcard{display:flex;gap:10px;text-align:left;padding:9px;border-radius:11px;border:1px solid transparent;transition:.14s;width:100%;}
.rcard:hover{background:#f6f7f9;}
.rcard.on{background:var(--blue-soft);}
.rcard-thumb{width:62px;height:62px;flex-shrink:0;border-radius:9px;overflow:hidden;}
.ccov{width:62px;height:62px;display:grid;place-items:center;}
.ccov-stat{background:#f4f6f8;}
.ccov-stat span{font-size:14px;font-weight:800;letter-spacing:-.5px;}
.ccov-chart{background:#fbfcfd;}
.ccov-quote{background:var(--t1);color:var(--blue);font-family:Georgia,serif;font-size:30px;line-height:0;padding-top:8px;}
.ccov-cmp{background:#fbfcfd;color:var(--blue);font-size:13px;font-weight:800;}
.ccov-img{background:repeating-linear-gradient(45deg,#e9ebee 0 7px,#eef0f2 7px 14px);}
.rcard-main{min-width:0;flex:1;}
.rcard-tagrow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:3px;}
.rcard-tag{font-size:10.5px;font-weight:700;color:var(--t2);background:#f1f3f5;padding:1px 7px;border-radius:5px;}
.rcard-chg{font-size:11.5px;font-weight:700;}
.rcard-title{font-size:12.5px;line-height:1.4;font-weight:600;color:var(--t1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty;}
.rcard-meta{font-size:11px;color:var(--t3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trade-chart-col{flex:1;display:flex;flex-direction:column;min-width:0;padding:16px;overflow-y:auto;}
.chart-host{flex-shrink:0;height:46vh;min-height:300px;background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;position:relative;}
.chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px;}
.periods{display:flex;gap:2px;background:#eef0f2;padding:3px;border-radius:10px;}
.per{padding:6px 13px;border-radius:8px;font-size:13px;font-weight:600;color:var(--t2);transition:.12s;}
.per:hover{color:var(--t1);}
.per.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}

.cmp-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cmp-chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 10px;border-radius:8px;
  background:#fff;border:1px solid var(--line2);font-size:12.5px;font-weight:600;color:var(--t1);
}
.cmp-dot{width:8px;height:8px;border-radius:50%;background:var(--c);}
.cmp-x{width:16px;height:16px;border-radius:50%;color:var(--t3);font-size:14px;line-height:1;display:grid;place-items:center;}
.cmp-x:hover{background:#f1f3f5;color:var(--t1);}
.add-wrap{position:relative;}
.cmp-add{padding:6px 11px;border-radius:8px;border:1px dashed #c7ccd2;font-size:12.5px;font-weight:600;color:var(--t2);transition:.15s;}
.cmp-add:hover:not(:disabled){border-color:var(--blue);color:var(--blue);}
.cmp-add:disabled{opacity:.4;cursor:not-allowed;}
.add-menu{
  position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:240px;background:#fff;border-radius:12px;
  box-shadow:0 12px 36px rgba(20,25,35,.16);border:1px solid var(--line);padding:8px;animation:pop .14s;
}
.add-menu-t{font-size:11.5px;color:var(--t3);padding:6px 8px 8px;font-weight:600;}
.add-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border-radius:8px;transition:.12s;}
.add-item:hover{background:#f4f6f8;}
.add-name{font-size:13.5px;font-weight:600;color:var(--t1);}
.add-sym{font-size:11.5px;color:var(--t3);margin-left:auto;}

.chart-host{flex-shrink:0;height:46vh;min-height:300px;background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;position:relative;}
.chart-hint{font-size:11.5px;color:var(--t3);text-align:center;padding-top:10px;}

/* 身份徽标 + 多腿头部 */
.idea-badge{font-size:12px;font-weight:800;padding:3px 10px;border-radius:7px;letter-spacing:.5px;}
.idea-single{color:var(--blue);background:var(--blue-soft);}
.idea-pair{color:#8b5cf6;background:#f3eefc;}
.idea-portfolio{color:#e8852b;background:#fdf2e6;}
.th-legs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.th-leg{display:inline-flex;align-items:center;gap:7px;}
.th-leg-dot{width:9px;height:9px;border-radius:3px;background:var(--c);}
.th-leg-name{font-size:16px;font-weight:800;letter-spacing:-.4px;}
.th-leg-chg{font-size:13px;font-weight:700;}
.th-idea-kicker{font-size:12px;color:var(--t3);padding-left:6px;border-left:1px solid var(--line2);}

/* 事件类比横幅 */
.align-bar{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;background:linear-gradient(90deg,#eef2fe,#f5f0fc);border:1px solid #e0e8fd;border-radius:11px;padding:9px 14px;}
.align-bar-t{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--t1);}
.align-bar-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(58,109,240,.16);}
.align-exit{font-size:13px;font-weight:600;color:var(--blue);padding:6px 12px;border-radius:8px;background:#fff;border:1px solid #cdd9fb;transition:.15s;}
.align-exit:hover{background:var(--blue);color:#fff;}

/* 事件对齐图内覆盖层（左上信息面板） */
.chart-idbar{position:absolute;left:10px;top:8px;z-index:7;display:flex;align-items:baseline;gap:9px;background:rgba(255,255,255,.6);backdrop-filter:blur(2px);border:1px solid rgba(238,240,242,.7);border-radius:10px;padding:7px 12px;pointer-events:none;}
.cid-name{font-size:15px;font-weight:800;letter-spacing:-.3px;color:var(--t1);}
.cid-sym{font-size:11px;color:var(--t3);}
.chart-idbar .mkt-badge{align-self:center;}
.cid-div{width:1px;height:14px;background:var(--line2);align-self:center;}
.cid-px{font-size:15px;font-weight:800;}
.cid-chg{font-size:12px;font-weight:700;}
/* 名称价格信息已并入主描述卡片头部 */
.cc-align-id{display:inline-flex;align-items:baseline;gap:8px;flex:none;}
.cc-align-id .cid-px{font-size:13.5px;}
.cc-align-id .mkt-badge{align-self:center;}
.cc-align-id .cid-div{align-self:center;}
.with-idbar .cc-align{top:52px;}
/* 全屏模式:描述卡片上移,与对比窗/全屏按钮对齐 */
.cc-wrap.cc-full .cc-align{top:10px !important;}
/* 全屏模式:底部悬浮「为什么是现在」条 */
.cc-full-why{position:absolute;left:10px;right:10px;bottom:10px;z-index:5;}
.cc-full-why .whynow{margin-top:0;box-shadow:0 10px 28px rgba(20,25,35,.12);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);}
.cc-align{position:absolute;left:10px;top:8px;width:max-content;max-width:clamp(320px, calc(100% - 320px), 1280px);pointer-events:none;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);border:1px solid rgba(238,240,242,.7);border-radius:10px;padding:8px 11px;}
.cc-align-h{font-size:13px;font-weight:800;color:var(--t1);letter-spacing:-.2px;display:flex;align-items:center;gap:7px;}
.cc-align-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;flex-shrink:0;}
.cc-align-stat{font-size:12px;color:var(--t2);margin-top:4px;}
.cc-align-stat b{font-weight:700;color:var(--t1);}
.cc-align-stat b.up{color:var(--up);}
.cc-align-stat b.down{color:var(--down);}
.cc-align-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;}
.cc-lg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--t1);white-space:nowrap;}
.cc-lg-ref{opacity:.62;}
.cc-lg i{width:14px;height:3px;border-radius:2px;}
.cc-lg em{font-style:normal;font-size:11px;color:var(--t3);font-weight:500;}
.cc-lg-cur{font-style:normal;font-size:10px;font-weight:700;color:#fff;background:#1a1d21;padding:1px 6px;border-radius:5px;}
.cc-align-wrap{cursor:grab;}
.cc-align-wrap:active{cursor:grabbing;}
.cc-hint{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--t3);background:rgba(255,255,255,.7);padding:2px 8px;border-radius:6px;pointer-events:none;}

/* 讲解模式：入口按钮 + 旁白卡片 */
.cc-tourbtn{position:absolute;left:10px;bottom:10px;z-index:6;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#fff;background:#1a1d21;border:none;padding:7px 13px;border-radius:9px;cursor:pointer;box-shadow:0 4px 14px rgba(20,25,35,.22);transition:.15s;}
.cc-tourbtn:hover{background:#2b3442;transform:translateY(-1px);}
.cc-tour{position:absolute;left:10px;top:10px;z-index:8;width:min(520px,calc(100% - 130px));background:rgba(26,29,33,.95);backdrop-filter:blur(8px);border-radius:13px;padding:12px 15px;box-shadow:0 12px 34px rgba(20,25,35,.34);color:#fff;}
.cc-tour-top{display:flex;align-items:center;gap:10px;}
.cc-tour-title{font-size:12.5px;font-weight:800;color:#ffd98a;letter-spacing:.2px;}
.cc-tour-dots{display:flex;gap:5px;margin-left:2px;}
.cc-tour-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.28);transition:.2s;}
.cc-tour-dots i.on{background:#ffd98a;}
.cc-tour-x{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.6);font-size:13px;cursor:pointer;padding:2px 4px;}
.cc-tour-x:hover{color:#fff;}
.cc-tour-cap{margin-top:8px;font-size:13px;line-height:1.6;color:#eef1f5;text-wrap:pretty;}
.cc-tour-ctl{margin-top:11px;display:flex;align-items:center;gap:8px;}
.cc-tour-ctl button{font-size:12px;font-weight:700;padding:6px 13px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:.14s;}
.cc-tour-ctl button:hover:not(:disabled){background:rgba(255,255,255,.18);}
.cc-tour-ctl button:disabled{opacity:.35;cursor:default;}
.cc-tour-ctl .cc-tour-play{margin-left:auto;}
.cc-tour-ctl .cc-tour-done{margin-left:auto;background:#3a6df0;border-color:#3a6df0;}
.cc-tour-ctl .cc-tour-done:hover{background:#2f5fdd;}

/* 图例中的对比标的可点击显隐 */
.cc-align .cc-lg-ref{pointer-events:auto;cursor:pointer;border-radius:6px;padding:1px 5px;margin:-1px -3px;transition:.12s;}
/* 主描述卡片折叠开关：默认折叠成单行标题，展开才显示统计与图例 */
.cc-align-toggle{pointer-events:auto;flex:none;margin-left:6px;font-size:10.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:2px 8px;border-radius:6px;cursor:pointer;transition:.12s;white-space:nowrap;}
.cc-align-toggle:hover{background:#e0e8fd;}
/* 单事件卡片：被对比 K 线图例纵向排列 */
.cc-align-legend-col{flex-direction:column;align-items:flex-start;gap:6px;}
.cc-lg-dir{font-size:10px;font-weight:800;line-height:1;}
.cc-lg-dir.up{color:var(--up);}
.cc-lg-dir.down{color:var(--down);}
.cc-align .cc-lg-ref:hover{background:rgba(58,109,240,.08);}
.cc-align .cc-lg-ref.off{opacity:.35;}
.cc-align .cc-lg-ref.off i{background:#c4c9cf!important;}
/* 叠加模式：事件组容器 + 组内单条对比标的小 chip */
.cc-lggrp{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 7px;padding:2px 8px 2px 4px;background:#f5f6f8;border-radius:8px;}
.cc-lggrp .cc-lg{white-space:nowrap;}
.cc-lg-sub{font-size:11px;font-weight:500;color:var(--t2);white-space:nowrap;}
.cc-lg-sub i{width:8px!important;height:8px!important;border-radius:50%!important;}
/* 频率切换：图右上角的轻量分段控件 */
.cc-topctl{position:absolute;right:10px;top:10px;display:flex;align-items:center;gap:6px;z-index:6;}
.cc-topctl .cc-period{position:static;}
.cc-winbtn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--t2);background:rgba(255,255,255,.55);backdrop-filter:blur(2px);border:1px solid rgba(228,231,234,.7);border-radius:8px;padding:4px 9px;transition:.12s;cursor:pointer;}
.cc-winbtn b{font-weight:700;color:var(--t1);font-size:11px;}
.cc-winbtn:hover,.cc-winbtn.on{background:#fff;color:var(--t1);border-color:#d4d9de;}
.cc-winpop{position:absolute;top:36px;right:0;width:248px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line2);border-radius:10px;box-shadow:0 10px 28px rgba(20,25,35,.16);padding:10px 12px;cursor:default;}
.cc-winpop-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--t1);margin-bottom:4px;}
.cc-winrow{display:grid;grid-template-columns:54px 1fr 48px;align-items:center;gap:8px;font-size:11.5px;color:var(--t2);padding:5px 0;}
.cc-winrow b{text-align:right;color:var(--t1);font-weight:700;font-size:11px;}
.cc-winrow input[type=range]{width:100%;accent-color:var(--blue);}
.cc-winnote{margin-top:6px;padding-top:7px;border-top:1px dashed var(--line2);font-size:10.5px;color:var(--t3);line-height:1.55;}

/* 剧本推演条（事件对齐图头部）：每条剧本独占一行，超宽时省略号收尾（悬停看全文） */
.cc-script{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line2);max-width:100%;}
.cc-script-k{font-size:11px;font-weight:800;color:var(--blue);background:var(--blue-soft);padding:2px 8px;border-radius:7px;flex:none;}
.cc-script-row{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;}
.cc-script-row i{display:inline-block;vertical-align:-1px;margin-right:6px;}
.cc-script-row em{font-weight:700;}
.cc-script-bound{font-size:11px;color:var(--t2);background:#f6f7f9;border:1px solid var(--line);padding:3px 9px;border-radius:7px;}

/* 分时图 */
.ic-wrap{width:100%;height:100%;position:relative;cursor:crosshair;}
.ic-legend{position:absolute;left:10px;top:8px;display:flex;align-items:center;gap:12px;pointer-events:none;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);border:1px solid rgba(238,240,242,.7);border-radius:10px;padding:6px 10px;}
.with-idbar .ic-legend{top:52px;}
.ic-prev{font-size:11px;color:var(--t3);}

/* 为什么是现在：主图下的紧迫感条 */
.whynow{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding:9px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;min-width:0;}
.wn-kicker{flex:none;}
.wn-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2);white-space:nowrap;flex:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.wn-item + .wn-item{border-left:1px solid var(--line2);padding-left:14px;}
.wn-k{font-weight:600;color:var(--t2);}
.wn-k em{margin-left:4px;color:var(--t3);font-style:normal;font-size:11px;}
.wn-k b{font-weight:700;}
.wn-bar{width:64px;height:5px;border-radius:3px;background:#eef0f2;overflow:hidden;flex:none;}
.wn-bar i{display:block;height:100%;background:var(--blue);border-radius:3px;}
.wn-v{font-size:11.5px;color:var(--t2);}
.wn-v b{font-weight:700;}
.wn-cd{font-weight:800;font-size:12px;color:var(--blue);background:var(--blue-soft);padding:2px 7px;border-radius:7px;}
.wn-item.warn .wn-cd{color:#b45309;background:#fdf0e3;}
.wn-alert{margin-left:auto;flex:none;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:6px 13px;border-radius:9px;transition:.15s;}
.wn-alert:hover{background:#e0e8fd;}
.wn-alert.on{color:#fff;background:var(--blue);}

/* 为什么是现在：催化倒计时「行动驱动」主元素 */
.wn-lead{display:flex;align-items:center;gap:9px;flex:1 1 300px;min-width:240px;padding:7px 12px;border-radius:11px;}
.wn-lead.up{background:#fdecec;border:1px solid #f6c9cb;}
.wn-lead.down{background:#e7f6ee;border:1px solid #bde6ce;}
.wn-lead-dot{width:8px;height:8px;border-radius:50%;flex:none;}
.wn-lead.up .wn-lead-dot{background:#f0353b;animation:wnPulse 1.5s infinite;}
.wn-lead.down .wn-lead-dot{background:#15a35a;animation:wnPulse 1.5s infinite;}
@keyframes wnPulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 currentColor;}50%{opacity:.4;transform:scale(.65);}}
@media (prefers-reduced-motion: reduce){.wn-lead-dot{animation:none !important;}}
.wn-lead-cd{flex:none;font-family:var(--mono);font-weight:800;font-size:14px;letter-spacing:-.3px;}
.wn-lead.up .wn-lead-cd{color:#c4282d;}
.wn-lead.down .wn-lead-cd{color:#13693f;}
.wn-lead-txt{font-size:11.5px;line-height:1.4;color:#5b3034;white-space:normal;}
.wn-lead.down .wn-lead-txt{color:#1a4730;}
.wn-lead-txt b{font-weight:800;}
.wn-lead-dir{margin:0 1px;}
.wn-lead.up .wn-lead-dir{color:#f0353b;}
.wn-lead.down .wn-lead-dir{color:#15a35a;}
.wn-v .wn-left{font-weight:800;color:#c4282d;}
.wn-risk{margin-left:6px;font-size:10px;font-weight:700;color:#b45309;background:#fdf0e3;padding:1px 6px;border-radius:5px;}

/* 技术指标区（替代「为什么是现在」） */
/* 图表 + 技术指标合并为一张卡（参考 Watchlist）—— 卡片擑满剩余高度，图表随之加高，指标条始终贴底不裁切 */
.tr-chartcard{flex:1 1 auto;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;min-height:360px;}
.tr-chartcard .chart-host{flex:1 1 auto;height:auto;min-height:280px;border:none;border-radius:14px 14px 0 0;background:#fff;overflow:hidden;}
.tr-chartcard .indbar{flex:0 0 auto;margin-top:0;border:none;border-top:1px solid var(--line);border-radius:0 0 14px 14px;background:#fff;position:relative;overflow:visible;}
.indbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:10px;padding:9px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;}
.ind-kicker{flex:none;}
.ind-chip{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:9px;border:1px solid var(--line2);background:#fff;cursor:pointer;transition:.14s;}
.ind-chip:hover{border-color:var(--blue);background:#fafbff;}
.ind-chip.on{border-color:var(--blue);background:var(--blue-soft);}
.ind-dots{display:flex;gap:2px;flex:none;}
.ind-dots i{width:7px;height:7px;border-radius:50%;display:block;}
.ind-lab{font-size:12.5px;font-weight:700;color:var(--t1);}
.ind-chip.on .ind-lab{color:var(--blue);}
.ind-sub{font-size:10.5px;color:var(--t3);}
/* 自定义指标 chip + 添加弹层 */
.ind-chip-custom{cursor:pointer;}
.ind-chip-custom .ind-rm{font-size:13px;font-weight:800;color:var(--t3);margin-left:1px;line-height:1;}
.ind-chip-custom:hover{border-color:var(--down);background:#fdecec;}
.ind-chip-custom:hover .ind-rm,.ind-chip-custom:hover .ind-lab{color:var(--down);}
.ind-add-wrap{position:relative;}
.ind-add{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:9px;border:1px dashed var(--line2);background:#fff;font-size:12.5px;font-weight:700;color:var(--blue);transition:.13s;}
.ind-add:hover,.ind-add.on{border-color:var(--blue);background:var(--blue-soft);border-style:solid;}
.ind-pop{position:absolute;bottom:calc(100% + 8px);left:0;z-index:60;width:228px;background:#fff;border:1px solid var(--line2);border-radius:12px;box-shadow:0 10px 32px rgba(20,30,50,.18);padding:13px;}
.ind-pop-title{font-size:12px;font-weight:800;color:var(--t1);margin-bottom:10px;}
.ind-pop-seg{display:flex;gap:5px;margin-bottom:11px;}
.ind-pop-seg button{flex:1;font-size:12px;font-weight:700;color:var(--t2);border:1px solid var(--line2);border-radius:8px;padding:7px 4px;transition:.12s;}
.ind-pop-seg button.on{color:var(--blue);background:var(--blue-soft);border-color:transparent;}
.ind-pop-period{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.ind-pop-period>span{font-size:12px;color:var(--t2);}
.ind-pop-period input{flex:1;width:100%;border:1px solid var(--line2);border-radius:8px;padding:7px 10px;font-size:14px;font-weight:800;color:var(--t1);font-family:var(--mono);outline:none;}
.ind-pop-period input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.ind-pop-quick{display:flex;gap:5px;margin-bottom:12px;}
.ind-pop-quick button{flex:1;font-size:11.5px;font-weight:700;color:var(--t2);border:1px solid var(--line2);border-radius:7px;padding:5px 0;font-family:var(--mono);transition:.12s;}
.ind-pop-quick button:hover{border-color:var(--blue);color:var(--blue);}
.ind-pop-quick button.on{color:var(--blue);background:var(--blue-soft);border-color:transparent;}
.ind-pop-add{width:100%;font-size:12.5px;font-weight:800;color:#fff;background:var(--blue);border-radius:9px;padding:9px 0;transition:.13s;}
.ind-pop-add:hover{filter:brightness(1.06);}
.ind-hint{margin-left:auto;font-size:11px;color:var(--t3);}

/* 行动层：剧本决策卡（事件带 decision 时出现在 WhyNow 之下） */
.deccard{margin-top:10px;padding:10px 14px 8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;}
.dc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.dc-bias{font-size:12px;font-weight:800;padding:2px 9px;border-radius:7px;color:#fff;background:#f0353b;}
.dc-bias.down{background:#15a35a;}
.dc-script{font-size:12px;font-weight:600;color:var(--t2);}
.dc-zone{font-size:11.5px;font-weight:700;color:var(--t3);background:#eef0f2;padding:2px 8px;border-radius:7px;}
.dc-zone.in{color:#0f7a4d;background:#e4f5ec;}
.dc-check{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:3px 9px;border-radius:7px;white-space:nowrap;}
.dc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 14px;margin-top:9px;}
.dc-cell{display:flex;flex-direction:column;gap:2px;min-width:0;padding:6px 0 2px;border-top:1px dashed var(--line2);}
.dc-k{font-size:11px;font-weight:700;color:var(--t3);display:flex;align-items:center;gap:6px;}
/* 可接受最大亏损：标题与档位按钮换行 */
.dc-k-stack{flex-direction:column;align-items:flex-start;gap:5px;}
.dc-cell b{font-size:14px;font-weight:700;color:var(--t1);}
.dc-cell b.up{color:#f0353b;}
.dc-cell b.down{color:#15a35a;}
.dc-cell em{font-style:normal;font-size:10.5px;color:var(--t3);line-height:1.4;}
/* 目标位：按时间分行（x日/x小时目标 + 盈亏比） */
.dc-tg{display:flex;flex-direction:column;gap:2px;}
.dc-tg-row{display:flex;align-items:baseline;gap:7px;}
.dc-tg-row em{font-style:normal;font-size:10.5px;color:var(--t3);font-weight:600;flex:none;min-width:52px;}
.dc-tg-row b{font-size:14px;font-weight:700;color:#f0353b;}
.dc-tg-row i{font-style:normal;font-size:10.5px;color:var(--t3);}
.dc-tg-row i.tgpct{color:var(--up);font-weight:700;font-size:11px;}
.dc-risk{display:flex;gap:4px;}
.dc-risk button{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:6px;background:#eef0f2;color:var(--t2);transition:.15s;}
.dc-risk button.on{background:var(--blue);color:#fff;}
.dc-act{flex-direction:row;align-items:center;gap:8px;}
.dc-act .dc-btn{padding:9px 0;text-align:center;}
.dc-act .dc-btn-agent{flex:2;}
.dc-act .dc-btn.ghost{flex:1;}
.dc-act .dc-btn.off{flex:none;padding:7px 14px;}
.dc-act .dc-agent-on{flex:1;}
.dc-btn{font-size:12px;font-weight:700;color:#fff;background:#f0353b;padding:7px 14px;border-radius:9px;transition:.15s;}
.dc-btn:hover{filter:brightness(1.06);}
.dc-btn.off{background:#eef0f2;color:var(--t2);padding:4px 10px;font-size:11px;}
.dc-foot{margin-top:7px;padding-top:6px;border-top:1px dashed var(--line2);font-size:10.5px;color:var(--t3);}
/* 决策卡：剧本进度/贴合度、失效线提醒、一键 Agent 交易 */
.dc-state{font-size:11px;font-weight:700;color:var(--t2);background:#f4f6f9;padding:3px 8px;border-radius:7px;white-space:nowrap;}
.dc-bell{font-size:10px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:1px 6px;border-radius:5px;transition:.12s;white-space:nowrap;}
.dc-dyn{font-size:9.5px;font-weight:700;color:#0f7a4d;background:#e4f5ec;padding:1px 5px;border-radius:5px;white-space:nowrap;}
.dc-bell.on{color:#fff;background:var(--blue);}
.dc-btn-agent{background:var(--blue);}
.dc-btn-agent:hover{filter:brightness(1.05);}
.dc-btn.ghost{background:#eef1f5;border:1px solid var(--line);color:var(--t1);font-weight:700;}
.dc-btn.ghost:hover{background:#e4e8ee;}
.dc-agent-on{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--t1);}
/* 一键托管：图标 + 两行文字，渐变蓝底 */
.dc-btn-2l{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 0;background:linear-gradient(135deg,#3f74f5,#2a55d8);box-shadow:0 3px 10px rgba(42,85,216,.32);}
.dc-btn-2l:hover{filter:none;box-shadow:0 5px 16px rgba(42,85,216,.42);transform:translateY(-1px);}
.dc-btn-ic{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;flex:none;}
.dc-btn-tx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;}
.dc-btn-tx b{font-size:14px;font-weight:800;letter-spacing:.5px;color:#fff;}
.dc-btn-tx i{font-style:normal;font-size:10.5px;font-weight:600;color:rgba(255,255,255,.82);letter-spacing:.2px;}
/* 模拟仓转实盘提示 */
.dc-live-hook{display:flex;align-items:center;gap:10px;margin-top:9px;padding:8px 11px;background:linear-gradient(0deg,#fff6ee,#fff6ee),var(--card);border:1px solid #f3d9bf;border-radius:9px;}
.dc-lh-txt{font-size:12px;color:var(--t2);flex:1;min-width:0;}
.dc-lh-txt b{font-weight:800;}
.dc-lh-btn{flex:none;font-size:12px;font-weight:800;color:#fff;background:#e8852b;padding:6px 14px;border-radius:8px;transition:.15s;}
.dc-lh-btn:hover{filter:brightness(1.05);}
.dc-modal-mask{position:fixed;inset:0;background:rgba(15,18,24,.42);z-index:80;display:grid;place-items:center;}
.dc-modal{width:440px;max-width:92vw;max-height:84vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(20,25,35,.3);padding:16px 18px;}
.dc-modal-h{display:flex;align-items:center;font-size:15px;font-weight:800;color:var(--t1);}
.dc-modal-h .cc-pop-x{margin-left:auto;}
.dc-modal-sub{font-size:12px;color:var(--t2);margin:6px 0 2px;line-height:1.55;}
.dc-sec{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line2);}
.dc-sec-t{font-size:12px;font-weight:800;color:var(--blue);margin-bottom:5px;}
.dc-row2{display:grid;grid-template-columns:74px 44px 1fr;gap:8px;align-items:baseline;font-size:12px;padding:2px 0;}
.dc-row2 b{font-weight:700;color:var(--t1);}
.dc-row2 b.up{color:#f0353b;}
.dc-row2 b.down{color:#15a35a;}
.dc-row2 span{color:var(--t2);font-weight:600;}
.dc-row2 em{font-style:normal;color:var(--t3);font-size:11px;line-height:1.45;}
.dc-mon{font-size:11.5px;color:var(--t2);line-height:1.55;}
.dc-modal-foot{display:flex;align-items:center;gap:10px;margin-top:14px;}
.dc-modal-note{font-size:11px;color:var(--t3);margin-right:auto;}
@media (max-width:1500px){.dc-grid{grid-template-columns:repeat(3,1fr);}}
/* 侧栏版决策卡（替代观点卡片的位置）：竖排两列 */
.dc-sidecard{margin:10px 10px 0;flex-shrink:0;}
.dc-sidecard .dc-grid{grid-template-columns:1fr 1fr;gap:0 12px;}
.dc-sidecard .dc-act{grid-column:1 / -1;}
.dc-sidecard .dc-check{margin-left:0;width:100%;justify-self:start;white-space:normal;width:max-content;max-width:100%;}

/* ===== 托管后：决策卡原地变身为「持仓监控」 ===== */
.dc-managed{border-color:#bfe3cf;box-shadow:0 0 0 1px rgba(21,163,90,.12),0 6px 20px rgba(21,163,90,.08);}
.dc-mgr-bar{display:flex;align-items:center;gap:7px;background:rgba(21,163,90,.09);border-radius:9px;padding:7px 11px;margin-bottom:10px;}
.dc-mgr-bar .live-dot{background:var(--down);}
.dc-mgr-bar-t{font-size:12px;font-weight:700;color:var(--down);}
.dc-mgr-hero{display:flex;align-items:baseline;gap:10px;margin-bottom:11px;}
.dc-mgr-hk{font-size:11px;color:var(--t2);flex-shrink:0;}
.dc-mgr-hv{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.dc-mgr-hv b{font-size:25px;font-weight:800;line-height:1;}
.dc-mgr-hv i{font-size:14px;font-weight:700;font-style:normal;}
.dc-mgr-wait{font-size:15px;font-weight:700;color:var(--t2);}
.dc-mrows{display:flex;flex-direction:column;gap:7px;}
.dc-mrow{display:flex;gap:9px;align-items:baseline;font-size:12px;line-height:1.45;}
.dc-mrow-k{flex-shrink:0;width:40px;color:var(--t2);font-weight:600;}
.dc-mrow-v{color:var(--t1);min-width:0;}
.dc-mrow-v b{font-weight:700;}
.dc-mrow-v.dim{color:var(--t2);}
.dc-mtgs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;}
.dc-mtg{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--t3);background:#f4f6f9;border-radius:6px;padding:1px 7px;}
.dc-mtg.done{color:var(--up);background:rgba(240,53,59,.1);}
.dc-mtg-rt{font-size:10.5px;color:var(--t3);margin-left:2px;}
.dc-log{margin-top:9px;border-top:1px dashed var(--line2);padding-top:9px;}
.dc-log-h{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--t1);margin-bottom:7px;}
.dc-log-live{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--down);}
.dc-log-live .live-dot{background:var(--down);}
.dc-log-list{display:flex;flex-direction:column;gap:8px;position:relative;}
.dc-log-list::before{content:"";position:absolute;left:30px;top:4px;bottom:4px;width:1px;background:var(--line2);}
.dc-log-row{display:flex;gap:10px;align-items:baseline;font-size:11.5px;position:relative;}
.dc-log-t{color:var(--t3);width:34px;flex-shrink:0;font-size:10.5px;}
.dc-log-x{color:var(--t1);line-height:1.45;padding-left:12px;position:relative;}
.dc-log-x::before{content:"";position:absolute;left:-1.5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--down);border:2px solid #fff;}
.dc-log-row:first-child .dc-log-x::before{box-shadow:0 0 0 3px rgba(21,163,90,.18);}
.dc-mgr-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px;}
.dc-mbtn{padding:8px 4px;border-radius:9px;border:1px solid var(--line2);background:#fff;font-size:12px;font-weight:600;color:var(--t1);transition:.13s;white-space:nowrap;}
.dc-mbtn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
.dc-mbtn.danger{color:var(--up);border-color:#f6c9cb;}
.dc-mbtn.danger:hover{background:#fdeced;border-color:var(--up);color:var(--up);}
.dc-detail-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:12px 0 4px;}
.dc-ds{display:flex;flex-direction:column;gap:3px;}
.dc-ds span{font-size:11px;color:var(--t2);}
.dc-ds b{font-size:15px;font-weight:700;}
/* 停止托管 / 立即平仓 确认弹窗 */
.dc-confirm{background:#fff;border-radius:14px;padding:18px;width:300px;max-width:90vw;box-shadow:0 20px 50px rgba(0,0,0,.25);}
.dc-confirm-h{font-size:15px;font-weight:700;color:var(--t1);margin-bottom:8px;}
.dc-confirm-b{font-size:12.5px;color:var(--t2);line-height:1.55;margin-bottom:16px;}
.dc-confirm-acts{display:flex;gap:9px;justify-content:flex-end;}
.dc-cbtn{padding:8px 16px;border-radius:9px;border:1px solid var(--line2);font-size:13px;font-weight:600;color:var(--t1);background:#fff;}
.dc-cbtn:hover{background:#f4f6f9;}
.dc-cbtn.primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.dc-cbtn.primary:hover{background:#2f5fdd;}
.dc-cbtn.primary.danger{background:var(--up);border-color:var(--up);}
.dc-cbtn.primary.danger:hover{background:#d62d33;}
.cc-winfit{display:flex;align-items:center;gap:6px;padding:4px 0 8px;font-size:11.5px;font-weight:600;color:var(--t1);cursor:pointer;border-bottom:1px dashed var(--line2);margin-bottom:4px;}
.cc-winfit input{accent-color:#3a6df0;margin:0;flex:none;}
.cc-winfit em{font-style:normal;font-weight:500;font-size:10.5px;color:var(--t3);}
.cc-wingrp{padding:6px 0 2px;}
.cc-wingrp + .cc-wingrp{border-top:1px dashed var(--line2);}
.cc-wingrp-t{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--t1);}
.cc-wingrp-t i{width:10px;height:10px;border-radius:3px;flex:none;}
.cc-wingrp-t em{font-style:normal;font-size:10.5px;color:var(--t3);font-weight:500;}
.cc-period{position:absolute;right:10px;top:10px;display:flex;gap:1px;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);border:1px solid rgba(228,231,234,.7);border-radius:8px;padding:2px;}
.cc-per{padding:3px 10px;border-radius:6px;font-size:11.5px;font-weight:600;color:var(--t2);font-family:var(--mono);transition:.12s;}
.cc-per:hover{color:var(--t1);}
.cc-per.on{background:var(--blue);color:#fff;}
.chart-host-tall{height:52vh;min-height:340px;}
/* 股票工作台：去掉相关内容后，主图占满剩余高度 */
.chart-host-fill{flex:1 1 auto;height:auto;min-height:340px;}
/* 图表上方栏 + 折线/蜡烛切换 */
.chart-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.chart-bar-title{font-size:12.5px;color:var(--t2);font-weight:600;}
.chart-bar-title b{color:var(--t1);font-weight:700;}
.ctype-toggle{display:flex;gap:2px;background:#eef0f2;padding:3px;border-radius:9px;flex-shrink:0;}
.ctype{padding:5px 14px;border-radius:7px;font-size:13px;font-weight:600;color:var(--t2);transition:.13s;}
.ctype:hover{color:var(--t1);}
.ctype.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}

/* 事件选择条 */
.evstrip{flex-shrink:0;margin-top:14px;}
.evstrip-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px;padding-left:15px;}
.evstrip-hint{font-size:11px;color:var(--t3);}
.evstrip-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;cursor:grab;user-select:none;}
.evstrip-row:active{cursor:grabbing;}
.evstrip-row::-webkit-scrollbar{height:0;display:none;}
.evchip{flex-shrink:0;width:188px;text-align:left;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;background:#fff;transition:.15s;cursor:pointer;}
.evchip:hover{border-color:#cdd5dd;}
.evchip.on{border-color:var(--c);background:#fff;box-shadow:0 0 0 1px var(--c),0 6px 18px rgba(20,25,35,.08);}
.evchip-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px;}
.evchip-cat{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;}
.evchip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
.evchip-date{font-size:11px;color:var(--t3);}
.evchip-title{font-size:13px;font-weight:600;line-height:1.4;color:var(--t1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ev-detail{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--t2);background:#fafbfc;border:1px solid var(--line);border-radius:10px;padding:10px 13px;text-wrap:pretty;}
.ev-detail b{font-weight:700;margin-right:7px;}

/* 研报型事件别针（填充样式） */
.evpin.ev-research .evpin-tag{color:#fff;background:var(--pc);border-color:var(--pc);}
.evpin.ev-research .evpin-stem{opacity:.7;}

/* 图表标注栏：论点 与 事件/指标 平级 */
.annobar{flex-shrink:0;margin-top:14px;}
.annobar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.anno-label{font-size:11.5px;font-weight:700;color:var(--t3);}
.anno-div{width:1px;height:20px;background:var(--line2);margin:0 4px;}
.anno-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;border:1.5px solid var(--line2);background:#fff;font-size:13px;font-weight:600;color:var(--t1);transition:.15s;}
.anno-chip:hover:not(:disabled){border-color:#cdd5dd;}
.anno-chip:disabled{opacity:.4;cursor:not-allowed;}
.thesis-chip.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);}
.anno-kicker{font-size:10px;font-weight:800;color:var(--blue);background:#fff;padding:1px 6px;border-radius:5px;border:1px solid #dde7fd;}
.thesis-chip.on .anno-kicker{background:var(--blue);color:#fff;border-color:var(--blue);}
.toggle-chip .anno-sw{width:8px;height:8px;border-radius:3px;background:#c7ccd2;}
.toggle-chip.on{border-color:#cdd9fb;background:var(--blue-soft);color:var(--blue);}
.toggle-chip.on .anno-sw{background:var(--blue);}
.anno-caret{font-size:10px;color:var(--t3);margin-left:1px;padding:2px;border-radius:4px;}
.toggle-chip.on .anno-caret{color:var(--blue);}
.anno-caret:hover{background:rgba(0,0,0,.05);}
.anno-menu-wrap{position:relative;}
.anno-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:188px;background:#fff;border-radius:12px;box-shadow:0 12px 36px rgba(20,25,35,.16);border:1px solid var(--line);padding:7px;animation:pop .14s;}
.anno-menu-t{font-size:11px;color:var(--t3);font-weight:600;padding:5px 8px 7px;}
.anno-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border-radius:8px;transition:.12s;}
.anno-menu-item:hover{background:#f4f6f8;}
.amx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.amx-label{font-size:13px;font-weight:600;color:var(--t1);}
.amx-check{margin-left:auto;font-size:13px;font-weight:800;color:transparent;width:14px;text-align:center;}
.amx-check.on{color:var(--blue);}
.anno-detail{margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--t2);background:#fafbfc;border:1px solid var(--line);border-radius:10px;padding:10px 13px;text-wrap:pretty;}
.anno-detail b{color:var(--t1);font-weight:700;margin-right:7px;}
.anno-caret{font-size:10px;color:var(--t3);margin-left:1px;padding:2px;border-radius:4px;}
.toggle-chip.on .anno-caret{color:var(--blue);}
.anno-caret:hover{background:rgba(0,0,0,.06);}
.chart-main-label{font-size:12px;color:var(--t2);font-weight:600;}
.chart-main-label .mono{color:var(--t3);}
/* 事件弹窗内的关联对比 */
.rpop-related{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);}
.rpop-related-t{font-size:11px;color:var(--t3);margin-bottom:6px;}
.rpop-related-row{display:flex;flex-wrap:wrap;gap:6px;}
.rpop-rel{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--t1);background:#f4f6f8;padding:3px 8px;border-radius:6px;}
.rpop-rel-dot{width:8px;height:3px;border-radius:2px;background:var(--c);}

/* canvas chart */
.cc-wrap{width:100%;height:100%;position:relative;cursor:crosshair;touch-action:none;}
/* 全屏交易模式 */
.cc-wrap.cc-full{position:fixed;inset:0;z-index:420;background:#fff;padding:6px 4px;}
.cc-fsbtn{flex:none;}
.cc-canvas{display:block;}
.cc-tip{
  position:absolute;background:rgba(255,255,255,.97);border:1px solid var(--line2);border-radius:9px;
  padding:8px 10px;box-shadow:0 6px 20px rgba(20,25,35,.12);min-width:128px;pointer-events:none;z-index:5;
}
.cc-tip-t{font-size:11px;color:var(--t2);margin-bottom:5px;font-family:var(--mono);}
.cc-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:1px 0;}
.cc-row span:first-child{color:var(--t2);}
.cc-cmp-badge{position:absolute;left:10px;top:10px;font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-soft);padding:3px 8px;border-radius:6px;}
/* 点击对比高低柱 → 说明卡片 */
.cc-pop{position:absolute;z-index:7;width:max-content;min-width:218px;max-width:312px;background:#fff;border:1px solid var(--line2);border-radius:10px;box-shadow:0 10px 28px rgba(20,25,35,.16);padding:10px 12px;cursor:grab;touch-action:none;}
.cc-pop:active{cursor:grabbing;}
.cc-pop .cc-row{white-space:nowrap;}
.cc-pop-h{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--t1);}
.cc-pop-h i{width:10px;height:10px;border-radius:3px;flex:none;}
.cc-pop-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-pop-x{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;color:var(--t3);font-size:15px;line-height:1;transition:.12s;}
.cc-pop-x:hover{background:#f1f3f5;color:var(--t1);}
.cc-pop-sub{font-size:11px;color:var(--t2);margin:3px 0 7px;}
.cc-pop-story{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line2);font-size:11.5px;color:var(--t2);line-height:1.5;}
/* 卡片内的剧本推演（从主描述卡片移入） */
.cc-pop-script{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line2);}
.cc-pop-script .cc-script-k{display:inline-block;margin-bottom:5px;white-space:nowrap;}
.cc-pop-warpnote{font-size:10.5px;color:var(--t3);margin-top:3px;white-space:nowrap;}

/* 右侧栏：观点 + 讨论 同时常驻 */
.trade-side{width:412px;flex-shrink:0;border-left:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0;}

/* 工具条右侧 + 研报图层开关 */
.tb-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.layer-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:9px;border:1px solid var(--line2);background:#fff;font-size:12.5px;font-weight:600;color:var(--t2);transition:.15s;}
.layer-toggle .lt-dot{width:8px;height:8px;border-radius:2px;background:#c7ccd2;transition:.15s;}
.layer-toggle .lt-n{font-size:11px;color:var(--t3);}
.layer-toggle:hover:not(:disabled){color:var(--t1);}
.layer-toggle.on{color:var(--blue);border-color:#cdd9fb;background:var(--blue-soft);}
.layer-toggle.on .lt-dot{background:var(--blue);}
.layer-toggle.on .lt-n{color:var(--blue);}
.layer-toggle:disabled{opacity:.4;cursor:not-allowed;}

/* 研报别针（K线覆盖层） */
.cc-pins{position:absolute;inset:0;pointer-events:none;}
.rpin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:3;}
.rpin-tag{font-size:10.5px;font-weight:700;color:#fff;background:var(--pc);padding:2px 6px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 6px rgba(20,25,35,.18);line-height:1.35;}
.rpin-stem{width:1.5px;height:9px;background:var(--pc);}
.rpin::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--pc);border:2px solid #fff;margin-top:-1px;box-shadow:0 1px 3px rgba(20,25,35,.2);}
.rpin:hover .rpin-tag{filter:brightness(.94);}
.rpin.on .rpin-tag{outline:2px solid #fff;box-shadow:0 0 0 3px var(--pc),0 4px 10px rgba(20,25,35,.22);}

/* 研报弹窗 */
.rpop{position:absolute;width:262px;background:#fff;border:1px solid var(--line2);border-radius:13px;box-shadow:0 16px 44px rgba(20,25,35,.18);padding:13px 14px;pointer-events:auto;z-index:6;animation:pop .14s;}
.rpop-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.rpop-x{margin-left:auto;width:20px;height:20px;border-radius:50%;color:var(--t3);font-size:16px;line-height:1;display:grid;place-items:center;}
.rpop-x:hover{background:#f1f3f5;color:var(--t1);}
.rpop-title{font-size:14px;font-weight:700;line-height:1.45;color:var(--t1);margin-bottom:6px;text-wrap:pretty;}
.rpop-sum{font-size:12.5px;line-height:1.6;color:var(--t2);text-wrap:pretty;}
.rpop-foot{display:flex;align-items:center;justify-content:space-between;margin-top:11px;font-size:12px;color:var(--t2);}
.rpop-foot b{font-size:14px;font-weight:800;margin-left:3px;}
.rpop-pages{color:var(--blue);font-weight:600;}
.rp-rating{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;}
.rp-org{font-size:12.5px;font-weight:700;color:var(--t1);}
.rp-time{font-size:11px;color:var(--t3);}

/* 事件标记（价量分界一带） */
.evpin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:3;}
.evpin-tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--t1);background:#fff;border:1px solid var(--line2);padding:2px 7px;border-radius:6px;white-space:nowrap;box-shadow:0 1px 5px rgba(20,25,35,.1);line-height:1.4;}
.evpin-dot{width:6px;height:6px;border-radius:50%;background:var(--pc);}
.evpin-stem{width:1.5px;height:8px;background:var(--pc);opacity:.55;}
.evpin::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--pc);border:2px solid #fff;margin-top:-1px;box-shadow:0 1px 2px rgba(20,25,35,.2);}
.evpin:hover .evpin-tag{border-color:var(--pc);}
.evpin.on{z-index:4;}
.evpin.on .evpin-tag{border-color:var(--pc);box-shadow:0 0 0 2px var(--pc),0 3px 9px rgba(20,25,35,.18);}
.ev-cat{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;}
.evpop .rp-time{margin-left:8px;}
.layer-toggle.ev.on{color:#8b5cf6;border-color:#e2d8f7;background:#f5f0fc;}
.layer-toggle.ev.on .lt-dot{background:#8b5cf6;}
.layer-toggle.ev.on .lt-n{color:#8b5cf6;}

/* 交易机会条 */
.ostrip{flex-shrink:0;margin-top:12px;}
.ostrip.dim{opacity:.5;}
.ostrip-label{display:flex;align-items:baseline;gap:10px;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:8px;}
.ostrip-hint{font-size:11px;font-weight:500;color:var(--t3);}
.ostrip-cards{display:flex;gap:10px;}
.ocard{flex:1;min-width:0;text-align:left;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;background:#fff;transition:.15s;}
.ocard:hover:not(:disabled){border-color:#cdd5dd;}
.ocard:disabled{cursor:not-allowed;}
.ocard.on{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 4px 14px rgba(58,109,240,.12);}
.ocard-top{display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.ocard-kind{font-size:13px;font-weight:800;color:var(--t1);letter-spacing:-.2px;}
.ocard-src{margin-left:auto;font-size:10.5px;color:var(--t3);font-weight:600;}
.ocard-row{display:flex;align-items:center;gap:5px;font-size:13px;flex-wrap:wrap;}
.ocard-row b{font-weight:700;color:var(--t1);}
.ocard-k{font-size:10.5px;color:var(--t3);}
.ocard-dash{color:var(--t3);}
.ocard-conf{display:flex;align-items:center;gap:8px;margin-top:9px;}
.ocard-conf-v{font-size:11px;font-weight:700;color:var(--blue);}
.ocard-mark{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--t3);}
.ocard.on .ocard-mark{color:var(--blue);}
.opp-dir{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;}
.opp-dir.up{color:var(--up);background:#fdecec;}
.opp-dir.down{color:var(--down);background:#ecf7f1;}
.opp-dir.flat{color:var(--blue);background:var(--blue-soft);}
.opp-bar{flex:1;height:5px;border-radius:3px;background:#eef0f2;overflow:hidden;}
.opp-bar i{display:block;height:100%;background:var(--blue);border-radius:3px;}

/* 观点投票 */
.op{padding:18px 20px;border-bottom:1px solid var(--line);flex-shrink:0;transition:padding .2s ease;}
.op.op-collapsed{padding:13px 20px;}
.op-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.op.op-collapsed .op-head{margin-bottom:10px;}
.op-head-r{display:flex;align-items:center;gap:12px;}
.op-kicker{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.3px;}
.op-count{font-size:11.5px;color:var(--t3);white-space:nowrap;}
.op-toggle{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--blue);padding:3px 8px;border-radius:7px;background:var(--blue-soft);transition:.15s;}
.op-toggle:hover{background:#dde7fd;}
.op-chev{transition:transform .2s ease;}
.op-chev.up{transform:rotate(180deg);}

/* 折叠态：你的观点摘要 */
.op-mini{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 13px;border-radius:11px;border:1.5px solid #cdd9fb;background:var(--blue-soft);transition:.15s;animation:pop .18s;}
.op-mini:hover{background:#e6edff;border-color:var(--blue);}
.op-mini-l{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.op-mini-label{font-size:11px;font-weight:700;color:var(--blue);white-space:nowrap;}
.op-mini-txt{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--t1);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.op-mini-pct{flex-shrink:0;font-size:15px;font-weight:800;color:var(--blue);}
.op-q{font-size:15.5px;font-weight:700;line-height:1.45;letter-spacing:-.2px;margin-bottom:12px;text-wrap:pretty;}
.op-basis{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:13px;}
.op-opt-ev{align-items:flex-start;flex-direction:column;}
.op-opt-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;width:100%;}
.op-src{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--t2);}
.op-src-dot{width:6px;height:6px;border-radius:50%;}
.op-src em{font-style:normal;color:var(--t3);font-size:10.5px;}
.op-lean{margin-left:2px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;}
.op-lean-bull{color:var(--up);background:#fdecec;}
.op-lean-bear{color:var(--down);background:#ecf7f1;}
.op-lean-neutral{color:var(--t2);background:#eef0f2;}
@keyframes opFlash{0%{background:var(--blue-soft);}100%{background:transparent;}}
.op-flash{animation:opFlash 1.4s ease-out;border-radius:12px;}
.op-list{display:flex;flex-direction:column;gap:9px;}
.op-opt{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-radius:11px;border:1.5px solid var(--line2);background:#fff;
  font-size:13.5px;font-weight:600;color:var(--t1);text-align:left;overflow:hidden;transition:.15s;
}
.op-opt:not(.voted):hover{border-color:var(--blue);background:var(--blue-soft);}
.op-opt.voted{cursor:default;border-color:var(--line);}
.op-opt.mine{border-color:var(--blue);}
.op-bar{position:absolute;left:0;top:0;bottom:0;background:var(--blue-soft);z-index:0;animation:barGrow .5s cubic-bezier(.2,.7,.3,1);}
.op-opt.mine .op-bar{background:#dde7fd;}
.op-opt-ev{padding:11px 13px;}
.op-opt-ev .op-pct{position:absolute;right:13px;top:50%;transform:translateY(-50%);}
.op-opt-txt{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:13.5px;}
.op-tick{font-size:11px;color:var(--blue);font-weight:700;}
.op-pct{position:relative;z-index:1;font-size:14px;font-weight:800;color:var(--t1);}
.op-opt.mine .op-pct{color:var(--blue);}
.op-foot{font-size:11.5px;color:var(--t3);margin-top:12px;line-height:1.5;}

/* 聊天室 */
.chat{flex:1;display:flex;flex-direction:column;min-height:0;}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 10px;flex-shrink:0;}
.chat-online{font-size:11.5px;color:var(--t2);display:flex;align-items:center;gap:5px;}
.chat-body{flex:1;overflow-y:auto;padding:6px 18px 14px;display:flex;flex-direction:column;gap:14px;}
.msg{display:flex;gap:9px;animation:msgIn .25s;}
.msg.me{flex-direction:row-reverse;}
.msg-av{width:30px;height:30px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex-shrink:0;}
.agent-av{background:var(--blue);font-size:11px;}
.ac .agent-av{background:transparent;border:none;overflow:visible;}
.ac .agent-av .ac-mascot{width:32px;height:32px;display:block;filter:drop-shadow(0 2px 4px rgba(58,109,240,.25));}
.msg-main{min-width:0;max-width:80%;display:flex;flex-direction:column;gap:4px;}
.msg.me .msg-main{align-items:flex-end;}
.msg-name{font-size:11.5px;color:var(--t2);font-weight:600;display:flex;align-items:center;gap:6px;}
.agent-badge{font-size:9px;font-weight:800;color:#fff;background:var(--blue);padding:1px 5px;border-radius:4px;letter-spacing:.5px;}
.bubble{
  background:#f1f3f5;padding:9px 12px;border-radius:13px;border-top-left-radius:4px;
  font-size:13.5px;line-height:1.55;color:var(--t1);text-wrap:pretty;
}
.msg.me .bubble{background:var(--blue);color:#fff;border-radius:13px;border-top-right-radius:4px;}
.agent-bubble{background:var(--blue-soft);border:1px solid #e0e8fd;border-top-left-radius:4px;}
.msg-refs{display:flex;gap:6px;}
.ref-chip{font-size:11px;color:var(--blue);background:#fff;border:1px solid #dde7fd;padding:2px 8px;border-radius:6px;font-weight:600;}
.typing{display:flex;gap:4px;align-items:center;width:48px;justify-content:center;}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.5;animation:blink 1.2s infinite;}
.typing i:nth-child(2){animation-delay:.2s;}
.typing i:nth-child(3){animation-delay:.4s;}
@keyframes blink{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}

.chat-input{display:flex;gap:10px;padding:12px 18px;border-top:1px solid var(--line);flex-shrink:0;}
.chat-input input{
  flex:1;height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--line2);background:#f6f7f9;
  font-size:13.5px;outline:none;transition:.15s;
}
.chat-input input:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.chat-input input::placeholder{color:var(--t3);}
.chat-send{padding:0 18px;border-radius:20px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;transition:.15s;}
.chat-send:hover:not(:disabled){background:#2f5fdd;}
.chat-send:disabled{background:#c7d3f5;cursor:not-allowed;}

/* ===== AI 投顾对话区（头脑风暴版） ===== */
.ac-head{align-items:flex-start;padding:14px 18px 11px;border-bottom:1px solid var(--line);}
.ac-id{display:flex;align-items:center;gap:10px;min-width:0;}
.ac-bigav{width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px rgba(58,109,240,.28);}
.ac-idtext{min-width:0;}
.ac-title{font-size:14px;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:8px;}
.ac-managing{font-size:10.5px;font-weight:700;color:var(--down);background:rgba(21,163,90,.1);padding:2px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;}
.ac-sub{font-size:11.5px;color:var(--t2);margin-top:1px;}
.ac-reset{font-size:11.5px;color:var(--t2);padding:5px 10px;border-radius:8px;border:1px solid var(--line2);transition:.13s;flex-shrink:0;}
.ac-reset:hover{color:var(--blue);border-color:var(--blue);background:var(--blue-soft);}
.ac-body{padding-top:12px;}

/* 对话内的方案小卡 */
.ac-plan{margin-top:8px;border:1px solid #dbe6fb;border-radius:12px;background:linear-gradient(180deg,#f7faff,#fff);overflow:hidden;max-width:100%;}
.ac-plan-top{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--blue-soft);border-bottom:1px solid #e2eafd;}
.ac-plan-bias{font-size:12px;font-weight:800;color:#fff;background:var(--up);padding:2px 9px;border-radius:6px;}
.ac-plan-bias.down{background:var(--down);}
.ac-plan-tag{font-size:11px;font-weight:600;color:var(--blue);}
.ac-plan-rows{padding:4px 12px 8px;}
.ac-plan-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:12.5px;}
.ac-plan-row:last-child{border-bottom:none;}
.ac-plan-row>span{color:var(--t2);width:96px;flex-shrink:0;}
.ac-plan-row>b{font-size:13.5px;font-weight:700;}
.ac-plan-row>em{font-style:normal;font-size:11px;color:var(--t3);margin-left:auto;}

/* 快捷回复 chips（对话中，一次一组可选项） */
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 4px;flex-shrink:0;animation:msgIn .25s;}
.ac-chip{font-size:12.5px;font-weight:600;color:var(--blue);background:#fff;border:1px solid #cfddfb;padding:7px 13px;border-radius:18px;transition:.13s;line-height:1.2;}
.ac-chip:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(58,109,240,.25);}
.ac-chip:active{transform:translateY(0);}

/* 预判板：开场不发话，直接铺满分类预判卡，多则翻页（不滚动） */
.ac-picker{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px 16px 8px;animation:msgIn .3s;}
.ac-pick-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;justify-content:flex-start;gap:20px;}
.ac-pcat{}
.ac-pcat-h{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--t1);margin-bottom:10px;padding-left:0;}
.ac-pcat-ic{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);flex-shrink:0;}
.ac-pcat-ic svg{width:12.5px;height:12.5px;}
.ac-pq-list{display:flex;flex-wrap:wrap;gap:8px;}
.ac-pq{display:inline-flex;align-items:center;max-width:100%;text-align:left;padding:10px 15px;border-radius:11px;border:1px solid var(--line2);background:#fbfcfd;font-size:13px;font-weight:600;color:var(--t1);transition:.13s;line-height:1.25;}
.ac-pq:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(58,109,240,.16);}
.ac-pq:active{transform:translateY(0);}
.ac-pq.sel{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(58,109,240,.25);}
.ac-pq.sel:hover{background:var(--blue);color:#fff;transform:translateY(0);}
.ac-pq-ck{margin-right:5px;font-weight:800;}
.ac-pick-go{display:flex;align-items:center;gap:10px;padding:9px 0 3px;border-top:1px solid var(--line);margin-top:6px;flex-shrink:0;}
.ac-pick-go-n{font-size:12px;color:var(--t1);font-weight:700;}
.ac-pick-clear{margin-left:auto;font-size:12px;color:var(--t2);padding:6px 11px;border-radius:8px;border:1px solid var(--line2);transition:.12s;}
.ac-pick-clear:hover{color:var(--t1);border-color:#cdd5dd;}
.ac-pick-start{font-size:12.5px;font-weight:700;color:#fff;background:var(--blue);padding:7px 20px;border-radius:9px;transition:.13s;}
.ac-pick-start:hover{background:#2f5fdd;}
.ac-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 0 4px;flex-shrink:0;border-top:1px solid var(--line);margin-top:4px;}
.ac-pager-dots{display:flex;gap:6px;align-items:center;}
.ac-dot{width:7px;height:7px;border-radius:50%;background:var(--line2);transition:.18s;cursor:pointer;}
.ac-dot.on{background:var(--blue);width:18px;border-radius:4px;}
.ac-pager-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line2);display:grid;place-items:center;color:var(--t2);transition:.13s;}
.ac-pager-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
.ac-pager-btn:disabled{opacity:.3;cursor:default;}

/* 卡片生成时间徽标 */
.card-time-badge{position:absolute;top:10px;right:10px;z-index:2;font-size:11px;font-weight:600;color:#fff;background:rgba(26,29,33,.5);backdrop-filter:blur(4px);padding:2px 8px;border-radius:7px;}

/* 相关内容（K线下方 · 图片为主 · 横向滚动） */
.rstrip{flex-shrink:0;margin-top:12px;}
.rstrip-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px;}
.rstrip-hint{font-size:11px;color:var(--t3);display:flex;align-items:center;gap:6px;}
.rstrip-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;cursor:grab;user-select:none;scrollbar-width:none;-ms-overflow-style:none;}
.rstrip-row:active{cursor:grabbing;}
.rstrip-row::-webkit-scrollbar{height:0;display:none;}
.scard{position:relative;flex-shrink:0;width:176px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);text-align:left;transition:box-shadow .15s,transform .15s,border-color .15s;cursor:pointer;}
.scard-cur{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;color:#fff;background:var(--blue);padding:2px 7px;border-radius:6px;}
.scard img,.scard svg{pointer-events:none;}
.scard:hover{box-shadow:0 8px 22px rgba(20,25,35,.1);transform:translateY(-2px);}
.scard.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft);}
.scard-cover{height:112px;position:relative;overflow:hidden;}
.scard-tag{position:absolute;top:8px;left:8px;font-size:10.5px;font-weight:600;color:#fff;background:rgba(26,29,33,.6);backdrop-filter:blur(4px);padding:2px 7px;border-radius:6px;}
.scard-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;}
.scard-name{font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.scard-time{font-size:10.5px;color:var(--t3);flex-shrink:0;}
.scov{height:112px;width:100%;position:relative;overflow:hidden;}
.scov-stat{background:linear-gradient(180deg,#fbfcfd,#f1f3f6);display:flex;flex-direction:column;justify-content:center;padding:0 12px;}
.scov-big{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1;}
.scov-sub{font-size:11px;color:var(--t2);margin-top:6px;font-weight:600;}
.scov-chart{background:#fbfcfd;}
.scov-quote{background:var(--t1);color:#fff;padding:12px;display:flex;flex-direction:column;justify-content:center;}
.scov-qmark{color:var(--blue);font-family:Georgia,serif;font-size:26px;line-height:0;height:12px;}
.scov-q{font-size:12.5px;font-weight:700;line-height:1.45;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.scov-cmp{background:#fbfcfd;display:flex;flex-direction:column;}
.scov-vs{padding:6px 10px;font-size:11px;font-weight:700;color:var(--blue);}
.scov-img{background:repeating-linear-gradient(45deg,#e9ebee 0 9px,#eef0f2 9px 18px);display:grid;place-items:center;}
.scov-img span{font-size:10.5px;color:#9aa0a7;background:rgba(255,255,255,.7);padding:3px 8px;border-radius:5px;}

/* 头部 一页纸研报 按钮 */
.th-1pager{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:9px 14px;border-radius:10px;border:1px solid var(--line2);font-size:13.5px;font-weight:600;color:var(--t1);transition:.15s;}
.th-1pager:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
.th-1pager + .th-watch{margin-left:10px;}

/* 一页纸研报 面板 */
.op1-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,25,35,.4);display:flex;justify-content:flex-end;animation:pop .15s;}
.op1{width:460px;max-width:94vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(20,25,35,.2);animation:slideRight .28s cubic-bezier(.2,.7,.3,1);}
@keyframes slideRight{from{transform:translateX(50px);opacity:.4;}to{transform:none;opacity:1;}}
.op1-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 0;}
.op1-title{display:flex;align-items:center;gap:10px;}
.op1-name{font-size:20px;font-weight:800;letter-spacing:-.5px;}
.op1-sym{font-size:13px;color:var(--t3);}
.op1-live{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--up);}
.op1-x{width:30px;height:30px;border-radius:50%;font-size:20px;color:var(--t2);display:grid;place-items:center;}
.op1-x:hover{background:#f1f3f5;}
.op1-updated{font-size:11.5px;color:var(--t3);padding:6px 22px 0;}
.op1-body{flex:1;overflow-y:auto;padding:14px 22px 22px;}
.op1-px{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.op1-pxn{font-size:32px;font-weight:800;letter-spacing:-1px;}
.op1-pxc{font-size:16px;font-weight:700;}
.op1-sec{font-size:12px;font-weight:800;color:var(--blue);margin:18px 0 10px;letter-spacing:.3px;}
.op1-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.op1-m{background:#f6f7f9;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;}
.op1-mk{font-size:11px;color:var(--t3);}
.op1-mv{font-size:15px;font-weight:700;color:var(--t1);}
.op1-table{width:100%;border-collapse:collapse;font-size:13px;}
.op1-table th{text-align:left;font-size:11px;color:var(--t3);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);}
.op1-table td{padding:8px;border-bottom:1px solid var(--line);font-weight:600;color:var(--t1);}
.op1-list{display:flex;flex-direction:column;gap:8px;}
.op1-cat{display:flex;gap:10px;align-items:flex-start;}
.op1-ct{flex-shrink:0;font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:2px 8px;border-radius:6px;margin-top:1px;}
.op1-cx{font-size:13px;color:var(--t1);line-height:1.5;}
.op1-risks{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;}
.op1-risks li{font-size:13px;color:var(--t2);line-height:1.5;}
.op1-summary{font-size:13.5px;line-height:1.65;color:var(--t1);background:var(--blue-soft);border-radius:12px;padding:13px 15px;text-wrap:pretty;}
.op1-foot{padding:12px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--t3);text-align:center;}
.op1-onepager-link{display:inline-block;margin:2px 0 6px;padding:9px 16px;border:1px solid #ddd6f3;border-radius:10px;background:linear-gradient(135deg,#f3efff,#efeaff);color:#6d28d9;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;}
.op1-onepager-link:hover{background:#6d28d9;color:#fff;border-color:#6d28d9;}

/* 窄屏自适应 */
@media(max-width:1280px){
  .related-rail{display:none;}
}

@media(max-width:1100px){
  .th-stats{display:none;}
  .trade-side{width:340px;}
}
@media(max-width:880px){
  .trade-main{flex-direction:column;overflow-y:auto;}
  .trade-chart-col{height:62vh;}
  .trade-side{width:auto;border-left:none;border-top:1px solid var(--line);min-height:60vh;}
  .nav-tabs{display:none;}
}

/* ============================================================
   账户 / 用户态 / 收藏 / 个性化 / 事件叠加  —— 新增
   ============================================================ */

/* —— 导航：登录入口 / 用户 —— */
.nav-login{padding:8px 16px;border-radius:18px;background:var(--blue);color:#fff;font-size:13.5px;font-weight:700;transition:.15s;flex-shrink:0;}
.nav-login:hover{background:#2f5fdd;}
.nav-user{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:20px;transition:.15s;}
.nav-user:hover{background:#f1f3f5;}
.nav-user-name{font-size:13px;font-weight:700;color:var(--t1);max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* —— 信息流引导条 —— */
.feed-guide{max-width:1480px;margin:0 auto 16px;display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:12px;font-size:13px;}
.feed-guide.guest{background:linear-gradient(90deg,#eef2fe,#f5f0fc);border:1px solid #e0e8fd;color:var(--t1);}
.feed-guide.newbie{background:#fff;border:1px solid var(--line);color:var(--t2);}
.fg-ico{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;}
.fg-txt{flex:1;line-height:1.5;text-wrap:pretty;}
.fg-txt b{color:var(--t1);font-weight:700;}
.fg-btn{flex-shrink:0;padding:7px 15px;border-radius:9px;background:var(--blue);color:#fff;font-size:12.5px;font-weight:700;transition:.15s;}
.fg-btn:hover{background:#2f5fdd;}
.fg-x{flex-shrink:0;width:24px;height:24px;border-radius:50%;color:var(--t3);font-size:18px;line-height:1;display:grid;place-items:center;}
.fg-x:hover{background:#f1f3f5;color:var(--t1);}
.fchip-rec{color:var(--blue);background:var(--blue-soft);}
.fchip-rec.on{background:var(--blue);color:#fff;}

/* —— 卡片：个性化徽标 + 收藏/点赞 —— */
.card-pbadge{position:absolute;top:38px;left:10px;z-index:2;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:7px;backdrop-filter:blur(4px);}
.pb-follow{background:var(--blue);color:#fff;}
.pb-rec{background:rgba(58,109,240,.16);color:var(--blue);}
.pb-seen{background:rgba(26,29,33,.5);color:#fff;}
.card-bm{position:absolute;bottom:8px;right:8px;z-index:3;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--t2);display:grid;place-items:center;box-shadow:0 2px 8px rgba(20,25,35,.14);transition:.15s;}
.card-bm:hover{color:var(--blue);transform:scale(1.06);}
.card-bm.on{color:var(--blue);background:#fff;}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;}
.card-tags + .card-foot{margin-top:10px;}
.card-author{font-size:11.5px;color:var(--t3);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card-like{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--t3);padding:3px 7px;border-radius:7px;transition:.15s;}
.card-like:hover{background:#f1f3f5;color:var(--up);}
.card-like.on{color:var(--up);}

/* —— 登录 / 注册弹窗 —— */
.auth-overlay{position:fixed;inset:0;z-index:400;background:rgba(20,25,35,.46);display:grid;place-items:center;animation:pop .14s;padding:20px;}
.auth{width:380px;max-width:94vw;background:#fff;border-radius:18px;padding:30px 30px 22px;box-shadow:0 24px 64px rgba(20,25,35,.28);position:relative;animation:slideUp .26s cubic-bezier(.2,.7,.3,1);}
.auth-x{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:50%;color:var(--t3);font-size:22px;line-height:1;display:grid;place-items:center;}
.auth-x:hover{background:#f1f3f5;color:var(--t1);}
.auth-brand{font-size:20px;margin-bottom:18px;}
.auth-title{font-size:21px;font-weight:800;letter-spacing:-.4px;color:var(--t1);}
.auth-sub{font-size:13px;color:var(--t2);margin-top:7px;line-height:1.5;text-wrap:pretty;}
.auth-field{display:flex;align-items:center;gap:8px;height:50px;margin-top:20px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line2);background:#f6f7f9;transition:.15s;}
.auth-field:focus-within{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.auth-field.err{border-color:var(--up);box-shadow:0 0 0 3px #fdecec;}
.auth-prefix{font-size:15px;color:var(--t2);font-weight:600;flex-shrink:0;padding-right:8px;border-right:1px solid var(--line2);}
.auth-field input{flex:1;border:none;background:none;outline:none;font-size:16px;color:var(--t1);letter-spacing:.5px;}
.auth-field input::placeholder{color:var(--t3);letter-spacing:0;}
.auth-code{letter-spacing:6px !important;font-weight:700;}
.auth-resend{flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--blue);padding:5px 9px;border-radius:8px;}
.auth-resend:disabled{color:var(--t3);cursor:not-allowed;}
.auth-resend:not(:disabled):hover{background:var(--blue-soft);}
.auth-err{font-size:12px;color:var(--up);margin-top:8px;}
.auth-demo{font-size:12px;color:var(--t2);margin-top:12px;background:#f6f7f9;border-radius:8px;padding:8px 11px;}
.auth-demo b{color:var(--blue);font-size:13px;letter-spacing:2px;}
.auth-primary{width:100%;height:48px;margin-top:18px;border-radius:12px;background:var(--blue);color:#fff;font-size:15.5px;font-weight:700;transition:.15s;}
.auth-primary:hover:not(:disabled){background:#2f5fdd;}
.auth-primary:disabled{background:#c7d3f5;cursor:not-allowed;}
.auth-back{width:100%;margin-top:10px;font-size:13px;font-weight:600;color:var(--t2);padding:7px;border-radius:8px;}
.auth-back:hover{background:#f6f7f9;color:var(--t1);}
.auth-foot{font-size:11px;color:var(--t3);text-align:center;margin-top:18px;line-height:1.6;}
.auth-foot a{color:var(--blue);}

/* —— 工作台头部：自选 —— */
.th-actions{display:flex;align-items:center;gap:10px;margin-left:10px;}
.th-sep{width:1px;height:24px;background:var(--line2);margin:0 4px;flex-shrink:0;}
.th-user{display:grid;place-items:center;flex-shrink:0;}
.th-user .avatar{width:32px;height:32px;cursor:pointer;transition:.15s;}
.th-user:hover .avatar{box-shadow:0 0 0 3px var(--blue-soft);}
.th-login{flex-shrink:0;padding:8px 15px;border-radius:18px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;transition:.15s;}
.th-login:hover{background:#2f5fdd;}
.th-watch{margin-left:0;padding:9px 18px;border-radius:10px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;transition:.15s;}
.th-watch:hover{background:#2f5fdd;}
.th-watch.on{background:var(--blue-soft);color:var(--blue);}

/* —— 事件条：收藏星 + 叠加多选 —— */
.evchip{position:relative;}
.evchip-star{position:absolute;top:7px;right:7px;width:22px;height:22px;display:grid;place-items:center;color:#c2c7cd;border-radius:6px;z-index:2;transition:.13s;}
.evchip-star:hover{background:#f1f3f5;color:#e8a33d;}
.evchip-star.on{color:#e8a33d;}
.evchip-top{padding-right:24px;}
.evchip-check{position:absolute;top:-7px;left:-7px;width:20px;height:20px;border-radius:50%;background:#fff;border:1.5px solid var(--line2);display:grid;place-items:center;font-size:11px;font-weight:800;color:transparent;z-index:3;box-shadow:0 1px 3px rgba(20,25,35,.12);}
.evchip-check.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.evchip.ovmode{cursor:pointer;}
.ev-ovbtn{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:8px;border:1px dashed #c7ccd2;font-size:12px;font-weight:700;color:var(--blue);background:#fff;transition:.15s;}
.ev-ovbtn:hover{border-color:var(--blue);background:var(--blue-soft);}
.ev-ovbar{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.ev-ovn{font-size:12px;color:var(--t2);font-weight:600;}
.ev-ovn b{color:var(--blue);font-weight:800;}
.ev-ovbar-r{display:flex;align-items:center;gap:6px;}
.ev-ovact{font-size:12px;font-weight:600;color:var(--t2);padding:5px 10px;border-radius:7px;background:#f1f3f5;transition:.15s;}
.ev-ovact:hover{background:#e7eaee;color:var(--t1);}
.ev-ovact.exit{color:var(--blue);background:var(--blue-soft);}
.ev-favmenu-wrap{position:relative;}
.ev-favmenu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:300px;background:#fff;border-radius:12px;box-shadow:0 12px 36px rgba(20,25,35,.16);border:1px solid var(--line);padding:8px;animation:pop .14s;}
.ev-favmenu-t{font-size:11px;color:var(--t3);font-weight:600;padding:5px 8px 7px;}
.ev-favmenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border-radius:8px;text-align:left;transition:.12s;}
.ev-favmenu-item:hover{background:#f4f6f8;}
.ev-fm-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.ev-fm-cat{font-size:11px;font-weight:700;color:var(--t2);flex-shrink:0;}
.ev-fm-title{font-size:12.5px;color:var(--t1);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* —— 个人中心 —— */
.pc-overlay{position:fixed;inset:0;z-index:260;background:rgba(20,25,35,.42);display:flex;justify-content:flex-end;animation:pop .15s;}
.pc{width:480px;max-width:96vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(20,25,35,.2);animation:slideRight .28s cubic-bezier(.2,.7,.3,1);position:relative;}
.pc-x{position:absolute;top:16px;right:18px;width:30px;height:30px;border-radius:50%;color:var(--t2);font-size:22px;line-height:1;display:grid;place-items:center;z-index:2;}
.pc-x:hover{background:#f1f3f5;}
.pc-hero{display:flex;align-items:center;gap:14px;padding:24px 22px 16px;}
.pc-avatar{width:54px;height:54px;border-radius:50%;color:#fff;font-size:19px;font-weight:800;display:grid;place-items:center;flex-shrink:0;}
.pc-id{flex:1;min-width:0;}
.pc-name{font-size:19px;font-weight:800;letter-spacing:-.3px;display:flex;align-items:center;gap:9px;}
.pc-level{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;}
.pc-level-newbie{color:var(--t2);background:#eef0f2;}
.pc-level-veteran{color:var(--blue);background:var(--blue-soft);}
.pc-meta{font-size:12px;color:var(--t3);margin-top:5px;}
.pc-logout{flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--t2);padding:7px 13px;border-radius:9px;border:1px solid var(--line2);transition:.15s;}
.pc-logout:hover{border-color:var(--up);color:var(--up);}
.pc-stats{display:flex;gap:8px;padding:0 22px 16px;border-bottom:1px solid var(--line);}
.pc-stat{flex:1;background:#f6f7f9;border-radius:11px;padding:11px;display:flex;flex-direction:column;align-items:center;gap:3px;}
.pc-stat-v{font-size:20px;font-weight:800;color:var(--t1);}
.pc-stat-k{font-size:11px;color:var(--t3);font-weight:600;}
.pc-tabs{display:flex;gap:4px;padding:12px 18px 0;flex-shrink:0;}
.pc-tab{padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--t2);transition:.13s;}
.pc-tab:hover{background:#f1f3f5;color:var(--t1);}
.pc-tab.on{color:var(--blue);background:var(--blue-soft);}
.pc-body{flex:1;overflow-y:auto;padding:14px 22px 24px;}
.pc-sec{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.3px;margin:8px 0 12px;display:flex;align-items:center;gap:8px;}
.pc-sec:not(:first-child){margin-top:24px;}
.pc-sec-n{color:var(--t3);font-weight:600;}
.pc-empty{font-size:13px;color:var(--t3);line-height:1.6;background:#f6f7f9;border-radius:11px;padding:16px;text-wrap:pretty;}
.pc-empty b{color:var(--t2);}
.pc-evs{display:flex;flex-direction:column;gap:6px;}
.pc-ev{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#f6f7f9;text-align:left;transition:.13s;}
.pc-ev:hover{background:#eef0f2;}
.pc-ev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.pc-ev-cat{font-size:11px;font-weight:700;flex-shrink:0;}
.pc-ev-title{font-size:13px;font-weight:600;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-ev-from{font-size:11px;color:var(--t3);flex-shrink:0;}
.pc-follows{display:flex;flex-direction:column;gap:6px;}
.pc-follow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:11px;border:1px solid var(--line);text-align:left;transition:.13s;}
.pc-follow:hover{background:#f6f7f9;}
.pc-fl-code{width:30px;height:30px;border-radius:8px;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex-shrink:0;}
.pc-fl-name{flex:1;font-size:14px;font-weight:700;color:var(--t1);}
.pc-fl-name em{font-style:normal;font-size:11.5px;color:var(--t3);}
.pc-fl-px{font-size:14px;font-weight:700;}
.pc-fl-chg{font-size:12.5px;font-weight:700;}
.pc-hist{display:flex;flex-direction:column;gap:2px;}
.pc-hist-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;text-align:left;transition:.12s;}
.pc-hist-row:hover{background:#f6f7f9;}
.pc-hist-name{flex:1;font-size:13.5px;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-hist-tag{font-size:10.5px;font-weight:600;color:var(--t2);background:#f1f3f5;padding:2px 7px;border-radius:5px;flex-shrink:0;}
.pc-hist-time{font-size:11px;color:var(--t3);flex-shrink:0;}
.pc-profile{display:flex;flex-direction:column;gap:18px;}
.pc-field{display:flex;align-items:center;gap:14px;}
.pc-field label{width:72px;flex-shrink:0;font-size:13px;color:var(--t3);font-weight:600;}
.pc-input{flex:1;height:42px;padding:0 13px;border-radius:10px;border:1.5px solid var(--line2);background:#f6f7f9;font-size:14px;color:var(--t1);outline:none;transition:.15s;}
.pc-input:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.pc-val{flex:1;font-size:13.5px;color:var(--t1);line-height:1.5;}
.pc-colors{display:flex;gap:8px;flex-wrap:wrap;}
.pc-color{width:28px;height:28px;border-radius:50%;transition:.13s;border:2px solid transparent;}
.pc-color:hover{transform:scale(1.1);}
.pc-color.on{border-color:var(--t1);box-shadow:0 0 0 2px #fff inset;}
.pc-tags{flex:1;display:flex;flex-wrap:wrap;gap:6px;}
.pc-tagchip{font-size:11.5px;font-weight:600;color:var(--blue);background:var(--blue-soft);padding:3px 9px;border-radius:7px;}
.pc-note{font-size:11.5px;color:var(--t3);line-height:1.6;margin-top:6px;padding-top:16px;border-top:1px solid var(--line);text-wrap:pretty;}

@media(max-width:560px){
  .nav-user-name{display:none;}
  .pc{width:100%;}
}


/* ============ 原版个股决策卡 · 常驻委托票据（自 extracted/new/template.html 1:1 引入） ============ */
/* —— 常驻委托：4 宫格固定两列，动作行整行 —— */
.dc-grid-order{grid-template-columns:1fr 1fr !important;gap:0 14px;}
.dc-grid-order .dc-cell{border-top:none;padding-top:2px;}
.dc-grid-order .dc-act{grid-column:1 / -1;}
.dc-grid-order .dc-act .dc-btn{flex:1;}

.tx-cell .dc-k{justify-content:flex-start;flex-wrap:wrap;gap:6px;}
.tx-sugg{font-size:10px;font-weight:800;color:var(--blue);background:var(--blue-soft);
  padding:1px 7px;border-radius:6px;white-space:nowrap;transition:.12s;}
.tx-sugg:hover{filter:brightness(.97);background:#dfe9fc;}

/* 内嵌输入框：与 dc-cell b 同字号，零额外高度 */
.tx-cin{width:100%;border:none;border-bottom:1.5px solid var(--blue);background:transparent;
  font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.3px;padding:1px 0 2px;
  font-family:var(--mono);outline:none;border-radius:0;}
.tx-cin:focus{border-bottom-color:#2a55d8;background:linear-gradient(0deg,var(--blue-soft),transparent);}

/* 已在 watchlist：交易按钮占据更大空间，watchlist 收窄为方块仅显示 ✓（高度与交易按钮一致）*/
.dc-act-watched .tx-trade-wrap{flex:1;}
.dc-watch-sq{flex:none !important;width:46px;min-width:46px;padding:9px 0 !important;font-size:14px;font-weight:800;}

/* 委托类型迷你分段（有效期 / 触发后方式等复用） */
.tx-mini-seg{display:flex;gap:4px;margin-top:1px;}
.tx-mini-seg button{flex:1;height:26px;border-radius:7px;border:1px solid var(--line2);
  background:#fff;color:var(--t2);font-size:12px;font-weight:800;transition:.12s;white-space:nowrap;padding:0 8px;}
.tx-mini-seg button:hover{border-color:#c9d2dc;}
.tx-mini-seg button.on{background:var(--blue);border-color:var(--blue);color:#fff;}

/* —— 委托类型下拉（对齐 Trade 委托台 · 全类型）—— */
.tx-type-wrap{position:relative;margin-top:1px;}
.tx-type-btn{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:30px;
  padding:0 10px;border-radius:8px;border:1px solid var(--line2);background:#fff;
  font-size:13px;font-weight:800;color:var(--t1);transition:.12s;}
.tx-type-btn:hover{border-color:#c9d2dc;}
.tx-type-btn.open{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.tx-type-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:61;min-width:240px;
  background:#fff;border:1px solid var(--line2);border-radius:12px;
  box-shadow:0 16px 40px rgba(20,25,35,.22);padding:6px;animation:pop .13s ease both;}
.tx-type-opt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;
  position:relative;padding:7px 10px;border-radius:8px;transition:.12s;border:1px solid transparent;}
.tx-type-opt:hover{background:#f4f6f9;}
.tx-type-opt.on{background:var(--blue-soft);}
.tx-type-opt b{font-size:12.5px;font-weight:800;color:var(--t1);}
.tx-type-opt i{font-style:normal;font-size:10.5px;color:var(--t2);font-weight:600;}
.tx-type-tick{position:absolute;right:10px;top:9px;color:var(--blue);font-size:12px;font-weight:800;}

/* —— 时间 / 参数行 —— */
.dc-timerow{grid-column:1 / -1;display:flex;flex-direction:column;gap:7px;
  margin-top:9px;padding-top:9px;border-top:1px solid var(--line2);}

/* —— 持仓比例滑块：拖动联动数量 —— */
.tx-posrow{grid-column:1 / -1;margin-top:8px!important;padding-top:2px!important;border-top:none!important;gap:6px!important;}
.tx-posrow .dc-k{justify-content:flex-start;gap:8px;align-items:baseline;}
.tx-pos-val{font-style:normal;font-size:14px;font-weight:800;color:var(--blue);font-family:var(--mono);letter-spacing:-.3px;}
.tx-pos-sub{margin-left:auto;font-size:10.5px;color:var(--t3);font-weight:600;}
.tx-pos-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;
  background:linear-gradient(90deg,var(--blue) var(--fill,0%),#e6e9ee var(--fill,0%));outline:none;cursor:pointer;margin:5px 0 1px;}
.tx-pos-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid var(--blue);box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:grab;transition:transform .1s;}
.tx-pos-range::-webkit-slider-thumb:active{transform:scale(1.14);cursor:grabbing;}
.tx-pos-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:grab;}
.tx-pos-ticks{display:flex;justify-content:space-between;gap:4px;}
.tx-pos-ticks button{font-size:10.5px;font-weight:700;color:var(--t3);padding:2px 7px;border-radius:6px;transition:.12s;}
.tx-pos-ticks button:hover{color:var(--blue);background:var(--blue-soft);}
.tx-pos-ticks button.on{color:var(--blue);background:var(--blue-soft);}
.tx-tline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.tx-tline .tx-mini-seg{flex:none;}
.tx-tline .tx-mini-seg button{flex:none;height:28px;}
.tx-tk-lab{font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.3px;flex:none;}
.tx-tk-note{font-size:11.5px;color:var(--t2);font-weight:600;}
.tx-time{height:28px;width:48px;text-align:center;border:1px solid var(--line2);border-radius:7px;background:#fff;
  font-size:12px;font-weight:700;color:var(--t1);padding:0 3px;font-family:var(--mono);}
.tx-time:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.tx-tdash{color:var(--t3);font-weight:700;margin:0 -1px;}
.tx-tinput{height:28px;width:96px;border:1px solid var(--line2);border-radius:7px;background:#fff;
  font-size:12px;font-weight:700;color:var(--t1);padding:0 8px;text-align:center;}
.tx-tinput:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.tx-tstep{display:inline-flex;align-items:center;gap:2px;}
.tx-tstep button{width:22px;height:26px;border-radius:7px;border:1px solid var(--line2);background:#f6f8fa;
  color:var(--t1);font-size:14px;font-weight:700;line-height:1;display:grid;place-items:center;transition:.12s;}
.tx-tstep button:hover{background:#eef1f5;}
.tx-tstep b{min-width:30px;text-align:center;font-size:12px;font-weight:800;color:var(--t1);}
.tx-trate{display:inline-flex;align-items:center;gap:5px;margin-left:auto;flex:none;white-space:nowrap;}
.tx-date{height:28px;min-width:140px;border:1px solid var(--line2);border-radius:7px;background:#fff;
  font-size:12px;font-weight:700;color:var(--t1);padding:0 8px;font-family:var(--mono);}
.tx-date:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}

/* 预计金额：金额 + 本金占比 */
.tx-amt-w{font-style:normal;font-size:10.5px;font-weight:700;color:#2a55d8;margin-left:7px;letter-spacing:0;}

/* —— 交易下拉：送入拟执行 / 立即执行 —— */
.tx-trade-wrap{flex:1;position:relative;display:flex;min-width:0;}
.tx-trade-wrap .tx-trade-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.tx-caret{font-style:normal;font-size:10px;opacity:.85;transition:transform .15s;}
.tx-trade-btn.open .tx-caret{transform:rotate(180deg);}
.tx-pop-mask{position:fixed;inset:0;z-index:60;}
.tx-pop{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:61;
  background:#fff;border:1px solid var(--line2);border-radius:13px;
  box-shadow:0 16px 40px rgba(20,25,35,.22);padding:7px;animation:pop .14s ease both;}
.tx-pop::after{content:"";position:absolute;left:24px;top:-7px;width:13px;height:13px;
  background:#fff;border-left:1px solid var(--line2);border-top:1px solid var(--line2);transform:rotate(45deg);}
.tx-opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  padding:9px 10px;border-radius:10px;transition:.13s;border:1px solid transparent;}
.tx-opt + .tx-opt{margin-top:4px;}
.tx-opt:hover{background:#f4f6f9;}
.tx-opt.primary:hover{background:var(--blue-soft);border-color:#d4e0fb;}
.tx-opt-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  font-size:14px;background:var(--blue);color:#fff;}
.tx-opt-ic.ghost{background:#eef1f5;color:var(--blue);border:1px solid var(--line2);}
.tx-opt-tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tx-opt-tx b{font-size:12.5px;font-weight:800;color:var(--t1);line-height:1.25;}
.tx-opt-tx i{font-style:normal;font-size:10.5px;color:var(--t2);line-height:1.35;font-weight:600;}

/* —— 移出 watchlist 二次确认 —— */
.tx-confirm{position:relative;width:min(380px,92vw);background:#fff;border-radius:16px;
  box-shadow:0 24px 60px rgba(15,20,30,.32);padding:20px 20px 16px;animation:pop .15s ease both;}
.tx-confirm-h{font-size:15px;font-weight:800;color:var(--t1);margin-bottom:8px;}
.tx-confirm-b{font-size:12.5px;color:var(--t2);line-height:1.6;}
.tx-confirm-b b{color:var(--t1);font-weight:800;}
.tx-confirm-acts{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;}
.tx-confirm-acts .dc-btn{padding:8px 16px;}
.dc-btn.tx-danger{background:var(--down);color:#fff;}
.dc-btn.tx-danger:hover{filter:brightness(1.06);}

/* 送入交易台后的确认条 */
.tx-queued{display:flex;align-items:center;gap:10px;margin-top:9px;padding:8px 11px;
  background:linear-gradient(0deg,#eef6ff,#eef6ff),var(--card);
  border:1px solid #cfe0fb;border-radius:9px;animation:pop .16s ease both;}
.tx-queued-tx{font-size:12px;color:var(--t2);flex:1;min-width:0;}
.tx-queued-tx b{font-weight:800;color:#2a55d8;}
.tx-queued-btn{flex:none;font-size:12px;font-weight:800;color:#fff;background:var(--blue);
  padding:6px 13px;border-radius:8px;transition:.15s;}
.tx-queued-btn:hover{filter:brightness(1.06);}

/* 执行方案弹窗：底部双 CTA */
.tx-modal-foot{flex-wrap:wrap;gap:8px;}
.tx-modal-acts{display:flex;gap:8px;margin-left:auto;}
.tx-modal-acts .dc-btn{padding:8px 16px;}


/* ============ 原版个股详情页顶栏（stkd-bar / stkd-tabs，自 extracted/new/template.html 1:1 引入） ============ */
/* ============ 个股整合详情页：K线行情 / 产业链上下游 / 未来推演 三视图切换（一个整体页面） ============ */
.stkd-layer{display:flex;flex-direction:column;}
.stkd-bar{flex-shrink:0;display:flex;align-items:center;gap:14px;padding:9px 18px;background:#fff;border-bottom:1px solid var(--line2);position:relative;z-index:40;}
.stkd-back{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700;color:var(--t2);padding:6px 12px 6px 8px;border-radius:9px;border:1px solid var(--line2);background:#fff;transition:.13s;}
.stkd-back:hover{color:var(--blue);border-color:rgba(58,109,240,.42);}
.stkd-tabs{position:relative;display:inline-flex;gap:3px;background:#eef0f2;border-radius:11px;padding:3px;flex-shrink:0;margin-left:auto;}
.stkd-tab{position:relative;z-index:1;display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--t2);padding:7px 16px;border-radius:8px;transition:color .2s ease;white-space:nowrap;}
.stkd-tab:hover{color:var(--t1);}
.stkd-tab.on{color:var(--blue);font-weight:700;}
.stkd-tab-ind{position:absolute;top:3px;left:0;height:calc(100% - 6px);background:#fff;border-radius:8px;box-shadow:0 1px 5px rgba(20,24,30,.1);z-index:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);}
.stkd-onlytab{font-size:14px;font-weight:800;letter-spacing:-.3px;color:var(--t1);}
.stkd-crumbwrap{flex:1;min-width:0;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;}
.stkd-crumbwrap::-webkit-scrollbar{display:none;}
.stkd-bar .crumbs{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;margin:0;}
.stkd-bar .crumb,.stkd-bar .crumb-wrap{white-space:nowrap;flex-shrink:0;}
/* 面包屑占位级（产业/环节暂未归类） */
.crumb.crumb-ph{color:#c2c7cd;cursor:default;border:1px dashed var(--line2);background:transparent;}
.crumb.crumb-ph:hover{color:#c2c7cd;background:transparent;}
.crumb.crumb-ph em{color:#d4d8dd;}
.stkd-tabsbar{flex-shrink:0;display:flex;align-items:center;padding:8px 18px;background:#fff;border-bottom:1px solid var(--line2);}
.stkd-stage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;}
.stkd-stage .trade{height:100%;}
.stkd-stage .cc-app{height:100%;min-height:0;}
/* 顶部合并为一行：返回 + 个股身份/价格/图标 + 视图标签（同一行） */
.stkd-bar .th{height:auto;padding:0;border:0;background:transparent;gap:12px;flex-shrink:1;min-width:0;}
.stkd-bar .th-name,.stkd-bar .th-asset,.stkd-bar .th-price{white-space:nowrap;flex-shrink:0;}
.stkd-bar .th-back{display:none!important;}
.stkd-stage .th{display:none!important;}
.stkd-stage .th-back,.stkd-stage .cc-back{display:none!important;}
.stkd-stage .crumbs{display:none!important;}

/* 个股级：左主内容 + 常驻右栏（决策卡 + Agent 对话，切 tab 不变、跟随标的） */
.stkd-body{flex:1;min-height:0;display:flex;}
.stkd-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.stkd-main .trade{height:100%;}
.stkd-main .trade-main{flex:1;min-height:0;}
.stkd-side{flex-shrink:0;}
@media(max-width:1100px){ .stkd-side{width:360px;} }


