@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;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:400;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.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;font-style:normal;font-weight:500;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:500;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.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;font-style:normal;font-weight:600;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:600;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.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;font-style:normal;font-weight: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: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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.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_78609157-module__11J4Jq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_78609157-module__11J4Jq__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.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_29f246d4-module__8Y_Bfa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_29f246d4-module__8Y_Bfa__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.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_1a89b578-module__QiOztG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_1a89b578-module__QiOztG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-primary:#fafafa;--bg-secondary:#fff;--bg-tertiary:#f8f9fa;--text-primary:#333;--text-secondary:#666;--text-tertiary:#888;--border-color:#e1e5e9;--border-light:#f3f4f6;--accent-color:#c4873a;--accent-hover:#d4973a;--accent-muted:#c4873a1f;--accent-glow:#c4873a14;--link-color:#c4873a;--code-bg:#f0f0f0;--code-border:#e0e0e0;--contrib-empty:#80808014;--contrib-l1:#c4873a40;--contrib-l2:#c4873a80;--contrib-l3:#c4873abf;--contrib-l4:#c4873a}[data-theme=dark]{--bg-primary:#0f0f12;--bg-secondary:#16161b;--bg-tertiary:#1c1c23;--text-primary:#e8e6e3;--text-secondary:#a09b96;--text-tertiary:#6b6660;--border-color:#2a2a33;--border-light:#1f1f28;--accent-color:#e5a64e;--accent-hover:#f0be6a;--accent-muted:#e5a64e1f;--accent-glow:#e5a64e14;--link-color:#e5a64e;--code-bg:#131318;--code-border:#252530;--contrib-empty:#ffffff0a;--contrib-l1:#e5a64e33;--contrib-l2:#e5a64e73;--contrib-l3:#e5a64eb3;--contrib-l4:#e5a64e}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;color:var(--text-primary);background-color:var(--bg-primary);line-height:1.7;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;letter-spacing:-.03em;line-height:1.2}code,pre{font-family:var(--font-jetbrains-mono), "JetBrains Mono", "Fira Code", monospace;font-size:.9em}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}body:before{content:"";pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;width:100%;height:100%;position:fixed;top:0;left:0}.App{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.main-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:3rem 1.5rem}@media (max-width:768px){.main-content{padding:1.5rem 1rem}}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1),transform .6s cubic-bezier(.25,.8,.25,1);transform:translateY(16px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-stagger>.reveal:first-child{transition-delay:0s}.reveal-stagger>.reveal:nth-child(2){transition-delay:80ms}.reveal-stagger>.reveal:nth-child(3){transition-delay:.16s}.reveal-stagger>.reveal:nth-child(4){transition-delay:.24s}.reveal-stagger>.reveal:nth-child(5){transition-delay:.32s}.reveal-stagger>.reveal:nth-child(6){transition-delay:.4s}.reveal-stagger>.reveal:nth-child(7){transition-delay:.48s}.reveal-stagger>.reveal:nth-child(8){transition-delay:.56s}.post-body a,.about-content a{color:var(--accent-color);text-decoration:none;transition:color .2s;position:relative}.post-body a:after,.about-content a:after{content:"";background:var(--accent-color);opacity:.3;width:100%;height:1px;transition:opacity .2s,height .2s;position:absolute;bottom:-1px;left:0}.post-body a:hover:after,.about-content a:hover:after{opacity:1;height:2px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.collapse-indicator{border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);flex-shrink:0;width:8px;height:8px;transition:transform .3s,border-color .3s;display:inline-block;transform:rotate(-45deg)}.collapse-indicator.open{transform:rotate(45deg)}.header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;background:#0f0f12cc;padding:1rem 0;transition:border-color .3s;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:720px;margin:0 auto;padding:0 1.5rem;display:flex}.header-right{align-items:center;gap:1rem;display:flex}.logo{align-items:center;gap:.6rem;text-decoration:none;display:flex}.logo-mark{flex-shrink:0;display:inline-block}.logo:hover{text-decoration:none}.logo-text{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;font-size:1.25rem;font-weight:700;transition:color .3s}.logo:hover .logo-text{color:var(--accent-color)}.nav{gap:2rem;display:flex}.nav-link{color:var(--text-secondary);font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;letter-spacing:.02em;padding-bottom:2px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-link:after{content:"";background:var(--accent-color);width:0;height:1.5px;transition:width .3s cubic-bezier(.25,.8,.25,1);position:absolute;bottom:-2px;left:0}.nav-link:hover{color:var(--text-primary);text-decoration:none}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--text-primary)}.nav-link.active:after{background:var(--accent-color);width:100%}@media (max-width:768px){.header-content{flex-direction:column;align-items:flex-start;gap:.6rem;padding:0 1rem}.header-right{width:100%}.nav{flex-wrap:wrap;gap:.25rem 1rem;width:100%}.nav-link{padding:.45rem 0;font-size:.8rem}.nav-link:after{bottom:.25rem}.logo-text{white-space:nowrap}}.blog-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1.25rem;padding:1.75rem;transition:border-color .4s,box-shadow .4s}.blog-card:hover{border-color:var(--accent-color);box-shadow:0 0 20px var(--accent-glow), 0 8px 32px #0000004d}.blog-card-link{color:inherit;display:block}.blog-card-link:hover{text-decoration:none}.blog-card-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem;font-weight:600;transition:color .3s}.blog-card:hover .blog-card-title{color:var(--accent-color)}.blog-card-meta{color:var(--text-tertiary);font-size:.8rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;justify-content:space-between;align-items:center;display:flex}@media (max-width:768px){.blog-card{margin-bottom:1rem;padding:1.25rem}.blog-card-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}.home{max-width:100%}.no-posts{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:3rem 1rem}.home-disclaimer{color:var(--text-tertiary);text-align:center;margin-top:2rem;font-size:.8rem;font-style:italic}.about{width:calc(100vw - 3rem);max-width:880px;position:relative;left:50%;transform:translate(-50%)}.readme-container{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;overflow:hidden}.readme-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.readme-file-icon{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.readme-filename{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;color:var(--text-primary);font-size:.85rem;font-weight:600}.readme-body{padding:2rem}.readme-hash{color:var(--accent-color);opacity:.4;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;margin-right:.4rem;font-size:.75em;font-weight:400}.readme-section-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.03em;border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.4rem;font-weight:600}.readme-divider{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.about-content{background:0 0;border:none;border-radius:0;padding:0;line-height:1.8}.about-content p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.05rem}.about-content p:last-child{margin-bottom:0}.social-icons{flex-wrap:wrap;gap:1rem;display:flex}.social-link{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.social-link:hover{border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 12px var(--accent-glow);text-decoration:none}.social-icon{flex-shrink:0;width:18px;height:18px}@media (max-width:768px){.readme-body{padding:1.5rem}.social-icons{flex-direction:column}.social-link{justify-content:center}}.blog-post{max-width:100%}.back-link{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;align-items:center;gap:.5rem;margin-bottom:2.5rem;font-size:.8rem;font-weight:500;transition:color .3s;display:inline-flex}.back-link:hover{color:var(--accent-color);text-decoration:none}.post-content{background:0 0;border:none;border-radius:0;padding:0}.post-header{border-bottom:1px solid var(--border-color);margin-bottom:3rem;padding-bottom:1.5rem}.post-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.15}.post-meta{color:var(--text-tertiary);font-size:.8rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;gap:1.5rem;display:flex}.post-body{color:var(--text-secondary);font-size:1.05rem;line-height:1.8}.post-body>p:first-of-type:first-letter{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;float:left;color:var(--accent-color);margin-top:.07em;margin-right:.08em;font-size:3.5em;font-weight:700;line-height:.8}.post-body p{margin-bottom:1.5rem}.post-body p:last-child{margin-bottom:0}.post-body img{border:1px solid #ffffff1a;border-radius:10px;max-width:100%;height:auto;margin:2rem auto;display:block}.post-body a{color:var(--accent-color);text-decoration:none;transition:opacity .2s;position:relative}.post-body a:hover{opacity:.85}.post-body h2{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.03em;margin-top:3rem;margin-bottom:1.25rem;font-size:1.6rem;font-weight:700;line-height:1.25}.post-body h3{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.post-body h4{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.post-body ul,.post-body ol{margin-bottom:1.5rem;padding-left:1.5rem}.post-body ul{list-style-type:disc}.post-body ol{list-style-type:decimal}.post-body li{color:var(--text-secondary);margin-bottom:.5rem;line-height:1.7}.post-body li:last-child{margin-bottom:0}.post-body ul ul,.post-body ol ol,.post-body ul ol,.post-body ol ul{margin-top:.5rem;margin-bottom:.5rem}.post-body code{background:var(--code-bg);font-size:.85em;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;border:1px solid var(--code-border);color:var(--accent-color);border-radius:4px;padding:.2rem .45rem}.post-body pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:8px;margin:2rem 0;padding:1.25rem 1.5rem;line-height:1.6;overflow-x:auto}.post-body pre code{color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:.85rem}.post-body blockquote{border-left:3px solid var(--accent-color);color:var(--text-primary);font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;letter-spacing:-.01em;margin:2rem 0;padding:.75rem 0 .75rem 1.5rem;font-size:1.15rem;font-style:italic;line-height:1.6}.post-body hr{background:var(--border-color);border:none;height:1px;margin:3rem 0}@media (max-width:768px){.post-title{font-size:1.75rem}.post-meta{flex-direction:column;gap:.25rem}.post-body>p:first-of-type:first-letter{font-size:3em}}.bookshelf{max-width:100%}.bookshelf-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2.5rem;font-size:2.5rem;font-weight:700}.books-section{margin-bottom:2rem}.books-section:last-child{margin-bottom:0}.section-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.section-title.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;transition:color .3s;display:flex}.section-title.collapsible:hover{color:var(--accent-color)}.section-title.collapsible:hover .collapse-indicator{border-color:var(--accent-color)}.books-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1.5rem;animation:.3s slideDown}.book-item{border-bottom:1px solid var(--border-light);padding:1rem 0}.book-item:last-child{border-bottom:none}.book-title-link{color:inherit;text-decoration:none;transition:color .2s}.book-title-link:hover{text-decoration:none}.book-title-link:hover .book-title{color:var(--accent-color)}.book-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.05rem;font-weight:600;transition:color .2s}.book-author{color:var(--text-tertiary);font-size:.85rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;margin-bottom:.5rem}.book-thoughts{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem;line-height:1.5}.no-books{color:var(--text-tertiary);text-align:center;padding:1rem;font-style:italic}.projects{max-width:100%}.projects-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2.5rem;font-size:2.5rem;font-weight:700}.projects-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1.5rem}.project-item{border-bottom:1px solid var(--border-light);padding:1rem 0}.project-item:last-child{border-bottom:none}.project-title-link{color:inherit;text-decoration:none;transition:color .2s}.project-title-link:hover{text-decoration:none}.project-title-link:hover .project-name{color:var(--accent-color)}.project-name{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.05rem;font-weight:600;transition:color .2s}.project-url{color:var(--text-tertiary);font-size:.85rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;margin-bottom:.5rem}.project-description{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem;line-height:1.5}.mountain-biking{max-width:100%}.mountain-biking-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2rem;font-size:2.5rem;font-weight:700}.bike-photo-section{text-align:center;margin-bottom:2rem}.bike-photo{border-radius:8px;max-width:100%;height:auto;max-height:500px;margin-bottom:1rem;transition:box-shadow .4s,transform .4s;box-shadow:0 8px 40px #0006}.bike-photo:hover{box-shadow:0 12px 48px #00000080, 0 0 24px var(--accent-glow);transform:translateY(-2px)}.bike-sections{flex-direction:column;gap:2rem;display:flex}.bike-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.bike-section .section-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);border-bottom:none;margin-bottom:1rem;padding-bottom:0;font-size:1.5rem;font-weight:600}.bike-section .section-title.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;transition:color .3s;display:flex}.bike-section .section-title.collapsible:hover{color:var(--accent-color)}.bike-section .section-title.collapsible:hover .collapse-indicator{border-color:var(--accent-color)}.trails-list{flex-direction:column;animation:.3s slideDown;display:flex}.trail-item{border-bottom:1px solid var(--border-light);padding:1rem 0}.trail-item:last-child{border-bottom:none}.trail-name{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.05rem;font-weight:600}.trail-location{color:var(--text-tertiary);font-size:.85rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace}.trail-item-link{color:inherit;cursor:pointer;border-radius:4px;padding-left:0;text-decoration:none;transition:background .2s,padding-left .2s;display:block}.trail-item-link:hover{background:var(--bg-tertiary,#ffffff0d);padding-left:.5rem}.trail-item-link:hover .trail-name{color:var(--accent-color)}.art{max-width:100%}.art-title{font-family:var(--font-space-grotesk), "Space Grotesk", sans-serif;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2.5rem;font-size:2.5rem;font-weight:700}.art-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.art-grid-item{cursor:pointer;background:var(--bg-secondary);border-radius:6px;transition:box-shadow .4s,transform .3s;overflow:hidden}.art-grid-item:hover{box-shadow:0 8px 32px #0006, 0 0 20px var(--accent-glow);transform:translateY(-2px)}.art-grid-image{object-fit:contain;width:100%;height:auto;transition:transform .4s;display:block;position:relative!important}.art-grid-item:hover .art-grid-image{transform:scale(1.03)}.lightbox-overlay{-webkit-backdrop-filter:blur(8px);z-index:10000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;animation:.25s lightboxFadeIn;display:flex;position:fixed;top:0;left:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{color:var(--text-tertiary);cursor:pointer;z-index:10001;background:0 0;border:none;padding:.5rem;font-size:2rem;line-height:1;transition:color .2s;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{color:var(--text-primary)}.lightbox-image-wrapper{cursor:default;width:90vw;height:85vh;animation:.3s cubic-bezier(.25,.8,.25,1) lightboxZoomIn;position:relative}.lightbox-image{object-fit:contain;border-radius:4px}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.art-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.lightbox-image-wrapper{width:95vw;height:80vh}}.comments-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:2rem}.comments-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.bsky-cta{color:var(--text-tertiary);margin-bottom:1.5rem;font-size:.9rem}.bsky-cta a{color:var(--accent-color);text-decoration:none}.bsky-cta a:hover{text-decoration:underline}.comments-empty{color:var(--text-tertiary);font-style:italic}.bsky-loading,.bsky-error{color:var(--text-tertiary)}.bsky-comment-list,.bsky-replies{margin:0;padding:0;list-style:none}.bsky-comment{margin-bottom:1rem}.bsky-comment:last-child{margin-bottom:0}.bsky-comment-inner{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:6px;gap:.75rem;padding:1rem;display:flex}.bsky-avatar-link{flex-shrink:0}.bsky-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.bsky-avatar-placeholder{background:var(--border-color)}.bsky-comment-body{flex:1;min-width:0}.bsky-comment-header{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin-bottom:.35rem;display:flex}.bsky-author{color:var(--text-primary);font-weight:600;text-decoration:none}.bsky-author:hover{text-decoration:underline}.bsky-handle{color:var(--text-tertiary);font-size:.8rem}.bsky-date{color:var(--text-tertiary);margin-left:auto;font-size:.8rem;text-decoration:none}.bsky-date:hover{text-decoration:underline}.bsky-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.6}.bsky-likes{color:var(--text-tertiary);margin-top:.35rem;font-size:.8rem;display:inline-block}.bsky-replies{border-left:2px solid var(--border-color);margin-top:.5rem;padding-left:0}@media (max-width:768px){.comments-section{padding:1.5rem}.bsky-date{margin-left:0}.bsky-comment-header{flex-direction:column;gap:.15rem}}.globe-container{background:linear-gradient(#0a1929 0%,#1a2332 100%);border-radius:12px;justify-content:center;align-items:center;width:100%;margin:2rem 0;padding:2rem 1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d}.globe-legend{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #ffffff1a;border-radius:8px;padding:12px 16px;position:absolute;top:20px;left:20px}.legend-item{color:#fff;align-items:center;gap:8px;margin:4px 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;display:flex}.legend-dot{border-radius:50%;width:12px;height:12px;display:inline-block;box-shadow:0 0 8px}@media (max-width:768px){.globe-container{margin:1rem 0;padding:1rem .5rem}.globe-legend{padding:8px 12px;font-size:12px;top:10px;left:10px}.legend-item{gap:6px;font-size:12px}.legend-dot{width:10px;height:10px}}.globe-container canvas{max-width:100%;height:auto!important}.gh-contributions{border-top:1px solid var(--border-color);margin-top:2.5rem;padding-top:2rem}.gh-contributions-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.gh-contributions-count{color:var(--text-tertiary);font-size:.85rem;font-weight:500}.gh-contributions-loading{color:var(--text-tertiary);text-align:center;padding:2rem 0;font-size:.85rem}.gh-contributions-graph{gap:4px;padding-bottom:4px;display:flex;overflow:auto hidden}.gh-contributions-graph::-webkit-scrollbar{height:4px}.gh-contributions-graph::-webkit-scrollbar-track{background:0 0}.gh-contributions-graph::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.gh-contributions-days{flex-shrink:0;grid-template-rows:repeat(7,1fr);gap:3px;padding-top:20px;display:grid}.gh-day-label{color:var(--text-tertiary);text-align:right;height:11px;padding-right:4px;font-size:.65rem;line-height:11px}.gh-contributions-scroll{flex:1;min-width:0;overflow:auto hidden}.gh-contributions-months{gap:3px;height:17px;margin-bottom:3px;display:grid}.gh-month-label{color:var(--text-tertiary);white-space:nowrap;font-size:.65rem;line-height:17px}.gh-contributions-grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;display:grid}.gh-contribution-cell{outline-offset:-1px;border-radius:2px;outline:1px solid #0000000a;width:11px;height:11px;transition:outline-color .15s}.gh-contribution-cell:hover{outline-color:var(--text-tertiary)}.gh-contribution-cell.empty{visibility:hidden}.gh-contribution-cell.level-0{background-color:var(--contrib-empty,#80808014)}.gh-contribution-cell.level-1{background-color:var(--contrib-l1)}.gh-contribution-cell.level-2{background-color:var(--contrib-l2)}.gh-contribution-cell.level-3{background-color:var(--contrib-l3)}.gh-contribution-cell.level-4{background-color:var(--contrib-l4)}.gh-contributions-legend{justify-content:flex-end;align-items:center;gap:3px;margin-top:.75rem;display:flex}.gh-legend-label{color:var(--text-tertiary);margin:0 4px;font-size:.65rem}@media (max-width:768px){.gh-contributions-graph{margin:0 -1rem;padding:0 1rem 4px}.gh-contribution-cell{width:10px;height:10px}.gh-contributions-grid,.gh-contributions-days{gap:2px}.gh-day-label{height:10px;line-height:10px}}.not-found{text-align:center;padding:4rem 1rem}.not-found h1{color:var(--text-primary);margin-bottom:1rem;font-size:3rem}.not-found p{color:var(--text-secondary);margin-bottom:2rem}.not-found a{color:var(--accent-color);font-weight:500}::selection{background:var(--accent-muted);color:var(--accent-hover)}body:after{content:"";pointer-events:none;z-index:9998;opacity:.07;background:repeating-linear-gradient(0deg,#00000080 0 1px,#0000 1px 3px);position:fixed;inset:0}.logo-text:after{content:"▊";color:var(--accent-color);margin-left:.4rem;font-size:.85em;animation:1.2s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.blog-card:hover .blog-card-title{animation:.28s steps(2,end) title-glitch}@keyframes title-glitch{0%{text-shadow:2px 0 #4ec3e58c,-2px 0 #ff6b818c}50%{text-shadow:-1.5px 0 #4ec3e573,1.5px 0 #ff6b8173}to{text-shadow:none}}@media (prefers-reduced-motion:reduce){.logo-text:after,.blog-card:hover .blog-card-title{animation:none}}.post-embed{flex-direction:column;gap:.75rem;margin:2.5rem 0;display:flex}.post-embed-wide{width:max(100%,min(88vw,960px));position:relative;left:50%;transform:translate(-50%)}.post-embed-placeholder,.post-embed-fallback{border:1px dashed var(--border-color);min-height:120px;color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;border-radius:10px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.post-embed-caption{text-align:center;color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;font-size:.8rem;line-height:1.5}.demo-embed{border:1px solid var(--border-color);border-radius:10px;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.demo-embed-bits{gap:.5rem;display:flex}.demo-embed-bit{border:1px solid var(--border-color);width:2.5rem;height:2.5rem;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;color:var(--text-tertiary);border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;transition:color .2s,border-color .2s,background .2s;display:flex}.demo-embed-bit-on{color:var(--accent-color);border-color:var(--accent-color);background:var(--accent-glow)}.demo-embed-readout{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;font-size:.8rem}.demo-embed-controls{gap:.75rem;display:flex}.demo-embed-button{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:8px;padding:.4rem 1.1rem;font-size:.8rem;transition:color .2s,border-color .2s}.demo-embed-button:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.demo-embed-button:disabled{opacity:.4;cursor:default}.compute-scheduler{border:1px solid var(--border-color);background:radial-gradient(circle at 85% 5%, var(--accent-glow), transparent 30%), var(--bg-primary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;border-radius:10px;flex-direction:column;gap:1rem;padding:1.35rem;display:flex}.compute-scheduler-header,.compute-machine-heading,.compute-queue-heading,.compute-controls,.compute-real-run{align-items:center;display:flex}.compute-scheduler-header{justify-content:space-between;gap:1rem}.compute-kicker{color:var(--accent-color);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.compute-scheduler h3{color:var(--text-primary);font-family:var(--font-inter), "Inter", sans-serif;margin:.2rem 0 0;font-size:clamp(1.15rem,3vw,1.55rem)}.compute-clock{border:1px solid var(--border-color);text-align:right;border-radius:8px;min-width:4.8rem;padding:.55rem .7rem}.compute-clock span,.compute-machine-heading span,.compute-queue-heading,.compute-strategy span{color:var(--text-tertiary);font-size:.68rem}.compute-clock span{display:block}.compute-clock strong{color:var(--accent-color);font-size:1rem}.compute-strategies{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.compute-strategy{border:1px solid var(--border-color);min-height:5rem;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:.18rem;padding:.65rem 2.8rem .65rem .7rem;display:flex;position:relative}.compute-strategy:hover:not(:disabled),.compute-strategy-active{border-color:var(--accent-color);background:var(--accent-glow)}.compute-strategy:disabled{cursor:default;opacity:.68}.compute-strategy strong{font-size:.76rem}.compute-strategy em{color:var(--accent-color);font-size:.72rem;font-style:normal;position:absolute;top:.62rem;right:.62rem}.compute-queue-heading{justify-content:space-between;margin-bottom:-.5rem}.compute-job-grid{grid-template-columns:repeat(18,minmax(0,1fr));gap:.28rem;display:grid}.compute-job{aspect-ratio:1;border:1px solid var(--border-color);color:var(--text-tertiary);border-radius:4px;justify-content:center;align-items:center;font-size:clamp(.48rem,1.1vw,.62rem);transition:color .18s,border-color .18s,background .18s,transform .18s;display:flex}.compute-job-running{color:var(--text-primary);transform:translateY(-2px)}.compute-job-macbook.compute-job-running,.compute-job-macbook.compute-job-complete{background:#6ea8fe24;border-color:#6ea8fe}.compute-job-mini.compute-job-running,.compute-job-mini.compute-job-complete{border-color:var(--accent-color);background:var(--accent-glow)}.compute-job-complete{color:var(--text-primary)}.compute-job-interrupted{color:#ff8b9d;background:repeating-linear-gradient(135deg,#ff6b812e 0 4px,#0000 4px 8px);border-color:#ff6b81}.compute-machines{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:.75rem;display:grid}.compute-machine{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;padding:.75rem}.compute-machine-heading{color:var(--text-secondary);gap:.45rem;margin-bottom:.65rem;font-size:.75rem}.compute-machine-heading>span:last-child{margin-left:auto}.compute-machine-light{background:#6ea8fe;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 8px #6ea8fe99}.compute-machine-mini .compute-machine-light{background:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.compute-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.compute-slot{border:1px dashed var(--border-color);min-height:2rem;color:var(--text-tertiary);border-radius:5px;font-size:.62rem;position:relative;overflow:hidden}.compute-slot span{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compute-slot i{background:#6ea8fe2e;transition:width 50ms linear;position:absolute;inset:0 auto 0 0}.compute-machine-mini .compute-slot i{background:var(--accent-muted)}.compute-slot-busy{color:var(--text-primary);border-style:solid}.compute-slot-interrupted{color:#ff8b9d;border-color:#ff6b81}.compute-recovery{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:7px;gap:.25rem;padding:.7rem .8rem;display:grid}.compute-recovery-active{border-color:#ff6b81}.compute-recovery code{color:var(--text-tertiary);font-size:.68rem}.compute-recovery code:last-child{color:var(--accent-color)}.compute-summary{min-height:2.4rem;color:var(--text-tertiary);font-family:var(--font-inter), "Inter", sans-serif;text-align:center;font-size:.82rem;line-height:1.5}.compute-summary strong{color:var(--text-primary)}.compute-controls{flex-wrap:wrap;justify-content:center;gap:.55rem}.compute-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:7px;padding:.45rem .85rem;font-family:inherit;font-size:.7rem}.compute-button:hover:not(:disabled),.compute-button-primary{border-color:var(--accent-color);color:var(--accent-color)}.compute-button-danger:hover:not(:disabled){color:#ff8b9d;border-color:#ff6b81}.compute-button:disabled{cursor:default;opacity:.38}.compute-real-run{border-top:1px solid var(--border-color);color:var(--text-tertiary);flex-wrap:wrap;justify-content:center;gap:.45rem 1rem;padding-top:.8rem;font-size:.67rem}.compute-real-run span:first-child{color:var(--accent-color);letter-spacing:.08em;text-transform:uppercase}.compute-real-run strong{color:var(--text-primary)}@media (max-width:640px){.compute-scheduler{padding:1rem .75rem}.compute-strategies,.compute-machines{grid-template-columns:1fr}.compute-strategy{min-height:auto}.compute-job-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.compute-job,.compute-slot i{transition:none}}.marble-embed{border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:.75rem;padding:1.5rem 1rem;display:flex}.marble-machine{width:100%;margin:0 auto;display:block}.marble-channel-wall{fill:none;stroke:var(--border-color);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.marble-channel-label{fill:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:13px}.marble-tray-line{stroke:var(--border-color);stroke-width:1.5px;stroke-dasharray:3 6}.marble-overflow-label{fill:#ff6b81;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:13px}.marble-overlay-row{position:relative}.marble-overlay-label{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:.8rem;font-weight:700;position:absolute;top:50%;left:0;transform:translateY(-50%)}.marble-overlay-grid{width:100%;margin:0 auto;display:grid}.marble-overlay-cell{justify-content:center;display:flex}.marble-drop-button{border:1px solid var(--border-color);min-width:2.5rem;height:2.25rem;color:var(--text-secondary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;cursor:pointer;background:0 0;border-radius:999px;padding:0 .5rem;font-size:.8rem;transition:color .2s,border-color .2s,background .2s,transform .1s}.marble-drop-button:active{transform:translateY(1px)}.marble-drop-button:hover{color:var(--accent-color);border-color:var(--accent-color)}.marble-gate{border:1px solid var(--border-color);width:1.9rem;height:1.9rem;color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;cursor:pointer;background:0 0;border-radius:6px;font-size:.85rem;transition:color .2s,border-color .2s}.marble-gate:disabled{cursor:default;opacity:.7}.marble-svg-gate{fill:#0000;stroke:var(--border-color);stroke-width:2px}.marble-svg-gate-open{stroke:var(--accent-color)}.marble-svg-gate-hole{fill:var(--bg-primary);stroke:var(--accent-color);stroke-width:1.5px}.marble-readout{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.35rem 1rem;display:flex}.marble-readout-binary{color:var(--accent-color);letter-spacing:.25em;font-size:1.05rem}.marble-readout-decimal{color:var(--text-tertiary);font-size:.8rem}.marble-readout-equation{text-align:center;width:100%;color:var(--text-primary);font-size:.95rem}.marble-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.marble-button,.marble-drop-button,.marble-gate,.marble-chip{-webkit-tap-highlight-color:transparent}.marble-button:focus-visible,.marble-drop-button:focus-visible,.marble-gate:focus-visible,.marble-chip:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.marble-button:active:not(:disabled){transform:translateY(1px)}.marble-button:disabled{cursor:default;opacity:.55}.marble-button{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:8px;padding:.4rem 1.1rem;font-size:.8rem;transition:color .2s,border-color .2s}.marble-button:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.marble-button:disabled{opacity:.4;cursor:default}.marble-button-primary{color:var(--accent-color);border-color:var(--accent-color)}.marble-toggle{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.marble-operands{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.marble-operand{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.marble-operand input{border:1px solid var(--border-color);width:4.5rem;color:var(--text-primary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;background:0 0;border-radius:8px;padding:.35rem .5rem;font-size:.9rem}.marble-operand input:focus{border-color:var(--accent-color);outline:none}.marble-operand-plus{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace}.marble-multiplier-bits{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;color:var(--text-tertiary);justify-content:center;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.marble-multiplier-bit{border:1px solid var(--border-color);border-radius:6px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;transition:color .2s,border-color .2s;display:flex}.marble-multiplier-bit-active{color:var(--accent-color);border-color:var(--accent-color)}.marble-computer{flex-flow:wrap;justify-content:center;align-items:flex-start;gap:1.5rem}.marble-computer-program{flex-direction:column;flex:300px;gap:.75rem;min-width:260px;max-width:380px;display:flex}.marble-computer-presets{flex-wrap:wrap;gap:.5rem;display:flex}.marble-computer-editor,.marble-computer-listing{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;resize:vertical;border-radius:10px;width:100%;margin:0;padding:.75rem 1rem;font-size:.85rem;line-height:1.7;overflow-x:auto}.marble-computer-editor:focus{border-color:var(--accent-color);outline:none}.marble-computer-line{white-space:pre;border-radius:4px;padding:0 .4rem}.marble-computer-line-active{background:var(--accent-muted);color:var(--accent-color)}.marble-computer-error{color:#ff6b81;font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:.8rem}.marble-computer-speeds{gap:.25rem;display:flex}.marble-computer-speeds .marble-button{padding:.4rem .7rem}.marble-computer-status{min-height:1.2rem;color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:.8rem}.marble-computer-registers{flex:380px;grid-template-columns:repeat(2,minmax(180px,1fr));gap:1rem;display:grid}@media (max-width:540px){.marble-computer-registers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.marble-register{padding:.35rem .35rem .15rem}.marble-computer-init input{width:3.2rem}}.marble-computer-register-slot{flex-direction:column;gap:.4rem;display:flex}.marble-computer-init input{width:3.6rem;padding:.2rem .4rem;font-size:.8rem}.marble-computer-init span{color:var(--text-tertiary);font-size:.7rem;font-weight:500}.marble-register{border:1px solid var(--border-color);border-radius:10px;padding:.5rem .5rem .25rem;transition:border-color .2s,box-shadow .2s}.marble-register-active{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.marble-register-header{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;justify-content:space-between;align-items:baseline;padding:0 .5rem;display:flex}.marble-register-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.marble-register-value{color:var(--accent-color);font-size:.95rem}.soldier-formation{width:100%;margin:0 auto;display:block}.soldier-legend,.soldier-rule{text-align:center;color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;margin:0;font-size:.78rem;line-height:1.5}.soldier-rule{color:var(--text-secondary)}.soldier-headcount{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;margin-left:.5rem;font-size:.8rem}.soldier-settling{text-align:left;min-width:9ch}.soldier-head{fill:var(--text-secondary)}.soldier-limb,.soldier-pole{stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round}.soldier-pole{stroke-width:1.5px}.soldier-flag{stroke:var(--text-secondary);stroke-width:1px;transition:fill .25s}.soldier-flag-black{fill:#151515}.soldier-flag-white{fill:#f6f4ef}.soldier-flag-text-on-black,.soldier-flag-text-on-white{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;pointer-events:none;font-size:11px;font-weight:700}.soldier-flag-text-on-black{fill:#f6f4ef}.soldier-flag-text-on-white{fill:#151515}.soldier-label{fill:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;font-size:12px}.soldier-output .soldier-label{fill:var(--accent-color);font-weight:700}.soldier-sight{stroke:var(--border-color);stroke-width:1.5px;transition:stroke .25s}.soldier-sight-on{stroke:var(--accent-color);stroke-width:2px}.soldier-glow{fill:var(--accent-muted)}.soldier-toggle{cursor:pointer}.soldier-toggle:focus{outline:none}.soldier-toggle:hover .soldier-hitbox{fill:var(--accent-glow)}.soldier-toggle:focus-visible .soldier-hitbox{fill:var(--accent-glow);stroke:var(--accent-color);stroke-dasharray:3 3}.soldier-hitbox{fill:#0000;stroke:#0000;stroke-width:1px;transition:fill .2s}.marble-examples{font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.marble-examples-label{color:var(--text-tertiary)}.marble-chip{border:1px dashed var(--border-color);min-height:2rem;color:var(--text-secondary);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .85rem;transition:color .2s,border-color .2s}.marble-chip:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.marble-chip:disabled{cursor:default;opacity:.55}.marble-multiplier-status{text-align:center;min-height:1.4em}.marble-computer-hint{color:var(--text-tertiary);font-family:var(--font-jetbrains-mono), "JetBrains Mono", monospace;letter-spacing:.02em;margin-top:-.25rem;font-size:.7rem}@media (hover:none),(pointer:coarse){body:before{display:none}.header{-webkit-backdrop-filter:none;background:#0f0f12f7}.reveal{transition-duration:.32s;transform:translateY(10px)}.reveal-stagger>.reveal:nth-child(n){transition-delay:0s}.logo-text:after{animation:none}}
