*,*:before,*:after{box-sizing:border-box}*:not(dialog){margin:0}@media(prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}:root{color-scheme:light dark;--vcsi-color-black: #000;--vcsi-color-white: whitesmoke;--vcsi-color-beige: #f4efea;--vcsi-color-accent: #154734;--vcsi-color-uvm-green: #154734;--vcsi-color-uvm-gold: rgb(255, 209, 0);--vcsi-gray-100: rgb(239, 239, 239);--vcsi-gray-200: rgb(223, 223, 223);--vcsi-gray-300: rgb(202, 202, 202);--vcsi-gray-400: rgb(168, 168, 168);--vcsi-gray-600: rgb(109, 109, 109);--vcsi-gray-700: rgb(78, 78, 78);--vcsi-gray-800: rgb(55, 55, 55);--vcsi-gray-900: rgb(38, 38, 38);--vcsi-font-sans: "Atlas Grotesk", system-ui, sans-serif;--vcsi-font-serif: "Baskerville", Georgia, serif;--vcsi-font-mono: "Atlas Typewriter", "SF Mono", monospace;--vcsi-font-heading: var(--vcsi-font-serif);--vcsi-font-weight-light: 300;--vcsi-font-weight-regular: 400;--vcsi-font-weight-medium: 500;--vcsi-font-weight-semibold: 600;--vcsi-font-weight-bold: 700;--vcsi-line-height-tight: 1.17;--vcsi-line-height-snug: 1.33;--vcsi-line-height-normal: 1.5;--vcsi-line-height-relaxed: 1.6;--vcsi-font-size-giant: clamp(3rem, 10vw, 4rem);--vcsi-font-size-xl: clamp(1.8rem, 5vw, 3rem);--vcsi-font-size-lg: clamp(1.5rem, 2.5vw, 2.5rem);--vcsi-font-size-md: clamp(1.25rem, 1.75vw, 1.75rem);--vcsi-font-size-base: clamp(1.125rem, 1.2vw, 1.25rem);--vcsi-font-size-small: clamp(1rem, 1.1vw, 1.125rem);--vcsi-font-size-xs: clamp(.875rem, 1vw, 1rem);--vcsi-font-h1: var(--vcsi-font-size-xl);--vcsi-font-h2: var(--vcsi-font-size-lg);--vcsi-font-h3: var(--vcsi-font-size-md);--vcsi-font-h4: var(--vcsi-font-size-base);--vcsi-font-h5: var(--vcsi-font-size-base);--vcsi-font-h6: var(--vcsi-font-size-small);--vcsi-font-text: var(--vcsi-font-size-base);--vcsi-font-text-small: var(--vcsi-font-size-small);--vcsi-space-xs: .25rem;--vcsi-space-sm: .5rem;--vcsi-space-md: 1rem;--vcsi-space-lg: 1.5rem;--vcsi-space-xl: 2rem;--vcsi-space-2xl: 3rem;--vcsi-radius-sm: 3px;--vcsi-radius-md: 6px;--vcsi-radius-lg: 8px;--vcsi-radius-full: 9999px;--vcsi-transition-fast: .15s ease;--vcsi-transition-base: .2s ease;--vcsi-transition-slow: .3s ease;--vcsi-bg-light: var(--vcsi-color-beige);--vcsi-bg-dark: #1a1a1a;--vcsi-fg-light: var(--vcsi-gray-800);--vcsi-fg-dark: #e8e8e8;--vcsi-hover-light: rgba(0, 0, 0, .05);--vcsi-hover-dark: rgba(255, 255, 255, .1);--vcsi-border-light: var(--vcsi-gray-300);--vcsi-border-dark: rgba(255, 255, 255, .15);--vcsi-link-light: var(--vcsi-fg-light);--vcsi-link-dark: #8ab4f8;--vcsi-code-bg-light: #f6f8fa;--vcsi-code-bg-dark: #161b22;--vcsi-code-fg-light: #1f2328;--vcsi-code-fg-dark: #e6edf3;--vcsi-code-border-light: #d1d9e0;--vcsi-code-border-dark: #30363d;--vcsi-code-inline-bg-light: rgb(235, 235, 235);--vcsi-code-inline-bg-dark: rgb(55, 55, 55);--vcsi-blockquote-light: #2c5aa0;--vcsi-blockquote-dark: #4a90e2;--vcsi-code-highlight-light: rgba(255, 220, 100, .3);--vcsi-code-highlight-dark: rgba(255, 220, 100, .15);--vcsi-bg: var(--vcsi-bg-light);--vcsi-fg: var(--vcsi-fg-light);--vcsi-hover: var(--vcsi-hover-light);--vcsi-border: var(--vcsi-border-light);--vcsi-link: var(--vcsi-link-light);--vcsi-muted: var(--vcsi-gray-600);--vcsi-code-bg: var(--vcsi-code-bg-light);--vcsi-code-fg: var(--vcsi-code-fg-light);--vcsi-code-border: var(--vcsi-code-border-light);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-light);--vcsi-blockquote: var(--vcsi-blockquote-light);--vcsi-code-highlight: var(--vcsi-code-highlight-light);--vcsi-page-max-width: 1200px;--vcsi-page-inline-padding: 5%;--vcsi-content-padding-inline: 2rem;--vcsi-content-max-width: 600px;--vcsi-nav-height: 4.5rem;--vcsi-nav-bg: var(--vcsi-bg);--vcsi-nav-fg: var(--vcsi-fg);--vcsi-bottom-padding: 7.5rem}@media(prefers-color-scheme:dark){:root{--vcsi-bg: var(--vcsi-bg-dark);--vcsi-fg: var(--vcsi-fg-dark);--vcsi-hover: var(--vcsi-hover-dark);--vcsi-border: var(--vcsi-border-dark);--vcsi-link: var(--vcsi-link-dark);--vcsi-code-bg: var(--vcsi-code-bg-dark);--vcsi-code-fg: var(--vcsi-code-fg-dark);--vcsi-code-border: var(--vcsi-code-border-dark);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-dark);--vcsi-blockquote: var(--vcsi-blockquote-dark);--vcsi-code-highlight: var(--vcsi-code-highlight-dark)}}:root.dark{color-scheme:dark;--vcsi-bg: var(--vcsi-bg-dark);--vcsi-fg: var(--vcsi-fg-dark);--vcsi-hover: var(--vcsi-hover-dark);--vcsi-border: var(--vcsi-border-dark);--vcsi-link: var(--vcsi-link-dark);--vcsi-code-bg: var(--vcsi-code-bg-dark);--vcsi-code-fg: var(--vcsi-code-fg-dark);--vcsi-code-border: var(--vcsi-code-border-dark);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-dark);--vcsi-blockquote: var(--vcsi-blockquote-dark);--vcsi-code-highlight: var(--vcsi-code-highlight-dark)}:root:not(.dark){color-scheme:light;--vcsi-bg: var(--vcsi-bg-light);--vcsi-fg: var(--vcsi-fg-light);--vcsi-hover: var(--vcsi-hover-light);--vcsi-border: var(--vcsi-border-light);--vcsi-link: var(--vcsi-link-light);--vcsi-code-bg: var(--vcsi-code-bg-light);--vcsi-code-fg: var(--vcsi-code-fg-light);--vcsi-code-border: var(--vcsi-code-border-light);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-light);--vcsi-blockquote: var(--vcsi-blockquote-light);--vcsi-code-highlight: var(--vcsi-code-highlight-light)}body{font-family:var(--vcsi-font-serif, Georgia, serif);font-size:var(--vcsi-font-text, 1.125rem);line-height:var(--vcsi-line-height-relaxed, 1.6);background:var(--vcsi-bg);color:var(--vcsi-fg);transition:background-color var(--vcsi-transition-base),color var(--vcsi-transition-base);display:flex;flex-direction:column;min-height:100dvh}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--vcsi-font-heading, var(--vcsi-font-serif, Georgia, serif));font-weight:var(--vcsi-font-weight-bold, 700)}h1{font-size:var(--vcsi-font-h1);line-height:var(--vcsi-line-height-tight, 1.17);margin:2.5rem 0 1rem}h2{font-size:var(--vcsi-font-h2);line-height:var(--vcsi-line-height-tight, 1.17);margin:2.5rem 0 1rem}h3{font-size:var(--vcsi-font-h3);line-height:var(--vcsi-line-height-snug, 1.33);margin:2rem 0 .75rem}h4{font-size:var(--vcsi-font-h4);line-height:var(--vcsi-line-height-snug, 1.33);margin:1.5rem 0 .5rem}h5{font-size:var(--vcsi-font-h5);line-height:var(--vcsi-line-height-normal, 1.5);margin:1.25rem 0 .5rem}h6{font-size:var(--vcsi-font-h6);line-height:var(--vcsi-line-height-normal, 1.5);margin:1rem 0 .5rem}p{font-size:var(--vcsi-font-text, 1.125rem);line-height:var(--vcsi-line-height-relaxed, 1.6);margin-bottom:1rem}pre{background:var(--vcsi-code-bg);border:1px solid var(--vcsi-code-border);border-radius:var(--vcsi-radius-md);padding:var(--vcsi-space-md);margin:var(--vcsi-space-lg) 0;overflow-x:auto;font-family:var(--vcsi-font-mono, monospace);font-size:.85em;line-height:1.45}pre code{background:none;padding:0;border:none;color:var(--vcsi-code-fg)}:where(p,li) code{font-family:var(--vcsi-font-mono, monospace);font-size:.8em;background:var(--vcsi-code-inline-bg);padding:.125rem .35rem;border-radius:var(--vcsi-radius-sm)}blockquote{margin:var(--vcsi-space-xl) 0;padding:0 0 0 var(--vcsi-space-lg);font-size:1.1em;line-height:1.5;color:var(--vcsi-blockquote);border-left:3px solid var(--vcsi-blockquote)}blockquote p{margin:0}a{color:var(--vcsi-link, var(--vcsi-fg));cursor:pointer}a:hover{color:var(--vcsi-color-accent, #154734)}button,[role=button],summary{cursor:pointer}pre code .code-line{display:inline-block;min-width:100%;padding-left:var(--vcsi-space-md);padding-right:var(--vcsi-space-md);margin-left:calc(-1 * var(--vcsi-space-md));margin-right:calc(-1 * var(--vcsi-space-md));border-left:3px solid transparent}pre code .numbered-code-line:before{content:attr(data-line-number);display:inline-block;width:2rem;margin-right:var(--vcsi-space-md);text-align:right;color:#6e7781;-webkit-user-select:none;user-select:none}pre code .highlighted-code-line{background:var(--vcsi-code-highlight);border-left-color:#f0c000}.page{width:100%;max-width:var(--vcsi-page-max-width, 1200px);margin-inline:auto;padding-inline:var(--vcsi-page-inline-padding, 5%);padding-top:5.5rem;padding-bottom:var(--vcsi-bottom-padding)}.story{color-scheme:light;--vcsi-bg: var(--vcsi-bg-light);--vcsi-fg: var(--vcsi-fg-light);--vcsi-hover: var(--vcsi-hover-light);--vcsi-border: var(--vcsi-border-light);--vcsi-code-bg: var(--vcsi-code-bg-light);--vcsi-code-fg: var(--vcsi-code-fg-light);--vcsi-code-border: var(--vcsi-code-border-light);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-light);--vcsi-blockquote: var(--vcsi-blockquote-light);--vcsi-code-highlight: var(--vcsi-code-highlight-light);--vcsi-story-bg: var(--vcsi-color-beige, #f4efea);--vcsi-story-fg: rgb(55, 55, 55);--vcsi-story-max-width: 600px;--story-step-bg: #fff;--story-step-fg: #333;--story-step-bg-inactive: #f5f5f5;--story-step-fg-inactive: #ccc}.story{width:100%;min-height:71vh;padding-top:5.5rem;padding-bottom:var(--vcsi-bottom-padding);background:var(--vcsi-story-bg);color:var(--vcsi-story-fg)}@media(max-width:768px){.story{padding-top:6rem}}.story>h1,.story>h2,.story>h3,.story>p,.story>section,.story>header,.story>ul,.story>ol,.story>blockquote,.story>pre{width:100%;max-width:var(--vcsi-story-max-width);margin-inline:auto;padding-inline:var(--vcsi-space-md)}.story>.split-layout,.story>.fullscreen-layout,.story>.triple-layout,.story>.scrolly-section{max-width:none;padding-inline:0}.story[data-theme=dark]{color-scheme:dark;--vcsi-story-bg: #353839;--vcsi-story-fg: white;--vcsi-code-bg: var(--vcsi-code-bg-dark);--vcsi-code-fg: var(--vcsi-code-fg-dark);--vcsi-code-border: var(--vcsi-code-border-dark);--vcsi-code-inline-bg: var(--vcsi-code-inline-bg-dark);--vcsi-blockquote: var(--vcsi-blockquote-dark);--vcsi-code-highlight: var(--vcsi-code-highlight-dark);--story-step-bg: #2a2a2a;--story-step-fg: #e8e8e8;--story-step-bg-inactive: #222;--story-step-fg-inactive: #666}.story[data-theme=dark],.story[data-theme=dark] h1,.story[data-theme=dark] h2,.story[data-theme=dark] h3,.story[data-theme=dark] p,.story[data-theme=dark] a,.story[data-theme=dark] section{color:var(--vcsi-story-fg)}.split-layout{--vcsi-panel-min-width: 450px;--vcsi-panel-width: 45%;--vcsi-panel-height: min(80vh, 600px);--vcsi-panel-top-offset: calc((100vh - var(--vcsi-panel-height)) / 2);--vcsi-layout-gap: 2rem;position:relative;display:grid;grid-template-columns:1fr minmax(var(--vcsi-panel-min-width),var(--vcsi-panel-width));gap:var(--vcsi-layout-gap);align-items:start;padding-inline:var(--vcsi-content-padding-inline, 2rem);--vcsi-content-max-width: none}.split-layout.reversed{grid-template-columns:minmax(var(--vcsi-panel-min-width),var(--vcsi-panel-width)) 1fr}.split-layout .sticky-panel{position:sticky;top:var(--vcsi-panel-top-offset);height:var(--vcsi-panel-height);grid-column:2;display:flex;align-items:center;justify-content:center}.split-layout.reversed .sticky-panel{grid-column:1}.split-layout .scrolly-content{grid-column:1;margin:0}.split-layout.reversed .scrolly-content{grid-column:2}@media(max-width:768px){.split-layout{grid-template-columns:1fr;padding-inline:0;--vcsi-step-max-width: 100%;max-width:100vw;overflow-x:clip}.split-layout .sticky-panel{position:sticky;top:0;height:100vh;grid-column:1;grid-row:1;width:100%;min-width:0;z-index:0;display:flex;align-items:center;justify-content:center}.split-layout .scrolly-content,.split-layout .scrolly-outer{grid-column:1;grid-row:1;z-index:1;pointer-events:none;padding-inline:.5rem}.split-layout.reversed .sticky-panel,.split-layout.reversed .scrolly-content{grid-column:1}}.fullscreen-layout{position:relative;width:100vw;margin-left:calc(-50vw + 50%);--vcsi-step-max-width: 500px;--vcsi-step-padding: 2rem;--vcsi-step-pointer-events: none}.fullscreen-layout .sticky-panel{position:sticky;top:0;width:100vw;height:100vh;z-index:0}.fullscreen-layout .scrolly-content{position:relative;z-index:1;margin:0 auto}@media(max-width:768px){.fullscreen-layout{display:grid;grid-template-columns:1fr;overflow-x:clip}.fullscreen-layout .sticky-panel{grid-column:1;grid-row:1}.fullscreen-layout .scrolly-content,.fullscreen-layout .scrolly-outer{grid-column:1;grid-row:1;z-index:1;pointer-events:none;padding-inline:.5rem}}.triple-layout{--vcsi-panel-height: min(95vh, 900px);--vcsi-panel-top-offset: calc((100vh - var(--vcsi-panel-height)) / 2);--vcsi-layout-gap: 1.5rem;position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--vcsi-layout-gap);align-items:start;padding-inline:var(--vcsi-content-padding-inline, 2rem)}.triple-layout .scrolly-content{grid-column:1}.triple-layout .code-panel{position:sticky;top:var(--vcsi-panel-top-offset);height:var(--vcsi-panel-height);grid-column:2}.triple-layout .chart-panel{position:sticky;top:var(--vcsi-panel-top-offset);height:var(--vcsi-panel-height);grid-column:3}@media(max-width:1024px){.triple-layout{grid-template-columns:1fr 1fr}.triple-layout .chart-panel{grid-column:2;grid-row:1}.triple-layout .code-panel{display:none}}@media(max-width:768px){.triple-layout{grid-template-columns:1fr}.triple-layout .chart-panel{position:sticky;top:0;height:100vh;max-height:none;grid-column:1;grid-row:1;z-index:0;display:flex;align-items:center;justify-content:center}.triple-layout .scrolly-content{grid-column:1;grid-row:1;z-index:1;pointer-events:none;padding-inline:.5rem}}.dashboard-layout{--vcsi-sidebar-width: 280px;--vcsi-sidebar-collapsed-width: 48px;--vcsi-sidebar-transition: var(--vcsi-transition-slow);--vcsi-sidebar-bg: #ebe6e1;--vcsi-z-overlay: 1000;display:grid;grid-template-columns:var(--vcsi-sidebar-width) 1fr;height:100vh;width:100%;transition:grid-template-columns var(--vcsi-sidebar-transition)}.dashboard-layout.sidebar-collapsed{grid-template-columns:var(--vcsi-sidebar-collapsed-width) 1fr}.dashboard-sidebar{position:relative;background:var(--vcsi-sidebar-bg);border-right:1px solid var(--vcsi-border);overflow:hidden;transition:width var(--vcsi-sidebar-transition)}.dashboard-layout .sidebar-toggle{position:absolute;top:var(--vcsi-space-md);left:calc(var(--vcsi-sidebar-width) - 32px - var(--vcsi-space-md));width:32px;height:32px;padding:0;border:1px solid var(--vcsi-border);border-radius:4px;background:var(--vcsi-color-white, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:left var(--vcsi-sidebar-transition),transform var(--vcsi-sidebar-transition);z-index:10}.dashboard-layout.sidebar-collapsed .sidebar-toggle{left:8px;transform:rotate(180deg)}.dashboard-sidebar .sidebar-content{padding:4rem var(--vcsi-space-lg) var(--vcsi-space-lg);min-width:var(--vcsi-sidebar-width);opacity:1;transition:opacity calc(var(--vcsi-sidebar-transition) / 2) calc(var(--vcsi-sidebar-transition) / 2)}.dashboard-layout.sidebar-collapsed .sidebar-content{opacity:0;pointer-events:none;transition:opacity calc(var(--vcsi-sidebar-transition) / 2) 0s}.dashboard-main{position:relative;overflow:hidden;padding:var(--vcsi-space-lg);display:flex;flex-direction:column;height:100%}.dashboard-sidebar h3{font-family:var(--vcsi-font-sans, system-ui, sans-serif);font-size:var(--vcsi-font-size-small, 14px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--vcsi-space-lg);color:var(--vcsi-gray-700, rgb(78, 78, 78))}.dashboard-sidebar label{display:block;font-family:var(--vcsi-font-sans, system-ui, sans-serif);font-size:var(--vcsi-font-size-xs, 12px);font-weight:500;margin-bottom:var(--vcsi-space-sm);color:var(--vcsi-gray-700, rgb(78, 78, 78))}.dashboard-sidebar select{width:100%;padding:var(--vcsi-space-sm) .75rem;font-family:var(--vcsi-font-sans, system-ui, sans-serif);font-size:var(--vcsi-font-size-small, 14px);border:1px solid var(--vcsi-border);border-radius:4px;background:var(--vcsi-color-white, #fff);margin-bottom:var(--vcsi-space-lg)}.dashboard-sidebar fieldset{border:none;padding:0;margin:0 0 var(--vcsi-space-lg)}.dashboard-sidebar legend{font-family:var(--vcsi-font-sans, system-ui, sans-serif);font-size:var(--vcsi-font-size-xs, 12px);font-weight:500;margin-bottom:.75rem;color:var(--vcsi-gray-700, rgb(78, 78, 78))}.dashboard-sidebar .checkbox-group{display:flex;flex-direction:column;gap:var(--vcsi-space-sm)}.dashboard-sidebar .checkbox-group label{display:flex;align-items:center;gap:var(--vcsi-space-sm);font-weight:400;margin-bottom:0;cursor:pointer}.dashboard-sidebar .checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--vcsi-color-accent, #154734)}@media(max-width:768px){.dashboard-layout{display:block;position:relative}.dashboard-sidebar{position:fixed;top:0;left:0;right:0;width:100%;max-height:95vh;height:auto;z-index:var(--vcsi-z-overlay);transform:translateY(-100%);transition:transform var(--vcsi-sidebar-transition);border-right:none;border-bottom:1px solid var(--vcsi-border);overflow-y:auto}.dashboard-layout.sidebar-open .dashboard-sidebar{transform:translateY(0)}.dashboard-sidebar .sidebar-content{opacity:1;pointer-events:auto;padding:var(--vcsi-space-md) var(--vcsi-space-lg) var(--vcsi-space-lg)}.dashboard-layout .sidebar-toggle{position:fixed;top:var(--vcsi-space-md);right:var(--vcsi-space-md);left:auto;width:2.5rem;height:2.5rem;border:none;border-radius:var(--vcsi-radius-md);background:transparent;color:var(--vcsi-gray-900, rgb(38, 38, 38));z-index:calc(var(--vcsi-z-overlay) + 1);transform:none}.dashboard-layout .sidebar-toggle:hover{background:#0000000d}.dashboard-layout.sidebar-open .sidebar-toggle{top:var(--vcsi-space-md);right:var(--vcsi-space-md);left:auto;transform:none}.dashboard-main{width:100%;height:100vh;padding:0}.dashboard-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:calc(var(--vcsi-z-overlay) - 1)}.dashboard-layout.sidebar-open .dashboard-backdrop{display:block}}@media(min-width:769px){.dashboard-backdrop{display:none}}@font-face{font-family:Atlas Grotesk;src:url(../../../assets/fonts/atlas/AtlasGrotesk-Regular-Web.woff2) format("woff2");font-weight:400;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:Atlas Grotesk;src:url(../../../assets/fonts/atlas/AtlasGrotesk-Bold-Web.woff2) format("woff2");font-weight:700;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:Atlas Typewriter;src:url(../../../assets/fonts/atlas/AtlasTypewriter-Medium-Web.woff2) format("woff2");font-weight:500;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:Baskerville;src:url(../../../assets/fonts/baskerville/Baskervville-Regular.ttf) format("TrueType");font-weight:400;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:Baskerville;src:url(../../../assets/fonts/baskerville/Baskervville-SemiBold.ttf) format("TrueType");font-weight:600;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:Baskerville;src:url(../../../assets/fonts/baskerville/Baskervville-Bold.ttf) format("TrueType");font-weight:700;font-style:normal;font-stretch:normal;font-display:swap}
