:root{--bf-button-primary-bg:var(--bf-accent,#2563eb);--bf-button-primary-text:#fff;--bf-button-secondary-bg:transparent;--bf-button-secondary-border:var(--bf-surface-border,#e2e8f0);--bf-button-secondary-text:var(--bf-text-primary,#0f172a);--bf-button-radius:var(--bf-radius-md,8px);--bf-button-font-weight:600;--bf-button-transition:all .2s cubic-bezier(.4,0,.2,1)}.bf-button{font-family:var(--bf-font-sans,inherit);font-size:.875rem;font-weight:var(--bf-button-font-weight);border-radius:var(--bf-button-radius);cursor:pointer;transition:var(--bf-button-transition);-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;display:inline-flex;position:relative;overflow:hidden}.bf-button--primary{background-color:var(--bf-button-primary-bg);color:var(--bf-button-primary-text);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.bf-button--primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a}.bf-button--primary:active:not(:disabled){transform:translateY(0)}.bf-button--secondary{background-color:var(--bf-button-secondary-bg);border-color:var(--bf-button-secondary-border);color:var(--bf-button-secondary-text)}.bf-button--secondary:hover:not(:disabled){background-color:var(--bf-surface-hover,#f1f5f9);border-color:var(--bf-accent)}.bf-button--ghost{color:var(--bf-button-secondary-text);background-color:#0000}.bf-button--ghost:hover:not(:disabled){background-color:var(--bf-surface-hover,#f1f5f9)}.bf-button--sm{padding:.4rem .8rem;font-size:.75rem}.bf-button--lg{padding:.8rem 1.6rem;font-size:1rem}.bf-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.bf-button:focus-visible{box-shadow:0 0 0 3px #2563eb4d}.dark-theme .bf-button--secondary{--bf-button-secondary-text:var(--bf-text-primary,#f4f4f5)}.bf-button__loader{justify-content:center;align-items:center;margin-right:-.25rem;display:flex}.bf-button__spinner{width:1rem;height:1rem;animation:.8s linear infinite bf-spin}.bf-button__icon{justify-content:center;align-items:center;display:inline-flex}.bf-button__icon svg{width:1.25em;height:1.25em}.bf-button--sm .bf-button__icon svg{width:1.1em;height:1.1em}.bf-button--lg .bf-button__icon svg{width:1.4em;height:1.4em}@keyframes bf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bf-button--loading .bf-button__content{opacity:.7}
