:root{--ink:#172019;--muted:#68736c;--line:#e3e9e4;--accent:#58b92d;--soft:#f3fbea;--surface:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff}
body{margin:0;color:var(--ink);background:linear-gradient(180deg,#f2ffe9 0,#fbfff8 230px,#fff 430px);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.78;-webkit-font-smoothing:antialiased}
a{color:#287623;text-decoration:underline;text-decoration-color:#9ddd7f;text-underline-offset:3px}
.page{width:min(100%,780px);margin:auto;padding:calc(env(safe-area-inset-top) + 36px) max(22px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 54px) max(22px,env(safe-area-inset-left))}
.home{display:inline-block;margin-bottom:22px;color:#526059;font-size:14px;font-weight:600;text-decoration:none}.home:before{content:"← ";color:#397a29}
.brand{color:#397a29;font-size:13px;font-weight:700}.brand:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--accent)}
h1{margin:10px 0 8px;font-size:clamp(30px,7vw,46px);line-height:1.18;letter-spacing:-.03em}h2{margin:34px 0 10px;font-size:21px;line-height:1.4}p{margin:10px 0;color:#303a34}.meta{color:var(--muted);font-size:13px}.notice{margin:22px 0;padding:16px 18px;border:1px solid #d9eaca;border-radius:14px;background:var(--soft);font-weight:600}
.toc{margin:26px 0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.8)}.toc strong{display:block;margin-bottom:8px}.toc ol{margin:0;padding-left:22px}.toc li{margin:3px 0}.toc a{color:#465149;text-decoration:none}
section{scroll-margin-top:20px;border-top:1px solid var(--line)}section:first-of-type{border-top:0}.links{margin-top:34px;padding:18px;border-radius:14px;background:#f7f9f7}.links a{display:block;margin:7px 0}.contact{margin-top:28px;color:var(--muted);font-size:14px}
table{width:100%;margin:16px 0;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;font-size:14px}th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line)}th{background:#f4f8f3}tr:last-child td{border-bottom:0}
@media(max-width:480px){body{font-size:15px}.page{padding-left:18px;padding-right:18px}h2{font-size:19px}.toc{padding:16px}th,td{padding:10px 7px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
