@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-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:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/c62081b071647022-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:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/c62081b071647022-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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c62081b071647022-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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_80e2a8{font-family:Fraunces,Fraunces Fallback}.__variable_80e2a8{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;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:100 900;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:100 900;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:100 900;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:100 900;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:100 900;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:100 900;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_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-body:"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{--paper:#fafaf7;--paper-raised:#ffffff;--ink:#14181a;--ink-soft:#45514f;--ink-faint:#84908e;--hairline:#e2e4dd;--accent:#0f4c5c;--accent-soft:#e7eef0;--warn:#c9543a;--impact-high:#0f4c5c;--impact-medium:#8a6d1f;--impact-low:#84908e}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.serif{font-family:var(--font-display),Georgia,serif}.mono{font-family:var(--font-mono),monospace}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}.gate{min-height:100vh;display:flex;align-items:center;justify-content:center}.gate-card{width:min(400px,90vw);border:1px solid var(--hairline);background:var(--paper-raised);padding:48px 40px}.gate-card h1{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:28px;margin-bottom:4px}.gate-card p{color:var(--ink-faint);font-size:13px;margin-bottom:28px}.gate-card input{width:100%;border:1px solid var(--hairline);background:var(--paper);padding:12px 14px;font-family:var(--font-mono),monospace;font-size:14px;color:var(--ink);outline:none}.gate-card input:focus{border-color:var(--accent)}.gate-card button{width:100%;margin-top:12px;padding:12px 14px;border:none;background:var(--ink);color:var(--paper);font-family:var(--font-mono),monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.gate-card button:hover{background:var(--accent)}.gate-error{margin-top:14px;color:#a03c2e;font-size:13px}.masthead{border-bottom:1px solid var(--hairline);padding:56px 0 36px}.eyebrow{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.masthead h1{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:clamp(34px,5vw,52px);line-height:1.1;letter-spacing:-.01em;max-width:720px}.masthead h1 em{font-style:italic;color:var(--accent)}.masthead .lede{margin-top:18px;max-width:640px;color:var(--ink-soft);font-size:16px}.statrow{display:flex;flex-wrap:wrap;gap:0;margin-top:36px;border:1px solid var(--hairline);background:var(--paper-raised)}.stat{flex:1 1 140px;padding:18px 22px;border-right:1px solid var(--hairline)}.stat:last-child{border-right:none}.stat .n{font-family:var(--font-display),Georgia,serif;font-size:30px;font-weight:500;line-height:1.1}.stat .l{font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}.layout{display:grid;grid-template-columns:216px minmax(0,1fr);grid-gap:0 56px;gap:0 56px;align-items:start}.sidebar{position:-webkit-sticky;position:sticky;top:0;padding:52px 0 24px;max-height:100vh;overflow-y:auto}.side-eyebrow{font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.sidebar nav a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--ink-soft);text-decoration:none}.sidebar nav a:hover{color:var(--accent)}.sidebar nav a .n{color:var(--ink-faint)}.side-dl,.sidebar nav a .n{font-family:var(--font-mono),monospace;font-size:10.5px}.side-dl{display:block;margin-top:18px;padding:10px 12px;border:1px solid var(--accent);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-align:center}.side-dl:hover{background:var(--accent);color:var(--paper)}.dl{font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none}.dl:hover{text-decoration:underline}.skill-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px}.section{padding:52px 0 12px;scroll-margin-top:12px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:8px}.section-head h2{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:26px}.section-head .count{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-faint)}.section-intro{color:var(--ink-soft);font-size:14px;max-width:680px;padding:10px 0 18px}.section .statrow{margin-top:0;margin-bottom:24px}.trueup-flags{color:var(--warn)}.hub-header{border-bottom:1px solid var(--hairline);background:var(--paper)}.hub-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}.wordmark{font-size:22px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}.wordmark em{font-style:italic;color:var(--accent)}.hub-nav{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);padding-right:12px}.hub-nav::-webkit-scrollbar{display:none}.hub-nav a{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:4px 0;white-space:nowrap}.hub-nav a.active,.hub-nav a:hover{color:var(--accent)}.hub-nav a.active{border-bottom:2px solid var(--accent)}.role-chip{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hairline);padding:3px 8px;color:var(--ink-faint);white-space:nowrap}.hub-hero{padding:48px 0 12px}.hub-hero h1{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:clamp(30px,4.5vw,44px);line-height:1.12;max-width:680px}.hub-hero h1 em{font-style:italic;color:var(--accent)}.hub-hero .lede{margin-top:14px;max-width:620px;color:var(--ink-soft);font-size:15.5px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.card{background:var(--paper-raised);border:1px solid var(--hairline);padding:26px 26px 22px;display:flex;flex-direction:column;gap:10px}.card h3{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:21px}.card p{color:var(--ink-soft);font-size:13.5px;flex:1 1}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.btn{display:inline-block;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;text-decoration:none}.btn.solid,.btn:hover{background:var(--accent);color:var(--paper)}.btn.solid:hover{background:var(--ink);border-color:var(--ink)}.lock{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.col{background:var(--paper-raised);padding:22px 24px}.col h4{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.col ul{list-style:none}.col li{font-size:13.5px;color:var(--ink-soft);padding:6px 0;border-bottom:1px solid var(--hairline)}.col li:last-child{border-bottom:none}.steps{counter-reset:step;list-style:none;border:1px solid var(--hairline);background:var(--paper-raised)}.steps li{counter-increment:step;display:flex;gap:16px;padding:16px 20px;border-bottom:1px solid var(--hairline)}.steps li:last-child{border-bottom:none}.steps li:before{content:counter(step);font-family:var(--font-display),Georgia,serif;font-size:22px;color:var(--accent);min-width:28px;line-height:1.2}.steps .step-title{font-weight:600;font-size:14px}.steps .step-detail{color:var(--ink-soft);font-size:13.5px;margin-top:2px}.plain-list{list-style:none;border:1px solid var(--hairline);background:var(--paper-raised)}.plain-list li{padding:12px 18px;border-bottom:1px solid var(--hairline);font-size:13.5px;color:var(--ink-soft);display:flex;gap:10px}.plain-list li:last-child{border-bottom:none}.plain-list li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px}.plain-list.warn li:before{background:var(--warn)}.table-wrap{overflow-x:auto;border:1px solid var(--hairline);background:linear-gradient(to right,var(--paper-raised) 30%,rgba(255,255,255,0)) 0 /40px 100%,linear-gradient(to left,var(--paper-raised) 30%,rgba(255,255,255,0)) 100% /40px 100%,radial-gradient(farthest-side at 0 50%,rgba(20,24,26,.14),transparent) 0 /14px 100%,radial-gradient(farthest-side at 100% 50%,rgba(20,24,26,.14),transparent) 100% /14px 100%,var(--paper-raised);background-repeat:no-repeat;background-attachment:local,local,scroll,scroll,local}table.hub{width:100%;border-collapse:collapse;font-size:13px}table.hub th{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:12px 16px;border-bottom:1px solid var(--ink);white-space:nowrap}table.hub td{padding:11px 16px;border-bottom:1px solid var(--hairline);vertical-align:top;color:var(--ink-soft)}table.hub tr:last-child td{border-bottom:none}table.hub td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}table.hub a{color:var(--accent)}.ask{border-left:2px solid var(--accent);background:var(--accent-soft);padding:10px 14px;font-family:var(--font-mono),monospace;font-size:12px;color:var(--ink);margin-top:8px}@media (max-width:720px){.hub-header-inner{flex-wrap:wrap;gap:10px}.role-chip{display:none}}.opps{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.opp{background:var(--paper-raised);padding:24px 24px 20px;display:flex;flex-direction:column;gap:10px}.opp-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--hairline);color:var(--ink-soft)}.badge.accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.badge.shipped{border-color:var(--accent);background:var(--accent);color:var(--paper)}.impact{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.impact-high{color:var(--impact-high)}.impact-medium{color:var(--impact-medium)}.impact-low{color:var(--impact-low)}.opp h3{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:19px;line-height:1.25}.opp p{color:var(--ink-soft);font-size:13.5px;flex:1 1}.opp-foot{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:10px;border-top:1px solid var(--hairline);font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-faint)}.opp-foot .skill{color:var(--accent)}.live-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px 28px;gap:10px 28px;padding:6px 0 10px}.live-item{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--hairline);font-size:13px}.live-item .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;position:relative;top:-1px}.live-item .name{font-weight:600}.live-item .desc{color:var(--ink-faint)}.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.skill-card{background:var(--paper-raised);padding:20px 22px}.skill-card .name{font-family:var(--font-mono),monospace;font-size:13px;font-weight:500;color:var(--accent)}.skill-card .what{margin-top:6px;font-size:13px;color:var(--ink-soft)}.skill-card .tag{margin-top:10px;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.angle-note{margin:8px 0 4px;border-left:2px solid var(--accent);background:var(--accent-soft);padding:16px 20px}.angle-label{font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.angle-note p{font-size:14px;color:var(--ink);max-width:720px}.opp.comp{gap:8px}.overlap-direct{color:var(--warn)}.overlap-aangrenzend{color:var(--impact-medium)}.overlap-indirect{color:var(--ink-faint)}.comp-strengths{margin-top:2px}.comp-strengths-label{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.comp-strengths ul{list-style:none}.comp-strengths li{position:relative;padding:3px 0 3px 16px;font-size:13px;color:var(--ink-soft)}.comp-strengths li:before{content:"+";position:absolute;left:0;top:3px;color:var(--accent);font-family:var(--font-mono),monospace;font-size:13px}.comp-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--hairline);display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.comp-vs{font-size:12.5px;color:var(--ink-faint);font-style:italic}.uploader{margin-top:4px}.dropzone{border:1.5px dashed var(--hairline);background:var(--paper-raised);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s}.dropzone:focus-visible,.dropzone:hover{border-color:var(--accent);outline:none}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.dropzone.busy{cursor:default;border-style:solid}.dz-main{font-size:15px;color:var(--ink)}.dz-sub{margin-top:6px;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.dz-error{margin-top:12px;color:var(--warn);font-size:13px}.row-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}.linklike-warn{border:none;background:none;padding:0;cursor:pointer;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warn)}.linklike-warn:hover{text-decoration:underline}.viewer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.file-viewer{width:100%;height:78vh;min-height:420px;border:1px solid var(--hairline);background:var(--paper-raised);margin:8px 0 24px}.foot{margin-top:64px;border-top:1px solid var(--hairline);padding:24px 0 48px;display:flex;justify-content:space-between;gap:16px;font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-faint)}.skill-foot .tag{margin-top:0}@media (max-width:960px){.layout{display:block}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--hairline);padding:10px 0;max-height:none;overflow:visible;display:flex;align-items:center;gap:16px}.side-eyebrow{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:18px;flex:1 1;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav a{border-bottom:none;padding:4px 0;font-size:12.5px}.side-dl,.sidebar nav a{white-space:nowrap;flex-shrink:0}.side-dl{margin-top:0;padding:6px 10px}.section{scroll-margin-top:56px}}@media (max-width:640px){.wrap{padding:0 20px}.masthead{padding:40px 0 28px}.foot{flex-direction:column}.side-dl{display:none}}