/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@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;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}@layer theme{:root,:host{--font-sans:"Google Sans Flex","Inter",system-ui,sans-serif;--font-mono:"Space Grotesk",system-ui,sans-serif;--color-zinc-50:oklch(98.5% 0 0);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--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-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wider:.05em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-4xl:calc(var(--radius) + 16px);--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--blur-sm:8px;--blur-md:12px;--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);--color-dark:#111422;--color-dark-panel:#1b1f33;--color-dark-text:#ffffffb3;--gradient-hero:linear-gradient(140deg,#fff 0%,#eef1ff 50%,#fff 100%);--gradient-glow:linear-gradient(135deg,#fefcff,#eef2ff);--shadow-hero:var(--shadow-hero);--shadow-panel:var(--shadow-panel);--shadow-button-primary:var(--shadow-button-primary);--radius-pill:999px;--animate-target-highlight:target-highlight 2s ease-out;--color-muted:var(--muted);--color-accent:var(--accent);--color-accent-soft:var(--accent-soft);--color-accent-foreground:var(--accent-foreground);--height-header:64px;--spacing-header:var(--height-header);--width-sidebar:300px;--min-width-card:220px;--spacing-2xs:.25rem;--spacing-xs:.5rem;--spacing-base:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--color-maturity-incubating:var(--maturity-incubating);--color-maturity-draft:var(--maturity-draft);--color-maturity-prerelease:var(--maturity-prerelease);--color-maturity-stable:var(--maturity-stable);--spacing-spec-s:var(--spacing-xs);--spacing-spec-l:var(--spacing-base)}}@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}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)var(--scrollbar-track)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);color:var(--foreground);background:var(--app-bg)}h1{font-family:var(--font-mono);font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-leading:1.08;--tw-font-weight:var(--font-weight-semibold);line-height:1.08;font-weight:var(--font-weight-semibold);--tw-tracking:-.02em;letter-spacing:-.02em}@media(min-width:48rem){h1{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}hr{border-color:var(--border)}body{background-color:var(--color-zinc-50);color:var(--color-zinc-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-sans)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);min-height:100svh;color:var(--foreground);flex-direction:column;display:flex}.spec{font-family:var(--font-sans);overflow-wrap:anywhere;color:var(--foreground)}.spec section,.spec p{scroll-margin-top:calc(var(--spacing-header) + (calc(var(--spacing)*6)))}.spec dfn{scroll-margin-top:calc(var(--spacing-header) + (calc(var(--spacing)*4)));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground);font-style:normal}.spec h1,.spec h2,.spec h3,.spec h4,.spec h5,.spec h6{margin-top:1.75rem;margin-bottom:var(--spacing-xs);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.spec h1{--tw-leading:1.75rem;font-size:1.375rem;line-height:1.75rem}@media(min-width:48rem){.spec h1{font-size:1.5rem}}.spec h2{--tw-leading:1.75rem;font-size:1.25rem;line-height:1.75rem}@media(min-width:48rem){.spec h2{font-size:1.25rem}}.spec h3,.spec h4,.spec h5,.spec h6{--tw-leading:1.5rem;font-size:1rem;line-height:1.5rem}.spec p{margin-top:calc(var(--spacing)*0);margin-bottom:var(--spacing-base);--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7);overflow-wrap:anywhere;color:var(--foreground)}.spec p:has(+ol),.spec p:has(+ul){margin-bottom:var(--spacing-xs)}@supports not selector(p:has(+ ul)){.spec p+ul,.spec p+ol{margin-top:calc(var(--spacing-spec-s)*-1)}}.spec>ul,.spec>ol{margin-bottom:var(--spacing-base)}.spec ul,.spec ol{margin-block:var(--spacing-xs)}.spec ul{padding-left:1.6875rem;list-style-type:disc}.spec ol{padding-left:1.75rem;list-style-type:decimal}.spec li,.spec li>p{margin-block:var(--spacing-xs)}.spec ul li,.spec ol li{padding-left:var(--spacing-2xs)}.spec .spec-table-wrap{margin-top:calc(var(--spacing)*0);margin-bottom:var(--spacing-base);border-radius:calc(var(--radius) + 4px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background:var(--card);overflow:auto hidden}@supports (color:color-mix(in lab,red,red)){.spec .spec-table-wrap{background:color-mix(in oklab,var(--card)84%,var(--background))}}.spec table{border-collapse:separate;--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));table-layout:auto;overflow-wrap:normal;word-break:normal}.spec .spec-table-wrap>table{min-width:0}.spec table th,.spec table td{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3);text-align:left;vertical-align:top}.spec table thead th,.spec table tbody tr:first-child th{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--foreground)}.spec table tbody tr+tr th,.spec table tbody tr+tr td{border-top:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.spec table tbody tr+tr th,.spec table tbody tr+tr td{border-top:1px solid color-mix(in oklab,var(--border)88%,transparent)}}.spec table td{overflow-wrap:break-word}.spec table :not(pre)>code{vertical-align:middle;white-space:nowrap;overflow-wrap:normal;word-break:normal;display:inline-block}.spec table :is(td,th)>:last-child{margin-bottom:calc(var(--spacing)*0)}@media(min-width:48rem){.spec .spec-table-wrap{overflow-x:hidden}.spec .spec-table-wrap>table{min-width:100%}}.spec .code-block-wrapper{margin-top:0;margin-bottom:var(--spacing-spec-l);border:1px solid var(--border);background:var(--card);border-radius:1.35rem;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.spec .code-block-wrapper{background:color-mix(in oklab,var(--card)84%,var(--background))}}.spec .code-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 1rem;display:flex}@supports (color:color-mix(in lab,red,red)){.spec .code-header{border-bottom:1px solid color-mix(in oklab,var(--border)88%,transparent)}}.spec .code-header{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.spec .code-header{background:color-mix(in oklab,var(--card)84%,var(--background))}}.spec .code-language{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);-webkit-user-select:none;user-select:none;font-size:.75rem;font-weight:600;line-height:1}.spec .copy-btn{width:1.875rem;height:1.875rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s;display:inline-flex}.spec .copy-btn:hover{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.spec .copy-btn:hover{background:color-mix(in oklab,var(--muted)76%,transparent)}}.spec .copy-btn:hover{color:var(--foreground)}.spec .copy-btn:focus-visible{outline:2px solid var(--ring)}@supports (color:color-mix(in lab,red,red)){.spec .copy-btn:focus-visible{outline:2px solid color-mix(in oklab,var(--ring)70%,transparent)}}.spec .copy-btn:focus-visible{outline-offset:2px}.spec .copy-btn-icon,.spec .copy-icon{width:1rem;height:1rem}.spec .code-content{background:var(--card);padding:1rem;font-size:.9rem;line-height:1.65;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.spec .code-content{background:color-mix(in oklab,var(--card)84%,var(--background))}}.spec .code-theme--light{display:block}.spec .code-theme--dark,:root[data-theme=dark] .spec .code-theme--light{display:none}:root[data-theme=dark] .spec .code-theme--dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .spec .code-theme--light{display:none}:root:not([data-theme=light]) .spec .code-theme--dark{display:block}}.spec .code-content .astro-code{width:max-content;min-width:100%;font-family:var(--font-mono)!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.spec .code-content pre{box-shadow:none;background:0 0;border:0;border-radius:0;width:max-content;min-width:100%;margin:0;padding:0;overflow:visible}.spec :not(pre)>code{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--color-muted);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.spec :not(pre)>code{background-color:color-mix(in oklab,var(--color-muted)70%,transparent)}}.spec :not(pre)>code{padding-inline:calc(var(--spacing)*1.5);padding-block:calc(var(--spacing)*.5);font-family:var(--font-mono);white-space:break-spaces;color:var(--muted-foreground);font-size:.92em}.spec hr{margin-block:var(--spacing-base);border-style:var(--tw-border-style);border-width:0;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border)}.spec pre{margin-top:calc(var(--spacing)*0);margin-bottom:var(--spacing-base);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--color-muted);border-radius:12px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.spec pre{background-color:color-mix(in oklab,var(--color-muted)70%,transparent)}}.spec pre{padding-block:.875rem;padding-inline:1rem}.spec pre code{padding:calc(var(--spacing)*0);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);color:var(--foreground);background-color:#0000;border-radius:0}.spec a{color:var(--primary);text-underline-offset:2px;text-decoration-line:underline}.spec blockquote{opacity:.5;transform:scale(.9)}}@layer components{.sidebar,.sidebar-right-placeholder,main{transition:width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),flex-basis .3s cubic-bezier(.4,0,.2,1)}.sidebar-container.is-initializing .sidebar,.sidebar-container.is-initializing .sidebar-right-placeholder,.sidebar-container.is-initializing main{transition:none!important}.sidebar{margin-left:calc(-1*var(--width-sidebar));opacity:0;pointer-events:none;top:var(--height-header);height:calc(100vh - var(--height-header));height:calc(100dvh - var(--height-header));z-index:40;background:var(--spec-bg);padding-left:var(--spacing-lg);position:fixed;left:0;overflow-y:auto}.sidebar-content{visibility:hidden;position:static}[data-toc-toggled=true] .sidebar{opacity:1;pointer-events:auto;margin-left:0}[data-toc-toggled=true] .sidebar-content{visibility:visible}@media(min-width:48rem){.sidebar{opacity:1;pointer-events:auto;z-index:auto;height:auto;padding-left:calc(var(--spacing)*0);background:0 0;margin-left:0;position:static;overflow-y:visible}.sidebar-content{visibility:visible;position:sticky}[data-toc-toggled=true] .sidebar{margin-left:calc(-1*var(--width-sidebar));opacity:0;pointer-events:none}[data-toc-toggled=true] .sidebar-right-placeholder{margin-right:calc(-1*var(--width-sidebar));opacity:0;pointer-events:none}[data-toc-toggled=true] .sidebar-content{visibility:hidden}}.sidebar-restore-btn{box-shadow:0 4px 12px #0000001a}.sidebar-restore-btn:hover{transform:translate(2px)}.tag{border-radius:var(--radius-pill);background-color:var(--accent-soft);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent);padding-block:.5rem;padding-inline:.75rem}.btn{cursor:pointer;border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground);transition-property:background-color,border-color,color,box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;align-items:center;padding:.75rem;text-decoration-line:none;transition-duration:.2s;display:flex}.btn:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.btn:hover{transform:translateY(-1px)}.btn.primary{--tw-shadow:var(--shadow-button-primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background:var(--color-accent);color:var(--color-accent-foreground);border-color:#0000}.btn.dark{color:var(--color-white);background:var(--color-dark-panel);border-color:#0000}.btn.dark.primary{background:var(--color-accent)}.stat{border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);min-width:120px;padding:14px var(--spacing-md)}__value.stat{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);display:block}__label.stat{color:var(--muted);font-size:.85rem}.panel{border-radius:calc(var(--radius) + 4px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--panel);padding:var(--spacing-lg);font-family:var(--font-mono);--tw-shadow:var(--shadow-panel);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.panel.intro{grid-column:span 2/span 2}.panel.contrast{background-color:var(--panel-solid)}.panel.glow{background:var(--gradient-glow)}.panel h2{margin:calc(var(--spacing)*0);margin-bottom:.75rem}.panel p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--secondary-foreground)}.panel ul{margin:calc(var(--spacing)*0);padding:calc(var(--spacing)*0);margin-top:1.5rem;list-style-type:none}.panel li{margin-bottom:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*6);--tw-leading:var(--leading-normal);line-height:var(--leading-normal);color:var(--secondary-foreground);position:relative}.panel li:before{content:"•";top:calc(var(--spacing)*0);left:calc(var(--spacing)*0);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--accent);position:absolute}.panel__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.card{gap:calc(var(--spacing)*4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);min-height:180px;padding:calc(var(--spacing)*4);font-family:var(--font-mono);flex-direction:column;display:flex}.card h3{margin:calc(var(--spacing)*0);font-size:1.1rem}.card p{margin:calc(var(--spacing)*0);--tw-leading:var(--leading-normal);font-size:.9rem;line-height:var(--leading-normal);color:var(--secondary-foreground)}.card a{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent);margin-top:auto;text-decoration-line:none}@media(hover:hover){.card a:hover{text-decoration-line:underline}}.hero{--tw-shadow:var(--shadow-hero);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background:var(--gradient-hero);border-radius:var(--radius-4xl);gap:2rem;padding:3rem;display:grid}.hero .meta{flex-wrap:wrap;gap:10px;display:flex}.hero .content h1{margin-bottom:calc(var(--spacing)*3);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);font-size:clamp(2.4rem,4vw,3.4rem)}.hero .content p{margin:calc(var(--spacing)*0);max-width:640px;font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--secondary-foreground)}.hero .actions{margin-top:calc(var(--spacing)*5);gap:calc(var(--spacing)*4);flex-wrap:wrap;display:flex}.hero .stats{flex-wrap:wrap;gap:2rem;display:flex}.cta{padding:var(--spacing-lg);border-radius:calc(var(--radius) + 16px);background-color:var(--color-dark);font-family:var(--font-mono);color:var(--color-zinc-50);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.cta h2{margin:calc(var(--spacing)*0);margin-bottom:.5rem}.cta p{margin:calc(var(--spacing)*0);max-width:520px;color:var(--color-dark-text)}.cta .cta__links{flex-wrap:wrap;gap:.75rem;display:flex}.cta .btn{color:var(--color-white);background:var(--color-dark-panel);border-color:#0000}.cta .btn.primary{background:var(--color-accent)}.theme-switcher{border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground);transition-property:background-color,color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.theme-switcher:hover{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.theme-switcher:hover{background-color:color-mix(in oklab,var(--accent-soft)60%,transparent)}}.theme-switcher:hover{color:var(--foreground)}.theme-switcher:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}.site-footer a{color:var(--accent);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.site-footer a{-webkit-text-decoration-color:color-mix(in oklab,var(--accent)30%,transparent);text-decoration-color:color-mix(in oklab,var(--accent)30%,transparent)}}.site-footer a{text-underline-offset:4px}@media(hover:hover){.site-footer a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.footer-meta p{margin:0}}@layer utilities{.pointer-events-none{pointer-events:none}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-\[calc\(var\(--height-header\)\+1rem\)\]{top:calc(var(--height-header) + 1rem)}.top-\[var\(--height-header\)\]{top:var(--height-header)}.right-2{right:calc(var(--spacing)*2)}.left-4{left:calc(var(--spacing)*4)}.z-50,.z-header{z-index:50}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.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}}.m-0{margin:calc(var(--spacing)*0)}.target-highlight{animation:var(--animate-target-highlight);border-radius:var(--radius-sm);margin-inline:calc(var(--spacing)*-2);padding-inline:calc(var(--spacing)*2)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-auto{margin-top:auto}.mt-md{margin-top:1.5rem}.mt-xl{margin-top:3rem}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.-ml-3{margin-left:calc(var(--spacing)*-3)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-header{height:64px}.h-px{height:1px}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[calc\(100vh-var\(--height-header\)\)\]{max-height:calc(100vh - var(--height-header))}.min-h-auto{min-height:auto}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-20{width:calc(var(--spacing)*20)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-sidebar{width:300px}.max-w-content{max-width:1200px}.max-w-full{max-width:100%}.max-w-spec{max-width:70ch}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[13rem\]{min-width:13rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.animate-ping{animation:var(--animate-ping)}.cursor-default{cursor:default}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.list-none{list-style-type:none}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[96px_minmax\(0\,1fr\)\]{grid-template-columns:96px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-md{gap:1.5rem}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-6{row-gap:calc(var(--spacing)*6)}.self-baseline{align-self:baseline}.justify-self-center{justify-self:center}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--accent)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-accent,.bg-accent\/5{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--accent)5%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-panel{background-color:var(--panel)}.bg-popover{background-color:var(--popover)}.bg-transparent{background-color:#0000}.bg-warning-soft\/50{background-color:var(--warning-soft)}@supports (color:color-mix(in lab,red,red)){.bg-warning-soft\/50{background-color:color-mix(in oklab,var(--warning-soft)50%,transparent)}}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-md{padding:var(--spacing-md)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-lg{padding-inline:var(--spacing-lg)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-md{padding-block:var(--spacing-md)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-base{padding-bottom:var(--spacing-base)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[13px\]{font-size:13px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.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)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary,.text-primary\/80{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,var(--primary)80%,transparent)}}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-accent\/30{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.decoration-accent\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--accent)30%,transparent);text-decoration-color:color-mix(in oklab,var(--accent)30%,transparent)}}.decoration-border{-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-panel{--tw-shadow:var(--shadow-panel);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-\[background-color\,color\,border-color\]{transition-property:background-color,color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\,transform\]{transition-property:background-color,color,box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\]{transition-property:background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,transform\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\,background-color\]{transition-property:color,box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.bg-spec{background:var(--spec-bg)}@media(hover:hover){.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.hover\:translate-y-\[1px\]:hover{--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-border:hover{border-color:var(--border)}.hover\:bg-accent-soft\/35:hover{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent-soft\/35:hover{background-color:color-mix(in oklab,var(--accent-soft)35%,transparent)}}.hover\:bg-accent-soft\/40:hover{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent-soft\/40:hover{background-color:color-mix(in oklab,var(--accent-soft)40%,transparent)}}.hover\:bg-accent-soft\/50:hover{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent-soft\/50:hover{background-color:color-mix(in oklab,var(--accent-soft)50%,transparent)}}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:decoration-accent:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-accent-soft\/60[data-highlighted]{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.data-\[highlighted\]\:bg-accent-soft\/60[data-highlighted]{background-color:color-mix(in oklab,var(--accent-soft)60%,transparent)}}.data-\[highlighted\]\:text-foreground[data-highlighted]{color:var(--foreground)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:bg-accent-soft\/80[data-state=checked]{background-color:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=checked\]\:bg-accent-soft\/80[data-state=checked]{background-color:color-mix(in oklab,var(--accent-soft)80%,transparent)}}.data-\[state\=checked\]\:text-foreground[data-state=checked]{color:var(--foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:grid-cols-\[120px_minmax\(0\,1fr\)\]{grid-template-columns:120px minmax(0,1fr)}.md\:gap-x-8{column-gap:calc(var(--spacing)*8)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:p-md{padding:var(--spacing-md)}.md\:px-12{padding-inline:calc(var(--spacing)*12)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.active{color:var(--accent)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(40% .01 285);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:#5a6072;--accent:#5b4be6;--accent-soft:#e8e6ff;--accent-foreground:oklch(98.5% 0 0);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--warning-soft:oklch(96% .04 95);--ring:oklch(70.5% .015 286.067);--maturity-incubating:#94a3b8;--maturity-draft:#9018f8;--maturity-prerelease:#3b82f6;--maturity-stable:#10b981;--app-bg:radial-gradient(circle at top,#d9e4ff 0%,#f4f5fb 40%),#f4f5fb;--spec-bg:#fff;--panel:#ffffffd9;--panel-solid:#fff;--shadow-hero:0 24px 60px #565e9a33;--shadow-panel:0 20px 40px #171a2b14;--shadow-button-primary:0 12px 24px #6c5cff4d;--destructive:oklch(57.7% .245 27.325);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067);--scrollbar-track:transparent;--scrollbar-thumb:#6d789857;--scrollbar-thumb-hover:#56638580;font-variant-ligatures:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background:oklch(14.1% .005 285.823);--foreground:#d5d5d5;--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--warning-soft:oklch(36% .04 95);--app-bg:radial-gradient(circle at top,#1a2140 0%,#161820 52%),#090c16;--spec-bg:#151822;--panel:#1e222fe0;--panel-solid:#1b2237;--accent-soft:#8f80ff3d;--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--accent:#8f80ff;--accent-foreground:oklch(98.5% 0 0);--maturity-incubating:#b4c2d8;--maturity-draft:#bb7bff;--maturity-prerelease:#7fb1ff;--maturity-stable:#2dd4a4;--destructive:oklch(70.4% .191 22.216);--ring:oklch(55.2% .016 285.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938);--scrollbar-track:#0b0f1d8c;--scrollbar-thumb:#4f5d83b8;--scrollbar-thumb-hover:#687aa8db;--gradient-hero:linear-gradient(142deg,#121930 0%,#11192e 52%,#1a2550 100%);--gradient-glow:linear-gradient(135deg,var(--accent),#1e396c)}@supports (color:color-mix(in lab,red,red)){:root:not([data-theme=light]){--gradient-glow:linear-gradient(135deg,color-mix(in srgb,var(--accent)18%,#030917),#1e396c)}}:root:not([data-theme=light]){--gradient-body:radial-gradient(circle at top,#1a2140 0%,#0d1223 52%),#090c16;--shadow-hero:0 24px 60px #0508148c;--shadow-panel:0 20px 40px #05081473}}:root[data-theme=dark]{--gradient-hero:linear-gradient(142deg,#121930 0%,#11192e 52%,#1a2550 100%);--gradient-glow:linear-gradient(135deg,var(--accent),#1e396c)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark]{--gradient-glow:linear-gradient(135deg,color-mix(in srgb,var(--accent)18%,#030917),#1e396c)}}:root[data-theme=dark]{--gradient-body:radial-gradient(circle at top,#1a2140 0%,#0d1223 52%),#090c16;--shadow-hero:0 24px 60px #0508148c;--shadow-panel:0 20px 40px #05081473}*{box-sizing:border-box}.page{max-width:1200px;padding-inline:calc(var(--spacing)*4);padding-top:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*20);flex-direction:column;gap:3rem;margin-inline:auto;display:flex}@media(min-width:48rem){.page{padding-inline:calc(var(--spacing)*12);padding-top:calc(var(--spacing)*12)}}.card-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.flow{gap:var(--spacing-base);display:grid}.flow__header p{color:var(--secondary-foreground);max-width:680px}.flow__grid{grid-template-columns:repeat(auto-fit,minmax(var(--min-width-card),1fr));gap:calc(var(--spacing)*5);display:grid}.flow__cta{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;justify-self:flex-end;text-decoration-line:none;transition-duration:.2s}@media(hover:hover){.flow__cta:hover{text-decoration-line:underline}}.pill{border-radius:var(--radius-pill);background-color:var(--accent-soft);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent);align-items:center;display:flex}.pill.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.pill.accent{background:var(--color-accent);color:var(--color-accent-foreground)}.pill.incubating{background:var(--color-maturity-incubating)}@supports (color:color-mix(in lab,red,red)){.pill.incubating{background:color-mix(in srgb,var(--color-maturity-incubating)10%,transparent)}}.pill.incubating{color:var(--color-maturity-incubating);border:1px solid var(--color-maturity-incubating)}@supports (color:color-mix(in lab,red,red)){.pill.incubating{border:1px solid color-mix(in srgb,var(--color-maturity-incubating)20%,transparent)}}.pill.draft{background:var(--color-maturity-draft)}@supports (color:color-mix(in lab,red,red)){.pill.draft{background:color-mix(in srgb,var(--color-maturity-draft)10%,transparent)}}.pill.draft{color:var(--color-maturity-draft);border:1px solid var(--color-maturity-draft)}@supports (color:color-mix(in lab,red,red)){.pill.draft{border:1px solid color-mix(in srgb,var(--color-maturity-draft)20%,transparent)}}.pill.prerelease{background:var(--color-maturity-prerelease)}@supports (color:color-mix(in lab,red,red)){.pill.prerelease{background:color-mix(in srgb,var(--color-maturity-prerelease)10%,transparent)}}.pill.prerelease{color:var(--color-maturity-prerelease);border:1px solid var(--color-maturity-prerelease)}@supports (color:color-mix(in lab,red,red)){.pill.prerelease{border:1px solid color-mix(in srgb,var(--color-maturity-prerelease)20%,transparent)}}.pill.stable{background:var(--color-maturity-stable)}@supports (color:color-mix(in lab,red,red)){.pill.stable{background:color-mix(in srgb,var(--color-maturity-stable)10%,transparent)}}.pill.stable{color:var(--color-maturity-stable);border:1px solid var(--color-maturity-stable)}@supports (color:color-mix(in lab,red,red)){.pill.stable{border:1px solid color-mix(in srgb,var(--color-maturity-stable)20%,transparent)}}.links{margin:var(--spacing-md)0 0;flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.links li a{color:var(--color-text);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.links li a:before{content:"→";color:var(--color-accent);opacity:0;transition:all .2s;transform:translate(-8px)}.links li a:hover:before{opacity:1;transform:translate(0)}.links li a:hover{color:var(--color-accent)}.roles .role-list{gap:var(--spacing-md);display:grid}.roles h4{margin:0 0 var(--spacing-2xs);font-weight:600}.roles p{color:var(--secondary-foreground);margin:0;font-size:.9rem}.spec-content{max-width:70ch}@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}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes target-highlight{0%{background-color:var(--color-accent-soft)}to{background-color:#0000}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
