.bral-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:600;font-size:15px;line-height:20px;padding:var(--space-3) 20px;cursor:pointer;text-decoration:none;transition:background .15s ease-out,border-color .15s ease-out,transform .15s ease-out;white-space:nowrap}
.bral-btn:active{transform:translateY(1px)}
.bral-btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.bral-btn--lg{font-size:16px;padding:14px var(--space-6)}
.bral-btn--primary{background:var(--brand);color:var(--on-brand)}
.bral-btn--primary:hover{background:var(--brand-strong)}
.bral-btn--volt{background:var(--volt);color:var(--on-volt)}
.bral-btn--volt:hover{filter:brightness(.95)}
.bral-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.bral-btn--ghost:hover{border-color:var(--ink-muted)}
.bral-btn--dark{background:var(--ink);color:var(--surface-100)}
.bral-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:4px 10px;font-family:var(--font-mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.bral-badge--brand{background:var(--brand-tint);color:var(--brand-strong)}
.bral-badge--neutral{background:var(--surface-200);color:var(--ink-muted);box-shadow:inset 0 0 0 1px var(--line)}
.bral-badge--success{background:var(--success-tint);color:var(--success)}
.bral-badge--danger{background:var(--danger-tint);color:var(--danger)}
.bral-badge--volt{background:var(--volt);color:var(--on-volt)}
.bral-badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.bral-badge--live .bral-badge__dot{background:var(--volt);box-shadow:0 0 0 2px var(--on-volt);animation:bral-pulse 1.6s ease-out infinite}
.bral-badge--volt.bral-badge--live .bral-badge__dot{background:var(--on-volt);box-shadow:none}
@keyframes bral-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.bral-badge__dot{animation:none!important}}
