.docs{--docs-sidebar-w:268px;--docs-toc-w:224px;--docs-header-h:61px;--docs-prose-w:736px;--docs-gutter:34px;background:var(--paper);min-height:100vh}.docs-header{position:sticky;top:0;z-index:40;height:var(--docs-header-h);background:var(--ink-950);border-bottom:1px solid rgba(255,255,255,.08)}.docs-shell{display:grid;grid-template-columns:var(--docs-sidebar-w) minmax(0,1fr);max-width:1440px;margin:0 auto}.docs-rail{position:sticky;top:var(--docs-header-h);height:calc(100vh - var(--docs-header-h));overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--border-subtle);padding:30px 18px 64px 26px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.docs-main{display:grid;grid-template-columns:minmax(0,1fr) var(--docs-toc-w);gap:48px;padding:44px var(--docs-gutter) 120px}.docs-toc{position:sticky;top:calc(var(--docs-header-h) + 44px);align-self:start;max-height:calc(100vh - var(--docs-header-h) - 80px);overflow-y:auto;scrollbar-width:none}.docs-toc::-webkit-scrollbar{display:none}@media (max-width:1180px){.docs-main{grid-template-columns:minmax(0,1fr)}.docs-toc{display:none}}@media (max-width:900px){.docs-shell{grid-template-columns:minmax(0,1fr)}.docs-rail{display:none}.docs-main{padding:28px 20px 96px}}.docs-rail-group+.docs-rail-group{margin-top:26px}.docs-rail-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-400);padding:0 10px 9px}.docs-rail-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--border-subtle)}.docs-rail-link{display:block;position:relative;margin-left:-1px;border-left:1px solid transparent;padding:7px 10px 7px 15px;font-size:14.5px;line-height:1.4;color:var(--ink-600);transition:color .12s ease,border-color .12s ease}.docs-rail-link:hover{color:var(--ink-900);border-left-color:var(--border-strong)}.docs-rail-link[aria-current=page]{color:var(--ember-700);font-weight:600;border-left-color:var(--ember-500)}.prose{max-width:var(--docs-prose-w);font-size:16.5px;line-height:1.72;color:var(--ink-700)}.prose>*+*{margin-top:1.15em}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--ink-900);letter-spacing:-.015em;scroll-margin-top:calc(var(--docs-header-h) + 22px)}.prose h2{font-size:27px;font-weight:700;line-height:1.2;margin-top:2.4em;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.prose h3{font-size:20px;font-weight:700;margin-top:2em;line-height:1.3}.prose h4{font-size:17px;font-weight:700;margin-top:1.7em}.prose :is(h2,h3,h4)>a.anchor{color:var(--ink-300);font-weight:400;margin-left:.4em;opacity:0;transition:opacity .12s ease}.prose :is(h2,h3,h4):hover>a.anchor{opacity:1}.prose :is(h2,h3,h4)>a.anchor:hover{color:var(--accent)}.prose a{color:var(--ember-700);font-weight:500;text-decoration:underline;text-decoration-color:var(--ember-200);text-decoration-thickness:1.5px;text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--ember-500)}.prose strong{color:var(--ink-900);font-weight:700}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose ul ul{list-style:circle}.prose :is(ul,ol){padding-left:1.35em}.prose li{margin-top:.42em}.prose li::marker{color:var(--ink-400)}.prose ul>li::marker{color:var(--ember-300)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.86em;background:var(--paper-2);border:1px solid var(--border-subtle);border-radius:5px;padding:.12em .4em;color:var(--ink-800);word-break:break-word}.prose pre{background:var(--ink-950);color:#E8E2D8;border-radius:12px;padding:16px 18px;overflow-x:auto;font-family:var(--font-mono);font-size:13.5px;line-height:1.65;border:1px solid var(--ink-800)}.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}.prose hr{border:0;border-top:1px solid var(--border-subtle);margin:2.4em 0}.prose blockquote{border-left:3px solid var(--ember-300);padding-left:16px;color:var(--ink-600);font-style:normal}.prose .table-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface)}.prose table{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}.prose thead th{text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-500);padding:13px 16px;background:var(--surface-2);border-bottom:1px solid var(--border-default);white-space:nowrap}.prose tbody td{padding:13px 16px;border-top:1px solid var(--border-subtle);color:var(--ink-700);vertical-align:top}.prose tbody tr:first-child td{border-top:0}.prose tbody td:first-child{color:var(--ink-900);font-weight:500}.prose img{max-width:100%;border-radius:10px}.docs-rail::-webkit-scrollbar{width:9px}.docs-rail::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid var(--paper)}.docs-rail::-webkit-scrollbar-track{background:transparent}@media print{.docs-feedback,.docs-header,.docs-rail,.docs-toc{display:none!important}.docs-main{display:block;padding:0}.prose{max-width:none}}.figure-scope{--sand-2:#DCCFB9;--danger:#C13B2E;--danger-bg:#FBEAE7;--danger-border:#F0CCC6;--warning-bg:#FBF0D8;--warning-border:#EFDBA4;--success-border:#B8DED7;--info:#2A6BB0;--info-bg:#E7EFF8;--viz-ember:#E8730E;--viz-teal:#0E9C86;--viz-ink:#29231E;--viz-grid:#EAE3D8}.docs-figure{width:100%;max-width:880px}@media (min-width:1181px){.docs-figure{margin-right:-96px}}.callout-body>*+*,.step-body>*+*,.tab-body>*+*{margin-top:.85em}.callout-body>:first-child,.step-body>:first-child,.tab-body>:first-child{margin-top:0}.callout-body>:last-child,.step-body>:last-child,.tab-body>:last-child{margin-bottom:0}.step-body{font-size:15.5px;line-height:1.68;color:var(--ink-700)}.callout-body ul,.step-body ul,.tab-body ul{list-style:disc}.callout-body ol,.step-body ol,.tab-body ol{list-style:decimal}.callout-body :is(ul,ol),.step-body :is(ul,ol),.tab-body :is(ul,ol){padding-left:1.3em}.step-body li{margin-top:.35em}.callout-body a,.step-body a,.tab-body a{color:var(--ember-700);font-weight:500;text-decoration:underline;text-decoration-color:var(--ember-200);text-underline-offset:3px}