/* Ported from the reference build by tools/port/css.mjs. Do not edit; edit the generator or override in assets/css/theme/. */
.amb[data-c-a-ui-ambient] {
  --a: #d4f25a73;
  --b: #a796ff4d;
  z-index: -1;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.amb--lime[data-c-a-ui-ambient] {
  --a: #d4f25a80;
  --b: #d4f25a38;
}
.amb--lavender[data-c-a-ui-ambient] {
  --a: #a796ff52;
  --b: #e5e8ffe6;
}
.amb--warm[data-c-a-ui-ambient] {
  --a: #ffd6aa73;
  --b: #d4f25a4d;
}
.amb__field[data-c-a-ui-ambient] {
  filter: blur(80px);
  animation: drift 22s var(--ease-in-out) infinite alternate;
  border-radius: 50%;
  position: absolute;
}
.amb__field--a[data-c-a-ui-ambient] {
  aspect-ratio: 1;
  background: var(--a);
  width: min(46vw, 620px);
  top: -12%;
  left: -10%;
}
.amb__field--b[data-c-a-ui-ambient] {
  aspect-ratio: 1;
  background: var(--b);
  width: min(40vw, 520px);
  animation-duration: 28s;
  animation-direction: alternate-reverse;
  bottom: -18%;
  right: -8%;
}
.amb__tile[data-c-a-ui-ambient],
.amb__ring[data-c-a-ui-ambient],
.amb__dots[data-c-a-ui-ambient],
.amb__plus[data-c-a-ui-ambient] {
  animation: float 9s var(--ease-in-out) infinite;
  position: absolute;
}
.amb__tile[data-c-a-ui-ambient] {
  aspect-ratio: 1;
  border-radius: 26%;
  width: clamp(44px, 5vw, 76px);
}
.amb__tile--a[data-c-a-ui-ambient] {
  background: var(--ink);
  top: 22px;
  right: 3.5%;
  rotate: 12deg;
}
.amb__tile--b[data-c-a-ui-ambient] {
  background: var(--lime);
  width: clamp(36px, 4vw, 60px);
  animation-delay: -3s;
  top: calc(22px + clamp(22px, 2.5vw, 38px));
  right: calc(3.5% + clamp(34px, 4vw, 60px));
  rotate: -8deg;
  box-shadow: 0 16px 30px -14px #11131a59;
}
.amb__ring[data-c-a-ui-ambient] {
  aspect-ratio: 1;
  border: 2px dashed #11131a24;
  border-radius: 50%;
  width: clamp(90px, 9vw, 140px);
  animation: 40s linear infinite spin;
  bottom: -40px;
  left: 2.5%;
}
.amb__dots[data-c-a-ui-ambient] {
  background: radial-gradient(#11131a38 1.6px, #0000 2px) 0 0/12px 12px;
  width: 72px;
  height: 72px;
  animation-duration: 12s;
  animation-delay: -5s;
  top: 26px;
  left: 3%;
}
.amb__plus[data-c-a-ui-ambient] {
  background:
    linear-gradient(var(--cobalt), var(--cobalt)) center / 100% 4px no-repeat,
    linear-gradient(var(--cobalt), var(--cobalt)) center / 4px 100% no-repeat;
  width: 22px;
  height: 22px;
  animation: spin-float 14s var(--ease-in-out) infinite;
  border-radius: 2px;
  bottom: 28px;
  right: 4%;
}
.amb--flip[data-c-a-ui-ambient] .amb__field--a[data-c-a-ui-ambient] {
  left: auto;
  right: -10%;
}
.amb--flip[data-c-a-ui-ambient] .amb__field--b[data-c-a-ui-ambient] {
  left: -8%;
  right: auto;
}
.amb--flip[data-c-a-ui-ambient] .amb__tile--a[data-c-a-ui-ambient] {
  left: 3.5%;
  right: auto;
}
.amb--flip[data-c-a-ui-ambient] .amb__tile--b[data-c-a-ui-ambient] {
  left: calc(3.5% + clamp(34px, 4vw, 60px));
  right: auto;
}
.amb--flip[data-c-a-ui-ambient] .amb__ring[data-c-a-ui-ambient] {
  left: auto;
  right: 2.5%;
}
.amb--flip[data-c-a-ui-ambient] .amb__dots[data-c-a-ui-ambient] {
  left: auto;
  right: 3%;
}
.amb--flip[data-c-a-ui-ambient] .amb__plus[data-c-a-ui-ambient] {
  left: 4%;
  right: auto;
}
@media (width<=860px) {
  .amb__tile[data-c-a-ui-ambient],
  .amb__ring[data-c-a-ui-ambient],
  .amb__dots[data-c-a-ui-ambient],
  .amb__plus[data-c-a-ui-ambient] {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .amb[data-c-a-ui-ambient] [data-c-a-ui-ambient] {
    animation: none !important;
  }
}
@keyframes drift {
  to {
    translate: 6% 8%;
    scale: 1.12;
  }
}
@keyframes float {
  50% {
    translate: 0 -14px;
  }
}
@keyframes spin {
  to {
    rotate: 360deg;
  }
}
@keyframes spin-float {
  50% {
    translate: 0 -10px;
    rotate: 90deg;
  }
  to {
    rotate: 180deg;
  }
}
