/* ── Bf welcome overlay (DS-D: one-time launch welcome; freq-capped via localStorage) ──
   Composes tokens + existing patterns only. Append to baseforce.css. */

.bf-welcome {
  position: fixed; inset: 0; z-index: 3000;
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-6);
}
.bf-welcome-backdrop {
  position: absolute; inset: 0;
  background: color-mix(in srgb, var(--surface-page) 40%, rgba(0,0,0,0.55));
}
.bf-welcome-card {
  position: relative;
  width: min(480px, 100%);
  background: var(--surface-raised);
  border: 0.5px solid var(--border-rest);
  border-radius: var(--radius-lg);
  padding: var(--space-10) var(--space-10) var(--space-8);
}
@media (prefers-reduced-motion: no-preference) {
  .bf-welcome-card {
    animation: bf-welcome-rise var(--motion-medium) var(--ease);
  }
}
@keyframes bf-welcome-rise {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.bf-welcome-eyebrow {
  font-size: var(--size-eyebrow);
  font-weight: var(--weight-medium);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin: 0 0 var(--space-2);
}
.bf-welcome-title {
  font-size: var(--size-title);
  font-weight: var(--weight-medium);
  letter-spacing: var(--track-title);
  color: var(--text-primary);
  margin: 0 0 var(--space-4);
}
.bf-welcome-card .signature-rule { margin-bottom: var(--space-6); }
.bf-welcome-body {
  font-size: var(--size-body);
  letter-spacing: var(--track-body);
  line-height: 1.6;
  color: var(--text-secondary);
}
.bf-welcome-body p { margin: 0 0 var(--space-4); }
.bf-welcome-body strong {
  font-weight: var(--weight-medium);
  color: var(--text-primary);
}
.bf-welcome-actions {
  margin-top: var(--space-6);
  display: flex; justify-content: flex-end;
}
