.handbook-reader{--handbook-paper:var(--bg-secondary);--handbook-canvas:var(--bg-canvas);--handbook-ink:var(--text-primary);--handbook-muted:var(--text-secondary);--handbook-faint:var(--text-tertiary);--handbook-rule:var(--border-color);--handbook-accent:var(--accent);--handbook-accent-soft:var(--accent-soft);--handbook-order-active:var(--accent);--handbook-code:var(--bg-muted);background:var(--handbook-canvas);min-height:100vh;color:var(--handbook-ink);letter-spacing:0;padding:2.5rem 0 5rem}.handbook-reader *,.handbook-reader :before,.handbook-reader :after{box-sizing:border-box;letter-spacing:0}.handbook-reading-progress{--handbook-progress:0;z-index:100;contain:strict;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.handbook-reading-progress span{background:var(--handbook-accent);width:100%;height:100%;transform:scaleX(var(--handbook-progress));transform-origin:0;will-change:transform;display:block}.handbook-shell{grid-template-columns:minmax(12rem,16rem) minmax(0,46rem) minmax(10rem,14rem);align-items:start;gap:2.5rem;width:min(100%,86rem);margin:0 auto;padding:0 1.5rem;display:grid}.handbook-book-nav,.handbook-page-toc{max-height:calc(100vh - 8rem);color:var(--handbook-muted);scrollbar-width:thin;position:sticky;top:6rem;overflow:auto}.handbook-rail-header{border-bottom:1px solid var(--handbook-rule);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.85rem;display:flex}.handbook-rail-header>a{min-width:0;color:var(--handbook-ink);gap:.2rem;text-decoration:none;display:grid}.handbook-rail-header>a span,.handbook-rail-header h2{color:var(--handbook-ink);overflow-wrap:anywhere;margin:0;font-family:Songti SC,STSong,Georgia,serif;font-size:1rem;font-weight:600;line-height:1.45}.handbook-rail-header small{color:var(--handbook-faint);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.7rem;line-height:1.5}.handbook-rail-header button{border:1px solid var(--handbook-rule);width:2.5rem;height:2.5rem;color:var(--handbook-muted);cursor:pointer;background:0 0;border-radius:4px;flex:0 0 2.5rem;justify-content:center;align-items:center;padding:0;display:none}.handbook-rail-header button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.1rem;height:1.1rem}.handbook-book-nav nav{gap:1.5rem;padding-top:1.35rem;display:grid}.handbook-book-nav section h2{color:var(--handbook-faint);margin:0 0 .55rem;font-size:.7rem;font-weight:600;line-height:1.5}.handbook-book-nav ol,.handbook-page-toc ol{margin:0;padding:0;list-style:none}.handbook-book-nav li+li{margin-top:.15rem}.handbook-book-nav li a{color:var(--handbook-muted);border-left:2px solid #0000;border-radius:0 4px 4px 0;grid-template-columns:1.65rem minmax(0,1fr);gap:.45rem;padding:.45rem .4rem;font-size:.78rem;line-height:1.55;text-decoration:none;display:grid}.handbook-book-nav li a>span{color:var(--handbook-faint);font-family:var(--font-mono);font-size:.68rem}.handbook-book-nav li a strong{overflow-wrap:anywhere;min-width:0;font-weight:500}.handbook-book-nav li a:hover,.handbook-book-nav li a:focus-visible,.handbook-book-nav li a.current{border-left-color:var(--handbook-accent);background:var(--handbook-accent-soft);color:var(--handbook-ink)}.handbook-book-nav li a:hover>span,.handbook-book-nav li a:focus-visible>span,.handbook-book-nav li a.current>span{color:var(--handbook-order-active)}.handbook-article{border:1px solid color-mix(in srgb, var(--handbook-rule) 82%, transparent);background:var(--handbook-paper);border-radius:2px;width:100%;min-width:0;max-width:46rem;padding:3.5rem 4rem 4rem;box-shadow:0 .8rem 2rem #2b292612}.dark .handbook-article{box-shadow:0 .8rem 2rem #0003}.handbook-chapter-header{border-bottom:1px solid var(--handbook-rule);padding-bottom:2rem}.handbook-chapter-context{color:var(--handbook-faint);flex-wrap:wrap;gap:.35rem .5rem;font-size:.72rem;line-height:1.6;display:flex}.handbook-chapter-context a{color:var(--handbook-accent);text-decoration:none}.handbook-chapter-header h1{color:var(--handbook-ink);text-wrap:balance;overflow-wrap:anywhere;margin:1.25rem 0 0;font-family:Songti SC,STSong,Georgia,serif;font-size:2.35rem;font-weight:600;line-height:1.35}.handbook-chapter-description{color:var(--handbook-muted);overflow-wrap:anywhere;margin:1rem 0 0;font-family:Songti SC,STSong,Georgia,serif;font-size:1rem;line-height:1.9}.handbook-chapter-meta{color:var(--handbook-faint);flex-wrap:wrap;gap:.65rem 1.5rem;margin:1.5rem 0 0;font-size:.7rem;line-height:1.55;display:flex}.handbook-chapter-meta div{gap:.4rem;min-width:0;display:flex}.handbook-chapter-meta dt{font-weight:600}.handbook-chapter-meta dd{min-width:0;margin:0}.handbook-chapter-meta code{font-family:var(--font-mono);overflow-wrap:anywhere}.handbook-prose.prose{max-width:none;color:var(--handbook-ink);font-family:Songti SC,STSong,Georgia,serif;font-size:1.05rem;line-height:1.95}.handbook-prose.prose>*{max-width:100%}.handbook-prose.prose h2,.handbook-prose.prose h3,.handbook-prose.prose h4{color:var(--handbook-ink);overflow-wrap:anywhere;scroll-margin-top:6rem;font-family:Songti SC,STSong,Georgia,serif;font-weight:600}.handbook-prose.prose h2{border-bottom:1px solid var(--handbook-rule);margin-top:2.4em;padding-bottom:.45em;font-size:1.65rem;line-height:1.45}.handbook-prose.prose h3{font-size:1.3rem;line-height:1.55}.handbook-prose.prose a{color:var(--handbook-accent);overflow-wrap:anywhere}.handbook-prose.prose code:not(pre code){border:1px solid var(--handbook-rule);background:var(--handbook-code);color:var(--handbook-accent);font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:3px}.handbook-prose.prose pre,.handbook-prose .code-block-wrapper{min-width:0;max-width:100%}.handbook-prose.prose pre{border:1px solid var(--handbook-rule);box-shadow:none;white-space:pre;border-radius:4px;overflow-x:auto;background:var(--handbook-code)!important}.handbook-prose.prose pre code{font-family:var(--font-mono);font-size:.82rem}.dark .handbook-prose.prose pre.astro-code code span{color:var(--shiki-dark)!important}.handbook-prose.prose blockquote{border-color:var(--handbook-accent);background:var(--handbook-code);color:var(--handbook-muted);border-radius:0 4px 4px 0}.handbook-prose.prose img{border:1px solid var(--handbook-rule);max-width:100%;box-shadow:none;border-radius:4px}.handbook-prose.prose table{background:0 0;border-radius:4px;max-width:100%;display:block;overflow-x:auto}.handbook-reader .copy-button{border:1px solid var(--handbook-rule);background:var(--handbook-paper);color:var(--handbook-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.handbook-reader .copy-button:focus-visible,.handbook-reader .code-block-wrapper:focus-within .copy-button,.handbook-reader .code-block-wrapper:hover .copy-button{opacity:1}.handbook-reader .mermaid-container{border-color:var(--handbook-rule);background:var(--handbook-code);border-radius:4px;max-width:100%;overflow-x:auto}.handbook-reader .mermaid-container svg{max-width:100%;height:auto;display:block}.source-evidence{border:1px solid var(--handbook-rule);border-left:3px solid var(--handbook-accent);background:var(--handbook-code);max-width:100%;color:var(--handbook-muted);font-family:var(--font-sans);border-radius:0 4px 4px 0;margin:1.8rem 0;padding:1rem 1.1rem;font-size:.76rem;line-height:1.65}.source-evidence-heading{color:var(--handbook-ink);align-items:center;gap:.45rem;display:flex}.source-evidence-heading svg{width:1rem;height:1rem;color:var(--handbook-accent);flex:0 0 1rem}.source-evidence dl{gap:.55rem;margin:.8rem 0 0;display:grid}.source-evidence dl>div{grid-template-columns:3.75rem minmax(0,1fr);gap:.55rem;display:grid}.source-evidence dt{color:var(--handbook-faint);font-weight:600}.source-evidence dd{overflow-wrap:anywhere;min-width:0;margin:0}.source-evidence a{color:var(--handbook-accent)}.source-evidence code{overflow-wrap:anywhere;color:inherit!important;font-family:var(--font-mono)!important;font-size:inherit!important;background:0 0!important;border:0!important}.handbook-chapter-pager{border-top:1px solid var(--handbook-rule);gap:2rem;margin-top:4rem;padding-top:1.5rem;display:flex}.handbook-chapter-pager a{min-width:0;max-width:48%;color:var(--handbook-ink);gap:.25rem;text-decoration:none;display:grid}.handbook-chapter-pager a.next{text-align:right;margin-left:auto}.handbook-chapter-pager span{color:var(--handbook-faint);font-size:.72rem}.handbook-chapter-pager strong{color:var(--handbook-ink);overflow-wrap:anywhere;font-family:Songti SC,STSong,Georgia,serif;font-size:.95rem;font-weight:600;line-height:1.6}.handbook-chapter-pager a:hover strong,.handbook-chapter-pager a:focus-visible strong{color:var(--handbook-accent)}.handbook-page-toc .handbook-rail-header{margin-bottom:.8rem}.handbook-page-toc li+li{margin-top:.2rem}.handbook-page-toc li.nested{padding-left:.8rem}.handbook-page-toc a{color:var(--handbook-muted);overflow-wrap:anywhere;padding:.35rem 0;font-size:.74rem;line-height:1.55;text-decoration:none;display:block}.handbook-page-toc a:hover,.handbook-page-toc a:focus-visible{color:var(--handbook-accent)}.handbook-toc-empty{color:var(--handbook-faint);margin:0;font-size:.75rem}.handbook-mobile-nav,.handbook-drawer-backdrop{display:none}@media (width<=1099px){.handbook-shell{grid-template-columns:minmax(12rem,16rem) minmax(0,46rem);width:min(100%,68rem)}.handbook-book-nav{max-height:calc(100vh - 11.5rem);max-height:calc(100dvh - 8rem - 3.5rem - env(safe-area-inset-bottom,0px))}.handbook-mobile-nav{z-index:58;justify-content:flex-end;align-items:center;width:min(100% - 3rem,68rem);min-height:2.75rem;margin:0 auto .75rem;display:flex;position:sticky;top:4.5rem}.handbook-mobile-nav [data-handbook-drawer-trigger=book],.handbook-mobile-title{display:none}.handbook-mobile-nav [data-handbook-drawer-trigger=page]{display:inline-flex}.handbook-mobile-nav button{border:1px solid var(--handbook-rule);background:var(--handbook-paper);width:2.75rem;height:2.75rem;color:var(--handbook-ink);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0}.handbook-mobile-nav button svg{width:1.2rem;height:1.2rem}.handbook-page-toc{z-index:72;width:min(88vw,21rem);max-height:none;padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem 2rem;background:var(--handbook-paper);visibility:hidden;border:0;transition:transform .18s,visibility 0s linear .18s;display:block;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(102%);box-shadow:0 0 2rem #0000002e}.handbook-reader[data-drawer-open=page] .handbook-page-toc{visibility:visible;transition-delay:0s;transform:translate(0)}.handbook-page-toc .handbook-rail-header button{display:inline-flex}.handbook-drawer-backdrop:not([hidden]){z-index:68;cursor:pointer;background:#1413127a;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}}@media (width<=819px){.handbook-reader{padding:1rem 0 0}.handbook-shell{width:100%;padding:0;display:block}.handbook-article{max-width:none;padding:2.5rem max(1.25rem, env(safe-area-inset-left)) 3.5rem;box-shadow:none;border-left:0;border-right:0}.handbook-mobile-nav{gap:.5rem;justify-content:initial;border:1px solid var(--handbook-rule);background:var(--handbook-paper);border-radius:6px;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;width:min(100% - 2rem,46rem);margin:0 auto 1rem;padding:.35rem;display:grid;box-shadow:0 .35rem 1rem #2b29261f}.handbook-mobile-nav [data-handbook-drawer-trigger=book]{display:inline-flex}.handbook-mobile-title{min-width:0;color:var(--handbook-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-family:Songti SC,STSong,Georgia,serif;font-size:.82rem;font-weight:600;line-height:1.4;display:block;overflow:hidden}.handbook-book-nav{z-index:72;width:min(88vw,21rem);max-height:none;padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem 2rem;background:var(--handbook-paper);visibility:hidden;border:0;transition:transform .18s,visibility 0s linear .18s;display:block;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-102%);box-shadow:0 0 2rem #0000002e}.handbook-reader[data-drawer-open=book] .handbook-book-nav{visibility:visible;transition-delay:0s;transform:translate(0)}.handbook-rail-header button{display:inline-flex}}@media (width<=520px){.handbook-chapter-header h1{font-size:2rem}.handbook-prose.prose{font-size:1rem;line-height:1.9}.handbook-prose.prose h2{font-size:1.5rem}.handbook-prose.prose h3{font-size:1.22rem}.source-evidence dl>div{grid-template-columns:1fr;gap:.1rem}.handbook-chapter-pager{gap:1rem}}@media (prefers-reduced-motion:reduce){.handbook-book-nav,.handbook-page-toc,.handbook-reading-progress span{transition:none}}
