@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:oklch(99.3% .003 85);--color-bg-subtle:oklch(97.5% .004 85);--color-text:oklch(20.8% .042 265.755);--color-text-secondary:oklch(44.6% .043 257.281);--color-muted:oklch(53% .02 90);--color-border:oklch(90% .016 70);--color-border-subtle:oklch(94% .01 70);--color-surface:oklch(94% .012 80);--color-brand:oklch(49% .06 182);--color-brand-hover:oklch(37% .05 183);--color-on-brand:oklch(100% 0 0);--color-brand-ring:oklch(49% .06 182/.25);--emdash-search-bg:var(--color-bg);--emdash-search-text:var(--color-text);--emdash-search-muted:var(--color-muted);--emdash-search-border:var(--color-border);--emdash-search-hover:var(--color-surface);--emdash-search-highlight:var(--color-text);--font-heading:var(--font-body);--font-weight-heading:600;--font-weight-display:700;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.03em;--tracking-snug:-.02em;--tracking-wide:.06em;--tracking-wider:.08em;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--spacing-2xl:var(--spacing-12);--spacing-3xl:var(--spacing-16);--content-width:680px;--wide-width:1200px;--max-width:var(--content-width);--gutter-width:200px;--meta-col-width:180px;--nav-height:64px;--search-input-width:180px;--radius:4px;--radius-lg:8px;--transition-fast:.12s ease;--transition-base:.18s ease;--avatar-size-xs:18px;--avatar-size-sm:20px;--avatar-size-md:24px;--avatar-size-lg:32px;--shadow-sm:0 1px 2px oklch(0% 0 0/.05);--shadow-lg:0 8px 30px oklch(0% 0 0/.12);--tag-padding-y:2px}}@font-face{font-family:GreenVee Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-regular.ttf)format("truetype")}@font-face{font-family:GreenVee Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-medium.ttf)format("truetype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-body:"GreenVee Geist", -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-heading:var(--font-body);--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--color-bg:oklch(99.3% .003 85);--color-bg-subtle:oklch(97.5% .004 85);--color-band:oklch(94% .012 80);--color-card:oklch(100% 0 0);--color-surface:var(--color-band);--color-text:oklch(20.8% .042 265.755);--color-text-secondary:oklch(44.6% .043 257.281);--color-muted:oklch(53% .02 90);--color-nav-ink:oklch(36% .004 70);--color-border:oklch(90% .016 70);--color-border-subtle:oklch(94% .01 70);--color-nav-pill:oklch(93% .004 90);--color-green:oklch(49% .06 182);--color-green-deep:oklch(37% .05 183);--color-green-light:oklch(64% .07 182);--color-green-pale:oklch(92% .03 172);--color-green-tint:oklch(49% .06 182/.1);--color-btn:oklch(33.8% .041 180);--color-btn-hover:oklch(45% .045 180);--color-brand:var(--color-green);--color-brand-hover:var(--color-green-deep);--color-on-brand:oklch(100% 0 0);--color-brand-ring:oklch(49% .06 182/.25);--color-clementine:oklch(69% .13 60);--color-clementine-tint:oklch(94.5% .034 59);--color-sand:oklch(78.8% .062 83);--color-footer:oklch(24% 0 0);--color-footer-text:oklch(89% .068 57);--color-footer-title:var(--color-clementine);--color-footer-leaf:oklch(85% .03 95);--color-footer-strong:oklch(97% .005 80);--color-footer-line:oklch(100% 0 0/.1);--emdash-search-bg:var(--color-card);--emdash-search-text:var(--color-text);--emdash-search-muted:var(--color-muted);--emdash-search-border:var(--color-border);--emdash-search-hover:var(--color-green-tint);--emdash-search-highlight:var(--color-green-deep);--font-weight-display:450;--font-weight-heading:600;--tracking-tight:-.035em;--tracking-snug:-.015em;--radius:12px;--radius-lg:20px;--radius-pill:999px;--shadow-xs:0 1px 2px oklch(30% .03 70/.12);--ease-out:cubic-bezier(.2, .7, .2, 1);--wide-width:1180px;--narrow-width:760px;--content-width:760px;--nav-height:80px;--page-gutter:max(20px, env(safe-area-inset-left,0px))}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:100px}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.6}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;hyphens:auto;color:var(--color-text);font-weight:600;line-height:1.12}a{color:inherit;text-underline-offset:.2em;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s}:is(a,button,summary,input):focus-visible{outline:2px solid var(--color-green-deep);outline-offset:3px;border-radius:6px}input{caret-color:var(--color-green)}button,input{font:inherit}button,summary{cursor:pointer}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-green-pale);color:var(--color-text)}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell,.wrap{width:100%;max-width:var(--wide-width);padding-inline:var(--page-gutter);margin-inline:auto}.wrap.narrow{max-width:var(--narrow-width)}.skip-link{z-index:100;background:var(--color-btn);color:var(--color-on-brand);border-radius:var(--radius-pill);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}main{min-height:55vh}main:focus{outline:none}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--color-green-deep);font-size:12px;font-weight:600}.cat{letter-spacing:.16em;text-transform:uppercase;color:var(--color-green-deep);font-size:11px;font-weight:600}.mono{font-family:var(--font-mono);color:var(--color-green);font-variant-numeric:tabular-nums;font-size:12px}.arrow{transition:transform .2s var(--ease-out);display:inline-block}.arrow-link{color:var(--color-text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.arrow-link:hover .arrow{transform:translate(4px)}.arrow-link.back:hover .arrow{transform:translate(-4px)}.btn{border-radius:var(--radius-pill);border:1px solid var(--color-btn);background:var(--color-btn);min-height:40px;color:var(--color-on-brand);white-space:nowrap;align-items:center;gap:8px;padding:8px 20px;font-size:15px;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.btn:hover{background:var(--color-btn-hover);border-color:var(--color-btn-hover);color:var(--color-on-brand)}.btn.ghost{color:var(--color-btn);background:0 0}.btn.ghost:hover{background:var(--color-green-tint);color:var(--color-btn)}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);background:oklch(99.3% .003 85/.88);transition:box-shadow .3s;position:sticky;top:0}.site-header.scrolled{box-shadow:0 1px 0 var(--color-border), 0 10px 30px -20px oklch(30% .03 70/.35)}.header-bar{height:var(--nav-height);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;max-width:1360px;display:grid}.pillnav{border-radius:var(--radius-pill);background:var(--color-nav-pill);color:var(--color-nav-ink);justify-self:start;gap:4px;padding:4px;font-size:13.5px;display:flex}.pillnav a{border-radius:var(--radius-pill);white-space:nowrap;padding:7px 11px;transition:background .2s}.pillnav a:hover{background:var(--color-card);color:var(--color-text)}.pillnav a.cur{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-xs)}.ext:after{content:"↗";color:var(--color-green);margin-left:3px;font-size:11px}.brand{letter-spacing:-.01em;color:var(--color-nav-ink);white-space:nowrap;justify-self:center;align-items:center;gap:10px;font-size:20px;font-weight:500;display:flex}.brand:hover{color:var(--color-text)}.brand .gv-logo{width:38px;height:38px;transition:transform .45s var(--ease-out);flex:none}.brand-name{white-space:nowrap;max-width:260px;transition:max-width .45s var(--ease-out), opacity .3s, margin .45s var(--ease-out);align-items:baseline;display:inline-flex;overflow:hidden}.brand-sub{color:var(--color-green);font-weight:450}.brand-sub:before{content:"/";color:var(--color-text);opacity:.3;margin:0 8px 0 2px}.site-header.scrolled .brand-name{opacity:0;max-width:0;margin-left:-10px}.site-header.scrolled .brand .gv-logo{transform:scale(1.08)}.site-logo-img{width:auto;max-width:220px;max-height:40px}.header-right{justify-content:flex-end;align-items:center;gap:12px;display:flex}.icon-link{border-radius:var(--radius-pill);width:38px;height:38px;color:var(--color-text-secondary);place-items:center;transition:background .2s;display:grid}.icon-link:hover,.icon-link[aria-current=page]{background:var(--color-nav-pill);color:var(--color-text)}.icon-link svg{width:18px;height:18px}.nav-admin{color:var(--color-muted);font-size:13px;font-weight:500}.menu-toggle{border:1px solid var(--color-border);background:var(--color-card);border-radius:var(--radius-pill);min-height:38px;color:var(--color-text);align-items:center;padding:6px 16px;font-size:14px;display:none}.mobile-menu{border-top:1px solid var(--color-border);background:var(--color-bg)}.mobile-menu nav{padding-block:8px 20px;display:grid}.mobile-menu a:not(.btn){border-bottom:1px solid var(--color-border);justify-content:space-between;padding:14px 4px;font-size:17px;display:flex}.mobile-menu a[aria-current]{color:var(--color-green-deep);font-weight:600}.mobile-menu .btn{justify-self:start;margin-top:20px}@media (width<=1240px){.pillnav a:nth-child(n+5){display:none}}@media (width<=980px){.header-bar{grid-template-columns:minmax(0,1fr) auto;height:68px}.pillnav,.header-right .btn{display:none}.brand{grid-area:1/1;justify-self:start}.header-right{grid-column:2;gap:8px}.menu-toggle{display:inline-flex}}@media (width>=981px){.mobile-menu{display:none}}.site-footer{margin:120px max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));background:var(--color-footer);color:var(--color-footer-text);border-radius:28px 28px 0 0;position:relative;overflow:hidden}.site-footer .wrap{padding-block:72px 36px;position:relative}.footer-leaf{width:300px;color:var(--color-footer-leaf);pointer-events:none;position:absolute;top:170px;right:40px}.footer-leaf .gv-logo{width:100%;height:auto}.footer-brand{color:var(--color-footer-strong);align-items:center;gap:10px;font-size:20px;font-weight:500;display:inline-flex}.footer-brand .gv-logo{width:38px;height:38px}.footer-brand:hover{color:oklch(100% 0 0)}.mission{letter-spacing:-.015em;max-width:22em;color:var(--color-footer-strong);margin-top:56px;font-size:clamp(22px,2.6vw,32px);font-weight:500;line-height:1.3}.mission span{color:var(--color-footer-leaf)}.footer-cols{grid-template-columns:repeat(4,minmax(0,190px));gap:32px;margin-top:64px;display:grid;position:relative}.footer-cols>*{align-content:start;gap:9px;min-width:0;font-size:15px;display:grid}.footer-cols h2{letter-spacing:.24em;text-transform:uppercase;color:var(--color-footer-title);margin:0 0 8px;font-size:12px;font-weight:600}.footer-cols a{justify-self:start}.footer-cols a:hover{color:oklch(100% 0 0)}.footer-cols a.login{border-radius:var(--radius-pill);color:var(--color-footer-strong);border:1px solid oklch(100% 0 0/.3);margin-top:6px;padding:6px 14px;display:inline-flex}.footer-base{border-top:1px solid var(--color-footer-line);flex-wrap:wrap;justify-content:space-between;gap:16px 32px;margin-top:110px;padding-top:24px;font-size:13px;display:flex;position:relative}.footer-widgets:empty{display:none}.site-footer :focus-visible{outline-color:var(--color-footer-leaf)}@media (width<=760px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-leaf{opacity:.3;width:200px;top:120px;right:-30px}}.page-hero .wrap{padding-block:96px 56px}.page-hero h1{letter-spacing:-.035em;hyphens:auto;max-width:18ch;margin-top:24px;font-size:clamp(38px,5.6vw,72px);font-weight:400;line-height:1.02}.page-lead{max-width:640px;color:var(--color-text-secondary);margin-top:24px;font-size:19px}.hint{color:var(--color-muted);font-size:13px}.cat-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-top:40px;display:flex}.cat-bar a{color:var(--color-text-secondary);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:15px;transition:color .2s,border-color .2s}.cat-bar a:hover{color:var(--color-text)}.cat-bar a[aria-current=page]{color:var(--color-text);border-bottom-color:var(--color-green-deep);font-weight:500}.section{padding-block:0 96px}.shead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 24px;margin-bottom:40px;display:flex}.shead h2{letter-spacing:-.02em;font-size:clamp(30px,3.4vw,44px)}@media (width<=700px){.page-hero .wrap{padding-block:56px 40px}.section{padding-bottom:72px}.shead{margin-bottom:28px}}.rows{border-top:2px solid var(--color-green-deep);margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--color-border)}.rows a{transition:background .2s, padding .25s var(--ease-out);border-radius:8px;grid-template-columns:104px 150px minmax(0,1fr) auto auto;align-items:baseline;gap:20px;padding:24px 4px;display:grid}.rows a:hover{background:var(--color-green-tint);padding-inline:16px}.rows .nt{gap:4px;min-width:0;display:grid}.rows .nt b{letter-spacing:-.01em;font-size:19px;font-weight:600;line-height:1.3}.rows .nt span{color:var(--color-text-secondary);font-size:15.5px}.rows a:hover .arrow{transform:translate(5px)}.rows mark{background:var(--color-clementine-tint);color:inherit;border-radius:3px;padding:0 2px}.chips-s{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.mchip{border-radius:var(--radius-pill);background:var(--color-btn);color:var(--color-on-brand);white-space:nowrap;padding:3px 10px;font-size:12px;font-weight:500}@media (width<=860px){.rows a{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.rows a>:not(.arrow){grid-column:1}.rows a>:empty{display:none}.rows .chips-s{justify-content:flex-start;margin-top:6px}.rows .arrow{grid-area:1/2/span 4;align-self:center}}.empty{border:1px dashed var(--color-border);color:var(--color-text-secondary);border-radius:16px;justify-items:start;gap:8px;padding:28px;display:grid}.empty b{color:var(--color-text);font-weight:600}.empty .arrow-link,.empty .btn{margin-top:8px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags a{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);padding:3px 12px;font-size:13px}.tags a:hover{border-color:var(--color-green-pale);background:var(--color-green-tint);color:var(--color-text)}.prose{color:var(--color-text-secondary);font-size:18px;line-height:1.7}.prose>*+*{margin-top:1.1em}.prose :is(h2,h3,h4){color:var(--color-text);margin-top:1.9em;margin-bottom:.5em;scroll-margin-top:110px}.prose h2{letter-spacing:-.015em;font-size:26px}.prose h3{font-size:21px}.prose strong{color:var(--color-text)}.prose a{color:var(--color-green-deep);text-decoration:underline;-webkit-text-decoration-color:var(--color-green-light);text-decoration-color:var(--color-green-light)}.prose a:hover{text-decoration-color:currentColor}.prose :is(ul,ol){padding-left:1.4em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--color-green)}.prose blockquote{border-left:2px solid var(--color-green-deep);color:var(--color-text);padding:4px 0 4px 24px;font-size:20px}.prose pre{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);max-width:100%;padding:20px;font-size:14px;overflow-x:auto}.prose code{font-family:var(--font-mono);background:var(--color-green-tint);border-radius:4px;padding:.1em .35em;font-size:.85em}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;max-width:100%;font-size:15px;display:block;overflow-x:auto}.prose :is(th,td){text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px}.prose th{color:var(--color-text);font-weight:600}.prose figure{margin-inline:0}.prose img{border-radius:var(--radius)}.prose figcaption{color:var(--color-muted);margin-top:8px;font-size:14px}.prose :is(video,iframe){border-radius:var(--radius);max-width:100%}.prose hr{border:0;border-top:1px solid var(--color-border)}.pagination{justify-content:space-between;gap:30px;margin-top:40px;display:flex}@media (prefers-reduced-motion:no-preference){@keyframes viewin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes drawx{0%{transform:scaleX(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
