/* ============================================================
   策略琳回测 · 档案页 样式
   自包含科技感暗色终端风（无外部依赖，为拍摄放大而设计）
   仅用于 /celue 栏目，独立于站点主 chrome。
   ============================================================ */

:root{
  --bg:#070a10;
  --bg-2:#0b0f17;
  --panel:#111725;
  --panel-2:#0e1420;
  --line:#1d2636;
  --line-2:#28344a;
  --ink:#eef2f8;
  --ink-2:#aab4c5;
  --ink-3:#6b7688;
  --gold:#e6b422;
  --gold-soft:rgba(230,180,34,.14);
  --red:#f0616d;
  --red-soft:rgba(240,97,109,.12);
  --green:#3ddc97;
  --green-soft:rgba(61,220,151,.12);
  --cyan:#38bdf8;
  --cyan-soft:rgba(56,189,248,.12);
  --mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,"Roboto Mono",monospace;
  --sans:"PingFang SC","Noto Sans SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans CN","Helvetica Neue",Arial,sans-serif;
  --maxw:1080px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* 全局网格底纹 + 顶部光晕，营造终端氛围 */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(900px 500px at 80% -8%,rgba(230,180,34,.10),transparent 60%),
    radial-gradient(760px 460px at 8% 4%,rgba(56,189,248,.07),transparent 60%),
    var(--bg);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 55%);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- 顶部条 ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(7,10,16,.82);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar .row{display:flex;align-items:center;gap:14px;height:56px}
.dot-set{display:flex;gap:7px;margin-right:2px}
.dot-set i{width:11px;height:11px;border-radius:50%;display:block}
.dot-set .r{background:#ff5f57}.dot-set .y{background:#febc2e}.dot-set .g{background:#28c840}
.brandmark{font-family:var(--mono);font-weight:700;letter-spacing:.06em;font-size:14px;color:var(--ink)}
.brandmark b{color:var(--gold)}
.topbar .file-id{
  font-family:var(--mono);font-size:12px;color:var(--ink-3);
  border:1px solid var(--line-2);border-radius:6px;padding:3px 9px;
}
.topbar .spacer{flex:1}
.topbar nav a{
  font-size:13px;color:var(--ink-2);padding:6px 10px;border-radius:7px;transition:.15s;
}
.topbar nav a:hover{color:var(--ink);background:var(--panel)}
@media(max-width:640px){.topbar .file-id,.topbar nav .hide-sm{display:none}}

/* ---------- section 骨架 ---------- */
section.block{
  padding:clamp(56px,9vw,104px) 0;
  border-bottom:1px solid var(--line);
  position:relative;
}
.sec-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.sec-kicker .no{
  font-weight:700;color:var(--bg);background:var(--gold);
  padding:2px 10px;border-radius:5px;letter-spacing:.02em;
}
h1,h2,h3{line-height:1.25;letter-spacing:-.01em;font-weight:800}
.sec-title{font-size:clamp(28px,5.2vw,52px);margin-bottom:14px}
.sec-sub{font-size:clamp(15px,2.4vw,19px);color:var(--ink-2);max-width:60ch}
.hl-gold{color:var(--gold)}
.hl-red{color:var(--red)}
.hl-green{color:var(--green)}
.hl-cyan{color:var(--cyan)}

/* ---------- HERO ---------- */
.hero{padding:clamp(52px,10vw,120px) 0 clamp(44px,7vw,84px);text-align:left}
.hero .stamp{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:7px 16px;margin-bottom:26px;
}
.hero .stamp .live{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.hero h1{
  font-size:clamp(34px,7.4vw,82px);line-height:1.06;letter-spacing:-.02em;margin-bottom:22px;
}
.hero h1 .yt{color:var(--ink-2);font-weight:700}
.hero .lede{font-size:clamp(16px,2.6vw,21px);color:var(--ink-2);max-width:64ch;margin-bottom:38px}
.verdict-row{display:flex;flex-wrap:wrap;gap:16px}
.vcard{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:16px;padding:20px 24px;min-width:180px;flex:1 1 180px;
}
.vcard .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.vcard .v{font-family:var(--mono);font-weight:800;font-size:clamp(34px,6vw,52px);line-height:1}
.vcard.grade .v{color:var(--red)}
.vcard.ret .v{color:var(--red)}
.vcard .note{font-size:12.5px;color:var(--ink-3);margin-top:8px}

/* ---------- 证据卡通用 ---------- */
.evidence{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
}
.evidence .cap{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--mono);font-size:12px;color:var(--ink-3);
  padding:12px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015);
}
.evidence .cap .live{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.8s infinite}
@keyframes blink{50%{opacity:.25}}
/* 竖版参数面板：限高居中，避免整列全宽拉高 */
.evidence img{width:auto;max-width:100%;max-height:560px;margin-inline:auto}
.tag{
  display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);
}
.tag.audit{color:var(--gold);border-color:rgba(230,180,34,.4);background:var(--gold-soft)}
.tag.red{color:var(--red);border-color:rgba(240,97,109,.4);background:var(--red-soft)}
.tag.green{color:var(--green);border-color:rgba(61,220,151,.4);background:var(--green-soft)}
.tag.cyan{color:var(--cyan);border-color:rgba(56,189,248,.4);background:var(--cyan-soft)}

