@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.1way2z9fj6cig.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.0szrwpqb9mkwe.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.ec5Qua_className{font-family:Inter,Inter Fallback;font-style:normal}.ec5Qua_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.40kcwrf1wub16.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.200l3jur7oygh.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.xz2qEq_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.xz2qEq_variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-gray-200:#e5e7eb;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-inter);--default-mono-font-family:var(--font-jetbrains)}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-200:lab(91.6229% -.159115 -2.26791)}}}@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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentcolor)}::file-selector-button{border-color:var(--color-gray-200,currentcolor)}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 5.9% 10%;--radius:.5rem}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}}@layer components;@layer utilities{.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}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-\(--radix-select-trigger-height\){height:var(--radix-select-trigger-height)}.h-2{height:calc(var(--spacing) * 2)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.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)}.h-\[1\.2rem\]{height:1.2rem}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-\[1\.2rem\]{width:1.2rem}.w-\[280px\]{width:280px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[1160px\]{max-width:1160px}.max-w-full{max-width:100%}.min-w-\(--radix-select-trigger-width\){min-width:var(--radix-select-trigger-width)}.min-w-32{min-width:calc(var(--spacing) * 32)}.grow{flex-grow:1}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.cursor-default{cursor:default}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.p-1{padding:var(--spacing)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.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-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:0}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-jetbrains)}.font-sans{font-family:var(--font-inter)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media (hover:hover){.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, hsl(var(--destructive)) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, hsl(var(--primary)) 90%, transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/40:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/40:hover{background-color:color-mix(in oklab, hsl(var(--secondary)) 40%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, hsl(var(--secondary)) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab, red, red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab, hsl(var(--foreground)) 80%, transparent)}}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-1:focus{--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)}.focus\:ring-2:focus{--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\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (min-width:40rem){.sm\:block{display:block}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-16{min-height:calc(var(--spacing) * 16)}.lg\:py-0{padding-block:0}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:0deg}.\[\&_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}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.article-content{color:var(--tw-prose-body);max-width:65ch;margin-inline:auto}.article-content :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.article-content :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.article-content :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.article-content :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.article-content :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.article-content :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.article-content :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.article-content :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.article-content :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.article-content :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.article-content :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.article-content :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.article-content :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.article-content :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.article-content :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.article-content :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.article-content :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.article-content :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.article-content :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.article-content :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.article-content :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.article-content :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.article-content :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.article-content :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.article-content :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.article-content :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.article-content :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.article-content :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.article-content :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.article-content :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.article-content :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.article-content :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.article-content :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.article-content :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.article-content :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.article-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.article-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.article-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.article-content :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.article-content :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.article-content :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.article-content :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.article-content :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.article-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.article-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.article-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.article-content :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.article-content :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.article-content :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.article-content :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.article-content :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.article-content :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.article-content :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.article-content :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.article-content :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.article-content :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.article-content :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.article-content{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.article-content{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.article-content :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.article-content :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.article-content :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.article-content :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.article-content :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.article-content :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.article-content :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.article-content :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.article-content :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.article-content :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.article-content :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.article-content :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.article-content :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.article-content :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.article-content :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.article-content :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.article-content :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.article-content :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.article-content :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.article-content :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.article-content :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.article-content{max-width:var(--container-2xl);--tw-prose-body:#3f3f46;--tw-prose-headings:#18181b;--tw-prose-lead:#52525c;--tw-prose-links:#18181b;--tw-prose-bold:#18181b;--tw-prose-counters:#71717b;--tw-prose-bullets:#d4d4d8;--tw-prose-hr:#e4e4e7;--tw-prose-quotes:#18181b;--tw-prose-quote-borders:#e4e4e7;--tw-prose-captions:#71717b;--tw-prose-kbd:#18181b;--tw-prose-kbd-shadows:#18181b1a;--tw-prose-code:#18181b;--tw-prose-pre-code:#e4e4e7;--tw-prose-pre-bg:#27272a;--tw-prose-th-borders:#d4d4d8;--tw-prose-td-borders:#e4e4e7;--tw-prose-invert-body:#d4d4d8;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9f9fa9;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9f9fa9;--tw-prose-invert-bullets:#52525c;--tw-prose-invert-hr:#3f3f46;--tw-prose-invert-quotes:#f4f4f5;--tw-prose-invert-quote-borders:#3f3f46;--tw-prose-invert-captions:#9f9fa9;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d4d4d8;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#52525c;--tw-prose-invert-td-borders:#3f3f46}@supports (color:lab(0% 0 0)){.article-content{--tw-prose-body:lab(26.8019% 1.35387 -4.68303);--tw-prose-headings:lab(8.30603% .618205 -2.16572);--tw-prose-lead:lab(35.1166% 1.78212 -6.1173);--tw-prose-links:lab(8.30603% .618205 -2.16572);--tw-prose-bold:lab(8.30603% .618205 -2.16572);--tw-prose-counters:lab(47.8878% 1.65477 -5.77283);--tw-prose-bullets:lab(84.9837% .601262 -2.17986);--tw-prose-hr:lab(90.6853% .399232 -1.45452);--tw-prose-quotes:lab(8.30603% .618205 -2.16572);--tw-prose-quote-borders:lab(90.6853% .399232 -1.45452);--tw-prose-captions:lab(47.8878% 1.65477 -5.77283);--tw-prose-kbd:lab(8.30603% .618205 -2.16572);--tw-prose-kbd-shadows:lab(8.30603% .618205 -2.16572/.1);--tw-prose-code:lab(8.30603% .618205 -2.16572);--tw-prose-pre-code:lab(90.6853% .399232 -1.45452);--tw-prose-pre-bg:lab(15.7305% .613764 -2.16959);--tw-prose-th-borders:lab(84.9837% .601262 -2.17986);--tw-prose-td-borders:lab(90.6853% .399232 -1.45452);--tw-prose-invert-body:lab(84.9837% .601262 -2.17986);--tw-prose-invert-lead:lab(65.6464% 1.53497 -5.42429);--tw-prose-invert-counters:lab(65.6464% 1.53497 -5.42429);--tw-prose-invert-bullets:lab(35.1166% 1.78212 -6.1173);--tw-prose-invert-hr:lab(26.8019% 1.35387 -4.68303);--tw-prose-invert-quotes:lab(96.1634% .0993311 -.364041);--tw-prose-invert-quote-borders:lab(26.8019% 1.35387 -4.68303);--tw-prose-invert-captions:lab(65.6464% 1.53497 -5.42429);--tw-prose-invert-pre-code:lab(84.9837% .601262 -2.17986);--tw-prose-invert-th-borders:lab(35.1166% 1.78212 -6.1173);--tw-prose-invert-td-borders:lab(26.8019% 1.35387 -4.68303)}}.article-content:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.article-content :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-jetbrains);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.article-content :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-inter);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}html{scroll-behavior:smooth}:root{--portfolio-accent:#146b5c;--portfolio-accent-soft:#e7f2ed;--portfolio-panel:#f4f6f3;--portfolio-ink:#162723;--portfolio-line:#c7d7d0;--portfolio-subtle:#4f655c;--portfolio-amber:#af6426}.dark{--portfolio-accent:#a1dfc6;--portfolio-accent-soft:#172c26;--portfolio-panel:#131c1c;--portfolio-ink:#e4eee8;--portfolio-line:#344b43;--portfolio-subtle:#a4bbb0;--portfolio-amber:#e5b17b}.portfolio-shell{width:100%;max-width:1160px;margin:0 auto;padding:0 32px 32px}.site-nav{background:hsl(var(--background))}.site-mark{background:var(--portfolio-accent-soft);width:40px;height:40px;color:var(--portfolio-accent);font:700 18px/1 var(--font-jetbrains), monospace;letter-spacing:-.04em;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.site-name{letter-spacing:-.02em;font-size:15px}.skip-link{background:hsl(var(--background));color:hsl(var(--foreground));z-index:100;border:2px solid var(--portfolio-accent);padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.portfolio-shell :is(a,button):focus-visible,.site-nav a:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:5px;border-radius:3px}.eyebrow{font-family:var(--font-jetbrains), monospace;letter-spacing:.11em;text-transform:uppercase;color:var(--portfolio-subtle);font-size:11px;font-weight:500;line-height:1.7}.accent-text{color:var(--portfolio-accent)}.accent-dot{background:var(--portfolio-accent);border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block}.home-hero{grid-template-columns:1.45fr 1fr;align-items:center;gap:72px;padding:52px 0 64px;display:grid}.hero-copy h1{letter-spacing:-.065em;margin:20px 0 24px;font-size:clamp(48px,6.8vw,80px);font-weight:600;line-height:1.08}.hero-statement{letter-spacing:-.03em;margin-bottom:22px;font-size:clamp(23px,2.7vw,30px);font-weight:450;line-height:1.35}.hero-intro{color:hsl(var(--muted-foreground));max-width:510px;font-size:17px;line-height:1.8}.hero-current{color:hsl(var(--muted-foreground));max-width:460px;margin-top:22px;font-size:14px;line-height:1.8}.hero-current strong{color:hsl(var(--foreground));font-weight:500}.hero-current a{color:var(--portfolio-accent);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px;display:flex}.solid-link,.text-link{justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:550;line-height:1.5;display:inline-flex}.solid-link{background:var(--portfolio-accent);color:hsl(var(--background));border-radius:5px;min-height:46px;padding:13px 19px}.solid-link:hover{filter:brightness(1.1)}.text-link{min-height:36px;color:var(--portfolio-accent);text-decoration:none}.text-link:hover{color:var(--portfolio-ink)}.portrait-figure{justify-self:end;width:100%;max-width:370px;margin:0}.portrait-frame{border:1px solid var(--portfolio-line);background:var(--portfolio-panel);border-radius:4px;padding:10px;position:relative}.portrait-frame img{aspect-ratio:4/4.7;object-fit:cover;object-position:60% 65%;border-radius:2px;width:100%}.portrait-corner{border-color:var(--portfolio-accent);width:23px;height:23px;position:absolute}.corner-top{border-top:2px solid;border-left:2px solid;top:-1px;left:-1px}.corner-bottom{border-bottom:2px solid;border-right:2px solid;bottom:-1px;right:-1px}.portrait-figure figcaption{color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;font-size:11px;display:flex}.portrait-figure figcaption a{align-items:center;gap:4px;display:inline-flex}.discipline-strip{border-block:1px solid hsl(var(--border));flex-wrap:wrap;justify-content:space-between;gap:20px;padding:22px 0;font-size:13px;display:flex}.discipline-strip>span{align-items:center;gap:12px;display:flex}.discipline-strip>span>span{color:var(--portfolio-accent);font-family:var(--font-jetbrains), monospace;font-size:11px}.home-section{padding-top:92px;scroll-margin-top:32px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;display:flex}.section-heading h2,.consulting-panel h2{letter-spacing:-.04em;margin-top:12px;font-size:clamp(28px,3.3vw,40px);font-weight:550;line-height:1.2}.section-heading>.text-link{flex-shrink:0}.featured-projects{border-top:1px solid hsl(var(--border))}.featured-project{border-bottom:1px solid hsl(var(--border));grid-template-columns:1.12fr 1fr;align-items:center;gap:56px;padding:36px 0;display:grid}.featured-copy h3{letter-spacing:-.035em;margin:15px 0 18px;font-size:clamp(25px,2.5vw,32px);font-weight:550;line-height:1.2}.featured-copy h3 a:hover{color:var(--portfolio-accent)}.featured-copy>p:not(.eyebrow){color:hsl(var(--muted-foreground));font-size:16px;line-height:1.8}.case-link{color:var(--portfolio-accent);margin-top:22px}.project-diagram{border:1px solid var(--portfolio-line);background:var(--portfolio-panel);color:var(--portfolio-accent);border-radius:8px;margin:0;overflow:hidden}.diagram-label{font:500 10px / 1.5 var(--font-jetbrains), monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--portfolio-subtle);justify-content:space-between;gap:8px;padding:16px 20px 8px;display:flex}.project-diagram svg{width:100%;height:auto;display:block}.diagram-dot{fill:var(--portfolio-line);opacity:.65}.diagram-lines{fill:none;stroke:var(--portfolio-accent);stroke-width:1.8px}.diagram-node{fill:var(--portfolio-panel);stroke:var(--portfolio-accent);stroke-width:1.7px}.diagram-boundary{fill:var(--portfolio-accent-soft);stroke:var(--portfolio-line);stroke-width:1.5px;stroke-dasharray:5 5}.diagram-icon{fill:none;stroke:var(--portfolio-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.diagram-text{fill:var(--portfolio-ink);font:500 21px var(--font-inter), sans-serif}.diagram-note{fill:var(--portfolio-subtle);font-size:18px}.diagram-accent{fill:var(--portfolio-amber)}.diagram-scan{fill:var(--portfolio-accent-soft);stroke:var(--portfolio-line)}.robot-arm-shadow{fill:none;stroke:var(--portfolio-amber);stroke-width:25px;stroke-linejoin:round}.robot-arm{fill:none;stroke:var(--portfolio-panel);stroke-width:16px;stroke-linejoin:round}.diagram-foot{color:var(--portfolio-subtle);align-items:center;gap:7px;padding:8px 20px 16px;font-size:11px;display:flex}.diagram-key{background:var(--portfolio-amber);border-radius:50%;width:5px;height:5px}.section-intro{color:hsl(var(--muted-foreground));max-width:670px;margin:-16px 0 34px;font-size:17px;line-height:1.8}.book-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.book-card{background:var(--portfolio-panel);border:1px solid hsl(var(--border));border-radius:8px;grid-template-columns:150px 1fr;align-items:start;gap:26px;padding:26px;scroll-margin-top:30px;display:grid}.book-cover-link{transition:transform .2s;display:block}.book-cover-link:hover{transform:translateY(-4px)}.book-cover{width:100%;height:auto;box-shadow:-3px 3px 0 var(--portfolio-line), 0 10px 25px #0002;border-radius:1px 4px 4px 1px}.book-copy .eyebrow{letter-spacing:.04em;font-size:10px}.book-copy :is(h2,h3){letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:10px;font-size:22px;font-weight:550;line-height:1.2}.book-translation{color:var(--portfolio-subtle);margin-top:6px;font-size:12px}.book-description{color:hsl(var(--muted-foreground));margin-top:18px;font-size:14px;line-height:1.8}.book-read{color:var(--portfolio-accent);margin-top:16px;font-size:13px}.book-source{color:hsl(var(--muted-foreground));margin-top:4px;font-size:11px;line-height:1.6}.consulting-panel{background:var(--portfolio-accent-soft);border:1px solid var(--portfolio-line);border-radius:8px;justify-content:space-between;align-items:center;gap:40px;margin-top:90px;padding:40px;display:flex}.consulting-panel p:not(.eyebrow){max-width:600px;color:var(--portfolio-subtle);margin-top:16px;font-size:16px;line-height:1.8}.consulting-panel .solid-link{flex-shrink:0}.page-intro{max-width:760px;padding:48px 0}.page-intro h1,.case-header h1{letter-spacing:-.05em;margin:18px 0 24px;font-size:clamp(36px,5.4vw,62px);font-weight:550;line-height:1.1}.page-intro>p:last-child{color:hsl(var(--muted-foreground));font-size:18px;line-height:1.8}.book-grid-detailed{grid-template-columns:1fr;gap:32px}.book-grid-detailed .book-card{grid-template-columns:240px 1fr;gap:48px;padding:40px}.book-grid-detailed .book-copy :is(h2,h3){font-size:32px}.book-grid-detailed .book-description,.book-audience{max-width:560px;font-size:16px;line-height:1.8}.book-audience{color:hsl(var(--muted-foreground));margin-top:14px}.book-meta{grid-template-columns:80px 1fr;gap:8px 16px;margin:24px 0 4px;font-size:13px;display:grid}.book-meta dt{color:hsl(var(--muted-foreground))}.publication-note{max-width:720px;color:hsl(var(--muted-foreground));margin-top:36px;font-size:13px;line-height:1.8}.case-back{color:hsl(var(--muted-foreground));margin-top:12px;font-size:13px}.case-header{max-width:850px;padding:48px 0 40px}.case-deck{color:hsl(var(--muted-foreground));max-width:760px;font-size:20px;line-height:1.7}.case-facts{border-top:1px solid hsl(var(--border));flex-wrap:wrap;gap:52px;margin-top:36px;padding-top:24px;display:flex}.case-facts dt{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));margin-bottom:8px;font-size:11px}.case-facts dd{font-size:14px}.case-client{color:hsl(var(--muted-foreground));margin-top:24px;font-size:13px}.case-visual{background:var(--portfolio-panel);border:1px solid var(--portfolio-line);border-radius:8px;padding:24px 40px}.case-visual .project-diagram{border:0;max-width:680px;margin:auto}.case-visual>p{text-align:center;max-width:680px;color:var(--portfolio-subtle);margin:8px auto 0;font-size:12px;line-height:1.8}.case-body{grid-template-columns:220px 1fr;gap:64px;margin-top:72px;display:grid}.case-aside{align-self:start;position:sticky;top:32px}.case-aside nav{flex-direction:column;gap:16px;margin-top:20px;font-size:13px;display:flex}.case-aside a:hover{color:var(--portfolio-accent)}.case-byline{color:hsl(var(--muted-foreground));margin-top:36px;font-size:12px;line-height:1.8}.case-byline a{color:hsl(var(--foreground))}.case-prose{max-width:720px}.case-prose section{margin-bottom:56px;scroll-margin-top:32px}.case-prose h2{letter-spacing:-.03em;margin:10px 0 20px;font-size:30px;font-weight:550;line-height:1.3}.case-prose p,.case-prose li{color:hsl(var(--muted-foreground));font-size:17px;line-height:1.85}.case-prose ul:not(.technology-list){margin-top:18px;padding-left:22px;list-style:outside}.case-prose li+li{margin-top:10px}.case-prose .eyebrow{color:var(--portfolio-subtle);font-size:11px;line-height:1.7}.approach-list{flex-direction:column;gap:28px;display:flex}.approach-list>div{gap:20px;display:flex}.approach-list>div>span{font:12px var(--font-jetbrains), monospace;color:var(--portfolio-accent);margin-top:5px}.approach-list h3{letter-spacing:-.02em;margin-bottom:8px;font-size:20px;font-weight:550}.case-takeaway{border-left:2px solid var(--portfolio-accent);background:var(--portfolio-accent-soft);margin-top:28px;padding:20px 24px}.case-takeaway p{color:var(--portfolio-ink);letter-spacing:-.02em;margin-top:10px;font-size:21px;line-height:1.5}.technology-list{flex-wrap:wrap;gap:8px;display:flex}.case-prose .technology-list li{font:12px / 1.5 var(--font-jetbrains), monospace;border:1px solid var(--portfolio-line);border-radius:4px;margin:0;padding:7px 12px}.next-case{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:24px;padding:32px 0 8px;display:flex}.next-case strong{letter-spacing:-.03em;margin-top:10px;font-size:25px;font-weight:550;display:block}.next-case:hover{color:var(--portfolio-accent)}@media (max-width:1000px){.home-hero{gap:40px}.featured-project{gap:32px}.book-grid{gap:20px}.book-card{grid-template-columns:110px 1fr;gap:20px;padding:20px}.book-copy :is(h2,h3){font-size:20px}.case-body{grid-template-columns:180px 1fr;gap:36px}}@media (max-width:740px){.portfolio-shell{padding:0 22px 20px}.home-hero{grid-template-columns:1fr;gap:36px;padding:26px 0 38px}.hero-copy h1{font-size:clamp(48px,12vw,76px)}.hero-intro{font-size:17px}.hero-actions{gap:22px}.portrait-figure{max-width:100%}.portrait-frame img{aspect-ratio:1.3;object-position:50% 65%}.discipline-strip{gap:14px 22px;font-size:12px}.home-section{padding-top:58px}.section-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.featured-project{grid-template-columns:1fr;gap:24px;padding:28px 0 32px}.featured-copy h3{font-size:28px}.featured-copy .eyebrow{font-size:10px}.case-link{margin-top:16px}.section-intro{margin:0 0 28px;font-size:16px}.book-grid{grid-template-columns:1fr}.book-card{grid-template-columns:110px 1fr}.book-copy :is(h2,h3){font-size:22px}.book-description{margin-top:12px;font-size:13px}.consulting-panel{flex-direction:column;align-items:flex-start;gap:24px;margin-top:58px;padding:28px}.page-intro{padding:24px 0 32px}.book-grid-detailed .book-card{grid-template-columns:1fr;gap:28px;padding:26px}.book-grid-detailed .book-cover-link{width:180px;margin:0 auto}.book-grid-detailed .book-copy :is(h2,h3){font-size:28px}.case-header{padding-top:32px}.case-deck{font-size:18px}.case-facts{gap:22px 32px}.case-visual{padding:8px 0 18px}.case-visual>p{text-align:left;padding:0 18px}.case-body{margin-top:36px;display:block}.case-aside{border-bottom:1px solid hsl(var(--border));margin-bottom:36px;padding-bottom:28px;position:static}.case-aside nav{flex-flow:wrap;gap:12px 22px}.case-byline{display:none}.case-prose h2{font-size:27px}.case-prose p,.case-prose li{font-size:16px}.case-prose section{margin-bottom:40px}.next-case strong{font-size:22px}}@media (max-width:380px){.book-card{grid-template-columns:88px 1fr;gap:16px;padding:16px}.book-copy :is(h2,h3){font-size:20px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.personal-intro{border-bottom:1px solid hsl(var(--border));grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:80px;padding-bottom:40px;display:grid}.personal-intro .page-intro{max-width:690px}.personal-intro .page-intro>p:not(.eyebrow){color:hsl(var(--muted-foreground));font-size:18px;line-height:1.85}.profile-note{border:1px solid var(--portfolio-line);background:var(--portfolio-panel);border-radius:8px;padding:26px}.profile-note dl>div{margin-top:22px}.profile-note dt{color:var(--portfolio-subtle);margin-bottom:6px;font-size:12px}.profile-note dd{font-size:15px;font-weight:500;line-height:1.7}.profile-note dd span{color:hsl(var(--muted-foreground));font-weight:400}.profile-note a{color:var(--portfolio-accent);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.profile-note a:hover{color:var(--portfolio-ink)}.personal-layout{grid-template-columns:210px minmax(0,1fr);gap:74px;margin-top:64px;display:grid}.personal-index{align-self:start;position:sticky;top:32px}.personal-index nav{flex-direction:column;gap:18px;margin-top:22px;font-size:13px;display:flex}.personal-index a:hover,.chapter-nav a:hover{color:var(--portfolio-accent)}.personal-content{min-width:0}.personal-section{margin-bottom:72px;scroll-margin-top:32px}.personal-section .section-heading{margin-bottom:30px}.personal-section .section-heading h2{font-size:clamp(28px,3vw,36px)}.reading-copy{max-width:68ch;color:hsl(var(--muted-foreground));font-size:17px;line-height:1.9}.career-timeline{border-left:1px solid var(--portfolio-line);margin-left:5px}.career-stage{padding:0 0 40px 28px;position:relative}.career-stage:last-child{padding-bottom:0}.career-stage:before{content:"";background:var(--portfolio-accent);width:9px;height:9px;box-shadow:0 0 0 5px hsl(var(--background));border-radius:50%;position:absolute;top:5px;left:-5px}.career-period{font:12px / 1.7 var(--font-jetbrains), monospace;color:var(--portfolio-subtle);margin-bottom:10px}.career-stage h3{letter-spacing:-.025em;text-wrap:pretty;margin-bottom:14px;font-size:22px;font-weight:550;line-height:1.4}.personal-quotes{gap:18px;display:grid}.personal-quotes blockquote{background:var(--portfolio-panel);border-left:2px solid var(--portfolio-accent);border-radius:0 6px 6px 0;padding:24px 28px}.personal-quotes blockquote p{letter-spacing:-.02em;font-size:22px;line-height:1.55}.personal-quotes blockquote footer{color:var(--portfolio-subtle);margin-top:14px;font-size:13px;line-height:1.8}.skills-panels{grid-template-columns:1.3fr 1fr;gap:22px;display:grid}.skills-panels>div{border:1px solid hsl(var(--border));border-radius:8px;padding:24px}.skills-panels h3{letter-spacing:-.02em;margin-bottom:18px;font-size:20px;font-weight:550}.skills-panels ul{flex-direction:column;gap:12px;display:flex}.skills-panels li{color:hsl(var(--muted-foreground));padding-left:15px;font-size:15px;line-height:1.7;position:relative}.skills-panels li:before{content:"";background:var(--portfolio-accent);width:4px;height:4px;position:absolute;top:10px;left:0}.personal-callout{background:var(--portfolio-accent-soft);border:1px solid var(--portfolio-line);border-radius:8px;padding:30px}.personal-callout h2{letter-spacing:-.03em;margin:12px 0 18px;font-size:30px;font-weight:550;line-height:1.3}.personal-callout .reading-copy{color:var(--portfolio-subtle)}.inline-editorial-link{color:var(--portfolio-accent);text-decoration:none}.inline-editorial-link:hover{color:var(--portfolio-ink)}.personal-section-link{color:var(--portfolio-accent);margin-top:24px}.beyond-intro{max-width:870px;padding-bottom:42px}.chapter-nav{border-block:1px solid hsl(var(--border));flex-wrap:wrap;gap:20px 48px;padding:22px 0;font-size:14px;display:flex}.chapter-nav a{align-items:center;gap:16px;display:inline-flex}.chapter-nav span{color:var(--portfolio-accent)}.interests-section{margin-top:64px}.interests-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.interest-card{background:var(--portfolio-panel);border:1px solid hsl(var(--border));border-radius:8px;height:100%;padding:30px}.interest-card-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.interest-icon{color:var(--portfolio-accent);background:var(--portfolio-accent-soft);border-radius:8px;place-items:center;width:46px;height:46px;display:grid}.interest-card h3{letter-spacing:-.03em;margin-bottom:16px;font-size:25px;font-weight:550;line-height:1.3}.interest-card .reading-copy{font-size:16px}.interest-details{border-top:1px solid var(--portfolio-line);margin-top:22px;padding-top:20px;padding-left:18px;list-style:outside}.interest-details li{color:var(--portfolio-subtle);padding-left:3px;font-size:14px;line-height:1.85}.interest-details li+li{margin-top:8px}.interest-details li::marker{color:var(--portfolio-accent)}.beyond-books .section-intro{margin-top:0}.book-bibliography{color:var(--portfolio-subtle);margin-top:14px;font-size:12px;line-height:1.8}.book-bibliography p+p{margin-top:5px}.reading-features{border-top:1px solid hsl(var(--border))}.reading-feature{border-bottom:1px solid hsl(var(--border));grid-template-columns:1fr 1.6fr;gap:56px;padding:34px 0;display:grid}.reading-feature h3{letter-spacing:-.035em;margin:14px 0 10px;font-size:27px;font-weight:550;line-height:1.25}.reading-feature-heading>p{color:var(--portfolio-subtle);font-size:14px;line-height:1.7}.reading-categories{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.reading-categories li{border:1px solid var(--portfolio-line);color:var(--portfolio-subtle);border-radius:4px;padding:5px 9px;font-size:12px;line-height:1.6}@media (max-width:1000px){.personal-intro{grid-template-columns:minmax(0,1fr) 250px;gap:40px}.personal-layout{grid-template-columns:170px minmax(0,1fr);gap:40px}.skills-panels{grid-template-columns:1fr}.reading-feature{gap:36px}}@media (max-width:740px){.personal-intro{grid-template-columns:1fr;gap:0;padding-bottom:30px}.personal-intro .page-intro{padding-bottom:30px}.personal-intro .page-intro>p:not(.eyebrow){font-size:17px}.profile-note{padding:24px}.profile-note dl{flex-wrap:wrap;gap:0 28px;display:flex}.personal-layout{margin-top:28px;display:block}.personal-index{border-bottom:1px solid hsl(var(--border));margin-bottom:38px;padding-bottom:28px;position:static}.personal-index nav{flex-flow:wrap;gap:16px 22px;margin-top:16px}.personal-section{margin-bottom:48px}.reading-copy{font-size:16px;line-height:1.85}.career-stage{padding-bottom:34px;padding-left:22px}.career-stage h3{font-size:21px}.personal-quotes blockquote{padding:22px}.personal-quotes blockquote p{font-size:20px}.skills-panels{gap:18px}.personal-callout{padding:24px}.personal-callout h2{font-size:27px}.chapter-nav{gap:16px 26px;font-size:13px}.chapter-nav a{gap:10px}.interests-section{margin-top:40px}.interests-grid{grid-template-columns:1fr;gap:20px}.interest-card{padding:24px}.interest-card h3{font-size:24px}.beyond-books .book-card{grid-template-columns:1fr}.beyond-books .book-cover-link{max-width:160px}.beyond-books .book-description{font-size:15px}.reading-feature{grid-template-columns:1fr;gap:22px;padding:28px 0}}.archive-intro{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:64px;padding-bottom:24px;display:flex}.archive-intro .page-intro{max-width:720px}.archive-feature-link{border-left:2px solid var(--portfolio-accent);color:var(--portfolio-accent);flex-shrink:0;padding:10px 0 10px 22px;display:block}.archive-feature-link>span{display:block}.archive-feature-link>span:last-child{margin-top:12px;font-size:18px;line-height:1.6}.archive-feature-link svg{vertical-align:middle;margin-left:5px;display:inline}.archive-feature-link:hover{color:var(--portfolio-ink)}.project-archive-layout{grid-template-columns:210px minmax(0,1fr);gap:64px;padding-top:40px;display:grid}.project-filters{align-self:start;position:sticky;top:32px}.project-filter-options{flex-direction:column;gap:5px;margin-top:20px}.project-filter-options button{text-align:left;cursor:pointer;border-radius:5px;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.project-filter-options button:hover{background:var(--portfolio-panel)}.project-filter-options button[aria-pressed=true]{background:var(--portfolio-accent-soft);color:var(--portfolio-accent);font-weight:550}.filter-count{color:var(--portfolio-subtle);font-size:12px}.project-results{min-width:0}.archive-results-count{font:12px / 1.7 var(--font-jetbrains), monospace;color:var(--portfolio-subtle);margin-bottom:30px}.archive-results-count span{margin:0 8px}.archive-company+.archive-company{margin-top:56px}.archive-company-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:20px;display:flex}.archive-company-heading h2{letter-spacing:-.035em;font-size:30px;font-weight:550;line-height:1.25}.archive-projects{gap:20px;display:grid}.archive-project-card{border:1px solid hsl(var(--border));background:var(--portfolio-panel);border-radius:8px;padding:30px}.archive-project-card h3{letter-spacing:-.025em;text-wrap:pretty;margin:12px 0 18px;font-size:23px;font-weight:550;line-height:1.4}.archive-project-card h3 a{color:var(--portfolio-accent)}.archive-project-card h3 a:hover{color:var(--portfolio-ink)}.archive-client{color:var(--portfolio-subtle);align-items:flex-start;gap:8px;margin:-4px 0 18px;font-size:13px;line-height:1.7;display:flex}.archive-client svg{flex-shrink:0;margin-top:3px}.archive-project-card .reading-copy{font-size:16px}.archive-technologies{border-top:1px solid var(--portfolio-line);margin-top:22px;padding-top:20px}.archive-technologies>p{color:var(--portfolio-subtle);margin-bottom:12px;font-size:12px}.archive-technologies ul{flex-wrap:wrap;gap:8px;display:flex}.archive-technologies li{border:1px solid var(--portfolio-line);color:var(--portfolio-subtle);border-radius:4px;padding:5px 9px;font-size:13px;line-height:1.6}.archive-project-link{margin-top:20px;font-size:13px}.project-mobile-filter{margin-top:16px}.project-mobile-filter button{min-height:44px}.reading-back{margin-top:14px;font-size:13px}.reading-library .page-intro{max-width:780px;padding-top:32px}.library-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 0 22px;display:flex}.reading-library .reading-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);padding:40px 0}.reading-library .reading-feature h2{letter-spacing:-.035em;text-wrap:pretty;margin:14px 0 10px;font-size:27px;font-weight:550;line-height:1.35}.reading-library .reading-feature .reading-copy{padding-top:30px}.reading-library .next-case{border-top:0;margin-top:40px}@media (max-width:1023px){.project-archive-layout{grid-template-columns:1fr;gap:28px}.project-filters{max-width:480px;position:static}.archive-intro{gap:36px}.archive-feature-link>span:last-child{font-size:16px}}@media (max-width:740px){.archive-intro{padding-bottom:30px;display:block}.archive-intro .page-intro{padding-bottom:26px}.archive-feature-link{padding-left:18px}.archive-feature-link br{display:none}.project-archive-layout{padding-top:28px}.archive-company-heading h2{font-size:26px}.archive-project-card{padding:24px}.archive-project-card h3{font-size:22px}.archive-company+.archive-company{margin-top:40px}.reading-library .reading-feature{grid-template-columns:1fr;padding:30px 0}.reading-library .reading-feature h2{font-size:25px}.reading-library .reading-feature .reading-copy{padding-top:0}}@media (max-width:480px){.books-section .book-card{grid-template-columns:1fr;gap:22px;padding:24px}.books-section .book-cover-link{width:140px;max-width:100%}.books-section .book-copy :is(h2,h3){font-size:24px}.books-section .book-description{font-size:16px}.books-section .book-read{min-height:44px;font-size:14px}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
