@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-serif-4-latin-400-normal.DJ5YJwmz.woff2) format("woff2"),url(/_astro/source-serif-4-latin-400-normal.Dn3IlU-Z.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-600-normal.DouSKlru.woff2) format("woff2"),url(/_astro/source-serif-4-latin-600-normal.DMD1h6_f.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff")}.books-shell{--book-navy: #0f1f3d;--book-ink: #1b2333;--book-slate: #566074;--book-gold: #8a6a1e;--series-gold: #c9a24a;--book-ivory: #f7f1e3;--book-light: #f2f4f8;--book-bg: #fff;--book-serif: "Source Serif 4", Georgia, serif;--book-sans: "IBM Plex Sans", system-ui, sans-serif;background:var(--book-bg);color:var(--book-ink);font-family:var(--book-sans);font-size:1.0625rem}:root[data-theme=dark] .books-shell{--book-ink: #f2f4f8;--book-slate: #b9c3d5;--book-gold: #d9b966;--book-ivory: #202b3f;--book-light: #18253a;--book-bg: #111b2b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .books-shell{--book-ink: #f2f4f8;--book-slate: #b9c3d5;--book-gold: #d9b966;--book-ivory: #202b3f;--book-light: #18253a;--book-bg: #111b2b}}.books-shell :is(a,button):focus-visible{outline:3px solid var(--book-gold);outline-offset:5px}.books-shell header :is(a,button):focus-visible,.books-hero :is(a,button):focus-visible{outline-color:var(--series-gold)}.books-skip{position:absolute;inset:-100px auto auto 1rem;z-index:100}.books-skip:focus{inset-block-start:1rem;background:var(--book-ivory);padding:1rem}.books-container{width:min(100%,72rem);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.books-shell :is(h1,h2,h3){font-family:var(--book-serif);font-weight:600;margin:0 0 1rem}.books-shell h1{font-size:clamp(2.65rem,5.4vw,4.5rem);line-height:1.08}.books-shell h2{font-size:clamp(1.85rem,3.2vw,2.5rem)}.books-shell h3{font-size:1.45rem}.books-shell p{margin:0 0 1.15rem}.books-hero{background:var(--book-navy);color:#f7f1e3;padding-block:clamp(2.5rem,6vw,5rem);border-bottom:2px solid var(--series-gold)}.book-hero-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,4rem);align-items:center}.book-hero-cover{width:min(100%,21rem);margin-inline:auto}.book-cover{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain;box-shadow:0 16px 35px #00000038}.book-eyebrow{color:var(--book-gold);font:600 .75rem / 1.7 var(--book-sans);letter-spacing:.14em;text-transform:uppercase}.books-hero .book-eyebrow,.book-tagline{color:var(--series-gold)}.book-library-link{display:inline-block;margin-bottom:1.5rem;text-decoration:none}.book-library-link:hover{text-decoration:underline}.book-subtitle{font-family:var(--book-serif);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.45}.book-tagline{font-size:.94rem}.book-byline{font-size:1rem}.book-purchases{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.book-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.2rem;background:var(--book-navy);color:#f7f1e3;border:1px solid var(--book-navy);border-radius:2px;font:600 .95rem / 1.4 var(--book-sans);text-align:center;text-decoration:none;cursor:pointer}.book-button:hover{text-decoration:underline;text-underline-offset:4px}.books-hero .book-button{background:var(--series-gold);color:#0f1f3d;border-color:var(--series-gold)}.book-purchase-note{display:flex;flex-direction:column;justify-content:center;padding:.65rem 1rem;border:1px solid #8e9aad;font-size:.95rem}.book-small{font-size:.825rem}.launch-note{border-top:1px solid var(--series-gold);padding-top:1.25rem;margin-top:1.75rem}.launch-note>p:first-child{font-weight:600;color:var(--series-gold)}.book-body{max-width:65rem;padding-block:1.5rem}.book-section{padding-block:3rem;border-bottom:1px solid var(--series-gold);scroll-margin-top:10rem}.book-prose{font-family:var(--book-serif);font-size:1.2rem;line-height:1.75;max-width:46rem}.book-panel{background:var(--book-light);padding:clamp(1.5rem,4vw,3rem);margin-block:2rem;border-top:1px solid var(--series-gold);border-bottom:1px solid var(--series-gold)}.book-facts{padding-left:1.25rem;margin:1.5rem 0 0}.book-facts li{margin-block:.8rem}.book-facts li::marker{color:var(--book-gold)}.book-status{color:var(--book-slate);font-size:.9rem}.book-text-link{color:var(--book-gold);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.book-companion{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:2rem;align-items:center}.book-companion h3 a,.book-hub-card h2 a{text-decoration:none}.book-companion h3 a:hover,.book-hub-card h2 a:hover{text-decoration:underline}.book-corrections{border:none;padding-bottom:1rem;color:var(--book-slate);font-size:.95rem}.book-corrections h2{font-size:1.35rem}.books-shell footer{margin-top:0}.books-hub-hero{padding-block:4.5rem}.books-hub-hero h1{max-width:50rem}.books-hub-hero .book-subtitle{margin-bottom:0}.books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;padding-block:4rem}.book-hub-card{display:flex;flex-direction:column;gap:2rem}.book-cover-link{display:block;width:min(100%,16rem)}.book-hub-card h2{font-size:2rem}.book-card-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem}@media(max-width:700px){.book-hero-grid,.books-grid{grid-template-columns:1fr}.book-hero-cover{max-width:15rem}.book-hero-copy{min-width:0}.book-purchases{flex-direction:column}.book-card-actions{flex-direction:column;align-items:stretch}.book-companion{grid-template-columns:1fr;gap:1.75rem}.book-companion>a{max-width:9rem}.book-section{padding-block:2.25rem}.book-panel{padding:1.5rem}.books-grid{gap:3.5rem}.book-cover-link{margin-inline:auto}}
