@font-face{font-family:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ca6f4e9cae26f37-s.d4817f9c.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:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/37312f20962b7641-s.f8fbe8e2.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/1ef31f0c5389e115-s.p.cd77e43f.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:Crimson Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/a9fbb28a3b2599ab-s.2d68ebb4.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:Crimson Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/9ed67100d3f4c02c-s.40268784.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/ab36a0eb50081e4c-s.p.95d80ac8.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:Crimson Text;font-style:italic;font-weight:700;font-display:swap;src:url(../media/f86272b0df39128c-s.d01a5c7d.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:Crimson Text;font-style:italic;font-weight:700;font-display:swap;src:url(../media/e7f6865928377945-s.a851b046.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:italic;font-weight:700;font-display:swap;src:url(../media/ae4e51e46960de45-s.p.bc4c5bac.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:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fbbaab576802ce13-s.5fd6b288.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:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2974af112c3c407f-s.cb8aeb53.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/385c0eceff071084-s.p.6649861c.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:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b7add2c0053031d-s.c876204d.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:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/81f99a1396e562be-s.719667dd.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/466e772c7ca57446-s.p.bd0aa820.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:Crimson Text;font-style:normal;font-weight:700;font-display:swap;src:url(../media/150c9981d4a73e67-s.faccdf65.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:Crimson Text;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fdeb920f9c9b2114-s.07d62299.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Text;font-style:normal;font-weight:700;font-display:swap;src:url(../media/96517858ba4c7305-s.p.dd70e23b.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:Crimson Text Fallback;src:local(Times New Roman);ascent-override:97.5%;descent-override:36.01%;line-gap-override:0.0%;size-adjust:97.36%}.crimson_text_256402be-module__B9WCWa__className{font-family:Crimson Text,Crimson Text Fallback}.crimson_text_256402be-module__B9WCWa__variable{--font-body:"Crimson Text","Crimson Text Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:optional;src:url(../media/65c558afe41e89d6-s.e2c8389a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:optional;src:url(../media/14e23f9b59180572-s.9c448f3c.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:Playfair Display;font-style:normal;font-weight:400;font-display:optional;src:url(../media/b49b0d9b851e4899-s.4f3fa681.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:optional;src:url(../media/2a65768255d6b625-s.p.d19752fb.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:Playfair Display;font-style:normal;font-weight:500;font-display:optional;src:url(../media/65c558afe41e89d6-s.e2c8389a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:optional;src:url(../media/14e23f9b59180572-s.9c448f3c.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:Playfair Display;font-style:normal;font-weight:500;font-display:optional;src:url(../media/b49b0d9b851e4899-s.4f3fa681.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:optional;src:url(../media/2a65768255d6b625-s.p.d19752fb.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:Playfair Display;font-style:normal;font-weight:600;font-display:optional;src:url(../media/65c558afe41e89d6-s.e2c8389a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:optional;src:url(../media/14e23f9b59180572-s.9c448f3c.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:Playfair Display;font-style:normal;font-weight:600;font-display:optional;src:url(../media/b49b0d9b851e4899-s.4f3fa681.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:optional;src:url(../media/2a65768255d6b625-s.p.d19752fb.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_47fe15e-module__gSpdFa__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_47fe15e-module__gSpdFa__variable{--font-headline:"Playfair Display","Playfair Display Fallback"}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.f19e4721.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.53%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans","GeistSans 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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-divide-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-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}}}@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-serif:var(--font-body),ui-serif,Charter,"Bitstream Charter",Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--color-green-400:#05df72;--color-gray-200:#e5e7eb;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-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:calc(2.25/1.875);--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--ease-in:cubic-bezier(.4,0,1,1);--ease-out:var(--ease-out);--ease-in-out:var(--ease-in-out);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--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:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-display:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-body:var(--font-body),ui-serif,Charter,"Bitstream Charter",Georgia,serif;--radius-full:var(--radius-full);--duration-instant:var(--duration-instant);--duration-fast:var(--duration-fast);--duration-normal:var(--duration-normal);--duration-slow:var(--duration-slow);--duration-slower:var(--duration-slower);--ease-spring:var(--ease-spring);--ease-smooth:var(--ease-smooth)}@supports (color:lab(0% 0 0)){:root,:host{--color-green-400:lab(78.503% -64.9265 39.7492);--color-gray-200:lab(91.6229% -.159115 -2.26791)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-32{top:calc(var(--spacing)*32)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-8{right:calc(var(--spacing)*8)}.right-full{right:100%}.-bottom-8{bottom:calc(var(--spacing)*-8)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-1{bottom:calc(var(--spacing)*1)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[2\]{z-index:2}.z-\[10000\]{z-index:10000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.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-24{margin-top:calc(var(--spacing)*24)}.mt-32{margin-top:calc(var(--spacing)*32)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-\[2\/1\]{aspect-ratio:2}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-\[1\.5px\]{height:1.5px}.h-\[100px\]{height:100px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[calc\(100vh-10rem\)\]{max-height:calc(100vh - 10rem)}.max-h-\[calc\(100vh-12rem\)\]{max-height:calc(100vh - 12rem)}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-20{width:calc(var(--spacing)*20)}.w-40{width:calc(var(--spacing)*40)}.w-64{width:calc(var(--spacing)*64)}.w-\[100px\]{width:100px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[52ch\]{max-width:52ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[640px\]{max-width:640px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[70px\]{min-width:70px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-x-0{--tw-scale-x:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:calc(var(--spacing)*24)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.columns-1{columns:1}.break-inside-avoid{break-inside:avoid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.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)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.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)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*14)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*14)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-2\.5{column-gap:calc(var(--spacing)*2.5)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.gap-y-12{row-gap:calc(var(--spacing)*12)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-\[var\(--radius-xs\)\]{border-radius:var(--radius-xs)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-r-\[var\(--radius-md\)\]{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-accent{border-color:var(--accent)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-code-border{border-color:var(--code-border)}.border-code-border-subtle\/40{border-color:var(--code-border-subtle)}@supports (color:color-mix(in lab, red, red)){.border-code-border-subtle\/40{border-color:color-mix(in oklab,var(--code-border-subtle)40%,transparent)}}.border-code-highlight-border{border-color:var(--code-highlight-border)}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab,var(--border)50%,transparent)}}.bg-card,.bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/50{background-color:color-mix(in oklab,var(--card)50%,transparent)}}.bg-code-bg{background-color:var(--code-bg)}.bg-code-border-subtle{background-color:var(--code-border-subtle)}.bg-code-highlight{background-color:var(--code-highlight)}.bg-foreground,.bg-foreground\/\[0\.04\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.04\]{background-color:color-mix(in oklab,var(--foreground)4%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-muted-foreground\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#292524\]{--tw-gradient-from:#292524;--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))}.from-\[var\(--code-bg\)\]{--tw-gradient-from:var(--code-bg);--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))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab, red, red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\/60{--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-transparent{--tw-gradient-via:transparent;--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-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-20{padding-top:calc(var(--spacing)*20)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-\[14px\]{padding-left:14px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-display{font-family:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.font-serif{font-family:var(--font-body),ui-serif,Charter,"Bitstream Charter",Georgia,serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[1\.02rem\]{font-size:1.02rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#52525b\]{color:#52525b}.text-\[\#71717a\]{color:#71717a}.text-\[\#a1a1aa\]{color:#a1a1aa}.text-\[\#e4e4e7\]{color:#e4e4e7}.text-accent{color:var(--accent)}.text-background{color:var(--background)}.text-border{color:var(--border)}.text-code-highlight-text{color:var(--code-highlight-text)}.text-code-text{color:var(--code-text)}.text-code-text-dim{color:var(--code-text-dim)}.text-code-text-muted{color:var(--code-text-muted)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-inherit{color:inherit}.text-muted{color:var(--muted)}.text-muted-foreground,.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.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-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\],.shadow-sm{--tw-shadow:var(--shadow-sm);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-filter{-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-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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[var\(--duration-fast\)\]{--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.duration-\[var\(--duration-normal\)\]{--tw-duration:var(--duration-normal);transition-duration:var(--duration-normal)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-x-100:is(:where(.group):hover *){--tw-scale-x:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:bg-foreground\/\[0\.08\]:is(:where(.group):hover *){background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-foreground\/\[0\.08\]:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--foreground)8%,transparent)}}.group-hover\:text-\[\#e7e5e4\]:is(:where(.group):hover *){color:#e7e5e4}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--accent)}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/curl\:opacity-100:is(:where(.group\/curl):hover *){opacity:1}}.first\:pt-0:first-child{padding-top:calc(var(--spacing)*0)}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}.even\:bg-card\/50:nth-child(2n){background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.even\:bg-card\/50:nth-child(2n){background-color:color-mix(in oklab,var(--card)50%,transparent)}}@media (hover:hover){.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:border-accent\/50:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:border-foreground\/15:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-foreground\/15:hover{border-color:color-mix(in oklab,var(--foreground)15%,transparent)}}.hover\:bg-\[\#3f3f46\]\/40:hover{background-color:#3f3f4666;background-color:lab(26.8501% 1.22868 -4.28427/.4)}.hover\:bg-foreground\/\[0\.02\]:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--foreground)2%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[\#a1a1aa\]:hover{color:#a1a1aa}.hover\:text-\[\#e7e5e4\]:hover{color:#e7e5e4}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-foreground:hover,.hover\:text-foreground\/70:hover{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:text-foreground\/70:hover{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:var(--accent)}.focus-visible\:ring-foreground:focus-visible{--tw-ring-color:var(--foreground)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-card:active{background-color:var(--card)}.active\:opacity-70:active{opacity:.7}@media (min-width:40rem){.sm\:columns-2{columns:2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-5{gap:calc(var(--spacing)*5)}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:pt-24{padding-top:calc(var(--spacing)*24)}.md\:pt-28{padding-top:calc(var(--spacing)*28)}.md\:pb-16{padding-bottom:calc(var(--spacing)*16)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (min-width:80rem){.xl\:block{display:block}.xl\:hidden{display:none}}@media (min-width:96rem){.\32 xl\:right-\[calc\(\(100vw-42rem\)\/2-18rem\)\]{right:calc(50vw - 39rem)}}}:root{--radius-xs:3px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--diagram-frame-radius:var(--radius-lg);--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.4s;--ease-out-quad:cubic-bezier(.25,.46,.45,.94);--ease-out-cubic:cubic-bezier(.215,.61,.355,1);--ease-out-quart:cubic-bezier(.165,.84,.44,1);--ease-out-quint:cubic-bezier(.23,1,.32,1);--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-out-circ:cubic-bezier(.075,.82,.165,1);--ease-in-out-quad:cubic-bezier(.455,.03,.515,.955);--ease-in-out-cubic:cubic-bezier(.645,.045,.355,1);--ease-in-out-quart:cubic-bezier(.77,0,.175,1);--ease-in-out-quint:cubic-bezier(.86,0,.07,1);--ease-in-out-expo:cubic-bezier(1,0,0,1);--ease-in-out-circ:cubic-bezier(.785,.135,.15,.86);--ease-in-quad:cubic-bezier(.55,.085,.68,.53);--ease-in-cubic:cubic-bezier(.55,.055,.675,.19);--ease-in-quart:cubic-bezier(.895,.03,.685,.22);--ease-in-quint:cubic-bezier(.755,.05,.855,.06);--ease-in-expo:cubic-bezier(.95,.05,.795,.035);--ease-in-circ:cubic-bezier(.6,.04,.98,.335);--ease-out:var(--ease-out-cubic);--ease-in-out:var(--ease-in-out-cubic);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--text-link-color:var(--accent);--text-link-underline-thickness:1px;--text-link-underline-duration:var(--duration-slow);--background:#fafaf9;--foreground:#1a1a1a;--muted:#404040;--muted-foreground:#737373;--border:#e7e5e4;--card:#f5f5f4;--card-foreground:#1a1a1a;--accent:#4f46e5;--accent-light:#6366f1;--accent-foreground:#fff;--code-bg:#292524;--code-border:#44403c;--code-text:#a8a29e;--code-text-dim:#78716c;--code-text-muted:#52525b;--code-border-subtle:#3f3f46;--code-highlight:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--code-highlight:color-mix(in srgb,var(--accent)18%,var(--code-bg))}}:root{--code-highlight-border:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--code-highlight-border:color-mix(in srgb,var(--accent)60%,transparent)}}:root{--code-highlight-text:#e4e4e7;--tag-underline:#4f46e5;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029}[data-theme=dark]{--background:#121212;--foreground:#f5f5f5;--muted:#a3a3a3;--muted-foreground:#a3a3a3;--border:#2a2a2a;--card:#1e1e1e;--card-foreground:#f5f5f5;--accent:#818cf8;--accent-light:#a5b4fc;--accent-foreground:#121212;--code-bg:#1a1a1a;--code-border:#2a2a2a;--code-text:#a8a29e;--code-text-dim:#78716c;--code-text-muted:#52525b;--code-border-subtle:#3f3f46;--code-highlight:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark]{--code-highlight:color-mix(in srgb,var(--accent)18%,var(--code-bg))}}[data-theme=dark]{--code-highlight-border:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark]{--code-highlight-border:color-mix(in srgb,var(--accent)60%,transparent)}}[data-theme=dark]{--code-highlight-text:#e4e4e7;--tag-underline:#818cf8;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #00000040;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 16px 48px #00000080}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;scroll-padding-top:100px;overflow-y:scroll}:root{--removed-body-scroll-bar-size:0px!important}body[data-scroll-locked]{--removed-body-scroll-bar-size:0px!important;margin-right:0!important;padding-right:0!important}body{background:var(--background);color:var(--foreground);font-family:var(--font-body),Georgia,serif;letter-spacing:.01em;min-height:100dvh;font-size:17px;line-height:1.75}.type-display{font-family:var(--font-headline),Georgia,serif;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.25rem);font-weight:500;line-height:1.1}.type-title{font-family:var(--font-headline),Georgia,serif;letter-spacing:-.01em;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;line-height:1.2}.type-subtitle{font-family:var(--font-headline),Georgia,serif;letter-spacing:0;font-size:1.375rem;font-weight:400;line-height:1.3}.type-meta{font-family:var(--font-body),Georgia,serif;letter-spacing:.01em;color:var(--muted-foreground);font-size:.8125rem;font-weight:400;line-height:1.5}.type-label{font-family:var(--font-geist-sans),system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);font-size:.8125rem;font-weight:500;line-height:1.4}::selection{background:#6366f14d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.font-display{font-family:var(--font-geist-sans),system-ui,sans-serif}.font-headline{font-family:var(--font-headline),Georgia,serif}.font-serif,.font-body{font-family:var(--font-body),Georgia,serif}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes ripple{0%{opacity:.5;transform:scale(.5)}to{opacity:0;transform:scale(1)}}@keyframes iconRotate{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.8)}to{transform:rotate(360deg)scale(1)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes title-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes title-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes content-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes content-in{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes post-card-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes post-card-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes photo-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes head-pulse{0%,to{box-shadow:0 0 #818cf866}50%{box-shadow:0 0 0 4px #818cf800}}@keyframes cmdk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes editorial-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-fade-in{animation:fadeIn var(--duration-slower)var(--ease-out-cubic)forwards}.animate-fade-in-fast{animation:fadeIn .2s var(--ease-out-cubic)forwards}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-fast{opacity:1;animation:none}.editorial-skeleton:after{animation:none}}.animate-blink{animation:1s step-end infinite blink}.animate-ripple{animation:ripple .6s var(--ease-out-cubic)forwards;width:200px;height:200px}.animate-icon-rotate{animation:iconRotate .5s var(--ease-in-out-cubic)}.delay-1{opacity:0;animation-delay:50ms}.delay-2{opacity:0;animation-delay:.1s}.delay-3{opacity:0;animation-delay:.15s}.delay-4{opacity:0;animation-delay:.2s}::view-transition-old(root){animation:fade-out var(--duration-slow)var(--ease-out-cubic)forwards}::view-transition-new(root){animation:fade-in var(--duration-slow)var(--ease-out-cubic)forwards}::view-transition-old(page-title){animation:title-out var(--duration-slow)var(--ease-out-cubic)forwards}::view-transition-new(page-title){animation:title-in var(--duration-slower)var(--ease-out-cubic)forwards}::view-transition-old(page-content){animation:content-out var(--duration-normal)var(--ease-out-cubic)forwards}::view-transition-new(page-content){animation:content-in var(--duration-slow)var(--ease-out-cubic)var(--duration-instant)forwards;opacity:0}::view-transition-old(blog-post){animation:post-card-out var(--duration-slow)var(--ease-out-cubic)forwards}::view-transition-new(blog-post){animation:post-card-in var(--duration-slower)var(--ease-out-cubic)forwards}::view-transition-old(header){display:none}::view-transition-new(header){mix-blend-mode:normal;animation:none}::view-transition-old(floating-toolbar){display:none}::view-transition-new(floating-toolbar){animation:none}.vt-header{view-transition-name:header}.vt-floating-toolbar{view-transition-name:floating-toolbar}.vt-page-title{view-transition-name:page-title}.vt-page-content{view-transition-name:page-content}.vt-blog-post{view-transition-name:blog-post}.commit-dot-glow{animation:2s infinite head-pulse}@keyframes like-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.like-card-animate{animation:like-card-in .4s var(--ease-out)backwards}.prose{font-family:var(--font-body),Georgia,serif;color:var(--foreground);font-size:1.0625rem;line-height:1.9}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-headline),serif;color:var(--foreground);letter-spacing:.02em;margin-top:1.15em;margin-bottom:.45em;font-weight:600}.prose h1:first-child,.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose h1{letter-spacing:.01em;font-size:2.5rem;font-weight:700}.prose h2{font-size:1.875rem;font-weight:600}.prose h3{font-size:1.5rem;font-weight:600}.prose p{color:var(--foreground);margin-bottom:1em}.prose h2 a,.prose h3 a{color:var(--foreground);text-decoration:none}.prose .heading-anchor-icon{opacity:0;transition:opacity .16s,transform .16s;transform:translate(2px)}@media (hover:hover) and (pointer:fine){.prose h2 a:hover,.prose h3 a:hover{color:var(--accent);text-decoration:none}}@media (min-width:768px) and (hover:hover) and (pointer:fine){.prose h2 .heading-anchor:hover .heading-anchor-text,.prose h3 .heading-anchor:hover .heading-anchor-text{color:var(--accent)}.prose h2 .heading-anchor:hover .heading-anchor-icon,.prose h3 .heading-anchor:hover .heading-anchor-icon{opacity:1;transform:translate(0)}}.prose strong{color:var(--foreground);font-weight:700;font-family:var(--font-body),Georgia,serif;letter-spacing:.005em}.prose ul{margin:1.25em 0;padding-left:1.5em;list-style-type:disc}.prose ol{margin:1.25em 0;padding-left:1.5em;list-style-type:decimal}.prose li{margin:.5em 0;padding-left:.25em;display:list-item}.prose li::marker{color:var(--accent)}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin:.5em 0}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);font-style:italic;font-family:var(--font-serif),serif;margin:2em 0;padding:.75em 0 .75em 1.5em;font-size:1.125rem;position:relative}.prose blockquote:before{content:"\"";font-family:var(--font-display),serif;color:var(--accent);opacity:.2;font-size:3rem;line-height:1;position:absolute;top:-.25em;left:.25em}.prose blockquote p{margin:0}.prose hr{background:linear-gradient(to right,transparent,var(--border),transparent);border:none;height:1px;margin:3em 0;position:relative}.prose hr:before{content:"❦";background:var(--background);color:var(--muted-foreground);padding:0 1em;font-size:.875rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prose table{border-collapse:collapse;width:100%;margin:2em 0}.prose thead th{border-bottom:2px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.prose thead th{border-bottom:2px solid color-mix(in srgb,var(--foreground)20%,transparent)}}.prose thead th{text-align:left;font-family:var(--font-geist-sans),system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);padding:.625rem 1rem;font-size:.8125rem;font-weight:500}.prose tbody tr{border-bottom:1px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.prose tbody tr{border-bottom:1px solid color-mix(in srgb,var(--foreground)8%,transparent)}}.prose tbody tr:nth-child(2n){background:var(--card)}@supports (color:color-mix(in lab, red, red)){.prose tbody tr:nth-child(2n){background:color-mix(in srgb,var(--card)50%,transparent)}}.prose tbody td{vertical-align:top;padding:.75rem 1rem}.prose img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border);margin:2.5em 0}.prose .project-figure .project-figure-media{box-shadow:none;border:0;border-radius:0;margin:0;display:block}.prose code:not(pre code){font-family:var(--font-mono),monospace;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--accent);padding:.2em .4em;font-size:.875em}.prose pre{border-radius:var(--radius-md);scroll-behavior:smooth;margin:1.75em 0;overflow:auto hidden}.prose pre code{border:1px solid var(--code-border);border-radius:var(--radius-md);font-family:var(--font-mono),monospace;tab-size:2;white-space:pre;word-wrap:normal;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.7;display:block;overflow-x:auto;background:var(--code-bg)!important}.prose pre::-webkit-scrollbar{height:8px}.prose pre code::-webkit-scrollbar{height:8px}.prose pre::-webkit-scrollbar-track{background:var(--code-bg);border-radius:0 0 var(--radius-md)var(--radius-md)}.prose pre code::-webkit-scrollbar-track{background:var(--code-bg);border-radius:0 0 var(--radius-md)var(--radius-md)}.prose pre::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:var(--radius-xs)}.prose pre code::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:var(--radius-xs)}.prose pre::-webkit-scrollbar-thumb:hover{background:var(--accent)}.prose pre code::-webkit-scrollbar-thumb:hover{background:var(--accent)}.prose{counter-reset:sidenote}:root{--note-context:#4f46e5;--note-technical:#7c3aed;--note-fun:#d97706}[data-theme=dark]{--note-context:#818cf8;--note-technical:#a78bfa;--note-fun:#fbbf24}.note-wrapper{counter-increment:sidenote;display:inline;position:relative}.note-highlight{text-underline-offset:3px;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:text-decoration-color var(--duration-fast)ease,background-color var(--duration-fast)ease;border-radius:2px;text-decoration:underline;text-decoration-thickness:2px;display:inline}.note-highlight:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.note-highlight-context{-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);text-decoration-color:var(--note-context)}@supports (color:color-mix(in lab, red, red)){.note-highlight-context{-webkit-text-decoration-color:color-mix(in srgb,var(--note-context)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-context)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-context)40%,transparent);text-decoration-color:color-mix(in srgb,var(--note-context)40%,transparent)}}.note-highlight-technical{-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);text-decoration-color:var(--note-technical)}@supports (color:color-mix(in lab, red, red)){.note-highlight-technical{-webkit-text-decoration-color:color-mix(in srgb,var(--note-technical)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-technical)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-technical)40%,transparent);text-decoration-color:color-mix(in srgb,var(--note-technical)40%,transparent)}}.note-highlight-fun{-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);text-decoration-color:var(--note-fun)}@supports (color:color-mix(in lab, red, red)){.note-highlight-fun{-webkit-text-decoration-color:color-mix(in srgb,var(--note-fun)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-fun)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--note-fun)40%,transparent);text-decoration-color:color-mix(in srgb,var(--note-fun)40%,transparent)}}@media (hover:hover) and (pointer:fine){.note-highlight-context:hover{-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);text-decoration-color:var(--note-context)}.note-highlight-technical:hover{-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);text-decoration-color:var(--note-technical)}.note-highlight-fun:hover{-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);text-decoration-color:var(--note-fun)}}.note-highlight:active .note-highlight-context,.note-highlight-context:active{-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);text-decoration-color:var(--note-context)}.note-highlight:active .note-highlight-technical,.note-highlight-technical:active{-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);text-decoration-color:var(--note-technical)}.note-highlight:active .note-highlight-fun,.note-highlight-fun:active{-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);text-decoration-color:var(--note-fun)}.note-indicator{display:none}.note-highlight:after{content:counter(sidenote);vertical-align:super;font-feature-settings:"tnum";margin-left:2px;font-size:.6875rem;font-weight:600;line-height:1;text-decoration:none;display:inline-block}.note-highlight-context:after{color:var(--note-context)}.note-highlight-technical:after{color:var(--note-technical)}.note-highlight-fun:after{color:var(--note-fun)}.note-aside{font-family:var(--font-body),Georgia,serif;color:var(--muted-foreground);font-size:.8125rem;line-height:1.5}.note-aside-label{align-items:baseline;gap:.25rem;margin-bottom:.25rem;display:flex}.note-aside-label-text{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:600;overflow:hidden}.note-aside-icon{display:none}.note-aside-label:before{content:counter(sidenote);font-feature-settings:"tnum";opacity:.85;flex-shrink:0;font-size:.875rem;font-weight:700}.note-aside-context .note-aside-label:before{color:var(--note-context)}.note-aside-technical .note-aside-label:before{color:var(--note-technical)}.note-aside-fun .note-aside-label:before{color:var(--note-fun)}@media (max-width:1279px){.note-aside{display:none}.note-aside[data-expanded=true]{top:var(--popover-top,50%);left:var(--popover-left,12px);width:var(--popover-width,calc(100vw - 24px));z-index:50;animation:note-popover-in .2s var(--ease-out);display:block;position:fixed}.note-aside[data-expanded=true] .note-aside-inner{background:var(--background);border:none;border-left:1.5px solid var(--border);color:var(--muted-foreground);border-radius:2px;max-height:50vh;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5;display:block;overflow-y:auto;box-shadow:0 1px 4px -1px #0000000f,0 3px 10px -3px #00000014}[data-theme=dark] .note-aside[data-expanded=true] .note-aside-inner{box-shadow:0 1px 4px -1px #0003,0 3px 10px -3px #0000004d}.note-aside-context[data-expanded=true] .note-aside-inner{border-left-color:var(--note-context)}@supports (color:color-mix(in lab, red, red)){.note-aside-context[data-expanded=true] .note-aside-inner{border-left-color:color-mix(in srgb,var(--note-context)60%,var(--border))}}.note-aside-technical[data-expanded=true] .note-aside-inner{border-left-color:var(--note-technical)}@supports (color:color-mix(in lab, red, red)){.note-aside-technical[data-expanded=true] .note-aside-inner{border-left-color:color-mix(in srgb,var(--note-technical)60%,var(--border))}}.note-aside-fun[data-expanded=true] .note-aside-inner{border-left-color:var(--note-fun)}@supports (color:color-mix(in lab, red, red)){.note-aside-fun[data-expanded=true] .note-aside-inner{border-left-color:color-mix(in srgb,var(--note-fun)60%,var(--border))}}.note-aside[data-expanded=true] .note-aside-label{margin-bottom:.125rem;display:flex}.note-aside[data-expanded=true] .note-aside-icon{display:none}}@keyframes note-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1280px){.note-highlight{cursor:help}.note-wrapper{--note-stack-offset:0;--note-left:-232px;position:relative}.note-aside{left:var(--note-left,-232px);top:var(--note-stack-offset,0);text-align:left;opacity:0;width:200px;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);padding-right:.625rem;display:block;position:absolute;transform:translate(4px)}.note-aside[data-visible=true],.note-wrapper:hover .note-aside[data-visible=true],.note-wrapper:focus-within .note-aside[data-visible=true],.note-aside[data-expanded=true]{opacity:1;transform:translate(0)}.note-indicator{display:none}.note-aside{transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),color var(--duration-normal)ease}.note-aside-label-text{transition:color var(--duration-normal)ease}.note-wrapper:hover .note-highlight-context[data-note-active=true]{background:var(--note-context)}@supports (color:color-mix(in lab, red, red)){.note-wrapper:hover .note-highlight-context[data-note-active=true]{background:color-mix(in srgb,var(--note-context)20%,transparent)}}.note-wrapper:hover .note-highlight-context[data-note-active=true]{-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);-webkit-text-decoration-color:var(--note-context);text-decoration-color:var(--note-context)}.note-wrapper:hover .note-highlight-technical[data-note-active=true]{background:var(--note-technical)}@supports (color:color-mix(in lab, red, red)){.note-wrapper:hover .note-highlight-technical[data-note-active=true]{background:color-mix(in srgb,var(--note-technical)20%,transparent)}}.note-wrapper:hover .note-highlight-technical[data-note-active=true]{-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);-webkit-text-decoration-color:var(--note-technical);text-decoration-color:var(--note-technical)}.note-wrapper:hover .note-highlight-fun[data-note-active=true]{background:var(--note-fun)}@supports (color:color-mix(in lab, red, red)){.note-wrapper:hover .note-highlight-fun[data-note-active=true]{background:color-mix(in srgb,var(--note-fun)20%,transparent)}}.note-wrapper:hover .note-highlight-fun[data-note-active=true]{-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);-webkit-text-decoration-color:var(--note-fun);text-decoration-color:var(--note-fun)}.note-wrapper:hover .note-aside,.note-wrapper:hover .note-aside-label-text{color:var(--foreground)}}@media (min-width:1536px){.note-aside{width:220px;left:-256px}.note-wrapper{--note-left:-256px}.note-aside-label-text{max-width:180px}}.content-block{margin:1.75rem 0 2rem}.content-block-caption{text-align:center;font-family:var(--font-body),Georgia,serif;color:var(--muted-foreground);margin-top:.75rem;font-size:.8125rem;font-style:italic;line-height:1.5}@media (max-width:640px){.prose{font-size:1rem}.prose h1{font-size:1.75rem}.prose h2{font-size:1.375rem}.prose h3{font-size:1.125rem}.prose pre{-webkit-overflow-scrolling:touch;border-radius:0;margin-left:-1rem;margin-right:-1rem;overflow-x:auto}.prose pre code{white-space:pre;word-wrap:normal;border-left:none;border-right:none;border-radius:0}}.tap-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.tag{font-family:var(--font-body),system-ui,sans-serif;color:var(--muted-foreground);border-radius:var(--radius-sm);transition:color var(--duration-fast)var(--ease-out),border-color var(--duration-fast)var(--ease-out),background-color var(--duration-fast)var(--ease-out);border:1px solid #0000;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:400;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.tag:hover{color:var(--foreground);border-color:var(--border)}}.tag-active{color:var(--foreground);border-color:var(--foreground)}.tag-inline{color:var(--muted-foreground);background:0 0;border:none;padding:0;font-size:.8125rem}.back-link{color:var(--muted-foreground);transition:color var(--duration-fast)var(--ease-out);align-items:center;gap:.25rem;font-size:.8125rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.back-link:hover{color:var(--foreground)}}.utility-link{color:var(--muted-foreground);transition:color var(--duration-fast)var(--ease-out);font-size:.8125rem;text-decoration:none}@media (hover:hover) and (pointer:fine){.utility-link:hover{color:var(--foreground)}}.text-link{color:var(--muted-foreground);transition:color var(--duration-fast)var(--ease-out)}@media (hover:hover) and (pointer:fine){.text-link:hover{color:var(--foreground)}}.social-link{color:var(--muted-foreground);transition:color var(--duration-fast)var(--ease-out);text-decoration:none;position:relative}.social-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width var(--duration-fast)var(--ease-out);position:absolute;bottom:-1px;left:0}@media (hover:hover) and (pointer:fine){.social-link:hover{color:var(--accent)}.social-link:hover:after{width:100%}}.inline-text-link,.prose p a{color:var(--foreground);font-weight:inherit;text-underline-offset:2px;transition:color var(--duration-fast)var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.inline-text-link:hover,.prose p a:hover{color:var(--accent)}}.link-underline{cursor:pointer;color:var(--muted-foreground);transition:color var(--duration-fast)var(--ease-out);text-decoration:none;position:relative}.link-underline:after{content:"";background:var(--accent);width:0;height:1px;transition:width var(--duration-fast)var(--ease-out);position:absolute;bottom:-1px;left:0}@media (hover:hover) and (pointer:fine){.link-underline:hover{color:var(--accent)}.link-underline:hover:after{width:100%}}.reading-progress{background:var(--accent);z-index:100;height:2px;transition:width var(--duration-instant)var(--ease-out);position:fixed;top:0;left:0}.post-card{padding:.5rem 0;position:relative}.post-title{background-image:linear-gradient(var(--accent),var(--accent));transition:background-size var(--duration-normal)var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none;display:inline}@media (hover:hover) and (pointer:fine){.post-title:hover{background-size:100% 1px}}.nav-indicator{background:var(--accent);will-change:left,width;height:1px;transition:left var(--duration-fast)var(--ease-out),width var(--duration-fast)var(--ease-out),opacity var(--duration-fast)var(--ease-out);border-radius:0;position:absolute;bottom:0}.git-branch-line{background:linear-gradient(to bottom,var(--border)0%,var(--border)40%,transparent 40%,transparent 60%,var(--border)60%,var(--border)100%);background-size:1px 8px}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--border)transparent}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:var(--radius-full);transition:background-color var(--duration-fast)var(--ease-out)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}.toc-fade-bottom:after{content:"";background:linear-gradient(to bottom,transparent,var(--card));pointer-events:none;opacity:0;height:40px;transition:opacity var(--duration-normal)var(--ease-out);position:absolute;bottom:0;left:0;right:0}.toc-fade-bottom[data-has-scroll=true]:after{opacity:1}.floating-toolbar{background:var(--card);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 0 0 1px var(--foreground),0 4px 24px -4px var(--foreground),0 8px 32px -8px var(--foreground);align-items:center;gap:.25rem;padding:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.floating-toolbar{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground)3%,transparent),0 4px 24px -4px color-mix(in srgb,var(--foreground)12%,transparent),0 8px 32px -8px color-mix(in srgb,var(--foreground)8%,transparent)}}[data-theme=dark] .floating-toolbar{background:var(--card);box-shadow:0 0 0 1px var(--foreground),0 4px 24px -4px #0006,0 8px 32px -8px #0000004d,inset 0 1px 0 0 var(--foreground)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .floating-toolbar{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground)5%,transparent),0 4px 24px -4px #0006,0 8px 32px -8px #0000004d,inset 0 1px 0 0 color-mix(in srgb,var(--foreground)5%,transparent)}}.floating-toolbar button,.floating-toolbar a{border-radius:var(--radius-lg);width:2.5rem;height:2.5rem;transition:background-color var(--duration-fast)var(--ease-out),color var(--duration-fast)var(--ease-out),transform var(--duration-fast)var(--ease-out);justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.floating-toolbar button:hover,.floating-toolbar a:hover{background:var(--card)}}.floating-toolbar button:active,.floating-toolbar a:active{transform:scale(.95)}@media (max-width:640px){.floating-toolbar{border-radius:var(--radius-lg);gap:.125rem;padding:.375rem}.floating-toolbar button,.floating-toolbar a{width:2.75rem;height:2.75rem}}@supports (padding-bottom:env(safe-area-inset-bottom)){.floating-toolbar-container{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}}.writing-diagram-frame{border-radius:var(--diagram-frame-radius);border:1px solid var(--border);padding:1.25rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.writing-diagram-frame{border:1px solid color-mix(in srgb,var(--border)82%,var(--foreground)8%)}}.writing-diagram-frame{background:linear-gradient(180deg,var(--card),var(--card))}@supports (color:color-mix(in lab, red, red)){.writing-diagram-frame{background:linear-gradient(180deg,color-mix(in srgb,var(--card)92%,var(--background)),var(--card))}}.writing-diagram-frame{box-shadow:var(--shadow-sm)}.mermaid-diagram-frame{border-radius:var(--diagram-frame-radius);padding-bottom:2.75rem}.mermaid-diagram-svg svg{width:100%;height:auto;display:block}.mermaid-diagram-svg{z-index:1;position:relative}.mermaid-diagram-legend{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.02em;color:var(--muted-foreground);pointer-events:none;z-index:2;align-items:center;gap:2rem;font-size:.72rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.mermaid-diagram-legend-item{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.mermaid-diagram-legend-line{border-top:1.5px solid #3f3f46;width:2.5rem;height:0}.mermaid-diagram-legend-line--user{border-top-color:#3f3f46}.mermaid-diagram-legend-line--system{border-top-style:dashed;border-top-color:#a1a1aa}.mermaid-diagram svg .mermaid-seq-line{stroke-width:1.5px}.mermaid-diagram svg .mermaid-seq-line--user{stroke:#3f3f46;stroke-dasharray:none}.mermaid-diagram svg .mermaid-seq-line--system{stroke:#a1a1aa;stroke-dasharray:5 3}.mermaid-diagram svg .mermaid-seq-node-label{font-size:14px;font-weight:600;font-family:var(--font-display),serif!important}.mermaid-diagram svg g.actor text,.mermaid-diagram svg g.actor-man text,.mermaid-diagram svg g.actor-female text,.mermaid-diagram svg g.participant text,.mermaid-diagram svg g.participant-man text,.mermaid-diagram svg g.participant-female text,.mermaid-diagram svg g[class*=actor] text,.mermaid-diagram svg g[class*=participant] text,.mermaid-diagram svg text.actor,.mermaid-diagram svg text.participant{font-family:var(--font-display),serif}.mermaid-diagram svg .mermaid-seq-label--user{fill:#3f3f46;font-weight:500}.mermaid-diagram svg .mermaid-seq-label--system{fill:#a1a1aa;font-weight:400}.mermaid-diagram svg .mermaid-seq-label{font-family:var(--font-body),Georgia,serif}.writing-diagram-svg{z-index:1;width:100%;height:auto;display:block;position:relative}.writing-diagram-node{fill:var(--card);stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.writing-diagram-node{stroke:color-mix(in srgb,var(--border)80%,var(--foreground)10%)}}.writing-diagram-node{stroke-width:1px;filter:drop-shadow(0 4px 8px var(--foreground))}@supports (color:color-mix(in lab, red, red)){.writing-diagram-node{filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--foreground)6%,transparent))}}.writing-diagram-node--station{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.writing-diagram-node--station{fill:color-mix(in srgb,var(--accent)8%,var(--card))}}.writing-diagram-node--station{stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.writing-diagram-node--station{stroke:color-mix(in srgb,var(--accent)32%,var(--border))}}.writing-diagram-node-glow{opacity:0;animation:writing-diagram-glow 4s var(--ease-in-out)infinite;animation-play-state:paused}.writing-diagram-flow{fill:none;stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.writing-diagram-flow{stroke:color-mix(in srgb,var(--border)65%,var(--muted-foreground)20%)}}.writing-diagram-flow{stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 5;animation:1.2s linear infinite paused writing-diagram-march}.writing-diagram-particle-group{filter:drop-shadow(0 0 3px var(--accent))}@supports (color:color-mix(in lab, red, red)){.writing-diagram-particle-group{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent)40%,transparent))}}.writing-diagram-particle{filter:drop-shadow(0 0 2px var(--accent-light))}@supports (color:color-mix(in lab, red, red)){.writing-diagram-particle{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent-light)60%,white))}}.writing-diagram-particle-glow{opacity:.8;mix-blend-mode:screen}.writing-diagram-pulse{fill:none;stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.writing-diagram-pulse{stroke:color-mix(in srgb,var(--accent)50%,transparent)}}.writing-diagram-pulse{stroke-width:1px;opacity:0;transform-origin:50%;transform-box:fill-box;animation:writing-diagram-pulse 4s var(--ease-out)infinite;animation-play-state:paused;animation-delay:.5s}.writing-diagram-pulse--delay{animation-delay:1.2s}.writing-diagram--active .writing-diagram-flow,.writing-diagram--active .writing-diagram-pulse,.writing-diagram--active .writing-diagram-node-glow{animation-play-state:running}.writing-diagram-label{fill:var(--foreground);font-family:var(--font-display),serif;letter-spacing:.02em;opacity:1;font-size:15px}.writing-diagram-label--primary{font-weight:600}.writing-diagram-label--secondary{font-family:var(--font-body),Georgia,serif;letter-spacing:.18em;text-transform:uppercase;fill:var(--muted-foreground);font-size:13px}.writing-diagram-label--eyebrow{font-family:var(--font-body),Georgia,serif;letter-spacing:.24em;text-transform:uppercase;fill:var(--muted-foreground);font-size:12px}@supports (color:color-mix(in lab, red, red)){.writing-diagram-label--eyebrow{fill:color-mix(in srgb,var(--muted-foreground)70%,var(--foreground))}}.writing-diagram-caption{text-align:center;color:var(--muted-foreground);font-size:.85rem;font-family:var(--font-serif),serif;margin-top:.75rem;font-style:italic}@keyframes writing-diagram-march{to{stroke-dashoffset:-10px}}@keyframes writing-diagram-pulse{0%{opacity:0;transform:scale(.9)}10%{opacity:.25}25%{opacity:0;transform:scale(1.15)}to{opacity:0;transform:scale(.9)}}@keyframes writing-diagram-glow{0%,10%{opacity:.03}20%{opacity:.18}40%,to{opacity:.03}}@media (prefers-reduced-motion:reduce){.writing-diagram-flow,.writing-diagram-pulse,.writing-diagram-node-glow{animation:none}.writing-diagram-particle,.writing-diagram-particle-glow{display:none}}.diagram-replay-btn:hover .diagram-replay-icon{opacity:.9!important}.github-embed-code:not(.is-overflowing)~.github-embed-fade-right{opacity:0}.github-embed-code::-webkit-scrollbar{height:6px}.github-embed-code::-webkit-scrollbar-track{background:var(--code-bg)}.github-embed-code::-webkit-scrollbar-thumb{background:var(--code-border);border-radius:3px}.github-embed-code::-webkit-scrollbar-thumb:hover{background:var(--code-text-muted)}.weave-before-terminal{fill:#1c1917;stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.weave-before-terminal{stroke:color-mix(in srgb,var(--border)60%,#292524)}}.weave-before-terminal{stroke-width:1px}.weave-before-cmd{fill:#a8a29e;font-family:var(--font-mono),ui-monospace,monospace;font-size:11px}.weave-before-pulse{fill:var(--accent);pointer-events:none}.weave-before-arrow{stroke:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.weave-before-arrow{stroke:color-mix(in srgb,var(--muted-foreground)40%,var(--border)40%)}}.weave-before-arrow{stroke-width:1.5px;stroke-dasharray:4 3}.weave-before-arrow--back{stroke:#ef4444}@supports (color:color-mix(in lab, red, red)){.weave-before-arrow--back{stroke:color-mix(in srgb,#ef4444 50%,var(--border)30%)}}.weave-after-terminal{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.weave-after-terminal{fill:color-mix(in srgb,var(--accent)6%,#1c1917)}}.weave-after-terminal{stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.weave-after-terminal{stroke:color-mix(in srgb,var(--accent)30%,#292524)}}.weave-after-terminal{stroke-width:1px}.weave-after-cmd{fill:#e7e5e4;font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;font-weight:500}.weave-after-success{fill:var(--accent);font-family:var(--font-mono),ui-monospace,monospace;font-size:11px}.weave-after-checkmark{fill:#22c55e;font-size:12px;font-weight:700}.editorial-skeleton{--_mark:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.editorial-skeleton{--_mark:color-mix(in srgb,var(--foreground)15%,transparent)}}.editorial-skeleton{background:var(--foreground);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.editorial-skeleton{background:color-mix(in srgb,var(--foreground)4%,var(--background))}}.editorial-skeleton{z-index:1;transition:opacity .5s var(--ease-out-cubic);overflow:hidden}.editorial-skeleton--loaded{opacity:0;pointer-events:none}.editorial-skeleton:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(var(--_mark),var(--_mark))0 0/20px 1px no-repeat,linear-gradient(var(--_mark),var(--_mark))0 0/1px 20px no-repeat,linear-gradient(var(--_mark),var(--_mark))100% 0/20px 1px no-repeat,linear-gradient(var(--_mark),var(--_mark))100% 0/1px 20px no-repeat,linear-gradient(var(--_mark),var(--_mark))0 100%/20px 1px no-repeat,linear-gradient(var(--_mark),var(--_mark))0 100%/1px 20px no-repeat,linear-gradient(var(--_mark),var(--_mark))100% 100%/20px 1px no-repeat,linear-gradient(var(--_mark),var(--_mark))100% 100%/1px 20px no-repeat,linear-gradient(var(--_mark),var(--_mark))50% 50%/12px 1px no-repeat,linear-gradient(var(--_mark),var(--_mark))50% 50%/1px 12px no-repeat;position:absolute;inset:12px}.editorial-skeleton:after{content:"";background:linear-gradient(105deg,transparent 40%,var(--foreground)50%,transparent 60%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.editorial-skeleton:after{background:linear-gradient(105deg,transparent 40%,color-mix(in srgb,var(--foreground)5%,transparent)50%,transparent 60%)}}.editorial-skeleton:after{animation:2.5s ease-in-out infinite editorial-shimmer}.project-image-frame{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden}.project-image-frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.other-work-grid{gap:.75rem;display:grid}.other-work-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast)var(--ease-out),background var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast)var(--ease-out);align-items:flex-start;gap:1rem;padding:1rem 1.25rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.other-work-card:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.other-work-card:hover{border-color:color-mix(in srgb,var(--foreground)15%,var(--border))}}.other-work-card:hover{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.other-work-card:hover{background:color-mix(in srgb,var(--foreground)2%,var(--card))}}.other-work-card:hover{box-shadow:0 2px 8px -2px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.other-work-card:hover{box-shadow:0 2px 8px -2px color-mix(in srgb,var(--foreground)6%,transparent)}}}.other-work-card-icon{border-radius:var(--radius-md);background:var(--foreground);flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.other-work-card-icon{background:color-mix(in srgb,var(--foreground)4%,transparent)}}.other-work-card-icon{color:var(--muted-foreground);transition:background var(--duration-fast)var(--ease-out),color var(--duration-fast)var(--ease-out)}@media (hover:hover) and (pointer:fine){.other-work-card:hover .other-work-card-icon{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.other-work-card:hover .other-work-card-icon{background:color-mix(in srgb,var(--foreground)8%,transparent)}}.other-work-card:hover .other-work-card-icon{color:var(--foreground)}}.other-work-card-content{flex:1;min-width:0}.other-work-card-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.other-work-card-title{font-family:var(--font-headline);color:var(--foreground);transition:color var(--duration-fast)var(--ease-out);font-size:1rem;font-weight:400}.other-work-card-arrow{color:var(--muted-foreground);opacity:0;transition:opacity var(--duration-fast)var(--ease-out),transform var(--duration-fast)var(--ease-out);flex-shrink:0;transform:translate(-4px,4px)}@media (hover:hover) and (pointer:fine){.other-work-card:hover .other-work-card-arrow{opacity:1;transform:translate(0)}}.other-work-card-description{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem;line-height:1.5}.photography-lightbox.yarl__root{--yarl__portal_zindex:10001}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.decorative-separator{color:var(--muted-foreground);justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.decorative-separator:before,.decorative-separator:after{content:"";background:var(--border);flex:1;max-width:4rem;height:1px}.decorative-separator:before{background:linear-gradient(to right,transparent,var(--border))}.decorative-separator:after{background:linear-gradient(to left,transparent,var(--border))}[cmdk-dialog]{z-index:9999;position:fixed;inset:0}.cmdk-dialog{z-index:9999;pointer-events:none;background:0 0;border:none;width:100%;max-width:none;height:100%;max-height:none;padding:0;position:fixed;inset:0}.cmdk-overlay{z-index:1;pointer-events:auto;cursor:default;background:var(--background);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.cmdk-overlay{background:color-mix(in srgb,var(--background)60%,transparent)}}.cmdk-overlay{-webkit-backdrop-filter:blur(2px)}.cmdk-container{z-index:2;pointer-events:auto;border:1px solid var(--border);background:var(--background);width:min(90vw,560px);box-shadow:0 0 0 1px var(--foreground),0 25px 50px -12px var(--foreground);position:fixed;top:12%;left:50%;overflow:hidden;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.cmdk-container{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground)3%,transparent),0 25px 50px -12px color-mix(in srgb,var(--foreground)25%,transparent)}}[data-theme=dark] .cmdk-container{background:var(--card);box-shadow:0 0 0 1px var(--foreground),0 25px 50px -12px #0009}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .cmdk-container{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground)5%,transparent),0 25px 50px -12px #0009}}.cmdk-input-wrapper{border-bottom:1px solid var(--border);background:var(--background);align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}[data-theme=dark] .cmdk-input-wrapper{background:var(--card)}.cmdk-input{color:var(--foreground);caret-color:var(--accent);font-family:var(--font-body),Georgia,serif;letter-spacing:.01em;background:0 0;border:none;outline:none;flex:1;font-size:1rem;line-height:1.5}.cmdk-input::placeholder{color:var(--muted-foreground);opacity:.7;font-style:italic}.cmdk-list{overscroll-behavior:contain;max-height:min(55vh,400px);padding:.5rem 0;overflow-y:auto}.cmdk-empty,.cmdk-loading-state{color:var(--muted-foreground);font-family:var(--font-body),Georgia,serif;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem;font-size:.875rem;font-style:italic;display:flex}.cmdk-group{padding:0}.cmdk-group+.cmdk-group{margin-top:.25rem}.cmdk-group[hidden]{display:none}[cmdk-group-heading],.cmdk-group-heading{color:var(--muted-foreground);-webkit-user-select:none;user-select:none;font-family:var(--font-serif),Georgia,serif;letter-spacing:.1em;text-transform:uppercase;padding:.75rem 1.5rem .5rem;font-size:.6875rem;font-weight:500}.cmdk-item{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--foreground);font-family:var(--font-body),Georgia,serif;transition:background-color var(--duration-fast)var(--ease-out),color var(--duration-fast)var(--ease-out);align-items:center;gap:.75rem;margin:0 .5rem;padding:.625rem 1rem .625rem 2rem;font-size:.9375rem;display:flex;position:relative}.cmdk-item:before{content:"→";color:#0000;font-family:var(--font-serif),Georgia,serif;transition:color var(--duration-fast)var(--ease-out);font-size:.875rem;font-style:italic;position:absolute;left:.75rem}@media (hover:hover) and (pointer:fine){.cmdk-item:hover{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.cmdk-item:hover{background:color-mix(in srgb,var(--foreground)3%,transparent)}}}.cmdk-item[data-selected=true]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.cmdk-item[data-selected=true]{background:color-mix(in srgb,var(--foreground)4%,transparent)}}.cmdk-item[data-selected=true]:before{color:var(--accent)}.cmdk-item-prefix,.cmdk-item-external{color:var(--muted-foreground);font-family:var(--font-serif),Georgia,serif;flex-shrink:0;font-style:italic}.cmdk-item-prefix{text-align:center;width:1rem}.cmdk-item-title{text-overflow:ellipsis;white-space:nowrap;color:inherit;flex:1;overflow:hidden}.cmdk-item[data-selected=true] .cmdk-item-title{color:var(--foreground)}.cmdk-item[data-selected=true] .cmdk-item-external{color:var(--accent)}.cmdk-item-kbd{color:var(--muted-foreground);font-family:var(--font-mono),monospace;letter-spacing:.02em;opacity:.8;flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;font-size:.6875rem;display:inline-flex}.cmdk-highlight{color:var(--accent);background:0 0;font-weight:500}.cmdk-loading,.cmdk-loading-spinner{border-radius:50%;animation:.8s linear infinite cmdk-spin}.cmdk-loading{border:1.5px solid var(--border);border-top-color:var(--muted-foreground);flex-shrink:0;width:.875rem;height:.875rem}.cmdk-loading-spinner{border:1.5px solid var(--border);border-top-color:var(--muted-foreground);width:1rem;height:1rem}.cmdk-list::-webkit-scrollbar{width:6px}.cmdk-list::-webkit-scrollbar-track{background:0 0}.cmdk-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.cmdk-list::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.cmdk-footer{border-top:1px solid var(--border);background:var(--background);justify-content:center;align-items:center;gap:1.5rem;padding:.75rem 1rem;display:flex}[data-theme=dark] .cmdk-footer{background:var(--card)}.cmdk-footer-hint{color:var(--muted-foreground);font-family:var(--font-body),Georgia,serif;letter-spacing:.02em;align-items:center;gap:.375rem;font-size:.6875rem;display:flex}.cmdk-footer-hint kbd{border:1px solid var(--border);background:var(--foreground);justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.cmdk-footer-hint kbd{background:color-mix(in srgb,var(--foreground)2%,transparent)}}.cmdk-footer-hint kbd{color:var(--muted-foreground);font-family:var(--font-mono),monospace;font-size:.625rem}.cmdk-footer-hint span{text-transform:lowercase;font-style:italic}@media (max-width:640px){.cmdk-container{width:94vw;top:8%}.cmdk-input-wrapper{padding:1rem 1.25rem}.cmdk-list{max-height:50vh}[cmdk-group-heading]{padding:.625rem 1.25rem .375rem}.cmdk-item{margin:0 .375rem;padding:.75rem .875rem}.cmdk-footer{gap:1rem;padding:.625rem .75rem}.cmdk-footer-hint span{display:none}}@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}@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-divide-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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
