@layer components{.kso-button-shell{display:contents}.kso-button-shell.has-hint{gap:var(--gap-stack-tight);flex-direction:column;flex:none;align-items:flex-start;display:inline-flex}.kso-button-shell.has-hint.is-block{align-items:stretch;display:flex}.kso-button-shell__hint{padding-inline:var(--pad-control-x)}.kso-button{--button-height:var(--control-h-md);--button-padding-x:var(--pad-control-x);--button-font-size:var(--type-control-size);--button-gap:var(--gap-inline-tight);--button-surface:transparent;--button-surface-hover:var(--color-surface-hover);--button-surface-active:var(--color-surface-active);--button-content:var(--color-content-primary);--button-border:transparent;--button-elevation:var(--elevation-0);--button-elevation-hover:var(--elevation-0);gap:var(--button-gap);height:var(--button-height);min-width:var(--button-height);padding-inline:var(--button-padding-x);font-family:var(--font-sans);font-size:var(--button-font-size);font-weight:var(--type-control-weight);line-height:var(--leading-none);color:var(--button-content);text-align:center;white-space:nowrap;background-color:var(--button-surface);border:var(--border-width-hairline) solid var(--button-border);border-radius:var(--radius-control);box-shadow:var(--button-elevation);transition:var(--transition-color),var(--transition-elevation),scale var(--duration-1) var(--ease-standard),translate var(--duration-1) var(--ease-standard);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover) and (prefers-reduced-motion:no-preference){.kso-button.is-magnetic{translate:calc(var(--magnet-pull)*var(--button-pull-x,0)) calc(var(--magnet-pull)*var(--button-pull-y,0))}.kso-button.is-magnetic:not(:hover){transition:var(--transition-color),var(--transition-elevation),translate var(--duration-3) var(--ease-emphasized)}}.kso-button.is-block{width:100%}.kso-button.is-icon-only{padding-inline:var(--space-0);aspect-ratio:1}.kso-button__count{min-width:var(--space-4);padding-inline:var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-strong);line-height:var(--space-4);color:var(--color-accent-on-solid);text-align:center;background-color:var(--color-accent-solid);border-radius:var(--radius-full);box-shadow:0 0 0 var(--border-width-hairline) var(--color-surface-base);position:absolute;inset-block-start:calc(var(--space-1)*-1);inset-inline-end:calc(var(--space-1)*-1)}.kso-button__label{text-overflow:ellipsis;overflow:hidden}.kso-button__slot{flex:none}.kso-button:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--button-surface-hover);box-shadow:var(--button-elevation-hover)}.kso-button:active:not(:disabled):not([aria-disabled=true]){background-color:var(--button-surface-active);scale:var(--press-scale)}.kso-button:disabled,.kso-button[aria-disabled=true]{color:var(--color-content-disabled);background-color:var(--color-surface-disabled);box-shadow:var(--elevation-0);border-color:#0000}.kso-button.is-loading:disabled{color:var(--button-content);background-color:var(--button-surface)}.kso-button--primary{--button-surface:var(--color-accent-solid);--button-surface-hover:var(--color-accent-solid-hover);--button-surface-active:var(--color-accent-solid-active);--button-content:var(--color-accent-on-solid);--button-elevation:var(--elevation-1);--button-elevation-hover:var(--elevation-2)}.kso-button--secondary{--button-surface:var(--color-surface-raised);--button-surface-hover:var(--color-surface-raised);--button-surface-active:var(--color-surface-active);--button-content:var(--color-content-primary);--button-border:var(--color-border-default);--button-elevation:var(--elevation-1);--button-elevation-hover:var(--elevation-2)}.kso-button--ghost{--button-content:var(--color-content-secondary)}.kso-button--ghost:hover:not(:disabled){--button-content:var(--color-content-primary)}.kso-button--subtle{--button-surface:var(--color-accent-subtle);--button-surface-hover:var(--color-accent-subtle-hover);--button-surface-active:var(--color-accent-muted);--button-content:var(--color-accent-content)}.kso-button--danger{--button-surface:var(--color-danger-solid);--button-surface-hover:var(--color-danger-solid-hover);--button-surface-active:var(--color-danger-solid-hover);--button-content:var(--color-danger-on-solid);--button-elevation:var(--elevation-1);--button-elevation-hover:var(--elevation-2)}.kso-button--danger-ghost{--button-content:var(--color-danger-content);--button-surface-hover:var(--color-danger-subtle);--button-surface-active:var(--color-danger-muted)}.kso-button--link{--button-height:auto;--button-padding-x:var(--space-0);--button-content:var(--color-accent-content);--button-surface-hover:transparent;--button-surface-active:transparent;min-width:auto;-webkit-text-decoration-color:var(--color-accent-muted);text-decoration-color:var(--color-accent-muted);text-decoration-line:underline;text-decoration-thickness:var(--border-width-hairline);text-underline-offset:var(--space-0-5)}.kso-button--link:hover:not(:disabled){text-decoration-color:currentColor}.kso-button--link:active:not(:disabled){scale:var(--press-scale-subtle)}.kso-button--link:disabled{background-color:#0000}.kso-button.is-active:not(.kso-button--primary):not(.kso-button--danger){--button-surface:var(--color-surface-selected);--button-surface-hover:var(--color-surface-selected-hover);--button-content:var(--color-accent-content)}.kso-button--xs{--button-height:var(--control-h-xs);--button-padding-x:var(--space-1-5);--button-font-size:var(--text-2xs);--button-gap:var(--space-1);border-radius:var(--radius-sm)}.kso-button--sm{--button-height:var(--control-h-sm);--button-padding-x:var(--space-2);--button-font-size:var(--text-xs)}.kso-button--md{--button-height:var(--control-h-md);--button-padding-x:var(--pad-control-x);--button-font-size:var(--type-control-size)}.kso-button--lg{--button-height:var(--control-h-lg);--button-padding-x:var(--space-4);--button-font-size:var(--text-md)}.kso-button--xl{--button-height:var(--control-h-xl);--button-padding-x:var(--space-5);--button-font-size:var(--text-md);border-radius:var(--radius-lg)}}
