@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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_3d9c7ff2-module__6cOLqa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_3d9c7ff2-module__6cOLqa__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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.3hlisc-pwq13z.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.0-oo9_1x_xmvg.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.36fqqi66-3tjb.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.3_z45zcoc-xoz.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.1bkzbscqrt8rl.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.1kd-r_s9smv5m.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.3hlisc-pwq13z.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.0-oo9_1x_xmvg.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.36fqqi66-3tjb.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.3_z45zcoc-xoz.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.1bkzbscqrt8rl.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:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.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:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.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:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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_e6d847d5-module___crGSa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_e6d847d5-module___crGSa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-primary:#fafaf9;--bg-secondary:#f5f5f4;--bg-tertiary:#e7e5e4;--bg-surface:#ffffffb3;--bg-surface-solid:#fff;--text-primary:#1c1917;--text-secondary:#57534e;--text-muted:#a8a29e;--border-color:#0000000f;--border-subtle:#00000008;--accent:#6366f1;--accent-hover:#4f46e5;--accent-glow:#6366f11f;--accent-surface:#6366f10f;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 30px #00000014;--shadow-xl:0 20px 60px #0000001a;--shadow-glow:0 0 40px #6366f114;--glass-bg:#fff9;--glass-border:#ffffff4d;--gradient-mesh-1:radial-gradient(ellipse 80% 60% at 10% 20%, #6366f10f, transparent 60%);--gradient-mesh-2:radial-gradient(ellipse 60% 80% at 90% 80%, #a855f70a, transparent 60%);--gradient-mesh-3:radial-gradient(ellipse 50% 50% at 50% 50%, #ec489905, transparent 60%);--code-bg:#f5f5f4;--code-border:#0000000f;--progress-bg:#0000000a;--font-xs:clamp(.75rem, .7rem + .2vw, .8125rem);--font-sm:clamp(.8125rem, .78rem + .15vw, .875rem);--font-base:clamp(.9375rem, .9rem + .2vw, 1.0625rem);--font-lg:clamp(1.125rem, 1rem + .5vw, 1.25rem);--font-xl:clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--font-2xl:clamp(2rem, 1.5rem + 2vw, 3rem);--font-3xl:clamp(2.5rem, 1.8rem + 3vw, 4rem);--font-display:clamp(3rem, 2rem + 4vw, 5.5rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-.03em;--tracking-normal:-.01em;--tracking-wide:.05em;--tracking-wider:.1em;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-slower:.6s}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-tertiary:#1e1e2a;--bg-surface:#ffffff0a;--bg-surface-solid:#16161f;--text-primary:#e8e6e3;--text-secondary:#9ca3af;--text-muted:#4b5563;--border-color:#ffffff0f;--border-subtle:#ffffff08;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-glow:#818cf81f;--accent-surface:#818cf80f;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #00000059;--shadow-xl:0 20px 60px #0006;--shadow-glow:0 0 40px #818cf814;--glass-bg:#ffffff08;--glass-border:#ffffff0f;--gradient-mesh-1:radial-gradient(ellipse 80% 60% at 10% 20%, #6366f114, transparent 60%);--gradient-mesh-2:radial-gradient(ellipse 60% 80% at 90% 80%, #a855f70f, transparent 60%);--gradient-mesh-3:radial-gradient(ellipse 50% 50% at 50% 50%, #ec489908, transparent 60%);--code-bg:#1e1e2a;--code-border:#ffffff0f;--progress-bg:#ffffff0f}.grain-overlay{z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}[data-theme=dark] .grain-overlay{opacity:.04;mix-blend-mode:soft-light}.particle-network-wrap{pointer-events:auto;z-index:0;position:absolute;inset:0;overflow:hidden}.particle-network-canvas{width:100%;height:100%;display:block}.particle-hero{position:relative}.particle-hero>.particle-network-wrap{pointer-events:auto}.particle-hero>:not(.particle-network-wrap){z-index:1;position:relative}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-size:var(--font-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);background-image:var(--gradient-mesh-1), var(--gradient-mesh-2), var(--gradient-mesh-3);transition:background-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;overflow-x:hidden}::selection{background:var(--accent);color:#fff}.container{max-width:1280px;padding:0 var(--space-lg);margin:0 auto}.reading-progress{background:linear-gradient(90deg, var(--accent), #a855f7, #ec4899);z-index:1000;border-radius:0 2px 2px 0;width:0%;height:3px;transition:width 50ms linear;position:fixed;top:0;left:0}.reading-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d);border-radius:0 2px 2px 0;width:80px;height:100%;position:absolute;top:0;right:0}.header{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border-color);transition:background var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.header-left{align-items:center;gap:var(--space-xl);display:flex}.blog-title{font-size:var(--font-lg);color:var(--text-primary);letter-spacing:var(--tracking-tight);transition:color var(--duration-fast) var(--ease-out);font-weight:600;text-decoration:none}.blog-title:hover,.blog-title .title-accent{color:var(--accent)}.nav{gap:var(--space-xs);display:flex}.nav-link{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);color:var(--text-secondary);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);letter-spacing:var(--tracking-normal);font-weight:500;text-decoration:none;position:relative}.nav-link:hover{color:var(--text-primary);background:var(--bg-surface)}.nav-link.active{color:var(--accent);background:var(--accent-surface);position:relative}.nav-indicator{background:var(--accent);border-radius:1px;width:20px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.header-right{align-items:center;gap:var(--space-sm);display:flex}.theme-toggle{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--duration-normal) var(--ease-out);color:var(--text-secondary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{background:var(--accent-surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)scale(.95)}.theme-toggle svg{width:18px;height:18px;transition:transform var(--duration-slow) var(--ease-spring)}.theme-toggle:hover svg{transform:rotate(15deg)}.main{min-height:calc(100vh - 200px)}.hero{padding:var(--space-5xl) 0 var(--space-4xl);position:relative}.hero-badge{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--accent-surface);border:1px solid var(--accent-glow);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--accent);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-xl);animation:fadeInUp var(--duration-slower) var(--ease-out) both;font-weight:500;display:inline-flex}.hero-badge-dot{background:var(--accent);width:6px;height:6px;animation:pulse-dot 2s var(--ease-in-out) infinite;border-radius:50%}.hero-title{font-size:var(--font-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-lg);max-width:14ch;animation:fadeInUp var(--duration-slower) var(--ease-out) .1s both}.hero-title .gradient-text{background:linear-gradient(135deg, var(--accent), #a855f7, #ec4899, var(--accent));-webkit-text-fill-color:transparent;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradient-text-shift}@keyframes gradient-text-shift{0%,to{background-position:0%}50%{background-position:100%}}.hero-glow{pointer-events:none;background:radial-gradient(#6366f114,#0000 70%);width:800px;height:400px;animation:4s ease-in-out infinite hero-glow-pulse;position:absolute;bottom:-200px;left:50%;transform:translate(-50%)}[data-theme=dark] .hero-glow{background:radial-gradient(#818cf81f,#0000 70%)}@keyframes hero-glow-pulse{0%,to{opacity:.6;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.1)}}.hero-description{font-size:var(--font-lg);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:540px;margin-bottom:var(--space-2xl);animation:fadeInUp var(--duration-slower) var(--ease-out) .2s both}.hero-stats{gap:var(--space-2xl);animation:fadeInUp var(--duration-slower) var(--ease-out) .3s both;display:flex}.hero-stat{gap:var(--space-xs);flex-direction:column;display:flex}.hero-stat-value{font-size:var(--font-xl);color:var(--text-primary);letter-spacing:var(--tracking-tight);font-weight:700}.hero-stat-label{font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.featured-section{padding:var(--space-3xl) 0}.section-header{margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;display:flex}.section-label{font-size:var(--font-xs);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:600}.section-line{background:var(--border-color);height:1px;margin-left:var(--space-lg);flex:1}.featured-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-3xl);color:inherit;transition:all var(--duration-normal) var(--ease-out);text-decoration:none;display:block;position:relative;overflow:hidden}.featured-card:before{content:"";background:linear-gradient(135deg, var(--accent-glow), transparent 50%);opacity:0;transition:opacity var(--duration-normal) var(--ease-out);position:absolute;inset:0}.featured-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow), 0 0 80px #6366f10f;border-color:#6366f140;transform:translateY(-3px)}.featured-card:hover:before{opacity:1}.featured-card-inner{z-index:1;gap:var(--space-2xl);grid-template-columns:1fr auto;align-items:start;display:grid;position:relative}.featured-topic{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--accent-surface);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-lg);font-weight:600;display:inline-flex}.featured-title{font-size:var(--font-2xl);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-md);transition:color var(--duration-fast) var(--ease-out)}.featured-card:hover .featured-title{color:var(--accent)}.featured-excerpt{font-size:var(--font-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin-bottom:var(--space-xl);max-width:640px}.featured-meta{align-items:center;gap:var(--space-lg);font-size:var(--font-sm);color:var(--text-muted);display:flex}.featured-meta-divider{background:var(--text-muted);border-radius:50%;width:4px;height:4px}.featured-read-more{align-items:center;gap:var(--space-sm);font-size:var(--font-sm);color:var(--accent);letter-spacing:var(--tracking-normal);font-weight:600;display:flex}.featured-read-more .arrow{transition:transform var(--duration-fast) var(--ease-out)}.featured-card:hover .featured-read-more .arrow{transform:translate(4px)}.featured-number{font-size:var(--font-display);color:var(--border-color);letter-spacing:var(--tracking-tight);-webkit-user-select:none;user-select:none;align-self:start;font-weight:800;line-height:1}.posts-section{padding:var(--space-3xl) 0 var(--space-5xl)}.topic-filters{gap:var(--space-sm);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.filter-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);font-size:var(--font-sm);color:var(--text-secondary);letter-spacing:var(--tracking-normal);background:0 0;font-family:inherit;font-weight:500}.filter-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-surface)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #6366f140}.posts-count{font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--space-lg);letter-spacing:var(--tracking-normal)}.posts-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.post-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);color:inherit;transition:all var(--duration-normal) var(--ease-out);animation:fadeInUp var(--duration-slower) var(--ease-out) both;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.post-card:first-child{animation-delay:0s}.post-card:nth-child(2){animation-delay:80ms}.post-card:nth-child(3){animation-delay:.16s}.post-card:nth-child(4){animation-delay:.24s}.post-card:nth-child(5){animation-delay:.32s}.post-card:nth-child(6){animation-delay:.4s}.post-card-spotlight{border-radius:inherit;background:radial-gradient(500px circle at var(--spotlight-x,50%) var(--spotlight-y,50%), #6366f114, transparent 40%);opacity:0;transition:opacity var(--duration-normal) var(--ease-out);pointer-events:none;z-index:0;position:absolute;inset:0}[data-theme=dark] .post-card-spotlight{background:radial-gradient(500px circle at var(--spotlight-x,50%) var(--spotlight-y,50%), #818cf81a, transparent 40%)}.post-card:hover .post-card-spotlight{opacity:1}.post-card:before{content:"";background:linear-gradient(135deg, var(--accent-glow), transparent 60%);opacity:0;transition:opacity var(--duration-normal) var(--ease-out);position:absolute;inset:0}.post-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);border-color:#6366f126;transform:translateY(-4px)}.post-card:hover:before{opacity:1}.post-card-inner{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.post-topic{padding:var(--space-xs) var(--space-sm);background:var(--accent-surface);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-md);align-self:flex-start;font-weight:600;display:inline-flex}.post-title{font-size:var(--font-lg);font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-sm);transition:color var(--duration-fast) var(--ease-out)}.post-card:hover .post-title{color:var(--accent)}.post-excerpt{font-size:var(--font-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);margin-bottom:var(--space-lg);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.post-meta{font-size:var(--font-xs);color:var(--text-muted);padding-top:var(--space-md);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.post-date{font-weight:500}.post-read-time{color:var(--accent);font-weight:500}.empty-state{text-align:center;padding:var(--space-5xl) var(--space-xl);color:var(--text-secondary)}.empty-icon{font-size:var(--font-3xl);margin-bottom:var(--space-md);opacity:.5}.empty-state h3{font-size:var(--font-lg);margin-bottom:var(--space-sm);color:var(--text-primary);font-weight:600}.empty-state p{font-size:var(--font-sm);color:var(--text-muted)}.cta-section{padding:var(--space-4xl) 0}.cta-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-3xl);text-align:center;position:relative;overflow:hidden}.cta-card:before{content:"";background:linear-gradient(135deg, var(--accent-glow), transparent 40%), linear-gradient(315deg, #a855f70a, transparent 40%);border-radius:inherit;position:absolute;inset:0}.cta-card:after{content:"";border-radius:inherit;background:conic-gradient(from 180deg at 50% 50%, transparent 0deg, var(--accent-glow) 120deg, transparent 240deg, #a855f70f 300deg, transparent 360deg);z-index:-1;opacity:.5;animation:8s linear infinite cta-border-rotate;position:absolute;inset:-1px}@keyframes cta-border-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cta-inner{z-index:1;position:relative}.cta-title{font-size:var(--font-2xl);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--space-md)}.cta-description{font-size:var(--font-base);color:var(--text-secondary);max-width:480px;margin:0 auto var(--space-2xl);line-height:var(--leading-relaxed)}.cta-links{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.cta-link{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--duration-normal) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.cta-link:hover{background:var(--accent-surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-link svg{width:16px;height:16px}.post-page{padding:var(--space-3xl) 0 var(--space-5xl)}.post-page-nav{margin-bottom:var(--space-3xl);justify-content:space-between;align-items:center;display:flex}.back-link{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--duration-normal) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--accent-surface);border-color:var(--accent);color:var(--accent);transform:translate(-2px)}.back-link svg{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out)}.back-link:hover svg{transform:translate(-2px)}.post-article{max-width:720px;margin:0 auto}.post-header{margin-bottom:var(--space-3xl);text-align:center}.post-header .post-topic{margin-bottom:var(--space-lg)}.post-header .post-title{font-size:var(--font-2xl);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-lg)}.post-header .post-meta{justify-content:center;gap:var(--space-lg);font-size:var(--font-sm);color:var(--text-muted);border:none;padding:0;display:flex}.post-header .post-meta-divider{background:var(--text-muted);border-radius:50%;align-self:center;width:4px;height:4px}.post-content{line-height:var(--leading-relaxed);font-size:var(--font-base)}.post-content h1,.post-content h2{color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:var(--space-3xl) 0 var(--space-lg) 0;font-weight:700;line-height:var(--leading-snug)}.post-content h1{font-size:var(--font-2xl);padding-bottom:var(--space-md);border-bottom:2px solid var(--border-color)}.post-content h2{font-size:var(--font-xl);padding-left:var(--space-lg);position:relative}.post-content h2:before{content:"";background:linear-gradient(180deg, var(--accent), #a855f7);border-radius:2px;width:3px;position:absolute;top:.15em;bottom:.15em;left:0}.post-content h3{color:var(--text-primary);margin:var(--space-2xl) 0 var(--space-md) 0;font-size:var(--font-lg);letter-spacing:var(--tracking-normal);font-weight:600}.post-content h4{color:var(--text-primary);margin:var(--space-xl) 0 var(--space-sm) 0;font-size:var(--font-base);font-weight:600}.post-content p{margin-bottom:var(--space-lg);color:var(--text-secondary)}.post-content ul,.post-content ol{margin:var(--space-lg) 0;padding-left:var(--space-xl)}.post-content li{margin-bottom:var(--space-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.post-content li strong{color:var(--text-primary)}.post-content pre{background:var(--code-bg);padding:var(--space-xl);border-radius:var(--radius-lg);margin:var(--space-xl) 0;border:1px solid var(--code-border);font-size:var(--font-sm);line-height:var(--leading-relaxed);overflow-x:auto}.post-content code{background:var(--code-bg);padding:2px var(--space-sm);border-radius:var(--radius-sm);color:var(--accent);border:1px solid var(--code-border);font-size:.9em}.post-content pre code{color:var(--text-primary);background:0 0;border:none;border-radius:0;padding:0}.post-content blockquote{border-left:3px solid var(--accent);padding:var(--space-lg) var(--space-xl);margin:var(--space-xl) 0;background:var(--accent-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary);font-style:italic;position:relative}.post-content hr{background:linear-gradient(90deg, transparent, var(--border-color), transparent);height:1px;margin:var(--space-3xl) 0;border:none}.post-content a{color:var(--accent);transition:border-color var(--duration-fast) var(--ease-out);border-bottom:1px solid #0000;text-decoration:none}.post-content a:hover{border-bottom-color:var(--accent)}.post-content strong{color:var(--text-primary);font-weight:600}.post-content em{color:var(--text-secondary);font-style:italic}.post-content img{border-radius:var(--radius-lg);max-width:100%;height:auto;margin:var(--space-xl) 0}.post-content table{border-collapse:collapse;width:100%;margin:var(--space-xl) 0;font-size:var(--font-sm)}.post-content th,.post-content td{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);text-align:left}.post-content th{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.post-content td{color:var(--text-secondary)}.about-page{padding:var(--space-3xl) 0 var(--space-5xl)}.about-intro{gap:var(--space-3xl);margin-bottom:var(--space-4xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-intro-content{animation:fadeInUp var(--duration-slower) var(--ease-out) both}.about-intro-visual{animation:fadeIn 1s var(--ease-out) .2s both;justify-content:center;align-items:center;display:flex}.about-avatar{background:linear-gradient(135deg, var(--accent), #a855f7);width:72px;height:72px;font-size:var(--font-xl);color:#fff;margin-bottom:var(--space-lg);box-shadow:0 0 0 3px var(--bg-primary), 0 0 0 5px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.about-avatar-photo{background:linear-gradient(135deg, var(--accent), #a855f7);width:120px;height:120px;box-shadow:0 0 0 4px var(--bg-primary), 0 0 0 6px var(--accent), 0 0 30px #6366f133;padding:0;overflow:hidden}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.about-name{font-size:var(--font-2xl);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:700}.about-role{font-size:var(--font-base);color:var(--accent);margin-bottom:var(--space-lg);font-weight:500}.about-bio{font-size:var(--font-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.about-social{gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.bio-kw{color:var(--text-primary);cursor:default;transition:all var(--duration-fast) var(--ease-out);border-bottom:1.5px solid #0000;font-weight:600}.bio-kw:hover{color:var(--accent);border-bottom-color:var(--accent)}.blob-wrap{width:280px;height:280px;position:relative}.blob-layer{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;position:absolute;inset:0}.blob-1{background:linear-gradient(135deg,#6366f12e,#a855f71f);animation:8s ease-in-out infinite morph1}.blob-2{background:linear-gradient(225deg,#a855f71f,#ec489914);animation:10s ease-in-out infinite morph2;inset:10%}.blob-3{background:linear-gradient(315deg,#6366f126,#818cf81a);animation:12s ease-in-out infinite morph3;inset:18%}.blob-excited .blob-1{animation-duration:2s}.blob-excited .blob-2{animation-duration:2.5s}.blob-excited .blob-3{animation-duration:3s}@keyframes morph1{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 50% 70%}75%{border-radius:40% 60% 50% 40%/60% 40% 60% 30%}}@keyframes morph2{0%,to{border-radius:40% 60% 60% 40%/50% 40% 50% 60%}25%{border-radius:50% 50% 40% 60%/40% 60% 50% 40%}50%{border-radius:60% 40% 50% 50%/60% 50% 40%}75%{border-radius:45% 55% 55% 45%/55% 45%}}@keyframes morph3{0%,to{border-radius:50% 50% 40% 60%/40% 60%}33%{border-radius:40% 60% 60% 40%/60% 40%}66%{border-radius:60% 40% 50% 50%/50% 50% 40% 60%}}.about-section-full{margin-bottom:var(--space-4xl)}.about-section-header{text-align:center;margin-bottom:var(--space-2xl)}.about-section-sub{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-sm)}.skills-section{gap:var(--space-2xl);flex-direction:column;max-width:800px;margin:0 auto;display:flex}.skill-group-label{align-items:center;gap:var(--space-sm);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-md);font-weight:600;display:flex}.skill-group-dot{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}.skill-nodes{gap:var(--space-sm);flex-wrap:wrap;display:flex}.skill-node{padding:var(--space-sm) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-left:3px solid var(--group-color);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--font-sm);color:var(--text-primary);transition:all var(--duration-normal) var(--ease-out);text-align:left;flex-direction:column;align-items:flex-start;font-weight:500;display:inline-flex;position:relative}.skill-node:hover{border-color:var(--group-color);box-shadow:var(--shadow-md), 0 0 20px color-mix(in srgb, var(--group-color) 15%, transparent);transform:translateY(-2px)}.skill-node.skill-open{background:var(--bg-surface-solid);border-color:var(--group-color);box-shadow:var(--shadow-lg)}.skill-name{pointer-events:none}.skill-desc{margin:var(--space-sm) 0 0;font-size:var(--font-xs);color:var(--text-secondary);font-weight:400;line-height:var(--leading-normal);animation:fadeIn var(--duration-normal) var(--ease-out)}.tl{padding:var(--space-2xl) 0;max-width:860px;margin:0 auto;position:relative}.tl-track{background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.tl-line-fill{background:linear-gradient(180deg, var(--accent), #a855f7, #ec4899, var(--accent));background-size:100% 300%;width:100%;height:100%;animation:6s infinite gradient-shift}.tl-ready .tl-line-fill{transform-origin:top;transition:transform 2.5s var(--ease-out);animation-play-state:paused;transform:scaleY(0)}.tl-ready .tl-line-fill.tl-visible{animation-play-state:running;transform:scaleY(1)}@keyframes gradient-shift{0%,to{background-position:0 0}50%{background-position:0 100%}}.tl-entry{margin-bottom:var(--space-2xl);display:flex;position:relative}.tl-left{padding-right:calc(50% + var(--space-2xl));justify-content:flex-end}.tl-right{padding-left:calc(50% + var(--space-2xl));justify-content:flex-start}.tl-ready .tl-entry{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:translateY(20px)}.tl-ready .tl-entry.tl-visible{opacity:1;transform:translateY(0)}.tl-dot{left:50%;top:var(--space-lg);background:var(--bg-primary);border:2px solid var(--border-color);z-index:1;width:12px;height:12px;transition:all .5s var(--ease-out);border-radius:50%;position:absolute;transform:translate(-50%)}.tl-ready .tl-entry.tl-visible .tl-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.tl-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:340px;transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out)}.tl-card:hover{box-shadow:var(--shadow-md);border-color:#6366f126}.tl-year{font-size:var(--font-xs);color:var(--accent);letter-spacing:var(--tracking-wide);font-weight:600}.tl-title{font-size:var(--font-base);color:var(--text-primary);margin:var(--space-xs) 0;font-weight:600}.tl-company{font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--space-sm);display:block}.tl-desc{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.edu-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto;display:grid}.edu-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-out)}.edu-card:hover{box-shadow:var(--shadow-md);border-color:#6366f126}.edu-degree{font-size:var(--font-base);color:var(--text-primary);margin-bottom:var(--space-sm);font-weight:600}.edu-meta{font-size:var(--font-sm);color:var(--text-muted);justify-content:space-between;display:flex}.edu-school{color:var(--text-secondary);font-weight:500}.social-links{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.social-link{align-items:center;gap:var(--space-sm);color:var(--text-secondary);padding:var(--space-sm) var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-sm);transition:all var(--duration-normal) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.social-link:hover{background:var(--accent-surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.social-link svg{width:16px;height:16px}.footer{border-top:1px solid var(--border-color);padding:var(--space-3xl) 0;background:var(--bg-secondary)}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.footer-text{font-size:var(--font-sm);color:var(--text-muted)}.footer-links{gap:var(--space-lg);display:flex}.footer-link{font-size:var(--font-sm);color:var(--text-muted);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}.footer-link:hover{color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@media (max-width:480px){.container{padding:0 var(--space-md)}.header-inner{height:60px}.header-left{gap:var(--space-md)}.nav-link{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs)}.hero{padding:var(--space-3xl) 0 var(--space-2xl)}.hero-stats{gap:var(--space-xl)}.featured-card{padding:var(--space-xl)}.featured-card-inner{grid-template-columns:1fr}.featured-number{display:none}.featured-title{font-size:var(--font-xl)}.posts-grid{grid-template-columns:1fr}.post-card{padding:var(--space-lg)}.post-meta{gap:var(--space-xs);flex-direction:column;align-items:flex-start}.cta-card{padding:var(--space-2xl)}.post-page-nav{gap:var(--space-md);flex-direction:column;align-items:flex-start}.post-header .post-meta{gap:var(--space-sm);flex-direction:column}.post-header .post-meta-divider{display:none}.about-intro{grid-template-columns:1fr}.about-intro-visual{order:-1;justify-content:center}.blob-wrap{width:180px;height:180px}.tl-track{left:var(--space-lg)}.tl-left,.tl-right{padding-left:calc(var(--space-lg) + var(--space-2xl));justify-content:flex-start;padding-right:0}.tl-dot{left:var(--space-lg)}.tl-card{max-width:none}.edu-grid{grid-template-columns:1fr}.footer-inner{text-align:center;gap:var(--space-md);flex-direction:column}.footer-links{justify-content:center}}@media (min-width:481px) and (max-width:768px){.posts-grid,.featured-card-inner{grid-template-columns:1fr}.featured-number{display:none}.about-intro{grid-template-columns:1fr}.about-intro-visual{order:-1;justify-content:center}.blob-wrap{width:220px;height:220px}.tl-track{left:var(--space-lg)}.tl-left,.tl-right{padding-left:calc(var(--space-lg) + var(--space-2xl));justify-content:flex-start;padding-right:0}.tl-dot{left:var(--space-lg)}.tl-card{max-width:none}.edu-grid{grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1024px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (hover:none) and (pointer:coarse){.post-card:active{transform:scale(.98)}.theme-toggle,.back-link,.social-link,.cta-link,.filter-btn,.nav-link{min-width:44px;min-height:44px}}
