:root{--font-size:18px;--font-family-body:'Roboto Mono', monospace, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--font-family-heading:'Roboto Mono', monospace, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--line-height-body:1.5;--line-height-heading:1.25}body{font-family:var(--font-family-body);font-size:var(--font-size);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.book-article{padding-top:2rem}.markdown{line-height:var(--line-height-body)}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-family:var(--font-family-heading);line-height:var(--line-height-heading)}.markdown h1{font-size:2rem;margin:2rem 0 1rem}.markdown h2{font-size:1.6rem;margin:1.75rem 0 .75rem}.markdown h3{font-size:1.3rem;margin:1.5rem 0 .5rem}.markdown h4{font-size:1.1rem;margin:1.25rem 0 .5rem}.book-layout-center .book-page .markdown{text-align:center}.book-layout-center .book-page .markdown ul{display:inline-block;text-align:left}.book-title{margin-top:0;margin-bottom:2rem}@media(max-width:768px){.markdown h1{font-size:1.6rem}.markdown h2{font-size:1.35rem}.markdown h3{font-size:1.15rem}}html.theme-light{--body-background:#ffffff;--body-background-tint:none;--body-font-color:#1a1a1a;--color-link:#0055bb;--color-visited-link:#5500bb;--icon-filter:none;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd}.theme-toggle{background:0 0;border:none;cursor:pointer;padding:.25em;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--body-font-color);opacity:.6;transition:opacity .2s}.theme-toggle:hover{opacity:1}.theme-toggle svg{width:1.1em;height:1.1em;display:block}.book-brand{display:flex;align-items:center;gap:.5em}.book-layout-center .hero{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem}.hero-content{max-width:720px}.hero-badge{display:inline-block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;padding:.35em 1em;border:1px solid var(--body-font-color);opacity:.4;margin-bottom:2rem}.hero-title{font-size:3.5rem;font-weight:600;line-height:1.1;margin:0 0 1.5rem;letter-spacing:-.02em}.hero-subtitle{font-size:1.15rem;line-height:1.6;opacity:.7;margin:0 0 2.5rem;max-width:540px;margin-left:auto;margin-right:auto}.hero-cta{display:inline-block;font-family:var(--font-family-body);font-size:1rem;font-weight:500;padding:.85em 2.5em;background:var(--body-font-color);color:var(--body-background);text-decoration:none;transition:opacity .2s}.hero-cta:hover{opacity:.8}.hero-footnote{font-size:.8rem;opacity:.35;margin-top:1.25rem}.features{padding:5rem 1rem 3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;max-width:840px;margin:0 auto}.feature-card{border:1px solid var(--body-font-color);border-opacity:.15;padding:2rem 1.5rem;text-align:left;transition:transform .2s;background:0 0}.feature-card:hover{transform:translateY(-2px)}.feature-icon{margin-bottom:1.25rem;opacity:.6}.feature-icon svg{display:block}.feature-card h3{font-size:1rem;font-weight:600;margin:0 0 .6rem}.feature-card p{font-size:.9rem;line-height:1.5;opacity:.55;margin:0}.cta-section{padding:5rem 1rem 6rem;text-align:center}.cta-content{max-width:540px;margin:0 auto}.cta-content h2{font-size:1.6rem;font-weight:600;margin:0 0 .75rem}.cta-content p{font-size:1rem;opacity:.6;margin:0 0 2rem}.cta-button{display:inline-block;font-family:var(--font-family-body);font-size:1rem;font-weight:500;padding:.85em 2.5em;border:2px solid var(--body-font-color);color:var(--body-font-color);text-decoration:none;transition:all .2s}.cta-button:hover{background:var(--body-font-color);color:var(--body-background)}@media(max-width:768px){.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1rem}.features-grid{grid-template-columns:1fr}.feature-card{text-align:center}.feature-icon svg{margin:0 auto}}html.theme-light .hero-cta{background:var(--body-font-color);color:var(--body-background)}html.theme-light .feature-card{border-color:var(--body-font-color)}