@layer tl.tokens{:root{color-scheme:light dark;--tl-moss-50:oklch(97% .008 128);--tl-moss-100:oklch(93% .017 128);--tl-moss-200:oklch(87% .028 128);--tl-moss-300:oklch(79% .041 128);--tl-moss-400:oklch(70% .052 128);--tl-moss-500:oklch(61% .055 128);--tl-moss-600:oklch(52% .055 128);--tl-moss-700:oklch(44% .052 128);--tl-moss-800:oklch(36% .047 128);--tl-moss-900:oklch(27% .039 128);--tl-moss-950:oklch(20% .03 128);--tl-jade-50:oklch(97% .014 160);--tl-jade-100:oklch(93% .027 160);--tl-jade-200:oklch(87% .045 160);--tl-jade-300:oklch(79% .068 160);--tl-jade-400:oklch(70% .085 160);--tl-jade-500:oklch(61% .09 160);--tl-jade-600:oklch(52% .09 160);--tl-jade-700:oklch(44% .085 160);--tl-jade-800:oklch(36% .077 160);--tl-jade-900:oklch(27% .063 160);--tl-jade-950:oklch(20% .05 160);--tl-amber-50:oklch(97% .015 75);--tl-amber-100:oklch(93% .03 75);--tl-amber-200:oklch(87% .05 75);--tl-amber-300:oklch(79% .075 75);--tl-amber-400:oklch(70% .095 75);--tl-amber-500:oklch(61% .1 75);--tl-amber-600:oklch(52% .1 75);--tl-amber-700:oklch(44% .095 75);--tl-amber-800:oklch(36% .085 75);--tl-amber-900:oklch(27% .07 75);--tl-amber-950:oklch(20% .055 75);--tl-clay-50:oklch(97% .018 25);--tl-clay-100:oklch(93% .036 25);--tl-clay-200:oklch(87% .06 25);--tl-clay-300:oklch(79% .09 25);--tl-clay-400:oklch(70% .114 25);--tl-clay-500:oklch(61% .12 25);--tl-clay-600:oklch(52% .12 25);--tl-clay-700:oklch(44% .114 25);--tl-clay-800:oklch(36% .102 25);--tl-clay-900:oklch(27% .084 25);--tl-clay-950:oklch(20% .066 25);--tl-river-50:oklch(97% .011 235);--tl-river-100:oklch(93% .021 235);--tl-river-200:oklch(87% .035 235);--tl-river-300:oklch(79% .053 235);--tl-river-400:oklch(70% .067 235);--tl-river-500:oklch(61% .07 235);--tl-river-600:oklch(52% .07 235);--tl-river-700:oklch(44% .067 235);--tl-river-800:oklch(36% .06 235);--tl-river-900:oklch(27% .049 235);--tl-river-950:oklch(20% .039 235);--tl-lilac-50:oklch(97% .009 310);--tl-lilac-100:oklch(93% .018 310);--tl-lilac-200:oklch(87% .03 310);--tl-lilac-300:oklch(79% .045 310);--tl-lilac-400:oklch(70% .057 310);--tl-lilac-500:oklch(61% .06 310);--tl-lilac-600:oklch(52% .06 310);--tl-lilac-700:oklch(44% .057 310);--tl-lilac-800:oklch(36% .051 310);--tl-lilac-900:oklch(27% .042 310);--tl-lilac-950:oklch(20% .033 310);--tl-stone-0:oklch(100% 0 0);--tl-stone-25:oklch(98.5% .003 110);--tl-stone-50:oklch(97% .004 110);--tl-stone-100:oklch(94% .006 110);--tl-stone-200:oklch(90% .008 110);--tl-stone-300:oklch(83% .01 110);--tl-stone-400:oklch(70% .012 110);--tl-stone-500:oklch(58% .012 110);--tl-stone-600:oklch(48% .012 110);--tl-stone-700:oklch(39% .011 110);--tl-stone-800:oklch(30% .01 110);--tl-stone-850:oklch(25% .009 110);--tl-stone-900:oklch(21% .008 110);--tl-stone-950:oklch(17% .007 110);--tl-space-0:0;--tl-space-1:.25rem;--tl-space-2:.5rem;--tl-space-3:.75rem;--tl-space-4:1rem;--tl-space-5:1.25rem;--tl-space-6:1.5rem;--tl-space-8:2rem;--tl-space-10:2.5rem;--tl-space-12:3rem;--tl-space-16:4rem;--tl-space-20:5rem;--tl-space-24:6rem;--tl-space-32:8rem;--tl-space-px:1px;--tl-space-0-5:.125rem;--tl-space-1-5:.375rem;--tl-radius-xs:2px;--tl-radius-sm:4px;--tl-radius-md:6px;--tl-radius-lg:10px;--tl-radius-xl:16px;--tl-radius-full:9999px;--tl-text-xs:.75rem;--tl-leading-xs:1rem;--tl-text-sm:.875rem;--tl-leading-sm:1.25rem;--tl-text-md:1rem;--tl-leading-md:1.5rem;--tl-text-lg:1.125rem;--tl-leading-lg:1.75rem;--tl-text-xl:1.25rem;--tl-leading-xl:1.75rem;--tl-text-2xl:1.5rem;--tl-leading-2xl:2rem;--tl-text-3xl:1.875rem;--tl-leading-3xl:2.25rem;--tl-text-4xl:2.25rem;--tl-leading-4xl:2.5rem;--tl-text-5xl:3rem;--tl-leading-5xl:1.1;--tl-text-6xl:3.75rem;--tl-leading-6xl:1.05;--tl-weight-regular:400;--tl-weight-medium:500;--tl-weight-semibold:600;--tl-tracking-normal:0;--tl-tracking-wide:.04em;--tl-control-sm:1.75rem;--tl-control-md:2.25rem;--tl-control-lg:2.75rem;--tl-container-sm:40rem;--tl-container-md:48rem;--tl-container-lg:64rem;--tl-container-xl:80rem;--tl-container-2xl:90rem;--tl-duration-fast:.12s;--tl-duration-base:.18s;--tl-duration-slow:.26s;--tl-ease-out:cubic-bezier(.2, 0, 0, 1);--tl-ease-in:cubic-bezier(.4, 0, 1, 1);--tl-ease-in-out:cubic-bezier(.4, 0, .2, 1);--tl-z-base:0;--tl-z-sticky:100;--tl-z-dropdown:1000;--tl-z-overlay:1100;--tl-z-modal:1200;--tl-z-popover:1300;--tl-z-toast:1400;--tl-z-tooltip:1500;--tl-font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--tl-focus-ring:0 0 0 2px var(--tl-color-bg), 0 0 0 4px var(--tl-color-focus-ring);--tl-font-cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC";--tl-font-sans:"Inter Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-font-heading:"Space Grotesk Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-leading-body:1.5;--tl-tracking-tight:-.02em;--tl-color-bg:var(--tl-stone-25);--tl-color-bg-subtle:var(--tl-stone-50);--tl-color-surface:var(--tl-stone-0);--tl-color-surface-raised:var(--tl-stone-0);--tl-color-fg:var(--tl-stone-900);--tl-color-fg-muted:var(--tl-stone-600);--tl-color-fg-subtle:var(--tl-stone-500);--tl-color-fg-disabled:var(--tl-stone-400);--tl-color-border:var(--tl-stone-200);--tl-color-border-strong:var(--tl-stone-300);--tl-color-border-control:oklch(62% .012 110);--tl-color-primary:var(--tl-moss-600);--tl-color-primary-hover:var(--tl-moss-700);--tl-color-primary-fg:var(--tl-stone-0);--tl-color-primary-subtle:var(--tl-moss-50);--tl-color-primary-subtle-fg:var(--tl-moss-800);--tl-color-focus-ring:var(--tl-moss-500);--tl-color-syntax-keyword:var(--tl-lilac-700);--tl-color-syntax-string:var(--tl-jade-700);--tl-color-syntax-constant:var(--tl-amber-700);--tl-color-syntax-function:var(--tl-river-700);--tl-color-success:var(--tl-jade-600);--tl-color-success-fg:var(--tl-stone-0);--tl-color-success-subtle:var(--tl-jade-50);--tl-color-success-subtle-fg:var(--tl-jade-800);--tl-color-warning:var(--tl-amber-600);--tl-color-warning-fg:var(--tl-stone-0);--tl-color-warning-subtle:var(--tl-amber-50);--tl-color-warning-subtle-fg:var(--tl-amber-800);--tl-color-danger:var(--tl-clay-600);--tl-color-danger-fg:var(--tl-stone-0);--tl-color-danger-subtle:var(--tl-clay-50);--tl-color-danger-subtle-fg:var(--tl-clay-800);--tl-color-info:var(--tl-river-600);--tl-color-info-fg:var(--tl-stone-0);--tl-color-info-subtle:var(--tl-river-50);--tl-color-info-subtle-fg:var(--tl-river-800);--tl-scrim:oklch(20% .01 110/.4);--tl-shadow-sm:0 1px 2px oklch(30% .01 110/.06);--tl-shadow-md:0 2px 4px oklch(30% .01 110/.05), 0 4px 12px oklch(30% .01 110/.06);--tl-shadow-lg:0 8px 24px oklch(30% .01 110/.1), 0 2px 6px oklch(30% .01 110/.06)}:lang(zh){--tl-font-cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC";--tl-font-sans:"Inter Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-font-heading:"Space Grotesk Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-leading-body:1.75;--tl-tracking-tight:0}:lang(ja){--tl-font-cjk:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, "Noto Sans CJK JP", "Source Han Sans JP";--tl-font-sans:"Inter Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-font-heading:"Space Grotesk Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-leading-body:1.75;--tl-tracking-tight:0}:lang(en){--tl-font-cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC";--tl-font-sans:"Inter Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-font-heading:"Space Grotesk Variable", var(--tl-font-cjk), system-ui, sans-serif;--tl-leading-body:1.5;--tl-tracking-tight:-.02em}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tl-color-bg:var(--tl-stone-950);--tl-color-bg-subtle:var(--tl-stone-900);--tl-color-surface:var(--tl-stone-900);--tl-color-surface-raised:var(--tl-stone-850);--tl-color-fg:var(--tl-stone-50);--tl-color-fg-muted:var(--tl-stone-400);--tl-color-fg-subtle:var(--tl-stone-500);--tl-color-fg-disabled:var(--tl-stone-600);--tl-color-border:var(--tl-stone-800);--tl-color-border-strong:var(--tl-stone-700);--tl-color-border-control:oklch(55% .012 110);--tl-color-primary:oklch(74% .062 128);--tl-color-primary-hover:oklch(80% .058 128);--tl-color-primary-fg:var(--tl-moss-950);--tl-color-primary-subtle:oklch(28% .025 128);--tl-color-primary-subtle-fg:var(--tl-moss-200);--tl-color-focus-ring:var(--tl-moss-400);--tl-color-syntax-keyword:var(--tl-lilac-300);--tl-color-syntax-string:var(--tl-jade-300);--tl-color-syntax-constant:var(--tl-amber-300);--tl-color-syntax-function:var(--tl-river-300);--tl-color-success:var(--tl-jade-400);--tl-color-success-fg:var(--tl-jade-950);--tl-color-success-subtle:var(--tl-jade-900);--tl-color-success-subtle-fg:var(--tl-jade-200);--tl-color-warning:var(--tl-amber-400);--tl-color-warning-fg:var(--tl-amber-950);--tl-color-warning-subtle:var(--tl-amber-900);--tl-color-warning-subtle-fg:var(--tl-amber-200);--tl-color-danger:var(--tl-clay-400);--tl-color-danger-fg:var(--tl-clay-950);--tl-color-danger-subtle:var(--tl-clay-900);--tl-color-danger-subtle-fg:var(--tl-clay-200);--tl-color-info:var(--tl-river-400);--tl-color-info-fg:var(--tl-river-950);--tl-color-info-subtle:var(--tl-river-900);--tl-color-info-subtle-fg:var(--tl-river-200);--tl-scrim:oklch(0% 0 0/.6);--tl-shadow-sm:0 1px 2px oklch(0% 0 0/.3);--tl-shadow-md:0 4px 12px oklch(0% 0 0/.4);--tl-shadow-lg:0 8px 24px oklch(0% 0 0/.5)}}:root[data-theme=dark]{color-scheme:dark;--tl-color-bg:var(--tl-stone-950);--tl-color-bg-subtle:var(--tl-stone-900);--tl-color-surface:var(--tl-stone-900);--tl-color-surface-raised:var(--tl-stone-850);--tl-color-fg:var(--tl-stone-50);--tl-color-fg-muted:var(--tl-stone-400);--tl-color-fg-subtle:var(--tl-stone-500);--tl-color-fg-disabled:var(--tl-stone-600);--tl-color-border:var(--tl-stone-800);--tl-color-border-strong:var(--tl-stone-700);--tl-color-border-control:oklch(55% .012 110);--tl-color-primary:oklch(74% .062 128);--tl-color-primary-hover:oklch(80% .058 128);--tl-color-primary-fg:var(--tl-moss-950);--tl-color-primary-subtle:oklch(28% .025 128);--tl-color-primary-subtle-fg:var(--tl-moss-200);--tl-color-focus-ring:var(--tl-moss-400);--tl-color-syntax-keyword:var(--tl-lilac-300);--tl-color-syntax-string:var(--tl-jade-300);--tl-color-syntax-constant:var(--tl-amber-300);--tl-color-syntax-function:var(--tl-river-300);--tl-color-success:var(--tl-jade-400);--tl-color-success-fg:var(--tl-jade-950);--tl-color-success-subtle:var(--tl-jade-900);--tl-color-success-subtle-fg:var(--tl-jade-200);--tl-color-warning:var(--tl-amber-400);--tl-color-warning-fg:var(--tl-amber-950);--tl-color-warning-subtle:var(--tl-amber-900);--tl-color-warning-subtle-fg:var(--tl-amber-200);--tl-color-danger:var(--tl-clay-400);--tl-color-danger-fg:var(--tl-clay-950);--tl-color-danger-subtle:var(--tl-clay-900);--tl-color-danger-subtle-fg:var(--tl-clay-200);--tl-color-info:var(--tl-river-400);--tl-color-info-fg:var(--tl-river-950);--tl-color-info-subtle:var(--tl-river-900);--tl-color-info-subtle-fg:var(--tl-river-200);--tl-scrim:oklch(0% 0 0/.6);--tl-shadow-sm:0 1px 2px oklch(0% 0 0/.3);--tl-shadow-md:0 4px 12px oklch(0% 0 0/.4);--tl-shadow-lg:0 8px 24px oklch(0% 0 0/.5)}:root[data-theme=light]{color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--tl-duration-fast:0s;--tl-duration-base:0s;--tl-duration-slow:0s}}}@layer tl.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-block-size:100dvh}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:where(ul,ol)[role=list]{padding:0;list-style:none}}@layer tl.base{html{font-family:var(--tl-font-sans);line-height:var(--tl-leading-body);background:var(--tl-color-bg);color:var(--tl-color-fg);font-size:100%}body{font-size:var(--tl-text-md);text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-family:var(--tl-font-heading);font-weight:var(--tl-weight-medium);text-wrap:balance}h1{font-size:var(--tl-text-4xl);line-height:var(--tl-leading-4xl);letter-spacing:var(--tl-tracking-tight)}h2{font-size:var(--tl-text-3xl);line-height:var(--tl-leading-3xl);letter-spacing:var(--tl-tracking-tight)}h3{font-size:var(--tl-text-2xl);line-height:var(--tl-leading-2xl)}h4{font-size:var(--tl-text-xl);line-height:var(--tl-leading-xl)}h5{font-size:var(--tl-text-lg);line-height:var(--tl-leading-lg)}h6{font-size:var(--tl-text-md);line-height:var(--tl-leading-md)}p{text-wrap:pretty}a{color:var(--tl-color-primary);text-underline-offset:.2em;transition:color var(--tl-duration-fast) var(--tl-ease-out);text-decoration-thickness:1px}a:hover{color:var(--tl-color-primary-hover)}code,kbd,samp,pre{font-family:var(--tl-font-mono);font-size:.9em}::selection{background:var(--tl-color-primary-subtle);color:var(--tl-color-primary-subtle-fg)}:focus-visible{outline:2px solid var(--tl-color-focus-ring);outline-offset:2px}:where(body [lang]){font-family:var(--tl-font-sans)}:where(:is(h1,h2,h3,h4,h5,h6) [lang]){font-family:var(--tl-font-heading)}:where(:is(code,kbd,samp,pre) [lang]){font-family:var(--tl-font-mono)}:lang(zh),:lang(ja){line-break:strict;word-break:normal;text-autospace:normal}:is(:lang(zh),:lang(ja)) :is(em,i,cite){font-style:normal;font-weight:var(--tl-weight-semibold)}}@layer tl.components{@keyframes tl-pop-in{0%{opacity:0;scale:.97}}@keyframes tl-fade-in{0%{opacity:0}}@keyframes tl-fade-out{to{opacity:0}}@keyframes tl-slide-in{0%{opacity:0;translate:0 .5rem}}@keyframes tl-swipe-out-left{0%{translate:var(--radix-toast-swipe-end-x) 0}to{opacity:0;translate:-100%}}@keyframes tl-swipe-out{0%{translate:var(--radix-toast-swipe-end-x) 0}to{opacity:0;translate:100%}}.tl-badge{--_bg:var(--tl-color-bg-subtle);--_fg:var(--tl-color-fg-muted);--_border:var(--tl-color-border);align-items:center;gap:var(--tl-space-1);block-size:1.375rem;padding-inline:var(--tl-space-2);border:1px solid var(--_border);border-radius:var(--tl-radius-full);background:var(--_bg);color:var(--_fg);font-family:var(--tl-font-sans);font-size:var(--tl-text-xs);font-weight:var(--tl-weight-medium);white-space:nowrap;vertical-align:middle;line-height:1;display:inline-flex}.tl-badge>svg{flex-shrink:0;block-size:.875rem;inline-size:.875rem}.tl-badge[data-tone=primary]{--_bg:var(--tl-color-primary-subtle);--_fg:var(--tl-color-primary-subtle-fg);--_border:transparent}.tl-badge[data-tone=success]{--_bg:var(--tl-color-success-subtle);--_fg:var(--tl-color-success-subtle-fg);--_border:transparent}.tl-badge[data-tone=warning]{--_bg:var(--tl-color-warning-subtle);--_fg:var(--tl-color-warning-subtle-fg);--_border:transparent}.tl-badge[data-tone=danger]{--_bg:var(--tl-color-danger-subtle);--_fg:var(--tl-color-danger-subtle-fg);--_border:transparent}.tl-badge[data-tone=info]{--_bg:var(--tl-color-info-subtle);--_fg:var(--tl-color-info-subtle-fg);--_border:transparent}.tl-button{--_h:var(--tl-control-md);--_px:var(--tl-space-4);--_bg:var(--tl-color-surface);--_bg-hover:var(--tl-color-bg-subtle);--_fg:var(--tl-color-fg);--_border:var(--tl-color-border-strong);justify-content:center;align-items:center;gap:var(--tl-space-2);block-size:var(--_h);padding-inline:var(--_px);border:1px solid var(--_border);border-radius:var(--tl-radius-md);background:var(--_bg);color:var(--_fg);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);font-weight:var(--tl-weight-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--tl-duration-fast) var(--tl-ease-out), border-color var(--tl-duration-fast) var(--tl-ease-out), color var(--tl-duration-fast) var(--tl-ease-out);line-height:1;text-decoration:none;display:inline-flex}.tl-button:hover{background:var(--_bg-hover);color:var(--_fg)}.tl-button[data-size=sm]{--_h:var(--tl-control-sm);--_px:var(--tl-space-3);gap:var(--tl-space-1-5);font-size:var(--tl-text-xs)}.tl-button[data-size=lg]{--_h:var(--tl-control-lg);--_px:var(--tl-space-5);font-size:var(--tl-text-md)}.tl-button[data-variant=primary]{--_bg:var(--tl-color-primary);--_bg-hover:var(--tl-color-primary-hover);--_fg:var(--tl-color-primary-fg);--_border:transparent}.tl-button[data-variant=ghost]{--_bg:transparent;--_border:transparent}.tl-button[data-variant=danger]{--_bg:var(--tl-color-danger);--_bg-hover:color-mix(in oklch, var(--tl-color-danger), var(--tl-color-fg) 12%);--_fg:var(--tl-color-danger-fg);--_border:transparent}.tl-button[data-icon-only]{inline-size:var(--_h);padding-inline:0}.tl-button>svg{flex-shrink:0;block-size:1.15em;inline-size:1.15em}.tl-button:disabled,.tl-button[aria-disabled=true]:not([aria-busy=true]){--_bg:var(--tl-color-bg-subtle);--_bg-hover:var(--tl-color-bg-subtle);--_fg:var(--tl-color-fg-disabled);--_border:var(--tl-color-border);cursor:not-allowed}.tl-button[aria-busy=true]{cursor:progress}.tl-button[data-icon-only][aria-busy=true]>:not(.tl-spinner){display:none}.tl-button:is(a)[aria-disabled=true]{pointer-events:none}.tl-callout{--_bg:var(--tl-color-info-subtle);--_accent:var(--tl-color-info);gap:var(--tl-space-3);padding:var(--tl-space-4);border:1px solid color-mix(in oklch, var(--_accent), transparent 70%);border-radius:var(--tl-radius-md);background:var(--_bg);color:var(--tl-color-fg);font-size:var(--tl-text-md);line-height:var(--tl-leading-body);grid-template-columns:auto 1fr;display:grid}.tl-callout[data-tone=tip]{--_bg:var(--tl-color-success-subtle);--_accent:var(--tl-color-success)}.tl-callout[data-tone=warning]{--_bg:var(--tl-color-warning-subtle);--_accent:var(--tl-color-warning)}.tl-callout[data-tone=danger]{--_bg:var(--tl-color-danger-subtle);--_accent:var(--tl-color-danger)}.tl-callout-icon{color:var(--_accent);margin-block-start:.2em;display:inline-flex}.tl-callout-icon>svg{block-size:1.125rem;inline-size:1.125rem}.tl-callout-content{min-inline-size:0}.tl-callout-content>*+*{margin-block-start:var(--tl-space-2)}.tl-callout-title{font-weight:var(--tl-weight-semibold)}.tl-card{border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-lg);background:var(--tl-color-surface);color:var(--tl-color-fg);flex-direction:column;display:flex}.tl-card[data-elevated]{box-shadow:var(--tl-shadow-md)}.tl-card-header,.tl-card-body,.tl-card-footer{padding-inline:var(--tl-space-5)}.tl-card-header{gap:var(--tl-space-1);padding-block:var(--tl-space-5) 0;display:grid}.tl-card-header :is(h1,h2,h3,h4,h5,h6){font-size:var(--tl-text-lg);line-height:var(--tl-leading-lg);letter-spacing:0}.tl-card-header p{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm)}.tl-card-body{padding-block:var(--tl-space-4);flex:1}.tl-card-header+.tl-card-body:last-child,.tl-card-body:only-child{padding-block-end:var(--tl-space-5)}.tl-card-body:only-child{padding-block-start:var(--tl-space-5)}.tl-card-footer{justify-content:flex-end;align-items:center;gap:var(--tl-space-2);padding-block:var(--tl-space-4);border-block-start:1px solid var(--tl-color-border);display:flex}.tl-choice{column-gap:var(--tl-space-2);grid-template-columns:auto 1fr;align-items:start;display:grid}.tl-choice[data-disabled]{color:var(--tl-color-fg-disabled)}.tl-choice-label{color:inherit;font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm);cursor:pointer;-webkit-user-select:none;user-select:none}[data-disabled]>.tl-choice-label{cursor:not-allowed}.tl-choice-description{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm);grid-column:2}.tl-radio-group{gap:var(--tl-space-2);display:grid}.tl-radio-group[data-orientation=horizontal]{justify-content:start;gap:var(--tl-space-5);grid-auto-flow:column}.tl-checkbox,.tl-radio{appearance:none;block-size:1rem;inline-size:1rem;margin:calc((var(--tl-leading-sm) - 1rem) / 2) 0 0;border:1px solid var(--tl-color-border-control);background:var(--tl-color-surface);color:var(--tl-color-primary-fg);cursor:pointer;transition:background-color var(--tl-duration-fast) var(--tl-ease-out), border-color var(--tl-duration-fast) var(--tl-ease-out);flex-shrink:0;place-items:center;padding:0;display:inline-grid;position:relative}:is(.tl-checkbox,.tl-radio):hover{border-color:var(--tl-color-fg-muted)}:is(.tl-checkbox,.tl-radio):is([data-state=checked],[data-state=indeterminate],:checked){border-color:var(--tl-color-primary);background:var(--tl-color-primary)}:is(.tl-checkbox,.tl-radio)[aria-invalid=true]{border-color:var(--tl-color-danger)}:is(.tl-checkbox,.tl-radio):is(:disabled,[data-disabled]){border-color:var(--tl-color-border);background:var(--tl-color-bg-subtle);color:var(--tl-color-fg-disabled);cursor:not-allowed}:is(.tl-checkbox,.tl-radio) svg{block-size:.75rem;inline-size:.75rem}.tl-checkbox{border-radius:var(--tl-radius-xs)}.tl-checkbox:indeterminate{border-color:var(--tl-color-primary);background:var(--tl-color-primary)}.tl-checkbox[data-state=checked] .tl-checkbox-minus,.tl-checkbox[data-state=indeterminate] .tl-checkbox-check{display:none}.tl-checkbox:is(input):is(:checked,:indeterminate):before{content:"";background:currentColor;block-size:.75rem;inline-size:.75rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.tl-checkbox:is(input):indeterminate:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.tl-radio{border-radius:var(--tl-radius-full)}.tl-radio:is(input):checked:before,.tl-radio>.tl-radio-indicator{content:"";border-radius:var(--tl-radius-full);background:currentColor;block-size:.375rem;inline-size:.375rem}.tl-switch{--_dir:1;--_w:2rem;--_h:1.125rem;--_thumb:calc(var(--_h) - 4px);appearance:none;inline-size:var(--_w);block-size:var(--_h);margin:calc((var(--tl-leading-sm) - var(--_h)) / 2) 0 0;border:1px solid var(--tl-color-border-control);border-radius:var(--tl-radius-full);background:var(--tl-color-bg-subtle);cursor:pointer;transition:background-color var(--tl-duration-base) var(--tl-ease-out), border-color var(--tl-duration-base) var(--tl-ease-out);flex-shrink:0;padding:0;display:inline-block;position:relative}.tl-switch:before,.tl-switch>.tl-switch-thumb{content:"";inline-size:var(--_thumb);block-size:var(--_thumb);border-radius:var(--tl-radius-full);background:var(--tl-color-fg-muted);transition:translate var(--tl-duration-base) var(--tl-ease-out), background-color var(--tl-duration-base) var(--tl-ease-out);position:absolute;inset-block-start:1px;inset-inline-start:1px}.tl-switch:not(input):before{content:none}.tl-switch:is([data-state=checked],:checked){border-color:var(--tl-color-primary);background:var(--tl-color-primary)}.tl-switch:is([data-state=checked],:checked):before,.tl-switch:is([data-state=checked],:checked)>.tl-switch-thumb{translate:calc(var(--_dir) * (var(--_w) - var(--_thumb) - 4px)) 0;background:var(--tl-color-primary-fg)}.tl-switch:is(:disabled,[data-disabled]){border-color:var(--tl-color-border);cursor:not-allowed;opacity:.55}:where([dir=rtl]) .tl-switch{--_dir:-1}.tl-codeblock,.tl-prose{--astro-code-foreground:var(--tl-color-fg);--astro-code-background:var(--tl-color-bg-subtle);--astro-code-token-keyword:var(--tl-color-syntax-keyword);--astro-code-token-string:var(--tl-color-syntax-string);--astro-code-token-string-expression:var(--tl-color-syntax-string);--astro-code-token-constant:var(--tl-color-syntax-constant);--astro-code-token-function:var(--tl-color-syntax-function);--astro-code-token-link:var(--tl-color-syntax-function);--astro-code-token-parameter:var(--tl-color-fg);--astro-code-token-comment:var(--tl-color-fg-muted);--astro-code-token-punctuation:var(--tl-color-fg-muted);--shiki-foreground:var(--astro-code-foreground);--shiki-background:var(--astro-code-background);--shiki-token-keyword:var(--astro-code-token-keyword);--shiki-token-string:var(--astro-code-token-string);--shiki-token-string-expression:var(--astro-code-token-string-expression);--shiki-token-constant:var(--astro-code-token-constant);--shiki-token-function:var(--astro-code-token-function);--shiki-token-link:var(--astro-code-token-link);--shiki-token-parameter:var(--astro-code-token-parameter);--shiki-token-comment:var(--astro-code-token-comment);--shiki-token-punctuation:var(--astro-code-token-punctuation)}.tl-codeblock{border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:var(--tl-color-bg-subtle);margin:0;overflow:hidden}.tl-codeblock-header{justify-content:space-between;align-items:center;gap:var(--tl-space-3);min-block-size:var(--tl-control-md);padding-inline:var(--tl-space-4) var(--tl-space-1);border-block-end:1px solid var(--tl-color-border);color:var(--tl-color-fg-muted);font-family:var(--tl-font-mono);font-size:var(--tl-text-xs);display:flex}.tl-codeblock-header [data-copied]{color:var(--tl-color-success)}.tl-codeblock-body pre{padding:var(--tl-space-4);color:var(--tl-color-fg);font-family:var(--tl-font-mono);font-size:var(--tl-text-sm);tab-size:2;margin:0;line-height:1.6;overflow-x:auto}.tl-contours{pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0}.tl-contours[data-fade]{-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 75%);mask-image:linear-gradient(90deg,#0000 20%,#000 75%)}@media (width<=767px){.tl-contours[data-fade]{-webkit-mask-image:linear-gradient(#0000 70%,#000 95%);mask-image:linear-gradient(#0000 70%,#000 95%)}}.tl-contours-ring{fill:none;stroke:var(--tl-color-border);stroke-width:1px}.tl-contours-thalweg{fill:none;stroke:var(--tl-color-primary);stroke-width:2px;stroke-linecap:round;opacity:.7}.tl-cta{padding-block-start:var(--tl-space-20)}.tl-cta-panel{justify-items:start;gap:var(--tl-space-4);padding:var(--tl-space-10) var(--tl-space-6);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-xl);background:var(--tl-color-bg-subtle);display:grid}@media (width>=768px){.tl-cta-panel{padding:var(--tl-space-12) var(--tl-space-10)}}.tl-cta-title{font-size:var(--tl-text-2xl);line-height:var(--tl-leading-2xl)}@media (width>=768px){.tl-cta-title{font-size:var(--tl-text-3xl);line-height:var(--tl-leading-3xl)}}.tl-cta-body{max-inline-size:50ch;color:var(--tl-color-fg-muted)}.tl-cta-actions{gap:var(--tl-space-3);flex-wrap:wrap;margin-block-start:var(--tl-space-2);display:flex}.tl-dialog-overlay{z-index:var(--tl-z-overlay);background:var(--tl-scrim);animation:tl-fade-in var(--tl-duration-base) var(--tl-ease-out);position:fixed;inset:0}.tl-dialog-overlay[data-state=closed]{animation:tl-fade-out var(--tl-duration-fast) var(--tl-ease-in)}.tl-dialog-content{--_w:32rem;z-index:var(--tl-z-modal);inline-size:min(calc(100vw - 2 * var(--tl-space-4)), var(--_w));block-size:fit-content;max-block-size:calc(100dvh - 2 * var(--tl-space-4));border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-lg);background:var(--tl-color-surface-raised);color:var(--tl-color-fg);box-shadow:var(--tl-shadow-lg);animation:tl-pop-in var(--tl-duration-slow) var(--tl-ease-out);flex-direction:column;margin:auto;display:flex;position:fixed;inset:0;overflow:hidden}.tl-dialog-content[data-size=sm]{--_w:24rem}.tl-dialog-content[data-size=lg]{--_w:44rem}.tl-dialog-content[data-state=closed]{animation:tl-fade-out var(--tl-duration-fast) var(--tl-ease-in)}.tl-dialog-content:focus{outline:none}.tl-dialog-scroll{gap:var(--tl-space-4);min-block-size:0;padding:var(--tl-space-6);display:grid;overflow:auto}.tl-dialog-header{gap:var(--tl-space-1);padding-inline-end:var(--tl-space-8);display:grid}.tl-dialog-title{font-family:var(--tl-font-heading);font-size:var(--tl-text-lg);font-weight:var(--tl-weight-medium);line-height:var(--tl-leading-lg)}.tl-dialog-description{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm)}.tl-dialog-footer{justify-content:flex-end;gap:var(--tl-space-2);flex-wrap:wrap;margin-block-start:var(--tl-space-2);display:flex}.tl-dialog-close{position:absolute;inset-block-start:var(--tl-space-3);inset-inline-end:var(--tl-space-3)}.tl-feature-card{align-content:start;gap:var(--tl-space-2);padding:var(--tl-space-5);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-lg);background:var(--tl-color-surface);transition:border-color var(--tl-duration-fast) var(--tl-ease-out);display:grid;position:relative}.tl-feature-card[data-linked]:hover{border-color:var(--tl-color-border-strong)}.tl-feature-card[data-linked]:has(a:focus-visible){outline:2px solid var(--tl-color-focus-ring);outline-offset:2px}.tl-feature-card-icon{border-radius:var(--tl-radius-md);background:var(--tl-color-primary-subtle);block-size:2.25rem;inline-size:2.25rem;color:var(--tl-color-primary-subtle-fg);place-items:center;margin-block-end:var(--tl-space-2);display:inline-grid}.tl-feature-card-icon>svg{block-size:1.125rem;inline-size:1.125rem}.tl-feature-card-title{font-size:var(--tl-text-lg);line-height:var(--tl-leading-lg);letter-spacing:0}.tl-feature-card-title>a{color:inherit;text-decoration:none}.tl-feature-card-title>a:after{content:"";border-radius:inherit;position:absolute;inset:0}.tl-feature-card-title>a:focus-visible{outline:none}.tl-feature-card-body :is(a,button){z-index:1;position:relative}.tl-feature-card-body{color:var(--tl-color-fg-muted);font-size:var(--tl-text-md);line-height:var(--tl-leading-body)}.tl-field{gap:var(--tl-space-1-5);min-inline-size:0;display:grid}.tl-field-label{color:var(--tl-color-fg);font-size:var(--tl-text-sm);font-weight:var(--tl-weight-medium);line-height:var(--tl-leading-sm)}.tl-field-required{color:var(--tl-color-danger);margin-inline-start:.15em}.tl-field-description{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm)}.tl-field-error{align-items:flex-start;gap:var(--tl-space-1-5);color:var(--tl-color-danger);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm);display:flex}.tl-field-error:empty{block-size:0;margin-block-start:calc(-1 * var(--tl-space-1-5));overflow:hidden}.tl-field-error>svg{flex-shrink:0;block-size:1em;inline-size:1em;margin-block-start:.15em}.tl-footer{padding-block:var(--tl-space-12) var(--tl-space-8);border-block-start:1px solid var(--tl-color-border);color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm)}.tl-footer ul{gap:var(--tl-space-2);margin:0;padding:0;list-style:none;display:grid}.tl-footer :where(a:not(.tl-wordmark,.tl-button)){color:var(--tl-color-fg-muted);text-decoration:none}.tl-footer :where(a:not(.tl-wordmark,.tl-button)):hover{color:var(--tl-color-fg)}.tl-footer-inner{gap:var(--tl-space-10);display:grid}.tl-footer-top{gap:var(--tl-space-8);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.tl-footer-brand{align-content:start;gap:var(--tl-space-3);grid-column:span 2;display:grid}@media (width<=639px){.tl-footer-brand{grid-column:auto}}.tl-footer-heading{color:var(--tl-color-fg);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);font-weight:var(--tl-weight-medium);line-height:var(--tl-leading-sm);letter-spacing:0;margin-block-end:var(--tl-space-3)}.tl-footer-legal{justify-content:space-between;align-items:center;gap:var(--tl-space-4);border-block-start:1px solid var(--tl-color-border);font-size:var(--tl-text-xs);flex-wrap:wrap;padding-block-start:var(--tl-space-6);display:flex}.tl-hero{padding-block:var(--tl-space-20) var(--tl-space-16);border-block-end:1px solid var(--tl-color-border);position:relative;overflow:hidden}@media (width>=768px){.tl-hero{padding-block:var(--tl-space-24) var(--tl-space-20)}}.tl-hero-background{position:absolute;inset:0}.tl-hero-content{justify-items:start;gap:var(--tl-space-6);display:grid;position:relative}[data-align=center]>.tl-hero-content{text-align:center;justify-items:center}.tl-hero-title{max-inline-size:18ch}.tl-hero-title:is(:lang(zh),:lang(ja)){max-inline-size:14em}.tl-hero-title{font-size:var(--tl-text-4xl);line-height:var(--tl-leading-4xl)}@media (width>=768px){.tl-hero-title{font-size:var(--tl-text-6xl);line-height:var(--tl-leading-6xl)}}.tl-hero-lead{max-inline-size:56ch;color:var(--tl-color-fg-muted);font-size:var(--tl-text-lg);line-height:var(--tl-leading-body)}.tl-hero-actions{gap:var(--tl-space-3);flex-wrap:wrap;display:flex}.tl-input,.tl-input-wrap,.tl-select-trigger{--_h:var(--tl-control-md);inline-size:100%;min-block-size:var(--_h);padding-inline:var(--tl-space-3);border:1px solid var(--tl-color-border-control);border-radius:var(--tl-radius-md);background:var(--tl-color-surface);color:var(--tl-color-fg);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm);transition:border-color var(--tl-duration-fast) var(--tl-ease-out), box-shadow var(--tl-duration-fast) var(--tl-ease-out);align-items:center;display:flex}:is(.tl-input,.tl-input-wrap,.tl-select-trigger)[data-size=sm]{--_h:var(--tl-control-sm);padding-inline:var(--tl-space-2);font-size:var(--tl-text-xs)}:is(.tl-input,.tl-input-wrap,.tl-select-trigger)[data-size=lg]{--_h:var(--tl-control-lg);font-size:var(--tl-text-md)}:is(.tl-input,.tl-input-wrap,.tl-select-trigger):hover{border-color:var(--tl-color-fg-muted)}:is(.tl-input,.tl-input-wrap,.tl-select-trigger):is(:focus-visible,:focus-within){border-color:var(--tl-color-primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--tl-color-focus-ring), transparent 70%);outline:none}:is(.tl-input,.tl-input-wrap,.tl-select-trigger):is([aria-invalid=true],:has(>[aria-invalid=true])){border-color:var(--tl-color-danger)}:is(.tl-input,.tl-input-wrap,.tl-select-trigger):is([aria-invalid=true],:has(>[aria-invalid=true])):is(:focus-visible,:focus-within){box-shadow:0 0 0 3px color-mix(in oklch, var(--tl-color-danger), transparent 75%)}:is(.tl-input,.tl-input-wrap,.tl-select-trigger):is(:disabled,[data-disabled],:has(>:disabled)){border-color:var(--tl-color-border);background:var(--tl-color-bg-subtle);color:var(--tl-color-fg-disabled);cursor:not-allowed}.tl-input::placeholder,.tl-input-wrap>input::placeholder{color:var(--tl-color-fg-subtle);opacity:1}textarea.tl-input{min-block-size:calc(var(--tl-leading-sm) * 3 + var(--tl-space-2) * 2);padding-block:var(--tl-space-2);resize:vertical;field-sizing:content;display:block}.tl-input-wrap{gap:var(--tl-space-2);cursor:text}.tl-input-wrap>input{min-inline-size:0;block-size:calc(var(--_h) - 2px);background:0 0;border:0;outline:none;flex:1;padding:0}.tl-input-adornment{color:var(--tl-color-fg-muted);flex-shrink:0;align-items:center;display:inline-flex}.tl-input-adornment>svg{block-size:1.1em;inline-size:1.1em}.tl-language-switcher ul{gap:var(--tl-space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tl-language-switcher a{color:var(--tl-color-fg-muted);font-size:var(--tl-text-xs);text-decoration:none}.tl-language-switcher a:hover{color:var(--tl-color-fg)}.tl-language-switcher a[aria-current=true]{color:var(--tl-color-fg);font-weight:var(--tl-weight-medium)}.tl-container{--_max:var(--tl-container-xl);--_gutter:var(--tl-space-6);inline-size:min(100% - 2 * var(--_gutter), var(--_max));margin-inline:auto}.tl-container[data-size=sm]{--_max:var(--tl-container-sm)}.tl-container[data-size=md]{--_max:var(--tl-container-md)}.tl-container[data-size=lg]{--_max:var(--tl-container-lg)}.tl-container[data-size="2xl"]{--_max:var(--tl-container-2xl)}@media (width<=639px){.tl-container{--_gutter:var(--tl-space-4)}}.tl-stack{gap:var(--tl-gap,var(--tl-space-4));flex-direction:column;display:flex}.tl-stack[data-direction=horizontal]{flex-direction:row}.tl-stack[data-wrap]{flex-wrap:wrap}.tl-stack[data-align=start]{align-items:flex-start}.tl-stack[data-align=center]{align-items:center}.tl-stack[data-align=end]{align-items:flex-end}.tl-stack[data-align=stretch]{align-items:stretch}.tl-stack[data-align=baseline]{align-items:baseline}.tl-stack[data-justify=start]{justify-content:flex-start}.tl-stack[data-justify=center]{justify-content:center}.tl-stack[data-justify=end]{justify-content:flex-end}.tl-stack[data-justify=between]{justify-content:space-between}.tl-grid{grid-template-columns:repeat(auto-fit, minmax(min(var(--tl-grid-min,16rem), 100%), 1fr));gap:var(--tl-gap,var(--tl-space-4));display:grid}.tl-link{color:var(--tl-color-primary);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklch, currentColor, transparent 60%);text-decoration-color:color-mix(in oklch, currentColor, transparent 60%);transition:color var(--tl-duration-fast) var(--tl-ease-out), text-decoration-color var(--tl-duration-fast) var(--tl-ease-out)}.tl-link:hover{color:var(--tl-color-primary-hover);text-decoration-color:currentColor}.tl-link[data-variant=muted]{color:var(--tl-color-fg-muted)}.tl-link[data-variant=muted]:hover{color:var(--tl-color-fg)}.tl-link>.tl-link-icon{vertical-align:baseline;block-size:.8em;inline-size:.8em;margin-inline-start:.2em;display:inline-block}.tl-logo{--_mark:32px;--_text:var(--tl-text-xl);align-items:center;gap:calc(var(--_mark) * .28);color:var(--tl-color-fg);font-family:var(--tl-font-heading);font-size:var(--_text);font-weight:var(--tl-weight-medium);letter-spacing:-.01em;white-space:nowrap;line-height:1;text-decoration:none;display:inline-flex}.tl-logo[data-size=sm]{--_mark:16px;--_text:var(--tl-text-sm);gap:var(--tl-space-1-5)}.tl-logo[data-size=lg]{--_mark:48px;--_text:var(--tl-text-3xl)}.tl-logo[data-size=xl]{--_mark:72px;--_text:var(--tl-text-5xl)}.tl-logo:is(a):hover{color:var(--tl-color-fg)}.tl-logo-mark{inline-size:var(--_mark,100%);block-size:var(--_mark,100%);color:var(--tl-color-primary);flex-shrink:0}[data-mono]>.tl-logo-mark{color:inherit}.tl-logo-accent{color:var(--tl-color-primary)}[data-mono] .tl-logo-text>.tl-logo-accent,.tl-logo[data-mono]{color:inherit}.tl-menu-content{z-index:var(--tl-z-popover);min-inline-size:11rem;max-block-size:var(--radix-dropdown-menu-content-available-height);padding:var(--tl-space-1);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:var(--tl-color-surface-raised);color:var(--tl-color-fg);box-shadow:var(--tl-shadow-lg);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);transform-origin:var(--radix-dropdown-menu-content-transform-origin);animation:tl-pop-in var(--tl-duration-base) var(--tl-ease-out);overflow-y:auto}.tl-menu-item{align-items:center;gap:var(--tl-space-2);min-block-size:var(--tl-control-sm);padding-inline:var(--tl-space-2);border-radius:var(--tl-radius-sm);line-height:var(--tl-leading-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;display:flex}.tl-menu-item>svg{block-size:1em;inline-size:1em;color:var(--tl-color-fg-muted);flex-shrink:0}.tl-menu-item[data-highlighted]{background:var(--tl-color-bg-subtle)}.tl-menu-item[data-tone=danger]{color:var(--tl-color-danger)}.tl-menu-item[data-tone=danger]>svg{color:currentColor}.tl-menu-item[data-tone=danger][data-highlighted]{background:var(--tl-color-danger-subtle);color:var(--tl-color-danger-subtle-fg)}.tl-menu-item[data-disabled]{color:var(--tl-color-fg-disabled);cursor:not-allowed}.tl-menu-item-label{flex:1}.tl-menu-shortcut{color:var(--tl-color-fg-subtle);font-family:var(--tl-font-sans);font-size:var(--tl-text-xs);letter-spacing:var(--tl-tracking-wide)}.tl-menu-label{padding:var(--tl-space-1-5) var(--tl-space-2);color:var(--tl-color-fg-muted);font-size:var(--tl-text-xs);font-weight:var(--tl-weight-medium)}.tl-menu-separator{block-size:1px;margin:var(--tl-space-1) calc(-1 * var(--tl-space-1));background:var(--tl-color-border)}:root:has(.tl-navbar){--tl-navbar-height:4rem;scroll-padding-block-start:calc(var(--tl-navbar-height) + var(--tl-space-4))}.tl-navbar{z-index:var(--tl-z-sticky);border-block-end:1px solid var(--tl-color-border);background:color-mix(in oklch, var(--tl-color-bg) 85%, transparent);backdrop-filter:blur(8px);position:sticky;inset-block-start:0}.tl-navbar ul{margin:0;padding:0;list-style:none}.tl-navbar-inner{align-items:center;gap:var(--tl-space-8);block-size:4rem;display:flex;position:relative}.tl-navbar-brand{align-items:center;display:flex}.tl-navbar-nav ul{gap:var(--tl-space-6);display:flex}.tl-navbar-link{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);transition:color var(--tl-duration-fast) var(--tl-ease-out);text-decoration:none}.tl-navbar-link:hover,.tl-navbar-link[aria-current=page]{color:var(--tl-color-fg)}.tl-navbar-link[aria-current=page]{font-weight:var(--tl-weight-medium)}.tl-navbar-actions{align-items:center;gap:var(--tl-space-3);margin-inline-start:auto;display:flex}.tl-navbar-menu{margin-inline-start:auto;display:none}.tl-navbar-menu>summary{list-style:none}.tl-navbar-menu>summary::-webkit-details-marker{display:none}.tl-navbar-panel{inset-inline:calc(-1 * var(--_gutter));gap:var(--tl-space-4);max-block-size:calc(100dvh - 4rem - 1px);padding:var(--tl-space-4) var(--_gutter) var(--tl-space-6);border-block-end:1px solid var(--tl-color-border);background:var(--tl-color-bg);box-shadow:var(--tl-shadow-md);animation:tl-fade-in var(--tl-duration-base) var(--tl-ease-out);display:grid;position:absolute;inset-block-start:calc(100% + 1px);overflow-y:auto}.tl-navbar-panel>nav ul{display:grid}.tl-navbar-panel .tl-navbar-link{padding-block:var(--tl-space-2);font-size:var(--tl-text-md);display:block}.tl-navbar-panel-actions{align-items:center;gap:var(--tl-space-3);border-block-start:1px solid var(--tl-color-border);flex-wrap:wrap;padding-block-start:var(--tl-space-4);display:flex}@media (width<=767px){.tl-navbar-nav,.tl-navbar-actions{display:none}.tl-navbar-menu{display:block}}.tl-prose{color:var(--tl-color-fg);font-size:var(--tl-text-lg);line-height:var(--tl-leading-body);overflow-wrap:break-word}.tl-prose>*+*{margin-block-start:1.25em}.tl-prose :is(h2,h3,h4){letter-spacing:0;scroll-margin-block-start:var(--tl-space-6)}.tl-prose :where(h2){font-size:var(--tl-text-2xl);line-height:var(--tl-leading-2xl);margin-block-start:2em}.tl-prose :where(h3){font-size:var(--tl-text-xl);line-height:var(--tl-leading-xl);margin-block-start:1.75em}.tl-prose :where(h4){font-size:var(--tl-text-lg);line-height:var(--tl-leading-lg);margin-block-start:1.5em}.tl-prose :where(h2,h3,h4)+*{margin-block-start:.75em}.tl-prose strong{font-weight:var(--tl-weight-semibold)}.tl-prose :is(ul,ol){padding-inline-start:1.5em}.tl-prose :is(ul,ol)>li+li{margin-block-start:.5em}.tl-prose :is(ul,ol)>li::marker{color:var(--tl-color-fg-subtle)}.tl-prose blockquote{border-inline-start:3px solid var(--tl-color-border-strong);color:var(--tl-color-fg-muted);padding-inline-start:1em}.tl-prose hr{border:0;border-block-start:1px solid var(--tl-color-border);margin-block:2.5em}.tl-prose img{border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-lg)}.tl-prose table{border-collapse:collapse;inline-size:100%;font-size:var(--tl-text-sm)}.tl-prose :is(th,td){padding:var(--tl-space-2) var(--tl-space-3);overflow-wrap:anywhere;border-block-end:1px solid var(--tl-color-border);text-align:start}.tl-prose th{font-weight:var(--tl-weight-medium)}.tl-prose :not(pre)>code{border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-sm);background:var(--tl-color-bg-subtle);padding:.1em .35em;font-size:.85em}.tl-prose pre{padding:var(--tl-space-4);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);font-size:var(--tl-text-sm);line-height:1.6;overflow-x:auto}.tl-select-trigger{justify-content:space-between;gap:var(--tl-space-2);text-align:start;cursor:pointer}.tl-select-trigger[data-placeholder]{color:var(--tl-color-fg-subtle)}.tl-select-trigger>.tl-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-select-trigger>svg{block-size:1em;inline-size:1em;color:var(--tl-color-fg-muted);flex-shrink:0}.tl-select-content{z-index:var(--tl-z-popover);min-inline-size:var(--radix-select-trigger-width);max-block-size:min(20rem, var(--radix-select-content-available-height));border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:var(--tl-color-surface-raised);color:var(--tl-color-fg);box-shadow:var(--tl-shadow-lg);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);transform-origin:var(--radix-select-content-transform-origin);animation:tl-pop-in var(--tl-duration-base) var(--tl-ease-out);overflow:hidden}.tl-select-viewport{padding:var(--tl-space-1)}.tl-select-item{min-block-size:var(--tl-control-sm);padding-inline:var(--tl-space-2) var(--tl-space-8);border-radius:var(--tl-radius-sm);line-height:var(--tl-leading-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;display:flex;position:relative}.tl-select-item[data-highlighted]{background:var(--tl-color-bg-subtle)}.tl-select-item[data-state=checked]{font-weight:var(--tl-weight-medium)}.tl-select-item[data-disabled]{color:var(--tl-color-fg-disabled);cursor:not-allowed}.tl-select-indicator{color:var(--tl-color-primary);display:inline-flex;position:absolute;inset-inline-end:var(--tl-space-2)}.tl-select-indicator>svg{block-size:1em;inline-size:1em}.tl-separator{background:var(--tl-color-border);border:0;flex-shrink:0}.tl-separator[data-orientation=horizontal]{block-size:1px;inline-size:100%}.tl-separator[data-orientation=vertical]{align-self:stretch;block-size:auto;inline-size:1px}.tl-skeleton{border-radius:var(--tl-radius-sm);background:var(--tl-color-bg-subtle);animation:tl-pulse 1.6s var(--tl-ease-in-out) infinite;display:block}.tl-skeleton[data-shape=text]{block-size:1em;margin-block:.25em}.tl-skeleton[data-shape=circle]{border-radius:var(--tl-radius-full);aspect-ratio:1}@media (prefers-reduced-motion:reduce){.tl-skeleton{animation:none}}@keyframes tl-pulse{50%{background:var(--tl-color-border)}}.tl-spinner{--tl-spinner-duration:.8s;border:2px solid color-mix(in oklch, currentColor, transparent 75%);border-radius:var(--tl-radius-full);block-size:1em;inline-size:1em;animation:tl-spin var(--tl-spinner-duration) linear infinite;border-block-start-color:currentColor;flex-shrink:0;display:inline-block}.tl-spinner[data-size=sm]{border-width:1.5px;block-size:.75em;inline-size:.75em}.tl-spinner[data-size=lg]{block-size:1.5em;inline-size:1.5em}@media (prefers-reduced-motion:reduce){.tl-spinner{--tl-spinner-duration:2.4s}}@keyframes tl-spin{to{transform:rotate(1turn)}}.tl-tabs-list{gap:var(--tl-space-1);box-shadow:inset 0 -1px 0 var(--tl-color-border);display:flex;overflow-x:auto}.tl-tabs-trigger{padding:var(--tl-space-2) var(--tl-space-3);color:var(--tl-color-fg-muted);font-family:var(--tl-font-sans);font-size:var(--tl-text-sm);font-weight:var(--tl-weight-medium);line-height:var(--tl-leading-sm);white-space:nowrap;cursor:pointer;transition:color var(--tl-duration-fast) var(--tl-ease-out);background:0 0;border:0;flex-shrink:0;position:relative}.tl-tabs-trigger:after{content:"";inset-inline:var(--tl-space-3);border-radius:var(--tl-radius-full);block-size:2px;transition:background-color var(--tl-duration-fast) var(--tl-ease-out);background:0 0;position:absolute;inset-block-end:0}.tl-tabs-trigger:hover,.tl-tabs-trigger[data-state=active]{color:var(--tl-color-fg)}.tl-tabs-trigger[data-state=active]:after{background:var(--tl-color-primary)}.tl-tabs-trigger[data-disabled]{color:var(--tl-color-fg-disabled);cursor:not-allowed}.tl-tabs-trigger:focus-visible{outline-offset:-2px;border-radius:var(--tl-radius-sm)}.tl-tabs-content{padding-block-start:var(--tl-space-4)}.tl-toast-viewport{z-index:var(--tl-z-toast);gap:var(--tl-space-2);max-block-size:100dvh;inline-size:min(100vw,24rem);padding:var(--tl-space-4);outline:none;flex-direction:column;margin:0;list-style:none;display:flex;position:fixed;inset-block-end:0;inset-inline-end:0}.tl-toast{column-gap:var(--tl-space-3);padding:var(--tl-space-3) var(--tl-space-3) var(--tl-space-3) var(--tl-space-4);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:var(--tl-color-surface-raised);color:var(--tl-color-fg);box-shadow:var(--tl-shadow-lg);font-family:var(--tl-font-sans);animation:tl-slide-in var(--tl-duration-base) var(--tl-ease-out);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.tl-toast[data-state=closed]{animation:tl-fade-out var(--tl-duration-fast) var(--tl-ease-in)}.tl-toast[data-swipe=move]{translate:var(--radix-toast-swipe-move-x) 0}.tl-toast[data-swipe=cancel]{transition:translate var(--tl-duration-base) var(--tl-ease-out);translate:0}.tl-toast[data-swipe=end]{animation:tl-swipe-out var(--tl-duration-fast) var(--tl-ease-in)}[data-swipe-direction=left]>.tl-toast[data-swipe=end]{animation-name:tl-swipe-out-left}.tl-toast-icon{grid-area:1/1/span 2;margin-block-start:.15rem;display:inline-flex}.tl-toast-icon>svg{block-size:1rem;inline-size:1rem}[data-tone=success]>.tl-toast-icon{color:var(--tl-color-success)}[data-tone=warning]>.tl-toast-icon{color:var(--tl-color-warning)}[data-tone=danger]>.tl-toast-icon{color:var(--tl-color-danger)}[data-tone=info]>.tl-toast-icon{color:var(--tl-color-info)}.tl-toast-title,.tl-toast-description,.tl-toast-action{grid-column:2}.tl-toast-title{font-size:var(--tl-text-sm);font-weight:var(--tl-weight-medium);line-height:var(--tl-leading-sm);padding-block-start:var(--tl-space-1)}.tl-toast-description{color:var(--tl-color-fg-muted);font-size:var(--tl-text-sm);line-height:var(--tl-leading-sm)}.tl-toast-action{justify-self:start;margin-block-start:var(--tl-space-2)}.tl-toast-close{grid-area:1/3}.tl-tooltip{z-index:var(--tl-z-tooltip);max-inline-size:18rem;padding:var(--tl-space-1) var(--tl-space-2);border-radius:var(--tl-radius-sm);background:var(--tl-color-fg);color:var(--tl-color-bg);font-family:var(--tl-font-sans);font-size:var(--tl-text-xs);line-height:var(--tl-leading-xs);animation:tl-fade-in var(--tl-duration-fast) var(--tl-ease-out)}.tl-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tl-wordmark{color:var(--tl-color-fg);font-family:var(--tl-font-heading);font-size:var(--tl-text-lg);font-weight:var(--tl-weight-medium);letter-spacing:-.01em;white-space:nowrap;line-height:1;text-decoration:none}.tl-wordmark[data-size=sm]{font-size:var(--tl-text-md)}.tl-wordmark[data-size=lg]{font-size:var(--tl-text-2xl)}.tl-wordmark[data-size=xl]{font-size:var(--tl-text-4xl)}.tl-wordmark:is(a):not([data-mono]):hover{color:var(--tl-color-fg)}.tl-wordmark[data-mono]{color:inherit}.tl-wordmark-accent{color:var(--tl-color-primary)}[data-mono]>.tl-wordmark-accent{color:inherit}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}.site-menu{position:relative}.site-menu>summary{list-style:none}.site-menu>summary::-webkit-details-marker{display:none}.site-menu-list{z-index:var(--tl-z-dropdown);min-inline-size:10rem;padding:var(--tl-space-1);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:var(--tl-color-surface-raised);box-shadow:var(--tl-shadow-lg);animation:tl-pop-in var(--tl-duration-base) var(--tl-ease-out);transform-origin:100% 0;margin:0;list-style:none;display:grid;position:absolute;inset-block-start:calc(100% + var(--tl-space-2));inset-inline-end:0}.site-menu-list :is(a,button){align-items:center;gap:var(--tl-space-2);inline-size:100%;min-block-size:var(--tl-control-sm);padding-inline:var(--tl-space-2);border-radius:var(--tl-radius-sm);color:var(--tl-color-fg);font:inherit;font-size:var(--tl-text-sm);text-align:start;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.site-menu-list :is(a,button):hover{background:var(--tl-color-bg-subtle)}.site-menu-list :is(a,button)>span{flex:1}.site-menu-list a[aria-current=true]{font-weight:var(--tl-weight-medium)}.site-menu-list svg{block-size:1em;inline-size:1em;color:var(--tl-color-fg-muted);flex-shrink:0}.site-menu-list .site-menu-check{color:var(--tl-color-primary)}.theme-icon{display:none}html:not([data-theme-choice]) .theme-icon[data-for=system],html[data-theme-choice=system] .theme-icon[data-for=system],html[data-theme-choice=light] .theme-icon[data-for=light],html[data-theme-choice=dark] .theme-icon[data-for=dark]{display:block}.theme-menu .site-menu-check{visibility:hidden}.theme-menu [aria-pressed=true]{font-weight:var(--tl-weight-medium)}.theme-menu [aria-pressed=true] .site-menu-check{visibility:visible}.tl-navbar-panel .site-menu-list{box-shadow:none;margin-block-start:var(--tl-space-2);position:static}.tl-logo-mark circle{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.tl-logo:hover .tl-logo-mark circle{animation:logo-ripple .7s var(--tl-ease-out) both}.tl-logo:hover .tl-logo-mark circle:nth-child(n+3){animation-delay:70ms}.tl-logo:hover .tl-logo-mark circle:nth-child(n+7){animation-delay:.14s}.tl-logo:hover .tl-logo-mark circle:nth-child(n+11){animation-delay:.21s}}@keyframes logo-ripple{40%{transform:scale(1.35)}}.tl-hero{border-block-end:0;align-items:center;min-block-size:min(92svh,56rem);display:flex}@media (width<=1023px){.tl-hero{min-block-size:auto;padding-block-end:calc(var(--tl-space-32) + var(--tl-space-16))}}@media (prefers-reduced-motion:no-preference){.js .tl-hero-content>*{animation:rise .9s var(--tl-ease-out) both}.js .tl-hero-content>:nth-child(2){animation-delay:.12s}.js .tl-hero-content>:nth-child(3){animation-delay:.24s}}@keyframes rise{0%{opacity:0;translate:0 18px}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .7s var(--tl-ease-out), translate .7s var(--tl-ease-out);transition-delay:calc(var(--i,0) * 90ms);translate:0 24px}.js [data-reveal].is-visible{opacity:1;translate:0}.js [data-reveal] .check path{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset .6s var(--tl-ease-out);transition-delay:calc(var(--i,0) * 90ms + .25s)}.js [data-reveal].is-visible .check path{stroke-dashoffset:0}}.reveal-cell{display:grid}.tl-feature-card{isolation:isolate;transition:border-color var(--tl-duration-fast) var(--tl-ease-out), translate var(--tl-duration-base) var(--tl-ease-out), box-shadow var(--tl-duration-base) var(--tl-ease-out)}.tl-feature-card:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in oklch, var(--tl-color-primary) 16%, transparent), transparent 70%);opacity:0;transition:opacity var(--tl-duration-base) var(--tl-ease-out);pointer-events:none;position:absolute;inset:0}.tl-feature-card:hover{border-color:var(--tl-color-border-strong)}.tl-feature-card:hover:before{opacity:1}@media (prefers-reduced-motion:no-preference){.tl-feature-card:hover{box-shadow:var(--tl-shadow-md);translate:0 -3px}.tl-feature-card:hover .tl-feature-card-icon{animation:logo-ripple .6s var(--tl-ease-out)}.cta-wrap .tl-cta-panel{animation:24s linear infinite drift}}@keyframes drift{to{background-position:0 0,27px 45px}}.skip[data-astro-cid-hkbrpulz]{z-index:calc(var(--tl-z-sticky) + 1);position:absolute;inset-block-start:-100px;inset-inline-start:var(--tl-space-4)}.skip[data-astro-cid-hkbrpulz]:focus{inset-block-start:var(--tl-space-3)}main[data-astro-cid-hkbrpulz]{padding-block-end:var(--tl-space-24)}
