@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff)format("woff")}:root{--bg:#fff8f0;--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-size:13px;line-height:1.7;transition:background .18s,color .18s;font-family:Geist Sans!important}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{background:var(--bg);flex-direction:column;max-width:520px;min-height:100vh;margin:0 auto;padding:56px 28px 96px;display:flex;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);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-bottom:28px;font-size:11px;line-height:1;display:flex}.topbar a{color:var(--muted);text-decoration:none}.topbar a:hover{color:var(--fg);background:0 0}.topbar .brand{color:var(--fg);flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.topbar .brand .avatar{object-fit:cover;border-radius:50%;width:26px;height:26px;display:inline-block}.topbar .nav{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;height:24px;display:flex}.search-shell{flex-shrink:1;align-items:center;min-width:0;height:24px;display:inline-flex}.search-toggle,.search-icon,.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;justify-content:center;align-items:center;min-width:22px;height:22px;padding:1px 8px;font-size:10px;line-height:1.4;transition:none;display:inline-flex}.search-toggle svg,.search-icon svg,.toggle svg,.like-pill svg{width:16px;height:16px;display:block}.search-toggle:hover,.search-icon:hover{color:var(--fg);border-color:var(--muted)}.search-bar{border:1px solid var(--rule);background:0 0;border-radius:999px;flex:auto;align-items:center;min-width:0;max-width:190px;height:24px;padding-right:4px;display:inline-flex;overflow:hidden}.search-bar:focus-within{border-color:var(--accent)}.search-icon{border:0;padding:0 7px}.search-input{color:var(--fg);font:inherit;background:0 0;border:0;border-radius:999px;width:100%;min-width:0;max-width:140px;height:100%;padding:4px 8px 4px 0;font-size:11px;line-height:1;transition:none}.search-input:focus{outline:none}.toggle{padding:1px 7px}.toggle:hover{color:var(--fg)}.bio{margin-bottom:32px}.last-played{color:var(--muted);align-items:center;gap:7px;min-width:0;margin:-20px 0 30px;font-size:11px;line-height:1.45;display:flex}.last-played .music-icon{flex:none;width:15px;height:15px}.last-played a,.last-played>span{color:inherit;flex-wrap:wrap;gap:4px;min-width:0;text-decoration:none;display:inline-flex}.last-played a:hover{color:var(--fg);background:0 0}.last-played .track-name{color:var(--fg)}.last-played .track-artist:before{content:"- ";color:var(--muted)}.search-results{gap:10px;margin:4px 0 24px;display:grid}.search-result{border-bottom:1px solid var(--rule);padding:8px 0}.search-result:last-child{border-bottom:0}.search-result a{color:inherit;text-decoration:none}.search-result a:hover{color:inherit;background:var(--tag-bg);border-radius:3px}.search-result-meta{color:var(--muted);margin-top:2px;font-size:11px}.search-empty{color:var(--muted);padding:8px 0 2px}.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:Geist Sans;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}@media (width<=640px){.topbar,.topbar .nav{gap:8px}.search-input{width:min(160px,100vw - 220px)}}.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:Geist Sans;font-size:17px;font-weight:500}.post .post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.post-like-pill{margin-bottom:22px}.like-pill{border:1px solid var(--rule);background:var(--bg);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:4px 8px;display:inline-flex}.like-pill:hover{border-color:var(--muted)}.like-pill:active{transform:scale(.98)}.like-pill .heart{justify-content:center;align-items:center;line-height:1;display:inline-flex}.like-pill span:last-child{font-size:12px;font-weight:600}.like-pill.liked{color:var(--accent);border-color:var(--accent)}.post .post-body{font-size:13.5px;line-height:1.85}.post .post-body strong,.post .post-body b{color:var(--fg);font-weight:700}.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:18px}.post .post-body p{margin-bottom:1.1rem}.post .post-body p+p{margin-top:.95rem}.post .post-body h2,.post .post-body h3{margin:28px 0 10px;font-size:14px;font-weight:600;line-height:1.35}.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:18px;list-style-position:outside}.post .post-body li{margin-bottom:6px}.post .post-body img{max-width:100%;height:auto;margin:14px 0}.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;align-items:center;min-height:44px;margin-top:auto;padding-top:16px;font-size:11px;display:flex}.analog-clock{justify-content:center;align-items:center;display:inline-flex}.clock-face{border:1px solid var(--rule);background:0 0;border-radius:999px;width:22px;height:22px;position:relative}.clock-face:before{content:"";border:.5px solid var(--rule);opacity:.6;border-radius:999px;position:absolute;inset:4px}.clock-hand{transform-origin:50% 100%;background:var(--fg);border-radius:999px;position:absolute;top:50%;left:50%}.clock-hand.hour{width:2px;height:5px;margin-top:-5px;margin-left:-1px}.clock-hand.minute{width:1.5px;height:7px;margin-top:-7px;margin-left:-.75px}.clock-hand.second{background:var(--accent);width:1px;height:8px;margin-top:-8px;margin-left:-.5px}.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}}
