:root {
  --aui-first: 33, 79, 69;
  --aui-second: 65, 109, 93;
  --aui-third: 49, 99, 83;
  --aui-fourth: 142, 178, 158;
  --aui-fifth: 45, 96, 80;
  --aui-sixth: 102, 144, 123;
  --aui-spring: cubic-bezier(0.34, 1.45, 0.64, 1);
  --aui-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --aui-alert-bg: #ffffff;
  --aui-alert-border: rgba(15, 23, 42, 0.1);
  --aui-alert-title: #0f172a;
  --aui-alert-desc: #64748b;
  --aui-alert-muted: #f1f5f9;
  --aui-alert-danger: #dc2626;
  --aui-alert-danger-bg: #fef2f2;
  --aui-alert-primary: #3a5a40;
}

.aui-bubble {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  isolation: isolate;
  pointer-events: none;
  z-index: 0;
}

.aui-bubble--page {
  position: fixed;
  inset: 0;
  z-index: 0;
  border-radius: 0;
}

.aui-bubble__filter {
  position: absolute;
  inset: 0;
  filter: url(#auiBubbleFilter) blur(40px);
  transform: translateZ(0);
  will-change: transform;
}

.aui-bubble__g {
  position: absolute;
  border-radius: 50%;
  mix-blend-mode: hard-light;
  transform: translateZ(0);
  will-change: transform;
  background: radial-gradient(
    circle at center,
    rgba(var(--bubble-rgb), 0.85) 0%,
    rgba(var(--bubble-rgb), 0) 50%
  );
}

.aui-bubble__g--1 {
  --bubble-rgb: var(--aui-first);
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
  animation: aui-bubble-y 30s ease-in-out infinite;
}

.aui-bubble__spin {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  will-change: transform;
}

.aui-bubble__spin--a {
  transform-origin: calc(50% - 400px) 50%;
  animation: aui-bubble-spin 20s linear infinite;
}

.aui-bubble__spin--b {
  transform-origin: calc(50% + 400px) 50%;
  animation: aui-bubble-spin 40s linear infinite;
}

.aui-bubble__spin--c {
  transform-origin: calc(50% - 800px) calc(50% + 200px);
  animation: aui-bubble-spin 20s linear infinite;
}

.aui-bubble__g--2 {
  --bubble-rgb: var(--aui-second);
  width: 70%;
  height: 70%;
  top: auto;
  left: auto;
}

.aui-bubble__g--3 {
  --bubble-rgb: var(--aui-third);
  width: 70%;
  height: 70%;
}

.aui-bubble__g--4 {
  --bubble-rgb: var(--aui-fourth);
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
  opacity: 0.7;
  animation: aui-bubble-x 40s ease-in-out infinite;
}

.aui-bubble__g--5 {
  --bubble-rgb: var(--aui-fifth);
  width: 65%;
  height: 65%;
}

.aui-bubble__g--6 {
  --bubble-rgb: var(--aui-sixth);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.7;
  transition: transform 0.45s var(--aui-spring);
  will-change: transform;
}

@keyframes aui-bubble-y {
  0%, 100% { transform: translateY(-50px); }
  50% { transform: translateY(50px); }
}

@keyframes aui-bubble-x {
  0%, 100% { transform: translateX(-50px); }
  50% { transform: translateX(50px); }
}

@keyframes aui-bubble-spin {
  to { transform: rotate(360deg); }
}

/* More vivid bubble blobs for auth / brand surfaces */
.aui-bubble--page .aui-bubble__filter {
  filter: blur(28px) saturate(1);
  opacity: 0.7;
}

.aui-bubble--page .aui-bubble__g--1 {
  --bubble-rgb: 33, 79, 69;
  opacity: 1;
}

.aui-bubble--page .aui-bubble__g--2 { --bubble-rgb: 65, 109, 93; }
.aui-bubble--page .aui-bubble__g--3 { --bubble-rgb: 45, 96, 80; }
.aui-bubble--page .aui-bubble__g--4 { --bubble-rgb: 142, 178, 158; opacity: 0.85; }
.aui-bubble--page .aui-bubble__g--5 { --bubble-rgb: 49, 99, 83; }
.aui-bubble--page .aui-bubble__g--6 { --bubble-rgb: 102, 144, 123; }

@media (prefers-reduced-motion: reduce) {
  .aui-bubble__g,
  .aui-bubble__spin {
    animation: none !important;
  }
}


body{background:radial-gradient(125% 125% at 50% 10%,#ffffff 40%,#e0ebe4 100%)!important;background-attachment:fixed}.aui-bubble--page{z-index:0}body>header,body>main{position:relative;z-index:1}body>header{z-index:2}@media(prefers-reduced-motion:reduce){.aui-bubble__g--6{transition:none;transform:none!important}}

/* Keep ambient light strictly behind the page content. */
body{isolation:isolate}.aui-bubble--page{z-index:-1}body>header,body>main{z-index:1}
