@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2)format("woff2-variations");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.BDQ-w_bc.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-cyrillic-700-normal.Bp80XfeI.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-700-normal.O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-vietnamese-700-normal.apsD3J7v.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-700-normal.Bs14ezHR.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-latin-ext-700-normal.Dhimjc7-.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-700-normal.Cwsjk1Jb.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-latin-700-normal.7sUh57Bg.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-700-normal.CNHXzs6v.woff)format("woff");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}:root{--bg:#0c0a15;--bg-2:#0a0813;--surface:#16121f;--surface-2:#1f1a2e;--text:#efe7d4;--prose:#b0a48f;--text-dim:#8a8098;--accent:#d4a24c;--accent-soft:#e7c57e;--accent-2:#9c7bd6;--accent-ink:#17110a;--border:#29223a;--border-strong:#3a3152;--maxw:1080px;--radius:5px;--radius-lg:10px;--shadow:0 22px 50px -24px #000000d9;--glow:0 0 0 1px #d4a24c4d, 0 12px 40px -12px #d4a24c47;--glow-violet:0 0 40px -6px #9c7bd680;--font-display:"Fraunces Variable", "Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background-color:var(--bg);min-height:100vh;color:var(--prose);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(900px 560px at 88% -6%,#d4a24c1a,#0000 62%),radial-gradient(820px 620px at -8% 108%,#9c7bd61f,#0000 60%),radial-gradient(1px 1px at 20% 30%,#efe7d473,#0000),radial-gradient(1px 1px at 67% 18%,#efe7d44d,#0000),radial-gradient(1px 1px at 43% 62%,#efe7d440,#0000),radial-gradient(1.5px 1.5px at 82% 47%,#e7c57e66,#0000),radial-gradient(1px 1px at 12% 78%,#efe7d447,#0000),radial-gradient(1200px 900px at 50% 40%,#0000 60%,#0a081399 100%);background-attachment:fixed;font-size:16px;line-height:1.65;overflow-x:hidden}img,svg,video,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit}ul{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text);font-optical-sizing:auto;font-weight:500;line-height:1.08}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}*{scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:999px}.skip-link{z-index:200;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);padding:10px 16px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}.section{padding-block:clamp(48px,7vw,96px);position:relative}.section__head{margin-bottom:clamp(26px,4vw,44px)}.eyebrow{font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.06em;color:var(--accent);align-items:center;font-size:12.5px;font-weight:500;display:inline-flex}.eyebrow:before{content:"✦ ";white-space:pre;opacity:.85}.section__title{letter-spacing:-.01em;margin-top:12px;font-size:clamp(28px,4.4vw,46px)}.section__sub{color:var(--text-dim);max-width:60ch;margin-top:12px}.btn{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--border-strong);color:var(--text);background:var(--surface);cursor:pointer;align-items:center;gap:8px;padding:11px 17px;font-size:14px;font-weight:500;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-soft);transform:translateY(-1px)}.btn--primary{background:linear-gradient(180deg, var(--accent-soft), var(--accent));color:var(--accent-ink);border-color:#0000}.btn--primary:hover{color:var(--accent-ink);box-shadow:var(--glow)}.btn--ghost{border-color:var(--border);background:0 0}.btn--sm{padding:8px 13px;font-size:13px}.chip{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;background:#efe7d405;align-items:center;gap:6px;padding:6px 10px;font-size:12px;line-height:1;display:inline-flex}.chip--accent{color:var(--accent-soft);border-color:#d4a24c59}.chip--live{color:var(--accent-2);border-color:#9c7bd673}.chip--live:before{content:"";background:var(--accent-2);width:6px;height:6px;box-shadow:0 0 8px var(--accent-2);border-radius:50%}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.prose{color:var(--prose);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(24px,4vw,40px);font-size:16px}.prose,.prose p,.prose li{font-weight:500}.prose>*+*{margin-top:14px}.prose h2{margin-top:32px;font-size:24px}.prose h3{color:var(--accent-soft);font-size:18px;font-family:var(--font-display);margin-top:24px;font-weight:500}.prose p{color:var(--prose)}.prose ul{gap:10px;margin-top:14px;display:grid}.prose li{color:var(--prose);padding-left:24px;position:relative}.prose li:before{content:"✦";color:var(--accent);font-size:11px;position:absolute;top:1px;left:3px}.prose a{color:var(--accent-soft);text-underline-offset:3px;text-decoration:underline}.prose strong{color:var(--accent-soft);font-weight:600}.muted{color:var(--text-dim)}.flex{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mono{font-family:var(--font-mono)}.ph{text-align:center;background:repeating-linear-gradient(45deg, #efe7d408 0 12px, transparent 12px 24px), var(--surface-2);color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius);aspect-ratio:16/9;place-items:center;gap:6px;padding:24px;display:grid}.ph__icon{opacity:.7}.ph__label{font-family:var(--font-mono);letter-spacing:.02em;font-size:13px}.ph__hint{opacity:.7;font-size:12px}html.js [data-reveal]{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)}html.js [data-reveal].is-in{opacity:1;transform:none}html.js [data-reveal-group]>*{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(16px)}html.js [data-reveal-group].is-in>*{opacity:1;transform:none}html.js [data-reveal-group].is-in>:first-child{transition-delay:20ms}html.js [data-reveal-group].is-in>:nth-child(2){transition-delay:80ms}html.js [data-reveal-group].is-in>:nth-child(3){transition-delay:.14s}html.js [data-reveal-group].is-in>:nth-child(4){transition-delay:.2s}html.js [data-reveal-group].is-in>:nth-child(5){transition-delay:.26s}html.js [data-reveal-group].is-in>:nth-child(6){transition-delay:.32s}html.js [data-reveal-group].is-in>:nth-child(7){transition-delay:.38s}html.js [data-reveal-group].is-in>:nth-child(n+8){transition-delay:.44s}@keyframes ember-blink{0%,49%{opacity:1}50%,to{opacity:.25}}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html.js [data-reveal],html.js [data-reveal-group]>*{opacity:1;transform:none}}.icon[data-astro-cid-ccg5yoga]{vertical-align:middle;flex:none;display:inline-block}.nav[data-astro-cid-wpvy4v7s]{z-index:100;border-bottom:1px solid #0000;transition:background .25s,border-color .25s,backdrop-filter .25s;position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s].is-scrolled{backdrop-filter:blur(12px);border-bottom-color:var(--border);background:#0c0a15cc}.nav__inner[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.nav__brand[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);align-items:center;gap:10px;min-width:0;font-weight:500;display:inline-flex}.nav__logo[data-astro-cid-wpvy4v7s]{border-radius:var(--radius);letter-spacing:.02em;width:34px;height:34px;color:var(--accent-ink);background:var(--accent);flex:none;place-items:center;font-size:13px;display:grid}.nav__name[data-astro-cid-wpvy4v7s]{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.nav__links[data-astro-cid-wpvy4v7s]{align-items:center;gap:22px;display:flex}.nav__link[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);color:var(--text-dim);font-size:14px;font-weight:400;transition:color .15s}.nav__link[data-astro-cid-wpvy4v7s]:hover{color:var(--accent-soft)}.nav__link[data-astro-cid-wpvy4v7s].is-active{color:var(--accent)}.nav__icon[data-astro-cid-wpvy4v7s]{color:var(--text-dim);transition:color .15s;display:inline-flex}.nav__icon[data-astro-cid-wpvy4v7s]:hover{color:var(--text)}.nav__toggle[data-astro-cid-wpvy4v7s]{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:none}@media (width<=760px){.nav__name[data-astro-cid-wpvy4v7s]{display:none}.nav__toggle[data-astro-cid-wpvy4v7s]{display:inline-flex}.nav__links[data-astro-cid-wpvy4v7s]{backdrop-filter:blur(12px);border-bottom:1px solid var(--border);clip-path:inset(0 0 100%);opacity:0;pointer-events:none;background:#0c0a15fa;flex-direction:column;align-items:stretch;gap:4px;padding:12px 24px 20px;transition:clip-path .25s,opacity .25s;position:absolute;top:64px;left:0;right:0}.nav__links[data-astro-cid-wpvy4v7s].is-open{clip-path:inset(0);opacity:1;pointer-events:auto}.nav__link[data-astro-cid-wpvy4v7s]{border-bottom:1px solid var(--border);padding:10px 4px;font-size:17px}.nav__icon[data-astro-cid-wpvy4v7s]{padding:10px 4px}.nav__resume[data-astro-cid-wpvy4v7s]{justify-content:center;margin-top:10px}}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);margin-top:40px;padding-block:36px 28px}.footer__inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.footer__brand[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:3px;display:flex}.footer__name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);font-size:16px;font-weight:600}.footer__links[data-astro-cid-jo6i4kqk]{gap:14px;display:flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-dim);transition:color .15s}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.footer__legal[data-astro-cid-jo6i4kqk]{margin-top:22px;font-size:13px}
