:root{--slate-950:#020617;--slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--slate-50:#f8fafc;--teal-800:#115e59;--teal-700:#0f766e;--teal-600:#0d9488;--teal-300:#5eead4;--white:#fff;--amber-700:#b45309;--amber-100:#fef3c7;--red-700:#b91c1c;--red-50:#fef2f2;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--measure:72ch;--sidebar-w:17.5rem;--toc-w:14rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);color:var(--slate-800);background:var(--white);-webkit-text-size-adjust:100%;margin:0;font-size:1rem;line-height:1.65}.topbar{background:var(--slate-950);color:var(--slate-100);border-bottom:1px solid var(--slate-800);z-index:40;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:1rem;max-width:90rem;margin:0 auto;padding:.65rem 1rem;display:flex}.topbar-brand{color:var(--teal-300);letter-spacing:.01em;white-space:nowrap;font-size:1.02rem;font-weight:650;text-decoration:none}.topbar-brand:hover{text-underline-offset:4px;text-decoration:underline}.topbar-brand .topbar-brand-sub{color:var(--slate-400);margin-left:.45rem;font-size:.8rem;font-weight:400}.topbar-links{align-items:center;gap:.9rem;margin-left:auto;font-size:.85rem;display:flex}.topbar-links a{color:var(--slate-300);text-decoration:none}.topbar-links a:hover{color:var(--white);text-underline-offset:4px;text-decoration:underline}.search-box{flex:16rem;min-width:12rem;max-width:34rem;position:relative}.search-box input[type=search]{width:100%;font:inherit;color:var(--white);background:var(--slate-900);border:1px solid var(--slate-700);border-radius:.5rem;padding:.42rem .7rem;font-size:.9rem}.search-box input[type=search]::placeholder{color:var(--slate-400)}.search-box input[type=search]:focus-visible{outline:2px solid var(--teal-300);outline-offset:1px;border-color:var(--teal-600)}.search-results{background:var(--white);color:var(--slate-800);border:1px solid var(--slate-200);border-radius:.5rem;max-height:min(26rem,65vh);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0206172e}.search-results li{margin:0}.search-results a{color:var(--slate-900);border-radius:.4rem;padding:.5rem .65rem;text-decoration:none;display:block}.search-results a:hover,.search-results li.active a{background:var(--slate-100)}.search-results .sr-title{font-weight:600;display:block}.search-results .sr-section{text-transform:uppercase;letter-spacing:.06em;color:var(--teal-700);font-size:.72rem;display:block}.search-results .sr-snippet{color:var(--slate-600);font-size:.82rem;line-height:1.45;display:block}.search-results .sr-empty{color:var(--slate-500);padding:.55rem .65rem;font-size:.88rem;display:block}.layout{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);gap:2.5rem;max-width:90rem;margin:0 auto;padding:0 1rem;display:grid}@media (width>=85rem){.layout.with-toc{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--toc-w)}}.nav-toggle{opacity:0;pointer-events:none;position:absolute}.nav-toggle-label{display:none}.sidebar{border-right:1px solid var(--slate-200);padding:1.5rem .75rem 3rem 0;font-size:.88rem}.sidebar nav{max-height:calc(100vh - 5rem);position:sticky;top:4.2rem;overflow-y:auto}.sidebar h2{text-transform:uppercase;letter-spacing:.09em;color:var(--slate-500);margin:1.4rem 0 .35rem .5rem;font-size:.7rem;font-weight:700}.sidebar h2:first-child{margin-top:0}.sidebar ul{margin:0 0 .25rem;padding:0;list-style:none}.sidebar li{margin:0}.sidebar a{color:var(--slate-700);border-radius:.4rem;padding:.28rem .5rem;line-height:1.4;text-decoration:none;display:block}.sidebar a:hover{background:var(--slate-100);color:var(--slate-950)}.sidebar a[aria-current=page]{background:var(--slate-100);color:var(--teal-800);box-shadow:inset 3px 0 0 var(--teal-600);font-weight:650}.sidebar a:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.main-col{min-width:0;padding:2rem 0 4rem}.breadcrumb{color:var(--slate-500);margin-bottom:.6rem;font-size:.8rem}.breadcrumb a{color:var(--slate-600);text-decoration:none}.breadcrumb a:hover{color:var(--teal-700);text-underline-offset:3px;text-decoration:underline}article>h1{color:var(--slate-950);letter-spacing:-.01em;margin:0 0 .5rem;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.15rem);line-height:1.2}.lede{color:var(--slate-600);max-width:var(--measure);margin:0 0 1.75rem;font-size:1.08rem}.role-badges{flex-wrap:wrap;gap:.4rem;margin:0 0 1.75rem;display:flex}.role-badges span{letter-spacing:.05em;text-transform:uppercase;color:var(--teal-800);background:var(--slate-100);border:1px solid var(--slate-200);border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:650}.prose{max-width:var(--measure)}.prose h2{color:var(--slate-950);border-bottom:1px solid var(--slate-200);letter-spacing:-.005em;margin:2.4rem 0 .7rem;padding-bottom:.25rem;font-size:1.35rem}.prose h3{color:var(--slate-900);margin:1.8rem 0 .5rem;font-size:1.08rem}.prose h4{color:var(--slate-900);margin:1.4rem 0 .4rem;font-size:.98rem}.prose p,.prose li{font-size:.95rem}.prose a{color:var(--teal-700);text-underline-offset:3px}.prose a:hover{color:var(--teal-800)}.prose code{font-family:var(--font-mono);background:var(--slate-100);border:1px solid var(--slate-200);color:var(--slate-900);overflow-wrap:anywhere;border-radius:.3rem;padding:.08em .35em;font-size:.85em}.prose pre{border-radius:.6rem;padding:.9rem 1rem;font-size:.83rem;line-height:1.55;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.3rem 0}.prose li::marker{color:var(--slate-400)}.prose blockquote{border-left:4px solid var(--teal-600);background:var(--slate-50);color:var(--slate-700);border-radius:0 .45rem .45rem 0;margin:1.2rem 0;padding:.65rem 1rem}.prose blockquote p{margin:.25rem 0}.prose table{border-collapse:collapse;border-top:2px solid var(--slate-300);border-bottom:2px solid var(--slate-300);width:100%;margin:1.3rem 0;font-size:.86rem;display:block;overflow-x:auto}.prose thead th{text-align:left;background:var(--slate-100);color:var(--slate-900);border-bottom:1px solid var(--slate-200);white-space:nowrap;padding:.5rem .7rem;font-weight:650}.prose tbody td{border-bottom:1px solid var(--slate-100);vertical-align:top;padding:.5rem .7rem}.prose tbody tr:last-child td{border-bottom:none}.prose tbody code{white-space:nowrap}.prose hr{border:none;border-top:1px solid var(--slate-200);margin:2.2rem 0}.prose img{border:1px solid var(--slate-200);border-radius:.5rem;max-width:100%;height:auto}.prose dt{color:var(--slate-900);margin-top:.9rem;font-weight:650}.prose dd{margin:.15rem 0 0;padding-left:0}.pager{border-top:1px solid var(--slate-200);max-width:var(--measure);justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;font-size:.9rem;display:flex}.pager a{color:var(--teal-700);flex-direction:column;gap:.1rem;max-width:46%;text-decoration:none;display:flex}.pager a:hover{text-underline-offset:4px;text-decoration:underline}.pager .pager-direction{text-transform:uppercase;letter-spacing:.08em;color:var(--slate-500);font-size:.72rem}.pager .pager-next{text-align:right;margin-left:auto}.toc{padding:2rem 0 4rem .75rem;font-size:.8rem}.toc h2{text-transform:uppercase;letter-spacing:.09em;color:var(--slate-500);margin:0 0 .5rem;font-size:.7rem;font-weight:700}.toc ul{margin:0;padding:0;list-style:none;position:sticky;top:4.5rem}.toc li{margin:.15rem 0;line-height:1.4}.toc a{color:var(--slate-600);border-left:2px solid var(--slate-200);padding-left:.55rem;text-decoration:none;display:block}.toc a:hover{color:var(--teal-700);border-left-color:var(--teal-600)}.toc li.toc-depth-3 a{padding-left:1.15rem}.docs-footer{border-top:1px solid var(--slate-200);background:var(--slate-50);color:var(--slate-600);font-size:.82rem}.docs-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:90rem;margin:0 auto;padding:1.1rem 1rem;display:flex}.docs-footer a{color:var(--teal-700)}.home{padding:2.5rem 0 4rem}.home h1{color:var(--slate-950);letter-spacing:-.015em;margin:0 0 .75rem;font-size:clamp(1.9rem,1.3rem + 2.4vw,2.7rem);line-height:1.15}.home .lede{font-size:1.15rem}.home-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;margin-top:2.2rem;display:grid}.home-card{border:1px solid var(--slate-200);background:var(--white);color:inherit;border-radius:.7rem;flex-direction:column;gap:.4rem;padding:1.1rem 1.15rem;text-decoration:none;transition:border-color .12s;display:flex}.home-card:hover{border-color:var(--teal-600)}.home-card h2{color:var(--slate-950);margin:0;font-size:1.02rem}.home-card p{color:var(--slate-600);margin:0;font-size:.86rem;line-height:1.5}.home-card .home-card-count{text-transform:uppercase;letter-spacing:.07em;color:var(--teal-700);margin-top:auto;font-size:.72rem;font-weight:650}.home-quick{margin-top:2.6rem}.home-quick h2{color:var(--slate-950);margin:0 0 .6rem;font-size:1.15rem}.home-quick ul{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.45rem 1.4rem;margin:0;padding:0;list-style:none;display:grid}.home-quick a{color:var(--teal-700);text-decoration:none}.home-quick a:hover{text-underline-offset:4px;text-decoration:underline}@media (width<=55rem){.layout,.layout.with-toc{grid-template-columns:minmax(0,1fr);gap:0}.toc{display:none}.nav-toggle-label{border:1px solid var(--slate-300);color:var(--slate-700);background:var(--slate-50);cursor:pointer;user-select:none;border-radius:.5rem;align-items:center;gap:.5rem;margin:1rem 0 .4rem;padding:.5rem .8rem;font-size:.88rem;font-weight:600;display:flex}.nav-toggle-label:hover{border-color:var(--teal-600);color:var(--teal-800)}.nav-toggle:focus-visible~.nav-toggle-label{outline:2px solid var(--teal-600);outline-offset:2px}.sidebar{border-right:none;border-bottom:1px solid var(--slate-200);padding:0 0 1.25rem;display:none}.nav-toggle:checked~.sidebar{display:block}.sidebar nav{max-height:none;position:static}.main-col{padding-top:1.2rem}.search-results{max-height:55vh}}@media print{.topbar,.sidebar,.toc,.pager,.docs-footer,.nav-toggle-label{display:none!important}.layout,.layout.with-toc{display:block}body{color:#000;font-size:11pt}}
