@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_3843bd9c-module__6P00mq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_3843bd9c-module__6P00mq__variable{--font-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_84cad22d-module__DoMSfW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_84cad22d-module__DoMSfW__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_26283e22-module__U9j6yW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_26283e22-module__U9j6yW__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--bg:#060d28;--navy:#091540;--text:#eaf2ff;--accent:#abd2fa;--accent-2:#7692ff;--muted:#c1cff0;--dim:#9db0dd;--mono:#8194c8;--mono-dim:#7f8fc4}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--bg);height:100%;font-family:var(--font-sans), "IBM Plex Sans", system-ui, sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a,button,input,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2)}::selection{color:var(--text);background:#7692ff66}input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:#5b6ba6}.om-scroll::-webkit-scrollbar{width:10px}.om-scroll::-webkit-scrollbar-track{background:0 0}.om-scroll::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#abd2fa29;border-radius:999px}.om-scroll::-webkit-scrollbar-thumb:hover{background:#abd2fa4d}@keyframes floatUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.pg{animation:.5s cubic-bezier(.2,.7,.2,1) both floatUp}@media (prefers-reduced-motion:reduce){.pg{animation:none}}.shell{display:flex;position:fixed;inset:0;overflow:hidden}.plasma-layer{z-index:0;position:absolute;inset:0}.plasma-overlay{z-index:1;pointer-events:none;background:linear-gradient(#060d288c 0%,#060d2833 40%,#060d28b3 100%);position:absolute;inset:0}.main{z-index:2;scrollbar-gutter:stable;flex:1;height:100%;padding:80px 72px 96px;position:relative;overflow-y:auto}.main-inner{max-width:1120px;margin:0 auto}.sidebar{z-index:3;-webkit-backdrop-filter:blur(10px);background:#060d2857;border-right:1px solid #abd2fa21;flex-direction:column;flex:none;justify-content:space-between;width:272px;height:100%;padding:34px 28px;display:flex;position:relative}.nav-toggle,.side-lang{display:none}.brand{cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;margin-bottom:46px;padding:0;display:flex}.brand-mark{width:44px;height:44px;font-family:var(--font-grotesk), sans-serif;color:var(--accent);background:#09154080;border:1px solid #abd2fa66;border-radius:12px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.brand-name{font-family:var(--font-grotesk), sans-serif;color:var(--text);font-size:15px;font-weight:600;line-height:1.1}.brand-role{font-family:var(--font-mono), monospace;color:var(--mono-dim);margin-top:3px;font-size:11px}.nav{flex-direction:column;gap:5px;display:flex}.nav-link{text-align:left;cursor:pointer;width:100%;font-family:var(--font-mono), monospace;color:var(--mono-dim);background:0 0;border:none;border-left:2px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:11px 14px;font-size:13px;transition:all .18s;display:flex}.nav-link .num{opacity:.55}.nav-link:hover{color:#c9d8f5;background:#abd2fa0d}.nav-link.active{color:var(--text);background:#abd2fa14}.nav-link.active .num{opacity:1;color:#fff;font-weight:700}.side-foot{font-family:var(--font-mono), monospace;color:var(--mono);font-size:11.5px;line-height:1.9}.status{color:#c1cff0;align-items:center;gap:8px;margin-bottom:16px;display:flex}.status-dot{background:#7dd3a8;border-radius:999px;width:8px;height:8px;box-shadow:0 0 10px #7dd3a8}.side-contacts{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.side-contacts a{color:var(--mono);align-items:center;gap:10px;transition:color .18s;display:inline-flex}.side-contacts a svg{opacity:.9;flex:none}.side-contacts a:hover{color:var(--accent)}.resume-btn{width:100%;color:var(--text);font-family:var(--font-mono), monospace;letter-spacing:.02em;background:#09154066;border:1px solid #abd2fa47;border-radius:10px;justify-content:center;align-items:center;gap:9px;margin-top:4px;padding:12px 14px;font-size:13px;transition:all .18s;display:flex}.resume-btn svg{flex:none}.resume-btn:hover{color:var(--accent);background:#abd2fa1a;border-color:#abd2fa8c}.lang-float{z-index:20;-webkit-backdrop-filter:blur(10px);background:#060d288c;border:1px solid #abd2fa33;border-radius:10px;gap:4px;padding:4px;display:inline-flex;position:fixed;top:22px;right:24px}.lang-btn{font-family:var(--font-mono), monospace;letter-spacing:.06em;color:var(--mono);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:11px;transition:all .18s}.lang-btn:hover{color:var(--accent)}.lang-btn.active{background:var(--accent);color:var(--bg);font-weight:600}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:13px}.section-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin:0;font-size:26px;font-weight:600}.page-title{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.03em;color:var(--text);margin:0;font-size:64px;font-weight:700;line-height:.95}.link-more{cursor:pointer;font-family:var(--font-mono), monospace;color:var(--accent);background:0 0;border:none;font-size:13px}.link-more:hover{color:var(--accent-2)}.hero-eyebrow{margin-bottom:22px}.hero-title{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.035em;color:var(--text);margin:0;font-size:104px;font-weight:700;line-height:.88}.hero-title .accent{color:var(--accent)}.hero-lead{max-width:600px;color:var(--muted);margin:32px 0 0;font-size:19px;line-height:1.62}.hero-cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px;display:flex}.btn-primary{font-family:var(--font-sans), sans-serif;color:var(--bg);background:var(--accent);cursor:pointer;border:none;border-radius:11px;padding:15px 28px;font-size:15px;font-weight:600}.btn-primary:hover{color:var(--bg);background:#c4e0ff}.btn-ghost{font-family:var(--font-sans), sans-serif;color:var(--text);cursor:pointer;background:#09154066;border:1px solid #abd2fa4d;border-radius:11px;padding:15px 28px;font-size:15px;font-weight:500}.btn-ghost:hover{color:var(--text);border-color:#abd2fa99}.stats{border-top:1px solid #abd2fa21;gap:0;margin-top:60px;padding-top:26px;display:flex}.stat{flex:1}.stat-value{font-family:var(--font-grotesk), sans-serif;color:var(--text);font-size:30px;font-weight:700}.stat-label{color:var(--mono);font-size:12.5px;font-family:var(--font-mono), monospace;margin-top:5px}.section{margin-top:78px}.section-alt{margin-top:70px}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:26px;display:flex}.section-head.tight{margin-bottom:22px}.featured-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.featured-card{text-align:left;cursor:pointer;background:#09154066;border:1px solid #abd2fa21;border-radius:16px;width:100%;padding:24px;transition:all .2s;display:block}.featured-card:hover{background:#0f1e5080;border-color:#abd2fa66;transform:translateY(-3px)}.featured-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.featured-num{font-family:var(--font-mono), monospace;color:var(--mono-dim);font-size:12px}.featured-badge{font-family:var(--font-mono), monospace;color:var(--accent);border:1px solid #abd2fa40;border-radius:999px;padding:3px 10px;font-size:11px}.featured-name{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:8px;font-size:19px;font-weight:600}.featured-desc{color:var(--dim);font-size:14px;line-height:1.55}.writing-list{flex-direction:column;display:flex}.writing-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-top:1px solid #abd2fa1f;align-items:center;gap:20px;padding:20px 4px;transition:all .18s;display:flex}.writing-row:hover{background:#abd2fa0a}.writing-date{font-family:var(--font-mono), monospace;color:var(--mono-dim);flex:none;width:110px;font-size:12px}.writing-cat{font-family:var(--font-mono), monospace;color:var(--accent);flex:none;width:96px;font-size:11px}.writing-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);flex:1;font-size:17px;font-weight:500}.writing-arrow{color:var(--mono-dim);flex:none}.about-title{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.03em;color:var(--text);margin:0 0 30px;font-size:64px;font-weight:700;line-height:.95}.about-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:40px;display:grid}.about-bio{color:var(--muted);font-size:17px;line-height:1.7}.about-bio p{margin:0 0 18px}.about-bio p:last-child{margin:0}.about-photo{aspect-ratio:4/5;background:radial-gradient(120% 90% at 30% 15%,#7692ff47 0%,#1b2cc12e 42%,#0915408c 100%);border:1px solid #abd2fa38;border-radius:18px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.about-photo-mark{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.03em;color:#eaf2ffd9;font-size:72px;font-weight:700}.about-callout{border-left:3px solid var(--accent);background:#09154057;border-radius:0 14px 14px 0;margin-top:36px;padding:24px 28px}.about-callout-label{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px}.about-callout-text{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin:0;font-size:21px;font-weight:500;line-height:1.55}.experience-item{border-top:1px solid #abd2fa21;grid-template-columns:150px 1fr;gap:28px;padding:26px 0;display:grid}.exp-period{font-family:var(--font-mono), monospace;color:var(--accent);font-size:13px}.exp-company{font-family:var(--font-mono), monospace;color:var(--mono-dim);margin-top:6px;font-size:12px}a.exp-company-link{color:var(--mono-dim);transition:color .18s;display:inline-block}a.exp-company-link:hover{color:var(--accent)}.exp-role{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:14px;font-size:20px;font-weight:600}.exp-points{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.exp-point{color:var(--muted);padding-left:20px;font-size:15px;line-height:1.6;position:relative}.exp-point:before{content:"";background:var(--accent-2);border-radius:999px;width:6px;height:6px;position:absolute;top:9px;left:0}.skills-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.skill-card{background:#09154061;border:1px solid #abd2fa1f;border-radius:14px;padding:20px}.skill-label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:12px}.skill-items{flex-wrap:wrap;gap:8px;display:flex}.skill-chip{font-family:var(--font-mono), monospace;color:#c9d8f5;background:#3d518c47;border:1px solid #abd2fa24;border-radius:8px;padding:6px 11px;font-size:12.5px}.page-lead{max-width:600px;color:var(--muted);font-size:17px;line-height:1.65}.projects-note{-webkit-backdrop-filter:blur(8px);background:#060d28b8;border:1px solid #abd2fa38;border-radius:12px;align-items:flex-start;gap:12px;max-width:680px;margin:0 0 30px;padding:15px 18px;display:flex}.projects-note-tag{font-family:var(--font-mono), monospace;letter-spacing:.08em;color:var(--accent);border:1px solid #abd2fa66;border-radius:999px;flex:none;margin-top:1px;padding:3px 10px;font-size:11px}.projects-note-text{font-family:var(--font-mono), monospace;color:#cdd9f2;font-size:12.5px;line-height:1.6}.filters{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--font-mono), monospace;cursor:pointer;color:#c9d8f5;background:#09154066;border:1px solid #abd2fa33;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:400;transition:all .18s}.chip:hover{color:var(--text);background:#09154066;border-color:#abd2fa80}.chip.active{border:1px solid var(--accent);background:var(--accent);color:var(--bg);font-weight:600}.chip.active:hover{color:var(--bg)}.projects-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.project-card{background:#09154066;border:1px solid #abd2fa21;border-radius:16px;flex-direction:column;padding:26px;transition:all .2s;display:flex}.project-card:hover{border-color:#abd2fa59}.project-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.project-num,.project-context{font-family:var(--font-mono), monospace;color:var(--mono-dim);font-size:12px}.project-name{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:10px;font-size:21px;font-weight:600}.project-desc{color:var(--dim);flex:1;margin-bottom:18px;font-size:14.5px;line-height:1.6}.project-tags{flex-wrap:wrap;gap:7px;display:flex}.project-tag{font-family:var(--font-mono), monospace;color:#c9d8f5;background:#3d518c4d;border-radius:7px;padding:5px 10px;font-size:11.5px}.posts-list{flex-direction:column;display:flex}.post-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-top:1px solid #abd2fa1f;padding:24px 4px;transition:all .18s;display:block}.post-row:hover{background:#abd2fa0a}.post-meta{align-items:center;gap:16px;margin-bottom:9px;display:flex}.post-date,.post-readtime{font-family:var(--font-mono), monospace;color:var(--mono-dim);font-size:12px}.post-cat{font-family:var(--font-mono), monospace;color:var(--accent);border:1px solid #abd2fa40;border-radius:999px;padding:3px 10px;font-size:11px}.post-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:8px;font-size:23px;font-weight:600}.post-excerpt{color:var(--dim);max-width:640px;font-size:15px;line-height:1.6}.article{max-width:720px}.back-link{cursor:pointer;font-family:var(--font-mono), monospace;color:var(--accent);background:0 0;border:none;margin-bottom:34px;padding:0;font-size:13px;display:inline-block}.back-link:hover{color:var(--accent-2)}.article-meta{align-items:center;gap:16px;margin-bottom:18px;display:flex}.article-title{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.02em;color:var(--text);margin:0 0 34px;font-size:44px;font-weight:700;line-height:1.05}.article-body h3{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin:38px 0 14px;font-size:23px;font-weight:600}.article-body p{color:#c8d4f0;margin:0 0 20px;font-size:17px;line-height:1.75}.article-body pre{background:#060d28b3;border:1px solid #abd2fa29;border-radius:12px;margin:0 0 22px;padding:20px;overflow-x:auto}.article-body pre code{font-family:var(--font-mono), monospace;color:#c9d8f5;white-space:pre;font-size:13.5px;line-height:1.7}.article-body blockquote{border-left:3px solid var(--accent);font-family:var(--font-grotesk), sans-serif;color:var(--text);margin:0 0 22px;padding:6px 0 6px 22px;font-size:19px;font-style:italic;line-height:1.5}.article-foot{border-top:1px solid #abd2fa21;justify-content:space-between;align-items:center;margin-top:44px;padding-top:26px;display:flex}.article-sign{font-family:var(--font-mono), monospace;color:var(--mono);font-size:13px}.contact-lead{max-width:560px;color:var(--muted);margin:0 0 44px;font-size:17px;line-height:1.65}.contact-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:44px;display:grid}.contact-left{flex-direction:column;gap:22px;display:flex}.contact-card{color:inherit;background:#09154066;border:1px solid #abd2fa21;border-radius:14px;padding:20px;display:block}.contact-card:hover{color:inherit;border-color:#abd2fa66}.contact-card-label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-dim);margin-bottom:8px;font-size:11px}.contact-card-value{color:var(--text);font-size:16px}.contact-socials{gap:14px;display:flex}.contact-social{text-align:center;color:var(--text);background:#09154066;border:1px solid #abd2fa21;border-radius:14px;flex:1;padding:18px}.contact-social:hover{color:var(--text);border-color:#abd2fa66}.contact-availability{font-family:var(--font-mono), monospace;color:var(--mono);padding-left:4px;font-size:12.5px;line-height:1.8}.contact-availability .status{margin-bottom:6px}.contact-form-wrap{background:#0915406b;border:1px solid #abd2fa24;border-radius:18px;padding:30px}.form{flex-direction:column;gap:16px;display:flex}.field-label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-dim);margin-bottom:8px;font-size:11px;display:block}.field-input,.field-textarea{width:100%;color:var(--text);background:#060d2899;border:1px solid #abd2fa2e;border-radius:10px;outline:none;padding:13px 15px;font-size:15px}.field-textarea{resize:vertical;font-family:var(--font-sans), sans-serif}.field-input:focus,.field-textarea:focus{border-color:var(--accent)}.form-submit{background:var(--accent);color:var(--bg);font-family:var(--font-sans), sans-serif;cursor:pointer;border:none;border-radius:11px;margin-top:4px;padding:15px;font-size:15px;font-weight:600}.form-submit:hover{background:#c4e0ff}.form-sent{text-align:center;padding:40px 10px}.form-sent-mark{margin-bottom:16px;font-size:40px}.form-sent-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:10px;font-size:22px;font-weight:600}.form-sent-body{color:var(--dim);font-size:15px;line-height:1.6}.form-reset{color:var(--text);cursor:pointer;font-family:var(--font-sans), sans-serif;background:0 0;border:1px solid #abd2fa4d;border-radius:10px;margin-top:22px;padding:11px 22px;font-size:14px}.form-reset:hover{border-color:#abd2fa99}@media (max-width:900px){.shell{flex-direction:column;min-height:100%;position:relative}.lang-float{display:none}.sidebar{z-index:20;background:#060d28eb;border-bottom:1px solid #abd2fa24;border-right:none;flex-direction:column;justify-content:flex-start;gap:0;width:100%;height:auto;padding:0;position:sticky;top:0}.sidebar-top{position:relative}.brand{margin:0;padding:15px 20px}.brand-mark{width:38px;height:38px;font-size:16px}.nav-toggle{cursor:pointer;z-index:2;background:0 0;border:1px solid #abd2fa38;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;display:flex;position:absolute;top:13px;right:16px}.nav-toggle-bar{background:var(--accent);border-radius:2px;width:20px;height:2px;transition:transform .2s,opacity .2s;display:block}.sidebar.open .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.sidebar.open .nav-toggle-bar:nth-child(2){opacity:0}.sidebar.open .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.sidebar .nav,.sidebar .side-foot{display:none}.sidebar.open .nav{flex-direction:column;gap:4px;padding:6px 14px 14px;display:flex}.sidebar.open .nav-link{width:100%;padding:13px 14px;font-size:14px}.sidebar.open .side-foot{border-top:1px solid #abd2fa1a;flex-direction:column;width:100%;padding:8px 20px 22px;display:flex}.side-lang{background:#09154080;border:1px solid #abd2fa29;border-radius:9px;align-self:flex-start;gap:4px;margin:14px 0;padding:3px;display:inline-flex}.side-lang-btn{font-family:var(--font-mono), monospace;color:var(--mono);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 13px;font-size:11.5px}.side-lang-btn.active{background:var(--accent);color:var(--bg);font-weight:600}.main{height:auto;padding:34px 22px 72px;overflow-y:visible}.hero-title{font-size:clamp(46px,14vw,72px)}.page-title,.about-title{font-size:clamp(36px,9.5vw,46px)}.article-title{font-size:clamp(28px,8vw,34px)}.contact-socials{flex-wrap:wrap}.about-grid,.contact-grid,.featured-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.experience-item{grid-template-columns:1fr;gap:12px}.field-input,.field-textarea,.login-field input{font-size:16px}}@media (max-width:560px){.stats{flex-wrap:wrap;gap:18px 12px}.stat{flex:42%}.stat-value{font-size:23px}.writing-row{flex-wrap:wrap;gap:6px 16px}.writing-date,.writing-cat{width:auto}.writing-title{flex:100%;font-size:16px}.hero-lead{font-size:17px}.btn-primary,.btn-ghost{text-align:center;flex:100%}.hero-cta{margin-top:30px}.stats{margin-top:40px;padding-top:22px}.section{margin-top:54px}.section-alt{margin-top:48px}.section-head{margin-bottom:20px}.hero-eyebrow{margin-bottom:16px}.featured-card,.project-card{padding:20px}.post-meta{flex-wrap:wrap;gap:8px 14px}.projects-note{flex-direction:column;gap:9px}.contact-form-wrap{padding:22px 18px}.contact-lead{margin-bottom:32px}.about-callout-text{font-size:18px}.article-body p{font-size:16px}.article-body pre{padding:14px}.article-body pre code{font-size:12.5px}}.plasma-backdrop{z-index:0;position:fixed;inset:0;overflow:hidden}.plasma-backdrop-scrim{position:absolute;inset:0}.notfound-wrap{background:var(--bg);text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.notfound-card{z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.notfound-code{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.03em;color:var(--accent);font-size:96px;font-weight:700;line-height:1}.notfound-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);font-size:26px;font-weight:600}.notfound-text{color:var(--muted);max-width:380px;margin:0 0 12px;font-size:15px}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.login-card{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#09154080;border:1px solid #abd2fa29;border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:34px 30px;display:flex;position:relative}.login-mark{width:46px;height:46px;font-family:var(--font-grotesk), sans-serif;color:var(--accent);background:#09154080;border:1px solid #abd2fa66;border-radius:12px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.login-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin:6px 0 0;font-size:24px;font-weight:600}.login-sub{font-family:var(--font-mono), monospace;color:var(--mono);margin:0 0 8px;font-size:12.5px}.login-field{flex-direction:column;gap:7px;display:flex}.login-field span{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-dim);font-size:11px}.login-field input{color:var(--text);background:#060d2899;border:1px solid #abd2fa2e;border-radius:10px;outline:none;padding:12px 14px;font-size:15px}.login-field input:focus{border-color:var(--accent)}.login-error{font-family:var(--font-mono), monospace;color:#ffb4a8;background:#b3261e2e;border:1px solid #ff78644d;border-radius:9px;padding:9px 12px;font-size:12.5px}.login-btn{background:var(--accent);color:var(--bg);font-family:var(--font-sans), sans-serif;cursor:pointer;border:none;border-radius:11px;margin-top:6px;padding:13px;font-size:15px;font-weight:600}.login-btn:hover{background:#c4e0ff}.login-btn:disabled{opacity:.6;cursor:default}.admin{min-height:100vh;color:var(--text);background:0 0;display:flex}.admin-nav-toggle{display:none}.admin-side{z-index:2;background:#09154057;border-right:1px solid #abd2fa21;flex-direction:column;flex:none;justify-content:space-between;width:232px;height:100vh;padding:26px 20px;display:flex;position:sticky;top:0}.admin-brand{font-family:var(--font-grotesk), sans-serif;color:var(--text);align-items:center;gap:10px;margin-bottom:28px;font-size:15px;font-weight:600;display:flex}.admin-brand-mark{width:34px;height:34px;color:var(--accent);background:#09154080;border:1px solid #abd2fa66;border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.admin-nav{flex-direction:column;gap:3px;display:flex}.admin-nav a{font-family:var(--font-mono), monospace;color:var(--mono-dim);border-radius:8px;padding:10px 12px;font-size:13px;transition:all .15s}.admin-nav a:hover{color:var(--text);background:#abd2fa0f}.admin-foot{font-family:var(--font-mono), monospace}.admin-user{color:var(--mono);word-break:break-all;margin-bottom:10px;font-size:11.5px}.admin-logout{width:100%;color:var(--text);font-family:var(--font-mono), monospace;cursor:pointer;background:0 0;border:1px solid #abd2fa3d;border-radius:9px;padding:9px;font-size:12.5px;transition:all .15s}.admin-logout:hover{color:var(--accent);border-color:#abd2fa80}.admin-main{z-index:1;flex:1;min-width:0;max-width:1040px;padding:40px 44px 80px;position:relative}.admin-h1{font-family:var(--font-grotesk), sans-serif;letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700}.admin-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.admin-head-sticky{z-index:5;-webkit-backdrop-filter:blur(16px);background:#0915409e;border:1px solid #abd2fa24;border-radius:14px;margin-bottom:20px;padding:13px 16px 13px 22px;position:sticky;top:10px}.admin-head-sticky .admin-h1{font-size:24px}.admin-actions{align-items:center;gap:12px;display:flex}.admin-saved{font-family:var(--font-mono), monospace;color:#7dd3a8;font-size:12.5px}.admin-note{font-family:var(--font-mono), monospace;color:var(--mono);margin-top:22px;font-size:12.5px}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.admin-nav-msg{justify-content:space-between;align-items:center;display:flex}.admin-nav-count{color:#060d28;text-align:center;background:#e0b877;border-radius:999px;min-width:18px;padding:1px 7px;font-size:10px;font-weight:700}.msg-list{flex-direction:column;gap:12px;display:flex}.msg{background:#09154052;border:1px solid #abd2fa1f;border-radius:12px;padding:18px}.msg-unread{background:#e0b8770f;border-color:#e0b87766}.msg-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.msg-name{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-right:10px;font-size:15px;font-weight:600}.msg-email{font-family:var(--font-mono), monospace;color:var(--accent);font-size:12.5px}.msg-date{font-family:var(--font-mono), monospace;color:var(--mono-dim);flex:none;font-size:12px}.msg-body{color:var(--muted);white-space:pre-wrap;margin-bottom:14px;font-size:14.5px;line-height:1.6}.msg-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-card{color:inherit;background:#0915406b;border:1px solid #abd2fa24;border-radius:16px;padding:24px;transition:all .18s;display:block}.admin-card:hover{border-color:#abd2fa66;transform:translateY(-2px)}.admin-card-accent{border-style:dashed}.admin-card-num{font-family:var(--font-grotesk), sans-serif;color:var(--text);font-size:30px;font-weight:700}.admin-card-label{font-family:var(--font-mono), monospace;color:var(--mono);margin-top:6px;font-size:12.5px}.admin-btn{background:var(--accent);color:var(--bg);font-family:var(--font-sans), sans-serif;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.admin-btn:hover{background:#c4e0ff}.admin-btn:disabled{opacity:.6;cursor:default}.admin-btn-ghost{color:var(--text);font-family:var(--font-sans), sans-serif;cursor:pointer;background:#09154066;border:1px solid #abd2fa3d;border-radius:10px;padding:10px 18px;font-size:14px}.admin-btn-ghost:hover{border-color:#abd2fa80}.admin-btn-sm{color:var(--text);font-family:var(--font-mono), monospace;cursor:pointer;background:#09154080;border:1px solid #abd2fa33;border-radius:8px;padding:6px 12px;font-size:12px;text-decoration:none;display:inline-block}.admin-btn-sm:hover{border-color:#abd2fa73}.admin-btn-sm:disabled{opacity:.4;cursor:default}.admin-btn-danger{color:#ffb4a8;border-color:#ff78644d}.admin-btn-danger:hover{border-color:#ff786499}.admin-error{font-family:var(--font-mono), monospace;color:#ffb4a8;background:#b3261e2e;border:1px solid #ff78644d;border-radius:9px;margin-bottom:18px;padding:10px 14px;font-size:13px}.admin-empty{font-family:var(--font-mono), monospace;color:var(--mono);padding:30px 0;font-size:13.5px}.admin-panel{margin-top:34px}.admin-panel-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.admin-h2{font-family:var(--font-grotesk), sans-serif;margin:0;font-size:18px;font-weight:600}.admin-link{font-family:var(--font-mono), monospace;color:var(--accent);font-size:12.5px}.admin-link:hover{color:var(--accent-2)}.admin-table{flex-direction:column;display:flex}.admin-tr{border-top:1px solid #abd2fa1f;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;display:flex}.admin-tr-link{color:inherit;border-radius:8px;padding-left:8px;padding-right:8px}.admin-tr-link:hover{background:#abd2fa0d}.admin-tr-arrow{color:var(--mono-dim);flex:none}.admin-td-title{font-family:var(--font-grotesk), sans-serif;color:var(--text);margin-bottom:6px;font-size:16px;font-weight:500}.admin-td-sub{font-family:var(--font-mono), monospace;color:var(--mono-dim);align-items:center;gap:12px;font-size:12px;display:flex}.admin-badge{color:var(--accent);border:1px solid #abd2fa40;border-radius:999px;padding:2px 9px}.admin-badge-live{color:#7dd3a8;border-color:#7dd3a866}.admin-badge-draft{color:#e0b877;border-color:#e0b87766}.admin-status-toggle{font-family:var(--font-mono), monospace;color:#e0b877;cursor:pointer;white-space:nowrap;background:#e0b8771a;border:1px solid #e0b87766;border-radius:9px;padding:8px 14px;font-size:12px;transition:all .15s}.admin-status-toggle.on{color:#7dd3a8;background:#7dd3a81f;border-color:#7dd3a873}.admin-reorder{flex-direction:column;flex:none;gap:3px;display:flex}.admin-icon-btn{width:28px;height:22px;color:var(--mono);cursor:pointer;background:#09154080;border:1px solid #abd2fa33;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.admin-icon-btn:hover:not(:disabled){color:var(--accent);border-color:#abd2fa73}.admin-icon-btn:disabled{opacity:.3;cursor:default}.admin-td-slug{color:var(--mono)}.admin-td-actions{flex:none;gap:8px;display:flex}.admin-form{flex-direction:column;gap:16px;display:flex}.admin-section{font-family:var(--font-grotesk), sans-serif;color:var(--text);border-bottom:1px solid #abd2fa24;margin:26px 0 4px;padding-bottom:10px;font-size:19px;font-weight:600}.admin-subhead,.af-sublabel{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:12px 0 2px;font-size:11px}.admin-block{background:#09154052;border:1px solid #abd2fa1f;border-radius:12px;flex-direction:column;gap:12px;padding:18px;display:flex}.admin-block-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-block-tools{gap:6px;display:flex}.admin-form-foot{border-top:1px solid #abd2fa24;margin-top:24px;padding-top:20px}.af{flex-direction:column;gap:7px;display:flex}.af-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.af-label{font-family:var(--font-mono), monospace;color:var(--muted);font-size:12px}.af-hint{color:var(--mono-dim);text-transform:none;letter-spacing:0}.af-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.af-col{flex-direction:column;gap:4px;display:flex}.af-lang{font-family:var(--font-mono), monospace;letter-spacing:.1em;color:var(--mono-dim);font-size:10px}.af-input{width:100%;color:var(--text);font-size:14px;font-family:var(--font-sans), sans-serif;background:#060d2899;border:1px solid #abd2fa29;border-radius:9px;outline:none;padding:10px 12px}.af-input:focus{border-color:var(--accent)}.af-area{resize:vertical;line-height:1.5}.af-mono{font-family:var(--font-mono), monospace;font-size:13px}.af-inline{width:auto;min-width:130px}.af-checks{flex-wrap:wrap;gap:14px;display:flex}.af-check{font-family:var(--font-mono), monospace;color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.cform-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.cform-search-wrap{flex:1;align-items:center;min-width:240px;display:flex;position:relative}.cform-search-ico{color:var(--mono-dim);pointer-events:none;font-size:16px;position:absolute;left:13px}.cform-search{width:100%;color:var(--text);background:#060d2899;border:1px solid #abd2fa2e;border-radius:10px;outline:none;padding:11px 34px;font-size:14px}.cform-search:focus{border-color:var(--accent)}.cform-search-clear{color:var(--mono);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:12px;position:absolute;right:8px}.cform-search-clear:hover{color:var(--accent)}.cform-chips{flex-wrap:wrap;gap:6px;display:flex}.cform-chip{font-family:var(--font-mono), monospace;color:var(--mono-dim);cursor:pointer;background:#09154066;border:1px solid #abd2fa29;border-radius:999px;padding:6px 12px;font-size:11.5px;transition:all .15s}.cform-chip:hover{color:var(--accent);border-color:#abd2fa66}.editlang{background:#09154080;border:1px solid #abd2fa2e;border-radius:9px;flex:none;gap:3px;padding:3px;display:inline-flex}.editlang-btn{font-family:var(--font-mono), monospace;letter-spacing:.04em;color:var(--mono);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:11.5px;transition:all .15s}.editlang-btn:hover:not(.active){color:var(--accent)}.editlang-btn.active{background:var(--accent);color:var(--bg);font-weight:600}.csec{background:#09154047;border:1px solid #abd2fa1f;border-radius:14px;overflow:hidden}.csec-head{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.csec-head:hover{background:#abd2fa0a}.csec-title{font-family:var(--font-grotesk), sans-serif;font-size:16px;font-weight:600}.csec-chev{color:var(--accent);font-size:13px}.csec-body{flex-direction:column;gap:14px;padding:4px 20px 22px;display:flex}.cform.searching .af-sublabel,.cform.searching .csec-body>.admin-btn-ghost,.cform.searching .admin-block>.admin-btn-danger,.cform.searching .admin-block-tools{display:none}.cform.searching .admin-block:not(:has(.af)){display:none}.cform.searching .csec:not(:has(.af)){display:none}@media (max-width:780px){.admin{flex-direction:column}.admin-side{z-index:30;background:#060d28f0;border-bottom:1px solid #abd2fa24;border-right:none;width:100%;height:auto;padding:0;display:block;position:sticky;top:0}.admin-brand{margin:0;padding:14px 18px}.admin-nav-toggle{cursor:pointer;z-index:2;background:0 0;border:1px solid #abd2fa38;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;display:flex;position:absolute;top:10px;right:14px}.admin-side.open .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.admin-side.open .nav-toggle-bar:nth-child(2){opacity:0}.admin-side.open .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.admin-side .admin-nav,.admin-side .admin-foot{display:none}.admin-side.open .admin-nav{padding:4px 12px 12px;display:flex}.admin-side.open .admin-foot{border-top:1px solid #abd2fa1a;padding:12px 18px 18px;display:block}.admin-main{padding:24px 16px 64px}.admin-h1{font-size:24px}.admin-head{flex-wrap:wrap;margin-bottom:20px}.admin-actions{flex-wrap:wrap}.admin-head-sticky{-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.admin-cards{grid-template-columns:1fr 1fr}.af-2,.af-row{grid-template-columns:1fr}.admin-tr{flex-wrap:wrap;gap:10px}.admin-reorder{display:none}.admin-td-main{flex:100%}.admin-td-actions{flex-wrap:wrap;flex:100%}.msg-head{flex-wrap:wrap;gap:4px 12px}}@media (max-width:460px){.admin-cards{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}.skip-link{z-index:100;background:var(--accent);color:var(--bg);font-family:var(--font-sans), sans-serif;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-250%)}.skip-link:focus-visible{color:var(--bg);transform:none}.hero-title,.page-title,.about-title,.section-title,.article-title,.about-callout-text{text-wrap:balance}.hero-lead,.page-lead,.contact-lead,.post-excerpt,.featured-desc,.project-desc,.about-bio p,.article-body p{text-wrap:pretty}.article-body a{text-underline-offset:3px;-webkit-text-decoration:underline #abd2fa73;text-decoration:underline #abd2fa73}.article-body a:hover{text-decoration-color:currentColor}.field-input:focus,.field-textarea:focus,.login-field input:focus{box-shadow:0 0 0 3px #abd2fa24}.form-error{font-family:var(--font-mono), monospace;color:#ffb4a8;background:#b3261e2e;border:1px solid #ff78644d;border-radius:9px;margin:0;padding:10px 13px;font-size:12.5px}.ext-mark{opacity:.65;font-size:.85em}.article-body pre code{tab-size:2}.code-block{position:relative}.code-block pre{margin:0 0 22px}.code-copy{z-index:1;font-family:var(--font-mono), monospace;letter-spacing:.04em;color:var(--mono);cursor:pointer;opacity:0;background:#060d28d9;border:1px solid #abd2fa33;border-radius:8px;padding:5px 11px;font-size:11.5px;transition:opacity .18s,color .18s,border-color .18s,background .18s;position:absolute;top:10px;right:10px}.code-block:hover .code-copy,.code-copy:focus-visible{opacity:1}.code-copy:hover{color:var(--accent);border-color:#abd2fa73}.code-copy.copied{color:#7dd3a8;opacity:1;border-color:#7dd3a880}@media (hover:none){.code-copy{opacity:.9}}.list-empty{font-family:var(--font-mono), monospace;color:var(--mono);border-top:1px solid #abd2fa1f;margin:0;padding:26px 4px;font-size:13px}@media (prefers-reduced-motion:no-preference){.status-dot{animation:2.6s ease-out infinite statusPulse}}@keyframes statusPulse{0%{box-shadow:0 0 10px #7dd3a8,0 0 #7dd3a873}70%{box-shadow:0 0 10px #7dd3a8,0 0 0 8px #7dd3a800}to{box-shadow:0 0 10px #7dd3a8,0 0 #7dd3a800}}.writing-arrow,.admin-tr-arrow{transition:transform .25s cubic-bezier(.2,.7,.2,1),color .25s}.writing-row:hover .writing-arrow{color:var(--accent);transform:translate(5px)}.link-more{padding-bottom:3px;position:relative}.link-more:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.link-more:hover:after{transform:scaleX(1)}.btn-primary,.btn-ghost,.form-submit{transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.btn-primary:hover,.form-submit:hover{box-shadow:0 8px 26px -10px #abd2fa66}.skill-chip{transition:border-color .2s,color .2s}.skill-chip:hover{color:#fff;border-color:#abd2fa66}@media print{.sidebar,.lang-float,.skip-link,.plasma-layer,.plasma-overlay,.back-link,.article-foot,.hero-cta,.filters{display:none!important}html,body{color:#000;background:#fff;height:auto}.shell{display:block;position:static;overflow:visible}.main{height:auto;padding:0;overflow:visible}.hero-title,.page-title,.about-title,.section-title,.article-title,.post-title,.article-body h3,.about-callout-text,.exp-role,.featured-name,.project-name,.stat-value{color:#000}.hero-lead,.page-lead,.contact-lead,.about-bio,.article-body p,.article-body blockquote,.post-excerpt,.featured-desc,.project-desc,.exp-point{color:#222}.eyebrow,.exp-period,.exp-company,.post-date,.post-readtime,.post-cat,.stat-label,.article-sign,.skill-label,.skill-chip,.project-tag{color:#555}a{color:#000}.article-body pre{background:#f5f5f5;border-color:#ddd}.article-body pre code{color:#111}.featured-card,.project-card,.skill-card,.contact-card,.contact-social,.about-callout{box-shadow:none;background:0 0;border-color:#ccc}}@media (hover:none){.featured-card:active,.project-card:active,.contact-card:active,.contact-social:active{transform:scale(.98)}.btn-primary:active,.btn-ghost:active,.form-submit:active,.chip:active{transform:scale(.97)}.writing-row:active,.post-row:active{background:#abd2fa12}}
