/* Option B is scoped to its decorative mount, never to the product logo/form. */
[data-particle-cactus] {
  --particle-cactus: #718e12;
  position: relative;
  display: block;
  width: min(100%, 260px);
  aspect-ratio: 376 / 360;
  margin-inline: auto;
  contain: layout paint;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  /* Keep touch scrolling and pinch zoom native. No capture or preventDefault. */
  touch-action: auto;
}
[data-particle-cactus][hidden] { display: none; }
[data-particle-cactus] .cadushi-particles-fallback,
[data-particle-cactus] .cadushi-particles-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
[data-particle-cactus] .cadushi-particles-fallback { opacity: .9; }
[data-particle-cactus] .cadushi-particles-cactus { fill: var(--particle-cactus); }
[data-particle-cactus] .cadushi-particles-canvas { visibility: hidden; }
[data-particle-cactus][data-particles-ready="true"] .cadushi-particles-fallback { visibility: hidden; }
[data-particle-cactus][data-particles-ready="true"] .cadushi-particles-canvas { visibility: visible; }
[data-particle-cactus][data-particles-static="true"] .cadushi-particles-fallback { visibility: visible; }
[data-particle-cactus][data-particles-static="true"] .cadushi-particles-canvas { visibility: hidden; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) [data-particle-cactus] {
    --particle-cactus: #c6f135;
  }
}
:root[data-tema="oscuro"] [data-particle-cactus] {
  --particle-cactus: #c6f135;
}
@media (prefers-reduced-motion: reduce) {
  [data-particle-cactus] .cadushi-particles-fallback { visibility: visible !important; }
  [data-particle-cactus] .cadushi-particles-canvas { visibility: hidden !important; }
}
@media (forced-colors: active) {
  [data-particle-cactus] .cadushi-particles-fallback { visibility: visible !important; }
  [data-particle-cactus] .cadushi-particles-cactus { fill: CanvasText; }
  [data-particle-cactus] .cadushi-particles-canvas { visibility: hidden !important; }
}
/* Contain the decorative layer inside the intro, above the form divider.
   The 328px mobile cap restores the smaller, previously approved header scale;
   overflow clipping also contains displaced particles during interaction. */
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  justify-content: flex-end;
}
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) [data-particle-cactus] {
  position: absolute;
  z-index: -1;
  width: 520px;
  max-width: none;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  opacity: .42;
  -webkit-mask-image: linear-gradient(#000 28%, rgb(0 0 0 / .5) 58%, transparent 98%);
  mask-image: linear-gradient(#000 28%, rgb(0 0 0 / .5) 58%, transparent 98%);
}
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) .cadushi-login-brand {
  margin-top: auto;
}
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) .cadushi-login-message {
  margin: 0;
  padding-block: 22px 0;
  text-shadow: 0 0 16px var(--login-intro);
}
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) .cadushi-login-eyebrow,
.cadushi-login-intro:has([data-particle-cactus]:not([hidden])) .cadushi-login-signature {
  display: none;
}
@media (max-width: 760px), (max-width: 1000px) and (max-height: 540px) {
  .cadushi-login-intro:has([data-particle-cactus]:not([hidden])) {
    min-height: 0;
  }
  .cadushi-login-intro:has([data-particle-cactus]:not([hidden])) [data-particle-cactus] {
    width: 328px;
    top: -26px;
  }
  .cadushi-login-intro:has([data-particle-cactus]:not([hidden])) .cadushi-login-message {
    padding-block: 16px 20px;
    text-shadow: 0 0 16px var(--login-surface);
  }
}
@media (forced-colors: active) {
  /* Keep the essential foreground uncontested in high-contrast mode. */
  .cadushi-login-intro:has([data-particle-cactus]:not([hidden])) [data-particle-cactus] { opacity: .12; }
}
