/* ==========================================================================
   Readout — V13 浅色皮肤（默认启用；深色保留为可切换选项）
   --------------------------------------------------------------------------
   对标原版官网 ref06~ref15 的观感：白底 + 暖灰分区 #F6F5F2 + 全圆药丸按钮
   + 极浅阴影 0 4px 20px rgba(0,0,0,.06)。
   落地方式：
     1) 本文件只做"覆盖"，不改 style.css —— 深色皮肤一行不动，切回即原样；
     2) 变量名分两层：--stcn-light-*（本皮肤语义 token）+ 覆盖 style.css 的
        旧变量（--bg / --panel / --text …），所以老组件自动跟着变浅；
     3) 少数写死 rgba 的组件在本文件末尾按"组件段"集中覆盖，顺序与 style.css
        保持一致，方便逐段核对；
     4) 色带 / 药丸 / 涨跌色全部沿用实测色（tokens.css 的 --stcn-*），
        本文件不重新定义它们 —— 浅底上这三个药丸才是原版观感。
   ========================================================================== */

html[data-theme="light"] {
  /* ---------- 浅色皮肤语义 token ---------- */
  --stcn-light-bg: #ffffff;          /* 页面底 */
  --stcn-light-section: #f6f5f2;     /* 分区底（暖灰） */
  --stcn-light-card: #ffffff;        /* 卡片底 */
  --stcn-light-sunken: #faf9f7;      /* 卡内下沉块 */
  --stcn-light-ink: #111114;         /* 标题 */
  --stcn-light-ink-2: #54545a;       /* 次级文字 */
  --stcn-light-ink-3: #8a8a90;       /* 三级文字 */
  --stcn-light-line: #edebe6;        /* 1px 分割线 */
  --stcn-light-line-2: #e3e0da;      /* 描边（按钮/输入框） */
  --stcn-light-black: #1b1b1f;       /* 黑药丸主按钮 */
  --stcn-light-black-hover: #000000;
  --stcn-light-brand: #dd145e;       /* 眉标 / 主 CTA */
  --stcn-light-brand-soft: #fdebf2;  /* 玫红浅底 */
  --stcn-light-green: #1e8e4e;       /* 语义绿（文字级，白底可读） */
  --stcn-light-green-soft: #eaf7ef;
  --stcn-light-orange: #c2410c;      /* 演示/警示橙 */
  --stcn-light-orange-soft: #fff4e8;
  --stcn-light-red: #c62828;
  --stcn-light-red-soft: #fdecec;
  --stcn-light-gold-ink: #8a6110;    /* 金系文字（白底可读） */
  --stcn-light-gold-soft: #fffbf2;
  --stcn-light-teal-ink: #0f766e;
  --stcn-light-teal-soft: #f1f8f7;
  --stcn-light-sh: 0 4px 20px rgba(0, 0, 0, 0.06);        /* 规范里的极浅阴影 */
  --stcn-light-sh-lg: 0 18px 48px rgba(0, 0, 0, 0.10);
  --stcn-light-sh-pill: 0 6px 18px rgba(17, 17, 20, 0.16);
  --stcn-light-r-card: 20px;
  --stcn-light-r-inner: 16px;

  /* ---------- 覆盖 style.css 旧变量（老组件自动转浅） ---------- */
  --bg: #ffffff;
  --bg-glow-1: rgba(221, 20, 94, 0.045);
  --bg-glow-2: rgba(47, 163, 86, 0.035);
  --panel: #ffffff;
  --panel-solid: #ffffff;
  --panel-deep: #faf9f7;
  --border: #edebe6;
  --border-strong: #ddd9d2;
  --text: #111114;
  --text-dim: #54545a;
  --text-faint: #8a8a90;
  --gold: #b8801a;
  --gold-2: #8a6110;
  --teal: #0f766e;
  --brand: #dd145e;
  --brand-2: #f12a75;
  --shadow-1: 0 4px 20px rgba(0, 0, 0, 0.06);
  --shadow-2: 0 18px 48px rgba(0, 0, 0, 0.10);
  --glass-blur: blur(12px) saturate(120%);
  --radius: 20px;
  --radius-sm: 16px;
  /* 涨跌色按市场语境（cn 红涨绿跌 / us 绿涨红跌），浅底上加深一档保证对比度 */
  --up: #d92d3a;
  --down: #1e9e5a;
  color-scheme: light;
}
html[data-theme="light"] body[data-market="cn"] { --up: #d92d3a; --down: #1e9e5a; }
html[data-theme="light"] body[data-market="us"] { --up: #1e9e5a; --down: #d92d3a; }

/* ==========================================================================
   1) 底 / 顶栏 / 品牌
   ========================================================================== */
html[data-theme="light"] body {
  background:
    radial-gradient(1200px 520px at 50% -12%, rgba(221, 20, 94, 0.055), transparent 62%),
    radial-gradient(900px 420px at 88% 4%, rgba(47, 163, 86, 0.035), transparent 60%),
    #ffffff;
  background-attachment: fixed;
}

html[data-theme="light"] .topbar {
  background: rgba(255, 255, 255, 0.88);
  border-bottom: 1px solid var(--stcn-light-line);
  box-shadow: 0 1px 0 rgba(17, 17, 20, 0.015);
}
html[data-theme="light"] .brand-logo {
  background: var(--stcn-light-brand-soft);
  border: 1px solid rgba(221, 20, 94, 0.18);
  color: var(--stcn-light-brand);
  box-shadow: none;
}
html[data-theme="light"] .brand-name {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--stcn-light-ink);
}
html[data-theme="light"] .brand-slogan {
  color: var(--stcn-light-ink-3);
  border-left-color: var(--stcn-light-line);
}
html[data-theme="light"] .topbar-right label { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .topbar-right select {
  background: #ffffff;
  color: var(--stcn-light-ink);
  border: 1px solid var(--stcn-light-line-2);
  border-radius: 999px;
  padding: 6px 12px;
}
html[data-theme="light"] .topbar-right select:hover { border-color: #c9c4bc; }

/* 主题切换按钮（药丸描边；浅色下显示"深色"） */
.theme-btn { display: inline-flex; align-items: center; gap: 6px; }
.theme-btn svg { width: 14px; height: 14px; }

/* ==========================================================================
   2) 面板 / 上传区
   ========================================================================== */
html[data-theme="light"] .panel {
  background: var(--stcn-light-card);
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-card);
  box-shadow: var(--stcn-light-sh);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-theme="light"] .panel h2 { color: var(--stcn-light-ink); }
html[data-theme="light"] .panel h2::before {
  background: var(--stcn-light-brand);
  box-shadow: none;
}

html[data-theme="light"] .dropzone {
  background: var(--stcn-light-sunken);
  border: 1.5px dashed var(--stcn-light-line-2);
  border-radius: var(--stcn-light-r-inner);
  animation-name: breatheLight;
}
@keyframes breatheLight {
  0%, 100% { box-shadow: 0 0 0 0 rgba(221, 20, 94, 0); border-color: var(--stcn-light-line-2); }
  50% { box-shadow: 0 0 24px 2px rgba(221, 20, 94, 0.06); border-color: rgba(221, 20, 94, 0.26); }
}
html[data-theme="light"] .dropzone:hover,
html[data-theme="light"] .dropzone.drag {
  border-color: var(--stcn-light-brand);
  background: #fff8fb;
}
html[data-theme="light"] .dropzone:focus-visible { outline: 2px solid var(--stcn-light-brand); }
html[data-theme="light"] .dropzone-icon {
  background: var(--stcn-light-brand-soft);
  border: 1px solid rgba(221, 20, 94, 0.18);
  color: var(--stcn-light-brand);
  border-radius: 18px;
}
html[data-theme="light"] .dropzone p { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .drop-sub { color: var(--stcn-light-ink-3) !important; }
html[data-theme="light"] .preview-wrap img {
  border: 1px solid var(--stcn-light-line);
  border-radius: 16px;
  box-shadow: var(--stcn-light-sh);
}

/* V13：上传区真实性说明行 */
.upload-truth {
  display: flex; align-items: center; gap: 7px;
  margin: 14px 0 0; font-size: 12px; line-height: 1.6;
  color: var(--text-faint);
}
.upload-truth svg { width: 14px; height: 14px; flex: none; opacity: .8; }
html[data-theme="light"] .upload-truth { color: var(--stcn-light-ink-3); }

/* ==========================================================================
   3) 按钮
   ========================================================================== */
html[data-theme="light"] .btn-primary {
  background: var(--stcn-light-black);
  color: #ffffff;
  border-radius: 999px;
  box-shadow: var(--stcn-light-sh-pill);
  letter-spacing: .5px;
}
html[data-theme="light"] .btn-primary:not(:disabled):hover {
  background: var(--stcn-light-black-hover);
  filter: none;
  box-shadow: 0 10px 26px rgba(221, 20, 94, 0.22);
}
html[data-theme="light"] .btn-primary:disabled {
  background: #ece9e3; color: #a8a49d; opacity: 1; box-shadow: none;
}
html[data-theme="light"] .btn-ghost {
  background: #ffffff;
  color: var(--stcn-light-ink-2);
  border: 1px solid var(--stcn-light-line-2);
  border-radius: 999px;
  padding: 7px 16px;
}
html[data-theme="light"] .btn-ghost:hover {
  background: var(--stcn-light-section);
  color: var(--stcn-light-ink);
  border-color: #cfcac2;
}
html[data-theme="light"] .btn-danger {
  color: var(--stcn-light-red);
  border-color: rgba(198, 40, 40, 0.32);
}
html[data-theme="light"] .btn-danger:hover {
  color: #a11d1d;
  border-color: rgba(198, 40, 40, 0.5);
  background: var(--stcn-light-red-soft);
}

/* ==========================================================================
   4) 加载：5 阶段（浅色＝灰圈 → 绿勾，对齐 ref07 的扫描卡）
   ========================================================================== */
html[data-theme="light"] .loader-progress { background: #efece7; }
html[data-theme="light"] .loader-progress i {
  box-shadow: none;
  background: linear-gradient(90deg, #dd145e, #f12a75);
}
html[data-theme="light"] .ls-dot { border-color: #dcd8d1; }
html[data-theme="light"] .loader-step.active { color: var(--stcn-light-brand); }
html[data-theme="light"] .loader-step.active .ls-dot {
  border-color: var(--stcn-light-brand);
  animation-name: dotPulseLight;
}
@keyframes dotPulseLight {
  0%, 100% { box-shadow: 0 0 0 0 rgba(221, 20, 94, 0.24); }
  50% { box-shadow: 0 0 0 5px rgba(221, 20, 94, 0); }
}
html[data-theme="light"] .loader-step.done { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .loader-step.done .ls-dot {
  border-color: rgba(30, 142, 78, 0.45);
  background: var(--stcn-light-green-soft);
}
html[data-theme="light"] .loader-step.done .ls-check { color: var(--stcn-light-green); }

/* ==========================================================================
   5) 模式徽章 / 横幅（真实＝绿确认；演示＝橙警示）
   ========================================================================== */
html[data-theme="light"] .mode-ai {
  color: var(--stcn-light-green);
  background: var(--stcn-light-green-soft);
  border: 1px solid rgba(30, 142, 78, 0.32);
  box-shadow: none;
}
html[data-theme="light"] .mode-demo {
  color: var(--stcn-light-orange);
  background: var(--stcn-light-orange-soft);
  border: 1px solid rgba(194, 65, 12, 0.30);
}
html[data-theme="light"] .mode-banner-demo {
  color: #9a3412;
  background: var(--stcn-light-orange-soft);
  border: 1.5px solid rgba(234, 88, 12, 0.42);
  animation-name: demoPulseLight;
}
@keyframes demoPulseLight {
  0%, 100% { box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.10); }
  50% { box-shadow: 0 4px 18px rgba(234, 88, 12, 0.16); }
}
html[data-theme="light"] .mode-banner-ai {
  color: var(--stcn-light-green);
  background: var(--stcn-light-green-soft);
  border: 1px solid rgba(30, 142, 78, 0.28);
}

/* ==========================================================================
   6) 结论卡 / 方向徽章 / 档位
   ========================================================================== */
html[data-theme="light"] .conclusion-card {
  background: var(--stcn-light-sunken);
  border: 1px solid var(--stcn-light-line);
  box-shadow: none;
  border-radius: var(--stcn-light-r-card);
}
html[data-theme="light"] .cc-cell {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
}
html[data-theme="light"] .cc-cell:hover { border-color: var(--stcn-light-line-2); }
html[data-theme="light"] .cc-label { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .cc-value { color: var(--stcn-light-ink); }
html[data-theme="light"] .cc-conf-bar { background: #efece7; }
html[data-theme="light"] .cc-conf-bar i {
  background: linear-gradient(90deg, #dd145e, #f12a75);
  box-shadow: none;
}
html[data-theme="light"] .dir-badge { background: rgba(17, 17, 20, 0.045); }
html[data-theme="light"] .dir-long,
html[data-theme="light"] .dir-short,
html[data-theme="light"] .bias-bull,
html[data-theme="light"] .bias-bear { box-shadow: none; }
html[data-theme="light"] .bias-bull { background: rgba(217, 45, 58, 0.08); }
html[data-theme="light"] .bias-bear { background: rgba(30, 158, 90, 0.10); }
html[data-theme="light"] .bias-neutral { background: rgba(84, 84, 90, 0.07); }

html[data-theme="light"] .grade-strip {
  background: var(--stcn-light-sunken);
  border: 1px solid var(--stcn-light-line);
}
html[data-theme="light"] .grade-A {
  color: var(--stcn-light-green);
  background: var(--stcn-light-green-soft);
  border-color: rgba(30, 142, 78, 0.38);
  box-shadow: none;
}
html[data-theme="light"] .grade-B {
  color: #a16207;
  background: #fdf6e3;
  border-color: rgba(161, 98, 7, 0.32);
  box-shadow: none;
}
html[data-theme="light"] .grade-C {
  color: var(--stcn-light-ink-2);
  background: #f2f0ec;
  border-color: #ddd9d2;
}
html[data-theme="light"] .grade-name,
html[data-theme="light"] .cc-grade-name { color: var(--stcn-light-ink); }
html[data-theme="light"] .grade-desc { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .grade-note,
html[data-theme="light"] .cc-grade-note { color: var(--stcn-light-ink-3); }

html[data-theme="light"] .nosetup-badge {
  color: #b45309;
  background: var(--stcn-light-orange-soft);
  border-color: rgba(180, 83, 9, 0.32);
}
html[data-theme="light"] .wait-badge {
  color: var(--stcn-light-ink-2);
  background: #f2f0ec;
  border-color: #ddd9d2;
}
html[data-theme="light"] .wait-card {
  background: var(--stcn-light-sunken);
  border: 1px dashed #d8d4ce;
}
html[data-theme="light"] .wait-card .wait-big { color: #85838a; text-shadow: none; }
html[data-theme="light"] .wait-card .wait-reason { color: var(--stcn-light-ink); }
html[data-theme="light"] .wait-card .wait-tip { color: var(--stcn-light-ink-3); }

/* ==========================================================================
   7) 标注层（图表卡：白卡 + 内侧浅灰底 + 极浅阴影）
   ========================================================================== */
html[data-theme="light"] .anno-wrap {
  background: var(--stcn-light-section);
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-inner);
  padding: 12px;
}
html[data-theme="light"] .anno-stack {
  border: 1px solid #e6e3dd;
  border-radius: 12px;
  box-shadow: none;
}
html[data-theme="light"] .anno-stack.anno-drawing::after {
  background: linear-gradient(90deg, transparent, rgba(221, 20, 94, 0.12), transparent);
}
html[data-theme="light"] .anno-none { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .anno-head h3,
html[data-theme="light"] .lv-table-block h3,
html[data-theme="light"] .report-sec h3,
html[data-theme="light"] .block-head h3 { color: var(--stcn-light-brand); }

/* ==========================================================================
   8) 关键位表格 / 正文 / 免责
   ========================================================================== */
html[data-theme="light"] .lv-table th,
html[data-theme="light"] .sc-table th { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .lv-table th,
html[data-theme="light"] .lv-table td,
html[data-theme="light"] .sc-table th,
html[data-theme="light"] .sc-table td { border-bottom: 1px solid var(--stcn-light-line); }
html[data-theme="light"] .lv-table td,
html[data-theme="light"] .sc-table td { color: var(--stcn-light-ink); }
html[data-theme="light"] .lv-table tbody tr:hover { background: var(--stcn-light-sunken); }
html[data-theme="light"] .lv-note,
html[data-theme="light"] .sc-note-row td { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .report-sec p { color: var(--stcn-light-ink); }
html[data-theme="light"] .disclaimer {
  background: var(--stcn-light-gold-soft);
  border: 1px solid #f0e2c4;
  color: var(--stcn-light-gold-ink);
}
html[data-theme="light"] .footer { color: var(--stcn-light-ink-3); }

/* ==========================================================================
   9) 弹窗 / 设置面板 / 历史 / 问卷
   ========================================================================== */
html[data-theme="light"] .modal-mask {
  background: rgba(23, 21, 24, 0.30);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
html[data-theme="light"] .modal {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-card);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.16);
}
html[data-theme="light"] .modal h2 { color: var(--stcn-light-ink); }
html[data-theme="light"] .cfg-field { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .cfg-field input {
  background: #ffffff;
  color: var(--stcn-light-ink);
  border: 1px solid var(--stcn-light-line-2);
  border-radius: 12px;
}
html[data-theme="light"] .cfg-field input:focus {
  border-color: var(--stcn-light-brand);
  box-shadow: 0 0 0 3px rgba(221, 20, 94, 0.10);
}
html[data-theme="light"] .cfg-note,
html[data-theme="light"] .cfg-keymask { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .cfg-test-info {
  color: var(--stcn-light-ink-2);
  border-color: var(--stcn-light-line);
  background: var(--stcn-light-sunken);
}
html[data-theme="light"] .cfg-test-ok {
  color: var(--stcn-light-green);
  border-color: rgba(30, 142, 78, 0.3);
  background: var(--stcn-light-green-soft);
}
html[data-theme="light"] .cfg-test-err {
  color: var(--stcn-light-red);
  border-color: rgba(198, 40, 40, 0.28);
  background: var(--stcn-light-red-soft);
}
html[data-theme="light"] .cfg-test-hint,
html[data-theme="light"] .cfg-source-hint { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .cfg-source-saved {
  color: #9a6700;
  border-color: rgba(154, 103, 0, 0.28);
  background: #fdf6e3;
}
html[data-theme="light"] .cfg-source-default {
  color: var(--stcn-light-green);
  border-color: rgba(30, 142, 78, 0.28);
  background: var(--stcn-light-green-soft);
}
html[data-theme="light"] .cfg-source-demo {
  color: var(--stcn-light-ink-2);
  border-color: var(--stcn-light-line);
  background: var(--stcn-light-sunken);
}

html[data-theme="light"] .hist-count { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .hist-item {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-inner);
}
html[data-theme="light"] .hist-item:hover {
  background: var(--stcn-light-sunken);
  border-color: var(--stcn-light-line-2);
}
html[data-theme="light"] .hist-thumb { background: var(--stcn-light-section); border-color: var(--stcn-light-line); }
html[data-theme="light"] .hist-line1 b { color: var(--stcn-light-ink); }
html[data-theme="light"] .hist-line1 span,
html[data-theme="light"] .hist-line2 { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .hist-empty { color: var(--stcn-light-ink-2); }

html[data-theme="light"] .onb-sub { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .onb-dots i { background: #e6e3de; }
html[data-theme="light"] .onb-dots i.on { background: var(--stcn-light-brand); }
html[data-theme="light"] .onb-qlabel,
html[data-theme="light"] .onb-optional { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .onb-opts button {
  background: #ffffff;
  color: var(--stcn-light-ink-2);
  border: 1px solid var(--stcn-light-line-2);
}
html[data-theme="light"] .onb-opts button:hover {
  border-color: var(--stcn-light-brand);
  color: var(--stcn-light-ink);
}
html[data-theme="light"] .onb-opts button.on {
  background: var(--stcn-light-brand-soft);
  border-color: var(--stcn-light-brand);
  color: var(--stcn-light-brand);
  box-shadow: 0 0 0 3px rgba(221, 20, 94, 0.08);
}
html[data-theme="light"] .onb-actions #onbSkip { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .onb-actions #onbSkip:hover { color: var(--stcn-light-ink); }

html[data-theme="light"] .prof-badge {
  background: var(--stcn-light-teal-soft);
  border-color: rgba(15, 118, 110, 0.26);
}
html[data-theme="light"] .prof-badge .prof-label { color: var(--stcn-light-teal-ink); }
html[data-theme="light"] .prof-badge .prof-text { color: var(--stcn-light-ink); }

/* ==========================================================================
   10) 定价页（白卡 + 玫红/黑双 CTA，对齐 ref10）
   ========================================================================== */
html[data-theme="light"] .pricing-sub { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .plan-card {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-card);
  box-shadow: var(--stcn-light-sh);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-theme="light"] .plan-card:hover {
  border-color: var(--stcn-light-line-2);
  box-shadow: var(--stcn-light-sh-lg);
}
html[data-theme="light"] .plan-popular {
  border-color: rgba(221, 20, 94, 0.55);
  box-shadow: 0 0 0 1px rgba(221, 20, 94, 0.22), var(--stcn-light-sh);
}
html[data-theme="light"] .plan-popular:hover { border-color: var(--stcn-light-brand); }
html[data-theme="light"] .plan-popular-badge {
  background: var(--stcn-light-brand);
  box-shadow: none;
}
html[data-theme="light"] .plan-name { color: var(--stcn-light-ink); }
html[data-theme="light"] .plan-amount { color: var(--stcn-light-ink); text-shadow: none; }
html[data-theme="light"] .plan-unit { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .plan-feats li { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .plan-feats li::before {
  content: "✓";
  width: auto; height: auto; top: 0; left: 1px;
  background: none; transform: none;
  color: var(--stcn-light-green);
  font-size: 12px; font-weight: 800; line-height: 1.6;
}
/* 主推方案＝玫红 CTA，其余＝黑药丸（ref10 一红一黑的对比） */
html[data-theme="light"] .plan-popular .plan-choose.btn-primary {
  background: var(--stcn-light-brand);
  box-shadow: 0 8px 22px rgba(221, 20, 94, 0.24);
}
html[data-theme="light"] .plan-popular .plan-choose.btn-primary:hover {
  background: #c50f54;
  box-shadow: 0 10px 26px rgba(221, 20, 94, 0.30);
}

/* ==========================================================================
   11) 周期回显 / 标的输入 / IF-THEN / 情景表
   ========================================================================== */
html[data-theme="light"] .tf-row {
  background: var(--stcn-light-teal-soft);
  border: 1px solid #cfe6e3;
  border-radius: var(--stcn-light-r-inner);
}
html[data-theme="light"] .tf-row.tf-warn {
  background: var(--stcn-light-orange-soft);
  border-color: #f3d6bc;
}
html[data-theme="light"] .tf-label { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .tf-value { color: var(--stcn-light-teal-ink); }
html[data-theme="light"] .tf-row.tf-warn .tf-value { color: #b45309; }
html[data-theme="light"] .tf-basis,
html[data-theme="light"] .tf-correct { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .sym-input,
html[data-theme="light"] .tf-correct select {
  background: #ffffff;
  color: var(--stcn-light-ink);
  border: 1px solid var(--stcn-light-line-2);
  border-radius: 999px;
}
html[data-theme="light"] .sym-input:focus,
html[data-theme="light"] .tf-correct select:focus { border-color: var(--stcn-light-teal-ink); }
html[data-theme="light"] .tf-guide {
  color: #9a3412;
  background: var(--stcn-light-orange-soft);
  border: 1px dashed #f0cfae;
}

html[data-theme="light"] .ifthen-card {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-inner);
}
html[data-theme="light"] .ifthen-card:hover { border-color: var(--stcn-light-line-2); }
html[data-theme="light"] .ifthen-card .if-part { color: var(--stcn-light-ink); }
html[data-theme="light"] .ifthen-card .if-part::before { color: var(--stcn-light-teal-ink); }
html[data-theme="light"] .ifthen-card .then-part { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .ifthen-card .then-part::before,
html[data-theme="light"] .ifthen-card .then-arrow { color: #b8801a; }

html[data-theme="light"] .sc-pos-row { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .sc-pos-row input {
  background: #ffffff;
  color: var(--stcn-light-ink);
  border: 1px solid var(--stcn-light-line-2);
  border-radius: 999px;
}
html[data-theme="light"] .sc-pos-row input:focus {
  border-color: var(--stcn-light-brand);
  box-shadow: 0 0 0 3px rgba(221, 20, 94, 0.10);
}
html[data-theme="light"] .sc-opt { background: var(--stcn-light-green-soft); color: var(--stcn-light-green); }
html[data-theme="light"] .sc-neu { background: #f2f0ec; color: var(--stcn-light-ink-2); }
html[data-theme="light"] .sc-inv { background: var(--stcn-light-red-soft); color: var(--stcn-light-red); }
html[data-theme="light"] .sc-pnl.sc-pos { color: var(--stcn-light-green); }
html[data-theme="light"] .sc-pnl.sc-neg { color: var(--stcn-light-red); }
html[data-theme="light"] .sc-noentry {
  color: #9a3412;
  background: var(--stcn-light-orange-soft);
  border: 1px dashed #f0cfae;
}

/* ==========================================================================
   12) V11 Game Plan 三件套（方案头 / Pick 卡 / 关键价位 / 观察位）
   ========================================================================== */
html[data-theme="light"] .plan-hero {
  background: var(--stcn-light-sunken);
  border: 1px solid var(--stcn-light-line);
  box-shadow: none;
  border-radius: var(--stcn-light-r-card);
}
html[data-theme="light"] .plan-hero-title { color: var(--stcn-light-ink); }
html[data-theme="light"] .plan-hero-icon { color: var(--stcn-light-brand); }
html[data-theme="light"] .plan-hero-sub { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .hero-sym-badge {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line-2);
  color: var(--stcn-light-ink);
}
html[data-theme="light"] .hero-sym-badge svg { color: var(--stcn-light-brand); }
html[data-theme="light"] .hero-sym-price { color: var(--stcn-light-ink-2); }

html[data-theme="light"] .pick-head { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .pick-head svg { color: var(--stcn-light-brand); }
html[data-theme="light"] .pick-main { color: var(--stcn-light-ink); }
html[data-theme="light"] .pick-sub { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .pick-stats { border-top: 1px solid var(--stcn-light-line); }
html[data-theme="light"] .pick-stat-label,
html[data-theme="light"] .pick-stat-note { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .pick-stat-value { color: var(--stcn-light-ink); }

html[data-theme="light"] .key-row { border-bottom: 1px solid var(--stcn-light-line); }
html[data-theme="light"] .key-label { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .key-num { color: var(--stcn-light-ink); }
html[data-theme="light"] .key-row-target .key-num { text-shadow: none; }

html[data-theme="light"] .watch-card {
  background: var(--stcn-light-gold-soft);
  border: 1px dashed #e9d9b4;
  border-radius: var(--stcn-light-r-card);
}
html[data-theme="light"] .watch-card .watch-big { color: #b8801a; text-shadow: none; }
html[data-theme="light"] .watch-card .watch-cond { color: var(--stcn-light-ink-2); }
html[data-theme="light"] .watch-card .watch-cond-label { color: #b8801a; }
html[data-theme="light"] .watch-card .watch-tip { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .watch-card-wait {
  background: var(--stcn-light-sunken);
  border-color: #d8d4ce;
}
html[data-theme="light"] .watch-card-wait .watch-big { color: #85838a; }
html[data-theme="light"] .watch-card-wait .watch-cond { color: var(--stcn-light-ink); }

html[data-theme="light"] .flow-step {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line);
  border-radius: var(--stcn-light-r-inner);
}
html[data-theme="light"] .flow-step:hover {
  border-color: rgba(221, 20, 94, 0.32);
  box-shadow: var(--stcn-light-sh);
}
html[data-theme="light"] .flow-num { color: rgba(17, 17, 20, 0.09); }
html[data-theme="light"] .flow-icon { color: var(--stcn-light-brand); }
html[data-theme="light"] .flow-tname { color: var(--stcn-light-ink); }
html[data-theme="light"] .flow-desc { color: var(--stcn-light-ink-2); }

/* ==========================================================================
   13) V12 合成演示徽章 / 真实刻度开关
   ========================================================================== */
html[data-theme="light"] .upload-alt-hint { color: var(--stcn-light-ink-3); }
html[data-theme="light"] .synth-badge {
  color: #b01350;
  background: var(--stcn-light-brand-soft);
  border: 1px solid rgba(221, 20, 94, 0.26);
}
html[data-theme="light"] .scale-toggle {
  background: #ffffff;
  border: 1px solid var(--stcn-light-line-2);
  color: var(--stcn-light-ink-2);
}
html[data-theme="light"] .scale-toggle:hover { border-color: #cfcac2; }
html[data-theme="light"] .scale-track {
  background: #e6e3de;
  border: 1px solid #dcd8d1;
}
html[data-theme="light"] .scale-track i {
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}
html[data-theme="light"] .scale-toggle input:checked ~ .scale-track {
  background: var(--stcn-light-brand);
  border-color: var(--stcn-light-brand);
}
html[data-theme="light"] .scale-toggle input:checked ~ .scale-label { color: var(--stcn-light-ink); }
html[data-theme="light"] .scale-toggle input:focus-visible ~ .scale-track {
  outline: 2px solid var(--stcn-light-brand);
}

/* ==========================================================================
   14) V13 报告来源标识（真实＝绿；演示＝橙 + 与画布水印呼应）
   ========================================================================== */
.report-src {
  display: flex; align-items: flex-start; gap: 8px;
  margin-top: 18px; padding: 11px 14px;
  border-radius: 14px;
  font-size: 12px; line-height: 1.6;
  border: 1px solid transparent;
}
.report-src svg { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.report-src b { font-weight: 700; }
.report-src-ai {
  color: var(--text-dim);
  background: rgba(74, 222, 128, 0.07);
  border-color: rgba(74, 222, 128, 0.28);
}
.report-src-demo {
  color: #ffb27a;
  background: rgba(255, 138, 76, 0.10);
  border-color: rgba(255, 138, 76, 0.42);
}
html[data-theme="light"] .report-src-ai {
  color: var(--stcn-light-ink-2);
  background: var(--stcn-light-green-soft);
  border-color: rgba(30, 142, 78, 0.24);
}
html[data-theme="light"] .report-src-ai b { color: var(--stcn-light-green); }
html[data-theme="light"] .report-src-demo {
  color: #9a3412;
  background: var(--stcn-light-orange-soft);
  border-color: rgba(234, 88, 12, 0.38);
}
html[data-theme="light"] .report-src-demo b { color: var(--stcn-light-orange); }
.report-src .src-dot {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: currentColor; margin: 0 2px; vertical-align: 1px; opacity: .55;
}

/* ==========================================================================
   15) 响应式补充
   ========================================================================== */
@media (max-width: 640px) {
  html[data-theme="light"] .panel { padding: 18px 14px; }
  html[data-theme="light"] .topbar { border-bottom: 1px solid var(--stcn-light-line); }
}

/* ==========================================================================
   V15：研判图图表卡 / 报告卡（浅色主题细化）
   —— 白卡、圆角 20、阴影 0 4px 24px rgba(0,0,0,.06)、内边距 16
   ========================================================================== */
html[data-theme="light"] .chart-card {
  background: #ffffff;
  border: 1px solid #efece7;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .chart-card .anno-wrap {
  background: transparent; border: 0; padding: 0;
}
html[data-theme="light"] .chart-card .anno-head h3 {
  color: #8a8a90; font-size: 12px; letter-spacing: .08em;
}
html[data-theme="light"] .chart-card .anno-stack {
  border: 1px solid #e9e6e0; border-radius: 12px; box-shadow: none;
}
html[data-theme="light"] .report-sec {
  background: #ffffff; border: 1px solid #efece7;
  border-radius: 16px; box-shadow: 0 2px 14px rgba(0, 0, 0, 0.04);
}
html[data-theme="light"] .report-sec h3 {
  color: #8a8a90; font-size: 12px; letter-spacing: .08em;
}
html[data-theme="light"] .ai-error-card {
  background: #fff5f5; border-color: rgba(224, 68, 75, 0.26);
}
