@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");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-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-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-duration:initial;--tw-ease:initial;--tw-content:"";--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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:.75rem;--radius-4xl:2rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono);--color-card:var(--card);--color-accent:var(--accent);--font-display:var(--font-display)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.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}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-\[60\%\]{top:60%}.top-full{top:100%}.top-px{top:1px}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.left-0{left:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-1{z-index:1}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.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}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.my-1{margin-block:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-\(--radix-navigation-menu-viewport-height\){height:var(--radix-navigation-menu-viewport-height)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11\!{height:calc(var(--spacing) * 11)!important}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-72{max-height:calc(var(--spacing) * 72)}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-max{max-width:max-content}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-56{min-width:calc(var(--spacing) * 56)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:var(--spacing)}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-lg\!{border-radius:var(--radius-lg)!important}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xl\!{border-radius:var(--radius-xl)!important}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--border)}.border-input,.border-input\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.border-input\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground,.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/10{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.object-cover{object-fit:cover}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-px{padding:1px}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--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-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--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-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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-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-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.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-\[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-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.ease-\[var\(--ease-out\)\]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{user-select:none}.\[--card-spacing\:--spacing\(4\)\]{--card-spacing:calc(var(--spacing) * 4)}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-open\/navigation-menu-trigger\:rotate-180:is(:where(.group\/navigation-menu-trigger)[data-open] *),.group-data-popup-open\/navigation-menu-trigger\:rotate-180:is(:where(.group\/navigation-menu-trigger)[data-popup-open] *){rotate:180deg}.group-data-selected\/command-item\:text-foreground:is(:where(.group\/command-item)[data-selected] *){color:var(--foreground)}.group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *){opacity:1}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--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)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing) * 1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-lg:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:var(--radius-lg)}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--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)}.group-data-\[viewport\=false\]\/navigation-menu\:ring-1:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.group-data-\[viewport\=false\]\/navigation-menu\:ring-foreground\/10:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.group-data-\[viewport\=false\]\/navigation-menu\:ring-foreground\/10:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.group-data-\[viewport\=false\]\/navigation-menu\:duration-300:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:start-1\/2:after{content:var(--tw-content);inset-inline-start:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-muted:focus{background-color:var(--muted)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-2: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)}.focus-visible\:ring-3:focus-visible,.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-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.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)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}:where([data-slot=dialog-content]) .in-data-\[slot\=dialog-content\]\:rounded-lg\!{border-radius:var(--radius-lg)!important}:where([data-slot=navigation-menu-content]) .in-data-\[slot\=navigation-menu-content\]\:rounded-md{border-radius:var(--radius-md)}.has-disabled\:bg-input\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.has-disabled\:bg-input\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:0}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]: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)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=true]){--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)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.aria-invalid\:ring-3[aria-invalid=true]{--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)}.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-active\:bg-muted\/50[data-active]{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.data-active\:bg-muted\/50[data-active]{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.data-active\:bg-sidebar-accent[data-active]{background-color:var(--sidebar-accent)}.data-active\:font-medium[data-active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-sidebar-accent-foreground[data-active]{color:var(--sidebar-accent-foreground)}@media (hover:hover){.data-active\:hover\:bg-muted[data-active]:hover{background-color:var(--muted)}}.data-active\:focus\:bg-muted[data-active]:focus{background-color:var(--muted)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-horizontal\:h-2\.5[data-horizontal]{height:calc(var(--spacing) * 2.5)}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-horizontal\:border-t[data-horizontal]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent[data-horizontal]{border-top-color:#0000}.data-open\:bg-muted\/50[data-open]{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.data-open\:bg-muted\/50[data-open]{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}@media (hover:hover){.data-open\:hover\:bg-muted[data-open]:hover{background-color:var(--muted)}.data-open\:hover\:bg-sidebar-accent[data-open]:hover{background-color:var(--sidebar-accent)}.data-open\:hover\:text-sidebar-accent-foreground[data-open]:hover{color:var(--sidebar-accent-foreground)}}.data-open\:focus\:bg-muted[data-open]:focus,.data-popup-open\:bg-muted\/50[data-popup-open]{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.data-popup-open\:bg-muted\/50[data-popup-open]{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}@media (hover:hover){.data-popup-open\:hover\:bg-muted[data-popup-open]:hover{background-color:var(--muted)}}.data-selected\:bg-muted[data-selected]{background-color:var(--muted)}.data-selected\:text-foreground[data-selected]{color:var(--foreground)}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:w-2\.5[data-vertical]{width:calc(var(--spacing) * 2.5)}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-vertical\:border-l[data-vertical]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent[data-vertical]{border-left-color:#0000}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=md\]\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:0}:is(.\*\:data-\[slot\=input-group-addon\]\:pl-2\!>*)[data-slot=input-group-addon]{padding-left:calc(var(--spacing) * 2)!important}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:var(--radius-sm)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports (backdrop-filter:var(--tw)){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));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,)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\(--radix-navigation-menu-viewport-width\){width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--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)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.ltr\:-translate-x-1\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *),.rtl\:-translate-x-1\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-transparent{background-color:#0000}@media (hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:disabled\:bg-transparent:disabled{background-color:#0000}.dark\:has-disabled\:bg-input\/80:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:has-disabled\:bg-input\/80:has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-2 *)[cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:py-1\.5 *)[cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-xs *)[cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}:is(.data-selected\:\*\:\[svg\]\:text-foreground[data-selected]>*):is(svg){color:var(--foreground)}.\[\&\>button\]\:hidden>button{display:none}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}:root{color-scheme:light;--font-body:"Geist Variable", sans-serif;--font-display:"Bricolage Grotesque Variable", "Geist Variable", sans-serif;--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;--radius:.75rem;--radius-control:.625rem;--radius-panel:1rem;--shadow-panel:0 1.5rem 4rem -2.5rem oklch(30% .05 30/.28);--background:oklch(97.5% .009 55);--foreground:oklch(22% .018 35);--card:oklch(99.5% .004 55);--card-foreground:oklch(22% .018 35);--popover:oklch(99.5% .004 55);--popover-foreground:oklch(22% .018 35);--primary:oklch(56% .17 31);--primary-foreground:oklch(98.5% .006 55);--secondary:oklch(94% .018 47);--secondary-foreground:oklch(27% .02 35);--muted:oklch(94% .014 50);--muted-foreground:oklch(48% .025 38);--accent:oklch(91% .052 36);--color-accent-ink:oklch(32% .07 31);--accent-foreground:var(--color-accent-ink);--destructive:oklch(55% .2 27);--border:oklch(86% .022 45);--input:oklch(86% .022 45);--ring:oklch(62% .15 31);--success:oklch(54% .12 151);--success-soft:oklch(94% .035 151);--success-foreground:oklch(31% .08 151);--surface-raised:oklch(99% .006 55);--surface-accent:oklch(95% .027 38);--surface-strong:oklch(27% .025 35);--ink-subtle:oklch(62% .022 38);--chart-1:oklch(62% .15 31);--chart-2:oklch(59% .1 151);--chart-3:oklch(62% .08 230);--chart-4:oklch(68% .12 77);--chart-5:oklch(58% .09 300);--sidebar:oklch(98.5% .006 55);--sidebar-foreground:oklch(22% .018 35);--sidebar-primary:oklch(56% .17 31);--sidebar-primary-foreground:oklch(98.5% .006 55);--sidebar-accent:oklch(94% .018 47);--sidebar-accent-foreground:oklch(27% .02 35);--sidebar-border:oklch(86% .022 45);--sidebar-ring:oklch(62% .15 31)}.dark{color-scheme:dark;--shadow-panel:0 1.5rem 4rem -2rem oklch(3% .01 30/.72);--background:oklch(16% .014 35);--foreground:oklch(94% .01 55);--card:oklch(19.5% .016 35);--card-foreground:oklch(94% .01 55);--popover:oklch(19.5% .016 35);--popover-foreground:oklch(94% .01 55);--primary:oklch(69% .14 31);--primary-foreground:oklch(16% .014 35);--secondary:oklch(24.5% .018 36);--secondary-foreground:oklch(91% .012 55);--muted:oklch(23.5% .015 36);--muted-foreground:oklch(68% .02 48);--accent:oklch(31% .06 31);--color-accent-ink:oklch(91% .025 43);--accent-foreground:var(--color-accent-ink);--destructive:oklch(69% .17 25);--border:oklch(31% .022 38);--input:oklch(31% .022 38);--ring:oklch(70% .13 31);--success:oklch(68% .11 151);--success-soft:oklch(25% .04 151);--success-foreground:oklch(82% .08 151);--surface-raised:oklch(20.5% .017 35);--surface-accent:oklch(23.5% .035 32);--surface-strong:oklch(91% .012 55);--ink-subtle:oklch(56% .018 48);--chart-1:oklch(70% .13 31);--chart-2:oklch(68% .11 151);--chart-3:oklch(70% .09 230);--chart-4:oklch(74% .11 77);--chart-5:oklch(68% .1 300);--sidebar:oklch(18% .015 35);--sidebar-foreground:oklch(94% .01 55);--sidebar-primary:oklch(69% .14 31);--sidebar-primary-foreground:oklch(16% .014 35);--sidebar-accent:oklch(24.5% .018 36);--sidebar-accent-foreground:oklch(91% .012 55);--sidebar-border:oklch(31% .022 38);--sidebar-ring:oklch(70% .13 31)}:root{--color-paper:var(--background);--color-paper-raised:var(--surface-raised);--color-paper-accent:var(--surface-accent);--color-ink:var(--foreground);--color-ink-muted:var(--muted-foreground);--color-ink-subtle:var(--ink-subtle);--color-card:var(--card);--color-card-ink:var(--card-foreground);--color-accent:var(--primary);--color-accent-soft:var(--accent);--color-accent-ink-strong:var(--primary-foreground);--color-rule:var(--border);--color-focus:var(--ring);--color-success:var(--success);--color-success-soft:var(--success-soft);--color-success-ink:var(--success-foreground);--color-error:var(--destructive);--space-3xs:.125rem;--space-2xs:var(--space-1);--space-xs:var(--space-2);--space-sm:var(--space-3);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-10);--space-2xl:var(--space-16);--space-3xl:var(--space-24);--space-4xl:9rem;--space-page:clamp(var(--space-4), 4vw, var(--space-16));--space-section:clamp(3.5rem, 7vw, var(--space-4xl));--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-3xl:3.052rem;--text-4xl:3.815rem;--text-display-s:clamp(2.5rem, 5vw + .5rem, 4.5rem);--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--measure-ui:32ch;--measure-compact:48ch;--measure-reading:65ch;--measure-wide:72ch;--measure-display:22ch;--layout-content-max:88rem;--layout-panorama-max:105rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--rule-strong:2px;--radius-sm:var(--radius-control);--radius-md:var(--radius);--radius-lg:var(--radius-panel);--radius-round:999px}*,:before,:after{box-sizing:border-box}html,body{min-width:20rem;overflow-x:clip}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth;text-rendering:optimizelegibility}body{background:var(--color-paper);min-height:100dvh;color:var(--color-ink);font-size:var(--text-base);margin:0;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{text-decoration-thickness:var(--rule-hair);text-underline-offset:var(--space-2xs)}a:active{text-decoration-thickness:var(--rule-strong)}a[aria-disabled=true]{pointer-events:none;cursor:not-allowed;opacity:.55}button,[role=button],[data-slot=button]{white-space:nowrap}main p a,main li a{overflow-wrap:break-word}:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}[data-slot=button]:focus-visible{outline:var(--rule-strong) solid var(--color-paper);outline-offset:var(--space-2xs);box-shadow:0 0 0 var(--space-2xs) var(--color-focus)}[data-slot=input]{outline:var(--rule-strong) solid transparent;outline-offset:var(--rule-hair)}[data-slot=input]:focus-visible{outline-color:var(--color-focus);outline-offset:var(--rule-hair);box-shadow:none}::selection{background:var(--color-accent-soft);color:var(--color-ink)}img,svg{max-width:100%;display:block}h1,h2,h3{min-width:0;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-style:normal;font-weight:750;line-height:1.02}h1{font-size:var(--text-display)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}p{margin:0}.tabular,time{font-variant-numeric:tabular-nums}.site-shell{width:min(100%,100rem);margin-inline:auto}.skip-link{z-index:600;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-paper);position:fixed;inset-block-start:var(--space-md);inset-inline-start:var(--space-md);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{min-height:5rem;padding-inline:var(--panorama-gutter);justify-content:space-between;align-items:center;display:flex}.wordmark,.site-footer__brand{align-items:center;gap:var(--space-sm);min-height:2.75rem;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.025em;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{flex:none}.brand-mark__spark{fill:var(--color-accent)}.brand-mark__build{fill:var(--color-ink)}.site-header__actions{align-items:center;gap:var(--space-xs);display:flex}.header-cta{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);font-size:var(--text-sm);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);align-items:center;font-weight:650;text-decoration:none;display:inline-flex}.header-cta:active{transform:translateY(var(--space-3xs))}.theme-toggle{position:relative}.theme-toggle__moon,.dark .theme-toggle__sun{display:none}.dark .theme-toggle__moon{display:block}.home-hero{gap:var(--space-2xl);padding:var(--space-xl) var(--space-page) var(--space-3xl);align-items:center;display:grid}.home-hero__copy{gap:var(--space-lg);min-width:0;display:grid}.hero-seal{width:fit-content;color:var(--color-ink-muted);font-size:var(--text-sm);letter-spacing:.02em;font-weight:650}.home-hero h1{max-width:11ch}.home-hero__lede{max-width:55ch;color:var(--color-ink-muted);font-size:var(--text-md);line-height:1.55}.hero-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.home-hero__art{min-width:0}.spark-hero{width:min(100%,42rem);margin:0;position:relative}.spark-hero svg{width:100%;height:auto}.spark-hero figcaption{max-width:28ch;color:var(--color-ink-muted);font-size:var(--text-sm);text-align:end;margin-inline-start:auto}.spark-hero__field{fill:none;stroke:var(--color-rule);stroke-linecap:round;stroke-width:2px}.spark-hero__spark{color:var(--color-accent);transform-box:fill-box;transform-origin:50%;animation:spark-settle .52s var(--ease-out) both}.spark-hero__spark path{fill:currentColor}.spark-hero__spark circle{fill:none;stroke:currentColor;stroke-width:2px}.spark-hero__module{animation:module-settle var(--dur-long) var(--ease-out) both}.spark-hero__module rect{fill:var(--color-paper-raised);stroke:var(--color-rule);stroke-width:2px}.spark-hero__module path,.spark-hero__module circle{fill:none;stroke:var(--color-ink-muted);stroke-linecap:round;stroke-width:2px}.spark-hero__module circle{fill:var(--color-accent);stroke:none}.spark-hero__module--one{animation-delay:.12s}.spark-hero__module--two{animation-delay:.19s}.spark-hero__module--three{animation-delay:.26s}.spark-hero__module--four{animation-delay:.33s}.reveal{animation:reveal var(--dur-long) var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms)}@keyframes reveal{0%{opacity:0;transform:translateY(var(--space-sm))}}@keyframes spark-settle{0%{opacity:0;transform:scale(.84)rotate(-8deg)}}@keyframes module-settle{0%{opacity:0;transform:translateX(calc(var(--space-md) * -1))}}.section-band{padding-inline:var(--panorama-gutter)}.home-latest{padding-block:var(--space-2xl) var(--space-3xl);background:var(--color-paper-accent);color:var(--color-ink)}.home-types{padding-block:var(--space-3xl) var(--space-2xl)}.section-heading{gap:var(--space-lg);margin-block-end:var(--space-xl);display:grid}.section-heading>div{gap:var(--space-sm);display:grid}.section-heading h2{font-size:var(--text-2xl)}.section-heading p{max-width:56ch;color:var(--color-ink-muted)}.text-link,.statement-link{gap:var(--space-xs);width:fit-content;min-height:2.75rem;color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-rule);-webkit-text-decoration-color:var(--color-rule);text-decoration-color:var(--color-rule);transition:color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);align-items:center;font-weight:650;display:inline-flex}.text-link svg,.statement-link svg{width:1rem;height:1rem}.text-link:active,.statement-link:active{transform:translateY(var(--space-3xs))}.content-card-link{min-width:0;color:inherit;text-decoration:none;display:block}.content-card{border-radius:var(--radius-lg);background:var(--color-card);height:100%;color:var(--color-card-ink);transition:background-color var(--dur-short) var(--ease-out)}.content-card__meta,.project-card__meta{gap:var(--space-sm);color:var(--color-ink-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.content-card__title{max-width:18ch;font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.035em;margin-block-start:var(--space-sm);font-weight:750}.content-card__description{max-width:62ch;color:var(--color-ink-muted);font-size:var(--text-base);line-height:1.6}.content-card__footer{gap:var(--space-md);color:var(--color-ink-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;margin-block-start:auto;display:flex}.content-card__footer svg{width:1.125rem;height:1.125rem;color:var(--color-accent)}.type-index{border-block-start:var(--rule-hair) solid var(--color-rule)}.type-index a{gap:var(--space-xs);min-height:5rem;padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);text-decoration:none;display:grid}.type-index span{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.025em;font-weight:700}.type-index small{color:var(--color-ink-muted);font-size:var(--text-base)}.project-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.project-card{border-radius:var(--radius-lg);background:var(--color-card);height:100%;color:var(--color-card-ink)}.project-card__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.035em;margin-block-start:var(--space-md);font-weight:750}.project-card__tagline{max-width:28ch;color:var(--color-ink);font-size:var(--text-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.project-card__description{color:var(--color-ink-muted);font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.project-card__actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-block-start:auto;display:flex}.home-about{gap:var(--space-xl);padding-block:var(--space-3xl);background:var(--color-ink);color:var(--color-paper);display:grid}.home-about__copy{gap:var(--space-xl);display:grid}.home-about__statement{max-width:18ch;color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.035em;margin:0;font-weight:700;line-height:1.05}.home-about__prose{gap:var(--space-md);max-width:58ch;display:grid}.home-about__prose p{color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.home-about__prose p{color:color-mix(in oklch, var(--color-paper) 78%, transparent)}}.home-about__prose p{font-size:var(--text-md);line-height:1.55}.home-about__actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.home-about__actions>a:last-child{border-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.home-about__actions>a:last-child{border-color:color-mix(in oklch, var(--color-paper) 28%, transparent)}}.home-about__actions>a:last-child{color:var(--color-paper);background:0 0}.home-about .statement-link{color:var(--color-paper);-webkit-text-decoration-color:var(--color-ink-subtle);-webkit-text-decoration-color:var(--color-ink-subtle);text-decoration-color:var(--color-ink-subtle)}.page-intro,.plain-page,.article-shell,.project-detail,.not-found{padding-inline:var(--panorama-gutter)}.page-intro{gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-3xl);display:grid}.page-intro h1,.plain-page h1,.article-header h1,.project-detail h1{font-size:var(--text-display-s)}.page-intro p{max-width:58ch;color:var(--color-ink-muted);font-size:var(--text-md)}.lab-tools{gap:var(--space-lg);padding-block:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule);margin-block-end:var(--space-2xl);display:grid}.search-field{gap:var(--space-xs);max-width:42rem;font-size:var(--text-sm);font-weight:650;display:grid}.search-field__control{display:block;position:relative}.search-field__control>svg{z-index:1;width:1.125rem;height:1.125rem;color:var(--color-ink-muted);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-sm);transform:translateY(-50%)}.search-field__helper{min-height:1lh;color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:500}.filters{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.lab-results-heading{gap:var(--space-lg);flex-wrap:wrap;justify-content:space-between;align-items:baseline;margin-block-end:var(--space-xl);display:flex}.lab-results-heading h2{font-size:var(--text-2xl)}.lab-results-heading p{color:var(--color-ink-muted)}.content-mosaic{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.empty-state{gap:var(--space-sm);min-height:18rem;padding-block:var(--space-2xl);border-block:var(--rule-hair) solid var(--color-rule);justify-items:start;display:grid}.empty-state>svg{width:2rem;height:2rem;color:var(--color-accent)}.empty-state h3{font-size:var(--text-xl)}.empty-state p{max-width:44ch;color:var(--color-ink-muted)}.article-shell,.project-detail{padding-block:var(--space-2xl) var(--space-4xl)}.article-header,.project-detail__header{gap:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);padding-block-end:var(--space-2xl);display:grid}.back-link{width:fit-content;min-height:2.75rem;color:var(--color-ink-muted);font-size:var(--text-sm)}.article-meta{gap:var(--space-md);color:var(--color-ink-muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.article-meta [data-slot=badge].article-provenance,.article-meta [data-slot=badge][data-variant=outline]{border-color:var(--color-rule);color:var(--color-ink-muted);letter-spacing:.02em;text-transform:none;border-radius:0;font-weight:650}.article-meta [data-slot=badge].article-provenance{background:var(--color-paper-accent);border-color:var(--color-rule);gap:.35rem}@supports (color:color-mix(in lab, red, red)){.article-meta [data-slot=badge].article-provenance{border-color:color-mix(in oklab, var(--color-rule) 65%, var(--color-accent) 35%)}}.article-meta [data-slot=badge].article-provenance{color:var(--color-ink)}.article-meta [data-slot=badge].article-provenance svg{color:var(--color-accent)}.article-header>p,.project-detail__summary{max-width:min(85ch,100%);color:var(--color-ink-muted);font-size:var(--text-md)}.article-header h1{overflow-wrap:anywhere;min-width:0}.article-body{gap:var(--space-xl);padding-block:var(--space-2xl);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.article-body .prose{min-width:0;max-width:100%;padding-block:0}.article-toc-rail{border-block-end:var(--rule-hair) solid var(--color-rule);min-width:0;padding-block-end:var(--space-lg);display:block}.article-toc{gap:var(--space-sm);display:grid}.article-toc__label{color:var(--color-ink);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.article-toc__scroll{height:min(28rem,100vh - 10rem)}.article-toc__stack,.article-toc__list{min-width:0}.article-toc__list{gap:var(--space-2xs);border-inline-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.article-toc__list>li{margin:0}.article-toc__list>li[data-depth="3"] .article-toc__link{padding-inline-start:var(--space-lg)}.article-toc__link{min-height:2.75rem;padding-block:var(--space-2xs);padding-inline:var(--space-sm);border-inline-start:var(--rule-strong) solid transparent;color:var(--color-ink-muted);font-size:var(--text-sm);overflow-wrap:anywhere;transition:color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);align-items:center;margin-inline-start:calc(var(--rule-hair) * -1);line-height:1.4;text-decoration:none;display:flex}.article-toc__link:hover{color:var(--color-ink)}.article-toc__link.is-active,.article-toc__link[data-active=true]{border-inline-start-color:var(--color-accent);color:var(--color-ink);font-weight:650}.article-toc__link:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}@media (width>=60rem){.article-body[data-has-toc=true]{column-gap:clamp(var(--space-lg), 3vw, var(--space-2xl));grid-template-columns:minmax(0,1fr) minmax(16rem,20rem)}.article-body[data-has-toc=true] .prose{grid-area:1/1;max-width:none}.article-toc-rail{top:calc(5.5rem + var(--space-md));border-block-end:0;grid-area:1/2;align-self:start;padding-block-end:0;position:sticky}.article-toc__label{font-size:var(--text-sm)}.article-toc__link{min-height:2.5rem;font-size:var(--text-md)}.article-toc__scroll{height:min(32rem,100vh - 10rem)}}@media (width<=59.98rem){.article-body[data-has-toc=true]{gap:var(--space-lg)}.article-meta{gap:var(--space-sm)}}.prose{gap:var(--space-lg);max-width:68ch;padding-block:var(--space-2xl);color:var(--color-ink);display:grid}.prose h2{font-size:var(--text-2xl);margin-block-start:var(--space-lg)}.prose h3{font-size:var(--text-xl);margin-block-start:var(--space-md)}.prose p,.prose li{font-size:var(--text-md);line-height:1.65}.prose a{color:var(--color-accent);font-weight:650}.prose code{padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-ink);font-family:var(--font-body);font-size:.9em}.prose .mind-note{padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-ink);font-family:var(--font-body);white-space:normal;font-size:.9em;font-weight:650;display:inline}.article-footer{gap:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule);padding-block-start:var(--space-xl);display:grid}.article-footer>div:first-child{gap:var(--space-xs);color:var(--color-ink-muted);display:grid}.article-footer>div:first-child p{color:var(--color-ink);font-weight:650}.reaction{gap:var(--space-xs);justify-items:start;display:grid}.reaction__status{min-height:1lh;color:var(--color-error);font-size:var(--text-sm)}.project-status{width:fit-content;color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:650}.project-detail__tagline{max-width:28ch;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650;line-height:1.25}.project-detail__body{padding-block-end:0}.plain-page{padding-block:var(--space-2xl) var(--space-4xl)}.plain-page>header{gap:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);padding-block-end:var(--space-2xl);display:grid}.plain-page>header p{max-width:55ch;color:var(--color-ink-muted);font-size:var(--text-md)}.contact-page>header p{color:var(--color-accent)}.not-found{gap:var(--space-lg);min-height:68dvh;padding-block:var(--space-3xl);align-content:center;display:grid}.not-found>p{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:750}.not-found>span{max-width:50ch;color:var(--color-ink-muted);font-size:var(--text-md)}.not-found>a{justify-self:start}.site-footer{gap:var(--space-xl);padding:var(--space-3xl) var(--space-page) var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.site-footer__mast{gap:var(--space-sm);display:grid}.site-footer__brand{width:fit-content;font-size:var(--text-3xl)}.site-footer__mast>p{color:var(--color-ink-muted);font-size:var(--text-md)}.site-footer__links{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.site-footer__links a{min-width:2.75rem;min-height:2.75rem;color:var(--color-ink-muted);font-size:var(--text-sm);align-items:center;display:inline-flex}.site-footer__meta{gap:var(--space-sm) var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;padding-block-start:var(--space-lg);display:flex}@media (hover:hover) and (pointer:fine){[data-slot=input]:hover:not(:disabled){background:var(--color-paper-accent)}.header-cta:hover,.type-index a:hover{background:var(--color-accent-soft)}.text-link:hover,.statement-link:hover{color:var(--color-accent)}.content-card-link:hover .content-card,.content-card-link:focus-visible .content-card{background:var(--color-paper-accent)}}@media (width>=40rem){.site-header{min-height:6rem}.home-hero{padding-block-start:var(--space-2xl)}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.section-heading--wide{grid-template-columns:minmax(0,1fr)}.type-index a{grid-template-columns:minmax(0,1fr) minmax(12rem,.65fr);align-items:baseline}.project-grid,.content-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card-link[data-featured=true]{grid-column:span 2}.article-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start}}@media (width>=60rem){.home-hero{min-height:82dvh;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-block-start:var(--space-lg);padding-block-end:var(--space-3xl)}.home-hero__art{margin-inline-end:calc(var(--space-page) * -.35)}.project-grid,.content-mosaic{grid-template-columns:repeat(12,minmax(0,1fr))}.content-mosaic>*{grid-column:span 5}.content-mosaic>[data-featured=true]{grid-column:span 7}.site-footer__mast{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media (width>=90rem){.home-hero{gap:var(--space-3xl)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.reveal,.spark-hero__spark,.spark-hero__module{opacity:1;animation:none;transform:none}}:root{--hero-surface:var(--foreground);--hero-ink:var(--background);--hero-rule:var(--ink-subtle);--panorama-surface:var(--background);--panorama-ink:var(--foreground);--panorama-rule:var(--border);--panorama-accent:var(--color-accent-ink);--hero-accent:var(--accent);--text-accent:var(--color-accent-ink);--panorama-wash-opacity:.12;--capture-surface:var(--color-paper);--capture-border:var(--hero-rule);--capture-caption-surface:var(--hero-surface);--capture-caption-ink:var(--hero-ink);--capture-caption-opacity:.82;--content-width:88rem;--panorama-width:105rem;--content-gutter:max(var(--space-page), calc((100% - var(--content-width)) / 2));--panorama-gutter:max(var(--space-page), calc((100% - var(--panorama-width)) / 2))}.dark{--hero-surface:var(--background);--hero-ink:var(--foreground);--hero-rule:var(--border);--panorama-surface:var(--background);--panorama-ink:var(--foreground);--panorama-rule:var(--border);--panorama-accent:var(--primary);--hero-accent:var(--primary);--text-accent:var(--primary);--panorama-wash-opacity:.34}.site-header{gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.site-header__actions{gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:0;display:flex}.lab-command__trigger{color:var(--color-ink-muted);flex:none}.lab-command__dialog{top:var(--space-page);width:min(calc(100% - (var(--space-page) * 2)), 44rem);max-width:44rem;max-height:calc(100dvh - (var(--space-page) * 2));border-radius:var(--radius-lg)}.lab-command__dialog [data-slot=command]{border-radius:var(--radius-lg)}.lab-command__input-group:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus)}@supports (color:color-mix(in lab, red, red)){.lab-command__input-group:focus-within{box-shadow:0 0 0 1px color-mix(in oklch, var(--color-focus) 42%, transparent)}}.lab-command__input-group [data-slot=input-group-control]:focus-visible{box-shadow:none;outline:none}.lab-command__dialog [data-slot=command-list]{max-height:min(31rem,100dvh - 8rem);padding:var(--space-xs)}.lab-command__dialog [data-slot=command-group]{padding-block:var(--space-xs)}.lab-command__dialog [cmdk-group-items]{gap:var(--space-xs);display:grid}.lab-command__dialog [data-slot=command-item]{gap:var(--space-sm);width:100%;min-height:3.75rem;padding:var(--space-sm);grid-template-columns:1rem minmax(0,1fr) 1rem;align-items:center;display:grid}.lab-command__dialog [data-slot=command-item]>svg:first-child{color:var(--color-accent)}.lab-command__dialog [data-slot=command-shortcut]{width:1rem;color:var(--color-accent);justify-content:flex-end;justify-self:end;margin-inline-start:0;display:flex}.lab-command__dialog [data-slot=command-item]>svg:last-child{display:none}.lab-command__item-copy{gap:var(--space-3xs);white-space:normal;min-width:0;display:grid}.lab-command__item-copy strong{color:var(--color-ink);font-weight:650}.lab-command__item-copy>span{color:var(--color-ink-muted);font-size:var(--text-xs);line-height:1.35}.lab-command__dialog [data-slot=command-empty]{gap:var(--space-xs);padding:var(--space-xl);color:var(--color-ink-muted);display:grid}.lab-command__dialog [data-slot=command-empty] strong{color:var(--color-ink)}.marquee-hero{isolation:isolate;min-height:min(76dvh,48rem);margin-inline:var(--space-page);padding:var(--space-lg);background:var(--hero-surface);color:var(--hero-ink);align-content:space-between;display:grid;position:relative;overflow:hidden}.marquee-hero:after{z-index:-1;background:var(--hero-surface);content:"";opacity:.16;position:absolute;inset:0}.marquee-hero__visual{z-index:-2;position:absolute;inset:0}.marquee-hero__visual,.marquee-hero__visual img{width:100%;height:100%}.marquee-hero__visual img{object-fit:cover;object-position:center}.marquee-hero h1{max-width:10ch;color:var(--hero-ink);letter-spacing:-.055em;text-wrap:balance;align-self:center;font-size:clamp(3rem,8vw,5.5rem);line-height:.9}.marquee-hero__meta{gap:var(--space-lg);color:var(--hero-ink);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;font-weight:600;display:flex}.marquee-hero__meta--top{border-block-end:var(--rule-hair) solid var(--hero-rule);padding-block-end:var(--space-md)}.marquee-hero__meta--bottom{border-block-start:var(--rule-hair) solid var(--hero-rule);padding-block-start:var(--space-md)}.marquee-hero__signal{gap:var(--space-xs);align-items:center;display:inline-flex}.marquee-hero__signal svg{width:.875rem;height:.875rem;color:var(--color-accent)}.frame-corner{z-index:2;width:var(--space-md);height:var(--space-md);border-color:var(--hero-ink);pointer-events:none;position:absolute}.frame-corner--tl{border-block-start:var(--rule-strong) solid;border-inline-start:var(--rule-strong) solid;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm)}.frame-corner--tr{border-block-start:var(--rule-strong) solid;border-inline-end:var(--rule-strong) solid;inset-block-start:var(--space-sm);inset-inline-end:var(--space-sm)}.frame-corner--bl{border-block-end:var(--rule-strong) solid;border-inline-start:var(--rule-strong) solid;inset-block-end:var(--space-sm);inset-inline-start:var(--space-sm)}.frame-corner--br{border-block-end:var(--rule-strong) solid;border-inline-end:var(--rule-strong) solid;inset-block-end:var(--space-sm);inset-inline-end:var(--space-sm)}.home-orientation{gap:var(--space-xl);padding-block:var(--space-3xl) var(--space-4xl);display:grid}.home-orientation__index,.section-kicker,.home-about__label{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.home-orientation__copy{gap:var(--space-lg);display:grid}.home-orientation__copy h2{max-width:20ch;font-size:var(--text-display-s)}.home-orientation__copy>p{max-width:50ch;color:var(--color-ink-muted);font-size:var(--text-md)}.orientation-cue{gap:var(--space-xs);width:fit-content;min-height:2.75rem;color:var(--color-ink-muted);font-size:var(--text-sm);align-self:end;align-items:center;font-weight:650;display:inline-flex}.orientation-cue svg{width:1rem;height:1rem;color:var(--color-accent)}.home-latest{padding-block:var(--space-3xl)}.section-kicker{margin-block-end:var(--space-sm)}.home-latest .content-card{background:var(--color-paper-raised);border-radius:0}.home-latest .content-card__title{max-width:24ch;font-size:var(--text-3xl)}.home-map{gap:var(--space-2xl);padding-block:var(--space-section);display:grid}.home-map__heading{gap:var(--space-md);align-content:start;display:grid}.home-map__heading h2{max-width:18ch;font-size:var(--text-display-s)}.home-map__heading>p:last-child{max-width:46ch;color:var(--color-ink-muted)}.knowledge-routes{border-block-start:var(--rule-hair) solid var(--color-rule)}.knowledge-routes a{gap:var(--space-sm);min-height:6.5rem;padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out), padding-inline var(--dur-short) var(--ease-out);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.knowledge-route__index,.knowledge-route__count{color:var(--color-ink-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.knowledge-route__name{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.025em;font-weight:700}.knowledge-route__detail{color:var(--color-ink-muted);white-space:normal;grid-column:2/-1}.knowledge-routes svg{width:1rem;height:1rem;color:var(--color-accent)}.home-projects{padding-block:var(--space-3xl) var(--space-4xl);background:var(--hero-surface);color:var(--hero-ink)}.home-projects .section-heading h2,.home-projects .section-heading p,.home-projects .text-link{color:var(--hero-ink)}.home-projects .section-heading>div>p:not(.section-kicker){opacity:.68}.project-grid--signal{gap:var(--rule-hair);border:var(--rule-hair) solid var(--hero-rule);background:var(--hero-rule)}.project-grid--signal .project-card{background:var(--hero-surface);min-height:28rem;color:var(--hero-ink);box-shadow:none;border-radius:0;position:relative}.project-grid--signal .project-card:before{width:var(--space-lg);height:var(--rule-strong);background:var(--color-accent);content:"";position:absolute;inset-block-start:0;inset-inline-start:0}.project-grid--signal .project-card__title,.project-grid--signal .project-card__tagline{color:var(--hero-ink)}.project-grid--signal .project-card__description,.project-grid--signal .project-card__meta{color:var(--hero-ink);opacity:.68}.project-grid--signal [data-slot=button][data-variant=outline]{border-color:var(--hero-rule);color:var(--hero-ink);background:0 0}.home-about{gap:var(--space-lg);padding-block:var(--space-section)}.site-footer{gap:var(--space-md);padding-block:var(--space-xl);grid-template-columns:minmax(0,1fr)}.site-footer__brand{font-size:var(--text-base)}.site-footer__statement{color:var(--color-ink-muted);font-size:var(--text-sm)}.site-footer__meta{border-block-start:0;padding-block-start:0}@media (hover:hover) and (pointer:fine){.lab-command__trigger:hover{color:var(--color-ink)}.knowledge-routes a:hover{padding-inline:var(--space-sm);background:var(--color-paper-accent)}.project-grid--signal .project-card{transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out)}.project-grid--signal .project-card:hover{background:var(--color-card);transform:translateY(calc(var(--space-2xs) * -1))}}@media (width>=40rem){.site-header__actions{flex-wrap:nowrap}.marquee-hero{padding:var(--space-xl)}.marquee-hero h1{margin-inline-start:clamp(var(--space-md), 4vw, var(--space-2xl))}.home-orientation{grid-template-columns:minmax(6rem,.25fr) minmax(0,1fr) auto;align-items:start}.knowledge-routes a{grid-template-columns:2rem minmax(8rem,.55fr) minmax(14rem,1fr) auto 1rem}.knowledge-route__detail{grid-column:auto}.home-about__copy{gap:var(--space-2xl);grid-template-columns:minmax(12rem,.9fr) minmax(0,1.2fr);align-items:start}.site-footer{grid-template-columns:auto minmax(12rem,1fr);align-items:center}.site-footer__statement{justify-self:end}.site-footer__links,.site-footer__meta{grid-column:1/-1}}@media (width>=60rem){.marquee-hero{min-height:min(78dvh,49rem)}.marquee-hero h1{max-width:12ch}.home-map{gap:var(--space-3xl);grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}.project-grid--signal>*{grid-column:span 4}.project-grid--signal:has(>:first-child:last-child)>*{grid-column:span 12}.project-grid--signal:has(>:nth-child(2):last-child)>*,.project-grid--signal:has(>:nth-child(4):last-child)>*,.project-grid--signal:has(>:nth-child(3):last-child)>:first-child{grid-column:span 6}.project-grid--signal:has(>:nth-child(3):last-child)>:nth-child(2),.project-grid--signal:has(>:nth-child(3):last-child)>:nth-child(3){grid-column:span 3}.site-footer{grid-template-columns:auto minmax(12rem,.8fr) minmax(0,1.5fr) auto}.site-footer__statement{justify-self:start}.site-footer__links,.site-footer__meta{grid-column:auto}.site-footer__links{justify-content:flex-end}}@media (width<=39.99rem){.header-cta{display:none}.wordmark>span{font-size:var(--text-sm)}.marquee-hero__visual img{object-position:58% center;opacity:.64}.marquee-hero__meta{align-items:flex-start}.marquee-hero__meta>span:last-child{text-align:end}.home-latest .content-card__title{font-size:var(--text-2xl)}.project-grid--signal .project-card{min-height:24rem}}@media (prefers-reduced-motion:reduce){.project-grid--signal .project-card:hover{transform:none}}.site-shell{width:100%;max-width:none}.site-header{border-block-end:var(--rule-hair) solid var(--color-rule)}.repository-hero{isolation:isolate;background:var(--panorama-surface);min-height:calc(100dvh - 5rem);color:var(--panorama-ink);display:grid;position:relative;overflow:hidden}.repository-hero:after{z-index:-1;background:var(--panorama-surface);content:"";opacity:var(--panorama-wash-opacity);position:absolute;inset:0}.repository-hero__visual{z-index:-2;opacity:1;transition:opacity var(--dur-short) var(--ease-out);position:absolute;inset:0}.repository-hero__visual--dark,.dark .repository-hero__visual--light{opacity:0}.dark .repository-hero__visual--dark{opacity:1}.repository-hero__visual,.repository-hero__visual img{width:100%;height:100%}.repository-hero__visual img{object-fit:cover;object-position:center}.repository-hero__meta{gap:var(--space-md);min-height:3.5rem;padding-inline:var(--panorama-gutter);border-block-end:var(--rule-hair) solid var(--panorama-rule);color:var(--panorama-ink);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-self:start;align-items:center;font-weight:650;display:flex}.repository-hero__body{gap:var(--space-2xl);padding:var(--space-3xl) var(--panorama-gutter);align-items:end;display:grid}.repository-hero__title{gap:var(--space-lg);align-content:end;display:grid}.repository-hero__eyebrow{color:var(--panorama-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.repository-hero h1{max-width:14ch;color:var(--panorama-ink);letter-spacing:-.06em;font-size:clamp(3.2rem,8vw,6.25rem);line-height:.88}.repository-hero__intro{gap:var(--space-lg);max-width:38rem;display:grid}.repository-hero__statement{color:var(--panorama-ink);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.025em;font-weight:650;line-height:1.15}.repository-hero__intro>p:not(.repository-hero__statement){max-width:52ch;color:var(--panorama-ink);opacity:.72}.repository-hero .hero-actions>a:last-child{border-color:var(--panorama-rule);background:var(--panorama-surface)}@supports (color:color-mix(in lab, red, red)){.repository-hero .hero-actions>a:last-child{background:color-mix(in oklch, var(--panorama-surface) 74%, transparent)}}.repository-hero .hero-actions>a:last-child{color:var(--panorama-ink);backdrop-filter:blur(var(--space-xs))}.repository-disciplines{border-block:var(--rule-hair) solid var(--panorama-rule);background:var(--panorama-surface);align-self:end}@supports (color:color-mix(in lab, red, red)){.repository-disciplines{background:color-mix(in oklch, var(--panorama-surface) 78%, transparent)}}.repository-disciplines{backdrop-filter:blur(var(--space-sm))}.repository-disciplines__inner{width:100%;max-width:var(--panorama-width);border-inline-start:var(--rule-hair) solid var(--panorama-rule);margin-inline:auto;display:grid}.repository-disciplines__inner>div{gap:var(--space-2xs) var(--space-sm);min-height:6rem;padding:var(--space-md) var(--space-page);border-block-end:var(--rule-hair) solid var(--panorama-rule);grid-template-columns:2rem minmax(0,1fr);display:grid}.repository-disciplines span{color:var(--color-accent);font-size:var(--text-xs)}.repository-disciplines strong{color:var(--panorama-ink);font-family:var(--font-display);font-size:var(--text-base)}.repository-disciplines small{color:var(--panorama-ink);font-size:var(--text-xs);opacity:.64;grid-column:2;line-height:1.35}.repository-index{padding-block:var(--space-section)}.repository-index__heading{gap:var(--space-md);max-width:72rem;margin-block-end:var(--space-3xl);display:grid}.repository-index__heading h2{max-width:18ch;font-size:var(--text-display-s)}.repository-index__heading>p:not(.section-kicker){max-width:58ch;color:var(--color-ink-muted);font-size:var(--text-md)}.repository-index__body{gap:var(--space-2xl);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.repository-readme{gap:var(--space-xl);padding-block:var(--space-xl);align-content:start;display:grid}.repository-readme>div:first-child{gap:var(--space-xs);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;align-items:center;font-weight:650;display:flex}.repository-readme>div:first-child svg{width:1rem;height:1rem}.repository-readme>p{max-width:38ch;color:var(--color-ink-muted)}.repository-readme dl{border-block-start:var(--rule-hair) solid var(--color-rule);border-inline-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.repository-readme dl>div{gap:var(--space-xs);padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);border-inline-end:var(--rule-hair) solid var(--color-rule);display:grid}.repository-readme dt{color:var(--color-ink-muted);font-size:var(--text-xs)}.repository-readme dd{font-family:var(--font-display);font-size:var(--text-lg);margin:0;font-weight:700}.repository-browser{border-inline-start:0;min-width:0}.repository-latest{gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl);border-block-end:var(--rule-hair) solid var(--color-rule);display:grid}.repository-latest>header{gap:var(--space-lg);flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.repository-latest h3{font-size:var(--text-xl)}.repository-latest header>div{gap:var(--space-sm);display:grid}.repository-latest header>div>p:not(.section-kicker){max-width:48ch;color:var(--color-ink-muted);font-size:var(--text-sm)}.repository-latest .content-card-link{display:block}.repository-latest .content-card{border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);box-shadow:none;transition:background-color var(--dur-short) var(--ease-out);border-radius:0;gap:0;padding-block:0;position:relative;overflow:hidden}.repository-latest .content-card:before{z-index:2;background:linear-gradient(var(--color-accent), var(--color-accent)) top left / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top left / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / var(--rule-strong) 1.35rem no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.repository-latest .content-card:after{z-index:3;width:var(--space-xl);height:var(--rule-strong);background:var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0}.repository-latest .content-card [data-slot=card-header]{gap:var(--space-md);padding:var(--space-xl) var(--space-xl) var(--space-lg)}.repository-latest .content-card__title{max-width:28ch;font-size:var(--text-2xl);margin-block-start:0}.repository-latest .content-card__description{padding-block-end:var(--space-2xs)}.repository-latest .content-card__footer{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:0}@media (hover:hover) and (pointer:fine){.repository-latest .content-card-link:hover .content-card,.repository-latest .content-card-link:focus-visible .content-card{background:var(--color-paper-accent)}}@media (width>=40rem){.repository-latest .content-card__title{font-size:var(--text-3xl)}}.project-card{isolation:isolate;border-radius:var(--radius-lg);background:var(--hero-surface);min-height:34rem;color:var(--hero-ink);padding:0;position:relative;overflow:hidden}.project-card__media{z-index:0;position:absolute;inset:0}.project-card__media:after{background:var(--hero-surface);content:"";opacity:.08;position:absolute;inset:0}.project-card__media,.project-card__media img{width:100%;height:100%}.project-card__media img{object-fit:cover;transition:transform var(--dur-long) var(--ease-out)}.project-card__glass{z-index:1;gap:var(--space-lg);min-height:22rem;padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--hero-rule);background:var(--hero-surface);flex-direction:column;margin-block-start:auto;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.project-card__glass{background:color-mix(in oklch, var(--hero-surface) 76%, transparent)}}.project-card__glass{color:var(--hero-ink);backdrop-filter:blur(var(--space-lg)) saturate(.86)}.project-card__glass [data-slot=card-header]{gap:var(--space-sm)}.project-card__glass .project-card__title,.project-card__glass .project-card__tagline{color:var(--hero-ink)}.project-card__glass .project-card__description,.project-card__glass .project-card__meta{color:var(--hero-ink);opacity:.72}.project-card__glass .project-card__meta>span{max-width:22ch;font-size:var(--text-xs);text-align:end}.project-card__glass [data-slot=button][data-variant=outline]{border-color:var(--hero-rule);background:var(--hero-surface)}@supports (color:color-mix(in lab, red, red)){.project-card__glass [data-slot=button][data-variant=outline]{background:color-mix(in oklch, var(--hero-surface) 74%, transparent)}}.project-card__glass [data-slot=button][data-variant=outline]{color:var(--hero-ink)}.project-grid--signal{gap:var(--space-md);background:0 0;border:0}.project-grid--signal .project-card{border-radius:var(--radius-lg);min-height:38rem}.project-grid--signal .project-card:before{z-index:2;width:var(--space-xl)}.home-projects{padding-block:var(--space-section)}.project-detail--repository{width:100%;max-width:none;padding:0}.project-detail__hero,.tool-detail__hero{isolation:isolate;background:var(--hero-surface);min-height:min(80dvh,50rem);color:var(--hero-ink);align-content:space-between;padding-block-start:var(--space-page);display:grid;position:relative;overflow:hidden}.project-detail__hero:after{z-index:-1;background:var(--hero-surface);content:"";opacity:.14;position:absolute;inset:0}.project-detail__cover{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-detail__hero-nav,.tool-detail__hero-nav{gap:var(--space-lg);color:var(--hero-ink);font-size:var(--text-xs);text-transform:uppercase;justify-content:space-between;align-items:center;font-weight:650;display:flex}.project-detail__hero .back-link,.tool-detail__hero .back-link{min-height:2.75rem;color:var(--hero-ink);align-items:center;display:inline-flex}.project-detail__discipline,.tool-detail__category{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.project-detail__glass,.tool-detail__glass{gap:var(--space-2xl);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--hero-rule);background:var(--hero-surface);align-items:end;display:grid}@supports (color:color-mix(in lab, red, red)){.project-detail__glass,.tool-detail__glass{background:color-mix(in oklch, var(--hero-surface) 74%, transparent)}}.project-detail__glass,.tool-detail__glass{color:var(--hero-ink);backdrop-filter:blur(var(--space-xl)) saturate(.84)}.project-detail__glass>div,.tool-detail__glass-inset>div{gap:var(--space-lg);align-content:end;display:grid}.project-detail__hero h1,.tool-detail__hero h1{color:var(--hero-ink);letter-spacing:-.06em;font-size:clamp(3.5rem,9vw,6.25rem)}.project-detail__hero .project-detail__tagline,.tool-detail__hero .tool-detail__tagline{max-width:28ch;color:var(--hero-ink);font-size:var(--text-xl)}.project-detail__hero .project-detail__summary,.tool-detail__hero .tool-detail__summary{color:var(--hero-ink);opacity:.74}.project-detail__cta-block{gap:var(--space-sm);justify-items:start;display:grid}.project-detail__cta-hint{max-width:36ch;color:var(--hero-ink);font-size:var(--text-sm);opacity:.68;margin:0}.project-overview{gap:var(--space-3xl);padding:var(--space-section) var(--space-page);align-items:start;display:grid}.project-overview--narrative{gap:var(--space-2xl)}.project-overview__main{gap:var(--space-2xl);min-width:0;display:grid}.project-overview__intro{gap:var(--space-sm);display:grid}.project-overview>div:first-child>h2,.project-overview__intro>h2{max-width:20ch;font-size:var(--text-display-s)}.project-overview .project-detail__body{max-width:66ch;padding-block:var(--space-2xl) 0}.project-overview--narrative .project-detail__body{padding-block:0}.project-detail__mid-cta{justify-content:flex-start;padding:0;display:flex}.project-stack{gap:var(--space-xl);min-width:0;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);align-content:start;display:grid}.project-stack__heading{gap:var(--space-sm);align-items:center;display:flex}.project-stack__heading svg{width:1.25rem;height:1.25rem;color:var(--color-accent)}.project-stack__heading h2,.project-stack__heading h3{font-size:var(--text-lg)}.project-stack__intro{max-width:62ch;color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.project-stack__badges{gap:var(--space-xs);flex-wrap:wrap;display:flex}.project-stack ul{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.project-stack li{gap:var(--space-xs);color:var(--color-ink-muted);font-size:var(--text-sm);align-items:center;display:flex}.project-stack li svg{width:1rem;height:1rem;color:var(--color-success)}.project-evidence{gap:var(--space-2xl);padding:var(--space-section) var(--space-page);background:var(--hero-surface);color:var(--hero-ink);display:grid}.project-evidence>header{gap:var(--space-lg);display:grid}.project-evidence h2{max-width:22ch;color:var(--hero-ink);font-size:var(--text-display-s)}.project-evidence>header>p{max-width:46ch;color:var(--hero-ink);opacity:.68}.project-evidence__intro{gap:var(--space-md);max-width:46ch;display:grid}.project-evidence__intro>p{color:var(--hero-ink);opacity:.68;margin:0}.product-capture,.product-browser{border:var(--rule-hair) solid var(--capture-border);background:var(--capture-surface);box-shadow:var(--shadow-panel);margin:0;overflow:hidden}.product-capture__media,.product-browser>img{width:100%;height:auto;display:block}.product-capture__caption,.product-browser figcaption{padding:var(--space-sm) var(--space-md);background:var(--capture-caption-surface);color:var(--capture-caption-ink);font-size:var(--text-xs);opacity:var(--capture-caption-opacity)}.capture-composition{gap:var(--space-xl);display:grid}.capture-composition--grid-2{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.capture-composition--grid-3{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr))}.capture-composition--duo{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.capture-composition--asymmetric{gap:var(--space-md);grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:start}.capture-composition--feature{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}.capture-composition--feature .product-capture:first-child{grid-column:1/-1}.capture-composition--carousel{gap:var(--space-md);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-block-end:var(--space-sm);display:flex;overflow-x:auto}.capture-composition--carousel .product-capture,.capture-composition--carousel .product-browser{scroll-snap-align:start;flex:0 0 min(88%,38rem)}.capture-composition--stacked-offset{gap:var(--space-md);display:grid}.capture-composition--stacked-offset .product-capture:nth-child(2),.capture-composition--stacked-offset .product-browser:nth-child(2){margin-inline-start:clamp(var(--space-lg), 8vw, var(--space-3xl))}.capture-composition--rail{gap:var(--space-md);grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);align-items:stretch}.capture-rail{gap:var(--space-xs);padding-inline:var(--space-md);border-inline-start:var(--rule-strong) solid var(--color-accent);color:var(--color-ink-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;align-content:center;font-weight:650;display:grid}.capture-rail strong{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.02em;text-transform:none;font-weight:700}@media (width>=48rem){.capture-composition--feature{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.capture-composition--feature .product-capture:first-child,.capture-composition--feature .product-browser:first-child{grid-area:span 2}}@media (width<=47.99rem){.capture-composition--grid-2,.capture-composition--grid-3,.capture-composition--duo,.capture-composition--asymmetric,.capture-composition--feature,.capture-composition--rail{grid-template-columns:minmax(0,1fr)}.capture-composition--feature .product-capture:first-child,.capture-composition--feature .product-browser:first-child{grid-area:auto}.capture-rail{border-inline-start:0;padding-inline:0}}.project-workflow{gap:var(--space-2xl);padding:var(--space-section) var(--space-page);display:grid}.project-workflow>header{gap:var(--space-sm);display:grid}.project-workflow h2{max-width:20ch;font-size:var(--text-display-s)}.project-workflow__intro{max-width:42ch;color:var(--color-ink-muted);margin:0}.project-workflow ol{border-block-start:var(--rule-hair) solid var(--color-rule);border-inline-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.project-workflow li{gap:var(--space-lg);min-height:12rem;padding-block:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:2.5rem minmax(0,1fr) auto;display:grid;position:relative}.project-workflow li>span{color:var(--color-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:650}.project-workflow li>div{gap:var(--space-sm);align-content:start;display:grid}.project-workflow li h3{font-size:var(--text-xl)}.project-workflow li p{max-width:52ch;color:var(--color-ink-muted)}.project-detail__cta{gap:var(--space-2xl);padding:var(--space-3xl) var(--space-page);background:var(--color-paper-accent);align-items:end;display:grid}.project-detail__cta>div{gap:var(--space-sm);display:grid}.project-detail__cta h2{max-width:28ch;font-size:var(--text-3xl)}.project-detail__cta-body{max-width:48ch;color:var(--color-ink-muted);margin:0}.project-detail__cta-actions{gap:var(--space-md);align-content:end;justify-items:start;display:grid}.project-detail__cta-secondary{color:var(--color-ink);font-size:var(--text-sm);text-underline-offset:.18em;font-weight:650;text-decoration:underline}.project-detail__cta-secondary:hover{color:var(--color-accent)}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card__media img{transform:scale(1.025)}}@media (width>=40rem){.repository-disciplines__inner{grid-template-columns:repeat(5,minmax(0,1fr))}.repository-disciplines__inner>div{padding-inline:var(--space-md);border-inline-end:var(--rule-hair) solid var(--panorama-rule);border-block-end:0}.repository-readme dl{grid-template-columns:minmax(0,1fr)}.project-detail__glass,.project-evidence>header,.project-detail__cta,.tool-detail__glass-inset{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.project-evidence>header>p,.project-evidence__intro,.project-detail__cta-actions,.tool-detail__cta>a{justify-self:end}}@media (width>=60rem){.repository-hero{min-height:calc(100dvh - 6rem)}.repository-hero__body{grid-template-columns:minmax(0,1.2fr) minmax(24rem,.8fr)}.repository-hero__intro{justify-self:end}.repository-index__body{grid-template-columns:minmax(16rem,.32fr) minmax(0,1fr);gap:0}.repository-readme{align-self:start;padding-inline-end:var(--space-2xl);position:sticky;inset-block-start:0}.repository-browser{border-inline-start:var(--rule-hair) solid var(--color-rule);padding-inline-start:var(--space-2xl)}.project-grid--signal>*{grid-column:span 4}.project-grid--signal:has(>:first-child:last-child)>*{grid-column:span 12}.project-grid--signal:has(>:nth-child(2):last-child)>*,.project-grid--signal:has(>:nth-child(4):last-child)>*,.project-grid--signal:has(>:nth-child(3):last-child)>:first-child{grid-column:span 6}.project-grid--signal:has(>:nth-child(3):last-child)>:nth-child(2),.project-grid--signal:has(>:nth-child(3):last-child)>:nth-child(3){grid-column:span 3}.project-overview{column-gap:clamp(var(--space-lg), 3vw, var(--space-2xl));grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr)}.project-overview__main{grid-column:1}.project-stack{top:calc(5.5rem + var(--space-md));grid-column:2;align-self:start;position:sticky}.project-workflow ol{grid-template-columns:repeat(4,minmax(0,1fr))}.project-workflow li{padding-inline:var(--space-lg);border-inline-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr)}}@media (width<=39.99rem){.repository-hero{min-height:auto}.repository-hero__visual img{object-position:60% center;opacity:.5}.repository-hero__meta{padding-block:var(--space-md);align-items:flex-start}.repository-hero__meta>span:last-child{text-align:end}.repository-hero__body{padding-block:var(--space-3xl)}.repository-disciplines__inner>div{padding-inline:var(--space-page)}.repository-readme dl{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{min-height:32rem}.project-detail__hero{min-height:46rem}.project-detail__cover{object-position:64% center}}@media (prefers-reduced-motion:reduce){.repository-hero__visual,.project-card__media img{transition:none}.project-card:hover .project-card__media img{transform:none}}.section-band,.project-overview,.project-evidence,.project-workflow,.project-detail__cta,.site-header,.site-footer{padding-inline:var(--panorama-gutter)}.repository-index__heading>p:not(.section-kicker),.repository-readme>p,.project-detail__summary,.tool-detail__summary,.project-evidence>header>p,.project-workflow li p{max-width:66ch}.project-card,.project-grid--signal .project-card{border:var(--rule-hair) solid var(--hero-rule);border-radius:0}.project-card__glass{border-radius:0}.project-card:before,.project-grid--signal .project-card:before{z-index:3;background:linear-gradient(var(--color-accent), var(--color-accent)) top left / 1.35rem 2px no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top left / 2px 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / 1.35rem 2px no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / 2px 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / 1.35rem 2px no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / 2px 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / 1.35rem 2px no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / 2px 1.35rem no-repeat;content:"";pointer-events:none;border:0;width:auto;height:auto;position:absolute;inset:0}@media (width>=60rem){.repository-hero__body{gap:var(--space-xl);grid-template-columns:minmax(0,42rem) minmax(0,1fr);align-content:end}.repository-hero__title,.repository-hero__intro{grid-column:1;justify-self:start}.repository-hero__intro{max-width:40rem}.repository-hero__statement{max-width:32ch}}.project-detail__hero,.tool-detail__hero{padding-block-end:0;padding-inline:0}.project-detail__hero-nav{padding-inline:var(--panorama-gutter)}.tool-detail--repository .tool-detail__hero-nav{padding-inline:var(--panorama-gutter);color:var(--color-ink);justify-content:flex-start}.tool-detail--repository .tool-detail__hero .back-link--on-map{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:2rem;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-ink);position:relative}@supports (color:color-mix(in lab, red, red)){.tool-detail--repository .tool-detail__hero .back-link--on-map{border:var(--rule-hair) solid color-mix(in oklch, var(--color-ink) 10%, transparent)}}.tool-detail--repository .tool-detail__hero .back-link--on-map{background:var(--color-card);color:var(--color-card-ink);font-size:var(--text-xs);letter-spacing:.06em;text-shadow:none;text-transform:uppercase;backdrop-filter:none;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out);font-weight:650;line-height:1;text-decoration:none}.tool-detail--repository .tool-detail__hero .back-link--on-map svg{flex-shrink:0;width:.85rem;height:.85rem}.tool-detail--repository .tool-detail__hero .back-link--on-map:after{width:var(--space-sm);height:var(--space-sm);border-block-end:var(--rule-strong) solid var(--color-accent);border-inline-end:var(--rule-strong) solid var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-end:var(--space-2xs);inset-inline-end:var(--space-2xs)}@media (hover:hover) and (pointer:fine){.tool-detail--repository .tool-detail__hero .back-link--on-map:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-detail--repository .tool-detail__hero .back-link--on-map:hover{border-color:color-mix(in oklch, var(--color-accent) 42%, var(--color-rule))}}.tool-detail--repository .tool-detail__hero .back-link--on-map:hover{background:var(--color-card)}@supports (color:color-mix(in lab, red, red)){.tool-detail--repository .tool-detail__hero .back-link--on-map:hover{background:color-mix(in oklch, var(--color-card) 92%, var(--color-paper-accent))}}.tool-detail--repository .tool-detail__hero .back-link--on-map:hover{color:var(--color-card-ink)}}.tool-detail--repository .tool-detail__glass{width:100%;margin-block-end:0;margin-inline:0;padding-inline:0;display:block}.tool-detail__glass-inset{gap:var(--space-2xl);padding-inline:var(--panorama-gutter);align-items:end;display:grid}.project-detail__glass{width:100%;padding-inline:var(--panorama-gutter);margin-block-end:0;margin-inline:0}.technology-index{gap:var(--space-3xl);padding-block:var(--space-section);border-block-start:var(--rule-hair) solid var(--hero-rule);background:var(--hero-surface);color:var(--hero-ink);display:grid}.technology-index__heading{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}.technology-index__heading h2{max-width:18ch;color:var(--hero-ink);font-size:var(--text-display-s)}.technology-index__heading>p:not(.section-kicker){max-width:66ch;color:var(--hero-ink);opacity:.68}.rule-grid{--rule-grid-color:var(--color-rule);border-block-start:var(--rule-hair) solid var(--rule-grid-color);border-inline-start:var(--rule-hair) solid var(--rule-grid-color);margin:0;padding:0;list-style:none}.rule-grid>*{border-block-end:var(--rule-hair) solid var(--rule-grid-color)}.rule-grid--cells-end>*{border-inline-end:var(--rule-hair) solid var(--rule-grid-color)}.technology-index__grid{--rule-grid-color:var(--hero-rule);border-block-start:var(--rule-hair) solid var(--rule-grid-color);border-inline-start:var(--rule-hair) solid var(--rule-grid-color);margin:0;padding:0;list-style:none;display:grid}.technology-index__grid li{gap:var(--space-md);min-width:0;min-height:8rem;padding:var(--space-lg);border-inline-end:var(--rule-hair) solid var(--rule-grid-color);border-block-end:var(--rule-hair) solid var(--rule-grid-color);align-items:center;display:flex;position:relative}.technology-index__grid li:after{z-index:1;width:var(--space-md);height:var(--space-md);background:linear-gradient(var(--color-accent), var(--color-accent)) center / 100% var(--rule-hair) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) center / var(--rule-hair) 100% no-repeat, var(--hero-surface);content:"";display:none;position:absolute;inset-block-end:calc(var(--space-xs) * -1);inset-inline-end:calc(var(--space-xs) * -1)}.technology-index__grid svg{width:var(--space-xl);height:var(--space-xl);color:var(--hero-ink);fill:currentColor;flex:none}.technology-index__grid div,.technology-index__copy{gap:var(--space-3xs);min-width:0;display:grid}.technology-index__grid small{color:var(--hero-accent);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.technology-index__grid strong,.technology-index__grid .tech-flap{color:var(--hero-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.technology-index__icon{width:var(--space-xl);height:var(--space-xl);color:var(--hero-ink);flex:none}.technology-index__icon svg{fill:currentColor;width:100%;height:100%}.tech-flap{letter-spacing:-.02em;grid-template-columns:repeat(12,1ch);align-items:end;width:12ch;max-width:100%;min-height:1.15em;line-height:1.1;display:inline-grid;overflow:hidden}.tech-flap__slot{width:1ch;height:1.15em;position:relative;overflow:hidden}.tech-flap__slot--space{visibility:hidden;pointer-events:none}.tech-flap__track{will-change:transform;grid-template-rows:repeat(2,1.15em);transition:transform .42s cubic-bezier(.22,1,.36,1);display:grid;transform:translate(0)}.tech-flap__slot--flipping .tech-flap__track{transform:translateY(-50%)}.tech-flap__face{white-space:pre;justify-content:center;align-items:flex-end;width:1ch;height:1.15em;display:flex}.tech-flap__slot--flipping .tech-flap__face:first-child{opacity:.42;transition:opacity .42s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.tech-flap__track,.tech-flap__slot--flipping .tech-flap__face:first-child{transition:none}}@media (width>=40rem){.technology-index__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.technology-index__grid li:after{display:block}.technology-index__grid li:nth-child(2n):after{display:none}}@media (width>=60rem){.technology-index__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.technology-index__grid li:nth-child(2n):after{display:block}.technology-index__grid li:nth-child(4n):after{display:none}}@media (width>=60rem) and (height<=50rem){.repository-hero__body{gap:var(--space-lg);padding-block:var(--space-xl)}.repository-hero__title,.repository-hero__intro{gap:var(--space-md)}.repository-hero h1{font-size:clamp(3.4rem,6vw,4.75rem)}.repository-hero__statement{font-size:var(--text-lg)}}@media (width<=39.99rem){.repository-hero__body{gap:var(--space-xl);padding-block:var(--space-2xl)}.repository-hero__title,.repository-hero__intro{gap:var(--space-md)}.repository-hero h1{font-size:clamp(2.9rem,15vw,3.2rem)}.repository-hero__statement{font-size:var(--text-lg)}}.home-orientation__index,.section-kicker{color:var(--text-accent)}.technology-index .section-kicker,.project-detail__discipline,.tool-detail__category,.project-evidence .section-kicker{color:var(--hero-accent)}.home-about__label{color:var(--accent)}.project-card__glass .project-card__meta{opacity:1}.project-card__glass .project-card__meta>span:not([data-slot=badge]){opacity:.72}.project-card [data-slot=badge][data-variant=outline]{border-color:var(--hero-rule);color:var(--hero-ink)}:root{--content-width:var(--layout-content-max);--panorama-width:var(--layout-panorama-max)}.page-intro--lab,.lab-explorer{padding-inline:var(--panorama-gutter)}.page-intro--lab{padding-block:var(--space-2xl);border-block-end:var(--rule-hair) solid var(--color-rule)}.page-intro--lab h1{max-width:var(--measure-display);overflow-wrap:anywhere;min-width:0}.page-intro--lab p{max-width:var(--measure-reading);line-height:1.6}.lab-explorer{padding-block:0 var(--space-4xl)}.lab-tools{gap:var(--space-xl);padding-block:var(--space-xl);border-block-start:0;margin-block-end:var(--space-3xl)}.search-field{width:100%;max-width:none}.filters [data-slot=button]{min-height:2.75rem}.lab-results-heading{align-items:end}.lab-results-heading h2{max-width:var(--measure-display);overflow-wrap:anywhere;min-width:0}.lab-results-heading p,.content-card__meta time{font-variant-numeric:tabular-nums}.content-card-link{white-space:normal}.lab-explorer .content-card{border:var(--rule-hair) solid var(--color-rule);background:var(--color-card);color:var(--color-card-ink);box-shadow:none;border-radius:0;gap:0;padding-block:0;position:relative;overflow:hidden}.lab-explorer .content-card:before{z-index:2;background:linear-gradient(var(--color-accent), var(--color-accent)) top left / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top left / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) top right / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom left / var(--rule-strong) 1.35rem no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / 1.35rem var(--rule-strong) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) bottom right / var(--rule-strong) 1.35rem no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.lab-explorer .content-card [data-slot=card-header],.lab-explorer .content-card__footer{padding:var(--space-lg)}.content-card__title{max-width:var(--measure-display);overflow-wrap:anywhere;min-width:0}.content-card__description{max-width:var(--measure-reading);overflow-wrap:anywhere;white-space:normal;min-width:0}.content-card__footer{border-block-start:var(--rule-hair) solid var(--color-rule);white-space:normal;min-width:0}.content-card__topics{max-width:var(--measure-compact);overflow-wrap:anywhere;min-width:0}.content-card__action{gap:var(--space-xs);color:var(--color-accent);white-space:nowrap;align-items:center;font-weight:650;display:inline-flex}.content-card__action svg{width:1rem;height:1rem}@media (width>=60rem){.lab-tools{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:end}.filters{justify-content:flex-end}.lab-explorer .content-mosaic>*{grid-column:span 6}.lab-explorer .content-mosaic>[data-featured=true]{grid-column:1/-1}.lab-explorer .content-card-link[data-featured=true] .content-card{grid-template-columns:minmax(0,1fr) minmax(14rem,.32fr);display:grid}.lab-explorer .content-card-link[data-featured=true] .content-card__footer{border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule);text-align:end;flex-direction:column;justify-content:space-between;align-items:flex-end}}.technology-index__grid li:after{width:calc(var(--space-md) - var(--rule-hair));height:calc(var(--space-md) - var(--rule-hair))}.brand-mark__ink{fill:currentColor}.brand-mark__accent{fill:var(--color-accent)}.site-nav{align-items:center;display:flex}.site-nav__desktop{max-width:none;display:none}.site-nav__desktop [data-slot=navigation-menu-list]{gap:var(--space-3xs)}.site-nav__desktop [data-slot=navigation-menu-link]{min-height:2.75rem;padding-inline:var(--space-sm);color:var(--color-ink-muted);font-size:var(--text-sm);white-space:nowrap;transition:color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out);background:0 0;border-radius:0;font-weight:650;text-decoration:none}.site-nav__desktop [data-slot=navigation-menu-link]:hover,.site-nav__desktop [data-slot=navigation-menu-link]:focus,.site-nav__desktop [data-slot=navigation-menu-link][data-active]{color:var(--color-ink);background:0 0}.site-nav__mobile-trigger{min-width:2.75rem;min-height:2.75rem}.site-nav__sheet{width:min(100%,22rem);padding-block:var(--space-md);border-inline-start:var(--rule-hair) solid var(--color-rule);border-radius:0}.site-nav__sheet [data-slot=sheet-header]{gap:var(--space-xs);padding-inline:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);padding-block-end:var(--space-md)}.site-nav__sheet [data-slot=sheet-title]{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:750}.site-nav__sheet [data-slot=sheet-description]{color:var(--color-ink-muted);line-height:1.5}.site-nav__sheet-links{padding-block:var(--space-sm);gap:0;display:grid}.site-nav__sheet-link{gap:var(--space-sm);min-height:3.25rem;padding-inline:var(--space-lg);color:var(--color-ink);font-size:var(--text-sm);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);grid-template-columns:1rem minmax(0,1fr) 1rem;align-items:center;font-weight:650;text-decoration:none;display:grid}.site-nav__sheet-link>svg:first-child,.site-nav__sheet-link>svg:last-child{color:var(--color-accent)}.site-nav__sheet-link>svg:last-child{justify-self:end}@media (hover:hover) and (pointer:fine){.site-nav__sheet-link:hover{background:var(--color-paper-accent)}}@media (width>=80rem){.site-nav__desktop{display:flex}.site-nav__mobile-trigger{display:none}}.home-profile{gap:var(--space-xl);padding-block:var(--space-section);border-block-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.about-portrait{width:min(100%,20rem);margin:0}.about-portrait__frame{aspect-ratio:4/5;border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-accent);position:relative;overflow:hidden}.about-portrait__frame:before{z-index:1;width:var(--space-lg);height:var(--rule-strong);background:var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0}.about-portrait__frame:after{z-index:1;width:var(--space-md);height:var(--space-md);border-block-end:var(--rule-strong) solid var(--color-accent);border-inline-end:var(--rule-strong) solid var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-end:var(--space-md);inset-inline-end:var(--space-md)}.about-portrait__image{object-fit:cover;object-position:center 18%;width:100%;height:100%;display:block}.home-profile__copy{gap:var(--space-lg);min-width:0;display:grid}.home-profile__copy h2{max-width:var(--measure-display);font-size:var(--text-2xl)}.home-profile__prose{gap:var(--space-md);max-width:var(--measure-reading);color:var(--color-ink-muted);font-size:var(--text-base);line-height:1.6;display:grid}.home-profile__copy .text-link{justify-self:start}.home-profile__fields{border-block-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.home-profile__fields li{min-width:0;padding-block:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);overflow-wrap:anywhere;font-weight:650}.page-intro--projects,.project-grid--page{padding-inline:var(--panorama-gutter)}.page-intro--projects{padding-block:var(--space-2xl);border-block-end:var(--rule-hair) solid var(--color-rule)}.page-intro--projects h1,.project-grid--page .project-card__title{max-width:var(--measure-display);overflow-wrap:anywhere;min-width:0}.page-intro--projects p{max-width:var(--measure-reading);line-height:1.6}.project-grid--page{padding-block:var(--space-2xl) var(--space-4xl)}.project-grid--page .project-card__tagline{max-width:var(--measure-ui);white-space:normal}.project-grid--page .project-card__description{max-width:var(--measure-compact);min-width:0;overflow:hidden}@media (width>=40rem){.home-profile{gap:var(--space-2xl);grid-template-columns:minmax(12rem,.58fr) minmax(0,1.42fr)}.home-profile__fields{grid-column:2}}@media (width>=60rem){.home-profile{gap:var(--space-3xl);grid-template-columns:minmax(15rem,.62fr) minmax(24rem,1.12fr) minmax(12rem,.46fr)}.home-profile__fields{grid-column:auto}.home-profile__copy h2{font-size:var(--text-3xl)}.project-grid--page{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid--page>:first-child,.project-grid--page>:nth-child(2),.project-grid--page>:nth-child(3){grid-column:auto}}.page-hero{isolation:isolate;background:var(--panorama-surface);min-height:min(52dvh,27rem);color:var(--panorama-ink);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.page-hero[data-visual=true]{min-height:min(62dvh,34rem)}.page-hero:after{z-index:-1;background:var(--panorama-surface);content:"";opacity:var(--panorama-wash-opacity);position:absolute;inset:0}.page-hero__visual{z-index:-2;opacity:1;transition:opacity var(--dur-short) var(--ease-out);position:absolute;inset:0}.page-hero__visual--dark,.dark .page-hero__visual--light{opacity:0}.dark .page-hero__visual--dark{opacity:1}.page-hero__visual,.page-hero__visual img{width:100%;height:100%}.page-hero__visual img{object-fit:cover;object-position:center}.page-hero__rail{z-index:1;gap:var(--space-md);min-height:3.25rem;padding-inline:var(--panorama-gutter);background:var(--panorama-surface);justify-content:space-between;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.page-hero__rail{background:color-mix(in oklch, var(--panorama-surface) 76%, transparent)}}.page-hero__rail{backdrop-filter:blur(var(--space-sm)) saturate(.9);color:var(--panorama-ink);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:650}.page-hero__rail span{overflow-wrap:anywhere;min-width:0}.page-hero__breadcrumbs{flex-wrap:wrap;align-items:center;min-width:0;margin:0;padding:0;list-style:none;display:flex}.page-hero__breadcrumbs li{align-items:center;min-width:0;display:inline-flex}.page-hero__breadcrumb-link,.page-hero__breadcrumb-current{overflow-wrap:anywhere;min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none}.page-hero__breadcrumb-link:hover{color:var(--panorama-accent)}.page-hero__breadcrumb-link:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--ring);outline-offset:2px}.page-hero__breadcrumb-separator{color:var(--panorama-accent);margin-inline:.35em}.page-hero__rail--top{border-block-end:var(--rule-hair) solid var(--panorama-rule)}.page-hero__rail--bottom{border-block-start:var(--rule-hair) solid var(--panorama-rule);min-height:2.75rem;color:var(--color-ink-muted);letter-spacing:.08em;flex-wrap:wrap;font-size:.6875rem;font-weight:500}.page-hero__rail--bottom>span+span{flex-shrink:0}.page-hero__stage{padding-block:var(--space-xl);padding-inline:var(--panorama-gutter);align-content:center;display:grid;position:relative}.page-hero__stage .frame-corner{border-color:var(--panorama-ink)}.page-hero__title{gap:var(--space-md);align-content:center;min-width:0;display:grid}.page-hero__eyebrow{color:var(--panorama-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.page-hero h1{min-width:0;max-width:var(--measure-display);color:var(--panorama-ink);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(2.5rem,6vw,4.25rem);line-height:.96}.page-hero__title>p:not(.page-hero__eyebrow){max-width:var(--measure-reading);color:var(--color-ink-muted);font-size:var(--text-md);line-height:1.5}@media (prefers-reduced-motion:reduce){.page-hero__visual{transition:none!important}}.about-place{gap:var(--space-2xl);padding-block:var(--space-2xl);padding-inline:var(--panorama-gutter);display:grid}.about-place__block{gap:var(--space-lg);min-width:0;display:grid}.about-place__block>header{gap:var(--space-sm);display:grid}.about-place__block h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-display-s);overflow-wrap:anywhere}.about-place__prose{gap:var(--space-md);max-width:var(--measure-reading);color:var(--color-ink-muted);line-height:1.6;display:grid}.about-contrast{padding-block:var(--space-xl) var(--space-2xl);padding-inline:var(--panorama-gutter);gap:0;display:grid}.about-contrast__pair{gap:var(--space-sm);min-width:0;padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);align-content:space-between;justify-items:start;display:grid}.about-contrast__negation{border-block-end:var(--rule-hair) dashed var(--color-accent);color:var(--color-ink-muted);font-size:var(--text-sm);letter-spacing:.01em;padding-block-end:var(--space-2xs)}.about-contrast__statement{min-width:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;overflow-wrap:anywhere;text-wrap:balance;font-weight:700;line-height:1.06}.about-origin{gap:var(--space-xl);padding-block:var(--space-2xl);background:var(--color-paper-raised);display:grid}.about-origin>header{gap:var(--space-sm);display:grid}.about-origin h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-display-s);overflow-wrap:anywhere}.about-origin ol{border-block-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.about-origin li{gap:var(--space-lg);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.about-origin li>span{color:var(--color-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:650}.about-origin li>div{gap:var(--space-xs);align-content:start;min-width:0;display:grid}.about-origin li h3{font-size:var(--text-lg)}.about-origin li p{max-width:var(--measure-reading);color:var(--color-ink-muted);white-space:normal;line-height:1.6}.about-types{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.about-types>header{gap:var(--space-sm);display:grid}.about-types h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-display-s);overflow-wrap:anywhere}.about-types>header>p{max-width:var(--measure-reading);color:var(--color-ink-muted);line-height:1.6}.about-types ul{border-block-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.about-types li{gap:var(--space-xs) var(--space-lg);padding-block:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:2.5rem minmax(0,1fr);align-items:baseline;display:grid}.about-types__index{color:var(--color-ink-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.about-types li strong{min-width:0;font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;font-weight:700}.about-types__detail{max-width:var(--measure-reading);color:var(--color-ink-muted);white-space:normal;grid-column:2/-1;line-height:1.6}.about-rules{gap:var(--space-lg);padding-block:var(--space-2xl);background:var(--color-paper-accent);display:grid}.about-rules__label{gap:var(--space-xs);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;font-weight:650;display:flex}.about-rules__label svg{width:1rem;height:1rem}.about-rules>div:last-child{gap:var(--space-lg);display:grid}.about-rules h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-2xl);overflow-wrap:anywhere}.about-rules ul{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.about-rules li{gap:var(--space-sm);max-width:var(--measure-reading);color:var(--color-ink);grid-template-columns:1rem minmax(0,1fr);line-height:1.6;display:grid}.about-rules li:before{color:var(--color-accent);content:"—"}.about-colophon{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.about-colophon>header{gap:var(--space-sm);display:grid}.about-colophon h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-display-s);overflow-wrap:anywhere}.about-colophon>header>p{max-width:var(--measure-reading);color:var(--color-ink-muted);line-height:1.6}.about-colophon__prose{border-block-start:var(--rule-hair) solid var(--color-rule);padding-block-start:var(--space-lg)}.about-colophon__body{gap:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.about-colophon__body>div{gap:var(--space-md);align-content:start;padding-block-start:var(--space-lg);display:grid}.about-colophon h3{color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.about-colophon ul{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.about-colophon li{max-width:var(--measure-compact);border-block-end:var(--rule-hair) solid var(--color-rule);white-space:normal;padding-block-end:var(--space-sm);line-height:1.6}.about-me{gap:var(--space-xl);padding-block:var(--space-2xl);padding-inline:var(--panorama-gutter);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.about-me__copy{gap:var(--space-xl);min-width:0;display:grid}.about-me__chapters{gap:var(--space-2xl);display:grid}.about-me__chapters>section{gap:var(--space-md);display:grid}.about-me__copy h2,.about-me__fields-block h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-2xl);overflow-wrap:anywhere}.about-me__prose{gap:var(--space-md);max-width:var(--measure-reading);color:var(--color-ink-muted);line-height:1.6;display:grid}.about-me__fields-block{gap:var(--space-lg);min-width:0;display:grid}.social-isotile{--social-isotile-size:3rem;--social-isotile-mark-size:1.85rem;--social-isotile-bleed-width:var(--space-md);--social-isotile-bleed-notch:.625rem;width:var(--social-isotile-size);height:var(--social-isotile-size);border:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;place-items:center;text-decoration:none;display:grid;position:relative}.social-isotile:before{z-index:1;width:var(--social-isotile-bleed-width);height:var(--rule-strong);background:var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0}.social-isotile:after{z-index:1;width:var(--social-isotile-bleed-notch);height:var(--social-isotile-bleed-notch);border-block-end:var(--rule-strong) solid var(--color-accent);border-inline-end:var(--rule-strong) solid var(--color-accent);content:"";pointer-events:none;position:absolute;inset-block-end:var(--space-3xs);inset-inline-end:var(--space-3xs)}.social-isotile .social-isotile__mark{z-index:0;width:var(--social-isotile-mark-size);height:var(--social-isotile-mark-size);color:var(--color-ink);flex-shrink:0;position:relative}.social-isotile .social-isotile__mark--lucide{stroke:currentColor}.about-me__social{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.about-me__copy .about-me__social{justify-self:start}@media (hover:hover) and (pointer:fine){.social-isotile:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.social-isotile:hover{border-color:color-mix(in oklch, var(--color-accent) 42%, var(--color-rule))}}.social-isotile:hover{background:var(--color-paper-accent);transform:translateY(-1px)}}.social-isotile:active{transform:translateY(var(--space-3xs))}.social-isotile:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.social-isotile--pending{cursor:default}@media (hover:hover) and (pointer:fine){.social-isotile--pending:hover{border-color:var(--color-rule);background:0 0;transform:none}}.about-me__fields{border-block-start:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.about-me__fields li{min-width:0;padding-block:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);overflow-wrap:anywhere;font-weight:650}.about-tools{gap:var(--space-2xl);padding-block:var(--space-2xl);padding-inline:var(--panorama-gutter);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.about-tools__heading{gap:var(--space-sm);display:grid}.about-tools__heading h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-2xl);overflow-wrap:anywhere}.about-tools__heading>p{max-width:var(--measure-reading);color:var(--color-ink-muted);line-height:1.6}.about-tools__grid{--rule-grid-color:var(--color-rule)}.about-tools__grid li{padding:0}.about-tools__grid li:after{background:linear-gradient(var(--color-accent), var(--color-accent)) center / 100% var(--rule-hair) no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) center / var(--rule-hair) 100% no-repeat, var(--color-paper)}.about-tools__grid svg{color:var(--color-ink)}.about-tools__grid small{color:var(--color-accent)}.about-tools__grid strong{color:var(--color-ink)}.about-tools__link{gap:var(--space-md);width:100%;min-width:0;min-height:8rem;padding:var(--space-lg);color:inherit;transition:background-color var(--dur-short) var(--ease-out);align-items:center;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.about-tools__link:hover{background:var(--color-paper-accent)}@supports (color:color-mix(in lab, red, red)){.about-tools__link:hover{background:color-mix(in oklch, var(--color-paper-accent) 55%, var(--color-paper))}}}.about-close{gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-3xl);padding-inline:var(--panorama-gutter);display:grid}.about-close h2{min-width:0;max-width:var(--measure-display);font-size:var(--text-2xl);overflow-wrap:anywhere}@media (width>=48rem){.about-contrast{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.about-contrast__pair{min-height:clamp(12rem,18vw,15rem);padding:var(--space-md) var(--space-lg);border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}.about-contrast__pair:first-child{border-inline-start:0;padding-inline-start:0}.about-contrast__pair:last-child{padding-inline-end:0}.about-origin li{padding-block:var(--space-xl);grid-template-columns:3rem minmax(0,1fr)}.about-types li{gap:var(--space-lg);grid-template-columns:3rem minmax(10rem,.5fr) minmax(0,1fr)}.about-types__detail{grid-column:auto}.about-rules{gap:var(--space-2xl);grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr)}.about-colophon__body{gap:var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr))}.about-close{align-items:end;gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) auto}.about-close:has(>.hero-actions:only-child){grid-template-columns:minmax(0,1fr);justify-items:start}.about-me{align-items:start;gap:var(--space-2xl);grid-template-columns:minmax(14rem,.42fr) minmax(0,1fr)}.about-me .about-portrait{top:calc(5.5rem + var(--space-md));width:min(100%,20rem);position:sticky}.about-me .about-portrait__frame{aspect-ratio:4/5}.about-me__fields-block{grid-column:1/-1}.about-me__fields{column-gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}}@media (width>=60rem){.about-contrast{padding-block:var(--space-2xl)}}.tool-explorer__search,.tool-tools{padding-block:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule)}.tool-tools{gap:var(--space-xl);margin-block-end:0;display:grid}.tool-results-heading{gap:var(--space-lg);padding-block:var(--space-xl);flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.tool-results-heading h2{max-width:var(--measure-display);overflow-wrap:anywhere;min-width:0}.tool-results-heading p{font-variant-numeric:tabular-nums}.tool-category-list{gap:0;display:grid}.tool-category{padding-block:var(--space-3xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.tool-category:first-child{border-block-start:0}.tool-category__header{gap:var(--space-md) var(--space-xl);flex-wrap:wrap;justify-content:space-between;align-items:end;margin-block-end:var(--space-xl);display:flex}.tool-category__header h3{font-size:var(--text-2xl)}.tool-category__count{color:var(--color-ink-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.fuentes-preview{gap:var(--space-lg);margin-block-end:var(--space-xl);display:grid}@media (width>=48rem){.fuentes-preview{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}}.fuentes-preview--compact{margin-block:var(--space-xl);padding-inline:var(--panorama-gutter)}.fuentes-preview__panel{padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised)}.fuentes-preview__heading{gap:var(--space-md);color:var(--color-ink-muted);align-items:start;margin-block-end:var(--space-lg);display:flex}.fuentes-preview__heading svg{width:1.25rem;height:1.25rem;color:var(--color-accent);flex-shrink:0;margin-block-start:.15rem}.fuentes-preview__heading h4{font-size:var(--text-lg);color:var(--color-ink)}.fuentes-preview__heading p{font-size:var(--text-sm);margin-block-start:var(--space-2xs)}.fuentes-preview__font-list{gap:var(--space-md);margin:0;padding:0;list-style:none;display:grid}.fuentes-preview__font-meta{gap:var(--space-xs) var(--space-md);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;margin-block-end:var(--space-2xs);display:flex}.fuentes-preview__font-meta span{color:var(--color-ink-muted)}.fuentes-preview__font-sample{font-size:clamp(var(--text-lg), 2.4vw, var(--text-2xl));line-height:var(--leading-tight);letter-spacing:-.02em}.fuentes-preview__icon-grid{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=30rem){.fuentes-preview__icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.fuentes-preview__icon-grid li{gap:var(--space-2xs);text-align:center;font-size:var(--text-xs);color:var(--color-ink-muted);justify-items:center;display:grid}.fuentes-preview__icon-cell{border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);width:2.75rem;height:2.75rem;color:var(--color-ink);place-items:center;display:grid}.fuentes-preview__icon-cell svg{width:1.25rem;height:1.25rem}.fuentes-preview__note{gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-ink-muted);align-items:center;margin-block-start:var(--space-md);display:inline-flex}.fuentes-preview__note svg{width:.9rem;height:.9rem}.fuentes-tool-preview{padding:var(--space-3xl) var(--panorama-gutter);border-block-end:var(--rule-hair) solid var(--color-rule)}.fuentes-tool-preview header{max-width:var(--measure-prose);margin-block-end:var(--space-xl)}.fuentes-tool-preview__font-grid{gap:var(--space-lg);margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.fuentes-tool-preview__font-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fuentes-tool-preview__font-grid>li{padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised)}.fuentes-tool-preview__font-meta{gap:var(--space-xs) var(--space-md);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;margin-block-end:var(--space-sm);display:flex}.fuentes-tool-preview__font-meta span{color:var(--color-ink-muted)}.fuentes-tool-preview__font-display{font-size:clamp(var(--text-xl), 3vw, var(--text-3xl));line-height:var(--leading-tight);letter-spacing:-.02em;margin-block-end:var(--space-sm)}.fuentes-tool-preview__font-body{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-ink-muted);overflow-wrap:anywhere}.fuentes-tool-preview__icon-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));margin:0;padding:0;list-style:none;display:grid}.fuentes-tool-preview__icon-grid li{gap:var(--space-xs);padding:var(--space-md) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);text-align:center;justify-items:center;display:grid}.fuentes-tool-preview__icon-cell{width:2.5rem;height:2.5rem;color:var(--color-ink);place-items:center;display:grid}.fuentes-tool-preview__icon-cell svg{width:1.35rem;height:1.35rem}.fuentes-tool-preview__icon-grid code{font-size:var(--text-xs);color:var(--color-ink-muted)}.tool-tile-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));display:grid}.tool-tile{gap:var(--space-sm);min-height:5.5rem;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);color:var(--color-ink);white-space:normal;transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;text-decoration:none;display:grid;position:relative}.tool-tile:before{width:var(--space-md);height:var(--rule-strong);background:var(--color-accent);content:"";opacity:0;transition:opacity var(--dur-short) var(--ease-out);position:absolute;inset-block-start:0;inset-inline-start:0}.tool-tile[data-featured=true]:before,.tool-tile:has(.tool-tile__mark):before{opacity:1}.tool-tile__icon{border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);width:2.25rem;height:2.25rem;color:var(--color-ink);grid-area:1/1;place-items:center;display:grid}.tool-tile__icon svg{fill:currentColor;width:1.2rem;height:1.2rem;color:inherit}.tool-tile__fallback{font-family:var(--font-display);font-size:var(--text-sm);font-weight:750}.tool-tile__copy{gap:var(--space-3xs);grid-area:1/2;min-width:0;display:grid}.tool-tile__name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;line-height:1.25}.tool-tile__tagline{color:var(--color-ink-muted);font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.tool-tile__mark{color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;grid-area:2/2/auto/-1;align-self:end;margin-block-start:var(--space-2xs);font-size:.625rem;font-weight:700}.tool-tile__arrow{width:.9rem;height:.9rem;color:var(--color-accent);opacity:0;transition:opacity var(--dur-short) var(--ease-out);grid-area:1/3;margin-block-start:.15rem}@media (hover:hover) and (pointer:fine){.tool-tile:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-tile:hover{border-color:color-mix(in oklch, var(--color-accent) 42%, var(--color-rule))}}.tool-tile:hover{background:var(--color-paper-accent);transform:translateY(-1px)}.tool-tile:hover .tool-tile__arrow{opacity:1}}@media (width>=48rem){.tool-tile-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}}@media (width>=80rem){.tool-tile-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}}.tool-detail--repository{width:100%;max-width:none;padding:0}.tool-detail__cover{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tool-detail__cover picture,.tool-detail__cover img{width:100%;height:100%}.tool-detail__cover img{object-fit:cover;object-position:58% 42%}.tool-detail__cover--light,.tool-detail__cover--dark{transition:opacity var(--dur-short) var(--ease-out)}.tool-detail__cover--dark,.dark .tool-detail__cover--light{opacity:0}.dark .tool-detail__cover--dark{opacity:1}.tool-detail__cover--fallback{background:radial-gradient(circle at 72% 28%, var(--color-accent), transparent 42%), var(--hero-surface)}@supports (color:color-mix(in lab, red, red)){.tool-detail__cover--fallback{background:radial-gradient(circle at 72% 28%, color-mix(in oklch, var(--color-accent) 24%, transparent), transparent 42%), var(--hero-surface)}}@media (prefers-reduced-motion:reduce){.tool-detail__cover--light,.tool-detail__cover--dark{transition:none!important}}.tool-overview,.tool-install,.tool-pricing,.tool-features,.tool-guidance,.tool-related,.tool-detail__cta{padding-inline:var(--panorama-gutter)}.tool-overview,.tool-install,.tool-pricing,.tool-features,.tool-guidance,.tool-related{padding-block:var(--space-section);border-block-start:var(--rule-hair) solid var(--color-rule)}.tool-overview{gap:var(--space-3xl);display:grid}.tool-overview .tool-detail__body{max-width:var(--measure-reading);padding-block:var(--space-xl) 0}.tool-stack{gap:var(--space-xl);padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);align-content:start;display:grid}.tool-stack__heading{gap:var(--space-sm);align-items:center;display:flex}.tool-stack__heading svg{width:1.25rem;height:1.25rem}.tool-stack__badges{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tool-stack ul{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.tool-stack li{gap:var(--space-sm);color:var(--color-ink-muted);align-items:flex-start;display:flex}.tool-stack li svg{width:1rem;height:1rem;color:var(--color-accent);margin-block-start:.2rem}.tool-install header{max-width:var(--measure-prose);margin-block-end:var(--space-2xl)}.tool-install header>p:last-child{color:var(--color-ink-muted);margin-block-start:var(--space-md)}.tool-install__contexts{gap:var(--space-2xs);flex-wrap:wrap;margin-block-end:var(--space-xl);display:flex}.tool-install__context{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);color:var(--color-ink-muted);font-size:var(--text-sm);cursor:pointer;line-height:1;transition:color .16s,border-color .16s,background-color .16s;display:inline-flex}.tool-install__context:hover{color:var(--color-ink);border-color:var(--color-ink-subtle)}.tool-install__context[aria-selected=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink)}.tool-install__context-icon{flex:none;width:1em;height:1em}.tool-install__guidance{gap:var(--space-lg);max-width:var(--measure-prose);margin-block-end:var(--space-3xl);display:grid}.tool-install__guidance-intro{color:var(--color-ink-muted)}.tool-install__plugin{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-hair) solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink);display:flex}.tool-install__plugin-icon{flex:none;width:1.25rem;height:1.25rem}.tool-install__plugin-name{font-weight:600}.tool-install__plugin-where{font-size:var(--text-sm);opacity:.78;margin-block-start:var(--space-2xs)}.tool-install__steps{gap:var(--space-md);counter-reset:tool-install-step;padding-inline-start:0;list-style:none;display:grid}.tool-install__steps>li{counter-increment:tool-install-step;padding-inline-start:var(--space-xl);position:relative}.tool-install__steps>li:before{content:counter(tool-install-step, decimal-leading-zero);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-accent);inset-inline-start:0;position:absolute;top:.1em}.tool-install__step-title{margin-block-end:var(--space-2xs);font-weight:600}.tool-install__notes{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.tool-install__note{max-width:22rem;font-size:var(--text-sm)}.tool-install__note-title{margin-block-end:var(--space-2xs);font-weight:600}.tool-install__code-heading{color:var(--color-ink-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;margin-block-end:var(--space-md)}.tool-install__snippets{gap:var(--space-md);margin-block-end:var(--space-3xl);display:grid}@media (width>=48rem){.tool-install__snippets{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool-install__block{gap:var(--space-sm);min-width:0;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);display:grid}.tool-install__block-head{gap:var(--space-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.tool-install__block-label{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);font-weight:600}.tool-install__code{padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:nowrap;margin:0;overflow-x:auto}.tool-install__code--multiline{white-space:pre-wrap;overflow-wrap:anywhere}.tool-install__code code{font:inherit}.tool-install__agent{gap:var(--space-md);padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);background:var(--color-accent);display:grid}@supports (color:color-mix(in lab, red, red)){.tool-install__agent{background:color-mix(in oklch, var(--color-accent) 6%, var(--color-paper-raised))}}.tool-install__requirements{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);display:grid}.tool-install__requirements h3{font-size:var(--text-lg)}.tool-install__requirements p{color:var(--color-ink-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.tool-install__agent h3{font-size:var(--text-xl)}.tool-install__agent>p{color:var(--color-ink-muted);font-size:var(--text-sm)}.tool-pricing ol,.tool-features ol{margin:var(--space-2xl) 0 0;border-block-start:var(--rule-hair) solid var(--color-rule);border-inline-start:var(--rule-hair) solid var(--color-rule);gap:0;padding:0;list-style:none;display:grid}.tool-pricing li,.tool-features li{gap:var(--space-md);padding-block:var(--space-xl);padding-inline:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);border-inline-end:var(--rule-hair) solid var(--color-rule);align-items:start;display:grid}.tool-pricing li{grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;column-gap:0;padding-block:0;padding-inline:0}.tool-pricing li>span:first-child,.tool-pricing li>div{padding-block:var(--space-xl);padding-inline:var(--space-lg)}.tool-pricing li>span:first-child{align-self:start}.tool-pricing__marker{gap:var(--space-2xs);aspect-ratio:1;contain:inline-size;block-size:auto;inline-size:auto;min-inline-size:0;max-inline-size:100%;padding:var(--space-sm);border-inline-start:var(--rule-hair) solid var(--color-rule);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.04em;text-align:center;white-space:pre-line;word-break:break-word;flex-direction:column;flex-shrink:0;justify-content:center;place-self:stretch end;align-items:center;font-weight:700;line-height:1.15;text-decoration:none;display:flex;overflow:hidden}.tool-pricing__marker svg{flex-shrink:0;width:.85rem;height:.85rem}.tool-pricing__marker[data-tier=free]{background:var(--success-soft);color:var(--success-foreground);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=free]{border-color:color-mix(in oklch, var(--success) 38%, var(--color-rule))}}.tool-pricing__marker[data-tier=paid-1]{background:var(--chart-2)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-1]{background:color-mix(in oklch, var(--chart-2) 24%, var(--color-paper-raised))}}.tool-pricing__marker[data-tier=paid-1]{color:var(--chart-2)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-1]{color:color-mix(in oklch, var(--chart-2) 72%, var(--foreground))}}.tool-pricing__marker[data-tier=paid-1]{border-color:var(--chart-2)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-1]{border-color:color-mix(in oklch, var(--chart-2) 42%, var(--color-rule))}}.tool-pricing__marker[data-tier=paid-2]{background:var(--chart-4)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-2]{background:color-mix(in oklch, var(--chart-4) 24%, var(--color-paper-raised))}}.tool-pricing__marker[data-tier=paid-2]{color:var(--chart-4)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-2]{color:color-mix(in oklch, var(--chart-4) 70%, var(--foreground))}}.tool-pricing__marker[data-tier=paid-2]{border-color:var(--chart-4)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-2]{border-color:color-mix(in oklch, var(--chart-4) 40%, var(--color-rule))}}.tool-pricing__marker[data-tier=paid-3]{background:var(--chart-1)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-3]{background:color-mix(in oklch, var(--chart-1) 18%, var(--color-paper-raised))}}.tool-pricing__marker[data-tier=paid-3]{color:var(--chart-1)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-3]{color:color-mix(in oklch, var(--chart-1) 78%, var(--foreground))}}.tool-pricing__marker[data-tier=paid-3]{border-color:var(--chart-1)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-3]{border-color:color-mix(in oklch, var(--chart-1) 36%, var(--color-rule))}}.tool-pricing__marker[data-tier=paid-4]{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-4]{background:color-mix(in oklch, var(--destructive) 16%, var(--color-paper-raised))}}.tool-pricing__marker[data-tier=paid-4]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-4]{color:color-mix(in oklch, var(--destructive) 72%, var(--foreground))}}.tool-pricing__marker[data-tier=paid-4]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-4]{border-color:color-mix(in oklch, var(--destructive) 34%, var(--color-rule))}}.tool-pricing__marker[data-tier=paid-5]{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-5]{background:color-mix(in oklch, var(--destructive) 28%, var(--color-paper-raised))}}.tool-pricing__marker[data-tier=paid-5]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-5]{color:color-mix(in oklch, var(--destructive) 82%, var(--foreground))}}.tool-pricing__marker[data-tier=paid-5]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tool-pricing__marker[data-tier=paid-5]{border-color:color-mix(in oklch, var(--destructive) 48%, var(--color-rule))}}@media (hover:hover) and (pointer:fine){a.tool-pricing__marker:hover{filter:brightness(1.06)}}.tool-pricing li>span:first-child,.tool-features li>span{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700}.tool-guidance__grid{gap:var(--space-xl);margin-block-start:var(--space-2xl);display:grid}.tool-guidance article{gap:var(--space-md);padding:var(--space-xl);display:grid}.tool-guidance__grid>article:first-child,.tool-guidance__fit{border:var(--rule-strong) solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-guidance__grid>article:first-child,.tool-guidance__fit{border:var(--rule-strong) solid color-mix(in oklch, var(--color-accent) 55%, var(--color-rule))}}.tool-guidance__grid>article:first-child,.tool-guidance__fit{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-guidance__grid>article:first-child,.tool-guidance__fit{background:color-mix(in oklch, var(--color-accent) 14%, var(--color-paper-raised))}}.tool-guidance__grid>article:first-child,.tool-guidance__fit{box-shadow:0 0 0 1px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.tool-guidance__grid>article:first-child,.tool-guidance__fit{box-shadow:0 0 0 1px color-mix(in oklch, var(--color-accent) 12%, transparent)}}.tool-guidance__grid>article:last-child,.tool-guidance__avoid{border:var(--rule-hair) dashed var(--color-rule)}@supports (color:color-mix(in lab, red, red)){.tool-guidance__grid>article:last-child,.tool-guidance__avoid{border:var(--rule-hair) dashed color-mix(in oklch, var(--color-rule) 45%, transparent)}}.tool-guidance__grid>article:last-child,.tool-guidance__avoid{background:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.tool-guidance__grid>article:last-child,.tool-guidance__avoid{background:color-mix(in oklch, var(--color-paper) 35%, transparent)}}.tool-guidance h3{gap:var(--space-sm);font-size:var(--text-lg);align-items:center;display:flex}.tool-guidance h3 svg{flex-shrink:0;width:1.1rem;height:1.1rem}.tool-guidance__grid>article:first-child h3 svg,.tool-guidance__fit h3 svg{color:var(--color-success)}.tool-guidance__grid>article:last-child h3,.tool-guidance__avoid h3{color:var(--color-ink-muted);font-weight:600}.tool-guidance__grid>article:last-child h3 svg,.tool-guidance__avoid h3 svg{color:var(--color-ink-subtle)}.tool-guidance p{max-width:var(--measure-reading);color:var(--color-ink-muted)}.tool-guidance__grid>article:last-child p,.tool-guidance__avoid p{color:var(--color-ink-subtle)}.tool-related ul{margin:var(--space-2xl) 0 0;border-block-start:var(--rule-hair) solid var(--color-rule);gap:0;padding:0;list-style:none;display:grid}.tool-related li a{gap:var(--space-sm) var(--space-lg);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.tool-related li strong{font-family:var(--font-display);font-size:var(--text-lg);grid-column:1}.tool-related li span{color:var(--color-ink-muted);font-size:var(--text-sm);white-space:normal;grid-column:1}.tool-related li svg{color:var(--color-accent);grid-area:1/2/span 2}.tool-related__body{gap:var(--space-3xl);display:grid}.tool-related__body h3{font-size:var(--text-lg);margin-block-end:var(--space-md)}.tool-detail__cta{gap:var(--space-xl);padding-block:var(--space-section);border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-accent);display:grid}@media (width>=60rem){.tool-tools{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:end}.tool-tools .filters{justify-content:flex-end}.tool-overview{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr)}.tool-features ol{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-features li{grid-template-columns:auto minmax(0,1fr)}.tool-guidance__grid,.tool-related__body{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-detail__cta{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media (width<=39.99rem){.project-detail__hero{min-height:46rem}.tool-detail__hero{min-height:54rem}.project-detail__cover{object-position:64% center}.tool-detail__cover img{object-position:58% 38%}}.api-explorer{min-height:0;padding-inline:var(--panorama-gutter);padding-block-end:var(--space-4xl);display:block}.api-explorer .tool-results-heading{padding-block-end:var(--space-md)}.api-explorer .api-category:first-child,.api-explorer.tool-explorer .tool-category:first-child{padding-block-start:var(--space-lg)}.api-explorer__nav{display:none}.api-explorer__main{min-width:0}.api-nav{background:0 0;width:100%}.api-nav__content{gap:var(--space-md);padding-block:var(--space-lg);overflow:visible}.api-nav [data-slot=sidebar-group],.api-nav .api-nav__group{gap:var(--space-3xs);padding:0}.api-nav [data-slot=sidebar-menu]{gap:0}.api-nav .api-nav__family{gap:var(--space-xs);width:100%;height:auto;padding:var(--space-xs) var(--space-2xs) var(--space-xs) var(--space-sm);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-align:start;text-transform:uppercase;cursor:pointer;transition:color var(--dur-short) var(--ease-out);background:0 0;border:0;border-radius:0;align-items:center;font-weight:700;display:flex}.api-nav__family-label{text-align:start;flex:auto;min-width:0}.api-nav__family-count{color:var(--color-ink-subtle);font-family:var(--font-body);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:500}.api-nav__family-chevron{color:var(--color-accent);transition:transform var(--dur-short) var(--ease-out);flex:none}.api-nav__family[data-state=open] .api-nav__family-chevron{transform:rotate(90deg)}.api-nav .api-nav__family:hover .api-nav__family-count{color:var(--color-ink-muted)}.api-nav [data-slot=collapsible-content] [data-slot=sidebar-group-content]{border-inline-start:var(--rule-hair) solid var(--color-rule);width:auto;margin-block-end:var(--space-xs);margin-inline-start:var(--space-sm);padding-inline-start:var(--space-xs)}.api-nav [data-slot=sidebar-menu-button]{height:auto;min-height:0;padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-sm);color:var(--color-ink-muted);font-size:var(--text-sm);transition:color var(--dur-short) var(--ease-out);background:0 0;border:0;border-radius:0;line-height:1.5;position:relative}.api-nav [data-slot=sidebar-menu-button]:before{width:var(--rule-strong);background:var(--color-accent);content:"";opacity:0;transition:opacity var(--dur-short) var(--ease-out);position:absolute;inset-block:0;inset-inline-start:0}.api-nav [data-slot=sidebar-menu-button]:hover{color:var(--color-ink);background:0 0}.api-nav [data-slot=sidebar-menu-button]:hover:before{opacity:.45}.api-nav [data-slot=sidebar-menu-button][data-active=true]{color:var(--color-ink);font-family:var(--font-display);background:0 0;font-weight:700}.api-nav [data-slot=sidebar-menu-button][data-active=true]:before{opacity:1}.api-nav [data-slot=sidebar-menu-button][data-active=true]~[data-slot=sidebar-menu-badge]{color:var(--color-ink)}.api-nav [data-slot=sidebar-menu-button]:disabled{color:var(--color-ink-subtle);opacity:.5}.api-nav [data-slot=sidebar-menu-button]:disabled:before{opacity:0}.api-nav [data-slot=sidebar-menu-badge]{color:var(--color-ink-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;pointer-events:none}.api-nav__sheet{overflow-y:auto}.api-nav__sheet-body{min-height:0;padding-inline:var(--space-lg);display:block}.api-category{contain-intrinsic-block-size:auto 40rem;contain-intrinsic-inline-size:none;content-visibility:auto}@media (width>=64rem){.api-explorer{grid-template-columns:var(--sidebar-width,16rem) minmax(0, 1fr);gap:var(--space-3xl);align-items:start;display:grid}.api-explorer__nav{max-height:calc(100dvh - var(--space-3xl));border-inline-end:var(--rule-hair) solid var(--color-rule);grid-template-rows:minmax(0,1fr);padding-inline-end:var(--space-lg);display:grid;position:sticky;inset-block-start:var(--space-lg);overflow:hidden}.api-explorer__nav .api-nav{scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;scrollbar-gutter:stable;min-height:0;-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--space-lg), #000 calc(100% - var(--space-xl)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--space-lg), #000 calc(100% - var(--space-xl)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--space-lg), #000 calc(100% - var(--space-xl)), transparent 100%);overflow:hidden auto}.api-explorer__nav .api-nav::-webkit-scrollbar{width:.375rem}.api-explorer__nav .api-nav::-webkit-scrollbar-thumb{background:var(--color-rule)}.api-explorer__nav .api-nav::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-transparency:reduce){.api-explorer__nav .api-nav{mask-image:none}}.api-explorer__nav-trigger{display:none}}.api-detail__title-block{gap:var(--space-sm);justify-items:start;display:grid}.api-detail__mark{border:var(--rule-hair) solid var(--hero-rule,var(--color-rule));background:var(--hero-surface,var(--color-paper));place-items:center;width:2.5rem;height:2.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.api-detail__mark{background:color-mix(in oklch, var(--hero-surface,var(--color-paper)) 88%, transparent)}}.api-detail__mark{color:var(--hero-ink,var(--color-ink))}.api-detail__mark svg{fill:currentColor;width:1.35rem;height:1.35rem}.api-detail__note{color:var(--color-ink-muted);font-size:var(--text-sm)}.api-detail__note a{color:var(--color-accent);font-weight:650;text-decoration:none}.api-detail__note a:hover{text-decoration:underline}.api-detail .tool-detail__category a{color:inherit;text-decoration:none}.api-detail .tool-detail__category a:hover{text-decoration:underline}.api-spec em[data-tone],.api-spec__inline[data-tone]{font-variant-numeric:tabular-nums;font-style:normal}.api-spec em[data-tone=ok],.api-spec__inline[data-tone=ok]{color:var(--color-success)}.api-spec em[data-tone=warn],.api-spec__inline[data-tone=warn]{color:var(--color-accent)}.api-detail__links{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.api-detail__links a{align-items:center;gap:var(--space-2xs);color:var(--color-ink);font-size:var(--text-sm);text-decoration:none;display:inline-flex}.api-detail__links a:hover{color:var(--color-accent)}.api-detail__links svg{width:.85rem;height:.85rem}.api-free-tier__intro{gap:var(--space-md);max-width:var(--measure-prose);display:grid}.api-free-tier__intro>:last-child{margin:0}.api-tutorial{max-width:var(--measure-prose)}.api-usage{gap:var(--space-2xl);max-width:min(100%,72rem);grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-md);display:grid}.api-usage>*,.api-usage__explainer>*,.api-usage__block>*{min-width:0}.api-usage__signup{margin:0}.api-usage__explainer{display:grid}.api-usage__explainer>div{padding:var(--space-xl);background:var(--color-surface)}.api-usage__explainer h3{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--leading-snug);color:var(--color-ink)}.api-usage__explainer p{margin:0 0 var(--space-md);max-width:var(--measure-prose);color:var(--color-ink);font-size:var(--text-base);line-height:var(--leading-relaxed)}.api-usage__explainer p:last-child{margin-block-end:0}.api-usage__block{gap:var(--space-md);display:grid}.api-usage__block h3{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--color-ink);margin:0}.api-usage__table{border-block-start:var(--rule-hair) solid var(--color-rule);border-inline-start:var(--rule-hair) solid var(--color-rule)}.api-usage__table [data-slot=table-header] tr,.api-usage__table [data-slot=table-body] tr{border-color:var(--color-rule)}.api-usage__table [data-slot=table-head],.api-usage__table [data-slot=table-cell]{border-inline-end:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule);padding:var(--space-md) var(--space-lg);vertical-align:top;background:var(--color-surface)}.api-usage__table [data-slot=table-head]{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);white-space:normal}.api-usage__table [data-slot=table-row]:hover{background:0 0}.api-usage__cell-wrap{max-width:28rem;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-ink);white-space:normal!important}.api-usage__metric{color:var(--color-ink);max-width:14rem;font-weight:600}.api-usage__quota{font-variant-numeric:tabular-nums;max-width:10rem;color:var(--color-accent);font-weight:600}.api-usage__cell-link{align-items:flex-start;gap:var(--space-2xs);color:inherit;text-decoration:none;display:inline-flex}.api-usage__cell-link:hover{color:var(--color-accent)}.api-usage__cell-link svg,.api-usage caption a svg{flex-shrink:0;width:.85rem;height:.85rem;margin-block-start:.15em}.api-usage caption{margin-block:var(--space-md) 0;caption-side:bottom;text-align:start;color:var(--color-ink-muted);font-size:var(--text-sm)}.api-usage caption a{align-items:center;gap:var(--space-2xs);color:var(--color-ink);text-decoration:none;display:inline-flex}.api-usage caption a:hover{color:var(--color-accent)}.api-tutorial__intro{margin-block:0 var(--space-md);max-width:var(--measure-prose);color:var(--color-ink);font-size:var(--text-base);line-height:var(--leading-relaxed)}.api-tutorial__base{margin-block:0 var(--space-lg);color:var(--color-ink-muted);font-size:var(--text-sm)}.api-tutorial__base code{word-break:break-all;font-size:.95em}.api-tutorial ol>li,.api-tutorial ol>li>*{min-width:0}.api-can-do__list{gap:var(--space-md);margin:var(--space-2xl) 0 0;max-width:var(--measure-prose);padding:0;list-style:none;display:grid}.api-can-do__list li{color:var(--color-ink);font-size:var(--text-base);line-height:var(--leading-relaxed);padding-inline-start:var(--space-xl);position:relative}.api-can-do__list li:before{content:"";background:var(--color-accent);width:.45rem;height:.45rem;position:absolute;top:.55em;left:0}.api-agent{padding-block:var(--space-section);padding-inline:var(--panorama-gutter);border-block-start:var(--rule-hair) solid var(--color-rule)}.api-agent .section-kicker{margin-block-end:var(--space-md)}.api-agent-prompt{margin-block-start:var(--space-lg)}@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-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-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes pulse{50%{opacity:.5}}
