@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/_astro/Geist-latin.BGnTDqni.woff2)format("woff2")}:root{--canvas:#f6f6f7;--surface:#fff;--surface-2:#f1f2f4;--line:#e6e7ea;--line-strong:#d5d7dc;--line-control:#8b9099;--ink:#111214;--ink-hover:#2a2c31;--on-ink:#fff;--ink-2:#4b4f57;--ink-3:#63676f;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--accent:#1f3a6e;--accent-soft:#e9eef7;--danger:#b42318;--danger-soft:#fef3f2;--danger-line:#fecdca;--success:#067647;--success-soft:#ecfdf3;--feature-slate:#5b6472;--feature-steel:#46617f;--feature-teal:#2f6f6a;--feature-moss:#4f6b4a;--feature-olive:#66683a;--feature-plum:#6b4a6b;--feature-rust:#8a4b3a;--feature-stone:#6f6a62;--shadow-card:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-raised:0 4px 8px -2px #10182814, 0 2px 4px -2px #1018280d}@layer base{html{background:var(--canvas);color-scheme:light}body{background:var(--canvas);color:var(--ink);font:400 14px/1.5 var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input::placeholder{color:var(--ink-3)}*{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}}:root{--top:56px;--guide-title:28px;--guide-title-compact:24px}html{scroll-padding-top:calc(var(--top) + 16px)}body{min-height:100vh}a{color:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:30;background:var(--ink);color:var(--on-ink);border-radius:8px;padding:8px 12px;font-weight:500;text-decoration:none;position:absolute;top:-48px;left:16px}.skip:focus{top:12px}.top{z-index:20;height:var(--top);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.mark{background:var(--accent);width:24px;height:24px;color:var(--on-ink);border-radius:6px;place-items:center;font-size:13px;font-weight:600;display:grid}.wordmark{letter-spacing:-.01em;font-size:17px;font-weight:600}.brand-sub{border-left:1px solid var(--line);color:var(--ink-3);padding-left:10px;font-weight:500}.search{width:300px;position:relative}.search-field{background:var(--surface-2);height:36px;color:var(--ink-3);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:0 8px 0 10px;display:flex}.search-field:focus-within{background:var(--surface);border-color:var(--line-strong)}.search-field svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;flex:none}.search-field input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1}.search-field input::-webkit-search-cancel-button{display:none}.search-field kbd{border:1px solid var(--line-strong);background:var(--surface);font:400 11px/16px var(--font-sans);color:var(--ink-3);border-radius:4px;padding:1px 6px}.search-results{background:var(--surface);border:1px solid var(--line);width:min(440px,100vw - 32px);max-height:70vh;box-shadow:var(--shadow-raised);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.search-results ul{margin:0;padding:0;list-style:none}.search-results a{border-radius:8px;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.search-results a:hover,.search-results a:focus-visible{background:var(--surface-2)}.search-results strong{font-weight:500}.search-results span{color:var(--ink-2);font-size:13px}.search-results mark{background:var(--accent-soft);color:var(--ink);border-radius:4px}.search-message{color:var(--ink-2);margin:0;padding:10px 12px}.segmented{background:var(--surface-2);border-radius:8px;padding:2px;display:flex}.segmented a{height:28px;color:var(--ink-2);border-radius:6px;place-items:center;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;display:grid}.segmented a:hover{color:var(--ink)}.segmented a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.shell{grid-template-columns:232px minmax(0,860px);justify-content:center;gap:40px;padding:32px 24px 64px;display:grid}.toc details{top:calc(var(--top) + 32px);position:sticky}.toc summary{display:none}.toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--ink-2);border-radius:6px;padding:7px 10px;font-weight:500;text-decoration:none;display:block}.toc a:hover{background:var(--surface-2);color:var(--ink)}.toc a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.toc-journal{border-top:1px solid var(--line);margin-top:16px;border-radius:0!important;padding-top:16px!important;font-weight:400!important}main{min-width:0}.prose{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:12px;padding:40px 48px 44px;font-size:15px;line-height:1.65}.prose>:first-child{margin-top:0}.prose h1{font-size:var(--guide-title);letter-spacing:-.015em;text-wrap:balance;margin:0 0 8px;font-weight:600;line-height:1.25}.prose .lead{color:var(--ink-2);margin:0 0 32px;font-size:16px}.prose h2{letter-spacing:-.01em;text-wrap:balance;margin:40px 0 12px;font-size:20px;font-weight:600;line-height:1.35}.prose p,.prose ul,.prose ol:not(.chapter-list){max-width:68ch;margin:0 0 16px}.prose ul,.prose ol{padding-left:22px}.prose li+li{margin-top:6px}.prose li::marker{color:var(--ink-3)}.prose strong{font-weight:600}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.prose table{border-collapse:collapse;width:100%;max-width:560px;margin:8px 0 16px;font-size:14px}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:9px 12px}.prose th{color:var(--ink-2);background:var(--surface-2);font-weight:500}.prose thead th:first-child{border-top-left-radius:6px}.prose thead th:last-child{border-top-right-radius:6px}.capture{margin:24px 0 32px}.capture a{border-radius:8px;display:block}.capture a:hover img{border-color:var(--line-strong)}.capture img{border:1px solid var(--line);background:var(--canvas);width:auto;max-width:100%;height:auto;box-shadow:var(--shadow-raised);border-radius:8px;margin:0 auto;display:block}.capture figcaption{color:var(--ink-3);margin-top:10px;font-size:13px}.chapter-list{margin:0;padding:0;list-style:none}.chapter-list li{border-top:1px solid var(--line);padding:16px 0}.chapter-list li:last-child{border-bottom:1px solid var(--line)}.chapter-list a{color:var(--ink);font-size:16px;font-weight:600;text-decoration:none}.chapter-list a:hover{color:var(--accent)}.chapter-list p{color:var(--ink-2);margin:4px 0 0}.pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.pager a{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:2px;padding:14px 16px;font-weight:500;text-decoration:none;display:grid}.pager a:hover{border-color:var(--line-strong)}.pager span{color:var(--ink-3);font-size:12px;font-weight:500}.pager-next{text-align:right;grid-column:2}.version{color:var(--ink-3);margin-top:24px;font-size:13px}.version p{margin:0}.version a{color:var(--accent);text-underline-offset:3px}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:16px}.toc details{background:var(--surface);border:1px solid var(--line);border-radius:8px;position:static}.toc summary{cursor:pointer;align-items:center;height:40px;padding:0 14px;font-weight:500;display:flex}.toc ol{padding:0 6px 6px}.toc-journal{margin:6px;padding:10px!important}.toc summary:after{content:"";border:solid var(--ink-3);border-width:0 1.5px 1.5px 0;width:8px;height:8px;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.toc details[open] summary:after{transform:rotate(-135deg)translate(-2px)}.toc summary::-webkit-details-marker{display:none}.search kbd{display:none}}@media (width<=640px){.top{gap:10px;padding:0 12px}.brand-sub,.wordmark{display:none}.search{flex:1;width:auto}.brand{margin-right:0}.prose{padding:24px 20px 28px}.prose h1{font-size:var(--guide-title-compact)}.pager{grid-template-columns:1fr}.pager-next{grid-column:1}}
