:root{--bg:#f3f1ec;--surface:#fbfaf7;--ink:#17171a;--ink-2:#4a4a50;--muted:#85858c;--line:#e2dfd8;--accent:#ff5b2e;--accent-ink:#fff;--kind-release:#2f7d5b;--kind-work:#ff5b2e;--kind-photo:#6a5cff;--kind-video:#d1336b;--kind-note:#85858c;--glass-bg:#ffffff8c;--glass-border:#ffffffb3;--glass-edge:#0000000f;--glass-shadow:0 10px 40px -12px #14141e40, 0 1px 0 #fffc inset;--glass-blur:blur(22px) saturate(180%);--serif:"Instrument Serif", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:120px;--r-sm:10px;--r-md:16px;--r-lg:24px;--r-pill:999px;--content:720px;--wide:1080px;--ease:cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root[data-theme=dark]{--bg:#0e0e10;--surface:#161619;--ink:#ededee;--ink-2:#b4b4ba;--muted:#77777f;--line:#26262b;--glass-bg:#1e1e228c;--glass-border:#ffffff1a;--glass-edge:#0006;--glass-shadow:0 10px 40px -12px #000000b3, 0 1px 0 #ffffff14 inset;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-width:320px;color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .3s,color .3s}a{color:inherit}img,video{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{width:min(var(--wide), 100% - 32px);margin-inline:auto}.prose-wrap{width:min(var(--content), 100% - 32px);margin-inline:auto}.mono{font-family:var(--mono);letter-spacing:.02em;font-size:12px}.muted{color:var(--muted)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), 0 0 0 .5px var(--glass-edge)}@supports not (backdrop-filter:blur(1px)){.glass{background:var(--surface)}}.topbar{padding:var(--s5) 0;justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:var(--s3);text-decoration:none;display:flex}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--bg);font:500 13px var(--mono);border-radius:50%;place-items:center;display:grid}.brand-name{letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.3}.brand-name small{font:400 12px var(--sans);color:var(--muted);display:block}.theme-toggle{cursor:pointer;width:38px;height:38px;color:var(--ink);border:1px solid var(--line);transition:transform .4s var(--ease), border-color .2s;background:0 0;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover,.theme-toggle[aria-current=page]{border-color:var(--ink)}button.theme-toggle:hover{transform:rotate(25deg)}.topbar-actions{gap:var(--s2);display:flex}.theme-toggle svg{width:16px;height:16px}:root[data-theme=dark] .icon-moon,:root:not([data-theme=dark]) .icon-sun{display:none}.dock{z-index:50;left:50%;bottom:max(16px, env(safe-area-inset-bottom));border-radius:var(--r-pill);gap:2px;padding:5px;display:flex;position:fixed;transform:translate(-50%)}.dock a{border-radius:var(--r-pill);white-space:nowrap;color:var(--ink-2);transition:color .2s, background-color .25s var(--ease);padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none}.dock a:hover{color:var(--ink);background:#7f7f7f1f}.dock a[aria-current=page]{color:var(--bg);background:var(--ink)}.intro{padding:var(--s8) 0 var(--s7)}.intro h1{font:400 clamp(44px, 7vw, 88px)/1 var(--serif);letter-spacing:-.02em;margin:0 0 var(--s5)}.intro h1 em{color:var(--muted)}.intro p{max-width:560px;color:var(--ink-2);margin:0;font-size:18px}.intro-meta{gap:var(--s5);margin-top:var(--s6);color:var(--muted);flex-wrap:wrap;display:flex}.intro-meta b{color:var(--ink);font-weight:500}.filters{z-index:40;scrollbar-width:none;border-radius:var(--r-pill);width:max-content;max-width:100%;margin-bottom:var(--s7);gap:4px;padding:5px;display:flex;position:sticky;top:12px;overflow-x:auto}.filters::-webkit-scrollbar,.filters[hidden]{display:none}.filters a{border-radius:var(--r-pill);font:500 13px var(--sans);color:var(--ink-2);transition:background-color .25s var(--ease), color .2s;flex:none;align-items:center;gap:7px;padding:7px 14px;text-decoration:none;display:inline-flex}.filters a:hover{color:var(--ink);background:#7f7f7f1f}.filters a[aria-current=page]{background:var(--ink);color:var(--bg)}.filters .count{font:11px var(--mono);opacity:.55}.month{gap:var(--s6);grid-template-columns:160px 1fr;display:grid}.month+.month{margin-top:var(--s8)}.month[hidden]{display:none}.month-label{font:400 26px/1.1 var(--serif);align-self:start;margin:0;position:sticky;top:80px}.month-label .mono{margin-top:var(--s2);color:var(--muted);display:block}.entries{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.entry{padding:0 0 var(--s7) var(--s6);position:relative}.entry:last-child{padding-bottom:0}.entry:before{content:"";background:var(--bg);border:2px solid var(--kind,var(--muted));border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-5px}.entry[hidden]{display:none}[data-kind=release]{--kind:var(--kind-release)}[data-kind=work]{--kind:var(--kind-work)}[data-kind=photo]{--kind:var(--kind-photo)}[data-kind=video]{--kind:var(--kind-video)}[data-kind=note]{--kind:var(--kind-note)}.entry-meta{align-items:center;gap:var(--s3);color:var(--muted);flex-wrap:wrap;display:flex}.kind{color:var(--kind);font-weight:500}.version{border:1px solid var(--line);color:var(--ink-2);border-radius:6px;padding:1px 7px}.entry h2{font:600 22px/1.3 var(--sans);letter-spacing:-.02em;margin:var(--s2) 0}.entry h2 a{transition:background-size .35s var(--ease);background:linear-gradient(currentColor 0 0) 0 100%/0 1px no-repeat;text-decoration:none}.entry h2 a:hover{background-size:100% 1px}.entry-summary{color:var(--ink-2);max-width:60ch;margin:0}.entry-body{color:var(--ink-2);max-width:62ch}.entry-body>:first-child{margin-top:0}.entry-body>:last-child{margin-bottom:0}.entry-body ul{padding-left:18px}.entry-body li+li{margin-top:4px}.entry-body strong{color:var(--ink);font-weight:600}.entry .media-grid{margin-top:var(--s4)}.entry-tags{margin-top:var(--s4);flex-wrap:wrap;gap:6px;display:flex}.tag{font:12px var(--mono);color:var(--muted);border-radius:var(--r-pill);border:1px solid var(--line);padding:3px 9px;text-decoration:none;transition:color .2s,border-color .2s}.tag:hover{color:var(--ink);border-color:var(--ink)}.tag[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.tag .count{opacity:.55}.tag-filter{margin:calc(-1 * var(--s5)) 0 var(--s7);flex-wrap:wrap;gap:8px;display:flex}.tag-filter .tag{padding:6px 13px;font-size:14px}.tag-reset,.tag-more{border-style:dashed}.tag-cloud{flex-wrap:wrap;gap:8px;display:flex}.tag-cloud .tag{padding:6px 12px;font-size:14px}.archive-list{margin:0;padding:0;list-style:none}.archive-list li{gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:baseline;display:grid}.archive-list a{font-weight:500;text-decoration:none}.archive-list a:hover{color:var(--accent)}.month-label a,.intro-meta a{text-decoration:none}.intro-meta a:hover b{color:var(--accent)}.search-input{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:400 20px var(--sans);outline:none;padding:16px 20px;transition:border-color .2s}.search-input:focus{border-color:var(--ink)}.search-results li{grid-template-columns:80px 1fr}.search-excerpt{color:var(--ink-2);grid-column:2;margin:0;font-size:14px}.search-excerpt mark{background:color-mix(in srgb, var(--accent) 25%, transparent);color:inherit;border-radius:3px}.pager{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.pager a{border:1px solid var(--line);border-radius:var(--r-pill);justify-self:start;padding:8px 14px;text-decoration:none}.pager a:last-child{justify-self:end}.pager a:hover{border-color:var(--ink)}.pager>:nth-child(2){justify-self:center}.media-grid{gap:var(--s3);grid-template-columns:repeat(var(--cols,1), 1fr);display:grid}.media-grid[data-count="2"],.media-grid[data-count="3"],.media-grid[data-count="4"]{--cols:2}.media-grid[data-count="3"]>:first-child{grid-column:1/-1}.media{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);margin:0;position:relative;overflow:hidden}.media img,.media video{object-fit:cover;aspect-ratio:16/10;width:100%;height:100%}.media-grid[data-count="1"] .media img,.media-grid[data-count="1"] .media video{aspect-ratio:auto;max-height:72vh}a.media-link{height:100%;display:block}a.media-link img{transition:transform .8s var(--ease)}a.media-link:hover img{transform:scale(1.025)}.media figcaption{left:var(--s3);bottom:var(--s3);border-radius:var(--r-pill);max-width:calc(100% - 24px);color:var(--ink);padding:5px 12px;font-size:12px;position:absolute}.post-head{padding:var(--s7) 0 var(--s6)}.back{color:var(--muted);margin-bottom:var(--s6);gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.back:hover{color:var(--ink)}.post-head h1{font:400 clamp(38px, 6vw, 64px)/1.05 var(--serif);letter-spacing:-.015em;margin:var(--s4) 0}.post-head .lead{color:var(--ink-2);margin:0;font-size:20px}.post-cover{width:min(var(--wide), 100% - 32px);margin:0 auto var(--s7)}.prose{color:var(--ink-2);font-size:18px;line-height:1.75}.prose h2{font:400 32px/1.2 var(--serif);color:var(--ink);margin:var(--s7) 0 var(--s3)}.prose h3{font:600 19px/1.3 var(--sans);color:var(--ink);margin:var(--s6) 0 var(--s2)}.prose a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}.prose strong{color:var(--ink)}.prose blockquote{margin:var(--s6) 0;padding-left:var(--s5);border-left:2px solid var(--accent);font:italic 24px/1.4 var(--serif);color:var(--ink)}.prose code{font:.85em var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1px 6px}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose img,.prose video{border-radius:var(--r-md);margin:var(--s6) 0}.prose ul,.prose ol{padding-left:22px}.post-gallery{margin-top:var(--s7)}.post-links{gap:var(--s2);margin-top:var(--s6);flex-wrap:wrap;display:flex}.btn-link{border-radius:var(--r-pill);background:var(--ink);color:var(--bg);transition:transform .2s var(--ease);align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-link:hover{transform:translateY(-1px)}.post-nav{gap:var(--s4);margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.post-nav a{text-decoration:none;display:block}.post-nav a.next{text-align:right;grid-column:2}.post-nav span{color:var(--muted);display:block}.post-nav strong{font-weight:500}.about-grid{gap:var(--s6);margin-top:var(--s7);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.about-grid h3{font:12px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--s3);font-weight:400}.about-grid ul{margin:0;padding:0;list-style:none}.about-grid li{border-bottom:1px solid var(--line);padding:6px 0}.about-grid a{text-decoration:none}.about-grid a:hover{color:var(--accent)}.footer{justify-content:space-between;gap:var(--s4);padding:var(--s9) 0 120px;color:var(--muted);font-size:13px;display:flex}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.intro,.filters,.month{animation:rise .7s var(--ease) both}.filters{animation-delay:80ms}.month{animation-delay:.14s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}}@media (width<=760px){.intro{padding-top:var(--s6)}.month{gap:var(--s4);grid-template-columns:1fr}.month-label{font-size:24px;position:static}.month-label .mono{margin-left:var(--s2);display:inline}.entry{padding-left:var(--s5)}.entry h2{font-size:19px}.prose{font-size:17px}.media-grid[data-count="2"]{--cols:1}.dock a{padding:9px 12px;font-size:13px}.post-nav{grid-template-columns:1fr}.post-nav a.next{text-align:left;grid-column:1}.footer{flex-direction:column}}