/* ---------- Section 1 原视频 ---------- */
.src-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
/* 原视频预览：锁 16:9，避免竖裁/过高 */
.src-thumb{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;
  aspect-ratio:16/9;max-height:420px}
.src-thumb img{width:100%;height:100%;object-fit:cover}
.src-thumb .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}
.src-thumb .play span{
  width:74px;height:74px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);
  display:flex;align-items:center;justify-content:center;
}
.src-thumb .play span::after{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.src-meta .mrow{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.src-meta .mrow:last-child{border-bottom:0}
.src-meta .mk{color:var(--ink-3);font-size:14px}
.src-meta .mv{font-family:var(--mono);font-weight:700;font-size:16px;text-align:right}
.btn{
  display:inline-flex;align-items:center;gap:9px;margin-top:20px;
  font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;
  background:var(--gold);color:#1a1406;border-radius:10px;padding:12px 18px;transition:.15s;
}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1px solid var(--line-2);color:var(--ink)}

/* ---------- Section 2 逻辑 ---------- */
.logic-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start;margin-top:8px}
.ma-legend{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.ma-legend .ma{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:8px;padding:6px 11px;background:var(--panel-2)}
.ma-legend .ma i{width:16px;height:3px;border-radius:2px;display:block}
.concept{display:grid;gap:14px;margin-top:8px}
.crow{display:flex;gap:14px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.crow .ic{font-family:var(--mono);font-weight:800;color:var(--gold);font-size:20px;flex:0 0 auto;width:30px}
.crow h4{font-size:17px;margin-bottom:4px}
.crow p{font-size:14.5px;color:var(--ink-2)}
.callout{
  margin-top:22px;background:var(--gold-soft);border:1px solid rgba(230,180,34,.35);border-left:3px solid var(--gold);
  border-radius:12px;padding:16px 18px;font-size:14.5px;color:var(--ink);
}
.callout b{color:var(--gold)}

/* ---------- Section 3 回测 ---------- */
.engine-strip{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 40px}
.engine-strip .chip{
  font-family:var(--mono);font-size:12.5px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--panel-2);
}
.engine-strip .chip b{color:var(--ink)}
.run{margin-bottom:34px}
.run .rhead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.run .rhead h3{font-size:clamp(20px,3.4vw,28px)}
.run .rmeta{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.run .setting{
  font-size:14.5px;color:var(--ink-2);margin-bottom:16px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px;
}
.run .setting b{color:var(--ink)}
/* 主测：视频 + 结算卡 并排 */
.main-run{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}
/* 录制期暂撤 K 线图时的单卡居中布局；恢复 K 线图时把 no-chart 一并移除 */
.main-run.no-chart{display:flex;grid-template-columns:none;justify-content:center}
.main-run.no-chart .settle-shot{width:fit-content;max-width:100%}
.videoframe{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#000;position:relative}
.videoframe video{width:100%;display:block}
.videoframe img{width:100%;height:auto;display:block}
.videoframe .kcap{
  font-size:13px;line-height:1.55;color:var(--ink-2);
  padding:11px 14px;border-top:1px solid var(--line);background:var(--panel-2)
}
.videoframe .kcap b{color:var(--ink)}
.videoframe .kcap .kcap-sub{
  display:block;margin-top:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)
}
.videoframe .rl{
  position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:#fff;
  background:rgba(0,0,0,.55);border-radius:999px;padding:5px 11px;
}
.videoframe .rl i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.6s infinite}
.settle-shot{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel-2)}
/* 竖版结算卡限高居中：避免任何一张撑满整屏（object-fit 防拉伸） */
.settle-shot img,.shotcard img{width:100%;height:auto;max-height:520px;object-fit:contain;object-position:center top}
.main-run.no-chart .settle-shot img{max-height:560px}
/* 横宽 K 线标记图（恢复后）全宽但限高 */
.videoframe img{max-height:640px;object-fit:contain}
/* 点击原图看大图（无 JS） */
a.zoom{display:block;cursor:zoom-in}
/* 扫描卡网格 */
.scan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
.shotcard{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.shotcard .sc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;border-bottom:1px solid var(--line)}
.shotcard .sc-head .lbl{font-family:var(--mono);font-size:12px;color:var(--ink-2);font-weight:700}
.shotcard .sc-head .ret{font-family:var(--mono);font-weight:800;font-size:15px}
.shotcard .sc-note{padding:11px 13px;font-size:13px;color:var(--ink-2);border-top:1px solid var(--line)}
.ret.neg{color:var(--red)}.ret.pos{color:var(--green)}

