/* Upskill Health — Effects: radii, shadows, motion, blur
   White cards float gently on the off-white ground. Restrained, editorial —
   soft shadows, calm fades, no bounce. */

:root {
  /* ---- Corner radii ---- */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;   /* default card / input */
  --radius-lg: 16px;   /* feature cards */
  --radius-xl: 24px;   /* large panels, phone screens */
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* ---- Shadows (cool, green-tinted, low and soft) ---- */
  --shadow-xs: 0 1px 2px oklch(0.3 0.02 158 / 0.06);
  --shadow-sm: 0 1px 2px oklch(0.3 0.02 158 / 0.05),
               0 2px 6px oklch(0.3 0.02 158 / 0.05);
  --shadow-md: 0 2px 4px oklch(0.3 0.02 158 / 0.04),
               0 6px 16px oklch(0.3 0.02 158 / 0.07);
  --shadow-lg: 0 4px 8px oklch(0.3 0.02 158 / 0.05),
               0 18px 40px oklch(0.3 0.02 158 / 0.10);
  --shadow-xl: 0 8px 16px oklch(0.3 0.02 158 / 0.06),
               0 32px 64px oklch(0.3 0.02 158 / 0.14);
  /* Lifted phone / hero device shadow */
  --shadow-device: 0 24px 60px oklch(0.2 0.02 158 / 0.28);

  /* ---- Focus ---- */
  --ring: 0 0 0 3px color-mix(in oklab, var(--sage-500) 45%, transparent);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.45, 0, 0.2, 1); /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur: 200ms; /* @kind other */
  --dur-slow: 360ms; /* @kind other */

  /* ---- Blur (used for protective glass over imagery / sticky nav) ---- */
  --blur-sm: blur(8px); /* @kind other */
  --blur-md: blur(16px); /* @kind other */
}

/* ---- "Live" status dot — pulsing ring (used by <Tag variant="live">) ---- */
@keyframes us-live-pulse {
  0%   { box-shadow: 0 0 0 0   color-mix(in oklab, var(--sage-500) 45%, transparent); }
  70%  { box-shadow: 0 0 0 6px color-mix(in oklab, var(--sage-500)  0%, transparent); }
  100% { box-shadow: 0 0 0 0   color-mix(in oklab, var(--sage-500)  0%, transparent); }
}
.us-live-pulse {
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--sage-500) 30%, transparent);
  animation: us-live-pulse 1.8s var(--ease-out) infinite;
}
@media (prefers-reduced-motion: reduce) {
  .us-live-pulse { animation: none; }
}
