:root{--bg:#faf9f5;--card:#fff;--ink:#1c1b18;--mute:#6b675f;--line:#e6e2d8;
      --amber:#f4b942;--amberd:#b26a00;--red:#c62828;--green:#2e7d32;--wash:#fffaf0;--chip:#f3f0e8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
     font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.top{position:sticky;top:0;z-index:5;flex-wrap:wrap;background:rgba(250,249,245,.94);
     backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--line);
     padding:10px 16px;display:flex;align-items:center;gap:12px}
.top .brand{font-weight:700;letter-spacing:.02em}
.top .brand span{color:var(--amber)}
.top .grow{flex:1}
.top .meta{color:var(--mute);font-size:12px}
.chip{display:inline-block;background:var(--chip);border:1px solid var(--line);
      border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--mute);white-space:nowrap}
.wrap{max-width:860px;margin:0 auto;padding:26px 18px 60px}
h1{font-size:27px;line-height:1.25;margin:6px 0 6px}
h2{font-size:19px;margin:34px 0 10px;padding-bottom:6px;
   border-bottom:2px solid var(--amber);display:inline-block}
h3{font-size:16.5px;margin:22px 0 6px;color:var(--amberd)}
.sub{color:var(--mute);margin:0 0 22px;font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;
      padding:16px 18px;margin:0 0 16px}
.tablewrap{overflow-x:auto;margin:12px 0}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--chip);font-weight:600;white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
blockquote{margin:12px 0;padding:10px 15px;border-left:4px solid var(--amber);
           background:var(--wash);color:#4a463f;border-radius:0 8px 8px 0}
code,.f{background:var(--chip);padding:1px 6px;border-radius:4px;
        font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
.formula{display:block;background:var(--wash);border:1px solid var(--line);border-radius:10px;
         padding:14px 16px;margin:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
         font-size:15px;overflow-x:auto;white-space:nowrap}
.trap{border-left:4px solid var(--red);background:#fdf3f2;padding:10px 15px;
      margin:12px 0;border-radius:0 8px 8px 0}
.trap b{color:var(--red)}
.win{border-left:4px solid var(--green);background:#f2f8f3;padding:10px 15px;
     margin:12px 0;border-radius:0 8px 8px 0}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;
        padding:10px 14px;margin:10px 0}
summary{cursor:pointer;font-weight:600;color:var(--amberd)}
details[open] summary{margin-bottom:8px}
figure{margin:18px 0}
figure svg{width:100%;height:auto;display:block}
figcaption{color:var(--mute);font-size:12.5px;margin-top:7px;text-align:center}
ul,ol{padding-left:22px}
li{margin:5px 0}
.foot{color:var(--mute);font-size:12.5px;margin-top:38px;padding-top:14px;border-top:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.kpi .l{color:var(--mute);font-size:12.5px}
.lessonmeta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:2px 0 16px;
            font-size:13.5px;color:var(--mute)}
.lessonmeta .d{color:var(--ink);font-weight:600}
.lessonmeta .sep{color:#cfc9ba}
.src{display:inline-block;background:var(--wash);border:1px solid #edd9a8;border-radius:999px;
     padding:2px 10px;font-size:12.5px;color:var(--amberd);white-space:nowrap}
