@layer ds.reset,ds.vendor,ds.theme;@layer ds.primitives{.text{line-height:var(--leading-normal);margin:0}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl,.text-5xl,.text-6xl{font-size:var(--text-4xl)}.text-weight-lighter{font-weight:var(--font-light)}.text-weight-normal{font-weight:var(--font-normal)}.text-weight-medium{font-weight:var(--font-medium)}.text-weight-semibold{font-weight:var(--font-semibold)}.text-weight-bold{font-weight:var(--font-bold)}.text-weight-bolder{font-weight:800}.text-color-primary{color:var(--semantic-primary)}.text-color-success{color:var(--semantic-text-success)}.text-color-error{color:var(--semantic-text-error)}.text-color-warning{color:var(--semantic-text-warning)}.text-color-info{color:var(--semantic-text-info)}.text-color-muted{color:var(--semantic-text-muted)}.text-color-secondary{color:var(--semantic-text-secondary)}.text-color-black{color:var(--semantic-text-default)}.text-color-white,.text-color-inverted{color:var(--semantic-text-white)}.text-align-left{text-align:left}.text-align-right{text-align:right}.text-align-center{text-align:center}.text-align-justify{text-align:justify}.text-transform-capitalize{text-transform:capitalize}.text-transform-uppercase{text-transform:uppercase}.text-transform-lowercase{text-transform:lowercase}[class*=text-truncate-]{white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-truncate-1{white-space:nowrap;text-overflow:ellipsis;display:block}.text-truncate-2{-webkit-line-clamp:2}.text-truncate-3{-webkit-line-clamp:3}.text-truncate-4{-webkit-line-clamp:4}.text-style-italic{font-style:italic}.text-style-underline{text-decoration:underline}.text-style-strikethrough{text-decoration:line-through}.text-style-highlighted mark{background:var(--tint-warning-bg);color:var(--semantic-text-default)}}@layer ds.components{:root,[data-theme]{--button-bg:var(--semantic-background-surface);--button-fg:var(--semantic-text-default);--button-border:var(--semantic-border-default);--button-bg-hover:var(--semantic-background-tertiary);--button-bg-active:var(--semantic-surface-hover);--button-border-hover:var(--semantic-border-hairline-strong);--button-px:1rem;--button-py:.5rem;--button-gap:.5rem;--button-font-size:.875rem;--button-font-weight:500;--button-line-height:1.25;--button-radius:var(--radius-input,.75rem);--button-shadow:none;--button-ring:var(--focus-ring-color,var(--semantic-primary));--button-ring-offset:var(--semantic-background-default)}button[data-variant]{min-height:var(--control-min-target)}[data-variant=primary],button[data-variant=primary]{--button-bg:var(--semantic-primary);--button-fg:var(--semantic-fg-on-primary,#fff);--button-border:transparent;--button-bg-hover:var(--semantic-primary-hover);--button-bg-active:var(--semantic-primary-hover);--button-border-hover:transparent;--button-shadow:var(--semantic-elevation-card);--button-ring:var(--focus-ring-color,var(--semantic-primary))}[data-variant=success],button[data-variant=success]{--button-bg:var(--semantic-state-success-solid);--button-fg:var(--semantic-fg-on-primary,#fff);--button-border:transparent;--button-bg-hover:color-mix(in oklab, var(--semantic-state-success-solid) 88%, black);--button-bg-active:color-mix(in oklab, var(--semantic-state-success-solid) 78%, black);--button-border-hover:transparent;--button-shadow:var(--semantic-elevation-card);--button-ring:var(--semantic-state-success)}[data-variant=warning],button[data-variant=warning]{--button-bg:var(--semantic-state-warning-solid);--button-fg:var(--semantic-fg-on-primary,#fff);--button-border:transparent;--button-bg-hover:color-mix(in oklab, var(--semantic-state-warning-solid) 85%, black);--button-bg-active:color-mix(in oklab, var(--semantic-state-warning-solid) 70%, black);--button-border-hover:transparent;--button-shadow:var(--semantic-elevation-card);--button-ring:var(--semantic-state-warning)}[data-variant=error],button[data-variant=error]{--button-bg:var(--semantic-state-error);--button-fg:var(--semantic-fg-on-primary,#fff);--button-border:transparent;--button-bg-hover:color-mix(in oklab, var(--semantic-state-error) 85%, black);--button-bg-active:color-mix(in oklab, var(--semantic-state-error) 70%, black);--button-border-hover:transparent;--button-shadow:var(--semantic-elevation-card);--button-ring:var(--semantic-state-error)}[data-variant=outline],button[data-variant=outline]{--button-bg:transparent;--button-fg:var(--semantic-primary);--button-border:var(--semantic-primary);--button-bg-hover:var(--semantic-primary-subtle);--button-bg-active:var(--semantic-primary-subtle-hover);--button-border-hover:var(--semantic-primary-hover);--button-shadow:none;--button-ring:var(--focus-ring-color,var(--semantic-primary))}[data-variant=outline]:hover:not(:disabled),button[data-variant=outline]:hover:not(:disabled){--button-fg:var(--semantic-primary-subtle-fg)}[data-variant=ghost],button[data-variant=ghost]{--button-bg:transparent;--button-fg:var(--semantic-text-default);--button-border:transparent;--button-bg-hover:var(--semantic-background-tertiary);--button-bg-active:var(--semantic-surface-hover);--button-border-hover:transparent;--button-shadow:none;--button-ring:var(--focus-ring-color,var(--semantic-primary))}[data-size=xs],button[data-size=xs]{--button-px:.5rem;--button-py:.25rem;--button-gap:.25rem;--button-font-size:.75rem;--button-line-height:1;--button-radius:var(--radius-sm,.5rem)}[data-size=sm],button[data-size=sm]{--button-px:.75rem;--button-py:.25rem;--button-gap:.375rem;--button-font-size:.875rem;--button-line-height:1;--button-radius:var(--radius-input,.75rem)}[data-size=md],button[data-size=md]{--button-px:1rem;--button-py:.35rem;--button-gap:.35rem;--button-font-size:.875rem;--button-line-height:1.25;--button-radius:var(--radius-input,.75rem)}[data-size=lg],button[data-size=lg]{--button-px:1.25rem;--button-py:.625rem;--button-gap:.5rem;--button-font-size:1rem;--button-line-height:1.375;--button-radius:var(--radius-input,.75rem)}[data-size=xl],button[data-size=xl]{--button-px:1.5rem;--button-py:.75rem;--button-gap:.625rem;--button-font-size:1.125rem;--button-line-height:1.375;--button-radius:var(--radius-input,.75rem)}[data-theme=dark]{--button-bg:var(--semantic-background-surface);--button-fg:var(--semantic-text-default);--button-border:var(--semantic-border-default);--button-bg-hover:var(--semantic-surface-hover);--button-bg-active:var(--semantic-surface-hover);--button-ring-offset:var(--semantic-background-default)}[data-theme=dark] [data-variant=outline]{--button-bg-hover:var(--semantic-primary-subtle);--button-bg-active:var(--semantic-primary-subtle-hover)}[data-theme=dark] [data-variant=ghost]{--button-fg:var(--semantic-text-default);--button-bg-hover:#ffffff1a;--button-bg-active:#ffffff26}[data-variant=primary][data-emphasis=true],button[data-variant=primary][data-emphasis=true]{--button-shadow:var(--shadow-glow-primary)}[data-variant=success][data-emphasis=true],button[data-variant=success][data-emphasis=true]{--button-shadow:var(--shadow-glow-success)}[data-variant=error][data-emphasis=true],button[data-variant=error][data-emphasis=true]{--button-shadow:var(--shadow-glow-error)}.alert{align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border-radius:var(--radius-lg);width:100%;transition:all var(--motion-duration-fast) var(--motion-ease-standard);font-size:var(--text-sm);border:1px solid #0000;line-height:1.5;display:flex;position:relative}.alert-info.alert-default{background:var(--semantic-state-info);border-color:var(--semantic-state-info);color:#fff}.alert-success.alert-default{background:var(--semantic-state-success);border-color:var(--semantic-state-success);color:#fff}.alert-warning.alert-default{background:var(--semantic-state-warning);border-color:var(--semantic-state-warning);color:#fff}.alert-error.alert-default{background:var(--semantic-state-error);border-color:var(--semantic-state-error);color:#fff}.alert-info.alert-light{background:var(--tint-info-bg);border-color:color-mix(in oklab, var(--semantic-state-info) 20%, transparent);color:var(--tint-info-fg)}.alert-success.alert-light{background:var(--tint-success-bg);border-color:color-mix(in oklab, var(--semantic-state-success) 20%, transparent);color:var(--tint-success-fg)}.alert-warning.alert-light{background:var(--tint-warning-bg);border-color:color-mix(in oklab, var(--semantic-state-warning) 20%, transparent);color:var(--tint-warning-fg)}.alert-error.alert-light{background:var(--tint-error-bg);border-color:color-mix(in oklab, var(--semantic-state-error) 20%, transparent);color:var(--tint-error-fg)}.alert-info.alert-outline{border-color:var(--semantic-state-info);color:var(--semantic-text-info);background:0 0}.alert-success.alert-outline{border-color:var(--semantic-state-success);color:var(--semantic-text-success);background:0 0}.alert-warning.alert-outline{border-color:var(--semantic-state-warning);color:var(--semantic-text-warning);background:0 0}.alert-error.alert-outline{border-color:var(--semantic-state-error);color:var(--semantic-text-error);background:0 0}.alert-info.alert-glass{background:var(--semantic-state-info);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab, var(--semantic-state-info) 15%, transparent), 0 0 16px 4px color-mix(in oklab, var(--semantic-state-info) 40%, transparent), 0 0 24px 8px color-mix(in oklab, var(--semantic-state-info) 20%, transparent), var(--shadow-elevation-2)}.alert-success.alert-glass{background:var(--semantic-state-success);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab, var(--semantic-state-success) 15%, transparent), 0 0 16px 4px color-mix(in oklab, var(--semantic-state-success) 40%, transparent), 0 0 24px 8px color-mix(in oklab, var(--semantic-state-success) 20%, transparent), var(--shadow-elevation-2)}.alert-warning.alert-glass{background:var(--semantic-state-warning);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab, var(--semantic-state-warning) 15%, transparent), 0 0 16px 4px color-mix(in oklab, var(--semantic-state-warning) 40%, transparent), 0 0 24px 8px color-mix(in oklab, var(--semantic-state-warning) 20%, transparent), var(--shadow-elevation-2)}.alert-error.alert-glass{background:var(--semantic-state-error);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab, var(--semantic-state-error) 15%, transparent), 0 0 16px 4px color-mix(in oklab, var(--semantic-state-error) 40%, transparent), 0 0 24px 8px color-mix(in oklab, var(--semantic-state-error) 20%, transparent), var(--shadow-elevation-2)}.alert-custom.alert-default{background:var(--alert-color);border-color:var(--alert-color);color:#fff}.alert-custom.alert-light{background:color-mix(in oklab, var(--alert-color) 8%, transparent);border-color:color-mix(in oklab, var(--alert-color) 20%, transparent);color:var(--alert-color)}.alert-custom.alert-outline{border-color:var(--alert-color);color:var(--alert-color);background:0 0}.alert-custom.alert-glass{background:var(--alert-color);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab, var(--alert-color) 15%, transparent), 0 0 16px 4px color-mix(in oklab, var(--alert-color) 40%, transparent), 0 0 24px 8px color-mix(in oklab, var(--alert-color) 20%, transparent), var(--shadow-elevation-2)}.alert-custom.alert-light .alert-icon,.alert-custom.alert-outline .alert-icon{color:var(--alert-color)}.alert-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.alert-with-icon{padding-left:var(--spacing-4)}.alert-default .alert-icon{color:#fff}.alert-light .alert-icon,.alert-outline .alert-icon{color:inherit}.alert-info.alert-light .alert-icon,.alert-info.alert-outline .alert-icon{color:var(--semantic-state-info)}.alert-success.alert-light .alert-icon,.alert-success.alert-outline .alert-icon{color:var(--semantic-state-success)}.alert-warning.alert-light .alert-icon,.alert-warning.alert-outline .alert-icon{color:var(--semantic-state-warning)}.alert-error.alert-light .alert-icon,.alert-error.alert-outline .alert-icon{color:var(--semantic-state-error)}.alert-glass .alert-icon{color:#fff}.alert-content{gap:var(--spacing-1-5);flex-direction:column;flex:1;min-width:0;display:flex}.alert-title{font-weight:var(--font-semibold);font-size:var(--text-base);color:inherit;margin:0;line-height:1.4}.alert-description{font-size:var(--text-sm);opacity:.9;color:inherit;margin:0;line-height:1.5}.alert-with-title .alert-title{margin-bottom:var(--spacing-0-5)}.alert-close-trigger{cursor:pointer;padding:var(--spacing-1-5);border-radius:var(--radius-md);color:inherit;opacity:.7;transition:all var(--motion-duration-fast) var(--motion-ease-standard);border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:-2px;margin-left:auto;display:flex;background:0 0!important}.alert-default .alert-close-trigger,.alert-glass .alert-close-trigger{color:#fff;opacity:.9}.alert-close-trigger:hover{opacity:1;background:#00000014!important}.alert-default .alert-close-trigger:hover,.alert-glass .alert-close-trigger:hover{background:#ffffff26!important}.alert-close-trigger:focus-visible{outline-offset:2px;opacity:1;outline:2px solid}.alert-close-trigger:active{transform:scale(.95)}.alert-closable{padding-right:var(--spacing-2)}@keyframes alertFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.alert-closing{animation:.3s ease-out forwards alertFadeOut}@media (prefers-color-scheme:dark){.alert-default{border-width:1px}.alert-close-trigger:hover{background:#ffffff1a!important}}@media (width<=640px){.alert{padding:var(--spacing-3);gap:var(--spacing-2-5)}.alert-title{font-size:var(--text-sm)}.alert-description{font-size:var(--text-xs)}}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);font-weight:var(--font-semibold);border-radius:var(--radius-input,.75rem);transition:color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);cursor:pointer;border:none;outline:none;font-family:inherit;display:inline-flex;position:relative}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring-color,var(--semantic-primary));outline-offset:var(--focus-ring-offset,2px)}.btn-primary{background:var(--semantic-primary);color:var(--semantic-fg-on-primary);box-shadow:var(--semantic-elevation-card);border:1px solid #0000}.btn-primary:hover:not(:disabled){background:var(--semantic-primary-hover);box-shadow:var(--semantic-elevation-card)}.btn-primary.btn-emphasis{box-shadow:var(--shadow-glow-primary)}.btn-primary.btn-emphasis:hover:not(:disabled){box-shadow:var(--shadow-glow-primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:var(--semantic-background-surface);color:var(--semantic-text-default);border:1px solid var(--semantic-border-default)}.btn-secondary:hover:not(:disabled){background:var(--semantic-background-tertiary);border-color:var(--semantic-border-hairline-strong)}.btn-ghost{color:var(--semantic-text-default);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--semantic-background-tertiary)}.btn-outline{color:var(--semantic-primary);border:1px solid var(--semantic-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--semantic-primary-subtle);border-color:var(--semantic-primary-hover)}.btn-error{background:var(--semantic-state-error);color:var(--semantic-fg-on-primary)}.btn-error:hover:not(:disabled){background:color-mix(in oklab, var(--semantic-state-error) 85%, black)}.btn-xs{padding:var(--spacing-1) var(--spacing-2);font-size:var(--text-xs);min-height:max(var(--spacing-6), 1.5rem, var(--control-min-target));border-radius:var(--radius-sm,.5rem)}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-sm);min-height:max(var(--spacing-8), var(--control-min-target));border-radius:var(--radius-input,.75rem)}.btn-md{padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-base);min-height:var(--spacing-10)}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--text-lg);min-height:var(--spacing-12)}.btn-xl{padding:var(--spacing-5) var(--spacing-8);font-size:var(--text-xl);min-height:var(--spacing-14)}.btn-loading{opacity:.7;cursor:wait;pointer-events:none}.btn-spinner,.btn-icon-left,.btn-icon-right{justify-content:center;align-items:center;display:inline-flex}.btn-content{align-items:center;display:inline-flex}.btn-space-between{width:100%;padding-left:var(--spacing-5);padding-right:var(--spacing-5);padding-top:var(--spacing-3);padding-bottom:var(--spacing-3);justify-content:space-between}@media (width<=767px){.btn-lg{padding:var(--spacing-3) var(--spacing-5);font-size:var(--text-base)}.btn-xl{padding:var(--spacing-4) var(--spacing-6);font-size:var(--text-lg)}}button[aria-expanded]:not([aria-expanded=false])>.icon:last-child{transform:rotate(180deg)}button[aria-expanded]>.icon:last-child{transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn-primary:active:not(:disabled),.btn:active:not(:disabled){transform:none}button[aria-expanded]>.icon:last-child{transition:none}}.error-state .empty-state-title{color:var(--semantic-text-default)}.error-state .empty-state-description{color:var(--semantic-text-secondary)}.empty-state{justify-content:center;align-items:center;width:100%;display:flex}.empty-state-inner{text-align:center;align-items:center;gap:var(--spacing-2);flex-direction:column;max-width:420px;display:flex}.empty-state-icon-wrap{width:var(--spacing-16);height:var(--spacing-16);border-radius:var(--radius-full);background:var(--tint-neutral-bg);justify-content:center;align-items:center;display:inline-flex}.empty-state-sm .empty-state-icon-wrap{width:var(--spacing-14);height:var(--spacing-14)}.empty-state-lg .empty-state-icon-wrap{width:var(--spacing-20);height:var(--spacing-20)}.empty-state-primary .empty-state-icon-wrap{background:var(--semantic-primary-subtle)}.empty-state-success .empty-state-icon-wrap{background:var(--tint-success-bg)}.empty-state-warning .empty-state-icon-wrap{background:var(--tint-warning-bg)}.empty-state-error .empty-state-icon-wrap{background:var(--tint-error-bg)}.empty-state-info .empty-state-icon-wrap{background:var(--tint-info-bg)}.empty-state-tinted{border:1px solid var(--semantic-border-hairline);border-radius:var(--radius-card)}.empty-state-tinted.empty-state-primary{background:color-mix(in srgb, var(--semantic-primary-subtle), transparent 45%)}.empty-state-tinted.empty-state-success{background:color-mix(in srgb, var(--tint-success-bg), transparent 45%)}.empty-state-tinted.empty-state-warning{background:color-mix(in srgb, var(--tint-warning-bg), transparent 45%)}.empty-state-tinted.empty-state-error{background:color-mix(in srgb, var(--tint-error-bg), transparent 45%)}.empty-state-tinted.empty-state-info{background:color-mix(in srgb, var(--tint-info-bg), transparent 45%)}.empty-state-tinted.empty-state-neutral,.empty-state-tinted.empty-state-muted{background:color-mix(in srgb, var(--tint-neutral-bg), transparent 45%)}.empty-state-title{color:var(--semantic-text-default);display:block}.empty-state-description{color:var(--semantic-text-secondary);line-height:var(--leading-relaxed);display:block}.empty-state-actions{gap:var(--spacing-2);margin-top:var(--spacing-3);flex-wrap:wrap;justify-content:center;display:flex}.empty-state-sm{padding:var(--spacing-6) var(--spacing-4)}.empty-state-md{padding:var(--spacing-10) var(--spacing-4)}.empty-state-lg{padding:var(--spacing-16) var(--spacing-6)}.skeleton-group{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.skeleton{background-color:var(--semantic-border-default);border-radius:var(--radius-sm);display:block}.skeleton-text{border-radius:var(--radius-sm);width:100%;height:.85em}.skeleton-rect{width:100%;height:var(--spacing-16);border-radius:var(--radius-md)}.skeleton-circle{width:var(--spacing-12);height:var(--spacing-12);border-radius:var(--radius-full)}.skeleton-animated{animation:1.6s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-animated{animation:none}}}@layer ds.utilities;
