@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b59df7d1-module__cKEDKa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b59df7d1-module__cKEDKa__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c-s.0cbqbgn.0b1sm.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8-s.0j8hzus97z-h~.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2-s.p.0j~~wvhvc~~2a.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_e078e55f-module__QdphfW__className{font-family:Fraunces,Fraunces Fallback;font-style:italic}.fraunces_e078e55f-module__QdphfW__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_31501988-module__E8CJwG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_31501988-module__E8CJwG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-inter), system-ui, -apple-system, sans-serif;--font-serif:var(--font-fraunces), "Times New Roman", serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", Menlo, monospace;--color-black:#000;--color-white:#fff;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:#1a1a1a;--color-white-05:#ffffff0d;--color-white-08:#ffffff14;--color-white-10:#ffffff1a;--color-white-15:#ffffff26;--color-white-20:#fff3;--color-white-40:#fff6;--color-white-60:#fff9;--color-white-80:#fffc;--color-white-90:#ffffffe6;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}}@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}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--black)}body{background:var(--black);color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}::selection{background:var(--white);color:var(--black)}}@layer components{nav.top{z-index:100;-webkit-backdrop-filter:blur(12px);background:#000000b3;justify-content:space-between;align-items:center;padding:24px 32px;display:flex;position:fixed;top:0;left:0;right:0}nav.top .brand{font-family:var(--serif);letter-spacing:-.015em;color:var(--white);transition:opacity .2s var(--ease);font-size:22px;font-style:italic;font-weight:500}nav.top .brand:hover{opacity:.7}nav.top .links{color:var(--white);letter-spacing:-.005em;align-items:center;gap:24px;font-size:14px;display:flex}nav.top .links a{color:var(--white);transition:opacity .2s var(--ease)}nav.top .links a:hover{opacity:.6}.hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 32px 80px;display:flex;position:relative;overflow:hidden}.hero-inner{z-index:2;width:100%;max-width:1440px;margin:0 auto;position:relative}.hero-title{font-family:var(--serif);letter-spacing:-.025em;max-width:1100px;color:var(--white);margin-bottom:24px;font-size:clamp(34px,8vw,132px);font-style:italic;font-weight:500;line-height:1.05}@media (min-width:768px){.hero-title{white-space:nowrap;line-height:1}}.hero-tagline{color:var(--white);letter-spacing:-.01em;margin-bottom:32px;font-size:clamp(15px,1.2vw,18px);font-weight:400}.hero-lead{max-width:540px;color:var(--white-60);font-size:14px;line-height:1.65}.hero-lead em{color:var(--white-80);font-style:normal}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0a,#0000 70%);width:800px;height:800px;position:absolute;top:-200px;left:-200px}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff08,#0000 70%);width:700px;height:700px;position:absolute;bottom:-300px;right:-200px}.section{padding:120px 32px;position:relative}.section-inner{max-width:1440px;margin:0 auto}section[id],.contact[id]{scroll-margin-top:32px}.work-header{text-align:center;margin-bottom:48px}.work-italic{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);font-size:clamp(40px,6.5vw,96px);font-style:italic;font-weight:400;line-height:1}.work-italic .em{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:2px}.work-sub{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white-40);margin-top:20px;font-size:11px}.deck{perspective:1200px;justify-content:center;align-items:center;max-width:1200px;height:600px;margin:0 auto;display:flex;position:relative}.deck-card{background:var(--surface);border:1px solid var(--white-10);width:340px;height:500px;color:var(--white);transition:transform .55s var(--ease), border-color .3s var(--ease), background .3s var(--ease);cursor:pointer;flex-direction:column;gap:14px;padding:20px;text-decoration:none;display:flex;position:absolute;box-shadow:0 24px 60px -20px #000c}.deck-card:hover{border-color:var(--white-40);background:#1f1f1f}.card-top{font-family:var(--mono);color:var(--white-40);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;font-size:11px;display:flex}.card-image{background:linear-gradient(135deg, transparent 49%, var(--white-08) 49.5%, var(--white-08) 50.5%, transparent 51%), linear-gradient(45deg, transparent 49%, var(--white-08) 49.5%, var(--white-08) 50.5%, transparent 51%), var(--black);border:1px solid var(--white-10);background-size:14px 14px,14px 14px,100%;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card-image img{object-fit:cover;opacity:.85;width:100%;height:100%;transition:opacity .4s var(--ease), transform .5s var(--ease)}.card-image img.invert-light{opacity:.92}.deck-card:hover .card-image img{opacity:1;transform:scale(1.04)}.deck-card:hover .card-image img.invert-light{opacity:1}.card-image-label{font-family:var(--mono);color:var(--white-40);letter-spacing:.18em;text-transform:uppercase;pointer-events:none;font-size:10px;position:absolute}.card-title{font-family:var(--font);text-transform:uppercase;letter-spacing:-.025em;font-size:30px;font-weight:800;line-height:1}.card-desc{font-family:var(--mono);color:var(--white-60);letter-spacing:.01em;font-size:11px;line-height:1.55}.card-footer{border-top:1px solid var(--white-10);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.card-tags{font-family:var(--mono);color:var(--white-40);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.card-arrow{font-family:var(--mono);color:var(--white-60);transition:transform .3s var(--ease), color .3s var(--ease);font-size:14px}.deck-card:hover .card-arrow{color:var(--white);transform:translate(4px)}.deck-card.c1{z-index:1;transform:rotate(-12deg)translate(-300px,36px)}.deck-card.c2{z-index:2;transform:rotate(-6deg)translate(-150px,16px)}.deck-card.c3{z-index:3;transform:rotate(0)}.deck-card.c4{z-index:2;transform:rotate(6deg)translate(150px,16px)}.deck-card.c5{z-index:1;transform:rotate(12deg)translate(300px,36px)}.deck:hover .deck-card.c1{transform:rotate(-18deg)translate(-360px,24px)}.deck:hover .deck-card.c5{transform:rotate(18deg)translate(360px,24px)}.deck-foot{text-align:center;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white-40);margin-top:80px;font-size:11px}.deck-foot a{color:var(--white);border-bottom:1px solid var(--white-40);transition:border-color .2s var(--ease);padding-bottom:2px}.deck-foot a:hover{border-color:var(--white)}.marquee-wrap{padding:80px 0 32px;position:relative;overflow:hidden}.marquee{white-space:nowrap;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.marquee-track{gap:0;animation:70s linear infinite marquee;display:inline-flex}.marquee:hover .marquee-track{animation-play-state:paused}.mq-item{opacity:.55;height:88px;transition:opacity .3s var(--ease), transform .3s var(--ease);flex-shrink:0;justify-content:center;align-items:center;padding:0 36px;display:inline-flex}.mq-item:hover{opacity:1;transform:scale(1.08)}.mq-item img{object-fit:contain;filter:brightness(0)invert();width:auto;max-width:96px;height:44px}.mq-item .mq-fallback{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--white-20);padding:12px 18px;font-size:13px;font-weight:600}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.legend{max-width:1280px;margin:0 auto;padding:32px 32px 0}.legend-head{text-align:center;margin-bottom:48px}.legend-head .title{font-family:var(--serif);letter-spacing:-.015em;color:var(--white);font-size:clamp(28px,3.4vw,48px);font-style:italic;font-weight:400;line-height:1}.legend-row{border-top:1px solid var(--white-10);grid-template-columns:220px 1fr 1.4fr;align-items:baseline;gap:48px;padding:32px 0;display:grid}.legend-row:last-of-type{border-bottom:1px solid var(--white-10)}.legend-verb{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);font-size:clamp(28px,3.2vw,44px);font-style:italic;font-weight:400;line-height:1}.legend-purpose{color:var(--white-60);max-width:360px;font-size:14px;line-height:1.6}.legend-tools{font-family:var(--mono);color:var(--white);letter-spacing:.04em;font-size:12px;line-height:1.8}.legend-tools .sep{color:var(--white-40);margin:0 6px}.legend-tools .strong{color:var(--white);border-bottom:1px solid var(--white-20);padding-bottom:1px}#about.section{padding-top:80px;padding-bottom:80px}.about-merged{max-width:1100px;margin:0 auto}.about-h{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);margin-bottom:36px;font-size:clamp(32px,5vw,72px);font-style:italic;font-weight:400;line-height:1}.about-quote{border-left:1px solid var(--white-20);max-width:960px;margin:0 0 32px;padding:8px 0 8px 48px;position:relative}.about-quote:before{content:"\"";font-family:var(--serif);color:var(--white-20);font-size:72px;font-style:italic;line-height:1;position:absolute;top:-12px;left:20px}.about-quote p{font-family:var(--serif);letter-spacing:-.015em;color:var(--white);font-size:clamp(20px,2.4vw,32px);font-style:italic;font-weight:400;line-height:1.35}.about-quote em{text-underline-offset:.15em;font-style:italic;text-decoration:underline;text-decoration-thickness:1px}.about-habits{grid-template-columns:140px 1fr;gap:40px;max-width:1000px;margin:0 0 36px;display:grid}.habits-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--white-40);padding-top:8px;font-size:11px}.habits-prose{color:var(--white-60);max-width:760px;font-size:15px;line-height:1.7}.habits-prose em{font-family:var(--serif);color:var(--white);letter-spacing:-.005em;font-style:italic;font-weight:500}.about-divider{align-items:center;gap:24px;margin:8px 0 24px;display:flex}.about-divider:before,.about-divider:after{content:"";background:var(--white-10);flex:1;height:1px}.about-divider-label{font-family:var(--serif);letter-spacing:-.005em;color:var(--white-60);white-space:nowrap;font-size:15px;font-style:italic;font-weight:400}.detail-wrap{max-width:1100px;margin:0 auto}.detail-grid{grid-template-columns:1fr 280px;align-items:start;gap:80px;margin-bottom:64px;display:grid}.detail-main{min-width:0}.project-detail .about-h{margin-bottom:24px}.project-detail .about-quote{margin-bottom:40px}.detail-build-tag{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white-40);margin-bottom:18px;font-size:11px}.detail-build-prose p{color:var(--white-60);max-width:640px;margin-bottom:18px;font-size:15px;line-height:1.75}.detail-build-prose p:last-child{margin-bottom:0}.detail-side{flex-direction:column;align-self:start;gap:36px;display:flex}.meta-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white-40);border-bottom:1px solid var(--white-10);margin-bottom:10px;padding-bottom:8px;font-size:11px}.meta-value{font-family:var(--font);color:var(--white);font-size:15px;line-height:1.4}.detail-side-block .meta-label{margin-bottom:12px}.detail-stack-inline{font-family:var(--mono);color:var(--white);letter-spacing:.02em;font-size:13.5px;line-height:1.85}.detail-stack-inline .tag{color:var(--white)}.detail-stack-inline .sep{color:var(--white-40);margin:0 5px}.detail-links{flex-direction:column;display:flex}.detail-link{color:var(--white);transition:padding .2s var(--ease);padding:12px 0 14px;display:block}.detail-link+.detail-link{border-top:1px dashed var(--white-10)}.detail-link .meta-label{border-bottom:none;margin-bottom:6px;padding-bottom:0}.detail-link .url{font-family:var(--mono);color:var(--white);letter-spacing:.02em;word-break:break-all;align-items:center;gap:6px;font-size:14px;line-height:1.5;display:inline-flex}.detail-link .arrow{color:var(--white-40);transition:color .2s var(--ease), transform .2s var(--ease);flex-shrink:0}.detail-link:hover{padding-left:6px}.detail-link:hover .arrow{color:var(--white);transform:translate(2px,-2px)}.detail-back{margin-top:8px}.detail-back a{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-60);transition:color .2s var(--ease), gap .2s var(--ease);align-items:center;gap:10px;font-size:13px;display:inline-flex}.detail-back a:hover{color:var(--white);gap:14px}.detail-back .arrow{font-size:15px}@media (max-width:900px){.detail-grid{grid-template-columns:1fr;gap:56px}.detail-side{position:static}}.about-page.section{padding-top:96px;padding-bottom:96px}.about-page .about-h{margin-bottom:28px}.about-page .about-intro{font-family:var(--serif);letter-spacing:-.015em;color:var(--white-60);max-width:760px;margin-bottom:64px;font-size:clamp(20px,2.2vw,28px);font-style:italic;font-weight:400;line-height:1.4}.about-page .about-intro em{color:var(--white);font-style:italic}.bio-list{border-top:1px solid var(--white-10);flex-direction:column;max-width:1000px;display:flex}.bio-section{border-bottom:1px solid var(--white-10);grid-template-columns:220px 1fr;gap:48px;padding:32px 0;display:grid}.bio-lead{font-family:var(--serif);letter-spacing:-.015em;color:var(--white);font-size:clamp(22px,2.4vw,30px);font-style:italic;font-weight:400;line-height:1.1}.bio-prose{color:var(--white-60);max-width:640px;font-size:15px;line-height:1.75}.bio-prose em{font-family:var(--serif);color:var(--white);letter-spacing:-.005em;font-style:italic;font-weight:500}@media (max-width:720px){.bio-section{grid-template-columns:1fr;gap:12px}}.toolchain-page.section{padding-top:96px;padding-bottom:96px}.toolchain-page .about-h{margin-bottom:28px}.toolchain-page .about-intro{font-family:var(--serif);letter-spacing:-.015em;color:var(--white-60);max-width:760px;margin-bottom:64px;font-size:clamp(20px,2.2vw,28px);font-style:italic;font-weight:400;line-height:1.4}.toolchain-page .about-intro em{color:var(--white);font-style:italic}.work-page.section{padding-top:96px;padding-bottom:64px}.work-page .about-h,.work-page .about-quote{margin-bottom:24px}.work-page .about-divider{margin:8px 0 16px}.work-page .exp-entry{padding:16px 20px}.experience-list{border-top:1px solid var(--white-10);flex-direction:column;display:flex}.exp-entry{border-bottom:1px solid var(--white-10);transition:background .3s var(--ease), color .3s var(--ease);cursor:pointer;grid-template-columns:180px 280px 1fr;align-items:center;gap:40px;padding:20px 24px;display:grid;position:relative}.exp-entry:hover{background:var(--white)}.exp-entry:hover .exp-year,.exp-entry:hover .exp-meta .exp-org{color:#0000008c}.exp-entry:hover .exp-meta .exp-role,.exp-entry:hover .exp-summary,.exp-entry:hover .exp-summary strong{color:var(--black)}.exp-year{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--white-60);padding-top:4px;font-size:13px}.exp-meta{flex-direction:column;gap:6px;display:flex}.exp-meta .exp-role{font-family:var(--serif);letter-spacing:-.015em;color:var(--white);font-size:19px;font-style:italic;font-weight:400;line-height:1.15}.exp-meta .exp-org{font-family:var(--mono);color:var(--white);letter-spacing:.04em;margin-top:4px;font-size:12px}.exp-summary{font-family:var(--mono);letter-spacing:.04em;color:var(--white-60);font-size:12px;line-height:1.65}.exp-summary strong{color:var(--white);font-weight:600}.contact{text-align:center;padding:140px 32px 80px;position:relative}.contact-inner{max-width:1240px;margin:0 auto}.contact-header{text-align:center;max-width:720px;margin:0 auto 56px}.contact-italic{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);margin-top:16px;font-size:clamp(36px,5vw,64px);font-style:italic;font-weight:400;line-height:1}.contact-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--white-40);margin-top:18px;font-size:12px}.contact-cards{max-width:500px;transition:max-width .5s var(--ease);grid-template-columns:1fr;align-items:start;gap:32px;margin:64px auto 0;display:grid}.contact-cards>.avatar-card{display:none}.contact-cards>*{margin:0}.contact-cards.twin-open{grid-template-columns:1fr 1fr;align-items:stretch;max-width:1240px}.contact-cards.twin-open>.avatar-card{height:100%;min-height:0;animation:twin-slide-in .5s var(--ease) both;flex-direction:column;order:2;display:flex;overflow:hidden}.contact-cards.twin-open>.calling-card{flex-direction:column;order:1;height:100%;min-height:0;display:flex;overflow:hidden}.contact-cards.twin-open>.calling-card .card-bottom-row{margin-top:auto}@keyframes twin-slide-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.calling-card{background:var(--surface);border:1px solid var(--white-15);text-align:left;width:100%;transition:border-color .3s var(--ease);padding:56px 40px 32px;position:relative}.calling-card:hover{border-color:var(--white-40)}.calling-card:before,.calling-card:after,.avatar-card:before,.avatar-card:after{content:"";border-color:var(--white-40);border-style:solid;width:12px;height:12px;position:absolute}.calling-card:before,.avatar-card:before{border-width:1px 0 0 1px;top:8px;left:8px}.calling-card:after,.avatar-card:after{border-width:0 1px 1px 0;bottom:8px;right:8px}.card-corner{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-40);font-size:10px;position:absolute;top:16px}.card-corner.left{left:24px}.card-corner.right{right:24px}.card-name{font-family:var(--serif);letter-spacing:-.02em;text-align:center;color:var(--white);font-size:clamp(36px,4.4vw,52px);font-style:italic;font-weight:400;line-height:1}.card-role{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--white-40);text-align:center;margin-top:14px;font-size:13px}.card-divider{background:var(--white-10);height:1px;margin:32px 0 18px}.card-note{font-family:var(--serif);letter-spacing:-.005em;color:var(--white-60);text-align:left;margin:26px 0 22px;font-size:16px;font-style:italic;line-height:1.55}.card-note em{color:var(--white);border-bottom:1px solid var(--white-20);padding-bottom:1px;font-style:italic}.twin-trigger{border:1px solid var(--white-20);width:100%;color:var(--white);font-family:var(--font);letter-spacing:-.005em;text-align:left;cursor:pointer;transition:all .25s var(--ease);background:0 0;align-items:center;gap:14px;margin:18px 0 6px;padding:14px 18px;font-size:14px;font-weight:500;display:flex}.twin-trigger:hover,.twin-trigger.is-open{background:var(--white);color:var(--black);border-color:var(--white)}.twin-trigger-text{flex-direction:column;flex:1;gap:3px;display:flex}.twin-trigger-label{font-family:var(--serif);letter-spacing:-.015em;font-size:19px;font-style:italic;font-weight:400;line-height:1}.twin-trigger-sub{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin-top:5px;font-size:10px}.twin-trigger-arrow{font-family:var(--mono);transition:transform .25s var(--ease);font-size:16px}.twin-trigger:hover .twin-trigger-arrow{transform:translate(3px)}.card-message{flex-direction:column;margin-top:8px;display:flex}.message-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--white-40);margin-bottom:12px;font-size:11px}.letter-wrap{border:1px solid var(--white-15);background:var(--black);transition:border-color .25s var(--ease);flex-direction:column;display:flex}.letter-wrap:focus-within{border-color:var(--white-40)}.letter-head{border-bottom:1px dashed var(--white-10);align-items:baseline;gap:10px;padding:14px 18px 10px;display:flex}.letter-to{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--white-40);font-size:11px}.letter-name{font-family:var(--serif);letter-spacing:-.01em;color:var(--white);flex:1;font-size:17px;font-style:italic;font-weight:400}.letter-via{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-40);font-size:9.5px}.letter-body{width:100%;min-height:100px;color:var(--white);font-family:var(--font);letter-spacing:-.005em;resize:vertical;background:0 0;border:none;outline:none;flex:1;padding:14px 18px;font-size:14px;line-height:1.6}.letter-body::placeholder{color:var(--white-40);font-family:var(--serif);letter-spacing:-.01em;font-size:15px;font-style:italic}.letter-foot{border-top:1px dashed var(--white-10);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px 14px;display:flex}.letter-sign{font-family:var(--serif);color:var(--white-60);letter-spacing:-.005em;font-size:14px;font-style:italic}.letter-sign em{color:var(--white);border-bottom:1px solid var(--white-20);padding-bottom:1px;font-style:italic}.letter-send{border:1px solid var(--white-20);color:var(--white);font-family:var(--serif);letter-spacing:-.005em;cursor:pointer;transition:all .25s var(--ease);background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-style:italic;font-weight:400;display:inline-flex}.letter-send:hover{background:var(--white);color:var(--black);border-color:var(--white)}.letter-send .send-arrow{font-family:var(--mono);transition:transform .25s var(--ease);font-size:16px}.letter-send:hover .send-arrow{transform:translate(4px)}.card-bottom-row{border-top:1px solid var(--white-10);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:22px;display:flex}.email-inline{color:var(--white);transition:opacity .2s var(--ease);align-items:baseline;gap:8px;display:inline-flex}.email-inline:hover{opacity:.7}.email-prefix{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--white-40);font-size:11px}.email-addr{font-family:var(--mono);letter-spacing:.01em;color:var(--white);border-bottom:1px solid var(--white-20);transition:border-color .2s var(--ease);padding-bottom:1px;font-size:13.5px}.email-inline:hover .email-addr{border-color:var(--white)}.socials-group{align-items:center;gap:14px;display:inline-flex}.social-icon-link{color:var(--white);transition:opacity .2s var(--ease);align-items:center;padding:4px;display:inline-flex}.social-icon-link:hover{opacity:.65}.social-icon-svg{width:20px;height:20px;display:block}.avatar-card{background:var(--surface);border:1px solid var(--white-15);text-align:left;width:100%;max-height:min(720px,85vh);transition:border-color .3s var(--ease);padding:40px 36px 24px;position:relative}.avatar-card:hover{border-color:var(--white-40)}.avatar-head{align-items:center;gap:18px;margin-bottom:28px;display:flex}.avatar-name{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);font-size:clamp(24px,2.6vw,32px);font-style:italic;font-weight:400;line-height:1}.avatar-name em{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:1px}.avatar-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--white-40);margin-top:6px;font-size:11px}.chat-msg{flex-direction:column;gap:6px;max-width:85%;display:flex}.msg-user{align-self:flex-end;align-items:flex-end}.msg-ai{align-self:flex-start}.msg-tag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-40);font-size:9.5px}.msg-bubble{border-radius:2px;padding:10px 14px;font-size:13px;line-height:1.5}.msg-bubble-user{background:var(--white);color:var(--black)}.msg-bubble-ai{border:1px solid var(--white-10);color:var(--white-80);background:#ffffff0f}.msg-bubble-ai em{font-family:var(--serif);color:var(--white);font-style:italic}.msg-typing{border:1px solid var(--white-10);background:#ffffff0f;border-radius:2px;gap:5px;padding:12px 14px;display:inline-flex}.msg-typing span{background:var(--white-60);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite msg-typing}.msg-typing span:nth-child(2){animation-delay:.15s}.msg-typing span:nth-child(3){animation-delay:.3s}@keyframes msg-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.avatar-status{border-top:1px solid var(--white-10);border-bottom:1px solid var(--white-10);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-60);align-items:center;gap:10px;margin-bottom:18px;padding:12px 0;font-size:10px;display:flex}.avatar-status .status-dot{background:var(--white);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite status-pulse}.avatar-status .status-meta{color:var(--white-40);margin-left:auto}@keyframes status-pulse{0%,to{opacity:1;box-shadow:0 0 #fff0}50%{opacity:.4;box-shadow:0 0 0 4px #ffffff0f}}.avatar-chat{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:14px;min-height:0;margin-bottom:14px;padding:4px 4px 16px;display:flex;overflow-y:auto}.avatar-chat::-webkit-scrollbar{width:3px}.avatar-chat::-webkit-scrollbar-track{background:0 0}.avatar-chat::-webkit-scrollbar-thumb{background:var(--white-15)}.avatar-empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:32px 16px;display:flex}.avatar-empty-state .cursor-block{background:var(--white);width:9px;height:22px;animation:1.05s steps(2,start) infinite cursor-blink;display:inline-block}.avatar-empty-state .empty-hint{font-family:var(--serif);letter-spacing:-.005em;color:var(--white-60);max-width:280px;font-size:17px;font-style:italic;font-weight:400;line-height:1.4}.avatar-empty-state .empty-meta{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white-40);font-size:10px}@keyframes cursor-blink{to{background:0 0}}.avatar-error{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ff8c8ce6;background:#ff8c8c0f;border:1px solid #ff8c8c33;margin-bottom:12px;padding:8px 12px;font-size:11px}.avatar-input{border:1px solid var(--white-20);background:var(--black);transition:border-color .2s var(--ease);align-items:stretch;display:flex}.avatar-input:focus-within{border-color:var(--white)}.avatar-input .input-prefix{font-family:var(--mono);color:var(--white-40);-webkit-user-select:none;user-select:none;transition:color .2s var(--ease);flex-shrink:0;align-items:flex-start;padding:14px 0 14px 16px;font-size:16px;display:inline-flex}.avatar-input:focus-within .input-prefix{color:var(--white)}.avatar-input textarea{color:var(--white);font-family:var(--font);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:48px;max-height:140px;padding:14px 12px;font-size:14px;line-height:1.5}.avatar-input textarea::placeholder{color:var(--white-40);font-family:var(--serif);letter-spacing:-.005em;font-size:15px;font-style:italic}.avatar-input button{border:none;border-left:1px solid var(--white-15);width:56px;color:var(--white);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-input button:hover:not(:disabled){background:var(--white);color:var(--black)}.avatar-input button:disabled{color:var(--white-40);cursor:not-allowed}.avatar-input button svg{width:18px;height:18px}.avatar-hint{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--white-40);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:10px;display:flex}.avatar-hint kbd{font-family:var(--mono);background:var(--white-05);border:1px solid var(--white-15);color:var(--white);letter-spacing:.1em;margin-right:4px;padding:2px 6px;font-size:10px}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);will-change:opacity, transform;transform:translateY(20px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(20px)}.reveal-stagger.in>:first-child{transition-delay:50ms}.reveal-stagger.in>:nth-child(2){transition-delay:.1s}.reveal-stagger.in>:nth-child(3){transition-delay:.15s}.reveal-stagger.in>:nth-child(4){transition-delay:.2s}.reveal-stagger.in>:nth-child(5){transition-delay:.25s}.reveal-stagger.in>:nth-child(6){transition-delay:.3s}.reveal-stagger.in>*{opacity:1!important;transform:translateY(0)!important}.reveal-stagger:not(.in)>*{opacity:0;transform:translateY(20px)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-10{z-index:10}.flex{display:flex}.inline{display:inline}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.overflow-x-hidden{overflow-x:hidden}.bg-black{background-color:var(--color-black)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.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,)}.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))}.ease{--tw-ease:var(--ease);transition-timing-function:var(--ease)}}:root{--black:var(--color-black);--white:var(--color-white);--surface:var(--color-surface);--white-05:var(--color-white-05);--white-08:var(--color-white-08);--white-10:var(--color-white-10);--white-15:var(--color-white-15);--white-20:var(--color-white-20);--white-40:var(--color-white-40);--white-60:var(--color-white-60);--white-80:var(--color-white-80);--white-90:var(--color-white-90);--font:var(--font-sans);--serif:var(--font-serif);--mono:var(--font-mono)}@media (max-width:1024px){.contact-cards,.contact-cards.twin-open{grid-template-columns:1fr;gap:24px;max-width:640px;margin-left:auto;margin-right:auto}.deck{height:540px}.deck-card.c1{transform:rotate(-10deg)translate(-220px,32px)}.deck-card.c2{transform:rotate(-5deg)translate(-110px,14px)}.deck-card.c4{transform:rotate(5deg)translate(110px,14px)}.deck-card.c5{transform:rotate(10deg)translate(220px,32px)}.deck:hover .deck-card.c1{transform:rotate(-14deg)translate(-260px,20px)}.deck:hover .deck-card.c5{transform:rotate(14deg)translate(260px,20px)}.legend-row{grid-template-columns:160px 1fr 1fr;gap:24px}.exp-entry{grid-template-columns:140px 240px 1fr;gap:28px;padding:40px 0}.about-habits{grid-template-columns:1fr;gap:16px}.habits-tag{padding-top:0}}@media (max-width:900px){.deck{flex-direction:column;align-items:center;gap:20px;height:auto;padding:0;position:relative}.deck-card,.deck-card.c1,.deck-card.c2,.deck-card.c3,.deck-card.c4,.deck-card.c5,.deck:hover .deck-card.c1,.deck:hover .deck-card.c5{width:100%;max-width:380px;height:auto;min-height:440px;position:relative;transform:none!important}}@media (max-width:640px){nav.top,.section,.hero,.contact{padding-left:20px;padding-right:20px}.section{padding:80px 20px}.avatar-card{padding:44px 24px 24px}.avatar-head{gap:14px;margin-bottom:22px}.avatar-name{font-size:22px}nav.top .links{font-size:12px}.hero{padding-bottom:64px}.exp-entry{grid-template-columns:1fr;gap:16px;padding:24px 16px}.about-h{margin-bottom:48px}.about-quote{margin-bottom:48px;padding-left:24px}.about-quote:before{font-size:64px;top:-8px;left:12px}.about-habits{gap:12px;margin-bottom:56px}.about-divider{gap:12px;margin:16px 0 40px}.about-divider-label{white-space:normal;text-align:center;font-size:13px}.deck-foot{margin-top:48px}.legend{padding-top:64px;padding-left:20px;padding-right:20px}.legend-row{grid-template-columns:1fr;gap:12px;padding:24px 0}.legend-purpose{max-width:none}.card-bottom-row{flex-direction:column;align-items:flex-start;gap:14px}.email-inline{flex-direction:column;align-items:flex-start;gap:4px}.email-addr{word-break:break-all;font-size:13px}.socials-group{gap:16px}.twin-trigger{gap:10px;padding:12px 14px}.twin-trigger-label{font-size:13px}.twin-trigger-sub{font-size:10px}.marquee-wrap{padding:64px 0 24px}.mq-item{height:72px;padding:0 24px}.mq-item img,.mq-item .mq-fallback{transform:scale(.85)}}@media (max-width:480px){nav.top{padding:16px}nav.top .brand{font-size:17px}nav.top .links{gap:14px}nav.top .links a{font-size:11px}.section,.hero,.contact{padding-left:16px;padding-right:16px}.hero-title{font-size:clamp(28px,9vw,38px)}.hero-tagline{font-size:14px}.hero-lead{font-size:13px}.about-h{font-size:clamp(28px,7vw,40px)}.about-quote p{font-size:19px}.about-quote:before{font-size:52px;top:-6px;left:8px}.about-quote{padding-left:22px}.work-italic{font-size:clamp(32px,7vw,44px)}.work-sub{font-size:10px}.legend-head .title{font-size:clamp(22px,5vw,28px)}.legend-head{margin-bottom:32px}.legend-verb{font-size:clamp(22px,5vw,28px)}.legend-tools,.legend-purpose{font-size:12px}.legend{padding-top:24px}.contact-italic{font-size:clamp(30px,7vw,42px)}.card-name{font-size:clamp(28px,7vw,38px)}.card-role{font-size:11px}.deck-card{padding:16px}.card-title{font-size:26px}.card-desc{font-size:10.5px}.twin-trigger{gap:10px;padding:11px 13px}.twin-trigger-label{font-size:12.5px}.twin-trigger-sub{letter-spacing:.12em;font-size:9.5px}.twin-trigger-arrow{font-size:14px}.mq-item{height:60px;padding:0 18px}.mq-item img{width:36px;height:36px}.marquee-wrap{padding:48px 0 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none!important}.reveal,.reveal-stagger>*,.reveal-stagger.in>*{opacity:1!important;transform:none!important}}@media (hover:none){.exp-entry:hover{background:0 0}.exp-entry:hover .exp-year,.exp-entry:hover .exp-meta .exp-org{color:var(--white-60)}.exp-entry:hover .exp-meta .exp-role,.exp-entry:hover .exp-summary,.exp-entry:hover .exp-summary strong{color:var(--white)}.twin-trigger:hover{color:var(--white);border-color:var(--white-20);background:0 0}.twin-trigger:hover .twin-trigger-arrow{transform:none}.deck-card:hover{border-color:var(--white-10);background:var(--surface)}.deck-card:hover .card-image img{opacity:.7;transform:none}.deck-card:hover .card-image img.invert-light{opacity:.85}.deck-card:hover .card-arrow{color:var(--white-60);transform:none}.social-icon-link:hover{opacity:.85}.email-inline:hover{opacity:1}.mq-item:hover{opacity:.55;transform:none}}@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-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-ease{syntax:"*";inherits:false}
