.kuvo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--kuvo-spacing-margin-sm);font-family:var(--kuvo-font-family);font-weight:var(--kuvo-font-weight-semibold);line-height:var(--kuvo-line-height-normal);border:1px solid transparent;border-radius:var(--kuvo-radius-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.kuvo-btn:focus-visible{outline:2px solid var(--kuvo-color-brand);outline-offset:2px}.kuvo-btn:active:not(:disabled){transform:scale(.98)}.kuvo-btn.hidden{display:none!important}@media (min-width: 640px){.kuvo-btn.sm\:inline-flex{display:inline-flex!important}.kuvo-btn.sm\:flex{display:flex!important}}@media (min-width: 768px){.kuvo-btn.md\:inline-flex{display:inline-flex!important}.kuvo-btn.md\:flex{display:flex!important}}@media (min-width: 1024px){.kuvo-btn.lg\:inline-flex{display:inline-flex!important}.kuvo-btn.lg\:flex{display:flex!important}}.kuvo-btn--sm{font-size:var(--kuvo-font-size-sm);padding:var(--kuvo-spacing-padding-sm) var(--kuvo-spacing-padding-md)}.kuvo-btn--xs{font-size:var(--kuvo-font-size-xs, .75rem);padding:calc(var(--kuvo-spacing-padding-sm) / 2) var(--kuvo-spacing-padding-sm)}.kuvo-btn--md{font-size:var(--kuvo-font-size-md);padding:var(--kuvo-spacing-padding-sm) var(--kuvo-spacing-padding-lg)}.kuvo-btn--lg{font-size:var(--kuvo-font-size-lg);padding:var(--kuvo-spacing-padding-md) var(--kuvo-spacing-padding-xl)}.kuvo-btn--full-width{width:100%}.kuvo-btn--no-elevation{box-shadow:none}.kuvo-btn--primary{background-color:var(--kuvo-btn-accent, var(--kuvo-color-brand));color:var(--kuvo-color-surface)}.kuvo-btn--primary:hover:not(:disabled){background-color:var(--kuvo-btn-accent-hover, var(--kuvo-color-brand-strong))}.kuvo-btn--secondary{background-color:transparent;border-color:var(--kuvo-btn-border, var(--kuvo-color-border-strong));color:var(--kuvo-btn-accent, var(--kuvo-color-ink))}.kuvo-btn--secondary:hover:not(:disabled){border-color:var(--kuvo-btn-accent, var(--kuvo-color-brand));color:var(--kuvo-btn-accent, var(--kuvo-color-brand))}.kuvo-btn--tertiary{background-color:transparent;color:var(--kuvo-btn-accent, var(--kuvo-color-brand))}.kuvo-btn--tertiary:hover:not(:disabled){background-color:var(--kuvo-btn-accent-soft, var(--kuvo-color-brand-soft))}.kuvo-btn--ghost{background-color:transparent;border-color:transparent;color:var(--kuvo-btn-accent, var(--kuvo-color-ink))}.kuvo-btn--ghost:hover:not(:disabled){background-color:var(--kuvo-btn-accent-soft, var(--kuvo-color-brand-soft))}.kuvo-btn--dark{background-color:var(--kuvo-color-secondary-500);color:var(--kuvo-color-surface)}.kuvo-btn--dark:hover:not(:disabled){background-color:var(--kuvo-color-secondary-700)}.kuvo-btn--danger{background-color:var(--kuvo-color-danger);color:var(--kuvo-color-surface)}.kuvo-btn--danger:hover:not(:disabled){background-color:var(--kuvo-color-danger-strong)}.kuvo-btn--c-success{--kuvo-btn-accent:var(--kuvo-color-success-text);--kuvo-btn-accent-hover:var(--kuvo-color-success-strong);--kuvo-btn-accent-soft:var(--kuvo-color-success-bg);--kuvo-btn-border:var(--kuvo-color-success-border)}.kuvo-btn--c-error{--kuvo-btn-accent:var(--kuvo-color-danger);--kuvo-btn-accent-hover:var(--kuvo-color-danger-strong);--kuvo-btn-accent-soft:var(--kuvo-color-error-bg);--kuvo-btn-border:var(--kuvo-color-error-border)}.kuvo-btn--c-warning{--kuvo-btn-accent:var(--kuvo-color-warning-text);--kuvo-btn-accent-hover:var(--kuvo-color-warning-strong);--kuvo-btn-accent-soft:var(--kuvo-color-warning-bg);--kuvo-btn-border:var(--kuvo-color-warning-border)}.kuvo-btn--c-neutral{--kuvo-btn-accent:var(--kuvo-color-ink);--kuvo-btn-accent-hover:var(--kuvo-color-secondary-700);--kuvo-btn-accent-soft:var(--kuvo-color-canvas);--kuvo-btn-border:var(--kuvo-color-border-strong)}.kuvo-btn:disabled{background-color:var(--kuvo-color-disabled);border-color:transparent;color:var(--kuvo-color-disabled-text);cursor:not-allowed;opacity:1}.kuvo-btn--loading:disabled{background-color:var(--kuvo-btn-accent, var(--kuvo-color-brand));border-color:transparent;color:var(--kuvo-color-surface);cursor:wait}.kuvo-btn__spinner{width:1em;height:1em;animation:kuvo-btn-spin .8s linear infinite}.kuvo-btn__icon{flex-shrink:0}
