@font-face{font-family:'CTA Geist';src:url('./assets/fonts/geist-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'CTA Geist Mono';src:url('./assets/fonts/geist-mono.woff2') format('woff2');font-weight:400;font-display:swap}
.ds-root{--ds-color-background:var(--ds-theme-canvas);--ds-color-foreground:var(--ds-theme-ink);--ds-color-muted:color-mix(in srgb,var(--ds-color-foreground) 82%,var(--ds-color-background));--ds-color-line:color-mix(in srgb,var(--ds-color-foreground) 45%,var(--ds-color-background));--ds-color-control:color-mix(in srgb,var(--ds-color-foreground) 65%,var(--ds-color-background));--ds-color-tint:color-mix(in srgb,var(--ds-color-foreground) 9%,var(--ds-color-background));color:var(--ds-color-foreground);background:var(--ds-color-background);font:400 var(--ds-type-body)/var(--ds-type-bodyLeading) var(--ds-font-body);accent-color:var(--ds-color-foreground);caret-color:var(--ds-color-foreground);scrollbar-color:var(--ds-color-foreground) var(--ds-color-background);scrollbar-width:thin}
body.ds-root{margin:0;min-height:100vh}
.ds-root[data-ds-theme='paper']{--ds-theme-canvas:var(--ds-color-paper);--ds-theme-ink:var(--ds-color-blue)}
.ds-inverse{--ds-color-background:var(--ds-theme-ink);--ds-color-foreground:var(--ds-theme-canvas);--ds-color-muted:color-mix(in srgb,var(--ds-color-foreground) 82%,var(--ds-color-background));--ds-color-line:color-mix(in srgb,var(--ds-color-foreground) 45%,var(--ds-color-background));--ds-color-control:color-mix(in srgb,var(--ds-color-foreground) 65%,var(--ds-color-background));--ds-color-tint:color-mix(in srgb,var(--ds-color-foreground) 9%,var(--ds-color-background));color:var(--ds-color-foreground);background:var(--ds-color-background)}
.ds-root :where(*,::before,::after){box-sizing:border-box}
.ds-root :where(h1,h2,h3,p,ul,ol,dl,dd,figure,pre){margin:0}
.ds-root :where(button,input,select,textarea){font:inherit;color:inherit}
.ds-root :where(a){color:inherit;text-underline-offset:.2em}
.ds-root :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--ds-control-focus) solid var(--ds-color-foreground);outline-offset:var(--ds-space-s4)}
.ds-root ::selection{color:var(--ds-color-background);background:var(--ds-color-foreground)}
.ds-root [hidden]{display:none!important}
.ds-root :where(img,svg){max-width:100%;vertical-align:middle}
.ds-film{position:relative;isolation:isolate}
.ds-film::after{content:'';position:fixed;inset:0;z-index:100;pointer-events:none;background:url('./assets/film-grain.png') repeat;opacity:var(--ds-film-strength);mix-blend-mode:soft-light}
.ds-container{width:100%;max-width:var(--ds-layout-content);margin-inline:auto;padding-inline:var(--ds-layout-gutter)}
.ds-section{padding-block:var(--ds-layout-section)}
.ds-stack{display:flex;flex-direction:column;gap:var(--ds-gap,var(--ds-space-s24));min-width:0}
.ds-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-gap,var(--ds-space-s12))}
.ds-grid{display:grid;grid-template-columns:repeat(var(--ds-columns,3),minmax(0,1fr));gap:var(--ds-gap,var(--ds-space-s24))}
.ds-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--ds-space-s48);align-items:start}
.ds-sidebar-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--ds-space-s48)}
.ds-sidebar{border-right:var(--ds-control-border) solid var(--ds-color-line);padding-right:var(--ds-space-s24)}
.ds-rule{border:0;border-top:var(--ds-control-border) solid var(--ds-color-line);margin:0}
.ds-display,.ds-heading,.ds-subheading{font-family:var(--ds-font-display);font-weight:500;letter-spacing:var(--ds-type-tracking);line-height:var(--ds-type-headingLeading);text-wrap:balance;overflow-wrap:anywhere}
.ds-display{font-size:clamp(44px,7vw,var(--ds-type-display));max-width:18ch}
.ds-heading{font-size:clamp(30px,4vw,var(--ds-type-section))}
.ds-subheading{font-size:var(--ds-type-title)}
.ds-lead{font-size:var(--ds-type-lead);max-width:55ch}
.ds-prose{max-width:var(--ds-layout-reading)}
.ds-prose>*+*{margin-top:var(--ds-space-s24)}
.ds-prose :where(h2,h3){font-family:var(--ds-font-display);line-height:var(--ds-type-headingLeading);font-weight:500;margin-top:var(--ds-space-s48)}
.ds-prose h2{font-size:var(--ds-type-title)}
.ds-prose ul,.ds-prose ol{padding-left:var(--ds-space-s24)}
.ds-reading{font-family:var(--ds-font-display);font-size:var(--ds-type-lead)}
.ds-small,.ds-help{font-size:var(--ds-type-small)}
.ds-muted,.ds-help{color:var(--ds-color-muted)}
.ds-numeric{font-family:var(--ds-font-mono);font-variant-numeric:tabular-nums;font-style:normal}
.ds-header{border-bottom:var(--ds-control-border) solid var(--ds-color-line)}
.ds-header .ds-container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-s24);min-height:76px;padding-block:var(--ds-space-s12)}
.ds-brand{font:600 24px/1.1 var(--ds-font-display);letter-spacing:var(--ds-type-tracking);text-decoration:none;min-height:var(--ds-control-height);display:flex;align-items:center}
.ds-nav{display:flex;flex-wrap:wrap;gap:var(--ds-space-s20);align-items:center}
.ds-nav a{display:inline-flex;align-items:center;min-height:var(--ds-control-height);font-size:var(--ds-type-small);text-decoration:none}
.ds-nav a:hover,.ds-nav a[aria-current='page']{text-decoration:underline}
.ds-header-actions{display:flex;gap:var(--ds-space-s8);margin-left:auto}
.ds-menu-toggle.ds-button{display:none}
.ds-mobile-nav{width:100%;padding-block:var(--ds-space-s12);border-top:var(--ds-control-border) solid var(--ds-color-line)}
.ds-button{display:inline-flex;min-width:var(--ds-control-height);justify-content:center;align-items:center;gap:var(--ds-space-s8);min-height:var(--ds-control-height);max-width:100%;padding:var(--ds-space-s8) var(--ds-space-s16);border:var(--ds-control-border) solid var(--ds-color-foreground);border-radius:var(--ds-control-radius);background:transparent;color:var(--ds-color-foreground);font:400 var(--ds-type-small)/1.4 var(--ds-font-body);text-decoration:none;text-align:center;cursor:pointer;transition:background var(--ds-motion-duration) var(--ds-motion-easing);overflow-wrap:anywhere}
.ds-button:hover{background:var(--ds-color-tint)}
.ds-button:active{box-shadow:inset 0 0 0 var(--ds-control-border) var(--ds-color-foreground)}
.ds-button--solid{color:var(--ds-color-background);background:var(--ds-color-foreground)}
.ds-button--solid:hover{background:var(--ds-color-muted)}
.ds-button--large{min-height:var(--ds-control-largeHeight);padding-inline:var(--ds-space-s24)}
.ds-button:disabled,.ds-button[aria-disabled='true']{opacity:.55;cursor:not-allowed;pointer-events:none}
.ds-button[aria-busy='true']{cursor:wait}
.ds-field{display:flex;flex-direction:column;gap:var(--ds-space-s8);min-width:0}
.ds-label{font-size:var(--ds-type-small);font-weight:600}
.ds-input{width:100%;min-height:var(--ds-control-largeHeight);padding:var(--ds-space-s12) var(--ds-space-s16);border:var(--ds-control-border) solid var(--ds-color-control);border-radius:var(--ds-control-radius);color:var(--ds-color-foreground);background:var(--ds-color-tint);font-size:16px;transition:border-color var(--ds-motion-duration) var(--ds-motion-easing),background var(--ds-motion-duration) var(--ds-motion-easing)}
.ds-input::placeholder{color:var(--ds-color-muted);opacity:1}
textarea.ds-input{min-height:144px;resize:vertical}
.ds-input:focus{border-color:var(--ds-color-foreground);background:var(--ds-color-background)}
.ds-input[aria-invalid='true']{border:2px solid var(--ds-color-foreground);background:var(--ds-color-background)}
.ds-input:disabled{background:transparent;border-style:dashed;opacity:.55;cursor:not-allowed}
.ds-check{display:flex;align-items:center;gap:var(--ds-space-s12);min-height:var(--ds-control-height);font-size:var(--ds-type-small)}
.ds-check input{appearance:none;position:relative;display:grid;place-items:center;width:20px;height:20px;margin:0;flex-shrink:0;border:var(--ds-control-border) solid var(--ds-color-control);background:var(--ds-color-tint);cursor:pointer}
.ds-check input:checked{background:var(--ds-color-foreground);border-color:var(--ds-color-foreground)}
.ds-check input:checked::after{content:'';width:6px;height:10px;margin-top:-3px;border-right:2px solid var(--ds-color-background);border-bottom:2px solid var(--ds-color-background);transform:rotate(45deg)}
.ds-check input:disabled{opacity:.55;cursor:not-allowed}
@media(forced-colors:active){.ds-check input{appearance:auto}}
.ds-card{border:var(--ds-control-border) solid var(--ds-color-line);padding:var(--ds-space-s24)}
.ds-card>*+*{margin-top:var(--ds-space-s16)}
.ds-card--link{display:block;color:inherit;text-decoration:none}
.ds-card--link:hover{background:var(--ds-color-tint)}
.ds-badge{display:inline-flex;align-items:center;gap:var(--ds-space-s8);border:var(--ds-control-border) solid var(--ds-color-line);padding:var(--ds-space-s4) var(--ds-space-s8);font-size:var(--ds-type-small);line-height:1.4}
.ds-alert{border:var(--ds-control-border) solid var(--ds-color-control);padding:var(--ds-space-s20);display:flex;gap:var(--ds-space-s12);align-items:flex-start;background:var(--ds-color-tint);font-size:var(--ds-type-small)}
.ds-alert strong{display:block;font-size:var(--ds-type-body);font-weight:600}
.ds-alert p{margin-top:var(--ds-space-s4);max-width:55ch}
.ds-alert--success{background:var(--ds-color-foreground);color:var(--ds-color-background);border-color:var(--ds-color-foreground)}
.ds-alert-icon{width:20px;height:20px;flex-shrink:0;margin-top:var(--ds-space-s4);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ds-field-error{font-size:var(--ds-type-small);display:flex;gap:var(--ds-space-s8);align-items:baseline}
.ds-field-error::before{content:"!";font-weight:700}
.ds-field-state{font-size:var(--ds-type-small);font-weight:400;color:var(--ds-color-muted)}
.ds-badge--published{background:var(--ds-color-foreground);color:var(--ds-color-background);border-color:var(--ds-color-foreground)}
.ds-badge--draft{background:var(--ds-color-tint)}
.ds-badge--archived{border-style:dashed;color:var(--ds-color-muted)}
.ds-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-s16)}
.ds-table-wrap{overflow-x:auto;border:var(--ds-control-border) solid var(--ds-color-line)}
.ds-table{width:100%;border-collapse:collapse;font-size:var(--ds-type-small);font-variant-numeric:tabular-nums;text-align:left}
.ds-table caption{padding:var(--ds-space-s16);text-align:left}
.ds-table :where(th,td){padding:var(--ds-space-s12) var(--ds-space-s16);border-top:var(--ds-control-border) solid var(--ds-color-line)}
.ds-table th{font-weight:600}
.ds-table tbody tr:hover{background:var(--ds-color-tint)}
.ds-tabs{display:flex;flex-wrap:wrap;gap:var(--ds-space-s4);border-bottom:var(--ds-control-border) solid var(--ds-color-line)}
.ds-tab{min-height:var(--ds-control-height);padding:var(--ds-space-s8) var(--ds-space-s16);border:0;background:transparent;cursor:pointer;font-size:var(--ds-type-small)}
.ds-tab[aria-selected='true']{color:var(--ds-color-background);background:var(--ds-color-foreground)}
.ds-tab-panel{padding-block:var(--ds-space-s24)}
.ds-details{border-top:var(--ds-control-border) solid var(--ds-color-line);padding-block:var(--ds-space-s16)}
.ds-details summary{cursor:pointer;min-height:var(--ds-control-height);align-content:center;font-family:var(--ds-font-display);font-size:24px}
.ds-details>div{padding-block:var(--ds-space-s16);max-width:var(--ds-layout-reading)}
.ds-dialog{background:var(--ds-color-background);color:var(--ds-color-foreground);border:var(--ds-control-border) solid var(--ds-color-foreground);padding:var(--ds-space-s32);max-width:min(540px,calc(100vw - 40px));width:100%;max-height:calc(100dvh - 40px);overflow:auto}
.ds-dialog::backdrop{background:rgb(0 0 0 / .6)}
.ds-empty{padding:var(--ds-space-s48) var(--ds-space-s24);border-block:var(--ds-control-border) solid var(--ds-color-line);text-align:center}
.ds-code{font:400 var(--ds-type-small)/1.65 var(--ds-font-mono);padding:var(--ds-space-s20);border:var(--ds-control-border) solid var(--ds-color-line);overflow:auto;white-space:pre;max-width:100%}
.ds-ascii{font:400 clamp(8px,1vw,13px)/1 var(--ds-font-mono);white-space:pre;overflow:auto;max-width:100%;user-select:none}
.ds-skip{position:fixed;top:var(--ds-space-s12);left:var(--ds-space-s12);z-index:110;transform:translateY(-200%)}
.ds-skip:focus{transform:none}
.ds-footer{border-top:var(--ds-control-border) solid var(--ds-color-line);padding-block:var(--ds-space-s24);font-size:var(--ds-type-small)}
.ds-breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--ds-space-s8);list-style:none;padding:0;font-size:var(--ds-type-small)}
@media(max-width:767px){.ds-grid{grid-template-columns:1fr}.ds-split,.ds-sidebar-layout{grid-template-columns:1fr;gap:var(--ds-space-s32)}.ds-sidebar{border-right:0;border-bottom:var(--ds-control-border) solid var(--ds-color-line);padding:0 0 var(--ds-space-s16)}.ds-header .ds-container{gap:var(--ds-space-s12)}.ds-header .ds-nav--desktop{display:none}.ds-menu-toggle.ds-button{display:inline-flex}.ds-display{font-size:clamp(38px,10vw,48px)}.ds-feedback-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ds-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.ds-film::after{display:none}.ds-root :focus-visible{outline-color:Highlight}.ds-button,.ds-tab{border:1px solid ButtonText}}

.ds-sidebar nav a,.ds-footer a{display:inline-flex;align-items:center;min-height:var(--ds-control-height)}


