:root{--ink:#1d2b2b;--muted:#5c6b6b;--line:#dfe7e3;--bg:#f6f7f3;--card:#fff;--teal:#0e6b5c;--teal2:#e6f2ee;--amber:#fdf3d8;--navy:#14324f}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);line-height:1.75}
a{color:var(--teal)}
header{background:var(--navy);color:#fff;padding:28px 20px 24px}
header .wrap,main,footer .wrap{max-width:860px;margin:0 auto;padding:0 20px}
header h1{margin:0 0 8px;font-size:28px;line-height:1.3}
header p{margin:4px 0;color:#cfe0da}
.badge{display:inline-block;background:#ffd978;color:#3a2a00;border-radius:20px;padding:2px 12px;font-size:14px;margin-bottom:12px}
main{padding:24px 20px 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:18px 0}
.card h2{margin-top:0;font-size:21px}
.card h3{margin-top:26px;font-size:18px;border-left:4px solid var(--teal);padding-left:10px}
.card h4{margin:20px 0 6px}
.meta{color:var(--muted);font-size:14px}
.progress{height:12px;background:#e7ece8;border-radius:8px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--teal)}
table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--teal2)}
code{background:#eef2f0;padding:2px 6px;border-radius:5px;font-size:14px;word-break:break-all}
pre{background:#12211f;color:#e8f2ee;padding:16px;border-radius:10px;overflow:auto;font-size:14px;line-height:1.6}
pre code{background:none;color:inherit;padding:0}
.check{list-style:none;padding-left:0}
.check li{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}
.check input{margin-right:10px;transform:scale(1.2)}
.note{background:var(--amber);border:1px solid #ecd488;border-radius:10px;padding:14px 16px}
.warn{background:#fdeeee;border:1px solid #f0c2c2;border-radius:10px;padding:14px 16px}
.lesson-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;background:var(--teal);color:#fff!important;text-decoration:none;padding:10px 18px;border-radius:10px}
.btn.secondary{background:#fff;color:var(--teal)!important;border:1px solid var(--teal)}
.stage{margin:22px 0}
.stage h3{margin-bottom:8px}
.lesson-list{list-style:none;padding:0;margin:0}
.lesson-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 4px}
.lesson-list .done{color:var(--teal);font-weight:700}
.lesson-list .todo{color:var(--muted)}
footer{color:var(--muted);font-size:14px;padding:0 0 30px}
@media(max-width:600px){header h1{font-size:23px}table{font-size:14px}.lesson-list li{flex-direction:column;gap:2px}}
