*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#253435;background:#f5f4ef;font-family:"Yu Gothic",Meiryo,system-ui,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}a,button,input,textarea{outline-offset:5px}header,main,footer{max-width:1200px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:26px 36px;border-bottom:1px solid #dcded6}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-family:serif;font-size:23px;font-weight:bold;letter-spacing:.08em}.brand svg{height:42px;width:42px;fill:none;stroke:#7a663f;stroke-width:1.6}.brand small{display:block;font:9px system-ui;letter-spacing:.18em;color:#687474;margin-top:2px}nav{display:flex;gap:25px;font-size:12px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}main{padding:0 36px}.hero{margin-top:32px;display:grid;grid-template-columns:1.3fr 1fr;background:#172b2d;color:#f6f1e6;position:relative;overflow:hidden}.hero-main{padding:54px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:#7b6b47}.hero .eyebrow{color:#cfb783}.hero h1{font-family:"Yu Mincho",serif;font-size:48px;line-height:1.5;letter-spacing:.08em;margin:20px 0}.hero p{color:#c4d0cd;font-size:14px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#d9c08d;color:#1f302d;text-decoration:none;padding:11px 21px;font-weight:bold;font-size:13px;margin-top:18px}.hero-aside{padding:55px 42px;border-left:1px solid #385052;display:flex;flex-direction:column;justify-content:center}.hero-aside>a{display:block;text-decoration:none;border-bottom:1px solid #385052;padding:23px 0;font-size:13px}.hero-aside>a span{display:block;color:#c9b584;font-size:11px;margin-bottom:6px}.hero-aside>a:hover{color:#e6c78d}.edition{display:flex;gap:25px;align-items:center;padding:16px 3px;border-bottom:1px solid #dcded6;font-size:11px;color:#68716c}.edition span{white-space:nowrap;font-weight:bold}.edition p{margin:0}.library{padding:55px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-title h2,.editorial h2{font-family:serif;font-size:27px;margin:8px 0 0}.section-title>span{font-size:12px;color:#6e7974}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px;flex-wrap:wrap}.filters{display:flex;gap:7px;flex-wrap:wrap}button{cursor:pointer}.filters button{border:1px solid #d2d8d0;background:transparent;padding:7px 15px;font-size:12px;color:#4a5a54;border-radius:3px}.filters button[aria-pressed=true]{background:#253f3c;border-color:#253f3c;color:white}.search{display:flex;align-items:center;gap:10px;font-size:11px}.search input{max-width:220px;border:1px solid #c9d0c8;background:#fff;padding:9px 12px;font-size:12px;border-radius:3px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{display:flex;flex-direction:column;background:#fff;border:1px solid #e1e4dc;padding:25px;text-decoration:none;transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-3px);border-color:#839d8f}.card[hidden]{display:none}.card-top{display:flex;justify-content:space-between;align-items:center}.tag{font-size:10px;letter-spacing:.05em;color:#416058;background:#edf2eb;padding:4px 9px;display:inline-block}.number{font-family:serif;font-size:22px;color:#b3b9ad}.card h3{font-size:17px;line-height:1.8;margin:20px 0 10px}.card p{color:#68756e;font-size:12px;line-height:1.9;margin:0 0 25px}.card-bottom{margin-top:auto;border-top:1px solid #e7e9e2;padding-top:14px;display:flex;justify-content:space-between;font-size:11px;color:#617267}.card-bottom span:last-child{font-size:17px}.editorial{padding:30px 0 45px;border-top:1px solid #d8ddd3;max-width:700px}.editorial p{font-size:13px;color:#68756e}.editorial a{font-size:12px}footer{margin-top:35px;padding:35px 36px;border-top:1px solid #d8ddd3;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#68756e}footer strong{font-family:serif;font-size:20px;color:#253f3c}footer p{margin:5px 0}footer a{margin-right:15px}footer small{display:block;margin-top:13px;font-size:10px}.breadcrumb{font-size:11px;margin:30px 0;display:flex;gap:12px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 220px;gap:55px}.article-head h1{font-family:serif;font-size:32px;line-height:1.7;margin:18px 0}.lead{font-size:15px;color:#65716b}.meta{font-size:11px;color:#738073;padding:15px 0}.basis{font-size:11px;padding:12px 16px;background:#e8ece4;border-left:3px solid #7e957e}.article-body section{padding-top:25px;margin-top:15px;scroll-margin-top:20px}.article-body h2{font-size:22px;line-height:1.7;border-bottom:1px solid #d3d9ce;padding-bottom:13px}.article-body p{line-height:2.15;font-size:15px}.toc{position:sticky;top:30px;align-self:start;font-size:12px;border-left:1px solid #d2d8cf;padding-left:20px;margin-top:15px}.toc a{display:block;text-decoration:none;margin-top:18px;color:#607067}.toc a:hover{text-decoration:underline}.toc .back{margin-top:30px;color:#253f3c}.sources{font-size:12px}.sources h2{font-size:17px}.sources p{font-size:12px}.sources ul{padding-left:20px}.notes{background:#e9eee5;padding:25px!important;margin-top:35px!important}.notes label{display:block;font-size:12px;margin-bottom:15px}.notes input,.notes textarea{display:block;max-width:100%;width:100%;padding:10px;border:1px solid #b6c2b3;background:#fff;color:#253435;resize:vertical}.notes #save-state{font-size:12px}.secondary{border:1px solid #b5c1b0;color:#344d3c;background:transparent;padding:8px 15px;font-size:12px}.next{border-top:1px solid #d3d9ce;margin-top:55px;padding-top:20px}.next p{font-size:12px}.next a{display:block;margin-top:10px;font-size:14px}.info{max-width:830px;margin:45px auto 70px;min-height:45vh}.info h1{font-family:serif;font-size:32px}.info h2{margin-top:35px;font-size:21px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:5px}#empty{padding:30px;background:#e9ede4}button:hover{filter:brightness(.95)}
@media(max-width:900px){header{padding:20px 24px}nav{gap:15px}main{padding:0 24px}.hero-main{padding:36px}.hero h1{font-size:38px}.hero-aside{padding:30px}.cards{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:minmax(0,1fr) 180px;gap:28px}.article-head h1{font-size:28px}}
@media(max-width:640px){header{padding:18px;display:block}.brand{font-size:21px}nav{margin-top:20px;font-size:11px;justify-content:space-between;gap:8px}main{padding:0 18px}.hero{margin-top:20px;grid-template-columns:1fr}.hero-main{padding:32px 26px}.hero h1{font-size:36px;margin:16px 0}.hero p{font-size:12px}.hero-aside{padding:22px 26px;border-left:0;border-top:1px solid #385052}.hero-aside>a{padding:13px 0}.edition{display:block;padding:14px 0}.edition p{margin-top:6px}.library{padding:35px 0}.section-title h2{font-size:23px}.cards{grid-template-columns:1fr}.card{padding:23px}.card h3{margin-top:13px}.toolbar{gap:15px}.search{width:100%;justify-content:space-between}.search input{flex:1;max-width:none}.filters{gap:6px}.filters button{padding:6px 10px}.article-layout{display:flex;flex-direction:column}.toc{order:-1;position:static;border-left:0;border-bottom:1px solid #d2d8cf;padding:0 0 20px;margin:0}.toc a{font-size:11px;margin-top:8px}.toc .back{display:none}.article-head h1{font-size:25px}.article-body h2{font-size:20px}.article-body p{font-size:14px}.article-body section{padding-top:15px}.article-main .breadcrumb{margin:22px 0}.meta span{display:block}.info h1{font-size:26px}footer{padding:25px 18px;display:block}footer>div+div{margin-top:20px}.notes{padding:18px!important}.section-title>span{font-size:10px}.editorial h2{font-size:24px}}
.chart-hero{padding:26px 0 28px;max-width:900px}.chart-hero h1{font-family:serif;font-size:40px;line-height:1.5;margin:14px 0}.scope{background:#e9ede4;padding:18px 22px;font-size:13px;margin-top:18px}.scope p{margin:7px 0 0}.decision{border:1px solid #ceb98e;border-left:4px solid #99763c;background:#fff9ed;padding:24px 28px;margin:0 0 26px}.decision h2{font-size:21px;margin:0 0 12px}.decision p{font-size:14px}.ending-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.ending-grid h3{font-size:16px}.ref-line{font-size:11px!important}.chart-tools{display:flex;align-items:center;gap:15px;padding:20px 0 30px;flex-wrap:wrap}.chart-tools label{font-size:12px;font-weight:bold}.chart-tools select{font:inherit;font-size:13px;padding:12px;background:#fff;border:1px solid #aebbae;max-width:100%;min-width:240px;color:#253435}.chart-tools .secondary{text-decoration:none}.chart-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}.chart-nav{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding-right:15px}.chart-nav>a{display:flex;gap:9px;text-decoration:none;font-size:11px;border-bottom:1px solid #d9dfd3;padding:10px 0;line-height:1.7}.chart-nav>a:hover{color:#87682f}.chart-nav b{color:#819281;font-weight:normal;font-variant-numeric:tabular-nums}.chapter{background:#fff;border:1px solid #dce2d6;padding:30px 34px;margin-bottom:30px;scroll-margin-top:20px}.chapter-kicker{display:flex;gap:18px;align-items:center;font-size:10px;letter-spacing:.12em;color:#7b6b47}.chapter-kicker span:last-child{padding:2px 9px;background:#eef2ea;color:#536d5b}.chapter h2{font-family:serif;font-size:25px;line-height:1.6;margin:12px 0 2px}.english{font-size:11px;color:#819081;margin:0 0 22px}.route-goal{background:#eff3eb;padding:15px 18px;margin:20px 0;font-size:12px}.route-goal>div{display:grid;grid-template-columns:105px 1fr;gap:15px;margin:5px 0}.route-goal dt{color:#6a7c68}.route-goal dd{margin:0;font-weight:bold}.chapter h3{font-size:16px;margin:22px 0 10px}.route-steps{padding:0;list-style:none;counter-reset:route}.route-steps>li{counter-increment:route;position:relative;padding:14px 0 14px 39px;border-bottom:1px solid #e7ebe2;line-height:2;font-size:14px}.route-steps>li:before{content:counter(route);position:absolute;left:0;top:18px;background:#294740;color:#fff;border-radius:50%;width:24px;height:24px;line-height:24px;text-align:center;font-size:11px}.route-warning{background:#fff7e7;border-left:3px solid #ad8642;padding:15px 18px;font-size:12px}.route-warning p{margin:6px 0}.boss-tip{padding:1px 18px 12px;background:#eff3f2;margin-top:22px;font-size:13px}.boss-tip h3{font-size:14px;margin-top:15px}.important{font-size:12px;border-top:1px solid #e0e5dc;padding-top:15px}.important strong{display:block;color:#607959;font-size:11px;margin-bottom:4px}summary{cursor:pointer;font-size:13px;font-weight:bold;padding:9px 0}.detour p,.source-list p{font-size:12px}.source-list{border-top:1px solid #e1e6dd;margin-top:15px;padding-top:8px}.source-list ul{font-size:11px;padding-left:18px;overflow-wrap:anywhere}.chapter-end{display:flex;justify-content:space-between;gap:24px;margin-top:25px;border-top:1px solid #dbe1d6;padding-top:18px;font-size:11px}.chapter-end a:last-child{text-align:right}.reference{border-top:2px solid #294740;margin:35px 0;padding-top:30px}.reference h2{font-family:serif;font-size:25px}.table-scroll{overflow-x:auto}.reference table{border-collapse:collapse;width:100%;font-size:12px;background:#fff;min-width:570px}.reference td,.reference th{padding:15px;text-align:left;border:1px solid #d8dfd1;vertical-align:top}.reference th{background:#e7ede2}.beacons{display:flex;gap:14px 30px;flex-wrap:wrap;padding-left:22px;font-size:13px}.reference>p{font-size:12px}.reference>.scope{margin-bottom:25px}
@media(max-width:900px){.chart-layout{grid-template-columns:175px minmax(0,1fr);gap:20px}.chapter{padding:25px}.chart-nav>a{font-size:10px}nav{flex-wrap:wrap}.chart-hero h1{font-size:34px}}
@media(max-width:640px){.chart-layout{display:block}.chart-nav{display:none}.chart-hero{padding-top:10px}.chart-hero h1{font-size:29px}.chart-hero .lead{font-size:13px}.chart-hero .meta{font-size:10px}.decision{padding:18px}.decision h2{font-size:18px}.decision p{font-size:12px}.ending-grid{grid-template-columns:1fr;gap:0}.chart-tools{gap:10px}.chart-tools select{width:100%;min-width:0}.chapter{padding:22px 18px;margin-bottom:20px}.chapter h2{font-size:22px}.route-goal{padding:12px}.route-goal>div{display:block}.route-goal dd{margin:3px 0 10px}.route-steps>li{font-size:13px;padding-left:33px}.chapter-end{gap:12px;font-size:10px}.scope{padding:15px;font-size:12px}nav{justify-content:flex-start;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
.brand{font-family:system-ui,sans-serif;font-size:20px;letter-spacing:0;line-height:1.5}.brand svg{flex-shrink:0}.brand small{font-size:10px;letter-spacing:.02em}.hero h1{font-size:36px;letter-spacing:0;overflow-wrap:break-word}@media(max-width:900px){header{flex-wrap:wrap;gap:18px}}@media(max-width:640px){.brand{font-size:18px}.brand small{font-size:9px}.hero h1{font-size:28px}}
