:root{--doc-bg:#f8fafc;--doc-bg-secondary:#ffffff;--doc-bg-tertiary:#f1f5f9;--doc-text:#0f172a;--doc-text-secondary:#475569;--doc-text-muted:#94a3b8;--doc-border:#e2e8f0;--doc-border-strong:#cbd5e1;--doc-accent:#3b82f6;--doc-accent-hover:#60a5fa;--doc-accent-soft:rgba(59, 130, 246, 0.08);--doc-accent-glow:rgba(59, 130, 246, 0.15);--doc-header-bg:#0d2137;--doc-header-text:#f8fafc;--doc-shadow-sm:0 1px 3px rgba(15, 23, 42, 0.06);--doc-shadow-md:0 4px 12px rgba(15, 23, 42, 0.08);--doc-shadow-lg:0 8px 30px rgba(15, 23, 42, 0.12);--doc-font-sans:'Sora', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;--doc-font-serif:'Noto Serif SC', 'Source Han Serif SC', Georgia, serif;--doc-font-mono:'JetBrains Mono', 'Fira Code', 'SF Mono', Monaco, monospace;--doc-font-display:'Sora', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;--doc-content-max-width:760px;--doc-line-height:1.8;--doc-font-size-base:16px;--doc-radius-sm:8px;--doc-radius-md:12px;--doc-radius-lg:12px}.dark{--doc-bg:#0f172a;--doc-bg-secondary:#1e293b;--doc-bg-tertiary:#334155;--doc-text:#f1f5f9;--doc-text-secondary:#94a3b8;--doc-text-muted:#64748b;--doc-border:#334155;--doc-border-strong:#475569;--doc-accent:#60a5fa;--doc-accent-hover:#93c5fd;--doc-accent-soft:rgba(96, 165, 250, 0.1);--doc-accent-glow:rgba(96, 165, 250, 0.18);--doc-header-bg:#0d2137;--doc-header-text:#f8fafc;--doc-shadow-sm:0 1px 3px rgba(0, 0, 0, 0.2);--doc-shadow-md:0 4px 12px rgba(0, 0, 0, 0.25);--doc-shadow-lg:0 8px 30px rgba(0, 0, 0, 0.35)}.container{max-width:100%!important}.book-menu,.book-menu-content{display:none!important;width:0!important;min-width:0!important;flex:0 0!important}#menu-control,label[for=menu-control],.book-menu-overlay{display:none!important}.book-toc{display:none!important}.book-page{max-width:none;padding:24px 32px;background:var(--doc-bg);flex:auto}.book-post{background:var(--doc-bg-secondary);border-radius:4px;padding:32px 40px;margin-bottom:40px;border:1px solid var(--doc-border)}.book-post-content,.markdown-inner{font-family:var(--doc-font-sans);font-size:var(--doc-font-size-base);line-height:var(--doc-line-height);color:var(--doc-text)}.book-post-content h1,.book-post-content h2,.book-post-content h3,.book-post-content h4,.book-post-content h5,.book-post-content h6,.markdown-inner h1,.markdown-inner h2,.markdown-inner h3,.markdown-inner h4,.markdown-inner h5,.markdown-inner h6{font-family:var(--doc-font-display);font-weight:600;color:var(--doc-text);margin-top:2em;margin-bottom:.75em;line-height:1.3;letter-spacing:-.025em}.book-post-content h1{font-size:2.25rem;margin-top:0}.book-post-content h2{font-size:1.75rem;padding-bottom:.5em;border-bottom:1px solid var(--doc-border-strong)}.book-post-content h3{font-size:1.375rem;color:var(--doc-text-secondary)}.book-post-content h4{font-size:1.125rem}.book-post-content h5{font-size:1rem}.book-post-content h6{font-size:.875rem;color:var(--doc-text-secondary)}.book-post-content h1 a.anchor,.book-post-content h2 a.anchor,.book-post-content h3 a.anchor,.book-post-content h4 a.anchor,.book-post-content h5 a.anchor,.book-post-content h6 a.anchor{color:inherit;text-decoration:none;opacity:0;margin-left:.5em;font-size:.85em;transition:opacity .2s}.book-post-content h1:hover a.anchor,.book-post-content h2:hover a.anchor,.book-post-content h3:hover a.anchor,.book-post-content h4:hover a.anchor,.book-post-content h5:hover a.anchor,.book-post-content h6:hover a.anchor{opacity:.5}.book-post-content p,.markdown-inner p{margin-bottom:1.25em;color:var(--doc-text)}.book-post-content strong,.markdown-inner strong{font-weight:600;color:var(--doc-text)}.book-post-content em,.markdown-inner em{font-style:italic}.book-post-content a,.markdown-inner a{color:var(--doc-accent);text-decoration:none;border-bottom:1px solid var(--doc-accent-soft);transition:all .2s ease}.book-post-content a:hover,.markdown-inner a:hover{color:var(--doc-accent-hover);border-bottom-color:var(--doc-accent)}.book-post-content ul,.book-post-content ol,.markdown-inner ul,.markdown-inner ol{margin-bottom:1.25em;padding-left:1.5em}.book-post-content li,.markdown-inner li{margin-bottom:.5em;line-height:var(--doc-line-height)}.book-post-content ul ul,.book-post-content ol ol,.book-post-content ul ol,.book-post-content ol ul,.markdown-inner ul ul,.markdown-inner ol ol,.markdown-inner ul ol,.markdown-inner ol ul{margin-top:.5em;margin-bottom:.5em}.book-post-content ul li::marker,.markdown-inner ul li::marker{color:var(--doc-accent)}.book-post-content ol li::marker,.markdown-inner ol li::marker{color:var(--doc-accent);font-weight:600}.book-post-content blockquote,.markdown-inner blockquote{margin:2em 0;padding:16px 24px;background:var(--doc-accent-soft);border-left:3px solid var(--doc-accent);border-radius:0;color:var(--doc-text-secondary);font-style:normal}.book-post-content blockquote p:last-child,.markdown-inner blockquote p:last-child{margin-bottom:0}.book-post-content blockquote cite,.markdown-inner blockquote cite{display:block;margin-top:.5em;font-size:.875em;font-style:normal;color:var(--doc-text-muted)}.book-post-content table,.markdown-inner table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.9375em;border-radius:10px;overflow:hidden;border:1px solid #d8e4f5;box-shadow:0 6px 18px rgba(15,40,80,6%)}.book-post-content thead,.markdown-inner thead{background:linear-gradient(180deg,#eff6ff 0%,#e2eeff 100%)}.book-post-content th,.markdown-inner th{font-weight:600;text-align:left;padding:14px 16px;border-bottom:1px solid #c7d8f0;color:#21486f}.book-post-content td,.markdown-inner td{padding:12px 16px;border-bottom:1px solid var(--doc-border);vertical-align:top}.book-post-content tr:last-child td,.markdown-inner tr:last-child td{border-bottom:none}.book-post-content tr:hover td,.markdown-inner tr:hover td{background:var(--doc-accent-soft)}.book-post-content hr,.markdown-inner hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--doc-border-strong),transparent);margin:3em 0}.architecture-diagram{background:var(--doc-bg);border:1px solid var(--doc-border);border-radius:var(--doc-radius-md);padding:24px;margin:24px 0;overflow-x:auto;font-family:var(--doc-font-mono);font-size:.8125rem;line-height:1.5;color:var(--doc-text)}.architecture-diagram pre{margin:0;padding:0;background:0 0;border:none;border-radius:0;box-shadow:none;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}.architecture-diagram code{background:0 0;border:none;padding:0;color:inherit;font-family:inherit;font-size:inherit}.book-post-content img,.markdown-inner img{max-width:100%;height:auto;border-radius:var(--doc-radius-md);margin:1.5em 0;box-shadow:var(--doc-shadow-md)}.book-post-date{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--doc-text-muted);margin-bottom:1.5em}.book-post-date img{width:1em;height:1em;margin:0;box-shadow:none}.book-post h1,.book-post-title{font-family:var(--doc-font-display);font-size:2.25rem;font-weight:700;margin:0 0 12px;line-height:1.35;letter-spacing:-.025em;color:var(--doc-text)}.book-post-meta{font-size:.875rem;color:var(--doc-text-muted);margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--doc-border);display:flex;align-items:center;gap:6px}.book-post-meta time,.book-post-meta .meta-item{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--doc-accent-soft);border-radius:var(--doc-radius-sm);font-size:.8125rem;color:var(--doc-accent);font-weight:500}body.homepage-landing{overflow:hidden}body.homepage-landing .home-landing{opacity:1;transition:opacity 700ms ease}body.homepage-landing.homepage-landing-fadeout .home-landing{opacity:0}.home-landing{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;width:100vw;height:100dvh;background:#05070b;z-index:9999;cursor:pointer;overflow:hidden}.home-landing-image{display:block;width:100vw;height:100dvh;max-width:none;max-height:none;object-fit:cover;object-position:center}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.875rem;color:var(--doc-text-muted)}.meta-item{display:inline-flex;align-items:center;gap:5px;color:var(--doc-text-secondary);font-size:.8125rem}.meta-item svg{opacity:.6}.meta-item.author{font-weight:500}.book-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--doc-border)}.book-header h3{font-family:var(--doc-font-display);font-size:1.25rem;font-weight:600;color:var(--doc-text);margin:0}.book-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--doc-border);font-size:.875rem;color:var(--doc-text-muted)}.book-footer a{color:var(--doc-accent);display:inline-flex;align-items:center;gap:6px}.book-footer a:hover{color:var(--doc-accent-hover)}.book-footer img{width:1em;height:1em;margin:0;box-shadow:none}.book-post-nav{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--doc-border)}.book-post-nav a{flex:1;padding:20px 24px;background:var(--doc-bg-secondary);border:1px solid var(--doc-border);border-radius:4px;color:var(--doc-text);text-decoration:none;transition:all .25s ease;font-size:.9375rem}.book-post-nav a:hover{background:var(--doc-accent-soft);border-color:var(--doc-accent)}.book-post-nav a span{display:block;font-size:.75rem;color:var(--doc-text-muted);margin-bottom:4px}::selection{background:var(--doc-accent-glow);color:var(--doc-text)}.book-post-content a:focus-visible,.markdown-inner a:focus-visible{outline:2px solid var(--doc-accent);outline-offset:2px;border-radius:2px}.book-menu-content{background:var(--doc-bg)!important;border:none!important;box-shadow:none!important;border-right:1px solid var(--doc-border);border-radius:0;padding:20px 16px!important}.book-menu-content nav>ul{list-style:none;padding:0;margin:0}.book-menu-content nav>ul>li>a,.book-menu-content nav>ul>li>span,.book-menu-content nav>ul>li>label{font-family:var(--doc-font-sans);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--doc-text-muted);padding:6px 12px;margin:2px 0;border-radius:var(--doc-radius-sm);transition:background .15s ease,color .15s ease;white-space:normal;word-break:break-word;display:flex;align-items:center;line-height:1.45}.book-menu-content nav>ul>li>a:hover{background:var(--doc-accent-soft);color:var(--doc-accent)}.book-menu-content nav>ul>li>a.active{background:var(--doc-accent-soft);color:var(--doc-accent);font-weight:700}.book-menu-content nav ul ul{padding-inline-start:0;margin:2px 0}.book-menu-content nav ul ul a{font-family:var(--doc-font-sans);font-size:.875rem;font-weight:400;color:var(--doc-text-secondary);padding:7px 12px 7px 20px;border-radius:var(--doc-radius-sm);transition:background .15s ease,color .15s ease;border-left:2px solid transparent;white-space:normal;word-break:break-word;display:block;line-height:1.45}.book-menu-content nav ul ul a:hover{background:var(--doc-accent-soft);color:var(--doc-accent);border-left-color:var(--doc-accent)}.book-menu-content nav ul ul a.active{color:var(--doc-accent);border-left-color:var(--doc-accent);background:var(--doc-accent-soft);font-weight:500}.book-toc-content{background:var(--doc-bg)!important;border:none!important;box-shadow:none!important;border-left:1px solid var(--doc-border);border-radius:0;padding:20px 16px!important}.book-toc-content nav>ul>li:first-child,.book-menu-toc nav>ul>li:first-child{margin-top:0}.book-toc-content nav>ul>li>a,.book-menu-toc nav>ul>li>a{font-family:var(--doc-font-sans);font-size:.8125rem;font-weight:500;color:var(--doc-text-secondary);padding:5px 12px;border-radius:var(--doc-radius-sm);border-left:2px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease;display:block;white-space:normal;word-break:break-word;line-height:1.5}.book-toc-content nav>ul>li>a:hover,.book-menu-toc nav>ul>li>a:hover{background:var(--doc-accent-soft);color:var(--doc-accent);border-left-color:var(--doc-accent)}.book-toc-content nav>ul>li>a.active,.book-menu-toc nav>ul>li>a.active{color:var(--doc-accent);border-left-color:var(--doc-accent);background:var(--doc-accent-soft)}.book-toc-content nav ul ul,.book-menu-toc nav ul ul{padding-inline-start:12px}.book-toc-content nav ul ul a,.book-menu-toc nav ul ul a{font-size:.75rem;font-weight:400;color:var(--doc-text-muted);padding:4px 12px;border-radius:5px;border-left:2px solid transparent;transition:background .15s ease,color .15s ease;display:block;line-height:1.5}.book-toc-content nav ul ul a:hover,.book-menu-toc nav ul ul a:hover{color:var(--doc-accent);border-left-color:var(--doc-accent);background:var(--doc-accent-soft)}.book-toc-content nav ul ul a.active,.book-menu-toc nav ul ul a.active{color:var(--doc-accent);border-left-color:var(--doc-accent)}.book-menu-toc-rule{border:none;border-top:1px solid var(--doc-border);margin:16px 0 12px}.book-menu-toc-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--doc-text-muted);padding:0 12px;margin:0 0 6px}.book-menu-content::-webkit-scrollbar,.book-toc-content::-webkit-scrollbar{width:3px}.book-menu-content::-webkit-scrollbar-track,.book-toc-content::-webkit-scrollbar-track{background:0 0}.book-menu-content::-webkit-scrollbar-thumb,.book-toc-content::-webkit-scrollbar-thumb{background:var(--doc-border);border-radius:2px}.book-menu-content::-webkit-scrollbar-thumb:hover,.book-toc-content::-webkit-scrollbar-thumb:hover{background:var(--doc-text-muted)}.book-brand{background:var(--doc-header-bg);margin:-20px -16px 16px!important;padding:22px 16px!important;border-bottom:none}.book-brand a{font-family:var(--doc-font-display);font-weight:700;font-size:1.0625rem;color:var(--doc-header-text)!important;letter-spacing:-.01em;transition:opacity .15s ease}.book-brand a:hover{color:var(--doc-header-text)!important;opacity:.8}.book-brand img{box-shadow:none;border-radius:4px}.book-search{margin:8px 0 16px!important;padding:0 4px}.book-search input{background:var(--doc-bg-secondary)!important;border:1px solid var(--doc-border)!important;border-radius:var(--doc-radius-sm)!important;padding:8px 12px!important;font-size:.8125rem;font-family:var(--doc-font-sans);color:var(--doc-text);transition:border-color .15s ease,box-shadow .15s ease}.book-search input:focus{border-color:var(--doc-accent)!important;box-shadow:0 0 0 3px var(--doc-accent-glow);outline:none}.book-search input::placeholder{color:var(--doc-text-muted)}.book-section-flat{margin:20px 0 4px!important}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-size:.7rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.1em;color:var(--doc-text-muted)!important;padding:4px 12px!important;display:block}.book-post-content pre,.book-post-content .highlight,.markdown-inner pre,.markdown-inner .highlight,.chroma{background:#1e1e2e!important;border:1px solid rgba(255,255,255,6%);border-radius:12px;padding:0;margin:28px 0;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease}.book-post-content pre:hover,.book-post-content .highlight:hover,.markdown-inner pre:hover,.markdown-inner .highlight:hover{transform:translateY(-1px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.book-post-content pre code,.book-post-content .highlight code,.markdown-inner pre code,.markdown-inner .highlight code,.chroma code{display:block;padding:20px;font-family:jetbrains mono,fira code,monospace;font-size:13.5px;line-height:1.7;color:#cdd6f4;background:0 0!important;overflow-x:auto}.book-post-content code:not(pre code),.markdown-inner code:not(pre code){font-family:jetbrains mono,monospace;font-size:.875em;padding:3px 8px;background:rgba(137,180,250,.12);border:1px solid rgba(137,180,250,.2);border-radius:4px;color:#89b4fa}.book-post-content pre code::-webkit-scrollbar,.book-post-content .highlight code::-webkit-scrollbar,.chroma code::-webkit-scrollbar{height:6px}.book-post-content pre code::-webkit-scrollbar-track,.book-post-content .highlight code::-webkit-scrollbar-track,.chroma code::-webkit-scrollbar-track{background:0 0}.book-post-content pre code::-webkit-scrollbar-thumb,.book-post-content .highlight code::-webkit-scrollbar-thumb,.chroma code::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}.tech-home{position:relative;isolation:isolate;display:grid;gap:28px}.tech-home-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;gap:20px}.tech-home-hero-content{background:linear-gradient(130deg,#0b1f39 0%,#102b4d 55%,#173e6a 100%);color:#edf6ff;border-radius:14px;border:1px solid rgba(148,197,255,.25);box-shadow:var(--doc-shadow-lg);padding:34px 30px}.tech-home-eyebrow{margin:0 0 12px;font-size:.75rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:#93c5fd}.tech-home-hero-content h1{margin:0;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.2;color:#fff}.tech-home-subtitle{margin:14px 0 0;max-width:60ch;color:rgba(241,245,249,.95);line-height:1.8}.tech-home-hero-panel{border:1px solid #d5e3f6;border-radius:14px;background:linear-gradient(180deg,#fcfdff 0%,#f4f8ff 100%);box-shadow:var(--doc-shadow-md);padding:18px;display:grid;gap:12px}.hero-gh-profile{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}.hero-gh-profile img{width:64px;height:64px;border-radius:50%;border:2px solid #d7e5f8;box-shadow:0 8px 18px rgba(27,66,116,.16)}.hero-gh-meta{display:grid;gap:6px}.tech-home-hero-panel h2{margin:0;font-size:clamp(1.02rem,1.3vw,1.14rem);line-height:1.35;color:#173f68}.hero-gh-meta a{text-decoration:none;color:#2b5d90;font-family:var(--doc-font-mono);font-size:.72rem}.hero-gh-meta a:hover{color:#194f85}.hero-gh-achievements{display:flex;align-items:center;gap:10px;padding:10px 10px 8px;border:1px solid #d8e5f7;border-radius:10px;background:#f7fbff}.hero-gh-achievements img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(37,99,235,.2))}.hero-panel-action{margin-top:4px}.hero-panel-action a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #c9dcf6;background:#fff;color:#1d4f84;border-radius:10px;padding:8px 12px;font-size:.8rem;font-family:var(--doc-font-mono);transition:background .2s ease,border-color .2s ease,color .2s ease}.hero-panel-action a:hover{background:#eaf2ff;border-color:#b8cff2;color:#123f72}.tech-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tech-post-card{background:var(--doc-bg-secondary);border:1px solid var(--doc-border);border-radius:12px;box-shadow:var(--doc-shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tech-post-card.is-featured{grid-column:span 2;border-color:rgba(59,130,246,.34);box-shadow:var(--doc-shadow-md)}.tech-post-card:hover{transform:translateY(-2px);border-color:rgba(59,130,246,.4);box-shadow:var(--doc-shadow-md)}.tech-post-link{display:block;padding:20px;text-decoration:none;color:inherit}.tech-post-link:hover{text-decoration:none}.tech-post-card-header{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tech-post-card-header span,.tech-post-card-header time{font-size:.72rem;letter-spacing:.02em;border-radius:999px;border:1px solid var(--doc-border);background:#f8fbff;color:#31557c;padding:3px 10px}.tech-post-link h2{margin:0;font-size:1.2rem;line-height:1.4;color:var(--doc-text)}.tech-post-link p{margin:10px 0 16px;color:var(--doc-text-secondary);line-height:1.8}.tech-post-cta{display:inline-flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--doc-accent)}.tech-post-shell{background:var(--doc-bg-secondary);border:1px solid var(--doc-border);border-radius:12px;padding:28px 34px;box-shadow:var(--doc-shadow-md)}.tech-post-hero{position:relative;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--doc-border)}.post-back-home{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px;padding:6px 12px;border-radius:999px;border:1px solid #d6e2f5;background:#f6faff;color:#245285;font-family:var(--doc-font-mono);font-size:.75rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}.post-back-home:hover{background:#eaf2ff;border-color:#bcd2f6;color:#194b82;text-decoration:none}.tech-post-kicker{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3b82f6}.tech-post-shell .book-post-meta{margin-bottom:0;padding-bottom:0;border-bottom:none;gap:8px}.tech-post-shell .book-post-section{margin:0}@keyframes techPulse{0%,100%{opacity:.5;transform:scaleX(1)}50%{opacity:1;transform:scaleX(.98)}}@media(max-width:980px){.book-page{padding:18px 16px}.tech-home-hero{grid-template-columns:1fr}.tech-post-grid{grid-template-columns:1fr}.tech-post-card.is-featured{grid-column:auto}.tech-post-shell{padding:22px 18px}.hero-gh-profile{grid-template-columns:1fr;justify-items:start}.hero-gh-achievements{justify-content:flex-start}.hero-gh-meta a{width:fit-content}.hero-panel-action a{width:100%}}.book-post-content pre code::-webkit-scrollbar-thumb:hover,.book-post-content .highlight code::-webkit-scrollbar-thumb:hover,.chroma code::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}.book-post-content pre ::selection,.book-post-content .highlight ::selection,.book-post-content pre code::selection,.book-post-content .highlight code::selection,.chroma ::selection{background:rgba(137,180,250,.3)!important;color:#cdd6f4!important}.chroma .hl{background:rgba(203,166,247,.15);display:block}.chroma .k{color:#cba6f7}.chroma .kn{color:#cba6f7}.chroma .o{color:#89dceb}.chroma .c{color:#6c7086;font-style:italic}.chroma .ch{color:#6c7086;font-style:italic}.chroma .cm{color:#6c7086;font-style:italic}.chroma .cp{color:#f38ba8}.chroma .cpf{color:#f38ba8}.chroma .c1{color:#6c7086;font-style:italic}.chroma .cs{color:#6c7086;font-style:italic}.chroma .gd{color:#f38ba8}.chroma .ge{font-style:italic}.chroma .ges{font-style:italic}.chroma .gh{color:#89b4fa;font-weight:400}.chroma .gi{color:#a6e3a1}.chroma .go{color:#bac2de}.chroma .gp{color:#89b4fa;font-weight:400}.chroma .gr{color:#f38ba8}.chroma .gs{font-weight:700}.chroma .gt{color:#f38ba8}.chroma .h{color:#89b4fa}.chroma .nd{color:#f9e2af}.chroma .nf{color:#89b4fa}.chroma .fm{color:#89b4fa}.chroma .py{color:#89b4fa}.chroma .nb{color:#89b4fa}.chroma .bp{color:#89b4fa}.chroma .nc{color:#f9e2af;font-weight:700}.chroma .nn{color:#f9e2af}.chroma .no{color:#f38ba8}.chroma .nv{color:#fab387}.chroma .vc{color:#fab387}.chroma .vg{color:#fab387}.chroma .vi{color:#fab387}.chroma .vm{color:#fab387}.chroma .l{color:#fab387}.chroma .ld{color:#a6e3a1}.chroma .m{color:#fab387}.chroma .mb{color:#fab387}.chroma .mf{color:#fab387}.chroma .mh{color:#fab387}.chroma .mi{color:#fab387}.chroma .il{color:#fab387}.chroma .mo{color:#fab387}.chroma .sa{color:#a6e3a1}.chroma .sb{color:#a6e3a1}.chroma .sc{color:#a6e3a1}.chroma .dl{color:#a6e3a1}.chroma .sd{color:#a6e3a1;font-style:italic}.chroma .s2{color:#a6e3a1}.chroma .se{color:#f9e2af;font-weight:700}.chroma .sh{color:#a6e3a1}.chroma .si{color:#f9e2af}.chroma .sx{color:#a6e3a1}.chroma .sr{color:#a6e3a1}.chroma .s1{color:#a6e3a1}.chroma .ss{color:#a6e3a1}.chroma .ta{color:#f9e2af}.chroma .bs{color:#a6e3a1}.chroma .p{color:#cdd6f4}.chroma .w{color:#6c7086}.chroma .nt{color:#cba6f7}.chroma .nx{color:#89b4fa}.chroma .ni{color:#f38ba8}.chroma .na{color:#89b4fa}.chroma .ne{color:#f9e2af}.chroma .nl{color:#cdd6f4}.chroma .py{color:#cdd6f4}@media screen and (min-width:96rem){main.container.flex{gap:1.5rem;padding:1.5rem}.book-menu .book-menu-content,.book-toc .book-toc-content{top:1.5rem!important}}@media screen and (max-width:56rem){.book-menu{margin-inline-start:-14rem!important}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(14rem)!important}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-14rem)!important}}@media(max-width:1024px){.book-post{padding:28px 32px}}@media(max-width:768px){.book-page{padding:16px}.book-post{padding:20px 16px;border-radius:8px}.book-post h1{font-size:1.875rem}.book-post-content h1{font-size:1.75rem}.book-post-content h2{font-size:1.5rem}.book-post-content h3{font-size:1.25rem}.book-post-content pre code,.book-post-content .highlight code,.markdown-inner pre code,.markdown-inner .highlight code,.chroma code{padding:16px;font-size:12.5px}}.custom-book-menu{display:grid;gap:12px}.custom-book-menu .book-brand{background:linear-gradient(150deg,#eef6ff 0%,#e4f0ff 100%);margin:-14px -12px 10px!important;padding:18px 14px!important;border-bottom:1px solid #d8e6fa;border-radius:0 0 12px 12px}.custom-book-menu .book-brand a{color:#123c67!important;font-family:var(--doc-font-display);font-size:1rem;letter-spacing:0}.cbm-intro,.cbm-nav,.cbm-metrics,.cbm-stack{border:1px solid #dce8fa;border-radius:11px;background:#fff;box-shadow:0 6px 20px rgba(15,50,100,6%);padding:12px}.cbm-eyebrow{margin:0;font-size:.66rem;font-family:var(--doc-font-mono);font-weight:700;letter-spacing:.12em;color:#5a78a0}.cbm-copy{margin:8px 0 0;font-size:.82rem;line-height:1.65;color:#3f5f82}.cbm-nav{display:grid;gap:7px}.cbm-nav a{text-decoration:none;color:#214d7e;font-size:.83rem;border:1px solid #e3edfb;border-radius:8px;background:#f8fbff;padding:8px 10px;transition:background .18s ease,border-color .18s ease,color .18s ease}.cbm-nav a:hover{background:#edf4ff;border-color:#c8dcfa;color:#1b4674}.cbm-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cbm-metrics article{border:1px solid #e2eaf9;border-radius:9px;background:#f7fbff;padding:8px}.cbm-metrics span{display:block;font-family:var(--doc-font-mono);font-size:.62rem;color:#738db0;letter-spacing:.09em}.cbm-metrics strong{display:block;margin-top:6px;font-family:var(--doc-font-mono);font-size:.86rem;color:#153b63;line-height:1.3}.cbm-stack{display:flex;flex-wrap:wrap;gap:6px}.cbm-stack p{margin:0;font-size:.7rem;font-family:var(--doc-font-mono);color:#4d6d92;border:1px solid #d9e7fb;border-radius:999px;padding:4px 9px;background:#f4f9ff}.cbm-status{margin:2px 2px 0;padding:8px 4px 2px;border-top:1px dashed #d6e4f8;font-family:var(--doc-font-mono);font-size:.66rem;letter-spacing:.04em;color:#6a86aa}@media(max-width:980px){.custom-book-menu .book-brand{margin:-14px -12px 8px!important;padding:14px 12px!important}.cbm-metrics{grid-template-columns:1fr}}