/* FourU Living Pulse V1B - stronger but elegant */
/* Asset-based visual layer only. No audio, no DB, no analytics logic. */

:root {
  --fouru-pulse-cyan: rgba(103, 232, 249, .34);
  --fouru-pulse-purple: rgba(167, 139, 250, .30);
  --fouru-pulse-gold: rgba(253, 224, 138, .16);
  --fouru-pulse-green: rgba(134, 239, 172, .15);
}

body.fouru-living-pulse-v1 {
  position: relative !important;
  isolation: isolate !important;
}

body.fouru-living-pulse-v1::before,
body.fouru-living-pulse-v1::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body.fouru-living-pulse-v1::before {
  z-index: -2;
  background:
    radial-gradient(circle at 18% 15%, var(--fouru-pulse-cyan), transparent 30%),
    radial-gradient(circle at 84% 12%, var(--fouru-pulse-purple), transparent 34%),
    radial-gradient(circle at 56% 92%, var(--fouru-pulse-gold), transparent 38%),
    radial-gradient(circle at 8% 82%, var(--fouru-pulse-green), transparent 35%),
    radial-gradient(circle at 48% 38%, rgba(255,255,255,.07), transparent 34%);
  opacity: .72;
  filter: blur(1px) saturate(1.12);
  animation: fouruLivingPulseBreathV1B 13s ease-in-out infinite alternate;
}

body.fouru-living-pulse-v1::after {
  z-index: -1;
  background:
    linear-gradient(115deg, transparent 0%, rgba(103,232,249,.075) 34%, transparent 58%),
    linear-gradient(245deg, transparent 0%, rgba(167,139,250,.055) 44%, transparent 70%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.032) 0 1px, transparent 1px 76px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.020) 0 1px, transparent 1px 76px);
  opacity: .36;
  mask-image: radial-gradient(circle at 50% 40%, black, transparent 78%);
  animation: fouruLivingPulseDriftV1B 24s linear infinite;
}

@keyframes fouruLivingPulseBreathV1B {
  0% {
    transform: scale(1) translate3d(0,0,0);
    opacity: .52;
  }
  50% {
    transform: scale(1.04) translate3d(-10px, 8px, 0);
    opacity: .82;
  }
  100% {
    transform: scale(1.025) translate3d(12px, -9px, 0);
    opacity: .64;
  }
}

@keyframes fouruLivingPulseDriftV1B {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-88px, -44px, 0); }
}

/* Login: living portal feel */
body.fouru-living-pulse-login::before {
  --fouru-pulse-cyan: rgba(103, 232, 249, .38);
  --fouru-pulse-purple: rgba(167, 139, 250, .30);
  --fouru-pulse-gold: rgba(253, 224, 138, .16);
}

body.fouru-living-pulse-login::after {
  opacity: .42;
}

/* Dashboard: business command center */
body.fouru-living-pulse-dashboard::before {
  --fouru-pulse-cyan: rgba(103, 232, 249, .28);
  --fouru-pulse-purple: rgba(167, 139, 250, .24);
  --fouru-pulse-green: rgba(134, 239, 172, .22);
}

body.fouru-living-pulse-dashboard::after {
  opacity: .34;
}

/* Analytics: data pulse */
body.fouru-living-pulse-analytics::before {
  --fouru-pulse-cyan: rgba(103, 232, 249, .24);
  --fouru-pulse-purple: rgba(167, 139, 250, .34);
  --fouru-pulse-gold: rgba(253, 224, 138, .13);
}

body.fouru-living-pulse-analytics::after {
  opacity: .34;
}

/* Soft premium sweep on hero/card containers */
body.fouru-living-pulse-v1 .fouru-analytics-10x-hero,
body.fouru-living-pulse-v1 .dashboard-hero,
body.fouru-living-pulse-v1 [class*="hero"],
body.fouru-living-pulse-v1 .fouru-analytics-10x-card,
body.fouru-living-pulse-v1 .fouru-v8-coach-card,
body.fouru-living-pulse-v1 .fouru-v8-timeline-card {
  position: relative;
}

body.fouru-living-pulse-v1 .fouru-analytics-10x-hero::after,
body.fouru-living-pulse-v1 .dashboard-hero::after,
body.fouru-living-pulse-v1 [class*="hero"]::after,
body.fouru-living-pulse-v1 .fouru-v8-coach-card::before,
body.fouru-living-pulse-v1 .fouru-v8-timeline-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 18%, rgba(103,232,249,.13), transparent 62%);
  opacity: 0;
  animation: fouruLivingPulsePanelSweepV1B 8.5s ease-in-out infinite;
}

body.fouru-living-pulse-v1 .fouru-v8-coach-card::before,
body.fouru-living-pulse-v1 .fouru-v8-timeline-card::before {
  z-index: 0;
}

