@font-face{font-family:sans;src:url(/_next/static/media/a7560406a8617b28-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:99.65%;descent-override:24.81%;line-gap-override:0.00%;size-adjust:97.21%}.__className_d708e5{font-family:sans,sans Fallback}.__variable_d708e5{--font-sans:"sans","sans Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/a865edea076e0166-s.p.woff2) format("woff2");font-display:swap;font-weight:100 800}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:131.49%}.__className_3d904d{font-family:mono,mono Fallback}.__variable_3d904d{--font-mono:"mono","mono Fallback"}:root{--bg:#ffffff;--panel:#f7f8f9;--fg:#121417;--muted:#5f6670;--faint:#a2a8b0;--line:#e4e7eb;--line-strong:#cfd4da;--ok:#2f8f5b;--warn:#d19a2a;--idle:#b8bec6;--down:#c2453d;--link:#2f5fd0;--sans:var(--font-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace;--wide:60rem;--radius:14px;color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.1}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.ok{color:var(--ok)}.container{width:100%;max-width:var(--wide);margin:0 auto;padding:0 1rem}main{min-height:70vh;padding:3.5rem 0 6rem}.section{margin-top:4.5rem}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.section-head.tight{margin:2rem 0 .75rem}.section-head h2{font-size:1.6rem}.more{font-family:var(--mono);font-size:.8rem;color:var(--muted)}a.more:hover{color:var(--fg)}.dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;border:2px solid}.dot-evergreen{background:var(--ok);border-color:var(--ok)}.dot-growing{background:var(--warn);border-color:var(--warn)}.dot-seedling{background:#fff;border-color:var(--idle)}.dot-down{background:var(--down);border-color:var(--down)}.dot-live{background:var(--ok);border-color:var(--ok);box-shadow:0 0 0 0 rgb(47 143 91/.5);animation:ping 2s infinite}@keyframes ping{70%{box-shadow:0 0 0 7px rgb(47 143 91/0)}to{box-shadow:0 0 0 0 rgb(47 143 91/0)}}.health{display:inline-flex;align-items:center;gap:.45rem}.strip{background:var(--panel);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.75rem;color:var(--muted)}.strip .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;height:34px;white-space:nowrap;overflow:hidden}.strip .dot{margin-right:.5rem;width:8px;height:8px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .container{justify-content:space-between;height:64px}.logo,.site-header .container{display:flex;align-items:center}.logo{gap:.6rem;font-weight:600;letter-spacing:-.02em}.nav{display:flex;align-items:center;gap:1.5rem;font-size:.925rem;color:var(--muted)}.nav .active,.nav a:hover{color:var(--fg)}.nav .active{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:6px}.kbd{font-family:var(--mono);font-size:.72rem;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:2px 7px;cursor:pointer;color:var(--muted)}.kbd:hover{color:var(--fg);border-color:var(--line-strong)}.hero{padding-top:1.5rem}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.75rem;color:var(--muted)}.eyebrow .dot{width:8px;height:8px}.hero h1{font-size:clamp(2.5rem,6.5vw,4rem);line-height:1.02;letter-spacing:-.04em;margin:.9rem 0 1rem}.punct{color:var(--faint)}.lede{font-size:1.125rem;color:var(--muted);max-width:34rem;margin:0}.link{color:var(--fg);border-bottom:1px solid var(--line-strong)}.link:hover{border-color:var(--fg)}.legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.8rem;color:var(--muted)}.legend>span{display:inline-flex;align-items:center;gap:.4rem}.map{margin:0;border:1px solid var(--line);border-radius:var(--radius);background-color:#fff;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.map-scroll{overflow-x:auto}.map svg{display:block;width:100%;min-width:720px;height:auto;font-family:var(--sans)}.map .links line{stroke:var(--line-strong);stroke-width:1;transition:opacity .15s,stroke .15s}.map .links line[data-active=false]{opacity:.25}.map .links line[data-hot=true]{stroke:var(--fg)}.map .node{transition:opacity .15s}.map .node[data-off=true]{opacity:.18}.map .tag rect{fill:var(--panel);stroke:var(--line)}.map .tag text{font-family:var(--mono);font-size:11.5px;fill:var(--muted)}.map .entry{cursor:pointer}.map .entry rect{fill:#fff;stroke:var(--line-strong);transition:stroke .15s,filter .15s}.map .entry:focus-visible rect,.map .entry:hover rect{stroke:var(--fg);filter:drop-shadow(0 4px 10px rgb(18 20 23/.08))}.map .entry:focus-visible{outline:none}.map .entry text{font-size:13px;fill:var(--fg)}.map .state{stroke-width:2}.map .stage-evergreen .state{fill:var(--ok);stroke:var(--ok)}.map .stage-growing .state{fill:var(--warn);stroke:var(--warn)}.map .stage-seedling .state{fill:#fff;stroke:var(--idle)}.map .pulse{fill:var(--warn);opacity:.35;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.4}to{transform:scale(3);opacity:0}}.map-foot{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding:.6rem .9rem;border-top:1px solid var(--line);background:rgb(255 255 255/.92);font-family:var(--mono);font-size:.75rem;color:var(--muted)}.map-status{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}@media (min-width:720px){.map-foot{flex-wrap:nowrap}.map-foot>span:last-child{flex:none}}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:1.5rem 0 1rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-family:var(--mono);font-size:.8rem}.seg button{background:#fff;border:0;padding:.35rem .8rem;cursor:pointer;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-selected=true]{background:var(--fg);color:#fff}.seg .count{margin-left:.4rem;opacity:.6}.pills{display:flex;flex-wrap:wrap;gap:.4rem}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-family:var(--mono);font-size:.75rem;color:var(--muted);cursor:pointer}.pill:hover{color:var(--fg);border-color:var(--line-strong)}.pill[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:#fff}.pill .count{opacity:.6}.pill.more{background:none;border-style:dashed;color:var(--fg)}.more-tags{color:var(--faint)}.pill.clear{background:none;border-style:dashed}.list-head{display:flex;justify-content:space-between;margin:2rem 0 .6rem;font-family:var(--mono);font-size:.75rem}.empty,.list-head{color:var(--muted)}.empty{padding:2.5rem 1rem;text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));grid-gap:1rem;gap:1rem}.node-card{display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.1rem 0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}.node-card:focus-visible,.node-card:hover{border-color:var(--fg);box-shadow:0 8px 22px -12px rgb(18 20 23/.25);transform:translateY(-2px);outline:none}.nc-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.72rem;color:var(--muted)}.nc-state{display:inline-flex;align-items:center;gap:.45rem}.nc-state .dot{width:8px;height:8px}.nc-status{margin-left:.2rem;border:1px solid var(--line);border-radius:999px;padding:0 .45rem}.nc-date{color:var(--faint)}.node-card h3{font-size:1.1rem;letter-spacing:-.015em;line-height:1.25}.node-card p{margin:0;font-size:.9rem;color:var(--muted);flex:1 1}.nc-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:0 -1.1rem;padding:.6rem 1.1rem;border-top:1px solid var(--line);background:var(--panel);border-radius:0 0 var(--radius) var(--radius);font-family:var(--mono);font-size:.72rem;color:var(--muted)}.nc-tags{display:flex;flex-wrap:wrap;gap:.6rem}.nc-links{white-space:nowrap;color:var(--fg)}.lifecycle{display:flex;align-items:center;gap:4px}.lifecycle .step{flex:1 1;display:flex;flex-direction:column;gap:.35rem}.lifecycle .step i{display:block;height:4px;border-radius:2px;background:var(--line)}.lifecycle .step.on.step-evergreen i{background:var(--ok)}.lifecycle .step.on.step-growing i{background:var(--warn)}.lifecycle .step.on.step-seedling i{background:#8e959d}.lifecycle-label{flex:none;width:6.5rem;text-align:right;font-family:var(--mono);font-size:.68rem;color:var(--faint)}.lifecycle.with-labels{margin-top:.9rem}.lifecycle.with-labels .step i{height:6px}.lifecycle.with-labels small{font-family:var(--mono);font-size:.7rem;color:var(--faint)}.lifecycle.with-labels .step[data-current] small{color:var(--fg)}.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.posts a{display:grid;grid-template-columns:1fr auto;grid-gap:.3rem 1rem;gap:.3rem 1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.post-title{font-size:1.15rem;font-weight:500;letter-spacing:-.01em}.posts a:hover .post-title{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px}.post-date{font-family:var(--mono);font-size:.78rem;color:var(--faint)}.post-sum{font-size:.95rem}.post-meta,.post-sum{grid-column:1/-1;color:var(--muted)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;font-family:var(--mono);font-size:.72rem}.post-meta .dot{width:8px;height:8px;margin-right:-.35rem}.log{border-left:1px solid var(--line);margin-left:6px;padding-left:1.5rem}.rel{position:relative;padding-bottom:2rem}.rel:last-child{padding-bottom:.5rem}.rel:before{content:"";position:absolute;left:calc(-1.5rem - 6px);top:4px;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--fg)}.rel-ver{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.rel h3{font-size:1.2rem;margin:.3rem 0 .2rem}.rel p{margin:0}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chips span{font-family:var(--mono);font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:.05rem .45rem;background:var(--panel)}.page-head{padding-top:1.5rem}.page-title{font-size:clamp(2.25rem,5.5vw,3.25rem);letter-spacing:-.035em;margin:.75rem 0 .9rem}.crumbs{font-family:var(--mono);font-size:.8rem;color:var(--faint);padding-top:1.5rem}.crumbs a{color:var(--muted)}.crumbs a:hover,.crumbs span{color:var(--fg)}.entry-head{margin-bottom:2rem}.byline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;margin:-.75rem 0 0;padding-bottom:1.25rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.8rem;color:var(--muted)}.byline .tag-links a{color:var(--link)}.props{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.props>div{padding:.75rem 1rem;border-right:1px solid var(--line)}.props>div:last-child{border-right:0}.props dt{font-size:.7rem;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.props dd,.props dt{font-family:var(--mono)}.props dd{margin:.25rem 0 0;font-size:.85rem}.props.stacked{grid-template-columns:1fr}.props.stacked>div{border-right:0;border-bottom:1px solid var(--line)}.props.stacked>div:last-child{border-bottom:0}.tag-links{display:flex;flex-wrap:wrap;gap:.6rem}.props dd a,.tag-links a{color:var(--link)}.props dd a:hover,.tag-links a:hover{text-decoration:underline}.prose{margin-top:2.5rem;font-size:1.05rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose h2{font-size:1.5rem;margin:2.5rem 0 .9rem}.prose h3{font-size:1.2rem;margin:2rem 0 .75rem}.prose blockquote,.prose ol,.prose p,.prose pre,.prose ul{margin:0 0 1.2rem}.prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:rgb(47 95 208/.35);text-decoration-color:rgb(47 95 208/.35)}.prose a:hover{-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}.prose img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:10px}.prose blockquote{border-left:2px solid var(--line-strong);padding-left:1rem;color:var(--muted)}.prose code{font-family:var(--mono);font-size:.85em;border:1px solid var(--line);padding:.05em .35em;border-radius:5px}.prose code,.prose pre{background:var(--panel)}.prose pre{border:1px solid var(--line);padding:1rem;border-radius:10px;overflow-x:auto}.prose pre code{background:none;border:0;padding:0}.prose pre{font-size:.85rem;line-height:1.6}.prose table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.prose td,.prose th{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.prose th{font-family:var(--mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border-bottom-color:var(--line-strong)}.prose td code{white-space:normal;overflow-wrap:anywhere}.about-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:2.5rem;gap:2.5rem;align-items:start}.about-grid .prose{margin-top:0}.stack{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stack-row{display:grid;grid-template-columns:11rem 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);align-items:center}.stack-row:last-child{border-bottom:0}.stack-key{font-family:var(--mono);font-size:.8rem;color:var(--muted)}.stack-row.top{align-items:start}.stack-row.top .stack-key{padding-top:.15rem}.certs{list-style:none;margin:0;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.certs li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;font-size:.95rem}.certs .issuer{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:1.5rem 0 2.5rem;font-size:.875rem;color:var(--muted)}.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.site-footer .mono{font-size:.78rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:1.1rem}.site-footer a:hover{color:var(--fg)}.pal-back{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:14vh 1rem 0;background:rgb(18 20 23/.2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pal{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px rgb(0 0 0/.18);overflow:hidden}.pal input{width:100%;border:0;border-bottom:1px solid var(--line);padding:1rem 1.1rem;font:inherit;font-size:1rem;outline:none}.pal ul{list-style:none;margin:0;padding:.35rem;max-height:50vh;overflow:auto}.pal li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .75rem;border-radius:8px;cursor:pointer;font-size:.9rem}.pal li small{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.pal li[aria-selected=true]{background:var(--panel)}.pal-empty{margin:0;padding:1.1rem;color:var(--muted);font-size:.9rem}.pal-foot{display:flex;gap:1rem;padding:.5rem .9rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem;color:var(--muted)}.pal kbd{font-family:inherit;border:1px solid var(--line);border-radius:4px;padding:0 4px}@media (max-width:800px){.about-grid{grid-template-columns:1fr}.nav{gap:1rem}}@media (max-width:560px){main{padding-top:2rem}.nav a:nth-child(3){display:none}.stack-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.dot-live,.map .pulse{animation:none}}