.button--accent,.button--ghost,.button--error,.button--warning,.button--success,.button--primary,.button{appearance:none;text-align:center;cursor:pointer;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:var(--line-height-normal);padding:var(--spacing-2) var(--spacing-4);border:2px solid var(--white-ghost-100);color:var(--white-ghost-100);justify-content:center;align-items:center;gap:var(--spacing-2);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border-radius:2rem;display:inline-flex;position:relative}.button--accent:hover:not(:disabled),.button--ghost:hover:not(:disabled),.button--error:hover:not(:disabled),.button--warning:hover:not(:disabled),.button--success:hover:not(:disabled),.button--primary:hover:not(:disabled),.button:hover:not(:disabled){background:var(--color-bg-secondary)}.button--accent:active:not(:disabled),.button--ghost:active:not(:disabled),.button--error:active:not(:disabled),.button--warning:active:not(:disabled),.button--success:active:not(:disabled),.button--primary:active:not(:disabled),.button:active:not(:disabled){transform:translateY(1px)}.button--accent:focus-visible,.button--ghost:focus-visible,.button--error:focus-visible,.button--warning:focus-visible,.button--success:focus-visible,.button--primary:focus-visible,.button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.button--accent:disabled,.button--ghost:disabled,.button--error:disabled,.button--warning:disabled,.button--success:disabled,.button--primary:disabled,.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button--accent svg,.button--ghost svg,.button--error svg,.button--warning svg,.button--success svg,.button--primary svg,.button svg{flex-shrink:0;width:1.25rem;height:1.25rem}.button--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button--primary{border-color:var(--safety-blue-1000);color:var(--safety-blue-1000)}.button--primary:hover:not(:disabled){background:var(--safety-blue-100)}.button--success{border-color:var(--safety-green-1000);color:var(--safety-green-1000)}.button--success:hover:not(:disabled){background:var(--safety-green-100)}.button--warning{border-color:var(--safety-yellow-1000);color:var(--safety-yellow-1000)}.button--warning:hover:not(:disabled){background:var(--safety-yellow-100)}.button--error{border-color:var(--safety-orange-1000);color:var(--safety-orange-1000)}.button--error:hover:not(:disabled){background:var(--safety-orange-100)}.button--ghost{border-color:var(--white-ghost-100)}.button--ghost:hover:not(:disabled){background:var(--color-bg-secondary)}.button--accent{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-fg)}.button--accent:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.08)}.button--small{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3)}.button--small svg{width:1rem;height:1rem}.button--large{font-size:var(--font-size-lg);padding:var(--spacing-4) var(--spacing-6)}.button--large svg{width:1.5rem;height:1.5rem}.button--icon-only{padding:var(--spacing-3);aspect-ratio:1}.button--icon-only.button--small{padding:var(--spacing-2)}.button--icon-only.button--large{padding:var(--spacing-4)}.button--full-width{width:100%}
