@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;font-style:normal;font-weight:700;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:700;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:700;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:700;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:700;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:700;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:700;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_8b3a0b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_8b3a0b{--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;font-style:normal;font-weight:700;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:700;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:700;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:700;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:700;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:700;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_898c26{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_898c26{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--paper:#f6f4ee;--paper-2:#ede9da;--canvas:#e6e2d4;--ink:#16140f;--ink-2:#4b463d;--ink-3:#8a847a;--ink-4:#b8b1a3;--rule:#d8d3c4;--rule-2:#c0baa9;--accent:#3a6e44;--accent-2:#2a5934;--accent-soft:#cfddc4;--accent-faint:#e9efe1;--hl-yellow:#f5e89a;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-10:40px;--s-14:56px;--r-sm:2px;--r-md:4px;--r-pill:999px;--font-prose:var(--font-inter),system-ui,sans-serif;--font-mono:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--canvas);color:var(--ink);font-family:var(--font-prose);font-size:14px;line-height:1.6;min-height:100vh}::selection{background:var(--accent-soft);color:var(--ink)}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--accent-2)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.site-wrapper{padding:0;min-height:100vh;max-width:1600px;margin:0 auto}.readme-wrap{display:grid;grid-template-columns:280px 1fr;background:var(--paper);min-height:100vh;align-items:start}.tree{width:280px;background:var(--paper-2);border-right:1px solid var(--rule);padding:var(--s-4) var(--s-3);font-family:var(--font-mono);font-size:12px;color:var(--ink-2);position:sticky;top:0;height:100vh;overflow-y:auto}.tree-repo{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-3);border-bottom:1px solid var(--rule);margin-bottom:var(--s-3);font-weight:600;color:var(--ink)}.tree-repo .branch{font-weight:400;color:var(--ink-3);font-size:11px}.tree-repo .dot{color:var(--accent);font-size:16px;line-height:1}.tree-cmd{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);margin-bottom:var(--s-3);color:var(--ink-3);font-size:11px;cursor:pointer;border-radius:var(--r-md);transition:background .1s;border:1px solid var(--rule)}.tree-cmd:hover{background:var(--paper);color:var(--ink-2)}.tree-cmd .cmd-key{margin-left:auto;font-size:11px;padding:1px 4px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-sm);color:var(--ink-3)}.tree-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);padding:var(--s-3) var(--s-2) var(--s-1);font-family:var(--font-mono);user-select:none}.tree-list{list-style:none;margin:0;padding:0}.tree-item{display:flex;align-items:center;gap:var(--s-2);padding:5px var(--s-2);border-radius:var(--r-md);cursor:pointer;color:var(--ink-2);font-size:12px;font-family:var(--font-mono);border-left:2px solid transparent;text-decoration:none;transition:background .1s,color .1s;min-height:28px}.tree-item:hover{background:var(--paper);color:var(--ink);text-decoration:none}.tree-item.active{background:var(--accent-faint);color:var(--accent-2);border-left-color:var(--accent);font-weight:600;padding-left:calc(var(--s-2) + 2px);text-decoration:none}.tree-item .ic{flex-shrink:0;font-size:11px;width:16px}.tree-children{list-style:none;padding:0 0 0 var(--s-4);border-left:1px dotted var(--rule-2);margin:0 0 0 14px}.tree-folder-row{display:flex;align-items:center;gap:var(--s-2);padding:5px var(--s-2);color:var(--ink-3);font-size:12px;font-family:var(--font-mono);cursor:default}.tree-folder-row .caret{font-size:10px}.tree-hint{margin-top:var(--s-6);padding:var(--s-3) var(--s-2) 0;border-top:1px dotted var(--rule);font-size:11px;color:var(--ink-4);line-height:1.5;font-family:var(--font-mono)}.md-doc{padding:var(--s-10) var(--s-14) 80px;max-width:960px}.breadcrumb{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);margin-bottom:var(--s-6);display:flex;align-items:center;gap:4px}.breadcrumb a{color:var(--ink-3);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .sep{color:var(--ink-4)}.md-doc h1{font-size:clamp(36px,3.5vw,52px);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0 0 var(--s-3);padding-bottom:var(--s-4)}.md-doc h1,.md-doc h2{font-family:var(--font-prose);color:var(--ink);border-bottom:1px solid var(--rule)}.md-doc h2{font-size:clamp(20px,1.6vw,28px);font-weight:600;line-height:1.2;margin:var(--s-10) 0 var(--s-4);padding-bottom:var(--s-2)}.md-doc h3{font-family:var(--font-prose);font-size:clamp(15px,1.1vw,19px);font-weight:600;margin:var(--s-6) 0 var(--s-2);color:var(--ink)}.hash{font-family:var(--font-mono);color:var(--ink-4);font-weight:400;margin-right:6px;font-size:.8em}.md-doc p{font-family:var(--font-prose);font-size:clamp(15px,1.05vw,18px);color:var(--ink-2);margin:var(--s-2) 0;max-width:70ch;line-height:1.7}.md-doc p strong{color:var(--ink);font-weight:600}.md-doc .lead,.md-doc p em{font-style:italic}.md-doc .lead{font-size:clamp(16px,1.15vw,20px);color:var(--ink-2);margin:var(--s-2) 0 var(--s-6);display:block;max-width:70ch;line-height:1.65}.md-doc ol,.md-doc ul{font-size:clamp(15px,1.05vw,18px);color:var(--ink-2);padding-left:var(--s-6);margin:var(--s-2) 0}.md-doc li{padding:4px 0;line-height:1.7}.md-doc li::marker{color:var(--ink-4)}.md-doc blockquote{margin:var(--s-4) 0;padding:var(--s-3) var(--s-4);border-left:3px solid var(--accent);background:var(--accent-faint);font-size:clamp(14px,1vw,17px);color:var(--ink);line-height:1.75;border-radius:0 var(--r-md) var(--r-md) 0}.codeblock{background:var(--ink);color:var(--paper);padding:var(--s-4) var(--s-6);border-radius:var(--r-md);font-family:var(--font-mono);font-size:12px;line-height:1.7;white-space:pre;overflow-x:auto;margin:var(--s-4) 0}.codeblock .ck{color:var(--accent-soft)}.codeblock .cv{color:var(--paper)}.codeblock .cc{color:var(--ink-3);font-style:italic}.codeblock .cs{color:var(--hl-yellow)}.md-doc table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px;margin:var(--s-4) 0}.md-doc td,.md-doc th{border:1px solid var(--rule);padding:7px 12px;text-align:left}.md-doc th{background:var(--paper-2);font-weight:600}.md-doc .td-muted{color:var(--ink-3)}.md-doc .td-accent{color:var(--accent)}.badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--s-6)}.badge{display:inline-flex;align-items:stretch;border:1px solid var(--ink);border-radius:var(--r-sm);overflow:hidden;font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;height:22px}.badge .bl{background:#2a2823;color:var(--paper);padding:0 6px}.badge .bl,.badge .br{display:flex;align-items:center}.badge .br{background:var(--paper);padding:0 7px}.badge.green .br{background:var(--accent);color:var(--paper)}.badge.yellow .br{background:var(--hl-yellow);color:var(--ink)}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:var(--r-pill);background:currentColor;margin-right:4px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.pulse-dot{animation:none}}.toc-box{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin:var(--s-4) 0 var(--s-6);max-width:360px}.toc-box strong{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);display:block;margin-bottom:var(--s-2)}.toc-box ol{margin:0;padding-left:20px}.toc-box li{padding:2px 0;font-size:13px}.toc-box a{color:var(--accent);text-decoration:none}.toc-box a:hover{text-decoration:underline}.proj-card{border:1px solid var(--rule);border-radius:var(--r-md);display:grid;grid-template-columns:320px 1fr;gap:var(--s-6);margin:var(--s-4) 0;overflow:hidden;transition:border-color .15s,box-shadow .15s;cursor:pointer;text-decoration:none;color:inherit}.proj-card:hover{border-color:var(--rule-2);box-shadow:0 2px 8px rgba(0,0,0,.06);text-decoration:none}.proj-thumb{position:relative;aspect-ratio:16/10;background:var(--paper-2);overflow:hidden}.proj-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s ease}.proj-card:hover .proj-thumb img{transform:scale(1.03)}.proj-thumb.ph-thumb{border:1.5px dashed var(--rule-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-4)}.proj-body{padding:var(--s-4) var(--s-4) var(--s-4) 0;flex-direction:column}.proj-body,.proj-title{display:flex;gap:var(--s-2)}.proj-title{font-family:var(--font-prose);font-size:16px;font-weight:600;color:var(--ink);align-items:center}.proj-tags{display:flex;gap:4px;flex-wrap:wrap}.proj-desc{font-family:var(--font-prose);font-size:13.5px;color:var(--ink-2);line-height:1.6;flex:1}.proj-links{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);display:flex;gap:var(--s-3);align-items:center}.proj-links a{color:var(--accent);text-decoration:none}.proj-links a:hover{text-decoration:underline}.proj-links .sep{color:var(--ink-4)}.chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;padding:2px 8px;border:1px solid var(--ink);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);white-space:nowrap}.chip.accent{border-color:var(--accent);color:var(--accent-2)}.chip.accent,.live-badge{background:var(--accent-faint)}.live-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11px;padding:2px 7px;border:1px solid var(--accent-soft);border-radius:var(--r-pill);color:var(--accent)}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin:var(--s-4) 0}.photo-frame{aspect-ratio:1;background:var(--paper-2);border:1px solid var(--rule);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:var(--s-3);text-align:center;transition:border-color .15s}.photo-frame:hover{border-color:var(--rule-2)}.photo-frame .photo-emoji{font-size:28px}.photo-frame .photo-cap{font-size:11px;color:var(--ink-3)}.exp-list{list-style:none;padding:0;margin:0}.exp-row{display:grid;grid-template-columns:1fr auto;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px dashed var(--rule);align-items:start}.exp-row:last-child{border-bottom:none}.exp-role{font-weight:600;color:var(--ink);font-size:14px}.exp-org{color:var(--accent);font-size:13px}.exp-impact{font-size:12px;margin-top:2px}.exp-impact,.exp-period{color:var(--ink-3);font-family:var(--font-mono)}.exp-period{font-size:11px;white-space:nowrap;text-align:right}.now-stamp{text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s-1)}.doc-footer,.now-stamp{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.doc-footer{margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.doc-footer a{color:var(--ink-3);text-decoration:none}.doc-footer a:hover{color:var(--accent)}.cmd-overlay{position:fixed;inset:0;background:rgba(22,20,15,.45);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:18vh}.cmd-box{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-md);width:520px;max-width:90vw;box-shadow:0 16px 48px rgba(0,0,0,.18);overflow:hidden}.cmd-input-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule)}.cmd-input-row .cmd-icon{color:var(--ink-4);font-size:13px}.cmd-input{flex:1;border:none;background:transparent;font-family:var(--font-mono);font-size:13px;color:var(--ink);outline:none}.cmd-input::placeholder{color:var(--ink-4)}.cmd-results{max-height:320px;overflow-y:auto}.cmd-section-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);padding:var(--s-2) var(--s-4) var(--s-1)}.cmd-result{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);cursor:pointer;transition:background .1s;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-2);text-decoration:none}.cmd-result.focused,.cmd-result:hover{background:var(--accent-faint);color:var(--accent-2)}.cmd-result .cmd-result-icon{flex-shrink:0;width:16px;color:var(--ink-4)}.cmd-result .cmd-result-path{color:var(--ink-4);font-size:11px;margin-left:auto}.cmd-empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--ink-4)}.cmd-empty,.mobile-header{font-family:var(--font-mono);font-size:12px}.mobile-header{display:none;position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule);padding:var(--s-3) var(--s-4);gap:var(--s-3)}.mobile-header,.mobile-menu-btn{align-items:center;color:var(--ink-2)}.mobile-menu-btn{background:none;border:none;cursor:pointer;padding:var(--s-1);display:flex}.mobile-breadcrumb{flex:1;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-scrim{display:none;position:fixed;inset:0;background:rgba(22,20,15,.4);z-index:40}.mobile-scrim.open{display:block}@media (max-width:768px){.site-wrapper{padding:0}.mobile-header{display:flex}.readme-wrap{grid-template-columns:1fr;min-height:auto}.tree{position:fixed;top:0;left:0;width:70vw;max-width:280px;height:100vh;max-height:100vh;z-index:50;transform:translateX(-100%);transition:transform .2s ease;border-right:1px solid var(--rule)}.tree.drawer-open{transform:translateX(0)}.md-doc{padding:var(--s-6) var(--s-4) 60px}.photo-strip{grid-template-columns:repeat(2,1fr)}.proj-card{grid-template-columns:1fr}.proj-thumb{aspect-ratio:16/9}.proj-body{padding:var(--s-4)}}@media (min-width:1920px){.md-doc{max-width:1100px;padding:56px 72px 100px}.codeblock,.md-doc table{font-size:14px}.badge{height:24px}.badge,.chip{font-size:12px}.chip{padding:3px 10px}.proj-body{padding:var(--s-6)}.proj-card{grid-template-columns:380px 1fr}.toc-box li{font-size:15px}}@media (min-width:2560px){.readme-wrap{grid-template-columns:340px 1fr}.tree{width:340px;font-size:14px;padding:var(--s-6) var(--s-4)}.tree-item{font-size:13px;min-height:32px}.tree-group-label,.tree-hint{font-size:12px}.md-doc{max-width:1300px;padding:72px 88px 120px}.codeblock,.md-doc table{font-size:15px}.codeblock{line-height:1.8}.badge{height:26px}.badge,.chip{font-size:13px}.chip{padding:4px 12px}.proj-card{grid-template-columns:440px 1fr}.breadcrumb{font-size:14px}.toc-box{max-width:480px}.exp-role,.toc-box li{font-size:16px}.exp-org{font-size:15px}.exp-impact{font-size:14px}.exp-period{font-size:13px}}