@keyframes fouruLivingPulsePanelSweepV1B {
  0%, 74%, 100% {
    opacity: 0;
    transform: translateX(-10px);
  }
  42% {
    opacity: .72;
    transform: translateX(10px);
  }
}

/* Tiny living dots for command-center feeling */
body.fouru-living-pulse-v1 .fouru-analytics-10x-kpi::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 18px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #67e8f9;
  box-shadow: 0 0 18px rgba(103,232,249,.55);
  opacity: .65;
  animation: fouruLivingPulseDotV1B 2.8s ease-in-out infinite;
}

@keyframes fouruLivingPulseDotV1B {
  0%, 100% { transform: scale(.85); opacity: .45; }
  50% { transform: scale(1.25); opacity: .95; }
}

/* Accessibility + performance */
@media (prefers-reduced-motion: reduce) {
  body.fouru-living-pulse-v1::before,
  body.fouru-living-pulse-v1::after,
  body.fouru-living-pulse-v1 .fouru-analytics-10x-hero::after,
  body.fouru-living-pulse-v1 .dashboard-hero::after,
  body.fouru-living-pulse-v1 [class*="hero"]::after,
  body.fouru-living-pulse-v1 .fouru-v8-coach-card::before,
  body.fouru-living-pulse-v1 .fouru-v8-timeline-card::before,
  body.fouru-living-pulse-v1 .fouru-analytics-10x-kpi::after {
    animation: none !important;
  }
}

@media (max-width: 760px) {
  body.fouru-living-pulse-v1::before {
    opacity: .48;
  }

  body.fouru-living-pulse-v1::after {
    opacity: .18;
  }
}

