.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:var(--text-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.btn--md{padding:var(--space-2) var(--space-4)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn--primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.btn--primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active:not(:disabled){background-color:var(--color-accent-active);border-color:var(--color-accent-active)}.btn--secondary{background-color:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.btn--secondary:hover:not(:disabled){background-color:var(--color-interactive-hover);border-color:var(--color-border-strong)}.btn--secondary:active:not(:disabled){background-color:var(--color-interactive-active)}.btn--ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.btn--ghost:hover:not(:disabled){background-color:var(--color-interactive-hover);color:var(--color-text-primary)}.btn--ghost:active:not(:disabled){background-color:var(--color-interactive-active)}.btn--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.btn--danger:hover:not(:disabled){background-color:var(--color-danger-text);border-color:var(--color-danger-text)}.btn--danger:active:not(:disabled){opacity:.9}
