.brush-zone[data-astro-cid-rokarwvi]{position:relative}@keyframes brush-bloom{0%{transform:translate(-50%,-50%) scale(0);opacity:0}15%{transform:translate(-50%,-50%) scale(1);opacity:1}75%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(0);opacity:0}}.brush-zone__petal{position:fixed;pointer-events:none;user-select:none;animation:brush-bloom 1s ease-in-out forwards;font-size:1rem;line-height:1;will-change:transform,opacity;z-index:9999}.theme-toggle-container[data-astro-cid-x3pjskd3]{display:inline-flex;align-items:center;gap:var(--space-1);position:relative}.theme-toggle-container[data-astro-cid-x3pjskd3]:after{content:"";position:absolute;bottom:-2px;left:var(--underline-left, 0);width:calc(var(--space-8) * .3);height:2px;background-color:var(--color-text-primary);border-radius:1px;transform-origin:center center}.theme-toggle-container[data-astro-cid-x3pjskd3].theme-toggle--animated:after{transition:left var(--duration-200) var(--ease-out)}.theme-toggle-option[data-astro-cid-x3pjskd3]{display:inline-flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);padding:0;background:transparent;border:none;border-radius:var(--squircle-lg);color:var(--color-text-primary);cursor:pointer;transition:color var(--duration-150) var(--ease-out);position:relative}.theme-toggle-option[data-astro-cid-x3pjskd3]:hover{color:var(--color-neutral-500)}.theme-toggle-option[data-astro-cid-x3pjskd3]:focus{outline:none;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring-color)}.theme-toggle-option--active[data-astro-cid-x3pjskd3]{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.theme-toggle-option--active[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{stroke-width:3;fill:var(--color-text-primary);stroke:var(--color-text-primary)}.theme-toggle-option[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{stroke-width:1.5;fill:none;stroke:currentColor;transition:stroke-width var(--duration-150) var(--ease-out),fill var(--duration-150) var(--ease-out),stroke var(--duration-150) var(--ease-out)}.theme-toggle-option--active[data-astro-cid-x3pjskd3]:hover{color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){.theme-toggle-option[data-astro-cid-x3pjskd3]{transition:var(--motion-reduce)}}.footer[data-astro-cid-sz7xmlte]{margin-top:auto;width:100%;padding:var(--space-6) 0;font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.footer__container[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}.footer__left[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center}.footer__nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:row;justify-content:center;gap:var(--space-4);color:var(--color-text-primary)}.footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--font-size-xs);text-align:left;padding:var(--space-1) 0}.footer__copyright[data-astro-cid-sz7xmlte]{text-align:center;color:var(--color-text-muted);margin-top:var(--space-3)}.footer__copyright[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.footer__theme-toggle[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;margin-top:var(--space-1)}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}:root{--color-neutral-50:#f9fafb;--color-neutral-100:#f3f4f6;--color-neutral-200:#e5e7eb;--color-neutral-300:#d1d5db;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#666;--color-neutral-700:#525252;--color-neutral-800:#262626;--color-neutral-900:#111827;--color-text-primary:var(--color-neutral-800);--color-text-secondary:var(--color-neutral-600);--color-text-muted:var(--color-neutral-500);--color-text-disabled:var(--color-neutral-400);--color-bg-primary:#fff;--color-bg-secondary:var(--color-neutral-50);--color-bg-muted:var(--color-neutral-100);--color-bg-disabled:var(--color-neutral-200);--color-border-primary:var(--color-neutral-200);--color-border-secondary:var(--color-neutral-300);--color-border-focus:#3b82f6;--color-link:#2563eb;--color-link-hover:#1d4ed8;--color-link-visited:#7c3aed;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-accent:#2563eb;--color-selection-bg:#000;--color-selection-text:#fff;--font-family-sans:"Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-serif:"Libre Baskerville", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-family-mono:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-size-7xl:4.5rem;--font-size-8xl:6rem;--font-weight-thin:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--border-width-0:0;--border-width-1:1px;--border-width-2:2px;--border-width-4:4px;--border-width-8:8px;--radius-none:0;--radius-sm:.125rem;--radius-base:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--duration-75:75ms;--duration-100:.1s;--duration-150:.15s;--duration-200:.2s;--duration-250:.25s;--duration-300:.3s;--duration-400:.4s;--duration-500:.5s;--duration-700:.7s;--duration-1000:1s;--ease-linear:linear;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--z-index-0:0;--z-index-10:10;--z-index-20:20;--z-index-30:30;--z-index-40:40;--z-index-50:50;--z-index-auto:auto;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--squircle-sm:calc(var(--radius-base) * .5) / calc(var(--radius-base) * .5);--squircle-md:var(--radius-base) / var(--radius-base);--squircle-lg:calc(var(--radius-base) * 1.5) / calc(var(--radius-base) * 1.5);--squircle-xl:calc(var(--radius-base) * 2) / calc(var(--radius-base) * 2);--squircle-2xl:calc(var(--radius-base) * 3) / calc(var(--radius-base) * 3);--squircle-3xl:calc(var(--radius-base) * 4) / calc(var(--radius-base) * 4);--squircle-mask-sm:radial-gradient(circle at 0 0, transparent calc(var(--radius-base) * .5 - 1px), black calc(var(--radius-base) * .5)) top left, radial-gradient(circle at 100% 0, transparent calc(var(--radius-base) * .5 - 1px), black calc(var(--radius-base) * .5)) top right, radial-gradient(circle at 0 100%, transparent calc(var(--radius-base) * .5 - 1px), black calc(var(--radius-base) * .5)) bottom left, radial-gradient(circle at 100% 100%, transparent calc(var(--radius-base) * .5 - 1px), black calc(var(--radius-base) * .5)) bottom right;--squircle-mask-md:radial-gradient(circle at 0 0, transparent calc(var(--radius-base) - 1px), black var(--radius-base)) top left, radial-gradient(circle at 100% 0, transparent calc(var(--radius-base) - 1px), black var(--radius-base)) top right, radial-gradient(circle at 0 100%, transparent calc(var(--radius-base) - 1px), black var(--radius-base)) bottom left, radial-gradient(circle at 100% 100%, transparent calc(var(--radius-base) - 1px), black var(--radius-base)) bottom right;--squircle-mask-lg:radial-gradient(circle at 0 0, transparent calc(calc(var(--radius-base) * 1.5) - 1px), black calc(var(--radius-base) * 1.5)) top left, radial-gradient(circle at 100% 0, transparent calc(calc(var(--radius-base) * 1.5) - 1px), black calc(var(--radius-base) * 1.5)) top right, radial-gradient(circle at 0 100%, transparent calc(calc(var(--radius-base) * 1.5) - 1px), black calc(var(--radius-base) * 1.5)) bottom left, radial-gradient(circle at 100% 100%, transparent calc(calc(var(--radius-base) * 1.5) - 1px), black calc(var(--radius-base) * 1.5)) bottom right;--squircle-button:calc(var(--space-2) + var(--space-1)) / calc(var(--space-2) + var(--space-1));--squircle-card:calc(var(--space-3) + var(--space-1)) / calc(var(--space-3) + var(--space-1));--squircle-input:var(--space-2) / var(--space-2);--squircle-select:calc(var(--space-2) + var(--space-1)) / calc(var(--space-2) + var(--space-1));--button-padding-sm:var(--space-2) var(--space-3);--button-padding-md:var(--space-3) var(--space-4);--button-padding-lg:var(--space-4) var(--space-6);--button-radius:var(--squircle-button);--button-font-size:var(--font-size-sm);--button-font-weight:var(--font-weight-medium);--button-transition:all var(--duration-150) var(--ease-out);--card-padding:var(--space-4);--card-radius:var(--squircle-card);--card-border:var(--border-width-1) solid var(--color-border-primary);--card-shadow:var(--shadow-sm);--card-bg:var(--color-bg-primary);--input-padding:var(--space-2) var(--space-3);--input-radius:var(--squircle-input);--input-border:var(--border-width-1) solid var(--color-border-primary);--input-font-family:var(--font-family-mono);--select-padding:var(--space-2) var(--space-3);--select-radius:var(--squircle-select);--select-border:var(--border-width-1) solid var(--color-border-primary);--select-transition:border-color var(--duration-150) var(--ease-out);--select-font-family:var(--font-family-mono);--code-bg:var(--color-bg-secondary);--code-border:var(--border-width-1) solid var(--color-border-primary);--code-radius:var(--squircle-2xl);--code-padding:var(--space-1) var(--space-4);--code-font-size:var(--font-size-xs);--code-font-weight:var(--font-weight-medium);--tag-padding:var(--space-1) var(--space-3);--tag-radius:var(--radius-full);--tag-bg:var(--color-bg-muted);--tag-color:var(--color-text-secondary);--tag-font-size:var(--font-size-sm);--tag-border:var(--border-width-1) solid var(--color-border-primary);--animation-duration-fast:var(--duration-150);--animation-duration-normal:var(--duration-300);--animation-duration-slow:var(--duration-500);--animation-ease:var(--ease-out);--animation-ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--focus-ring-width:2px;--focus-ring-color:var(--color-border-focus);--focus-ring-offset:2px;--motion-reduce:.01ms;--motion-safe:var(--duration-150);--grid-cols-1:repeat(1, minmax(0, 1fr));--grid-cols-2:repeat(2, minmax(0, 1fr));--grid-cols-3:repeat(3, minmax(0, 1fr));--grid-cols-4:repeat(4, minmax(0, 1fr));--grid-cols-6:repeat(6, minmax(0, 1fr));--grid-cols-12:repeat(12, minmax(0, 1fr));--flex-gap-sm:var(--space-2);--flex-gap-md:var(--space-4);--flex-gap-lg:var(--space-6);--svg-blue-primary:#1971c2;--svg-blue-secondary:#a5d8ff;--svg-red-primary:#e03131;--svg-red-secondary:#ffc9c9;--svg-yellow-primary:#ffd43b;--svg-yellow-secondary:#fab005;--svg-purple-primary:#9775fa;--svg-purple-secondary:#da77f2;--svg-pink-primary:#f783ac;--svg-pink-secondary:#fcc2d7;--svg-orange-primary:#f08c00;--svg-orange-secondary:#ffd8a8;--svg-green-primary:#2f9e44;--svg-green-secondary:#b2f2bb;--svg-cyan-primary:#0c8599;--svg-cyan-secondary:#99e9f2;--svg-brown-primary:#846358;--svg-brown-secondary:#c4a99a;--svg-text-primary:#1e1e1e;--svg-background-primary:#fff}@media(min-width:475px){:root{--container-sm:28rem}}@media(min-width:640px){:root{--container-md:32rem}}@media(min-width:768px){:root{--container-lg:36rem}}@media(min-width:1024px){:root{--container-xl:42rem}}@media(min-width:1280px){:root{--container-2xl:48rem}}@media(min-width:1536px){:root{--container-3xl:56rem}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-neutral-50:#1a1a1a;--color-neutral-100:#262626;--color-neutral-200:#404040;--color-neutral-300:#525252;--color-neutral-400:#737373;--color-neutral-500:#a3a3a3;--color-neutral-600:#d4d4d4;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#fafafa;--color-text-primary:#f5f5f5;--color-text-secondary:#d4d4d4;--color-text-muted:#a3a3a3;--color-text-disabled:#737373;--color-bg-primary:#0f0f0f;--color-bg-secondary:#1a1a1a;--color-bg-muted:#262626;--color-bg-disabled:#404040;--color-border-primary:#404040;--color-border-secondary:#525252;--color-link:#60a5fa;--color-link-hover:#93c5fd;--color-selection-bg:#fff;--color-selection-text:#000;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-base:0 1px 3px 0 #0006, 0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0000004d;--shadow-2xl:0 25px 50px -12px #00000080;scrollbar-color:var(--color-neutral-400) var(--color-neutral-100);--svg-text-primary:#fff;--svg-background-primary:#1e1e1e;--svg-blue-primary:#4dabf7;--svg-blue-secondary:#1971c2;--svg-red-primary:#ff8787;--svg-red-secondary:#e03131;--svg-yellow-primary:#ffd43b;--svg-yellow-secondary:#fab005;--svg-purple-primary:#9775fa;--svg-purple-secondary:#862e9c;--svg-pink-primary:#f783ac;--svg-pink-secondary:#fcc2d7;--svg-orange-primary:#fd7e14;--svg-orange-secondary:#f08c00;--svg-green-primary:#51cf66;--svg-green-secondary:#2f9e44;--svg-cyan-primary:#3bc9db;--svg-cyan-secondary:#0c8599;--svg-brown-primary:#a67c52;--svg-brown-secondary:#846358}}[data-theme=dark]{--color-neutral-50:#1a1a1a;--color-neutral-100:#262626;--color-neutral-200:#404040;--color-neutral-300:#525252;--color-neutral-400:#737373;--color-neutral-500:#a3a3a3;--color-neutral-600:#d4d4d4;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#fafafa;--color-text-primary:#f5f5f5;--color-text-secondary:#d4d4d4;--color-text-muted:#a3a3a3;--color-text-disabled:#737373;--color-bg-primary:#0f0f0f;--color-bg-secondary:#1a1a1a;--color-bg-muted:#262626;--color-bg-disabled:#404040;--color-border-primary:#404040;--color-border-secondary:#525252;--color-link:#60a5fa;--color-link-hover:#93c5fd;--color-selection-bg:#fff;--color-selection-text:#000;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-base:0 1px 3px 0 #0006, 0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0000004d;--shadow-2xl:0 25px 50px -12px #00000080;scrollbar-color:var(--color-neutral-400) var(--color-neutral-100);--svg-text-primary:#fff;--svg-background-primary:#1e1e1e;--svg-blue-primary:#4dabf7;--svg-blue-secondary:#1971c2;--svg-red-primary:#ff8787;--svg-red-secondary:#e03131;--svg-yellow-primary:#ffd43b;--svg-yellow-secondary:#fab005;--svg-purple-primary:#9775fa;--svg-purple-secondary:#862e9c;--svg-pink-primary:#f783ac;--svg-pink-secondary:#fcc2d7;--svg-orange-primary:#fd7e14;--svg-orange-secondary:#f08c00;--svg-green-primary:#51cf66;--svg-green-secondary:#2f9e44;--svg-cyan-primary:#3bc9db;--svg-cyan-secondary:#0c8599;--svg-brown-primary:#a67c52;--svg-brown-secondary:#846358}.link-primary{color:var(--color-link);transition:color var(--duration-150) var(--ease-out);text-decoration:none}.link-primary:hover{color:var(--color-link-hover);text-decoration:underline}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.container-responsive{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);max-width:var(--container-2xl);margin:0 auto}@media(min-width:640px){.container-responsive{padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:768px){.container-responsive{max-width:var(--container-3xl)}}@media(min-width:1024px){.container-responsive{padding-left:var(--space-8);padding-right:var(--space-8);max-width:var(--container-4xl)}}.container-narrow{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);max-width:var(--container-md);margin:0 auto}@media(min-width:640px){.container-narrow{padding-left:var(--space-6);padding-right:var(--space-6);max-width:var(--container-lg)}}.container-medium{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);max-width:var(--container-xl);margin:0 auto}@media(min-width:640px){.container-medium{padding-left:var(--space-6);padding-right:var(--space-6);max-width:var(--container-2xl)}}.container-wide{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);max-width:var(--container-6xl);margin:0 auto}@media(min-width:640px){.container-wide{padding-left:var(--space-6);padding-right:var(--space-6);max-width:var(--container-7xl)}}.stack-xs>*+*{margin-top:var(--space-1)}.stack-sm>*+*{margin-top:var(--space-2)}.stack-md>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-6)}.stack-xl>*+*{margin-top:var(--space-8)}.cluster-xs{align-items:center;gap:var(--space-1);display:flex}.cluster-sm{align-items:center;gap:var(--space-2);display:flex}.cluster-md{align-items:center;gap:var(--space-4);display:flex}.cluster-lg{align-items:center;gap:var(--space-6);display:flex}.mb-xs{margin-bottom:var(--space-1)}.mb-sm{margin-bottom:var(--space-2)}.mb-md{margin-bottom:var(--space-4)}.mb-lg{margin-bottom:var(--space-6)}.mb-xl{margin-bottom:var(--space-8)}.mb-2xl{margin-bottom:var(--space-12)}.flex-col-xs{gap:var(--space-1);flex-direction:column;display:flex}.flex-col-sm{gap:var(--space-2);flex-direction:column;display:flex}.flex-col-md{gap:var(--space-4);flex-direction:column;display:flex}.flex-col-lg{gap:var(--space-6);flex-direction:column;display:flex}.flex-col-xl{gap:var(--space-10);flex-direction:column;display:flex}.flex-col-2xl{gap:var(--space-12);flex-direction:column;display:flex}.flex-row-gap-sm{gap:var(--space-2);flex-direction:row;display:flex}.flex-row-gap-md{gap:var(--space-4);flex-direction:row;display:flex}.flex-row-gap-lg{gap:var(--space-6);flex-direction:row;display:flex}.flex-row-gap-xl{gap:var(--space-8);flex-direction:row;display:flex}.flex-row-gap-2xl{gap:var(--space-12);flex-direction:row;display:flex}.post-header-list{gap:var(--space-10);margin-bottom:var(--space-10);flex-direction:column;padding:0;list-style:none;display:flex}.flex-col-10>.page-title{margin:0}.flex-center{justify-content:center;align-items:center;display:flex}.flex-center-x{justify-content:center;display:flex}.breadcrumb{margin-bottom:var(--space-6);font-family:var(--font-family-mono)}.breadcrumb__list{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;padding:0;list-style:none;display:flex}.breadcrumb__item{align-items:center;gap:var(--space-2);display:flex}.breadcrumb__link{color:var(--color-text-secondary);transition:color var(--duration-150) var(--ease-out);text-decoration:none}.breadcrumb__link:hover{color:var(--color-text-primary)}.breadcrumb__separator{color:var(--color-text-muted)}.breadcrumb__current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breadcrumb--compact{margin-bottom:var(--space-4)}.breadcrumb--compact .breadcrumb__list{font-size:var(--font-size-xs);gap:var(--space-1)}.breadcrumb--large{margin-bottom:var(--space-8)}.breadcrumb--large .breadcrumb__list{font-size:var(--font-size-base);gap:var(--space-3)}.btn{padding:var(--button-padding-md);border-radius:var(--button-radius);font-family:var(--font-family-mono);font-size:var(--button-font-size);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);border:none;text-decoration:none;display:inline-block}.btn:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--full-width{width:100%}.btn--primary{background-color:var(--color-selection-bg);color:var(--color-selection-text)}.btn--primary:hover:not(:disabled){background-color:var(--color-neutral-800)}.btn--secondary{background-color:var(--color-neutral-200);color:var(--color-neutral-800)}.btn--secondary:hover:not(:disabled){background-color:var(--color-neutral-300)}.svg-text-pre{white-space:pre}.hover-highlight{color:var(--color-text-primary);transition:color var(--duration-150) var(--ease-out);text-decoration:none}.hover-highlight:hover{color:var(--color-neutral-500)}.mdx-video-container{justify-content:center;display:flex}.mdx-video{object-fit:cover;width:100%;height:100%;margin:0}@layer theme{:root,:host{--font-sans:"Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-thin:100;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-4{margin-block:calc(var(--spacing) * 4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-auto{height:auto}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-grabbing{cursor:grabbing}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media(min-width:40rem){.sm\:my-4{margin-block:calc(var(--spacing) * 4)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/librebaskerville/v16/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxMaC82U.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;font-display:swap}@font-face{font-family:Comic Shanns;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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);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;font-display:swap}.prose,.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.prose p,.prose li,.prose strong,.prose b{color:var(--color-text-primary)!important}.prose a{transition:color var(--duration-150) var(--ease-out);text-decoration:underline;color:var(--color-text-primary)!important}.prose a:hover{color:var(--color-text-secondary)!important}.prose code:not(pre code){color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-bold)!important}.prose li::marker{color:var(--color-text-disabled)!important}.prose img{width:100%;height:auto;margin:var(--space-2) 0!important}.prose video{margin:var(--space-2) 0!important}::selection{background-color:var(--color-selection-bg);color:var(--color-selection-text)}html,body{min-height:100%}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) var(--color-neutral-50);height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family-serif);color:var(--color-text-primary);background-color:var(--color-bg-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-50);border-radius:var(--squircle-md)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--squircle-md);border:var(--space-2) solid var(--color-neutral-50)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}::-webkit-scrollbar-corner{background:var(--color-neutral-50)}.card{transition:transform var(--duration-150) var(--ease-out);will-change:transform;text-decoration:none}.cool-fade-in,.cool-fade-in>*{opacity:0;transform:translateY(var(--space-5));animation:fadeInUp var(--duration-300) var(--ease-out) forwards}.cool-fade-in[data-translate=false],.cool-fade-in[data-translate=false]>*{opacity:0;animation:fadeInOnly var(--duration-300) var(--ease-out) forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeInOnly{to{opacity:1}}.cool-fade-in>:first-child{animation-delay:var(--duration-100)}.cool-fade-in>:nth-child(2){animation-delay:var(--duration-150)}.cool-fade-in>:nth-child(3){animation-delay:.175s}.cool-fade-in>:nth-child(4){animation-delay:var(--duration-200)}.cool-fade-in>:nth-child(5){animation-delay:.225s}.cool-fade-in>:nth-child(6){animation-delay:var(--duration-250)}.cool-fade-in>:nth-child(n+7){animation-delay:.275s}@media(prefers-reduced-motion:reduce){.card{transition:none}.cool-fade-in,.cool-fade-in>*{opacity:1;animation:none;transform:none}}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.base-layout[data-astro-cid-ih5q4bf2]{display:flex;flex-direction:column;position:relative;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.base-layout__header[data-astro-cid-ih5q4bf2]{width:100%;padding-bottom:var(--space-4)}.base-layout__header-link[data-astro-cid-ih5q4bf2],.base-layout__header-span[data-astro-cid-ih5q4bf2]{display:block;margin-top:var(--space-3);margin-bottom:var(--space-3)}.base-layout__dev-nav[data-astro-cid-ih5q4bf2]{margin-bottom:var(--space-2);text-align:left}.base-layout__dev-link[data-astro-cid-ih5q4bf2]{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-neutral-600);text-decoration:none}.base-layout__dev-link[data-astro-cid-ih5q4bf2]:hover{color:var(--color-text-primary);text-decoration:underline}@media(min-width:640px){.base-layout__header-link[data-astro-cid-ih5q4bf2],.base-layout__header-span[data-astro-cid-ih5q4bf2]{margin-top:var(--space-4);margin-bottom:var(--space-4)}}.base-layout__header-logo[data-astro-cid-ih5q4bf2]{width:100%;height:auto;max-height:7rem;margin-left:auto;margin-right:auto}@media(min-width:640px){.base-layout__header-logo[data-astro-cid-ih5q4bf2]{max-height:9rem}}@media(min-width:768px){.base-layout__header-logo[data-astro-cid-ih5q4bf2]{max-height:11rem}}.base-layout__main[data-astro-cid-ih5q4bf2]{flex-grow:1;width:100%}.base-layout__footer[data-astro-cid-ih5q4bf2]{margin-top:auto;width:100%;background-color:var(--color-bg-primary)}.base-layout__footer-container[data-astro-cid-ih5q4bf2]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:var(--space-4)}
