@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f49c72243bdcede-s.d482622f.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2797aaeec05c026-s.901efc6f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3baf9375001c1f5-s.7897a175.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9096fd5f49bfad97-s.20ec22c2.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef7be03ed7e60a63-s.p.bb832c79.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4bd7aa058bc96e4f-s.940752b4.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0bd78c1bd4dfd4c7-s.cfc45236.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/197b82234d448be7-s.ac81b455.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/79050e547acec5d8-s.515542c4.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/522cd826f2dc0be6-s.p.177abc12.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/be04ef6d3831928d-s.eeea8291.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/690c9e92a92dc3ad-s.5072461a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bd1c8a16898c933f-s.d7e45335.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c63a115de3206da5-s.f59cae2b.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/713e82fa9fe87496-s.p.dc05021a.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 Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_82e24eab-module__y8wIEa__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback;font-style:normal}.ibm_plex_serif_82e24eab-module__y8wIEa__variable{--font-heading:"IBM Plex Serif","IBM Plex Serif 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.c949a514.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.a3ed597e.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.319fa961.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.323431dc.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.0f2c7ba8.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.af4fcd24.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.c949a514.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.a3ed597e.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.319fa961.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.323431dc.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.0f2c7ba8.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.af4fcd24.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.c949a514.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.a3ed597e.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.319fa961.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.323431dc.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.0f2c7ba8.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.af4fcd24.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.c949a514.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.a3ed597e.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.319fa961.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.323431dc.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.0f2c7ba8.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.af4fcd24.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_1f21f0a1-module__x2A78G__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_1f21f0a1-module__x2A78G__variable{--font-body:"IBM Plex Sans","IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.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.afa48be3.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.764b43eb.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.cb53f04b.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.64b9304e.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.6b5ea6af.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.1dcddae6.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.8da66e7f.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.e6cd1753.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.19510058.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_db3c2f08-module__v8BP8G__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_db3c2f08-module__v8BP8G__variable{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
:root{--bg:#eceae3;--bg-2:#e2dfd5;--ink:#201a14;--muted:#5b5449;--line:#cfc9bc;--accent:#256b5c;--accent-soft:#256b5c1f;--stratum-clay:#b97a46;--stratum-oxide:#9b3b22;--stratum-slate:#46505c;--stratum-bedrock:#14100d;--radius:8px;--shadow:0 12px 32px #14100d1a;--btn-bg:#201a14;--btn-fg:#eceae3;--surface:color-mix(in srgb,var(--bg)92%,#fff 8%);--surface-card:color-mix(in srgb,var(--bg)80%,#fff 20%);--surface-nav:color-mix(in srgb,var(--bg)85%,#fff 15%)}:root[data-theme=dark]{--bg:#14100d;--bg-2:#1d1712;--ink:#ece7dc;--muted:#9c9484;--line:#35291f;--accent:#4fb39c;--accent-soft:#4fb39c29;--stratum-clay:#d9985f;--stratum-oxide:#c1573a;--stratum-slate:#6b7684;--stratum-bedrock:#ece7dc;--shadow:0 12px 32px #00000080;--btn-bg:#ece7dc;--btn-fg:#14100d;--surface:color-mix(in srgb,var(--bg)60%,var(--bg-2)40%);--surface-card:#1d1712;--surface-nav:#1a140f}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:linear-gradient(180deg,var(--bg)0%,var(--bg)55%,color-mix(in srgb,var(--bg)75%,var(--stratum-slate)25%)100%);font-family:var(--font-body),"Segoe UI",sans-serif;background-attachment:fixed;margin:0;padding:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}.page{width:min(1160px,100%);max-width:1160px;margin:0 auto;padding:40px 24px 96px}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;display:flex}.logo{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:4px;font-size:11px;font-weight:500;display:flex}.logo strong{font-family:var(--font-heading),"Georgia",serif;letter-spacing:.01em;text-transform:none;color:var(--ink);font-size:clamp(1rem,1.4vw,1.25rem)}.nav-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lang-toggle,.theme-toggle{border:1px solid var(--line);background:var(--surface-nav);border-radius:6px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.lang-toggle button,.theme-toggle button{color:var(--muted);font-family:var(--font-mono),monospace;letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:11px}.lang-toggle button.active,.theme-toggle button.active{background:var(--btn-bg);color:var(--btn-fg)}.skip-link{z-index:100;background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius);padding:10px 18px;font-weight:600;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}.lang-notice{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:10px 16px;font-size:.85rem;display:flex}.lang-notice button{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:inline-flex}.hero{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:flex-start;gap:56px;min-height:380px;padding:48px 40px;display:flex;position:relative;overflow:hidden}.hero>svg{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;max-width:640px;position:relative}.hero h1{font-family:var(--font-heading),"Georgia",serif;letter-spacing:-.01em;margin:0 0 20px;font-size:clamp(1.9rem,5.6vw,3.9rem);line-height:1.1}.hero p{color:var(--muted);max-width:68ch;margin:0 0 24px;font-size:clamp(.98rem,1.8vw,1.05rem);line-height:1.7}.hero .cta{flex-wrap:wrap;gap:12px;display:flex}.contact-cta{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.btn{border:1px solid var(--btn-bg);font-family:var(--font-mono),monospace;letter-spacing:.02em;background:var(--btn-bg);color:var(--btn-fg);text-align:center;border-radius:4px;justify-content:center;align-items:center;padding:12px 20px;font-size:.82rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn.secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.hero-card{z-index:1;border:1px solid var(--line);background:var(--surface-card);border-radius:4px;align-self:flex-end;gap:10px;max-width:300px;padding:18px 20px;display:grid;position:relative}.hero-card-tag{font-family:var(--font-mono),monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:3px;justify-self:start;padding:3px 7px;font-size:10px}.hero-card h3{font-family:var(--font-heading),"Georgia",serif;margin:0;font-size:1.1rem}.hero-card p{max-width:none;margin:0;font-size:.9rem}.section{gap:24px;padding:40px 0 48px;display:grid;position:relative}.section:before{content:"";background:color-mix(in srgb,var(--line)55%,var(--stratum-slate)45%);clip-path:polygon(0% 60%,8% 15%,16% 75%,24% 10%,32% 55%,40% 20%,48% 80%,56% 15%,64% 60%,72% 25%,80% 70%,88% 15%,96% 65%,100% 35%,100% 100%,0% 100%);height:14px;margin-bottom:12px;display:block}.section[data-depth]{border-radius:12px;padding-left:24px;padding-right:24px}.section[data-depth="1"]{background:color-mix(in srgb,var(--bg)96%,var(--stratum-slate)4%)}.section[data-depth="2"]{background:color-mix(in srgb,var(--bg)91%,var(--stratum-slate)9%)}.section[data-depth="3"]{background:color-mix(in srgb,var(--bg)85%,var(--stratum-slate)15%)}.section[data-depth="4"]{background:color-mix(in srgb,var(--bg)78%,var(--stratum-slate)22%)}.section[data-depth="5"]{--bg:#14100d;--ink:#ece7dc;--muted:#a79e8c;--line:#35291f;--btn-bg:#ece7dc;--btn-fg:#14100d;--accent:#4fb39c;--accent-soft:#4fb39c2e;background:var(--bg);color:var(--ink);padding-bottom:56px}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-head-inner{align-items:baseline;gap:12px;display:flex}.depth-marker{font-family:var(--font-mono),monospace;color:var(--accent);letter-spacing:.02em;font-size:.8rem}.section h2{font-family:var(--font-heading),"Georgia",serif;margin:0;font-size:1.9rem}.section-subtitle{color:var(--muted);max-width:65ch;margin:8px 0 0}.tag{font-family:var(--font-mono),monospace;letter-spacing:.04em;color:var(--accent);font-size:11px}.tag.status{background:var(--accent-soft);border-radius:3px;padding:4px 8px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.list{color:var(--muted);overflow-wrap:anywhere;gap:12px;display:grid}.project-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:4px;gap:16px;padding:22px;display:grid;box-shadow:0 12px 28px #100d080d}.project-card.featured{border-color:var(--accent);border-width:1px}.link-toggle{font-family:var(--font-mono),monospace;color:var(--accent);cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;font-size:.82rem;font-weight:500}.link-toggle:hover{text-decoration:underline}.project-meta{gap:6px;display:grid}.project-meta h3{font-size:1.1rem;font-family:var(--font-heading),"Georgia",serif;margin:0}.project-meta-tags{align-items:center;gap:8px;display:flex}.project-desc{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.6}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-mono),monospace;letter-spacing:.01em;border-radius:3px;padding:5px 9px;font-size:11px}.project-highlights{color:var(--muted);counter-reset:sample-note;gap:8px;font-size:.95rem;display:grid}.project-highlights div{padding-left:26px;position:relative}.project-highlights div:before{counter-increment:sample-note;content:counter(sample-note);border:1px solid var(--accent);width:18px;height:18px;color:var(--accent);font-family:var(--font-mono),monospace;border-radius:3px;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;top:0;left:0}.skills-group{gap:20px;display:grid}.skills-row{grid-template-columns:minmax(120px,160px) 1fr;align-items:baseline;gap:16px;display:grid}.skills-row-label{font-family:var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.skills-row .chips{gap:8px}.skills-row .chip{padding:7px 12px;font-size:.85rem}.timeline{gap:22px;padding-left:26px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,var(--stratum-clay)0%,var(--stratum-oxide)35%,var(--stratum-slate)70%,var(--stratum-bedrock)100%);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:4px}.timeline div{color:var(--muted);font-size:.95rem;position:relative}.timeline div:before{content:"";background:var(--accent);width:10px;height:3px;position:absolute;top:6px;left:-25px}.footer{border-top:1px solid var(--line);font-family:var(--font-mono),monospace;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding-top:24px;font-size:.78rem;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--btn-fg)}html{scrollbar-color:var(--stratum-slate)var(--bg);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--stratum-slate);border:3px solid var(--bg);border-radius:6px}.category-filter{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.category-filter button{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono),monospace;cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.category-filter button.active,.category-filter button:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.blog-index-title{font-family:var(--font-heading),"Georgia",serif;margin:0;font-size:clamp(1.9rem,4vw,3rem)}.post-list{gap:16px;padding-bottom:40px;display:grid}.post-card{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:4px;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s;display:grid}.post-card:hover{box-shadow:var(--shadow);color:inherit;transform:translateY(-2px)}.post-card h2{font-family:var(--font-heading),"Georgia",serif;margin:6px 0 8px;font-size:1.3rem}.post-card p{color:var(--muted);margin:0;line-height:1.6}.post-meta-row{color:var(--muted);font-family:var(--font-mono),monospace;gap:16px;font-size:.78rem;display:flex}.post-article{padding-bottom:40px}.post-header{border-bottom:1px solid var(--line);gap:12px;padding:40px 0 32px;display:grid}.post-header h1{font-family:var(--font-heading),"Georgia",serif;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.post-desc{color:var(--muted);max-width:70ch;margin:0;font-size:1.05rem;line-height:1.6}.prose{max-width:72ch;padding:32px 0;line-height:1.75}.prose h2{font-family:var(--font-heading),"Georgia",serif;color:var(--ink);margin:2em 0 .5em;font-size:1.6rem}.prose h3{color:var(--ink);margin:1.5em 0 .4em;font-size:1.1rem;font-weight:600}.prose p{color:var(--muted);margin:0 0 1.2em}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{color:var(--muted);margin:0 0 1.2em;padding-left:1.4em}.prose li{margin-bottom:.4em;line-height:1.7}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose code{font-family:var(--font-mono),"Menlo","Monaco","Consolas",monospace;background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:2px 6px;font-size:.88em}.prose pre{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;margin:0 0 1.5em;padding:20px 22px;overflow-x:auto}.prose pre code{color:var(--ink);background:0 0;border-radius:0;padding:0;font-size:.9em}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0;margin:0 0 1.2em;padding:12px 16px}.prose blockquote p{color:var(--ink);margin:0}.prose hr{border:none;border-top:1px solid var(--line);margin:2em 0}.callout{border-radius:4px;gap:6px;margin:0 0 1.5em;padding:14px 18px;display:grid}.callout-label{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:500}.callout-body{font-size:.95rem;line-height:1.65}.callout-body p{color:inherit;margin:0}.callout-body code{background:#00000014}.callout-tip{color:color-mix(in srgb,#15803d 90%,var(--ink));background:#22c55e1a;border:1px solid #22c55e4d}.callout-info{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent)30%,transparent);color:var(--accent)}.callout-warning{color:color-mix(in srgb,#92400e 90%,var(--ink));background:#f59e0b1a;border:1px solid #f59e0b59}:root[data-theme=dark] .callout-tip{color:#86efac}:root[data-theme=dark] .callout-warning{color:#fcd34d}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.5em;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px 14px}.prose th{background:var(--bg-2);color:var(--ink);font-weight:600}.prose td{color:var(--muted)}@media (min-width:1600px){.page{width:min(1420px,100%);max-width:1420px;padding-top:52px;padding-bottom:110px}.hero{gap:56px;padding-top:72px;padding-bottom:62px}.hero h1{font-size:clamp(3rem,3.6vw,4.6rem)}.hero p{max-width:68ch;font-size:1.12rem}.section h2{font-size:2.2rem}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{padding:24px}}@media (min-width:2200px){.page{width:min(1680px,100%);max-width:1680px;padding-top:62px;padding-bottom:124px}.hero{gap:72px;padding-top:86px}.hero h1{font-size:clamp(3.4rem,3vw,5rem)}.hero p{font-size:1.18rem}.section h2{font-size:2.45rem}.project-meta h3{font-size:1.2rem}.section{padding-block:50px}}@media (max-width:1200px){.page{padding-inline:20px}}@media (max-width:900px){.page{padding-bottom:80px}.hero{gap:24px;min-height:0;padding:36px 24px 24px}.hero-card{max-width:none}.split{grid-template-columns:1fr}.skills-row{grid-template-columns:1fr;gap:6px}}@media (max-width:700px){.nav{flex-direction:column;align-items:stretch}.nav-controls{justify-content:flex-start;width:100%}.lang-toggle,.theme-toggle{flex:auto}.section{padding:32px 0 40px}.section[data-depth]{padding-left:16px;padding-right:16px}.section h2{font-size:1.55rem}}@media (max-width:520px){.page{padding:32px 18px 72px}.lang-toggle,.theme-toggle{justify-content:space-between;width:100%}.hero{padding-top:36px}.hero .cta{grid-template-columns:1fr;display:grid}.btn{width:100%}.project-grid{grid-template-columns:1fr}.project-card{padding:16px}}@media (max-width:380px){.page{padding-inline:14px}.lang-toggle button,.theme-toggle button{padding-inline:8px;font-size:10px}}
