@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{color-scheme:dark;scroll-behavior:smooth}html[data-theme=light]{color-scheme:light}body{font-family:var(--font-mono);background:#030712;margin:0}html[data-theme=light] body{background:#f8fafc}::selection{color:#f0f9ff;background:#7dd3fc3d}html[data-theme=light] ::selection{color:#082f49;background:#0ea5e933}}@layer components{.nav-link{color:#bae6fd9e;text-transform:lowercase;border:1px solid #0000;padding:.35rem .55rem;transition:background .15s,border-color .15s,color .15s}.nav-link:hover{color:#e0f2fe;background:#7dd3fc0a;border-color:#7dd3fc33}.terminal-shell{background-color:#030712;background-image:repeating-linear-gradient(0deg,#bae6fd06 0 1px,#0000 1px 4px),radial-gradient(circle at 12% 0,#0ea5e914,#0000 24rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.terminal-frame{background:#030712eb;border:1px solid #bae6fd29;box-shadow:0 24px 70px #0000008c,inset 0 0 44px #0ea5e909}.terminal-bar{background:#050a16;border-bottom:1px solid #bae6fd1f}.terminal-dot{background:#bae6fd1a;border:1px solid #bae6fd3d;width:.48rem;height:.48rem;display:inline-block}.terminal-button{color:#bae6fdb8;font-family:var(--font-mono);background:0 0;border:1px solid #7dd3fc2e;padding:.6rem .9rem;font-weight:400;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.terminal-button:hover{color:#e0f2fe;background:#7dd3fc0d;border-color:#7dd3fc6b}.theme-toggle{cursor:pointer;align-items:center}.theme-toggle-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:.95rem;height:.95rem}.theme-toggle-icon-dark,html[data-theme=light] .theme-toggle-icon-light{display:none}html[data-theme=light] .theme-toggle-icon-dark{display:inline-block}.section-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:#bae6fd61;font-size:.68rem;font-weight:400}.section-label:before{color:#0ea5e99e;content:"$ "}.panel{background:#050a16bd;border:1px solid #bae6fd1f;position:relative;box-shadow:inset 0 1px #bae6fd09}.panel:before{content:"";opacity:.5;background:linear-gradient(90deg,#7dd3fc52,#0000);height:1px;position:absolute;inset:0 0 auto}.tag{font-family:var(--font-mono);color:#bae6fd94;background:0 0;border:1px solid #7dd3fc21;padding:.3rem .65rem;font-size:.72rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tag:before{color:#0ea5e980;content:"#"}.tag:hover,.tag.is-active{color:#e0f2fe;background:#7dd3fc0b;border-color:#7dd3fc61}.series-chip{color:#bae6fd94;font-family:var(--font-mono);background:0 0;border:1px solid #7dd3fc21;padding:.3rem .65rem;font-size:.72rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.series-chip:before{color:#0ea5e980;content:"@";margin-right:.25rem}.series-chip:hover,.series-chip.is-active{color:#e0f2fe;background:#7dd3fc0b;border-color:#7dd3fc61}.toc-link{border-left:1px solid #0000;padding-left:.55rem}.toc-link.is-active{color:#e0f2fe;background:linear-gradient(90deg,#7dd3fc14,#0000);border-color:#7dd3fc8c}.content{color:#cbd5e1;font-size:1.05rem;line-height:1.8}.content :where(h2,h3){color:#f8fafc;font-family:var(--font-mono);margin-top:2.5rem;font-weight:800;line-height:1.2}.content :where(h2,h3):before{color:#38bdf8;content:"## "}.content h2{font-size:clamp(1.55rem,3vw,2.1rem)}.content h3{font-size:1.35rem}.content :where(p,ul,ol,pre,blockquote){margin-top:1.1rem}.content ul{padding-left:1.5rem;list-style:none}.content ul li:before{content:"→";color:#38bdf8;margin-left:-1.5rem;margin-right:.5rem}.content ol{counter-reset:list-counter;padding-left:1.5rem;list-style:none}.content ol li{counter-increment:list-counter}.content ol li:before{content:counter(list-counter) ".";color:#38bdf8;margin-left:-1.5rem;margin-right:.5rem}.content a{color:#7dd3fc;text-underline-offset:.2em;-webkit-text-decoration:underline #7dd3fc59;text-decoration:underline #7dd3fc59}.content code{color:#e0f2fe;background:#082f4973;border:1px solid #38bdf82e;padding:.15rem .35rem;font-size:.92em}.content pre{color:#f8fafc;border:1px solid #38bdf829;padding:3.25rem 1.15rem 1.15rem;position:relative;overflow-x:auto;box-shadow:0 18px 48px #02061773,inset 0 1px #bae6fd0a;background:radial-gradient(circle at 0 0,#0ea5e91a,#0000 18rem),linear-gradient(#07111f,#050b16)!important}.content pre:before{box-sizing:border-box;color:#e2e8f07a;content:attr(data-language);letter-spacing:.12em;text-align:right;text-transform:uppercase;background:linear-gradient(#0b1a2c,#081321);border-bottom:1px solid #7dd3fc1f;height:2.2rem;padding:0 3.25rem 0 3.5rem;font-size:.64rem;line-height:2.2rem;position:absolute;inset:0 0 auto}.content pre:after{content:"";background-color:#0000;background-image:radial-gradient(circle,#ffffff38 0 .18rem,#0000 .2rem),radial-gradient(circle,#ffffff2e 0 .18rem,#0000 .2rem),radial-gradient(circle,#ffffff24 0 .18rem,#0000 .2rem);background-position:0 0,.75rem 0,1.5rem 0;background-repeat:no-repeat;background-size:.4rem .4rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:2rem;height:.4rem;position:absolute;top:.9rem;left:1rem}.content pre:not([data-language]):before,.content pre[data-language=""]:before,.content pre[data-language=text]:before{content:""}.copy-code-button{color:#94a3b8;cursor:pointer;height:1.65rem;font-family:var(--font-mono);z-index:2;background:#03071294;border:1px solid #7dd3fc2e;justify-content:center;align-items:center;width:1.65rem;padding:0;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s;display:inline-flex;position:absolute;top:.48rem;right:.7rem}.copy-icon{fill:none;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem;transition:opacity .15s,transform .15s;position:absolute}.copy-icon-success{opacity:0;transform:scale(.72)}.copy-code-button:hover{color:#ddd6fe;background:#5b21b657;border-color:#a78bfab8;transform:translateY(-1px);box-shadow:0 0 18px #7c3aed2e}.copy-code-button.is-copied{color:#86efac;background:#14532d73;border-color:#22c55ea6}.copy-code-button.is-copied .copy-icon-default{opacity:0;transform:scale(.72)}.copy-code-button.is-copied .copy-icon-success{opacity:1;transform:scale(1)}.copy-code-button.is-failed{color:#fca5a5;background:#7f1d1d73;border-color:#f87171a6}.content pre code{counter-reset:step;background:0 0;border:0;padding:0;font-size:.9rem;line-height:1.75;display:grid}.content pre code .line{min-height:1.75em}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)}html[data-theme=light] .astro-code,html[data-theme=light] .astro-code span{color:var(--shiki-light)}html[data-theme=light] .terminal-shell{background:repeating-linear-gradient(0deg,#082f490b 0 1px,#0000 1px 5px),radial-gradient(circle at 14% 0,#0ea5e929,#0000 26rem),linear-gradient(#eef8fd,#f8fafc 20rem)}html[data-theme=light] .terminal-frame{background:#fffffff5;border-color:#0f172a2e;box-shadow:0 24px 70px #0f172a29,inset 0 0 44px #0ea5e90e}html[data-theme=light] .terminal-bar{background:#dff1f8;border-bottom-color:#0f172a29}html[data-theme=light] .terminal-dot{background:#0ea5e92e;border-color:#082f4933}html[data-theme=light] header,html[data-theme=light] footer{border-color:#082f491f}html[data-theme=light] header{background:#e2f2faeb}html[data-theme=light] .nav-link,html[data-theme=light] .terminal-button,html[data-theme=light] .tag,html[data-theme=light] .series-chip{color:#1e293b;background:#ffffffad;border-color:#0f172a33}html[data-theme=light] .nav-link:hover,html[data-theme=light] .terminal-button:hover,html[data-theme=light] .tag:hover,html[data-theme=light] .tag.is-active,html[data-theme=light] .series-chip:hover,html[data-theme=light] .series-chip.is-active{color:#075985;background:#0ea5e91f;border-color:#0284c78c}html[data-theme=light] .panel{background:#ffffffe0;border-color:#0f172a29;box-shadow:inset 0 1px #ffffffb8}html[data-theme=light] .panel:before{background:linear-gradient(90deg,#0ea5e947,#0000)}html[data-theme=light] .section-label,html[data-theme=light] footer{color:#0f172a9e}html[data-theme=light] .section-label:before,html[data-theme=light] .tag:before,html[data-theme=light] .series-chip:before,html[data-theme=light] .content :where(h2,h3):before{color:#0284c7a8}html[data-theme=light] .content{color:#1f2937}html[data-theme=light] .content :where(h2,h3),html[data-theme=light] .text-white,html[data-theme=light] .text-sky-100{color:#0f172a}html[data-theme=light] .text-slate-300,html[data-theme=light] .text-slate-400,html[data-theme=light] .text-sky-200\/35,html[data-theme=light] .text-sky-200\/45,html[data-theme=light] .text-sky-200\/55,html[data-theme=light] .text-sky-200\/60,html[data-theme=light] .text-sky-200\/70,html[data-theme=light] .text-sky-200\/75{color:#334155c7}html[data-theme=light] .text-sky-300,html[data-theme=light] .text-sky-500,html[data-theme=light] .hover\:text-sky-200:hover,html[data-theme=light] .group:hover .group-hover\:text-sky-300{color:#0369a1}html[data-theme=light] .border-sky-300\/10,html[data-theme=light] .border-sky-300\/20,html[data-theme=light] .border-sky-300\/25,html[data-theme=light] .border-sky-400\/15,html[data-theme=light] .border-sky-400\/25{border-color:#082f4929}html[data-theme=light] .bg-black\/20,html[data-theme=light] .bg-slate-950\/70,html[data-theme=light] .bg-slate-950\/85{background-color:#ffffffc2}html[data-theme=light] .content code{color:#075985;background:#e0f2fee6;border-color:#0284c747}html[data-theme=light] .content pre{border-color:#0f172a29;box-shadow:0 16px 38px #0f172a1a,inset 0 1px #ffffffe6;color:#1e293b!important;background:linear-gradient(#f8fafcfa,#f1f5f9fa)!important}html[data-theme=light] .content pre:before{color:#33415594;background:linear-gradient(#e2edf4,#d8e8f0);border-bottom-color:#0f172a1f}html[data-theme=light] .content pre:after{background-color:#0000;background-image:radial-gradient(circle,#0284c79e 0 .18rem,#0000 .2rem),radial-gradient(circle,#0f172a57 0 .18rem,#0000 .2rem),radial-gradient(circle,#0f172a38 0 .18rem,#0000 .2rem);background-position:0 0,.75rem 0,1.5rem 0;background-repeat:no-repeat;background-size:.4rem .4rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}html[data-theme=light] .content pre code,html[data-theme=light] .content pre .line{background:0 0!important}html[data-theme=light] .content pre span{color:var(--shiki-light)!important;background:0 0!important}html[data-theme=light] .copy-code-button{color:#475569;background:#ffffffd1;border-color:#0f172a2e}html[data-theme=light] .copy-code-button:hover{color:#075985;background:#e0f2feeb;border-color:#0284c77a;box-shadow:0 0 18px #0ea5e924}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.end{inset-inline-end:var(--spacing)}.mx-auto{margin-inline:auto}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.max-h-\[calc\(100vh-4rem\)\]{max-height:calc(100vh - 4rem)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.cursor-pointer{cursor:pointer}.scroll-mt-8{scroll-margin-top:calc(var(--spacing) * 8)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-sky-300\/25{border-color:#77d4ff40}@supports (color:color-mix(in lab,red,red)){.border-sky-300\/25{border-color:color-mix(in oklab,var(--color-sky-300) 25%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.65rem\]{font-size:.65rem}.text-\[clamp\(2rem\,6vw\,3\.8rem\)\]{font-size:clamp(2rem,6vw,3.8rem)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-9{--tw-leading:calc(var(--spacing) * 9);line-height:calc(var(--spacing) * 9)}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-sky-100{color:var(--color-sky-100)}.text-sky-200\/35{color:#b8e6fe59}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/35{color:color-mix(in oklab,var(--color-sky-200) 35%,transparent)}}.text-sky-200\/45{color:#b8e6fe73}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/45{color:color-mix(in oklab,var(--color-sky-200) 45%,transparent)}}.text-sky-200\/55{color:#b8e6fe8c}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/55{color:color-mix(in oklab,var(--color-sky-200) 55%,transparent)}}.text-sky-200\/60{color:#b8e6fe99}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/60{color:color-mix(in oklab,var(--color-sky-200) 60%,transparent)}}.text-sky-200\/70{color:#b8e6feb3}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/70{color:color-mix(in oklab,var(--color-sky-200) 70%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.decoration-sky-300\/30{text-decoration-color:#77d4ff4d}@supports (color:color-mix(in lab,red,red)){.decoration-sky-300\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--color-sky-300) 30%,transparent);text-decoration-color:color-mix(in oklab,var(--color-sky-300) 30%,transparent)}}.underline-offset-4{text-underline-offset:4px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:text-sky-300:is(:where(.group):hover *){color:var(--color-sky-300)}}.placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}@media(hover:hover){.hover\:text-sky-200:hover{color:var(--color-sky-200)}}@media(min-width:40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media(min-width:64rem){.lg\:gap-10{gap:calc(var(--spacing) * 10)}}html[data-theme=light] .text-white,html[data-theme=light] .text-sky-100{color:#0f172a}html[data-theme=light] .text-slate-300{color:#334155}html[data-theme=light] .text-slate-400,html[data-theme=light] .text-sky-200\/70,html[data-theme=light] .text-sky-200\/75{color:#475569}html[data-theme=light] .text-sky-200\/35,html[data-theme=light] .text-sky-200\/45,html[data-theme=light] .text-sky-200\/55,html[data-theme=light] .text-sky-200\/60{color:#64748b}html[data-theme=light] .text-sky-300,html[data-theme=light] .text-sky-500,html[data-theme=light] .hover\:text-sky-200:hover,html[data-theme=light] .group:hover .group-hover\:text-sky-300{color:#0369a1}html[data-theme=light] .border-sky-300\/10,html[data-theme=light] .border-sky-300\/20,html[data-theme=light] .border-sky-300\/25,html[data-theme=light] .border-sky-400\/15,html[data-theme=light] .border-sky-400\/25{border-color:#0f172a2e}html[data-theme=light] .bg-black\/20,html[data-theme=light] .bg-slate-950\/70,html[data-theme=light] .bg-slate-950\/85{background-color:#ffffffdb}html[data-theme=light] .hover\:bg-sky-300\/\[0\.035\]:hover{background-color:#0ea5e914}html[data-theme=light] .placeholder\:text-slate-500::placeholder{color:#64748b}html[data-theme=light] article header#overview,html[data-theme=light] article header#overview>.flex,html[data-theme=light] article header#overview>h1{background:0 0}}:root{--color-primary:#007aff;--color-primary-hover:#0056b3;--color-primary-active:#004085;--color-ink:#201d1d;--color-ink-deep:#0f0000;--color-body:#424245;--color-muted:#646262;--color-ash:#9a9898;--color-canvas:#fdfcfc;--color-surface-soft:#f8f7f7;--color-surface-card:#f1eeee;--color-surface-dark:#201d1d;--color-surface-dark-elevated:#302c2c;--color-hairline:#0f00001f;--color-hairline-strong:#646262;--color-on-primary:#fdfcfc;--color-on-dark:#fdfcfc;--color-on-dark-muted:#c9d7e8;--font-mono-stack:"Berkeley Mono", "JetBrains Mono", "IBM Plex Mono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}html,html[data-theme=light]{color-scheme:light}body,html[data-theme=light] body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-mono-stack)}::selection{color:var(--color-ink);background:#007aff2e}html[data-theme=light] ::selection{color:var(--color-ink);background:#007aff2e}.site-shell{background:var(--color-canvas);color:var(--color-ink);min-height:100vh}.site-frame{max-width:72rem;min-height:100vh;margin:0 auto}.site-header,.site-footer{background:var(--color-canvas);border-color:var(--color-hairline)}.ascii-mark{color:var(--color-primary)}.brand-wordmark{color:var(--color-primary);font-family:var(--font-mono-stack);letter-spacing:0;white-space:pre;font-size:.95rem;font-weight:700;line-height:1.1;display:inline-block}.site-nav{justify-content:space-between;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.site-nav-main,.site-nav-links{align-items:center;display:flex}.site-nav-main{gap:1rem}.site-nav-links{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.theme-toggle{flex:none;min-width:2.5rem;padding-left:.65rem;padding-right:.65rem}.nav-link{color:var(--color-ink);font-family:var(--font-mono-stack);text-transform:lowercase;border:0;border-radius:4px;padding:.25rem .5rem;font-size:.95rem;font-weight:500}.nav-link:before{color:var(--color-muted);content:"["}.nav-link:after{color:var(--color-muted);content:"]"}.nav-link:hover{color:var(--color-primary-hover);background:#007aff14;border-color:#0000}.terminal-button,.button-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-on-primary);font-family:var(--font-mono-stack);border-radius:4px;justify-content:center;align-items:center;min-height:2.25rem;padding:.25rem 1.25rem;font-size:1rem;font-weight:500;line-height:2;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.terminal-button:hover,.button-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.button-secondary{background:var(--color-canvas);border-color:var(--color-hairline-strong);color:var(--color-ink)}.button-secondary:hover{border-color:var(--color-primary);color:var(--color-primary-hover);background:#007aff14}.theme-toggle-icon{width:.95rem;height:.95rem}.section-label{color:var(--color-ink);font-family:var(--font-mono-stack);letter-spacing:0;text-transform:none;font-size:1rem;font-weight:700;line-height:1.5}.section-label:before{color:var(--color-primary);content:"[+] "}.section-rule{border-top:1px solid var(--color-hairline);margin-top:.75rem;padding-top:1rem}.panel{background:var(--color-canvas);border:1px solid var(--color-hairline);box-shadow:none;color:var(--color-body);position:relative}.panel:before{content:none}.panel:hover{border-color:#007aff61}.hero-terminal{background:var(--color-surface-dark);color:var(--color-on-dark);font-family:var(--font-mono-stack);padding:4rem 2rem}.hero-terminal pre{color:var(--color-on-dark);max-width:max-content;margin:0 auto;font-family:inherit;font-size:clamp(.62rem,1.8vw,1rem);font-weight:700;line-height:1.1;overflow:hidden}.hero-prompt{background:var(--color-surface-dark-elevated);color:var(--color-on-dark);border-radius:4px;max-width:44rem;margin:2rem auto 0;padding:.5rem .75rem}.hero-prompt .prompt-accent{color:#6bb6ff}.hero-keys{color:var(--color-on-dark-muted);max-width:44rem;margin:1.5rem auto 0}.list-row{border-top:1px solid var(--color-hairline);color:var(--color-body);padding:.75rem 0}.list-row:before{color:var(--color-primary);content:"[+] ";font-weight:700}.tag,.series-chip{border:1px solid var(--color-hairline);color:var(--color-muted);font-family:var(--font-mono-stack);background:0 0;border-radius:4px;padding:.125rem .5rem;font-size:.875rem;line-height:2;text-decoration:none;display:inline-flex}.tag:before,.series-chip:before{color:var(--color-primary);margin-right:.25rem}.tag:before{content:"#"}.series-chip:before{content:"@"}.tag:hover,.tag.is-active,.series-chip:hover,.series-chip.is-active{color:var(--color-primary-hover);background:#007aff14;border-color:#007aff6b}.toc-link{color:var(--color-muted);border-left:0;padding-left:0}.toc-link:before{color:var(--color-primary);content:"[ ] "}.toc-link.is-active{color:var(--color-ink);background:0 0}.toc-link.is-active:before{content:"[x] "}.content{color:var(--color-body);font-family:var(--font-mono-stack);font-size:1rem;line-height:1.75}.content :where(h2,h3){color:var(--color-ink);font-family:var(--font-mono-stack);margin-top:3rem;font-weight:700;line-height:1.5}.content :where(h2,h3):before{color:var(--color-primary);content:"[+] "}.content h2{border-top:1px solid var(--color-hairline);padding-top:1rem;font-size:1.25rem}.content h3{font-size:1rem}.content :where(p,ul,ol,pre,blockquote){margin-top:1rem}.content ul{padding-left:1.5rem;list-style:none}.content ul li:before{content:"→";color:var(--color-primary);margin-left:-1.5rem;margin-right:.5rem}.content ol{counter-reset:list-counter;padding-left:1.5rem;list-style:none}.content ol li{counter-increment:list-counter}.content ol li:before{content:counter(list-counter) ".";color:var(--color-primary);margin-left:-1.5rem;margin-right:.5rem}.content a{color:var(--color-primary-hover);text-underline-offset:.2em;-webkit-text-decoration:underline #007aff59;text-decoration:underline #007aff59}.content code{background:var(--color-surface-card);border:1px solid var(--color-hairline);color:var(--color-ink);border-radius:4px;padding:.1rem .3rem}.content pre,html[data-theme=light] .content pre{box-shadow:none;border:0;padding:3rem 1rem 1rem;background:var(--color-surface-dark)!important;color:var(--color-on-dark)!important}.content pre:before,html[data-theme=light] .content pre:before{background:var(--color-surface-dark-elevated);color:var(--color-on-dark-muted);border-bottom:0}.copy-code-button,html[data-theme=light] .copy-code-button{background:var(--color-surface-dark-elevated);box-shadow:none;color:var(--color-on-dark-muted);border-color:#fdfcfc24;border-radius:4px}.copy-code-button:hover,html[data-theme=light] .copy-code-button:hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:none;color:var(--color-on-primary);transform:none}.copy-code-button.is-copied{color:var(--color-ink);background:#30d158;border-color:#30d158}.search-input{background:var(--color-surface-soft);border:1px solid var(--color-hairline);color:var(--color-ink);font-family:var(--font-mono-stack);border-radius:4px;outline:none;min-height:2.5rem}.search-input:focus{background:var(--color-canvas);border-color:var(--color-primary)}[data-result-card]{transition:background .15s,border-color .15s,box-shadow .15s}[data-result-card].is-active{background:var(--color-canvas);border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.text-white,.text-sky-100,html[data-theme=light] .text-white,html[data-theme=light] .text-sky-100{color:var(--color-ink)}.text-slate-300,.text-slate-400,.text-sky-200\/35,.text-sky-200\/45,.text-sky-200\/55,.text-sky-200\/60,.text-sky-200\/70,.text-sky-200\/75,html[data-theme=light] .text-slate-300,html[data-theme=light] .text-slate-400,html[data-theme=light] .text-sky-200\/35,html[data-theme=light] .text-sky-200\/45,html[data-theme=light] .text-sky-200\/55,html[data-theme=light] .text-sky-200\/60,html[data-theme=light] .text-sky-200\/70,html[data-theme=light] .text-sky-200\/75{color:var(--color-body)}.text-sky-300,.text-sky-500,.hover\:text-sky-200:hover,.group:hover .group-hover\:text-sky-300,html[data-theme=light] .text-sky-300,html[data-theme=light] .text-sky-500,html[data-theme=light] .hover\:text-sky-200:hover,html[data-theme=light] .group:hover .group-hover\:text-sky-300{color:var(--color-primary-hover)}.bg-black\/20,.bg-slate-950\/70,.bg-slate-950\/85,html[data-theme=light] .bg-black\/20,html[data-theme=light] .bg-slate-950\/70,html[data-theme=light] .bg-slate-950\/85{background-color:var(--color-canvas)}.border-sky-300\/10,.border-sky-300\/20,.border-sky-300\/25,.border-sky-400\/15,.border-sky-400\/25,html[data-theme=light] .border-sky-300\/10,html[data-theme=light] .border-sky-300\/20,html[data-theme=light] .border-sky-300\/25,html[data-theme=light] .border-sky-400\/15,html[data-theme=light] .border-sky-400\/25{border-color:var(--color-hairline)}@media(max-width:640px){.site-shell{padding-left:.875rem;padding-right:.875rem}.site-nav{align-items:stretch;gap:.85rem;padding:.85rem 0 1rem;display:grid}.site-nav-main{justify-content:center;width:100%}.site-nav-main .brand-wordmark{justify-self:center}.site-nav-links{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;justify-items:center;gap:.45rem;display:grid}.site-nav-links .nav-link,.site-nav-links .nav-search,.site-nav-links .theme-toggle{width:100%;height:2.25rem;min-height:2.25rem}.site-nav-links .nav-link{border:1px solid var(--color-hairline);justify-content:center;align-items:center;padding:.2rem .35rem;display:inline-flex}.site-nav-links .nav-search{grid-column:1/3}.site-nav-links .theme-toggle{grid-column:3;min-width:0;padding-left:0;padding-right:0}.hero-terminal{padding:3rem 1rem}.brand-wordmark{font-size:.95rem}}html[data-theme=dark]{--color-primary:#58a6ff;--color-primary-hover:#8fc4ff;--color-primary-active:#2f81f7;--color-ink:#f4f8ff;--color-ink-deep:#fff;--color-body:#c7d2e1;--color-muted:#8d9db0;--color-ash:#637083;--color-canvas:#07111f;--color-surface-soft:#0b1728;--color-surface-card:#101c2e;--color-surface-dark:#020711;--color-surface-dark-elevated:#101c2e;--color-hairline:#8eb0d62e;--color-hairline-strong:#adcaec6b;--color-on-primary:#03101f;--color-on-dark:#f4f8ff;--color-on-dark-muted:#95a6bb;color-scheme:dark}html[data-theme=dark] body{background:var(--color-canvas);color:var(--color-ink)}html[data-theme=dark] ::selection{color:var(--color-ink);background:#58a6ff42}html[data-theme=dark] .site-shell{background:repeating-linear-gradient(0deg,#58a6ff06 0 1px,transparent 1px 5px),radial-gradient(circle at 12% 0%,#58a6ff1f,transparent 26rem),var(--color-canvas)}html[data-theme=light] header,html[data-theme=light] .site-header{background:var(--color-canvas)}html[data-theme=dark] .site-header{background:0 0}html[data-theme=dark] .panel{background:#0b1728b8}html[data-theme=dark] .button-secondary{border-color:var(--color-hairline);color:var(--color-ink);background:0 0}html[data-theme=dark] .button-secondary:hover{border-color:var(--color-primary);color:var(--color-primary-hover);background:#58a6ff1a}html[data-theme=dark] .hero-terminal{border:1px solid var(--color-hairline)}html[data-theme=dark] .content code{color:var(--color-ink);background:#58a6ff14;border-color:#58a6ff33}html[data-theme=light] .content pre{border:1px solid var(--color-hairline);box-shadow:none;padding:3rem 1rem 1.15rem;background:var(--color-surface-card)!important;color:var(--color-ink)!important}html[data-theme=light] .content pre:before{background:linear-gradient(90deg,#007aff1f,transparent 70%),var(--color-surface-soft);border-bottom:1px solid var(--color-hairline);color:var(--color-primary-hover);content:attr(data-language);font-weight:700}html[data-theme=light] .content pre:not([data-language]):before,html[data-theme=light] .content pre[data-language=""]:before,html[data-theme=light] .content pre[data-language=text]:before{color:var(--color-muted);content:"snippet"}html[data-theme=light] .content pre:after{background:radial-gradient(circle,var(--color-primary) 0 .16rem,transparent .18rem),radial-gradient(circle,var(--color-muted) 0 .16rem,transparent .18rem),radial-gradient(circle,var(--color-ash) 0 .16rem,transparent .18rem);background-position:0 0,.7rem 0,1.4rem 0;background-repeat:no-repeat;background-size:.36rem .36rem}html[data-theme=light] .content pre code,html[data-theme=light] .content pre .line{border-radius:0;padding:0;background:0 0!important;border:0!important}html[data-theme=light] .content pre span{color:var(--shiki-light)!important;background:0 0!important}html[data-theme=light] .copy-code-button{background:var(--color-canvas);border-color:var(--color-hairline);color:var(--color-muted)}html[data-theme=light] .copy-code-button:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}html[data-theme=dark] .content pre{border:1px solid var(--color-hairline);background:var(--color-surface-dark)!important;color:var(--color-on-dark)!important}html[data-theme=dark] .content pre:before{background:var(--color-surface-dark-elevated);border-bottom:1px solid var(--color-hairline);color:var(--color-on-dark-muted)}html[data-theme=dark] .content pre code,html[data-theme=dark] .content pre .line{border-radius:0;padding:0;background:0 0!important;border:0!important}html[data-theme=dark] .content pre span{color:var(--shiki-dark)!important;background:0 0!important}.content pre code{border-radius:0;padding:0;border:0!important}@media(min-width:640px){.blog-layout{grid-template-columns:14rem minmax(0,1fr);align-items:start}.toc-panel{align-self:start;position:sticky;top:2rem}}@media(min-width:768px){.blog-layout{grid-template-columns:16rem minmax(0,1fr)}}@media(min-width:1024px){.blog-layout{grid-template-columns:18rem minmax(0,1fr)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
