:root{--g-text-xs: 0.6875rem;--g-text-sm: 0.75rem;--g-text-base: 0.875rem;--g-text-md: 1rem;--g-text-lg: 1.125rem;--g-text-xl: 1.5rem;--g-mono-sm: 0.7rem;--g-mono-base: 0.8rem;--g-mono-lg: 0.875rem;--g-weight-normal: 400;--g-weight-medium: 500;--g-weight-semibold: 600;--g-weight-bold: 700;--g-space-1: 4px;--g-space-2: 8px;--g-space-3: 12px;--g-space-4: 16px;--g-space-5: 24px;--g-space-6: 32px;--g-space-8: 48px;--g-bg-base: #0f121b;--g-bg-surface: #131823;--g-bg-elevated: #161b27;--g-bg-overlay: rgba(255, 255, 255, 0.05);--g-text-primary: rgba(255, 255, 255, 0.88);--g-text-secondary: rgba(255, 255, 255, 0.55);--g-text-tertiary: rgba(255, 255, 255, 0.3);--g-accent: #5ae6a3;--g-accent-subtle: rgba(90, 230, 163, 0.08);--g-accent-hover: #7aecb7;--g-data: #e6a44c;--g-danger: #f38ba8;--g-warning: #f9e2af;--g-success: #0acf97;--g-info: #89b4fa;--g-border: rgba(255, 255, 255, 0.06);--g-border-hover: rgba(255, 255, 255, 0.1);--g-radius-sm: 6px;--g-radius-md: 10px;--g-radius-lg: 16px;--g-radius-xl: 20px;--g-radius-full: 999px;--g-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);--g-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);--g-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);--g-touch-min: 44px;--g-btn-min-width: 100px;--g-focus-ring: rgba(90, 230, 163, 0.4);scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.15) rgba(0,0,0,0);--g-body-bg: var(--g-bg-base);--g-shell-bg: var(--g-bg-surface);--g-text: var(--g-text-primary);--g-text-muted: var(--g-text-secondary);--g-surface: var(--g-bg-overlay);--g-surface-hover: rgba(255, 255, 255, 0.12);--g-overlay-bg: var(--g-bg-elevated);--g-overlay-border: var(--g-border-hover);--g-navbar-bg: var(--g-bg-surface);--g-navbar-color: var(--g-text-primary);--g-navbar-border: var(--g-border);--g-stage-bg: #202830;--g-inspector-bg: var(--g-bg-surface);--g-inspector-border: var(--g-border);--g-active-bg: var(--g-accent-subtle);--g-data-color: var(--g-data)}:root{--bp-sm: 576px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1160px}*,*::before,*::after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;touch-action:manipulation}body{font-family:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--g-text-base);font-weight:var(--g-weight-normal);line-height:1.5;background:var(--g-bg-base);color:var(--g-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--g-accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{vertical-align:middle}button,input,select,textarea{font-family:inherit;font-size:inherit}body.g-mobile input,body.g-mobile select,body.g-mobile textarea{font-size:16px !important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece{background:rgba(0,0,0,0)}::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.g-hidden{display:none !important}.g-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-flex{display:flex}.g-flex--col{display:flex;flex-direction:column}.g-flex--1{flex:1}.g-gap-1{gap:var(--g-space-1)}.g-gap-2{gap:var(--g-space-2)}.g-gap-3{gap:var(--g-space-3)}.g-gap-4{gap:var(--g-space-4)}.g-action-btn{min-width:44px;min-height:44px;border-radius:var(--g-radius-sm);background:none;border:none;color:var(--g-text-secondary);font-size:var(--g-text-base);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.g-action-btn:hover{background:var(--g-bg-overlay);color:var(--g-text-primary)}html[data-gesture-lock],html[data-gesture-lock] body{overscroll-behavior:none;touch-action:manipulation}@font-face{font-family:"Inter Variable";font-style:normal;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--inter/files/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Inter Variable";font-style:normal;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--inter/files/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Monaspace Neon";font-style:normal;font-display:block;font-weight:400;src:url("/assets/fonts/fontsource/@fontsource--monaspace-neon/files/monaspace-neon-latin-400-normal.woff2") format("woff2")}@font-face{font-family:"Monaspace Neon";font-style:normal;font-display:block;font-weight:500;src:url("/assets/fonts/fontsource/@fontsource--monaspace-neon/files/monaspace-neon-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Fraunces";font-style:normal;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-normal.woff2") format("woff2-variations"),url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fraunces";font-style:italic;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-italic.woff2") format("woff2-variations"),url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-italic.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fraunces Variable";font-style:normal;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-normal.woff2") format("woff2-variations"),url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fraunces Variable";font-style:italic;font-display:block;font-weight:100 900;src:url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-italic.woff2") format("woff2-variations"),url("/assets/fonts/fontsource/@fontsource-variable--fraunces/files/fraunces-latin-standard-italic.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.g-text--xs{font-size:var(--g-text-xs)}.g-text--sm{font-size:var(--g-text-sm)}.g-text--base{font-size:var(--g-text-base)}.g-text--md{font-size:var(--g-text-md)}.g-text--lg{font-size:var(--g-text-lg)}.g-text--xl{font-size:var(--g-text-xl)}.g-text--muted{color:var(--g-text-secondary)}.g-text--hint{color:var(--g-text-secondary);font-size:var(--g-text-sm)}.g-text--detail{color:var(--g-text-secondary);font-size:var(--g-text-xs);font-weight:var(--g-weight-normal)}.g-text--semibold{font-weight:var(--g-weight-semibold)}.g-text--bold{font-weight:var(--g-weight-bold)}[style*=Monaspace],.g-mono,.g-tui,.g-gizmo-arcs,.g-commands-pane,.g-awesome-bar__prefix,.g-awesome-bar__placeholder{font-feature-settings:"calt" 1,"liga" 1,"dlig" 1,"ss01" 1,"ss02" 1,"ss03" 1,"ss04" 1}.g-mono{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace}.g-tui{font-family:"Monaspace Neon","Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace}.g-data-label,.g-stat__label{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-bold);color:var(--g-data);letter-spacing:.02em;text-transform:uppercase;font-size:var(--g-mono-sm);line-height:1.2}.g-data-value,.g-stat__value{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-medium);color:var(--g-data);font-size:var(--g-text-base);line-height:1.3;letter-spacing:-0.01em}.g-data-value-lg{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-medium);color:var(--g-data);font-size:var(--g-text-xl);line-height:1.1;letter-spacing:-0.02em}.g-object-name{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-semibold);color:var(--g-data);font-size:var(--g-text-sm);line-height:1.3}.g-code{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-normal);color:var(--g-accent);font-size:var(--g-mono-base);line-height:1.5}.g-stat{display:flex;flex-direction:column;gap:var(--g-space-1)}.g-stat--accent .g-stat__label,.g-stat--accent .g-stat__value{color:var(--g-accent)}.g-metric{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-medium);color:var(--g-data);font-size:var(--g-mono-base)}.g-metric b,.g-metric strong{font-weight:var(--g-weight-bold);margin-right:.35em}.g-category{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;font-weight:var(--g-weight-semibold);color:var(--g-data);font-size:var(--g-text-xs);letter-spacing:.01em;padding:2px var(--g-space-2);border-radius:var(--g-radius-sm);background:rgba(230,164,76,.1)}.g-stage__canvas{position:absolute !important;inset:0;z-index:0;overflow:hidden}.g-stage__canvas canvas{display:block;width:100%;height:100%;touch-action:none}.g-nav-heart{position:absolute;bottom:12px;right:12px;z-index:10;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}body.g-mobile .g-nav-heart{bottom:8px;right:8px}.g-nav-heart__row{display:flex;align-items:center;gap:8px}.g-nav-heart__map{display:block;width:clamp(120px,min(20vw,20vh),200px);height:auto;flex-shrink:0}.g-nav-heart__toggles{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.g-nav-heart__toggle{display:flex;flex-direction:column;align-items:center;gap:3px;width:100px;background:none;border:none;padding:0;cursor:pointer;font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace}.g-nav-heart__toggle-label{font-size:10px;font-weight:500;color:var(--g-accent);letter-spacing:.5px;white-space:nowrap;text-align:center}.g-nav-heart__toggle-pill{display:flex;align-items:center;justify-content:space-between;width:64px;height:24px;border-radius:12px;border:1.5px solid var(--g-accent);background:var(--g-bg-base);padding:0 6px;position:relative}.g-nav-heart__toggle-char{font-size:10px;font-weight:600;font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;z-index:1}.g-nav-heart__toggle-dot{position:absolute;top:3px;width:16px;height:16px;border-radius:50%}.g-nav-heart__toggle-dot--left{left:3px}.g-nav-heart__toggle-dot--right{right:3px}.g-nav-heart__readout{display:flex;gap:8px;font-size:10px;font-weight:400;color:var(--g-accent);letter-spacing:.5px;font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace}.g-nav-heart__readout b{font-weight:500}.g-nav-heart__readout .near{font-weight:600}.g-footer{position:fixed;left:0;right:0;bottom:0;height:40px;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 1.75rem;gap:1rem;background:var(--g-shell-bg, var(--g-navbar-bg));border-top:1px solid var(--g-border);color:var(--g-text-muted);font-size:.75rem}.g-footer a{color:var(--g-text-muted);text-decoration:none}.g-footer a:hover{color:var(--g-text)}body.g-mobile .g-footer{display:none}.g-footer--hidden{display:none}.g-footer__version-wrapper{position:relative;cursor:help;display:inline-block}.g-footer__version-wrapper:hover{color:var(--g-text)}.g-footer__version-wrapper:hover .g-footer__tooltip{opacity:1;visibility:visible;transform:translate(-50%, -8px);pointer-events:auto}.g-footer__tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%, 0);background:var(--g-bg-elevated);border:1px solid var(--g-border);border-radius:var(--g-radius-md);box-shadow:var(--g-shadow-lg);padding:.75rem 1rem;width:220px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s cubic-bezier(0.4, 0, 0.2, 1),transform .2s cubic-bezier(0.4, 0, 0.2, 1),visibility .2s}.g-footer__tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:var(--g-bg-elevated) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.g-footer__tooltip::before{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:7px;border-style:solid;border-color:var(--g-border) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);z-index:-1}.g-footer__tooltip-header{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--g-text);margin-bottom:.5rem;border-bottom:1px solid var(--g-border);padding-bottom:.35rem}.g-footer__tooltip-grid{display:grid;grid-template-columns:auto auto;gap:.25rem 1rem;justify-content:space-between;font-size:.7rem}.g-footer__tooltip-service{color:var(--g-text-secondary);text-align:left}.g-footer__tooltip-version{font-family:"Monaspace Krypton","Fira Code","JetBrains Mono",Consolas,monospace;color:var(--g-accent);text-align:right;font-weight:600}.g-footer__tooltip-loading,.g-footer__tooltip-error{font-size:.7rem;color:var(--g-text-muted);text-align:center;padding:.25rem 0}.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--g-space-2);min-width:var(--g-btn-min-width);min-height:var(--g-touch-min);padding:var(--g-space-2) var(--g-space-4);font-family:inherit;font-size:var(--g-text-base);font-weight:var(--g-weight-semibold);line-height:1.4;color:var(--g-text-primary);background:var(--g-bg-overlay);border:1px solid var(--g-border-hover);border-radius:var(--g-radius-md);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.g-btn:hover{background:hsla(0,0%,100%,.1)}.g-btn:focus-visible{outline:2px solid var(--g-focus-ring);outline-offset:2px}.g-btn--sm{padding:var(--g-space-1) var(--g-space-3);font-size:var(--g-text-sm)}.g-btn--accent{background:var(--g-accent);color:var(--g-bg-base);border-color:rgba(0,0,0,0)}.g-btn--accent:hover{background:var(--g-accent-hover)}.g-btn--accent:disabled,.g-btn--accent[disabled]{background:var(--g-bg-overlay);color:var(--g-text-muted);border-color:var(--g-border-hover)}.g-btn--ghost{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);color:var(--g-text-secondary)}.g-btn--ghost:hover{background:var(--g-bg-overlay);color:var(--g-text-primary)}.g-btn--danger{background:rgba(243,139,168,.15);color:var(--g-danger);border-color:rgba(0,0,0,0)}.g-btn--danger:hover{background:rgba(243,139,168,.25)}.g-btn:disabled,.g-btn[disabled]{opacity:.45;cursor:not-allowed;background:var(--g-bg-overlay);color:var(--g-text-muted);border-color:var(--g-border-hover)}.g-btn:disabled:hover,.g-btn[disabled]:hover{background:var(--g-bg-overlay)}.g-widget-button__btn--clicked{opacity:.45;cursor:not-allowed;background:var(--g-bg-overlay);color:var(--g-text-muted);border-color:var(--g-border-hover)}.g-widget-button__btn--clicked:hover{background:var(--g-bg-overlay)}@keyframes g-btn-busy-stripe{0%{left:-30%}100%{left:100%}}[data-busy=true]{position:relative;overflow:hidden}[data-busy=true]::after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;pointer-events:none;background:linear-gradient(90deg, transparent 0%, rgba(90, 230, 163, 0.35) 50%, transparent 100%);animation:g-btn-busy-stripe 1.4s linear infinite}@media(prefers-reduced-motion: reduce){[data-busy=true]::after{animation:none;display:none}}.g-card{background:var(--g-bg-elevated);border:1px solid var(--g-border);border-radius:var(--g-radius-md);box-shadow:var(--g-shadow-sm)}.g-card__header{padding:var(--g-space-3) var(--g-space-4);font-weight:var(--g-weight-semibold);font-size:var(--g-text-base);border-bottom:1px solid var(--g-border)}.g-card__body{padding:var(--g-space-4)}.g-badge{display:inline-flex;align-items:center;gap:var(--g-space-1);padding:2px var(--g-space-2);font-size:var(--g-text-xs);font-weight:var(--g-weight-semibold);letter-spacing:.02em;border-radius:var(--g-radius-sm);white-space:nowrap}.g-badge--accent{background:var(--g-accent-subtle);color:var(--g-accent)}.g-badge--danger{background:rgba(243,139,168,.15);color:var(--g-danger)}.g-badge--warning{background:rgba(249,226,175,.15);color:var(--g-warning)}.g-badge--success{background:rgba(166,227,161,.15);color:var(--g-success)}.g-badge--neutral{background:var(--g-surface-2, rgba(127, 127, 127, 0.15));color:var(--g-text-muted)}.g-input,.g-select{width:100%;padding:var(--g-space-2) var(--g-space-3);font-family:inherit;font-size:var(--g-text-base);color:var(--g-text-primary);background:var(--g-bg-overlay);border:1px solid var(--g-border);border-radius:var(--g-radius-sm);transition:border-color .15s,background .15s}.g-input:focus,.g-select:focus{outline:none;border-color:var(--g-accent);background:var(--g-accent-subtle)}.g-input::placeholder,.g-select::placeholder{color:var(--g-text-tertiary)}.g-label{display:block;font-size:var(--g-text-sm);font-weight:var(--g-weight-semibold);color:var(--g-text-primary);margin-bottom:var(--g-space-1)}.use-cases-carousel{position:relative;width:min(70vw,950px);height:min(70vh,560px);margin:64px auto;overflow:hidden;border-radius:var(--g-radius-lg, 16px);border:1px solid var(--g-border-strong, rgba(255, 255, 255, 0.14));background:var(--g-bg-base);box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 0 0 1px hsla(0,0%,100%,.04);isolation:isolate}@media(max-width: 767.98px){.use-cases-carousel{height:min(70vmax,560px);aspect-ratio:560/950;width:auto;max-width:90vw;margin:40px auto;box-shadow:0 16px 40px rgba(0,0,0,.35)}}@media(max-height: 767.98px){.use-cases-carousel{height:min(70vmax,560px);aspect-ratio:560/950;width:auto;max-width:90vw;margin:40px auto;box-shadow:0 16px 40px rgba(0,0,0,.35)}}.use-cases-carousel__track{position:absolute;inset:0}.use-cases-carousel--static .use-cases-carousel__slide{position:absolute;inset:0;opacity:1;visibility:visible;transform:none;transition:none;pointer-events:auto}.use-cases-carousel__slide{position:absolute;inset:0;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;visibility:hidden;transform:translateX(24px);transition:opacity .22s ease-out,transform .22s ease-out,visibility 0s linear .22s;pointer-events:none;will-change:opacity,transform}.use-cases-carousel__slide.is-active{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto;transition:opacity .22s ease-out,transform .22s ease-out}@media(prefers-reduced-motion: reduce){.use-cases-carousel__slide,.use-cases-carousel__slide.is-active{transition:none;transform:none}.use-cases-carousel__slide:not(.is-active){transform:none}}.use-cases-carousel__scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.42) 36%, rgba(0, 0, 0, 0.12) 70%, rgba(0, 0, 0, 0.04) 100%);pointer-events:none}.use-cases-carousel__body{position:relative;z-index:1;padding:40px 44px 44px;max-width:580px;display:flex;flex-direction:column;gap:12px}@media(max-width: 767.98px){.use-cases-carousel__body{padding:28px 24px 60px}}.use-cases-carousel__title{font-family:var(--font-display);font-weight:300;font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-0.02em;line-height:1.05;color:#fff;margin:0;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.45)}.use-cases-carousel__title em{font-style:italic;font-weight:300;color:var(--g-accent)}.use-cases-carousel__subhead{color:hsla(0,0%,100%,.92);font-size:1rem;line-height:1.5;margin:0;max-width:44ch;text-wrap:pretty;text-shadow:0 1px 10px rgba(0,0,0,.4)}.use-cases-carousel__cta{align-self:flex-start;margin-top:8px;text-decoration:none;border:none;cursor:pointer;transition:filter .18s ease,transform .18s ease}.use-cases-carousel__cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.use-cases-carousel__cta:active{transform:translateY(0)}.use-cases-carousel__cta:focus-visible{outline:2px solid #fff;outline-offset:2px}.use-cases-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.28);border-radius:50%;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.use-cases-carousel__arrow:hover{background:rgba(0,0,0,.7);border-color:hsla(0,0%,100%,.5)}.use-cases-carousel__arrow:active{transform:translateY(-50%) scale(0.94)}.use-cases-carousel__arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}.use-cases-carousel__arrow--prev{left:16px}.use-cases-carousel__arrow--next{right:16px}@media(max-width: 767.98px){.use-cases-carousel__arrow{left:8px}.use-cases-carousel__arrow--next{left:auto;right:8px}}.use-cases-carousel__dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;display:flex;gap:8px}.use-cases-carousel__dot{width:44px;height:24px;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer;position:relative}.use-cases-carousel__dot::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:7px;height:7px;border-radius:50%;background:hsla(0,0%,100%,.45);box-shadow:0 1px 4px rgba(0,0,0,.4);transition:background .18s ease,transform .18s ease,width .18s ease}.use-cases-carousel__dot:hover::before{background:hsla(0,0%,100%,.75)}.use-cases-carousel__dot.is-active::before{background:#fff;width:18px;border-radius:4px}.use-cases-carousel__dot:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:8px}.use-case-hero{padding-bottom:24px}@media(max-width: 767.98px){.use-case-hero{padding-top:96px !important;padding-bottom:8px}}.use-case-hero+.section .handled,.section#how .handled{grid-template-columns:repeat(3, 1fr)}@media(max-width: 1023.98px){.use-case-hero+.section .handled,.section#how .handled{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 767.98px){.use-case-hero+.section .handled,.section#how .handled{grid-template-columns:1fr}}.use-case-cta{transition:filter .18s ease,transform .18s ease}.use-case-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.use-case-cta:active{transform:translateY(0)}.use-case-cta:focus-visible{outline:2px solid var(--g-accent);outline-offset:2px}@font-face{font-family:"Monaspace Krypton";src:url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.woff2") format("woff2-variations"),url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.woff2") format("woff2"),url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.woff") format("woff"),url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Monaspace Krypton";src:url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.woff2") format("woff2-variations"),url("../fonts/monaspace-krypton/MonaspaceKrypton-Var.ttf") format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-wordmark: "Fraunces Variable", "Fraunces", Georgia, serif;--size-wordmark: 20px;--size-logomark: 24px;--wordmark-logo-scale: 1.8;--wordmark-tagline: block;--wordmark-em-style: normal;--wordmark-style: normal}.site-header{width:100%;position:fixed;top:0;left:0;right:0;height:var(--height-header, 58px);z-index:1000;border-bottom:1px solid var(--color-rule);background:hsla(0,0%,100%,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 4px rgba(0,0,0,.03);box-sizing:border-box}.site-header-inner{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;max-width:var(--has-toc-max-width, 1370px);margin:0 auto;padding:0 var(--pad-inline);box-sizing:border-box}.site-header .logo{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-text);text-decoration:none;transition:opacity .15s ease}.site-header .logo:hover .logo-mark{color:var(--color-highlight-hover);transform:translateY(-1px) scale(1.04)}.site-header .logo:hover .logo-text{color:var(--color-highlight)}.site-header .logo-mark{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:800;font-size:1.35rem;line-height:1;color:var(--color-highlight);letter-spacing:-0.06em;user-select:none;flex-shrink:0;transform:translateY(-1px);transition:color .15s ease,transform .15s ease}.site-header .logo-mark svg{width:100%;height:100%;display:block}.site-header .logo-text{font-family:var(--font-sans);font-weight:500;font-size:1.05rem;letter-spacing:-0.01em;color:var(--color-text);text-transform:lowercase;line-height:1;transition:color .15s ease}.site-header .header-nav{display:flex;align-items:center;gap:1.4rem;font-family:var(--font-ui);font-size:.88rem}.site-header .header-nav a{color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.site-header .header-nav a:hover{color:var(--color-text)}.site-header .header-nav .nav__login{display:inline-flex !important;align-items:center;justify-content:center;padding:.35rem .9rem;border-radius:6px;background:#111;color:#fff;border:1px solid #111;font-family:var(--font-ui, sans-serif);font-weight:500;font-size:.85rem;cursor:pointer;margin-left:.5rem;transition:all .15s ease}.site-header .header-nav .nav__login:hover{background:#2a2a2a;transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}.site-header .header-nav .nav__login:active{transform:translateY(0)}@media(max-width: 767.98px){:root{--height-header: 52px}.site-header-inner{padding:0 var(--pad-inline);box-sizing:border-box}.site-header .wm-tagline{display:none}.site-header .header-nav a{display:none}.site-header .header-nav{display:flex;align-items:center;gap:0}.site-header .logo{gap:.5rem}.site-header .logo-mark{font-size:1.2rem}.site-header .logo-text{font-size:.95rem}.site-header .header-nav .nav__login{display:inline-flex !important;margin-left:0}}@media(max-width: 575.98px){:root{--height-header: 48px}.site-header-inner{padding:0 var(--pad-inline)}.site-header .logo-mark{font-size:1.15rem}.site-header .logo-text{font-size:.9rem}.site-header .header-nav .nav__login{display:inline-flex !important;padding:.28rem .7rem;font-size:.8rem;margin-left:0}}.code-viewer{margin:2.5rem 0;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border-radius:8px;background:#181a1f;border:1px solid #282c34;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08);overflow:hidden;font-family:var(--font-mono);font-feature-settings:"calt" 1,"liga" 1,"ss01" 1,"ss02" 1,"ss03" 1,"ss04" 1,"ss05" 1,"ss06" 1,"ss07" 1,"ss08" 1;-webkit-font-feature-settings:"calt" 1,"liga" 1,"ss01" 1,"ss02" 1,"ss03" 1,"ss04" 1,"ss05" 1,"ss06" 1,"ss07" 1,"ss08" 1;font-variant-ligatures:common-ligatures contextual discretionary-ligatures;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.code-viewer:hover{border-color:#3e4451;box-shadow:0 12px 32px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.1)}.code-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:#1e222b;border-bottom:1px solid #2c313c;user-select:none;gap:.5rem;flex-wrap:wrap}.code-viewer-meta{display:flex;align-items:center;gap:.65rem}.code-viewer-dots{display:flex;gap:6px;align-items:center}.code-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.code-dot-red{background:#ff5f56}.code-dot-yellow{background:#ffbd2e}.code-dot-green{background:#27c93f}.code-viewer-filename{font-size:12.5px;font-weight:500;color:#abb2bf;letter-spacing:.02em;display:flex;align-items:center;gap:6px}.code-viewer-lang{background:hsla(0,0%,100%,.08);color:#98c379;font-size:11px;padding:1px 6px;border-radius:3px;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.code-viewer-actions{display:flex;align-items:center;gap:.4rem}.code-btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border-radius:5px;color:#abb2bf;font-family:var(--font-ui);font-size:12px;font-weight:500;padding:4px 9px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.code-btn:hover{background:hsla(0,0%,100%,.12);color:#fff;border-color:hsla(0,0%,100%,.18)}.code-btn:active{transform:scale(0.97)}.code-btn svg{width:13px;height:13px;stroke-width:2}.code-btn.copied{background:#28a745;color:#fff;border-color:#28a745}.code-btn.active{background:rgba(97,175,239,.16);color:#61afef;border-color:rgba(97,175,239,.4)}.code-viewer{--code-line-height: 22px}.code-viewer-body,.code-body{display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:var(--size-code, 13.5px);line-height:var(--code-line-height);max-height:none;scrollbar-width:thin;scrollbar-color:#3e4451 #181a1f}.code-viewer-body::-webkit-scrollbar,.code-body::-webkit-scrollbar{width:6px;height:6px}.code-viewer-body::-webkit-scrollbar-thumb,.code-body::-webkit-scrollbar-thumb{background:#3e4451;border-radius:3px}.code-viewer-body::-webkit-scrollbar-track,.code-body::-webkit-scrollbar-track{background:#181a1f}.code-viewer.collapsed .code-viewer-body,.code-viewer.collapsed .code-body{max-height:220px;overflow-y:auto}.code-viewer.collapsed .code-gutter,.code-viewer.collapsed .code-content{padding-bottom:3.5rem}.code-viewer.collapsed::after{content:"";position:absolute;bottom:35px;left:0;right:0;height:80px;background:linear-gradient(to top, #181a1f, transparent);pointer-events:none}.code-gutter{padding:1.1rem .8rem 1.1rem 1rem;user-select:none;text-align:right;color:#4b5263;font-size:12px;border-right:1px solid #282c34;background:#181a1f;min-width:44px;position:sticky;left:0;z-index:2;flex-shrink:0;box-sizing:border-box}.code-gutter span{display:block;text-align:right;box-sizing:border-box;font-size:12px;line-height:var(--code-line-height);height:var(--code-line-height);min-height:var(--code-line-height)}.code-content{padding:1.1rem 1.25rem;margin:0;flex:1;color:#abb2bf;background:rgba(0,0,0,0);font-family:inherit;font-size:inherit;tab-size:2;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;box-sizing:border-box}.code-line{display:block;line-height:var(--code-line-height);min-height:var(--code-line-height);width:100%;box-sizing:border-box}.code-viewer.no-wrap .code-content{white-space:pre;word-break:normal;overflow-wrap:normal;width:max-content;min-width:100%}.code-viewer.no-wrap .code-line{display:block;white-space:pre;width:max-content;min-width:100%;line-height:var(--code-line-height);min-height:var(--code-line-height);height:var(--code-line-height)}.tok-kw{color:#c678dd;font-weight:600}.tok-fn{color:#61afef}.tok-str{color:#98c379}.tok-num{color:#d19a66}.tok-cmt{color:#5c6370;font-style:italic}.tok-cls{color:#e5c07b}.tok-op{color:#56b6c2}.tok-var{color:#e06c75}.tok-dec{color:#d19a66}.tok-punc{color:#7f848e}.code-expand-bar{display:none;width:100%;text-align:center;padding:.65rem 1rem;background:#1e222b;border-top:1px solid #282c34;cursor:pointer;font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:#61afef;transition:background .15s ease,color .15s ease;position:relative;z-index:3}.code-expand-bar:hover{background:#252a35;color:#79bbf7}.code-viewer.is-collapsible .code-expand-bar{display:block}.code-collapse-floating-btn{display:none;position:fixed;bottom:24px;right:24px;z-index:90;align-items:center;gap:6px;padding:.5rem .95rem;background:rgba(30,34,43,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(97,175,239,.35);border-radius:20px;color:#61afef;font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;user-select:none;-webkit-user-select:none}.code-viewer.is-collapsible .code-collapse-floating-btn{display:flex}.code-collapse-floating-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.code-collapse-floating-btn:hover{background:#252a35;border-color:#61afef;color:#79bbf7;box-shadow:0 6px 20px rgba(0,0,0,.45);transform:translateY(-1px)}.code-collapse-floating-btn:active{transform:translateY(0)}.code-collapse-floating-btn svg{flex-shrink:0;transition:transform .15s ease}.code-collapse-floating-btn:hover svg{transform:translateY(-1px)}@media(max-width: 575.98px){.code-viewer-header{padding:.5rem .75rem;gap:.4rem}.code-viewer-filename{font-size:11.5px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-btn{padding:3px 6px;font-size:11px}.code-collapse-floating-btn{bottom:16px;padding:.4rem .75rem;font-size:11.5px;border-radius:18px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none !important;border-color:currentColor}.katex .katex-version:after{content:"0.18.7"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:0.2777777778em;margin-right:-0.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:0.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:0.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:0.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:0.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:0.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:0.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:0.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:0.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:0.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:0.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:0.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:0.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:0.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:0.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:0.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:0.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:0.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:0.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:0.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:0.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:0.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:0.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:0.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:0.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:0.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:0.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:0.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:0.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:0.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:0.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:0.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:0.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:0.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:0.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:0.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:0.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:0.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:0.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:0.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:0.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:0.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-0.2em;margin-right:-0.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--color-bg: #ffffff;--color-text: #080808;--color-text-muted: #424242;--color-text-faint: #6f6f6f;--color-border: #e5e3df;--color-border-dark: #1a1a1a;--color-tint: #faf8f4;--color-tint-warm: #f5f0e6;--color-rule: rgba(0, 0, 0, 0.1);--color-link-underline: rgba(0, 0, 0, 0.28);--color-citation: #b69d20;--color-comment-bg: #fdf6d3;--color-comment-border: #e8dca0;--color-highlight: #0d6359;--color-highlight-hover: #08453e;--color-highlight-subtle: rgba(13, 99, 89, 0.08);--color-highlight-border: rgba(13, 99, 89, 0.22);--font-title: "Fraunces", "Fraunces Variable", ui-serif, Georgia, serif;--font-headings: "Cardo", Georgia, "Times New Roman", serif;--font-body: "Libron", Georgia, "Times New Roman", serif;--font-ui: var(--font-sans);--mono-features: "calt" 1, "liga" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1, "ss05" 1, "ss06" 1, "ss07" 1, "ss08" 1;--font-byline: var(--font-mono);--font-kicker: var(--font-mono);--font-captions: var(--font-sans);--font-code: var(--font-mono);--font-highlight: var(--font-sans);--size-title: 54px;--title-weight: 600;--size-subtitle: 32px;--subtitle-style: normal;--size-body: 19.5px;--lh-body: 1.58;--size-meta: 12px;--size-toc: 13px;--size-code: 13.5px;--size-caption: 14px;--heading-base: 20px;--heading-ratio: 1.22;--size-h3: calc(var(--heading-base) * var(--heading-ratio));--size-h2: calc(var(--size-h3) * var(--heading-ratio));--size-h1: calc(var(--size-h2) * var(--heading-ratio));--width-container: 1180px;--width-wide: 940px;--width-article: 690px;--toc-min-width: 200px;--toc-max-width: 280px;--toc-max-gutter: 340px;--has-toc-max-width: calc(var(--width-article) + 2 * var(--toc-max-gutter));--has-toc-cols: 1fr minmax(0, var(--width-article)) 1fr;--gutter-aside: 230px;--comment-gap: 2rem;--pad-inline: 1.5rem;--height-header: 58px}*,*::before,*::after{box-sizing:border-box}html:has(body[data-mode=landing]){scroll-behavior:auto;scroll-padding-top:calc(var(--height-header, 58px) + 1.25rem);width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}[data-mode=landing]{--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Monaspace Krypton", monospace}body[data-mode=landing]{font-family:var(--font-body);font-size:var(--size-body);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);margin:0;padding:0;width:100%;max-width:100%;position:relative;touch-action:pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#landing-marketing code,#landing-marketing kbd,#landing-marketing samp,#landing-marketing pre{font-family:var(--font-mono);font-feature-settings:var(--mono-features);-webkit-font-feature-settings:var(--mono-features);font-variant-ligatures:common-ligatures contextual discretionary-ligatures}#landing-marketing a{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--color-link-underline);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease}#landing-marketing a:hover{text-decoration-color:var(--color-text)}.post{display:flex;flex-direction:column;width:100%}.block{width:100%;position:relative}.block-inner{max-width:var(--width-article);margin:0 auto;padding:0 var(--pad-inline)}.block-inner-wide{max-width:var(--width-wide);margin:0 auto;padding:0 var(--pad-inline)}.block-title{padding-top:calc(3rem + var(--height-header, 58px));padding-bottom:1.5rem}.block-title h1{font-family:var(--font-title);font-weight:var(--title-weight, 700);font-optical-sizing:auto;font-size:clamp(34px,5.2vw,var(--size-title));line-height:1.08;margin:0 0 1rem 0;letter-spacing:-0.025em;color:var(--color-text)}.block-title h1 em,.block-title h1 .title-highlight{font-style:italic;font-weight:inherit;color:var(--color-highlight)}.block-title .subtitle{font-family:var(--font-headings);font-size:clamp(22px,3.2vw,var(--size-subtitle));font-style:var(--subtitle-style);font-weight:400;color:var(--color-text-muted);margin:0;line-height:1.25}.block-hero{padding:1.5rem 0 2.5rem}.hero-figure{margin:0;width:100%;background:var(--color-tint);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.03)}#hero-canvas{width:100%;height:100%;display:block}.hero-controls{position:absolute;bottom:16px;right:16px;display:flex;gap:8px;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);padding:6px 12px;border-radius:20px;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:12px}.hero-controls button{background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:12px;color:var(--color-text-muted);padding:2px 6px;border-radius:4px;transition:all .15s}.hero-controls button:hover{background:rgba(0,0,0,.05);color:var(--color-text)}.hero-figure figcaption{font-family:var(--font-captions);font-size:var(--size-caption);line-height:1.45;color:var(--color-text-muted);padding:1rem 1.4rem;border-top:1px solid var(--color-border);background:#fff}.block-byline{padding-bottom:2.5rem;border-bottom:1px solid var(--color-rule)}.post-byline{font-family:var(--font-byline);font-size:var(--size-meta);line-height:1.8;color:var(--color-text-muted)}.byline-authors-line{font-size:13.5px;font-weight:500;color:var(--color-text);margin:0 0 .2rem}.byline-authors-line sup{color:var(--color-citation);font-size:.75em;margin-left:2px}.byline-affil-line{color:var(--color-text-faint);margin:0 0 .4rem}.byline-date-line{color:var(--color-text-faint);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.byline-date-line .badge{background:var(--color-tint);border:1px solid var(--color-border);padding:1px 6px;border-radius:3px}.block-body{padding:3rem 0}.block-body-inner{display:grid;grid-template-columns:var(--has-toc-cols);max-width:var(--has-toc-max-width);margin:0 auto;padding:0 var(--pad-inline);position:relative;align-items:start}.post-toc{grid-column:1;position:sticky;top:calc(var(--height-header, 58px) + 2rem);max-height:calc(100vh - var(--height-header, 58px) - 3rem);overflow-y:auto;padding-right:2rem;font-family:var(--font-ui);display:flex;flex-direction:column;align-self:start}.post-toc h3{font-family:var(--font-ui);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin:0 0 .85rem}.post-toc nav ul{list-style:none;margin:0;padding:0}.post-toc nav>ul>li{margin-bottom:.45rem}.post-toc nav a{display:block;font-size:var(--size-toc);line-height:1.4;color:var(--color-text-muted);text-decoration:none;padding:3px 0;position:relative;transition:color .15s ease}.post-toc nav a[data-num]::before{content:attr(data-num) " ";font-family:var(--font-mono);font-size:.85em;color:var(--color-text-faint);margin-right:.35rem}.post-toc nav a:hover{color:var(--color-text);text-decoration:underline;text-decoration-style:dotted}.post-toc nav a.active{color:var(--color-highlight);font-weight:600}.post-toc nav a.active::after{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-highlight)}.post-toc nav ul ul{padding-left:1rem;margin-top:.3rem;border-left:1px solid var(--color-rule)}.post-toc nav ul ul li{margin-bottom:.25rem}.toc-mobile-trigger{display:none;position:fixed;bottom:24px;left:24px;z-index:9999;background:#fff;border:1px solid var(--color-border);box-shadow:0 4px 16px rgba(0,0,0,.12);border-radius:30px;padding:8px 16px;font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;align-items:center;gap:8px}.toc-mobile-drawer{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:10000;backdrop-filter:blur(4px)}.toc-mobile-drawer.open{display:block}.toc-drawer-content{position:absolute;bottom:0;left:0;width:100%;max-height:80vh;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;padding:1.5rem;overflow-y:auto;box-shadow:0 -4px 24px rgba(0,0,0,.15)}.toc-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--color-rule);padding-bottom:.75rem}.toc-drawer-header h3{margin:0;font-size:16px;font-family:var(--font-ui)}.toc-drawer-close{background:none;border:none;font-size:20px;cursor:pointer}article.article-content{grid-column:2;width:100%;max-width:var(--width-article);margin:0 auto}article p{margin:0 0 1.5rem 0}article h2{font-family:var(--font-headings);font-size:var(--size-h2);font-weight:600;line-height:1.25;margin:3.5rem 0 1.2rem;letter-spacing:-0.015em;color:var(--color-text)}article h2[data-num]::before{content:attr(data-num) "  ";font-family:var(--font-mono);font-size:.8em;color:var(--color-text-faint);font-weight:400}article h3{font-family:var(--font-headings);font-size:var(--size-h3);font-weight:600;line-height:1.3;margin:2.5rem 0 1rem;color:var(--color-text)}article h3[data-num]::before{content:attr(data-num) "  ";font-family:var(--font-mono);font-size:.8em;color:var(--color-text-faint);font-weight:400}article h1 em,article h2 em,article h3 em{font-style:italic;color:var(--color-highlight);font-weight:inherit}.highlight,mark.highlight,.text-highlight{background:var(--color-highlight-subtle);color:var(--color-highlight);padding:.08em .32em;border-radius:3px;font-weight:500}mark{background:var(--color-highlight-subtle);color:var(--color-highlight);padding:.08em .25em;border-radius:2px}.article-content ul,.article-content ol{font-size:var(--size-body);line-height:var(--lh-body);color:var(--color-text);margin:0 0 1.5rem 0;padding-left:1.3rem}.article-content li{margin-bottom:.7rem}.article-content li::marker{color:var(--color-text-faint)}.article-content li>strong{color:var(--color-text);font-weight:600}.article-content .footnotes-list,.article-content .references-list{font-size:14px;line-height:1.6;color:var(--color-text-muted)}.social-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0 0 2.5rem 0}.social-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:999px;background:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600;text-decoration:none;border:1.5px solid currentColor;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.social-cta-btn svg{flex-shrink:0}.social-cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14)}.social-cta-btn:active{transform:translateY(0)}.social-cta-github{color:#181717}.social-cta-github:hover{background:#f6f6f6}.social-cta-linkedin{color:#0a66c2}.social-cta-linkedin:hover{background:#eaf3fc}.lede{font-size:var(--size-body);line-height:var(--lh-body);color:var(--color-text);margin-bottom:2.2rem}.article-content :is(p,li,.lede),.margin-gutter .sidenote{font-kerning:normal;font-variant-ligatures:common-ligatures;font-variant-numeric:proportional-nums}.article-content :is(p,li,.lede) :is(code,kbd){font-variant-numeric:normal}.article-content :is(p,li,.lede) abbr,.margin-gutter .sidenote abbr{font-variant-caps:all-small-caps;letter-spacing:.06em;text-decoration:underline dotted var(--color-text-faint);text-underline-offset:.2em;cursor:help}.article-content .small-caps{font-variant-caps:small-caps;letter-spacing:.04em}.article-content .caps{text-transform:uppercase;font-feature-settings:"case" 1;letter-spacing:.06em}.article-content .ordinal{font-feature-settings:"ordn" 1}.article-content .tabular-nums{font-variant-numeric:tabular-nums}.article-content :not(.footnote-ref)>sup,.margin-gutter .sidenote sup{font-variant-position:super;font-size:inherit;vertical-align:baseline;line-height:0}.footnote-ref{text-decoration:none;color:inherit;cursor:pointer}.footnote-ref sup{font-family:var(--font-mono);font-size:.75em;color:var(--color-citation);padding:0 2px;font-weight:600;transition:color .15s ease}.footnote-ref:hover sup,.footnote-ref.highlight sup{color:#080808;text-decoration:underline}.margin-gutter{grid-column:3;position:relative;height:100%;min-height:100%;pointer-events:auto}.margin-gutter .sidenote{position:absolute;width:min(220px,100% - 1.8rem - 10px);left:1.8rem;font-family:var(--font-body);font-size:13px;line-height:1.48;color:var(--color-text-muted);border-left:2px solid rgba(0,0,0,0);padding-left:8px;transition:border-color .2s ease,background .2s ease,color .2s ease;border-radius:2px}.margin-gutter .sidenote.highlight{color:var(--color-text);border-left-color:var(--color-citation);background:rgba(182,157,32,.06)}.margin-gutter .sidenote-number{font-family:var(--font-mono);font-size:.85em;color:var(--color-citation);font-weight:600;margin-right:.4em}.comment,.callout-highlight{margin:2rem 0;padding:1.1rem 1.3rem;background:var(--color-comment-bg);border:1px solid var(--color-comment-border);border-left:4px solid #b69d20;border-radius:4px;font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--color-text);box-shadow:0 1px 4px rgba(0,0,0,.03)}.comment-label{font-family:var(--font-sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8c7810;margin-bottom:.4rem;display:block}.comparison-table-callout{padding:1.25rem 1.4rem 1.1rem;border-radius:6px}.comparison-table-callout .comparison-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -0.4rem;padding:0 .4rem}.comparison-table-callout .comparison-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:14.5px;line-height:1.4;color:var(--color-text)}.comparison-table-callout .comparison-table th,.comparison-table-callout .comparison-table td{padding:.55rem .8rem;vertical-align:middle;text-align:left}.comparison-table-callout .comparison-table th{font-weight:700;font-size:14.5px;line-height:1.2;color:#080808;border-bottom:1.5px solid rgba(0,0,0,.12);white-space:nowrap}.comparison-table-callout .comparison-table th:first-child{padding-left:.2rem}.comparison-table-callout .comparison-table td{border-bottom:1px solid rgba(0,0,0,.05)}.comparison-table-callout .comparison-table td:first-child{padding-left:.2rem;font-weight:500;color:#1a1a1a;white-space:nowrap}.comparison-table-callout .comparison-table tr:last-child td{border-bottom:none}.comparison-table-callout .comparison-table .pill{display:inline-flex;align-items:center;gap:3px;padding:2.5px 9px;border-radius:6px;font-size:13.5px;font-weight:500;background:rgba(0,0,0,.06);color:#1e293b;line-height:1.4}.comparison-table-callout .comparison-table .pill .pill-caret{font-size:9px;opacity:.65;margin-left:1px;display:inline-block;transform:translateY(-0.5px)}.comparison-table-callout .comparison-footnote{margin:1.1rem 0 .2rem;font-family:var(--font-sans);font-size:14.5px;font-weight:400;line-height:1.5;color:var(--color-text-muted, #424242)}.math-block{position:relative;margin:2.2rem 0;padding:1.2rem 2.4rem 1.2rem 1.2rem;background:var(--color-tint);border:1px solid var(--color-border);border-radius:4px;overflow-x:auto;overflow-y:hidden;max-width:100%;width:100%;box-sizing:border-box;text-align:center;-webkit-overflow-scrolling:touch;transition:border-color .2s ease,box-shadow .2s ease}.math-block .katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%;box-sizing:border-box;padding:.25rem 0;margin:.4rem 0;-webkit-overflow-scrolling:touch}.math-inline{padding:0 2px}.math-block .math-tag{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:13px;color:var(--color-citation);user-select:none;display:inline-flex;align-items:center;gap:2px;cursor:pointer}.math-block .math-tag a.footnote-ref{color:var(--color-citation);text-decoration:none;font-weight:600}.math-block .math-tag a.footnote-ref sup{font-family:var(--font-mono);font-size:.85em;color:var(--color-citation);font-weight:700}.code-block{position:relative;margin:2.2rem 0;padding:1.2rem 1.4rem;background:var(--color-tint);border:1px solid var(--color-border);border-radius:4px;overflow-x:auto;overflow-y:hidden;max-width:100%;width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch;transition:border-color .2s ease,box-shadow .2s ease}.code-block.highlight,.math-block.highlight{border-color:var(--color-citation);box-shadow:0 0 0 1px rgba(182,157,32,.3)}.code-block pre{margin:0;padding:0;background:rgba(0,0,0,0);border:none;overflow:visible}.code-block code{font-family:var(--font-mono);font-size:14px;line-height:1.6;color:#1f2328;background:rgba(0,0,0,0);tab-size:2;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;display:block;font-feature-settings:var(--mono-features);-webkit-font-feature-settings:var(--mono-features);font-variant-ligatures:common-ligatures contextual discretionary-ligatures}.code-block-tag{position:absolute;top:.65rem;right:.85rem;font-family:var(--font-mono);font-size:12px;color:var(--color-citation);user-select:none;display:inline-flex;align-items:center;gap:3px;cursor:pointer}.code-block-tag a.footnote-ref{color:var(--color-citation);text-decoration:none;font-weight:600}.code-block-tag a.footnote-ref sup{font-family:var(--font-mono);font-size:.85em;color:var(--color-citation);font-weight:700}.math-block a,.katex a,.katex a[href^="#fn"]{color:var(--color-citation) !important;text-decoration:none !important;font-family:var(--font-mono) !important;font-weight:700 !important;padding:0 2px;cursor:pointer;border-radius:2px;transition:color .15s ease,background .15s ease,text-decoration .15s ease}.math-block a:hover,.math-block a.highlight,.katex a:hover,.katex a.highlight,.katex a[href^="#fn"]:hover,.katex a[href^="#fn"].highlight{color:#080808 !important;text-decoration:underline !important;background:rgba(182,157,32,.16) !important}.code-inline-ref,.code-block code a.footnote-ref{display:inline-block;vertical-align:super;font-family:var(--font-mono);font-size:.75em;line-height:1;font-weight:700;color:var(--color-citation) !important;text-decoration:none !important;margin-left:2px;padding:1px 3px;cursor:pointer;user-select:none;border-radius:2px;transition:color .15s ease,background .15s ease}.code-inline-ref:hover,.code-inline-ref.highlight,.code-block code a.footnote-ref:hover,.code-block code a.footnote-ref.highlight{color:#080808 !important;text-decoration:underline !important;background:rgba(182,157,32,.18) !important}.code-block .tok-kw{color:#cf222e;font-weight:600}.code-block .tok-fn{color:#8250df;font-weight:600}.code-block .tok-str{color:#0a7b45}.code-block .tok-num{color:#953800}.code-block .tok-cmt{color:#6e7781;font-style:italic}.code-block .tok-cls{color:#0550ae;font-weight:600}.code-block .tok-op{color:#0550ae}.code-block .tok-var{color:#24292f}.code-block .tok-punc{color:#57606a}.mermaid-container{margin:2.5rem 0;padding:1.5rem;background:#fff;border:1px solid var(--color-border);border-radius:4px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.02);overflow-x:auto;min-height:220px;position:relative}.mermaid-container .mermaid:not([data-processed=true]):not(:has(svg)){visibility:hidden;height:0;overflow:hidden;opacity:0}.mermaid-container .mermaid[data-processed=true],.mermaid-container .mermaid:has(svg){visibility:visible;height:auto;opacity:1;transition:opacity .2s ease-in}.mermaid-container .mermaid{width:100%;display:flex;justify-content:center;font-family:var(--font-sans) !important}.mermaid-container .mermaid svg,.mermaid-container .mermaid text,.mermaid-container .mermaid .node,.mermaid-container .mermaid .label,.mermaid-container .mermaid .cluster-label,.mermaid-container .mermaid .edgeLabel,.mermaid-container .mermaid .nodeLabel,.mermaid-container .mermaid span{font-family:var(--font-sans) !important}.diagram-caption{font-family:var(--font-sans);font-size:14.5px;line-height:1.5;color:var(--color-text-muted);margin-top:1rem;text-align:center}.figure-block{margin:3rem 0;display:flex;flex-direction:column;align-items:center;position:relative;width:100%}.figure-block.figure-wide{max-width:100%}.figure-block .figure-card{width:100%;background:var(--color-tint);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.03);overflow:hidden;position:relative;display:flex;flex-direction:column;padding:1.5rem;box-sizing:border-box}.figure-block .figure-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);font-family:var(--font-sans);font-size:13px;flex-wrap:wrap;gap:.75rem}.figure-block .figure-title{font-weight:600;color:var(--color-text, #080808);display:flex;align-items:center;gap:.6rem}.figure-block .figure-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;background:var(--color-highlight-subtle);color:var(--color-highlight);border:1px solid var(--color-highlight-border)}.figure-block .figure-views{display:flex;align-items:center;background:rgba(0,0,0,.04);border:1px solid var(--color-border);border-radius:6px;padding:2px;gap:2px}.figure-block .figure-view-btn{border:none;background:rgba(0,0,0,0);font-family:var(--font-sans);font-size:12px;font-weight:500;padding:4px 10px;border-radius:4px;color:#52525b;cursor:pointer;transition:all .15s ease}.figure-block .figure-view-btn:hover{color:#18181b}.figure-block .figure-view-btn.active{background:#fff;color:#18181b;box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600}.figure-block .figure-media{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-x:auto;position:relative}.figure-block .figure-chart-view,.figure-block .figure-image-view{width:100%;display:flex;justify-content:center;align-items:center;position:relative}.figure-block.figure-diagram .figure-media{overflow:hidden}.figure-block.figure-diagram .figure-img{width:100%;max-width:100%;height:auto;object-fit:contain}.figure-block .figure-img{max-width:100%;height:auto;display:block;border-radius:4px;object-fit:contain;border:1px solid var(--color-border)}.figure-block .figure-caption{font-family:var(--font-sans);font-size:14.5px;line-height:1.5;color:var(--color-text-muted, #424242);margin-top:1.25rem;text-align:center;max-width:720px;margin-left:auto;margin-right:auto}.figure-block .figure-caption strong{color:var(--color-text, #080808);font-weight:600}.figure-block .figure-caption .figure-source{display:block;font-size:12.5px;color:#6f6f6f;margin-top:.35rem}.scatter-chart-container{width:100%;max-width:920px;margin:0 auto;position:relative}.scatter-chart-container svg.scatter-chart-svg{width:100%;height:auto;display:block;overflow:visible}.scatter-chart-container .chart-grid-line{stroke:rgba(0,0,0,.08);stroke-width:1.2px}.scatter-chart-container .chart-axis-line{stroke:#18181b;stroke-width:2px;stroke-linecap:square}.scatter-chart-container .chart-tick-line{stroke:#18181b;stroke-width:2px}.scatter-chart-container .chart-axis-text{font-family:var(--font-sans);font-size:18px;font-weight:500;fill:#374151}.scatter-chart-container .chart-point-group{transition:transform .2s ease}.scatter-chart-container .chart-dot{fill:#3f3f46;cursor:pointer;transition:r .2s cubic-bezier(0.16, 1, 0.3, 1),fill .2s ease,filter .2s ease}.scatter-chart-container .chart-dot:hover{r:12px;fill:#18181b;filter:drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25))}.scatter-chart-container .chart-label{font-family:var(--font-sans);font-size:22px;font-weight:600;fill:#111827;pointer-events:none;user-select:none}@media(max-width: 575.98px){.scatter-chart-container .chart-axis-text{font-size:20px;font-weight:600}.scatter-chart-container .chart-label{font-size:24px;font-weight:700}}.scatter-chart-container .chart-tooltip{position:absolute;display:none;pointer-events:none;background:#18181b;color:#fafafa;padding:6px 12px;border-radius:6px;font-family:var(--font-sans);font-size:12px;line-height:1.4;box-shadow:0 4px 14px rgba(0,0,0,.2);transform:translate(-50%, -100%);margin-top:-12px;z-index:20;white-space:nowrap}.scatter-chart-container .chart-tooltip::after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%) rotate(45deg);width:8px;height:8px;background:#18181b}.scatter-chart-container .chart-tooltip .tooltip-sys{font-weight:600;color:#fff}.scatter-chart-container .chart-tooltip .tooltip-val{color:#38bdf8;font-weight:600}.scatter-chart-container .chart-tooltip .tooltip-date{color:#a1a1aa;font-size:11px}.ladder-chart{--chart-red: #c1121f;width:100%;max-width:720px;margin:0 auto}.ladder-chart__toggle{align-self:center;margin:0 auto 1.25rem}.ladder-chart__svg-wrap{position:relative;width:100%;min-height:360px}@media(orientation: portrait){.ladder-chart__svg-wrap{height:80vh;height:80svh}}@media(min-width: 1024px){.ladder-chart__svg-wrap{height:80vh;height:80svh}}.ladder-chart__svg{width:100%;height:auto;display:block;overflow:visible}.ladder-chart__grid-line{stroke:rgba(0,0,0,.08);stroke-width:1px}.ladder-chart__axis-line{stroke:#18181b;stroke-width:1.5px}.ladder-chart__tick-line{stroke:#18181b;stroke-width:1.5px}.ladder-chart__tick-text{font-family:var(--font-sans);font-size:12.5px;font-variant-numeric:tabular-nums;fill:var(--color-text-muted, #424242)}.ladder-chart__axis-label{font-family:var(--font-sans);font-size:12.5px;font-weight:600;fill:var(--color-text-muted, #424242)}.ladder-chart__curve{stroke:var(--chart-red);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;transition:d .5s ease}.ladder-chart__curve--no-motion{transition:none}.ladder-chart__hit{fill:rgba(0,0,0,0);pointer-events:all;cursor:pointer;transition:cx .5s ease,cy .5s ease}.ladder-chart__dot{fill:var(--chart-red);stroke:#fff;stroke-width:2px;pointer-events:none;transition:cx .5s ease,cy .5s ease,r .15s ease}.ladder-chart__hit:hover+.ladder-chart__dot,.ladder-chart__dot:focus-visible{r:10px;filter:drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25))}.ladder-chart__dot:focus-visible{outline:none}.ladder-chart__mean-ring{stroke:var(--chart-red);stroke-width:1.5px;stroke-dasharray:3 2;opacity:.7;pointer-events:none;transition:cx .5s ease,cy .5s ease}.ladder-chart__point--no-motion circle{transition:none}.ladder-chart__point--hidden{display:none}.ladder-chart__note{margin:.5rem 0 0;font-family:var(--font-sans);font-size:13px;color:var(--color-text-muted, #424242)}.ladder-chart__tooltip{position:fixed;z-index:30;max-width:280px;padding:.7rem .9rem;background:#18181b;color:#fafafa;border-radius:8px;font-family:var(--font-sans);font-size:12.5px;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none}.ladder-chart__tooltip-name{font-weight:700;font-size:13.5px;color:#fff;margin-bottom:.35rem;word-break:break-word}.ladder-chart__tooltip-fields{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:.15rem;margin:0}.ladder-chart__tooltip-fields dt{color:#a1a1aa;font-weight:500;white-space:nowrap}.ladder-chart__tooltip-fields dd{margin:0;color:#fafafa;font-variant-numeric:tabular-nums;text-align:right;word-break:break-word}.ladder-chart__table-details{margin:1.25rem 0 0}.ladder-chart__table-details summary{cursor:pointer;font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--color-text-muted, #424242);padding:.3rem 0}.ladder-chart__table-callout{margin-top:.6rem}@media(max-width: 575.98px){.ladder-chart__tick-text{font-size:11px}}@media(prefers-reduced-motion: reduce){.ladder-chart__curve,.ladder-chart__hit,.ladder-chart__dot,.ladder-chart__mean-ring{transition:none}}.block-endmatter{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--color-rule)}.endmatter-section{margin-bottom:2.5rem}.endmatter-section h3{font-family:var(--font-ui);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin-bottom:1rem}.footnotes-list,.references-list{font-size:14px;line-height:1.6;color:var(--color-text-muted);padding-left:1.2rem}.footnotes-list li,.references-list li{margin-bottom:.6rem}.footnotes-list a.footnote-back{color:var(--color-citation);text-decoration:none;margin-left:.4rem}.site-footer{border-top:1px solid var(--color-rule);padding:3rem 0;margin-top:4rem;background:var(--color-tint);font-family:var(--font-ui);font-size:13px;color:var(--color-text-faint)}.site-footer-inner{max-width:var(--width-article);margin:0 auto;padding:0 var(--pad-inline);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.site-footer-more a{color:var(--color-citation);font-weight:600;text-decoration:none}.site-footer-more a:hover,.site-footer-more a:focus-visible{text-decoration:underline}@media(max-width: 1159.98px){.block-body-inner{display:block;width:100%;max-width:100%;padding:0 var(--pad-inline);box-sizing:border-box}.post-toc{display:none !important}.toc-mobile-trigger{display:inline-flex}article.article-content{grid-column:auto;width:100%;max-width:min(100%,var(--width-article));margin:0 auto;min-width:0;box-sizing:border-box}.margin-gutter{display:none !important}.margin-gutter .sidenote{display:none !important}}@media(max-width: 767.98px){:root{--pad-inline: 1.15rem}.block-title{padding-top:calc(1.5rem + var(--height-header, 52px));padding-bottom:1rem}.block-body{padding:1.5rem 0 3rem}.block-title h1{font-size:32px;line-height:1.15}.block-title .subtitle{font-size:20px}.byline-date-line{font-size:11px}}@media(max-width: 575.98px){:root{--pad-inline: 1rem;--size-body: 18.5px;--lh-body: 1.55}.block-title{padding-top:calc(1.2rem + var(--height-header, 48px))}.block-title h1{font-size:27px;line-height:1.15}.block-title .subtitle{font-size:18px}.toc-mobile-trigger{bottom:16px;left:16px;padding:6px 14px;font-size:12px}}body[data-mode=landing] #app-shell{display:none !important}body[data-mode=landing] #app-shell>header,body[data-mode=landing] #app-shell>footer,body[data-mode=landing] #navbar,body[data-mode=landing] .g-navbar,body[data-mode=landing] #footer,body[data-mode=landing] .g-footer,body[data-mode=landing] #dock,body[data-mode=landing] .g-dock,body[data-mode=landing] .g-panel,body[data-mode=landing] .g-panel--side,body[data-mode=landing] #inspector,body[data-mode=landing] .g-inspector,body[data-mode=landing] .g-fab,body[data-mode=landing] .g-awesome-bar,body[data-mode=landing] .g-awesome-bar--float,body[data-mode=landing] #landing-overlay,body[data-mode=landing] .g-nav-heart__ladder,body[data-mode=landing] [data-thatopen-logo]{display:none !important}body[data-mode=app]{font-family:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;font-size:var(--g-text-base);font-weight:var(--g-weight-normal);line-height:1.5;background:var(--g-bg-base);color:var(--g-text-primary)}body[data-mode=app] #app-shell{font-family:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important}body[data-mode=app] .site-header,body[data-mode=app] main.post,body[data-mode=app] .site-footer,body[data-mode=app] .toc-mobile-trigger,body[data-mode=app] .toc-mobile-drawer{display:none !important}.model-header-bar{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;margin-bottom:.75rem;background:#fcfbfa;border:1px solid var(--color-border, #e5e3df);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.02)}.model-badge{display:flex;align-items:center;gap:.6rem}.model-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--color-highlight);box-shadow:0 0 0 3px var(--color-highlight-subtle)}.model-badge-title{font-family:var(--font-ui, sans-serif);font-size:13px;font-weight:600;color:var(--color-text, #111111)}.model-badge-sub{font-family:var(--font-mono, monospace);font-size:11px;color:var(--color-text-muted, #737373);background:rgba(0,0,0,.04);padding:2px 8px;border-radius:10px}.model-controls{display:flex;align-items:center;gap:.5rem}.model-btn{display:inline-flex;align-items:center;gap:.45rem;background:#111;color:#fff;border:1px solid #111;padding:.4rem .9rem;border-radius:8px;font-family:var(--font-ui, sans-serif);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.model-btn:hover{background:#2a2a2a;transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}.model-btn:active{transform:translateY(0)}.hero-canvas-container{width:100%;height:560px;position:relative;background:#fcfbfa;border:1px solid var(--color-border, #e5e3df);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.06)}.hero-canvas-container .g-nav-heart__ladder,.hero-canvas-container [data-thatopen-logo]{display:none !important}.hero-canvas-container #stage{width:100% !important;height:100% !important;position:absolute !important;inset:0 !important;border-radius:12px;touch-action:none}.hero-canvas-container #stage canvas{touch-action:none}@media(max-width: 767.98px){.hero-canvas-container{width:100%;height:auto;aspect-ratio:1/1;max-height:100vw}}@media(orientation: portrait)and (max-width: 1023.98px){.hero-canvas-container{width:100%;height:auto;aspect-ratio:1/1;max-height:100vw}}@media(orientation: landscape)and (max-height: 500px){.hero-canvas-container{height:min(360px,80vh);aspect-ratio:auto}}
