/* ==========================================================================
   小梦实验室 · 课件统一换肤 v2
   --------------------------------------------------------------------------
   课件运行时会把自己的 CSS 注入 <head>；本文件由 </body> 前引入，文档顺序在
   其后，同优先级下自然生效。换肤只重定义课件自带的 :root 设计变量 +
   讲义视图(.sec)的少量硬编码色，不改结构、不改文案、不改 3D 内容。
   全部包在 @media screen 内，保证讲义打印仍是原来的白纸黑字。
   ========================================================================== */
@media screen {

:root {
  /* 字体沿用课件原有栈，避免破坏紧凑排版 */
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Hiragino Sans GB", system-ui, sans-serif;
  --num: "SF Pro Display", "DIN Alternate", "Helvetica Neue", "PingFang SC", system-ui, sans-serif;

  /* 底与面板：深色磨砂玻璃 */
  --glass: rgba(18, 24, 44, .86);
  --glass-bar: rgba(12, 17, 34, .92);
  --glass-2: rgba(24, 31, 56, .84);
  --glass-back: rgba(8, 12, 26, .96);
  --glass-solid: #111827;
  --glass-blur: blur(18px) saturate(135%);
  --glass-edge: 1px solid rgba(150, 166, 220, .18);
  --glass-glow: inset 0 1px 0 rgba(255, 255, 255, .07);
  --shadow-1: 0 6px 18px rgba(0, 0, 0, .40);
  --shadow-2: 0 22px 56px rgba(0, 0, 0, .58);
  --tint: #0a0f1e;
  --line: rgba(150, 166, 220, .16);
  --line-2: rgba(150, 166, 220, .34);
  --line-soft: rgba(150, 166, 220, .09);

  /* 文字：深色面板上是浅字 */
  --ink: #eef2fb;
  --ink2: #b9c5de;
  --ink3: #8d9bb9;

  /* 主色 / 状态色：靛紫 → 青，与门户一致，彻底告别原来的科技蓝 */
  --sci: #818cf8;
  --cyan: #22d3ee;
  --violet: #c084fc;
  --grad: linear-gradient(100deg, #818cf8 0%, #22d3ee 100%);
  --grad-soft: linear-gradient(100deg, rgba(129, 140, 248, .18) 0%, rgba(34, 211, 238, .14) 100%);
  --ok: #34d399;
  --warn: #fbbf24;
  --bad: #fb7185;
  --heat: linear-gradient(90deg, #fbbf24, #fb7185);

  --sci-30: rgba(129, 140, 248, .30);
  --sci-12: rgba(129, 140, 248, .14);
  --sci-8: rgba(129, 140, 248, .10);
  --sci-4: rgba(129, 140, 248, .05);
  --sci-0: rgba(129, 140, 248, 0);
  --sci-28: rgba(129, 140, 248, .28);
  --sci-26: rgba(129, 140, 248, .26);
  --sci-22: rgba(129, 140, 248, .22);
  --warn-60: rgba(251, 191, 36, .60);
  --ok-12: rgba(52, 211, 153, .14);
  --warn-10: rgba(251, 191, 36, .12);
  --bad-12: rgba(251, 113, 133, .14);
  --ok-35: rgba(52, 211, 153, .35);
  --ok-30: rgba(52, 211, 153, .30);
  --ok-0: rgba(52, 211, 153, 0);
  --warn-40: rgba(251, 191, 36, .40);
  --warn-30: rgba(251, 191, 36, .30);
  --bad-30: rgba(251, 113, 133, .30);
  --breathe: var(--ok-35);

  --white-22: rgba(255, 255, 255, .22);
  --white-92: rgba(255, 255, 255, .92);
  --shade-1: rgba(0, 0, 0, .22);
  --shade-2: rgba(0, 0, 0, .42);
  --sw-off: rgba(180, 195, 235, .20);

  /* 五个工段识别色：换成深色底上更通透的一组 */
  --u1-halo: rgba(129, 140, 248, .22);
  --u2-halo: rgba(34, 211, 238, .22);
  --u3-halo: rgba(192, 132, 252, .22);
  --u4-halo: rgba(251, 191, 36, .22);
  --u5-halo: rgba(52, 211, 153, .22);
  --u1: #818cf8;
  --u2: #22d3ee;
  --u3: #c084fc;
  --u4: #fbbf24;
  --u5: #34d399;
  --u1s: #4f46e5;
  --u2s: #0e7490;
  --u3s: #7e22ce;
  --u4s: #b45309;
  --u5s: #047857;

  /* 深色面板上的「文字用彩色变体」必须是亮版，否则看不清 */
  --sci-d: #c7d2fe;
  --cyan-d: #67e8f9;
  --ok-d: #6ee7b7;
  --warn-d: #fcd34d;
  --bad-d: #fda4af;

  --uc: var(--sci);
  --ucs: var(--sci);
  --ucg: var(--grad);
  --ucsg: var(--grad);
  --uh: var(--sci-8);

  /* 形状：更大更柔和的圆角 */
  --r-panel: 22px;
  --r-card: 16px;
  --r-ctrl: 12px;
  --r-pill: 999px;

  /* 尺寸沿用，避免破坏 3D 视口与面板几何 */
  --top-h: 78px;
  --steps-h: 46px;
  --foot-h: 52px;
  --panelw-l: clamp(320px, 22vw, 404px);
  --panelw-r: clamp(300px, 20.5vw, 348px);
  --fs-main: 34px;
  --fs-sub: 20px;
  --fs-t: 13px;
  --fs-b: 13px;
  --fs-xs: 12px;
}

/* 细滚动条（纯装饰，无副作用） */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(150, 166, 220, .22);
  border-radius: 99px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: rgba(150, 166, 220, .40); background-clip: padding-box; }

/* --------------------------------------------------------------------------
   讲义 / 学案视图：这个子系统的色值是硬编码的，单独覆盖
   -------------------------------------------------------------------------- */
.sec {
  --s-ink: #eef2fb;
  --s-ink2: #b9c5de;
  --s-line: rgba(150, 166, 220, .18);
  --s-amber: #fbbf24;
  --s-teal: #22d3ee;
  --s-red: #fb7185;
  color: var(--s-ink);
  background: #0d1426;
  border-radius: 18px;
}
.sec-bar,
.sec-read,
.sec-ctrl,
.sec-voice,
.sec-legend,
.sec-togs,
.sec-apartbar,
.sec-lab,
.sec-sheet-hd,
.sec-nav,
.sec.sec-lean .sec-stage .sec-legend,
.sec[data-chrome="lean"] .sec-bar {
  background: rgba(19, 26, 48, .90);
  border-color: rgba(150, 166, 220, .18);
}
.sec-tabs button,
.sec-nav button {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(150, 166, 220, .24);
  color: var(--s-ink2);
}
.sec-tabs button.on,
.sec-nav button.on {
  background: rgba(129, 140, 248, .20);
  border-color: rgba(129, 140, 248, .55);
  color: #c7d2fe;
}
.sec-sheet { background: #0d1426; color: var(--s-ink); }
.sec-sheet-hd, .sec-sheet-read, .sec-sheet-note, .sec-sheet-none,
.sec-k, .sec-cap, .sec-basis, .sec-tip, .sec-intent, .sec-aparttag { color: var(--s-ink2); }
.sec-idx { color: #67e8f9; }
.sec-cell.hot .sec-v b { color: #fcd34d; }
.sec-top .sec-hint, .sec-apartbar i { color: #8d9bb9; }
.sec-sw { border-color: rgba(150, 166, 220, .28); }
.sec-alarm { color: #fff; }

}
