/* 价格行为、滚仓、A 股及手册新版的课节图。颜色只读全站图表令牌。 */
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) {
  --dp-paper:var(--ch-bg); --dp-grid:var(--ch-grid); --dp-card:var(--ch-label-bg);
  --dp-ink:var(--ch-label-text); --dp-sub:var(--ch-axis);
  --dp-g:var(--ch-green); --dp-r:var(--ch-red); --dp-o:var(--ch-mark);
  --dp-os:var(--ch-ma3); --dp-b:var(--ch-ma1); --dp-note:var(--ch-mark-soft);
  --dp-g-soft:var(--ch-green-soft); --dp-band:var(--info-soft);
  --dp-rf:var(--ch-red-soft); --dp-gf:var(--ch-green-soft);
  --dp-lin:var(--ch-green); --dp-zhou:var(--ch-ma3);
}

/* 提高课节内的选择器优先级，覆盖旧手绘样式的显式深色规则。 */
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-paper { fill:var(--ch-bg); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-grid { stroke:var(--ch-grid); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) :is(.sk-title,.sk-t,.sk-fill-dot) { fill:var(--ch-label-text); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) :is(.sk-s,.sk-tag,.sk-mark) { fill:var(--ch-axis); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) :is(.sk-ink,.sk-thin) { stroke:var(--ch-label-text); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-green { stroke:var(--ch-green); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-red { stroke:var(--ch-red); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-orange { stroke:var(--ch-ma3); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-blue { stroke:var(--ch-ma1); }
/* 大号读数默认表示正收益，显式红、橙等语义类继续在下方覆盖。 */
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) :is(.sk-big,.sk-tg) { fill:var(--ch-green); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-tr { fill:var(--ch-red); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-to { fill:var(--ch-mark); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-tb { fill:var(--ch-ma1); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-slogan { fill:var(--ch-ma3); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-sell-dot { fill:var(--ch-bg); stroke:var(--ch-green); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-note { fill:var(--ch-mark-soft); stroke:var(--ch-ma3); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-under { stroke:var(--ch-ma3); }

:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-no { fill:var(--ch-ma3); }
:root :is(body[data-course="pa"] .pa-lesson,body[data-course="roll"] .pa-lesson,body[data-course="ashare"] .pa-lesson,.hb) .sk-dash { stroke:var(--ch-axis); }

/* Python 预渲染 K 线（kline_svg.py）。所有颜色跟随图表令牌，夜金与浅色自动切换。 */
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-svg{display:block;width:100%;height:auto;background:var(--ch-bg)}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-grid{fill:none;stroke:var(--ch-grid);stroke-width:1}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) :is(.k-ax,.k-axis){fill:var(--ch-axis);font:11px var(--font);font-variant-numeric:tabular-nums}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) :is(.k-wick,.k-body){stroke-width:1.15}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) :is(.k-wick,.k-body).k-up{stroke:var(--ch-up);fill:var(--ch-up)}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) :is(.k-wick,.k-body).k-dn{stroke:var(--ch-down);fill:var(--ch-down)}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-cut{fill:none;stroke:var(--ch-axis-line);stroke-width:1;stroke-dasharray:4 4}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-cut-t{fill:var(--ch-axis);font:11px var(--font)}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-mark{fill:none;stroke:var(--ch-mark);stroke-width:1.2;stroke-dasharray:5 4}
:root :is(body[data-course="wyckoff"] .wy-chart,.wy-chart) .k-mark-t{fill:var(--ch-label-text);font:600 11px var(--font);paint-order:stroke;stroke:var(--ch-bg);stroke-width:3px;stroke-linejoin:round}
