@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_12937245-module__44gria__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_12937245-module__44gria__variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_964e2806-module__h6Ln4a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_964e2806-module__h6Ln4a__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/62492e45f348cf87-s.1i31pqskun3om.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.2tf78tohaw2ta.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/c73d4b34880585a8-s.1o1rwbwcd1il6.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/f00b8cc54454926d-s.2zjf5q-8tbk0-.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/741805f5bd1ef272-s.412k-l0vbrw4v.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.3yajkaw9ed9d3.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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/62492e45f348cf87-s.1i31pqskun3om.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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.2tf78tohaw2ta.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/c73d4b34880585a8-s.1o1rwbwcd1il6.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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/f00b8cc54454926d-s.2zjf5q-8tbk0-.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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/741805f5bd1ef272-s.412k-l0vbrw4v.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.3yajkaw9ed9d3.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:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/62492e45f348cf87-s.1i31pqskun3om.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:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.2tf78tohaw2ta.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/c73d4b34880585a8-s.1o1rwbwcd1il6.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:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/f00b8cc54454926d-s.2zjf5q-8tbk0-.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:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/741805f5bd1ef272-s.412k-l0vbrw4v.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.3yajkaw9ed9d3.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.2_7u3qf8hb00l.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.3qp6y754qyij-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.437wgy8nypf_z.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.36f255hs6fere.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.3ffd3kh1ay1yu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0xq4un9mlaiqb.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/20aee433927f7d4b-s.2_7u3qf8hb00l.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/256e1f7f180674ba-s.3qp6y754qyij-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/be3bf58b83159894-s.437wgy8nypf_z.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/753b6407f468151f-s.36f255hs6fere.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/292081311a6a8abc-s.3ffd3kh1ay1yu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0xq4un9mlaiqb.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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/20aee433927f7d4b-s.2_7u3qf8hb00l.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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/256e1f7f180674ba-s.3qp6y754qyij-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/be3bf58b83159894-s.437wgy8nypf_z.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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/753b6407f468151f-s.36f255hs6fere.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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/292081311a6a8abc-s.3ffd3kh1ay1yu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0xq4un9mlaiqb.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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_f6a3a72e-module__lhDfEW__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_f6a3a72e-module__lhDfEW__variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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_b092d5fd-module__JDLIAq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_b092d5fd-module__JDLIAq__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4efe4;--panel:#fbf9f3;--ink:#1b1a17;--ink-soft:#3f3c36;--faint:#8b8578;--rule:#ded8c8;--accent:#5457d5;--tape:#e3dcc7;--link-hover:#1d4ed8;--serif:var(--font-serif), ui-serif, Georgia, "Times New Roman", serif;--sans:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace;--reading:44.6875rem;--measure:var(--reading);--gap-section:clamp(3.75rem, 9vw, 6rem);--radius:3px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#151414;--panel:#1f1f1f;--ink:#f0e3de;--ink-soft:#f0e3de;--faint:#bdb4b0;--rule:#282828;--accent:#ff5e1f;--tape:#2d2b2a;--link-hover:#ff5e1f}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:color-mix(in oklab, var(--accent) 24%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--panel);border:1px solid var(--rule);font:500 .8rem var(--mono);padding:.5rem .85rem;top:1rem;left:1rem}.meta{font:400 .74rem/1 var(--mono);color:var(--faint);letter-spacing:.02em;white-space:nowrap}.shell{width:min(100% - 2.5rem, var(--measure));margin-inline:auto;padding-block:clamp(2rem,5vw,3.25rem) 3rem}
.masthead{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:clamp(4rem,11vw,8.5rem);display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.012em;font-size:1.42rem;font-weight:600;text-decoration:none;transition:color .15s}.wordmark:hover{color:var(--link-hover)}.nav{align-items:center;gap:1.6rem;display:flex}.nav a{font:400 .73rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);text-decoration:none;transition:color .15s;position:relative}.nav a.is-current{color:var(--ink)}.nav a.is-current:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 6px var(--accent), 0 0 14px color-mix(in oklab, var(--accent) 60%, transparent);pointer-events:none;border-radius:1px;position:absolute;inset:auto 0 -.5rem}.nav a:hover{color:var(--link-hover)}.theme-toggle{width:1.9rem;height:1.9rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .15s,background-color .15s;display:grid}.theme-toggle:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 7%, transparent)}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}.hero{grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.hero h1{letter-spacing:-.021em;text-wrap:balance;margin-bottom:1.5rem;font-size:clamp(2.1rem,5.4vw,3rem);line-height:1.13}.lede{max-width:34ch;color:var(--ink-soft);margin:0;font-size:1.005rem;line-height:1.72}.lede a{color:var(--accent);text-decoration:none;transition:color .15s}.lede a:hover{color:var(--link-hover)}.socials{flex-wrap:wrap;gap:1.55rem;margin:2.35rem 0 0;padding:0;list-style:none;display:flex}.socials a{font:400 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);align-items:center;gap:.55rem;text-decoration:none;transition:color .15s;display:inline-flex}.socials a:hover{color:var(--link-hover)}.socials--secondary{margin-top:1rem}.polaroid{background:var(--panel);margin:0;padding:.65rem .65rem 0;transition:rotate .3s,translate .3s,box-shadow .3s;position:relative;rotate:1.6deg;box-shadow:0 10px 26px -14px #0000008c;box-shadow:0 10px 26px -14px lab(0% 0 0/.55)}.polaroid:hover{translate:0 -5px;rotate:none;box-shadow:0 20px 36px -16px #0009;box-shadow:0 20px 36px -16px lab(0% 0 0/.6)}.polaroid img,.polaroid .polaroid__placeholder{aspect-ratio:5/6;object-fit:cover;width:100%}.polaroid .polaroid__placeholder{background:color-mix(in oklab, var(--rule) 55%, var(--panel));color:var(--faint);font:400 .72rem var(--mono);place-items:center;display:grid}.polaroid figcaption{font-family:var(--serif);text-align:center;color:var(--ink-soft);padding:.7rem 0 .95rem;font-size:.86rem;font-style:italic}.polaroid__tape{background:var(--tape);opacity:.85;z-index:1;height:1.5rem;position:absolute;inset-block-start:-.75rem;inset-inline:38%;rotate:-2deg}.section{margin-top:var(--gap-section)}.section__head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.section__head h2{letter-spacing:-.012em;font-size:1.36rem}.section__link{font:400 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);text-decoration:none;transition:color .15s}.section__link:hover{color:var(--link-hover)}.colophon{margin-top:var(--gap-section);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding-top:1.5rem;display:flex}.colophon .meta{text-transform:uppercase}.colophon__home{text-decoration:none;transition:color .15s}.colophon__home:hover{color:var(--link-hover)}.colophon__nav{align-items:center;gap:.7rem;margin-inline-start:auto;display:flex}.colophon__nav a{font:400 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);text-decoration:none;transition:color .15s}.colophon__nav a:hover{color:var(--link-hover)}.colophon__sep{color:var(--rule);font-size:.7rem}.colophon__socials{gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.colophon__socials a{color:var(--faint);transition:color .15s;display:block}.colophon__socials a:hover{color:var(--link-hover)}
.rows{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--rule);padding:1.22rem 0;position:relative}.row__hit{z-index:1;position:absolute;inset:0}.rows--plain .row:last-child{border-bottom:0}.row__top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.row__title{letter-spacing:-.008em;font-size:1.06rem;font-weight:600}.row__title a{text-decoration:none;transition:color .15s}.row__body{max-width:62ch;color:var(--ink-soft);margin:.5rem 0 0;font-size:.86rem;line-height:1.53}.row__title,.row__body,.row .tags{transition:transform .2s}.row:has(.row__hit:hover,.read-choice:hover) :is(.row__title,.row__body,.tags){transform:translate(.375rem)}.row:has(.row__hit:hover,.read-choice:hover) .row__title a{color:var(--link-hover)}.tags{flex-wrap:wrap;gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.tags li{background:var(--tape);border:1px solid color-mix(in oklab, var(--tape) 60%, var(--ink) 12%);border-radius:var(--radius);font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:.28rem .5rem}.tags li:has(.tags__icon){align-items:center;gap:.4rem;display:inline-flex}.tags__icon{background:var(--brand);width:.85rem;height:.85rem;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;flex:none}.tags--interactive li{--brand:var(--brand-light,var(--accent));font:500 .78rem/1 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);padding:.38rem .6rem;transition:color .15s,border-color .15s,background .15s,translate .15s}:root[data-theme=dark] .tags--interactive li{--brand:var(--brand-dark,var(--accent))}.tags--interactive li:hover{color:var(--brand);border-color:color-mix(in oklab, var(--brand) 55%, var(--rule));background:color-mix(in oklab, var(--brand) 9%, var(--tape));translate:0 -2px}.project-group__label{font:400 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--faint);margin:0 0 .6rem}
.stack{border:1px solid var(--rule);border-radius:var(--radius);background:color-mix(in oklab, var(--panel) 55%, transparent)}.stack__tabs{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.3rem;padding:.65rem .75rem;display:flex}.stack__tab{border-radius:var(--radius);color:var(--faint);font:500 .8rem/1 var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;align-items:baseline;gap:.4rem;padding:.38rem .55rem;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.stack__tab:hover{color:var(--ink);background:var(--tape)}.stack__tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.stack__count{font:400 .62rem/1 var(--mono);font-variant-numeric:tabular-nums;opacity:.6}.stack__panel{padding:.95rem .75rem 1rem;animation:.28s both stack-in}.stack__panel .tags{margin:0}@keyframes stack-in{0%{opacity:0;translate:0 4px}}
#activity{--level-0:#ebedf0;--level-1:#9be9a8;--level-2:#40c463;--level-3:#30a14e;--level-4:#216e39;--bar:var(--level-3)}:root[data-theme=dark] #activity{--level-0:#2a2d31;--level-1:#0e4429;--level-2:#006d32;--level-3:#26a641;--level-4:#39d353;--bar:var(--level-3)}.stat,.calendar,.bars{border:1px solid var(--rule);border-radius:calc(var(--radius) * 2);background:color-mix(in oklab, var(--panel) 55%, transparent)}.activity__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:.6rem;display:grid}.activity__hint{font:400 .8rem/1.5 var(--sans);color:var(--faint);margin:-.4rem 0 .9rem}:where(#activity) button{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}:where(#activity) button:focus-visible{outline:2px solid var(--level-3);outline-offset:2px}.stat{text-align:left;flex-direction:column;align-items:flex-start;padding:.85rem .9rem;transition:border-color .15s,background-color .15s;display:flex}.stat[data-active],.stat[aria-pressed=true]{border-color:var(--level-3);background:color-mix(in oklab, var(--level-3) 9%, var(--panel))}:is(.stat[data-active],.stat[aria-pressed=true]) .stat__label{color:var(--level-3)}.stat__label{font:500 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);align-items:center;gap:.35rem;margin:0;display:flex}.stat__label svg{flex:none;width:.85rem;height:.85rem}.stat__value{font:700 1.45rem/1.1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);margin:.55rem 0 0}.stat__note{font:400 .72rem/1.4 var(--sans);color:var(--faint);margin:.3rem 0 0}.activity__charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.6rem;display:grid}.bars{margin:0;padding:.85rem .9rem .75rem}.bars__head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.75rem;display:flex}.bars__title{font:500 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.bars__peak{font:400 .72rem/1.2 var(--sans);color:var(--ink);white-space:nowrap}.bars__peak b{font-variant-numeric:tabular-nums;font-weight:600}.bars__peak span{color:var(--faint)}.bars__list{gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.bars__list li{flex:1;min-width:0}.bars__list button{flex-direction:column;align-items:center;gap:.35rem;width:100%;display:flex}.bars__track{justify-content:center;align-items:flex-end;width:100%;height:5rem;display:flex}.bars__fill{background:var(--bar);border-radius:2px 2px 0 0;width:min(100%,1.15rem);min-height:2px;transition:background-color .15s,opacity .15s;display:block}.bars[data-focus] .bars__fill{opacity:.35}.bars__list button:hover .bars__fill,.bars__list button[data-active] .bars__fill,.bars__list button[aria-pressed=true] .bars__fill{opacity:1;background:var(--level-4)}.bars__list button[data-active] .bars__label,.bars__list button[aria-pressed=true] .bars__label{color:var(--ink);font-weight:600}.bars__label{font:400 .6rem/1 var(--mono);color:var(--faint)}.calendar{--cell:11px;--cell-gap:3px;padding:1.15rem 1.2rem 1rem;position:relative}.calendar__status{font:400 .78rem/1.6 var(--mono);color:var(--faint);margin:0 0 .85rem}.calendar__status a{color:var(--accent)}.calendar__body{align-items:flex-end;gap:.45rem;display:flex;container-type:inline-size}.calendar__weekdays,.calendar__scroll{--cell:clamp(6px, (100cqw - 2.45rem - 52 * var(--cell-gap)) / 53, 11px)}.calendar__scroll{overscroll-behavior-x:contain;scrollbar-width:thin;flex:1;min-width:0;padding-bottom:.3rem;overflow-x:auto}.calendar__months{grid-auto-flow:column;grid-auto-columns:var(--cell);gap:var(--cell-gap);min-width:max-content;margin-bottom:.4rem;display:grid}.calendar__months button{font:400 .66rem/1 var(--mono);color:var(--faint);white-space:nowrap;text-align:left;transition:color .15s;overflow:visible}.calendar__months button:hover,.calendar__months button[data-active],.calendar__months button[aria-pressed=true]{color:var(--ink);font-weight:600}.calendar__weekdays{grid-template-rows:repeat(7, var(--cell));gap:var(--cell-gap);width:2rem;padding-bottom:.3rem;display:grid}.calendar__weekdays span{font:400 .64rem/var(--cell) var(--mono);color:var(--faint)}.calendar__weekdays span:first-child{grid-row:2}.calendar__weekdays span:nth-child(2){grid-row:4}.calendar__weekdays span:nth-child(3){grid-row:6}.calendar__grid{grid-auto-flow:column;grid-template-rows:repeat(7, var(--cell));grid-auto-columns:var(--cell);gap:var(--cell-gap);display:grid}.cell{width:var(--cell);height:var(--cell);background:var(--level-0);border-radius:2px;display:block}.cell[data-level="1"]{background:var(--level-1)}.cell[data-level="2"]{background:var(--level-2)}.cell[data-level="3"]{background:var(--level-3)}.cell[data-level="4"]{background:var(--level-4)}.cell[data-empty]{background:0 0}.calendar__grid .cell{transition:opacity .2s,transform .15s,box-shadow .2s}.calendar__grid .cell[data-date]:hover{z-index:1;box-shadow:0 0 0 1px var(--ink);position:relative;transform:scale(1.3)}.calendar__grid[data-focus] .cell[data-date]{opacity:.22}.calendar__grid[data-focus] .cell[data-match]{opacity:1}.calendar__grid[data-focus] .cell[data-match]:not([data-level="0"]){box-shadow:0 0 6px color-mix(in oklab, var(--level-3) 70%, transparent)}.calendar__tip{z-index:2;border:1px solid var(--rule);border-radius:calc(var(--radius) * 2);background:var(--paper);font:400 .72rem/1.3 var(--sans);color:var(--ink);white-space:nowrap;pointer-events:none;padding:.3rem .55rem;position:absolute;transform:translate(-50%,calc(-100% - 7px));box-shadow:0 4px 14px #00000040}.calendar__legend button.cell{transition:transform .15s,box-shadow .15s}.calendar__legend button.cell:hover,.calendar__legend button.cell[data-active],.calendar__legend button.cell[aria-pressed=true]{box-shadow:0 0 0 1px var(--ink);transform:scale(1.3)}.calendar__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.calendar__legend{align-items:center;gap:.3rem;display:inline-flex}
.contact__note{max-width:58ch;color:var(--ink-soft);margin:0;font-size:.96rem;line-height:1.7}.contact__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.3rem 0 0;display:flex}.mailto{font-family:var(--serif);color:var(--accent);letter-spacing:-.01em;font-size:1.35rem;font-weight:600;text-decoration:none;transition:color .15s}.mailto:hover{color:var(--link-hover)}.copy{border:1px solid var(--rule);border-radius:var(--radius);color:var(--faint);font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;background:0 0;padding:.38rem .62rem;transition:color .15s,border-color .15s}.copy:hover{color:var(--ink);border-color:color-mix(in oklab, var(--ink) 35%, var(--rule))}.contact-card{border:1px solid var(--rule);background:var(--panel);border-radius:16px;grid-template-columns:1fr 1.1fr;display:grid;overflow:hidden}.contact-card__intro{border-right:1px solid var(--rule);padding:2.3rem 2.4rem}.contact-card__intro .mailto{font-size:1.05rem}.eyebrow{font:500 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin:0 0 .9rem;display:block}.contact-card__headline{max-width:30ch;font:600 1.5rem/1.35 var(--serif);color:var(--ink);margin:0 0 1.7rem}.contact-card__headline em{color:var(--accent);font-style:italic}.contact-card__points{gap:1.1rem;margin:0 0 1.7rem;padding:0;list-style:none;display:grid}.contact-card__points h4{font:600 .92rem/1.3 var(--sans);color:var(--accent);margin:0 0 .25rem}.contact-card__points p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.55}.contact-card__cta{text-align:center;background:color-mix(in oklab, var(--panel) 88%, var(--accent) 7%);flex-direction:column;align-items:center;padding:2rem 1.8rem 2.2rem;display:flex}.contact-card__cta h3{font:600 1.2rem/1.3 var(--serif);color:var(--ink);margin:1.1rem 0 .5rem}.contact-card__cta>p{max-width:30ch;color:var(--ink-soft);margin:0 0 1.7rem;font-size:.88rem;line-height:1.6}.btn{background:var(--accent);color:var(--panel);font:500 .88rem/1 var(--sans);border-radius:999px;align-items:center;gap:.55rem;padding:.7rem 1.35rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.88}.contact-card__quote{border-top:1px solid var(--rule);max-width:30ch;font:italic 400 .8rem/1.5 var(--serif);color:var(--faint);margin:1.7rem 0 0;padding-top:1.3rem}
.place__status{border:1px solid var(--rule);font:400 .74rem/1.35 var(--sans);color:var(--faint);text-align:center;border-radius:999px;margin:0;padding:.32rem .75rem;display:inline-block}.place__status b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.place__status i{vertical-align:.05em;background:var(--faint);border-radius:50%;width:.45rem;height:.45rem;margin-right:.45rem;display:inline-block}.place__status[data-active] i{background:#3fb950;animation:2s ease-out infinite status-pulse;box-shadow:0 0 #3fb95080}@keyframes status-pulse{to{box-shadow:0 0 0 6px #3fb95000}}.cmap{--dot-day:color-mix(in oklab, var(--ink) 40%, transparent);flex-direction:column;align-items:center;width:100%;margin-bottom:.4rem;display:flex}.cmap__map{width:calc(100% + 2.4rem);margin:1rem -1.2rem 0;position:relative}.cmap__dots{position:absolute;inset:0;-webkit-mask-image:url(/contact/world-dots.svg),radial-gradient(50% 50%,#000 55%,#0000 100%);mask-image:url(/contact/world-dots.svg),radial-gradient(50% 50%,#000 55%,#0000 100%);-webkit-mask-position:50%,0 0;mask-position:50%,0 0;-webkit-mask-size:100% 100%,auto;mask-size:100% 100%,auto;-webkit-mask-repeat:no-repeat,repeat;mask-repeat:no-repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.cmap__dots svg{width:100%;height:100%;display:block}.cmap__day{fill:var(--dot-day)}.cmap__night{fill:color-mix(in oklab, var(--panel) 88%, var(--accent) 7%);opacity:.78}.cmap__marks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cmap__marks .cmap__band rect,.cmap__marks .cmap__you,.cmap__marks .pin__hit{pointer-events:auto}.pin__hit{fill:#0000}.cmap__band rect{fill:color-mix(in oklab, var(--accent) 8%, transparent);transition:fill .15s}.cmap__arc{fill:none;stroke:color-mix(in oklab, var(--ink) 55%, transparent);stroke-width:1.2px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke;animation:1.6s linear infinite arc-drift}@keyframes arc-drift{to{stroke-dashoffset:-18px}}.cmap__you{fill:var(--ink);stroke:var(--panel);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cmap__chip{border:1px solid var(--rule);border-radius:calc(var(--radius) * 2);background:color-mix(in oklab, var(--panel) 90%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font:600 .82rem/1.15 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);text-align:left;white-space:nowrap;grid-template-columns:auto auto;align-items:baseline;column-gap:.3rem;padding:.28rem .5rem;transition:border-color .15s;display:grid;position:absolute}.cmap__chip small{font:500 .55rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);grid-column:1/-1}.cmap__chip i{color:var(--faint);font-size:.7rem;font-style:normal}.cmap__chip{--tx:.6rem;--ty:.55rem;translate:var(--tx) var(--ty)}.cmap__chip[data-row=you]{left:var(--x)}.cmap__chip[data-x=center]{--tx:-50%}.cmap__chip[data-x=left]{--tx:calc(-100% - .6rem)}.cmap__chip[data-y=above]{--ty:calc(-100% - .55rem)}.cmap[data-row=me] .cmap__chip[data-row=me],.cmap[data-row=you] .cmap__chip[data-row=you]{border-color:var(--accent)}.cmap[data-row=you] .cmap__band rect{fill:color-mix(in oklab, var(--accent) 18%, transparent)}.cmap__gap{font:400 .68rem/1.4 var(--mono);letter-spacing:.04em;color:var(--faint);margin:.7rem 0 0}.pin__dot{fill:var(--accent);stroke:var(--panel);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pin__pulse{fill:var(--accent);opacity:.5;transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite pin-pulse}@keyframes pin-pulse{to{opacity:0;scale:3.2}}.ruler{border-top:1px solid var(--rule);--me-working:var(--accent);--me-around:color-mix(in oklab, var(--accent) 45%, transparent);--you-working:color-mix(in oklab, var(--ink) 60%, transparent);--you-around:color-mix(in oklab, var(--ink) 25%, transparent);grid-column:1/-1;padding:1.3rem 2rem 1.2rem}.ruler__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.6rem;display:flex}.ruler__title{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0}.ruler__title span{letter-spacing:.04em;text-transform:none;opacity:.75}.ruler__legend{gap:.25rem;display:flex}.ruler__key{border-radius:var(--radius);font:400 .68rem/1 var(--sans);color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .45rem;transition:color .15s,border-color .15s;display:inline-flex}.ruler__key i{background:color-mix(in oklab, var(--ink) 10%, transparent);border-radius:2px;width:.55rem;height:.55rem}.ruler__key[data-kind=around] i{background:var(--me-around)}.ruler__key[data-kind=working] i{background:var(--me-working)}.ruler__key:hover,.ruler__key[aria-pressed=true]{color:var(--ink);border-color:var(--rule)}.ruler__body{grid-template-columns:5.2rem minmax(0,1fr);gap:.6rem;display:grid}.ruler__names{grid-template-rows:repeat(2,1rem);gap:.45rem;display:grid}.ruler__name{min-width:0;font:500 .74rem/1rem var(--sans);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.35rem;padding:0;transition:opacity .15s;display:flex}.ruler__name small{text-overflow:ellipsis;white-space:nowrap;font:400 .6rem/1 var(--mono);color:var(--faint);overflow:hidden}.ruler__tracks{border-radius:var(--radius);cursor:crosshair;touch-action:pan-y;grid-template-rows:repeat(2,1rem);gap:.45rem;padding-bottom:1.2rem;display:grid;position:relative}.ruler__tracks:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.ruler__track{background:color-mix(in oklab, var(--ink) 7%, transparent);border-radius:999px;transition:opacity .15s;position:relative;overflow:hidden}.ruler__track i{transition:opacity .15s;position:absolute;inset-block:0}.ruler__track[data-row=me] i[data-kind=working]{background:var(--me-working)}.ruler__track[data-row=me] i[data-kind=around]{background:var(--me-around)}.ruler__track[data-row=you] i[data-kind=working]{background:var(--you-working)}.ruler__track[data-row=you] i[data-kind=around]{background:var(--you-around)}.ruler__track:after{content:"";inset-block:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff73 50%,#0000);background:linear-gradient(90deg,#0000,lab(100% -.0000298023 .0000119209/.45) 50%,#0000);width:30%;animation:4.4s ease-in-out infinite ruler-sweep;position:absolute;left:0;translate:-100%}.ruler__track[data-row=you]:after{animation-delay:.3s}@keyframes ruler-sweep{0%{translate:-100%}55%,to{translate:340%}}.ruler__track[data-row=me]{filter:drop-shadow(0 0 5px color-mix(in oklab, var(--accent) 45%, transparent))}.ruler__track[data-row=you]{filter:drop-shadow(0 0 5px color-mix(in oklab, var(--ink) 18%, transparent))}.ruler__bead{--glow:var(--accent);background:color-mix(in oklab, var(--glow) 35%, white);width:.5rem;height:.5rem;box-shadow:0 0 4px 1px var(--glow), 0 0 12px 3px color-mix(in oklab, var(--glow) 55%, transparent);pointer-events:none;border-radius:50%;grid-column:1/-1;transition:opacity .15s;position:absolute;top:50%;translate:-50% -50%}.ruler__bead:after{content:"";border-radius:inherit;background:var(--glow);animation:3.2s ease-out infinite bead-pulse;position:absolute;inset:0}.ruler__bead[data-row=you]{--glow:var(--ink)}.ruler__bead[data-kind=around]{opacity:.75;box-shadow:0 0 3px 1px color-mix(in oklab, var(--glow) 70%, transparent), 0 0 7px 1px color-mix(in oklab, var(--glow) 30%, transparent)}.ruler__bead[data-kind=around]:after{animation-duration:4.6s}.ruler__bead[data-kind=asleep]{opacity:.4;box-shadow:0 0 3px color-mix(in oklab, var(--glow) 40%, transparent)}.ruler__bead[data-kind=asleep]:after{opacity:0;animation:none}@keyframes bead-pulse{0%{opacity:.6}to{opacity:0;scale:3}}.ruler[data-scrubbing] .ruler__bead{opacity:.35}.ruler__tracks[data-row=me] .ruler__track[data-row=you],.ruler__tracks[data-row=you] .ruler__track[data-row=me],.ruler__tracks[data-row=me] .ruler__bead[data-row=you],.ruler__tracks[data-row=you] .ruler__bead[data-row=me],.ruler[data-row=me] .ruler__name:last-child,.ruler[data-row=you] .ruler__name:first-child{opacity:.3}.ruler__tracks[data-kind=asleep] .ruler__track i:not([data-kind=asleep]),.ruler__tracks[data-kind=around] .ruler__track i:not([data-kind=around]),.ruler__tracks[data-kind=working] .ruler__track i:not([data-kind=working]){opacity:.18}.ruler__tracks[data-kind=asleep] .ruler__track i[data-kind=asleep]{background:color-mix(in oklab, var(--ink) 18%, transparent)}.ruler__overlap{border-radius:var(--radius);background:color-mix(in oklab, var(--accent) 13%, transparent);outline:1px dashed color-mix(in oklab, var(--accent) 50%, transparent);pointer-events:none;position:absolute;top:-.3rem;bottom:.9rem}.ruler__now,.ruler__cursor{pointer-events:none;position:absolute;top:-.5rem;bottom:.9rem}:is(.ruler__now,.ruler__cursor) span{font:500 .58rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink);position:absolute;top:-.95rem;left:50%;translate:-50%}.ruler__now{background:var(--ink);width:1px}.ruler__cursor{border:1px solid var(--ink);border-radius:var(--radius);background:color-mix(in oklab, var(--ink) 8%, transparent)}.ruler__cursor span{border-radius:var(--radius);background:var(--ink);color:var(--paper);text-transform:none;letter-spacing:0;padding:.15rem .3rem}.ruler[data-scrubbing] .ruler__now{opacity:.35}.ruler[data-scrubbing] .ruler__now span{display:none}.ruler__ticks{pointer-events:none;height:.8rem;position:absolute;inset:auto 0 0}.ruler__ticks span{font:400 .6rem/1 var(--mono);color:var(--faint);position:absolute;translate:-50%}.ruler__ticks span:first-child{translate:0}.ruler__ticks span:last-child{translate:-100%}.ruler__caption{min-height:1.4em;color:var(--ink);margin:.6rem 0 0;font-size:.84rem}@media (prefers-reduced-motion:reduce){.pin__pulse,.ruler__track:after,.ruler__bead:after,.cmap__arc,.place__status[data-active] i{animation:none}}@media (max-width:46rem){.ruler{padding:1.2rem 1.1rem}.ruler__body{grid-template-columns:4.2rem minmax(0,1fr)}}
.page-head{margin-bottom:2.4rem}.page-head h1{letter-spacing:-.018em;margin:0;font-size:clamp(1.95rem,5vw,2.6rem)}.page-head__sub{max-width:52ch;font-family:var(--serif);color:var(--ink-soft);margin:.5rem 0 0;font-size:1.02rem}.filters{flex-wrap:wrap;gap:.45rem;margin-bottom:3rem;display:flex}.filter{border:1px solid color-mix(in oklab, var(--tape) 60%, var(--ink) 12%);border-radius:var(--radius);background:var(--tape);color:var(--ink-soft);font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;padding:.36rem .62rem;transition:color .15s,border-color .15s,background-color .15s,translate .15s}.filter:hover{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 55%, var(--rule));background:color-mix(in oklab, var(--accent) 9%, var(--tape));translate:0 -2px}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filters__empty{color:var(--ink-soft);margin:0;font-size:.9rem}.timeline{margin:0;padding:0;list-style:none}.entry{--entry-gap:3rem;grid-template-columns:3.4rem 1.6rem minmax(0,1fr);display:grid;position:relative}.entry__hit{inset:0 0 var(--entry-gap) 0;z-index:1;position:absolute}.entry__date{text-align:right;font:400 .64rem/1 var(--mono);letter-spacing:.09em;flex-direction:column;gap:.16rem;padding-top:.28rem;display:flex}.entry__month{color:var(--ink-soft);white-space:nowrap}.entry__year{color:var(--faint)}.entry__rail{background:var(--rule);justify-self:center;width:1px;position:relative}.entry__rail:before{content:"";border:1px solid var(--faint);background:var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;top:.3rem;left:50%;transform:translate(-50%)}.entry:first-child .entry__rail:before{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper);background:var(--ink)}.entry__body{padding-left:.15rem;padding-bottom:var(--entry-gap);transition:transform .2s}.entry:has(.entry__hit:hover,.read-choice:hover) .entry__body{transform:translate(.375rem)}.entry:last-child{--entry-gap:1.6rem}.entry:last-child .entry__rail{background:linear-gradient(var(--rule) 55%, transparent)}.entry__title{font-family:var(--serif);letter-spacing:-.012em;margin:0;font-size:1.18rem}.entry__title a{text-decoration:none;transition:color .15s}.entry:has(.entry__hit:hover,.read-choice:hover) .entry__title a{color:var(--link-hover)}.entry__excerpt{max-width:62ch;color:var(--ink-soft);margin:.55rem 0 0;font-size:.9rem;line-height:1.6}
.entry-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;column-gap:1rem;display:flex}.entry__body:has(.read-choice){z-index:2;pointer-events:none;position:relative}.read-choice{--edge:color-mix(in oklab, var(--rule) 70%, var(--ink) 22%);z-index:2;font:400 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:0;transform-origin:100% 100%;pointer-events:none;align-items:stretch;margin:.9rem 0 0 auto;transition:opacity .18s,transform .32s cubic-bezier(.2,.9,.3,1.35);display:inline-flex;position:relative;transform:translateY(.4rem)rotate(-2deg)}.row:is(:has(.row__hit:hover,.read-choice:hover),:focus-within) .read-choice,.entry:is(:has(.entry__hit:hover,.read-choice:hover),:focus-within) .read-choice{opacity:1;pointer-events:auto;transform:none}.read-choice__here,.read-choice__away{background:var(--panel);border:1px solid var(--edge);color:var(--ink-soft);align-items:center;gap:.42rem;padding:.5rem .72rem;text-decoration:none;transition:color .15s,background .15s,transform .25s cubic-bezier(.2,.9,.3,1.35);display:inline-flex}:is(.read-choice__here,.read-choice__away) svg{flex-shrink:0;transition:transform .2s}.read-choice__here{border-radius:var(--radius) 0 0 var(--radius);border-right:0}.read-choice__here:hover{color:var(--link-hover);background:color-mix(in oklab, var(--accent) 8%, var(--panel))}.read-choice__here:hover svg{transform:translate(3px)}.read-choice__here:only-child{border-right:1px solid var(--edge);border-radius:var(--radius)}.read-choice__away{border-radius:0 var(--radius) var(--radius) 0;transform-origin:0 100%;border-left:0}.read-choice__away:hover{color:var(--ink);transform:translate(3px)rotate(-5deg)}.read-choice__away:only-child{border-left:1px solid var(--edge);border-radius:var(--radius)}.read-choice__out{transition:transform .2s;display:inline-block}.read-choice__away:hover .read-choice__out{transform:translate(1px,-1px)}.read-choice__perf{z-index:1;background:var(--panel);border-block:1px solid var(--edge);background-image:linear-gradient(var(--edge) 50%, transparent 0);background-size:1px 4px;width:1px;position:relative}.read-choice__perf:before,.read-choice__perf:after{content:"";background:var(--paper);border:1px solid var(--edge);width:10px;height:6px;position:absolute;left:50%;transform:translate(-50%)}.read-choice__perf:before{border-top:0;border-radius:0 0 6px 6px;top:-1px}.read-choice__perf:after{border-bottom:0;border-radius:6px 6px 0 0;bottom:-1px}@media (hover:none){.read-choice{opacity:1;pointer-events:auto;transform:none}}
.page-head--split{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.pill{border:1px solid var(--rule);color:var(--ink-soft);font:400 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;margin-top:.5rem;padding:.42rem .8rem;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.pill svg{transition:translate .2s}.pill:hover{color:var(--link-hover);border-color:color-mix(in oklab, var(--link-hover) 45%, var(--rule))}.pill:hover svg{translate:2px}.project-band+.project-band{margin-top:var(--gap-section)}.project-band .project-group__label{margin:0 0 .9rem}.cards{grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.cards .entry{--entry-gap:.85rem}.cards .entry:hover .entry__body{transform:translate(.375rem)}.card{border:1px solid var(--rule);background:var(--panel);font-family:var(--sans);border-radius:6px;flex-direction:column;padding:.75rem .95rem;transition:border-color .2s;display:flex}.card:hover{border-color:color-mix(in oklab, var(--ink) 22%, var(--rule))}.card__head{align-items:center;gap:.55rem;min-width:0;display:flex}.card__title{min-width:0;font-family:var(--sans);align-items:center;gap:.55rem;margin:0;font-size:.95rem;font-weight:400;line-height:1.4;display:flex}.card__title a{min-width:0;color:var(--link-hover);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.card__title a:hover{text-decoration:underline}.card__mark{color:var(--faint);flex-shrink:0}.card__repo{font-weight:600}.card__badge{border:1px solid var(--rule);color:var(--faint);border-radius:999px;flex-shrink:0;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1.5}.card__body{color:var(--faint);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.4rem 0 0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;margin-top:auto;padding-top:.65rem;display:flex}.card__stats{color:var(--faint);flex-wrap:wrap;gap:1.2rem;margin:0;font-size:.76rem;line-height:1;display:flex}.card__stats>span{align-items:center;gap:.4rem;display:inline-flex}.card__lang{border:1px solid color-mix(in oklab, var(--ink) 15%, transparent);border-radius:50%;width:.75rem;height:.75rem}.card__actions{gap:.5rem;margin:0;font-size:.78rem;font-weight:500;line-height:1;display:flex}.card__action{border:1px solid var(--rule);background:color-mix(in oklab, var(--ink) 3%, var(--panel));color:var(--ink-soft);border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .6rem;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.card__action svg{flex-shrink:0}.card__action:hover{color:var(--link-hover);border-color:color-mix(in oklab, var(--link-hover) 45%, var(--rule));background:color-mix(in oklab, var(--link-hover) 8%, var(--panel))}
:root{--diff-add:#1a7f37;--diff-del:#cf222e}:root[data-theme=dark]{--diff-add:#3fb950;--diff-del:#f85149}.pill.back-link{margin:0 0 1.6rem}.pill.back-link:hover svg{translate:-2px}.oss__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:2.4rem;display:grid}.pulls .entry{--entry-gap:1.5rem}.pulls .entry:last-child{--entry-gap:.6rem}.pull__title{font-family:var(--sans);font-size:.98rem;font-weight:500;line-height:1.45}.pull__meta{color:var(--faint);font:400 .72rem/1.2 var(--mono);flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin:.4rem 0 0;display:flex}.pull__mark{color:#8250df;flex-shrink:0}.pull__repo{color:var(--ink-soft)}.pull__diff{gap:.45rem;display:inline-flex}.pull__add{color:var(--diff-add)}.pull__del{color:var(--diff-del)}.stat__value.pull__add{color:var(--diff-add)}.repo-group+.repo-group{margin-top:var(--gap-section)}.repo-group__head{font-family:var(--sans);letter-spacing:0;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-size:1.05rem;font-weight:600;display:flex}.repo-group__head a{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.repo-group__head a:hover{color:var(--link-hover)}.repo-group__avatar{border:1px solid var(--rule);border-radius:6px;flex-shrink:0}.repo-group__owner{color:var(--faint);font-weight:400}.repo-group__count{color:var(--faint);font:400 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;margin-left:auto}.oss-preview__count{color:var(--ink-soft);margin:0 0 1.4rem;font-size:.9rem}.oss-preview__count strong{color:var(--diff-add);font-weight:700}.oss-preview__more{margin-top:.4rem}
.page-head__sub.learn-note{max-width:none}.site-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (max-width:30rem){.site-cards{grid-template-columns:minmax(0,1fr)}}.site-card{border:1px solid var(--rule);background:color-mix(in oklab, var(--ink) 3%, transparent);height:100%;color:inherit;border-radius:.8rem;text-decoration:none;transition:border-color .15s;display:block;overflow:hidden}.site-card:hover,.site-card:focus-visible{border-color:var(--accent)}.site-card__image{border-bottom:1px solid var(--rule);width:100%;height:auto;display:block}.site-card__text{gap:.45rem;padding:.85rem 1rem 1rem;display:grid}.site-card__title{font-family:var(--serif);letter-spacing:-.012em;color:var(--ink);font-size:1.05rem;font-weight:600}.site-card__body{color:var(--ink-soft);font-size:.82rem;line-height:1.5}.site-card__host{font:400 .72rem/1 var(--mono);color:var(--ink-soft);align-items:center;gap:.4rem;display:inline-flex}.course-head{margin-top:1.6rem}.course-content{border:1px solid var(--rule);background:color-mix(in oklab, var(--ink) 3%, transparent);border-radius:1.25rem;padding:1.5rem}.course-content h2{letter-spacing:-.012em;margin:.5rem 0 0;font-size:1.35rem}.course-content__head{border-bottom:1px solid var(--rule);margin-bottom:1.4rem;padding-bottom:1.4rem}.course-content__eyebrow{font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0}.course-content__sub{color:var(--ink-soft);margin:.35rem 0 0;font-size:.88rem}.course-modules{gap:.8rem;display:grid}.course-module{border:1px solid var(--rule);border-radius:.9rem;transition:border-color .15s;position:relative;overflow:hidden}:is(.course-module:has(.course-module__title a:hover),.course-module:has(.course-module__title a:focus-visible)){border-color:var(--accent)}.course-module>.course-module__head>svg{color:var(--ink-soft);flex:none}.course-module__head{align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.course-module__num{font:400 .85rem/1 var(--mono);color:var(--accent)}.course-module__text{flex:1;gap:.3rem;min-width:0;display:grid}.course-module__title{font-family:var(--sans);margin:0;font-size:1rem;font-weight:600}.course-module__title a{color:inherit;text-decoration:none}.course-module__title a:after{content:"";position:absolute;inset:0}.course-module__meta{color:var(--ink-soft);margin:0;font-size:.78rem}.lessons{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.lesson{border-left:2px solid #0000;gap:.85rem;padding:1.1rem 1.2rem;display:flex}.lesson+.lesson{border-top:1px solid color-mix(in oklab, var(--rule) 55%, transparent)}.lesson[data-next]{border-left-color:var(--accent)}.lesson__mark{border:1.5px solid var(--ink-soft);border-radius:50%;flex:none;place-items:center;width:1.1rem;height:1.1rem;margin-top:.1rem;display:grid}[data-done]>.lesson__mark{border-color:var(--accent);background:var(--accent);color:var(--paper)}.lesson__main{flex:1;min-width:0}.lesson__title{letter-spacing:-.005em;margin:0;font-size:.95rem;font-weight:600}[data-done] .lesson__title{color:var(--ink-soft)}.lesson__next{font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:.4rem;margin:.45rem 0 0;display:flex}.lesson__next:before{content:"";background:currentColor;border-radius:50%;width:.35rem;height:.35rem}.lesson__body{color:var(--ink-soft);margin:.45rem 0 .7rem;font-size:.85rem;line-height:1.5}.lesson__toggle{border:1px solid var(--rule);font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:.5rem;padding:.4rem .65rem;font-size:.75rem;line-height:1;transition:color .15s,border-color .15s}.lesson__toggle:hover{border-color:var(--accent);color:var(--ink)}.lesson__toggle[aria-pressed=true]{color:var(--accent)}@media (max-width:30rem){.course-content{padding:1.1rem}.course-module__head,.lesson{padding-inline:.9rem}}
.back-to-top{z-index:40;background:var(--panel);width:2.75rem;height:2.75rem;color:var(--ink);box-shadow:0 6px 18px -8px color-mix(in oklab, var(--ink) 35%, transparent);cursor:pointer;opacity:0;visibility:hidden;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .2s,translate .2s,visibility 0s linear .2s,color .15s;display:grid;position:fixed;inset-block-end:max(1.25rem, env(safe-area-inset-bottom));inset-inline-end:max(1.25rem, env(safe-area-inset-right));translate:0 .6rem}.back-to-top.is-shown{opacity:1;visibility:visible;transition-delay:0s;translate:none}.back-to-top.is-shown:hover{color:var(--accent);translate:0 -2px}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.back-to-top>svg:not(.back-to-top__ring){position:relative}.back-to-top__ring{fill:none;stroke-width:2px;width:100%;height:100%;position:absolute;inset:0;rotate:-90deg}.back-to-top__track{stroke:var(--rule)}.back-to-top__fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .1s linear}@media (pointer:coarse){.back-to-top.is-shown:hover{translate:none}}
:root[data-theme=dark]{--dash:#2f2d2d}:root{--dash:#d6cfbd;--dash-x:repeating-linear-gradient(90deg, var(--dash) 0 16px, transparent 16px 32px);--dash-y:repeating-linear-gradient(180deg, var(--dash) 0 16px, transparent 16px 32px);--frame-out:3rem}:root body{overflow-x:clip}:root .masthead{position:relative}:root .masthead:after{content:"";background:var(--dash-x);pointer-events:none;width:100vw;height:1px;position:absolute;inset-block-end:-1.4rem;inset-inline-start:50%;translate:-50%}:root .colophon{position:relative}:root .colophon:before{content:"";background:var(--dash-x);pointer-events:none;width:100vw;height:1px;position:absolute;inset-block-start:0;inset-inline-start:50%;translate:-50%}:root .post-topbar .masthead:after{display:none}:root .post-progress{background:var(--dash-x) left bottom / 100% 1px no-repeat}:root .post-body .sec-head,:root .post-body .part-label{background:var(--dash-x) left bottom / 100% 1px no-repeat;border-bottom:0}@media (min-width:52rem){:root .shell:not(.shell--wide){position:relative}:root .shell:not(.shell--wide):before,:root .shell:not(.shell--wide):after{content:"";background:var(--dash-y);pointer-events:none;width:1px;position:absolute;inset-block:0}:root .shell:not(.shell--wide):before{inset-inline-start:calc(-1 * var(--frame-out))}:root .shell:not(.shell--wide):after{inset-inline-end:calc(-1 * var(--frame-out))}:root .shell:not(.shell--wide) .section{position:relative}:root .shell:not(.shell--wide) .section:before{content:"";inset-inline:calc(-1 * var(--frame-out));background:var(--dash-x);pointer-events:none;height:1px;position:absolute;inset-block-start:calc(var(--gap-section) / -2)}}@media (min-width:60.01rem){:root .post-body{position:relative}:root .post-body:before,:root .post-body:after{content:"";background:var(--dash-y);pointer-events:none;width:1px;position:absolute;inset-block:0}:root .post-body:before{inset-inline-start:calc(var(--post-gap) / -2)}:root .post-body:after{inset-inline-end:calc(var(--post-gap) / -2)}}
:root[data-theme=dark] .post-head__kicker,:root[data-theme=dark] .post-switcher__title,:root[data-theme=dark] .reading-meter__value,:root[data-theme=dark] .contact-card__headline em,:root[data-theme=dark] .contact-card__points h4,:root[data-theme=dark] .post-body .part-label,:root[data-theme=dark] .post-body h4,:root[data-theme=dark] .post-body .box .tag,:root[data-theme=dark] .post-body th,:root[data-theme=dark] .post-body .mono-cell{color:var(--ink)}:root[data-theme=dark] .post-body li::marker{color:var(--ink)}:root[data-theme=dark] .lede a,:root[data-theme=dark] .post-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}:root[data-theme=dark] .mailto,:root[data-theme=dark] .calendar__status a,:root[data-theme=dark] .card__title a{color:var(--ink)}:is(:root[data-theme=dark] .mailto,:root[data-theme=dark] .calendar__status a,:root[data-theme=dark] .card__title a):hover{color:var(--link-hover)}:root[data-theme=dark] .post-toc__nav a:hover{color:var(--link-hover)}:root[data-theme=dark] .post-toc__nav a.is-current,:root[data-theme=dark] .post-toc__nav a.is-current .post-toc__num{color:var(--ink)}:root[data-theme=dark] .post-toc__nav a.is-current:hover,:root[data-theme=dark] .post-toc__nav a.is-current:hover .post-toc__num{color:var(--link-hover)}:root[data-theme=dark] .post-toc__back{border-color:var(--rule);background:var(--panel);color:var(--ink)}:root[data-theme=dark] .post-toc__back:hover{border-color:var(--accent);background:var(--accent);color:var(--paper)}
:root{--display:var(--font-display), var(--sans);--glow:#fff9}:root[data-theme=dark]{--glow:color-mix(in oklab, var(--accent) 9%, transparent)}:root :is(h1,h2,h3,.wordmark,.mailto,.contact-card__headline,.entry__title,.post-switcher__name,.post-switcher__now-title,.post-body .viz-title):not(.project-group__label,.card__title){font-family:var(--display);letter-spacing:-.025em;font-weight:600}body:not(:has(.post-topbar)){background:radial-gradient(60rem 26rem at 50% -6rem, var(--glow), transparent 70%), var(--paper);background-repeat:no-repeat}.masthead .wordmark:after{content:"";vertical-align:-.04em;background:var(--accent);width:.42em;height:.82em;margin-left:.16em;animation:1.1s step-end infinite wordmark-cursor;display:inline-block}@keyframes wordmark-cursor{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.masthead .wordmark:after{animation:none}}::selection{background:color-mix(in oklab, var(--accent) 30%, transparent);color:var(--ink)}:root[data-theme=dark] ::selection{background:color-mix(in oklab, var(--accent) 40%, transparent)}
@media (max-width:46rem){.masthead{gap:.75rem}.activity__stats,.oss__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wordmark{white-space:nowrap;font-size:1.2rem}.nav{gap:1.05rem}.nav a{letter-spacing:.07em;font-size:.68rem}.hero{grid-template-columns:minmax(0,1fr)}.hero__text{order:2}.polaroid{order:1;width:min(15rem,70%);margin-bottom:2.25rem}.lede{max-width:none}.stack__tabs{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.stack__tabs::-webkit-scrollbar{display:none}.row__top{flex-direction:column;gap:.3rem}.read-choice{margin-left:0}.contact-card{grid-template-columns:minmax(0,1fr)}.contact-card__intro{border-right:0;border-bottom:1px solid var(--rule)}.entry{--entry-gap:2.4rem;grid-template-columns:1.6rem minmax(0,1fr)}.entry__date{text-align:left;flex-direction:row;grid-column:2;gap:.4rem;margin-bottom:.4rem;padding-top:0}.entry__rail{grid-area:1/1/3}.entry__body{grid-column:2}.page-head--split{gap:.9rem}.colophon{justify-content:flex-start}.colophon__nav{margin-inline-start:0}}@media (max-width:30rem){.masthead{gap:.6rem;margin-bottom:clamp(2.5rem,9vw,4rem)}.wordmark{font-size:1.08rem}.nav{gap:.8rem}.nav a{letter-spacing:.05em;font-size:.64rem}.theme-toggle{width:1.7rem;height:1.7rem}h1,h2,h3,.row__title,.entry__title{overflow-wrap:break-word}.section__head{gap:.6rem}.activity__charts{grid-template-columns:1fr}.contact-card__intro,.contact-card__cta{padding:1.15rem 1.1rem}.colophon{gap:.75rem}}@media (max-width:25rem){.wordmark{font-size:1rem}.nav{gap:.55rem}.nav a{letter-spacing:0}}@media (max-width:22.4rem){.nav a[href=\/]{display:none}.nav .theme-toggle{width:1.9rem;height:1.9rem}}@media (pointer:coarse){.nav a,.colophon__nav a{padding-block:.45rem}.nav a.is-current:after{bottom:0}.theme-toggle{width:2.2rem;height:2.2rem}.filter,.stack__tab{padding-block:.5rem}.polaroid:hover{translate:none;rotate:1.6deg}.tags--interactive li:hover,.filter:hover{translate:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

