@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_949390{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_949390{--font-manrope:"Manrope","Manrope Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:107.12%}.__className_37ef13{font-family:Inter,Inter Fallback;font-style:normal}.__variable_37ef13{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--ink:#22302a;--muted:#5f6d64;--accent:#3c6255;--accent-mid:#61876e;--sage:#a6bb8d;--cream:#eae7b1;--bg:#f5f4ea;--surface:#fdfdf8;--line:#d9d8c6;--line-strong:#3c6255;--maxw:680px;--nav-size:64px;--s-1:8px;--s-2:16px;--s-3:24px;--s-4:40px;--s-5:72px}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-inter),sans-serif;font-size:16px;line-height:1.65;padding-bottom:var(--nav-size);-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3{font-family:var(--font-manrope),sans-serif;font-weight:800;line-height:1.2;letter-spacing:-.01em}.mono{font-family:var(--font-mono),monospace}a{color:var(--accent)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--s-3);padding-right:var(--s-3)}.tabbar{position:fixed;left:0;right:0;bottom:0;height:var(--nav-size);display:flex;background:var(--surface);border-top:1px solid var(--line);z-index:50}.logo-btn{display:none}.tab-group{justify-content:space-around}.tab,.tab-group{display:flex;flex:1 1}.tab{flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px 2px;position:relative}.tab svg{width:20px;height:20px;stroke:currentColor}.tab span{font-size:11px;font-weight:500}.tab.active{color:var(--accent)}.tab.active:before{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--accent)}.tab .live-dot{top:9px;right:calc(50% - 16px);width:7px;height:7px}.tab .live-dot,.tab .live-dot:after{position:absolute;background:var(--accent-mid)}.tab .live-dot:after{content:"";inset:0;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}@media (min-width:900px){:root{--nav-size:0px;--maxw:720px;--s-5:96px}body{padding-bottom:0;padding-left:104px}.tabbar{left:0;right:auto;top:0;bottom:0;width:104px;height:auto;flex-direction:column;border-top:none;border-right:1px solid var(--line);padding:var(--s-3) 0}.logo-btn{display:flex;background:none;border:none;font-family:var(--font-manrope),sans-serif;font-weight:800;font-size:22px;color:var(--accent);cursor:pointer;padding:var(--s-1) 0}.logo-btn,.tab-group{justify-content:center}.tab-group{flex-direction:column;gap:var(--s-1);margin:auto 0}.tab{flex:none;padding:12px 4px}.tab.active:before{top:20%;bottom:20%;left:0;right:auto;width:2px;height:auto}}.section{padding-top:var(--s-5);padding-bottom:var(--s-5);scroll-margin-top:var(--s-3)}.section-divider{height:1px;background:var(--line);margin-bottom:var(--s-5)}@media (min-width:900px){.article-page,.hero,.section,body>footer{position:relative;container-type:inline-size}.article-page{min-height:100vh}.article-page:before,.hero:before,.section:before,body>footer:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:min(var(--maxw),100%);border-left:1px solid var(--line);border-right:1px solid var(--line);pointer-events:none}.section-divider{position:relative;width:100cqw;margin-left:calc(50% - 50cqw)}.section-divider:after,.section-divider:before{content:"+";position:absolute;top:50%;transform:translate(-50%,-50%);font-family:var(--font-mono),monospace;font-size:15px;line-height:1;color:var(--accent);background:var(--bg);padding:1px;pointer-events:none}.section-divider:before{left:calc(50% - var(--maxw) / 2)}.section-divider:after{left:calc(50% + var(--maxw) / 2)}}.section-head{margin-bottom:var(--s-4)}.eyebrow{font-family:var(--font-mono),monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid);display:block;margin-bottom:var(--s-1)}.section-head h2{font-size:clamp(1.5rem,4.5vw,1.9rem);margin-bottom:var(--s-1)}.section-head p{color:var(--muted);max-width:52ch}.card{background:var(--surface);border:1px solid var(--line);padding:var(--s-3)}.stack>*+*{margin-top:var(--s-2)}.hero{padding-top:var(--s-5);padding-bottom:var(--s-5)}.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono),monospace;font-size:12px;color:var(--accent);background:var(--cream);border:1px solid var(--sage);padding:6px 14px;margin-bottom:var(--s-3)}.badge .dot{width:6px;height:6px;background:var(--accent-mid)}.hero h1{font-size:clamp(2.1rem,7vw,3rem);margin-bottom:6px}.hero .role{color:var(--muted);font-size:1.05rem;margin-bottom:var(--s-2)}.hero .lede{max-width:50ch;font-size:1.05rem}.cta-row{display:flex;gap:12px;margin-top:var(--s-3);flex-wrap:wrap}.btn{font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.95rem;padding:12px 22px;color:var(--accent);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;text-decoration:none;display:inline-block}.btn:hover{background:var(--cream)}.btn.primary{background:var(--accent);color:#f7f6ec;border-color:var(--accent)}.btn.primary:hover{background:#2f4f44}.now-list{list-style:none;display:flex;flex-direction:column;padding:0}.now-list li{display:grid;grid-template-columns:100px 1fr;grid-gap:var(--s-2);gap:var(--s-2);align-items:start;padding:var(--s-2) 0}.now-list li+li{border-top:1px solid var(--line)}.now-tag{font-size:11px;color:var(--accent);background:var(--cream);border:1px solid var(--sage);padding:4px 0;text-align:center;margin-top:2px}.now-tag,.now-updated{font-family:var(--font-mono),monospace}.now-updated{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.case{display:grid;grid-template-columns:1fr;grid-gap:var(--s-2);gap:var(--s-2)}@media (min-width:640px){.case{grid-template-columns:160px 1fr;gap:var(--s-3)}}.case-metric{border-bottom:1px solid var(--line);padding-bottom:var(--s-2)}@media (min-width:640px){.case-metric{border-bottom:none;border-right:1px solid var(--line);padding-bottom:0;padding-right:var(--s-3)}}.case-metric .num{font-family:var(--font-mono),monospace;font-size:2rem;color:var(--accent);display:block;line-height:1.1}.case-metric .lbl{color:var(--muted);font-size:.82rem;display:block;margin-top:4px}.case-body h3{font-size:1.1rem;margin-bottom:var(--s-1)}.case-body p{font-size:.95rem;margin-bottom:var(--s-2)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--font-mono),monospace;font-size:11px;color:var(--accent);background:var(--bg);border:1px solid var(--line);padding:4px 10px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-3)}.filter-btn{font-family:var(--font-mono),monospace;font-size:12px;padding:8px 16px;background:var(--surface);border:1px solid var(--line-strong);color:var(--accent);cursor:pointer}.filter-btn:hover{background:var(--cream)}.filter-btn.active{background:var(--accent);color:#f7f6ec}.project-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--s-2);gap:var(--s-2)}@media (min-width:640px){.project-grid{grid-template-columns:1fr 1fr}}.project-card{display:flex;flex-direction:column;gap:var(--s-1)}.project-card:hover{border-color:var(--line-strong)}.project-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.project-top h3{font-size:1rem}.kind{font-family:var(--font-mono),monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;white-space:nowrap;flex-shrink:0}.kind.pribadi{background:var(--accent);color:var(--cream)}.kind.kuliah{background:var(--sage);color:var(--ink)}.kind.iseng{background:var(--cream);color:var(--accent);border:1px solid var(--sage)}.project-card p{font-size:.9rem;flex:1 1}.project-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:var(--s-1);border-top:1px dashed var(--line)}.project-tech{font-family:var(--font-mono),monospace;font-size:11px;color:var(--muted)}.project-link{font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap}.empty-msg{color:var(--muted);font-size:.9rem;font-family:var(--font-mono),monospace;padding:var(--s-3) 0}.fail-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--s-2);gap:var(--s-2)}@media (min-width:640px){.fail-grid{grid-template-columns:1fr 1fr}}.fail-card{border-left:3px solid var(--sage)}.fail-card h3{font-size:1.02rem;display:flex;gap:8px;margin-bottom:var(--s-2)}.fail-card h3 .x{color:var(--muted);font-weight:400}.fail-card .label,.fail-card h3 .x{font-family:var(--font-mono),monospace}.fail-card .label{font-size:11px;text-transform:uppercase;color:var(--accent-mid);letter-spacing:.05em;margin-bottom:4px}.fail-card p{font-size:.92rem}.fail-card p+.label{margin-top:var(--s-2)}.post-list{display:flex;flex-direction:column}.post{display:block;text-decoration:none;color:var(--ink);padding:var(--s-2) var(--s-3)}.post+.post{border-top:1px solid var(--line)}.post:hover{background:var(--bg)}.post-meta{display:flex;gap:12px;align-items:baseline;font-family:var(--font-mono),monospace;font-size:11px;color:var(--muted);margin-bottom:4px}.post-meta .fresh{color:var(--accent-mid)}.post h3{font-size:1.02rem;margin-bottom:4px}.post:hover h3{color:var(--accent)}.post p{font-size:.9rem;color:var(--muted)}.post-all{display:inline-block;margin-top:var(--s-2);font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.9rem;text-decoration:none}.post-list-card{padding:0;overflow:hidden}.article-page{padding-top:var(--s-4);padding-bottom:var(--s-5)}.article-page .section-divider{margin-top:var(--s-4);margin-bottom:var(--s-4)}.back-link{display:inline-block;font-family:var(--font-mono),monospace;font-size:12px;text-decoration:none;margin-bottom:var(--s-4)}.article-head{margin-bottom:0}.article-head h1{font-size:clamp(1.6rem,5vw,2.2rem)}.article-body p,.article-head h1{margin-bottom:var(--s-2)}.article-body p:first-of-type{font-size:1.05rem}.article-body{max-width:62ch}.article-figure{margin:var(--s-3) 0}.article-figure img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px}.article-figure figcaption{margin-top:8px;font-size:.85rem;color:var(--muted)}.article-foot{margin-top:0}.toy-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:var(--s-2)}.toy-head h3{font-size:1rem}.pill{font-family:var(--font-mono),monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--cream);border:1px solid var(--sage);padding:3px 9px;white-space:nowrap}.toy-note{color:var(--muted);font-size:.9rem}.swatches,.toy-note{margin-bottom:var(--s-2)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:44px;height:44px;border:1px solid var(--line);cursor:pointer;position:relative;padding:0}.swatch:hover:after{content:attr(data-hex);position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:10px;background:var(--ink);color:#f7f6ec;padding:2px 6px;white-space:nowrap;z-index:2}.swatch:hover:after,.toy-out{font-family:var(--font-mono),monospace}.toy-out{font-size:.95rem;background:var(--bg);border:1px dashed var(--line);padding:var(--s-2);margin-top:var(--s-2)}.toy-btn{font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.85rem;padding:10px 18px;border:1px solid var(--accent);background:var(--accent);color:#f7f6ec;cursor:pointer}.toy-btn:hover{background:#2f4f44}.copied-msg{font-family:var(--font-mono),monospace;font-size:11px;color:var(--accent-mid);margin-left:10px}.uses-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--s-2);gap:var(--s-2)}@media (min-width:640px){.uses-grid{grid-template-columns:1fr 1fr}}.uses-cat h3{font-family:var(--font-mono),monospace;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid);margin-bottom:var(--s-1);padding-bottom:var(--s-1);border-bottom:1px solid var(--line)}.uses-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0}.uses-item+.uses-item{border-top:1px dashed var(--line)}.uses-item .name{font-family:var(--font-mono),monospace;font-size:.88rem}.uses-item .why{color:var(--muted);font-size:.82rem;text-align:right;flex-shrink:0}.contact-links{display:flex;gap:12px;flex-wrap:wrap}body>footer{padding:var(--s-4) 0 calc(var(--s-4) + 40px);color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}@media (min-width:900px){body>footer{padding-bottom:var(--s-4)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.live-dot:after{animation:none}}