:root{--bg:#fff;--fg:#2a2a2a;--muted:#8a8a8a;--rule:#ececec;--tag-bg:#f3f1ec;--tag-fg:#5b5b5b;--tag-active-bg:#2a2a2a;--tag-active-fg:#fff;--link:#2a2a2a;--accent:#c96442}html.dark{--bg:#111110;--fg:#e8e6e1;--muted:#7c7a74;--rule:#2a2a28;--tag-bg:#1d1d1c;--tag-fg:#b9b6af;--tag-active-bg:#e8e6e1;--tag-active-fg:#111110;--link:#e8e6e1;--accent:#d97757}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.7;transition:background .18s,color .18s}a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.col{max-width:520px;margin:0 auto;padding:56px 28px 96px;position:relative}.flower{pointer-events:none;opacity:.25;z-index:-1;background:radial-gradient(closest-side,#0000001f,#0000 70%),conic-gradient(from 20deg,#00000014,#00000005,#0000001a,#00000005,#00000014);width:320px;height:320px;position:fixed;bottom:-80px;right:-80px;-webkit-mask:radial-gradient(circle,#000 30%,#0000 72%);mask:radial-gradient(circle,#000 30%,#0000 72%)}html.dark .flower{opacity:.18;background:radial-gradient(closest-side,#ffffff29,#0000 70%),conic-gradient(from 20deg,#ffffff1a,#ffffff05,#ffffff1f,#ffffff05,#ffffff14)}.topbar{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:28px;font-size:11px;display:flex}.topbar a{color:var(--muted);text-decoration:none}.topbar a:hover{color:var(--fg);background:0 0}.topbar .brand{color:var(--fg)}.topbar .nav{align-items:center;gap:14px;display:flex}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--rule);color:var(--muted);font:inherit;background:0 0;border-radius:999px;padding:1px 8px;font-size:10px;line-height:1.4}.toggle:hover{color:var(--fg)}.bio{margin-bottom:32px}.bio a,.post .post-body a{color:inherit;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1.5px}.bio a:hover,.post .post-body a:hover{color:inherit;background:var(--tag-bg);border-radius:3px}.bio .wave{margin-right:6px;display:inline-block;transform:translateY(-1px)}.chips{flex-wrap:wrap;gap:5px;margin:0 0 18px;display:flex}.chip{color:var(--tag-fg);background:var(--tag-bg);cursor:pointer;border:0;border-radius:999px;padding:2px 7px;font-family:inherit;font-size:10px;line-height:1.5;text-decoration:none;transition:background .12s,color .12s}.chip:before{content:"#";opacity:.5;margin-right:1px}.chip.all:before,.chip.toggle-tags:before{content:""}.chip.toggle-tags{border:1px solid var(--rule);color:var(--muted);background:0 0}.chip.toggle-tags:hover{color:var(--fg);border-color:var(--muted)}.chip:hover{color:var(--fg);background:var(--tag-bg)}.chip.active{background:var(--tag-active-bg);color:var(--tag-active-fg)}.chip.active:hover{color:var(--tag-active-fg);background:var(--tag-active-bg)}.chip .n{opacity:.55;font-variant-numeric:tabular-nums;margin-left:4px}.row{border-bottom:1px solid var(--rule);grid-template-columns:70px 1fr;align-items:baseline;gap:14px;padding:10px 0;display:grid}.row:last-child{border-bottom:0}.row .date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.row .body{min-width:0}.row .body a{color:inherit;text-decoration:none}.row .body a:hover{color:inherit;background:var(--tag-bg);border-radius:3px}.row .body .plain-link{color:inherit;text-decoration:none}.row.tweet .body{color:var(--fg);white-space:pre-wrap}.row.idea .body{color:var(--fg)}.row .body .refs{color:var(--muted);font-size:11px}.row .body .refs a{color:var(--muted)}.row .body .row-tags{vertical-align:middle;flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.row .body .row-tags .chip{padding:1px 5px;font-size:10px}.empty{color:var(--muted);text-align:center;padding:28px 0}.post h1{letter-spacing:-.01em;margin:0 0 6px;font-family:inherit;font-size:17px;font-weight:500}.post .post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;font-size:12px;display:flex}.post .post-body{font-size:13.5px;line-height:1.75}.post .post-body p,.post .post-body pre,.post .post-body ul,.post .post-body ol,.post .post-body blockquote{margin-top:0;margin-bottom:14px}.post .post-body h2,.post .post-body h3{margin:26px 0 8px;font-size:14px;font-weight:500}.post .post-body blockquote{border-left:1px solid var(--rule);color:var(--muted);padding:0 0 0 14px}.post .post-body ul,.post .post-body ol{padding-left:0;list-style-position:inside}.post .post-body li{margin-bottom:4px}.post .post-body code{background:var(--tag-bg);border-radius:3px;padding:1px 5px;font-size:12px}.post .post-body img{border-radius:6px;width:100%;display:block}.post .post-body .video-embed{aspect-ratio:16/9;border-radius:6px;width:100%;overflow:hidden}.post .post-body .video-embed iframe{border:0;width:100%;height:100%;display:block}.post .post-body pre{background:var(--tag-bg);border-radius:6px;padding:12px;overflow-x:auto}.post .post-body pre code{background:0 0;padding:0}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:22px;font-size:12px;text-decoration:none;display:inline-flex}.back:hover{color:var(--fg);background:0 0}.external-link,.reference-list{color:var(--muted);margin:18px 0 0;font-size:12px}.pn{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:18px;margin-top:56px;padding-top:18px;font-size:12px;display:grid}.pn a{color:var(--fg);text-decoration:none;display:block}.pn .pn-card{color:var(--muted)}.pn .pn-card .arrow{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.pn .pn-card.next{text-align:right;grid-column:2}.pn .pn-card .title{color:var(--fg)}.pn .pn-card:hover .title{color:var(--accent)}.muted{color:var(--muted)}.foot{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;margin-top:56px;padding-top:16px;font-size:11px;display:flex}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--fg);background:0 0}@media (width<=520px){.col{padding:36px 20px 80px}.row{grid-template-columns:1fr;gap:2px}}
