.button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; white-space: nowrap; border: 1px solid transparent; border-radius: var(--radius); font-weight: 500; line-height: 1; height: 2.5rem; padding: 0 1rem; font-size: 0.875rem; outline: none; transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease, transform 80ms ease; } .button:active:not(:disabled) { transform: scale(0.985); } .button-default { color: var(--primary-foreground); background: var(--primary); } .button-default:hover { background: var(--primary-hover); } .button-default:active { background: var(--primary-active); } .button-secondary { color: var(--secondary-foreground); background: var(--secondary); } .button-secondary:hover, .button-ghost:hover { background: var(--accent); color: var(--accent-foreground); } .button-secondary:active, .button-ghost:active { background: color-mix(in srgb, var(--accent) 88%, var(--foreground)); color: var(--accent-foreground); } .button-outline { color: var(--foreground); border-color: var(--input); background: var(--background); } .button-outline:hover { color: var(--accent-foreground); background: var(--accent); } .button-outline:active { color: var(--accent-foreground); background: color-mix(in srgb, var(--accent) 88%, var(--foreground)); } .button-ghost { color: var(--foreground); background: transparent; } .button-destructive { color: var(--destructive-foreground); background: var(--destructive); } .button-destructive:hover { background: color-mix(in srgb, var(--destructive) 90%, var(--background)); } .button-destructive:active { background: color-mix(in srgb, var(--destructive) 80%, var(--background)); } .button-link { color: var(--primary); background: transparent; text-underline-offset: 4px; } .button-link:hover { text-decoration: underline; } .button-link:active { color: var(--primary-active); }