@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7e75aa585bf80471.3skiflm26ffbo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/10b40a20e4e62717.p.1mi1ugkk0px41.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.WitvMq_className{font-family:Atkinson Hyperlegible Next,system-ui,sans-serif;font-style:normal}.WitvMq_variable{--sans:"Atkinson Hyperlegible Next", system-ui, sans-serif}
@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/c5a8e16e4d2fdb67.3ct1bjzmjks6d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/9a99c25b2c6879f5.p.3gjqgyucvuvvf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.YW8Rwq_className{font-family:Atkinson Hyperlegible Mono,ui-monospace,monospace;font-style:normal}.YW8Rwq_variable{--mono:"Atkinson Hyperlegible Mono", ui-monospace, monospace}
@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/1e634a0870b53d3f.3-72worm-ib39.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/a6407282b78ca7d7.3_mjd9z78cbbb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/034111bd5fecc463.p.0wyelkczeev99.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.DyMp6G_className{font-family:Pixelify Sans,ui-monospace,monospace;font-style:normal}.DyMp6G_variable{--pixel:"Pixelify Sans", ui-monospace, monospace}
:root{--violet:#6e56cf;--deep:#4b3a99;--door:#ffd21f;--frame:#1a1b1a;--white:#fefefe;--soft:#d9d1f7;--go:#3fbf5f;--stop:#e5484d;--paper:#fbfaff;--ink:#1a1b1a;--muted:#5d5872;--line:#e4e0f2;--tint:#f1eefc;--link:#5a43c2;--code-bg:#ece8fb;--drop:#1a1b1a;--top:3.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#141316;--ink:#f2effa;--muted:#a7a1b9;--line:#2c2934;--tint:#1e1b26;--link:#b9a9ff;--code-bg:#262231;--drop:#000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans), system-ui, sans-serif;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 1.5rem)}body{min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.6}code,kbd,pre{font-family:var(--mono), ui-monospace, monospace}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--door);outline-offset:2px;border-radius:4px}img{image-rendering:pixelated}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--door);color:var(--frame);border-radius:8px;padding:.5rem 1rem;font-weight:700;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.75rem}.top{z-index:20;height:var(--top);background:var(--violet);color:var(--white);box-shadow:0 3px 0 var(--deep);align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.brand{width:14rem;color:var(--white);font-family:var(--pixel), monospace;flex:none;align-items:center;gap:.625rem;font-size:1.375rem;font-weight:600;text-decoration:none;display:flex}.brand img{box-shadow:0 0 0 2px var(--deep);border-radius:6px}.brand span{color:var(--soft);font-weight:400}.search-open{background:var(--deep);width:min(100%,22rem);min-width:0;color:var(--soft);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;padding:.4375rem .5rem .4375rem .875rem;font-size:.9375rem;display:flex}.search-open:hover{color:var(--white)}.search-open kbd,.search kbd{background:#ffffff24;border-radius:6px;padding:.0625rem .4375rem;font-size:.75rem}.links{gap:1.25rem;margin-left:auto;font-size:.9375rem;display:flex}.links a{color:var(--white);text-decoration:none}.links a:hover{text-decoration:underline}.shell{grid-template-columns:15rem minmax(0,1fr) 13rem;gap:0 clamp(2rem,4vw,4rem);max-width:90rem;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);display:grid}.shell.wide{grid-template-columns:15rem minmax(0,1fr)}.sidebar .menu{display:none}.sidebar .wide{top:var(--top);max-height:calc(100vh - var(--top));scrollbar-width:thin;padding:2rem .25rem 3rem 0;position:sticky;overflow-y:auto}.sidebar section+section{margin-top:1.5rem}.sidebar h2{color:var(--muted);margin:0 0 .375rem .75rem;font-size:.875rem;font-weight:700}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar a{color:var(--ink);border-radius:8px;padding:.3125rem .75rem;font-size:.9688rem;line-height:1.4;text-decoration:none;display:block}.sidebar a:hover{background:var(--tint)}.sidebar a[aria-current=page]{background:var(--tint);box-shadow:inset 3px 0 0 var(--violet);color:var(--link);font-weight:700}.page{min-width:0;padding:2.5rem 0 6rem}.page-head h1{font-family:var(--pixel), monospace;margin:0 0 .75rem;font-size:clamp(2.125rem,4.5vw,2.875rem);font-weight:600;line-height:1.05}.page-head .lede{max-width:40rem;color:var(--muted);margin:0;font-size:1.1875rem;line-height:1.5}.page-tools{gap:.5rem;margin:1.25rem 0 2.25rem;display:flex}.page-tools button,.page-tools a{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem;font-size:.875rem;text-decoration:none}.page-tools button:hover,.page-tools a:hover{border-color:var(--violet);color:var(--ink)}.prose{max-width:44rem}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 1.125rem}.prose ul,.prose ol{padding-left:1.375rem}.prose li+li{margin-top:.375rem}.prose li>ul,.prose li>ol{margin:.375rem 0 0}.prose li::marker{color:var(--violet)}.prose h2{margin:3rem 0 .875rem;font-size:1.5625rem;line-height:1.25}.prose h3{margin:2.25rem 0 .625rem;font-size:1.1875rem;line-height:1.35}.prose h4{margin:1.75rem 0 .5rem;font-size:1rem}.prose a.here{color:inherit;text-decoration:none}.prose a.here:hover:after{content:"#";color:var(--violet);margin-left:.4rem}.prose :not(pre)>code{background:var(--code-bg);overflow-wrap:anywhere;border-radius:5px;padding:.125em .375em;font-size:.875em}.prose a code{color:var(--link)}.prose strong{font-weight:700}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:1.5rem 0;padding:.125rem 0 .125rem 1rem}.prose kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.0625rem .375rem;font-size:.8125em}figure.code{background:var(--frame);border-radius:12px;margin:1.5rem 0 1.75rem;overflow:hidden;box-shadow:0 4px #000}@media (prefers-color-scheme:dark){figure.code{box-shadow:0 0 0 1px #2e2c33,0 4px #000}}figure.code figcaption{color:#aaa4bb;border-bottom:1px solid #2e2c33;justify-content:space-between;align-items:center;gap:1rem;padding:.4375rem .5rem .4375rem 1.125rem;font-size:.8125rem;display:flex}figure.code .file{color:#f2effa;font-family:var(--mono), monospace}figure.code .copy{color:#d9d1f7;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a3740;border-radius:999px;padding:.125rem .625rem}figure.code .copy:hover{border-color:var(--soft);color:var(--white)}figure.code pre{tab-size:2;margin:0;padding:1rem 1.125rem 1.125rem;font-size:.875rem;line-height:1.65;overflow-x:auto;background:0 0!important}figure.code pre code{font-size:inherit}.callout{border-left:4px solid var(--violet);background:var(--tint);color:var(--ink);border-radius:0 10px 10px 0;margin:1.5rem 0;padding:.875rem 1.125rem}.callout>:last-child{margin-bottom:0}.callout .callout-title{color:var(--link);margin:0 0 .25rem;font-weight:700}.callout-important,.callout-warning{border-left-color:var(--door)}.callout-caution{border-left-color:var(--stop)}.callout-important .callout-title,.callout-warning .callout-title,.callout-caution .callout-title{color:var(--ink)}.table{border:1px solid var(--line);border-radius:10px;margin:1.5rem 0 1.75rem;overflow-x:auto}.table table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.5}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.5625rem .875rem}.table th{background:var(--tint);white-space:nowrap;font-weight:700}.table tr:last-child td{border-bottom:0}.table td:first-child code{white-space:nowrap}.turn{grid-template-columns:1fr 1fr;gap:1rem;max-width:44rem;margin-top:4.5rem;display:grid}.turn a{border:2px solid var(--ink);box-shadow:0 4px 0 var(--drop);color:var(--ink);border-radius:12px;padding:.875rem 1.125rem 1rem;font-weight:700;line-height:1.35;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:block}.turn a span{color:var(--muted);margin-bottom:.125rem;font-size:.875rem;font-weight:400;display:block}.turn a:hover{box-shadow:0 2px 0 var(--drop);transform:translateY(2px)}.turn a:active{box-shadow:none;transform:translateY(4px)}.turn .next{text-align:right;grid-column:2}.rail .toc{top:var(--top);max-height:calc(100vh - var(--top));scrollbar-width:thin;padding:2.75rem 0 2rem;position:sticky;overflow-y:auto}.toc h2{color:var(--muted);margin:0 0 .625rem;font-size:.875rem;font-weight:700}.toc ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-1px;padding:.25rem 0 .25rem .875rem;font-size:.875rem;line-height:1.4;text-decoration:none;display:block}.toc .sub a{padding-left:1.625rem}.toc a:hover{color:var(--ink)}.toc a[aria-current]{border-left-color:var(--violet);color:var(--ink)}dialog.search{border:2px solid var(--ink);background:var(--paper);width:min(40rem,100vw - 2rem);max-height:min(36rem,100vh - 6rem);box-shadow:0 6px 0 var(--drop);color:var(--ink);border-radius:14px;margin:12vh auto auto;padding:0;overflow:hidden}dialog.search[open]{flex-direction:column;display:flex}dialog.search::backdrop{background:#1a1b1a80}dialog.search input{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;padding:1rem 1.25rem;font-size:1.125rem}dialog.search input:focus-visible{box-shadow:inset 0 -2px 0 var(--violet);outline:none}dialog.search ul{margin:0;padding:.5rem;list-style:none;overflow-y:auto}dialog.search li a{color:inherit;border-radius:8px;padding:.625rem .75rem;text-decoration:none;display:block}dialog.search li[aria-selected=true] a{background:var(--tint);box-shadow:inset 3px 0 0 var(--violet)}dialog.search strong span{color:var(--muted);font-weight:400}dialog.search .snippet{color:var(--muted);margin-top:.125rem;font-size:.875rem;line-height:1.45;display:block}dialog.search .none{color:var(--muted);margin:0;padding:1rem 1.25rem}.hero{margin-bottom:3rem}.hero h1{font-family:var(--pixel), monospace;margin:.5rem 0 1.25rem;font-size:clamp(2.75rem,6vw,4.5rem);font-weight:600;line-height:1}.hero h1 span{display:block}.hero .lede{max-width:40rem;margin:0;font-size:1.25rem;line-height:1.55}.ctas{flex-wrap:wrap;gap:.875rem;margin:1.75rem 0 2.75rem;display:flex}.ctas a{border:2px solid var(--ink);box-shadow:0 4px 0 var(--drop);color:var(--ink);border-radius:999px;padding:.6875rem 1.25rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms}.ctas a.go{border-color:var(--frame);background:var(--door);box-shadow:0 4px 0 var(--frame);color:var(--frame)}.ctas a:hover{box-shadow:0 2px 0 var(--drop);transform:translateY(2px)}.ctas a:active{box-shadow:none;transform:translateY(4px)}.flow{--visual:13.5rem;--pad:clamp(1.25rem, 3vw, 2.25rem);--mark:calc(var(--pad) + var(--visual) + 1.375rem);max-width:64rem;padding:var(--pad) 0;background:var(--violet);box-shadow:0 6px 0 var(--deep);color:var(--white);border-radius:22px;margin:0;position:relative;container-type:inline-size}.flow .track{top:var(--mark);position:absolute;left:0;right:0}.flow .track:before{content:"";background:#ffffff59;height:2px;position:absolute;top:-1px;left:12.5%;right:12.5%}.flow .dot{z-index:1;border:2px solid var(--frame);background:var(--door);border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;animation:3s ease-in-out both travel;position:absolute;top:0;left:87.5%}.flow .stations{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.flow .station{grid-template-rows:var(--visual) auto;justify-items:center;row-gap:2.75rem;padding:0 .875rem;display:grid;position:relative}.flow .station>:first-child{align-self:end}.flow .station:after{content:"";top:calc(var(--visual) + 1.375rem);background:var(--violet);border:2px solid #fff9;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;left:50%}.flow .station>p{max-width:13rem;color:var(--soft);text-align:center;margin:0;font-size:.9375rem;line-height:1.45}.flow .station>p strong{color:var(--white)}.flow .station>p code{color:var(--white);font-size:.875em}.window{background:var(--white);width:100%;max-width:13rem;box-shadow:0 4px 0 var(--deep);color:var(--frame);border-radius:10px;overflow:hidden}.window .bar{color:#5d5872;background:#ece8fb;align-items:center;gap:4px;padding:.375rem .5rem;font-size:.6875rem;display:flex}.window .bar i{background:#c9c2e6;border-radius:50%;width:7px;height:7px}.window .bar span{font-family:var(--mono), monospace;margin-left:.375rem}.window .body{padding:.875rem .75rem 1rem}.window .body p{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;line-height:1.35}.knock-btn{background:var(--frame);color:var(--white);border-radius:999px;padding:.3125rem .9375rem;font-size:.8125rem;font-weight:700;animation:.3s ease-out .3s both knocked;display:inline-block;box-shadow:0 3px #000}.window.door{max-width:11.5rem;animation:.45s ease-out 1s both lit}.window.door .bar img{width:14px;height:14px}.window.door .bar span{color:var(--frame);font-family:var(--sans), sans-serif;margin-left:.125rem;font-weight:700}.window.door .body .origin{font-family:var(--mono), monospace;margin-bottom:.375rem;font-size:.75rem}.window.door .body p:last-child{margin:0;font-weight:400}.device{background:var(--frame);border-radius:16px 16px 28px 28px;width:11.25rem;padding:10px 10px 14px;box-shadow:0 6px #000}.device .screen{aspect-ratio:1;color:var(--frame);text-align:center;background:#fff;border-radius:3px;flex-direction:column;align-items:center;padding:.5rem .375rem .375rem;font-size:.6875rem;line-height:1.3;display:flex;overflow:hidden}.device .screen p{overflow-wrap:anywhere;margin:0;animation:.3s steps(3,end) 1.8s both on}.device .screen .title{font-family:var(--mono), monospace;align-items:center;gap:4px;margin-bottom:.4375rem;font-size:.8125rem;font-weight:800;display:flex}.device .screen .title img{width:15px;height:15px}.device .screen .muted{color:#6b6680}.device .screen .small{margin-top:.25rem;font-size:.5625rem}.device .screen .foot{margin-top:auto}.device .buttons{justify-content:center;gap:2.5rem;margin-top:12px;display:flex}.device .buttons span{border-radius:50%;width:22px;height:22px}.device .go{background:var(--go);animation:.4s ease-out 2.3s both pressed;box-shadow:0 4px #1f7a3a}.device .stop{background:var(--stop);box-shadow:0 4px #8f2226}.checklist{background:var(--white);width:100%;max-width:12.5rem;box-shadow:0 4px 0 var(--deep);color:var(--frame);font-family:var(--mono), monospace;border-radius:10px;padding:.75rem .875rem .875rem;font-size:.75rem;line-height:1.65;position:relative}.checklist ol{margin:0;padding:0;list-style:none}.checklist li{animation:ticked .25s ease-out calc(3s + var(--n) * .12s) both;gap:.5rem;display:flex}.checklist li:before{content:"✓";color:var(--violet);font-weight:800}.checklist li.not-asked{color:#8b86a0}.checklist li.not-asked:before{content:"–";color:#8b86a0}.stamp{border:3px solid var(--deep);color:var(--deep);font-family:var(--pixel), monospace;background:#fefefee0;border-radius:8px;margin:0;padding:0 .625rem .125rem;font-size:1.875rem;font-weight:600;line-height:1.1;animation:.35s cubic-bezier(.2,1.4,.4,1) 4.2s both stamped;position:absolute;bottom:-1rem;right:-.75rem;transform:rotate(-8deg)}@keyframes travel{0%,16.7%{left:12.5%}33.3%,43.3%{left:37.5%}60%,80%{left:62.5%}96.7%,to{left:87.5%}}@keyframes knocked{50%{transform:translateY(3px);box-shadow:0 0 #000}}@keyframes lit{0%{opacity:.35;transform:translateY(6px)}}@keyframes on{0%{opacity:0}}@keyframes pressed{45%{transform:translateY(4px);box-shadow:0 0 #1f7a3a}}@keyframes ticked{0%{opacity:0;transform:translate(-4px)}}@keyframes stamped{0%{opacity:0;transform:rotate(-14deg)scale(1.9)}}@media (prefers-reduced-motion:reduce){.flow *,.flow :before{animation:none!important}.turn a,.ctas a{transition:none}}@container (max-width:46rem){.flow .stations{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}.flow .station{row-gap:1.25rem}.flow .track,.flow .station:after{display:none}}@container (max-width:26rem){.flow .stations{grid-template-columns:minmax(0,1fr)}.flow .station{grid-template-rows:auto auto}}@media (max-width:75rem){.shell{grid-template-columns:15rem minmax(0,1fr)}.rail{display:none}}@media (max-width:52rem){.shell,.shell.wide{grid-template-columns:minmax(0,1fr)}.brand{width:auto}.links a:not(:last-child),.sidebar .wide{display:none}.sidebar .menu{border:1px solid var(--line);border-radius:10px;margin-top:1rem;display:block}.sidebar .menu summary{cursor:pointer;padding:.625rem .875rem;font-weight:700}.sidebar .menu nav{padding:0 .5rem .75rem}.page{padding-top:1.75rem}.turn{grid-template-columns:1fr}.turn .next{grid-column:1}}@media (max-width:34rem),(hover:none){.search-open .more,.search-open kbd{display:none}}@media (max-width:34rem){.search-open{width:auto;margin-left:auto;padding-right:.875rem}.links{margin-left:0}}