/* ---------- 每卡参数行（chips）：常量中性 · 改动审计高亮 ---------- */
.pspec{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.pspec .pk{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-right:2px;
}
.pchip{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-family:var(--mono);font-size:12px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:var(--panel-2);
}
.pchip .lb{color:var(--ink-3)}
.pchip b{color:var(--ink);font-weight:700}
/* 原版基准徽标 —— 全中性 */
.pchip.origin{color:var(--ink-2);border-color:var(--line-2)}
.pchip.origin .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3);display:block}
/* 改动项 —— 审计琥珀高亮（原值划掉·新值金）*/
.pchip.diff{border-color:rgba(230,180,34,.5);background:var(--gold-soft);color:var(--ink)}
.pchip.diff .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);display:block}
.pchip .was{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--line-2)}
.pchip.diff .arw{color:var(--gold);font-weight:700}
.pchip.diff .now{color:var(--gold);font-weight:800}
/* 关闭类改动（方法拆分）—— 红点缀 */
.pchip.diff.off{border-color:rgba(240,97,109,.5);background:var(--red-soft)}
.pchip.diff.off .dot{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.pchip.diff.off .arw{color:var(--red)}
.pchip.diff.off .now{color:var(--red)}
.pspec .rest{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
/* 扫描小卡内的迷你参数行 */
.pspec.mini{margin:0;padding:11px 13px;border-top:1px solid var(--line);gap:7px}
@media(max-width:480px){
  .pchip{font-size:11.5px;padding:5px 9px}
}

/* ---------- Section 4 总结 ---------- */
.gate-panel{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:18px;
  padding:8px 4px;margin:8px 0 34px;
}
.gate{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.gate:last-child{border-bottom:0}
.gate .gn{font-family:var(--mono);font-weight:800;font-size:20px;color:var(--gold);text-align:center}
.gate .gt{font-weight:700;font-size:clamp(16px,2.6vw,20px)}
.gate .gd{font-size:13.5px;color:var(--ink-3);margin-top:3px}
.pill{font-family:var(--mono);font-weight:800;font-size:13px;letter-spacing:.04em;padding:7px 15px;border-radius:999px;white-space:nowrap}
.pill.pass{color:var(--green);background:var(--green-soft);border:1px solid rgba(61,220,151,.4)}
.pill.fail{color:var(--red);background:var(--red-soft);border:1px solid rgba(240,97,109,.4)}
.pill.marg{color:var(--gold);background:var(--gold-soft);border:1px solid rgba(230,180,34,.4)}
.grade-final{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:6px;padding:22px;
  background:var(--red-soft);border:1px solid rgba(240,97,109,.32);border-radius:16px;
}
.grade-final .big{font-family:var(--mono);font-weight:800;font-size:clamp(56px,12vw,96px);line-height:.9;color:var(--red)}
.grade-final .gx{font-size:14.5px;color:var(--ink-2);max-width:52ch}

.conclusions{display:grid;gap:14px;margin:36px 0}
.cc{display:flex;gap:16px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:18px 20px}
.cc .n{font-family:var(--mono);font-weight:800;font-size:22px;color:var(--gold);flex:0 0 auto}
.cc h4{font-size:clamp(17px,2.8vw,21px);margin-bottom:5px}
.cc p{font-size:14.5px;color:var(--ink-2)}

.checklist-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:8px 0 30px;background:#f3f1e9}
.checklist-wrap .cap{background:var(--panel);color:var(--ink-3)}
/* 四关自查表竖图：限高居中，避免整列过高 */
.checklist-wrap img{width:auto;max-width:100%;max-height:640px;margin-inline:auto}

/* ---------- 四关自查表（原生 HTML 版）---------- */
.selfcheck{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:8px 0 26px;
}
.selfcheck .sc-cap{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-3);
  padding:13px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015);
}
.selfcheck .sc-cap .live{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.selfcheck .sc-cap .sp{flex:1}
.selfcheck .sc-cap .ep{color:var(--gold)}
.sc-gate{
  display:grid;grid-template-columns:46px 1fr auto;gap:18px;align-items:center;
  padding:18px 22px;border-bottom:1px solid var(--line);position:relative;
}
.sc-gate:last-child{border-bottom:0}
.sc-gate::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.sc-gate.pass::before{background:var(--green)}
.sc-gate.marg::before{background:var(--gold)}
.sc-gate.fail::before{background:var(--red)}
.sc-gate .sc-no{
  font-family:var(--mono);font-weight:800;font-size:22px;color:var(--gold);text-align:center;
  border:1px solid var(--line-2);border-radius:11px;padding:8px 0;
}
.sc-gate .sc-name{font-weight:800;font-size:clamp(16px,2.6vw,20px);margin-bottom:8px}
.sc-redline{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12.5px;
  color:var(--red);border:1px solid rgba(240,97,109,.45);background:var(--red-soft);
  border-radius:8px;padding:4px 10px;margin-bottom:8px;
}
.sc-redline .rl-k{color:var(--ink-3);letter-spacing:.08em;font-size:11px}
.sc-redline b{color:var(--red);font-weight:800}
.sc-plain{font-size:14px;color:var(--ink-2);line-height:1.6}
.sc-plain b{color:var(--ink)}
.sc-verdict{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:120px}
.sc-verdict .sc-detail{font-family:var(--mono);font-size:12px;color:var(--ink-3);text-align:right}
.sc-foot{
  padding:14px 22px;font-size:13px;color:var(--ink-2);background:var(--panel-2);
  border-top:1px solid var(--line);
}
.sc-foot b{color:var(--gold)}
/* 复现声明行（页尾） */
.repro-line{
  font-family:var(--mono);font-size:12.5px;color:var(--ink-3);line-height:1.6;
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;
  padding:13px 16px;margin:28px 0 0;background:var(--panel-2);
}
.repro-line b{color:var(--ink-2)}
@media(max-width:560px){
  .sc-gate{grid-template-columns:38px 1fr;row-gap:12px}
  .sc-verdict{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-width:0}
  .sc-verdict .sc-detail{text-align:left}
}

.ct2u{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line-2);border-radius:16px;
  padding:22px 24px;margin:26px 0;display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;
}
.ct2u .txt{flex:1 1 320px}
.ct2u h4{font-size:18px;margin-bottom:6px}
.ct2u p{font-size:14px;color:var(--ink-2)}
.ct2u p .fine{color:var(--ink-3);font-size:13px}

.disclaimer{
  font-size:13px;color:var(--ink-3);border:1px dashed var(--line-2);border-radius:12px;padding:16px 18px;margin-top:22px;
  font-family:var(--mono);line-height:1.6;
}

/* ---------- 页脚 ---------- */
footer.site{padding:44px 0 60px;color:var(--ink-3);font-size:13px}
footer.site .frow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer.site a{color:var(--ink-2)}footer.site a:hover{color:var(--gold)}
footer.site .fbrand{font-family:var(--mono);color:var(--ink-2)}
footer.site .fbrand b{color:var(--gold)}

/* ---------- 栏目索引页 ---------- */
.idx-hero{padding:clamp(60px,11vw,130px) 0 clamp(30px,5vw,54px)}
.idx-list{display:grid;gap:20px;padding-bottom:80px}
.epcard{
  display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;
  padding:18px;transition:.18s;
}
.epcard:hover{border-color:var(--line-2);transform:translateY(-2px)}
.epcard .epno{font-family:var(--mono);font-weight:800;font-size:clamp(22px,4vw,30px);color:var(--gold);text-align:center;
  border:1px solid var(--line-2);border-radius:12px;padding:16px 8px}
.epcard .epno small{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin-top:4px}
.epcard h3{font-size:clamp(18px,3vw,24px);margin-bottom:6px}
.epcard p{font-size:14px;color:var(--ink-2)}
.epcard .grade-badge{font-family:var(--mono);font-weight:800;font-size:34px;color:var(--red);padding:0 12px}
.epcard.soon{opacity:.5;pointer-events:none;border-style:dashed}
.epcard.soon .epno,.epcard.soon .grade-badge{color:var(--ink-3)}

/* ---------- 卡内 K 线标记缩略图（点击进 lightbox 看全图）---------- */
.sc-kline{display:block;position:relative;cursor:zoom-in;background:#05070c;border-bottom:1px solid var(--line)}
.sc-kline img{width:100%;height:auto;max-height:300px;object-fit:contain;background:#05070c}
.sc-kline .kb{
  position:absolute;top:8px;left:8px;z-index:2;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:#fff;
  background:rgba(240,64,72,.82);border-radius:5px;padding:2px 7px;pointer-events:none;
}
.shotcard .rid{
  display:inline-block;margin-left:4px;font-family:var(--mono);font-size:11px;color:var(--ink-3);
  border:1px solid var(--line);border-radius:5px;padding:1px 6px;white-space:nowrap;
}
/* C2 单卡内 K 线 + 结算并排 */
.cwrap-2{display:grid;grid-template-columns:1.55fr .7fr;gap:0;border-bottom:1px solid var(--line)}
.cwrap-2 .sc-kline{border-bottom:0;border-right:1px solid var(--line)}
.cwrap-2 .zoom:last-child{background:var(--panel-2)}
.cwrap-2 .zoom:last-child img{width:100%;height:auto;max-height:300px;object-fit:contain;object-position:center top}

/* ---------- 优化幕 · 三判据卡 ---------- */
.scan-grid.g3{grid-template-columns:repeat(3,1fr)}
.opt-crit{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 34px}
.opt-crit .ocard{
  background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:12px;padding:16px 18px;
}
.opt-crit .oh{font-weight:800;font-size:clamp(15px,2.4vw,18px);color:var(--gold);margin-bottom:6px}
.opt-crit .ocard p{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.opt-crit .ocard p b{color:var(--ink)}

/* ---------- 优化幕 · 参数扫描小表 ---------- */
.sweep-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}
.sweep{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;overflow-x:auto}
.sweep .sw-cap{font-weight:700;font-size:15px;margin-bottom:12px;color:var(--ink)}
.sw-tbl{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px}
.sw-tbl th{color:var(--ink-3);text-align:left;font-weight:600;padding:6px 8px;white-space:nowrap}
.sw-tbl td{text-align:center;padding:6px 8px;color:var(--ink-2);border-left:1px solid var(--line)}
.sw-tbl tr:first-child td{color:var(--ink-3);font-size:12px}
.sw-tbl td.pk3{color:var(--green);background:var(--green-soft);font-weight:800}
.sw-tbl td.lo{color:var(--gold)}
.sw-tbl td.neg{color:var(--red)}
.sweep .sw-note{margin-top:12px;font-size:13px;color:var(--ink-2);line-height:1.6}

/* ============================================================
   本集视频 / 频道入口 CTA（2026-07-28 EP1 上线后回填）
   注意：这些是外链按钮，不带 .zoom —— 图片放大仍走页内 lightbox
   ============================================================ */
.watch-cta{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  margin-top:30px;padding:18px 22px;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid rgba(230,180,34,.34);border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}
.watch-cta .wc-txt{flex:1 1 320px;min-width:0}
.watch-cta .wc-k{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px;
}
.watch-cta .wc-k .live{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.8s infinite;flex:0 0 auto}
.watch-cta .wc-t{font-size:14.5px;color:var(--ink-2);line-height:1.65}
.watch-cta .wc-t b{color:var(--ink)}
.watch-cta .wc-btns{display:flex;gap:12px;flex-wrap:wrap;flex:0 1 auto}

/* 页尾频道 / 栏目入口 */
.outro-cta{
  margin:30px 0 0;padding:22px 24px;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line-2);border-radius:16px;
}
.outro-cta .oc-head{
  display:flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;
}
.outro-cta .oc-head .live{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.outro-cta .oc-btns{display:flex;gap:12px;flex-wrap:wrap}
.outro-cta .oc-note{margin-top:15px;font-size:13px;color:var(--ink-3);line-height:1.6}
.outro-cta .oc-note a{color:var(--gold);border-bottom:1px solid rgba(230,180,34,.4)}
.outro-cta .oc-note a:hover{border-bottom-color:var(--gold)}

/* 按钮：移动端可点区域 ≥48px */
.watch-cta .btn,.outro-cta .btn{margin-top:0;min-height:50px;padding:14px 20px;font-size:14px}
.btn.play-yt{background:var(--gold);color:#1a1406;box-shadow:0 8px 22px rgba(230,180,34,.20)}
.btn .tri{font-size:11px;line-height:1;display:inline-block;transform:translateY(-.5px)}
.btn.ghost:hover{border-color:rgba(230,180,34,.55);color:var(--gold)}

/* 顶部条 · 本集视频快捷入口 */
.topbar nav a.nav-yt{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--gold);border:1px solid rgba(230,180,34,.42);background:var(--gold-soft);
  font-weight:700;padding:8px 13px;min-height:40px;
}
.topbar nav a.nav-yt:hover{color:#1a1406;background:var(--gold)}

/* 索引页 EP 卡上的「视频已上线」标记 */
.epcard .ep-live{
  display:inline-flex;align-items:center;gap:7px;margin-top:9px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--gold);
  border:1px solid rgba(230,180,34,.4);background:var(--gold-soft);border-radius:999px;padding:4px 11px;
}
.epcard .ep-live i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.8s infinite}

/* 页脚链接行 */
footer.site .flinks{line-height:2}

/* ---------- 主测左列：静态标记图 + 交互 K 线（上下叠） ---------- */
.kline-col{display:grid;gap:16px;min-width:0;align-content:start}
.kcap-cta{
  display:inline-flex;align-items:center;gap:8px;margin-top:11px;
  font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--gold);
  border:1px solid rgba(230,180,34,.45);background:var(--gold-soft);
  border-radius:9px;padding:10px 14px;min-height:44px;transition:.15s;
}
.kcap-cta:hover{background:rgba(230,180,34,.24);transform:translateY(-1px)}

@media(max-width:640px){
  .topbar nav a.nav-yt{padding:6px 10px;font-size:12px}
}
@media(max-width:560px){
  .watch-cta{padding:16px 16px;gap:16px}
  .watch-cta .wc-btns,.outro-cta .oc-btns{width:100%;flex-direction:column;align-items:stretch}
  .watch-cta .btn,.outro-cta .btn{width:100%;justify-content:center}
  .kcap-cta{width:100%;justify-content:center}
}

/* ---------- 图片放大 lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(3,6,11,.92);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;
  padding:24px;cursor:zoom-out;
}
.lb.on{opacity:1;visibility:visible}
.lb .lb-img{
  max-width:96vw;max-height:90vh;width:auto;height:auto;object-fit:contain;
  border-radius:10px;border:1px solid var(--line-2);box-shadow:0 24px 80px rgba(0,0,0,.6);
  transform:scale(.98);transition:transform .2s ease;background:#05070c;
}
.lb.on .lb-img{transform:scale(1)}
.lb .lb-close{
  position:absolute;top:16px;right:20px;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line-2);background:rgba(17,23,37,.8);color:var(--ink);
  font-size:26px;line-height:1;cursor:pointer;transition:.15s;
}
.lb .lb-close:hover{background:var(--panel);color:#fff}
.lb .lb-hint{
  position:absolute;bottom:18px;left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-3);pointer-events:none;
}

/* ---------- 响应式 ---------- */
@media(max-width:860px){
  .src-grid,.logic-grid,.main-run{grid-template-columns:1fr}
  .scan-grid{grid-template-columns:1fr 1fr}
  .split-grid{grid-template-columns:1fr}
  .epcard{grid-template-columns:88px 1fr;grid-auto-flow:row}
  .epcard .grade-badge{grid-column:1/-1;justify-self:start}
  .opt-crit{grid-template-columns:1fr}
  .sweep-wrap{grid-template-columns:1fr}
  .scan-grid.g3{grid-template-columns:1fr}
}
@media(max-width:480px){
  .scan-grid{grid-template-columns:1fr}
  .verdict-row{flex-direction:column}
  .gate{grid-template-columns:34px 1fr;row-gap:10px}
  .gate .pill{grid-column:2}
  /* 手机：竖图单列，限高 ~70vh，仍不撑满整屏 */
  .settle-shot img,.shotcard img,.evidence img,.checklist-wrap img{max-height:70vh}
  .sc-kline img,.cwrap-2 .zoom:last-child img{max-height:44vh}
  .cwrap-2{grid-template-columns:1fr}
  .cwrap-2 .sc-kline{border-right:0;border-bottom:1px solid var(--line)}
  .sc-kline .kb{font-size:9.5px}
  /* 参数扫描小表：手机上缩排，仍放不下则卡内横向滚动（页面不横溢） */
  .sw-tbl{font-size:11px}
  .sw-tbl th,.sw-tbl td{padding:5px 4px}
  .shotcard .rid{display:inline-block;margin-top:4px;margin-left:0}
}

/* ============================================================
   页内交互 K 线（回测引擎买卖点 embed · lightweight-charts 自托管）
   默认只有一颗按钮；库与数据点了才加载，首屏零成本。
   ============================================================ */
.ichart{margin-top:12px;min-width:0}
.ic-btn{
  display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;
  font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.02em;
  color:var(--gold);border:1px solid rgba(230,180,34,.45);background:var(--gold-soft);
  border-radius:9px;padding:11px 14px;min-height:44px;cursor:pointer;transition:.15s;
}
.ic-btn:hover{background:rgba(230,180,34,.24);transform:translateY(-1px)}
.ic-btn.on{background:rgba(230,180,34,.26);color:#ffe9a8}
.ic-btn.loading{opacity:.6;cursor:progress}
.ic-btn.loading::after{content:"　载入中…";font-weight:400}
.ic-btn .kbd{
  font-size:10px;font-weight:600;color:var(--ink-3);border:1px solid var(--line-2);
  border-radius:5px;padding:1px 6px;background:rgba(255,255,255,.03);
}

/* 面板 */
.ic-panel{
  margin-top:12px;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;
  background:#05070c;box-shadow:0 18px 50px rgba(0,0,0,.45);min-width:0;
  animation:icIn .22s ease both;
}
@keyframes icIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ic-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 12px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0d1320,#080c14);
}
.ic-ttl{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;min-width:0}
.ic-ttl b{font-size:13.5px;color:var(--ink);font-weight:700}
.ic-sym{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.04em}
.ic-rid{
  margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);
  border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap;
}
.ic-x{
  font-family:var(--mono);font-size:11.5px;color:var(--ink-2);cursor:pointer;
  border:1px solid var(--line-2);background:rgba(255,255,255,.03);
  border-radius:8px;padding:7px 11px;min-height:34px;transition:.15s;
}
.ic-x:hover{background:var(--panel);color:#fff}
.ic-legend{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:8px 12px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:10.5px;color:var(--ink-3);background:#070b12;
}
.ic-ln{display:inline-flex;align-items:center;gap:6px}
.ic-ln i{width:14px;height:2px;border-radius:2px;display:inline-block}
.ic-ln.mk{margin-left:auto}
.ic-ln.mk b{font-weight:700}

/* 图表容器：媒体高度纪律（桌面 ≤560px，手机 ≤70vh） */
.ic-chart{width:100%;height:clamp(300px,46vh,460px);position:relative;background:#05070c}
.ic-ovpanel .ic-chart{height:min(70vh,560px)}

.ic-info{
  /* 提示 ↔ 逐笔详情切换时高度不跳（详情最多两行） */
  min-height:56px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;
  padding:9px 12px;border-top:1px solid var(--line);background:#080c14;
  font-family:var(--mono);font-size:11.5px;color:var(--ink-2);
}
.ic-info.on{background:#0c1220;border-top-color:var(--line-2)}
.ic-hint{color:var(--ink-3);font-size:11px}
.ic-hint b{color:var(--gold)}
.ic-t{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.ic-t b.lng{color:var(--green)}
.ic-t b.sht{color:var(--red)}
.ic-t em{font-style:normal;color:var(--ink-3);font-size:10.5px;
  border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.ic-t span b{color:var(--ink)}
.ic-t b.pos{color:var(--green);font-size:13px}
.ic-t b.neg{color:var(--red);font-size:13px}
.ic-foot{
  padding:8px 12px;border-top:1px solid var(--line);background:#060911;
  font-family:var(--mono);font-size:10.5px;color:var(--ink-3);line-height:1.6;
}

/* 全屏暗幕容器（窄卡片用；复用 lightbox 的暗幕观感） */
.ic-overlay{
  position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;
  background:rgba(3,6,11,.93);backdrop-filter:blur(4px);padding:20px;
  opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;
}
.ic-overlay.on{opacity:1;visibility:visible}
.ic-ovpanel{width:min(1180px,96vw);max-height:92vh;overflow:auto;margin-top:0}

@media(max-width:640px){
  .ic-chart{height:min(56vh,400px)}
  .ic-ovpanel .ic-chart{height:min(62vh,440px)}
  .ic-overlay{padding:10px}
  .ic-ovpanel{width:100%;max-height:94vh}
  .ic-rid{margin-left:0;order:9}
  .ic-ln.mk{margin-left:0;width:100%}
  .ic-legend{font-size:10px;gap:10px}
  .ic-foot{font-size:10px}
}
