.btn{border-radius:var(--radius-md);font-size:var(--text-sm);padding:0 var(--space-3);height:36px;transition:background var(--duration-normal)var(--ease-in-out),color var(--duration-normal)var(--ease-in-out);cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.btn[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-primary-fg)}.btn--primary:hover:not([disabled]){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-bg-subtle);color:var(--color-fg);border:1px solid var(--color-border)}.btn--secondary:hover:not([disabled]){background:var(--color-bg-raised)}.btn--ghost{color:var(--color-fg);background:0 0}.btn--ghost:hover:not([disabled]){background:var(--color-bg-subtle)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not([disabled]){background:oklch(from var(--color-danger)calc(l - .05)c h)}.btn--sm{height:32px;padding:0 var(--space-2);font-size:var(--text-xs)}.btn--md{height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn--lg{height:44px;padding:0 var(--space-4);font-size:var(--text-base)}