/* FourU Living Pulse Strong Visible Layer V1 */
.fouru-living-pulse-layer-v1{
  position:fixed;
  inset:0;
  z-index:2147482000;
  pointer-events:none;
  overflow:hidden;
  opacity:.88;
  mix-blend-mode:screen;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-orb{
  position:absolute;
  width:280px;
  height:280px;
  border-radius:999px;
  filter:blur(18px);
  opacity:.42;
  background:
    radial-gradient(circle, rgba(103,232,249,.95) 0%, rgba(103,232,249,.32) 34%, transparent 70%);
  animation: fouruPulseOrbFloatStrongV1 9s ease-in-out infinite alternate;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-orb.two{
  width:340px;
  height:340px;
  right:7%;
  top:12%;
  opacity:.34;
  background:
    radial-gradient(circle, rgba(167,139,250,.95) 0%, rgba(167,139,250,.32) 34%, transparent 72%);
  animation: fouruPulseOrbFloatStrongV1B 11s ease-in-out infinite alternate;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-orb.one{
  left:6%;
  top:18%;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-scan{
  position:absolute;
  left:-20%;
  right:-20%;
  top:42%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(103,232,249,.0), rgba(103,232,249,.95), rgba(253,224,138,.75), transparent);
  box-shadow:0 0 22px rgba(103,232,249,.65), 0 0 42px rgba(167,139,250,.35);
  opacity:.55;
  animation: fouruPulseScanStrongV1 5.8s ease-in-out infinite;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-grid{
  position:absolute;
  inset:-20%;
  opacity:.16;
  background-image:
    linear-gradient(rgba(103,232,249,.36) 1px, transparent 1px),
    linear-gradient(90deg, rgba(167,139,250,.30) 1px, transparent 1px);
  background-size:72px 72px;
  transform:rotate(-8deg);
  animation: fouruPulseGridDriftStrongV1 18s linear infinite;
}

.fouru-living-pulse-layer-v1 .fouru-pulse-corner{
  position:absolute;
  right:28px;
  bottom:28px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#67e8f9;
  box-shadow:0 0 18px #67e8f9, 0 0 38px rgba(167,139,250,.8);
  opacity:.9;
  animation: fouruPulseCornerBeatStrongV1 1.8s ease-in-out infinite;
}

body.fouru-living-pulse-login .fouru-living-pulse-layer-v1{
  opacity:.55;
}

body.fouru-living-pulse-login .fouru-living-pulse-layer-v1 .fouru-pulse-scan{
  opacity:.28;
}

body.fouru-living-pulse-login .fouru-living-pulse-layer-v1 .fouru-pulse-grid{
  opacity:.10;
}

body.fouru-living-pulse-dashboard .fouru-living-pulse-layer-v1{
  opacity:.72;
}

body.fouru-living-pulse-analytics .fouru-living-pulse-layer-v1{
  opacity:.76;
}

@keyframes fouruPulseOrbFloatStrongV1{
  0%{transform:translate3d(0,0,0) scale(.86)}
  50%{transform:translate3d(42vw,18vh,0) scale(1.06)}
  100%{transform:translate3d(18vw,54vh,0) scale(.92)}
}

@keyframes fouruPulseOrbFloatStrongV1B{
  0%{transform:translate3d(0,0,0) scale(.92)}
  50%{transform:translate3d(-34vw,22vh,0) scale(1.08)}
  100%{transform:translate3d(-12vw,62vh,0) scale(.96)}
}

@keyframes fouruPulseScanStrongV1{
  0%{transform:translateY(-42vh);opacity:0}
  15%{opacity:.55}
  55%{opacity:.78}
  100%{transform:translateY(48vh);opacity:0}
}

@keyframes fouruPulseGridDriftStrongV1{
  0%{background-position:0 0;transform:rotate(-8deg) translate3d(0,0,0)}
  100%{background-position:144px 144px;transform:rotate(-8deg) translate3d(40px,40px,0)}
}

@keyframes fouruPulseCornerBeatStrongV1{
  0%,100%{transform:scale(.7);opacity:.45}
  50%{transform:scale(1.25);opacity:1}
}

@media (prefers-reduced-motion: reduce){
  .fouru-living-pulse-layer-v1 *{
    animation:none !important;
  }
}


/* FourU Living Pulse Modes V1 - off / subtle / strong */

/* OFF mode: fully disable visual pulse layer and pseudo motion */
body.fouru-living-pulse-off::before,
body.fouru-living-pulse-off::after,
body.fouru-living-pulse-off .fouru-living-pulse-layer-v1,
body[data-fouru-pulse="off"]::before,
body[data-fouru-pulse="off"]::after,
body[data-fouru-pulse="off"] .fouru-living-pulse-layer-v1 {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* SUBTLE mode: premium calm layer */
body.fouru-living-pulse-subtle::before,
body[data-fouru-pulse="subtle"]::before {
  opacity: .22 !important;
  filter: blur(1px) saturate(.88) !important;
  animation-duration: 32s !important;
}

body.fouru-living-pulse-subtle::after,
body[data-fouru-pulse="subtle"]::after {
  opacity: .14 !important;
  filter: blur(.5px) saturate(.82) !important;
  animation-duration: 42s !important;
}

body.fouru-living-pulse-subtle .fouru-living-pulse-layer-v1,
body[data-fouru-pulse="subtle"] .fouru-living-pulse-layer-v1 {
  opacity: .38 !important;
}

body.fouru-living-pulse-subtle .fouru-pulse-grid,
body[data-fouru-pulse="subtle"] .fouru-pulse-grid {
  opacity: .16 !important;
  animation-duration: 38s !important;
}

body.fouru-living-pulse-subtle .fouru-pulse-scan,
body[data-fouru-pulse="subtle"] .fouru-pulse-scan {
  opacity: .16 !important;
  animation-duration: 12s !important;
}

body.fouru-living-pulse-subtle .fouru-pulse-orb,
body[data-fouru-pulse="subtle"] .fouru-pulse-orb {
  opacity: .28 !important;
  filter: blur(18px) saturate(.86) !important;
  animation-duration: 24s !important;
}

body.fouru-living-pulse-subtle .fouru-pulse-corner,
body[data-fouru-pulse="subtle"] .fouru-pulse-corner {
  opacity: .18 !important;
}

/* Login should stay calmer even if default mode is changed later */
body.fouru-living-pulse-login.fouru-living-pulse-subtle .fouru-living-pulse-layer-v1,
body.fouru-living-pulse-login[data-fouru-pulse="subtle"] .fouru-living-pulse-layer-v1 {
  opacity: .26 !important;
}

body.fouru-living-pulse-login.fouru-living-pulse-subtle .fouru-pulse-orb,
body.fouru-living-pulse-login[data-fouru-pulse="subtle"] .fouru-pulse-orb {
  opacity: .20 !important;
}

/* STRONG mode: explicit command-center feel */
body.fouru-living-pulse-strong .fouru-living-pulse-layer-v1,
body[data-fouru-pulse="strong"] .fouru-living-pulse-layer-v1 {
  opacity: 1 !important;
}

body.fouru-living-pulse-strong .fouru-pulse-grid,
body[data-fouru-pulse="strong"] .fouru-pulse-grid {
  opacity: .34 !important;
}

body.fouru-living-pulse-strong .fouru-pulse-scan,
body[data-fouru-pulse="strong"] .fouru-pulse-scan {
  opacity: .32 !important;
}

body.fouru-living-pulse-strong .fouru-pulse-orb,
body[data-fouru-pulse="strong"] .fouru-pulse-orb {
  opacity: .72 !important;
}

/* Respect user/device reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  body.fouru-living-pulse-v1::before,
  body.fouru-living-pulse-v1::after,
  body.fouru-living-pulse-v1 .fouru-living-pulse-layer-v1 *,
  body.fouru-living-pulse-v1 .fouru-living-pulse-layer-v1 {
    animation: none !important;
  }

  body.fouru-living-pulse-v1 .fouru-living-pulse-layer-v1 {
    opacity: .16 !important;
  }
}
