@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--bg: #f7f7f5;--card: #ffffff;--line: #e8e8e4;--line-strong: #d9d9d3;--ink: #1a1a1c;--muted: #74747c;--faint: #a3a3aa;--accent: #5b57d9;--radius: 18px;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "Inter Variable", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1160px;margin:0 auto;padding:0 22px}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 10px}.nav-name{font-weight:600;font-size:14.5px;letter-spacing:-.01em}.nav-name small{margin-left:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.nav-mail{font-size:13px;font-weight:500;padding:7px 14px;border-radius:999px;background:var(--ink);color:#fff;transition:transform .18s ease,box-shadow .18s ease}.nav-mail:hover{transform:translateY(-1px);box-shadow:0 6px 16px -8px #14141980}.masthead{position:relative;padding:54px 0 34px;cursor:crosshair;user-select:none;-webkit-user-select:none;touch-action:none}.masthead canvas{position:absolute;inset:-70px -60px -20px;width:calc(100% + 120px);height:calc(100% + 90px);pointer-events:none}.masthead h1,.masthead-sub{pointer-events:none}.masthead-hint{position:absolute;right:4px;bottom:10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);pointer-events:none}.masthead h1{position:relative;font-size:clamp(40px,6.4vw,76px);font-weight:640;letter-spacing:-.038em;line-height:1.02}.masthead-sub{position:relative;margin-top:16px;max-width:480px;font-size:14.5px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 18px}.filters-lab{font-size:13px;font-weight:550;margin-right:6px}.chip{font-size:12.5px;font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--line-strong);border-radius:999px;padding:6px 14px;cursor:pointer;font-family:var(--sans);transition:background-color .18s ease,color .18s ease,border-color .18s ease}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:118px;grid-auto-flow:dense;gap:14px;padding-bottom:60px}.tile{grid-column:span 1;grid-row:span 2}.tile.wide{grid-column:span 2;grid-row:span 2}.tile.tall{grid-column:span 1;grid-row:span 4}.tile.l{grid-column:span 2;grid-row:span 4}@media(max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.tile.l,.tile.wide{grid-column:span 2}}@media(max-width:540px){.bento{grid-template-columns:1fr;grid-auto-rows:auto}.tile,.tile.wide,.tile.tall,.tile.l{grid-column:span 1;grid-row:auto;min-height:200px}}.tile{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease,opacity .25s ease}a.tile,.tile.is-link{cursor:pointer}.tile:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 18px 40px -24px #14141947}.tile.is-hidden{display:none}.t-badge{position:absolute;top:14px;left:16px;z-index:2;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.t-cover{flex:none;aspect-ratio:16 / 9;min-height:0;overflow:hidden;background:#f0f0ee}.t-cover img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.tile:hover .t-cover img{transform:scale(1.025)}.t-cover.t-accent{display:grid;place-items:center}.t-cover.t-accent span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9}.t-demo{flex:1;min-height:0;display:grid;place-items:center;padding:26px 18px 14px}.t-body{padding:14px 16px 15px}.t-body.grow{flex:1;display:flex;flex-direction:column;padding-top:40px}.tile[data-kind=text] .t-body.grow{padding-top:18px}.tile[data-kind=text] .t-cta{margin-top:auto;align-self:flex-end}.tile[data-kind=text] .t-blurb{font-size:14px;line-height:1.7;max-width:52ch}.tile[data-kind=text] .t-blurb+.t-blurb{margin-top:12px}.tile[data-kind=text] .t-title{font-size:16px}.t-title{font-size:14.5px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:baseline;gap:7px}.t-title .arrow{font-size:12px;color:var(--faint);transition:transform .2s ease,color .2s ease}.tile:hover .t-title .arrow{transform:translate(2px,-2px);color:var(--ink)}.t-blurb{margin-top:4px;font-size:12.5px;color:var(--muted)}.t-note-excerpt{margin-top:8px;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.t-bar{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 13px}.t-bar .t-lab{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.t-bar .t-ico{font-size:12px;color:var(--faint);transition:transform .2s ease,color .2s ease}.tile:hover .t-bar .t-ico{color:var(--ink);transform:translate(1px,-1px)}.t-cta{margin-top:14px;align-self:flex-start;font-size:12.5px;font-weight:550;padding:7px 14px;border-radius:999px;background:var(--ink);color:#fff;transition:transform .18s ease,box-shadow .18s ease}.t-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px -8px #14141980}.t-meta{margin-top:auto;padding-top:10px;display:flex;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.foot{display:flex;justify-content:space-between;gap:14px;padding:26px 0 40px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.note-page{max-width:660px;margin:0 auto;padding:30px 22px 80px}.note-back{font-size:13px;color:var(--muted)}.note-back:hover{color:var(--ink)}.note-page h1{margin-top:18px;font-size:30px;letter-spacing:-.025em;line-height:1.15}.note-date{display:block;margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.note-body{margin-top:26px}.note-body p{margin:14px 0;color:#333338}.note-body h2{margin:26px 0 8px;font-size:19px;letter-spacing:-.015em}.note-body code{font-family:var(--mono);font-size:.88em;background:#efeff0;border-radius:5px;padding:1.5px 5px}.note-body pre{background:#1c1c1f;color:#e8e8ea;border-radius:12px;padding:16px 18px;overflow-x:auto;margin:16px 0}.note-body pre code{background:none;padding:0;color:inherit;font-size:12.5px}.note-body ul,.note-body ol{padding-left:22px;margin:12px 0}
