/* 延用现有课程的颜色、字体和阅读宽度，专题样式仅作用于本目录。 */
:root, .lesson { --accent:#047857; --accent-deep:#065f46; --accent-soft:rgba(4,120,87,.075); --nav-w:278px; }
:root[data-theme="dark"], :root[data-theme="dark"] .lesson { --accent:#34d399; --accent-deep:#6ee7b7; --accent-soft:rgba(52,211,153,.10); }
@media(prefers-color-scheme:dark){ :root:not([data-theme="light"]), :root:not([data-theme="light"]) .lesson { --accent:#34d399; --accent-deep:#6ee7b7; --accent-soft:rgba(52,211,153,.10); } }
body { opacity:1; animation:none; }
a { color:var(--accent-deep); text-underline-offset:3px; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; z-index:100; top:-70px; left:20px; padding:10px 18px; background:var(--card); }
.skip-link:focus { top:9px; }
.topbar { position:fixed; inset:0 0 auto; height:58px; z-index:40; display:flex; align-items:center; gap:18px; padding:0 24px; background:var(--card); border-bottom:1px solid var(--line); }
.brand { color:var(--text); font-size:17px; font-weight:800; text-decoration:none; letter-spacing:-.4px; }
.brand span { color:#b45309; }
.topbar-divider { width:1px; height:20px; background:var(--line); }
.topbar-title { color:var(--sub); font-size:13px; }
.topbar-end { margin-left:auto; display:flex; gap:15px; align-items:center; }
.topbar-end > a { font-size:12px; color:var(--sub); text-decoration:none; }
.progress-pill { font-size:12px; color:var(--sub); font-variant-numeric:tabular-nums; white-space:nowrap; }
.icon-button { display:grid; place-items:center; width:35px; height:35px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--text); }
.icon-button svg { width:18px; height:18px; }
.menu-button { display:none; }
.sidebar { position:fixed; top:58px; bottom:0; left:0; width:var(--nav-w); overflow-y:auto; overscroll-behavior:contain; background:var(--card); border-right:1px solid var(--line); z-index:30; }
.sidebar-intro { padding:23px 20px 17px; border-bottom:1px solid var(--line); }
.sidebar-eyebrow { display:block; font-size:11px; font-weight:700; color:var(--accent); letter-spacing:.08em; }
.sidebar-title { margin:5px 0 6px; font-size:16px; font-weight:750; line-height:1.5; }
.sidebar-intro p { font-size:12px; color:var(--sub); margin:0; }
.progress-track { height:3px; background:var(--line); margin-top:14px; border-radius:3px; overflow:hidden; }
.progress-track span { display:block; width:0; height:100%; background:var(--accent); transition:width .2s; }
.chapter-home { display:block; padding:14px 20px 5px; font-size:12px; text-decoration:none; }
.nav-group { padding:12px 0 4px; }
.nav-group h2 { font-size:10.5px; letter-spacing:.045em; font-weight:700; color:var(--sub); margin:0 20px 7px; }
.lesson-link { display:flex; gap:9px; align-items:baseline; padding:8px 16px 8px 20px; border-left:2px solid transparent; text-decoration:none; color:var(--sub); font-size:12px; line-height:1.6; }
.lesson-link:hover { background:var(--accent-soft); color:var(--text); }
.lesson-link[aria-current="page"] { color:var(--accent-deep); background:var(--accent-soft); border-left-color:var(--accent); font-weight:650; }
.lesson-link .idx { font-size:10px; width:15px; flex-shrink:0; font-variant-numeric:tabular-nums; opacity:.8; }
.lesson-link .done-indicator { margin-left:auto; flex:0 0 13px; color:var(--accent); }
.sidebar-foot { margin:24px 20px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:10px 15px; }
.sidebar-foot a { white-space:nowrap; }
.sidebar-foot a { color:var(--sub); font-size:11px; text-decoration:none; }
.page { margin-left:var(--nav-w); padding-top:58px; }
.lesson { --maxw:816px; padding:37px 38px 45px; }
.breadcrumb { display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:11px; color:var(--sub); margin-bottom:27px; }
.breadcrumb a { color:var(--sub); text-decoration:none; }
.lesson-header { margin-bottom:24px; padding-bottom:24px; }
.lesson-header:after { display:none; }
.lesson-kicker { border-radius:5px; padding:3px 9px; margin-bottom:12px; font-size:11px; }
.lesson h1 { font-size:34px; line-height:1.4; letter-spacing:-.04em; margin-bottom:12px; }
.lesson-meta { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; line-height:1.7; }
.lesson-meta span + span:before { content:"·"; margin-right:12px; }
.tldr { grid-template-columns:1fr; gap:4px; font-size:15px; padding:18px 21px; margin-bottom:25px; }
.tldr b { font-size:11px; letter-spacing:.08em; }
.learning-question { margin:0 0 25px; color:var(--sub); font-size:13px; }
.lesson section { scroll-margin-top:80px; }
.lesson section > p { margin:0 0 19px; }
.lesson h2.sec-label { margin:36px 0 17px; font-size:18px; letter-spacing:0; color:var(--text); }
.section-number { color:var(--accent); margin-right:9px; font-size:12px; font-variant-numeric:tabular-nums; }
.sec-label:before { display:none; }
.section-nav { display:flex; flex-wrap:wrap; gap:8px 18px; padding:0 0 19px; border-bottom:1px solid var(--line); margin:0 0 26px; font-size:12px; }
.section-nav a { color:var(--sub); text-decoration:none; }
.section-nav a:hover { color:var(--accent-deep); }
.example-header { color:var(--accent-deep); font-size:14px; font-weight:700; margin:0 0 13px; }
.example { border-left:2px solid var(--accent); padding-left:20px; margin:20px 0 24px; }
.example p { margin:0 0 15px; font-size:14px; }
.example p:last-child { margin-bottom:0; }
.figure { margin:27px 0; padding:22px 22px 17px; border:1px solid var(--line); border-radius:12px; background:var(--card); overflow:hidden; }
.figure-label { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:10px; color:var(--sub); margin-bottom:18px; letter-spacing:.07em; }
.figure-label b { color:var(--accent-deep); font-size:11px; letter-spacing:0; }
.figure svg { width:100%; height:auto; display:block; color:var(--text); }
.figure svg text { font-family:inherit; fill:var(--sub); font-size:11px; }
.figure svg .chart-value { fill:var(--text); font-weight:700; font-size:14px; }
.figure svg .grid { stroke:var(--line); stroke-width:1; }
.figure svg .main-line { stroke:var(--accent); fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.figure svg .alt-line { stroke:var(--sub); fill:none; stroke-width:2; stroke-dasharray:6 5; }
.figure svg .point { fill:var(--accent); }
.figure svg .band { fill:var(--accent-soft); }
.figure figcaption { color:var(--sub); font-size:11.5px; line-height:1.8; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.legend { display:flex; flex-wrap:wrap; gap:16px; font-size:11px; color:var(--sub); margin:0 0 10px; }
.legend span:before { content:""; display:inline-block; height:2px; width:17px; background:var(--accent); margin:0 6px 3px 0; }
.legend span:nth-child(2):before { background:var(--sub); }
.flow { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; padding:15px 0; }
.flow-item { min-height:96px; position:relative; padding:13px 8px; text-align:center; border:1px solid var(--line); border-radius:8px; background:var(--bg); }
.flow-item:not(:last-child):after { content:"→"; position:absolute; right:-14px; top:29px; font-size:14px; color:var(--sub); }
.flow-item span { display:block; color:var(--accent); font-size:10px; margin-bottom:7px; }
.flow-item b { display:block; font-size:13px; }
.flow-item small { font-size:11px; color:var(--sub); }
.matrix { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.matrix div { padding:25px 14px; border:1px solid var(--line); border-radius:8px; text-align:center; font-size:13px; }
.matrix div:nth-child(-n+2) { background:var(--accent-soft); border-color:var(--accent); }
.scenario-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.scenario-tabs button { padding:7px 12px; font-size:12px; color:var(--sub); border:1px solid var(--line); background:var(--bg); border-radius:7px; }
.scenario-tabs button[aria-pressed="true"] { color:var(--accent-deep); border-color:var(--accent); background:var(--accent-soft); font-weight:700; }
.control { display:grid; grid-template-columns:1fr auto; gap:6px 15px; align-items:center; margin:18px 0; font-size:12px; }
.control output { color:var(--accent-deep); font-weight:700; font-variant-numeric:tabular-nums; }
.control input[type="range"] { grid-column:1/-1; width:100%; accent-color:var(--accent); cursor:pointer; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:9px; overflow:hidden; margin:15px 0 0; }
.metric { padding:12px; background:var(--bg); }
.metric + .metric { border-left:1px solid var(--line); }
.metric span { display:block; font-size:10px; color:var(--sub); }
.metric b { font-size:21px; color:var(--accent-deep); font-weight:750; font-variant-numeric:tabular-nums; }
.metric small { font-size:10px; color:var(--sub); }
.widget-note { margin:14px 0 0; font-size:12px; line-height:1.8; color:var(--sub); min-height:3.6em; }
.formula { font-size:16px; font-weight:650; color:var(--accent-deep); padding:15px 0; text-align:center; font-variant-numeric:tabular-nums; }
.key-line { font-size:16px; text-align:left; border:0; border-radius:0; border-left:3px solid var(--accent); padding:13px 19px; background:transparent; margin:30px 0; }
/* 独立类名避免继承旧课程 .exercise 的序号与正文两栏布局。 */
.trader-practice { display:block; margin:0; border:1px solid var(--line); border-radius:12px; padding:22px; background:var(--card); }
.trader-practice p { margin:0 0 15px; font-size:14px; color:var(--sub); }
.trader-practice textarea { display:block; width:100%; min-width:0; min-height:106px; resize:vertical; color:var(--text); background:var(--bg); border:1px solid var(--line); padding:12px 14px; border-radius:8px; line-height:1.8; font-size:13px; }
.trader-practice label { display:block; font-size:11px; color:var(--sub); margin-bottom:8px; }
.note-status { display:block; font-size:10px; color:var(--sub); margin:7px 0 14px; }
.trader-practice summary { cursor:pointer; font-size:12px; color:var(--accent-deep); padding:8px 0; }
.trader-practice details p { margin:8px 0 0; padding-top:13px; border-top:1px solid var(--line); color:var(--sub); font-size:13px; }
.sources { margin-top:27px; color:var(--sub); font-size:11px; }
.sources summary { cursor:pointer; }
.sources ul { padding-left:18px; margin-bottom:7px; }
.sources a { color:var(--sub); }
.lesson-footer { margin-top:34px; padding-top:23px; border-top:1px solid var(--line); }
.lesson-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.mark-button, .primary-link { background:var(--accent); color:white; border:1px solid var(--accent); border-radius:8px; padding:10px 16px; font-size:12px; font-weight:650; text-decoration:none; }
:root[data-theme="dark"] .mark-button, :root[data-theme="dark"] .primary-link { color:#14161a; }
@media(prefers-color-scheme:dark){ :root:not([data-theme="light"]) .mark-button, :root:not([data-theme="light"]) .primary-link { color:#14161a; } }
.mark-button[aria-pressed="true"] { color:var(--accent-deep); background:var(--accent-soft); }
.lesson-actions small { color:var(--sub); font-size:11px; }
.pager { display:flex; justify-content:space-between; gap:20px; margin:24px 0 30px; }
.pager a { flex:1; color:var(--text); font-size:13px; text-decoration:none; }
.pager a:last-child { text-align:right; }
.pager a span { display:block; color:var(--sub); font-size:10px; margin-bottom:4px; }
.disclaimer { font-size:10.5px; color:var(--sub); margin:0; line-height:1.9; }
.overview-lede { color:var(--sub); font-size:15px; max-width:580px; }
.overview-stats { display:flex; gap:36px; margin:28px 0; padding-bottom:25px; border-bottom:1px solid var(--line); }
.overview-stats b { display:block; font-size:28px; color:var(--accent-deep); line-height:1.3; }
.overview-stats span { font-size:11px; color:var(--sub); }
.overview-group { margin-top:34px; }
.overview-group h2 { font-size:17px; }
.overview-row { display:grid; grid-template-columns:25px 1fr auto; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--text); font-size:14px; }
.overview-row:hover { color:var(--accent-deep); }
.overview-row span { color:var(--sub); font-size:11px; padding-top:3px; }
.overview-row small { color:var(--sub); font-size:10px; align-self:center; }
.sidebar-backdrop { display:none; }
@media(min-width:1480px){ .lesson { --maxw:850px; padding-left:45px; padding-right:45px; } }
@media(max-width:1100px){ :root { --nav-w:250px; } .topbar-title { display:none; } .lesson { padding-left:27px; padding-right:27px; } }
@media(max-width:860px){
  .topbar { padding:0 15px; gap:12px; }
  .menu-button { display:grid; }
  .topbar-divider,.topbar-end>a { display:none; }
  .topbar-end { gap:11px; }
  .sidebar { width:min(310px,86vw); transform:translateX(-100%); transition:transform .2s; }
  .nav-open .sidebar { transform:translateX(0); }
  .sidebar-backdrop { position:fixed; inset:58px 0 0; z-index:25; border:0; background:rgba(0,0,0,.35); width:100%; }
  .nav-open .sidebar-backdrop { display:block; }
  .nav-open { overflow:hidden; }
  .page { margin-left:0; }
  .lesson { padding:25px 21px 40px; }
  .lesson h1 { font-size:29px; }
  .breadcrumb { margin-bottom:22px; }
}
@media(max-width:480px){
  .brand { font-size:16px; }
  .progress-pill { font-size:10px; }
  .topbar-end { gap:8px; }
  .figure { padding:17px 12px 14px; margin-left:-4px; margin-right:-4px; }
  .figure svg text { font-size:16px; }
  .figure svg .chart-value { font-size:18px; }
  .lesson-meta { gap:5px 13px; }
  .lesson-meta span + span:before { display:none; }
  .metrics { grid-template-columns:repeat(3,1fr); }
  .metric { padding:10px 7px; }
  .metric b { font-size:19px; }
  .metric span { font-size:9px; }
  .flow { grid-template-columns:1fr 1fr; gap:14px; }
  .flow-item:after { display:none; }
  .flow-item { min-height:105px; }
  .matrix { gap:8px; }
  .matrix div { font-size:11px; padding:20px 8px; }
  .scenario-tabs { gap:5px; }
  .scenario-tabs button { font-size:11px; padding:7px 10px; }
  .trader-practice { padding:18px; }
  .pager a { font-size:12px; }
}
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
@media print { .topbar,.sidebar,.sidebar-backdrop,.section-nav,.lesson-actions,.pager { display:none; } .page { margin:0; padding:0; } .lesson { max-width:none; } .figure,.trader-practice { break-inside:avoid; } details:not([open]) > * { display:block; } }
/* 第一章先建立理解，再进入演示。 */
.tl-walkthrough { margin:28px 0; padding:22px 24px; border-left:3px solid var(--accent); background:var(--accent-soft); }
.tl-walkthrough h3,.tl-worked-example>h3 { font-size:20px; line-height:1.6; margin:0 0 15px; }
.tl-walkthrough p { line-height:1.95; margin:12px 0; }
.tl-worked-example { margin:30px 0 18px; }
.tl-application-title { font-size:20px; margin:34px 0 18px; }
.tl-demo-bridge { margin:32px 0 20px; padding:20px 24px; background:var(--card); border:1px solid var(--line); border-radius:10px; }
.tl-demo-bridge b { color:var(--accent-deep); font-size:13px; }
.tl-demo-bridge p { margin:9px 0 0; font-size:17px; line-height:1.8; }
.tl-data-notes { margin:22px 0; font-size:12px; color:var(--sub); }
.tl-data-notes summary { cursor:pointer; }
@media(max-width:600px){ .tl-walkthrough,.tl-demo-bridge { padding:18px; } }
/* 试看标记：小号描边胶囊，不抢正文。 */
.trial-badge { display:inline-flex; align-items:center; flex:0 0 auto; margin-left:8px; padding:1px 8px; border:1px solid var(--accent); border-radius:999px; color:var(--accent); font-size:11px; line-height:18px; font-weight:600; white-space:nowrap; text-decoration:none; }
.lesson-link .trial-badge { margin-left:auto; }
.lesson-link .trial-badge + .done-indicator { margin-left:6px; }
/* 真实行情动能对比：桌面两栏并排，手机上下排列；「之后」默认收起，先观察再揭晓。 */
.rm-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rm-panel { min-width:0; }
.rm-title { display:block; font-size:14px; color:var(--text); margin-bottom:6px; }
.rm-read { font-size:13px; line-height:1.7; color:var(--sub); margin:8px 0 0; }
.rm-after { margin-top:10px; border-top:1px dashed var(--line); padding-top:8px; }
.rm-after summary { cursor:pointer; font-size:13px; color:var(--accent); }
.rm-after[open] summary { margin-bottom:8px; }
@media (max-width: 650px) { .rm-grid { grid-template-columns:1fr; } }
.rm-chips { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:6px; }
.rm-chips span { display:flex; flex-direction:column; align-items:center; padding:6px 2px; border:1px solid var(--line); border-radius:8px; font-weight:700; font-size:15px; color:var(--text); font-variant-numeric:tabular-nums; }
.rm-chips i { font-style:normal; font-size:12px; color:var(--sub); font-weight:600; }
.rm-chips small { font-size:11px; color:var(--sub); font-weight:500; }

/* 目录行里的试看标记：跟在课名后，行内显示，不继承编号样式 */
.overview-row b .trial-badge, .guide-row b .trial-badge { display:inline-flex; margin-left:8px; padding:0 7px; font-size:11px; line-height:18px; color:var(--accent); vertical-align:2px; }
.overview-row b em { display:block; }
.c2-pager .trial-badge { margin-left:6px; }
