@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: rotateX(0);--tw-rotate-y: rotateY(0);--tw-rotate-z: rotateZ(0);--tw-skew-x: skewX(0);--tw-skew-y: skewY(0);--tw-space-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-50: oklch(.97 .014 254.604);--color-blue-200: oklch(.882 .059 254.128);--color-blue-300: oklch(.809 .105 251.813);--color-blue-400: oklch(.707 .165 254.624);--color-blue-500: oklch(.623 .214 259.815);--color-blue-600: oklch(.546 .245 262.881);--color-blue-700: oklch(.488 .243 264.376);--color-blue-800: oklch(.424 .199 265.638);--color-blue-950: oklch(.282 .091 267.935);--color-gray-50: oklch(.985 .002 247.839);--color-gray-100: oklch(.967 .003 264.542);--color-gray-200: oklch(.928 .006 264.531);--color-gray-300: oklch(.872 .01 258.338);--color-gray-400: oklch(.707 .022 261.325);--color-gray-500: oklch(.551 .027 264.364);--color-gray-600: oklch(.446 .03 256.802);--color-gray-700: oklch(.373 .034 259.733);--color-gray-800: oklch(.278 .033 256.848);--color-gray-900: oklch(.21 .034 264.665);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-md: 28rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-6xl: 72rem;--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--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-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-3xl: 1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl: 2.25rem;--text-4xl--line-height: calc(2.5 / 2.25);--text-5xl: 3rem;--text-5xl--line-height: 1;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--tracking-tight: -.025em;--leading-relaxed: 1.625;--blur-xl: 24px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-font-feature-settings: var(--font-sans--font-feature-settings);--default-font-variation-settings: var(--font-sans--font-variation-settings);--default-mono-font-family: var(--font-mono);--default-mono-font-feature-settings: var(--font-mono--font-feature-settings);--default-mono-font-variation-settings: var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;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}:-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}body{background-color:var(--background);color:var(--foreground)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color: color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}@layer utilities{.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.left-0{left:calc(var(--spacing) * 0)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[4\/3\]{aspect-ratio:4 / 3}.h-0\.5{height:calc(var(--spacing) * .5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.min-w-\[40px\]{min-width:40px}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y)}.cursor-default{cursor:default}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * 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)))}.overflow-hidden{overflow:hidden}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.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-blue-200\/20{border-color:color-mix(in srgb,oklch(.882 .059 254.128) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-blue-200\/20{border-color:color-mix(in oklab,var(--color-blue-200) 20%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/50{border-color:color-mix(in srgb,oklch(.928 .006 264.531) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-gray-200\/50{border-color:color-mix(in oklab,var(--color-gray-200) 50%,transparent)}}.border-transparent{border-color:#0000}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color: color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color: color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-gray-300{--tw-gradient-via: var(--color-gray-300);--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.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)}.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-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading, var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--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))}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.transition-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))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.group-hover\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.hover\:border-gray-200:hover{border-color:var(--color-gray-200)}}@media(hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\:text-blue-600:hover{color:var(--color-blue-600)}}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}@media(hover:hover){.hover\:opacity-60:hover{opacity:.6}}@media(hover:hover){.hover\:opacity-90:hover{opacity:.9}}@media(hover:hover){.hover\:shadow-\[0_0_40px_rgba\(59\,130\,246\,0\.6\)\]:hover{--tw-shadow: 0 0 40px var(--tw-shadow-color, #3b82f699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(width>=48rem){.md\:inset-x-8{inset-inline:calc(var(--spacing) * 8)}}@media(width>=48rem){.md\:mt-0{margin-top:calc(var(--spacing) * 0)}}@media(width>=48rem){.md\:mt-16{margin-top:calc(var(--spacing) * 16)}}@media(width>=48rem){.md\:mt-24{margin-top:calc(var(--spacing) * 24)}}@media(width>=48rem){.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}}@media(width>=48rem){.md\:mb-12{margin-bottom:calc(var(--spacing) * 12)}}@media(width>=48rem){.md\:mb-16{margin-bottom:calc(var(--spacing) * 16)}}@media(width>=48rem){.md\:flex{display:flex}}@media(width>=48rem){.md\:hidden{display:none}}@media(width>=48rem){.md\:aspect-\[16\/9\]{aspect-ratio:16 / 9}}@media(width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width>=48rem){.md\:flex-row{flex-direction:row}}@media(width>=48rem){.md\:items-baseline{align-items:baseline}}@media(width>=48rem){.md\:items-start{align-items:flex-start}}@media(width>=48rem){.md\:justify-between{justify-content:space-between}}@media(width>=48rem){.md\:gap-4{gap:calc(var(--spacing) * 4)}}@media(width>=48rem){.md\:gap-8{gap:calc(var(--spacing) * 8)}}@media(width>=48rem){:where(.md\:space-y-12>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}}@media(width>=48rem){.md\:p-3{padding:calc(var(--spacing) * 3)}}@media(width>=48rem){.md\:p-8{padding:calc(var(--spacing) * 8)}}@media(width>=48rem){.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media(width>=48rem){.md\:py-5{padding-block:calc(var(--spacing) * 5)}}@media(width>=48rem){.md\:py-24{padding-block:calc(var(--spacing) * 24)}}@media(width>=48rem){.md\:pt-8{padding-top:calc(var(--spacing) * 8)}}@media(width>=48rem){.md\:pt-12{padding-top:calc(var(--spacing) * 12)}}@media(width>=48rem){.md\:pt-32{padding-top:calc(var(--spacing) * 32)}}@media(width>=48rem){.md\:pb-24{padding-bottom:calc(var(--spacing) * 24)}}@media(width>=48rem){.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}}@media(width>=48rem){.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height))}}@media(width>=48rem){.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading, var(--text-4xl--line-height))}}@media(width>=48rem){.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading, var(--text-5xl--line-height))}}@media(width>=48rem){.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}}@media(width>=48rem){.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}}@media(width>=48rem){.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}}@media(width>=64rem){.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading, var(--text-5xl--line-height))}}.dark\:border-blue-800\/20:is(.dark *){border-color:color-mix(in srgb,oklch(.424 .199 265.638) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:border-blue-800\/20:is(.dark *){border-color:color-mix(in oklab,var(--color-blue-800) 20%,transparent)}}.dark\:border-gray-800:is(.dark *){border-color:var(--color-gray-800)}.dark\:border-gray-800\/50:is(.dark *){border-color:color-mix(in srgb,oklch(.278 .033 256.848) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:border-gray-800\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}.dark\:bg-black:is(.dark *){background-color:var(--color-black)}.dark\:bg-black\/80:is(.dark *){background-color:#000c}@supports (color: color-mix(in lab,red,red)){.dark\:bg-black\/80:is(.dark *){background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.dark\:bg-black\/95:is(.dark *){background-color:#000000f2}@supports (color: color-mix(in lab,red,red)){.dark\:bg-black\/95:is(.dark *){background-color:color-mix(in oklab,var(--color-black) 95%,transparent)}}.dark\:bg-blue-400:is(.dark *){background-color:var(--color-blue-400)}.dark\:bg-blue-500:is(.dark *){background-color:var(--color-blue-500)}.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in srgb,oklch(.282 .091 267.935) 20%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950) 20%,transparent)}}.dark\:bg-blue-950\/30:is(.dark *){background-color:color-mix(in srgb,oklch(.282 .091 267.935) 30%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:bg-blue-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950) 30%,transparent)}}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:via-gray-700:is(.dark *){--tw-gradient-via: var(--color-gray-700);--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-via-stops)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-gray-100:is(.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-gray-500:is(.dark *){color:var(--color-gray-500)}.dark\:text-white:is(.dark *){color:var(--color-white)}.dark\:shadow-\[0_0_30px_rgba\(59\,130\,246\,0\.5\)\]:is(.dark *){--tw-shadow: 0 0 30px var(--tw-shadow-color, #3b82f680);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:group-hover\:text-blue-400:is(.dark *):is(:where(.group):hover *){color:var(--color-blue-400)}}@media(hover:hover){.dark\:hover\:border-gray-800:is(.dark *):hover{border-color:var(--color-gray-800)}}@media(hover:hover){.dark\:hover\:bg-gray-800:is(.dark *):hover{background-color:var(--color-gray-800)}}@media(hover:hover){.dark\:hover\:bg-gray-900:is(.dark *):hover{background-color:var(--color-gray-900)}}@media(hover:hover){.dark\:hover\:bg-gray-900\/50:is(.dark *):hover{background-color:color-mix(in srgb,oklch(.21 .034 264.665) 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:hover\:bg-gray-900\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-900) 50%,transparent)}}}@media(hover:hover){.dark\:hover\:text-blue-400:is(.dark *):hover{color:var(--color-blue-400)}}@media(hover:hover){.dark\:hover\:shadow-\[0_0_20px_rgba\(59\,130\,246\,0\.3\)\]:is(.dark *):hover{--tw-shadow: 0 0 20px var(--tw-shadow-color, #3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(hover:hover){.dark\:hover\:shadow-\[0_0_20px_rgba\(59\,130\,246\,0\.4\)\]:is(.dark *):hover{--tw-shadow: 0 0 20px var(--tw-shadow-color, #3b82f666);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.glow-text{text-shadow:0 0 20px var(--glow-primary),0 0 40px var(--glow-primary)}.glow-border{box-shadow:0 0 20px var(--glow-primary)}.glow-subtle{box-shadow:0 0 30px -10px var(--glow-primary)}.glow-hover{transition:box-shadow .3s}.glow-hover:hover{box-shadow:0 0 30px var(--glow-primary),0 0 60px var(--glow-secondary)}}:root{--font-size: 16px;--background: #fff;--foreground: oklch(.145 0 0);--card: #fff;--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: #030213;--primary-foreground: oklch(1 0 0);--secondary: oklch(.95 .0058 264.53);--secondary-foreground: #030213;--muted: #ececf0;--muted-foreground: #717182;--accent: #e9ebef;--accent-foreground: #030213;--destructive: #d4183d;--destructive-foreground: #fff;--border: #0000001a;--input: transparent;--input-background: #f3f3f5;--switch-background: #cbced4;--font-weight-medium: 500;--font-weight-normal: 400;--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: #030213;--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0);--glow-primary: #3b82f61a;--glow-secondary: #9333ea0d}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.145 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(.269 0 0);--input: oklch(.269 0 0);--ring: oklch(.439 0 0);--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.269 0 0);--sidebar-ring: oklch(.439 0 0);--glow-primary: #3b82f64d;--glow-secondary: #9333ea26}html{font-size:var(--font-size)}@property --tw-rotate-x{syntax: "*"; inherits: false; initial-value: rotateX(0);}@property --tw-rotate-y{syntax: "*"; inherits: false; initial-value: rotateY(0);}@property --tw-rotate-z{syntax: "*"; inherits: false; initial-value: rotateZ(0);}@property --tw-skew-x{syntax: "*"; inherits: false; initial-value: skewX(0);}@property --tw-skew-y{syntax: "*"; inherits: false; initial-value: skewY(0);}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false}@property --tw-gradient-via-stops{syntax: "*"; inherits: false}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false}@property --tw-font-weight{syntax: "*"; inherits: false}@property --tw-tracking{syntax: "*"; inherits: false}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-backdrop-blur{syntax: "*"; inherits: false}@property --tw-backdrop-brightness{syntax: "*"; inherits: false}@property --tw-backdrop-contrast{syntax: "*"; inherits: false}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false}@property --tw-backdrop-invert{syntax: "*"; inherits: false}@property --tw-backdrop-opacity{syntax: "*"; inherits: false}@property --tw-backdrop-saturate{syntax: "*"; inherits: false}@property --tw-backdrop-sepia{syntax: "*"; inherits: false}@property --tw-duration{syntax: "*"; inherits: false}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-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;}html{scroll-behavior:smooth}.markdown-content{line-height:1.8}.markdown-content table{border-collapse:separate;border-spacing:0;margin:2rem 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{scroll-margin-top:6rem}.markdown-content pre{position:relative;overflow-x:auto;font-size:.875rem;line-height:1.5}.markdown-content img{max-width:100%;height:auto}.markdown-content a:hover{text-decoration-thickness:2px}.markdown-content a:focus{outline:2px solid rgb(59 130 246);outline-offset:2px;border-radius:.25rem}@media print{.markdown-content{color:#000!important}.markdown-content a{color:#000!important;text-decoration:underline!important}}.markdown-content img{border-radius:16px;box-shadow:0 10px 25px #0000001a;margin:2rem auto;display:block}.markdown-content table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #00000012}.markdown-content th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.05em}.markdown-content td{border-bottom:1px solid rgba(0,0,0,.05)}.dark .markdown-content td{border-bottom:1px solid rgba(255,255,255,.1)}.markdown-content tbody tr:hover{background-color:#3b82f60d}.dark .markdown-content tbody tr:hover{background-color:#3b82f61a}.markdown-content blockquote{background:linear-gradient(135deg,#3b82f60d,#3b82f605);border-radius:12px;position:relative}.dark .markdown-content blockquote{background:linear-gradient(135deg,#3b82f61a,#3b82f60d)}.markdown-content blockquote:before{content:'"';position:absolute;top:-10px;left:10px;font-size:4rem;color:#3b82f6;opacity:.3;font-family:serif}.markdown-content pre{border-radius:12px;box-shadow:0 4px 6px #0000001a;border:1px solid rgba(255,255,255,.1)}.markdown-content a{background:linear-gradient(120deg,#3b82f61a 0% 100%);background-size:100% 2px;background-repeat:no-repeat;background-position:0 100%;transition:all .3s ease;padding:2px 4px;border-radius:4px}.markdown-content a:hover{background-size:100% 100%;color:#fff}.markdown-content ul li{position:relative;padding-left:1.5rem}.markdown-content ul li:before{content:"→";position:absolute;left:0;color:#3b82f6;font-weight:700}.markdown-content h2{position:relative;padding-bottom:.5rem}.markdown-content h2:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:#000;border-radius:2px}.markdown-content iframe{border-radius:16px;box-shadow:0 10px 25px #0000001a;margin:2rem auto;display:block}.markdown-content table:hover{box-shadow:0 8px 15px #0000001a;transition:box-shadow .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;letter-spacing:-.01em}code,pre{font-family:JetBrains Mono,SF Mono,Monaco,Consolas,monospace!important}h1{font-weight:700;line-height:1.1;letter-spacing:-.02em}h2{font-weight:600;line-height:1.2;letter-spacing:-.01em}h3,h4{font-weight:600;line-height:1.3}p{line-height:1.7;margin-bottom:1.5rem}.article-content{max-width:65ch;margin:0 auto}.article-header{max-width:70ch;margin:0 auto 3rem;text-align:left}.article-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem;color:#111827}.dark .article-title{color:#f3f4f6}.article-excerpt{font-size:1.25rem;line-height:1.6;color:#4b5563;margin-bottom:2rem}.dark .article-excerpt{color:#9ca3af}.article-meta{display:flex;gap:1.5rem;align-items:center;font-size:.875rem;color:#6b7280;margin-bottom:2rem}.dark .article-meta{color:#9ca3af}.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}.tag{padding:.375rem .75rem;font-size:.75rem;font-weight:500;background-color:#f3f4f6;color:#374151;border-radius:9999px;transition:all .2s ease}.dark .tag{background-color:#374151;color:#d1d5db}.tag:hover{background-color:#e5e7eb;transform:translateY(-1px)}.dark .tag:hover{background-color:#4b5563}.markdown-content{font-size:1.125rem;line-height:1.8;color:#1f2937;max-width:65ch;margin:0 auto}.dark .markdown-content{color:#e5e7eb}.markdown-content h1{font-size:2.5rem;font-weight:700;line-height:1.1;margin:3rem 0 1.5rem;color:#111827}.dark .markdown-content h1{color:#f3f4f6}.markdown-content h2{font-size:2rem;font-weight:600;line-height:1.2;margin:2.5rem 0 1rem;color:#111827;position:relative;padding-bottom:.5rem}.dark .markdown-content h2{color:#f3f4f6}.markdown-content h2:after{content:"";position:absolute;bottom:0;left:0;width:3rem;height:2px;background:#000;border-radius:1px}.markdown-content h3{font-size:1.5rem;font-weight:600;line-height:1.3;margin:2rem 0 1rem;color:#111827}.dark .markdown-content h3{color:#f3f4f6}.markdown-content p{margin-bottom:1.5rem;line-height:1.8}.markdown-content ul,.markdown-content ol{margin:1.5rem 0;padding-left:1.5rem}.markdown-content li{margin-bottom:.5rem;line-height:1.7}.markdown-content blockquote{margin:2rem 0;padding:1.5rem;background:#3b82f60d;border-left:4px solid rgb(59 130 246);border-radius:8px;font-style:italic;position:relative}.dark .markdown-content blockquote{background:#3b82f61a}.markdown-content blockquote:before{display:none}.markdown-content code{font-size:.875rem;padding:.25rem .5rem;background-color:#f3f4f6;color:#4f46e5;border-radius:4px;font-weight:500}.dark .markdown-content code{background-color:#374151;color:#a78bfa}.markdown-content img{margin:2.5rem auto;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:100%;height:auto}.markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dark .markdown-content table{background:#1f2937}.markdown-content th{background:#f9fafb;color:#111827;font-weight:600;padding:1rem;text-align:left;font-size:.875rem;text-transform:none;letter-spacing:0}.dark .markdown-content th{background:#374151;color:#f3f4f6}.markdown-content td{padding:1rem;border-top:1px solid rgb(229 231 235)}.dark .markdown-content td{border-top:1px solid rgb(75 85 99)}.youtube-video-container{margin:3rem auto;max-width:100%}.youtube-video-container .relative{border-radius:16px;overflow:hidden;box-shadow:0 10px 25px #00000026}.youtube-video-container iframe{border-radius:16px}@media(max-width:768px){.youtube-video-container{margin:2rem auto}}:root{--editorial-bg: #f9fcfc;--editorial-ink: #0b0b0b;--editorial-copy: #1a1a1a;--editorial-muted: #6b7075;--editorial-line: #d1d1cc;--editorial-blue: #1e40af}html{background:var(--editorial-bg);color-scheme:light;scroll-behavior:smooth}body{background:var(--editorial-bg);color:var(--editorial-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}.dark body,.dark html{background:#0b0b0b}.font-mono,code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tag{border:1px solid rgba(30,64,175,.12);border-radius:4px;background:#1e40af12;color:var(--editorial-blue);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:600;letter-spacing:.08em;line-height:1;padding:.35rem .5rem;text-transform:uppercase}.tag:hover{background:#1e40af1f;transform:none}.dark .tag{border-color:#7aa2ff2e;background:#7aa2ff1a;color:#9bb8ff}.article-header{border-bottom:1px solid var(--editorial-line);margin-bottom:2.75rem;padding-bottom:2.25rem}.dark .article-header{border-color:#2a2a27}.article-title{color:var(--editorial-ink);font-size:clamp(2.5rem,6vw,4.75rem);font-weight:800;letter-spacing:-.04em;line-height:.98;margin:0 0 1.25rem;max-width:11ch}.dark .article-title{color:#fff}.article-excerpt{color:var(--editorial-muted);font-size:1.125rem;line-height:1.55;margin:0 0 2rem;max-width:42rem}.article-meta{border-top:1px solid var(--editorial-line);color:var(--editorial-muted);display:flex;flex-wrap:wrap;gap:1rem 2rem;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;padding-top:1.25rem;text-transform:uppercase}.dark .article-meta{border-color:#2a2a27}.markdown-content{color:var(--editorial-copy);font-size:.96875rem;line-height:1.7;margin:0;max-width:none}.dark .markdown-content{color:#d6d8d8}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--editorial-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.02em}.dark .markdown-content h1,.dark .markdown-content h2,.dark .markdown-content h3{color:#fff}.markdown-content h2{font-size:1.375rem;font-weight:700;margin-top:3rem}.markdown-content h2:after{display:none}.markdown-content p,.markdown-content li{color:var(--editorial-copy);font-size:.96875rem;line-height:1.7}.dark .markdown-content p,.dark .markdown-content li{color:#d6d8d8}.markdown-content img{box-shadow:none}.markdown-content blockquote{border-radius:0;font-style:normal}.markdown-content table{border-radius:0;box-shadow:none}.editorial-code,.markdown-content pre{background:#111!important;border-radius:8px!important;color:#f3f4f4!important;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.8125rem!important}@media(max-width:768px){.article-title{max-width:none}.article-meta{gap:.75rem 1.25rem}}.fd-site-header{position:fixed;inset:0 0 auto;z-index:50;height:65px;border-bottom:1px solid #d1d1cc;background:#f9fcfcf5}.fd-site-header__inner{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:min(1040px,100%);height:64px;margin-inline:auto;padding-inline:40px;padding-block:0}.fd-site-header__brand{display:inline-flex;align-items:center;gap:12px;color:#0b0b0b}.fd-site-header__brand>span{font-size:18px;font-weight:800;line-height:1;letter-spacing:-.04em}.fd-site-header__brand>i{width:1px;height:16px;background:#d1d1cc}.fd-site-header__brand>small{font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.fd-site-header__nav{display:flex;align-items:center;gap:16px}.fd-site-header__nav a{padding:8px 12px;color:#6b6f76;font:400 12px/1 IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.fd-site-header__nav a:hover,.fd-site-header__nav a.is-active{color:#0b0b0b;font-weight:600}.fd-site-header__mobile{display:none}.fd-site-header__toggle{display:grid;width:40px;height:40px;place-items:center;border:0;background:transparent;color:#0b0b0b}.fd-site-header__mobile-menu{display:none}.fd-app-main{min-height:calc(100vh - 65px)}@media(max-width:767px){.fd-site-header{height:51px}.fd-site-header__inner{height:50px;padding-inline:16px}.fd-site-header__brand{gap:8px}.fd-site-header__brand>span{font-size:17px}.fd-site-header__brand>i{height:12px}.fd-site-header__brand>small{font-size:11px;letter-spacing:.08em}.fd-site-header__nav{display:none}.fd-site-header__mobile{display:block}.fd-site-header__toggle{display:inline-flex;align-items:center;width:34px;height:34px;padding:0;color:#0b0b0b}.fd-site-header__toggle svg{width:18px;height:18px;stroke-width:1.75}.fd-site-header__mobile-menu{display:block;border-top:1px solid #d1d1cc;background:#f9fcfc}.fd-site-header__mobile-menu>div{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding:16px}.fd-site-header__mobile-menu a{padding:8px 0;color:#6b6f76;font:400 12px/1 IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.fd-site-header__mobile-menu a.is-active{color:#0b0b0b;font-weight:600}.fd-app-main{min-height:calc(100vh - 51px)}}.fd-home{background:#f9fcfc;color:#0b0b0b}.fd-home__hero,.fd-home__section-inner,.fd-home__projects{box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding-inline:40px}.fd-home__hero{padding-top:152px;padding-bottom:80px}.fd-home__hero-copy{max-width:820px}.fd-home__hero h1{margin-top:20px;font-size:64px;font-weight:800;line-height:1.1;letter-spacing:-.04em}.fd-home__hero-copy>p:last-child{max-width:720px}.fd-home__pattern{width:min(596px,100%);margin-top:48px;padding-block:16px}.fd-home__pattern>div{margin-top:12px;border-top:2px dotted #d1d1cc}.fd-home__articles{border-block:1px solid #d1d1cc}.fd-home__section-inner{padding-block:64px}.fd-home__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.fd-home__section-heading h2,.fd-home__projects>h2{font-size:24px;line-height:1}.fd-home__article-grid,.fd-home__project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.fd-home__article-card img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.fd-home__article-card h3{font-size:18px}.fd-home__manifest{box-sizing:border-box;border-bottom:1px solid #d1d1cc;background:#fff;padding:112px 40px;text-align:center}.fd-home__manifest>div{max-width:820px;margin-inline:auto}.fd-home__manifest blockquote{font-size:32px}.fd-home__projects{padding-top:64px;padding-bottom:64px}.fd-home__project-card{display:block;box-sizing:border-box;padding:24px;border:1px solid #d1d1cc;border-radius:8px;background:#fff}.fd-home__project-card>img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.fd-home__project-card h3{font-size:20px}@media(max-width:767px){header>div:first-child,.fd-home__hero,.fd-home__section-inner,.fd-home__projects{padding-inline:20px}.fd-home__hero{padding-top:112px;padding-bottom:56px}.fd-home__hero h1{font-size:42px}.fd-home__article-grid,.fd-home__project-grid{grid-template-columns:1fr;gap:32px}.fd-home__section-inner{padding-block:48px}.fd-home__manifest{padding:72px 20px}.fd-home__manifest blockquote{font-size:25px}.fd-home__section-heading h2,.fd-home__projects>h2{font-size:20px}}.fd-footer{border-top:1px solid #d1d1cc;background:#0a0a0a;color:#fff}.fd-footer__inner{box-sizing:border-box;width:min(1040px,100%);min-height:340px;margin-inline:auto;padding:64px 40px 48px}.fd-footer__top{display:flex;align-items:flex-start;justify-content:space-between}.fd-footer__brand{width:320px}.fd-footer__brand>p:first-child{font-size:18px;font-weight:800;line-height:1;letter-spacing:-.04em}.fd-footer__brand>p:last-child{margin-top:12px;font-size:13px;line-height:1.5}.fd-footer__articles{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:260px;font-size:13px;line-height:1.35}.fd-footer__articles>p{font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase}.fd-footer__articles a{color:inherit}.fd-footer__articles a:hover,.fd-footer__bottom a:hover{color:#aebeff}.fd-footer__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:40px;padding-top:16px;font-size:13px}.fd-footer__bottom nav{display:flex;gap:24px;font:400 11px/1 IBM Plex Mono,monospace;text-transform:uppercase}@media(max-width:767px){.fd-footer__inner{min-height:0;padding:48px 16px 32px}.fd-footer__top{align-items:flex-start;flex-direction:column;gap:28px}.fd-footer__brand,.fd-footer__articles{width:100%}.fd-footer__brand>p:first-child{font-size:24px}.fd-footer__brand>p:last-child{max-width:358px;margin-top:10px;font-size:14px;line-height:1.45}.fd-footer__articles{gap:10px}.fd-footer__bottom{align-items:flex-start;flex-direction:column;gap:20px;margin-top:32px;padding-top:32px;border-top:1px solid rgba(255,255,255,.18)}.fd-footer__bottom nav{gap:20px}}.fd-about{padding-top:65px;color:#0b0b0b;background:#f9fcfc}.fd-about__inner,.fd-about__hero>div{box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding-inline:40px}.fd-about__hero{padding-block:96px 80px}.fd-about__hero p,.fd-about__heading>p{margin:0;color:#1e40af;font:600 13px/1.2 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.fd-about__hero h1{margin:24px 0 0;font-size:64px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.fd-about__section{border-top:1px solid #d1d1cc}.fd-about__section>.fd-about__inner,.fd-about__story{padding-block:80px}.fd-about__heading{display:flex;align-items:baseline;gap:12px}.fd-about__heading h2{margin:0;font-size:24px;font-weight:800;line-height:1;letter-spacing:-.01em;text-transform:uppercase}.fd-about__story{display:grid;grid-template-columns:minmax(0,1fr) 401px;gap:80px;align-items:center}.fd-about__story-copy{margin-top:32px}.fd-about__story h3{margin:0 0 20px;font-size:16px;font-weight:700;line-height:1.7}.fd-about__story-copy p{margin-top:20px;font-size:14px;line-height:1.7}.fd-about__story img{display:block;width:100%;height:301px;border-radius:12px;object-fit:cover}.fd-about__values .fd-about__inner{padding-block:80px}.fd-about__values .fd-about__inner>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.fd-about__values article{min-height:208px;box-sizing:border-box;padding:32px;border:1px solid #d1d1cc;border-radius:8px}.fd-about__values article>p:first-child{margin:0;color:#1e40af;font:600 12px/1.2 IBM Plex Mono,monospace;white-space:nowrap}.fd-about__values h3{margin:20px 0 12px;font-size:20px;font-weight:700;line-height:1.1}.fd-about__values article>p:last-child{color:#6b6f76;font-size:14px;line-height:1.6}.fd-about__career .fd-about__inner{padding-block:80px}.fd-about__career ul{display:grid;gap:20px;margin-top:40px;font-size:14px;line-height:1.7}.fd-about__team .fd-about__inner{padding-block:80px}.fd-about__profile{display:flex;align-items:center;gap:48px;min-height:304px;box-sizing:border-box;margin-top:40px;padding:32px;border:1px solid #d1d1cc;border-radius:12px}.fd-about__portrait{display:block;width:240px;height:240px;flex:0 0 240px;border-radius:50%;object-fit:cover}.fd-about__profile h3{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em}.fd-about__role{margin-top:4px;color:#1e40af;font:600 14px/1.2 IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.fd-about__profile nav{display:flex;gap:24px;margin-top:20px;font:600 13px/1 IBM Plex Mono,monospace}.fd-about__profile nav a{display:inline-flex;align-items:center;gap:4px}.fd-about__profile nav a:hover{color:#1e40af}@media(max-width:767px){.fd-about__inner,.fd-about__hero>div{padding-inline:16px}.fd-about{padding-top:51px}.fd-about__hero{padding-block:40px 32px}.fd-about__hero p,.fd-about__heading>p{font-size:11px;letter-spacing:.08em}.fd-about__hero h1{margin-top:12px;font-size:42px;line-height:1.05}.fd-about__section>.fd-about__inner,.fd-about__story,.fd-about__values .fd-about__inner,.fd-about__career .fd-about__inner,.fd-about__team .fd-about__inner{padding-block:32px 40px}.fd-about__heading h2{font-size:22px;line-height:1}.fd-about__story{grid-template-columns:1fr;gap:24px}.fd-about__story-copy{margin-top:24px}.fd-about__story h3{margin-bottom:14px;font-size:21px;line-height:1.2}.fd-about__story-copy p{margin-top:14px;font-size:14px;line-height:1.55}.fd-about__story img{height:auto;aspect-ratio:358 / 246;border-radius:8px}.fd-about__values .fd-about__inner>div:last-child{grid-template-columns:1fr;gap:12px;margin-top:24px}.fd-about__values article{min-height:127px;padding:16px;border-radius:8px}.fd-about__values article>p:first-child{font-size:10px}.fd-about__values h3{margin:10px 0 8px;font-size:17px}.fd-about__values article>p:last-child{font-size:13px;line-height:1.45}.fd-about__career ul{gap:16px;margin-top:24px;font-size:14px;line-height:1.45}.fd-about__career li{padding-bottom:16px;border-bottom:1px solid #d1d1cc}.fd-about__career li:last-child{padding-bottom:0;border-bottom:0}.fd-about__profile{align-items:center;flex-direction:column;gap:20px;min-height:252px;margin-top:24px;padding:16px;border-radius:8px;text-align:center}.fd-about__portrait{width:120px;height:120px;flex-basis:120px}.fd-about__profile h3{font-size:23px}.fd-about__role{font-size:12px}.fd-about__profile nav{justify-content:center;margin-top:16px;font-size:13px}}.fd-home-v2{padding-top:65px;background:#f9fcfc;color:#0b0b0b}.fd-home-v2__hero{background:#f9fcfc url(/assets/home-grid.png) repeat;background-size:20px 20px}.fd-home-v2__hero>div,.fd-home-v2__inner{box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding-inline:40px}.fd-home-v2__hero>div{padding-top:96px;padding-bottom:80px}.fd-home-v2__kicker{color:#1e40af;font:600 13px/1.2 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.fd-home-v2__hero h1{max-width:880px;margin-top:20px;font-size:64px;font-weight:800;line-height:1.1;letter-spacing:-.04em}.fd-home-v2__lead{max-width:720px;margin-top:24px;color:#6b7075;font-size:20px;line-height:1.6}.fd-home-v2__pattern{width:min(596px,100%);margin-top:42px;padding-block:16px}.fd-home-v2__pattern i{display:block;height:2px;margin-top:12px;border-top:2px dotted #d1d1cc}.fd-home-v2__articles{border-block:1px solid #d1d1cc}.fd-home-v2__inner{padding-block:80px}.fd-home-v2__heading{position:static;display:flex;align-items:baseline;justify-content:space-between;gap:24px;height:auto;border:0;background:transparent}.fd-home-v2__heading h2{display:flex;gap:12px;margin:0;font-size:24px;font-weight:800;line-height:1;letter-spacing:-.02em;text-transform:uppercase}.fd-home-v2__heading h2 span{color:#6b7075;font:600 14px/1 IBM Plex Mono,monospace}.fd-home-v2__heading>a{color:#1e40af;font:400 12px/1 IBM Plex Mono,monospace}.fd-home-v2__article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.fd-home-v2__article-grid article a{display:block}.fd-home-v2__article-grid img{display:block;width:100%;aspect-ratio:16 / 10;border-radius:8px;object-fit:cover;filter:grayscale(1);transition:filter .2s}.fd-home-v2__article-grid article:hover img{filter:grayscale(0)}.fd-home-v2__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.fd-home-v2__meta span{border:1px solid rgba(30,64,175,.25);border-radius:4px;background:#1e40af12;padding:4px 7px;color:#1e40af;font:600 10px/1 IBM Plex Mono,monospace;text-transform:uppercase}.fd-home-v2__meta time{color:#6b7075;font:400 10px/1 IBM Plex Mono,monospace}.fd-home-v2__article-grid h3{margin-top:14px;font-size:18px;font-weight:700;line-height:1.3}.fd-home-v2__article-grid article:hover h3{color:#1e40af}.fd-home-v2__article-grid article p{display:-webkit-box;overflow:hidden;margin-top:8px;color:#6b7075;font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fd-home-v2__article-grid b{display:block;margin-top:16px;font:600 11px/1 IBM Plex Mono,monospace}.fd-home-v2__projects{background:#f9fcfc url(/assets/projects-grid.png) repeat;background-size:112px 112px;border-top:1px solid #d1d1cc}.fd-home-v2__projects .fd-home-v2__inner{padding-top:80px;padding-bottom:80px}.fd-home-v2__project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.fd-home-v2__project-card{display:block;box-sizing:border-box;padding:24px;border:1px solid #d1d1cc;border-radius:8px;background:#fff}.fd-home-v2__project-card:hover{border-color:#1e40af}.fd-home-v2__project-card>img{display:block;width:100%;aspect-ratio:16 / 10;border-radius:6px;object-fit:cover;filter:grayscale(1);transition:filter .2s}.fd-home-v2__project-card:hover>img{filter:grayscale(0)}.fd-home-v2__project-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:20px}.fd-home-v2__project-card h3{font-size:20px;font-weight:700;line-height:1.25}.fd-home-v2__project-card>p{display:-webkit-box;overflow:hidden;margin-top:12px;color:#1a1a1a;font-size:14px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fd-home-v2__project-card aside{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.fd-home-v2__project-card aside span{border:1px solid #d1d1cc;padding:4px 6px;font:600 10px/1 IBM Plex Mono,monospace;text-transform:uppercase}@media(max-width:767px){.fd-home-v2__hero>div,.fd-home-v2__inner{padding-inline:16px}.fd-home-v2{padding-top:51px}.fd-home-v2__hero{background-image:none}.fd-home-v2__hero>div{padding-top:40px;padding-bottom:40px}.fd-home-v2__kicker{font-size:11px;letter-spacing:.08em}.fd-home-v2__hero h1{margin-top:22px;font-size:clamp(56px,16.6vw,65px);line-height:.98;letter-spacing:-.045em}.fd-home-v2__lead{margin-top:24px;font-size:18px;line-height:1.55}.fd-home-v2__inner{padding-block:32px 40px}.fd-home-v2__heading{gap:14px}.fd-home-v2__heading h2{gap:8px;font-size:22px;line-height:1}.fd-home-v2__heading h2 span{font-size:12px}.fd-home-v2__heading>a{flex:0 0 auto;font-size:11px}.fd-home-v2__article-grid,.fd-home-v2__project-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.fd-home-v2__article-grid article a,.fd-home-v2__project-card{box-sizing:border-box;padding:16px;border:1px solid #d1d1cc;border-radius:8px;background:#fff}.fd-home-v2__article-grid img,.fd-home-v2__project-card>img{aspect-ratio:326 / 204;border-radius:6px}.fd-home-v2__meta{margin-top:14px}.fd-home-v2__meta span{padding:4px 6px;font-size:10px}.fd-home-v2__meta time{font-size:10px}.fd-home-v2__article-grid h3{margin-top:8px;font-size:19px;line-height:1.22}.fd-home-v2__article-grid article p{margin-top:8px;font-size:13px;line-height:1.45}.fd-home-v2__article-grid b{margin-top:14px}.fd-home-v2__projects{background-image:none}.fd-home-v2__projects .fd-home-v2__inner{padding-top:40px;padding-bottom:48px}.fd-home-v2__project-card{padding:16px}.fd-home-v2__project-card>div{margin-top:16px}.fd-home-v2__project-card h3{font-size:19px;line-height:1.2}.fd-home-v2__project-card>p{margin-top:10px;font-size:13px;line-height:1.45}.fd-home-v2__project-card aside{margin-top:12px}}.fd-articles-v2{padding-top:65px;background:#f9fcfc;color:#0b0b0b}.fd-articles-v2__inner{box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding-inline:40px}.fd-articles-v2__featured .fd-articles-v2__inner{padding-top:48px;padding-bottom:80px}.fd-articles-v2__heading{display:flex;align-items:baseline;gap:12px}.fd-articles-v2__heading>p{color:#6b6f76;font:600 14px/1 IBM Plex Mono,monospace}.fd-articles-v2__heading h1,.fd-articles-v2__heading h2{margin:0;font-size:24px;font-weight:800;line-height:1;letter-spacing:-.01em;text-transform:uppercase}.fd-articles-v2__featured-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:48px;align-items:center;box-sizing:border-box;min-height:439px;margin-top:40px;padding:32px;border:1px solid #d1d1cc;border-radius:12px;background:#fff}.fd-articles-v2__featured-card>img{display:block;width:100%;height:375px;border-radius:8px;object-fit:cover}.fd-articles-v2__featured-card>div{display:flex;flex-direction:column;align-items:flex-start}.fd-articles-v2__featured-card header,.fd-articles-v2__card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.fd-articles-v2__featured-card span,.fd-articles-v2__card-meta span{display:inline-block;border:1px solid #1e40af;border-radius:4px;background:#1e40af12;padding:4px 8px;color:#1e40af;font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.fd-articles-v2 time{color:#6b6f76;font:400 11px/1.2 IBM Plex Mono,monospace}.fd-articles-v2__featured-card h2{margin-top:24px;font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-.02em}.fd-articles-v2__featured-card>div>p{margin-top:12px;color:#6b6f76;font-size:15px;line-height:1.6}.fd-articles-v2 b{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font:600 12px/1 IBM Plex Mono,monospace}.fd-articles-v2 b svg{color:#1e40af}.fd-articles-v2__all .fd-articles-v2__inner{padding-bottom:80px}.fd-articles-v2__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.fd-articles-v2__grid article{min-width:0}.fd-articles-v2__grid article>a{display:flex;flex-direction:column;align-items:flex-start;height:100%;box-sizing:border-box;padding:20px;border:1px solid #d1d1cc;border-radius:12px;background:#fff}.fd-articles-v2__grid article>a:hover{border-color:#1e40af}.fd-articles-v2__grid img{display:block;width:100%;aspect-ratio:16 / 10;border-radius:8px;object-fit:cover}.fd-articles-v2__card-meta{margin-top:20px}.fd-articles-v2__card-meta span{font-size:9px}.fd-articles-v2__card-meta time{font-size:10px;white-space:nowrap}.fd-articles-v2__grid h3{margin-top:16px;font-size:18px;font-weight:700;line-height:1.3}.fd-articles-v2__grid article>a:hover h3{color:#1e40af}.fd-articles-v2__grid article>a>p{display:-webkit-box;overflow:hidden;margin-top:8px;color:#6b6f76;font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fd-articles-v2__grid b{margin-top:auto;padding-top:20px;font-size:11px}.fd-articles-v2__empty{padding:72px 0;color:#6b6f76;text-align:center}@media(max-width:767px){.fd-articles-v2{padding-top:51px}.fd-articles-v2__inner{padding-inline:16px}.fd-articles-v2__featured .fd-articles-v2__inner{padding-top:24px;padding-bottom:40px}.fd-articles-v2__heading{gap:8px}.fd-articles-v2__heading>p{font-size:12px}.fd-articles-v2__heading h1,.fd-articles-v2__heading h2{font-size:22px;line-height:1}.fd-articles-v2__featured-card{grid-template-columns:1fr;gap:16px;min-height:0;margin-top:20px;padding:16px;border-radius:8px}.fd-articles-v2__featured-card>img{height:auto;aspect-ratio:326 / 204;border-radius:6px}.fd-articles-v2__featured-card header,.fd-articles-v2__card-meta{align-items:center;gap:8px}.fd-articles-v2__featured-card span,.fd-articles-v2__card-meta span{padding:4px 6px;font-size:9px;letter-spacing:0}.fd-articles-v2 time{font-size:10px}.fd-articles-v2__featured-card h2{margin-top:12px;font-size:26px;line-height:1.18}.fd-articles-v2__featured-card>div>p{margin-top:10px;font-size:14px;line-height:1.45}.fd-articles-v2 b{margin-top:14px;font-size:11px}.fd-articles-v2__all .fd-articles-v2__inner{padding-top:24px;padding-bottom:40px}.fd-articles-v2__grid{grid-template-columns:1fr;gap:16px;margin-top:20px}.fd-articles-v2__grid article>a{min-height:0;padding:16px;border-radius:8px}.fd-articles-v2__grid img{aspect-ratio:326 / 204;border-radius:6px}.fd-articles-v2__card-meta{margin-top:14px}.fd-articles-v2__card-meta time{font-size:10px}.fd-articles-v2__grid h3{margin-top:8px;font-size:19px;line-height:1.22}.fd-articles-v2__grid article>a>p{margin-top:8px;font-size:13px;line-height:1.45}.fd-articles-v2__grid b{padding-top:14px}}.fd-article-v2{padding-top:105px;background:#f9fcfc;color:#0b0b0b}.fd-article-v2__hero,.fd-article-v2__layout{box-sizing:border-box;width:min(1040px,100%);margin-inline:auto;padding-inline:40px}.fd-article-v2__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:480px}.fd-article-v2__header{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:32px}.fd-article-v2__tag{display:inline-block;border-radius:4px;background:#1e40af12;padding:5px 8px;color:#1e40af;font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.fd-article-v2__header h1{margin-top:32px;font-size:48px;font-weight:800;line-height:1.15;letter-spacing:-.02em}.fd-article-v2__excerpt{margin-top:18px;color:#6b7075;font-size:18px;line-height:1.5}.fd-article-v2__meta{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 40px;margin-top:32px;padding-top:18px;border-top:1px solid #d1d1cc}.fd-article-v2__meta>div{display:flex;flex-direction:column;gap:3px}.fd-article-v2__meta small{color:#6b7075;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.fd-article-v2__meta time,.fd-article-v2__meta>div>p{font:400 12px/1.3 IBM Plex Mono,monospace}.fd-article-v2__author{flex-direction:row!important;align-items:center;gap:10px}.fd-article-v2__author>img{display:block;width:40px;height:40px;border-radius:50%;object-fit:cover}.fd-article-v2__author>div{display:flex;flex-direction:column;gap:2px}.fd-article-v2__author b{font-size:13px}.fd-article-v2__author small{font-size:10px;letter-spacing:0;text-transform:none}.fd-article-v2__hero-image{position:relative;height:480px;background:#111}.fd-article-v2__hero-image:after{position:absolute;inset:0;background:#1a1a1a38;content:"";pointer-events:none}.fd-article-v2__hero-image img{display:block;width:100%;height:100%;object-fit:cover}.fd-article-v2__layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;padding-top:64px;padding-bottom:80px}.fd-article-v2__body .markdown-content{font-size:15px}.fd-article-v2__body .markdown-content>.prose{max-width:none}.fd-article-v2__body,.fd-article-v2__body .markdown-content,.fd-article-v2__body .markdown-content>.prose{min-width:0}.fd-article-v2__body .markdown-content h2{margin-top:48px;font-size:22px;font-weight:700;line-height:1.2}.fd-article-v2__body .markdown-content h2{scroll-margin-top:96px}.fd-article-v2__body .markdown-content p{margin-top:18px;color:#1a1a1a;font-size:15px;line-height:1.6}.fd-article-v2__body .markdown-content img{border:0;border-radius:8px}.fd-article-v2__body .markdown-content blockquote{background:#f2f2ed}.fd-article-v2__body .editorial-code,.fd-article-v2__body .editorial-code code{background:#111!important}.fd-article-v2__body .editorial-code{margin:0!important;padding:20px!important;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.5}.fd-article-v2__body .editorial-code span{background:transparent!important}.fd-article-v2__body .overflow-x-auto,.fd-article-v2__body .fd-code-block{display:block;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.fd-article-v2__body table{width:max-content;min-width:100%;max-width:none}.fd-code-block{position:relative;margin-block:24px}.fd-code-copy{position:absolute;z-index:2;top:12px;right:12px}.fd-code-copy__button{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:0 10px;background:#222;color:#fff;font:600 11px/1 IBM Plex Mono,monospace}.fd-code-copy__button:hover{background:#303030;border-color:#ffffff73}.fd-code-copy__button svg{width:14px;height:14px}.fd-article-v2__aside{display:block}.fd-article-v2__aside>div{position:sticky;top:90px}.fd-article-v2__aside-label{color:#6b7075;font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.fd-article-v2__aside ol{display:grid;gap:12px;margin-top:18px}.fd-article-v2__aside li{color:#6b7075;font-size:13px;line-height:1.25}.fd-article-v2__aside li a{display:block;color:inherit}.fd-article-v2__aside li a:hover{color:#1e40af}.fd-article-v2__aside li.is-active{border-left:3px solid #1e40af;padding-left:8px;color:#1e40af;font-weight:600}.fd-article-v2__related{margin-top:40px;padding-top:28px;border-top:1px solid #d1d1cc}.fd-article-v2__related>div{display:grid;gap:18px;margin-top:18px}.fd-article-v2__related a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px}.fd-article-v2__related img{width:80px;height:80px;border-radius:8px;object-fit:cover;filter:grayscale(1)}.fd-article-v2__related a{grid-template-columns:80px minmax(0,1fr);gap:16px}.fd-article-v2__related a:hover img{filter:grayscale(0)}.fd-article-v2__related p{display:-webkit-box;overflow:hidden;color:#0b0b0b;font-size:13px;font-weight:600;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fd-article-v2__related time{display:block;margin-top:5px;color:#6b7075;font:400 10px/1 IBM Plex Mono,monospace}.fd-article-v2__stamp{margin-top:40px;border-radius:10px;background:#f2f2ed;padding:20px}.fd-article-v2__stamp b{font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase}.fd-article-v2__stamp p{margin-top:12px;color:#6b7075;font-size:13px;line-height:1.5}@media(max-width:767px){.fd-article-v2__hero,.fd-article-v2__layout{padding-inline:16px}.fd-article-v2{padding-top:51px}.fd-article-v2__hero{display:flex;flex-direction:column;min-height:0;padding-top:24px;padding-inline:0}.fd-article-v2__header{padding:0 16px 24px}.fd-article-v2__tag{padding:5px 8px;font-size:10px;letter-spacing:.04em}.fd-article-v2__header h1{margin-top:16px;font-size:34px;line-height:1;letter-spacing:-.025em}.fd-article-v2__excerpt{margin-top:16px;font-size:16px;line-height:1.45}.fd-article-v2__meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:16px;padding-top:16px}.fd-article-v2__author{grid-column:1 / -1}.fd-article-v2__author>img{width:32px;height:32px}.fd-article-v2__hero-image{height:220px}.fd-article-v2__layout{display:block;padding-top:24px;padding-bottom:48px}.fd-article-v2__body .markdown-content h2{margin-top:32px;font-size:22px}.fd-article-v2__body .markdown-content p{margin-top:16px;font-size:16px;line-height:1.6}.fd-article-v2__body{overflow-x:hidden}.fd-article-v2__body .editorial-code{max-width:100%;padding:16px!important;font-size:12px}.fd-article-v2__body .editorial-code pre,.fd-article-v2__body .editorial-code code{white-space:pre-wrap!important;word-break:break-word}.fd-article-v2__aside{display:none}}
