@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";@layer components;@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-font-weight: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}}}@layer theme{:root,:host{--font-sans: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, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--spacing:.25rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--radius-md:.375rem;--ease-out:cubic-bezier(0, 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]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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 utilities{.absolute{position:absolute}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-21{margin:calc(var(--spacing) * 21)}.m-276{margin:calc(var(--spacing) * 276)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.w-full{width:100%}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.px-16{padding-inline:calc(var(--spacing) * 16)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-wrap{text-wrap:wrap}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.backdrop-filter{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,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 (width>=64rem){.lg\:container{width:100%}@media (width>=40rem){.lg\:container{max-width:40rem}}@media (width>=48rem){.lg\:container{max-width:48rem}}@media (width>=64rem){.lg\:container{max-width:64rem}}@media (width>=80rem){.lg\:container{max-width:80rem}}@media (width>=96rem){.lg\:container{max-width:96rem}}}}:root{--p-50:oklch(97.5% .018 275);--p-100:oklch(93.5% .042 275);--p-200:oklch(87.5% .083 275);--p-300:oklch(77% .135 275);--p-400:oklch(65% .182 275);--p-500:oklch(52% .22 275);--p-600:oklch(44% .22 275);--p-700:oklch(36% .2 275);--p-800:oklch(27% .168 275);--p-900:oklch(19% .128 275);--a-50:oklch(97% .018 28);--a-100:oklch(93% .04 28);--a-200:oklch(87% .08 28);--a-400:oklch(72% .19 28);--a-500:oklch(62% .218 28);--a-600:oklch(54% .218 28);--n-0:#fff;--n-50:oklch(98.5% .005 275);--n-100:oklch(96% .01 275);--n-200:oklch(92.5% .014 275);--n-300:oklch(86% .018 275);--n-400:oklch(72% .02 275);--n-500:oklch(58% .02 275);--n-600:oklch(46% .018 275);--n-700:oklch(35% .016 275);--n-800:oklch(25% .014 275);--n-900:oklch(16% .012 275);--n-950:oklch(10% .01 275);--success:oklch(54% .162 142);--success-bg:oklch(94% .038 142);--warning:oklch(68% .162 75);--warning-bg:oklch(96% .038 75);--danger:oklch(55% .218 28);--danger-bg:oklch(95% .04 28);--info:oklch(55% .185 240);--info-bg:oklch(94% .036 240);--surface:var(--n-0);--surface-1:var(--n-50);--surface-2:var(--n-100);--surface-inverse:var(--n-950);--border:var(--n-200);--border-strong:var(--n-300);--text:var(--n-950);--text-2:var(--n-700);--text-3:var(--n-500);--text-ph:var(--n-400);--text-inv:var(--n-0);--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--t-xs:.6875rem;--t-sm:.8125rem;--t-md:1rem;--t-lg:1.125rem;--t-xl:1.375rem;--t-2xl:1.75rem;--t-3xl:2.25rem;--t-4xl:2.875rem;--t-5xl:3.625rem;--t-6xl:4.5rem;--t-7xl:5.75rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-8:2rem;--s-10:2.5rem;--s-12:3rem;--s-16:4rem;--s-20:5rem;--s-24:6rem;--s-32:8rem;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-2xl:32px;--r-pill:9999px;--sh-1:0 1px 2px #0000000f;--sh-2:0 1px 4px #0000001a, 0 1px 2px #0000000f;--sh-3:0 4px 12px #00000017, 0 2px 4px #0000000d;--sh-4:0 12px 28px #0000001a, 0 4px 8px #0000000d;--sh-5:0 24px 48px #0000001f, 0 8px 16px #0000000f;--ring:0 0 0 3px var(--p-200);--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--t-1:.1s var(--ease-spring);--t-2:.2s var(--ease-spring);--t-3:.36s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--t-md);color:var(--text);background:var(--surface);line-height:1.6}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--p-500);outline-offset:2px;border-radius:2px}.wrap{max-width:1200px;padding:0 var(--s-8);margin:0 auto}.wrap-sm{max-width:860px;padding:0 var(--s-8);margin:0 auto}.wrap-lg{max-width:1400px;padding:0 var(--s-8);margin:0 auto}.btn{align-items:center;gap:var(--s-2);padding:.625rem var(--s-5);font-family:var(--font-display);font-size:var(--t-sm);letter-spacing:-.01em;border-radius:var(--r-sm);white-space:nowrap;transition:all var(--t-1);user-select:none;font-weight:600;line-height:1;display:inline-flex;position:relative}.btn:disabled{opacity:.45;pointer-events:none}.btn-sm{padding:.44rem var(--s-4);font-size:.75rem}.btn-lg{padding:.875rem var(--s-6);font-size:var(--t-md)}.btn-xl{padding:1.05rem var(--s-8);font-size:var(--t-lg)}.btn-primary{background:var(--p-500);color:#fff;box-shadow:var(--sh-2)}.btn-primary:hover{background:var(--p-600);box-shadow:var(--sh-3);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--sh-1);transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);box-shadow:var(--sh-1)}.btn-secondary:hover{border-color:var(--n-400);background:var(--surface-1);transform:translateY(-1px)}.btn-ghost{color:var(--p-500);background:0 0}.btn-ghost:hover{background:var(--p-50)}.btn-outline{color:var(--p-500);border:1.5px solid var(--p-300);background:0 0}.btn-outline:hover{background:var(--p-50);border-color:var(--p-400)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:oklch(48% .218 28)}.btn-on-dark{color:var(--n-900);box-shadow:var(--sh-2);background:#fff}.btn-on-dark:hover{background:var(--n-100);box-shadow:var(--sh-3);transform:translateY(-1px)}.badge{font-family:var(--font-display);font-size:var(--t-xs);letter-spacing:.01em;border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:500;display:inline-flex}.badge-primary{background:var(--p-100);color:var(--p-700)}.badge-accent{background:var(--a-100);color:oklch(44% .218 28)}.badge-success{background:var(--success-bg);color:oklch(38% .162 142)}.badge-warning{background:var(--warning-bg);color:oklch(42% .162 75)}.badge-danger{background:var(--danger-bg);color:oklch(42% .218 28)}.badge-info{background:var(--info-bg);color:oklch(38% .185 240)}.badge-neutral{background:var(--n-100);color:var(--n-700)}.badge-outline{color:var(--p-600);border:1px solid var(--p-300);background:0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-2)}.card-subtle{background:var(--surface-1);border-color:var(--border);box-shadow:none}.card-raised{box-shadow:var(--sh-3)}.card-hover{transition:all var(--t-2)}.card-hover:hover{box-shadow:var(--sh-4);border-color:var(--n-300);transform:translateY(-2px)}.card-primary{background:var(--p-500);color:#fff;box-shadow:var(--sh-4);border-color:#0000}.field{gap:var(--s-2);flex-direction:column;display:flex}.field-label{font-size:var(--t-sm);color:var(--text);font-weight:500}.field-hint{font-size:var(--t-xs);color:var(--text-3)}.field-error{font-size:var(--t-xs);color:var(--danger)}.input{width:100%;padding:.625rem var(--s-4);font-size:var(--t-sm);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);transition:border-color var(--t-1), box-shadow var(--t-1);outline:none}.input::placeholder{color:var(--text-ph)}.input:hover{border-color:var(--n-400)}.input:focus{border-color:var(--p-500);box-shadow:var(--ring)}.input.error{border-color:var(--danger)}.input.error:focus{box-shadow:0 0 0 3px oklch(62% .218 28/.2)}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.divider{background:var(--border);height:1px}.prose{font-family:var(--font-body);font-size:var(--t-lg);color:var(--text-2);max-width:720px;line-height:1.75}.prose h1{font-family:var(--font-display);font-size:var(--t-4xl);letter-spacing:-.038em;color:var(--text);margin-bottom:var(--s-6);margin-top:var(--s-12);font-weight:700;line-height:1.14}.prose h2{font-family:var(--font-display);font-size:var(--t-3xl);letter-spacing:-.03em;color:var(--text);margin-bottom:var(--s-4);margin-top:var(--s-10);font-weight:700;line-height:1.2}.prose h3{font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:-.02em;color:var(--text);margin-bottom:var(--s-3);margin-top:var(--s-8);font-weight:600}.prose h4{font-family:var(--font-display);font-size:var(--t-lg);color:var(--text);margin-bottom:var(--s-2);margin-top:var(--s-6);font-weight:600}.prose p{margin-bottom:var(--s-5)}.prose a{color:var(--p-600);text-underline-offset:3px;text-decoration:underline}.prose a:hover{color:var(--p-500)}.prose ul,.prose ol{padding-left:var(--s-6);margin-bottom:var(--s-5);gap:var(--s-2);flex-direction:column;display:flex}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{line-height:1.65}.prose code{font-family:var(--font-mono);background:var(--p-50);color:var(--p-700);border-radius:var(--r-xs);padding:2px 6px;font-size:.875em}.prose pre{border-radius:var(--r-lg);padding:var(--s-6);margin-bottom:var(--s-6);background:#0d0c14;border:1px solid #ffffff12;overflow-x:auto}.prose pre code{color:#c8c3e8;font-size:var(--t-sm);background:0 0;padding:0;line-height:1.8}.prose blockquote{border-left:3px solid var(--p-300);padding-left:var(--s-5);margin:var(--s-6) 0;color:var(--text-3);font-style:italic}.prose strong{color:var(--text);font-weight:600}.prose hr{border:none;border-top:1px solid var(--border);margin:var(--s-10) 0}.prose table{border-collapse:collapse;width:100%;margin-bottom:var(--s-6);font-size:var(--t-sm)}.prose th{font-family:var(--font-display);text-align:left;padding:var(--s-3) var(--s-4);border-bottom:2px solid var(--border-strong);color:var(--text);font-weight:600}.prose td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.prose img{border-radius:var(--r-lg);max-width:100%}@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-font-weight{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}.nav:where(.astro-wpvy4v7s){top:0;z-index:100;-webkit-backdrop-filter:blur(14px);height:64px;transition:border-color var(--t-2), box-shadow var(--t-2);background:#fffffff0;border-bottom:1px solid #0000;position:fixed;inset-inline:0}.nav:where(.astro-wpvy4v7s).scrolled{border-bottom-color:var(--border);box-shadow:var(--sh-2)}.nav-inner:where(.astro-wpvy4v7s){align-items:center;gap:var(--s-8);height:64px;display:flex}.nav-logo:where(.astro-wpvy4v7s){align-items:center;gap:var(--s-3);display:flex}.nav-wordmark:where(.astro-wpvy4v7s){font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:-.04em;color:var(--text);font-weight:700}.nav-links:where(.astro-wpvy4v7s){align-items:center;gap:var(--s-6);margin-left:auto;display:flex}.nav-links:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s){font-size:var(--t-sm);color:var(--text-2);transition:color var(--t-1);font-weight:500}.nav-links:where(.astro-wpvy4v7s) a:where(.astro-wpvy4v7s):hover{color:var(--text)}.nav-actions:where(.astro-wpvy4v7s){align-items:center;gap:var(--s-2);display:flex}.footer:where(.astro-jo6i4kqk){background:var(--n-900);padding:var(--s-16) 0 var(--s-8)}.footer-grid:where(.astro-jo6i4kqk){gap:var(--s-10);padding-bottom:var(--s-12);border-bottom:1px solid #ffffff12;grid-template-columns:1.7fr 1fr 1fr 1fr;display:grid}.footer-brand:where(.astro-jo6i4kqk){align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.footer-brand:where(.astro-jo6i4kqk) span:where(.astro-jo6i4kqk){font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:-.04em;color:#fff;font-weight:700}.footer-tag:where(.astro-jo6i4kqk){font-size:var(--t-sm);color:#ffffff5c;max-width:230px;line-height:1.65}.fcol-title:where(.astro-jo6i4kqk){font-family:var(--font-display);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:#ffffff52;margin-bottom:var(--s-4);font-weight:600}.flinks:where(.astro-jo6i4kqk){gap:var(--s-3);flex-direction:column;display:flex}.flinks:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk){font-size:var(--t-sm);color:#ffffff7a;transition:color var(--t-1)}.flinks:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk):hover{color:#ffffffe0}.footer-bottom:where(.astro-jo6i4kqk){padding-top:var(--s-8);justify-content:space-between;align-items:center;display:flex}.footer-copy:where(.astro-jo6i4kqk){font-size:var(--t-xs);color:#ffffff42}.footer-legal:where(.astro-jo6i4kqk){gap:var(--s-6);display:flex}.footer-legal:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk){font-size:var(--t-xs);color:#ffffff42;transition:color var(--t-1)}.footer-legal:where(.astro-jo6i4kqk) a:where(.astro-jo6i4kqk):hover{color:#ffffff94}
