:root{--bg:#050505;--fg:#ecebe6;--muted:#ecebe68f;--line:#ecebe61f;--accent:#b6f24a;--sans:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter:calc(clamp(1rem, 4vw, 3rem));--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.55;overflow-x:hidden}body,h1,h2,h3,p{margin:0}a{color:inherit}a:focus-visible{outline:1px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--bg)}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.muted{color:var(--muted)}.label{color:var(--accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:10;padding:1.1rem var(--gutter);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;inset:0 0 auto}.topbar.is-scrolled{border-bottom-color:var(--line);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background-color:#050505b8}.brand{letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.brand__mark{width:28px;fill:var(--fg)}.topbar__nav{gap:1.5rem;display:flex}.topbar__nav a{color:var(--muted);text-decoration:none;transition:color .2s}.topbar__nav a:hover{color:var(--fg)}.hero{min-height:100svh;padding:0 var(--gutter) calc(clamp(5rem,12vh,7.5rem));align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero__shade{background:linear-gradient(to top,var(--bg) 0,#050505a6 30%,transparent 62%);pointer-events:none;position:absolute;inset:0}.hero__content{max-width:46rem;position:relative}.status{color:var(--muted);align-items:center;gap:.6rem;margin-bottom:1.5rem;display:inline-flex}.status__dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:1.2s steps(2,jump-none) infinite blink}.status__dot.is-creation{animation:none}.hero__title{letter-spacing:-.035em;font-size:calc(clamp(2.75rem,7.5vw,6.75rem));font-weight:500;line-height:.95}.hero__lead{max-width:30rem;color:var(--muted);margin-top:1.5rem;font-size:calc(clamp(1rem,1.4vw,1.2rem))}.hero__scroll{right:var(--gutter);color:var(--muted);text-decoration:none;transition:color .2s;position:absolute;bottom:calc(clamp(1.5rem,4vh,2.5rem))}.hero__scroll:hover{color:var(--fg)}.section{max-width:84rem;padding:calc(clamp(5rem,14vh,9rem)) var(--gutter);margin:0 auto}.log,.section+.section{border-top:1px solid var(--line)}.section__head{gap:.75rem;margin-bottom:3rem;display:grid}.section__title{letter-spacing:-.03em;font-size:calc(clamp(2rem,4.5vw,3.5rem));font-weight:500;line-height:1}.log{margin:0;padding:0;list-style:none}.log__row{border-bottom:1px solid var(--line);grid-template-columns:7rem 8rem 1fr 9rem;align-items:baseline;gap:1.5rem;padding:1.75rem 0;display:grid;position:relative}.log__row:before{content:"";background:var(--accent);width:2px;transition:transform .3s var(--ease);position:absolute;top:1.75rem;bottom:1.75rem;left:-1rem;transform:scaleY(0)}.log__row:hover:before{transform:scaleY(1)}.log__id,.log__status{color:var(--muted)}.log__stage,.log__status.is-done{color:var(--accent)}.log__status{white-space:nowrap;justify-self:end}.log__body h3{letter-spacing:-.02em;font-size:calc(clamp(1.25rem,2.2vw,1.75rem));font-weight:500;line-height:1.15}.log__body p{color:var(--muted);margin-top:.4rem}.log__date{margin-top:.4rem;display:block}.log__link,.notebook__all{text-decoration:none}.log__link:after{content:"";position:absolute;inset:0}.log__draft{border:1px solid var(--accent);color:var(--accent);vertical-align:middle;margin-left:.75rem;padding:.15rem .45rem;font-size:.65rem}.log__row--empty{grid-template-columns:7rem 1fr}.notebook__more{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:2rem;display:flex}.notebook__all{color:var(--accent)}.notebook__all:hover{text-underline-offset:4px;text-decoration:underline}.filters{flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1.5rem;display:flex}.filters__item{color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.3rem 0;transition:color .2s,border-color .2s}.filters__item:hover,.filters__item[aria-pressed=true]{color:var(--fg)}.filters__item[aria-pressed=true]{border-bottom-color:var(--accent)}.filters__item:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.filters__count{color:var(--accent)}.entry{max-width:calc(46rem + 2 * var(--gutter));padding:calc(clamp(7.5rem,18vh,10rem)) var(--gutter) calc(clamp(5rem,12vh,8rem));margin:0 auto}.entry__back{color:var(--muted);margin-bottom:2.5rem;text-decoration:none;transition:color .2s;display:inline-block}.entry__back:hover{color:var(--fg)}.entry__title{letter-spacing:-.035em;margin-top:1rem;font-size:calc(clamp(2.25rem,5.5vw,4rem));font-weight:500;line-height:1.02}.entry__lead{color:var(--muted);margin-top:1.25rem;font-size:calc(clamp(1.1rem,1.6vw,1.3rem))}.entry__meta{border-block:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1.25rem 1.5rem;margin:2.5rem 0 3rem;padding:1.25rem 0;display:grid}.entry__log time,.entry__meta dt,.prose blockquote,.prose th{color:var(--muted)}.entry__meta dd{margin:.4rem 0 0}.entry__log{margin-top:4rem}.entry__log ol{border-top:1px solid var(--line);margin:1.25rem 0 0;padding:0;list-style:none}.entry__log li{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;align-items:baseline;gap:1.5rem;padding:.9rem 0;display:grid}.entry__pager{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:4rem;display:grid}.entry__pager-link{border-top:1px solid var(--line);align-content:start;gap:.4rem;padding-top:1.25rem;font-size:1.15rem;line-height:1.25;text-decoration:none;transition:border-color .2s;display:grid}.entry__pager-link:hover{border-top-color:var(--accent)}.entry__pager-link--next{text-align:right;grid-column:2}.prose{font-size:1.125rem;line-height:1.7}.prose>*+*{margin-top:1.25em}.prose h2{letter-spacing:-.025em;margin-top:2.5em;font-size:calc(clamp(1.5rem,3vw,2rem));font-weight:500;line-height:1.15}.prose h3{letter-spacing:-.015em;margin-top:2em;font-size:1.25rem;font-weight:500}.prose h2 a,.prose h3 a{color:inherit;text-decoration:none}.prose a{color:var(--accent);text-underline-offset:3px}.prose strong{font-weight:600}.prose ol,.prose ul{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:2px solid var(--accent);margin:1.5em 0;padding-left:1.25rem}.prose code{font-family:var(--mono);font-size:.85em}.prose :not(pre)>code{border:1px solid var(--line);border-radius:4px;padding:.1em .35em}.prose pre{border:1px solid var(--line);background:#0b0b0b;border-radius:6px;padding:1.25rem 1.5rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit}.prose img{max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .75rem .5rem 0}.field__title,.prose th{font-weight:500}.field__title{letter-spacing:-.04em;margin:1rem 0 1.5rem;font-size:calc(clamp(2.5rem,7vw,6rem));line-height:1}.field__undefined{color:var(--muted);font-family:var(--mono);letter-spacing:-.04em;font-size:.78em}.field__undefined:after{content:"";vertical-align:-.08em;background:var(--accent);width:.08em;height:.9em;margin-left:.08em;animation:1s steps(2,jump-none) infinite blink;display:inline-block}.field__lead{max-width:34rem}.field__now{min-height:1.3em;color:var(--accent);font-family:var(--mono);margin-top:1.5rem;font-size:calc(clamp(1.25rem,3.4vw,2.75rem));line-height:1.2}.contact__title{letter-spacing:-.04em;margin:1rem 0 2.5rem;font-size:calc(clamp(2.5rem,6vw,5.5rem));font-weight:500;line-height:1}.contact__mail{font-family:var(--mono);background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 100%/100% 1px no-repeat;transition:background-size .45s var(--ease),color .2s;gap:.75rem;padding-bottom:.4rem;font-size:calc(clamp(1rem,2.6vw,1.75rem));text-decoration:none;display:inline-flex}.contact__mail:hover{color:var(--accent);background-size:100% 1px,100% 1px}.image-row{margin:2.5em 0}.image-row__grid{grid-template-columns:repeat(auto-fit,minmax(min(var(--row-min),100%),1fr));place-items:center;gap:1.5rem 2rem;display:grid}.image-row__grid img{width:100%;max-width:var(--row-max);height:auto;display:block}.image-row--height .image-row__grid img{width:auto;max-width:100%;height:var(--row-height);-o-object-fit:contain;object-fit:contain}.image-row--framed .image-row__grid img{border:1px solid var(--line);border-radius:6px}.image-row__caption{color:var(--muted);margin-top:1rem;font-size:.85rem}.chart{margin:2.5em 0}.chart__title{font-weight:500}.chart__legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.25rem;margin:.75rem 0 1rem;padding:0;list-style:none;display:flex}.prose .chart__legend li+li{margin-top:0}.chart__swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:.5rem;display:inline-block}.chart__swatch--band{background:#ecebe624}.chart__plot{position:relative}.chart__plot svg{touch-action:pan-y;display:block;overflow:visible}.chart__plot svg:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.chart__band{fill:#ecebe60d}.chart__grid line{stroke:var(--line);stroke-width:1px;shape-rendering:crispedges}.chart__axis text,.chart__grid text,.chart__peak{fill:var(--muted);font-family:var(--mono);font-size:11px}.chart__peak{fill:var(--fg)}.chart__tooltip{border:1px solid var(--line);pointer-events:none;background:#0b0b0b;border-radius:6px;width:180px;padding:.6rem .75rem;font-size:.85rem;line-height:1.4;position:absolute;top:0}.prose .chart__tooltip>*+*{margin-top:.15rem}.chart__tooltip-date{color:var(--muted);margin-bottom:.3rem;font-size:.68rem}.chart__tooltip-row{color:var(--muted)}.chart__tooltip-row strong{color:var(--fg);font-weight:500}.chart__tooltip-total{border-top:1px solid var(--line);padding-top:.25rem}.chart__key{vertical-align:middle;width:10px;height:2px;margin-right:.45rem;display:inline-block}.chart__source{color:var(--muted);font-size:.85rem}.chart__data,.chart__source{margin-top:.75rem}.chart__data summary{color:var(--muted);cursor:pointer}.chart__data table{font-variant-numeric:tabular-nums;margin-top:.75rem}.error{max-width:84rem;min-height:100svh;padding:8rem var(--gutter) 5rem;flex-direction:column;justify-content:center;margin:0 auto;display:flex}.error__title{letter-spacing:-.04em;margin-top:1rem;font-size:calc(clamp(2.75rem,7vw,6rem));font-weight:500;line-height:.95}.error__lead{max-width:32rem;margin-top:1.5rem;font-size:calc(clamp(1rem,1.4vw,1.2rem))}.error__status{color:var(--muted);margin-top:2rem}.error__actions{flex-wrap:wrap;gap:1rem 2.5rem;margin-top:2.5rem;display:flex}.error__actions a{color:var(--accent);text-decoration:none}.error__actions a:hover{text-underline-offset:4px;text-decoration:underline}.footer{max-width:84rem;padding:2rem var(--gutter);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 auto;display:flex}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease) var(--delay,0s),transform .8s var(--ease) var(--delay,0s);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}@keyframes blink{50%{opacity:.15}}@media (width<=760px){.log__row{grid-template-columns:auto 1fr;gap:.5rem 1rem}.log__body,.log__status{grid-column:1/-1}.log__status{justify-self:start}.log__row:before{left:-.75rem}.entry__log li{gap:.25rem}.entry__log li,.entry__pager{grid-template-columns:1fr}.entry__pager-link--next{text-align:left;grid-column:auto}}@media (width<=640px){.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transition:none;transform:none}.field__undefined:after,.status__dot{animation:none}}
