@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-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/9c72aa0f40e4eef8-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/ad66f9afd8947f86-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/5476f68d60460930-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/2bbe8d2671613f1f-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/1bffadaabf893a1e-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/83afe278b6a6bb3c-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%}.inter_bee8d293-module__7EOrLq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_bee8d293-module__7EOrLq__variable{--font-sans-src:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-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/cc545e633e20c56d-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/71b036adf157cdcf-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/89b21bb081cb7469-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/3fe682a82f50d426-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/70bc3e132a0a741e-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%}.jetbrains_mono_545de9d1-module__IfQ9lq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_545de9d1-module__IfQ9lq__variable{--font-mono-src:"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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:-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-mono:var(--font-mono-src), ui-monospace, monospace;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--blur-sm:8px;--blur-xl:24px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ground:#040d0d;--color-surface:#0a1616;--color-fg:#f1f6f6;--color-fg-muted:#9ca7a7;--color-teal:#008383;--color-emerald:#31a773;--color-lime:#ace48c;--color-accent:var(--color-emerald);--ease-brand:cubic-bezier(.22, 1, .36, 1);--duration-fast:.12s;--duration-base:.24s;--duration-slow:.4s;--duration-pulse:2.8s;--mesh-opacity:.85;--font-display:var(--font-sans-src), ui-sans-serif, system-ui, sans-serif;--font-body:var(--font-sans-src), ui-sans-serif, system-ui, sans-serif;--text-step-xs:clamp(.83rem, .79rem + .18vw, .94rem);--text-step-0:clamp(1rem, .95rem + .24vw, 1.13rem);--text-step-1:clamp(1.25rem, 1.16rem + .42vw, 1.5rem);--text-step-2:clamp(1.56rem, 1.41rem + .69vw, 2rem);--text-step-3:clamp(1.95rem, 1.7rem + 1.1vw, 2.66rem);--text-step-4:clamp(2.44rem, 2.03rem + 1.75vw, 3.55rem);--text-step-5:clamp(3.05rem, 2.41rem + 2.72vw, 4.73rem);--sidebar-width:17rem}@supports (color:lab(0% 0 0)){:root,:host{--color-ground:lab(3.13336% -2.45697 -.839099);--color-surface:lab(6.35887% -4.74183 -1.61166);--color-fg:lab(96.5738% -1.62986 -.507641);--color-fg-muted:lab(67.6489% -3.91281 -1.21516);--color-teal:lab(48.9591% -36.0125 -10.7514);--color-emerald:lab(61.1158% -43.2669 17.006);--color-lime:lab(85.2399% -30.3744 36.8936)}}}@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}button:not(:disabled),summary,[role=button],[role=menuitem],label[for]{cursor:pointer}button:disabled{cursor:not-allowed}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-px{inset:-1px}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-3{inset-block:calc(var(--spacing) * 3)}.top-0{top:0}.bottom-full{bottom:100%}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[1200\/630\]{aspect-ratio:1200/630}.aspect-video{aspect-ratio:var(--aspect-video)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-\[1\.15rem\]{width:1.15rem;height:1.15rem}.h-11{height:calc(var(--spacing) * 11)}.h-full{height:100%}.min-h-\[30rem\]{min-height:30rem}.min-h-\[calc\(100dvh-1\.5rem\)\]{min-height:calc(100dvh - 1.5rem)}.min-h-dvh{min-height:100dvh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[15ch\]{max-width:15ch}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-12{gap:calc(var(--spacing) * 12)}: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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}: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)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-accent{border-color:var(--color-accent)}.border-accent\/40{border-color:#31a77366}@supports (color:color-mix(in lab, red, red)){.border-accent\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-accent\/50{border-color:#31a77380}@supports (color:color-mix(in lab, red, red)){.border-accent\/50{border-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.border-fg-muted\/12{border-color:#9ca7a71f}@supports (color:color-mix(in lab, red, red)){.border-fg-muted\/12{border-color:color-mix(in oklab, var(--color-fg-muted) 12%, transparent)}}.border-fg-muted\/15{border-color:#9ca7a726}@supports (color:color-mix(in lab, red, red)){.border-fg-muted\/15{border-color:color-mix(in oklab, var(--color-fg-muted) 15%, transparent)}}.border-fg-muted\/20{border-color:#9ca7a733}@supports (color:color-mix(in lab, red, red)){.border-fg-muted\/20{border-color:color-mix(in oklab, var(--color-fg-muted) 20%, transparent)}}.border-fg-muted\/25{border-color:#9ca7a740}@supports (color:color-mix(in lab, red, red)){.border-fg-muted\/25{border-color:color-mix(in oklab, var(--color-fg-muted) 25%, transparent)}}.border-fg-muted\/30{border-color:#9ca7a74d}@supports (color:color-mix(in lab, red, red)){.border-fg-muted\/30{border-color:color-mix(in oklab, var(--color-fg-muted) 30%, transparent)}}.bg-accent\/10{background-color:#31a7731a}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-fg{background-color:var(--color-fg)}.bg-ground{background-color:var(--color-ground)}.bg-ground\/45{background-color:#040d0d73}@supports (color:color-mix(in lab, red, red)){.bg-ground\/45{background-color:color-mix(in oklab, var(--color-ground) 45%, transparent)}}.bg-ground\/80{background-color:#040d0dcc}@supports (color:color-mix(in lab, red, red)){.bg-ground\/80{background-color:color-mix(in oklab, var(--color-ground) 80%, transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-surface\/40{background-color:#0a161666}@supports (color:color-mix(in lab, red, red)){.bg-surface\/40{background-color:color-mix(in oklab, var(--color-surface) 40%, transparent)}}.bg-surface\/50{background-color:#0a161680}@supports (color:color-mix(in lab, red, red)){.bg-surface\/50{background-color:color-mix(in oklab, var(--color-surface) 50%, transparent)}}.bg-surface\/60{background-color:#0a161699}@supports (color:color-mix(in lab, red, red)){.bg-surface\/60{background-color:color-mix(in oklab, var(--color-surface) 60%, transparent)}}.bg-surface\/70{background-color:#0a1616b3}@supports (color:color-mix(in lab, red, red)){.bg-surface\/70{background-color:color-mix(in oklab, var(--color-surface) 70%, transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-step-0{font-size:var(--text-step-0)}.text-step-1{font-size:var(--text-step-1)}.text-step-2{font-size:var(--text-step-2)}.text-step-3{font-size:var(--text-step-3)}.text-step-4{font-size:var(--text-step-4)}.text-step-5{font-size:var(--text-step-5)}.text-step-xs{font-size:var(--text-step-xs)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.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-accent{color:var(--color-accent)}.text-fg{color:var(--color-fg)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg\/80{color:#f1f6f6cc}@supports (color:color-mix(in lab, red, red)){.text-fg\/80{color:color-mix(in oklab, var(--color-fg) 80%, transparent)}}.text-ground{color:var(--color-ground)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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{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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--duration-base\){--tw-duration:var(--duration-base);transition-duration:var(--duration-base)}.ease-\(--ease-brand\){--tw-ease:var(--ease-brand);transition-timing-function:var(--ease-brand)}.\[--dot-top\:calc\(1\.5rem_\+_var\(--text-step-2\)_\*_0\.525_-_0\.6rem\)\]{--dot-top:calc(1.5rem + var(--text-step-2) * .525 - .6rem)}.\[--dot-top\:calc\(1\.5rem_\+_var\(--text-step-3\)_\*_0\.525_-_0\.6rem\)\]{--dot-top:calc(1.5rem + var(--text-step-3) * .525 - .6rem)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:z-\[1\]:after{content:var(--tw-content);z-index:1}@media (hover:hover){.hover\:bg-ground:hover{background-color:var(--color-ground)}.hover\:text-fg:hover{color:var(--color-fg)}}.focus\:border-accent\/60:focus{border-color:#31a77399}@supports (color:color-mix(in lab, red, red)){.focus\:border-accent\/60:focus{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.disabled\:opacity-60:disabled{opacity:.6}.aria-\[current\]\:text-accent[aria-current]{color:var(--color-accent)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:min-h-\[27rem\]{min-height:27rem}.md\:grid-cols-\[1fr_17rem\]{grid-template-columns:1fr 17rem}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:pt-\[calc\(0\.875rem_\+_1px_\+_var\(--text-step-2\)_\*_0\.8\)\]{padding-top:calc(.875rem + 1px + var(--text-step-2) * .8)}.md\:pl-\[calc\(var\(--sidebar-width\)\+1\.5rem\)\]{padding-left:calc(var(--sidebar-width) + 1.5rem)}.md\:pl-\[calc\(var\(--sidebar-width\)\+2\.5rem\)\]{padding-left:calc(var(--sidebar-width) + 2.5rem)}}.\[\&\>\:first-child\]\:mt-0>:first-child{margin-top:0}}[data-theme=light]{--color-ground:#f1f6f6;--color-surface:#e2eae9;--color-fg:#101b1a;--color-fg-muted:#495555;--color-accent:#006640;--mesh-opacity:.45}@supports (color:lab(0% 0 0)){[data-theme=light]{--color-ground:lab(96.5738% -1.62986 -.507641);--color-surface:lab(91.966% -2.60812 -.811577);--color-fg:lab(8.52022% -4.82947 -1.5012);--color-fg-muted:lab(35.2008% -4.89293 -1.51308);--color-accent:lab(37.7684% -40.6531 15.896)}}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--color-ground);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-step-0);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-weight:700;line-height:1.05}p{text-wrap:pretty;max-width:68ch}a,button,[role=button],[role=menuitem]{touch-action:manipulation}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.mesh{pointer-events:none;z-index:0;opacity:var(--mesh-opacity);contain:strict;background:linear-gradient(#0000 0%,#00838329 34%,#00838375 56%,#31a77399 72%,#31a77357 90%,#0000 100%);position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.mesh{background:linear-gradient(to bottom, transparent 0%, color-mix(in oklch, var(--color-teal) 16%, transparent) 34%, color-mix(in oklch, var(--color-teal) 46%, transparent) 56%, color-mix(in oklch, var(--color-emerald) 60%, transparent) 72%, color-mix(in oklch, var(--color-emerald) 34%, transparent) 90%, transparent 100%)}}.mesh{-webkit-mask-image:linear-gradient(#000 0% 74%,#0000 100%);mask-image:linear-gradient(#000 0% 74%,#0000 100%)}.mesh__blob{filter:blur(110px);will-change:transform;border-radius:50%;display:block;position:absolute;transform:translate(0)}.mesh__blob--teal{background:radial-gradient(ellipse at 50% 50%, var(--color-teal) 0%, transparent 70%);width:95vmax;height:70vmax;bottom:-40%;left:-25%}.mesh__blob--emerald{background:radial-gradient(ellipse at 50% 50%, var(--color-emerald) 0%, transparent 68%);width:90vmax;height:62vmax;bottom:-34%;right:-25%;transform:scale(1.06)}.mesh__blob--lime{background:radial-gradient(ellipse at 50% 50%, var(--color-lime) 0%, transparent 66%);width:40vmax;height:30vmax;bottom:-30%;left:34%;transform:scale(.92)}.mesh-host{isolation:isolate;position:relative}.mesh-host>:not(.mesh){z-index:1;position:relative}.skip-link{z-index:100;background:var(--color-surface);transition:translate var(--duration-fast) var(--ease-brand);border-radius:0 0 .5rem .5rem;padding:.75rem 1.25rem;position:absolute;top:0;left:50%;translate:-50% -120%}.skip-link:focus-visible{translate:-50%}.container-page{max-width:62rem;margin-inline:auto;padding-inline:1.5rem}@supports (animation-timeline:view()){.reveal{animation:reveal-in var(--duration-slow) var(--ease-brand) both;animation-timeline:view();animation-range:entry entry 42%;animation-delay:var(--reveal-delay,0s)}.reveal--solid{animation-name:reveal-in-solid}}@supports not (animation-timeline:view()){.reveal{opacity:1;transform:none}}@keyframes reveal-in{0%{opacity:0;translate:0 16px}to{opacity:1;translate:none}}@keyframes reveal-in-solid{0%{translate:0 16px}to{translate:none}}.card-lift{transition:transform var(--duration-base) var(--ease-brand), box-shadow var(--duration-base) var(--ease-brand), border-color var(--duration-base) var(--ease-brand)}.card-lift:hover,.card-lift:focus-within{border-color:#31a7738c;transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.card-lift:hover,.card-lift:focus-within{border-color:color-mix(in oklch, var(--color-emerald) 55%, transparent)}}.card-lift:hover,.card-lift:focus-within{box-shadow:0 0 0 1px #31a77340}@supports (color:color-mix(in lab, red, red)){.card-lift:hover,.card-lift:focus-within{box-shadow:0 0 0 1px color-mix(in oklch, var(--color-emerald) 25%, transparent)}}@supports (animation-timeline:scroll()){.mesh--scroll-linked{animation:linear both mesh-hue-shift;animation-timeline:scroll(root);animation-range:0% 100%}}@keyframes mesh-hue-shift{0%{filter:hue-rotate()}to{filter:hue-rotate(28deg)}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-brand)}::view-transition-new(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-brand)}::view-transition{pointer-events:none}::view-transition-group(.morph){animation-duration:var(--duration-slow);animation-timing-function:var(--ease-brand)}:root.theme-reveal::view-transition-old(root){animation:none}:root.theme-reveal::view-transition-new(root){animation:theme-circle var(--duration-slow) var(--ease-brand) both}::view-transition-group(.card-move){animation-duration:var(--duration-slow);animation-timing-function:var(--ease-brand)}::view-transition-old(.card-out){animation:card-out var(--duration-slow) var(--ease-brand) both}::view-transition-new(.card-in){animation:card-in var(--duration-slow) var(--ease-brand) both}@keyframes card-out{to{opacity:0;transform:scale(.94)}}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes theme-circle{0%{clip-path:circle(0 at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(var(--reveal-r) at var(--reveal-x) var(--reveal-y))}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;transform:translate(0)}.card-lift{transition:none}.card-lift:hover,.card-lift:focus-within{transform:none}.mesh--scroll-linked{animation:none}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}@keyframes enter-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes enter-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.enter{animation:enter-rise var(--duration-slow) var(--ease-brand) both;animation-delay:var(--enter-delay,0s)}.enter--left{animation-name:enter-left}@keyframes enter-rise-solid{0%{transform:translateY(12px)}to{transform:none}}.enter--solid{animation-name:enter-rise-solid}.btn,.pill{transition:transform var(--duration-fast) var(--ease-brand), background-color var(--duration-base) var(--ease-brand), border-color var(--duration-base) var(--ease-brand), color var(--duration-base) var(--ease-brand), box-shadow var(--duration-base) var(--ease-brand)}.btn:hover{transform:translateY(-2px)}.pill:hover{transform:translateY(-1px)}.btn:active,.pill:active{transform:translate(0)scale(.97)}.btn-solid:hover{box-shadow:0 8px 22px -8px #f1f6f680}@supports (color:color-mix(in lab, red, red)){.btn-solid:hover{box-shadow:0 8px 22px -8px color-mix(in oklch, var(--color-fg) 50%, transparent)}}.btn-outline:hover{border-color:#31a77399}@supports (color:color-mix(in lab, red, red)){.btn-outline:hover{border-color:color-mix(in oklch, var(--color-accent) 60%, transparent)}}.btn-outline:hover{background-color:#31a77314}@supports (color:color-mix(in lab, red, red)){.btn-outline:hover{background-color:color-mix(in oklch, var(--color-accent) 8%, transparent)}}.pill-primary:hover{border-color:var(--color-accent);background-color:#31a7731a}@supports (color:color-mix(in lab, red, red)){.pill-primary:hover{background-color:color-mix(in oklch, var(--color-accent) 10%, transparent)}}.pill-muted:hover{border-color:#9ca7a780}@supports (color:color-mix(in lab, red, red)){.pill-muted:hover{border-color:color-mix(in oklch, var(--color-fg-muted) 50%, transparent)}}.pill-muted:hover{color:var(--color-fg)}.nav-item{transition:background-color var(--duration-base) var(--ease-brand), border-color var(--duration-base) var(--ease-brand), box-shadow var(--duration-base) var(--ease-brand), color var(--duration-base) var(--ease-brand), transform var(--duration-base) var(--ease-brand)}.nav-item:hover{transform:translate(3px)}.nav-item svg{transition:transform var(--duration-base) var(--ease-brand)}.nav-item:hover svg{transform:scale(1.12)}.link-grow{transition:background-size var(--duration-base) var(--ease-brand), color var(--duration-base) var(--ease-brand);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link-grow:hover,.link-grow:focus-visible{background-size:100% 1px}.menu-pop{transform-origin:0 100%;animation:menu-in var(--duration-fast) var(--ease-brand) both}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.enter,.menu-pop{opacity:1;animation:none;transform:none}.btn,.pill,.nav-item,.nav-item svg,.link-grow{transition:none}.btn:hover,.btn:active,.pill:hover,.pill:active,.nav-item:hover,.nav-item:hover svg{transform:none}.link-grow:hover,.link-grow:focus-visible{background-size:100% 1px}}.stack-disclosure summary::-webkit-details-marker{display:none}.stack-disclosure__chevron{transition:transform var(--duration-base) var(--ease-brand)}.stack-disclosure[open] .stack-disclosure__chevron{transform:rotate(180deg)}.stack-disclosure[open] .stack-disclosure__tag{animation:tag-pop var(--duration-base) var(--ease-brand) both;animation-delay:calc(min(var(--tag-index,0), 6) * 40ms)}@keyframes tag-pop{0%{opacity:0;transform:translateY(4px)scale(.92)}to{opacity:1;transform:none}}@supports selector(::details-content){.stack-disclosure{interpolate-size:allow-keywords}.stack-disclosure::details-content{block-size:0;transition:block-size var(--duration-base) var(--ease-brand), content-visibility var(--duration-base) allow-discrete;overflow:hidden}.stack-disclosure[open]::details-content{block-size:auto}}@media (prefers-reduced-motion:reduce){.stack-disclosure__chevron{transition:none}@supports selector(::details-content){.stack-disclosure::details-content{transition:none}}.stack-disclosure[open] .stack-disclosure__tag{animation:none}}.spotlight{isolation:isolate}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.spotlight:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(18rem circle at var(--spot-x,50%) var(--spot-y,50%), #31a77324, transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.spotlight:before{background:radial-gradient(18rem circle at var(--spot-x,50%) var(--spot-y,50%), color-mix(in oklch, var(--color-emerald) 14%, transparent), transparent 70%)}}.spotlight:before{opacity:0;transition:opacity var(--duration-base) var(--ease-brand)}.spotlight:hover:before{opacity:1}.magnetic{translate:var(--mag-x,0px) var(--mag-y,0px);transition:translate var(--duration-base) var(--ease-brand), transform var(--duration-fast) var(--ease-brand), background-color var(--duration-base) var(--ease-brand), border-color var(--duration-base) var(--ease-brand), color var(--duration-base) var(--ease-brand), box-shadow var(--duration-base) var(--ease-brand)}}.hero-word{overflow-clip-margin:.1em;vertical-align:top;margin-block-end:-.08em;padding-block-end:.08em;display:inline-block;overflow:clip}.hero-word__inner{animation:word-rise var(--duration-slow) var(--ease-brand) both;animation-delay:calc(var(--enter-delay,0s) + var(--word-index,0) * 40ms);display:inline-block}@keyframes word-rise{0%{transform:translate3d(0, var(--word-start,40%), 0)}to{transform:none}}@media (prefers-reduced-motion:reduce){.hero-word__inner{animation:none}}.skill-diagram__link{fill:none;stroke:#9ca7a773}@supports (color:color-mix(in lab, red, red)){.skill-diagram__link{stroke:color-mix(in oklch, var(--color-fg-muted) 45%, transparent)}}.skill-diagram__link{stroke-width:1.5px;stroke-dasharray:4 6}.skill-diagram__node rect,.skill-diagram__table>rect:first-child{fill:var(--color-surface);stroke:#9ca7a766}@supports (color:color-mix(in lab, red, red)){.skill-diagram__node rect,.skill-diagram__table>rect:first-child{stroke:color-mix(in oklch, var(--color-fg-muted) 40%, transparent)}}.skill-diagram__node--accent rect{stroke:var(--color-accent)}.skill-diagram__node text{fill:var(--color-fg-muted);font-family:var(--font-mono);text-anchor:middle;font-size:11px}.skill-diagram__node text.skill-diagram__glyph{fill:var(--color-accent)}.skill-diagram__table line{stroke:#9ca7a766}@supports (color:color-mix(in lab, red, red)){.skill-diagram__table line{stroke:color-mix(in oklch, var(--color-fg-muted) 40%, transparent)}}.skill-diagram__node .skill-diagram__row{fill:var(--color-accent);fill-opacity:.12;stroke:none;animation:row-scan var(--duration-pulse) var(--ease-brand) infinite both}@keyframes row-scan{0%,30%,to{fill-opacity:.12}10%{fill-opacity:.6}}.skill-diagram__lock,.skill-diagram__check{fill:none;stroke:var(--color-accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.skill-diagram__packet{fill:var(--color-accent);display:none}@supports (offset-path:path("M 0 0 L 1 1")){.skill-diagram__packet{offset-rotate:0deg;animation:packet-travel var(--duration-pulse) var(--ease-brand) infinite both;display:block}.skill-diagram__packet--back{animation-direction:reverse}}@keyframes packet-travel{0%{offset-distance:0%;opacity:0}15%,85%{opacity:1}to{offset-distance:100%;opacity:0}}@media (prefers-reduced-motion:reduce){.skill-diagram__packet{offset-distance:50%;animation:none}.skill-diagram__node .skill-diagram__row{animation:none}}@supports (animation-timeline:view()){.fill-on-scroll{color:#0000;background:linear-gradient(to right, var(--color-fg) 50%, var(--color-fg-muted) 50%) right / 200% 100% no-repeat;animation:text-fill var(--duration-slow) linear both;-webkit-background-clip:text;background-clip:text;animation-timeline:view();animation-range:entry 30% cover 45%}}@keyframes text-fill{to{background-position:0}}@media (prefers-reduced-motion:reduce){.fill-on-scroll{color:inherit;background:0 0;animation:none}}.marquee{content-visibility:auto;contain-intrinsic-size:auto 8.5rem;padding-block:2.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee__track{width:max-content;animation:45s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__list{font-family:var(--font-display);font-size:var(--text-step-2);color:var(--color-fg-muted);white-space:nowrap;gap:3rem;padding-inline-end:3rem;display:flex}.marquee__list li{align-items:center;gap:3rem;display:flex}.marquee__list li:after{content:"";background:var(--color-accent);border-radius:50%;width:.35rem;height:.35rem}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee__track{width:auto;animation:none}.marquee__list{white-space:normal;flex-wrap:wrap;gap:1rem 2rem;padding-inline:1.5rem}.marquee__list[aria-hidden=true]{display:none}}.recording-soon__icon{place-items:center;width:4.5rem;height:4.5rem;display:grid;position:relative}.recording-soon__disc{background:var(--color-fg);width:100%;height:100%;color:var(--color-ground);border-radius:9999px;place-items:center;display:grid;position:relative;box-shadow:0 10px 30px -10px #f1f6f68c}@supports (color:color-mix(in lab, red, red)){.recording-soon__disc{box-shadow:0 10px 30px -10px color-mix(in oklch, var(--color-fg) 55%, transparent)}}.recording-soon__disc{animation:recording-breathe var(--duration-pulse) ease-in-out infinite}.recording-soon__ring{border:1.5px solid #f1f6f699;border-radius:9999px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.recording-soon__ring{border:1.5px solid color-mix(in oklch, var(--color-fg) 60%, transparent)}}.recording-soon__ring{opacity:0;animation:recording-ripple var(--duration-pulse) var(--ease-brand) infinite}.recording-soon__ring--late{animation-delay:calc(var(--duration-pulse) / 2)}@keyframes recording-ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@keyframes recording-breathe{0%,to{transform:scale(1)}50%{transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.recording-soon__disc,.recording-soon__ring{animation:none}}.greeting-stage{--greet-out:1.8s;--greet-total:2.5s}.greeting-layer{pointer-events:none;font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;color:#fff;text-shadow:0 0 18px #ace48c8c,0 0 48px #31a773b3,0 8px 32px #00000073;text-shadow:0 0 18px lab(85.1931% -30.1886 36.9338/.54902),0 0 48px lab(61.1551% -43.2807 17.1749/.701961),0 8px 32px lab(0% 0 0/.45);place-items:center;font-size:clamp(3rem,.5rem + 9.5vw,9rem);font-weight:800;line-height:1;display:grid;position:absolute;inset:6rem 1.5rem}@supports (color:color-mix(in lab, red, red)){.greeting-layer{text-shadow:0 0 18px color-mix(in oklch, var(--color-lime) 55%, transparent), 0 0 48px color-mix(in oklch, var(--color-emerald) 70%, transparent), 0 8px 32px lab(0% 0 0/.45)}}.greeting__letter{opacity:0;animation:.7s cubic-bezier(.34,1.56,.64,1) both letter-in,.45s cubic-bezier(.5,0,.75,0) forwards letter-out;animation-delay:calc(var(--letter-index,0) * 60ms), calc(var(--greet-out) + var(--letter-index,0) * 40ms);display:inline-block}@keyframes letter-in{0%{opacity:0;transform:translateY(.55em)scale(.6)rotate(-6deg)}to{opacity:1;transform:none}}@keyframes letter-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-.45em)scale(1.08)}}.greeting-stage .enter{animation-delay:calc(var(--greet-total) + var(--enter-delay,0s))}.greeting-stage .hero-word__inner{--word-start:110%;animation-delay:calc(var(--greet-total) + var(--enter-delay,0s) + var(--word-index,0) * 40ms)}@media (prefers-reduced-motion:reduce){.greeting-layer{display:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.mesh--follow .mesh__blob{translate:calc(var(--follow-x,0) * var(--follow-depth)) calc(var(--follow-y,0) * var(--follow-depth));transition:translate var(--duration-slow) var(--ease-brand)}.mesh--follow .mesh__blob--teal{--follow-depth:3%}.mesh--follow .mesh__blob--emerald{--follow-depth:-4%}.mesh--follow .mesh__blob--lime{--follow-depth:9%}}@supports (animation-timeline:view()){.scroll-lit{view-timeline-name:--scroll-lit}.scroll-lit__word{animation:linear both word-light;animation-timeline:--scroll-lit;animation-range:contain calc(var(--word-progress,0) * 180px) contain calc(var(--word-progress,0) * 180px + 60px)}}@keyframes word-light{0%{color:var(--color-fg-muted)}to{color:var(--color-fg)}}@media (prefers-reduced-motion:reduce){.scroll-lit__word{animation:none}}.bubble{background-color:#f1f6f6;background-color:lab(96.5738% -1.62986 -.507641)}@supports (color:color-mix(in lab, red, red)){.bubble{background-color:color-mix(in oklch, var(--color-fg) var(--bubble-fill,9%), transparent)}}.bubble{border:1px solid #f1f6f629}@supports (color:color-mix(in lab, red, red)){.bubble{border:1px solid color-mix(in oklch, var(--color-fg) 16%, transparent)}}.bubble{box-shadow:0 6px 18px -8px #00000059,inset 0 1px #ffffff1f;box-shadow:0 6px 18px -8px lab(0% 0 0/.35),inset 0 1px lab(100% 0 0/.12)}.bubble:hover{background-color:#f1f6f6;background-color:lab(96.5738% -1.62986 -.507641)}@supports (color:color-mix(in lab, red, red)){.bubble:hover{background-color:color-mix(in oklch, var(--color-fg) calc(var(--bubble-fill,9%) + 5%), transparent)}}.bubble:hover{border-color:#f1f6f63d}@supports (color:color-mix(in lab, red, red)){.bubble:hover{border-color:color-mix(in oklch, var(--color-fg) 24%, transparent)}}.bubble--quiet:not([aria-current=page],:hover,:focus-visible){box-shadow:none;background-color:#0000;border-color:#0000}.nav-item.bubble[aria-current=page]{border-color:#31a77380}@supports (color:color-mix(in lab, red, red)){.nav-item.bubble[aria-current=page]{border-color:color-mix(in oklch, var(--color-accent) 50%, transparent)}}.bubble--glass{-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5)}.back-button{transition:transform var(--duration-fast) var(--ease-brand), background-color var(--duration-base) var(--ease-brand), border-color var(--duration-base) var(--ease-brand)}.back-button:active{transform:scale(.92)}.back-button__chevron{stroke-width:2.25px;transition:transform var(--duration-base) var(--ease-brand)}.back-button:hover .back-button__chevron{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.back-button,.back-button__chevron{transition:none}.back-button:active,.back-button:hover .back-button__chevron{transform:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.nav-deck{--deck-step:3rem}.nav-deck__card{transition:transform var(--duration-slow) var(--ease-brand), opacity var(--duration-base) var(--ease-brand);position:relative}.nav-deck:not(:hover,:has(:focus-visible)) .nav-deck__card{transform:translate3d(0, calc(var(--i) * var(--deck-step) * -1), 0)}.nav-deck:not(:hover,:has(:focus-visible)) .nav-deck__card:not([data-front]){opacity:0;pointer-events:none}.nav-deck__card[data-front]{z-index:1}.nav-deck__card[data-front]:before,.nav-deck__card[data-front]:after{content:"";z-index:-1;border:1px solid #f1f6f624;border-radius:9999px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.nav-deck__card[data-front]:before,.nav-deck__card[data-front]:after{border:1px solid color-mix(in oklch, var(--color-fg) 14%, transparent)}}.nav-deck__card[data-front]:before,.nav-deck__card[data-front]:after{background:#182424}@supports (color:color-mix(in lab, red, red)){.nav-deck__card[data-front]:before,.nav-deck__card[data-front]:after{background:color-mix(in oklab, var(--color-fg) 6%, var(--color-surface))}}.nav-deck__card[data-front]:before,.nav-deck__card[data-front]:after{pointer-events:none;transition:transform var(--duration-slow) var(--ease-brand), opacity var(--duration-base) var(--ease-brand);box-shadow:0 6px 14px -8px #00000059;box-shadow:0 6px 14px -8px lab(0% 0 0/.35)}.nav-deck__card[data-front]:before{transform:translateY(.5rem)scale(.94)}.nav-deck__card[data-front]:after{z-index:-2;transform:translateY(1rem)scale(.88)}.nav-deck:is(:hover,:has(:focus-visible)) .nav-deck__card[data-front]:before,.nav-deck:is(:hover,:has(:focus-visible)) .nav-deck__card[data-front]:after{opacity:0;transform:none}.nav-deck:not(:hover,:has(:focus-visible)) .nav-item[aria-current=page]{background-color:#1f2b2a}@supports (color:color-mix(in lab, red, red)){.nav-deck:not(:hover,:has(:focus-visible)) .nav-item[aria-current=page]{background-color:color-mix(in oklab, var(--color-fg) 9%, var(--color-surface))}}}.carousel__track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;padding-inline:4%;display:flex;overflow-x:auto}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{scroll-snap-align:center;flex:0 0 92%}.carousel__slide .carousel__media{opacity:.45;transition:opacity var(--duration-slow) var(--ease-brand)}.carousel__slide[data-current] .carousel__media{opacity:1}.carousel__meta{transition:opacity var(--duration-base) var(--ease-brand), visibility 0s linear}.carousel__slide:not([data-current]) .carousel__meta{opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-brand), visibility 0s linear var(--duration-base)}@media (min-width:768px){.carousel__track{padding-inline:9%}.carousel__slide{flex-basis:82%}}.carousel__media{aspect-ratio:4/3}@media (min-width:768px){.carousel__media{aspect-ratio:1200/630}}.carousel__media img{transition:transform var(--duration-slow) var(--ease-brand)}.carousel__card:hover .carousel__media img,.carousel__card:focus-within .carousel__media img{transform:scale(1.03)}.carousel__dot{place-items:center;min-width:1.5rem;height:1.5rem;padding-inline:.25rem;display:grid}.carousel__pip{background:#f1f6f659;border-radius:9999px;width:.5rem;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.carousel__pip{background:color-mix(in oklch, var(--color-fg) 35%, transparent)}}.carousel__pip{transition:width var(--duration-base) var(--ease-brand), background-color var(--duration-base) var(--ease-brand)}.carousel__dot:hover .carousel__pip{background:#f1f6f699}@supports (color:color-mix(in lab, red, red)){.carousel__dot:hover .carousel__pip{background:color-mix(in oklch, var(--color-fg) 60%, transparent)}}.carousel__dot[aria-current] .carousel__pip{width:2.25rem}.carousel__progress{border-radius:inherit;background:var(--color-fg);transform-origin:0;position:absolute;inset:0;transform:scaleX(1)}.carousel[data-running] .carousel__progress{animation:5s linear both carousel-progress}@keyframes carousel-progress{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.carousel__slide .carousel__media,.carousel__media img,.carousel__meta,.carousel__slide:not([data-current]) .carousel__meta,.carousel__pip{transition:none}.carousel__card:hover .carousel__media img,.carousel__card:focus-within .carousel__media img{transform:none}}.scroll-entry{position:relative}.scroll-dot{top:var(--dot-top,1.85rem);border:2px solid var(--color-accent);background:var(--color-ground);width:1.2rem;height:1.2rem;box-shadow:0 0 0 4px var(--color-ground);border-radius:9999px;margin-inline-start:.05rem;position:absolute;inset-inline-start:-2.25rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.scroll-slide{animation:linear both entry-slide;animation-timeline:view();animation-range:entry entry 70%}.scroll-dot{animation:linear both dot-light;animation-timeline:view();animation-range:entry 100% cover 50%}.scroll-point{animation:linear both point-in;animation-timeline:view();animation-range:entry calc(var(--i,0) * 15%) entry calc(60% + var(--i,0) * 15%)}.resume-skills{view-timeline-name:--skills-card}.resume-chip{animation:linear both chip-pop;animation-timeline:--skills-card;animation-range:entry calc(10% + var(--i,0) * 9%) entry calc(55% + var(--i,0) * 9%)}}}@keyframes line-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes entry-slide{0%{translate:2.5rem}to{translate:none}}@keyframes dot-light{0%{background:var(--color-ground);scale:.6}to{background:var(--color-accent);scale:1}}@keyframes point-in{0%{translate:1.25rem}to{translate:none}}@keyframes chip-pop{0%{translate:0 .6rem;scale:.85}to{translate:none;scale:none}}@supports not (animation-timeline:view()){.scroll-dot{background:var(--color-accent)}}@media (prefers-reduced-motion:reduce){.scroll-dot{background:var(--color-accent)}}.scroll-line{padding-inline-start:2.25rem;position:relative;overflow-x:clip}.scroll-line:before,.scroll-line:after{content:"";pointer-events:none;border-radius:9999px;width:2px;position:absolute;inset-block:.5rem;inset-inline-start:.6rem}.scroll-line:before{background:#9ca7a738}@supports (color:color-mix(in lab, red, red)){.scroll-line:before{background:color-mix(in oklch, var(--color-fg-muted) 22%, transparent)}}.scroll-line:after{background:linear-gradient(to bottom, var(--color-teal), var(--color-accent));transform-origin:50% 0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.scroll-line:after{animation:linear both line-draw;animation-timeline:view();animation-range:entry 50% exit 0%}.case-card>:not(h2){animation:linear both point-in;animation-timeline:view();animation-range:entry entry 60%}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
