:root{color-scheme:light;--ink:#202124;--blue:#194cda;--yellow:#ffdf4d;--paper:#f5f5f2}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--ink);background:#fff;font-family:"Meiryo","Yu Gothic",system-ui,sans-serif;line-height:1.8}
a{color:inherit;text-underline-offset:5px}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.reader-skip{position:absolute;left:20px;top:-100px;padding:8px 16px;background:#fff;z-index:10}
.reader-skip:focus{top:12px}
.reader-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px max(5vw,20px);border-bottom:1px solid #e5e5e5}
.reader-brand{font-size:23px;font-weight:900;letter-spacing:-.03em;line-height:1.25;text-decoration:none}
.reader-brand span{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-top:7px}
.reader-header nav{display:flex;gap:26px;font-size:13px;font-weight:700}
.reader-intro{max-width:1080px;margin:auto;padding:72px 28px 50px}
.reader-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--blue);margin:0 0 24px}
.reader-intro h1{font-size:clamp(34px,5.5vw,66px);letter-spacing:-.045em;line-height:1.35;margin:0 0 24px}
.reader-intro h1 span{background:linear-gradient(transparent 73%,var(--yellow) 73%)}
.reader-intro>p:not(.reader-kicker):not(.reader-meta){font-size:15px;line-height:2.1}
.reader-download{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:white;padding:16px 26px;margin-top:20px;text-decoration:none;font-size:14px;font-weight:700;border-radius:3px}
.reader-download:hover{background:var(--blue)}
.reader-meta{font-size:11px;color:#606569;margin-top:12px}
.reader-toc{max-width:1024px;margin:0 auto 56px;padding:22px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px}
.reader-toc a{font-size:13px;text-decoration:none}
.reader-toc a:hover{text-decoration:underline}
.reader-toc span{display:inline-block;min-width:32px;color:var(--blue);font-weight:800}
.reader-pages{background:var(--paper);padding:35px 28px 64px}
.reader-page{max-width:1120px;margin:0 auto 55px;scroll-margin-top:24px}
.reader-page:last-child{margin-bottom:0}
.reader-page h2{font-size:15px;font-weight:700;margin:0 0 15px;display:flex;gap:15px;align-items:baseline}
.reader-page h2 span{font-size:12px;color:var(--blue);font-weight:800}
.reader-page>img{display:block;width:100%;height:auto;box-shadow:0 3px 18px #2021240c;background:white}
.reader-page details{background:white;border-top:1px solid #eee}
.reader-page summary{cursor:pointer;font-size:12px;padding:13px 20px;color:#4b5055}
.reader-transcript{white-space:pre-line;padding:12px 28px 30px;max-width:840px;font-size:16px;line-height:2;overflow-wrap:anywhere}
.reader-closing{padding:70px 28px 80px;text-align:center;background:#e6f3ed}
.reader-closing h2{font-size:clamp(20px,3vw,32px);line-height:1.6;margin:0}
.reader-closing .reader-kicker{margin-bottom:18px}
.reader-return{display:block;width:fit-content;margin:24px auto 0;font-size:13px}
.reader-footer{padding:24px max(5vw,20px);display:flex;justify-content:space-between;gap:20px;font-size:11px}
@media(max-width:1080px){.reader-toc{margin-left:28px;margin-right:28px}}
@media(max-width:600px){.reader-header{padding:18px 20px;gap:15px}.reader-brand{font-size:19px}.reader-brand span{font-size:8px}.reader-header nav{gap:12px;font-size:11px}.reader-intro{padding:46px 22px 32px}.reader-intro>p:not(.reader-kicker):not(.reader-meta){font-size:13px}.reader-intro h1{font-size:36px}.reader-toc{grid-template-columns:1fr;margin:0 22px 35px;gap:9px}.reader-pages{padding:26px 12px 40px}.reader-page{margin-bottom:34px}.reader-page h2{font-size:12px;gap:9px}.reader-page summary{padding:12px 16px}.reader-transcript{padding:10px 18px 24px;font-size:15px}.reader-closing{padding:45px 20px 50px}.reader-footer{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

