@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-20c4,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_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-sans:"Inter","Inter Fallback"}@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-20c4,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-20c4,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-20c4,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-20c4,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-20c4,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-20c4,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_91b9f0{font-family:Fraunces,Fraunces Fallback}.__variable_91b9f0{--font-display:"Fraunces","Fraunces 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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_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_a3cc63{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a3cc63{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}.demo{container-type:inline-size;position:relative;aspect-ratio:16/10;overflow:hidden}.demo>*{font-size:2.55cqw}.tick{display:inline-block;animation:tick-in .45s var(--ease) both}@keyframes tick-in{0%{opacity:0;transform:translateY(45%)}}.demo-toast{position:absolute;right:1.1em;bottom:1.1em;display:flex;align-items:center;gap:.5em;padding:.6em .95em;border-radius:.7em;font-size:2.45cqw;font-weight:600;opacity:0;transform:translateY(120%);transition:opacity .35s var(--ease),transform .45s var(--ease)}.demo-toast.is-on{opacity:1;transform:none}.demo-check{display:inline-grid;place-items:center;width:1.4em;height:1.4em;border-radius:50%;font-size:.85em}.gd,.pd{aspect-ratio:16/9}.gd{background:var(--charcoal-2);color:var(--sand)}.gd-inner,.pd-inner{padding:1.3em 1.4em}.gd-head,.pd-head{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-bottom:1em;font-family:var(--mono);font-size:.82em}.gd-head{color:var(--on-dark-faint)}.gd-credits{padding:.3em .8em;border-radius:999px;background:#3a372f;color:#e6dbc6}.gd-credits b{color:#fff}.gd-rows{display:flex;flex-direction:column;gap:.55em;list-style:none;margin:0;padding:0}.gd-rows li{display:grid;grid-template-columns:3.4em minmax(0,1fr) 5.4em 5.6em;align-items:center;grid-gap:.8em;gap:.8em;padding:.75em .9em;border:1px solid #3d3b36;border-radius:.75em;transition:background .35s var(--ease),border-color .35s var(--ease)}.gd-rows li.is-active{background:#34322d;border-color:#5a564d}.gd-time{font-family:var(--mono);font-size:.82em;color:var(--on-dark-faint)}.gd-name{font-weight:500;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gd-spots{display:flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:.8em;color:var(--on-dark-soft)}.gd-bar{flex:1 1;height:.35em;border-radius:1em;background:#3d3b36;overflow:hidden}.gd-bar span{display:block;height:100%;background:var(--sand);transition:width .6s var(--ease)}.gd-btn{padding:.45em 0;border:1px solid #5a564d;border-radius:999px;text-align:center;font-size:.85em;font-weight:600;color:#e6dbc6;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .2s var(--ease)}.gd-btn.is-busy{background:var(--accent);border-color:var(--accent);color:#fff}.gd-btn.is-pressed{transform:scale(.92)}.gd-btn.is-done{background:var(--sand);border-color:var(--sand);color:var(--charcoal)}.gd-btn.is-full{border-color:#3d3b36;color:var(--on-dark-faint)}.gd-toast{left:1.4em;right:1.4em;bottom:1em;background:var(--paper);color:var(--charcoal);font-weight:500}.gd-toast svg{flex:none;color:var(--accent)}.pd{background:var(--paper);color:var(--text-soft)}.pd-inner{display:flex;flex-direction:column;justify-content:center;height:100%}.pd-beds{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:.6em;gap:.6em;list-style:none;margin:0;padding:0}.pd-bed{height:3.4em;border-radius:.5em;border:2px solid transparent;transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease)}.pd-bed.is-p,.pd-legend .is-p{background:var(--charcoal);border-color:var(--charcoal)}.pd-bed.is-d,.pd-legend .is-d{background:var(--accent);border-color:var(--accent)}.pd-bed.is-v,.pd-legend .is-v{background:transparent;border-color:#b3a27f}.pd-bed.is-hot{transform:scale(1.08);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--accent)}.pd-legend{display:flex;gap:1.3em;list-style:none;margin:1.3em 0 0;padding:0;font-family:var(--mono);font-size:.78em}.pd-legend li{display:inline-flex;align-items:center;gap:.5em}.pd-legend i{width:.85em;height:.85em;border-radius:.2em;border:2px solid transparent}:root{--charcoal:#1e1e1c;--charcoal-2:#2a2a27;--sand:#d8cbb3;--paper:#f4efe6;--bg:var(--paper);--bg-alt:#eae2d3;--surface:#ffffff;--text:var(--charcoal);--text-soft:#5a554c;--text-faint:#6e685d;--line:#e2d8c6;--line-strong:#c9bca4;--accent:#2f6bff;--accent-hover:#1f56e0;--accent-ink:#2457d6;--accent-tint:#e6edff;--on-accent:#ffffff;--live:#2e9e5b;--warn:#9e6f0c;--code-bg:#eae2d3;--shadow:0 1px 2px rgb(30 30 28/0.05),0 8px 24px rgb(30 30 28/0.08);--on-dark:var(--paper);--on-dark-soft:#bdb3a1;--on-dark-faint:#a79f90;--on-dark-line:#3d3b36;--on-dark-link:#8fb0ff;--sans:var(--font-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--display:var(--font-display),Georgia,serif;--serif:var(--display);--mono:var(--font-mono),ui-monospace,"SFMono-Regular",Menlo,monospace;--max:1200px;--narrow:740px;--gutter:24px;--radius:14px;--ease:cubic-bezier(0.22,1,0.36,1);color-scheme:light}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.2}h1,h2,h3,h4{letter-spacing:-.01em}h1,h2{font-family:var(--display);font-weight:600;text-wrap:balance}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}img{max-width:100%;display:block}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--surface);padding:8px 14px;border-radius:8px}.skip-link:focus{left:8px}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.container-narrow{max-width:var(--narrow)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--charcoal) 94%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #34332f;color:var(--sand)}.header-row{display:flex;align-items:center;gap:24px;height:64px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.01em;white-space:nowrap}.brand,.brand:hover{color:var(--on-dark)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sand);color:var(--charcoal);font-family:var(--serif);font-style:italic;font-weight:400;font-size:21px;line-height:1}.site-nav{margin-left:auto}.menu-btn,.nav-extra{display:none}.menu-btn{flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;padding:0;border:1px solid #4a4740;border-radius:10px;background:transparent;cursor:pointer}.menu-btn .bar{width:18px;height:2px;border-radius:2px;background:var(--sand);transition:transform .25s var(--ease),opacity .2s var(--ease)}.is-open .menu-btn .bar:first-child{transform:translateY(6px) rotate(45deg)}.is-open .menu-btn .bar:nth-child(2){opacity:0}.is-open .menu-btn .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{display:block;padding:6px 12px;border-radius:8px;color:var(--sand);font-size:15px;font-weight:500;white-space:nowrap}.nav-links a:hover{color:#fff;background:rgb(216 203 179/.1)}.site-header :focus-visible{outline-color:var(--on-dark-link)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:600;border:1px solid transparent;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-sm{min-height:38px;padding:0 16px;font-size:14px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{border-color:var(--line-strong);color:var(--text);background:var(--surface)}.btn-ghost:hover{border-color:var(--text-faint);color:var(--text)}.text-link{font-weight:600;font-size:15px}.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:12px}.section{padding:96px 0}.section-head{max-width:680px;margin-bottom:48px}.section-head h1,.section-head h2{font-size:clamp(30px,4vw,42px)}.section-lede{margin-top:14px;font-size:18px;color:var(--text-soft)}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.tags li{font-family:var(--mono);font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text-soft);background:var(--surface)}.tags-sm li{font-size:11px;padding:2px 8px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease) var(--reveal-delay,0s),transform .6s var(--ease) var(--reveal-delay,0s)}.reveal.is-visible{opacity:1;transform:none}.label{margin-bottom:14px;font-family:var(--mono);font-size:13px;color:var(--accent-ink)}.h-section{font-size:clamp(32px,4vw,48px);line-height:1.08}.btn-ghost-dark{border-color:#5a564d;color:var(--on-dark);background:transparent}.btn-ghost-dark:hover{color:var(--on-dark);background:rgb(216 203 179/.12)}.btn-lg{min-height:52px;padding:0 24px;font-size:16px}.icon-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--sand)}.icon-btn:hover{color:#fff;background:rgb(216 203 179/.12)}.dark{background:var(--charcoal);color:var(--sand)}.dark a:not(.btn){color:var(--on-dark-link)}.dark :focus-visible{outline-color:var(--on-dark-link)}.hero{padding:64px 0 88px}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));grid-gap:56px;gap:56px;align-items:center}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px}.hero-id{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.hero-avatar{width:56px;height:56px;border:2px solid var(--sand);border-radius:50%;object-fit:cover}.status{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #4a4740;border-radius:999px;font-family:var(--mono);font-size:12.5px}.status .dot{width:8px;height:8px;border-radius:50%;background:#5fd68a;box-shadow:0 0 0 3px rgb(95 214 138/.2)}.hero h1{font-size:clamp(40px,5.2vw,64px);line-height:1.04;letter-spacing:-.02em;color:var(--on-dark)}.hero h1 .serif{color:var(--sand)}.hero-lede{max-width:540px;font-size:18px;color:var(--on-dark-soft)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero-icons{display:flex;gap:4px}.lesson{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:430px;padding:22px 24px 24px;border:1px solid var(--on-dark-line);border-radius:20px;background:var(--charcoal-2);box-shadow:0 24px 48px rgb(0 0 0/.35)}.lesson-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:13px;color:var(--on-dark-faint)}.lesson-bar>span:first-child{display:flex;align-items:center;gap:14px}.ledger-dots{display:flex;gap:6px}.ledger-dots span{width:10px;height:10px;border-radius:50%;background:#4a4740}.lesson-tag{font-family:var(--mono);font-size:12.5px;color:var(--on-dark-link)}.lesson-q{font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.2;color:var(--on-dark)}.lesson-a{display:flex;flex-direction:column;gap:14px}.lesson-a:not(:empty){padding-top:16px;border-top:1px dashed var(--on-dark-line)}.lesson-a p{font-size:16.5px;color:var(--sand)}.lesson-a a{font-size:15px;font-weight:600}.lesson-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.btn-sand{background:var(--sand);color:var(--charcoal)}.btn-sand:hover{background:var(--paper);color:var(--charcoal)}.previously{border-top:1px solid #34332f}.previously-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 48px;padding-top:26px;padding-bottom:26px}.previously-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-faint)}.previously ul{display:flex;flex-wrap:wrap;gap:18px 48px;list-style:none;margin:0;padding:0}.previously li{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em}.home-section{padding:96px 0 40px}.home-section+.home-section{padding-top:80px}.section-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}.section-row>p{max-width:380px;font-size:15.5px;color:var(--text-soft)}.learn{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.learn-topics{flex:1 1 280px;display:flex;flex-direction:column;gap:10px}.topic-tab{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:68px;padding:12px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}.topic-tab:hover{border-color:var(--line-strong)}.topic-tab[aria-pressed=true]{border-color:var(--charcoal);background:var(--charcoal);color:var(--on-dark)}.topic-tab-name{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.01em}.topic-tab-count{font-family:var(--mono);font-size:12.5px;color:var(--text-soft);white-space:nowrap}.topic-tab[aria-pressed=true] .topic-tab-count{color:var(--on-dark-soft)}.learn-all{padding:12px 20px}.learn-panel{flex:999 1 560px;min-width:0;padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.learn-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-bottom:8px;font-family:var(--mono);font-size:13px;color:var(--text-soft)}.learn-blurb{max-width:620px;margin-bottom:12px;font-size:17px}.path{list-style:none;margin:0;padding:0}.path li+li{border-top:1px solid var(--line)}.path-item{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:4px 12px;gap:4px 12px;padding:20px 0}.path-item,.path-item:hover{color:var(--text)}.path-num{font-family:var(--serif);font-style:italic;font-size:32px;line-height:1.1;color:#8a7a5a}.path-body{display:flex;flex-direction:column;gap:6px;min-width:0}.path-title{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.01em;transition:color .2s var(--ease)}.path-item:hover .path-title{color:var(--accent-ink)}.path-hook{font-size:15.5px;color:var(--text-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));grid-gap:24px;gap:24px}.project{display:flex;flex-direction:column;gap:24px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.project.dark{border-color:var(--charcoal);background:var(--charcoal)}.project-hard-label{margin-bottom:10px;font-family:var(--mono);font-size:12.5px;color:var(--text-soft)}.project h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.1;text-wrap:balance}.project.dark h3{color:var(--on-dark)}.project-frame{overflow:hidden;border:1px solid var(--line);border-radius:14px}.project.dark .project-frame{border-color:var(--on-dark-line)}.project-about{display:flex;flex-direction:column;gap:10px}.project-name{font-size:18px;font-weight:600}.project.dark .project-name{color:var(--on-dark)}.project-summary{font-size:15.5px;color:var(--text-soft)}.project.dark .project-summary{color:var(--on-dark-soft)}.project-stack{font-family:var(--mono);font-size:12.5px;color:var(--text-soft)}.project.dark .project-hard-label,.project.dark .project-stack{color:var(--on-dark-faint)}.project-cta,.project-soon{align-self:flex-start;margin-top:auto}.project-cta{max-width:100%;padding:10px 22px;white-space:normal;text-align:left}.project-soon{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border:1px dashed var(--line-strong);border-radius:999px;font-size:15px;font-weight:600;color:var(--text-soft)}.about{padding-bottom:72px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));grid-gap:56px;gap:56px;align-items:start}.about-visual{position:relative;padding-bottom:150px}.about-photo{max-width:380px;margin:0;padding:14px;border-radius:28px;background:var(--sand);transform:rotate(-1.5deg)}.about-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:18px}.ledger{position:absolute;right:0;bottom:0;width:min(100%,400px);padding:18px 20px;border:1px solid var(--on-dark-line);border-radius:16px;background:var(--charcoal-2);box-shadow:0 24px 48px rgb(0 0 0/.25);font-family:var(--mono);font-size:13px}.ledger-cmd{margin-bottom:12px;color:var(--on-dark-faint)}.ledger dl{margin:0}.ledger dl div{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;padding:5px 0;border-top:1px dashed var(--on-dark-line)}.ledger dt{color:var(--on-dark-soft)}.ledger dd{margin:0;font-weight:500;color:var(--on-dark)}.about-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-width:0}.about-copy>p{font-size:18px;color:var(--text-soft)}.skills{align-self:stretch;list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line-strong)}.skills li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:12px;gap:12px;padding:18px 0;border-top:1px solid var(--line-strong)}.skills-num{font-family:var(--serif);font-style:italic;font-size:30px;line-height:1.1;color:var(--text-faint)}.skills h3{margin-bottom:4px;font-size:18px}.skills p{font-size:15.5px;color:var(--text-soft)}.skills .skills-tools{margin-top:8px;font-family:var(--mono);font-size:12.5px}.timeline-title{margin:80px 0 28px;font-family:var(--display);font-size:28px;font-weight:600;scroll-margin-top:96px}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:32px;gap:32px;list-style:none;margin:0;padding:0}.timeline>li{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid var(--line-strong)}.timeline>li:first-child{border-top-color:var(--charcoal)}.timeline-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-family:var(--mono);font-size:12.5px;color:var(--text-soft)}.timeline h4{font-size:19px;line-height:1.3}.timeline h4 span{font-weight:500;color:var(--text-soft)}.timeline ul{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:15px;line-height:1.55;color:var(--text-soft)}.kind-words{padding:72px 0;background:var(--bg-alt)}.kind-words-inner{align-items:flex-start;gap:40px}.kind-words-inner,.quote-lead{display:flex;flex-direction:column}.quote-lead{gap:20px;max-width:900px;margin:0}.quote-lead svg{color:#8a7a5a}.quote-lead blockquote{margin:0;font-family:var(--serif);font-size:clamp(24px,2.8vw,34px);line-height:1.25;letter-spacing:-.01em}.quote-lead figcaption{font-size:15px;color:var(--text-soft)}.quote-lead figcaption strong{color:var(--charcoal)}.quote-row{align-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-gap:20px;gap:20px}.quote-card{display:flex;flex-direction:column;gap:12px;margin:0;padding:22px;border-radius:16px;background:var(--paper)}.quote-card blockquote{margin:0;font-size:15.5px}.quote-card figcaption{margin-top:auto;font-size:13.5px;color:var(--text-soft)}.contact{padding:80px 0 104px}.contact-card{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px 56px;padding:clamp(32px,5vw,64px);border-radius:28px}.contact-card>div:first-child{flex:1 1 420px;display:flex;flex-direction:column;gap:18px}.contact-card .label{margin:0;color:var(--on-dark-faint)}.contact-card h2{font-size:clamp(34px,4.4vw,56px);line-height:1.04;color:var(--on-dark)}.contact-card h2 .serif{color:var(--sand)}.contact-card p:not(.label){max-width:520px;font-size:17px;color:var(--on-dark-soft)}@media (max-width:640px){.hero{padding:40px 0 64px}.lesson{min-height:400px;padding:18px 18px 20px}.home-section{padding-top:64px}.learn-panel,.project{padding:22px}.path-item{grid-template-columns:36px minmax(0,1fr)}.path-num{font-size:26px}.about-photo{max-width:300px}.ledger{font-size:12px}.timeline-title{margin-top:56px}.kind-words{padding:56px 0}.contact{padding-top:56px}}.site-footer{background:var(--charcoal);color:var(--on-dark-faint);padding:48px 0}.footer-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}.footer-sign{margin-bottom:6px;font-family:var(--serif);font-style:italic;font-size:40px;line-height:1;color:var(--sand)}.footer-copy{font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a{font-size:14px;color:var(--on-dark-link)}.footer-links a:hover{color:#b9ceff}.site-footer :focus-visible{outline-color:var(--on-dark-link)}.container-blog{max-width:960px}.blog-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:48px}.blog-head h1{max-width:760px;font-size:clamp(36px,4.6vw,56px);line-height:1.05;letter-spacing:-.02em}.blog-head .section-lede{max-width:640px}.rss-link{display:inline-flex;align-items:center;gap:6px}.rss-link svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.rss-link circle{fill:currentColor;stroke:none}.blog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--line-strong)}.post-filters{display:flex;flex-wrap:wrap;gap:8px}.sort-toggle{display:inline-flex;padding:4px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface)}.sort-toggle button{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--text-soft);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.sort-toggle button:hover{color:var(--text)}.sort-toggle button[aria-pressed=true]{background:var(--charcoal);color:var(--on-dark)}.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-soft);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}.filter-chip:hover{border-color:var(--line-strong);color:var(--text)}.filter-chip[aria-pressed=true]{border-color:var(--charcoal);background:var(--charcoal);color:var(--on-dark)}.filter-count{font-family:var(--mono);font-size:12px;opacity:.7}.post-featured{display:grid;grid-gap:12px;gap:12px;margin-bottom:72px;padding:clamp(24px,4vw,44px);border-radius:24px;background:var(--charcoal);color:var(--sand);transition:transform .2s var(--ease)}.post-featured:hover{color:var(--sand);transform:translateY(-2px)}.post-featured .eyebrow{margin-bottom:0;color:var(--on-dark-link)}.post-featured .post-meta{color:var(--on-dark-faint)}.post-featured .tags li{border-color:#4a4740;background:transparent;color:var(--on-dark-soft)}.post-featured-title{max-width:820px;font-family:var(--display);font-size:clamp(26px,3.2vw,40px);font-weight:600;line-height:1.1;color:var(--on-dark);text-wrap:balance;transition:color .2s var(--ease)}.post-featured:hover .post-featured-title{color:var(--on-dark-link)}.post-featured-excerpt{max-width:720px;font-size:17px;color:var(--on-dark-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-featured-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:8px}.post-featured-cta{margin-left:auto;font-weight:600;font-size:15px;color:var(--on-dark-link)}.topic-sections{display:flex;flex-direction:column;gap:72px}.topic-section{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 48px}.topic-intro{flex:1 1 260px;display:flex;flex-direction:column;gap:10px}.topic-intro h2{font-size:30px;line-height:1.1}.topic-intro p:not(.post-meta){font-size:15.5px;color:var(--text-soft)}.topic-section .path{flex:999 1 560px;min-width:0;padding:0 28px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.post-years{display:grid;grid-gap:48px;gap:48px}.post-year{display:grid;grid-template-columns:140px minmax(0,1fr);grid-gap:32px;gap:32px}.post-year-label{position:-webkit-sticky;position:sticky;top:96px;align-self:start;display:grid;grid-gap:4px;gap:4px;font-size:30px;color:var(--text)}.post-year-label span{font-family:var(--mono);font-size:12.5px;font-weight:400;color:var(--text-faint)}.post-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.post-list li{border-bottom:1px solid var(--line)}.post-item{display:grid;grid-gap:6px;gap:6px;padding:24px 0}.post-item,.post-item:hover{color:var(--text)}.post-item:hover .post-title{color:var(--accent-ink)}.post-meta{font-family:var(--mono);font-size:12.5px;color:var(--text-faint)}.post-title{font-size:20px;font-weight:600;line-height:1.3;transition:color .2s var(--ease)}.post-excerpt{font-size:15px;color:var(--text-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-row-tags{margin-top:6px}.post-row-tags li{font-size:11.5px;padding:2px 9px}.post-featured-foot .post-row-tags{margin-top:0}@media (max-width:760px){.post-year{grid-template-columns:1fr;gap:12px}.post-year-label{position:static;display:flex;align-items:baseline;gap:12px;font-size:24px}.post-featured{margin-bottom:48px}.topic-sections{gap:48px}.topic-section .path{padding:0 18px}.post-featured-cta{margin-left:0;flex-basis:100%}}.back-link{display:inline-block}.article-head,.back-link{margin-bottom:32px}.article-head h1{font-size:clamp(32px,4.6vw,48px);line-height:1.08;letter-spacing:-.02em}.article-content{font-size:16.5px;line-height:1.7;overflow-wrap:break-word}.article-content>*+*{margin-top:1.1em}.article-html{display:contents}.article-content>*+.article-html>:first-child,.article-content>.article-html>*+*{margin-top:1.1em}.article-content :is(h2,h3,h4){margin-top:2em;font-family:var(--sans);font-weight:650}.article-content h2{font-size:23px}.article-content h3{font-size:19px}.article-content h4{font-size:16.5px}.article-content :is(ul,ol){padding-left:1.4em}.article-content li+li{margin-top:.4em}.article-content a{text-decoration:underline;text-underline-offset:3px}.article-content blockquote{margin-left:0;padding-left:18px;border-left:3px solid var(--line-strong);color:var(--text-soft)}.article-content>.article-html:first-child>blockquote:first-of-type:not(:is(h2,h3,h4)~blockquote){margin:1.6em 0;padding:clamp(22px,4vw,32px);border:0;border-radius:20px;background:var(--bg-alt);color:var(--text);font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.6vw,27px);line-height:1.25;letter-spacing:-.01em}.article-content>.article-html:first-child>blockquote:first-of-type:not(:is(h2,h3,h4)~blockquote):before{content:"If you remember one thing";display:block;margin-bottom:12px;font-family:var(--mono);font-style:normal;font-size:12.5px;letter-spacing:0;color:var(--accent-ink)}.article-content>.article-html:first-child>blockquote:first-of-type:not(:is(h2,h3,h4)~blockquote) code{background:var(--surface);font-style:normal}.article-content pre{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;font-size:14px;line-height:1.6;color:#0e1116}.article-content code{font-family:var(--mono);font-size:.88em}.article-content :not(pre)>code{background:var(--code-bg);border:1px solid var(--line);padding:.1em .35em;border-radius:5px}.article-content pre code{font-size:inherit;font-feature-settings:none;font-variant-ligatures:none}.article-content img{height:auto;border-radius:10px;border:1px solid var(--line)}.article-content table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.article-content :is(th,td){border:1px solid var(--line);padding:8px 12px;text-align:left}.article-content hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.callout{border-left:3px solid var(--accent);background:var(--surface);padding:14px 18px;border-radius:0 10px 10px 0}.callout-danger,.callout-warning{border-left-color:var(--warn)}.callout-tldr{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-left:3px solid var(--accent);background:var(--accent-tint)}.callout-title{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);margin-bottom:6px}.callout-body>*+*{margin-top:.8em}.article-foot{display:flex;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line)}.reading-progress{position:fixed;inset:0 0 auto;z-index:60;height:3px;pointer-events:none}.reading-progress-bar{height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.code-block{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--line);background:var(--bg-alt)}.code-lang{font-family:var(--mono);font-size:12px}.code-copy,.code-lang{color:var(--text-soft)}.code-copy{padding:3px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);font:500 12px var(--sans);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.code-copy:hover{border-color:var(--accent);color:var(--accent-ink)}.code-copy[data-state=copied]{border-color:var(--live);color:var(--text)}.article-content .code-block pre{margin:0;border:0;border-radius:0}.article-content :is(h2,h3,h4){scroll-margin-top:88px}.article-content .heading-anchor{margin-left:.35em;color:var(--text-faint);text-decoration:none;opacity:0;transition:opacity .15s var(--ease)}.article-content .heading-anchor:focus-visible,.article-content :is(h2,h3,h4):hover .heading-anchor{opacity:1}@media (hover:none){.article-content .heading-anchor{opacity:.45}}.post-page{padding-top:40px}.article-layout{max-width:880px}.post-sidebar{display:none}.byline{display:flex;align-items:center;gap:12px}.byline-photo{width:44px;height:44px;border-radius:50%;object-fit:cover}.byline-name{font-weight:600;font-size:15px;line-height:1.3}.author-card{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;grid-gap:8px 16px;gap:8px 16px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.author-card>:not(.author-photo){grid-column:2}.author-photo{grid-row:1/span 3;width:56px;height:56px;border-radius:50%;object-fit:cover}.author-name{font-family:var(--display);font-size:19px;font-weight:600}.author-bio{font-size:14px;line-height:1.6;color:var(--text-soft)}.author-bio a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.author-links{display:flex;gap:8px;margin:0;padding:0;list-style:none}.author-links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-soft);transition:border-color .2s var(--ease),color .2s var(--ease)}.author-links a:hover{border-color:var(--accent);color:var(--accent-ink)}.author-links svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toc-title{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.toc-list{display:grid;grid-gap:2px;gap:2px;margin:10px 0 0;padding:0;list-style:none}.toc-list a{display:block;padding:4px 0 4px 12px;border-left:2px solid var(--line);color:var(--text-soft);font-size:14px;line-height:1.4;transition:color .15s var(--ease),border-color .15s var(--ease)}.toc-list .is-nested a{padding-left:24px;font-size:13px}.toc-list a:hover{color:var(--text)}.toc-list a[aria-current=location]{border-left-color:var(--accent);color:var(--accent-ink);font-weight:600}.toc-inline{margin-bottom:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.toc-inline summary{display:flex;align-items:baseline;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:after{content:"+";margin-left:auto;font-family:var(--mono);color:var(--text-soft)}.toc-inline[open] summary:after{content:"−"}.toc-current{overflow:hidden;font-size:14px;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap}.toc-inline .toc-list{margin:0;padding:0 18px 16px}@media (min-width:1100px){.article-layout{display:grid;grid-template-columns:220px minmax(0,740px);justify-content:center;grid-gap:64px;gap:64px;max-width:var(--max)}.article{grid-column:2;grid-row:1}.toc-inline{display:none}.post-sidebar{display:block;grid-column:1;grid-row:1}.toc-side{position:-webkit-sticky;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto}}@media (max-width:640px){.post-page{padding-top:24px}}.series-box{margin-bottom:12px}.series-box summary{display:inline-flex;align-items:center;gap:8px;min-height:32px;cursor:pointer;list-style:none}.series-box summary::-webkit-details-marker{display:none}.series-box .eyebrow{margin:0}.series-box summary:after{content:"";width:7px;height:7px;margin-top:-4px;border-right:1.5px solid var(--accent-ink);border-bottom:1.5px solid var(--accent-ink);transform:rotate(45deg)}.series-box[open] summary:after{margin-top:4px;transform:rotate(-135deg)}.series-list{display:grid;grid-gap:6px;gap:6px;margin:8px 0 20px;padding:16px 18px 16px 40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:15px}.series-list [aria-current=page]{font-weight:600}.read-next{margin-top:64px}.read-next-title{margin-bottom:20px;font-size:26px}.next-card{display:grid;grid-gap:8px;gap:8px;margin-bottom:24px;padding:clamp(24px,4vw,36px);border-radius:24px;background:var(--charcoal);color:var(--sand);transition:transform .2s var(--ease)}.next-card:hover{color:var(--sand);transform:translateY(-2px)}.next-card .eyebrow{margin:0;color:var(--on-dark-link)}.next-card .post-meta{color:var(--on-dark-faint)}.next-card .tags li{border-color:#4a4740;background:transparent;color:var(--on-dark-soft)}.next-card-title{font-family:var(--display);font-size:clamp(24px,3vw,30px);font-weight:600;line-height:1.12;color:var(--on-dark);transition:color .2s var(--ease)}.next-card:hover .next-card-title{color:var(--on-dark-link)}.next-card-excerpt{color:var(--on-dark-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.next-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.next-card-foot .post-row-tags{margin-top:0}.read-next-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.read-next-list li{border-bottom:1px solid var(--line)}.read-next-list .post-item{padding:18px 0}.read-next-list .post-title{font-size:18px}.read-next-previous{margin-top:20px;font-size:15px;color:var(--text-soft)}.read-next+.article-foot{margin-top:48px}.sim{margin:2em 0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-size:15px;line-height:1.5}.sim button{font-family:inherit;cursor:pointer}.sim button:disabled{cursor:not-allowed;opacity:.5}.sim-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.sim-mode{display:inline-flex;flex-wrap:wrap;padding:3px;border:1px solid var(--line);border-radius:20px;background:var(--bg)}.sim-mode button{padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--text-soft);font-size:14px;font-weight:600;transition:background .2s var(--ease),color .2s var(--ease)}.sim-mode button[aria-pressed=true]{background:var(--text);color:var(--surface)}.sim-clock{font-family:var(--mono);font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.sim-board{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;grid-row-gap:18px;row-gap:18px;grid-column-gap:16px;column-gap:16px;padding-bottom:28px;--lanes-left:calc(130px + 16px)}.sim-label{font-size:13px;color:var(--text-soft)}.sim-lane{position:relative;height:16px;border-radius:8px;background:var(--bg-alt)}.sim-dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--text);animation:sim-pop .3s var(--ease) both}@keyframes sim-pop{0%{transform:scale(0)}}.sim-bar{position:absolute;top:0;bottom:0;border-radius:8px;transition:width .35s var(--ease),background .35s var(--ease),opacity .35s var(--ease)}.sim-bar-db{background:var(--live)}.sim-bar-cookie,.sim-bar-gone{background:var(--accent)}.sim-bar-gone{opacity:.25}.sim-axis{position:absolute;left:var(--lanes-left);right:0;bottom:0;height:16px}.sim-axis span{position:absolute;transform:translateX(-50%);font-family:var(--mono);font-size:11px;color:var(--text-faint)}.sim-axis span:first-child{transform:none}.sim-axis span:last-child{transform:translateX(-100%)}.sim-now{position:absolute;top:-8px;bottom:22px;width:2px;margin-left:-1px;background:var(--text);pointer-events:none}.sim-board>.sim-now{left:calc(var(--lanes-left) + (100% - var(--lanes-left)) * var(--now, 0))}.sim-status{min-height:3em;margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--bg);color:var(--text-soft)}.sim-status.is-bad{background:var(--accent-tint);color:var(--accent-ink)}.sim-status.is-ok{background:color-mix(in srgb,var(--live) 14%,transparent);color:var(--text)}.sim-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.sim-reset{margin-left:auto;border:0;background:none;color:var(--accent-ink)}.sim figcaption{margin-top:16px;font-size:13px;color:var(--text-faint)}@media (max-width:640px){.sim{padding:18px}.sim-board{grid-template-columns:1fr;row-gap:6px;--lanes-left:0px}.sim-lane{margin-bottom:10px}}.nf-table{display:grid;grid-gap:4px;gap:4px;font-size:14px}.nf-row{display:grid;grid-template-columns:minmax(0,1.6fr) 64px 80px 72px;grid-gap:10px;gap:10px;align-items:center;padding:6px 10px;border-radius:8px;background:var(--bg);transition:background .3s var(--ease),opacity .3s var(--ease)}.nf-row.nf-head{background:none;font-family:var(--mono);font-size:11.5px;color:var(--text-faint)}.nf-row.is-kept{background:color-mix(in srgb,var(--live) 16%,transparent)}.nf-row.is-dropped{opacity:.45}.nf-null,.nf-val{font-family:var(--mono);font-size:13px}.nf-null{font-style:italic;color:var(--accent-ink)}.st-rows{list-style:none;margin:0;padding:0}.sim .st-rows li+li{margin-top:0}.st-row{display:grid;grid-template-columns:200px minmax(0,1fr) 72px;grid-gap:6px 16px;gap:6px 16px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.st-op{font-size:14px;font-weight:600}.st-why{font-size:12.5px;line-height:1.4;color:var(--text-soft)}.st-tasks{display:flex;flex-wrap:wrap;gap:2px;padding-top:5px}.st-tasks span{width:8px;height:8px;border-radius:2px;background:var(--bg-alt)}.st-row.is-done .st-tasks span{background:var(--text);animation:st-fill .35s var(--ease) both;animation-delay:calc(var(--i) * 3ms)}@keyframes st-fill{0%{background:var(--accent);transform:scale(.4)}}.st-count{font-family:var(--mono);font-size:12.5px;text-align:right;color:var(--text-soft)}.st-row.is-done .st-count{color:var(--text)}.dl-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);grid-gap:16px;gap:16px}.dl-panel{min-height:160px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:opacity .4s var(--ease)}.dl-panel.is-closed{opacity:.45}.dl-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600}.dl-empty,.dl-node,.dl-title span{font-family:var(--mono);font-size:11.5px;font-weight:400;color:var(--text-faint)}.dl-procs{display:flex;flex-wrap:wrap;gap:8px}.dl-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.dl-node{display:grid;justify-items:start;grid-gap:6px;gap:6px;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:8px}.dl-empty,.dl-proc{display:inline-flex;align-items:center;min-height:30px}.dl-proc{gap:7px;padding:0 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text-soft);font-family:var(--sans);font-size:13px;font-weight:600;transition:background .3s var(--ease),color .3s var(--ease),opacity .3s var(--ease)}.dl-proc:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.dl-proc.is-on{border-color:var(--text);color:var(--text)}.dl-proc.is-on:before{background:var(--live);animation:dl-pulse 1.1s ease-in-out infinite}.dl-proc.is-driver.is-on{border-color:var(--charcoal);background:var(--charcoal);color:var(--on-dark)}.dl-proc.is-driver.is-on:before{background:#5fd68a}.dl-proc.is-done:before{background:var(--text)}.dl-proc.is-dead{opacity:.55;text-decoration:line-through}@keyframes dl-pulse{50%{transform:scale(.55);opacity:.5}}.lc-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.lc-actor{display:grid;align-content:start;grid-gap:6px;gap:6px;min-height:96px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),opacity .35s var(--ease)}.lc-name{font-size:14px;font-weight:600}.lc-state{font-family:var(--mono);font-size:11.5px;line-height:1.4;color:var(--text-soft)}.lc-actor.is-absent{border-style:dashed;border-color:var(--line-strong);background:transparent;color:var(--text-faint)}.lc-actor.is-active{border-color:var(--charcoal);background:var(--charcoal);color:var(--on-dark)}.lc-actor.is-active .lc-state{color:var(--on-dark-soft)}.lc-actor.is-gone{opacity:.5}.lc-actor.is-gone .lc-name{text-decoration:line-through}@media (max-width:640px){.nf-row{grid-template-columns:minmax(0,1fr) 44px 50px 62px;gap:6px;padding:6px 8px;font-size:13px}.st-row{grid-template-columns:minmax(0,1fr) 72px}.st-tasks{grid-column:1/-1;grid-row:2;padding-top:0}.dl-board{grid-template-columns:1fr}.dl-panel{min-height:0}.lc-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.dl-proc.is-on:before,.st-row.is-done .st-tasks span{animation:none}}.cd-scroll{overflow-x:auto;margin:0 -8px;padding:0 8px}.cd-svg{display:block;width:100%;min-width:640px;height:auto}.cd-svg text{font-family:var(--sans);font-size:17px;font-weight:600;fill:var(--text)}.cd-svg .cd-small{font-size:14.5px;font-weight:500;fill:var(--text-soft)}.cd-svg .cd-tiny{font-family:var(--mono);font-size:11px;font-weight:400;fill:var(--text-faint)}.cd-svg .cd-mono-label,.cd-svg .cd-stage-label{font-family:var(--mono);font-size:14.5px;font-weight:500}.cd-fail.is-on text,.cd-svg .cd-text-warn{fill:var(--warn)}.cd-svg .cd-text-blue{fill:var(--accent-ink)}.cd-scroll-hint{display:none;margin-top:6px;font-size:12.5px;color:var(--text-faint)}@media (max-width:700px){.cd-scroll-hint{display:block}}.cd-box,.cd-group{stroke-width:1.5;transition:stroke .35s var(--ease),stroke-width .35s var(--ease),fill .35s var(--ease)}.cd-box{fill:var(--surface)}.cd-box,.cd-group{stroke:var(--line-strong)}.cd-group{fill:var(--bg)}.cd-box.is-on,.cd-group.is-on{stroke:var(--charcoal)}.cd-box.is-active{stroke:var(--accent);stroke-width:3}.cd-box.is-pass{stroke:var(--live);stroke-width:2.5}.cd-line{fill:none;stroke:var(--line-strong);stroke-width:1.6}.cd-line.is-dashed{stroke-dasharray:.04 .03}.cd-line.is-on{stroke:var(--charcoal);stroke-width:2;stroke-dasharray:1;animation:cd-draw .7s var(--ease) both}.cd-line.is-dashed.is-on{stroke-dasharray:.04 .03;animation:cd-fade .5s var(--ease) both}.cd-line.is-green.is-on{stroke:var(--live)}.cd-line.is-warn.is-on{stroke:var(--warn)}.cd-line.is-blue.is-on{stroke:var(--accent)}@keyframes cd-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes cd-fade{0%{opacity:0}}.cd-head{fill:var(--line-strong)}.cd-head.is-on{fill:var(--charcoal)}.cd-head.is-green{fill:var(--live)}.cd-head.is-warn{fill:var(--warn)}.cd-head.is-blue{fill:var(--accent)}.cd-actor-body{fill:var(--sand)}.cd-actor-body,.cd-actor-head{stroke:var(--charcoal);stroke-width:1.4}.cd-actor-head{fill:var(--paper)}.cd-actor-screen{fill:var(--charcoal-2);transition:fill .35s var(--ease)}.cd-actor-base{stroke:var(--charcoal);stroke-width:2;stroke-linecap:round}.cd-actor.is-on .cd-actor-screen{fill:var(--accent)}.cd-commit{fill:var(--surface);stroke:var(--charcoal);stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:fill .3s var(--ease)}.cd-commit.is-on{fill:var(--charcoal);animation:cd-pop .45s var(--ease)}@keyframes cd-pop{50%{transform:scale(1.6)}}.cd-fail{opacity:.55;transition:opacity .35s var(--ease)}.cd-fail.is-on{opacity:1}.cd-x{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.5}.cd-x-mark{stroke:var(--line-strong);stroke-width:2;stroke-linecap:round}.cd-fail.is-on .cd-x{fill:var(--warn);stroke:var(--warn);animation:cd-fade .4s var(--ease) both}.cd-fail.is-on .cd-x-mark{stroke:var(--surface)}.cd-token{opacity:0;transition:transform .6s var(--ease),opacity .3s var(--ease)}.cd-token.is-on{opacity:1}.cd-token circle{fill:var(--charcoal);transition:fill .3s var(--ease)}.cd-svg .cd-token-label{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--paper)}.cd-token.is-fail circle{fill:var(--warn)}.cd-bucket ellipse,.cd-bucket path{fill:var(--bg-alt);stroke:var(--text-soft);stroke-width:1.5;transition:fill .35s var(--ease)}.cd-bucket.is-on ellipse,.cd-bucket.is-on path{fill:var(--live);stroke:var(--charcoal)}@media (prefers-reduced-motion:reduce){.cd-commit.is-on,.cd-fail.is-on .cd-x,.cd-line.is-on{animation:none}.cd-token{transition:none}}.race-step{font-family:var(--mono);font-size:13px;color:var(--text-faint)}.race-board{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.race-client{min-height:170px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.race-who{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;font-size:14px}.race-wait{font-family:var(--mono);font-size:11.5px;font-weight:400;color:var(--warn);animation:race-pulse 1.2s ease-in-out infinite}@keyframes race-pulse{50%{opacity:.35}}.race-log{display:grid;grid-gap:8px;gap:8px;margin:10px 0 0;padding-left:18px;font-family:var(--mono);font-size:12px;line-height:1.45;color:var(--text-soft)}.race-log li{animation:tick-in .35s var(--ease) both}.race-row{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:16px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);text-align:center;transition:border-color .3s var(--ease),background .3s var(--ease)}.race-row.is-bad{border-color:var(--accent);background:var(--accent-tint)}.race-row-label{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.race-count{font-family:var(--display);font-size:40px;font-weight:600;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.race-row.is-bad .race-count{color:var(--accent-ink)}.race-lock{padding:3px 10px;border-radius:999px;background:var(--bg-alt);font-size:12px;color:var(--text-soft)}.race-lock.is-held{background:var(--text);color:var(--surface)}@media (max-width:640px){.race-board{grid-template-columns:1fr 1fr}.race-row{grid-column:1/-1;grid-row:1}.race-client{min-height:0}}@media (prefers-reduced-motion:reduce){.race-log li,.race-wait{animation:none}}.like-button,.save-button,.share-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text-soft);font:inherit;font-weight:600;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.like-button svg,.save-button svg,.share-button svg{stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor;stroke-width:1.8;transition:fill .2s var(--ease)}.like-button:hover,.save-button:hover,.share-button:hover{border-color:var(--accent);color:var(--accent-ink)}.like-button:active,.save-button:active,.share-button:active{transform:scale(.96)}.like-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.like-button[aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}.like-button:disabled{cursor:progress}.save-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.save-button[aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}.article-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.post-tags.article-tags{margin-top:40px}.post-actions{display:flex;gap:8px;margin-left:auto}.share-button[data-status=copied]{border-color:var(--live);color:var(--text)}.share-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent-ink)}.share{position:relative}.share-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);animation:share-menu-in .18s var(--ease) both}@keyframes share-menu-in{0%{opacity:0;transform:translateY(-4px)}}.share-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:8px;background:none;color:var(--text);font:500 14.5px var(--sans);text-align:left;cursor:pointer}.share-item:focus-visible,.share-item:hover{background:var(--bg-alt);color:var(--text);outline:none}.share-item svg{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.share-item:not(a){border-top:1px solid var(--line)}.share-item:not(a),.share-item:not(a)+.share-item:not(a){border-radius:0 0 8px 8px}@media (prefers-reduced-motion:reduce){.share-menu{animation:none}}.resume{position:fixed;left:50%;bottom:24px;z-index:55;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 10px 10px 20px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);transform:translateX(-50%);animation:resume-in .4s var(--ease) both}@keyframes resume-in{0%{opacity:0;transform:translate(-50%,16px)}}.resume p{font-size:15px}.resume-close{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--text-soft);font-size:22px;line-height:1;cursor:pointer}.resume-close:hover{background:var(--bg-alt);color:var(--text)}@media (max-width:640px){.resume{left:16px;right:16px;flex-wrap:wrap;width:auto;border-radius:var(--radius);transform:none;animation-name:resume-in-mobile}.resume p{flex:1 1 100%;padding-right:32px}.resume-close{position:absolute;top:6px;right:6px}}@keyframes resume-in-mobile{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.resume{animation:none}}.continue{margin-bottom:32px}.continue-title{margin-bottom:12px;font-family:var(--mono);font-size:12.5px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.continue-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.continue-card{display:grid;grid-gap:10px;gap:10px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .2s var(--ease)}.continue-card:hover{border-color:var(--accent);color:var(--text)}.continue-post{font-weight:600;line-height:1.35}.continue-bar{height:5px;border-radius:3px;background:var(--bg-alt);overflow:hidden}.continue-bar span{display:block;height:100%;border-radius:3px;background:var(--accent)}.continue-meta{font-size:13px;color:var(--text-soft)}.continue-cta{color:var(--accent-ink);font-weight:600}.filter-chip-saved:before{content:"";width:10px;height:12px;background:currentColor;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.read-mark{margin-left:10px;padding:1px 8px;border-radius:999px;background:var(--bg-alt);color:var(--text-soft)}.read-mark.is-done{background:color-mix(in srgb,var(--live) 16%,transparent);color:var(--text)}.like-count{font-family:var(--mono);font-size:13px}@media (max-width:760px){.menu-btn{display:inline-flex}.header-cta{margin-left:auto}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;padding:8px var(--gutter) 20px;background:var(--charcoal);border-bottom:1px solid #34332f;box-shadow:0 16px 32px rgb(0 0 0/.3)}.is-open .site-nav{display:block;animation:menu-in .25s var(--ease)}.nav-links{flex-direction:column;gap:2px}.nav-links a{padding:12px 10px;font-size:17px;border-radius:10px}.nav-extra{display:flex;gap:10px;margin-top:12px;padding-top:16px;border-top:1px solid #34332f}.nav-extra .btn{flex:1 1}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (max-width:640px){:root{--gutter:16px}.section{padding:64px 0}.header-row{gap:12px}.article-content,.brand{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-chip{font-size:.8rem;padding:2px 10px;border:1px solid;border-radius:999px;opacity:.8;text-decoration:none}.tag-chip:hover{opacity:1}