:root{--font-ui:var(
    --font-sans,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
  );--font-num:var(--font-sans,ui-sans-serif,system-ui),ui-monospace,"SF Mono",monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:19px;--text-2xl:23px;--text-3xl:28px;--text-4xl:34px;--text-5xl:41px;--text-6xl:56px;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tighter:-0.03em;--tracking-tight:-0.015em;--tracking-normal:0;--tracking-wide:0.02em;--tracking-caps:0.08em;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--pad-tight:var(--space-3);--pad-base:var(--space-4);--pad-loose:var(--space-6);--container-sm:640px;--container-md:860px;--container-lg:1120px;--container-xl:1400px;--gutter:var(--space-5);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-pill:999px;--dur-instant:80ms;--dur-fast:var(--duration-fast,140ms);--dur-base:var(--duration-base,200ms);--dur-slow:var(--duration-slow,300ms);--dur-slower:420ms;--ease-out:var(--ease-emphasized,cubic-bezier(0.16,1,0.3,1));--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--z-base:0;--z-raised:10;--z-sticky:100;--z-rail:200;--z-overlay:300;--z-modal:400;--z-palette:500;--z-toast:600;--z-tooltip:700;--surface-0:hsl(var(--background));--surface-1:hsl(var(--card));--surface-2:hsl(var(--secondary));--surface-3:hsl(var(--accent));--surface-input:hsl(var(--card));--surface-hover:hsl(var(--foreground)/0.04);--surface-active:hsl(var(--foreground)/0.07);--content-primary:hsl(var(--foreground));--content-secondary:hsl(var(--muted-foreground));--content-tertiary:hsl(var(--muted-foreground)/0.78);--content-disabled:hsl(var(--muted-foreground)/0.5);--content-inverse:hsl(var(--background));--line-subtle:hsl(var(--border)/0.7);--line-base:hsl(var(--border));--line-strong:hsl(var(--input));--elev-1:var(--shadow-sm);--elev-2:var(--shadow-md);--elev-3:var(--shadow-lg);--elev-4:var(--shadow-xl);--scrim:hsl(var(--background)/0.72);--glass:hsl(var(--card)/0.85);--accent:hsl(var(--primary));--accent-hover:hsl(var(--primary-bright));--accent-quiet:hsl(var(--primary)/0.12);--accent-line:hsl(var(--primary)/0.3);--on-accent:hsl(var(--primary-foreground));--success:hsl(var(--success));--warning:hsl(var(--warning));--danger:hsl(var(--destructive));--info:hsl(var(--chart-3));--live:hsl(var(--primary));--success-quiet:hsl(var(--success)/0.13);--warning-quiet:hsl(var(--warning)/0.13);--danger-quiet:hsl(var(--destructive)/0.13);--info-quiet:hsl(var(--chart-3)/0.13);--live-quiet:hsl(var(--primary)/0.13)}.ds :focus-visible,.ds-focus:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.ds-display{font-size:var(--text-4xl);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight)}.ds-title{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.ds-heading,.ds-title{letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.ds-heading{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ds-body{font-size:var(--text-md)}.ds-body,.ds-small{line-height:var(--leading-normal)}.ds-small{font-size:var(--text-sm)}.ds-caption{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--content-tertiary)}.ds-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:var(--tracking-tight)}.ds-muted{color:var(--content-secondary)}.ds-quiet{color:var(--content-tertiary)}.ds-card,.ds-surface{background:var(--surface-1);border:1px solid var(--line-subtle);border-radius:var(--radius-lg)}.ds-card{box-shadow:var(--elev-1);position:relative}.ds-card--interactive{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);will-change:transform}.ds-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--elev-3);border-color:var(--line-base)}.ds-card--interactive:active{transform:translateY(0) scale(.994);transition-duration:var(--dur-instant)}.ds-card--accent:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid transparent;padding:0 var(--space-4);height:36px;cursor:pointer;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.ds-btn:active:not(:disabled){transform:scale(.97)}.ds-btn:disabled{opacity:.45;cursor:not-allowed}.ds-btn--primary{background:var(--accent);color:var(--on-accent)}.ds-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.ds-btn--secondary{background:var(--surface-2);color:var(--content-primary);border-color:var(--line-base)}.ds-btn--secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-strong)}.ds-btn--ghost{background:transparent;color:var(--content-secondary)}.ds-btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--content-primary)}.ds-btn--danger{background:var(--danger);color:#fff}.ds-btn--danger:hover:not(:disabled){filter:brightness(1.08)}.ds-btn--sm{height:30px;font-size:var(--text-sm);padding:0 var(--space-3);border-radius:var(--radius-sm)}.ds-btn--lg{height:44px;font-size:var(--text-md)}.ds-btn--lg,.ds-btn--xl{padding:0 var(--space-6);border-radius:var(--radius-lg)}.ds-btn--xl{height:56px;font-size:var(--text-lg);font-weight:var(--weight-bold)}.ds-btn--block{width:100%}.ds-btn--icon{width:36px;padding:0}.ds-btn--icon.ds-btn--sm{width:30px}.ds-btn--icon.ds-btn--lg{width:44px}.ds-input{width:100%;height:38px;padding:0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-md);color:var(--content-primary);background:var(--surface-input);border:1px solid var(--line-base);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ds-input::-moz-placeholder{color:var(--content-tertiary)}.ds-input::placeholder{color:var(--content-tertiary)}.ds-input:hover{border-color:var(--line-strong)}.ds-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-quiet)}.ds-input[aria-invalid=true]{border-color:var(--danger)}.ds-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-quiet)}textarea.ds-input{height:auto;padding:var(--space-3);resize:vertical;line-height:var(--leading-normal)}.ds-field{display:flex;flex-direction:column;gap:var(--space-2)}.ds-label{font-weight:var(--weight-semibold);color:var(--content-secondary)}.ds-hint,.ds-label{font-size:var(--text-sm)}.ds-hint{color:var(--content-tertiary)}.ds-error{font-size:var(--text-sm);color:var(--danger);font-weight:var(--weight-medium)}.ds-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--content-secondary);border:1px solid var(--line-subtle);white-space:nowrap}.ds-badge--accent{background:var(--accent-quiet);color:var(--accent);border-color:var(--accent-line)}.ds-badge--live{background:var(--live-quiet);color:var(--live);border-color:transparent}.ds-badge--success{background:var(--success-quiet);color:var(--success);border-color:transparent}.ds-badge--warning{background:var(--warning-quiet);color:var(--warning);border-color:transparent}.ds-badge--danger{background:var(--danger-quiet);color:var(--danger);border-color:transparent}.ds-badge--info{background:var(--info-quiet);color:var(--info);border-color:transparent}.ds-live-dot{width:7px;height:7px;border-radius:50%;background:var(--live);flex:none;animation:ds-pulse 2s var(--ease-in-out) infinite}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.35}}.ds-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.ds-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--content-tertiary);border-bottom:1px solid var(--line-base);white-space:nowrap}.ds-table td{padding:var(--space-3);border-bottom:1px solid var(--line-subtle);color:var(--content-primary)}.ds-table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.ds-table tbody tr:hover{background:var(--surface-hover)}.ds-table .ds-num,.ds-table [data-align=right]{text-align:right}.ds-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-meter{height:6px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.ds-meter__fill{height:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;transition:transform var(--dur-slower) var(--ease-out)}.ds-skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-md)}.ds-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--surface-hover),transparent);animation:ds-shimmer 1.6s var(--ease-in-out) infinite}@keyframes ds-shimmer{to{transform:translateX(100%)}}.ds-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6)}.ds-empty__icon{width:52px;height:52px;display:grid;place-items:center;font-size:24px;border-radius:var(--radius-lg);border:1px solid var(--line-subtle)}.ds-empty__icon,.ds-tabs{background:var(--surface-2)}.ds-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:none}.ds-tabs::-webkit-scrollbar{display:none}.ds-tab{flex:none;padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--content-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ds-tab:hover,.ds-tab[aria-selected=true]{color:var(--content-primary)}.ds-tab[aria-selected=true]{background:var(--surface-0);box-shadow:var(--elev-1)}.ds-tabs--underline{background:transparent;padding:0;gap:var(--space-5);border-bottom:1px solid var(--line-subtle);border-radius:0}.ds-tabs--underline .ds-tab{padding:var(--space-3) 0;border-radius:0;position:relative;background:transparent;box-shadow:none}.ds-tabs--underline .ds-tab[aria-selected=true]{color:var(--accent);background:transparent;box-shadow:none}.ds-tabs--underline .ds-tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:var(--radius-pill) var(--radius-pill) 0 0}.ds-segmented{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--line-subtle);border-radius:var(--radius-md)}.ds-segmented__item{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--content-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ds-segmented__item[aria-pressed=true]{background:var(--surface-0);color:var(--content-primary);box-shadow:var(--elev-1)}.ds-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;font-family:var(--font-num);font-size:var(--text-2xs);font-weight:var(--weight-bold);color:var(--content-tertiary);background:var(--surface-2);border:solid var(--line-base);border-width:1px 1px 2px;border-radius:var(--radius-xs)}.ds-stack{display:flex;flex-direction:column}.ds-row{display:flex;align-items:center}.ds-grid{display:grid}.ds-container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--gutter)}.ds-container--md{max-width:var(--container-md)}.ds-container--lg{max-width:var(--container-lg)}.ds-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ds-scroll-x::-webkit-scrollbar{display:none}.ds-enter{animation:ds-enter var(--dur-slow) var(--ease-out) both}@keyframes ds-enter{0%{opacity:0;transform:translateY(8px)}}.ds-stagger>*{animation:ds-enter var(--dur-slow) var(--ease-out) both}.ds-stagger>:first-child{animation-delay:0s}.ds-stagger>:nth-child(2){animation-delay:30ms}.ds-stagger>:nth-child(3){animation-delay:60ms}.ds-stagger>:nth-child(4){animation-delay:90ms}.ds-stagger>:nth-child(5){animation-delay:.12s}.ds-stagger>:nth-child(6){animation-delay:.15s}.ds-stagger>:nth-child(7){animation-delay:.18s}.ds-stagger>:nth-child(n+8){animation-delay:.21s}.ds-tick{animation:ds-tick var(--dur-slower) var(--ease-out)}@keyframes ds-tick{0%{transform:translateY(4px);opacity:.4;color:var(--accent)}60%{color:var(--accent)}to{transform:translateY(0);opacity:1}}@keyframes ds-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.ds-card--interactive:hover{transform:none}.ds-live-dot{animation:none;opacity:1}}@media (pointer:coarse){.ds-btn{min-height:44px}.ds-btn--sm{min-height:38px}.ds-tab{min-height:44px;display:inline-flex;align-items:center}}@media (forced-colors:active){.ds-badge,.ds-btn,.ds-card,.ds-input{border:1px solid CanvasText}.ds-tabs--underline .ds-tab[aria-selected=true]:after{background:Highlight}}