/* 留痕观察 · 深度讲义统一版式（CFA / FRM / 证券 / 基金 共用）
   依赖 style.css 中的 --navy --gold --line --serif 变量。 */

.lh-lesson{--ink:#26333d;--ink2:#55656f;--soft:#f6f8f9;--edge:#e3e8eb;--brand:#12395a;--accent:#a8802f}
.lh-lesson.frm{--brand:#12405a;--accent:#8f5a2c}
.lh-lesson.sec{--brand:#123f31;--accent:#8a6a24}
.lh-lesson.fund{--brand:#3a2a52;--accent:#96702c}

/* ---------- Hero ---------- */
.lh-hero{background:linear-gradient(135deg,#0d2b45,#153f62 66%,#8b6a2f);color:#fff;padding:50px 0 54px}
.lh-lesson.frm .lh-hero{background:linear-gradient(135deg,#0c2a3c,#164a63 66%,#8a5227)}
.lh-lesson.sec .lh-hero{background:linear-gradient(135deg,#0d2f26,#17513f 66%,#8a6a24)}
.lh-lesson.fund .lh-hero{background:linear-gradient(135deg,#231a33,#453263 66%,#96702c)}
.lh-hero .course-crumb a,.lh-hero .course-crumb span{color:#bccbd6}
.lh-hero-code{display:block;color:#e9c47a;font-size:11px;font-weight:900;letter-spacing:2px;margin-top:14px}
.lh-hero h1{color:#fff;font-size:clamp(30px,4.2vw,52px);line-height:1.12;margin:10px 0 8px;max-width:960px}
.lh-hero .lh-sub{color:#c7d5e0;font-size:15px;margin:0}
.lh-hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:22px}
.lh-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lh-badges span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;font-size:11.5px;color:#dbe6ee;background:rgba(255,255,255,.07)}
.lh-done-btn{border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;padding:11px 18px;white-space:nowrap;cursor:pointer;font-weight:700}
.lh-done-btn.on{background:#2f7a57;border-color:#76be95}

/* ---------- 目录条 ---------- */
.lh-tocbar{position:sticky;top:0;z-index:22;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lh-tocbar .wrap{display:flex;gap:22px;overflow:auto;scrollbar-width:none}
.lh-tocbar .wrap::-webkit-scrollbar{display:none}
.lh-tocbar a{padding:14px 0;color:#556674;font-size:12.5px;font-weight:800;white-space:nowrap;border-bottom:2px solid transparent}
.lh-tocbar a.on{color:var(--brand);border-bottom-color:var(--accent)}

/* ---------- 导读 ---------- */
.lh-open{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:28px}
.lh-open h2{font-size:30px;margin:10px 0 12px;line-height:1.35}
.lh-open .lh-lead{font-size:16.5px;line-height:1.95;color:#4c5e6c;margin:0}
.lh-plain{margin-top:22px;border-left:5px solid var(--accent);border-radius:0 12px 12px 0;background:#fff8e9;padding:17px 20px}
.lh-plain>b{display:block;color:#8a6421;font-size:12px;letter-spacing:.8px;margin-bottom:7px}
.lh-plain p{color:#5c5140;font-size:14.5px;line-height:1.9;margin:0}
.lh-outcomes{margin-top:24px;border:1px solid var(--edge);border-radius:14px;background:#fff;overflow:hidden}
.lh-outcomes>b{display:block;background:var(--soft);border-bottom:1px solid var(--edge);padding:13px 20px;color:var(--brand);font-size:13px;letter-spacing:.4px}
.lh-outcomes ol{margin:0;padding:16px 20px 18px 40px;display:grid;gap:9px}
.lh-outcomes li{color:#4d5f6c;font-size:14px;line-height:1.8}
.lh-sidecard{border:1px solid var(--edge);border-radius:14px;background:var(--soft);padding:22px;align-self:start;position:sticky;top:70px}
.lh-sidecard>span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:1.4px}
.lh-sidecard h3{font-size:17px;margin:8px 0 12px;color:var(--brand)}
.lh-sidecard ol{padding-left:20px;margin:0;color:#4b5c68;font-size:13px;line-height:1.95}
.lh-sidecard .lh-meter{margin-top:16px;border-top:1px solid var(--edge);padding-top:14px;font-size:12px;color:#74828c;line-height:1.7}

/* ---------- 正文 ---------- */
.lh-body{display:grid;gap:20px}
.lh-sec{border:1px solid var(--edge);border-left:5px solid var(--accent);border-radius:12px;background:#fff;padding:26px 30px}
.lh-sec>header{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.lh-sec>header span{color:var(--accent);font:900 15px var(--serif);letter-spacing:1px;flex:none}
.lh-sec>header h3{font-size:22px;margin:0;color:var(--brand);line-height:1.4}
.lh-sec p{color:#465866;font-size:14.8px;line-height:2.02;margin:0 0 13px}
.lh-sec p:last-child{margin-bottom:0}
.lh-sec .lh-inlist{border:1px solid var(--edge);border-radius:10px;background:var(--soft);padding:16px 20px;margin:4px 0 14px}
.lh-sec .lh-inlist b{display:block;color:var(--brand);font-size:13.5px;margin-bottom:8px}
.lh-sec .lh-inlist ul{margin:0;padding-left:20px;display:grid;gap:7px}
.lh-sec .lh-inlist li{color:#4f606d;font-size:13.8px;line-height:1.85}
.lh-note{border-left:4px solid var(--accent);background:#fff9ee;border-radius:0 8px 8px 0;padding:13px 17px;margin:14px 0 0}
.lh-note b{color:#8a6421;font-size:12px;letter-spacing:.4px}
.lh-note p{color:#6a5c43!important;font-size:13.5px!important;line-height:1.85!important;margin:5px 0 0!important}

/* ---------- 公式卡 / 术语 ---------- */
.lh-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lh-fcard{border:1px solid var(--edge);border-top:4px solid var(--brand);border-radius:11px;background:#fff;padding:18px 20px}
.lh-fcard code{display:block;color:#123b5a;font-size:15.5px;font-weight:700;line-height:1.6;word-break:break-word;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}
.lh-fcard p{color:#5c6b76;font-size:13px;line-height:1.8;margin:9px 0 0}
.lh-fcard em{display:block;font-style:normal;color:#8a6421;background:#fff9ee;border-radius:6px;padding:8px 11px;font-size:12.3px;line-height:1.7;margin-top:10px}
.lh-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.lh-terms article{border:1px solid var(--edge);border-radius:10px;background:#fff;padding:14px 16px}
.lh-terms b{display:block;color:var(--brand);font-size:13.5px;line-height:1.45}
.lh-terms i{display:block;font-style:normal;color:var(--accent);font-size:12.5px;margin:3px 0 6px}
.lh-terms p{color:#6c7a84;font-size:12px;line-height:1.7;margin:0}

/* ---------- 对比表 ---------- */
.lh-table-wrap{overflow:auto;border:1px solid var(--edge);border-radius:12px;background:#fff;margin-top:16px}
table.lh-table{width:100%;border-collapse:collapse;min-width:560px}
table.lh-table caption{caption-side:top;text-align:left;padding:15px 20px 6px;color:var(--brand);font:700 16px var(--serif)}
table.lh-table th,table.lh-table td{border-top:1px solid var(--edge);padding:13px 18px;text-align:left;font-size:13.5px;line-height:1.75;vertical-align:top}
table.lh-table thead th{background:var(--brand);color:#fff;border-top:0;font-size:12.5px;letter-spacing:.3px}
table.lh-table tbody th{background:var(--soft);color:var(--brand);font-weight:700;white-space:nowrap}
table.lh-table td{color:#4f606d}
table.lh-table tbody tr:nth-child(even) td{background:#fafbfc}

/* ---------- 图示 ---------- */
.lh-flow{display:grid;gap:10px;margin-top:16px}
.lh-flow.cols{grid-template-columns:repeat(4,minmax(0,1fr))}
.lh-flow article{position:relative;border:1px solid var(--edge);border-radius:11px;background:#fff;padding:17px 19px}
.lh-flow.cols article:not(:last-child):after{content:"→";position:absolute;right:-15px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:900;z-index:2}
.lh-flow b{display:block;color:var(--brand);font-size:14px;margin-bottom:6px}
.lh-flow b span{display:inline-block;color:var(--accent);font:900 11px var(--serif);letter-spacing:1px;margin-right:7px}
.lh-flow p{color:#5f6e79;font-size:12.5px;line-height:1.75;margin:0}
.lh-stack article{border-left:4px solid var(--accent)}

/* ---------- 例题 ---------- */
.lh-example-sec{background:linear-gradient(135deg,#102f48,#1c4b6c);color:#fff}
.lh-lesson.frm .lh-example-sec{background:linear-gradient(135deg,#0e2f42,#1a5170)}
.lh-lesson.sec .lh-example-sec{background:linear-gradient(135deg,#0e3328,#1a5742)}
.lh-lesson.fund .lh-example-sec{background:linear-gradient(135deg,#251c36,#473566)}
.lh-example-sec .h-sec,.lh-example-sec .eyebrow .tag{color:#fff}
.lh-example-sec .rule{background:#d4a94e}
.lh-example-sec .eyebrow .en{color:#c9b892}
.lh-ex{border:1px solid rgba(255,255,255,.19);border-radius:16px;background:rgba(255,255,255,.07);padding:26px 30px;margin-bottom:18px}
.lh-ex>header{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:14px;margin-bottom:16px}
.lh-ex>header span{color:#efc76f;font:900 12px var(--serif);letter-spacing:1.5px}
.lh-ex>header h3{color:#fff;font-size:21px;margin:0}
.lh-ex-given{border-left:4px solid #efc76f;background:rgba(255,255,255,.08);border-radius:0 9px 9px 0;padding:15px 19px}
.lh-ex-given b{display:block;color:#f0c976;font-size:11px;letter-spacing:1.2px;margin-bottom:6px}
.lh-ex-given p{color:#e3ebf1;font-size:14.5px;line-height:1.9;margin:0}
.lh-ex ol{counter-reset:lhstep;list-style:none;display:grid;gap:10px;margin:16px 0 0;padding:0}
.lh-ex ol li{counter-increment:lhstep;position:relative;border-radius:10px;background:rgba(255,255,255,.09);padding:15px 18px 15px 56px}
.lh-ex ol li:before{content:counter(lhstep);position:absolute;left:16px;top:15px;width:26px;height:26px;border-radius:50%;background:#d5a94c;color:#102f48;text-align:center;line-height:26px;font-weight:900;font-size:13px}
.lh-ex ol li strong{display:block;color:#fff;font-size:14px;line-height:1.6}
.lh-ex ol li p{color:#c9d8e2;font-size:13px;line-height:1.85;margin:6px 0 0}
.lh-ex ol li code{display:inline-block;background:rgba(0,0,0,.26);border-radius:5px;padding:2px 7px;color:#f4e2bb;font-size:12.5px;margin:4px 0}
.lh-ex-ans{background:#fff;border-radius:11px;color:var(--navy);padding:17px 20px;margin-top:16px}
.lh-ex-ans b{color:#96702a;font-size:12px;letter-spacing:.5px}
.lh-ex-ans p{color:#4e6270;font-size:14px;line-height:1.9;margin:6px 0 0}
.lh-ex-note{border-radius:9px;background:rgba(255,255,255,.09);padding:14px 18px;margin-top:12px}
.lh-ex-note b{color:#efc76f;font-size:11px;letter-spacing:1px}
.lh-ex-note p{color:#cfdce5;font-size:12.8px;line-height:1.85;margin:5px 0 0}

/* ---------- 易错点 ---------- */
.lh-traps{border-radius:14px;background:#142f47;color:#fff;padding:24px 28px;margin-top:20px}
.lh-traps h3{color:#f0c976;font-size:19px;margin:0 0 6px}
.lh-traps>p{color:#a9bdcc;font-size:12.5px;margin:0 0 14px}
.lh-traps ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;margin:0;padding-left:19px}
.lh-traps li{color:#d3dee6;font-size:13.5px;line-height:1.8}

/* ---------- 题库 ---------- */
.lh-quiz-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border:1px solid var(--edge);border-radius:12px;background:var(--soft);padding:16px 22px;margin-bottom:18px}
.lh-quiz-head b{color:var(--brand);font-size:15px}
.lh-quiz-head p{color:#6d7c86;font-size:12.5px;margin:4px 0 0}
.lh-quiz-actions{display:flex;gap:9px}
.lh-quiz-actions button{border:1px solid var(--edge);border-radius:999px;background:#fff;color:var(--brand);padding:9px 16px;font-weight:700;cursor:pointer;font-size:13px}
.lh-quiz-actions button:hover{border-color:var(--accent);color:var(--accent)}
.lh-quiz-score{color:var(--accent);font:900 15px var(--serif)}
.lh-q{border:1px solid var(--edge);border-radius:12px;background:#fff;padding:20px 24px;margin-bottom:12px}
.lh-q>b{display:block;color:var(--brand);font-size:14.8px;line-height:1.8;margin-bottom:13px}
.lh-q>b>i{font-style:normal;color:var(--accent);font-weight:900;margin-right:8px}
.lh-q .lh-tag{display:inline-block;border:1px solid var(--edge);border-radius:5px;background:var(--soft);color:#7b8892;font-size:11px;font-weight:700;padding:1px 7px;margin-left:8px;vertical-align:2px}
.lh-opts{display:grid;gap:8px}
.lh-opt{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--edge);border-radius:9px;background:#fff;padding:11px 15px;cursor:pointer;text-align:left;font-size:13.8px;line-height:1.75;color:#4e5f6c;transition:.13s;width:100%}
.lh-opt:hover{border-color:var(--accent);background:#fffdf8}
.lh-opt>span{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--edge);color:#7b8892;font-size:12px;font-weight:800;text-align:center;line-height:21px}
.lh-opt.right{border-color:#3f9068;background:#f2faf6}
.lh-opt.right>span{background:#3f9068;border-color:#3f9068;color:#fff}
.lh-opt.wrong{border-color:#c1584f;background:#fdf4f3}
.lh-opt.wrong>span{background:#c1584f;border-color:#c1584f;color:#fff}
.lh-exp{border-left:4px solid var(--accent);background:var(--soft);border-radius:0 9px 9px 0;padding:14px 18px;margin-top:13px;display:none}
.lh-exp.show{display:block}
.lh-exp b{color:var(--accent);font-size:12px;letter-spacing:.5px}
.lh-exp p{color:#54646f;font-size:13.3px;line-height:1.9;margin:6px 0 0}

/* ---------- 底部 ---------- */
.lh-src{margin-top:22px;background:#f7f3e9;border-radius:9px;padding:15px 19px;color:#7a6a48;font-size:12.2px;line-height:1.85}
.lh-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lh-pager a{border:1px solid var(--edge);border-radius:12px;background:#fff;padding:18px 21px}
.lh-pager a:hover{border-color:var(--accent)}
.lh-pager a.next{text-align:right}
.lh-pager span{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:1px}
.lh-pager b{display:block;color:var(--brand);font:700 15px/1.55 var(--serif);margin-top:5px}

@media(max-width:980px){
  .lh-open{grid-template-columns:1fr}
  .lh-sidecard{position:static}
  .lh-cards,.lh-traps ul{grid-template-columns:1fr}
  .lh-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lh-flow.cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lh-flow.cols article:after{display:none}
}
@media(max-width:680px){
  .lh-hero{padding:36px 0 42px}
  .lh-hero-top{display:block}
  .lh-done-btn{margin-top:16px}
  .lh-sec{padding:20px 19px}
  .lh-sec>header{display:block}
  .lh-sec>header h3{margin-top:5px;font-size:20px}
  .lh-terms,.lh-flow.cols{grid-template-columns:1fr}
  .lh-ex{padding:20px 19px}
  .lh-ex ol li{padding:14px 15px 14px 50px}
  .lh-pager{grid-template-columns:1fr}
  .lh-pager a.next{text-align:left}
}
