:root{color-scheme:light dark;--ht-bg:light-dark(#fcfcfd,#08090a);--ht-bg-sunken:light-dark(#f4f4f6,#0e0f11);--ht-bg-raised:light-dark(#ececef,#16171a);--ht-bg-hover:light-dark(#e4e4e8,#1d1e22);--ht-bg-code:light-dark(#f4f4f6,#111214);--ht-border:light-dark(#e4e4e8,#1f2023);--ht-border-strong:light-dark(#d2d3d8,#2c2d32);--ht-overlay:light-dark(#0000004d,#0009);--ht-shadow:light-dark(#00000026,#00000080);--ht-text:light-dark(#0f1012,#f7f8f8);--ht-text-body:light-dark(#2e3137,#d0d6e0);--ht-text-muted:light-dark(#676b73,#8a8f98);--ht-text-faint:light-dark(#9a9ea7,#5c6068);--ht-cyan:light-dark(#0b86ad,#3ec6ea);--ht-magenta:light-dark(#c4246c,#ec4d98);--ht-yellow:light-dark(#9a7400,#f3d34a);--ht-key:light-dark(#6b6b6b,#b8b8b8);--ht-link:var(--ht-text);--ht-focus:var(--ht-cyan);--ht-selection:light-dark(#0b86ad2e,#3ec6ea40);--ht-dot-color:var(--ht-text);--ht-font-sans:"Inter", -apple-system, "SF Pro Text", "Segoe UI", Roboto, helvetica, arial, sans-serif;--ht-font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ht-weight-normal:400;--ht-weight-medium:510;--ht-weight-bold:590;--ht-text-xs:.75rem;--ht-text-sm:.8125rem;--ht-text-md:.9375rem;--ht-text-lg:1.0625rem;--ht-text-xl:1.25rem;--ht-text-2xl:1.5rem;--ht-text-3xl:2rem;--ht-text-4xl:2.5rem;--ht-tracking-body:-.011em;--ht-tracking-heading:-.012em;--ht-tracking-title:-.022em;--ht-space-1:4px;--ht-space-2:8px;--ht-space-3:12px;--ht-space-4:16px;--ht-space-5:24px;--ht-space-6:32px;--ht-space-7:48px;--ht-space-8:64px;--ht-radius-sm:4px;--ht-radius-md:6px;--ht-radius-lg:10px;--ht-radius-pill:999px;--ht-ease:cubic-bezier(.2, 0, 0, 1);--ht-duration:.16s;--ht-header-height:56px;--ht-side-panel-width:296px;--ht-syntax-keyword:light-dark(#a8457a,#f09dc4);--ht-syntax-type:light-dark(#2a7895,#8fcbe6);--ht-syntax-value:light-dark(#8a6a12,#eed08a);--ht-syntax-string:light-dark(#3d7d3a,#a6da9c);--ht-syntax-param:light-dark(#8f5b2e,#eec09a);--ht-syntax-prim:light-dark(#5c6068,#c3c6cc);--shiki-foreground:var(--ht-text);--shiki-background:var(--ht-bg-code);--shiki-token-keyword:var(--ht-syntax-keyword);--shiki-token-constant:var(--ht-syntax-value);--shiki-token-string:var(--ht-syntax-string);--shiki-token-string-expression:var(--ht-syntax-string);--shiki-token-comment:var(--ht-text-faint);--shiki-token-function:var(--ht-syntax-type);--shiki-token-parameter:var(--ht-syntax-param);--shiki-token-punctuation:var(--ht-text-muted);--shiki-token-link:var(--ht-syntax-type)}@media (width<=600px){:root{--ht-header-height:52px}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.ht-halftone-field{width:100%;height:100%;color:var(--ht-dot-color);pointer-events:none;display:block}.ht-input{width:100%;height:36px;padding:0 var(--ht-space-3);font:inherit;font-size:var(--ht-text-sm);color:var(--ht-text);background:var(--ht-bg-raised);border-radius:var(--ht-radius-md);-webkit-appearance:none;appearance:none;transition:border-color var(--ht-duration) var(--ht-ease);border:1px solid #0000;outline:none}.ht-input::placeholder{color:var(--ht-text-faint)}.ht-input:disabled{opacity:.5}.ht-input:focus,.ht-input:focus-visible{border-color:var(--ht-focus);outline:none}@media (pointer:coarse){.ht-input{height:40px;font-size:16px}}.ht-app-header{z-index:30;align-items:center;gap:var(--ht-space-2);height:var(--ht-header-height);padding:0 var(--ht-space-4);padding-left:max(var(--ht-space-4), env(safe-area-inset-left));padding-right:max(var(--ht-space-4), env(safe-area-inset-right));background:color-mix(in srgb, var(--ht-bg-sunken) 96%, transparent);-webkit-backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.ht-brand{align-items:center;gap:8px;padding:6px 4px;font-size:1.0625rem;line-height:1;display:inline-flex}.ht-brand-home{color:var(--ht-text);align-items:center;gap:12px;display:inline-flex}.ht-brand-home:hover{text-decoration:none}.ht-brand-mark{width:24px;height:24px;font-family:var(--ht-font-mono);font-size:11px;font-weight:var(--ht-weight-bold);letter-spacing:-.02em;color:var(--ht-bg);background:var(--ht-text);border-radius:var(--ht-radius-md);transition:transform var(--ht-duration) var(--ht-ease);place-items:center;display:inline-grid}.ht-brand-home:hover .ht-brand-mark{transform:rotate(-6deg)}.ht-brand-name{font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading)}.ht-brand-product{font-size:var(--ht-text-sm);color:var(--ht-text-faint);padding-top:2px}.ht-brand-product a{color:inherit}.ht-brand-product a:hover{color:var(--ht-text-muted)}.ht-app-header-end{align-items:center;gap:var(--ht-space-1);margin-left:auto;display:flex}@media (width<=600px){.ht-app-header{padding:0 var(--ht-space-2)}}.ht-icon-button{width:36px;height:36px;color:var(--ht-text-muted);border-radius:var(--ht-radius-md);cursor:pointer;transition:color var(--ht-duration) var(--ht-ease), background var(--ht-duration) var(--ht-ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ht-icon-button:hover{color:var(--ht-text);background:var(--ht-bg-hover)}.ht-button{align-items:center;gap:var(--ht-space-2);font:inherit;font-size:var(--ht-text-sm);color:var(--ht-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--ht-duration) var(--ht-ease);background:0 0;border:0;padding:0;display:inline-flex}.ht-button:hover{color:var(--ht-text);text-decoration:none}.ht-button:disabled,.ht-icon-button:disabled{color:var(--ht-text-faint);cursor:default;background:0 0}.ht-callout{--callout-color:var(--ht-cyan);margin:var(--ht-space-4) 0;padding:var(--ht-space-3) var(--ht-space-4);background:var(--ht-bg-raised);border-left:3px solid var(--callout-color);border-radius:0 var(--ht-radius-md) var(--ht-radius-md) 0}.ht-callout[data-type=warn]{--callout-color:var(--ht-yellow)}.ht-callout-label{font-size:var(--ht-text-sm);font-weight:var(--ht-weight-bold);color:var(--callout-color);margin-bottom:var(--ht-space-1)}.ht-callout-body>:first-child{margin-top:0}.ht-callout-body>:last-child{margin-bottom:0}.ht-code-block{margin:var(--ht-space-4) 0;background:var(--ht-bg-code);border-radius:var(--ht-radius-md);position:relative}.ht-code-caption{padding:var(--ht-space-2) var(--ht-space-4);font-size:var(--ht-text-xs);color:var(--ht-text-faint);border-bottom:1px solid var(--ht-border)}.ht-code-body pre{padding:var(--ht-space-3) var(--ht-space-4);font-size:var(--ht-text-sm);tab-size:4;margin:0;padding-right:48px;line-height:1.65;overflow-x:auto;background:0 0!important}.ht-code-copy{width:30px;height:30px;color:var(--ht-text-faint);background:var(--ht-bg-code);border-radius:var(--ht-radius-sm);box-shadow:-12px 0 10px var(--ht-bg-code), 5px 0 0 var(--ht-bg-code);cursor:pointer;opacity:0;transition:opacity var(--ht-duration) var(--ht-ease), color var(--ht-duration) var(--ht-ease);border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:6px;right:6px}.ht-code-caption+.ht-code-body+.ht-code-copy{top:3px}.ht-code-block:hover .ht-code-copy,.ht-code-copy:focus-visible,.ht-code-copy[data-copied]{opacity:1}.ht-code-copy:hover{color:var(--ht-text);border-color:var(--ht-border-strong)}.ht-code-copy-done,.ht-code-copy[data-copied] .ht-code-copy-idle{display:none}.ht-code-copy[data-copied] .ht-code-copy-done{color:var(--ht-cyan);display:block}@media (hover:none){.ht-code-copy{opacity:1}}.ht-dialog-overlay{z-index:70;background:var(--ht-overlay);animation:ht-dialog-fade var(--ht-duration) var(--ht-ease);position:fixed;inset:0}.ht-dialog{z-index:71;width:min(100vw - 32px,400px);max-height:calc(100dvh - 32px);padding:var(--ht-space-3) var(--ht-space-5) var(--ht-space-5);background:var(--ht-bg);border-radius:var(--ht-radius-lg);box-shadow:0 12px 40px var(--ht-shadow);animation:ht-dialog-fade var(--ht-duration) var(--ht-ease);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ht-dialog:focus{outline:none}.ht-dialog-head{margin:0 calc(-1 * var(--ht-space-2)) var(--ht-space-2) 0;justify-content:space-between;align-items:center;display:flex}.ht-dialog-title{font-size:var(--ht-text-lg);font-weight:var(--ht-weight-bold);color:var(--ht-text);margin:0}@keyframes ht-dialog-fade{0%{opacity:0}}.ht-empty-state{max-width:420px;padding:var(--ht-space-5);text-align:center;flex-direction:column;align-items:center;display:flex}.ht-empty-state-icon{margin-bottom:var(--ht-space-4);color:var(--ht-text-faint)}.ht-empty-state-title{margin:0 0 var(--ht-space-2);font-size:var(--ht-text-xl);font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading);color:var(--ht-text)}.ht-empty-state-body{align-items:center;gap:var(--ht-space-4);width:100%;color:var(--ht-text-muted);flex-direction:column;display:flex}.ht-empty-state-body p{margin:0}.ht-example{margin:var(--ht-space-4) 0;background:var(--ht-bg-code);border-radius:var(--ht-radius-md);overflow:hidden}.ht-example-bar{align-items:center;gap:var(--ht-space-3);min-height:40px;padding:0 var(--ht-space-2) 0 var(--ht-space-4);display:flex}.ht-example-caption{font-size:var(--ht-text-sm);color:var(--ht-text-muted)}.ht-example-tabs{gap:2px;margin-left:auto;display:flex}.ht-example-tabs button{height:28px;font:inherit;font-size:var(--ht-text-sm);color:var(--ht-text-faint);border-radius:var(--ht-radius-sm);cursor:pointer;transition:color var(--ht-duration) var(--ht-ease), background var(--ht-duration) var(--ht-ease);background:0 0;border:0;padding:0 10px}.ht-example-tabs button:hover{color:var(--ht-text)}.ht-example-tabs button[aria-selected=true]{color:var(--ht-text);background:var(--ht-bg-hover)}.ht-example-preview{height:320px}.ht-example-credits{color:var(--ht-text-faint);cursor:default;margin-left:auto;padding:4px;display:flex;position:relative}.ht-example-credits+.ht-example-tabs{margin-left:0}.ht-example-credits:hover,.ht-example-credits:focus-visible{color:var(--ht-text-muted)}.ht-example-credits-list{width:max-content;max-width:280px;font-size:var(--ht-text-xs);color:var(--ht-text-muted);display:none;position:absolute;top:100%;right:0}.ht-example-credits:hover .ht-example-credits-list,.ht-example-credits:focus-within .ht-example-credits-list{display:block}.ht-example-credits-list a{color:var(--ht-text)}.ht-example-frame{color-scheme:light;border:0;width:100%;height:100%;display:block}.ht-example-code .ht-code-block{border-radius:0;margin:0}@media (width<=600px){.ht-example-preview{height:240px}}.ht-field{justify-content:space-between;align-items:center;gap:var(--ht-space-3);min-height:32px;font-size:var(--ht-text-sm);display:flex}.ht-field-label{min-width:0;color:var(--ht-text-body)}.ht-number-field,.ht-number-input{width:80px;height:30px;font-family:var(--ht-font-mono);font-variant-numeric:tabular-nums;flex:none}.ht-number-input{padding:0 var(--ht-space-2);text-align:center}.ht-number-field{color:var(--ht-text);background:var(--ht-bg-raised);border-radius:var(--ht-radius-md);user-select:none;transition:background var(--ht-duration) var(--ht-ease);align-items:center;display:flex}.ht-number-field:hover{background:var(--ht-bg-hover)}.ht-number-value{white-space:nowrap;cursor:ew-resize;touch-action:none;flex:1;justify-content:center;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden}.ht-number-value[data-empty]{color:var(--ht-text-faint)}.ht-number-step{width:16px;height:100%;color:var(--ht-text-faint);cursor:pointer;opacity:0;transition:opacity var(--ht-duration) var(--ht-ease), color var(--ht-duration) var(--ht-ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ht-number-field:hover .ht-number-step,.ht-number-field:focus-within .ht-number-step{opacity:1}.ht-number-step:hover{color:var(--ht-text)}@media (hover:none){.ht-number-step{opacity:1}}.ht-switch{background:var(--ht-border-strong);border-radius:var(--ht-radius-pill);cursor:pointer;width:30px;height:18px;transition:background var(--ht-duration) var(--ht-ease);border:0;flex:none;padding:0;position:relative}.ht-switch[data-state=checked]{background:var(--ht-text)}.ht-switch-thumb{background:var(--ht-bg);width:14px;height:14px;transition:transform var(--ht-duration) var(--ht-ease);border-radius:50%;display:block;transform:translate(2px)}.ht-switch[data-state=checked] .ht-switch-thumb{transform:translate(14px)}.ht-switch:focus-visible{outline-offset:2px}.ht-kind-dot{--kind-color:var(--ht-key);background:var(--kind-color);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.ht-kind-dot[data-kind=class],.ht-kind-dot[data-kind=component]{--kind-color:var(--ht-cyan)}.ht-kind-dot[data-kind=function],.ht-kind-dot[data-kind=callback]{--kind-color:var(--ht-magenta)}.ht-kind-dot[data-kind=constant]{--kind-color:var(--ht-yellow)}.ht-kind-dot[data-kind=component],.ht-kind-dot[data-kind=callback]{box-shadow:inset 0 0 0 1.5px var(--kind-color);background:0 0}.ht-kind-tag{height:22px;font-size:var(--ht-text-xs);font-weight:var(--ht-weight-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--ht-text-muted);border:1px solid var(--ht-border-strong);border-radius:var(--ht-radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.ht-panel-section{flex-direction:column;flex:none;min-height:0;display:flex}.ht-panel-section[data-grow][data-state=open]{flex:1;min-height:200px}.ht-panel-section-head{padding-right:var(--ht-space-2);align-items:center;display:flex}.ht-panel-section-actions{align-items:center;gap:2px;display:flex}.ht-panel-section-actions .ht-icon-button{width:28px;height:28px}.ht-panel-section-trigger{min-width:0;height:36px;padding:0 var(--ht-space-3) 0 var(--ht-space-2);font:inherit;font-size:var(--ht-text-sm);font-weight:var(--ht-weight-medium);color:var(--ht-text-muted);text-align:left;cursor:pointer;transition:color var(--ht-duration) var(--ht-ease);background:0 0;border:0;flex:1;align-items:center;gap:6px;display:flex}.ht-panel-section-trigger:hover{color:var(--ht-text)}.ht-panel-section-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--ht-weight-normal);font-variant-numeric:tabular-nums;color:var(--ht-text-faint);overflow:hidden}.ht-panel-section-chevron{color:var(--ht-text-faint);transition:transform var(--ht-duration) var(--ht-ease);flex:none}.ht-panel-section-trigger[data-state=open] .ht-panel-section-chevron{transform:rotate(90deg)}.ht-panel-section-content{padding:0 var(--ht-space-3) var(--ht-space-4) 28px}.ht-panel-section[data-grow]>.ht-panel-section-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.ht-popover{z-index:60;padding:var(--ht-space-2);background:var(--ht-bg);border-radius:var(--ht-radius-lg);box-shadow:0 12px 40px var(--ht-shadow);animation:ht-popover-in var(--ht-duration) var(--ht-ease)}@keyframes ht-popover-in{0%{opacity:0;transform:translateY(-4px)}}.ht-progress{background:color-mix(in srgb, var(--ht-text) 12%, transparent);opacity:0;height:3px;transition:opacity .4s var(--ht-ease);overflow:hidden}.ht-progress[data-active]{opacity:1;transition-duration:var(--ht-duration)}.ht-progress-fill{background:var(--ht-text);transform-origin:0;height:100%}.ht-search{align-items:center;display:flex;position:relative}.ht-search-icon{color:var(--ht-text-faint);pointer-events:none;position:absolute;left:10px}.ht-search-input{padding:0 36px 0 34px}.ht-search-input::-webkit-search-cancel-button{display:none}.ht-search-kbd,.ht-search-clear{position:absolute;right:8px}.ht-search-kbd{background:0 0}.ht-search-clear{width:24px;height:24px;color:var(--ht-text-muted);border-radius:var(--ht-radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ht-search-clear:hover{color:var(--ht-text);background:var(--ht-bg-hover)}@media (pointer:coarse){.ht-search-kbd{display:none}}.ht-select{min-width:0;height:32px;font:inherit;font-size:var(--ht-text-sm);color:var(--ht-text);border-radius:var(--ht-radius-md);cursor:pointer;transition:background var(--ht-duration) var(--ht-ease);background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.ht-select:hover,.ht-select[data-state=open]{background:var(--ht-bg-hover)}.ht-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ht-select-icon{color:var(--ht-text-faint);display:inline-flex}.ht-select-content{min-width:var(--radix-select-trigger-width);max-height:min(60vh, var(--radix-select-content-available-height));padding:var(--ht-space-1);overflow-y:auto}.ht-select-item{align-items:center;gap:var(--ht-space-3);min-height:30px;font-size:var(--ht-text-sm);color:var(--ht-text-muted);border-radius:var(--ht-radius-sm);cursor:pointer;user-select:none;outline:none;padding:0 8px;display:flex}.ht-select-item[data-highlighted]{color:var(--ht-text);background:var(--ht-bg-hover)}.ht-select-item[data-state=checked]{color:var(--ht-text)}.ht-select-check{color:var(--ht-text-muted);margin-left:auto;display:inline-flex}.ht-side-panel{top:var(--ht-side-panel-top,0);height:var(--ht-side-panel-height,100%);overscroll-behavior:contain;background:var(--ht-bg-sunken);flex-direction:column;min-height:0;display:flex;position:sticky;overflow-y:auto}.ht-side-panel-head{align-items:center;gap:var(--ht-space-2);padding:var(--ht-space-3);display:flex}.ht-side-panel-head>:first-child{flex:1;min-width:0}.ht-side-panel-head[data-empty]{justify-content:flex-end;display:none}.ht-side-panel-close{display:none}.ht-side-panel-scroll{overscroll-behavior:contain;min-height:0;padding:var(--ht-space-2) var(--ht-space-3) var(--ht-space-7) 14px;flex:1;overflow-y:auto}.ht-side-panel-scrim{display:none}@media (width<=900px){.ht-side-panel{z-index:50;width:min(88vw,340px);height:auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 0 48px var(--ht-shadow);visibility:hidden;transition:transform .24s var(--ht-ease), visibility 0s linear .24s;position:fixed;top:0;bottom:0}.ht-side-panel[data-side=left]{left:0;transform:translate(-100%)}.ht-side-panel[data-side=right]{right:0;transform:translate(100%)}.ht-side-panel[data-open]{visibility:visible;transition:transform .24s var(--ht-ease), visibility 0s;transform:none}.ht-side-panel-close{display:inline-flex}.ht-side-panel-head[data-empty]{display:flex}.ht-side-panel-head[data-empty]>:first-child{flex:none}.ht-side-panel-scrim{z-index:40;background:var(--ht-overlay);opacity:0;pointer-events:none;transition:opacity .24s var(--ht-ease);display:block;position:fixed;inset:0}.ht-side-panel-scrim[data-open]{opacity:1;pointer-events:auto}html[data-ht-drawer-open]{overflow:hidden}}.ht-stat-list{font-size:var(--ht-text-sm)}.ht-stat-list+.ht-stat-list{margin-top:var(--ht-space-3)}.ht-stat-list dl{margin:0}.ht-value-list{font-family:var(--ht-font-mono);color:var(--ht-text);overflow-wrap:anywhere;margin:0;padding:0;line-height:26px;list-style:none}.ht-value-list-empty{color:var(--ht-text-faint);margin:0;line-height:26px}.ht-stat{justify-content:space-between;align-items:baseline;gap:var(--ht-space-6);line-height:26px;display:flex}.ht-stat dt{color:var(--ht-text-body);flex:none}.ht-stat dd{text-align:right;overflow-wrap:anywhere;min-width:0;font-family:var(--ht-font-mono);font-variant-numeric:tabular-nums;color:var(--ht-text);margin:0}.ht-subheading{font-size:var(--ht-text-xs);font-weight:var(--ht-weight-medium);color:var(--ht-text-faint);padding-bottom:2px}.ht-tag{height:24px;font-size:var(--ht-text-xs);color:var(--ht-text-muted);background:var(--ht-bg-raised);border-radius:var(--ht-radius-pill);white-space:nowrap;align-items:center;padding:0 10px;display:inline-flex}.ht-theme-toggle-sun{display:none}:root[data-theme=dark] .ht-theme-toggle-sun{display:block}:root[data-theme=dark] .ht-theme-toggle-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ht-theme-toggle-sun{display:block}:root:not([data-theme=light]) .ht-theme-toggle-moon{display:none}}.ht-tree{--row-height:30px;--indent:14px;font-size:var(--ht-text-sm)}.ht-tree-list{margin:0;padding:0;list-style:none}.ht-tree-row{min-height:var(--row-height);padding-left:calc(var(--depth) * var(--indent));border-radius:var(--ht-radius-sm);color:var(--ht-text-muted);align-items:center;display:flex;position:relative}.ht-tree-leaf{padding-left:calc(var(--depth) * var(--indent) + 26px);gap:8px;padding-right:8px;text-decoration:none}.ht-tree-leaf:hover,.ht-tree-branch:hover{color:var(--ht-text);background:var(--ht-bg-hover);text-decoration:none}.ht-tree-toggle{width:26px;height:var(--row-height);color:var(--ht-text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ht-tree-toggle .ht-icon{transition:transform var(--ht-duration) var(--ht-ease)}.ht-tree-toggle[data-state=open] .ht-icon{transform:rotate(90deg)}.ht-tree-branch-link{min-width:0;min-height:var(--row-height);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px 0 0;text-decoration:none;display:flex}.ht-tree-branch-link:hover{text-decoration:none}.ht-tree-branch{color:var(--ht-text)}.ht-tree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ht-tree-demo{color:var(--ht-text-faint);flex:none;display:inline-flex}.ht-tree-mono{font-family:var(--ht-font-mono);font-size:.95em}.ht-tree-label mark{color:var(--ht-text);background:var(--ht-selection);border-radius:2px}.ht-tree-row[aria-current=page],.ht-tree-branch[data-current=page]{color:var(--ht-text);background:var(--ht-bg-raised)}.ht-tree-group-label{padding:12px 8px 4px calc(var(--depth) * var(--indent) + 26px);font-size:var(--ht-text-xs);font-weight:var(--ht-weight-medium);color:var(--ht-text-faint)}.ht-tree-empty{margin:var(--ht-space-4) var(--ht-space-2);color:var(--ht-text-faint)}@media (pointer:coarse){.ht-tree{--row-height:40px;font-size:var(--ht-text-md)}}.ht-truncated{vertical-align:bottom;align-items:center;min-width:0;max-width:100%;display:inline-flex}.ht-truncated-text{white-space:nowrap;min-width:0;display:flex}.ht-truncated-start{text-overflow:ellipsis;min-width:0;overflow:hidden}.ht-truncated-end{flex:none}.ht-truncated-copy{font:inherit;color:inherit;text-align:inherit;cursor:copy;background:0 0;border:0;padding:0}.ht-truncated-copy:hover .ht-truncated-text{text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}.ht-truncated-copied{white-space:nowrap;color:var(--ht-text-muted)}.ht-vtree{overflow-y:auto}.ht-vtree-space{position:relative}.ht-vtree-row{height:var(--row-height);cursor:default;user-select:none;padding-right:8px;position:absolute;left:0;right:0}.ht-vtree-aside{padding-left:var(--ht-space-3);font-family:var(--ht-font-mono);font-size:var(--ht-text-xs);font-variant-numeric:tabular-nums;color:var(--ht-text-faint);flex:none;margin-left:auto}.ht-vtree-actions{opacity:0;transition:opacity var(--ht-duration) var(--ht-ease);flex:none;margin-left:4px;margin-right:-4px;display:flex}.ht-vtree-aside+.ht-vtree-actions{margin-left:2px}.ht-vtree-row:hover .ht-vtree-actions,.ht-vtree-row:focus-within .ht-vtree-actions{opacity:1}.ht-vtree-actions .ht-icon-button{width:24px;height:24px}@media (hover:none){.ht-vtree-actions{opacity:1}}.ht-vtree-row[aria-selected=true]{color:var(--ht-text);background:var(--ht-bg-raised)}.ht-vtree-row[data-details]{border-radius:var(--ht-radius-sm) var(--ht-radius-sm) 0 0}.ht-vtree-details{padding:2px 8px 10px calc(var(--depth) * var(--indent) + 26px);background:var(--ht-bg-raised);border-radius:0 0 var(--ht-radius-sm) var(--ht-radius-sm);position:absolute;left:0;right:0}.ht-vtree-row[data-highlight]{color:var(--ht-text)}.ht-vtree-row[data-highlight=target]{background:var(--ht-selection)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--ht-bg);color:var(--ht-text);font-family:var(--ht-font-sans);font-weight:var(--ht-weight-normal);font-size:var(--ht-text-md);letter-spacing:var(--ht-tracking-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}::selection{background:var(--ht-selection)}a{color:inherit;text-decoration:none}.ht-link-underline a,a.ht-link-underline{color:var(--ht-link);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--ht-duration) var(--ht-ease)}.ht-link-underline a:hover,a.ht-link-underline:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--ht-focus);outline-offset:2px;border-radius:var(--ht-radius-sm)}code,kbd,pre{font-family:var(--ht-font-mono)}:not(pre)>code{border-radius:var(--ht-radius-sm);background:var(--ht-bg-raised);overflow-wrap:anywhere;padding:.1em .35em;font-size:.875em}kbd{min-width:1.5em;height:1.5em;font-size:var(--ht-text-xs);color:var(--ht-text-muted);border-radius:var(--ht-radius-sm);background:var(--ht-bg-hover);justify-content:center;align-items:center;padding:0 .35em;display:inline-flex}*{scrollbar-width:thin;scrollbar-color:var(--ht-border-strong) transparent}.ht-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}:root{--header-height:var(--ht-header-height);--sidebar-width:var(--ht-side-panel-width);--toc-width:236px;--page-width:720px;--page-pad-x:48px}html{scroll-padding-top:calc(var(--header-height) + 16px)}.skip-link{z-index:100;background:var(--ht-bg-raised);border-radius:var(--ht-radius-md);padding:8px 12px;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.ht-app-header .site-header-mobile{display:none}.site-body{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.site-body[data-toc]{grid-template-columns:var(--sidebar-width) minmax(0, 1fr) var(--toc-width)}.site-main{min-width:0;padding:40px var(--page-pad-x) 120px}.site-sidebar{--ht-side-panel-top:var(--header-height);--ht-side-panel-height:calc(100dvh - var(--header-height))}.site-sidebar-scroll .ht-tree>.ht-tree-list>li+li{margin-top:2px}.site-toc{top:var(--header-height);height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));padding:40px var(--ht-space-5) var(--ht-space-7) 0;position:sticky;overflow-y:auto}.toc{font-size:var(--ht-text-sm)}.toc-title{margin-bottom:var(--ht-space-2);font-size:var(--ht-text-xs);font-weight:var(--ht-weight-medium);color:var(--ht-text-faint)}.toc-list{margin:0;padding:0;list-style:none}.toc-list a{color:var(--ht-text-muted);text-overflow:ellipsis;white-space:nowrap;padding:3px 0 3px 14px;display:block;position:relative;overflow:hidden}.toc-list li[data-level="3"] a{font-family:var(--ht-font-mono);padding-left:26px;font-size:.75rem}.toc-list a:hover{color:var(--ht-text);text-decoration:none}.toc-list a[data-active]{color:var(--ht-text)}.toc-list a[data-active]:before{content:"";background:var(--ht-cyan);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:2px}.toc-inline{margin:var(--ht-space-5) 0;background:var(--ht-bg-sunken);border-radius:var(--ht-radius-md);display:none}.toc-inline summary{min-height:44px;padding:0 var(--ht-space-4);font-size:var(--ht-text-sm);color:var(--ht-text-muted);cursor:pointer;align-items:center;list-style:none;display:flex}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:after{content:"";width:7px;height:7px;transition:transform var(--ht-duration) var(--ht-ease);border-bottom:1.5px solid;border-right:1.5px solid;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.toc-inline[open] summary:after{transform:rotate(-135deg)translateY(-2px)}.toc-inline .toc-list{max-height:50vh;margin:0 var(--ht-space-4) var(--ht-space-3);overflow-y:auto}.toc-inline .toc-list a{padding-top:6px;padding-bottom:6px}.page{max-width:var(--page-width);margin:0 auto}.page-wide{max-width:1080px}.page-header{margin-bottom:var(--ht-space-5)}.crumbs{margin-bottom:var(--ht-space-3);font-family:var(--ht-font-mono);font-size:var(--ht-text-sm);overflow-wrap:anywhere}.crumbs a{color:var(--ht-text-muted)}.crumbs a:hover{color:var(--ht-text)}.page-title-row{align-items:center;gap:var(--ht-space-3) var(--ht-space-4);flex-wrap:wrap;display:flex}.page-title{font-size:var(--ht-text-3xl);font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-title);overflow-wrap:anywhere;margin:0;line-height:1.15}.page-title-mono{font-family:var(--ht-font-mono);font-size:var(--ht-text-2xl);font-weight:var(--ht-weight-medium);letter-spacing:0}.extends{margin-top:var(--ht-space-2);font-family:var(--ht-font-mono);font-size:var(--ht-text-sm);color:var(--ht-text-muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.extends-label,.extends-sep{font-family:var(--ht-font-sans);color:var(--ht-text-faint)}.prose{color:var(--ht-text-body);overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol{margin:0 0 var(--ht-space-3)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:2px}.prose table{border-collapse:collapse;max-width:100%;font-size:var(--ht-text-sm);display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--ht-border);text-align:left;padding:6px 12px}.prose blockquote{margin:var(--ht-space-3) 0;padding-left:var(--ht-space-4);color:var(--ht-text-muted);border-left:2px solid var(--ht-border-strong)}.prose img{max-width:100%;height:auto}.lead{font-size:var(--ht-text-lg);margin-bottom:var(--ht-space-4)}.doc-section{margin-top:var(--ht-space-7)}.section-title{margin:0 0 var(--ht-space-4);font-size:var(--ht-text-2xl);font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading);line-height:1.3}.sig{margin:0 0 var(--ht-space-4);padding:var(--ht-space-3) var(--ht-space-4);font-size:var(--ht-text-sm);tab-size:4;color:var(--ht-text-muted);background:var(--ht-bg-code);border-radius:var(--ht-radius-md);line-height:1.65;overflow-x:auto}.sig-main{margin-top:var(--ht-space-4)}.sig-name{color:var(--ht-text);font-weight:var(--ht-weight-medium)}.sig-keyword{color:var(--ht-syntax-keyword)}.sig-param{color:var(--ht-syntax-param)}.sig-type{color:var(--ht-syntax-type)}.sig-prim{color:var(--ht-syntax-prim)}.sig-value{color:var(--ht-syntax-value)}.sig-punct{color:var(--ht-text-faint)}.sig-comment{max-width:min(64ch, calc(100% - var(--depth,0) * 4ch));text-indent:-3ch;vertical-align:top;white-space:normal;color:var(--ht-text-muted);padding-left:3ch;font-style:italic;display:inline-block}a.sig-type,a.sig-prim{text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}a.sig-type:hover,a.sig-prim:hover{text-decoration-color:currentColor}.member{padding:var(--ht-space-5) 0 var(--ht-space-3)}.section-title+.member{padding-top:var(--ht-space-2)}.member-head{align-items:baseline;gap:var(--ht-space-2);margin-bottom:var(--ht-space-3);display:flex}.member-head .member-title{min-width:0}.member-head .member-source{align-self:flex-start}.member-anchor{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}.member-anchor:hover{text-decoration-line:underline}.member-title{font-family:var(--ht-font-mono);font-size:1rem;font-weight:var(--ht-weight-medium);color:var(--ht-text);overflow-wrap:anywhere;margin:0}.member-title:before{content:"."}.member-heading-sig{font-size:inherit;font-weight:var(--ht-weight-normal);background:0 0;padding:0}.member-heading-sig .sig-name{font-weight:var(--ht-weight-medium);color:var(--ht-text)}.member[data-kind] .member-title:before{content:none}.member-source{width:28px;height:28px;color:var(--ht-text-faint);border-radius:var(--ht-radius-sm);opacity:0;transition:opacity var(--ht-duration) var(--ht-ease);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.member:hover .member-source,.page-header:hover .member-source,.member-source:focus-visible{opacity:1}.member-source:hover{color:var(--ht-text);background:var(--ht-bg-hover)}@media (hover:none){.member-source{opacity:1}}.flag{font-family:var(--ht-font-mono);font-size:var(--ht-text-xs);color:var(--ht-text-faint)}.inherited-group+.inherited-group{margin-top:var(--ht-space-5)}.inherited-title{margin:0 0 var(--ht-space-3);font-size:var(--ht-text-md);font-weight:var(--ht-weight-normal);color:var(--ht-text-muted)}.inherited-kinds{margin:0}.inherited-kind{gap:var(--ht-space-4);grid-template-columns:6rem minmax(0,1fr);align-items:baseline;display:grid}.inherited-kind+.inherited-kind{margin-top:var(--ht-space-3)}.inherited-kind dt{font-size:var(--ht-text-sm);color:var(--ht-text-faint)}.inherited-kind dd{margin:0}.inherited-list{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex}.inherited-list a{font-family:var(--ht-font-mono);font-size:var(--ht-text-sm);color:var(--ht-text-muted);transition:color var(--ht-duration) var(--ht-ease)}.inherited-list a:hover{color:var(--ht-text)}@media (width<=600px){.inherited-kind{gap:var(--ht-space-1);grid-template-columns:minmax(0,1fr)}}.overview-group{margin-top:var(--ht-space-6)}.overview-title{margin:0 0 var(--ht-space-2);font-size:var(--ht-text-lg);font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading);color:var(--ht-text)}.symbol-list{margin:0;padding:0;list-style:none}.symbol-row{color:var(--ht-text-muted);grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:baseline;gap:16px;padding:10px 8px;display:grid}.symbol-row:hover{background:var(--ht-bg-raised);text-decoration:none}.symbol-row-name{font-size:var(--ht-text-sm);color:var(--ht-text);overflow-wrap:anywhere;background:0 0;border:0;padding:0}.symbol-row-summary{font-size:.875rem}.symbol-row-summary code{font-size:.8125rem}.tag-row,.button-row{gap:var(--ht-space-2);flex-wrap:wrap;display:flex}.button-row{gap:var(--ht-space-5)}.library-demo .ht-example-preview{height:480px}@media (width<=600px){.library-demo .ht-example-preview{height:320px}}.changelog-release+.changelog-release{margin-top:var(--ht-space-6)}.changelog-version{align-items:baseline;gap:var(--ht-space-3);margin:0 0 var(--ht-space-2);font-family:var(--ht-font-mono);font-size:var(--ht-text-lg);font-weight:var(--ht-weight-medium);display:flex}.changelog-date{font-family:var(--ht-font-sans);font-size:var(--ht-text-sm);font-weight:var(--ht-weight-normal);color:var(--ht-text-faint)}.changelog-release .prose h4{margin:var(--ht-space-4) 0 var(--ht-space-1);font-size:var(--ht-text-sm);font-weight:var(--ht-weight-medium);color:var(--ht-text-muted)}.changelog-more{margin:var(--ht-space-5) 0 0;font-size:var(--ht-text-sm)}.library-hero{margin:-40px calc(var(--page-pad-x) * -1) var(--ht-space-5);padding:56px var(--page-pad-x) 40px;position:relative;overflow:hidden}.library-hero-body{position:relative}.library-hero-eyebrow{margin-bottom:var(--ht-space-3);font-size:var(--ht-text-sm);color:var(--ht-text-faint)}.library-hero-title-row{justify-content:space-between;align-items:baseline;gap:var(--ht-space-2) var(--ht-space-5);flex-wrap:wrap;display:flex}.library-hero-version{font-family:var(--ht-font-mono);letter-spacing:0;color:var(--ht-text-muted)}.library-hero-title{font-size:var(--ht-text-4xl)}.library-hero-description{max-width:40rem;margin:var(--ht-space-4) 0 var(--ht-space-4);font-size:var(--ht-text-lg);color:var(--ht-text-muted)}.empty-state{margin-top:var(--ht-space-6);padding:var(--ht-space-7) var(--ht-space-5);text-align:center;color:var(--ht-text-muted)}.not-found .page-title{margin-bottom:var(--ht-space-3)}.home-hero{margin:-40px calc(var(--page-pad-x) * -1) var(--ht-space-6);padding:88px var(--page-pad-x) 64px}.home-hero-body{max-width:40rem}.home-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:var(--ht-weight-bold);letter-spacing:-.03em;margin:0;line-height:1.05}.home-lede{margin:var(--ht-space-4) 0 0;font-size:var(--ht-text-lg);color:var(--ht-text-muted)}.home-hint{margin:var(--ht-space-4) 0 0;font-size:var(--ht-text-sm);color:var(--ht-text-faint)}.home-users{align-items:flex-start;gap:var(--ht-space-4);margin-top:var(--ht-space-6);flex-direction:column;display:flex}.home-users-label{font-size:var(--ht-text-sm);color:var(--ht-text-faint)}.home-users-list{align-items:center;gap:var(--ht-space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.home-user{color:var(--ht-text-muted);transition:color var(--ht-duration) var(--ht-ease);align-items:center;gap:6px;display:flex}.home-user:hover{color:var(--ht-text);text-decoration:none}.home-user-logo{height:calc(18px * var(--scale));aspect-ratio:var(--aspect);mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;background:currentColor;display:block}.home-user-text{font-size:1.0625rem;font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading)}.library-grid{gap:var(--ht-space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;padding:0;list-style:none;display:grid}.library-card{gap:var(--ht-space-3);height:100%;padding:var(--ht-space-5);color:var(--ht-text-muted);background:var(--ht-bg-sunken);border-radius:var(--ht-radius-lg);transition:background var(--ht-duration) var(--ht-ease);flex-direction:column;display:flex}.library-card:hover{background:var(--ht-bg-raised);text-decoration:none}.library-card-head{justify-content:space-between;align-items:baseline;gap:var(--ht-space-3);display:flex}.library-card-name{font-size:var(--ht-text-lg);font-weight:var(--ht-weight-bold);letter-spacing:var(--ht-tracking-heading);color:var(--ht-text);overflow-wrap:anywhere}.library-card-version{font-family:var(--ht-font-mono);font-size:var(--ht-text-xs);color:var(--ht-text-faint)}.library-card-description{font-size:var(--ht-text-md);flex:1;margin:0;line-height:1.55}@media (width<=1240px){.site-body[data-toc]{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.site-toc{display:none}.toc-inline{display:block}}@media (width<=900px){:root{--page-pad-x:24px}.ht-app-header .site-header-mobile{display:inline-flex}.site-body,.site-body[data-toc]{grid-template-columns:minmax(0,1fr)}.site-main{padding-top:32px}.library-hero,.home-hero{margin-top:-32px}}@media (width<=600px){:root{--page-pad-x:16px}.site-main{padding-top:24px;padding-bottom:80px}.page-title{font-size:2rem}.page-title-mono{font-size:1.375rem}.library-hero,.home-hero{margin-top:-24px}.library-hero{padding-top:40px;padding-bottom:32px}.home-hero{padding-top:56px;padding-bottom:40px}.home-lede,.library-hero-description{font-size:1.0625rem}.doc-section{margin-top:var(--ht-space-6)}.library-grid{grid-template-columns:minmax(0,1fr)}.symbol-row{grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 4px}.sig,.ht-code-body pre{font-size:.78125rem}.sig,.ht-code-block{margin-left:calc(var(--page-pad-x) * -1);margin-right:calc(var(--page-pad-x) * -1);border-radius:0}.sig{padding-left:var(--page-pad-x);padding-right:var(--page-pad-x);white-space:pre-wrap;overflow-wrap:anywhere}.ht-code-body pre{padding-left:var(--page-pad-x)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
