@import "https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Geist+Mono:wght@100..900&display=swap";:root{--font-sans:Geist, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-heading:var(--font-sans);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-none:1;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.75;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.theme-indigo{--primary:oklch(51.1% .262 276.966);--primary-foreground:oklch(98.5% .008 276.966);--ring:oklch(51.1% .262 276.966);--sidebar-primary:oklch(51.1% .262 276.966);--sidebar-primary-foreground:oklch(98.5% .008 276.966);--sidebar-ring:oklch(51.1% .262 276.966);--chart-1:oklch(78.5% .115 274.713);--chart-2:oklch(67.3% .182 276.935);--chart-3:oklch(58.5% .233 277.117);--chart-4:oklch(51.1% .262 276.966);--chart-5:oklch(45.7% .24 277.023)}.dark.theme-indigo{--primary:oklch(67.3% .182 276.935);--primary-foreground:oklch(25.7% .09 281.288);--ring:oklch(58.5% .233 277.117);--sidebar-primary:oklch(67.3% .182 276.935);--sidebar-primary-foreground:oklch(25.7% .09 281.288);--sidebar-ring:oklch(58.5% .233 277.117)}:root{--radius:.625rem;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--radius-2xl:calc(var(--radius) * 1.8);--radius-3xl:calc(var(--radius) * 2.2);--radius-4xl:calc(var(--radius) * 2.6);--radius-full:9999px;--spacing:.25rem;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--control-h-xs:1.5rem;--control-h-sm:1.75rem;--control-h:2rem;--control-h-lg:2.25rem;--card-spacing:1rem;--card-spacing-sm:.75rem;--ring-hairline:0 0 0 1px color-mix(in oklch, var(--foreground) 10%, transparent);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--focus-ring:0 0 0 3px color-mix(in oklch, var(--ring) 50%, transparent);--focus-ring-destructive:0 0 0 3px color-mix(in oklch, var(--destructive) 20%, transparent);--overlay:oklch(0% none none/.1);--duration-fast:.1s;--duration:.15s;--duration-slow:.2s;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--press-translate:1px}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-sm);margin:0}*,:before,:after{box-sizing:border-box;border-color:var(--border)}a{color:var(--foreground);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--muted-foreground)}code,kbd,pre,samp{font-family:var(--font-mono)}::selection{background:color-mix(in oklch, var(--primary) 20%, transparent)}.ds-btn{border-radius:var(--radius-lg);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;transition:all var(--duration) var(--ease-out);-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--control-h);color:inherit;background:0 0;border:1px solid #0000;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;padding-inline:.625rem;display:inline-flex}.ds-btn:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-btn:active:not([aria-haspopup]){transform:translateY(var(--press-translate))}.ds-btn:disabled,.ds-btn[data-disabled]{pointer-events:none;opacity:.5}.ds-btn svg{pointer-events:none;flex-shrink:0;width:1rem;height:1rem}.ds-btn[data-variant=default]{background:var(--primary);color:var(--primary-foreground)}.ds-btn[data-variant=default]:hover{background:color-mix(in oklch,var(--primary) 80%,transparent)}.ds-btn[data-variant=outline]{border-color:var(--border);background:var(--background);color:var(--foreground)}.ds-btn[data-variant=outline]:hover{background:var(--muted)}.ds-btn[data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}.ds-btn[data-variant=secondary]:hover{background:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}.ds-btn[data-variant=ghost]{color:var(--foreground)}.ds-btn[data-variant=ghost]:hover{background:var(--muted)}.ds-btn[data-variant=destructive]{background:color-mix(in oklch,var(--destructive) 10%,transparent);color:var(--destructive)}.ds-btn[data-variant=destructive]:hover{background:color-mix(in oklch,var(--destructive) 20%,transparent)}.ds-btn[data-variant=destructive]:focus-visible{border-color:color-mix(in oklch,var(--destructive) 40%,transparent);box-shadow:var(--focus-ring-destructive)}.ds-btn[data-variant=link]{color:var(--primary);text-underline-offset:4px;padding-inline:0}.ds-btn[data-variant=link]:hover{text-decoration:underline}.ds-btn[data-size=xs]{height:var(--control-h-xs);border-radius:min(var(--radius-md),10px);font-size:var(--text-xs);gap:.25rem;padding-inline:.5rem}.ds-btn[data-size=xs] svg{width:.75rem;height:.75rem}.ds-btn[data-size=sm]{height:var(--control-h-sm);border-radius:min(var(--radius-md),12px);gap:.25rem;padding-inline:.625rem;font-size:.8rem}.ds-btn[data-size=sm] svg{width:.875rem;height:.875rem}.ds-btn[data-size=lg]{height:var(--control-h-lg)}.ds-btn[data-size=icon]{width:2rem;padding:0}.ds-btn[data-size=icon-xs]{border-radius:min(var(--radius-md),10px);width:1.5rem;height:1.5rem;padding:0}.ds-btn[data-size=icon-xs] svg{width:.75rem;height:.75rem}.ds-btn[data-size=icon-sm]{border-radius:min(var(--radius-md),12px);width:1.75rem;height:1.75rem;padding:0}.ds-btn[data-size=icon-lg]{width:2.25rem;height:2.25rem;padding:0}.ds-badge{border-radius:var(--radius-4xl);width:fit-content;height:1.25rem;font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;transition:all var(--duration) var(--ease-out);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding:.125rem .5rem;display:inline-flex;overflow:hidden}.ds-badge svg{pointer-events:none;width:.75rem!important;height:.75rem!important}.ds-badge[data-variant=default]{background:var(--primary);color:var(--primary-foreground)}.ds-badge[data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}.ds-badge[data-variant=destructive]{background:color-mix(in oklch,var(--destructive) 10%,transparent);color:var(--destructive)}.ds-badge[data-variant=outline]{border-color:var(--border);color:var(--foreground)}.ds-badge[data-variant=ghost]{color:var(--foreground)}.ds-badge[data-variant=ghost]:hover{background:var(--muted);color:var(--muted-foreground)}.ds-badge[data-variant=link]{color:var(--primary);text-underline-offset:4px}.ds-badge[data-variant=link]:hover{text-decoration:underline}.ds-card{--card-spacing:1rem;gap:var(--card-spacing);border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);padding-block:var(--card-spacing);font-size:var(--text-sm);box-shadow:var(--ring-hairline);flex-direction:column;display:flex;overflow:hidden}.ds-card[data-size=sm]{--card-spacing:.75rem}.ds-card:has(.ds-card-footer){padding-bottom:0}.ds-card>img:first-child{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.ds-card:has(>img:first-child){padding-top:0}.ds-card-header{padding-inline:var(--card-spacing);grid-auto-rows:min-content;align-items:start;gap:.25rem;display:grid}.ds-card-header:has(.ds-card-action){grid-template-columns:1fr auto}.ds-card-title{font-family:var(--font-heading);font-size:var(--text-base);line-height:var(--leading-snug);font-weight:var(--font-medium)}.ds-card[data-size=sm] .ds-card-title{font-size:var(--text-sm)}.ds-card-description{font-size:var(--text-sm);color:var(--muted-foreground)}.ds-card-action{grid-row:1/span 2;grid-column-start:2;place-self:start end}.ds-card-content{padding-inline:var(--card-spacing)}.ds-card-footer{border-top:1px solid var(--border);background:color-mix(in oklch,var(--muted) 50%,transparent);padding:var(--card-spacing);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);align-items:center;gap:.5rem;display:flex}.ds-input{height:var(--control-h);border-radius:var(--radius-lg);border:1px solid var(--input);width:100%;min-width:0;font-family:inherit;font-size:var(--text-sm);color:var(--foreground);transition:color var(--duration),border-color var(--duration),box-shadow var(--duration);background:0 0;outline:none;padding:.25rem .625rem}.ds-input::placeholder{color:var(--muted-foreground)}.ds-input:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-input:disabled{pointer-events:none;cursor:not-allowed;opacity:.5;background:color-mix(in oklch,var(--input) 50%,transparent)}.ds-input[aria-invalid=true]{border-color:var(--destructive);box-shadow:var(--focus-ring-destructive)}.ds-textarea{border-radius:var(--radius-lg);border:1px solid var(--input);width:100%;min-height:4rem;font-family:inherit;font-size:var(--text-sm);color:var(--foreground);resize:vertical;background:0 0;outline:none;padding:.5rem .625rem;display:flex}.ds-textarea::placeholder{color:var(--muted-foreground)}.ds-textarea:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-label{font-size:var(--text-sm);line-height:var(--leading-none);font-weight:var(--font-medium);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.ds-field{flex-direction:column;gap:.5rem;display:flex}.ds-field-description{font-size:var(--text-xs);color:var(--muted-foreground)}.ds-input-group{border-radius:var(--radius-lg);border:1px solid var(--input);width:100%;transition:border-color var(--duration),box-shadow var(--duration);background:0 0;align-items:center;display:flex;overflow:hidden}.ds-input-group:focus-within{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-input-group .ds-input{box-shadow:none;border:0;border-radius:0;flex:1}.ds-input-group .ds-input:focus-visible{box-shadow:none}.ds-input-group-addon{font-size:var(--text-sm);color:var(--muted-foreground);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding-inline:.625rem;display:flex}.ds-input-group-addon svg{width:1rem;height:1rem}.ds-checkbox{border:1px solid var(--input);width:1rem;height:1rem;transition:background-color var(--duration),border-color var(--duration);cursor:pointer;color:var(--primary-foreground);background:0 0;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.ds-checkbox:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-checkbox[data-checked=true]{border-color:var(--primary);background:var(--primary)}.ds-checkbox svg{width:.875rem;height:.875rem}.ds-checkbox:disabled{cursor:not-allowed;opacity:.5}.ds-radio{border-radius:var(--radius-full);border:1px solid var(--input);cursor:pointer;background:0 0;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;padding:0;display:flex;position:relative}.ds-radio:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-radio[data-checked=true]{border-color:var(--primary);background:var(--primary)}.ds-radio[data-checked=true]:after{content:"";border-radius:var(--radius-full);background:var(--primary-foreground);width:.5rem;height:.5rem}.ds-radio-group{gap:.5rem;width:100%;display:grid}.ds-switch{border-radius:var(--radius-full);transition:all var(--duration) var(--ease-out);cursor:pointer;background:var(--input);border:1px solid #0000;outline:none;flex-shrink:0;align-items:center;width:32px;height:18.4px;padding:0;display:inline-flex;position:relative}.ds-switch[data-size=sm]{width:24px;height:14px}.ds-switch:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-switch[data-checked=true]{background:var(--primary)}.ds-switch:disabled{cursor:not-allowed;opacity:.5}.ds-switch-thumb{pointer-events:none;border-radius:var(--radius-full);background:var(--background);width:1rem;height:1rem;transition:transform var(--duration) var(--ease-out);display:block;transform:translate(0)}.ds-switch[data-size=sm] .ds-switch-thumb{width:.75rem;height:.75rem}.ds-switch[data-checked=true] .ds-switch-thumb{transform:translate(calc(100% - 2px))}.ds-select-trigger{border-radius:var(--radius-lg);border:1px solid var(--input);width:fit-content;height:var(--control-h);font-family:inherit;font-size:var(--text-sm);color:var(--foreground);white-space:nowrap;transition:border-color var(--duration),box-shadow var(--duration);-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;outline:none;justify-content:space-between;align-items:center;gap:.375rem;padding:0 .5rem 0 .625rem;display:flex}.ds-select-trigger[data-size=sm]{height:var(--control-h-sm);border-radius:min(var(--radius-md),10px)}.ds-select-trigger:focus-visible,.ds-select-trigger[data-open=true]{border-color:var(--ring);box-shadow:var(--focus-ring)}.ds-select-trigger[data-placeholder=true]{color:var(--muted-foreground)}.ds-select-trigger svg{width:1rem;height:1rem;color:var(--muted-foreground);flex-shrink:0}.ds-surface{border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--shadow-md),var(--ring-hairline);z-index:50}.ds-menu{min-width:9rem;padding:.25rem;overflow-y:auto}.ds-menu-item{cursor:default;border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.375rem;padding:.25rem 2rem .25rem .375rem;display:flex;position:relative}.ds-menu-item:hover,.ds-menu-item[data-highlighted=true]{background:var(--accent);color:var(--accent-foreground)}.ds-menu-item[data-disabled=true]{pointer-events:none;opacity:.5}.ds-menu-item svg{flex-shrink:0;width:1rem;height:1rem}.ds-menu-item-indicator{justify-content:center;align-items:center;width:1rem;height:1rem;display:flex;position:absolute;right:.5rem}.ds-menu-label{font-size:var(--text-xs);color:var(--muted-foreground);padding:.25rem .375rem}.ds-menu-separator{background:var(--border);height:1px;margin:.25rem -.25rem}.ds-menu-shortcut{font-size:var(--text-xs);color:var(--muted-foreground);letter-spacing:var(--tracking-wide);margin-left:auto}.ds-popover{border-radius:var(--radius-lg);background:var(--popover);width:18rem;font-size:var(--text-sm);color:var(--popover-foreground);box-shadow:var(--shadow-md),var(--ring-hairline);flex-direction:column;gap:.625rem;padding:.625rem;display:flex}.ds-hovercard{border-radius:var(--radius-lg);background:var(--popover);width:16rem;font-size:var(--text-sm);color:var(--popover-foreground);box-shadow:var(--shadow-md),var(--ring-hairline);padding:.625rem}.ds-tooltip{border-radius:var(--radius-md);background:var(--foreground);width:fit-content;max-width:20rem;font-size:var(--text-xs);color:var(--background);z-index:50;align-items:center;gap:.375rem;padding:.375rem .75rem;display:inline-flex}.ds-tabs{flex-direction:column;gap:.5rem;display:flex}.ds-tabs-list{border-radius:var(--radius-lg);width:fit-content;color:var(--muted-foreground);height:var(--control-h);background:var(--muted);justify-content:center;align-items:center;padding:3px;display:inline-flex}.ds-tabs-list[data-variant=line]{border-bottom:1px solid var(--border);background:0 0;border-radius:0;gap:.25rem;padding:0}.ds-tabs-trigger{border-radius:var(--radius-md);height:calc(100% - 1px);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;color:color-mix(in oklch,var(--foreground) 60%,transparent);transition:all var(--duration) var(--ease-out);cursor:pointer;background:0 0;border:1px solid #0000;outline:none;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.125rem .375rem;display:inline-flex;position:relative}.ds-tabs-trigger:hover{color:var(--foreground)}.ds-tabs-trigger[data-active=true]{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}.ds-tabs-list[data-variant=line] .ds-tabs-trigger{box-shadow:none;background:0 0;padding:.375rem .5rem}.ds-tabs-list[data-variant=line] .ds-tabs-trigger[data-active=true]{box-shadow:none;background:0 0}.ds-tabs-list[data-variant=line] .ds-tabs-trigger[data-active=true]:after{content:"";background:var(--foreground);height:2px;position:absolute;bottom:-1px;left:0;right:0}.ds-tabs-content{font-size:var(--text-sm);outline:none;flex:1}.ds-alert{border-radius:var(--radius-lg);border:1px solid var(--border);text-align:left;width:100%;font-size:var(--text-sm);background:var(--card);color:var(--card-foreground);gap:.125rem;padding:.5rem .625rem;display:grid;position:relative}.ds-alert:has(>svg){grid-template-columns:auto 1fr;column-gap:.5rem}.ds-alert>svg{color:currentColor;grid-row:span 2;width:1rem;height:1rem;transform:translateY(.125rem)}.ds-alert[data-variant=destructive]{color:var(--destructive)}.ds-alert[data-variant=destructive] .ds-alert-description{color:color-mix(in oklch,var(--destructive) 90%,transparent)}.ds-alert-title{font-weight:var(--font-medium)}.ds-alert-description{font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}.ds-alert-action{position:absolute;top:.5rem;right:.5rem}.ds-overlay{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ds-fade-in var(--duration-fast) var(--ease-out);position:fixed;inset:0}.ds-dialog{z-index:50;border-radius:var(--radius-xl);background:var(--popover);width:100%;max-width:24rem;font-size:var(--text-sm);color:var(--popover-foreground);box-shadow:var(--ring-hairline),var(--shadow-lg);animation:ds-zoom-in var(--duration-fast) var(--ease-out);outline:none;gap:1rem;padding:1rem;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ds-dialog-header{flex-direction:column;gap:.5rem;display:flex}.ds-dialog-title{font-family:var(--font-heading);font-size:var(--text-base);line-height:var(--leading-none);font-weight:var(--font-medium)}.ds-dialog-description{font-size:var(--text-sm);color:var(--muted-foreground)}.ds-dialog-footer{border-top:1px solid var(--border);background:color-mix(in oklch,var(--muted) 50%,transparent);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);justify-content:flex-end;gap:.5rem;margin:0 -1rem -1rem;padding:1rem;display:flex}.ds-dialog-close{position:absolute;top:.5rem;right:.5rem}.ds-sheet{z-index:50;background:var(--background);box-shadow:var(--shadow-lg);border-left:1px solid var(--border);width:20rem;animation:ds-slide-in-right var(--duration-slow) var(--ease-out);flex-direction:column;gap:1rem;padding:1rem;display:flex;position:fixed;top:0;bottom:0;right:0}.ds-sheet[data-side=left]{border-left:0;border-right:1px solid var(--border);animation:ds-slide-in-left var(--duration-slow) var(--ease-out);left:0;right:auto}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-zoom-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ds-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ds-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes ds-pulse{50%{opacity:.5}}.ds-table-container{width:100%;position:relative;overflow-x:auto}.ds-table{caption-side:bottom;width:100%;font-size:var(--text-sm);border-collapse:collapse}.ds-table thead tr{border-bottom:1px solid var(--border)}.ds-table th{text-align:left;vertical-align:middle;height:2.5rem;font-weight:var(--font-medium);white-space:nowrap;color:var(--foreground);padding:0 .5rem}.ds-table td{vertical-align:middle;white-space:nowrap;padding:.5rem}.ds-table tbody tr{border-bottom:1px solid var(--border);transition:background-color var(--duration)}.ds-table tbody tr:last-child{border-bottom:0}.ds-table tbody tr:hover{background:color-mix(in oklch,var(--muted) 50%,transparent)}.ds-table tbody tr[data-selected=true]{background:var(--muted)}.ds-table tfoot{border-top:1px solid var(--border);background:color-mix(in oklch,var(--muted) 50%,transparent);font-weight:var(--font-medium)}.ds-table caption{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:1rem}.ds-avatar{border-radius:var(--radius-full);-webkit-user-select:none;user-select:none;flex-shrink:0;width:2rem;height:2rem;display:flex;position:relative}.ds-avatar[data-size=sm]{width:1.5rem;height:1.5rem}.ds-avatar[data-size=lg]{width:2.5rem;height:2.5rem}.ds-avatar:after{content:"";border-radius:var(--radius-full);border:1px solid var(--border);mix-blend-mode:darken;position:absolute;inset:0}.ds-avatar img{aspect-ratio:1;border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%}.ds-avatar-fallback{border-radius:var(--radius-full);background:var(--muted);width:100%;height:100%;font-size:var(--text-sm);color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.ds-avatar[data-size=sm] .ds-avatar-fallback{font-size:var(--text-xs)}.ds-avatar-badge{z-index:10;border-radius:var(--radius-full);background:var(--primary);width:.625rem;height:.625rem;color:var(--primary-foreground);box-shadow:0 0 0 2px var(--background);justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;right:0}.ds-avatar-group{display:flex}.ds-avatar-group>.ds-avatar{box-shadow:0 0 0 2px var(--background);margin-left:-.5rem}.ds-avatar-group>.ds-avatar:first-child{margin-left:0}.ds-avatar-group-count{border-radius:var(--radius-full);background:var(--muted);width:2rem;height:2rem;font-size:var(--text-sm);color:var(--muted-foreground);box-shadow:0 0 0 2px var(--background);flex-shrink:0;justify-content:center;align-items:center;margin-left:-.5rem;display:flex;position:relative}.ds-separator{background:var(--border);border:0;flex-shrink:0}.ds-separator[data-orientation=horizontal]{width:100%;height:1px}.ds-separator[data-orientation=vertical]{align-self:stretch;width:1px}.ds-skeleton{border-radius:var(--radius-md);background:var(--accent);animation:2s cubic-bezier(.4,0,.6,1) infinite ds-pulse}.ds-progress{border-radius:var(--radius-full);background:var(--muted);align-items:center;width:100%;height:.25rem;display:flex;position:relative;overflow:hidden}.ds-progress-indicator{background:var(--primary);width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out)}.ds-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:1rem;display:flex;position:relative}.ds-slider-track{border-radius:var(--radius-full);background:var(--muted);flex-grow:1;width:100%;height:.25rem;position:relative;overflow:hidden}.ds-slider-range{background:var(--primary);height:100%;position:absolute}.ds-slider-thumb{border-radius:var(--radius-full);border:1px solid var(--ring);width:.75rem;height:.75rem;transition:box-shadow var(--duration);background:#fff;flex-shrink:0;display:block;position:absolute;transform:translate(-50%)}.ds-slider-thumb:hover,.ds-slider-thumb:focus-visible{box-shadow:var(--focus-ring);outline:none}.ds-accordion-item{border-bottom:1px solid var(--border)}.ds-accordion-trigger{width:100%;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground);text-align:left;cursor:pointer;transition:color var(--duration);background:0 0;border:0;outline:none;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 0;display:flex}.ds-accordion-trigger:hover{color:var(--muted-foreground)}.ds-accordion-trigger svg{width:1rem;height:1rem;color:var(--muted-foreground);transition:transform var(--duration-slow) var(--ease-out)}.ds-accordion-trigger[data-open=true] svg{transform:rotate(180deg)}.ds-accordion-content{font-size:var(--text-sm);color:var(--muted-foreground);padding:0 0 .625rem}.ds-breadcrumb{font-size:var(--text-sm);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.ds-breadcrumb a{color:inherit;transition:color var(--duration);text-decoration:none}.ds-breadcrumb a:hover{color:var(--foreground)}.ds-breadcrumb-page{color:var(--foreground);font-weight:var(--font-normal)}.ds-breadcrumb-separator{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.ds-breadcrumb-separator svg{width:1rem;height:1rem}.ds-pagination{justify-content:center;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.ds-navmenu{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.ds-navmenu-viewport{border-radius:var(--radius-lg);background:var(--popover);min-width:16rem;box-shadow:var(--shadow-md),var(--ring-hairline);z-index:50;padding:.625rem;position:absolute;top:calc(100% + .5rem);left:0}.ds-toggle{border-radius:var(--radius-lg);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;transition:all var(--duration) var(--ease-out);cursor:pointer;height:var(--control-h);min-width:var(--control-h);color:var(--foreground);background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.25rem;padding-inline:.625rem;display:inline-flex}.ds-toggle:hover,.ds-toggle[data-state=on]{background:var(--muted)}.ds-toggle[data-variant=outline]{border-color:var(--input)}.ds-toggle[data-size=sm]{height:var(--control-h-sm);min-width:var(--control-h-sm);border-radius:min(var(--radius-md),12px);font-size:.8rem}.ds-toggle[data-size=lg]{height:var(--control-h-lg);min-width:var(--control-h-lg)}.ds-toggle svg{width:1rem;height:1rem}.ds-toggle:disabled{pointer-events:none;opacity:.5}.ds-toggle-group{border-radius:var(--radius-lg);align-items:center;width:fit-content;display:flex}.ds-toggle-group[data-variant=outline]{border:1px solid var(--input);overflow:hidden}.ds-toggle-group[data-variant=outline] .ds-toggle{border:0;border-right:1px solid var(--input);border-radius:0}.ds-toggle-group[data-variant=outline] .ds-toggle:last-child{border-right:0}.ds-command{border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--shadow-md),var(--ring-hairline);flex-direction:column;width:100%;display:flex;overflow:hidden}.ds-command-input-wrapper{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;height:2.5rem;padding:0 .75rem;display:flex}.ds-command-input-wrapper svg{width:1rem;height:1rem;color:var(--muted-foreground);flex-shrink:0}.ds-command-input{font-family:inherit;font-size:var(--text-sm);color:var(--foreground);background:0 0;border:0;outline:none;flex:1}.ds-command-input::placeholder{color:var(--muted-foreground)}.ds-command-list{max-height:18rem;padding:.25rem;overflow-y:auto}.ds-command-empty{text-align:center;font-size:var(--text-sm);color:var(--muted-foreground);padding:1.5rem 0}.ds-toast{border-radius:var(--radius-lg);background:var(--popover);width:22rem;color:var(--popover-foreground);font-size:var(--text-sm);box-shadow:var(--shadow-lg),var(--ring-hairline);align-items:flex-start;gap:.625rem;padding:.75rem;display:flex}.ds-toast svg{flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem}.ds-toast-title{font-weight:var(--font-medium)}.ds-toast-description{font-size:var(--text-sm);color:var(--muted-foreground)}.ds-calendar{width:fit-content;font-size:var(--text-sm);padding:.75rem}.ds-calendar-header{justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.ds-calendar-caption{font-size:var(--text-sm);font-weight:var(--font-medium)}.ds-calendar-grid{grid-template-columns:repeat(7,2rem);gap:.125rem;display:grid}.ds-calendar-weekday{height:2rem;font-size:var(--text-xs);color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.ds-calendar-day{border-radius:var(--radius-md);width:2rem;height:2rem;font-family:inherit;font-size:var(--text-sm);color:var(--foreground);cursor:pointer;transition:background-color var(--duration);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.ds-calendar-day:hover{background:var(--muted)}.ds-calendar-day[data-outside=true]{color:var(--muted-foreground);opacity:.5}.ds-calendar-day[data-today=true]{background:var(--muted);font-weight:var(--font-medium)}.ds-calendar-day[data-selected=true]{background:var(--primary);color:var(--primary-foreground)}.ds-h1{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin:0}.ds-h2{font-size:var(--text-3xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);margin:0}.ds-h3{font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);margin:0}.ds-h4{font-size:var(--text-xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);margin:0}.ds-lead{font-size:var(--text-xl);color:var(--muted-foreground);margin:0}.ds-body{font-size:var(--text-base);margin:0;line-height:1.75}.ds-muted{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.ds-code{background:var(--muted);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:.2rem .4rem}:root{--ds-success:oklch(59.6% .145 163.225);--ds-success-foreground:oklch(98.5% .008 163.225);--ds-warning:oklch(66.6% .179 58.318);--ds-warning-foreground:oklch(98.7% .022 95.277)}.dark{--ds-success:oklch(76.5% .177 163.223);--ds-success-foreground:oklch(26.2% .051 172.552);--ds-warning:oklch(82.8% .189 84.429);--ds-warning-foreground:oklch(27.9% .077 45.635)}:root{--ds-success-tint:color-mix(in oklch, var(--ds-success) 10%, transparent);--ds-warning-tint:color-mix(in oklch, var(--ds-warning) 10%, transparent);--ds-destructive-tint:color-mix(in oklch, var(--destructive) 10%, transparent)}.ds-badge[data-variant=success]{background:var(--ds-success-tint);color:var(--ds-success)}.ds-badge[data-variant=warning]{background:var(--ds-warning-tint);color:var(--ds-warning)}.ds-alert[data-variant=warning]{color:var(--ds-warning)}.ds-alert[data-variant=warning] .ds-alert-description{color:color-mix(in oklch, var(--ds-warning) 90%, transparent)}.ds-btn-block{width:100%}html,body,#root{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar{width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-foreground);transition:width var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);flex-direction:column;flex:none;display:flex;overflow:hidden}.sidebar-left{border-right:1px solid var(--sidebar-border)}.sidebar-right{border-left:1px solid var(--sidebar-border)}.sidebar-closed{opacity:0;pointer-events:none;width:0}.sidebar-open{width:var(--sidebar-width);opacity:1}.sidebar-header{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;height:40px;padding:0 1rem;display:flex}.sidebar-title{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--muted-foreground)}.sidebar-body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;overflow:hidden auto}.sidebar-body::-webkit-scrollbar{width:4px}.sidebar-body::-webkit-scrollbar-track{background:0 0}.sidebar-body::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--border)}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.graph-canvas-wrapper{width:100%;height:100%}.custom-node-body{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);min-width:172px;max-width:220px;color:var(--card-foreground);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);padding:.75rem}.custom-node-body:hover{border-color:var(--ring)}.react-flow__node.selected .custom-node-body{border-color:var(--ring);box-shadow:var(--focus-ring)}.node-op-type{letter-spacing:-.025em;color:var(--card-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;line-height:1.25;overflow:hidden}.node-name{font-family:var(--font-mono);color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin-top:.125rem;font-size:.75rem;line-height:1.4;overflow:hidden}.highlighted-node,.highlighted-node-alt{z-index:10;border-color:var(--ds-warning);background:var(--ds-warning-tint);box-shadow:0 0 0 3px color-mix(in oklch, var(--ds-warning) 30%, transparent)}.highlighted-node .node-op-type,.highlighted-node-alt .node-op-type{color:var(--ds-warning)}.flow-controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:none!important;margin-bottom:6rem!important}.flow-controls button{transition:background var(--duration) var(--ease-out), color var(--duration) var(--ease-out);background:var(--card)!important;color:var(--muted-foreground)!important;border-bottom:1px solid var(--border)!important}.flow-controls button:hover{background:var(--accent)!important;color:var(--accent-foreground)!important}.flow-minimap{border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;background:var(--card)!important}.react-flow__handle{width:8px;height:8px;background:var(--primary)!important;border:2px solid var(--background)!important}.react-flow__attribution{background:0 0!important}.react-flow__attribution a{color:var(--muted-foreground)!important}.playback-bar-container{z-index:20;border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in oklch, var(--card) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:520px;height:52px;box-shadow:var(--shadow-lg);transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);align-items:center;gap:1rem;padding:0 .75rem;display:flex;position:fixed;bottom:1.75rem;left:50%;transform:translate(-50%)}.playback-bar-container.hidden{pointer-events:none;opacity:0;transform:translate(-50%)translateY(.5rem)}.playback-controls{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:.25rem;padding-right:1rem;display:flex}.playback-speed{margin-left:.5rem}.playback-progress-container{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.step-display{min-width:4.5rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted-foreground);text-align:center;flex-shrink:0}.progress-slider{appearance:none;cursor:pointer;background:0 0;outline:none;flex:1;height:1rem}.progress-slider::-webkit-slider-runnable-track{border-radius:var(--radius-full);background:var(--muted);height:.25rem}.progress-slider::-moz-range-track{border-radius:var(--radius-full);background:var(--muted);height:.25rem}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--ring);border-radius:var(--radius-full);background:var(--primary);width:.75rem;height:.75rem;transition:box-shadow var(--duration) var(--ease-out);margin-top:-.25rem}.progress-slider::-moz-range-thumb{border:1px solid var(--ring);border-radius:var(--radius-full);background:var(--primary);width:.75rem;height:.75rem}.progress-slider:hover::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.progress-slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.toast-container{z-index:50;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:68px}.toast-item{animation:toast-slide-in var(--duration-slow) var(--ease-out)}.toast-item[data-kind=success]{box-shadow:inset 3px 0 0 0 var(--ds-success), var(--shadow-lg), var(--ring-hairline)}.toast-item[data-kind=error]{box-shadow:inset 3px 0 0 0 var(--destructive), var(--shadow-lg), var(--ring-hairline)}.toast-item[data-kind=info]{box-shadow:inset 3px 0 0 0 var(--primary), var(--shadow-lg), var(--ring-hairline)}.toast-item[data-kind=success] .toast-icon{color:var(--ds-success)}.toast-item[data-kind=error] .toast-icon{color:var(--destructive)}.toast-item[data-kind=info] .toast-icon{color:var(--primary)}.toast-message{word-break:break-word;flex:1;min-width:0;line-height:1.45}.toast-close{flex-shrink:0;margin:-.125rem -.125rem 0 0}@keyframes toast-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.chip-list{flex-direction:column;gap:.375rem;margin-top:.5rem;display:flex}.file-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);font-size:var(--text-xs);align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.file-chip .chip-icon{flex-shrink:0}.file-chip-model{border-color:color-mix(in oklch, var(--primary) 35%, transparent);background:color-mix(in oklch, var(--primary) 10%, transparent)}.file-chip-model .chip-icon{color:var(--primary)}.file-chip-data{border-color:color-mix(in oklch, var(--ds-warning) 35%, transparent);background:var(--ds-warning-tint)}.file-chip-data .chip-icon{color:var(--ds-warning)}.chip-name{font-family:var(--font-mono);min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chip-size{font-family:var(--font-mono);color:var(--muted-foreground);flex-shrink:0}.chip-footer{flex-direction:column;gap:.25rem;padding-top:.25rem;display:flex}.chip-total{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted-foreground)}.chip-total-error{color:var(--destructive)}.chip-validation-error{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--destructive);align-items:center;gap:.25rem;display:flex}.chip-validation-error svg{flex-shrink:0}.panel-section-title{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--muted-foreground);margin-bottom:.5rem}.node-inspector{flex-direction:column;height:100%;display:flex;overflow-y:auto}.node-inspector.empty-inspector{justify-content:center;align-items:center}.empty-inspector .empty-state{color:var(--muted-foreground);font-size:var(--text-sm);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;line-height:1.6;display:flex}.empty-inspector .empty-state svg{width:1.5rem;height:1.5rem;color:var(--muted-foreground);opacity:.6}.inspector-header{border-bottom:1px solid var(--border);padding:1rem}.inspector-title{font-family:var(--font-mono);font-size:1rem;font-weight:var(--font-medium);letter-spacing:var(--tracking-tight);color:var(--foreground);word-break:break-all}.inspector-subtitle{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:.125rem}.inspector-sections{padding:0 1rem}.tensor-data-block+.tensor-data-block{margin-top:.75rem}.io-item{border-bottom:1px dashed var(--border);align-items:baseline;gap:.5rem;padding-bottom:.375rem;display:flex}.io-name{min-width:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground);text-overflow:ellipsis;flex:1;overflow:hidden}.io-name-missing{color:var(--muted-foreground)}.io-shape,.io-dtype{border-radius:var(--radius-sm);background:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted-foreground);flex-shrink:0;padding:.0625rem .25rem}.io-dtype{color:var(--primary)}.property-table{margin-top:.25rem}.property-table td{font-size:var(--text-xs);padding:.25rem 0}.property-table .prop-key{width:45%;color:var(--muted-foreground);vertical-align:top;white-space:normal}.property-table .prop-value{font-family:var(--font-mono);color:var(--foreground);text-align:right;white-space:normal;word-break:break-all}.property-table tr.stat-warning-row td{color:var(--ds-warning)}.property-table tr.stat-warning-row{background:var(--ds-warning-tint)}.stat-warning-key{align-items:center;gap:.25rem;display:flex}.stat-warning-key svg{flex-shrink:0;width:.875rem;height:.875rem}.empty-section{font-size:var(--text-xs);color:var(--muted-foreground)}:root{--bg-primary:#09111f;--bg-secondary:#0f1a2e;--bg-tertiary:#182338;--bg-card:#0f1a2ebf;--bg-input:#09111fcc;--border-color:#ffffff12;--border-focus:#6366f199;--text-primary:#e8edf5;--text-secondary:#8b95a8;--text-muted:#505a6b;--accent-color:#6366f1;--accent-hover:#4f46e5;--accent-glow:#6366f140;--accent-subtle:#6366f114;--success:#10b981;--success-bg:#10b9811a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-bg:#ef44441a;--header-height:52px;--sidebar-width:288px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 0 0,#6366f114 0,#0000 55%),radial-gradient(at 100% 100%,#10b9810a 0,#0000 55%);min-height:100vh;font-family:Outfit,sans-serif;font-size:14px;overflow:hidden}.app-root{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:100;background:#09111fd9;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.header-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-center{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.brand-section{align-items:center;gap:8px;display:flex}.brand-icon{flex-shrink:0;display:block}.brand-title{letter-spacing:-.04em;background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.header-badge{color:var(--text-muted);border-left:1px solid var(--border-color);letter-spacing:.02em;margin-left:2px;padding-left:10px;font-size:11px}.header-model-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:500px;font-family:JetBrains Mono,monospace;font-size:12px;overflow:hidden}.main-content{flex:1;display:flex;overflow:hidden}.workspace{flex:1;position:relative;overflow:hidden}.workspace-empty{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.watermark-glow{pointer-events:none;background:radial-gradient(circle,#6366f10f 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute}.workspace-title{letter-spacing:-.05em;background:linear-gradient(135deg,#ffffff1f 0%,#6366f133 100%);-webkit-text-fill-color:transparent;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700}.workspace-hint{color:var(--text-muted);font-size:14px}.inference-panel{flex-direction:column;gap:0;display:flex}.panel-section{border-bottom:1px solid var(--border-color);padding:14px 16px}.upload-zone{border-radius:var(--radius-md);cursor:pointer;text-align:center;border:1.5px dashed #ffffff1f;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:80px;padding:12px;transition:border-color .2s,background .2s;display:flex;position:relative}.upload-zone:hover:not(.upload-disabled){border-color:var(--accent-color);background:var(--accent-subtle)}.upload-zone.drag-over{border-color:var(--accent-color);background:#6366f11f;box-shadow:0 0 20px #6366f126}.upload-zone.upload-disabled{cursor:not-allowed;opacity:.6}.hidden-file-input{display:none}.upload-icon{color:var(--accent-color)}.upload-label-text{color:var(--text-primary);font-size:12px;font-weight:600}.upload-hint{color:var(--text-muted);font-size:10px}.model-status-panel{border-radius:var(--radius-sm);background:#00000026;border:1px solid #ffffff0a;flex-direction:column;gap:6px;padding:10px;display:flex}.status-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.status-label{color:var(--text-secondary)}.status-value{font-family:JetBrains Mono,monospace;font-weight:600}.status-value.loaded{color:var(--success)}.status-value.muted{color:var(--text-muted)}.status-value.status-inlined{color:var(--success);align-items:center;gap:4px;display:flex}.input-config-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.input-config-item{border-radius:var(--radius-sm);background:#00000026;border:1px solid #ffffff0a;padding:8px 10px}.input-config-name{color:var(--text-primary);margin-bottom:3px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.input-config-meta{gap:6px;display:flex}.input-config-shape,.input-config-dtype{background:#ffffff0d;border-radius:3px;padding:1px 5px;font-size:10px}.input-config-shape{color:var(--text-secondary)}.input-config-dtype{color:var(--accent-color)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.45}.spin-icon{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:root{--bg-primary:var(--background);--bg-secondary:var(--card);--bg-tertiary:var(--muted);--bg-card:var(--card);--bg-input:var(--background);--border-color:var(--border);--border-focus:var(--ring);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--text-muted:var(--muted-foreground);--accent-color:var(--primary);--accent-hover:var(--primary);--accent-subtle:color-mix(in oklch, var(--primary) 8%, transparent);--accent-glow:transparent;--success:var(--ds-success);--success-bg:var(--ds-success-tint);--warning:var(--ds-warning);--warning-bg:var(--ds-warning-tint);--danger:var(--destructive);--danger-bg:var(--ds-destructive-tint);--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius)}body{font-family:var(--font-sans);font-size:var(--text-sm);background-color:var(--background);color:var(--foreground);background-image:none}.header-model-name,.status-value,.input-config-name{font-family:var(--font-mono)}.brand-title{-webkit-text-fill-color:currentColor;color:var(--foreground);letter-spacing:var(--tracking-tight);background:0 0}.watermark-glow{background:0 0}.upload-zone.drag-over{box-shadow:none}:focus-visible{box-shadow:var(--focus-ring);border-color:var(--ring);outline:none}.app-header{background:color-mix(in oklch, var(--background) 80%, transparent)}.model-status-panel,.input-config-item{background:var(--muted)}.workspace-title{-webkit-text-fill-color:currentColor;color:color-mix(in oklch, var(--foreground) 6%, transparent);background:0 0}.upload-zone,.model-status-panel,.input-config-item{border-color:var(--border)}
