@font-face{font-family:Geist;src:url(/assets/Geist-Variable-B48wpBRb.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-BRXCGrxA.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Pixel;src:url(/assets/GeistPixel-Square-B0mEoKr8.woff2) format("woff2");font-display:swap}:root{--paper: #f4f3ee;--ink: #0c0c0b;--white: #fff;--wash: #eceae3;--rule: #d9d7cf;--graphite: #4f4e49;--ash: #8f8d86;--signal: #c8f031;--sans: Geist, sans-serif;--mono: "Geist Mono", monospace;--pixel: "Geist Pixel", monospace;--header: 76px;font:400 15px/1.65 var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px}::selection{color:var(--ink);background:var(--signal)}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,pre:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 5px var(--signal)}h1,h2,h3,p,ul,figure{margin:0}h1,h2,h3,strong{font-weight:500}button{border-radius:3px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:.045em;text-transform:uppercase;color:var(--graphite)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:12px 20px;background:var(--signal)}.skip-link:focus{top:12px}.docs-header{height:var(--header);position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--rule);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.docs-brand,.header-actions{display:flex;align-items:center}.docs-brand{gap:24px}.docs-wordmark{display:flex;padding:8px 0}.docs-wordmark svg{width:108px;height:auto}.header-divider{width:1px;height:20px;background:var(--rule)}.header-label{font:12px var(--mono)}.header-actions{gap:30px}.search-trigger{display:flex;align-items:center;gap:10px;padding:9px 10px;width:218px;border:1px solid var(--rule);color:var(--graphite);background:transparent;text-align:left;font-size:12px}.search-trigger:hover{border-color:var(--graphite);background:var(--wash)}.search-trigger svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.3}kbd{font:10px var(--mono);margin-left:auto;color:var(--graphite);border:1px solid var(--rule);padding:1px 5px;border-radius:2px}.back-to-magna{font-size:12px;text-decoration:none;display:flex;gap:16px;align-items:center}.back-to-magna span{font-size:20px}.menu-trigger{display:none}.docs-layout{display:grid;grid-template-columns:244px minmax(0,1fr) 204px;max-width:1600px;margin:0 auto}.docs-sidebar{height:calc(100dvh - var(--header));overflow-y:auto;position:sticky;top:var(--header);border-right:1px solid var(--rule);padding:39px 22px 28px 30px;display:flex;flex-direction:column}.nav-group{margin-bottom:31px}.nav-group h2{font:10px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);display:flex;gap:10px;margin:0 0 11px 9px}.nav-group h2>span{color:var(--graphite);opacity:.65}.nav-group a{display:flex;align-items:center;gap:10px;padding:7px 9px;font-size:13px;text-decoration:none;color:var(--graphite);line-height:1.5;margin-bottom:2px}.nav-group a:hover{color:var(--ink);background:var(--wash)}.nav-group a[aria-current]{color:var(--ink);font-weight:500;background:var(--wash)}.nav-cell{width:6px;height:6px;flex:none;background:transparent}[aria-current]>.nav-cell{background:var(--signal);outline:1px solid #a9d10f}.sidebar-foot{margin-top:auto;padding:32px 10px 0}.sidebar-foot svg{width:24px;display:block;margin-bottom:18px}.sidebar-foot p{color:var(--graphite);font-size:12px;line-height:1.5;margin-bottom:24px}.sidebar-foot>span{font-size:9px}.docs-article{min-width:0;padding:36px clamp(28px,4.2vw,68px) 24px;outline:none}.article-breadcrumb{display:flex;align-items:center;gap:10px;color:var(--graphite);font:10px/1.5 var(--mono);margin-bottom:54px}.article-breadcrumb>span:last-child{color:var(--ink)}.article-opening{padding-bottom:42px}.article-kicker{margin-bottom:21px}h1{font-size:clamp(38px,4.3vw,64px);line-height:1.04;letter-spacing:-.052em}.article-description{margin-top:22px;font-size:18px;line-height:1.55;color:var(--graphite);max-width:50ch;letter-spacing:-.015em}.is-overview .article-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.9fr);gap:32px;align-items:center;padding-bottom:40px}.is-overview h1{font-size:clamp(49px,4.8vw,74px);line-height:.98}.is-overview .article-description{font-size:16px;max-width:31ch}.overview-action{margin-top:28px;display:flex;align-items:flex-start;flex-direction:column;gap:11px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;text-decoration:none;color:var(--ink);padding:12px 17px;background:var(--signal);border:1px solid #a9d10f;border-radius:3px;font-size:13px;font-weight:500}.primary-link:hover{background:#d6f75a}.overview-action>span{font:10px var(--mono);color:var(--graphite)}.proof-diagram{border:1px solid var(--rule);padding:17px 19px 12px;background:var(--white);background-image:linear-gradient(var(--wash) 1px,transparent 1px),linear-gradient(90deg,var(--wash) 1px,transparent 1px);background-size:16px 16px}.diagram-meta{display:flex;justify-content:space-between;gap:12px;font:8px var(--mono);color:var(--graphite);padding-bottom:17px}.proof-row{position:relative;display:flex;gap:14px;padding:16px 0 21px;border-top:1px solid var(--rule);align-items:baseline}.proof-index{font:18px var(--pixel);color:var(--graphite)}.proof-row>div{display:grid;gap:3px}.proof-row strong{font-size:13px;line-height:1.3}.proof-row div>span{font:9px/1.5 var(--mono);color:var(--graphite)}.diagram-arrow{position:absolute;right:4px;bottom:12px;font-size:17px}.proof-answer{padding-bottom:17px}.verified-square{width:8px;height:8px;background:var(--signal);outline:1px solid #a9d10f;margin-left:auto}.proof-diagram figcaption{border-top:1px solid var(--rule);padding-top:11px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:8px var(--mono)}.diagram-barcode{letter-spacing:2px;font-size:13px}.start-links{border-top:1px solid var(--ink);margin-bottom:62px}.start-links a{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:19px 0;border-bottom:1px solid var(--rule);text-decoration:none}.start-links a:hover{background:var(--wash)}.start-index{font:23px var(--pixel);color:var(--graphite)}.start-links a>span:nth-child(2){display:grid;gap:3px}.start-links .eyebrow{font-size:9px}.start-links strong{font-size:15px}.start-links a>span:last-child{font-size:20px}.article-body{max-width:74ch}.article-section{margin:0 0 44px;scroll-margin-top:105px}.article-section h2{font-size:24px;letter-spacing:-.03em;line-height:1.25;margin-bottom:21px}.article-section h2 a{text-decoration:none;display:inline-flex;align-items:center;gap:12px}.article-section h2 a>span{font:15px var(--mono);color:var(--graphite);opacity:0}.article-section h2 a:hover>span,.article-section h2 a:focus-visible>span{opacity:1}.article-section>p{margin-bottom:18px;color:var(--graphite);line-height:1.75}.article-list{padding-left:20px;margin:20px 0 26px;color:var(--graphite)}.article-list li{padding-left:8px;margin:10px 0}.article-list li::marker{font-size:11px;color:var(--ink)}.article-note{display:flex;align-items:flex-start;gap:15px;padding:19px 20px;margin:26px 0;background:var(--wash);border:1px solid var(--rule)}.note-mark{font:12px var(--mono);border:1px solid var(--graphite);width:17px;height:17px;display:grid;place-items:center;flex:none;margin-top:3px}.article-note h3{font-size:13px;margin-bottom:6px}.article-note p{font-size:13px;color:var(--graphite);line-height:1.65}.table-scroll{overflow-x:auto;border:1px solid var(--rule);margin:25px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:var(--wash);font:10px var(--mono);text-transform:uppercase;letter-spacing:.03em;padding:13px 16px}td{padding:15px 16px;color:var(--graphite);border-top:1px solid var(--rule);vertical-align:top;min-width:150px;overflow-wrap:anywhere}td:first-child{color:var(--ink);width:40%}.code-panel{background:var(--ink);color:var(--paper);border-radius:4px;margin:25px 0;position:relative;overflow:hidden}.code-panel figcaption{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-bottom:1px solid #34342f;gap:12px;color:#c0beb5;font:10px var(--mono)}.code-panel button{color:#e0dfd7;background:transparent;border:1px solid #55554e;padding:4px 8px;font:10px var(--mono)}.code-panel button:hover{background:#2a2a25}pre{margin:0;padding:23px 20px 26px;overflow-x:auto;font:12px/1.85 var(--mono);tab-size:2}pre code{font:inherit}.token-comment{color:#a7a79a}.token-string{color:#d3e6a5}.token-keyword{color:#e0bfa4}.token-number{color:#b7d9d0}.copy-status{display:block;padding:0 18px;font:11px/1.5 var(--mono);color:var(--paper)}.copy-status:not(:empty){padding-bottom:12px}p code,li code,td code{font:12px var(--mono);background:var(--wash);color:var(--ink);padding:2px 4px;overflow-wrap:anywhere}.page-pagination{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--rule);margin-top:54px;padding-top:24px}.page-pagination a{display:grid;gap:6px;text-decoration:none;padding:15px 0}.page-pagination a:last-child{text-align:right}.page-pagination a:hover strong{text-decoration:underline;text-underline-offset:4px}.page-pagination strong{font-size:14px}.article-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);margin-top:30px;padding-top:20px;color:var(--graphite);font:9px/1.5 var(--mono)}.docs-toc{height:calc(100dvh - var(--header));position:sticky;top:var(--header);overflow-y:auto;padding:40px 24px 28px 0}.docs-toc>.eyebrow{display:block;font-size:9px;margin-bottom:17px}.docs-toc nav{display:grid;gap:13px;border-left:1px solid var(--rule)}.docs-toc nav a{padding:0 0 0 14px;color:var(--graphite);text-decoration:none;font-size:11px;line-height:1.5;border-left:1px solid transparent;margin-left:-1px}.docs-toc nav a[aria-current]{color:var(--ink);border-color:var(--ink)}.docs-toc nav a:hover{color:var(--ink)}.toc-note{margin-top:45px;border-top:1px solid var(--rule);padding-top:20px}.tiny-seal{width:6px;height:6px;background:var(--signal);outline:1px solid #a9d10f;display:block;margin-bottom:10px}.toc-note p{font-size:11px;color:var(--graphite);line-height:1.7}.mobile-toc,.mobile-menu-head{display:none}.search-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 80px);padding:0;margin:10vh auto auto;border:1px solid var(--ink);border-radius:4px;color:var(--ink);background:var(--paper);overflow:hidden}.search-dialog::backdrop{background:#0c0c0b59}.search-inner{display:flex;flex-direction:column;max-height:calc(80dvh - 30px)}.search-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 6px}.small-button{font:10px var(--mono);color:var(--graphite);border:1px solid var(--rule);background:transparent;padding:5px 8px}.small-button:hover{background:var(--wash)}.search-input-label{padding:12px 22px 20px;border-bottom:1px solid var(--rule)}.search-input-label input{background:transparent;border:none;width:100%;padding:8px 0;font-size:21px;color:var(--ink);letter-spacing:-.025em;border-radius:0}.search-input-label input:focus-visible{outline-offset:6px;box-shadow:none}.search-results{overflow-y:auto;padding:8px;min-height:160px}.search-result{padding:16px;border:1px solid transparent;cursor:pointer}.search-result.selected{background:var(--wash);border-color:var(--rule)}.search-result .eyebrow{font-size:9px}.search-result strong{display:flex;justify-content:space-between;font-size:16px;margin-top:4px}.search-result p{font-size:12px;color:var(--graphite);margin-top:6px}.search-empty{padding:30px 18px 35px}.search-empty strong{font-size:17px}.search-empty p{margin-top:9px;font-size:13px;color:var(--graphite)}.search-foot{border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:15px;padding:12px 22px;font:10px var(--mono);color:var(--graphite)}.search-key-hint{margin-left:14px}.not-found{padding:70px 0;max-width:500px}.pixel-number{font:80px var(--pixel)}.not-found h1{margin:30px 0 24px}.not-found p{color:var(--graphite);margin-bottom:28px}@media(min-width:1600px){.docs-layout{border-left:1px solid var(--rule);border-right:1px solid var(--rule)}}@media(max-width:1250px){.docs-layout{grid-template-columns:220px minmax(0,1fr) 170px}.docs-sidebar{padding-left:22px}.docs-article{padding-left:36px;padding-right:36px}.docs-toc{padding-right:16px}.is-overview .article-opening{grid-template-columns:1fr}.is-overview h1{font-size:64px}.proof-diagram{max-width:360px}.is-overview .article-description{max-width:40ch}}@media(max-width:1000px){.docs-layout{grid-template-columns:220px minmax(0,1fr)}.docs-toc{display:none}.mobile-toc{display:block;border-block:1px solid var(--rule);margin:0 0 36px;padding:14px 0;font-size:12px}.mobile-toc summary{cursor:pointer;font:11px var(--mono)}.mobile-toc nav{display:grid;gap:12px;padding-top:16px}.mobile-toc a{color:var(--graphite);text-decoration:none}.is-overview .article-opening{grid-template-columns:1fr}.proof-diagram{max-width:390px}}@media(max-width:720px){:root{--header: 64px}.docs-header{padding:0 20px;gap:15px}.docs-wordmark svg{width:90px}.docs-brand{gap:12px}.header-label{font-size:10px}.header-divider{height:17px}.header-actions{gap:12px}.back-to-magna{display:none}.search-trigger{width:32px;height:32px;padding:7px;border:0}.search-trigger>span,.search-trigger kbd{display:none}.search-trigger svg{width:18px}.menu-trigger{display:flex;align-items:center;gap:8px;padding:6px 0 6px 8px;border:0;background:none;color:var(--ink);font:11px var(--mono)}.menu-trigger>span{font-size:23px;line-height:1}.docs-layout{display:block}.docs-article{padding:26px 24px 24px}.article-breadcrumb{margin-bottom:38px;font-size:9px}.article-kicker{font-size:10px;margin-bottom:18px}h1{font-size:43px}.is-overview h1{font-size:clamp(52px,14vw,74px)}.article-description{font-size:16px}.is-overview .article-description{max-width:36ch}.article-opening{padding-bottom:32px}.is-overview .article-opening{gap:32px}.proof-diagram{max-width:none;padding:18px 20px 14px}.proof-row{padding-top:20px;padding-bottom:22px}.proof-row strong{font-size:14px}.diagram-meta{font-size:9px}.proof-row div>span{font-size:11px}.proof-diagram figcaption{font-size:9px}.start-links{margin-bottom:38px}.start-links a{padding:18px 0}.start-links strong{font-size:14px}.article-section h2{font-size:23px}.article-section>p{font-size:14px}.article-note{padding:17px;gap:12px}.article-footer{flex-direction:column;gap:7px}.page-pagination{gap:15px}.page-pagination strong{font-size:13px}pre{font-size:11px;padding:19px 16px 22px}.docs-sidebar{display:none;position:fixed;top:var(--header);left:0;bottom:0;width:min(340px,calc(100vw - 32px));height:auto;z-index:50;background:var(--paper);padding:22px}.docs-sidebar.menu-open{display:flex}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.nav-group a{font-size:15px;padding-block:10px}.nav-group h2{font-size:11px}.menu-scrim{position:fixed;inset:var(--header) 0 0;z-index:45;background:#0c0c0b4d}.sidebar-foot{padding-top:18px}.sidebar-foot p,.sidebar-foot svg{display:none}.search-dialog{margin-top:20px;max-height:calc(100dvh - 40px)}.search-inner{max-height:calc(100dvh - 42px)}.search-top,.search-input-label{padding-inline:18px}.search-input-label input{font-size:18px}.search-foot{font-size:9px;padding-inline:18px}.search-key-hint{margin-left:7px}}@media(prefers-reduced-motion:no-preference){.article-opening{animation:settle .45s cubic-bezier(.16,1,.3,1) both}@keyframes settle{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.search-dialog[open]{animation:settle .18s ease-out}}@media(max-width:360px){.header-label,.header-divider{display:none}}
