
:root{--ink:#263039;--muted:#63707c;--line:#dce1e4;--accent:#285a62;--paper:#fff;--soft:#f5f7f7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:17px;line-height:1.95}
a{color:var(--accent);text-underline-offset:.2em}a:hover{color:#122f34}a:focus-visible,summary:focus-visible{outline:3px solid #9cc5cd;outline-offset:3px}
.skip{position:absolute;left:1rem;top:-6rem;background:white;padding:.5rem;z-index:20}.skip:focus{top:.5rem}
header{border-bottom:1px solid var(--line);background:#fff}header nav{max-width:1200px;margin:auto;padding:1rem 1.5rem;display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;font-size:14px}header .brand{font-size:19px;font-weight:700;text-decoration:none;margin-right:auto;color:var(--ink)}
.home{max-width:920px;margin:2.5rem auto 5rem;padding:0 1.5rem}.eyebrow{font-size:14px;color:var(--muted);margin-bottom:.5rem}h1{font-size:clamp(29px,3.6vw,40px);line-height:1.5;letter-spacing:.01em;margin:.5rem 0 1.5rem}h2{font-size:24px;line-height:1.6;margin:3rem 0 1.1rem}h3{font-size:19px;line-height:1.7}p{margin:0 0 1.2rem}.lead{font-size:19px;line-height:1.95}.scope{border-left:3px solid var(--accent);padding:.4rem 1.2rem;margin:1.8rem 0 2.2rem;background:var(--soft)}.scope p:last-child{margin-bottom:0}
ul,ol{padding-left:1.5rem}li{margin-bottom:.55rem}.start{display:inline-block;padding:.4rem 0;font-weight:700}.chapter{border-top:1px solid var(--line);padding-top:.6rem;margin-top:2.6rem}.chapter h2{margin-top:1rem}.chapter ol{list-style:none;padding:0}.chapter li{margin:1.2rem 0 1.5rem}.chapter li>a{font-size:19px;font-weight:600}.description{font-size:15px;color:var(--muted);display:block;margin-top:.25rem}.meta{font-size:14px;color:var(--muted)}
.layout{max-width:1200px;margin:2rem auto 4rem;padding:0 1.5rem;display:grid;grid-template-columns:240px minmax(0,1fr);gap:3rem}.sidebar{font-size:14px;position:sticky;top:1.5rem;align-self:start;max-height:92vh;overflow:auto;padding-right:.8rem}.sidebar summary{font-size:16px;font-weight:700}.sidebar ol{list-style:none;padding:0}.sidebar li{margin:.45rem 0}.sidebar .chapter-label{font-weight:700;margin:1.25rem 0 .5rem}.sidebar a{display:block;text-decoration:none;padding:.25rem .45rem;border-radius:3px}.sidebar [aria-current=page]{background:#eaf1f2;color:#153e45;font-weight:700}
.article{max-width:790px;min-width:0}.reading-page{margin:2rem auto 4rem;padding:0 1.5rem}.article .intro{border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:1rem}.objective{font-size:15px;margin-top:1rem}.article-body p{line-height:2.05;text-wrap:pretty}.page-toc{font-size:14px;border-bottom:1px solid var(--line);padding:0 0 .8rem}.page-toc ol{margin:.5rem 0}.page-toc li{margin:.2rem 0}code{font-family:Consolas,"SFMono-Regular",monospace;font-size:.92em;overflow-wrap:anywhere;background:#f0f3f4;padding:.1em .25em;border-radius:3px}table{width:100%;border-collapse:collapse;font-size:15px;margin:1.6rem 0;table-layout:fixed}th,td{text-align:left;vertical-align:top;padding:.75rem;border:1px solid var(--line);overflow-wrap:anywhere}th{background:var(--soft)}
.references{border-top:1px solid var(--line);margin-top:2.7rem;padding-top:1rem;font-size:14px}.references h2{font-size:18px;margin-top:.5rem}.references li{margin:.35rem 0}.pager{display:flex;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.3rem;margin-top:2rem;font-size:15px}.pager a{max-width:49%}.book{max-width:820px;margin:auto;padding:2rem 1.5rem}.book-lesson{border-top:2px solid var(--line);margin-top:5rem;padding-top:1.5rem}.book-lesson>h2{font-size:30px}.book-lesson h3{font-size:23px;margin-top:2.5rem}
footer{border-top:1px solid var(--line);padding:1.5rem;text-align:center;font-size:13px;color:var(--muted)}
@media(max-width:850px){.layout{display:block;margin-top:1rem}.sidebar{position:static;max-height:none;overflow:visible;border-bottom:1px solid var(--line);margin-bottom:1.8rem;padding-bottom:1rem}.sidebar details:not([open]) ol{display:none}.layout{padding:0 1.2rem}.article{max-width:100%}.home{margin-top:1.5rem}h2{font-size:22px}header nav{gap:.7rem 1rem}header .brand{flex-basis:100%}.pager{display:block}.pager a{display:block;max-width:none;margin:.8rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.sidebar,.page-toc,.pager,.skip{display:none}.layout{display:block;margin:0;padding:0}.article,.book,.home{max-width:none}.book-lesson{break-before:page}.article-body p{orphans:3;widows:3}a{color:inherit}body{font-size:11pt}h2,h3{break-after:avoid}footer{font-size:9pt}}
