.switch[data-astro-cid-hds7qqbe]{height:var(--control-height);border-radius:var(--radius-pill);touch-action:pan-y;user-select:none;min-inline-size:0;margin:0;padding:4px;display:inline-flex;position:relative}.thumb[data-astro-cid-hds7qqbe]{--lens-filter:url(#liquid-glass);width:calc(var(--control-height) - 8px);height:calc(var(--control-height) - 8px);border-radius:var(--radius-pill);pointer-events:none;transition:translate var(--dur-spring) var(--ease-spring), width var(--dur-spring) var(--ease-spring), scale var(--dur-spring) var(--ease-spring);position:absolute;top:4px;left:4px;translate:0}.dragging[data-astro-cid-hds7qqbe] .thumb[data-astro-cid-hds7qqbe]{transition:none}:root[data-theme=dark] .thumb[data-astro-cid-hds7qqbe]{translate:100%}:root[data-theme=light] .thumb[data-astro-cid-hds7qqbe]{translate:200%}label[data-astro-cid-hds7qqbe]{width:calc(var(--control-height) - 8px);border-radius:var(--radius-pill);height:100%;color:var(--subtle);cursor:pointer;transition:color var(--dur-fast);place-items:center;display:grid;position:relative}label[data-astro-cid-hds7qqbe]:hover,:root[data-theme=light] label[data-astro-cid-hds7qqbe]:has([value=light]),:root:not([data-theme]) label[data-astro-cid-hds7qqbe]:has([value=system]),:root[data-theme=dark] label[data-astro-cid-hds7qqbe]:has([value=dark]){color:var(--text)}label[data-astro-cid-hds7qqbe]:has(:focus-visible){outline:2px solid var(--accent);outline-offset:1px}input[data-astro-cid-hds7qqbe]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}input[data-astro-cid-hds7qqbe]:checked{cursor:grab}.dragging[data-astro-cid-hds7qqbe] input[data-astro-cid-hds7qqbe]{cursor:grabbing}svg[data-astro-cid-hds7qqbe]{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;transition:scale var(--dur-spring) var(--ease-spring)}header[data-astro-cid-nen7h5rs]{z-index:5;pointer-events:none;justify-content:center;display:flex;position:fixed;inset:.75rem 1rem auto}.pill[data-astro-cid-nen7h5rs],header[data-astro-cid-nen7h5rs] .corner{pointer-events:auto}.pill[data-astro-cid-nen7h5rs]{max-width:100%;height:var(--control-height);border-radius:var(--radius-pill);align-items:center;gap:.25rem;padding:4px 4px 4px 6px;display:flex}.brand[data-astro-cid-nen7h5rs],nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:34px;font-size:var(--text-sm);white-space:nowrap;align-items:center;padding:0 .75rem;text-decoration:none;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--text);gap:.5rem;padding-left:.25rem;font-weight:600}nav[data-astro-cid-nen7h5rs]{display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--subtle);transition:color var(--dur-fast)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.action[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);background:var(--action);height:100%;color:var(--action-ink);font-size:var(--text-sm);transition:background-color var(--dur-fast), scale var(--dur-fast) var(--ease-out);align-items:center;margin-left:.25rem;padding:0 14px;font-weight:500;text-decoration:none;display:grid}.action[data-astro-cid-nen7h5rs]:hover{background:color-mix(in srgb, var(--action) 88%, var(--bg))}.action[data-astro-cid-nen7h5rs]:active{scale:.98}header[data-astro-cid-nen7h5rs] .corner{position:absolute;top:0;right:0}@media (width<=48rem){header[data-astro-cid-nen7h5rs] .corner{display:none}}@media (width<=30rem){.brand[data-astro-cid-nen7h5rs],nav[data-astro-cid-nen7h5rs] .wide[data-astro-cid-nen7h5rs]{display:none}}@media (width>=48.01rem) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){:root:has(.hero) .pill[data-astro-cid-nen7h5rs]{animation-name:nav-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:35svh 55svh}:root:has(.hero) .pill[data-astro-cid-nen7h5rs]:has(:focus-visible){animation:none}}}@keyframes nav-in{0%{opacity:0;pointer-events:none;translate:0 -10px}}footer[data-astro-cid-jo6i4kqk]{margin-top:var(--section);border-top:1px solid var(--border);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 2rem;padding-block:2rem;display:flex}p[data-astro-cid-jo6i4kqk]{margin:0}.settings[data-astro-cid-jo6i4kqk]{anchor-name:--accessibility;width:var(--control-height);height:var(--control-height);border-radius:var(--radius-pill);color:var(--subtle);cursor:pointer;transition:color var(--dur-fast), scale var(--dur-fast) var(--ease-out);place-items:center;padding:0;display:grid}.settings[data-astro-cid-jo6i4kqk]:active{scale:.98}.settings[data-astro-cid-jo6i4kqk]:hover,.settings[data-astro-cid-jo6i4kqk]:has(+.panel:popover-open){color:var(--text)}.settings[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.panel[data-astro-cid-jo6i4kqk]{width:min(20rem,100vw - 2rem);padding:var(--pad);border-radius:var(--radius-card);color:var(--text);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out), overlay var(--dur-fast) allow-discrete, display var(--dur-fast) allow-discrete;margin:0;position:fixed;inset:auto 1rem 4.5rem auto;translate:0 .5rem}.panel[data-astro-cid-jo6i4kqk]:popover-open{opacity:1;translate:0}@starting-style{.panel[data-astro-cid-jo6i4kqk]:popover-open{opacity:0;translate:0 .5rem}}@media (prefers-reduced-transparency:no-preference){.panel[data-astro-cid-jo6i4kqk]{backdrop-filter:blur(24px)saturate(1.8)}}@supports (anchor-name:--accessibility){.panel[data-astro-cid-jo6i4kqk]{position-anchor:--accessibility;inset:auto;right:anchor(right);bottom:anchor(top);position-try-fallbacks:flip-inline;margin-bottom:.75rem}}.title[data-astro-cid-jo6i4kqk]{margin-bottom:1rem}.panel[data-astro-cid-jo6i4kqk] label[data-astro-cid-jo6i4kqk]{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel[data-astro-cid-jo6i4kqk] label[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{gap:.15rem;display:grid}.panel[data-astro-cid-jo6i4kqk] strong[data-astro-cid-jo6i4kqk]{font-size:var(--text-body);font-weight:500}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]{appearance:none;border:1px solid var(--subtle);border-radius:var(--radius-pill);cursor:pointer;width:40px;height:24px;transition:background-color var(--dur-fast), border-color var(--dur-fast);background:0 0;flex:none;align-items:center;margin:0;padding:3px;display:grid}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:before{content:"";border-radius:var(--radius-pill);background:var(--subtle);width:16px;height:16px;transition:translate var(--dur-fast) var(--ease-out), background-color var(--dur-fast)}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:checked{border-color:var(--action);background:var(--action)}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:checked:before{background:var(--action-ink);translate:16px}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:focus-visible{border-radius:var(--radius-pill)}@media (forced-colors:active){.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:checked{background:highlight;border-color:highlight}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:before{background:canvastext}.panel[data-astro-cid-jo6i4kqk] input[data-astro-cid-jo6i4kqk]:checked:before{background:canvas}}@media (prefers-reduced-motion:reduce){.settings[data-astro-cid-jo6i4kqk]{display:none}}footer[data-astro-cid-jo6i4kqk] .bottom{display:none}@media (width<=48rem){footer[data-astro-cid-jo6i4kqk] .bottom{display:inline-flex}}:root{color-scheme:light dark;--bg:light-dark(#fff,#000);--surface:light-dark(#f2f2f2,#0f0f10);--surface-2:light-dark(#e5e5e5,#1c1d1f);--tint:light-dark(#f2f2f2,#030719);--border:light-dark(#e5e5e5,#ffffff1a);--border-strong:light-dark(#c7c7c7,#fff3);--text:light-dark(#000,#fff);--muted:light-dark(#575757,#b8babf);--subtle:light-dark(#575757,#888b91);--link:light-dark(#000,#60a5fa);--accent:#08f;--blue:light-dark(#0a66d6,#08f);--violet:light-dark(#7c3aed,#b855e7);--green:light-dark(#15803d,#16c253);--amber:light-dark(#b45309,#ffb764);--live:light-dark(#0f9d48,#16c253);--action:light-dark(#212121,#fff);--action-ink:light-dark(#fff,#000);--aurora:linear-gradient(to top, #7d9fe6, #5079cf 7rem, #3456a6 14rem, #223e80 24rem, #0e1c45 34rem, #04060f 46rem);--aurora-light:linear-gradient(to top, #9dbcf3, #608ade 7rem, #3560ae 14rem, #3360bb 24rem, #2b52a6 34rem, #24468f 46rem);--aurora-wash:linear-gradient(90deg, #1999e826, #a45bf226);--text-caption:.75rem;--text-sm:.875rem;--text-body:1rem;--text-lg:1.125rem;--text-subheading:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-heading:clamp(1.5rem, 1.2rem + 1.3vw, 1.875rem);--text-heading-lg:clamp(2rem, 1.4rem + 2.6vw, 3rem);--text-display:clamp(2.5rem, 1.6rem + 4vw, 3.75rem);--gap:1rem;--pad:clamp(1.25rem, 1rem + 1vw, 1.5rem);--section:clamp(4rem, 2.5rem + 5vw, 6rem);--width:75rem;--radius-card:24px;--radius-small:12px;--radius-control:9px;--radius-chip:4px;--radius-pill:9999px;--control-height:42px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:linear(0, .12 6%, .42 16%, .78 28%, 1.02 40%, 1.07 48%, 1.05 56%, 1.01 68%, .995 82%, 1);--dur-spring:.45s;--dur-fast:.2s;--dur:.5s}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--aurora:var(--aurora-light)}}:root[data-theme=light]{--aurora:var(--aurora-light);color-scheme:light}:root[data-theme=dark],.dark{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);font:var(--text-body) / 1.5 var(--font-sans);font-feature-settings:"ss01", "cv11";letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{text-wrap:balance;margin:0 0 .5em;font-weight:500}h1{font-size:var(--text-display);letter-spacing:-.057em;font-weight:600;line-height:1.06}h2{font-size:var(--text-heading-lg);letter-spacing:-.05em;line-height:1.07}h3{font-size:var(--text-subheading);letter-spacing:-.025em;line-height:1.25}p{text-wrap:pretty;margin:0 0 1em}a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-chip)}code{font-family:var(--font-mono);letter-spacing:0;font-size:.9em}:not(pre)>code{background:var(--surface-2);border-radius:var(--radius-chip);padding:.1em .35em}pre{padding:var(--pad);border-radius:var(--radius-small);border:1px solid var(--border);background:var(--bg);font-size:var(--text-sm);tab-size:4;line-height:1.6;overflow-x:auto}.astro-code-themes,.astro-code-themes span{color:light-dark(var(--shiki-light),var(--shiki-dark))}main{padding-top:4.5rem}main:has(>.hero){padding-top:0}.wrap{width:min(100% - 2rem, var(--width));margin-inline:auto}.section{padding-block:var(--section) 0}.eyebrow{color:var(--hue,var(--subtle));margin-bottom:.75rem;font-size:.9375rem;font-weight:500}.muted{color:var(--muted)}.button{border-radius:var(--radius-control);border:1px solid var(--border);background:linear-gradient(#ffffff0f, #0000000f) var(--surface-2);min-height:44px;color:var(--text);cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast), scale var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:.5em;padding:10px 16px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 2px 6px #00000014}.button:active{scale:.98}.button:hover{border-color:var(--border-strong)}.button.primary{background-color:var(--action);color:var(--action-ink);border-color:#0000}.button.primary:hover{background-color:color-mix(in srgb, var(--action) 88%, var(--bg))}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tags li{font:var(--text-caption) / 1 var(--font-mono);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);padding:.5em .8em}.glass{--glass-edge:light-dark(#ffffffeb,#ffffff61);--glass-edge-dim:light-dark(#00000014,#ffffff14);--glass-fill:light-dark(#f2f2f299,#0f0f10a6);--subtle:light-dark(#262626,#e5e7eb);background:radial-gradient(120% 100% at 25% 0%, light-dark(#ffffff80,#ffffff1f), transparent 55%), var(--glass-fill);backdrop-filter:blur(4px)saturate(1.8);border:0;position:relative;box-shadow:inset 0 1.5px 1.5px light-dark(#ffffffe0,#ffffff3d),inset 0 -1px 2px light-dark(#ffffff73,#ffffff14),inset 0 0 10px light-dark(#0088ff0a,#ffffff0a),0 0 0 1px light-dark(#0000000f,#0000),0 1px 2px #00000014,0 12px 32px -8px #00000052}@supports not (((-moz-appearance:none)) or (background:-webkit-named-image(i))){.glass[data-lg-surface]{backdrop-filter:var(--lg-surface) saturate(1.4)}}@media (prefers-reduced-transparency:reduce){.glass,.glass[data-lg-surface]{background:var(--surface);backdrop-filter:none}}.glass:before{content:"";border-radius:inherit;background:linear-gradient(145deg, var(--glass-edge), var(--glass-edge-dim) 32%, var(--glass-edge-dim) 68%, color-mix(in srgb, var(--glass-edge) 65%, transparent));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.lens{backdrop-filter:blur(.5px)saturate(1.75);box-shadow:inset 1px 1.5px 1.5px light-dark(#fffffffa,#ffffff6b),inset -1px -1px 1.5px light-dark(#ffffffa6,#ffffff29),0 2px 8px #0000002e}@supports not (((-moz-appearance:none)) or (background:-webkit-named-image(i))){.lens{backdrop-filter:var(--lens-filter) saturate(1.8)}}.dragging .lens{scale:1 var(--sy,1);box-shadow:inset 1px 1.5px 2px light-dark(#fff,#ffffff85),inset -1px -1px 1.5px light-dark(#ffffffbf,#fff3),0 8px 20px #00000042}@media (prefers-reduced-transparency:reduce){.lens{z-index:-1;background:var(--surface-2);backdrop-filter:none}}@media (forced-colors:active){.lens{outline-offset:-2px;backdrop-filter:none;outline:2px solid highlight}}.label{font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);font-weight:600}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.js .reveal:not(.in){opacity:0;translate:0 20px}.js .reveal{transition:opacity var(--dur) var(--ease-out), translate var(--dur) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms)}.skip{z-index:10;background:var(--action);color:var(--action-ink);border-radius:var(--radius-control);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.theme-change [style*=view-transition-name]{view-transition-name:none!important}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
