*{box-sizing:border-box}
:root{--green:#50c878;--green-d:#2f9e5c;--ink:#1b2a21;--sub:#5a6b62;--line:#dfeae4;--bg:#f7faf8}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
font-family:"PingFang SC","Microsoft YaHei",-apple-system,sans-serif;line-height:1.8;font-size:16px}
a{color:var(--green-d);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px 70px}
.top{position:sticky;top:0;z-index:5;background:rgba(247,250,248,.96);
border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.top .in{max-width:1000px;margin:0 auto;padding:10px 20px;display:flex;gap:14px;
align-items:center;font-size:13.5px;flex-wrap:wrap}
.top b{color:var(--green-d)}
.top .sp{flex:1 1 auto}
.btn{background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 13px;
font-size:13px;color:var(--green-d)}
.btn:hover{background:#eaf6ef;text-decoration:none}
.hero{background:linear-gradient(135deg,#50c878,#2f9e5c);color:#fff;
border-radius:0 0 20px 20px;padding:34px 20px 30px;text-align:center;margin-bottom:26px}
.hero h1{margin:0 0 6px;font-size:29px}
.hero p{margin:0;opacity:.95;font-size:14.5px}
.stats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 20px;text-align:center}
.stat b{display:block;font-size:21px;color:var(--green-d)}
.stat span{font-size:12px;color:var(--sub)}
.toc{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 18px;margin-bottom:22px}
.toc h4{margin:0 0 9px;font-size:14px;color:var(--green-d)}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px;font-size:13.5px}
.toc li{margin:3px 0;break-inside:avoid}
.grp{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:hidden}
.grp>summary{cursor:pointer;list-style:none;padding:14px 20px;font-weight:700;font-size:16.5px;
color:var(--green-d);background:#f4faf7;display:flex;justify-content:space-between;align-items:center}
.grp>summary::-webkit-details-marker{display:none}
.grp>summary::after{content:"▾";font-size:12px;color:var(--sub)}
.grp[open]>summary::after{content:"▴"}
.grp>summary .c{font-weight:400;font-size:12.5px;color:var(--sub)}
.grp .in{padding:6px 20px 16px}
ol.hw{list-style:none;margin:0;padding:0;counter-reset:none}
ol.hw li{border-top:1px dashed var(--line);padding:11px 0 11px 0;display:flex;gap:11px;align-items:flex-start}
ol.hw li:first-child{border-top:none}
ol.hw li.done .t{text-decoration:line-through;color:var(--sub)}
.cb{flex:0 0 auto;margin-top:5px;width:17px;height:17px;accent-color:var(--green)}
.no{flex:0 0 auto;min-width:30px;text-align:right;color:var(--sub);font-size:13px;
font-variant-numeric:tabular-nums;padding-top:1px}
.bd{flex:1 1 auto;min-width:0}
.t{font-size:15.5px;overflow-wrap:anywhere;word-break:break-word}
.tip{font-size:13px;color:var(--sub);margin-top:3px;overflow-wrap:anywhere;word-break:break-word}
.tip::before{content:"提示　";color:var(--green-d);font-weight:700}
.lv{flex:0 0 auto;font-size:12px;color:#e8a33d;letter-spacing:1px;padding-top:4px}
.lk{font-size:12px;color:var(--sub);margin-top:2px}
.lk a{color:var(--sub)}
.note{background:#fff;border:1px solid var(--line);border-left:5px solid var(--green);
border-radius:11px;padding:14px 18px;font-size:13.5px;color:var(--sub);margin:22px 0 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:24px}
.card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green);
border-radius:15px;padding:20px 22px;display:flex;flex-direction:column}
.card h2{margin:0 0 3px;font-size:20px;color:var(--green-d)}
.card .d{font-size:13px;color:var(--sub);margin-bottom:12px}
.card ul{margin:0 0 15px;padding-left:18px;font-size:13.5px}
.card ul li{margin:3px 0}
.card .btns{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap}
.card .btns a{background:#f2f8f5;border:1px solid var(--line);border-radius:9px;
padding:8px 15px;font-size:14px;font-weight:700;color:var(--green-d)}
.card .btns a:hover{background:var(--green);color:#fff;border-color:var(--green);text-decoration:none}
.card .btns a.ghost{background:#fff;font-weight:400}
footer{margin-top:32px;text-align:center;color:var(--sub);font-size:12px}
@media(max-width:600px){.hero h1{font-size:23px}.toc ol{columns:1}ol.hw li{gap:8px}.no{min-width:25px}}
@media print{
 .top,.toc,.note,.btn{display:none!important}
 body{background:#fff;font-size:11.5pt}
 .hero{background:#2f9e5c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .grp{break-inside:avoid;border:1px solid #ccc}
 .grp>summary{background:#f0f6f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 ol.hw li{break-inside:avoid}
 a{color:#000}
}
