:root{--b-bg:#fff;--b-fg:#0a0a0c;--b-muted:#767676;--b-border:#e7e7e7;--b-border-strong:#d4d4d4;--b-surface:#f3f3f3;--b-accent:#5b3df5;--b-accent-fg:#fff;--b-danger:#d92d20;--b-success:#15803d}.b-btn{display:flex;align-items:center;gap:8px;justify-content:center;border-radius:12px;border:1px solid transparent;font-weight:500;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1),border-color .12s cubic-bezier(.4,0,.2,1),color .12s cubic-bezier(.4,0,.2,1),transform .12s cubic-bezier(.4,0,.2,1);white-space:nowrap}.b-btn:active:not(:disabled){transform:translateY(1px)}.b-btn:disabled{opacity:.5;cursor:not-allowed}.b-btn--block{width:100%}.b-btn--sm{padding:4px 12px;font-size:.875rem}.b-btn--md{padding:8px 16px;font-size:1rem}.b-btn--lg{padding:12px 24px;font-size:1.125rem}.b-btn--primary{background:#0a0a0a;color:#fff;border-radius:999px}.b-btn--primary:hover:not(:disabled){filter:brightness(1.4)}.b-btn--secondary{background:var(--b-bg);color:var(--b-fg);border-color:var(--b-border-strong)}.b-btn--secondary:hover:not(:disabled){background:var(--b-surface)}.b-btn--ghost{background:transparent;color:var(--b-fg)}.b-btn--ghost:hover:not(:disabled){background:var(--b-surface)}.b-btn--danger{background:var(--b-danger);color:#fff}.b-btn--danger:hover:not(:disabled){filter:brightness(1.08)}.b-btn__spinner{width:14px;height:14px;border:2px solid;border-top:2px solid transparent;border-radius:999px;animation:b-spin .6s linear infinite}@keyframes b-spin{to{transform:rotate(1turn)}}
