.doc{padding:28px 0 96px}.doc-wrap{max-width:800px;margin:0 auto;padding:0 28px}.doc-wrap--toc{max-width:1140px;display:grid;grid-template-columns:260px minmax(0,1fr);column-gap:40px;align-items:start}.doc-sidenav{position:sticky;top:80px;align-self:start;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 104px);padding-top:2px}.doc-sidenav .doc-toc{min-height:0;overflow:auto}.doc-toc__label{margin:0 0 12px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.doc-toc>ol{margin:0;padding:0;list-style:none}.doc-toc li{margin:0}.doc-toc a{display:block;padding:6px 0 6px 12px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;font-size:14px;line-height:1.35;font-weight:500}.doc-toc a:hover{color:var(--ink)}.doc-toc a.is-active{color:var(--ink);border-left-color:var(--blue)}.doc-toc ol ol,.doc-toc .doc-toc__sub{display:flex;flex-direction:column;gap:4px;margin:6px 0 14px;padding:0;list-style:none}.doc-toc .doc-toc__sub a{padding:5px 8px 5px 28px;font-size:13px;font-weight:400;line-height:1.4;color:var(--ink-3)}.doc-toc .doc-toc__sub a:hover{color:var(--ink)}.doc-toc .doc-toc__sub a.is-active{color:var(--ink);border-left-color:var(--blue)}.doc-main{min-width:0}.doc-banner{display:flex;align-items:center;gap:16px;margin:0 0 28px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--blue-soft)}.doc-banner--end{margin:36px 0 0;background:var(--paper);box-shadow:var(--shadow-s)}.doc-banner__mark{flex:0 0 auto;width:36px;height:36px;display:block}.doc-banner__copy{min-width:0;flex:1}.doc-banner__kicker{margin:0;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.doc-banner__line{margin:3px 0 0;font-size:16px;font-weight:500;letter-spacing:-.015em;line-height:1.35;color:var(--ink)}.doc-banner__meta{margin:4px 0 0;font-size:13px;color:var(--ink-3)}.doc-banner .btn{flex:0 0 auto;text-decoration:none}.doc-banner--side{flex-direction:column;align-items:stretch;gap:10px;margin:0;padding:14px;flex:0 0 auto}.doc-banner--side .doc-banner__mark{width:28px;height:28px}.doc-banner--side .doc-banner__line{font-size:14.5px}.doc-banner--side .doc-banner__meta{font-size:12px}.doc-banner--side .btn{width:100%;height:36px;justify-content:center;font-size:13.5px}@media (max-width: 640px){.doc-banner{flex-wrap:wrap;gap:12px}.doc-banner .btn{width:100%;justify-content:center}}@media (max-width: 900px){.doc-wrap--toc{display:flex;flex-direction:column;max-width:800px}.doc-main{order:1}.doc-sidenav{order:2;position:static;max-height:none;overflow:visible;margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-s)}.doc-toc a{padding:8px 10px;border-left:none;border-radius:var(--radius-sm);color:var(--blue-deep)}.doc-toc a.is-active{background:var(--blue-soft);color:var(--blue-deep)}.doc-toc ol ol,.doc-toc .doc-toc__sub{padding:0;gap:4px}.doc-toc .doc-toc__sub a{padding:6px 10px 6px 26px;color:var(--ink-3)}.doc-toc .doc-toc__sub a.is-active{background:var(--paper-2);color:var(--ink)}.doc-sidenav .doc-banner--side{display:none}}.doc-head{margin-bottom:24px}.doc-head h1{max-width:none;font-size:clamp(32px,4.2vw,44px);line-height:1.12;letter-spacing:-.03em;font-weight:500}.doc-head .lede{margin-top:14px;max-width:none;font-size:19px;line-height:1.5;color:var(--ink-2)}.doc-reviewed{margin-top:14px;display:block;width:fit-content;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2);font-family:Geist Mono,monospace;font-size:12px;line-height:1.45;color:var(--ink-3)}.doc-meta{margin-top:14px;font-family:Geist Mono,monospace;font-size:13px;color:var(--ink-3)}.doc-hero{display:block;width:100%;height:auto;margin:8px 0 28px;aspect-ratio:1200 / 630;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.doc-body{font-size:18.5px;line-height:1.7;color:var(--ink-2)}.doc-body h2,.doc-body h3,.doc-body a[id]{scroll-margin-top:80px}.doc-body h2{margin:44px 0 14px;font-size:26px;line-height:1.25;color:var(--ink)}.doc-body h3{margin:28px 0 10px;font-size:20px;line-height:1.3;color:var(--ink)}.doc-body h4{margin:22px 0 8px;font-size:15px;color:var(--ink)}.doc-body p{margin:0 0 16px}.doc-body ul,.doc-body ol{margin:0 0 16px;padding-left:22px}.doc-body li{margin:0 0 8px}.doc-body blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--line);color:var(--ink-3);font-style:italic}.doc-body a{color:inherit;text-decoration:underline}.doc-body strong{color:var(--ink);font-weight:600}.doc-body hr{margin:36px 0;border:none;border-top:1px solid var(--line)}.doc-body img{display:block;max-width:100%;height:auto;margin:28px 0;border-radius:8px}.doc-body figure{margin:28px 0}.doc-body figcaption{margin-top:8px;font-size:14px;color:var(--ink-3);text-align:center}.doc-body table{width:100%;margin:20px 0 24px;border-collapse:collapse;font-size:15px}.doc-body th,.doc-body td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.doc-body th{color:var(--ink);font-weight:600}.doc-body .table-wrap{width:100%;overflow-x:auto;margin:20px 0 24px;-webkit-overflow-scrolling:touch}.doc-body .table-wrap table{margin:0}.doc-body pre{margin:0;padding:14px 16px;overflow-x:auto;background:var(--paper-3);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:Geist Mono,ui-monospace,monospace;font-size:13.5px;line-height:1.55;color:var(--ink);white-space:pre-wrap}.doc-body code{font-family:Geist Mono,ui-monospace,monospace;font-size:.9em}.doc-faq{margin:44px 0 0}.doc-faq__item{margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid var(--line)}.doc-faq__item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.doc-faq__item h3{margin:0 0 8px;font-size:18px}.doc-faq__item p{margin:0}.doc-back{margin-top:40px;font-family:Geist Mono,monospace;font-size:13px}.doc-back a{color:var(--ink-2);text-decoration:none}@media (max-width: 640px){.doc{padding:20px 0 72px}.doc-head h1{font-size:30px}.doc-body{font-size:17px}.doc-body h2{font-size:23px;margin-top:36px}}
