@font-face{font-family:geist;font-weight:100;font-style:normal;font-display:swap;src:url(/fonts/Geist-Thin.otf)format("opentype")}@font-face{font-family:geist;font-weight:100;font-style:italic;font-display:swap;src:url(/fonts/Geist-ThinItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:200;font-style:normal;font-display:swap;src:url(/fonts/Geist-ExtraLight.otf)format("opentype")}@font-face{font-family:geist;font-weight:200;font-style:italic;font-display:swap;src:url(/fonts/Geist-ExtraLightItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/Geist-Light.otf)format("opentype")}@font-face{font-family:geist;font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/Geist-LightItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Geist-Regular.otf)format("opentype")}@font-face{font-family:geist;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/Geist-Italic.otf)format("opentype")}@font-face{font-family:geist;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Geist-Medium.otf)format("opentype")}@font-face{font-family:geist;font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/Geist-MediumItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Geist-SemiBold.otf)format("opentype")}@font-face{font-family:geist;font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/Geist-SemiBoldItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Geist-Bold.otf)format("opentype")}@font-face{font-family:geist;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/Geist-BoldItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/Geist-ExtraBold.otf)format("opentype")}@font-face{font-family:geist;font-weight:800;font-style:italic;font-display:swap;src:url(/fonts/Geist-ExtraBoldItalic.otf)format("opentype")}@font-face{font-family:geist;font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/Geist-Black.otf)format("opentype")}@font-face{font-family:geist;font-weight:900;font-style:italic;font-display:swap;src:url(/fonts/Geist-BlackItalic.otf)format("opentype")}@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&display=swap";:root{--vx-ink:#001614;--vx-ink-2:#002E29;--vx-ink-3:#00221E;--vx-mint:#66DCC8;--vx-mint-strong:#009484;--vx-mint-light:#5FED83;--vx-cream:#FFF8ED;--vx-sand:#FDE0B5;--vx-sand-amber:#FCA326;--vx-bone:#E8E7E3;--vx-coral:#FA5C57;--vx-gray-500:#787C7F;--vx-gray-300:#D9D9D9;--vx-white:#ffffff;--vx-mint-80:rgba(102,220,200,0.8);--vx-mint-40:rgba(102,220,200,0.4);--vx-mint-30:rgba(102,220,200,0.3);--vx-mint-20:rgba(102,220,200,0.2);--vx-mint-12:rgba(102,220,200,0.12);--vx-mint-08:rgba(102,220,200,0.08);--vx-white-30:rgba(255,255,255,0.3);--vx-white-20:rgba(255,255,255,0.2);--vx-ink-80:rgba(0,22,20,0.8);--vx-ink-30:rgba(0,22,20,0.3);--vx-ink-20:rgba(0,22,20,0.2);--vx-gray-500-30:rgba(120,124,127,0.3);--grad-mint-wash:linear-gradient(rgba(102,220,200,0) 0%, rgba(102,220,200,0.05) 54%, rgba(102,220,200,0.1) 100%);--grad-glass-dark:linear-gradient(rgba(0,22,20,0.8) 0%, rgba(0,46,41,0.8) 100%);--grad-card-dark:linear-gradient(#001614 0%, #002E29 100%);--grad-mint-card:linear-gradient(rgba(102,220,200,0.24) 0%, rgba(102,220,200,0.12) 100%);--grad-warm-fade:linear-gradient(#FDE0B5 0%, #FFF8ED 100%);--shadow-glass:0 0 20px 2px rgba(0,22,20,0.3);--shadow-card-dark:0 16px 20px 0 rgba(0,22,20,0.4);--shadow-pop:0 8px 24px rgba(0,22,20,0.18);--shadow-rest:0 1px 2px rgba(0,22,20,0.08);--radius-xs:6px;--radius-sm:8px;--radius-md:18px;--radius-lg:30px;--radius-pill:999px;--font-sans:"Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "JetBrains Mono", "SFMono-Regular", monospace;--nav-height:76px;--sidebar-width:280px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:17px;line-height:1.65;color:var(--vx-ink);background:var(--vx-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{opacity:.75}img,svg{display:block;max-width:100%}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:var(--vx-ink-2);border-bottom:1px solid rgba(255,255,255,6%);display:flex;align-items:center;padding:0 28px;gap:28px}.site-nav__logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.site-nav__logo img{height:30px}.site-nav__title{font-size:15px;font-weight:500;color:var(--vx-bone);opacity:.85;white-space:nowrap}.site-nav__spacer{flex:1}.site-nav__links{display:flex;gap:22px;align-items:center}.site-nav__link{color:var(--vx-bone);font-size:14.5px;opacity:.75;white-space:nowrap;transition:opacity .15s,color .15s}.site-nav__link:hover{opacity:1;color:var(--vx-mint)}.site-nav__link.active{opacity:1;color:var(--vx-mint)}.site-nav__signin{display:inline-flex;align-items:center;gap:6px;background:var(--vx-sand);color:var(--vx-ink);font-size:14px;font-weight:600;padding:7px 14px;border-radius:var(--radius-md);transition:background .15s}.site-nav__signin:hover{background:var(--vx-mint);opacity:1}.site-nav__github{display:inline-flex;align-items:center;gap:6px;background:var(--vx-mint-20);border:1px solid var(--vx-mint-30);color:var(--vx-mint);font-size:14px;font-weight:500;padding:7px 14px;border-radius:var(--radius-sm);transition:background .15s}.site-nav__github:hover{background:var(--vx-mint-30);opacity:1}.site-nav__github svg{width:16px;height:16px}.page-shell{display:flex;min-height:100vh;padding-top:var(--nav-height)}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--vx-ink-2);border-right:1px solid rgba(255,255,255,6%);position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;padding:24px 0 40px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--vx-mint-20);border-radius:2px}.sidebar__section{margin-bottom:6px}.sidebar__heading{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vx-mint);padding:16px 22px 6px}.sidebar__link{display:block;font-size:14px;color:var(--vx-bone);opacity:.7;padding:7px 22px;border-left:2px solid transparent;transition:opacity .15s,border-color .15s,background .15s;line-height:1.35}.sidebar__link:hover{opacity:1;background:rgba(102,220,200,6%)}.sidebar__link.active{opacity:1;color:var(--vx-mint);border-left-color:var(--vx-mint);background:rgba(102,220,200,8%)}.sidebar__sublink{display:block;font-size:13px;color:var(--vx-bone);opacity:.55;padding:5px 22px 5px 38px;border-left:2px solid transparent;transition:opacity .15s,border-color .15s,background .15s;line-height:1.35}.sidebar__sublink:hover{opacity:.9;background:rgba(102,220,200,4%)}.sidebar__sublink.active{opacity:1;color:var(--vx-mint);border-left-color:var(--vx-mint);background:rgba(102,220,200,6%)}.content-wrap{flex:1;background:var(--vx-cream);min-width:0;display:flex;flex-direction:column}.content{flex:1;max-width:none;margin:0;padding:56px 64px 96px}@media(max-width:1100px){.content{padding:48px 40px 80px}}@media(max-width:900px){.content{padding:40px 24px 80px}}.content h1{font-size:42px;font-weight:400;line-height:1.1;letter-spacing:-.01em;color:var(--vx-ink);margin-bottom:20px}.content h2{font-size:26px;font-weight:600;line-height:1.2;color:var(--vx-ink);margin-top:52px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(0,22,20,.12)}.content h3{font-size:19px;font-weight:600;color:var(--vx-ink);margin-top:32px;margin-bottom:10px}.content h4{font-size:16px;font-weight:600;color:var(--vx-ink);margin-top:24px;margin-bottom:8px}.content p{margin-bottom:18px;line-height:1.7}.content ul,.content ol{margin:0 0 18px 24px;line-height:1.7}.content li{margin-bottom:6px}.content li>ul,.content li>ol{margin-top:6px;margin-bottom:6px}.content strong{font-weight:600}.content em{font-style:italic}.content code{font-family:var(--font-mono);font-size:.88em;background:rgba(0,22,20,7%);border:1px solid rgba(0,22,20,.1);border-radius:4px;padding:1px 5px}.content pre{margin:0 0 24px;border-radius:var(--radius-sm);overflow:auto;background:var(--vx-ink)!important}.content pre code{background:0 0;border:none;padding:0;font-size:14px;color:var(--vx-bone)}.content pre>code{display:block;padding:20px 22px}.content .highlight{margin-bottom:24px;border-radius:var(--radius-sm);overflow:hidden}.content .highlight pre{margin:0;border-radius:0}.content blockquote{border-left:3px solid var(--vx-mint);padding:12px 18px;margin:0 0 18px;background:rgba(102,220,200,8%);border-radius:0 var(--radius-sm)var(--radius-sm)0;color:rgba(0,22,20,.85);font-style:italic}.content table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:15px}.content th{background:var(--vx-ink);color:var(--vx-bone);font-weight:600;text-align:left;padding:10px 14px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.content td{padding:10px 14px;border-bottom:1px solid rgba(0,22,20,.1)}.content tr:last-child td{border-bottom:none}.content tr:nth-child(even) td{background:rgba(0,22,20,3%)}.content hr{border:none;border-top:1px solid rgba(0,22,20,.15);margin:40px 0}.content a,.section-list__prose a,.home-features__inner a{color:var(--vx-mint-strong);border-bottom:1px solid rgba(0,148,132,.25);transition:border-color .15s}.content a:hover,.section-list__prose a:hover,.home-features__inner a:hover{border-bottom-color:var(--vx-mint-strong);opacity:1}.home-hero{background:radial-gradient(ellipse at 20% 0%,rgba(102,220,200,.28),transparent 50%),radial-gradient(ellipse at 80% 60%,rgba(102,220,200,.12),transparent 55%),linear-gradient(180deg,var(--vx-ink) 0%,var(--vx-ink-2) 100%);padding:120px 48px 96px;text-align:center;color:var(--vx-bone)}.home-hero__eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vx-mint);margin-bottom:22px}.home-hero__title{font-size:58px;font-weight:400;line-height:1.05;letter-spacing:-.015em;color:var(--vx-white);margin:0 auto 24px;max-width:820px}.home-hero__sub{font-size:20px;color:var(--vx-bone);opacity:.82;max-width:720px;margin:0 auto 32px;line-height:1.55}.home-hero__cta{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.home-features{background:var(--vx-cream);padding:96px 48px}.home-features__inner{max-width:1100px;margin:0 auto;display:grid;gap:22px}.home-features .vx-feature-section{margin:0;max-width:none}.home-extras{background:var(--vx-cream);padding:0 48px 96px}.home-extras__inner{max-width:1100px;margin:0 auto}@media(max-width:768px){.home-hero{padding:96px 24px 72px}.home-hero__title{font-size:38px}.home-hero__sub{font-size:17px}.home-features{padding:64px 24px}.home-extras{padding:0 24px 64px}}.vx-feature-section{padding:36px 40px;border-radius:var(--radius-lg);background:var(--vx-white);border:1px solid rgba(0,22,20,8%);transition:border-color .2s,box-shadow .2s,transform .15s}.vx-feature-section:hover{border-color:var(--vx-mint-strong);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.vx-feature-section h2{font-size:26px;font-weight:600;color:var(--vx-ink);margin:0 0 14px;padding:0;border:none}.vx-feature-section p{font-size:16px;line-height:1.65;color:rgba(0,22,20,.78);margin:0 0 18px;max-width:60ch}.vx-feature-section ul{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px}.vx-feature-section ul li{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;background:rgba(102,220,200,.14);color:var(--vx-ink);border:1px solid var(--vx-mint-30);margin:0}.vx-feature-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--vx-mint-strong)}.vx-feature-link:hover{opacity:1;color:var(--vx-ink)}.vx-feature-vdb{border-top:3px solid var(--vx-mint)}.vx-feature-scan{border-top:3px solid var(--vx-sand)}.vx-feature-cicd{border-top:3px solid var(--vx-mint-strong)}.vx-cta-row{display:inline-flex;flex-wrap:wrap;gap:12px;align-items:center}.vx-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:var(--radius-md);background:var(--vx-sand);color:var(--vx-ink)!important;font-weight:600;font-size:15px;transition:background .15s,transform .1s}.vx-btn-primary:hover{background:var(--vx-mint);transform:translateY(-1px);opacity:1}.vx-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:var(--radius-md);background:0 0;border:1px solid var(--vx-white-30);color:var(--vx-bone)!important;font-weight:600;font-size:15px;transition:background .15s,border-color .15s}.vx-btn-secondary:hover{background:var(--vx-white-20);border-color:var(--vx-mint);opacity:1}.vx-subtle-link{display:inline-block;margin-top:14px;font-size:13px;color:var(--vx-mint)}.vx-subtle-link:hover{opacity:.85}.vx-coming-soon{padding:28px 32px;border-radius:var(--radius-md);border:1px dashed rgba(0,22,20,.18);background:rgba(0,22,20,2%);margin-top:8px}.vx-coming-soon h3{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:var(--vx-ink);margin:0 0 10px}.vx-coming-soon p{font-size:15px;line-height:1.65;color:rgba(0,22,20,.7);margin:0 0 14px}.vx-coming-soon-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);background:var(--vx-sand-amber);color:var(--vx-ink);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.vx-contact-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--vx-mint-strong)}.vx-contact-link:hover{opacity:1;color:var(--vx-ink)}.vx-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding:32px 0 0;margin-top:40px;border-top:1px solid rgba(0,22,20,8%)}.vx-footer-links a{font-size:13px;font-weight:500;color:rgba(0,22,20,.55)}.vx-footer-links a:hover{color:var(--vx-mint-strong);opacity:1}.vx-hero-spacer{display:none}.section-hero{background:radial-gradient(ellipse at 10% 50%,rgba(102,220,200,.18),transparent 55%),linear-gradient(135deg,var(--vx-ink) 0%,var(--vx-ink-2) 100%);padding:60px 64px 52px;border-bottom:1px solid rgba(255,255,255,6%);color:var(--vx-bone)}.section-hero__eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vx-mint);margin-bottom:12px}.section-hero__title{font-size:38px;font-weight:400;color:var(--vx-white);line-height:1.1;margin-bottom:14px}.section-hero__desc{font-size:17px;color:var(--vx-bone);opacity:.82;max-width:720px;line-height:1.55}.section-list{background:var(--vx-cream);padding:48px 64px 96px;flex:1}.section-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px}.section-list-card{background:var(--vx-white);border:1px solid rgba(0,22,20,.1);border-radius:var(--radius-md);padding:22px 24px;transition:border-color .15s,box-shadow .2s,transform .15s;display:block;color:var(--vx-ink)}.section-list-card:hover{border-color:var(--vx-mint-strong);box-shadow:var(--shadow-pop);transform:translateY(-2px);opacity:1}.section-list-card__title{font-size:16px;font-weight:600;margin-bottom:6px}.section-list-card__desc{font-size:13px;color:rgba(0,22,20,.6);line-height:1.45}.section-list__prose{max-width:760px;margin:0 0 32px}.section-list__prose p{font-size:16px;line-height:1.7;color:rgba(0,22,20,.78);margin-bottom:16px}@media(max-width:900px){.section-hero{padding:48px 24px 40px}.section-list{padding:40px 24px 72px}}.site-footer{background:var(--vx-ink-2);border-top:1px solid rgba(255,255,255,6%);padding:32px 48px;display:flex;align-items:center;gap:20px}.site-footer img{height:22px;opacity:.6}.site-footer__text{font-size:13px;color:var(--vx-bone);opacity:.5}.site-footer__spacer{flex:1}.site-footer__link{font-size:13px;color:var(--vx-mint);transition:opacity .15s}.site-footer__link:hover{opacity:.75;color:var(--vx-mint)}html.vdb-v1 .vdb-v2-only{display:none!important}html.vdb-v2 .vdb-v1-only{display:none!important}.vdb-version-switcher{position:relative;display:inline-flex;align-items:center}.vdb-version-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--vx-white-20);background:0 0;color:var(--vx-bone);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;line-height:1.3;transition:background .15s,border-color .15s}.vdb-version-btn:hover{background:var(--vx-mint-12);border-color:var(--vx-mint)}.vdb-version-btn svg{width:14px;height:14px;opacity:.7;transition:transform .2s}.vdb-version-btn[data-state=open] svg{transform:rotate(180deg)}.vdb-version-menu{position:absolute;top:100%;right:0;z-index:110;min-width:9rem;margin-top:6px;padding:4px 0;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,8%);background:var(--vx-ink);box-shadow:var(--shadow-pop);list-style:none;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,visibility .15s,transform .15s}.vdb-version-menu[data-show=true]{opacity:1;visibility:visible;transform:translateY(0)}.vdb-version-menu li{list-style:none}.vdb-version-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:0 0;color:var(--vx-bone);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.vdb-version-menu button:hover{background:var(--vx-mint-08)}.vdb-version-menu button[aria-checked=true]{font-weight:600;color:var(--vx-mint)}.vdb-version-menu button[aria-checked=true]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vx-mint);flex-shrink:0}.vdb-version-menu button[aria-checked=false]::before{content:"";width:6px;height:6px;flex-shrink:0}.vdb-alpha-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-pill);background:var(--vx-sand-amber);color:var(--vx-ink);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media(max-width:900px){.page-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;top:0;border-right:none;border-bottom:1px solid rgba(255,255,255,6%);padding:12px 0}.site-nav__title{display:none}.site-nav__links{display:none}.site-footer{flex-wrap:wrap;padding:24px}}