/* stylelint-disable -- Migrated parity CSS: keep cascade, selector order, and declarations visually identical. */
  /* ---------- Buttons ---------- */
  .btn { font-family:var(--font); font-size:14px; font-weight:600; border-radius:var(--r-sm); padding:9px 16px; border:1px solid transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; position:relative; overflow:hidden; text-align:center; transition:transform .12s, background .12s, border-color .12s, box-shadow .12s; }
  .btn:active { transform:scale(.97); }
  .btn:focus-visible { outline:none; box-shadow:0 0 0 3px var(--brand-ring); }
  .btn::after { content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); transition:left .5s; }
  .btn:hover::after { left:140%; }
  .btn-primary { background:var(--brand); color:var(--on-brand); box-shadow:0 4px 14px rgba(56,88,233,.3); }
  .btn-primary:hover { background:var(--brand-hover); transform:translateY(-2px); box-shadow:0 8px 20px rgba(56,88,233,.4); }
  .btn-secondary { background:var(--surface); color:var(--text); border-color:var(--hairline-strong); }
  .btn-secondary:hover { background:var(--surface-alt); border-color:var(--text-faint); transform:translateY(-2px); }
  .btn-ghost { background:transparent; color:var(--brand); }
  .btn-ghost:hover { background:var(--brand-soft); }
  .btn-danger { background:var(--surface); color:var(--status-failed-ink); border-color:#f3c5c0; }
  .btn-danger:hover { background:var(--status-failed-soft); }
  .btn-lg { font-size:15px; padding:12px 22px; border-radius:var(--r-md); }
  .btn:disabled { opacity:.5; cursor:not-allowed; }
