@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=M+PLUS+1p:wght@500;700;800;900&family=Noto+Sans+JP:wght@400;500;700;800;900&display=swap";:root{--paper: #fff8fb;--paper-raised: #ffffff;--ink: #161821;--ink-muted: #51586a;--ink-faint: #9aa3b7;--red: #ff3b5f;--gold: #ffb000;--green: #00b884;--blue: #2378ff;--plum: #b14dff;--sumi: #222533;--cyan: #00c8ff;--coral: var(--red);--yellow: var(--gold);--jade: var(--green);--pink: var(--plum);--purple: var(--sumi);--chapter-color: var(--red);--accent-ink: #161821;--accent-ink-light: #fff8fb;--purple-accent-ink: var(--accent-ink-light);--border: rgba(22, 24, 33, .18);--rule: rgba(22, 24, 33, .24);--shadow-card: 5px 5px 0 color-mix(in srgb, var(--chapter-color) 20%, var(--ink));--shadow-card-hover: 8px 8px 0 color-mix(in srgb, var(--chapter-color) 32%, var(--ink));--font-display: "M PLUS 1p", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-jp-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-jp-serif: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--measure: 40rem;color-scheme:light}:root[data-theme=dark]{--paper: #11131d;--paper-raised: #1c2030;--ink: #fff8fb;--ink-muted: #c7ccdc;--ink-faint: #858da6;--red: #ff5d7a;--gold: #ffc642;--green: #32d9a4;--blue: #67a3ff;--plum: #d18cff;--sumi: #f2f4ff;--cyan: #58ddff;--purple-accent-ink: #161821;--border: rgba(255, 248, 251, .18);--rule: rgba(255, 248, 251, .26);--shadow-card: 5px 5px 0 rgba(0, 0, 0, .45);--shadow-card-hover: 8px 8px 0 rgba(0, 0, 0, .62);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.65;font-feature-settings:"cv11" 1,"ss01" 1,"kern" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,transparent) 0 2px,transparent 2px 16px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--ink) 4%,transparent) 1px,transparent 1px),var(--paper);background-size:auto,42px 42px,42px 42px,auto;background-attachment:fixed}main{max-width:var(--measure);margin:0 auto;padding:2rem 1.5rem 6rem}nav.topnav{max-width:var(--measure);margin:0 auto;padding:1.25rem 1.5rem 0;font-family:var(--font-body);font-size:.85rem;font-weight:500}nav.topnav a{display:inline-flex;align-items:center;gap:.4em;padding:.4em .9em;background:var(--paper-raised);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);text-decoration:none;transition:transform .16s cubic-bezier(.4,0,.2,1),border-color .16s,color .16s,background .16s}nav.topnav a:hover{color:var(--chapter-color);border-color:var(--chapter-color);transform:translate(-2px)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:900;line-height:1.1;letter-spacing:0;color:var(--ink)}h1{font-size:3.2rem;margin:0 0 1rem}h2{font-size:1.7rem;margin:3rem 0 1rem;padding:0 0 .25rem;border-bottom:4px solid color-mix(in srgb,var(--chapter-color) 55%,transparent)}h3{font-size:1.25rem;margin:2rem 0 .6rem}p{margin:0 0 1.1em}a{color:var(--chapter-color);font-weight:500;text-decoration-thickness:2px;text-underline-offset:3px;transition:color .16s}strong{font-weight:600}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:color-mix(in srgb,var(--chapter-color) 12%,transparent);color:color-mix(in srgb,var(--chapter-color) 85%,var(--ink));padding:.1em .45em;border:1px solid color-mix(in srgb,var(--chapter-color) 30%,transparent);border-radius:6px;font-weight:500}hr{border:none;margin:3.5rem auto;height:.5rem;width:7rem;background:repeating-linear-gradient(90deg,var(--chapter-color) 0 .6rem,transparent .6rem 1.1rem);opacity:.7;border-radius:999px}blockquote{margin:1.75rem 0;padding:1.1rem 1.3rem 1.1rem 1.5rem;background:var(--paper-raised);border:2px solid var(--ink);border-left:8px solid var(--chapter-color);border-radius:8px;box-shadow:var(--shadow-card)}blockquote p{margin:.35rem 0}::selection{background:color-mix(in srgb,var(--chapter-color) 35%,transparent);color:var(--ink)}.book-header{margin:1rem 0 3rem;text-align:center}.book-label{display:inline-block;font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:0;font-size:.72rem;padding:.4em .9em;border-radius:999px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);margin:0 0 1.25rem}.book-header h1{margin:0 0 1rem;font-size:4.6rem;font-weight:900;letter-spacing:0;color:var(--red);text-shadow:2px 2px 0 var(--paper-raised),5px 5px 0 var(--ink);line-height:1}.book-subtitle{font-size:1.1rem;color:var(--ink-muted);margin:0 auto;max-width:30rem}.toc-heading{font-family:var(--font-body);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:700;color:var(--ink-muted);margin:2.5rem 0 1rem;text-align:center}.volume-section{margin:0 0 3rem}.volume-section+.volume-section{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--border)}.volume-subtitle{max-width:34rem;margin:-.4rem auto 1.5rem;color:var(--ink-muted);text-align:center;font-size:.98rem}ol.volume-list,ol.chapter-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}ol.volume-list{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}ol.volume-list li,ol.chapter-list li{--card-tint: color-mix(in srgb, var(--chapter-color) 18%, var(--paper-raised));--card-tint-hover: color-mix(in srgb, var(--chapter-color) 28%, var(--paper-raised))}ol.volume-list li:nth-child(4n+1){--chapter-color: var(--coral);--accent-ink: #161821}ol.volume-list li:nth-child(4n+2){--chapter-color: var(--blue);--accent-ink: #161821}ol.volume-list li:nth-child(4n+3){--chapter-color: var(--jade);--accent-ink: #161821}ol.volume-list li:nth-child(4n+4){--chapter-color: var(--purple);--accent-ink: var(--purple-accent-ink)}ol.chapter-list li:nth-child(4n+1){--chapter-color: var(--coral);--accent-ink: #161821}ol.chapter-list li:nth-child(4n+2){--chapter-color: var(--blue);--accent-ink: #161821}ol.chapter-list li:nth-child(4n+3){--chapter-color: var(--jade);--accent-ink: #161821}ol.chapter-list li:nth-child(4n+4){--chapter-color: var(--purple);--accent-ink: var(--purple-accent-ink)}ol.volume-list a,ol.chapter-list a{display:block;position:relative;padding:1.4rem 1.4rem 1.5rem;background:var(--card-tint);border:2px solid var(--ink);border-radius:8px;color:inherit;text-decoration:none;box-shadow:var(--shadow-card);transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s,background .22s,border-color .22s;overflow:hidden;isolation:isolate}ol.volume-list a{min-height:15rem}ol.volume-list a:before,ol.chapter-list a:before{content:"";position:absolute;top:0;right:0;width:5rem;height:100%;background:linear-gradient(135deg,transparent 0 45%,color-mix(in srgb,var(--chapter-color) 35%,transparent) 45% 55%,transparent 55%);opacity:0;transition:opacity .26s ease;z-index:-1;pointer-events:none}ol.volume-list a:hover,ol.chapter-list a:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);background:var(--card-tint-hover);border-color:color-mix(in srgb,var(--chapter-color) 40%,var(--border))}ol.volume-list a:hover:before,ol.chapter-list a:hover:before{opacity:.25}.chapter-num{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .7rem;font-family:var(--font-display);font-size:1.2rem;background:var(--chapter-color);color:var(--accent-ink);border:2px solid var(--ink);border-radius:8px;margin-bottom:1rem;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--chapter-color) 60%,transparent);transition:transform .22s cubic-bezier(.4,0,.2,1)}ol.volume-list a:hover .chapter-num,ol.chapter-list a:hover .chapter-num{transform:rotate(-6deg) scale(1.08)}.chapter-title{display:block;font-family:var(--font-display);font-size:1.45rem;font-weight:900;line-height:1.2;margin:0 0 .3rem;color:var(--ink)}.chapter-subtitle-small{display:block;color:var(--ink-muted);font-size:.92rem;line-height:1.45}.volume-description{display:block;color:var(--ink-muted);font-size:.96rem;line-height:1.5;margin-top:1rem}.chapter-arrow{position:absolute;bottom:1.2rem;right:1.4rem;font-family:var(--font-display);color:var(--chapter-color);font-size:1.1rem;transition:transform .22s cubic-bezier(.4,0,.2,1)}ol.volume-list a:hover .chapter-arrow,ol.chapter-list a:hover .chapter-arrow{transform:translate(4px)}.volume-next-link{margin:2rem 0 0;text-align:center}.volume-next-link a{display:inline-flex;padding:.7rem 1rem;background:var(--paper-raised);border:2px solid var(--ink);border-radius:8px;text-decoration:none;box-shadow:var(--shadow-card)}.chapter-header{margin:.5rem 0 2.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.chapter-label{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:700;color:var(--accent-ink);background:var(--chapter-color);padding:.45em .9em;border:2px solid var(--ink);border-radius:8px;margin:0;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--chapter-color) 55%,transparent)}.chapter-header h1{margin:0;font-size:3.2rem;font-weight:900;letter-spacing:0;line-height:1.05}.chapter-subtitle{color:var(--ink-muted);font-size:1.08rem;margin:0;max-width:32rem}dl.vocab{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;row-gap:.8rem;margin:1.75rem 0 2rem;padding:1.3rem 1.4rem 1.3rem 1.3rem;background:var(--paper-raised);border:2px solid var(--ink);border-left:8px solid var(--chapter-color);border-radius:8px;box-shadow:var(--shadow-card)}dl.vocab dt{margin:0;font-family:var(--font-display);font-size:1.08rem;font-weight:800;color:var(--ink)}dl.vocab dd{margin:0;color:var(--ink-muted);font-size:.95rem;align-self:baseline}footer.chapter-footer{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:5rem;padding-top:2rem;border-top:1px solid var(--border);font-size:.9rem}footer.chapter-footer a{display:block;padding:1rem 1.2rem;background:var(--paper-raised);border:2px solid var(--ink);border-radius:8px;color:var(--ink-muted);text-decoration:none;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,background .2s}footer.chapter-footer a:hover{border-color:var(--chapter-color);background:color-mix(in srgb,var(--chapter-color) 10%,var(--paper-raised));transform:translateY(-2px)}footer.chapter-footer .prev{text-align:left}footer.chapter-footer .next{text-align:right}footer.chapter-footer .direction{display:block;text-transform:uppercase;letter-spacing:0;font-size:.68rem;font-weight:700;color:var(--chapter-color);margin-bottom:.25rem}footer.chapter-footer .chapter-link-title{font-family:var(--font-display);font-size:1.05rem;font-weight:900;color:var(--ink)}@media(max-width:32rem){body{font-size:16.5px}h1{font-size:2.45rem}.book-header h1{font-size:3.1rem}.chapter-header h1{font-size:2.35rem}main{padding:1.5rem 1.15rem 4rem}ol.volume-list,ol.chapter-list{grid-template-columns:1fr}dl.vocab{grid-template-columns:1fr;row-gap:.2rem;padding:1rem 1.15rem 1rem 1rem}dl.vocab dt{margin-top:.45rem}dl.vocab dt:first-child{margin-top:0}footer.chapter-footer{grid-template-columns:1fr}footer.chapter-footer .next{text-align:left}}.theme-toggle[data-astro-cid-x3pjskd3]{position:fixed;top:1rem;right:1rem;z-index:100;width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-raised);border:2px solid var(--ink);border-radius:8px;color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .22s cubic-bezier(.34,1.56,.64,1),color .18s ease,border-color .18s ease,background .18s ease;-webkit-appearance:none;appearance:none}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--chapter-color);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.theme-toggle[data-astro-cid-x3pjskd3]:active{transform:rotate(0) scale(.95);transition-duration:80ms}.theme-toggle[data-astro-cid-x3pjskd3]:focus-visible{outline:2px solid var(--chapter-color);outline-offset:3px}.icon[data-astro-cid-x3pjskd3]{width:1.15rem;height:1.15rem;transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.icon-sun[data-astro-cid-x3pjskd3]{display:none}.icon-moon[data-astro-cid-x3pjskd3],html[data-theme=dark] .icon-sun[data-astro-cid-x3pjskd3]{display:inline-block}html[data-theme=dark] .icon-moon[data-astro-cid-x3pjskd3]{display:none}@media(prefers-reduced-motion:reduce){.theme-toggle[data-astro-cid-x3pjskd3],.icon[data-astro-cid-x3pjskd3]{transition:none}.theme-toggle[data-astro-cid-x3pjskd3]:hover{transform:none}}@media(max-width:32rem){.theme-toggle[data-astro-cid-x3pjskd3]{top:.75rem;right:.75rem;width:2.25rem;height:2.25rem}}.speed-toggle[data-astro-cid-5awn7ap4]{position:fixed;top:1rem;right:4rem;z-index:100;width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-raised);border:2px solid var(--ink);border-radius:8px;color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .22s cubic-bezier(.34,1.56,.64,1),color .18s ease,border-color .18s ease,background .18s ease;-webkit-appearance:none;appearance:none}.speed-toggle[data-astro-cid-5awn7ap4]:hover{color:var(--chapter-color);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.speed-toggle[data-astro-cid-5awn7ap4]:active{transform:translateY(0) scale(.95);transition-duration:80ms}.speed-toggle[data-astro-cid-5awn7ap4]:focus-visible{outline:2px solid var(--chapter-color);outline-offset:3px}.speed-toggle[data-astro-cid-5awn7ap4] svg[data-astro-cid-5awn7ap4]{width:1.35rem;height:1.35rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}html[data-audio-speed=slow] .speed-toggle[data-astro-cid-5awn7ap4]{background:color-mix(in srgb,var(--chapter-color) 15%,var(--paper-raised));color:var(--chapter-color)}html[data-audio-speed=slow] .speed-toggle[data-astro-cid-5awn7ap4] svg[data-astro-cid-5awn7ap4]{transform:scale(1.1)}@media(prefers-reduced-motion:reduce){.speed-toggle[data-astro-cid-5awn7ap4],.speed-toggle[data-astro-cid-5awn7ap4] svg[data-astro-cid-5awn7ap4]{transition:none}.speed-toggle[data-astro-cid-5awn7ap4]:hover{transform:none}}@media(max-width:32rem){.speed-toggle[data-astro-cid-5awn7ap4]{top:.75rem;right:3.5rem;width:2.25rem;height:2.25rem}.speed-toggle[data-astro-cid-5awn7ap4] svg[data-astro-cid-5awn7ap4]{width:1.15rem;height:1.15rem}}
