.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);letter-spacing:0;cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--sm{height:44px;min-height:44px;font-size:var(--fs-sm);padding:0 14px}.btn--md{height:44px;min-height:44px;font-size:var(--fs-sm);padding:0 18px}.btn--lg{height:48px;font-size:var(--fs-base);padding:0 24px}.btn--primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.btn--primary:hover:not(:disabled),.btn--primary:active:not(:disabled){color:var(--btn-primary-fg);background-color:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.btn--secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}.btn--secondary:hover:not(:disabled),.btn--secondary:active:not(:disabled){color:var(--btn-secondary-fg);background-color:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover)}.btn--ghost{color:var(--color-text);background-color:#0000;border-color:#0000}.btn--ghost:hover:not(:disabled),.btn--ghost:active:not(:disabled){color:var(--color-text);background-color:var(--color-bg-muted)}.btn--inverted{background-color:var(--btn-inverted-bg);color:var(--btn-inverted-fg);border-color:var(--btn-inverted-bg)}.btn--inverted:hover:not(:disabled),.btn--inverted:active:not(:disabled){color:var(--btn-inverted-fg);background-color:var(--btn-inverted-hover);border-color:var(--btn-inverted-hover)}.btn--danger{color:var(--color-error);border-color:var(--color-error);background-color:#0000}.btn--danger:hover:not(:disabled),.btn--danger:active:not(:disabled){color:var(--color-accent-fg);background-color:var(--color-error);border-color:var(--color-error)}.btn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite btn-spin}.btn__label--loading{opacity:.85}@keyframes btn-spin{to{transform:rotate(360deg)}}
