/* Boostly — shared brand styles (used across all HTML pages) */

:root {
  --ink: #0A0A0F;
  --ink-soft: #18181B;
  --ink-muted: #52525B;
  --ink-subtle: #A1A1AA;
  --paper: #FFFFFF;
  --paper-soft: #FAFAFA;
  --paper-tint: #F4F4F5;
  --line: #E4E4E7;
  --lime-glow: #BEF264;
  --lime-deep: #84CC16;
  --lime-dark: #4D7C0F;
}

body { font-feature-settings: 'cv02','cv03','cv04','cv11','ss01'; -webkit-font-smoothing: antialiased; }
::selection { background: var(--lime-glow); color: var(--ink); }
:focus-visible { outline: 2px solid var(--lime-glow); outline-offset: 2px; border-radius: 6px; }

/* Wordmark */
.brand {
  display: inline-flex;
  align-items: baseline;
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--ink);
}
.brand::after {
  content: '';
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--lime-glow);
  margin-left: 4px; margin-bottom: 2px;
  box-shadow: 0 0 12px var(--lime-glow);
}

/* Glow CTA halo */
.glow-cta { position: relative; }
.glow-cta::after {
  content: '';
  position: absolute; inset: -2px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lime-glow), var(--lime-deep), var(--lime-glow));
  background-size: 200% 100%;
  opacity: 0; filter: blur(14px);
  transition: opacity .3s ease;
  z-index: -1;
}
.glow-cta:hover::after { opacity: .55; animation: shimmer 2.2s linear infinite; }
@keyframes shimmer {
  0%   { background-position: 0% 0; }
  100% { background-position: 200% 0; }
}

/* Status dot (live indicator) */
.pulse-dot::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: currentColor;
  margin-right: 6px;
  vertical-align: middle;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1;  transform: scale(1); }
  50%      { opacity: .35; transform: scale(.85); }
}

/* Dot grid background (hero / auth pages) */
.dot-grid {
  background-image: radial-gradient(circle, rgba(10,10,15,.08) 1px, transparent 1px);
  background-size: 26px 26px;
}

/* QR code crisp rendering */
.qr-img { image-rendering: pixelated; }

/* Smooth scroll for anchor nav */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
