:root{color-scheme:light;--vb5-paper: #FFFFFF;--vb5-platinum: #E4E9F1;--vb5-ink: #080F1F;--vb5-carbon: #0B0B0D;--vb5-canvas: #000000;--vb5-graphite: #3D424B;--vb5-mute: #8C929C;--vb5-rule: #C9CDD4;--vb5-coral: #FF6B5C;--vb5-coral-deep: #CE3A27;--vb5-coral-shoulder: #9E3125;--vb5-green: #146B32;--vb5-green-dark: #4FBE7B;--vb5-on-dark: #ECEEF2;--vb5-on-dark-2: #D3D7DE;--vb5-on-dark-3: #B9BEC6;--vb5-on-dark-dim:#8B919C;--vb5-nav-dim: #9BA1AB;--vb5-hair-dark: rgba(255, 255, 255, .09);--vb5-edge-dark: rgba(255, 255, 255, .18);--vb5-hair-light: rgba(11, 11, 13, .12);--vb5-edge-light: rgba(11, 11, 13, .24);--vb4-stage: #E4E9F1;--vb4-card: #FFFFFF;--vb4-inner: #EDF1F8;--vb4-dark: #080F1F;--vb4-ink: #0B1B3A;--vb4-slate: #48505F;--vb4-blue: #1E5AE0;--vb4-blue-text: #1747B8;--vb4-blue-deep: #123A96;--vb4-red: #D93025;--vb4-red-text: #A22014;--vb4-coral: #FF6B5C;--vb4-on-dark: #EBF0F7;--vb4-on-dark-dim: #96A2B8;--vb4-chrome-dot: #64748B;--vb4-green-dark-surface: #6FD39B;--vb4-red-fail: #F05A4C;--vb4-chrome: #7E8BA3;--vb4-chrome-2: #9AA6BC;--vb4-dark-2: #0C1730;--vb4-dark-3: #101C38;--vb4-line-dark-2: #1E2A48;--vb4-on-dark-2: #DCE4F0;--vb4-rad: 14px;--vb4-rad-2: 9px;--vb4-rad-3: 6px;--vb4-rad-badge: 3px;--vb4-rad-tile: 4px;--vb4-shadow-card: 0 22px 48px -30px rgba(11, 27, 58, .5);--vb4-shadow-inner: 0 8px 20px -14px rgba(11, 27, 58, .28);--vb4-shadow-hero: 0 30px 70px -36px rgba(0, 0, 0, .8);--vb4-line-hair: rgba(11, 27, 58, .12);--vb4-line-dark: rgba(255, 255, 255, .09);--vb-font-d: "Archivo", ui-sans-serif, system-ui, sans-serif;--vb-font-u: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--vb-font-m: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--vb-t-d1: clamp(2.55rem, 1.6rem + 3.9vw, 3.56rem);--vb-t-d2: clamp(1.9rem, 1.35rem + 2vw, 2.5rem);--vb-t-d3: clamp(1.35rem, 1.1rem + 1.1vw, 2rem);--vb-t-lede: clamp(1.02rem, .96rem + .45vw, 1.24rem);--vb-t-body: clamp(.98rem, .94rem + .2vw, 1.06rem);--vb-s-1: 4px;--vb-s-2: 8px;--vb-s-3: 12px;--vb-s-4: 16px;--vb-s-5: 24px;--vb-s-6: 32px;--vb-s-7: 48px;--vb-s-8: 64px;--vb-s-9: 96px;--vb-s-10: 128px;--vb-gutter: clamp(18px, 5vw, 72px);--vb-section-pad: clamp(4rem, 8vw, 7.5rem);--vb-maxw: 1296px;--vb-nav-h: 72px;--vb-dur-fast: .16s;--vb-dur-base: .28s;--vb-dur-slow: .6s;--vb-ease-standard: cubic-bezier(.2, .7, .25, 1);--vb-ease-out: cubic-bezier(.16, 1, .3, 1)}:root{--vb-surface-page: var(--vb4-stage);--vb-surface-panel: var(--vb4-card);--vb-surface-raised: var(--vb4-card);--vb-surface-control: var(--vb4-inner);--vb-surface-screen: var(--vb4-dark);--vb-text-primary: var(--vb4-ink);--vb-text-secondary: var(--vb4-slate);--vb-text-tertiary: var(--vb4-slate);--vb-text-tertiary-raised: var(--vb4-slate);--vb-answer-fg: var(--vb4-blue-text);--vb-answer-fill: var(--vb4-blue);--vb-text-on-answer: #FFFFFF;--vb-answer-edge: var(--vb4-blue-deep);--vb-cite-fg: var(--vb4-red-text);--vb-cite-fill: var(--vb4-red);--vb-text-on-cite: #FFFFFF;--vb-state-weak: var(--vb4-slate);--vb-line-hair: var(--vb4-line-hair);--vb-line-firm: #CEDAEC;--vb-e-1: 0 1px 2px rgba(11, 27, 58, .08);--vb-e-2: var(--vb4-shadow-card);--vb-e-answer: var(--vb4-shadow-inner);--vb-key-edge-neutral: #CEDAEC;--vb-focus-ink: var(--vb4-ink);--vb-mark-accent: var(--vb4-red);--vb-disp-wght: 800;--vb-r-1: var(--vb4-rad-badge);--vb-cut-1: 0px;--vb-cut-2: 0px;--vb-dur-theme: 0ms;--vb-dur-hero: 2.4s;--vb-bg: var(--vb4-stage);--vb-band2: var(--vb4-card);--vb-band3: var(--vb4-inner);--vb-band-ink: var(--vb4-ink);--vb-on-panel: var(--vb4-on-dark);--vb-on-panel-dim: var(--vb4-on-dark-dim);--vb-card: var(--vb4-card);--vb-line: var(--vb4-line-hair);--vb-ink: var(--vb4-ink);--vb-ink2: var(--vb4-slate);--vb-accent: var(--vb4-blue);--vb-accent-deep: var(--vb4-blue-text);--vb-accent-text: #FFFFFF;--vb-accent-on-dark: var(--vb4-blue);--vb-hi: var(--vb4-blue);--vb-hi-text: #FFFFFF;--vb-frame: var(--vb4-blue-text);--vb-glow: rgba(30, 90, 224, .14);--vb-nav-bg: var(--vb4-card);--vb-nav-ink: var(--vb4-ink);--vb-nav-dim: var(--vb4-slate);--vb-nav-line: var(--vb4-line-hair);--vb-nav-active: var(--vb4-blue-text);--vb-header-band: var(--vb4-card);--vb-h1-size: 44px;--vb-rad-card: var(--vb4-rad);--vb-rad-btn: 0px;--vb-rad-badge: var(--vb4-rad-badge);--vb-rad-chip: var(--vb4-rad-badge);--vb-shadow: var(--vb4-shadow-card);--vb-disp-w: 800;--vb-disp-t: -.024em;--vb-disp-l: 1.04;--vb-close-l: .96;--vb-label-t: .08em;--vb-label-size: 12px;--vb-panel: var(--vb4-dark);--vb-panel-soft: #101A30;--vb-accent-soft: var(--vb4-inner);--vb-accent-soft-text: var(--vb4-blue-text);--vb-badge-dark: var(--vb4-blue);--vb-badge-dark-text: #FFFFFF;--vb-confetti-on: none;--vb-confetti-violet: transparent;--vb-confetti-yellow: transparent;--vb-confetti-blue: transparent;--vb-confetti-green: transparent}.vb-root{min-height:100vh;background:var(--vb4-stage);color:var(--vb4-ink);font-family:var(--vb-font-u);font-size:var(--vb-t-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}.vb-root *,.vb-root *:before,.vb-root *:after{box-sizing:border-box}::selection{background:#1e5ae0;color:#fff}.vb-section{padding:var(--vb-section-pad) var(--vb-gutter)}.vb-inner{max-width:var(--vb-maxw);margin:0 auto}.vb-band{background:var(--vb4-stage)}.vb-band--alt{background:var(--vb4-card)}.vb-band--alt2{background:var(--vb4-inner)}.vb-band--dark{background:var(--vb4-dark);color:var(--vb4-on-dark)}.vb-card{background:var(--vb4-card);border:none;border-radius:var(--vb4-rad);box-shadow:var(--vb4-shadow-card)}.vb-card--inner{background:var(--vb4-inner);border-radius:var(--vb4-rad-2);box-shadow:var(--vb4-shadow-inner)}.vb-card--sub{background:var(--vb4-card);border-radius:var(--vb4-rad-3);box-shadow:none}.vb-btn{display:inline-flex;align-items:center;gap:14px;border:none;cursor:pointer;background:var(--vb4-blue);color:#fff;box-shadow:0 3px 0 var(--vb4-blue-deep);padding:11px 12px 11px 22px;font-family:var(--vb-font-d);font-stretch:92%;font-weight:700;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;line-height:1;text-decoration:none;border-radius:0;transition:background-color var(--vb-dur-fast) var(--vb-ease-standard)}.vb-btn:hover{background:var(--vb4-blue-text);color:#fff}.vb-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--vb4-blue-deep)}.vb-btn:focus-visible{outline:none;box-shadow:0 3px 0 var(--vb4-blue-deep),0 0 0 2px #fff,0 0 0 4px var(--vb4-ink)}.vb-btn__tile{width:28px;height:28px;border-radius:var(--vb4-rad-tile);background:#fff;color:var(--vb4-ink);display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none;transition:transform var(--vb-dur-fast) var(--vb-ease-standard)}.vb-btn:hover .vb-btn__tile{transform:translate(2px)}.vb-btn--lg{padding:12px 13px 12px 26px;font-size:15px;gap:16px;box-shadow:0 4px 0 var(--vb4-blue-deep)}.vb-btn--lg .vb-btn__tile{width:30px;height:30px;font-size:15px}.vb-btn--sm{padding:8px 9px 8px 18px;font-size:12.5px;gap:11px;box-shadow:0 2px 0 var(--vb4-blue-deep)}.vb-btn--sm .vb-btn__tile{width:24px;height:24px;font-size:12px}.vb-btn--accent,.vb-btn--hi{background:var(--vb4-blue);color:#fff}.vb-btn--accent:hover,.vb-btn--hi:hover{background:var(--vb4-blue-text)}.vb-btn--outline-dark{background:transparent;color:var(--vb4-on-dark);border:1px solid rgba(255,255,255,.18);box-shadow:none;padding:15px 26px;transition:border-color var(--vb-dur-fast) var(--vb-ease-standard)}.vb-btn--outline-dark:hover{background:transparent;border-color:var(--vb4-on-dark-dim);color:var(--vb4-on-dark)}.vb-btn--outline-dark:active{transform:none;box-shadow:none}.vb-btn--outline-dark:focus-visible{box-shadow:0 0 0 2px var(--vb4-dark),0 0 0 4px var(--vb4-on-dark)}.vb-btn--coral{background:var(--vb5-coral);color:var(--vb5-carbon);box-shadow:0 4px 0 var(--vb5-coral-shoulder);transition:transform var(--vb-dur-fast) var(--vb-ease-standard),box-shadow var(--vb-dur-fast) var(--vb-ease-standard)}.vb-btn--coral:hover{background:var(--vb5-coral);color:var(--vb5-carbon);box-shadow:0 2px 0 var(--vb5-coral-shoulder);transform:translateY(2px)}.vb-btn--coral:active{box-shadow:none;transform:translateY(4px)}.vb-btn--coral:focus-visible{outline:2px solid var(--vb5-carbon);outline-offset:0;box-shadow:0 4px 0 var(--vb5-coral-shoulder),0 0 0 4px var(--vb5-on-dark)}.vb-btn--coral .vb-btn__tile{border-radius:0;background:var(--vb5-carbon);color:var(--vb5-coral)}.vb-btn--coral:hover .vb-btn__tile{transform:none}.vb-btn--coral-deep{background:var(--vb5-coral-deep);color:#fff;box-shadow:0 4px 0 var(--vb5-coral-shoulder);transition:transform var(--vb-dur-fast) var(--vb-ease-standard),box-shadow var(--vb-dur-fast) var(--vb-ease-standard)}.vb-btn--coral-deep:hover{background:var(--vb5-coral-deep);color:#fff;box-shadow:0 2px 0 var(--vb5-coral-shoulder);transform:translateY(2px)}.vb-btn--coral-deep:active{box-shadow:none;transform:translateY(4px)}.vb-btn--coral-deep:focus-visible{outline:2px solid var(--vb5-carbon);outline-offset:3px;box-shadow:0 4px 0 var(--vb5-coral-shoulder)}.vb-btn--coral-deep .vb-btn__tile{border-radius:0;background:#fff;color:var(--vb5-coral-deep)}.vb-btn--coral-deep:hover .vb-btn__tile{transform:none}.vb-btn--outline-light{background:transparent;color:var(--vb5-carbon);border:1px solid var(--vb5-edge-light);box-shadow:none}.vb-btn--outline-light:hover{background:transparent;border-color:var(--vb5-carbon);color:var(--vb5-carbon)}.vb-btn--outline-light:active{transform:none;box-shadow:none}.vb-btn--outline-light .vb-btn__tile{background:transparent;color:var(--vb5-carbon)}.vb-band--paper{background:var(--vb5-paper)}.vb-band--platinum{background:var(--vb5-platinum)}.vb-band--ink{background:var(--vb5-ink);color:var(--vb5-on-dark)}.vb-band--carbon{background:var(--vb5-carbon);color:var(--vb5-on-dark)}.vb-prose{max-width:68ch;font-family:var(--vb-font-u);font-size:var(--vb-t-body);line-height:1.65;color:var(--vb5-graphite)}.vb-prose>*+*{margin-top:1rem}.vb-prose h2{margin:2.4rem 0 .6rem;font-family:var(--vb-font-d);font-size:clamp(1.3rem,1.1rem + .7vw,1.65rem);font-weight:800;font-stretch:88%;letter-spacing:-.018em;line-height:1.15;color:var(--vb5-carbon)}.vb-prose h3{margin:1.8rem 0 .4rem;font-family:var(--vb-font-u);font-size:1.06rem;font-weight:600;color:var(--vb5-carbon)}.vb-prose h2:first-child,.vb-prose h3:first-child{margin-top:0}.vb-prose p{margin:0}.vb-prose strong{color:var(--vb5-carbon);font-weight:600}.vb-prose ul,.vb-prose ol{margin:0;padding-left:1.3rem}.vb-prose li+li{margin-top:.5rem}.vb-prose a{color:var(--vb5-coral-deep);text-decoration:underline;text-underline-offset:2px}.vb-prose a:hover{color:var(--vb5-carbon)}.vb-prose__meta{font-family:var(--vb-font-m);font-size:12px;letter-spacing:var(--vb-label-t);text-transform:uppercase;color:var(--vb5-graphite);font-variant-numeric:tabular-nums}.vb-btn--ghost,.vb-btn--secondary{background:var(--vb4-inner);color:var(--vb4-ink);box-shadow:none}.vb-btn--ghost:hover,.vb-btn--secondary:hover{background:#cedaec;color:var(--vb4-ink)}.vb-btn--ghost:active,.vb-btn--secondary:active{transform:none}.vb-textlink{font-size:15px;font-weight:500;color:var(--vb4-blue-text);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color var(--vb-dur-fast) var(--vb-ease-standard)}.vb-textlink:hover{border-bottom-color:var(--vb4-blue-text)}.vb-tag{background:var(--vb4-blue);color:#fff;font-family:var(--vb-font-m);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--vb4-rad-badge);overflow:hidden;display:inline-flex;align-items:stretch;font-variant-numeric:tabular-nums}.vb-tag__cell{display:inline-flex;align-items:center;padding:6px 8px;border-right:1px solid rgba(255,255,255,.35)}.vb-tag__text{display:inline-flex;align-items:center;padding:6px 10px}.vb-tag--named{background:var(--vb4-red)}.vb-tag--not{background:transparent;border:1px solid var(--vb4-red);color:var(--vb4-red)}.vb-tag--not .vb-tag__cell{border-right-color:#d9302566;padding:5px 8px}.vb-tag--not .vb-tag__text{padding:5px 10px}.vb-pill{font-family:var(--vb-font-m);font-size:8.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--vb4-red);padding:3px 7px;border-radius:var(--vb4-rad-tile);white-space:nowrap}.vb-pill--blue{background:var(--vb4-blue)}.vb-chip{background:var(--vb4-inner);color:var(--vb4-slate);font-family:var(--vb-font-m);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border:none;border-radius:var(--vb4-rad-badge);text-decoration:none;transition:color var(--vb-dur-fast) var(--vb-ease-standard)}a.vb-chip,button.vb-chip{cursor:pointer}.vb-chip:hover{color:var(--vb4-ink)}.vb-chip--active{background:var(--vb4-blue);color:#fff;font-weight:600}.vb-chip--active:hover{color:#fff}.vb-meta{font-family:var(--vb-font-m);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vb4-slate);font-variant-numeric:tabular-nums}.vb-meta__slash{color:var(--vb4-red-text)}.vb-band--dark .vb-meta{color:var(--vb4-on-dark-dim)}.vb-band--dark .vb-meta__slash{color:var(--vb4-coral)}.vb-badge{display:inline-block;font-family:var(--vb-font-m);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--vb4-blue-text);background:var(--vb4-inner);border-radius:var(--vb4-rad-badge);padding:5px 12px}.vb-badge--on-dark{color:#fff;background:var(--vb4-blue)}.vb-display{margin:0;font-family:var(--vb-font-d);font-stretch:84%;font-weight:800;text-transform:uppercase;letter-spacing:-.024em;line-height:1.02;color:var(--vb4-ink)}.vb-display--d1{font-size:var(--vb-t-d1);line-height:.99}.vb-display--d2{font-size:var(--vb-t-d2)}.vb-display--d3{font-size:var(--vb-t-d3);font-stretch:88%;letter-spacing:-.015em;line-height:1.1}.vb-band--dark .vb-display{color:var(--vb4-on-dark)}.vb-h2{margin:0;font-family:var(--vb-font-d);font-stretch:84%;font-weight:800;line-height:1.04;letter-spacing:-.024em;color:var(--vb4-ink)}.vb-h3{margin:0;font-family:var(--vb-font-d);font-stretch:88%;font-weight:800;letter-spacing:-.015em;text-transform:uppercase;color:var(--vb4-ink)}.vb-lede{margin:0;font-size:var(--vb-t-lede);line-height:1.55;max-width:46ch;color:var(--vb4-slate)}.vb-body{margin:0;font-size:var(--vb-t-body);line-height:1.6;max-width:66ch;color:var(--vb4-slate)}.vb-band--dark .vb-lede,.vb-band--dark .vb-body{color:var(--vb4-on-dark-dim)}.vb-label{font-family:var(--vb-font-m);font-size:var(--vb-label-size);font-weight:500;letter-spacing:var(--vb-label-t);text-transform:uppercase;font-variant-numeric:tabular-nums}.vb-eyebrow{margin:0 0 16px;font-family:var(--vb-font-m);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--vb4-blue-text)}.vb-eyebrow--red{color:var(--vb4-red-text)}.vb-eyebrow--on-dark{color:#fff}.vb-caption{margin:0;font-size:12.5px;line-height:1.5;color:var(--vb4-slate)}.vb-caption--on-dark{color:var(--vb4-on-dark-dim)}.vb-rule{border:0;border-top:1px solid var(--vb4-line-hair);margin:0}.vb-rule--on-dark{border-top-color:var(--vb4-line-dark)}.vb-panel{background:var(--vb4-dark);color:var(--vb4-on-dark);border-radius:0;padding:clamp(24px,3vw,40px)}.vb-lockup__name{font-weight:600;color:inherit}.vb-lockup__role{color:var(--vb4-slate)}.vb-panel .vb-lockup__role,.vb-band--dark .vb-lockup__role{color:var(--vb4-on-dark-dim)}.vb-browser{background:var(--vb4-stage);border-radius:var(--vb4-rad);padding:14px}.vb-band--dark .vb-browser{box-shadow:var(--vb4-shadow-hero)}.vb-browser__win{background:var(--vb4-card);border-radius:var(--vb4-rad-2);overflow:hidden;box-shadow:var(--vb4-shadow-inner)}.vb-browser__bar{background:var(--vb4-inner);border-bottom:1px solid var(--vb4-stage);padding:10px 14px;display:flex;align-items:center;gap:12px}.vb-browser__dots{display:flex;gap:6px;flex-shrink:0}.vb-browser__dot{width:9px;height:9px;border-radius:50%;background:var(--vb4-chrome-dot);display:inline-block}.vb-browser__url{flex:1;background:var(--vb4-card);border-radius:99px;padding:6px 14px;display:flex;align-items:center;gap:8px;min-width:0;font-family:var(--vb-font-m);font-size:11px;letter-spacing:.01em;color:var(--vb4-ink);white-space:nowrap;overflow:hidden}.vb-confetti{display:var(--vb-confetti-on);position:absolute;pointer-events:none;z-index:0}:where(a,input,textarea,select,summary,[tabindex]):focus-visible,:where(button:not(.vb-btn)):focus-visible{outline:none;box-shadow:0 0 0 2px var(--vb4-stage),0 0 0 4px var(--vb4-ink)}.vb-band--dark :where(a:not(.vb-btn),button:not(.vb-btn)):focus-visible{box-shadow:0 0 0 2px var(--vb4-dark),0 0 0 4px var(--vb4-on-dark)}.vb-input{height:48px;padding:0 14px;border-radius:var(--vb4-rad-3);border:1.5px solid #CEDAEC;background:var(--vb4-card);color:var(--vb4-ink);font-family:var(--vb-font-u);font-size:16px;caret-color:var(--vb4-blue)}.vb-input:focus-visible{outline:none;border-color:var(--vb4-ink);box-shadow:0 0 0 2px var(--vb4-stage),0 0 0 4px var(--vb4-ink)}@keyframes vb-ekg{0%{stroke-dashoffset:100}28%{stroke-dashoffset:0}34%{stroke-dashoffset:0}40%{stroke-dashoffset:-8}46%{stroke-dashoffset:0}to{stroke-dashoffset:0}}@keyframes vb-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes vb-resolve{0%{opacity:0;filter:blur(5px);transform:translateY(3px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes vb-fill{0%{width:0}}@keyframes vb-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes vb-trace{to{stroke-dashoffset:0}}@keyframes vbCaret{50%{opacity:0}}@keyframes vbPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.vb-pulse{animation:none!important;stroke-dasharray:none!important}.vb-root [data-anim]{animation:none!important}.vb-root *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
