@font-face{font-family:Instrument;src:url('/assets/instrument-sans.woff2')}@font-face{font-family:Plex;src:url('/assets/plex-mono.ttf')} :root{--paper:#f7f8f6;--ink:#20221f;--muted:#697065;--line:#d7dbd3;--orange:#f24b2b;--sans:Instrument,Arial,sans-serif;--mono:Plex,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#be351a}.skip{position:absolute;top:-80px;left:20px;padding:10px 14px;background:var(--ink);color:white;z-index:5}.skip:focus{top:10px}.topbar{height:98px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4vw;gap:38px;position:sticky;top:0;background:rgba(247,248,246,.94);backdrop-filter:blur(12px);z-index:4}.brand{display:flex;align-items:center;gap:11px;font-size:17px;line-height:.9;font-weight:600;letter-spacing:-.4px}.brand b{color:var(--muted);font-weight:500}.brand svg{width:33px;height:33px;fill:none;stroke:var(--orange);stroke-width:6}.top-label,.studio-link{font:12px var(--mono);letter-spacing:.03em}.top-label{color:var(--muted);border-left:1px solid var(--line);padding-left:38px}.studio-link{margin-left:auto}.docs-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,760px) minmax(150px,220px);gap:5vw;padding:55px 4vw 110px;max-width:1560px;margin:auto}.sidebar,.on-page{position:sticky;top:150px;height:max-content}.side-kicker,.on-page>p{font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 22px}.sidebar nav{border-top:1px solid var(--line)}.sidebar nav a{display:grid;grid-template-columns:29px 1fr;gap:8px;padding:15px 4px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.3}.sidebar nav a span{font:11px var(--mono);color:var(--muted);padding-top:4px}.sidebar nav a[aria-current=page],.sidebar nav a[aria-current=page] span{color:var(--orange)}.side-note{font-size:13px;color:var(--muted);margin:26px 0;max-width:230px}.github{font:11px var(--mono);word-break:break-all}.content{min-width:0}.content article[hidden]{display:none}.eyebrow{font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 24px}.content h1{font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.055em;font-weight:500;margin:0 0 31px}.content h1 span{color:var(--orange)}.lead{font-size:20px;line-height:1.55;color:#50574d;max-width:680px;margin:0}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 76px}.meta span{font:11px var(--mono);border:1px solid #c8cdc4;padding:6px 9px}.content section{padding:46px 0;border-top:1px solid var(--line)}.content h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;font-weight:500;margin:0 0 21px}.content section>p{color:#51594e;max-width:690px;margin:0 0 17px}.content code{font-family:var(--mono);font-size:.88em}.content pre{background:var(--ink);color:#dce2d8;padding:25px 27px;overflow:auto;font:13px/1.75 var(--mono);margin:25px 0;border-left:3px solid var(--orange)}.cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.cards>div{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cards b{font-size:18px;font-weight:500}.cards p{font-size:14px;color:var(--muted);margin:10px 0 0}.steps{padding:0;margin:0;list-style:none;counter-reset:steps}.steps li{counter-increment:steps;padding:19px 0 19px 54px;border-bottom:1px solid var(--line);position:relative;color:#535a50}.steps li:first-child{border-top:1px solid var(--line)}.steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:4px;top:22px;font:11px var(--mono);color:var(--orange)}.steps b{color:var(--ink);font-weight:500}.callout{border-left:2px solid var(--orange);padding-left:17px}.checklist{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.checklist p{margin:0;padding:17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:13px/1.55 var(--mono)}.source-link{display:flex;justify-content:space-between;align-items:center;background:var(--orange);color:white;padding:24px 27px;margin-top:10px;font-size:15px}.source-link:hover{background:var(--ink);color:white}.source-link span{font-size:22px}.on-page nav{display:flex;flex-direction:column;gap:11px}.on-page a{font-size:13px;color:var(--muted);line-height:1.35;padding-left:12px;border-left:1px solid var(--line)}@media(max-width:1050px){.docs-shell{grid-template-columns:220px minmax(0,1fr)}.on-page{display:none}}@media(max-width:720px){.topbar{height:82px;padding:0 20px}.top-label{display:none}.docs-shell{display:block;padding:25px 20px 75px}.sidebar{position:static;margin-bottom:55px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.sidebar nav a:nth-child(odd){border-right:1px solid var(--line)}.side-note{max-width:none}.content h1{font-size:52px}.lead{font-size:18px}.meta{margin-bottom:50px}.cards,.checklist{grid-template-columns:1fr}.content section{padding:38px 0}.content pre{font-size:12px;padding:20px}.studio-link{font-size:10px}}@media(max-width:440px){.sidebar nav{grid-template-columns:1fr}.sidebar nav a:nth-child(odd){border-right:0}.content h1{font-size:43px}.brand{font-size:15px}.studio-link{display:none}}
