.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 18px;
  border:0; font-weight:600; font-size:13px; white-space:nowrap;
}
.btn.primary { background:var(--btn-bg); color:var(--btn-fg); }
.btn.secondary { color:var(--text); background:var(--surface-2); box-shadow:none; }
.btn.danger { background:var(--danger-bg); color:var(--danger-fg); }
.btn.ghost { background:transparent; color:var(--text-2); }
.btn.sm { min-height:36px; padding:0 12px; font-size:12px; }
.btn:disabled { opacity:.5; }
.pa .btn { border-radius:var(--r-pill); }
.btn.primary:hover { filter:brightness(1.08); }
.btn.ghost:hover { background:var(--hover); color:var(--text); }
.btn.ghost.danger-t { color:var(--tone-err-fg); }
.btn.secondary:hover { background:var(--hover); }
.btn.ghost.danger-t:hover { background:var(--tone-err-bg); color:var(--tone-err-fg); }
.meta .btn.sm { min-height:28px; padding:0 8px; font-size:12px; }
.act-actions .btn.sm { min-height:30px; padding:0 10px; }
.link-btn {
  border:0; background:transparent; padding:0; font:inherit; font-weight:600; color:var(--link);
  text-decoration:underline; text-underline-offset:3px; border-radius:4px;
}
.link-btn:hover { color:var(--text); }
.now-link {
  border:0; background:transparent; padding:0; font:inherit; font-weight:600; color:var(--link); text-align:left;
  text-decoration:underline; text-underline-offset:3px; border-radius:4px;
}
.now-link:hover { color:var(--text); }
/* Pedido: the secondary answers read as buttons (visible boundary, underline on hover); S/N/R hint only
   while the keyboard is inside the card, never on touch */
.ask-actions .btn.ghost { box-shadow:inset 0 0 0 1px var(--border-strong); color:var(--text); }
.ask-actions .btn.ghost:hover { text-decoration:underline; text-underline-offset:3px; }
.now-warn .btn { margin-top:4px; }
.uso-buy-head .btn { margin-left:auto; }
.tlink {
  display:inline-flex; align-items:center; min-height:32px; border:0; background:transparent; padding:0 4px;
  color:var(--link); font-weight:600; font-size:12px; text-decoration:underline; text-underline-offset:3px;
}
.pa .danger-txt { color:var(--tone-err-fg); }
.pa .danger-txt:hover { background:var(--tone-err-bg); color:var(--tone-err-fg); }
@media (prefers-reduced-motion: no-preference) {
  .btn { transition:transform .12s cubic-bezier(.16,1,.3,1), filter .15s; }
  .btn:active:not(:disabled) { transform:scale(.98); }
}
@container (max-width: 719px) {
  .uso-callout .btn { margin-left:36px; }
  .uso-buy-foot .btn { flex:1; }
  .uso-blocked .btn { flex:1; }
  .invite-row .btn { width:100%; }
}
