:root{--stone-50:oklch(97.4% .006 76);--stone-100:oklch(95% .009 76);--stone-200:oklch(91% .011 74);--stone-300:oklch(85% .013 72);--stone-500:oklch(46% .015 64);--iron-900:oklch(19.5% .011 56);--iron-800:oklch(26% .013 56);--iron-700:oklch(34% .014 56);--oxide-600:oklch(46% .15 32);--oxide-500:oklch(53% .165 34);--oxide-300:oklch(72% .12 38);--oxide-100:oklch(93% .032 40);--haar-400:oklch(72% .014 236);--ground:var(--stone-50);--ink:var(--iron-900);--ink-muted:var(--stone-500);--rule:var(--stone-300);--rule-soft:var(--stone-200);--accent:var(--oxide-600);--accent-hover:var(--oxide-500);--field:var(--stone-200);--font-display:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-body:"Literata", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-base:1.0625rem;--fs-lg:calc(clamp(1.1875rem, .6vw + 1rem, 1.375rem));--fs-h3:calc(clamp(1.375rem, 1vw + 1.1rem, 1.75rem));--fs-h2:calc(clamp(2rem, 2.6vw + 1.1rem, 3.25rem));--fs-h1:calc(clamp(2.6rem, 5.2vw + .8rem, 5rem));--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.25rem;--space-xl:3.5rem;--space-section:calc(clamp(3rem, 6vw, 5.5rem));--container-max:76rem;--header-height:64px;--radius:3px;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--t-fast:.18s}.section--iron{--ground:var(--iron-900);--ink:var(--stone-50);--ink-muted:var(--haar-400);--rule:var(--iron-700);--rule-soft:var(--iron-800);--accent:var(--oxide-300);--field:var(--iron-800);background:var(--ground);color:var(--ink)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--stone-50);color:var(--iron-900);font-family:var(--font-body);font-size:var(--fs-base);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}::selection{background:var(--oxide-100);color:var(--iron-900)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700;font-stretch:112%;line-height:1.08}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-stretch:100%}p{margin:0 0 var(--space-sm)}a{color:var(--accent);text-underline-offset:.18em;transition:color var(--t-fast) ease}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--oxide-600);outline-offset:2px}.section--iron :focus-visible{outline-color:var(--oxide-300)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:calc(3rem + var(--container-max));margin-inline:auto;padding-inline:1.5rem}.label,.muted{color:var(--ink-muted)}.label{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600;font-stretch:78%}.site-header{z-index:50;background:color-mix(in oklab,var(--stone-50) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block-end:1px solid var(--stone-300);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--header-height);display:flex}.site-branding{align-items:center;gap:.7rem;text-decoration:none;display:flex}.site-branding,.site-branding:hover{color:var(--iron-900)}.site-branding img{width:auto;height:30px}.site-branding__name{letter-spacing:-.015em;font-size:1.0625rem;font-weight:700;line-height:1.2}.site-branding__name,.site-branding__tagline{font-family:var(--font-display);display:block}.site-branding__tagline{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500);font-stretch:78%}.site-nav{font-family:var(--font-display);font-size:var(--fs-sm);align-items:center;font-weight:500}.site-nav,.site-nav__links{gap:var(--space-md);display:flex}.site-nav .link-btn{white-space:nowrap}.site-nav a{color:var(--iron-900);text-decoration:none}.site-nav a.router-link-exact-active,.site-nav a:hover{color:var(--oxide-600)}.site-nav__me{align-items:center;gap:var(--space-2xs);display:flex}.avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:28px;height:28px}@media (width<=720px){.site-branding__tagline{display:none}}.section{padding-block:var(--space-section)}.section--alt{background:var(--stone-100)}.section-index{align-items:baseline;gap:var(--space-sm);border-block-start:1px solid var(--rule);margin-block-end:var(--space-lg);padding-block-start:var(--space-xs);display:flex}.section-index__num{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--accent);font-stretch:78%}.section-index__actions{gap:var(--space-xs);align-items:center;margin-inline-start:auto;display:flex}.row{gap:var(--space-lg);grid-template-columns:minmax(0,22rem) minmax(0,1fr);display:grid}@media (width<=900px){.row{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}}.btn{border-radius:var(--radius);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.01em;cursor:pointer;transition:background-color var(--t-fast) ease,color var(--t-fast) ease,border-color var(--t-fast) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.4em;padding:.7em 1.3em;font-weight:600;font-stretch:96%;line-height:1.1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:progress}.btn--primary{background:var(--oxide-600);border-color:var(--oxide-600)}.btn--primary,.btn--primary:hover:not(:disabled){color:var(--stone-50)}.btn--primary:hover:not(:disabled),.section--iron .btn--primary{background:var(--oxide-500);border-color:var(--oxide-500)}.section--iron .btn--primary:hover:not(:disabled){background:var(--oxide-300);border-color:var(--oxide-300);color:var(--iron-900)}.btn--ghost{color:var(--ink);border-color:currentColor}.btn--ghost:hover:not(:disabled){background:var(--ink);color:var(--ground)}.btn--small{padding:.45em .85em}.btn--small,.field>span,.link-btn{font-size:var(--fs-xs)}.link-btn{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;transition:color var(--t-fast) ease;background:0 0;border:0;padding:0;font-weight:600;font-stretch:88%}.link-btn:hover{color:var(--accent)}.form,.form__row{gap:var(--space-sm);display:grid}.form__row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.field{gap:.3rem;display:grid}.field>span{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;font-stretch:88%}.input,.select,.textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--field);width:100%;color:var(--ink);font:inherit;font-size:var(--fs-sm);transition:border-color var(--t-fast) ease;padding:.6em .75em;line-height:1.4}.textarea{resize:vertical;min-height:6rem}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--oxide-600);outline-offset:2px;border-color:var(--oxide-600)}.form__actions{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.form-error{color:var(--accent);margin:0}.checkbox,.empty,.form-error{font-size:var(--fs-sm)}.checkbox{color:var(--ink-muted);align-items:center;gap:.4rem;display:inline-flex}.checkbox input{accent-color:var(--oxide-600)}.hairlines{border-block-start:1px solid var(--rule);margin:0;padding:0;list-style:none}.hairlines>li{border-block-end:1px solid var(--rule);transition:background-color var(--t-fast) ease}.empty{padding-block:var(--space-md);border-block:1px solid var(--rule);color:var(--ink-muted)}.prose{max-width:68ch;color:var(--ink)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4{font-size:var(--fs-lg);margin:1.6em 0 .5em;font-stretch:100%}.prose ol,.prose ul{margin:0 0 var(--space-sm);padding-inline-start:1.25em}.prose li+li{margin-top:.25em}.prose li::marker{color:var(--oxide-600)}.prose blockquote{margin:0 0 var(--space-sm);border-inline-start:1px solid var(--rule);color:var(--ink-muted);padding-inline-start:var(--space-sm)}.prose code{font-family:var(--font-mono);padding:.1em .3em;font-size:.88em}.prose code,.prose pre{background:var(--stone-200);border-radius:var(--radius)}.prose pre{padding:var(--space-sm);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--rule);margin:var(--space-md) 0}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.prose td,.prose th{text-align:left;border-bottom:1px solid var(--rule);padding:.4em .6em}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}
