/* Workstream B: download, register, setup key, buy. Scoped under .pb; token names follow the
   design brief section 3 (A's tokens.css overrides the fallbacks when it lands). */
.pb {
  --pb-bg: var(--bg, #faf8fd);
  --pb-bg2: var(--bg-2, #f1edf8);
  --pb-panel: var(--panel, #ffffff);
  --pb-line: var(--panel-line, #8a8496);
  --pb-ink: var(--ink, #1b1530);
  --pb-muted: var(--ink-muted, #4a4560);
  --pb-link: var(--link, #4b00b8);
  --pb-ok: var(--ok, #1f6b35);
  --pb-warn: var(--warn, #7a4b00);
  --pb-bad: var(--bad, #a3221b);
  --pb-focus: var(--focus, #b35c00);
  --pb-btn: linear-gradient(135deg, #5b00cc, #1d1ac2);
  --pb-btn-ink: #fff;
  --pb-glow: radial-gradient(60% 80% at 20% 0%, rgba(115, 0, 255, 0.14), transparent 70%);
  color: var(--pb-ink);
  font-family: Inter, system-ui, sans-serif;
  line-height: 1.6;
}
.pb .sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .pb-btn {
    transition: none;
  }
  .pb-btn:hover {
    transform: none;
  }
}
@media print {
  .pb-noprint {
    display: none !important;
  }
  .pb {
    background: #fff;
    color: #000;
  }
}
@media (max-width: 420px) {
  .pb dl.pb-kv {
    grid-template-columns: 1fr;
  }
}
