/* ForbiddenFruitAI — tema Cyberpunk (neon magenta + ciano sobre noite violeta) */

:root {
  --cy-bg: #05030d;
  --cy-bg-2: #0b0719;
  --cy-panel: rgba(13, 9, 28, 0.86);
  --cy-panel-solid: #0d091c;
  --cy-pink: #ff2a8a;
  --cy-pink-hot: #ff4fa8;
  --cy-cyan: #00f0ff;
  --cy-cyan-soft: rgba(0, 240, 255, 0.55);
  --cy-violet: #7b2bff;
  --cy-yellow: #f5f500;
  --cy-text: #eef6ff;
  --cy-muted: rgba(205, 220, 255, 0.62);
  --cy-line: rgba(0, 240, 255, 0.18);
  --cy-line-pink: rgba(255, 42, 138, 0.4);
  --cy-display: "Orbitron", "Chakra Petch", system-ui, sans-serif;
  --cy-ui: "Chakra Petch", "Inter", system-ui, sans-serif;
  --cy-cut: 0.7rem;
  --cy-chamfer: polygon(var(--cy-cut) 0, 100% 0, 100% calc(100% - var(--cy-cut)), calc(100% - var(--cy-cut)) 100%, 0 100%, 0 var(--cy-cut));
  --cy-chamfer-sm: polygon(0.45rem 0, 100% 0, 100% calc(100% - 0.45rem), calc(100% - 0.45rem) 100%, 0 100%, 0 0.45rem);
  --cy-glow-pink: 0 0 0.6rem rgba(255, 42, 138, 0.65), 0 0 1.6rem rgba(255, 42, 138, 0.35);
  --cy-glow-cyan: 0 0 0.6rem rgba(0, 240, 255, 0.6), 0 0 1.6rem rgba(0, 240, 255, 0.28);
  --primary: #ff2a8a;
  --accent-pink: #ff4fa8;
  --melon-deep: #05030d;
}

::selection {
  background: rgba(0, 240, 255, 0.35);
  color: #fff;
}

/* ---------- Fundo da cidade: céu violeta, grade neon e scanlines ---------- */
html,
body {
  background-color: var(--cy-bg) !important;
}

body {
  color: var(--cy-text);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 45% at 85% -5%, rgba(255, 42, 138, 0.22), transparent 70%),
    radial-gradient(ellipse 60% 40% at 5% 0%, rgba(123, 43, 255, 0.22), transparent 70%),
    radial-gradient(ellipse 80% 50% at 50% 115%, rgba(0, 240, 255, 0.14), transparent 70%),
    linear-gradient(180deg, #080416 0%, #05030d 55%, #060312 100%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99990;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 3px);
  mix-blend-mode: overlay;
}

.melon-ambient {
  display: block !important;
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.melon-ambient::before {
  content: "";
  position: absolute;
  left: -50%;
  right: -50%;
  bottom: -8%;
  height: 46vh;
  background-image:
    linear-gradient(rgba(255, 42, 138, 0.38) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.3) 1px, transparent 1px);
  background-size: 64px 64px;
  transform: perspective(420px) rotateX(62deg);
  transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 70%);
  mask-image: linear-gradient(180deg, transparent, #000 70%);
  opacity: 0.32;
  animation: cy-grid-run 3.2s linear infinite;
}

.melon-ambient__orb {
  position: absolute;
  display: block;
  width: 34vmax;
  height: 34vmax;
  border-radius: 50%;
  filter: blur(80px) !important;
  opacity: 0.28 !important;
  animation: cy-orb 18s ease-in-out infinite alternate;
}

.melon-ambient__orb--a { top: -12vmax; right: -8vmax; }
.melon-ambient__orb--b { bottom: -14vmax; left: 20%; animation-delay: -6s; }
.melon-ambient__orb--c { top: 20%; left: -14vmax; animation-delay: -11s; }
.melon-ambient__orb--d { top: 45%; right: -12vmax; width: 22vmax; height: 22vmax; animation-delay: -3s; }

.melon-ambient__orb--a { background: var(--cy-pink) !important; }
.melon-ambient__orb--b { background: var(--cy-cyan) !important; opacity: 0.22 !important; }
.melon-ambient__orb--c { background: var(--cy-violet) !important; }
.melon-ambient__orb--d { background: var(--cy-pink-hot) !important; opacity: 0.2 !important; }

.melon-ambient__seeds {
  display: none !important;
}

.melon-ambient > span:not(.melon-ambient__orb):not(.melon-ambient__seeds) {
  position: absolute;
  display: block;
  pointer-events: none;
}

.melon-ambient__sky {
  inset: 0 0 30vh;
  background:
    radial-gradient(1px 1px at 6% 14%, #fff, transparent),
    radial-gradient(1px 1px at 17% 38%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.5px 1.5px at 29% 9%, #fff, transparent),
    radial-gradient(1px 1px at 41% 27%, rgba(0, 240, 255, 0.9), transparent),
    radial-gradient(1px 1px at 53% 12%, #fff, transparent),
    radial-gradient(1px 1px at 64% 44%, rgba(255, 79, 168, 0.9), transparent),
    radial-gradient(1.5px 1.5px at 76% 20%, #fff, transparent),
    radial-gradient(1px 1px at 88% 34%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 95% 8%, #fff, transparent);
  opacity: 0.55;
  animation: cy-scene-twinkle 4s ease-in-out infinite alternate;
}

.melon-ambient__city {
  left: 0;
  right: 0;
  bottom: 13vh;
  background-repeat: repeat-x;
  background-position: 0 100%;
}

.melon-ambient__city--far {
  --cy-far-h: clamp(110px, 24vh, 240px);
  height: var(--cy-far-h);
  background-image: url("../img/cyber/skyline-far.svg");
  background-size: calc(var(--cy-far-h) * 900 / 220) var(--cy-far-h);
  opacity: 0.5;
  filter: hue-rotate(-30deg) drop-shadow(0 -1px 0 rgba(123, 43, 255, 0.7));
  animation: cy-pan-far 120s linear infinite;
}

.melon-ambient__beam {
  top: -10vh;
  width: 16vw;
  min-width: 9rem;
  height: 130vh;
  transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(0, 240, 255, 0.16), rgba(0, 240, 255, 0.05) 45%, transparent 75%);
  clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%);
  filter: blur(6px);
  mix-blend-mode: screen;
}

.melon-ambient__beam--a {
  left: 22%;
  animation: cy-ambient-beam 14s ease-in-out infinite alternate;
}

.melon-ambient__beam--b {
  right: 6%;
  background: linear-gradient(180deg, rgba(255, 42, 138, 0.18), rgba(255, 42, 138, 0.05) 45%, transparent 75%);
  animation: cy-ambient-beam 17s ease-in-out -6s infinite alternate-reverse;
}

.melon-ambient__halo {
  left: 58%;
  top: calc(-1 * min(34vmin, 18rem));
  width: min(68vmin, 36rem);
  aspect-ratio: 1;
  border-radius: 50%;
  translate: -50% 0;
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), transparent 0 40%, var(--cy-pink) 60%, #fff 66%, var(--cy-cyan) 74%, transparent 90%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  box-shadow: 0 0 0 1px rgba(255, 42, 138, 0.12);
  filter: drop-shadow(0 0 0.8rem rgba(255, 42, 138, 0.7));
  opacity: 0.55;
  animation: cy-angle 9s linear infinite;
}

.melon-ambient__halo--inner {
  top: calc(-1 * min(24vmin, 12.5rem));
  width: min(48vmin, 25rem);
  padding: 0;
  border: 1px dashed rgba(0, 240, 255, 0.45);
  background: radial-gradient(circle, rgba(255, 42, 138, 0.14), transparent 65%);
  -webkit-mask: none;
  mask: none;
  filter: none;
  opacity: 0.7;
  animation: cy-spin 40s linear infinite reverse;
}

@keyframes cy-ambient-beam {
  from { transform: rotate(-28deg); }
  to { transform: rotate(24deg); }
}

@media (max-width: 1023px) {
  .melon-ambient__halo {
    left: 50%;
  }
}

.melon-ambient__city--near {
  --cy-near-h: clamp(70px, 14vh, 140px);
  height: var(--cy-near-h);
  background-image: url("../img/cyber/skyline-near.svg");
  background-size: calc(var(--cy-near-h) * 700 / 260) var(--cy-near-h);
  opacity: 0.75;
  filter: drop-shadow(0 -1px 0 rgba(255, 42, 138, 0.85)) drop-shadow(0 0 10px rgba(255, 42, 138, 0.35));
  animation: cy-pan-near 55s linear infinite;
}

.melon-ambient__horizon {
  left: 0;
  right: 0;
  bottom: 13vh;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cy-pink) 25%, var(--cy-cyan) 50%, var(--cy-pink) 75%, transparent);
  box-shadow: 0 0 1rem rgba(255, 42, 138, 0.7), 0 0 3rem rgba(0, 240, 255, 0.35);
  opacity: 0.6;
}

.melon-ambient__streams {
  left: 0;
  right: 0;
  top: 0;
  height: calc(100% + 480px);
  background-image:
    radial-gradient(1px 70px at 50% 50%, rgba(0, 240, 255, 0.55), transparent),
    radial-gradient(1px 110px at 50% 50%, rgba(255, 42, 138, 0.45), transparent),
    radial-gradient(1.5px 50px at 50% 50%, rgba(255, 255, 255, 0.35), transparent);
  background-size: 173px 480px, 241px 240px, 317px 160px;
  background-position: 0 0, 90px 60px, 40px 120px;
  opacity: 0.5;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 60%, transparent 85%);
  mask-image: linear-gradient(180deg, transparent, #000 25%, #000 60%, transparent 85%);
  animation: cy-ambient-rise 9s linear infinite;
  will-change: transform;
}

.melon-ambient__particles {
  left: 0;
  right: 0;
  top: 0;
  height: calc(100% + 600px);
  background-image:
    radial-gradient(2px 2px at 20% 30%, rgba(0, 240, 255, 0.9), transparent),
    radial-gradient(1.5px 1.5px at 70% 60%, rgba(255, 79, 168, 0.9), transparent),
    radial-gradient(2.5px 2.5px at 45% 85%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.5px 1.5px at 90% 15%, rgba(245, 245, 0, 0.8), transparent);
  background-size: 300px 300px, 420px 600px, 520px 300px, 380px 200px;
  opacity: 0.6;
  animation: cy-ambient-drift 30s linear infinite;
  will-change: transform;
}

.melon-ambient__scan {
  left: 0;
  right: 0;
  top: 0;
  height: 22vh;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.05) 60%, rgba(0, 240, 255, 0.16) 98%, transparent);
  animation: cy-ambient-scan 11s linear infinite;
  will-change: transform;
}

@keyframes cy-ambient-rise {
  from { transform: translateY(0); }
  to { transform: translateY(-480px); }
}

@keyframes cy-ambient-drift {
  from { transform: translateY(0); }
  to { transform: translateY(-600px); }
}

@keyframes cy-ambient-scan {
  0% { transform: translateY(-25vh); }
  100% { transform: translateY(110vh); }
}

@media (max-width: 760px) {
  .melon-ambient__city,
  .melon-ambient__horizon {
    bottom: 9vh;
  }

  .melon-ambient__streams {
    opacity: 0.22;
  }
}

.home-view-root.ff-layout,
.ff-layout.bg-\[\#09090a\],
.bg-background-dark {
  background: transparent !important;
}

/* ---------- Tipografia ---------- */
.ff-layout h1,
.ff-layout h2,
.ff-layout h3,
.landing-page h1,
.landing-page h2,
.legal-page h1,
.affiliate-page h1,
.affiliate-page h2 {
  font-family: var(--cy-display) !important;
  letter-spacing: 0.01em !important;
}

.home-tab-module-label,
.home-catalog-pill,
.ff-rail__label,
.ff-hero__steps li,
.ff-genbar__button,
.ff-genbar__copy strong,
.home-header-login-button,
.home-header-signup-button,
.home-undress-feed__badge,
.home-promo-banner,
.home-coins-button,
.ff-rail__promo,
.home-feed-upload-button,
.home-menu-drawer button,
.site-footer h3,
.site-footer h4 {
  font-family: var(--cy-ui) !important;
}

/* ---------- Logo ---------- */
.site-brand-logo__word {
  font-family: var(--cy-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #fff !important;
  text-shadow: 0 0 0.45rem rgba(0, 240, 255, 0.35);
}

.site-brand-logo__accent {
  color: var(--cy-pink) !important;
  text-shadow: var(--cy-glow-pink);
}

.site-brand-logo__ai {
  color: var(--cy-cyan) !important;
  text-shadow: var(--cy-glow-cyan);
}

.site-brand-logo--header .site-brand-logo__word {
  font-size: 0.98em;
}

.site-brand-logo__mark {
  border-radius: 50% !important;
  box-shadow:
    0 0 0 2px var(--cy-bg),
    0 0 0 3px var(--cy-cyan),
    0 0 0.9rem rgba(0, 240, 255, 0.55) !important;
}

.site-brand-logo:hover .site-brand-logo__word {
  animation: cy-glitch 0.45s steps(2) 1;
}

/* ---------- Cabeçalho ---------- */
.ff-topbar,
.ff-chrome .home-top-bar.home-header-extended-bg.ff-topbar {
  background: rgba(6, 3, 16, 0.82) !important;
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 0 !important;
}

.ff-topbar::after {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--cy-pink) 18%, var(--cy-cyan) 60%, transparent) !important;
  box-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.5);
}

.ff-topbar .home-header-login-button,
.ff-topbar .home-header-signup-button {
  clip-path: var(--cy-chamfer-sm);
  border-radius: 0 !important;
  letter-spacing: 0.12em !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

.ff-topbar .home-header-login-button {
  border: 1px solid var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.08) !important;
  color: var(--cy-cyan) !important;
}

.ff-topbar .home-header-login-button:hover {
  background: rgba(0, 240, 255, 0.2) !important;
}

.ff-topbar .home-header-signup-button:not([hidden]),
.home-menu-account-guest .home-header-signup-button:not([hidden]) {
  border: 0 !important;
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
}

.ff-topbar .home-header-signup-button:not([hidden]):hover {
  background: linear-gradient(100deg, var(--cy-pink-hot), #9a55ff) !important;
}

.home-promo-banner {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border: 1px solid rgba(245, 245, 0, 0.35) !important;
  background: rgba(245, 245, 0, 0.06) !important;
}

.home-promo-banner__icon {
  color: var(--cy-yellow) !important;
  background: transparent !important;
}

.home-promo-banner__timer {
  color: var(--cy-yellow) !important;
  font-family: var(--cy-display) !important;
  font-size: 0.78em;
  text-shadow: 0 0 0.5rem rgba(245, 245, 0, 0.5);
}

.home-coins-button {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border: 1px solid var(--cy-line) !important;
  background: rgba(0, 240, 255, 0.07) !important;
}

.home-coins-button__value {
  font-family: var(--cy-display) !important;
  color: var(--cy-cyan) !important;
}

.ff-topbar .home-menu-button {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border: 1px solid var(--cy-line) !important;
  background: rgba(0, 240, 255, 0.05) !important;
  color: var(--cy-cyan) !important;
}

/* ---------- Barra lateral ---------- */
@media (min-width: 1024px) {
  .ff-rail {
    background:
      linear-gradient(180deg, rgba(10, 6, 24, 0.92), rgba(5, 3, 13, 0.96)) !important;
    border-right: 0 !important;
    box-shadow: inset -1px 0 0 rgba(0, 240, 255, 0.16);
  }

  .ff-rail::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 30%;
    background: linear-gradient(180deg, var(--cy-cyan), transparent);
    box-shadow: 0 0 0.6rem var(--cy-cyan);
    animation: cy-rail-scan 6s ease-in-out infinite;
  }

  .ff-rail__label {
    color: var(--cy-cyan) !important;
    opacity: 0.8;
    letter-spacing: 0.28em !important;
  }

  .ff-rail__label::before {
    content: "// ";
    color: var(--cy-pink);
  }

  .ff-rail .home-tab-button {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
  }

  .ff-rail .home-tab-button:hover {
    background: rgba(0, 240, 255, 0.07) !important;
  }

  .ff-rail .home-tab-button .home-tab-module-icon {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    background: rgba(0, 240, 255, 0.07) !important;
    color: var(--cy-cyan) !important;
  }

  .ff-rail .home-tab-button .home-tab-module-label {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: rgba(225, 235, 255, 0.72) !important;
  }

  .ff-rail .home-tab-button--active,
  .ff-rail .home-tab-button--creation.home-tab-button--active {
    background: linear-gradient(90deg, rgba(255, 42, 138, 0.26), rgba(123, 43, 255, 0.08) 70%, transparent) !important;
  }

  .ff-rail .home-tab-button--active::after {
    left: 0 !important;
    top: 0.35rem !important;
    bottom: 0.35rem !important;
    width: 3px !important;
    border-radius: 0 !important;
    background: var(--cy-pink) !important;
    box-shadow: var(--cy-glow-pink);
  }

  .ff-rail .home-tab-button--active .home-tab-module-icon {
    background: var(--cy-pink) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .ff-rail .home-tab-button--active .home-tab-module-label {
    color: #fff !important;
    text-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.7);
  }

  .ff-rail .catalog-row--rail {
    display: none !important;
  }

  .ff-rail .home-catalog-pill {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    border-color: rgba(0, 240, 255, 0.2) !important;
    background: rgba(0, 240, 255, 0.04) !important;
    color: rgba(215, 235, 255, 0.78) !important;
    letter-spacing: 0.08em !important;
  }

  .ff-rail .home-catalog-pill:hover {
    border-color: var(--cy-cyan) !important;
    color: var(--cy-cyan) !important;
    background: rgba(0, 240, 255, 0.1) !important;
  }

  .ff-rail .home-catalog-pill--active,
  .ff-rail .home-catalog-pill--todos.home-catalog-pill--active {
    border-color: var(--cy-pink) !important;
    background: var(--cy-pink) !important;
    color: #fff !important;
  }

  .ff-rail__promo {
    position: relative;
    border-radius: 0 !important;
    border: 1px solid rgba(0, 240, 255, 0.35) !important;
    background:
      linear-gradient(135deg, rgba(255, 42, 138, 0.22), transparent 55%),
      repeating-linear-gradient(135deg, rgba(0, 240, 255, 0.05) 0 6px, transparent 6px 12px),
      rgba(10, 6, 24, 0.95) !important;
    clip-path: var(--cy-chamfer);
  }

  .ff-rail__promo:hover {
    border-color: var(--cy-cyan) !important;
  }

  .ff-rail__promo-icon {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    background: var(--cy-yellow) !important;
    color: #0a0612 !important;
  }

  .ff-rail__promo-copy strong {
    font-family: var(--cy-display);
    font-size: 0.72rem !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .ff-rail__promo-cta {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    background: var(--cy-cyan) !important;
    color: #04020c !important;
    letter-spacing: 0.14em !important;
  }

  .ff-rail__promo-cta:hover {
    background: #6ff8ff !important;
  }

  body:has(.ff-layout) .home-menu-drawer-shell .home-menu-drawer {
    border-radius: 0 !important;
    border: 1px solid var(--cy-line) !important;
    border-top: 2px solid var(--cy-cyan) !important;
    background: rgba(9, 6, 20, 0.97) !important;
    clip-path: var(--cy-chamfer);
  }
}

/* ---------- Mobile: categorias no topo + navegação inferior ---------- */
@media (max-width: 1023px) {
  .ff-rail .catalog-row--rail {
    background: rgba(6, 3, 16, 0.9) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(0, 240, 255, 0.14) !important;
  }

  .ff-rail .home-catalog-pill {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    border-color: rgba(0, 240, 255, 0.22) !important;
    background: rgba(0, 240, 255, 0.04) !important;
    color: rgba(215, 235, 255, 0.82) !important;
    letter-spacing: 0.08em !important;
  }

  .ff-rail .home-catalog-pill--active,
  .ff-rail .home-catalog-pill--todos.home-catalog-pill--active {
    border-color: var(--cy-pink) !important;
    background: var(--cy-pink) !important;
    color: #fff !important;
  }

  .ff-rail .home-primary-tab-row {
    background: rgba(6, 3, 16, 0.94) !important;
    border-top: 0 !important;
    box-shadow: 0 -1px 0 rgba(0, 240, 255, 0.22), 0 -0.6rem 1.6rem rgba(0, 0, 0, 0.5);
  }

  .ff-rail .home-primary-tab-row::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cy-pink), var(--cy-cyan), transparent);
  }

  .ff-rail .home-tab-button .home-tab-module-icon {
    border-radius: 0 !important;
    clip-path: var(--cy-chamfer-sm);
    color: rgba(190, 215, 255, 0.6) !important;
  }

  .ff-rail .home-tab-button .home-tab-module-label {
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .ff-rail .home-tab-button--active .home-tab-module-icon {
    background: linear-gradient(100deg, rgba(255, 42, 138, 0.4), rgba(123, 43, 255, 0.3)) !important;
    color: #fff !important;
  }

  .ff-rail .home-tab-button--active .home-tab-module-label {
    color: var(--cy-cyan) !important;
    text-shadow: 0 0 0.45rem rgba(0, 240, 255, 0.6);
  }
}

/* ---------- Hero do feed ---------- */
.ff-layout .ff-hero {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(1.1rem 0, 100% 0, 100% calc(100% - 1.1rem), calc(100% - 1.1rem) 100%, 0 100%, 0 1.1rem);
  background:
    linear-gradient(115deg, rgba(255, 42, 138, 0.28) 0%, rgba(123, 43, 255, 0.16) 38%, rgba(0, 240, 255, 0.1) 100%),
    linear-gradient(180deg, rgba(12, 7, 28, 0.94), rgba(6, 3, 16, 0.96)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.22);
}

.ff-layout .ff-hero::before {
  background-image:
    linear-gradient(rgba(0, 240, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.08) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
}

.ff-layout .ff-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  z-index: 1;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan) 55%, transparent);
  box-shadow: 0 0 0.9rem rgba(255, 42, 138, 0.6);
  pointer-events: none;
}

.ff-layout .ff-hero h2 {
  color: #fff !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em !important;
  font-size: clamp(1.35rem, 2.9vw, 2.2rem) !important;
  text-shadow:
    -2px 0 rgba(255, 42, 138, 0.75),
    2px 0 rgba(0, 240, 255, 0.65),
    0 0 1.2rem rgba(255, 42, 138, 0.35);
}

.ff-layout .ff-hero .home-undress-feed__subtitle {
  color: var(--cy-muted) !important;
}

.home-undress-feed__badge {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: var(--cy-cyan) !important;
  color: #04020c !important;
  letter-spacing: 0.18em !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.home-undress-feed__badge .material-symbols-outlined {
  color: #04020c !important;
}

.ff-hero__steps li {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border: 0 !important;
  background: rgba(0, 240, 255, 0.07) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.24);
  color: #e6f5ff !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.7rem !important;
}

.ff-hero__step-num {
  border-radius: 0 !important;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--cy-pink) !important;
  font-family: var(--cy-display);
}

/* ---------- Cards do feed ---------- */
.ff-layout .feed-card-grid > div,
.ff-layout .feed-card-grid .home-feed-media,
.ff-layout .home-template-feed-card > div {
  border-radius: 0.3rem !important;
}

.ff-layout .home-template-feed-card.feed-card-grid > div,
.ff-layout .home-image-card__visual-wrap {
  border: 1px solid rgba(0, 240, 255, 0.14) !important;
  box-shadow: 0 0.6rem 1.4rem rgba(0, 0, 0, 0.45);
}

@media (hover: hover) {
  .ff-layout .home-template-feed-card.feed-card-grid:hover > div,
  .ff-layout .home-image-card:hover .home-image-card__visual-wrap {
    border-color: var(--cy-cyan) !important;
    box-shadow:
      0 0 0 1px rgba(0, 240, 255, 0.6),
      0 0 1.3rem rgba(0, 240, 255, 0.3) !important;
    transform: translateY(-2px);
  }
}

.ff-layout .home-template-feed-card.feed-card-grid.is-ff-selected > div,
.ff-layout .home-image-card.is-ff-selected .home-image-card__visual-wrap {
  border-color: var(--cy-pink) !important;
  box-shadow:
    0 0 0 2px var(--cy-pink),
    0 0 1.6rem rgba(255, 42, 138, 0.55) !important;
}

.ff-layout .is-ff-selected::after {
  border-radius: 0 !important;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--cy-pink) !important;
}

.ff-layout .home-feed-upload-button,
.ff-layout .feed-card-grid .home-feed-upload-button,
.ff-layout .feed-card-grid .home-feed-upload-button--overlay {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  letter-spacing: 0.12em !important;
}

/* ---------- Barra Gerar ---------- */
.ff-genbar__inner {
  border-radius: 0 !important;
  border: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(100deg, rgba(255, 42, 138, 0.12), transparent 40%),
    rgba(8, 5, 20, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3) !important;
}

.ff-genbar.has-selection .ff-genbar__inner {
  box-shadow: inset 0 0 0 1px var(--cy-pink) !important;
}

.ff-genbar__thumb {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.08) !important;
  color: var(--cy-cyan) !important;
}

.ff-genbar__copy strong {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ff-genbar__copy span {
  color: var(--cy-muted) !important;
}

.ff-genbar__button {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
  letter-spacing: 0.16em !important;
  font-weight: 700 !important;
}

.ff-genbar__button:hover:not(:disabled) {
  background: linear-gradient(100deg, var(--cy-pink-hot), #9a55ff) !important;
}

.ff-genbar.has-selection .ff-genbar__button:not(:disabled) {
  animation: cy-pulse 1.8s ease-in-out infinite;
}

.ff-genbar__button:disabled {
  background: rgba(0, 240, 255, 0.08) !important;
  color: rgba(0, 240, 255, 0.45) !important;
}

.ff-genbar__cost {
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

/* ---------- Modais e painéis genéricos ---------- */
.login-modal-panel,
.recharge-modal-sheet,
.face-creator__sheet,
.image-choose-modal__sheet {
  border-radius: 0 !important;
  border: 0 !important;
  clip-path: polygon(1.2rem 0, 100% 0, 100% calc(100% - 1.2rem), calc(100% - 1.2rem) 100%, 0 100%, 0 1.2rem);
  background:
    linear-gradient(160deg, rgba(255, 42, 138, 0.12), transparent 40%),
    linear-gradient(340deg, rgba(0, 240, 255, 0.08), transparent 40%),
    rgba(9, 5, 22, 0.98) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3) !important;
}

.face-creator__sheet {
  --fc-accent: #ff2a8a;
  --fc-line: rgba(0, 240, 255, 0.14);
}

.login-modal-title,
.recharge-modal-heading h2,
.face-creator__title,
.image-choose-modal__title {
  font-family: var(--cy-display) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em !important;
  text-shadow: -1px 0 rgba(255, 42, 138, 0.7), 1px 0 rgba(0, 240, 255, 0.6);
}

.login-modal-kicker,
.login-modal-label {
  font-family: var(--cy-ui) !important;
  color: var(--cy-cyan) !important;
  letter-spacing: 0.2em !important;
}

.login-modal-input {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border-color: rgba(0, 240, 255, 0.22) !important;
  background: rgba(0, 240, 255, 0.04) !important;
  font-family: var(--cy-ui) !important;
}

.login-modal-input:focus {
  border-color: var(--cy-cyan) !important;
  box-shadow: inset 0 0 0 1px var(--cy-cyan) !important;
}

.login-modal-submit,
.image-choose-modal__submit {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  box-shadow: none !important;
}

.login-modal-close,
.recharge-modal-close {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border-color: rgba(0, 240, 255, 0.3) !important;
  color: var(--cy-cyan) !important;
}

.login-modal-tabs {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  border-color: rgba(0, 240, 255, 0.3) !important;
}

.login-modal-tab {
  border-radius: 0 !important;
  font-family: var(--cy-ui);
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

.login-modal-tab.is-active {
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
}

/* ---------- Age gate ---------- */
.age-gate-modal {
  background: var(--cy-bg) !important;
}

.age-gate-panel {
  overflow-x: hidden !important;
  background:
    radial-gradient(ellipse 80% 55% at 50% 38%, rgba(123, 43, 255, 0.28), transparent 70%),
    linear-gradient(180deg, #0a0420 0%, #14062e 42%, #1c0638 58%, #05030d 100%) !important;
  padding:
    calc(1.5rem + env(safe-area-inset-top, 0px))
    clamp(1rem, 4vw, 2rem)
    calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
}

.age-gate-panel::before {
  z-index: 1;
  opacity: 1 !important;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 3px) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Cenário em loop: estrelas, estrela cadente, sol neon, skyline em paralaxe e grade voando */
.age-gate-fx {
  position: absolute;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
  --cy-horizon: 42%;
}

.age-gate-fx__stars {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: var(--cy-horizon);
  background:
    radial-gradient(1px 1px at 12% 18%, #fff, transparent),
    radial-gradient(1px 1px at 27% 42%, #9ff8ff, transparent),
    radial-gradient(1.5px 1.5px at 41% 12%, #fff, transparent),
    radial-gradient(1px 1px at 58% 33%, #ffb3e0, transparent),
    radial-gradient(1.5px 1.5px at 73% 8%, #fff, transparent),
    radial-gradient(1px 1px at 86% 27%, #9ff8ff, transparent),
    radial-gradient(1px 1px at 94% 52%, #fff, transparent),
    radial-gradient(1px 1px at 6% 61%, #ffb3e0, transparent),
    radial-gradient(1.5px 1.5px at 19% 76%, #fff, transparent),
    radial-gradient(1px 1px at 66% 64%, #fff, transparent);
  background-size: 420px 300px;
  -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 95%);
  mask-image: linear-gradient(180deg, #000 30%, transparent 95%);
  animation: cy-stars 4s ease-in-out infinite alternate, cy-stars-drift 120s linear infinite;
}

.age-gate-fx__shoot {
  position: absolute;
  top: 12%;
  left: 70%;
  width: 9rem;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #fff, rgba(0, 240, 255, 0.6) 30%, transparent);
  filter: drop-shadow(0 0 6px #00f0ff);
  opacity: 0;
  transform: rotate(-24deg);
  animation: cy-shoot 7s ease-in infinite 2s;
}

.age-gate-fx__sun {
  position: absolute;
  left: 50%;
  bottom: var(--cy-horizon);
  width: max(min(125vmin, 62rem), 36rem);
  aspect-ratio: 1;
  transform: translate(-50%, 50%);
  border-radius: 50%;
  background: linear-gradient(180deg, #f5f500 0%, #ff9a3c 30%, #ff2a8a 60%, #7b2bff 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0 27%, transparent 27%), repeating-linear-gradient(180deg, #000 0 20px, transparent 20px 30px);
  mask-image: linear-gradient(180deg, #000 0 27%, transparent 27%), repeating-linear-gradient(180deg, #000 0 20px, transparent 20px 30px);
  -webkit-mask-size: 100% 100%, 100% 30px;
  mask-size: 100% 100%, 100% 30px;
  -webkit-mask-repeat: no-repeat, repeat;
  mask-repeat: no-repeat, repeat;
  opacity: 0.62;
  animation: cy-sun 5s ease-in-out infinite, cy-sun-stripes 2.4s linear infinite;
}

.age-gate-fx__far,
.age-gate-fx__city {
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--cy-horizon);
  background-repeat: repeat-x;
  background-position: 0 100%;
}

.age-gate-fx__far {
  --cy-far-h: clamp(120px, 26vh, 230px);
  height: var(--cy-far-h);
  background-image: url("../img/cyber/skyline-far.svg");
  background-size: calc(var(--cy-far-h) * 900 / 220) var(--cy-far-h);
  opacity: 0.85;
  filter: drop-shadow(0 -1px 0 rgba(255, 42, 138, 0.45));
  animation: cy-pan-far 60s linear infinite;
}

.age-gate-fx__city {
  --cy-near-h: clamp(80px, 15vh, 150px);
  height: var(--cy-near-h);
  background-image: url("../img/cyber/skyline-near.svg");
  background-size: calc(var(--cy-near-h) * 700 / 260) var(--cy-near-h);
  filter: drop-shadow(0 -1px 0 rgba(0, 240, 255, 0.7)) drop-shadow(0 0 10px rgba(0, 240, 255, 0.25));
  animation: cy-pan-near 26s linear infinite;
}

.age-gate-fx__city::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff2a8a 20%, #f5f500 50%, #ff2a8a 80%, transparent);
  box-shadow: 0 0 1.2rem 0.3rem rgba(255, 42, 138, 0.75);
  animation: cy-horizon 3s ease-in-out infinite;
}

.age-gate-fx__grid {
  position: absolute;
  left: -60%;
  right: -60%;
  bottom: 0;
  height: var(--cy-horizon);
  background:
    linear-gradient(rgba(255, 42, 138, 0.8) 2px, transparent 2px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.6) 2px, transparent 2px),
    linear-gradient(180deg, #1a0638, #05030d 85%);
  background-size: 100% 56px, 70px 100%, 100% 100%;
  transform: perspective(260px) rotateX(60deg);
  transform-origin: 50% 0;
  animation: cy-grid-floor 0.75s linear infinite;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), #000 25%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), #000 25%);
}

@keyframes cy-stars {
  from { opacity: 0.55; }
  to { opacity: 1; }
}

@keyframes cy-stars-drift {
  from { background-position: 0 0; }
  to { background-position: -420px 0; }
}

@keyframes cy-shoot {
  0% { opacity: 0; transform: translate(0, 0) rotate(-24deg); }
  3% { opacity: 1; }
  12% { opacity: 0; transform: translate(-38vw, 17vw) rotate(-24deg); }
  100% { opacity: 0; transform: translate(-38vw, 17vw) rotate(-24deg); }
}

@keyframes cy-sun-stripes {
  from { -webkit-mask-position: 0 0, 0 0; mask-position: 0 0, 0 0; }
  to { -webkit-mask-position: 0 0, 0 30px; mask-position: 0 0, 0 30px; }
}

@keyframes cy-pan-far {
  from { background-position: 0 100%; }
  to { background-position: calc(var(--cy-far-h) * -900 / 220) 100%; }
}

@keyframes cy-pan-near {
  from { background-position: 0 100%; }
  to { background-position: calc(var(--cy-near-h) * -700 / 260) 100%; }
}

@keyframes cy-horizon {
  0%, 100% { opacity: 0.75; }
  50% { opacity: 1; }
}

/* Card do terminal de acesso */
.age-gate-card {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 30rem);
  padding: 2.6rem clamp(1.15rem, 5vw, 2.4rem) 1.9rem;
  clip-path: polygon(1.4rem 0, 100% 0, 100% calc(100% - 1.4rem), calc(100% - 1.4rem) 100%, 0 100%, 0 1.4rem);
  background:
    linear-gradient(160deg, rgba(255, 42, 138, 0.16), transparent 42%),
    linear-gradient(340deg, rgba(0, 240, 255, 0.12), transparent 42%),
    rgba(8, 4, 22, 0.8);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.4);
  animation: cy-boot 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.age-gate-card::before,
.age-gate-card::after {
  content: "";
  position: absolute;
  width: 2.2rem;
  height: 2.2rem;
  pointer-events: none;
}

.age-gate-card::before {
  right: 0.55rem;
  top: 0.55rem;
  border-top: 2px solid var(--cy-pink);
  border-right: 2px solid var(--cy-pink);
  filter: drop-shadow(0 0 4px var(--cy-pink));
}

.age-gate-card::after {
  left: 0.55rem;
  bottom: 0.55rem;
  border-bottom: 2px solid var(--cy-cyan);
  border-left: 2px solid var(--cy-cyan);
  filter: drop-shadow(0 0 4px var(--cy-cyan));
}

.age-gate-hud {
  position: absolute;
  top: 0;
  left: 1.4rem;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 3.2rem 0.5rem 0.6rem;
  border-bottom: 1px solid rgba(0, 240, 255, 0.2);
  color: rgba(0, 240, 255, 0.75);
  font: 600 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.28em;
}

.age-gate-hud__live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--cy-pink);
}

.age-gate-hud__live::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--cy-pink);
  box-shadow: 0 0 0.5rem var(--cy-pink);
  animation: cy-blink 1s steps(2) infinite;
}

.age-gate-kicker {
  margin: 0.4rem 0 1rem !important;
  padding: 0.3rem 0.75rem;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(255, 42, 138, 0.14);
  color: var(--cy-pink-hot) !important;
  font-family: var(--cy-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
}

.age-gate-kicker::before {
  content: "⚠ ";
}

.age-gate-brand {
  margin-bottom: 1.1rem !important;
}

.age-gate-brand .site-brand-logo--age-gate {
  font-size: clamp(1.35rem, 5vw, 1.9rem) !important;
  gap: 0.75rem !important;
}

.age-gate-brand .site-brand-logo--age-gate .site-brand-logo__mark {
  width: clamp(4.6rem, 16vw, 5.8rem) !important;
  height: clamp(4.6rem, 16vw, 5.8rem) !important;
  filter: none !important;
  box-shadow:
    0 0 0 3px #0a0420,
    0 0 0 5px var(--cy-cyan),
    0 0 0 8px #0a0420,
    0 0 0 9px var(--cy-pink),
    0 0 2rem rgba(0, 240, 255, 0.55) !important;
  animation: cy-ring 3s ease-in-out infinite;
}

.age-gate-title {
  margin: 0 0 0.85rem !important;
  max-width: none !important;
  font-family: var(--cy-display) !important;
  font-size: clamp(1.4rem, 5.4vw, 2.1rem) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase;
  text-shadow:
    -2px 0 rgba(255, 42, 138, 0.85),
    2px 0 rgba(0, 240, 255, 0.75),
    0 0 1.4rem rgba(255, 42, 138, 0.4);
  animation: cy-glitch 4s steps(1) infinite;
}

.age-gate-text {
  margin: 0 auto 1.5rem !important;
  max-width: 25rem !important;
  color: var(--cy-muted) !important;
  font-size: clamp(0.84rem, 2vw, 0.95rem) !important;
}

.age-gate-text a {
  color: var(--cy-cyan) !important;
  border-bottom-color: rgba(0, 240, 255, 0.4) !important;
}

.age-gate-text a:hover {
  color: #fff !important;
  border-bottom-color: var(--cy-cyan) !important;
}

.age-gate-actions {
  width: 100% !important;
  margin: 0 !important;
  gap: 0.6rem !important;
}

.age-gate-btn {
  min-height: 3.3rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  font-family: var(--cy-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

.age-gate-btn--confirm {
  position: relative;
  overflow: hidden;
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
}

.age-gate-btn--confirm::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.45), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 2.8s ease-in-out infinite;
}

.age-gate-btn--confirm:hover {
  background: linear-gradient(100deg, var(--cy-pink-hot), #9a55ff) !important;
}

.age-gate-btn--deny {
  border: 1px solid rgba(0, 240, 255, 0.35) !important;
  background: rgba(0, 240, 255, 0.05) !important;
  color: rgba(0, 240, 255, 0.85) !important;
  font-size: 0.78rem !important;
}

.age-gate-btn--deny:hover {
  background: rgba(0, 240, 255, 0.14) !important;
  color: #fff !important;
}

.age-gate-foot {
  position: relative;
  z-index: 2;
  margin: 1.1rem 0 0;
  color: rgba(0, 240, 255, 0.55);
  font: 600 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.34em;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.5);
}

@media (max-height: 700px) {
  .age-gate-brand .site-brand-logo--age-gate .site-brand-logo__mark {
    width: 3.8rem !important;
    height: 3.8rem !important;
  }

  .age-gate-card {
    padding-top: 2.3rem;
    padding-bottom: 1.4rem;
  }

  .age-gate-kicker {
    margin: 0.2rem 0 0.7rem !important;
  }

  .age-gate-brand {
    margin-bottom: 0.7rem !important;
  }

  .age-gate-title {
    font-size: clamp(1.25rem, 4.6vw, 1.75rem) !important;
    margin-bottom: 0.6rem !important;
  }

  .age-gate-text {
    margin-bottom: 1.1rem !important;
  }

  .age-gate-btn {
    min-height: 2.9rem !important;
  }

  .age-gate-foot {
    margin-top: 0.7rem;
  }
}

@keyframes cy-sun {
  0%, 100% { filter: drop-shadow(0 0 3rem rgba(255, 42, 138, 0.55)); }
  50% { filter: drop-shadow(0 0 4.5rem rgba(245, 245, 0, 0.45)); }
}

@keyframes cy-grid-floor {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 0 56px, 0 0, 0 0; }
}

@keyframes cy-boot {
  0% { opacity: 0; transform: scaleY(0.04); filter: brightness(3); }
  45% { opacity: 1; transform: scaleY(1.02); }
  100% { transform: none; filter: none; }
}

@keyframes cy-ring {
  0%, 100% { box-shadow: 0 0 0 3px #0a0420, 0 0 0 5px var(--cy-cyan), 0 0 0 8px #0a0420, 0 0 0 9px var(--cy-pink), 0 0 2rem rgba(0, 240, 255, 0.55); }
  50% { box-shadow: 0 0 0 3px #0a0420, 0 0 0 5px var(--cy-pink), 0 0 0 8px #0a0420, 0 0 0 9px var(--cy-cyan), 0 0 2.4rem rgba(255, 42, 138, 0.6); }
}

@keyframes cy-shine {
  0%, 55% { left: -40%; }
  100% { left: 120%; }
}

@media (prefers-reduced-motion: reduce) {
  .age-gate-card,
  .age-gate-title,
  .age-gate-btn--confirm::after,
  .age-gate-hud__live::before,
  .age-gate-brand .site-brand-logo--age-gate .site-brand-logo__mark {
    animation: none !important;
  }
}

/* ---------- Funil ---------- */
.funil-step__title,
.funil-summary__title,
.funil-finish__title {
  font-family: var(--cy-display) !important;
  text-transform: uppercase;
  letter-spacing: 0.03em !important;
  text-shadow: -2px 0 rgba(255, 42, 138, 0.7), 2px 0 rgba(0, 240, 255, 0.6);
}

.funil-step__title span,
.funil-step__title em,
.funil-step__title strong {
  color: var(--cy-cyan) !important;
}

.funil-phase__label,
.funil-card__label,
.funil-carousel__hint,
.funil-nav,
.funil-finish__cta {
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
}

.funil-step,
.funil-card,
.funil-card__media,
.funil-summary-card,
.funil-summary-card__media {
  border-radius: 0.35rem !important;
}

.funil-step {
  border-color: rgba(0, 240, 255, 0.22) !important;
  background:
    linear-gradient(160deg, rgba(255, 42, 138, 0.1), transparent 40%),
    rgba(9, 5, 22, 0.72) !important;
}

.funil-card__label,
.funil-card__check,
.funil-nav,
.funil-dice,
.funil-finish__cta {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

.funil-nav--next,
.funil-finish__cta {
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
}

.funil-nav--back {
  border-color: rgba(0, 240, 255, 0.4) !important;
  color: var(--cy-cyan) !important;
}

.funil-phase-bar span {
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan)) !important;
  box-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

/* ---------- Rodapé ---------- */
body .site-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-top: 4.2rem;
  border-top: 0 !important;
  background:
    radial-gradient(ellipse 60% 70% at 15% 100%, rgba(255, 42, 138, 0.14), transparent 70%),
    radial-gradient(ellipse 50% 60% at 90% 30%, rgba(0, 240, 255, 0.08), transparent 70%),
    linear-gradient(180deg, rgba(5, 3, 13, 0) 0, #0a0418 4.2rem, #05030d 100%) !important;
  font-family: var(--cy-ui) !important;
}

.site-footer__fx {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.site-footer__fx > span {
  position: absolute;
  display: block;
}

.site-footer__fx-line {
  left: 0;
  right: 0;
  top: 4.2rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cy-pink) 20%, var(--cy-cyan) 50%, var(--cy-pink) 80%, transparent) 0 0 / 200% 100%;
  box-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.7), 0 0 2rem rgba(255, 42, 138, 0.5);
  animation: cy-page-gradient 6s linear infinite;
}

.site-footer__fx-city {
  --cy-near-h: 4.2rem;
  left: 0;
  right: 0;
  top: 0;
  height: var(--cy-near-h);
  background: url("../img/cyber/skyline-near.svg") 0 100% / calc(var(--cy-near-h) * 700 / 260) var(--cy-near-h) repeat-x;
  opacity: 0.75;
  filter: drop-shadow(0 -1px 0 rgba(255, 42, 138, 0.8)) drop-shadow(0 0 8px rgba(255, 42, 138, 0.35));
  animation: cy-pan-near 40s linear infinite;
}

.site-footer__fx-grid {
  left: -40%;
  right: -40%;
  bottom: 0;
  height: 55%;
  background:
    linear-gradient(rgba(255, 42, 138, 0.22) 1px, transparent 1px) 0 0 / 100% 38px,
    linear-gradient(90deg, rgba(0, 240, 255, 0.14) 1px, transparent 1px) 50% 0 / 58px 100%;
  transform: perspective(320px) rotateX(55deg);
  transform-origin: 50% 0;
  -webkit-mask: linear-gradient(180deg, transparent, #000 60%);
  mask: linear-gradient(180deg, transparent, #000 60%);
  animation: cy-scene-floor-38 2s linear infinite;
}

body .site-footer__main {
  position: relative;
  gap: 1.6rem !important;
}

body .site-footer__brand-band {
  border-bottom: 0 !important;
  padding: 1rem 1.15rem !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, rgba(255, 42, 138, 0.12), rgba(10, 4, 24, 0.6) 40%, rgba(0, 240, 255, 0.08)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2);
}

body .site-footer__tagline {
  color: rgba(225, 215, 255, 0.72) !important;
  font: 600 0.82rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body .site-footer__tagline::before {
  content: "> ";
  color: var(--cy-cyan);
}

body .site-footer__tagline::after {
  content: "_";
  margin-left: 0.15rem;
  color: var(--cy-pink);
  animation: cy-blink 1s steps(2, end) infinite;
}

body .site-footer__r18-box {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  color: #fff !important;
  font: 900 0.62rem/1 var(--cy-display) !important;
  padding: 0.38rem 0.5rem !important;
  box-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.6);
  animation: cy-badge-pulse 2.4s ease-in-out infinite;
}

body .site-footer__r18-text {
  color: rgba(225, 215, 255, 0.6) !important;
  font: 600 0.62rem/1.25 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body .site-footer__lang-button {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0.45rem 0.7rem !important;
  background: rgba(0, 240, 255, 0.1) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5);
  color: var(--cy-cyan) !important;
  font: 800 0.66rem/1 var(--cy-display) !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

body .site-footer__lang-button:hover {
  background: var(--cy-cyan) !important;
  color: #05030d !important;
}

body .site-footer__lang-icon {
  animation: cy-spin 8s linear infinite;
}

body .site-footer__nav-grid {
  counter-reset: cy-footer-col;
}

body .site-footer__col {
  position: relative;
  counter-increment: cy-footer-col;
}

body .site-footer__heading {
  color: #fff !important;
  font: 800 0.72rem/1 var(--cy-display) !important;
  letter-spacing: 0.18em !important;
  text-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.45);
}

body .site-footer__heading::before {
  content: "0" counter(cy-footer-col) " //" !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin-right: 0.55rem !important;
  background: none !important;
  color: var(--cy-cyan);
  font: 700 0.62rem/1 var(--cy-ui);
  letter-spacing: 0.1em;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.7);
}

body .site-footer__panel summary.site-footer__heading::after {
  color: var(--cy-cyan) !important;
}

body .site-footer__link,
body .site-footer__tool-chip {
  position: relative;
  padding-left: 0.95rem !important;
  color: rgba(225, 215, 255, 0.68) !important;
  font: 600 0.84rem/1.35 var(--cy-ui) !important;
  letter-spacing: 0.03em;
  transition: color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease !important;
}

body .site-footer__link::before {
  content: "›";
  position: absolute;
  left: 0;
  color: rgba(255, 42, 138, 0.55);
  font-weight: 800;
  transition: color 0.2s ease, transform 0.2s ease;
}

body .site-footer__link:hover,
body .site-footer__link:focus-visible {
  color: var(--cy-cyan) !important;
  transform: translateX(4px);
  text-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.7), 1px 0 rgba(255, 42, 138, 0.6);
}

body .site-footer__link:hover::before {
  color: var(--cy-pink);
  transform: translateX(-2px);
}

body .site-footer__bar {
  position: relative;
  max-width: none !important;
  border-top: 0 !important;
  background: rgba(3, 2, 9, 0.85) !important;
  box-shadow: inset 0 1px 0 rgba(0, 240, 255, 0.18);
}

body .site-footer__bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 18%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cy-cyan), #fff, transparent);
  animation: cy-footer-run 5s linear infinite;
}

body .site-footer__payment-logos {
  gap: 0.45rem !important;
  flex-wrap: wrap;
}

body .site-footer__payment-logos img {
  box-sizing: content-box;
  padding: 0.38rem 0.6rem;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.18);
  opacity: 0.85 !important;
  filter: none !important;
  transition: background 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

body .site-footer__payment-logos img:hover {
  background: rgba(0, 240, 255, 0.12);
  opacity: 1 !important;
  transform: translateY(-2px);
}

body .site-footer__copy {
  color: rgba(225, 215, 255, 0.5) !important;
  font: 700 0.66rem/1 var(--cy-ui) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-footer__copy-tag {
  margin-left: 0.4rem;
  color: rgba(61, 255, 154, 0.75);
  text-shadow: 0 0 0.5rem rgba(61, 255, 154, 0.5);
}

@keyframes cy-scene-floor-38 {
  from { background-position: 0 0, 50% 0; }
  to { background-position: 0 38px, 50% 0; }
}

@keyframes cy-footer-run {
  from { left: -18%; }
  to { left: 100%; }
}

@media (max-width: 639px) {
  body .site-footer__panel {
    border-bottom-color: rgba(0, 240, 255, 0.14) !important;
  }

  body .site-footer__panel summary.site-footer__heading {
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  body .site-footer__panel summary.site-footer__heading::after {
    margin-left: auto;
  }

  .site-footer__copy-tag {
    display: none;
  }
}

@media (min-width: 640px) {
  body .site-footer__col + .site-footer__col::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, var(--cy-pink), rgba(0, 240, 255, 0.4), transparent);
    opacity: 0.5;
  }
}

/* =========================================================
   Tela de espera da geração — "renderização neural"
   ========================================================= */
.generation-status,
.home-undress-wait__backdrop {
  background:
    radial-gradient(ellipse 60% 45% at 50% 40%, rgba(123, 43, 255, 0.22), transparent 70%),
    linear-gradient(rgba(0, 240, 255, 0.05) 1px, transparent 1px) 0 0 / 100% 4px,
    linear-gradient(90deg, rgba(255, 42, 138, 0.06) 1px, transparent 1px) 0 0 / 46px 100%,
    linear-gradient(rgba(0, 240, 255, 0.06) 1px, transparent 1px) 0 0 / 100% 46px,
    rgba(4, 2, 12, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.generation-status__card,
.home-undress-wait__card {
  position: relative;
  overflow: hidden;
  width: min(100%, 25rem) !important;
  padding: 1.9rem 1.6rem 1.6rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(1.3rem 0, 100% 0, 100% calc(100% - 1.3rem), calc(100% - 1.3rem) 100%, 0 100%, 0 1.3rem);
  background:
    linear-gradient(160deg, rgba(255, 42, 138, 0.16), transparent 45%),
    linear-gradient(340deg, rgba(0, 240, 255, 0.12), transparent 45%),
    rgba(9, 5, 22, 0.97) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35) !important;
}

.generation-status__card::before,
.home-undress-wait__card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -30%;
  height: 30%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.12) 80%, rgba(0, 240, 255, 0.4));
  animation: cy-scan 2.6s linear infinite;
}

.generation-status__card::after,
.home-undress-wait__card::after {
  content: "NEURAL//RENDER  ▮ ONLINE";
  position: absolute;
  top: 0.65rem;
  left: 1.6rem;
  right: 1rem;
  z-index: 1;
  color: rgba(0, 240, 255, 0.7);
  font: 600 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.3em;
  text-align: left;
  pointer-events: none;
  animation: cy-blink 1.4s steps(2) infinite;
}

.generation-status__card > *,
.home-undress-wait__card > * {
  position: relative;
  z-index: 2;
}

.generation-status__stage,
.home-undress-wait__stage {
  width: 9.5rem !important;
  height: 9.5rem !important;
  margin: 0.6rem auto 1.1rem !important;
}

.generation-status__stage::before,
.home-undress-wait__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, var(--cy-pink), transparent 28%, var(--cy-cyan) 50%, transparent 78%, var(--cy-pink));
  -webkit-mask: radial-gradient(circle, transparent 62%, #000 63%, #000 67%, transparent 68%);
  mask: radial-gradient(circle, transparent 62%, #000 63%, #000 67%, transparent 68%);
  animation: cy-spin 2.4s linear infinite;
  filter: drop-shadow(0 0 6px rgba(0, 240, 255, 0.7));
}

.generation-status__stage::after,
.home-undress-wait__stage::after {
  content: "";
  position: absolute;
  inset: 0.45rem;
  border-radius: 50%;
  border: 1px dashed rgba(255, 42, 138, 0.55);
  animation: cy-spin 9s linear infinite reverse;
}

.generation-status__rings,
.home-undress-wait__rings {
  inset: 0 !important;
}

.generation-status__rings span,
.home-undress-wait__rings span {
  inset: 1.35rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  animation: cy-spin 6s linear infinite !important;
}

.generation-status__rings span::before,
.home-undress-wait__rings span::before {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(var(--cy-cyan), var(--cy-cyan)) top / 100% 1px no-repeat,
    linear-gradient(var(--cy-pink), var(--cy-pink)) bottom / 100% 1px no-repeat;
  outline: 1px solid rgba(0, 240, 255, 0.3);
}

.generation-status__rings span:nth-child(1)::before,
.home-undress-wait__rings span:nth-child(1)::before {
  background: rgba(0, 240, 255, 0.06);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5);
}

.generation-status__rings span:nth-child(2),
.home-undress-wait__rings span:nth-child(2) {
  inset: 0.95rem !important;
  animation-duration: 10s !important;
  animation-direction: reverse !important;
}

.generation-status__rings span:nth-child(2)::before,
.home-undress-wait__rings span:nth-child(2)::before {
  background: none;
  border: 1px solid rgba(255, 42, 138, 0.55);
  clip-path: none;
  outline: 0;
  border-radius: 0;
  -webkit-mask: linear-gradient(90deg, #000 0 22%, transparent 22% 78%, #000 78%);
  mask: linear-gradient(90deg, #000 0 22%, transparent 22% 78%, #000 78%);
}

.generation-status__rings span:nth-child(3),
.home-undress-wait__rings span:nth-child(3) {
  inset: -0.35rem !important;
  animation-duration: 14s !important;
}

.generation-status__rings span:nth-child(3)::before,
.home-undress-wait__rings span:nth-child(3)::before {
  background:
    radial-gradient(circle, var(--cy-yellow) 0 3px, transparent 4px) 50% 0 / 10px 10px no-repeat,
    radial-gradient(circle, var(--cy-cyan) 0 3px, transparent 4px) 50% 100% / 10px 10px no-repeat,
    radial-gradient(circle, var(--cy-pink) 0 3px, transparent 4px) 0 50% / 10px 10px no-repeat;
  clip-path: none;
  outline: 0;
  filter: drop-shadow(0 0 4px #fff);
}

.generation-status__orb,
.home-undress-wait__orb {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  width: 4.1rem !important;
  height: 4.1rem !important;
  margin: 0 !important;
  transform: translate(-50%, -50%);
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(150deg, var(--cy-pink), var(--cy-violet) 60%, #2a0f6b) !important;
  box-shadow: none !important;
  animation: cy-core 1.6s ease-in-out infinite !important;
  display: grid !important;
  place-items: center;
}

.generation-status__orb .material-symbols-outlined,
.home-undress-wait__orb .material-symbols-outlined {
  color: #fff !important;
  font-size: 1.9rem !important;
  text-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.9);
}

.generation-status__title,
.home-undress-wait__title {
  margin: 0 0 0.35rem !important;
  font-family: var(--cy-display) !important;
  font-size: clamp(1.05rem, 4.2vw, 1.3rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  color: #fff !important;
  text-shadow: -2px 0 rgba(255, 42, 138, 0.8), 2px 0 rgba(0, 240, 255, 0.7);
  animation: cy-glitch 3.2s steps(1) infinite;
}

.generation-status__message,
.generation-status__hint,
.home-undress-wait__hint {
  color: var(--cy-muted) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.03em;
}

.generation-status__message::before,
.home-undress-wait__hint::before {
  content: "> ";
  color: var(--cy-cyan);
}

.generation-status__bar,
.home-undress-wait__bar {
  height: 0.7rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3) !important;
}

.generation-status__bar span,
.home-undress-wait__bar span {
  border-radius: 0 !important;
  background:
    repeating-linear-gradient(90deg, transparent 0 6px, rgba(4, 2, 12, 0.85) 6px 8px),
    linear-gradient(90deg, var(--cy-cyan), var(--cy-pink)) !important;
  box-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.6) !important;
}

.generation-status__meta,
.generation-status__elapsed {
  font-family: var(--cy-ui) !important;
  color: rgba(0, 240, 255, 0.8) !important;
  letter-spacing: 0.08em;
}

.generation-status__steps li {
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.68rem !important;
}

.generation-status__step-dot {
  border-radius: 0 !important;
  transform: rotate(45deg);
}

.generation-status__steps li.is-active .generation-status__step-dot {
  background: var(--cy-cyan) !important;
  box-shadow: var(--cy-glow-cyan) !important;
}

.generation-status__steps li.is-active {
  color: var(--cy-cyan) !important;
}

.generation-status__steps li.is-done .generation-status__step-dot {
  background: var(--cy-pink) !important;
}

.generation-status__spinner {
  border-color: rgba(0, 240, 255, 0.2) !important;
  border-top-color: var(--cy-cyan) !important;
  border-right-color: var(--cy-pink) !important;
}

.generation-status.is-success .generation-status__card {
  box-shadow: inset 0 0 0 1px var(--cy-cyan), 0 0 2rem rgba(0, 240, 255, 0.3) !important;
}

.generation-status.is-success .generation-status__title {
  color: var(--cy-cyan) !important;
}

.generation-status.is-error .generation-status__card {
  box-shadow: inset 0 0 0 1px #ff3b5c !important;
}

.generation-status.is-error .generation-status__title {
  color: #ff5c7a !important;
}

.generation-status.is-success .generation-status__card::after {
  content: "NEURAL//RENDER  ▮ COMPLETO";
  color: var(--cy-cyan);
  animation: none;
}

.generation-status.is-error .generation-status__card::after {
  content: "NEURAL//RENDER  ▮ FALHA";
  color: #ff5c7a;
  animation: none;
}

.generation-status.is-success .generation-status__card::before,
.generation-status.is-error .generation-status__card::before {
  display: none;
}

/* ---------- Animações ---------- */
@keyframes cy-grid-run {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 64px, 0 0; }
}

@keyframes cy-orb {
  to { transform: translate(4vmax, 3vmax) scale(1.12); }
}

@keyframes cy-rail-scan {
  0%, 100% { top: 0; }
  50% { top: 70%; }
}

@keyframes cy-spin {
  to { transform: rotate(360deg); }
}

@keyframes cy-scan {
  from { top: -30%; }
  to { top: 100%; }
}

@keyframes cy-blink {
  50% { opacity: 0.35; }
}

@keyframes cy-core {
  0%, 100% { filter: drop-shadow(0 0 0.4rem rgba(255, 42, 138, 0.8)) brightness(1); }
  50% { filter: drop-shadow(0 0 1.1rem rgba(0, 240, 255, 0.9)) brightness(1.2); }
}

@keyframes cy-pulse {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(255, 42, 138, 0)); }
  50% { filter: drop-shadow(0 0 0.7rem rgba(255, 42, 138, 0.85)); }
}

@keyframes cy-glitch {
  0%, 92%, 100% { transform: none; }
  93% { transform: translate(-2px, 1px) skewX(-6deg); }
  95% { transform: translate(2px, -1px) skewX(4deg); }
  97% { transform: translate(-1px, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .melon-ambient::before,
  .ff-rail::after,
  .ff-genbar__button,
  .generation-status__card::before,
  .home-undress-wait__card::before,
  .generation-status__card::after,
  .home-undress-wait__card::after,
  .generation-status__stage::before,
  .home-undress-wait__stage::before,
  .generation-status__stage::after,
  .home-undress-wait__stage::after,
  .generation-status__rings span,
  .home-undress-wait__rings span,
  .generation-status__orb,
  .home-undress-wait__orb,
  .generation-status__title,
  .home-undress-wait__title {
    animation: none !important;
  }
}

/* =========================================================
   Efeitos especiais (cursor neon, clique, hero, cards, glitch)
   ========================================================= */

/* Cursor: brilho que segue o mouse + anel */
.cy-cursor-glow,
.cy-cursor-ring {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99980;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  will-change: transform;
}

.cy-cursor-glow {
  width: 0;
  height: 0;
}

.cy-cursor-glow::before {
  content: "";
  position: absolute;
  left: -14rem;
  top: -14rem;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 42, 138, 0.13), rgba(123, 43, 255, 0.07) 40%, transparent 70%);
  mix-blend-mode: screen;
}

.cy-cursor-ring {
  width: 0;
  height: 0;
}

.cy-cursor-ring::before {
  content: "";
  position: absolute;
  left: -0.8rem;
  top: -0.8rem;
  width: 1.6rem;
  height: 1.6rem;
  border: 1.5px solid var(--cy-cyan);
  border-radius: 50%;
  box-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.7);
  transition: transform 0.2s ease, border-color 0.2s ease, border-radius 0.2s ease;
}

.cy-cursor-ring.is-hover::before {
  transform: scale(1.7) rotate(45deg);
  border-radius: 0.2rem;
  border-color: var(--cy-pink);
  box-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.8);
}

body.cy-cursor-on .cy-cursor-glow,
body.cy-cursor-on .cy-cursor-ring {
  opacity: 1;
}

body.age-gate-open .cy-cursor-glow {
  opacity: 0;
}

/* Clique: anel + faíscas */
.cy-burst {
  position: fixed;
  z-index: 99985;
  width: 0;
  height: 0;
  pointer-events: none;
}

.cy-burst::before,
.cy-burst::after {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: -1.5rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 2px solid var(--cy-cyan);
  animation: cy-burst-ring 0.55s ease-out forwards;
}

.cy-burst::after {
  border-color: var(--cy-pink);
  animation-delay: 0.08s;
  transform: scale(0.2);
}

.cy-burst i {
  position: absolute;
  left: -1px;
  top: -0.45rem;
  width: 2px;
  height: 0.9rem;
  border-radius: 2px;
  background: linear-gradient(var(--cy-yellow), var(--cy-pink));
  box-shadow: 0 0 6px var(--cy-pink);
  transform: rotate(var(--a)) translateY(0);
  animation: cy-spark 0.55s ease-out forwards;
}

@keyframes cy-burst-ring {
  from { transform: scale(0.2); opacity: 1; }
  to { transform: scale(1.6); opacity: 0; }
}

@keyframes cy-spark {
  from { transform: rotate(var(--a)) translateY(0) scaleY(1); opacity: 1; }
  to { transform: rotate(var(--a)) translateY(-2.6rem) scaleY(0.3); opacity: 0; }
}

/* Logo com glitch periódico */
.site-brand-logo--header .site-brand-logo__word {
  animation: cy-logo-glitch 7s steps(1) infinite;
}

@keyframes cy-logo-glitch {
  0%, 94%, 100% { transform: none; text-shadow: 0 0 0.45rem rgba(0, 240, 255, 0.35); }
  95% { transform: translateX(-2px) skewX(-8deg); text-shadow: -3px 0 var(--cy-pink), 3px 0 var(--cy-cyan); }
  97% { transform: translateX(2px); text-shadow: 3px 0 var(--cy-pink), -3px 0 var(--cy-cyan); }
}

/* Linha neon do cabeçalho correndo */
.ff-topbar::after {
  background: linear-gradient(90deg, transparent, var(--cy-pink), var(--cy-cyan), var(--cy-violet), transparent) 0 0 / 200% 100% !important;
  animation: cy-line-run 4s linear infinite;
}

@keyframes cy-line-run {
  from { background-position: 200% 0; }
  to { background-position: 0 0; }
}

/* Hero: partículas subindo, feixe de luz e cursor piscando */
.cy-hero-fx {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.ff-hero__copy,
.ff-hero__steps {
  position: relative;
  z-index: 2;
}

.cy-hero-fx span {
  position: absolute;
  bottom: -10%;
  width: var(--s, 3px);
  height: var(--s, 3px);
  background: var(--cy-cyan);
  box-shadow: 0 0 6px var(--cy-cyan), 0 0 12px rgba(0, 240, 255, 0.6);
  opacity: 0;
  animation: cy-particle 7s linear infinite;
}

.cy-hero-fx span.is-pink {
  background: var(--cy-pink);
  box-shadow: 0 0 6px var(--cy-pink), 0 0 12px rgba(255, 42, 138, 0.6);
}

.cy-hero-fx::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -30%;
  width: 18%;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.1), rgba(255, 255, 255, 0.14), rgba(255, 42, 138, 0.1), transparent);
  transform: rotate(18deg);
  animation: cy-hero-sweep 6s ease-in-out infinite;
}

@keyframes cy-particle {
  0% { transform: translateY(0) rotate(0deg); opacity: 0; }
  10% { opacity: 1; }
  80% { opacity: 0.8; }
  100% { transform: translateY(-16rem) rotate(180deg); opacity: 0; }
}

@keyframes cy-hero-sweep {
  0%, 55% { left: -30%; }
  100% { left: 130%; }
}

.ff-layout .ff-hero::after {
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan), var(--cy-violet), var(--cy-pink)) 0 0 / 300% 100% !important;
  animation: cy-line-run 5s linear infinite;
}

.ff-layout .ff-hero h2::after {
  content: "";
  display: inline-block;
  width: 0.55em;
  height: 0.12em;
  margin-left: 0.2em;
  vertical-align: baseline;
  background: var(--cy-cyan);
  box-shadow: var(--cy-glow-cyan);
  animation: cy-blink 1s steps(2) infinite;
}

.ff-layout .ff-hero h2.cy-glitching {
  animation: cy-title-glitch 0.42s steps(2) 1;
}

@keyframes cy-title-glitch {
  0% { clip-path: inset(0 0 0 0); transform: none; }
  20% { clip-path: inset(10% 0 55% 0); transform: translateX(-4px); text-shadow: -4px 0 var(--cy-pink), 4px 0 var(--cy-cyan); }
  40% { clip-path: inset(60% 0 5% 0); transform: translateX(4px); text-shadow: 4px 0 var(--cy-pink), -4px 0 var(--cy-cyan); }
  60% { clip-path: inset(30% 0 30% 0); transform: translateX(-2px) skewX(10deg); }
  80% { clip-path: inset(0 0 0 0); transform: translateX(1px); }
  100% { clip-path: inset(0 0 0 0); transform: none; }
}

.ff-hero__step-num {
  animation: cy-hex-pulse 2.4s ease-in-out infinite;
}

.ff-hero__steps li:nth-child(2) .ff-hero__step-num { animation-delay: 0.4s; }
.ff-hero__steps li:nth-child(3) .ff-hero__step-num { animation-delay: 0.8s; }

@keyframes cy-hex-pulse {
  0%, 100% { filter: drop-shadow(0 0 0 transparent); }
  50% { filter: drop-shadow(0 0 0.45rem rgba(255, 42, 138, 0.95)); }
}

/* Cards: entrada, inclinação 3D, brilho holográfico e cantos HUD */
.ff-layout .home-template-feed-card.feed-card-grid,
.ff-layout .home-image-card {
  animation: cy-card-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ff-layout .home-feed-col > :nth-child(2) { animation-delay: 0.06s; }
.ff-layout .home-feed-col > :nth-child(3) { animation-delay: 0.12s; }
.ff-layout .home-feed-col > :nth-child(4) { animation-delay: 0.18s; }
.ff-layout .home-feed-col:nth-child(2) > * { animation-delay: 0.08s; }
.ff-layout .home-feed-col:nth-child(3) > * { animation-delay: 0.16s; }
.ff-layout .home-feed-col:nth-child(4) > * { animation-delay: 0.24s; }
.ff-layout .home-feed-col:nth-child(5) > * { animation-delay: 0.32s; }

@keyframes cy-card-in {
  from { opacity: 0; transform: translateY(1.2rem) scale(0.97); filter: brightness(2) saturate(0); }
  60% { filter: brightness(1.2) saturate(1); }
  to { opacity: 1; transform: none; filter: none; }
}

@media (hover: hover) {
  .ff-layout .home-template-feed-card.feed-card-grid:hover > div,
  .ff-layout .home-image-card:hover .home-image-card__visual-wrap {
    transform: perspective(900px) rotateX(var(--cy-rx, 0deg)) rotateY(var(--cy-ry, 0deg)) translateY(-3px) !important;
    transition: transform 0.08s linear, box-shadow 0.18s ease !important;
  }

  .ff-layout .home-template-feed-card.feed-card-grid::before,
  .ff-layout .home-image-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 11;
    border-radius: 0.3rem;
    pointer-events: none;
    opacity: 0;
    background:
      radial-gradient(circle at var(--cy-mx, 50%) var(--cy-my, 50%), rgba(255, 255, 255, 0.16), transparent 40%),
      linear-gradient(115deg, transparent 35%, rgba(0, 240, 255, 0.18) 47%, rgba(255, 42, 138, 0.18) 53%, transparent 65%) 0 0 / 250% 100%,
      repeating-linear-gradient(180deg, rgba(0, 240, 255, 0.06) 0 1px, transparent 1px 3px);
    transition: opacity 0.2s ease;
  }

  .ff-layout .home-template-feed-card.feed-card-grid:hover::before,
  .ff-layout .home-image-card:hover::before {
    opacity: 1;
    animation: cy-holo 1.4s ease-in-out infinite alternate;
  }

  .ff-layout .home-template-feed-card.feed-card-grid:not(.is-ff-selected):hover::after,
  .ff-layout .home-image-card:not(.is-ff-selected):hover::after {
    content: "";
    position: absolute;
    inset: 0.4rem;
    z-index: 12;
    pointer-events: none;
    background:
      linear-gradient(var(--cy-cyan), var(--cy-cyan)) 0 0 / 1rem 2px no-repeat,
      linear-gradient(var(--cy-cyan), var(--cy-cyan)) 0 0 / 2px 1rem no-repeat,
      linear-gradient(var(--cy-pink), var(--cy-pink)) 100% 100% / 1rem 2px no-repeat,
      linear-gradient(var(--cy-pink), var(--cy-pink)) 100% 100% / 2px 1rem no-repeat;
    filter: drop-shadow(0 0 3px var(--cy-cyan));
    animation: cy-brackets 0.3s ease-out;
  }
}

@keyframes cy-holo {
  from { background-position: 0 0, 100% 0, 0 0; }
  to { background-position: 0 0, 0 0, 0 6px; }
}

@keyframes cy-brackets {
  from { inset: 1.2rem; opacity: 0; }
  to { inset: 0.4rem; opacity: 1; }
}

/* Menu lateral: hover com deslocamento glitch e ícone ativo piscando */
@media (min-width: 1024px) {
  .ff-rail .home-tab-button:hover .home-tab-module-label {
    animation: cy-nudge 0.3s steps(2) 1;
    color: var(--cy-cyan) !important;
  }

  .ff-rail .home-tab-button--active .home-tab-module-icon {
    animation: cy-flicker 4s linear infinite;
  }
}

@keyframes cy-nudge {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); text-shadow: -2px 0 var(--cy-pink); }
  100% { transform: translateX(0); }
}

@keyframes cy-flicker {
  0%, 19%, 21%, 62%, 64%, 100% { opacity: 1; filter: drop-shadow(0 0 0.5rem rgba(255, 42, 138, 0.8)); }
  20%, 63% { opacity: 0.55; filter: none; }
}

.ff-rail .home-catalog-pill--active {
  animation: cy-pill 2.2s ease-in-out infinite;
}

@keyframes cy-pill {
  0%, 100% { box-shadow: none; }
  50% { box-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.8); }
}

/* Promo da barra lateral com borda de energia */
.ff-rail__promo-icon {
  animation: cy-flicker 3s linear infinite;
}

/* Botão Gerar: feixe de luz passando */
.ff-genbar__button {
  position: relative;
  overflow: hidden;
}

.ff-genbar__button:not(:disabled)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 2.4s ease-in-out infinite;
}

.ff-topbar .home-header-signup-button:not([hidden]) {
  position: relative;
  overflow: hidden;
}

.ff-topbar .home-header-signup-button:not([hidden])::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.45), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 3.2s ease-in-out infinite;
}

/* Barra de rolagem neon */
.home-feed-scroll::-webkit-scrollbar {
  width: 8px;
}

.home-feed-scroll::-webkit-scrollbar-track {
  background: rgba(0, 240, 255, 0.04);
}

.home-feed-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--cy-pink), var(--cy-violet), var(--cy-cyan));
  border-radius: 0;
}

@media (prefers-reduced-motion: reduce) {
  .cy-hero-fx,
  .cy-burst {
    display: none !important;
  }

  .ff-layout .home-template-feed-card.feed-card-grid,
  .ff-layout .home-image-card,
  .site-brand-logo--header .site-brand-logo__word,
  .ff-layout .ff-hero h2.cy-glitching {
    animation: none !important;
  }
}
/* =========================================================
   Hero: borda de energia, piso synthwave, radar HUD e fluxo de dados
   ========================================================= */
@property --cy-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.cy-hero-border {
  position: absolute;
  inset: 0;
  z-index: 3;
  padding: 1.5px;
  background: conic-gradient(from var(--cy-angle), transparent 0 62%, var(--cy-cyan) 74%, #fff 78%, var(--cy-pink) 86%, transparent 94%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: cy-angle 5s linear infinite;
  pointer-events: none;
}

@keyframes cy-angle {
  to { --cy-angle: 360deg; }
}

.cy-hero-floor {
  position: absolute;
  left: -20%;
  right: -20%;
  bottom: -10%;
  height: 70%;
  background:
    linear-gradient(rgba(255, 42, 138, 0.7) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.55) 1.5px, transparent 1.5px);
  background-size: 100% 26px, 38px 100%;
  transform: perspective(180px) rotateX(58deg);
  transform-origin: 50% 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 75%);
  mask-image: linear-gradient(90deg, transparent 30%, #000 75%);
  opacity: 0.32;
  animation: cy-hero-floor 0.9s linear infinite;
}

@keyframes cy-hero-floor {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 26px, 0 0; }
}

.cy-hero-ring {
  position: absolute;
  top: 50%;
  right: -2.2rem;
  width: 11rem;
  height: 11rem;
  margin-top: -5.5rem;
  border-radius: 50%;
  opacity: 0.55;
}

.cy-hero-ring b {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px dashed rgba(0, 240, 255, 0.55);
  animation: cy-spin 18s linear infinite;
}

.cy-hero-ring b:nth-child(2) {
  inset: 1.3rem;
  border: 2px solid transparent;
  border-top-color: var(--cy-pink);
  border-bottom-color: var(--cy-pink);
  filter: drop-shadow(0 0 4px var(--cy-pink));
  animation-duration: 6s;
  animation-direction: reverse;
}

.cy-hero-ring b:nth-child(3) {
  inset: 2.8rem;
  border: 0;
  background: conic-gradient(from 0deg, rgba(0, 240, 255, 0.55), transparent 25%);
  animation-duration: 2.6s;
}

.cy-hero-stream {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13rem;
  width: 9rem;
  overflow: hidden;
  color: rgba(0, 240, 255, 0.22);
  font: 500 0.56rem/1.5 ui-monospace, "Consolas", monospace;
  letter-spacing: 0.08em;
  white-space: pre;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
  animation: cy-stream 14s linear infinite;
}

@keyframes cy-stream {
  from { text-indent: 0; transform: translateY(0); }
  to { transform: translateY(-50%); }
}

.cy-hero-tag {
  position: absolute;
  top: 0.7rem;
  right: 1.4rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(0, 240, 255, 0.85);
  font: 600 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.28em;
  pointer-events: none;
}

.cy-hero-tag::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0.5rem #3dff9a;
  animation: cy-blink 1.2s steps(2) infinite;
}

.home-undress-feed__badge {
  position: relative;
  overflow: hidden;
}

.home-undress-feed__badge::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.75), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 3s ease-in-out infinite;
}

.ff-hero__steps li {
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  animation: cy-step-scan 4.5s ease-in-out infinite;
}

.ff-hero__steps li:nth-child(2) { animation-delay: 0.5s; }
.ff-hero__steps li:nth-child(3) { animation-delay: 1s; }

.ff-hero__steps li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.28), transparent);
  transform: translateX(-100%);
  animation: cy-step-sweep 4.5s ease-in-out infinite;
  animation-delay: inherit;
}

.ff-hero__steps li:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px var(--cy-cyan), 0 0 1rem rgba(0, 240, 255, 0.35) !important;
}

@keyframes cy-step-scan {
  0%, 20%, 100% { box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.24); }
  10% { box-shadow: inset 0 0 0 1px var(--cy-cyan), 0 0 0.9rem rgba(0, 240, 255, 0.4); }
}

@keyframes cy-step-sweep {
  0% { transform: translateX(-100%); }
  20%, 100% { transform: translateX(100%); }
}

@media (max-width: 760px) {
  .cy-hero-ring,
  .cy-hero-stream {
    display: none;
  }

  .cy-hero-tag {
    top: 0.55rem;
    right: 0.9rem;
    font-size: 0.5rem;
  }
}

/* =========================================================
   Barra lateral: indicador deslizante, varredura e ícones energizados
   ========================================================= */
@media (min-width: 1024px) {
  .ff-rail .home-primary-tab-row {
    position: relative;
  }

  .ff-rail .home-tab-button {
    z-index: 1;
    overflow: hidden;
  }

  .cy-rail-indicator {
    position: absolute;
    left: 0.6rem;
    right: 0.6rem;
    top: 0;
    z-index: 0;
    display: none;
    clip-path: var(--cy-chamfer-sm);
    background:
      linear-gradient(90deg, rgba(255, 42, 138, 0.38), rgba(123, 43, 255, 0.18) 60%, rgba(0, 240, 255, 0.06)) 0 0 / 200% 100%;
    box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.35);
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), height 0.3s ease;
    animation: cy-ind-flow 3s ease-in-out infinite alternate;
    pointer-events: none;
  }

  .ff-rail.cy-has-indicator .cy-rail-indicator {
    display: block;
  }

  .cy-rail-indicator::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--cy-cyan), var(--cy-pink));
    box-shadow: 0 0 0.6rem var(--cy-pink);
  }

  .cy-rail-indicator::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -40%;
    width: 35%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: skewX(-20deg);
    animation: cy-shine 2.6s ease-in-out infinite;
  }

  .cy-rail-indicator.is-moving {
    animation: cy-ind-flow 3s ease-in-out infinite alternate, cy-ind-glitch 0.35s steps(2) 1;
  }

  @keyframes cy-ind-flow {
    from { background-position: 0 0; }
    to { background-position: 100% 0; }
  }

  @keyframes cy-ind-glitch {
    0% { filter: brightness(2.2) hue-rotate(60deg); }
    50% { filter: brightness(1.4); }
    100% { filter: none; }
  }

  .ff-rail.cy-has-indicator .home-tab-button--active,
  .ff-rail.cy-has-indicator .home-tab-button--creation.home-tab-button--active {
    background: transparent !important;
  }

  .ff-rail.cy-has-indicator .home-tab-button--active::after {
    display: none !important;
  }

  .ff-rail .home-tab-button::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.16), transparent);
    transform: translateX(-100%);
    transition: transform 0.45s ease;
    pointer-events: none;
  }

  .ff-rail .home-tab-button:hover::before {
    transform: translateX(100%);
  }

  .ff-rail .home-tab-button .home-tab-module-icon {
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    animation: cy-icon-idle 6s ease-in-out infinite;
  }

  .ff-rail .home-tab-button:nth-child(2) .home-tab-module-icon { animation-delay: 0.25s; }
  .ff-rail .home-tab-button:nth-child(3) .home-tab-module-icon { animation-delay: 0.5s; }
  .ff-rail .home-tab-button:nth-child(4) .home-tab-module-icon { animation-delay: 0.75s; }
  .ff-rail .home-tab-button:nth-child(5) .home-tab-module-icon { animation-delay: 1s; }
  .ff-rail .home-tab-button:nth-child(6) .home-tab-module-icon { animation-delay: 1.25s; }
  .ff-rail .home-tab-button:nth-child(7) .home-tab-module-icon { animation-delay: 1.5s; }

  .ff-rail .home-tab-button:not(.home-tab-button--active):hover .home-tab-module-icon {
    background: rgba(0, 240, 255, 0.2) !important;
    color: #fff !important;
    transform: scale(1.08);
    animation: cy-power 0.5s steps(1) 1;
    box-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.55);
  }

  .ff-rail .home-tab-button--active .home-tab-module-icon {
    animation: cy-flicker 4s linear infinite, cy-icon-ping 2s ease-out infinite !important;
  }

  @keyframes cy-icon-idle {
    0%, 8%, 100% { box-shadow: none; }
    4% { box-shadow: 0 0 0 1px var(--cy-cyan), 0 0 0.7rem rgba(0, 240, 255, 0.6); }
  }

  @keyframes cy-power {
    0% { opacity: 0.3; }
    20% { opacity: 1; }
    35% { opacity: 0.4; }
    55% { opacity: 1; }
    70% { opacity: 0.7; }
    100% { opacity: 1; }
  }

  @keyframes cy-icon-ping {
    0% { box-shadow: 0 0 0 0 rgba(255, 42, 138, 0.7); }
    100% { box-shadow: 0 0 0 0.7rem rgba(255, 42, 138, 0); }
  }

  .ff-rail .home-tab-button--active .home-tab-module-label {
    background: linear-gradient(90deg, #fff, var(--cy-cyan), #fff) 0 0 / 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none !important;
    animation: cy-label-flow 2.5s linear infinite;
  }

  @keyframes cy-label-flow {
    from { background-position: 200% 0; }
    to { background-position: 0 0; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .cy-hero-border,
  .cy-hero-floor,
  .cy-hero-ring b,
  .cy-hero-stream,
  .cy-rail-indicator,
  .ff-hero__steps li,
  .ff-hero__steps li::after {
    animation: none !important;
  }
}
/* =========================================================
   Menu da conta (dropdown / drawer) — terminal do usuário
   ========================================================= */
.home-menu-drawer {
  background:
    linear-gradient(160deg, rgba(255, 42, 138, 0.1), transparent 35%),
    linear-gradient(340deg, rgba(0, 240, 255, 0.08), transparent 40%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 3px),
    rgba(7, 4, 18, 0.97) !important;
  border-color: rgba(0, 240, 255, 0.28) !important;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

body .home-menu-drawer .home-menu-drawer-scroll {
  position: relative;
  padding-top: 2.3rem !important;
}

.home-menu-drawer .home-menu-drawer-scroll::before {
  content: "USER://TERMINAL";
  position: absolute;
  top: 0.75rem;
  left: 1rem;
  right: 1rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px dashed rgba(0, 240, 255, 0.2);
  color: rgba(0, 240, 255, 0.7);
  font: 600 0.56rem/1 var(--cy-ui);
  letter-spacing: 0.32em;
}

.home-menu-drawer .home-menu-drawer-scroll::after {
  content: "";
  position: absolute;
  top: 0.78rem;
  right: 1rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0.5rem #3dff9a;
  animation: cy-blink 1.2s steps(2) infinite;
}

/* Rótulos de seção */
.home-menu-drawer .home-menu-section__label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.6rem !important;
  color: var(--cy-cyan) !important;
  font-family: var(--cy-ui) !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
}

.home-menu-drawer .home-menu-section__label::before {
  content: "//" !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  background: none !important;
  color: var(--cy-pink);
  letter-spacing: 0;
}

.home-menu-drawer .home-menu-section__label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 240, 255, 0.4), transparent);
}

/* Cartão de identidade */
.home-menu-drawer .home-menu-account-card {
  position: relative;
  overflow: hidden;
  padding: 1rem 1rem 1.05rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(135deg, rgba(255, 42, 138, 0.2), rgba(123, 43, 255, 0.12) 50%, rgba(0, 240, 255, 0.1)),
    linear-gradient(rgba(0, 240, 255, 0.06) 1px, transparent 1px) 0 0 / 14px 14px,
    linear-gradient(90deg, rgba(0, 240, 255, 0.06) 1px, transparent 1px) 0 0 / 14px 14px,
    rgba(10, 6, 24, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.32) !important;
}

.home-menu-drawer .home-menu-account-card::before {
  content: "person";
  position: absolute;
  top: 0.85rem;
  right: 0.9rem;
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(150deg, var(--cy-pink), var(--cy-violet));
  color: #fff;
  font-family: "Material Symbols Outlined";
  font-size: 1.45rem;
  font-variation-settings: "FILL" 1;
  line-height: 1;
  animation: cy-core 2.4s ease-in-out infinite;
}

.home-menu-drawer .home-menu-account-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -40%;
  height: 40%;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.12), transparent);
  animation: cy-scan 3.5s linear infinite;
  pointer-events: none;
}

.home-menu-drawer .home-menu-account-kicker {
  color: var(--cy-pink-hot) !important;
  font-family: var(--cy-ui) !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
}

.home-menu-drawer .home-menu-account-guest .home-menu-account-mail,
.home-menu-drawer .home-menu-account-email {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  color: #fff !important;
  font-family: var(--cy-display) !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-menu-drawer .home-menu-account-guest .home-menu-account-mail::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #ff3b5c;
  box-shadow: 0 0 0.5rem #ff3b5c;
  animation: cy-blink 1.4s steps(2) infinite;
}

.home-menu-drawer .home-menu-account-email {
  font-size: 0.74rem !important;
  text-transform: none;
  word-break: break-all;
}

.home-menu-drawer .home-menu-account-guest__copy {
  padding-right: 3.2rem;
}

.home-menu-drawer .home-menu-account-guest__actions .home-menu-account-login,
.home-menu-drawer .home-menu-account-guest__actions .home-header-signup-button,
.home-menu-drawer .home-menu-account-logout {
  position: relative;
  overflow: hidden;
  min-height: 2.6rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  font-family: var(--cy-ui) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
}

.home-menu-drawer .home-menu-account-guest__actions .home-menu-account-login,
.home-menu-drawer .home-menu-account-logout {
  border: 1px solid var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.08) !important;
  color: var(--cy-cyan) !important;
}

.home-menu-drawer .home-menu-account-guest__actions .home-menu-account-login:hover,
.home-menu-drawer .home-menu-account-logout:hover {
  background: rgba(0, 240, 255, 0.2) !important;
  color: #fff !important;
  box-shadow: inset 0 0 1rem rgba(0, 240, 255, 0.35) !important;
}

.home-menu-drawer .home-menu-account-guest__actions .home-header-signup-button {
  border: 0 !important;
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  animation: cy-label-flow 4s linear infinite;
}

.home-menu-drawer .home-menu-account-guest__actions .home-header-signup-button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 2.8s ease-in-out infinite;
}

.home-menu-drawer .home-menu-account-copy-id {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan) !important;
}

.home-menu-drawer .home-menu-account-id {
  font-family: ui-monospace, Consolas, monospace !important;
  color: rgba(0, 240, 255, 0.8) !important;
}

/* Chip de créditos */
.home-menu-drawer .home-menu-coins-card {
  position: relative;
  overflow: hidden;
  padding: 0.85rem 0.95rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(100deg, rgba(245, 245, 0, 0.16), rgba(255, 154, 60, 0.08) 45%, transparent 75%),
    repeating-linear-gradient(135deg, rgba(245, 245, 0, 0.05) 0 6px, transparent 6px 12px),
    rgba(12, 8, 24, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.38) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.home-menu-drawer .home-menu-coins-card:hover {
  box-shadow: inset 0 0 0 1px var(--cy-yellow), inset 0 0 1.4rem rgba(245, 245, 0, 0.18) !important;
  transform: translateX(3px) !important;
}

.home-menu-drawer .home-menu-coins-card__icon {
  filter: drop-shadow(0 0 0.5rem rgba(245, 245, 0, 0.6));
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.home-menu-drawer .home-menu-coins-card:hover .home-menu-coins-card__icon {
  transform: rotateY(360deg) scale(1.1);
}

.home-menu-drawer .home-menu-coins-card__title {
  font-family: var(--cy-display) !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.5rem rgba(245, 245, 0, 0.45);
}

.home-menu-drawer .home-menu-coins-card__badge,
.home-menu-drawer .home-menu-coins-card__badge--recharge {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0.38rem 0.7rem !important;
  background: var(--cy-yellow) !important;
  color: #0a0612 !important;
  font-family: var(--cy-ui) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  animation: cy-badge-pulse 1.8s ease-in-out infinite;
}

@keyframes cy-badge-pulse {
  0%, 100% { filter: drop-shadow(0 0 0 transparent); }
  50% { filter: drop-shadow(0 0 0.5rem rgba(245, 245, 0, 0.9)); }
}

/* Itens de navegação */
.home-menu-drawer .home-menu-list {
  gap: 0.3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.home-menu-drawer .home-menu-item {
  position: relative;
  overflow: hidden;
  min-height: 2.85rem !important;
  padding: 0.55rem 0.8rem 0.55rem 0.6rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.035) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.1) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.home-menu-drawer .home-menu-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.18), transparent);
  transform: translateX(-100%);
  transition: transform 0.45s ease;
  pointer-events: none;
}

.home-menu-drawer .home-menu-item::after {
  content: "chevron_right";
  margin-left: auto;
  color: var(--cy-pink);
  font-family: "Material Symbols Outlined";
  font-size: 1.15rem;
  line-height: 1;
  opacity: 0;
  transform: translateX(-0.5rem);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.home-menu-drawer .home-menu-item:hover {
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 3px 0 0 var(--cy-pink), inset 0 0 0 1px rgba(0, 240, 255, 0.35) !important;
  transform: translateX(3px) !important;
}

.home-menu-drawer .home-menu-item:hover::before {
  transform: translateX(100%);
}

.home-menu-drawer .home-menu-item:hover::after {
  opacity: 1;
  transform: none;
}

.home-menu-drawer .home-menu-item-icon {
  display: grid !important;
  place-items: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.1);
  color: var(--cy-cyan) !important;
  font-size: 1.15rem !important;
  transition: background 0.2s ease, color 0.2s ease;
}

.home-menu-drawer .home-menu-item:hover .home-menu-item-icon {
  background: var(--cy-pink);
  color: #fff !important;
  animation: cy-power 0.5s steps(1) 1;
}

.home-menu-drawer .home-menu-item-title {
  font-family: var(--cy-ui) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.home-menu-drawer .home-menu-affiliate {
  clip-path: var(--cy-chamfer-sm);
  background: rgba(255, 42, 138, 0.07) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.3);
}

.home-menu-drawer .home-menu-affiliate input {
  border-radius: 0 !important;
  border-color: rgba(0, 240, 255, 0.25) !important;
  background: rgba(0, 240, 255, 0.05) !important;
  font-family: ui-monospace, Consolas, monospace !important;
}

.home-menu-drawer .home-menu-affiliate__copy,
.home-menu-drawer .home-menu-affiliate__edit,
.home-menu-drawer .home-menu-affiliate__open {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

.home-menu-drawer .home-menu-section {
  animation: cy-menu-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-menu-drawer .home-menu-section:nth-child(2) { animation-delay: 0.06s; }
.home-menu-drawer .home-menu-section:nth-child(3) { animation-delay: 0.12s; }

.home-menu-drawer-shell:not(.is-open) .home-menu-section {
  animation: none;
}

@keyframes cy-menu-in {
  from { opacity: 0; transform: translateX(0.8rem); }
  to { opacity: 1; transform: none; }
}

/* =========================================================
   Ações do cabeçalho
   ========================================================= */
.ff-topbar .home-promo-banner--clock {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  background:
    linear-gradient(90deg, rgba(245, 245, 0, 0.12), rgba(245, 245, 0, 0.03)),
    rgba(10, 6, 20, 0.9) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.4) !important;
}

.ff-topbar .home-promo-banner--clock::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: repeating-linear-gradient(135deg, var(--cy-yellow) 0 6px, #0a0612 6px 12px) 0 0 / 34px 100%;
  animation: cy-hazard 0.8s linear infinite;
}

@keyframes cy-hazard {
  to { background-position: 34px 0; }
}

.ff-topbar .home-promo-banner--clock:hover {
  box-shadow: inset 0 0 0 1px var(--cy-yellow), 0 0 1rem rgba(245, 245, 0, 0.3) !important;
}

.ff-topbar .home-promo-banner__icon {
  animation: cy-tick 2s steps(8) infinite;
}

@keyframes cy-tick {
  to { transform: rotate(360deg); }
}

.ff-topbar .home-promo-banner__label {
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(245, 245, 0, 0.7) !important;
}

.ff-topbar .home-promo-banner__timer {
  font-variant-numeric: tabular-nums;
  animation: cy-timer-flicker 5s linear infinite;
}

@keyframes cy-timer-flicker {
  0%, 46%, 48%, 100% { opacity: 1; }
  47% { opacity: 0.4; }
}

.ff-topbar .home-header-login-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color 0.2s ease, box-shadow 0.2s ease !important;
}

.ff-topbar .home-header-login-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--cy-cyan);
  transform: translateX(-101%);
  transition: transform 0.25s ease;
}

.ff-topbar .home-header-login-button:hover {
  color: #04020c !important;
  box-shadow: 0 0 1rem rgba(0, 240, 255, 0.5) !important;
}

.ff-topbar .home-header-login-button:hover::before {
  transform: none;
}

.ff-topbar .home-header-signup-button:not([hidden]) {
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  animation: cy-label-flow 4s linear infinite;
}

.ff-topbar .home-header-signup-button:not([hidden]):hover {
  box-shadow: 0 0 1.1rem rgba(255, 42, 138, 0.6) !important;
}

.ff-topbar .home-menu-button {
  transition: box-shadow 0.2s ease, background 0.2s ease !important;
}

.ff-topbar .home-menu-button:hover,
body.menu-drawer-open .ff-topbar .home-menu-button {
  background: rgba(0, 240, 255, 0.14) !important;
  box-shadow: 0 0 1rem rgba(0, 240, 255, 0.4);
}

.ff-topbar .ff-account-icon {
  color: var(--cy-cyan);
  filter: drop-shadow(0 0 0.35rem rgba(0, 240, 255, 0.6));
}

.ff-topbar .ff-account-caret {
  color: var(--cy-pink) !important;
}

.ff-topbar .home-coins-button {
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.4) !important;
  background: rgba(245, 245, 0, 0.07) !important;
}

.ff-topbar .home-coins-button__value {
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.5rem rgba(245, 245, 0, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  .home-menu-drawer .home-menu-account-card::before,
  .home-menu-drawer .home-menu-account-card::after,
  .home-menu-drawer .home-menu-section,
  .ff-topbar .home-promo-banner--clock::before,
  .ff-topbar .home-promo-banner__icon,
  .ff-topbar .home-header-signup-button:not([hidden]) {
    animation: none !important;
  }
}
/* =========================================================
   Login / Cadastro / Recarga / PIX / Pagamento confirmado
   ========================================================= */
.login-modal-backdrop,
.recharge-modal-backdrop {
  background:
    radial-gradient(ellipse 50% 45% at 50% 50%, rgba(123, 43, 255, 0.2), transparent 70%),
    linear-gradient(rgba(0, 240, 255, 0.045) 1px, transparent 1px) 0 0 / 100% 42px,
    linear-gradient(90deg, rgba(255, 42, 138, 0.045) 1px, transparent 1px) 0 0 / 42px 100%,
    rgba(3, 1, 10, 0.86) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
}

/* Borda de energia girando nos painéis */
.login-modal-panel::before,
.recharge-modal-sheet::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 5;
  padding: 1.5px;
  background: conic-gradient(from var(--cy-angle), transparent 0 60%, var(--cy-cyan) 72%, #fff 76%, var(--cy-pink) 84%, transparent 92%) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: cy-angle 4.5s linear infinite;
  pointer-events: none;
  height: auto !important;
  border-radius: 0 !important;
}

.login-modal-panel,
.recharge-modal-sheet {
  position: relative;
}

.login-modal-panel::after {
  content: "AUTH://SECURE_CHANNEL";
  position: absolute;
  top: auto !important;
  bottom: 0.45rem;
  right: 1.2rem;
  color: rgba(0, 240, 255, 0.4);
  font: 600 0.5rem/1 var(--cy-ui);
  letter-spacing: 0.28em;
  pointer-events: none;
}

@media (max-height: 680px) {
  body .login-modal-panel {
    padding-top: 1rem !important;
    padding-bottom: 1.3rem !important;
  }

  body .login-modal-brand { margin-bottom: 0.45rem !important; }
  body .login-modal-kicker { margin-bottom: 0.15rem !important; }
  body .login-modal-title { margin-bottom: 0.3rem !important; font-size: 1.45rem !important; }
  body .login-modal-subtitle { margin-bottom: 0.7rem !important; font-size: 0.82rem !important; }
  body .login-modal-form { gap: 0.55rem !important; }
  body .login-modal-field { gap: 0.3rem !important; }
  body .login-modal-hint { margin-top: 0.25rem !important; }
  body .login-modal-status:empty,
  body .login-modal-turnstile-wrap:empty { display: none !important; }
}

.login-modal.is-open .login-modal-panel,
.recharge-modal.is-open .recharge-modal-sheet {
  animation: cy-panel-boot 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cy-panel-boot {
  0% { opacity: 0; transform: scale(0.96) translateY(0.6rem); filter: brightness(2.5) saturate(0); }
  40% { opacity: 1; filter: brightness(1.4); }
  55% { filter: brightness(0.8); }
  100% { transform: none; filter: none; }
}

/* ---- Login / Cadastro ---- */
.login-modal-panel {
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(255, 42, 138, 0.2), transparent 70%),
    linear-gradient(rgba(0, 240, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 22px,
    rgba(8, 4, 20, 0.97) !important;
}

.login-modal-brand .site-brand-logo__mark {
  animation: cy-ring 3s ease-in-out infinite;
}

.login-modal-kicker::before {
  content: "// ";
  color: var(--cy-pink);
}

.login-modal-title {
  font-size: clamp(1.4rem, 4vw, 1.75rem) !important;
  animation: cy-glitch 5s steps(1) infinite;
}

.login-modal-subtitle {
  color: var(--cy-muted) !important;
}

.login-modal-label::before {
  content: "> ";
  color: var(--cy-pink);
}

.login-modal-input-wrap {
  position: relative;
}

.login-modal-input-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan));
  box-shadow: 0 0 0.6rem var(--cy-cyan);
  transition: right 0.35s ease;
  pointer-events: none;
}

.login-modal-input-wrap:focus-within::after {
  right: 0;
}

.login-modal-input {
  color: #fff !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.login-modal-input:focus {
  background: rgba(0, 240, 255, 0.09) !important;
  box-shadow: inset 0 0 0 1px var(--cy-cyan), inset 0 0 1.2rem rgba(0, 240, 255, 0.12) !important;
}

.login-modal-input::placeholder {
  color: rgba(160, 200, 255, 0.4) !important;
}

.login-modal-password-toggle {
  color: var(--cy-cyan) !important;
}

.login-modal-submit,
.recharge-pay-button,
.recharge-pix-copy-button {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  color: #fff !important;
  font-family: var(--cy-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  box-shadow: none !important;
  animation: cy-label-flow 4s linear infinite;
  transition: filter 0.2s ease, transform 0.15s ease !important;
}

.login-modal-submit::after,
.recharge-pay-button::after,
.recharge-pix-copy-button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 2.6s ease-in-out infinite;
  pointer-events: none;
}

.login-modal-submit:hover,
.recharge-pay-button:hover,
.recharge-pix-copy-button:hover {
  filter: brightness(1.15) drop-shadow(0 0 0.8rem rgba(255, 42, 138, 0.7));
}

.login-modal-submit:active,
.recharge-pay-button:active,
.recharge-pix-copy-button:active {
  transform: scale(0.98);
}

.login-modal-strength__track {
  height: 6px !important;
  border-radius: 0 !important;
  background: repeating-linear-gradient(90deg, rgba(0, 240, 255, 0.12) 0 18%, transparent 18% 20%) !important;
}

.login-modal-strength__bar {
  border-radius: 0 !important;
  box-shadow: 0 0 0.6rem currentColor;
}

.login-modal-strength[data-level="1"] .login-modal-strength__bar { background: #ff3b5c !important; color: #ff3b5c; }
.login-modal-strength[data-level="2"] .login-modal-strength__bar { background: #ff9a3c !important; color: #ff9a3c; }
.login-modal-strength[data-level="3"] .login-modal-strength__bar { background: var(--cy-yellow) !important; color: var(--cy-yellow); }
.login-modal-strength[data-level="4"] .login-modal-strength__bar { background: var(--cy-cyan) !important; color: var(--cy-cyan); }

.login-modal-strength__label,
.login-modal-hint {
  color: rgba(0, 240, 255, 0.6) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.04em;
}

/* ---- Recarga ---- */
.recharge-modal-sheet {
  background:
    radial-gradient(ellipse 80% 30% at 50% 0%, rgba(255, 42, 138, 0.2), transparent 70%),
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 22px,
    rgba(8, 4, 20, 0.97) !important;
}

.recharge-modal-header {
  border-bottom: 1px solid rgba(0, 240, 255, 0.16) !important;
}

.recharge-modal-heading .recharge-coin-icon {
  filter: drop-shadow(0 0 0.6rem rgba(245, 245, 0, 0.65));
  animation: cy-coin-flip 3.5s ease-in-out infinite;
}

@keyframes cy-coin-flip {
  0%, 70%, 100% { transform: rotateY(0); }
  85% { transform: rotateY(360deg); }
}

.recharge-modal-title-wrap h2 {
  font-family: var(--cy-display) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em !important;
  text-shadow: -1px 0 rgba(255, 42, 138, 0.8), 1px 0 rgba(0, 240, 255, 0.7);
}

.recharge-modal-title-wrap p {
  color: var(--cy-muted) !important;
  font-family: var(--cy-ui) !important;
}

.recharge-method-picker__label {
  color: var(--cy-cyan) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.26em !important;
}

.recharge-method-picker__label::before {
  content: "// ";
  color: var(--cy-pink);
}

.recharge-method-option {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.05) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2) !important;
  color: rgba(215, 235, 255, 0.8) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease !important;
}

.recharge-method-option:hover {
  background: rgba(0, 240, 255, 0.12) !important;
  color: #fff !important;
}

.recharge-method-option.is-active {
  background: linear-gradient(100deg, rgba(255, 42, 138, 0.45), rgba(123, 43, 255, 0.35)) !important;
  box-shadow: inset 0 0 0 1px var(--cy-pink), 0 0 1rem rgba(255, 42, 138, 0.4) !important;
  color: #fff !important;
}

.recharge-package {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background:
    linear-gradient(90deg, rgba(0, 240, 255, 0.06), transparent 60%),
    rgba(10, 6, 24, 0.9) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.16) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  animation: cy-pkg-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.recharge-package:nth-child(2) { animation-delay: 0.04s; }
.recharge-package:nth-child(3) { animation-delay: 0.08s; }
.recharge-package:nth-child(4) { animation-delay: 0.12s; }
.recharge-package:nth-child(5) { animation-delay: 0.16s; }
.recharge-package:nth-child(6) { animation-delay: 0.2s; }

@keyframes cy-pkg-in {
  from { opacity: 0; transform: translateX(-0.8rem); }
  to { opacity: 1; transform: none; }
}

.recharge-package::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.14), transparent);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
  pointer-events: none;
}

.recharge-package:hover {
  transform: translateX(4px) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5), inset 3px 0 0 var(--cy-cyan) !important;
}

.recharge-package:hover::before {
  transform: translateX(100%);
}

.recharge-package.is-selected {
  background:
    linear-gradient(90deg, rgba(255, 42, 138, 0.28), rgba(123, 43, 255, 0.14) 60%, rgba(0, 240, 255, 0.06)),
    rgba(14, 6, 28, 0.95) !important;
  box-shadow: inset 0 0 0 1px var(--cy-pink), inset 4px 0 0 var(--cy-pink), 0 0 1.2rem rgba(255, 42, 138, 0.35) !important;
  animation: cy-pkg-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards, cy-pkg-pulse 2s ease-in-out infinite 0.5s;
}

@keyframes cy-pkg-pulse {
  0%, 100% { filter: none; }
  50% { filter: brightness(1.15); }
}

.recharge-package-coins {
  font-family: var(--cy-display) !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 0.02em;
}

.recharge-package.is-selected .recharge-package-coins {
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.6rem rgba(245, 245, 0, 0.55);
}

.recharge-package-coins .recharge-coin-icon {
  filter: drop-shadow(0 0 0.35rem rgba(245, 245, 0, 0.5));
  transition: transform 0.5s ease;
}

.recharge-package:hover .recharge-coin-icon {
  transform: rotateY(360deg);
}

.recharge-package-top,
.recharge-package-starter,
.recharge-package-bonus {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  font-family: var(--cy-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}

.recharge-package-top {
  background: var(--cy-yellow) !important;
  color: #0a0612 !important;
  animation: cy-badge-pulse 1.8s ease-in-out infinite;
}

.recharge-package-starter {
  background: rgba(0, 240, 255, 0.16) !important;
  color: var(--cy-cyan) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5) !important;
}

.recharge-package-bonus {
  background: rgba(255, 42, 138, 0.16) !important;
  color: var(--cy-pink-hot) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.5) !important;
}

.recharge-package-price,
.recharge-summary-current,
.recharge-pix-amount-value {
  font-family: var(--cy-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
}

.recharge-package-original,
.recharge-summary-original {
  color: rgba(255, 92, 122, 0.7) !important;
}

.recharge-package-check {
  color: var(--cy-cyan) !important;
  filter: drop-shadow(0 0 0.4rem var(--cy-cyan));
}

.recharge-modal-footer {
  border-top: 1px solid rgba(0, 240, 255, 0.2) !important;
  background:
    linear-gradient(0deg, rgba(255, 42, 138, 0.1), transparent),
    rgba(6, 3, 16, 0.96) !important;
}

.recharge-summary-kicker {
  color: var(--cy-cyan) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.3em !important;
}

.recharge-summary-coins {
  font-family: var(--cy-display) !important;
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.6rem rgba(245, 245, 0, 0.45);
  text-transform: uppercase;
}

.recharge-summary-breakdown {
  color: rgba(0, 240, 255, 0.65) !important;
  font-family: ui-monospace, Consolas, monospace !important;
}

.recharge-summary-current {
  color: #fff !important;
  text-shadow: -1px 0 rgba(255, 42, 138, 0.8), 1px 0 rgba(0, 240, 255, 0.7), 0 0 1rem rgba(255, 42, 138, 0.4);
}

.recharge-pay-button {
  animation: cy-label-flow 4s linear infinite, cy-pay-glow 2s ease-in-out infinite;
}

@keyframes cy-pay-glow {
  0%, 100% { filter: drop-shadow(0 0 0 transparent); }
  50% { filter: drop-shadow(0 0 0.9rem rgba(255, 42, 138, 0.75)); }
}

.recharge-modal-close {
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.recharge-modal-close:hover,
.login-modal-close:hover {
  background: rgba(0, 240, 255, 0.18) !important;
  box-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.5) !important;
  transform: rotate(90deg);
}

.recharge-pix-back:hover {
  transform: translateX(-3px) !important;
}

/* ---- PIX ---- */
.recharge-pix-badge {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: var(--cy-cyan) !important;
  color: #04020c !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.18em !important;
}

.recharge-pix-amount-card {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background:
    linear-gradient(90deg, rgba(245, 245, 0, 0.12), transparent 70%),
    rgba(10, 6, 22, 0.92) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.38) !important;
}

.recharge-pix-amount-label {
  color: rgba(245, 245, 0, 0.75) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.3em !important;
}

.recharge-pix-amount-value {
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.7rem rgba(245, 245, 0, 0.55);
}

.recharge-pix-qr-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    radial-gradient(circle at 50% 45%, rgba(0, 240, 255, 0.12), transparent 60%),
    linear-gradient(rgba(0, 240, 255, 0.05) 1px, transparent 1px) 0 0 / 100% 14px,
    rgba(8, 4, 20, 0.92) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.25) !important;
}

.recharge-pix-qr-stage {
  position: relative;
}

.recharge-pix-qr-stage::after {
  content: "";
  position: absolute;
  left: 4%;
  right: 4%;
  top: 4%;
  height: 3px;
  z-index: 3;
  background: linear-gradient(90deg, transparent, var(--cy-cyan), #fff, var(--cy-cyan), transparent);
  box-shadow: 0 0 0.8rem var(--cy-cyan), 0 0 1.6rem rgba(0, 240, 255, 0.6);
  animation: cy-qr-laser 2.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes cy-qr-laser {
  0%, 100% { top: 4%; }
  50% { top: 94%; }
}

.recharge-pix-qr {
  border-radius: 0.2rem !important;
  box-shadow: 0 0 0 4px #fff, 0 0 1.4rem rgba(0, 240, 255, 0.45) !important;
}

.recharge-pix-qr-frame::before,
.recharge-pix-qr-frame::after {
  border-color: var(--cy-cyan) !important;
  filter: drop-shadow(0 0 4px var(--cy-cyan));
  animation: cy-frame-pulse 1.6s ease-in-out infinite;
}

.recharge-pix-qr-frame::after {
  border-color: var(--cy-pink) !important;
  filter: drop-shadow(0 0 4px var(--cy-pink));
}

@keyframes cy-frame-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.recharge-pix-qr-hint {
  color: rgba(0, 240, 255, 0.7) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.recharge-pix-copy-label {
  color: var(--cy-cyan) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.26em !important;
}

.recharge-pix-copy-label::before {
  content: "// ";
  color: var(--cy-pink);
}

.recharge-pix-code-input {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.06) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.28) !important;
  color: var(--cy-cyan) !important;
  font-family: ui-monospace, Consolas, monospace !important;
}

.recharge-pix-status {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background:
    linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.12), transparent) 0 0 / 50% 100% no-repeat,
    rgba(0, 240, 255, 0.04) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2) !important;
  color: rgba(0, 240, 255, 0.85) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.06em;
  animation: cy-status-scan 2.2s linear infinite;
}

@keyframes cy-status-scan {
  from { background-position: -100% 0, 0 0; }
  to { background-position: 200% 0, 0 0; }
}

.recharge-pix-status__dot {
  background: var(--cy-yellow) !important;
  box-shadow: 0 0 0 0 rgba(245, 245, 0, 0.7);
  animation: cy-dot-ping 1.4s ease-out infinite !important;
}

@keyframes cy-dot-ping {
  0% { box-shadow: 0 0 0 0 rgba(245, 245, 0, 0.75); }
  100% { box-shadow: 0 0 0 0.6rem rgba(245, 245, 0, 0); }
}

/* ---- Pagamento confirmado ---- */
.recharge-pix-celebration {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0, 240, 255, 0.2), transparent 60%),
    linear-gradient(rgba(0, 240, 255, 0.05) 1px, transparent 1px) 0 0 / 100% 16px,
    rgba(8, 4, 20, 0.97) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.45) !important;
}

.recharge-pix-celebration::before {
  width: auto !important;
  right: 0;
  height: 2px;
  bottom: auto !important;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-yellow), var(--cy-cyan), var(--cy-pink)) 0 0 / 300% 100% !important;
  box-shadow: 0 0 1rem var(--cy-cyan);
  animation: cy-line-run 3s linear infinite;
}

.recharge-pix-celebration::after {
  content: "TRANSACTION//VERIFIED" !important;
  display: block !important;
  position: absolute;
  top: 0.7rem;
  left: 0;
  right: 0;
  color: rgba(61, 255, 154, 0.85);
  font: 600 0.52rem/1 var(--cy-ui);
  letter-spacing: 0.34em;
  text-align: center;
}

.recharge-pix-celebration__glow {
  width: 15rem !important;
  height: 15rem !important;
  background: conic-gradient(from 0deg, transparent, rgba(0, 240, 255, 0.35), transparent 25%, rgba(255, 42, 138, 0.35), transparent 50%, rgba(245, 245, 0, 0.3), transparent 75%) !important;
  -webkit-mask: radial-gradient(circle, #000 20%, transparent 70%);
  mask: radial-gradient(circle, #000 20%, transparent 70%);
  animation: cy-spin 6s linear infinite !important;
}

.recharge-pix-celebration__check {
  border-radius: 0 !important;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(150deg, var(--cy-cyan), #3dff9a) !important;
  color: #04020c !important;
  box-shadow: none !important;
  animation: cy-check-pop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both, cy-core 2s ease-in-out infinite 0.6s !important;
}

.recharge-pix-celebration__check .material-symbols-outlined {
  color: #04020c !important;
  font-weight: 700;
}

@keyframes cy-check-pop {
  from { transform: scale(0) rotate(-90deg); }
  to { transform: none; }
}

.recharge-pix-celebration__title {
  font-family: var(--cy-display) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  text-shadow: -2px 0 rgba(255, 42, 138, 0.8), 2px 0 rgba(0, 240, 255, 0.7);
  animation: cy-glitch 3s steps(1) infinite;
}

.recharge-pix-celebration__score {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(90deg, rgba(245, 245, 0, 0.14), rgba(255, 154, 60, 0.06)) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.45) !important;
}

.recharge-pix-celebration__icon {
  filter: drop-shadow(0 0 0.7rem rgba(245, 245, 0, 0.75));
  animation: cy-coin-flip 2.2s ease-in-out infinite;
}

.recharge-pix-celebration__amount {
  font-family: var(--cy-display) !important;
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.8rem rgba(245, 245, 0, 0.7), 0 0 1.8rem rgba(255, 154, 60, 0.45);
}

.recharge-pix-celebration__unit {
  color: rgba(245, 245, 0, 0.75) !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.3em !important;
}

.recharge-pix-celebration__label {
  color: var(--cy-muted) !important;
  font-family: var(--cy-ui) !important;
}

.recharge-pix-celebration__hint {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(61, 255, 154, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(61, 255, 154, 0.5) !important;
  color: #3dff9a !important;
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.18em !important;
}

.recharge-pix-celebration__hint::before {
  content: "✓ ";
}

.coin-celebration-particle,
.coin-celebration-spark {
  filter: hue-rotate(0deg) drop-shadow(0 0 4px var(--cy-cyan));
}

@media (prefers-reduced-motion: reduce) {
  .login-modal-panel::before,
  .recharge-modal-sheet::before,
  .recharge-pix-qr-stage::after,
  .recharge-package,
  .recharge-pay-button,
  .login-modal-submit,
  .recharge-pix-status {
    animation: none !important;
  }
}

/* ===== Full-screen pages: language + wallet statement ===== */
body .language-modal,
body .wallet-statement {
  overflow: hidden;
  isolation: isolate;
  background: #05030d !important;
}

.cy-scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.cy-scene > span,
.cy-scene > canvas {
  position: absolute;
  display: block;
}

body .language-modal-panel,
body .wallet-statement-panel {
  position: relative;
  z-index: 1;
}

.cy-scene__vignette {
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 3, 13, 0.92) 0%, rgba(5, 3, 13, 0.35) 18%, transparent 35%),
    radial-gradient(ellipse 80% 70% at 50% 45%, transparent 45%, rgba(5, 3, 13, 0.85) 100%);
}

/* --- Language: neon rain city + holo globe --- */
.cy-scene--globe {
  --hz: 30%;
  --globe: clamp(13rem, 46vmin, 27rem);
  background: linear-gradient(180deg, #07021a 0%, #160736 40%, #3b0c55 calc(99% - var(--hz)), #ff2a8a calc(100% - var(--hz)), #12041f calc(100.4% - var(--hz)), #05030d 100%);
}

.cy-scene--globe .cy-scene__sky {
  inset: 0 0 var(--hz);
  background:
    radial-gradient(1px 1px at 8% 12%, #fff, transparent),
    radial-gradient(1px 1px at 22% 30%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.5px 1.5px at 37% 8%, #fff, transparent),
    radial-gradient(1px 1px at 55% 22%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 68% 6%, #fff, transparent),
    radial-gradient(1.5px 1.5px at 81% 26%, rgba(0, 240, 255, 0.9), transparent),
    radial-gradient(1px 1px at 93% 14%, #fff, transparent),
    radial-gradient(1px 1px at 47% 40%, rgba(255, 79, 168, 0.9), transparent),
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(255, 42, 138, 0.28), transparent 70%);
  animation: cy-scene-twinkle 3.5s ease-in-out infinite alternate;
}

.cy-scene__globe {
  left: 50%;
  bottom: calc(var(--hz) - var(--globe) * 0.22);
  width: var(--globe);
  height: var(--globe);
  border-radius: 50%;
  transform: translateX(-50%);
  transform-style: preserve-3d;
  perspective: 900px;
  background:
    radial-gradient(circle at 35% 30%, rgba(0, 240, 255, 0.28), transparent 45%),
    radial-gradient(circle at 50% 50%, rgba(123, 43, 255, 0.35), rgba(5, 3, 13, 0.2) 70%);
  box-shadow:
    0 0 0 1px rgba(0, 240, 255, 0.55),
    0 0 2.5rem rgba(0, 240, 255, 0.35),
    0 0 6rem rgba(255, 42, 138, 0.3),
    inset 0 0 3rem rgba(0, 240, 255, 0.25);
  animation: cy-scene-globe-pulse 4s ease-in-out infinite;
}

.cy-scene__globe i {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(0, 240, 255, 0.55);
  animation: cy-scene-meridian 9s linear infinite;
}

.cy-scene__globe i:nth-child(2) { animation-delay: -2.25s; }
.cy-scene__globe i:nth-child(3) { animation-delay: -4.5s; border-color: rgba(255, 42, 138, 0.55); }
.cy-scene__globe i:nth-child(4) { animation-delay: -6.75s; }

.cy-scene__globe b {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: repeating-linear-gradient(0deg, transparent 0 calc(12.5% - 1px), rgba(255, 79, 168, 0.4) calc(12.5% - 1px) 12.5%);
  -webkit-mask: radial-gradient(circle, #000 68%, transparent 71%);
  mask: radial-gradient(circle, #000 68%, transparent 71%);
}

.cy-scene__orbit {
  left: 50%;
  bottom: calc(var(--hz) + var(--globe) * 0.2);
  width: calc(var(--globe) * 1.75);
  height: calc(var(--globe) * 0.34);
  border-radius: 50%;
  transform: translateX(-50%) rotate(-12deg);
  padding: 1.5px;
  background: conic-gradient(from var(--cy-angle), transparent 0 55%, var(--cy-cyan) 75%, #fff 80%, transparent 90%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  box-shadow: 0 0 0 1px rgba(0, 240, 255, 0.12);
  animation: cy-angle 5s linear infinite;
}

.cy-scene__orbit--b {
  width: calc(var(--globe) * 2.15);
  height: calc(var(--globe) * 0.46);
  transform: translateX(-50%) rotate(9deg);
  background: conic-gradient(from var(--cy-angle), transparent 0 60%, var(--cy-pink) 78%, #fff 82%, transparent 92%);
  animation-duration: 7.5s;
  animation-direction: reverse;
}

.cy-scene--globe .cy-scene__far,
.cy-scene--globe .cy-scene__near {
  left: 0;
  right: 0;
  bottom: var(--hz);
  background-repeat: repeat-x;
  background-position: 0 100%;
}

.cy-scene--globe .cy-scene__far {
  --cy-far-h: clamp(100px, 22vh, 200px);
  height: var(--cy-far-h);
  background-image: url("../img/cyber/skyline-far.svg");
  background-size: calc(var(--cy-far-h) * 900 / 220) var(--cy-far-h);
  opacity: 0.8;
  filter: hue-rotate(-35deg) drop-shadow(0 -1px 0 rgba(123, 43, 255, 0.6));
  animation: cy-pan-far 80s linear infinite reverse;
}

.cy-scene--globe .cy-scene__near {
  --cy-near-h: clamp(70px, 13vh, 130px);
  height: var(--cy-near-h);
  background-image: url("../img/cyber/skyline-near.svg");
  background-size: calc(var(--cy-near-h) * 700 / 260) var(--cy-near-h);
  filter: drop-shadow(0 -1px 0 rgba(255, 42, 138, 0.8)) drop-shadow(0 0 10px rgba(255, 42, 138, 0.3));
  animation: cy-pan-near 34s linear infinite reverse;
}

.cy-scene--globe .cy-scene__floor {
  left: -50%;
  right: -50%;
  bottom: 0;
  height: var(--hz);
  background:
    linear-gradient(rgba(255, 42, 138, 0.65) 1px, transparent 1px) 0 0 / 100% 42px,
    linear-gradient(90deg, rgba(0, 240, 255, 0.4) 1px, transparent 1px) 50% 0 / 64px 100%;
  transform: perspective(260px) rotateX(58deg);
  transform-origin: 50% 0;
  -webkit-mask: linear-gradient(180deg, transparent, #000 25%);
  mask: linear-gradient(180deg, transparent, #000 25%);
  animation: cy-scene-floor 1.3s linear infinite;
}

.cy-scene__rain {
  inset: -15% -10%;
  background-image:
    radial-gradient(1px 30px at 50% 50%, rgba(170, 235, 255, 0.55), transparent),
    radial-gradient(1px 22px at 50% 50%, rgba(255, 120, 200, 0.45), transparent),
    radial-gradient(1px 40px at 50% 50%, rgba(170, 235, 255, 0.35), transparent);
  background-size: 37px 120px, 53px 170px, 71px 230px;
  background-position: 0 0, 19px 40px, 33px 90px;
  transform: rotate(10deg);
  animation: cy-scene-rain 0.9s linear infinite;
}

.cy-scene__rain--b {
  opacity: 0.55;
  background-size: 29px 120px, 61px 170px, 83px 230px;
  background-position: 11px 60px, 3px 10px, 47px 150px;
  animation-duration: 1.5s;
}

/* --- Wallet: data tunnel vault --- */
.cy-scene--vault {
  background: radial-gradient(ellipse 50% 40% at 50% 50%, #1b0838 0%, #05030d 70%);
}

.cy-scene--vault .cy-scene__data {
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.42;
}

.cy-scene__tunnel {
  left: -60%;
  right: -60%;
  top: 50%;
  bottom: 0;
  background:
    linear-gradient(rgba(255, 42, 138, 0.7) 1px, transparent 1px) 0 0 / 100% 46px,
    linear-gradient(90deg, rgba(123, 43, 255, 0.55) 1px, transparent 1px) 50% 0 / 70px 100%;
  transform: perspective(280px) rotateX(62deg);
  transform-origin: 50% 0;
  -webkit-mask: linear-gradient(180deg, transparent, #000 35%);
  mask: linear-gradient(180deg, transparent, #000 35%);
  animation: cy-scene-tunnel 1.1s linear infinite;
}

.cy-scene__tunnel--ceil {
  top: 0;
  bottom: 50%;
  background:
    linear-gradient(0deg, rgba(0, 240, 255, 0.55) 1px, transparent 1px) 0 100% / 100% 46px,
    linear-gradient(90deg, rgba(0, 240, 255, 0.3) 1px, transparent 1px) 50% 0 / 70px 100%;
  transform: perspective(280px) rotateX(-62deg);
  transform-origin: 50% 100%;
  -webkit-mask: linear-gradient(0deg, transparent, #000 35%);
  mask: linear-gradient(0deg, transparent, #000 35%);
  animation-name: cy-scene-tunnel-ceil;
}

.cy-scene__core {
  left: 50%;
  top: 50%;
  width: 34vmin;
  height: 34vmin;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, rgba(0, 240, 255, 0.45) 12%, rgba(255, 42, 138, 0.25) 35%, transparent 68%);
  filter: blur(4px);
  animation: cy-scene-core 3s ease-in-out infinite;
}

.cy-scene__rings {
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
}

.cy-scene__rings i {
  position: absolute;
  left: -6vmin;
  top: -6vmin;
  width: 12vmin;
  height: 12vmin;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-cyan), var(--cy-pink));
  -webkit-mask: radial-gradient(circle, transparent 62%, #000 64%);
  mask: radial-gradient(circle, transparent 62%, #000 64%);
  opacity: 0;
  animation: cy-scene-warp 3.6s cubic-bezier(0.5, 0, 0.9, 0.6) infinite;
}

.cy-scene__rings i:nth-child(2) { animation-delay: -1.2s; }
.cy-scene__rings i:nth-child(3) { animation-delay: -2.4s; }

.cy-scene__coin {
  right: 7%;
  bottom: 9%;
  width: clamp(5rem, 11vw, 8.5rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 54%, rgba(255, 255, 255, 0.5) 55%, transparent 58%),
    radial-gradient(circle at 35% 30%, #fffbb0, #f5d000 40%, #b07800 80%);
  box-shadow: 0 0 1.5rem rgba(245, 245, 0, 0.55), 0 0 4rem rgba(255, 42, 138, 0.35);
  opacity: 0.75;
  animation: cy-scene-coin 3.2s linear infinite;
}

.cy-scene__coin::before {
  content: "FF";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(120, 70, 0, 0.85);
  font: 900 clamp(1.4rem, 3vw, 2.3rem) / 1 var(--cy-display);
}

.cy-scene__beams {
  top: 0;
  bottom: 0;
  left: 0;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.1), rgba(255, 255, 255, 0.08), rgba(255, 42, 138, 0.1), transparent);
  transform: skewX(-18deg) translateX(-150%);
  animation: cy-scene-beam 7s ease-in-out infinite;
}

/* --- Shared page chrome --- */
body .language-modal-header,
body .wallet-statement-header {
  position: relative;
  gap: 0.85rem !important;
  border-bottom: 0 !important;
  margin-bottom: 1.1rem !important;
}

body .language-modal-header::after,
body .wallet-statement-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan) 50%, transparent);
  box-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.6);
}

body .language-modal-back,
body .wallet-statement-back {
  width: 2.6rem !important;
  height: 2.6rem !important;
  flex-shrink: 0;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.22), rgba(123, 43, 255, 0.22)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55);
  color: var(--cy-cyan) !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

body .language-modal-back:hover,
body .wallet-statement-back:hover {
  background: var(--cy-pink) !important;
  color: #fff !important;
  transform: translateX(-3px);
}

.cy-page-heading {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 0.28rem;
}

.cy-page-kicker {
  color: var(--cy-cyan);
  font: 700 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.3em;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

body .language-modal-title,
body .wallet-statement-title {
  color: #fff;
  font: 900 clamp(1.15rem, 3.4vw, 1.6rem) / 1.1 var(--cy-display) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  text-shadow: 2px 0 rgba(255, 42, 138, 0.85), -2px 0 rgba(0, 240, 255, 0.85), 0 0 1.2rem rgba(255, 42, 138, 0.4);
  animation: cy-glitch 4.5s steps(1, end) infinite;
}

.cy-page-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
  padding: 0.42rem 0.7rem;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35);
  color: var(--cy-cyan);
  font: 700 0.56rem/1 var(--cy-ui);
  letter-spacing: 0.22em;
  white-space: nowrap;
}

.cy-page-status::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0.5rem #3dff9a;
  animation: cy-blink 1.1s steps(2, end) infinite;
}

/* --- Language options --- */
body .language-modal-list {
  gap: 0.7rem !important;
  padding-top: 0.2rem !important;
}

body .language-option {
  position: relative;
  min-height: 3.75rem !important;
  padding: 0.8rem 1rem !important;
  overflow: hidden;
  isolation: isolate;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(120deg, rgba(22, 8, 44, 0.82), rgba(8, 4, 20, 0.72)) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2);
  color: #fff !important;
  font-family: var(--cy-ui) !important;
  animation: cy-page-item-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  animation-delay: calc(var(--i, 0) * 60ms + 0.15s);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body .language-option::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  z-index: -1;
  width: 45%;
  background: linear-gradient(105deg, transparent, rgba(0, 240, 255, 0.2), rgba(255, 255, 255, 0.18), transparent);
  transform: skewX(-18deg);
  transition: left 0.55s ease;
}

body .language-option:hover {
  background: linear-gradient(120deg, rgba(0, 60, 80, 0.75), rgba(30, 8, 50, 0.75)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.65), inset 0 0 1.4rem rgba(0, 240, 255, 0.18);
  transform: translateY(-2px);
}

body .language-option:hover::after {
  left: 120%;
}

body .language-option.is-selected {
  background:
    radial-gradient(circle at 100% 50%, rgba(255, 42, 138, 0.3), transparent 60%),
    linear-gradient(120deg, rgba(60, 8, 50, 0.85), rgba(14, 4, 28, 0.8)) !important;
  box-shadow: inset 0 0 1.4rem rgba(255, 42, 138, 0.2);
}

body .language-option.is-selected::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.5px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-cyan), #fff, var(--cy-pink));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: cy-angle 3s linear infinite;
  pointer-events: none;
}

body .language-option-main {
  gap: 0.85rem !important;
}

body .language-option-flag {
  width: 2.1rem !important;
  border-radius: 0 !important;
  clip-path: polygon(0.25rem 0, 100% 0, 100% calc(100% - 0.25rem), calc(100% - 0.25rem) 100%, 0 100%, 0 0.25rem);
  box-shadow: none !important;
  filter: saturate(1.15) contrast(1.05);
  transition: transform 0.25s ease, filter 0.25s ease;
}

body .language-option:hover .language-option-flag {
  transform: scale(1.08);
  filter: saturate(1.3) contrast(1.1) drop-shadow(0 0 0.4rem rgba(0, 240, 255, 0.7));
}

.language-option-text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.22rem;
}

body .language-option-label {
  font: 700 0.95rem/1.15 var(--cy-ui);
  letter-spacing: 0.02em;
}

.language-option-code {
  color: rgba(0, 240, 255, 0.65);
  font: 700 0.56rem/1 var(--cy-ui);
  letter-spacing: 0.26em;
}

body .language-option.is-selected .language-option-label {
  color: var(--cy-pink-hot);
  text-shadow: 0 0 0.7rem rgba(255, 42, 138, 0.6);
}

body .language-option.is-selected .language-option-code {
  color: var(--cy-yellow);
}

body .language-option-check {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: rgba(255, 255, 255, 0.05);
  color: transparent !important;
  font-size: 0.85rem !important;
  font-weight: 900;
}

body .language-option.is-selected .language-option-check {
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet));
  color: #fff !important;
  filter: drop-shadow(0 0 0.5rem rgba(255, 42, 138, 0.8));
  animation: cy-page-check 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s backwards;
}

/* --- Wallet statement --- */
body .wallet-statement-tabs {
  position: relative;
  gap: 0.35rem !important;
  padding: 0.3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(8, 4, 20, 0.78) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.28);
}

body .wallet-statement-tabs::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0.3rem;
  width: calc(50% - 0.475rem);
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100%;
  box-shadow: 0 0 1rem rgba(255, 42, 138, 0.6);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  animation: cy-page-gradient 3s linear infinite;
}

body .wallet-statement-tabs:has([data-wallet-tab="recarga"].is-active)::before {
  transform: translateX(calc(100% + 0.35rem));
}

body .wallet-statement-tab {
  position: relative;
  z-index: 1;
  min-height: 2.5rem !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(225, 215, 255, 0.55) !important;
  font: 800 0.7rem/1 var(--cy-display) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 0.25s ease !important;
}

body .wallet-statement-tab:hover {
  color: var(--cy-cyan) !important;
}

body .wallet-statement-tab.is-active {
  color: #fff !important;
  text-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.6);
}

body .wallet-statement-body {
  padding-top: 1.1rem !important;
}

body .wallet-statement-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 42, 138, 0.16), transparent 55%),
    linear-gradient(135deg, rgba(22, 8, 44, 0.74), rgba(6, 3, 16, 0.8)) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.28), inset 3px 0 0 var(--cy-pink);
  animation: cy-panel-boot 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body .wallet-statement-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -40%;
  z-index: -1;
  height: 40%;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.1), transparent);
  animation: cy-page-scan 3.6s linear infinite;
}

body .wallet-statement-card::after {
  content: "NO_DATA // 0x00";
  position: absolute;
  right: 1.1rem;
  bottom: 0.7rem;
  color: rgba(0, 240, 255, 0.4);
  font: 700 0.52rem/1 var(--cy-ui);
  letter-spacing: 0.26em;
}

body .wallet-statement-card__icon {
  position: relative;
  display: grid !important;
  place-items: center;
  width: 5.2rem;
  height: 5.2rem;
  margin-bottom: 1.2rem !important;
  color: var(--cy-cyan) !important;
  font-size: 2.3rem !important;
  text-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.8);
}

body .wallet-statement-card__icon::before,
body .wallet-statement-card__icon::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

body .wallet-statement-card__icon::before {
  inset: 0;
  border: 1px dashed rgba(0, 240, 255, 0.55);
  animation: cy-spin 10s linear infinite;
}

body .wallet-statement-card__icon::after {
  inset: -0.55rem;
  border: 2px solid transparent;
  border-top-color: var(--cy-pink);
  border-bottom-color: var(--cy-cyan);
  filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.8));
  animation: cy-spin 2.6s linear infinite reverse;
}

body .wallet-statement-card__text {
  color: rgba(225, 215, 255, 0.72) !important;
  font: 700 0.86rem/1.45 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body .wallet-statement-card__cta {
  position: relative;
  overflow: hidden;
  min-height: 2.7rem !important;
  margin-top: 1.25rem !important;
  padding: 0 1.6rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  box-shadow: 0 0 1.2rem rgba(255, 42, 138, 0.5);
  font: 800 0.74rem/1 var(--cy-display) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  animation: cy-page-gradient 3s linear infinite;
}

body .wallet-statement-list {
  gap: 0.6rem !important;
}

body .wallet-statement-entry {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(110deg, rgba(22, 8, 44, 0.82), rgba(8, 4, 20, 0.72)) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.18), inset 3px 0 0 var(--cy-cyan);
  animation: cy-page-item-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body .wallet-statement-entry:has(.wallet-statement-entry__coins--negative) {
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.2), inset 3px 0 0 var(--cy-pink);
}

body .wallet-statement-entry:hover {
  transform: translateX(3px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55), inset 3px 0 0 var(--cy-cyan), inset 0 0 1.2rem rgba(0, 240, 255, 0.12);
}

body .wallet-statement-entry:nth-child(2) { animation-delay: 0.05s; }
body .wallet-statement-entry:nth-child(3) { animation-delay: 0.1s; }
body .wallet-statement-entry:nth-child(4) { animation-delay: 0.15s; }
body .wallet-statement-entry:nth-child(5) { animation-delay: 0.2s; }
body .wallet-statement-entry:nth-child(6) { animation-delay: 0.25s; }
body .wallet-statement-entry:nth-child(n + 7) { animation-delay: 0.3s; }

body .wallet-statement-entry__label {
  font: 700 0.9rem/1.3 var(--cy-ui) !important;
}

body .wallet-statement-entry__date {
  color: rgba(0, 240, 255, 0.55) !important;
  font: 600 0.68rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.1em;
}

body .wallet-statement-entry__coins {
  font: 900 1rem/1 var(--cy-display) !important;
}

body .wallet-statement-entry__coins--positive {
  color: var(--cy-yellow) !important;
  text-shadow: 0 0 0.6rem rgba(245, 245, 0, 0.55);
}

body .wallet-statement-entry__coins--negative {
  color: var(--cy-pink-hot) !important;
  text-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.5);
}

@keyframes cy-scene-twinkle {
  from { opacity: 0.65; }
  to { opacity: 1; }
}

@keyframes cy-scene-globe-pulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.25); }
}

@keyframes cy-scene-meridian {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}

@keyframes cy-scene-floor {
  from { background-position: 0 0, 50% 0; }
  to { background-position: 0 42px, 50% 0; }
}

@keyframes cy-scene-rain {
  from { background-position: 0 0, 19px 40px, 33px 90px; }
  to { background-position: 0 360px, 19px 380px, 33px 550px; }
}

@keyframes cy-scene-tunnel {
  from { background-position: 0 0, 50% 0; }
  to { background-position: 0 46px, 50% 0; }
}

@keyframes cy-scene-tunnel-ceil {
  from { background-position: 0 100%, 50% 0; }
  to { background-position: 0 calc(100% - 46px), 50% 0; }
}

@keyframes cy-scene-core {
  0%, 100% { opacity: 0.75; transform: translate(-50%, -50%) scale(0.92); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
}

@keyframes cy-scene-warp {
  0% { opacity: 0; transform: scale(0.2) rotate(0deg); }
  15% { opacity: 0.9; }
  100% { opacity: 0; transform: scale(9) rotate(60deg); }
}

@keyframes cy-scene-coin {
  0% { transform: rotateY(0deg) translateY(0); }
  50% { transform: rotateY(180deg) translateY(-8px); }
  100% { transform: rotateY(360deg) translateY(0); }
}

@keyframes cy-scene-beam {
  0%, 35% { transform: skewX(-18deg) translateX(-150%); }
  100% { transform: skewX(-18deg) translateX(500%); }
}

@keyframes cy-page-item-in {
  from { opacity: 0; transform: translateY(0.8rem) scale(0.97); filter: brightness(2); }
}

@keyframes cy-page-check {
  from { transform: scale(0) rotate(-90deg); }
}

@keyframes cy-page-gradient {
  to { background-position: 200% 0; }
}

@keyframes cy-page-scan {
  to { top: 100%; }
}

@media (max-width: 720px) {
  .cy-scene__coin {
    display: none !important;
  }

  .cy-scene--globe {
    --hz: 24%;
  }
}

@media (max-width: 420px) {
  .cy-page-status {
    display: none;
  }
}

/* ===== Edição: modes split in the rail + mode switcher ===== */
.home-tab-button--photo-mode {
  display: none !important;
}

@media (min-width: 1024px) {
  .home-tab-button--photo-group {
    display: none !important;
  }

  .home-tab-button--photo-mode {
    display: flex !important;
  }

  body .home-photo-modes {
    display: none !important;
  }
}

body .home-photo-modes {
  gap: 0.6rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  counter-reset: cy-mode;
}

body .home-photo-mode {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 3.6rem !important;
  padding: 0.65rem 0.9rem !important;
  gap: 0.75rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(120deg, rgba(22, 8, 44, 0.85), rgba(8, 4, 20, 0.8)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2) !important;
  color: rgba(225, 215, 255, 0.6) !important;
  font: 800 0.74rem/1.15 var(--cy-display) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  counter-increment: cy-mode;
  transition: color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

body .home-photo-mode::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  z-index: -1;
  width: 45%;
  background: linear-gradient(105deg, transparent, rgba(0, 240, 255, 0.18), rgba(255, 255, 255, 0.15), transparent);
  transform: skewX(-18deg);
  transition: left 0.55s ease;
}

body .home-photo-mode:hover::after {
  left: 120%;
}

body .home-photo-mode:not(.is-active):hover {
  color: var(--cy-cyan) !important;
  background: linear-gradient(120deg, rgba(0, 50, 70, 0.8), rgba(20, 6, 40, 0.8)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.6), inset 0 0 1.2rem rgba(0, 240, 255, 0.15) !important;
  transform: translateY(-2px);
}

body .home-photo-mode__index {
  position: absolute !important;
  z-index: 3;
  top: 0.5rem !important;
  right: 0.75rem !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: rgba(0, 240, 255, 0.45) !important;
  font: 700 0.55rem/1 var(--cy-ui) !important;
  letter-spacing: 0.18em;
  font-size: 0 !important;
}

body .home-photo-mode__index::before {
  content: "0" counter(cy-mode) " //";
  font-size: 0.55rem;
}

body .home-photo-mode__icon {
  display: grid !important;
  place-items: center;
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: rgba(0, 240, 255, 0.12);
  color: var(--cy-cyan) !important;
  font-size: 1.2rem !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.35s ease;
}

body .home-photo-mode:hover .home-photo-mode__icon {
  transform: rotate(60deg);
}

body .home-photo-mode:hover .home-photo-mode__icon,
body .home-photo-mode.is-active .home-photo-mode__icon {
  font-variation-settings: "FILL" 1;
}

body .home-photo-mode.is-active {
  color: #fff !important;
  background:
    radial-gradient(circle at 15% 50%, rgba(255, 42, 138, 0.35), transparent 60%),
    linear-gradient(120deg, rgba(70, 10, 60, 0.9), rgba(20, 6, 40, 0.88)) !important;
  box-shadow: inset 0 0 1.4rem rgba(255, 42, 138, 0.22) !important;
  text-shadow: 0 0 0.7rem rgba(255, 42, 138, 0.7);
}

body .home-photo-mode.is-active::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.5px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-violet), var(--cy-cyan), #fff, var(--cy-pink));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: cy-angle 3s linear infinite;
  pointer-events: none;
}

body .home-photo-mode.is-active .home-photo-mode__icon {
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  color: #fff !important;
  filter: drop-shadow(0 0 0.5rem rgba(255, 42, 138, 0.8));
}

body .home-photo-modes .home-photo-mode.is-active .home-photo-mode__index {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cy-yellow) !important;
}

@media (max-width: 560px) {
  body .home-photo-modes {
    gap: 0.4rem !important;
  }

  body .home-photo-mode {
    min-height: 4.6rem !important;
    padding: 0.55rem 0.35rem 0.5rem !important;
    gap: 0.35rem !important;
    font-size: 0.6rem !important;
    letter-spacing: 0.04em;
  }

  body .home-photo-mode__icon {
    width: 1.9rem;
    height: 1.9rem;
    font-size: 1.05rem !important;
  }

  body .home-photo-mode__index {
    top: 0.3rem !important;
    right: 0.4rem !important;
  }
}

/* ===== Photo tools: undress / clothes / body ===== */
body .home-undress-feed {
  counter-reset: cy-module;
}

body .home-undress-feed__header {
  position: relative;
  padding-bottom: 1.1rem;
}

body .home-undress-feed__header h2 {
  font: 900 clamp(1.5rem, 3.2vw, 2.25rem) / 1.1 var(--cy-display) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase;
  color: #fff !important;
  text-shadow: 2px 0 rgba(255, 42, 138, 0.85), -2px 0 rgba(0, 240, 255, 0.85), 0 0 1.4rem rgba(255, 42, 138, 0.45);
  animation: cy-glitch 5s steps(1, end) infinite;
}

body .home-undress-feed__subtitle {
  color: rgba(225, 215, 255, 0.7) !important;
  font: 600 0.8rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body .home-undress-feed__subtitle::before {
  content: "> ";
  color: var(--cy-cyan);
}

body .home-undress-feed__header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(22rem, 70%);
  height: 1px;
  translate: -50% 0;
  background: linear-gradient(90deg, transparent, var(--cy-pink), var(--cy-cyan), var(--cy-pink), transparent) 0 0 / 200% 100%;
  box-shadow: 0 0 0.7rem rgba(0, 240, 255, 0.6);
  animation: cy-page-gradient 4s linear infinite;
}

/* Section panels */
body .home-undress-feed .home-movies-section {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 26px,
    linear-gradient(90deg, rgba(255, 42, 138, 0.035) 1px, transparent 1px) 0 0 / 26px 100%,
    linear-gradient(135deg, rgba(22, 8, 44, 0.86), rgba(6, 3, 16, 0.9)) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.22), inset 3px 0 0 var(--cy-pink) !important;
  counter-increment: cy-module;
}

body .home-undress-feed .home-movies-section::after {
  content: "MODULE_0" counter(cy-module);
  position: absolute;
  top: 0.85rem;
  right: 1.4rem;
  color: rgba(0, 240, 255, 0.45);
  font: 700 0.55rem/1 var(--cy-ui);
  letter-spacing: 0.26em;
  pointer-events: none;
}

body .home-undress-feed .home-movies-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -30%;
  height: 30%;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.06), transparent);
  animation: cy-page-scan 6s linear infinite;
  pointer-events: none;
}

body .home-undress-feed .home-movies-step {
  display: grid !important;
  place-items: center;
  width: 2rem !important;
  height: 2rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  color: #fff !important;
  font: 900 0.8rem/1 var(--cy-display) !important;
  filter: drop-shadow(0 0 0.45rem rgba(255, 42, 138, 0.8));
}

body .home-undress-feed .home-movies-section__head h3 {
  color: #fff !important;
  font: 800 1rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-movies-section__head p {
  color: rgba(0, 240, 255, 0.65) !important;
  font: 600 0.72rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Style cards (clothes) */
body .home-undress-feed .home-movies-card {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: #07030f !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2) !important;
  transition: transform 0.25s ease, filter 0.25s ease !important;
}

body .home-undress-feed .home-movies-card__media {
  border-radius: 0 !important;
  transition: transform 0.5s ease, filter 0.3s ease !important;
  filter: saturate(0.85) brightness(0.9);
}

body .home-undress-feed .home-movies-card:hover {
  transform: translateY(-4px);
  filter: drop-shadow(0 0 0.6rem rgba(0, 240, 255, 0.55));
}

body .home-undress-feed .home-movies-card:hover .home-movies-card__media {
  transform: scale(1.06);
  filter: saturate(1.1) brightness(1);
}

body .home-undress-feed .home-movies-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  padding: 1.5px;
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.5), transparent 40%, transparent 60%, rgba(255, 42, 138, 0.5));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}

body .home-undress-feed .home-movies-card.is-selected {
  filter: drop-shadow(0 0 0.7rem rgba(255, 42, 138, 0.75));
}

body .home-undress-feed .home-movies-card.is-selected::before {
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-violet), var(--cy-cyan), #fff, var(--cy-pink));
  animation: cy-angle 2.6s linear infinite;
}

body .home-undress-feed .home-movies-card.is-selected .home-movies-card__media {
  filter: saturate(1.15) brightness(1.05);
}

body .home-undress-feed .home-movies-card.is-selected::after {
  content: "✓" !important;
  position: absolute;
  top: 0.45rem !important;
  right: 0.45rem !important;
  left: auto !important;
  z-index: 4;
  display: grid !important;
  place-items: center;
  width: 1.5rem !important;
  height: 1.5rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: none !important;
  color: #fff;
  font: 900 0.75rem/1 var(--cy-ui);
}

body .home-undress-feed .home-movies-card__name {
  background: linear-gradient(180deg, transparent, rgba(5, 3, 13, 0.92) 55%) !important;
  color: #fff !important;
  font: 800 0.62rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-movies-card.is-selected .home-movies-card__name {
  color: var(--cy-pink-hot) !important;
  text-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.8);
}

body .home-undress-feed .home-hscroll__arrow {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(5, 3, 13, 0.85) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55) !important;
  color: var(--cy-cyan) !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

body .home-undress-feed .home-hscroll__arrow:hover {
  background: var(--cy-cyan) !important;
  color: #05030d !important;
}

/* Compose: preview -> face picker */
body .home-undress-feed .home-movies-compose {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background:
    radial-gradient(ellipse at 50% 50%, rgba(123, 43, 255, 0.14), transparent 70%),
    rgba(4, 2, 10, 0.7) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.18) !important;
}

body .home-undress-feed .home-movies-preview {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35) !important;
}

body .home-undress-feed .home-movies-preview__media {
  border-radius: 0 !important;
}

body .home-undress-feed .home-movies-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.16) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, transparent 0 44%, rgba(0, 240, 255, 0.28) 50%, transparent 56%) 0 -120% / 100% 220% no-repeat;
  mix-blend-mode: screen;
  animation: cy-thumb-scan 3.4s linear infinite;
  pointer-events: none;
}

body .home-undress-feed .home-movies-preview__caption {
  z-index: 3;
  color: var(--cy-cyan) !important;
  font: 700 0.6rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.8);
}

body .home-undress-feed .home-movies-compose__arrow {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(255, 42, 138, 0.1) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.55) !important;
  color: var(--cy-pink-hot) !important;
}

body .home-undress-feed .home-movies-compose__arrow .material-symbols-outlined {
  animation: cy-compose-arrow 1.2s ease-in-out infinite;
}

body .home-undress-feed .home-movies-compose__arrow-label {
  font: 800 0.58rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.12em;
}

body .home-undress-feed .home-movies-compose__arrow::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  width: 40%;
  background: linear-gradient(90deg, transparent, rgba(255, 42, 138, 0.35), transparent);
  animation: cy-compose-flow 1.6s linear infinite;
}

/* Face picker + dropzone */
body .home-undress-feed .home-undress-panel,
body .home-undress-feed .home-shorts-dropzone {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 42, 138, 0.14), transparent 60%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 100% 4px,
    rgba(8, 4, 20, 0.94) !important;
  backdrop-filter: blur(6px);
  box-shadow: none !important;
  transition: background 0.25s ease !important;
}

body .home-undress-feed .home-undress-panel__frame {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .home-undress-feed .home-undress-panel::before,
body .home-undress-feed .home-shorts-dropzone::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background:
    linear-gradient(90deg, var(--cy-cyan) 0 10px, transparent 10px 18px) 0 0 / 18px 1.5px repeat-x,
    linear-gradient(90deg, var(--cy-pink) 0 10px, transparent 10px 18px) 0 100% / 18px 1.5px repeat-x,
    linear-gradient(180deg, var(--cy-pink) 0 10px, transparent 10px 18px) 0 0 / 1.5px 18px repeat-y,
    linear-gradient(180deg, var(--cy-cyan) 0 10px, transparent 10px 18px) 100% 0 / 1.5px 18px repeat-y;
  opacity: 0.75;
  animation: cy-dash-march 1.2s linear infinite;
  pointer-events: none;
}

@keyframes cy-dash-march {
  to {
    background-position: 18px 0, -18px 100%, 0 -18px, 100% 18px;
  }
}

body .home-undress-feed .home-undress-panel:hover,
body .home-undress-feed .home-shorts-dropzone:hover {
  background:
    radial-gradient(circle at 50% 45%, rgba(0, 240, 255, 0.18), transparent 60%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 100% 4px,
    rgba(8, 4, 20, 0.96) !important;
}

body .home-undress-feed .home-undress-panel:hover::before,
body .home-undress-feed .home-shorts-dropzone:hover::before {
  opacity: 1;
  animation-duration: 4s;
}

body .home-undress-feed .home-undress-panel__placeholder-icon,
body .home-undress-feed .home-shorts-dropzone__icon {
  display: grid !important;
  place-items: center;
  width: 3rem !important;
  height: 3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, rgba(255, 42, 138, 0.35), rgba(0, 240, 255, 0.3)) !important;
  color: #fff !important;
  box-shadow: none !important;
  animation: cy-dropzone-pulse 2.4s ease-in-out infinite;
}

body .home-undress-feed .home-undress-panel__placeholder,
body .home-undress-feed .home-shorts-dropzone__text {
  color: rgba(225, 215, 255, 0.75) !important;
  font: 700 0.74rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body .home-undress-feed .home-shorts-dropzone__text strong {
  color: var(--cy-cyan) !important;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

body .home-undress-feed .home-undress-panel__media,
body .home-undress-feed .home-shorts-dropzone__preview {
  border-radius: 0 !important;
}

/* Undress compare */
body .home-undress-feed .undress-compare__caption {
  color: rgba(0, 240, 255, 0.7) !important;
  font: 700 0.66rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body .home-undress-feed .undress-compare__caption::before {
  content: "◆ ";
  color: var(--cy-pink);
}

body .home-undress-feed .undress-compare__legend-item {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0.32rem 0.6rem !important;
  font: 800 0.56rem/1 var(--cy-display) !important;
  letter-spacing: 0.14em;
}

body .home-undress-feed .undress-compare__legend-item--before {
  background: rgba(0, 240, 255, 0.14) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.6) !important;
  color: var(--cy-cyan) !important;
}

body .home-undress-feed .undress-compare__legend-item--after {
  background: rgba(255, 42, 138, 0.16) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.65) !important;
  color: var(--cy-pink-hot) !important;
}

body .home-undress-feed .undress-compare__frame {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  box-shadow: none !important;
  filter: drop-shadow(0 0 1rem rgba(255, 42, 138, 0.35));
}

body .home-undress-feed .undress-compare__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 6;
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-violet), var(--cy-cyan), #fff, var(--cy-pink));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: cy-angle 5s linear infinite;
  pointer-events: none;
}

body .home-undress-feed .undress-compare__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.12) 0 1px, transparent 1px 3px);
  pointer-events: none;
}

body .home-undress-feed .undress-compare__img {
  border-radius: 0 !important;
}

body .home-undress-feed .undress-compare__divider {
  width: 2px !important;
  background: linear-gradient(180deg, var(--cy-cyan), #fff, var(--cy-pink)) !important;
  box-shadow: 0 0 0.6rem var(--cy-cyan), 0 0 1.4rem rgba(255, 42, 138, 0.6) !important;
}

body .home-undress-feed .undress-compare__handle {
  width: 2.4rem !important;
  height: 2.4rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet) 55%, var(--cy-cyan)) !important;
  box-shadow: none !important;
  animation: cy-handle-pulse 2s ease-in-out infinite;
}

body .home-undress-feed .undress-compare__grip {
  background: transparent !important;
  border-color: #fff !important;
}

/* Body roulettes */
body .home-undress-feed .home-body-options {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .home-undress-feed .home-body-roulette {
  position: relative;
  padding: 0.7rem 0.75rem 0.8rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(4, 2, 10, 0.65) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.16) !important;
}

body .home-undress-feed .home-body-roulette + .home-body-roulette {
  margin-top: 0.55rem;
}

body .home-undress-feed .home-body-dim__label {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0.3rem 0.55rem !important;
  background: rgba(255, 42, 138, 0.16) !important;
  box-shadow: inset 2px 0 0 var(--cy-pink) !important;
  color: var(--cy-pink-hot) !important;
  font: 800 0.58rem/1 var(--cy-display) !important;
  letter-spacing: 0.12em;
}

body .home-undress-feed .home-body-roulette__value {
  color: var(--cy-yellow) !important;
  font: 800 0.72rem/1 var(--cy-display) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 0 0.6rem rgba(245, 245, 0, 0.55);
}

body .home-undress-feed .home-body-roulette__nav {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5) !important;
  color: var(--cy-cyan) !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

body .home-undress-feed .home-body-roulette__nav:hover {
  background: var(--cy-cyan) !important;
  color: #05030d !important;
}

body .home-undress-feed .home-body-roulette__nav--prev:hover { transform: translateX(-2px); }
body .home-undress-feed .home-body-roulette__nav--next:hover { transform: translateX(2px); }

body .home-undress-feed .home-body-roulette__item {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

body .home-undress-feed .home-body-roulette__item.is-selected {
  border: 0 !important;
  box-shadow: none !important;
}

body .home-undress-feed .home-body-roulette__focus {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-cyan), #fff, var(--cy-pink)) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  box-shadow: none !important;
  animation: cy-angle 3s linear infinite;
}

/* Feedback + generate */
body .home-undress-feed .home-undress-feedback {
  color: var(--cy-cyan) !important;
  font: 700 0.72rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-undress-generate {
  position: relative;
  overflow: hidden;
  min-height: 3.4rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background: linear-gradient(100deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  box-shadow: inset 0 -2px 0 var(--cy-cyan) !important;
  color: #fff !important;
  font: 900 0.95rem/1 var(--cy-display) !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.7);
  animation: cy-page-gradient 3s linear infinite;
  transition: filter 0.2s ease, transform 0.2s ease !important;
}

body .home-undress-feed .home-undress-generate::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-20deg);
  animation: cy-shine 3s ease-in-out infinite;
  pointer-events: none;
}

body .home-undress-feed .home-undress-generate:hover:not(:disabled) {
  filter: brightness(1.15) drop-shadow(0 0 1rem rgba(255, 42, 138, 0.7));
  transform: translateY(-2px);
}

body .home-undress-feed .home-undress-generate .material-symbols-outlined {
  animation: cy-generate-icon 1.8s ease-in-out infinite;
}

body .home-undress-feed .home-undress-generate:disabled {
  filter: grayscale(0.6) brightness(0.7);
}

@keyframes cy-compose-arrow {
  0%, 100% { transform: translateX(-3px); }
  50% { transform: translateX(3px); }
}

@keyframes cy-compose-flow {
  from { left: -50%; }
  to { left: 120%; }
}

@keyframes cy-dropzone-pulse {
  0%, 100% { filter: drop-shadow(0 0 0.3rem rgba(255, 42, 138, 0.5)); transform: scale(1); }
  50% { filter: drop-shadow(0 0 0.8rem rgba(0, 240, 255, 0.8)); transform: scale(1.06); }
}

@keyframes cy-handle-pulse {
  0%, 100% { filter: drop-shadow(0 0 0.4rem rgba(255, 42, 138, 0.8)); }
  50% { filter: drop-shadow(0 0 0.9rem rgba(0, 240, 255, 0.9)); }
}

@keyframes cy-generate-icon {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(-12deg); }
}

/* ===== Photo tools: fit the viewport on desktop ===== */
@media (min-width: 1024px) {
  body .home-undress-feed {
    --tool-top: 4.6rem;
    gap: 0.7rem !important;
    padding-bottom: 0.8rem !important;
  }

  body .home-undress-feed__header {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 0.85rem;
    row-gap: 0.25rem;
    padding: 0.15rem 0.75rem 0.55rem !important;
  }

  body .home-undress-feed__header .home-undress-feed__badge {
    margin: 0 !important;
  }

  body .home-undress-feed__header h2 {
    margin: 0 !important;
    font-size: clamp(1.15rem, 1.9vw, 1.6rem) !important;
  }

  body .home-undress-feed__subtitle {
    flex-basis: 100%;
    max-width: none !important;
    margin: 0 !important;
    font-size: 0.66rem !important;
  }

  body .home-undress-feed .home-undress-generate {
    min-height: 2.9rem !important;
    padding-block: 0.7rem !important;
  }

  /* Undress: compare | upload + generate */
  body .home-undress-feed:has(> .undress-compare) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    grid-template-areas:
      "head head"
      "cmp  drop"
      "cmp  fb"
      "cmp  act";
    column-gap: 1.1rem !important;
    row-gap: 0.7rem !important;
    align-items: stretch;
  }

  body .home-undress-feed:has(> .undress-compare) > .home-undress-feed__header { grid-area: head; }
  body .home-undress-feed:has(> .undress-compare) > .undress-compare {
    grid-area: cmp;
    justify-self: center;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body .home-undress-feed:has(> .undress-compare) > .home-shorts-dropzone {
    grid-area: drop;
    min-height: 10rem;
  }
  body .home-undress-feed:has(> .undress-compare) > .home-undress-feedback { grid-area: fb; }
  body .home-undress-feed:has(> .undress-compare) > .home-undress-actions { grid-area: act; }

  body .home-undress-feed:has(> .undress-compare) .undress-compare__frame {
    width: min(100%, calc((100dvh - var(--tool-top) - 9.4rem) * 3 / 4)) !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
  }

  body .home-undress-feed:has(> .undress-compare) .home-shorts-dropzone__placeholder {
    flex-direction: column;
    gap: 0.7rem;
  }

  /* Clothes: style | face, generate below */
  body .home-undress-feed.home-clothes-feed {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    grid-template-areas:
      "head head"
      "style face"
      "fb fb"
      "gen gen";
    column-gap: 0.9rem !important;
    align-items: stretch;
  }

  body .home-clothes-feed > .home-undress-feed__header { grid-area: head; }
  body .home-clothes-feed > section.home-movies-section:nth-of-type(1) { grid-area: style; }
  body .home-clothes-feed > section.home-movies-section:nth-of-type(2) { grid-area: face; }
  body .home-clothes-feed > .home-undress-feedback { grid-area: fb; }
  body .home-clothes-feed > .home-undress-generate { grid-area: gen; }

  body .home-clothes-feed .home-movies-section,
  body .home-body-feed .home-movies-section {
    gap: 0.6rem !important;
    padding: 0.8rem 0.9rem 0.85rem 1.05rem !important;
    align-content: start;
  }

  body .home-clothes-feed .home-movies-card {
    width: clamp(6.2rem, calc((100dvh - var(--tool-top) - 17rem) * 9 / 14), 13rem) !important;
  }

  body .home-clothes-feed .home-movies-compose {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }

  body .home-clothes-feed .home-movies-compose__arrow {
    flex-direction: column !important;
    width: auto !important;
    min-width: 2.2rem;
    min-height: 3rem !important;
    padding: 0.35rem !important;
  }

  body .home-clothes-feed .home-movies-compose__arrow-label {
    display: none !important;
  }

  body .home-clothes-feed .home-undress-panel__placeholder {
    font-size: 0.62rem !important;
    letter-spacing: 0.08em;
    text-align: center;
  }

  body .home-clothes-feed .home-movies-preview,
  body .home-clothes-feed .home-undress-panel--pick.home-movies-face {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - var(--tool-top) - 15rem) !important;
    aspect-ratio: 3 / 4 !important;
    justify-self: center;
  }

  /* Body type: compact roulettes */
  body .home-body-feed .home-body-steps {
    grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr) !important;
    gap: 0.9rem !important;
  }

  body .home-body-feed .home-body-roulettes {
    gap: 0.45rem !important;
    justify-content: flex-start !important;
  }

  body .home-body-feed .home-body-roulette {
    --roulette-h: clamp(3.8rem, calc((100dvh - var(--tool-top) - 22rem) / 3), 7.6rem) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.6rem !important;
    padding: 0.45rem 0.6rem !important;
  }

  body .home-body-feed .home-body-roulette__meta {
    display: grid !important;
    gap: 0.35rem;
    justify-items: start;
    margin: 0 !important;
  }

  body .home-body-feed .home-body-roulette__stage {
    gap: 0.35rem !important;
  }

  body .home-body-feed .home-body-roulette__nav {
    width: 1.8rem !important;
    height: 1.8rem !important;
  }

  body .home-body-feed .home-body-steps .home-movies-preview,
  body .home-body-feed .home-body-steps .home-undress-panel--pick.home-movies-face {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - var(--tool-top) - 14rem) !important;
    aspect-ratio: 3 / 4 !important;
    align-self: center !important;
    justify-self: center;
  }
}

/* ===== Video tools: shorts / porn / movies ===== */
body .home-undress-feed .home-shorts-hero,
body .home-undress-feed .home-shorts-panel,
body .home-undress-feed .home-porn-card {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 26px,
    linear-gradient(90deg, rgba(255, 42, 138, 0.035) 1px, transparent 1px) 0 0 / 26px 100%,
    linear-gradient(135deg, rgba(22, 8, 44, 0.86), rgba(6, 3, 16, 0.9)) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.22), inset 3px 0 0 var(--cy-pink) !important;
}

body .home-undress-feed .home-shorts-panel,
body .home-undress-feed .home-porn-card {
  counter-increment: cy-module;
}

body .home-undress-feed .home-shorts-panel::after,
body .home-undress-feed .home-porn-card::after {
  content: "MODULE_0" counter(cy-module);
  position: absolute;
  top: 0.85rem;
  right: 1.4rem;
  color: rgba(0, 240, 255, 0.45);
  font: 700 0.55rem/1 var(--cy-ui);
  letter-spacing: 0.26em;
  pointer-events: none;
}

body .home-undress-feed .home-shorts-hero::after {
  content: "● REC";
  position: absolute;
  top: 0.85rem;
  left: 1.2rem;
  z-index: 3;
  color: var(--cy-pink);
  font: 700 0.55rem/1 var(--cy-ui);
  letter-spacing: 0.24em;
  text-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.8);
  animation: cy-blink 1.6s steps(2, end) infinite;
  pointer-events: none;
}

body .home-undress-feed .home-shorts-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 60%, rgba(255, 42, 138, 0.18), transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(0, 240, 255, 0.12), transparent 55%);
  pointer-events: none;
}

body .home-undress-feed .home-shorts-panel__head h3,
body .home-undress-feed .home-porn-section__head h3 {
  color: #fff !important;
  font: 800 1rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-shorts-panel__head p,
body .home-undress-feed .home-porn-section__head p {
  color: rgba(0, 240, 255, 0.65) !important;
  font: 600 0.72rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-porn-step {
  display: grid !important;
  place-items: center;
  width: 2rem !important;
  min-width: 2rem;
  height: 2rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  color: #fff !important;
  font: 900 0.8rem/1 var(--cy-display) !important;
  filter: drop-shadow(0 0 0.45rem rgba(255, 42, 138, 0.8));
}

/* Porn sub-sections inside the config card */
body .home-undress-feed .home-porn-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .home-undress-feed .home-porn-section::before {
  display: none !important;
}

body .home-undress-feed .home-porn-section + .home-porn-section:not([hidden]) {
  border-top: 1px solid transparent !important;
  border-image: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.45), rgba(255, 42, 138, 0.45), transparent) 1 !important;
}

/* Tags */
body .home-undress-feed .home-porn-tags__group-label {
  color: var(--cy-cyan) !important;
  font: 700 0.6rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.5);
}

body .home-undress-feed .home-porn-tags__group-label::before {
  content: "// ";
  color: var(--cy-pink);
}

body .home-undress-feed .home-porn-tag {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.22) !important;
  color: rgba(225, 215, 255, 0.82) !important;
  font: 600 0.74rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.04em;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

body .home-undress-feed .home-porn-tag:hover {
  background: rgba(0, 240, 255, 0.1) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.6) !important;
  color: #fff !important;
}

body .home-undress-feed .home-porn-tag.is-active {
  background: linear-gradient(135deg, rgba(255, 42, 138, 0.55), rgba(124, 58, 255, 0.5)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 120, 190, 0.9), 0 0 0.8rem rgba(255, 42, 138, 0.5) !important;
  color: #fff !important;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.6);
}

body .home-undress-feed .home-porn-tag.is-active::before {
  content: "+ ";
  color: var(--cy-cyan);
}

/* Segmented toggles (type + resolution) */
body .home-undress-feed .home-porn-type--bar,
body .home-undress-feed .home-porn-wan3__res {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(6, 3, 16, 0.85) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.25) !important;
}

body .home-undress-feed .home-porn-type__btn {
  border-radius: 0 !important;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  color: rgba(225, 215, 255, 0.6) !important;
  font: 800 0.74rem/1 var(--cy-display) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 0.2s ease, background 0.2s ease !important;
}

body .home-undress-feed .home-porn-type__btn:hover {
  color: var(--cy-cyan) !important;
}

body .home-undress-feed .home-porn-type__btn.is-active {
  background: linear-gradient(110deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.6);
  animation: cy-page-gradient 4s linear infinite;
}

/* Wan3 duration */
body .home-undress-feed .home-porn-wan3__title span {
  color: #fff !important;
  font: 800 0.85rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body .home-undress-feed .home-porn-wan3__title small,
body .home-undress-feed .home-porn-wan3__duration > span > span {
  color: rgba(0, 240, 255, 0.65) !important;
  font: 600 0.68rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body .home-undress-feed .home-porn-wan3__duration strong {
  color: var(--cy-yellow) !important;
  font: 900 0.9rem/1 var(--cy-display) !important;
  text-shadow: 0 0 0.6rem rgba(252, 238, 10, 0.6);
}

body .home-undress-feed .home-porn-wan3__duration input[type="range"] {
  accent-color: var(--cy-pink);
}

/* Fields (lote select, admin textarea) */
body .home-undress-feed .home-shorts-controls {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(6, 3, 16, 0.75) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.18) !important;
}

body .home-undress-feed .home-grtkniv-field > span {
  color: var(--cy-cyan) !important;
  font: 700 0.62rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

body .home-undress-feed .home-grtkniv-field > span::before {
  content: "// ";
  color: var(--cy-pink);
}

body .home-undress-feed .home-grtkniv-field select,
body .home-undress-feed .home-grtkniv-field textarea {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background-color: rgba(14, 6, 30, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35) !important;
  color: #fff !important;
  font: 700 0.9rem/1.2 var(--cy-display) !important;
  letter-spacing: 0.08em;
}

body .home-undress-feed .home-grtkniv-field textarea {
  font: 500 0.82rem/1.45 var(--cy-ui) !important;
}

body .home-undress-feed .home-grtkniv-field select:focus,
body .home-undress-feed .home-grtkniv-field textarea:focus {
  outline: none !important;
  box-shadow: inset 0 0 0 1px var(--cy-pink), 0 0 0.9rem rgba(255, 42, 138, 0.4) !important;
}

/* Shorts carousel */
body .home-undress-feed .home-shorts-card {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
}

body .home-undress-feed .home-shorts-card video {
  border-radius: 0 !important;
}

body .home-undress-feed .home-shorts-card[data-offset="0"] {
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-violet), var(--cy-cyan), #fff, var(--cy-pink)) !important;
  animation: cy-angle 3s linear infinite;
}

body .home-undress-feed .home-shorts-stack {
  filter: drop-shadow(0 0 1rem rgba(255, 42, 138, 0.45));
}

body .home-undress-feed .home-shorts-nav {
  display: grid !important;
  place-items: center;
  width: 2.4rem !important;
  height: 2.4rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, rgba(255, 42, 138, 0.85), rgba(124, 58, 255, 0.85)) !important;
  color: #fff !important;
  box-shadow: none !important;
  transition: transform 0.2s ease, filter 0.2s ease !important;
}

body .home-undress-feed .home-shorts-nav:hover {
  transform: scale(1.1);
  filter: drop-shadow(0 0 0.6rem rgba(0, 240, 255, 0.9)) brightness(1.15);
}

body .home-undress-feed .home-shorts-dot {
  width: 0.7rem !important;
  height: 3px !important;
  border-radius: 0 !important;
  background: rgba(0, 240, 255, 0.3) !important;
  transition: width 0.25s ease, background 0.25s ease !important;
}

body .home-undress-feed .home-shorts-dot.is-active {
  width: 1.6rem !important;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan)) !important;
  box-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.8);
}

/* ===== Header logo FX ===== */
.site-brand-logo--header,
.site-brand-logo--footer {
  position: relative;
}

.site-brand-logo--header .site-brand-logo__mark,
.site-brand-logo--footer .site-brand-logo__mark {
  position: relative;
  overflow: visible !important;
  animation: cy-logo-mark-pulse 3.2s ease-in-out infinite;
}

.site-brand-logo--header .site-brand-logo__mark::before,
.site-brand-logo--footer .site-brand-logo__mark::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  padding: 2px;
  background: conic-gradient(from var(--cy-angle), transparent 0 35%, var(--cy-pink) 55%, #fff 62%, var(--cy-cyan) 72%, transparent 88%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  filter: drop-shadow(0 0 0.3rem rgba(255, 42, 138, 0.8));
  animation: cy-angle 2.8s linear infinite;
  pointer-events: none;
}

.site-brand-logo--header .site-brand-logo__mark::after,
.site-brand-logo--footer .site-brand-logo__mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  margin: -2.5px 0 0 -2.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0.4rem var(--cy-cyan), 0 0 0.8rem var(--cy-cyan);
  animation: cy-logo-orbit 4.5s linear infinite;
  pointer-events: none;
}

.site-brand-logo--header .site-brand-logo__word,
.site-brand-logo--footer .site-brand-logo__word {
  position: relative;
  display: inline-block;
  padding-bottom: 0.18em;
}

.site-brand-logo--header .site-brand-logo__word::after,
.site-brand-logo--footer .site-brand-logo__word::after {
  content: "";
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: -40%;
  width: 28%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.95) 50%, transparent);
  transform: skewX(-20deg);
  mix-blend-mode: color-dodge;
  animation: cy-logo-shine 4.2s ease-in-out infinite;
  pointer-events: none;
}

.site-brand-logo--header .site-brand-logo__word::before,
.site-brand-logo--footer .site-brand-logo__word::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--cy-pink), var(--cy-cyan), transparent) 0 0 / 50% 100% no-repeat;
  box-shadow: 0 0 0.4rem rgba(0, 240, 255, 0.6);
  animation: cy-logo-underline 3s linear infinite;
  pointer-events: none;
}

.site-brand-logo--header .site-brand-logo__ai,
.site-brand-logo--footer .site-brand-logo__ai {
  display: inline-block;
  animation: cy-logo-flicker 5s linear infinite;
}

.site-brand-logo--header .site-brand-logo__accent,
.site-brand-logo--footer .site-brand-logo__accent {
  animation: cy-logo-breathe 2.6s ease-in-out infinite;
}

.site-brand-logo--header:hover .site-brand-logo__word {
  animation: cy-logo-hover-glitch 0.6s steps(1) infinite !important;
}

.site-brand-logo--header:hover .site-brand-logo__mark::before {
  animation-duration: 0.9s;
}

.site-brand-logo--header:hover .site-brand-logo__mark-img {
  animation: cy-logo-mark-spin 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 1;
}

@keyframes cy-logo-mark-pulse {
  0%, 100% { box-shadow: 0 0 0 2px var(--cy-bg), 0 0 0 3px var(--cy-cyan), 0 0 0.9rem rgba(0, 240, 255, 0.55); }
  50% { box-shadow: 0 0 0 2px var(--cy-bg), 0 0 0 3px var(--cy-pink), 0 0 1.4rem rgba(255, 42, 138, 0.75); }
}

@keyframes cy-logo-orbit {
  from { transform: rotate(0deg) translateX(calc(50% + 1.15rem)) rotate(0deg); }
  to { transform: rotate(360deg) translateX(calc(50% + 1.15rem)) rotate(-360deg); }
}

@keyframes cy-logo-shine {
  0%, 55% { left: -5%; opacity: 0; }
  62% { opacity: 1; }
  93% { opacity: 1; }
  100% { left: 92%; opacity: 0; }
}

@keyframes cy-logo-underline {
  from { background-position: -100% 0; }
  to { background-position: 200% 0; }
}

@keyframes cy-logo-flicker {
  0%, 18%, 22%, 60%, 63%, 65%, 100% { opacity: 1; text-shadow: var(--cy-glow-cyan); }
  19%, 21%, 61.5%, 64% { opacity: 0.35; text-shadow: none; }
}

@keyframes cy-logo-breathe {
  0%, 100% { text-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.6); }
  50% { text-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.9), 0 0 1.6rem rgba(255, 42, 138, 0.6), 0 0 2.6rem rgba(255, 42, 138, 0.35); }
}

@keyframes cy-logo-hover-glitch {
  0% { transform: translate(0); text-shadow: -2px 0 var(--cy-pink), 2px 0 var(--cy-cyan); }
  25% { transform: translate(-1px, 1px) skewX(-6deg); text-shadow: 3px 0 var(--cy-pink), -3px 0 var(--cy-cyan); }
  50% { transform: translate(1px, -1px); text-shadow: -1px 0 var(--cy-pink), 1px 0 var(--cy-cyan); }
  75% { transform: translate(0) skewX(4deg); text-shadow: 2px 0 var(--cy-pink), -2px 0 var(--cy-cyan); }
}

@keyframes cy-logo-mark-spin {
  from { transform: rotate(-360deg) scale(0.7); }
  to { transform: rotate(0) scale(1); }
}

/* ===== Image card type badge ===== */
body .home-image-card__badge {
  top: 0.5rem !important;
  left: 0.5rem !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  overflow: hidden;
  padding: 0.32rem 0.6rem 0.3rem 0.5rem !important;
  border-radius: 0 !important;
  clip-path: polygon(0.4rem 0, 100% 0, 100% calc(100% - 0.4rem), calc(100% - 0.4rem) 100%, 0 100%, 0 0.4rem);
  background: linear-gradient(100deg, rgba(255, 42, 138, 0.92), rgba(123, 43, 255, 0.92)) !important;
  box-shadow: inset 0 -2px 0 var(--cy-cyan) !important;
  color: #fff !important;
  font: 800 0.56rem/1 var(--cy-display) !important;
  letter-spacing: 0.16em !important;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.7);
  filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.6));
}

body .home-image-card__badge::before {
  content: "";
  width: 0.38rem;
  height: 0.38rem;
  flex-shrink: 0;
  background: var(--cy-cyan);
  box-shadow: 0 0 0.4rem var(--cy-cyan);
  animation: cy-blink 1.2s steps(2, end) infinite;
}

body .home-image-card__badge::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-20deg);
  animation: cy-badge-sweep 3.2s ease-in-out infinite;
}

@keyframes cy-badge-sweep {
  0%, 60% { left: -60%; }
  100% { left: 130%; }
}

/* ===== Card reference thumbnail + marker ===== */
body .feed-card-grid .home-feed-video-frame-thumb--single,
body .feed-card-grid .feed-user-photo-thumb {
  --cy-thumb-cut: 0.55rem;
  padding: 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  clip-path: polygon(var(--cy-thumb-cut) 0, 100% 0, 100% 100%, var(--cy-thumb-cut) 100%, 0 calc(100% - var(--cy-thumb-cut)), 0 var(--cy-thumb-cut));
  background: conic-gradient(from var(--cy-angle), var(--cy-pink), var(--cy-violet), var(--cy-cyan), #fff 52%, var(--cy-cyan) 56%, var(--cy-pink)) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.55));
  animation: cy-angle 3.5s linear infinite !important;
}

body .feed-card-grid .home-feed-video-frame-thumb--single {
  width: 3.6rem !important;
}

body .feed-card-grid .home-feed-video-frame-thumb--single > img,
body .feed-card-grid .feed-user-photo-thumb__image {
  border-radius: 0 !important;
  clip-path: polygon(calc(var(--cy-thumb-cut) - 1px) 0, 100% 0, 100% 100%, calc(var(--cy-thumb-cut) - 1px) 100%, 0 calc(100% - var(--cy-thumb-cut) + 1px), 0 calc(var(--cy-thumb-cut) - 1px));
  background: #05030d;
}

body .feed-card-grid .home-feed-video-frame-thumb--single::before {
  content: "SRC";
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 4;
  padding: 0.12rem 0.22rem 0.1rem;
  background: rgba(5, 3, 13, 0.82);
  color: var(--cy-cyan);
  font: 800 0.42rem/1 var(--cy-ui);
  letter-spacing: 0.14em;
  pointer-events: none;
}

body .feed-card-grid .home-feed-video-frame-thumb--single::after,
body .feed-card-grid .feed-user-photo-thumb::after {
  content: "";
  position: absolute;
  inset: 2px;
  z-index: 3;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.18) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, transparent 0 40%, rgba(0, 240, 255, 0.45) 48%, transparent 56%) 0 -120% / 100% 220% no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
  animation: cy-thumb-scan 2.8s linear infinite;
}

body .feed-card-grid .feed-ref-thumb-ring {
  border-radius: 0 !important;
}

body .feed-card-grid .feed-ref-arrow,
body .feed-card-grid .feed-ref-marker,
body .feed-card-grid .home-feed-user-to-template-pointer {
  width: 1.3rem !important;
  height: 1.3rem !important;
  right: 3px !important;
  bottom: 3px !important;
  z-index: 5 !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet) 55%, var(--cy-cyan)) !important;
  box-shadow: none !important;
  animation: cy-thumb-marker 1.8s ease-in-out infinite !important;
}

body .feed-card-grid .feed-ref-marker .material-symbols-outlined,
body .feed-card-grid .feed-ref-arrow .material-symbols-outlined {
  color: #fff !important;
  font-size: 0.8rem !important;
  font-variation-settings: "FILL" 0, "wght" 800, "GRAD" 0, "opsz" 20 !important;
  text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.9);
}

body .home-feed-media.is-morphing .feed-ref-arrow {
  animation: cy-thumb-marker-hit 1.15s ease-out !important;
}

@keyframes cy-thumb-scan {
  from { background-position: 0 0, 0 -120%; }
  to { background-position: 0 0, 0 220%; }
}

@keyframes cy-thumb-marker {
  0%, 100% { filter: brightness(1); transform: translate(0, 0); }
  50% { filter: brightness(1.35); transform: translate(1px, 1px); }
}

@keyframes cy-thumb-marker-hit {
  0% { transform: scale(1); filter: brightness(1); }
  35% { transform: scale(1.3) rotate(60deg); filter: brightness(2); }
  100% { transform: scale(1); filter: brightness(1); }
}

/* ===== Affiliate page ===== */
body.affiliate-page {
  font-family: var(--cy-ui);
  background: #05020c;
}

body.affiliate-page .affiliate-page__shell {
  background: transparent;
}

body.affiliate-page .affiliate-page__main {
  counter-reset: aff-section;
}

/* Hero pitch */
body.affiliate-page .aff-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  margin: 0;
  padding: 0.38rem 0.8rem 0.38rem 0.65rem;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(90deg, rgba(0, 240, 255, 0.16), rgba(0, 240, 255, 0.03));
  box-shadow: inset 2px 0 0 var(--cy-cyan);
  color: var(--cy-cyan);
  font: 700 0.64rem/1 var(--cy-ui);
  letter-spacing: 0.24em;
  text-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.6);
}

body.affiliate-page .aff-kicker__dot {
  width: 0.45rem;
  height: 0.45rem;
  background: var(--cy-pink);
  box-shadow: 0 0 0.6rem var(--cy-pink);
  animation: cy-blink 1.4s steps(2, end) infinite;
}

body.affiliate-page .aff-brand {
  position: relative;
  width: fit-content;
  max-width: 100%;
  font: 900 clamp(1.7rem, 3.4vw, 2.6rem) / 1 var(--cy-display) !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.affiliate-page .aff-brand__name {
  color: #fff;
  text-shadow: 2px 0 rgba(255, 42, 138, 0.7), -2px 0 rgba(0, 240, 255, 0.7);
}

body.affiliate-page .aff-brand__fruit {
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet), var(--cy-cyan), var(--cy-pink)) 0 0 / 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 0.7rem rgba(255, 42, 138, 0.6));
  animation: cy-page-gradient 5s linear infinite;
}

body.affiliate-page .aff-brand::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: var(--cy-cyan);
  clip-path: inset(0 0 100% 0);
  animation: aff-brand-slice 4.5s steps(1, end) infinite;
  pointer-events: none;
}

@keyframes aff-brand-slice {
  0%, 86%, 100% { clip-path: inset(0 0 100% 0); transform: none; }
  88% { clip-path: inset(18% 0 58% 0); transform: translateX(-4px); }
  90% { clip-path: inset(62% 0 12% 0); transform: translateX(5px); color: var(--cy-pink); }
  92% { clip-path: inset(40% 0 40% 0); transform: translateX(-2px); }
}

body.affiliate-page .aff-split__pitch h1 {
  max-width: 20ch;
  font: 800 clamp(1.3rem, 3vw, 1.85rem) / 1.25 var(--cy-display) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 1.1rem rgba(255, 42, 138, 0.35);
}

body.affiliate-page .aff-lead {
  position: relative;
  padding-left: 0.95rem;
  color: rgba(225, 215, 255, 0.75);
  font: 500 0.98rem/1.65 var(--cy-ui);
}

body.affiliate-page .aff-lead::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 2px;
  background: linear-gradient(180deg, var(--cy-pink), var(--cy-cyan));
  box-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.7);
}

/* CTAs */
body.affiliate-page .aff-cta,
body.affiliate-page .affiliate-page__submit,
body.affiliate-page .landing-page__cta {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(110deg, var(--cy-pink), var(--cy-violet), var(--cy-pink)) 0 0 / 200% 100% !important;
  color: #fff !important;
  font: 800 0.78rem/1 var(--cy-display) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.5);
  animation: cy-page-gradient 4s linear infinite;
  transition: filter 0.2s ease, transform 0.2s ease;
}

body.affiliate-page .aff-cta::after,
body.affiliate-page .affiliate-page__submit::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.45) 50%, transparent 65%) -150% 0 / 250% 100% no-repeat;
  animation: cy-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}

body.affiliate-page .aff-cta:hover,
body.affiliate-page .affiliate-page__submit:hover,
body.affiliate-page .landing-page__cta:hover {
  filter: brightness(1.15) drop-shadow(0 0 0.8rem rgba(255, 42, 138, 0.7));
  transform: translateY(-1px);
}

body.affiliate-page .aff-cta--ghost,
body.affiliate-page .landing-page__cta--secondary {
  background: rgba(6, 3, 16, 0.85) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55) !important;
  color: var(--cy-cyan) !important;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
  animation: none;
}

body.affiliate-page .aff-cta--ghost::after {
  display: none;
}

body.affiliate-page .aff-cta--ghost:hover,
body.affiliate-page .landing-page__cta--secondary:hover {
  background: rgba(0, 240, 255, 0.12) !important;
  filter: drop-shadow(0 0 0.7rem rgba(0, 240, 255, 0.6));
}

/* Link chip */
body.affiliate-page .aff-link-chip {
  gap: 0.5rem;
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  background:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px) 0 0 / 100% 3px,
    rgba(6, 3, 16, 0.9);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.35);
}

body.affiliate-page .aff-link-chip__live {
  border-radius: 0;
  background: #39ff88;
  box-shadow: 0 0 0.5rem #39ff88;
  animation: cy-blink 1.2s steps(2, end) infinite;
}

body.affiliate-page .aff-link-chip__label {
  color: var(--cy-pink);
  font: 700 0.66rem/1 var(--cy-ui);
  letter-spacing: 0.18em;
}

body.affiliate-page .aff-link-chip code {
  color: rgba(225, 235, 255, 0.85);
}

body.affiliate-page .aff-link-chip em {
  color: var(--cy-cyan);
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.7);
}

body.affiliate-page .aff-link-chip__caret {
  width: 0.5rem;
  height: 0.95rem;
  background: var(--cy-cyan);
  animation: cy-blink 1s steps(2, end) infinite;
}

/* Stats */
body.affiliate-page .aff-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  max-width: 30rem;
  margin: 0.4rem 0 0;
  padding: 0;
  list-style: none;
}

body.affiliate-page .aff-stats__item {
  position: relative;
  display: grid;
  gap: 0.3rem;
  padding: 0.7rem 0.8rem;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(160deg, rgba(255, 42, 138, 0.14), rgba(6, 3, 16, 0.9) 60%);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.3);
}

body.affiliate-page .aff-stats__item:nth-child(2) {
  background: linear-gradient(160deg, rgba(0, 240, 255, 0.14), rgba(6, 3, 16, 0.9) 60%);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3);
}

body.affiliate-page .aff-stats__item:nth-child(3) {
  background: linear-gradient(160deg, rgba(252, 238, 10, 0.12), rgba(6, 3, 16, 0.9) 60%);
  box-shadow: inset 0 0 0 1px rgba(252, 238, 10, 0.28);
}

body.affiliate-page .aff-stats__item strong {
  color: #fff;
  font: 900 1.45rem/1 var(--cy-display);
  text-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.8);
}

body.affiliate-page .aff-stats__item:nth-child(2) strong {
  text-shadow: 0 0 0.8rem rgba(0, 240, 255, 0.8);
}

body.affiliate-page .aff-stats__item:nth-child(3) strong {
  color: var(--cy-yellow);
  text-shadow: 0 0 0.8rem rgba(252, 238, 10, 0.6);
}

body.affiliate-page .aff-stats__item span {
  color: rgba(225, 215, 255, 0.6);
  font: 700 0.6rem/1.2 var(--cy-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Signup panel */
body.affiliate-page .affiliate-page__signup-panel {
  position: relative;
  overflow: hidden;
  padding-top: 0 !important;
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 24px,
    linear-gradient(90deg, rgba(255, 42, 138, 0.035) 1px, transparent 1px) 0 0 / 24px 100%,
    linear-gradient(160deg, rgba(28, 8, 52, 0.92), rgba(6, 3, 16, 0.95));
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.25), inset 3px 0 0 var(--cy-pink);
}

body.affiliate-page .affiliate-page__signup-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -30%;
  height: 30%;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.07), transparent);
  animation: cy-page-scan 6s linear infinite;
  pointer-events: none;
}

body.affiliate-page .aff-panel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 -1.25rem;
  padding: 0.6rem 1.25rem;
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.22), rgba(124, 58, 255, 0.12), transparent);
  border-bottom: 1px solid rgba(255, 42, 138, 0.3);
  color: rgba(255, 200, 230, 0.85);
  font: 700 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.24em;
}

body.affiliate-page .aff-panel-bar__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #39ff88;
  text-shadow: 0 0 0.5rem rgba(57, 255, 136, 0.7);
}

body.affiliate-page .aff-panel-bar__status::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  background: #39ff88;
  box-shadow: 0 0 0.5rem #39ff88;
  animation: cy-blink 1.2s steps(2, end) infinite;
}

body.affiliate-page .affiliate-page__signup-copy h2,
body.affiliate-page .landing-page__affiliate-result h3 {
  color: #fff;
  font: 800 1.05rem/1.25 var(--cy-display) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
}

body.affiliate-page .affiliate-page__signup-copy p {
  color: rgba(225, 215, 255, 0.68);
  font-family: var(--cy-ui);
}

body.affiliate-page .landing-page__affiliate-field span {
  color: var(--cy-cyan);
  font: 700 0.62rem/1.2 var(--cy-ui);
  letter-spacing: 0.22em;
}

body.affiliate-page .landing-page__affiliate-field > span::before {
  content: "// ";
  color: var(--cy-pink);
}

body.affiliate-page .landing-page__affiliate-field input,
body.affiliate-page .landing-page__affiliate-field textarea {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(3, 1, 10, 0.95) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3) !important;
  color: #fff !important;
  font: 600 0.9rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.04em;
}

body.affiliate-page .landing-page__affiliate-field input::placeholder {
  color: rgba(0, 240, 255, 0.35);
}

body.affiliate-page .landing-page__affiliate-field input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--cy-pink), 0 0 0.9rem rgba(255, 42, 138, 0.35) !important;
}

body.affiliate-page .landing-page__affiliate-field small {
  color: rgba(225, 215, 255, 0.5);
  font-family: var(--cy-ui);
}

body.affiliate-page .affiliate-page__earning {
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(3, 1, 10, 0.9);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.3);
}

body.affiliate-page .affiliate-page__earning strong {
  font-family: var(--cy-display);
}

body.affiliate-page .affiliate-page__earning:first-child strong {
  color: var(--cy-yellow);
  text-shadow: 0 0 0.6rem rgba(252, 238, 10, 0.5);
}

/* Section headings */
body.affiliate-page .aff-perks h2,
body.affiliate-page .aff-flow h2,
body.affiliate-page .aff-faq h2 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font: 800 clamp(1.05rem, 2.2vw, 1.3rem) / 1.2 var(--cy-display) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  counter-increment: aff-section;
}

body.affiliate-page .aff-perks h2::before,
body.affiliate-page .aff-flow h2::before,
body.affiliate-page .aff-faq h2::before {
  content: "0" counter(aff-section) " //";
  color: var(--cy-cyan);
  font: 700 0.7rem/1 var(--cy-ui);
  letter-spacing: 0.2em;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.7);
}

body.affiliate-page .aff-perks h2::after,
body.affiliate-page .aff-flow h2::after,
body.affiliate-page .aff-faq h2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.7), rgba(0, 240, 255, 0.4), transparent);
}

/* Perks */
body.affiliate-page .aff-perks__list {
  gap: 0.75rem;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

body.affiliate-page .aff-perks__item {
  position: relative;
  overflow: hidden;
  padding: 1.15rem 1.1rem 1.2rem;
  border: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.03) 1px, transparent 1px) 0 0 / 100% 22px,
    linear-gradient(160deg, rgba(28, 8, 52, 0.88), rgba(6, 3, 16, 0.92));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.2), inset 0 2px 0 var(--cy-pink);
  animation: cy-page-item-in 0.6s var(--delay, 0ms) backwards;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

body.affiliate-page .aff-perks__item:hover {
  transform: translateY(-3px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.6), inset 0 2px 0 var(--cy-cyan), 0 0 1.4rem rgba(255, 42, 138, 0.25);
}

body.affiliate-page .aff-perks__item::after {
  content: "";
  position: absolute;
  right: -1.2rem;
  bottom: -1.2rem;
  width: 5rem;
  height: 5rem;
  border: 1px dashed rgba(0, 240, 255, 0.25);
  border-radius: 50%;
  animation: cy-spin 18s linear infinite;
  pointer-events: none;
}

body.affiliate-page .aff-perks__mark {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet));
  color: #fff;
  font: 900 0.72rem/1 var(--cy-display);
  filter: drop-shadow(0 0 0.5rem rgba(255, 42, 138, 0.8));
}

body.affiliate-page .aff-perks__item strong {
  color: #fff;
  font: 800 0.92rem/1.3 var(--cy-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.affiliate-page .aff-perks__item p {
  color: rgba(225, 215, 255, 0.68);
  font-family: var(--cy-ui);
}

/* Flow */
body.affiliate-page .aff-flow__list li {
  position: relative;
  align-items: center;
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.1), rgba(6, 3, 16, 0.9) 40%);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.18);
  transition: box-shadow 0.25s ease, background 0.25s ease;
}

body.affiliate-page .aff-flow__list li:hover {
  background: linear-gradient(90deg, rgba(0, 240, 255, 0.14), rgba(6, 3, 16, 0.9) 50%);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5);
}

body.affiliate-page .aff-flow__num {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: linear-gradient(135deg, var(--cy-cyan), var(--cy-violet));
  color: #05020c;
  font: 900 0.78rem/1 var(--cy-display);
}

body.affiliate-page .aff-flow__list p {
  color: rgba(225, 225, 245, 0.82);
  font-family: var(--cy-ui);
}

/* FAQ */
body.affiliate-page .landing-page__faq details {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(8, 4, 20, 0.88);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.16);
}

body.affiliate-page .landing-page__faq details[open] {
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.12), rgba(8, 4, 20, 0.9) 50%);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.5), inset 3px 0 0 var(--cy-pink);
}

body.affiliate-page .landing-page__faq summary {
  color: #fff;
  font: 700 0.9rem/1.35 var(--cy-ui) !important;
  letter-spacing: 0.04em;
}

body.affiliate-page .landing-page__faq summary {
  list-style: none;
}

body.affiliate-page .landing-page__faq summary::-webkit-details-marker {
  display: none;
}

body.affiliate-page .landing-page__faq summary::before {
  content: "> ";
  color: var(--cy-cyan);
}

body.affiliate-page .landing-page__faq details p {
  color: rgba(225, 215, 255, 0.7);
  font-family: var(--cy-ui);
}

@media (min-width: 1024px) {
  body:has(.ff-chrome).affiliate-page .affiliate-page__shell > main {
    width: auto;
    max-width: min(68rem, calc(100% - var(--ff-rail-w, 15.5rem) - 1.5rem));
  }
}

@media (max-width: 899px) {
  body.affiliate-page .aff-stats__item strong {
    font-size: 1.2rem;
  }
}

/* ---------- Sidebar: r?tulo rotativo (Moldar Corpo) ---------- */
body .home-tab-module-label[data-cycle-key] {
  display: inline-block;
  white-space: nowrap;
}
body .home-tab-module-label[data-cycle-key]::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.95em;
  margin-left: 3px;
  vertical-align: -0.1em;
  background: var(--cy-cyan);
  box-shadow: 0 0 6px var(--cy-cyan);
  animation: cy-nav-cursor 0.9s steps(1) infinite;
}
body .home-tab-module-label.is-cycling {
  color: var(--cy-cyan);
  text-shadow: -1px 0 var(--cy-pink), 1px 0 var(--cy-cyan), 0 0 8px rgba(0, 240, 255, 0.55);
  animation: cy-nav-glitch 0.16s steps(2) infinite;
}
body .home-tab-module-label.is-cycling::after {
  background: var(--cy-pink);
  box-shadow: 0 0 8px var(--cy-pink);
  animation: none;
}
@keyframes cy-nav-cursor {
  50% { opacity: 0; }
}
@keyframes cy-nav-glitch {
  0% { transform: translate(0, 0); clip-path: inset(0 0 0 0); }
  33% { transform: translate(1px, 0) skewX(-8deg); clip-path: inset(10% 0 35% 0); }
  66% { transform: translate(-1px, 0); clip-path: inset(45% 0 5% 0); }
  100% { transform: translate(0, 0); clip-path: inset(0 0 0 0); }
}

/* ===== Tool stepper (Troca de roupa / Tipo de corpo / Porn? / V?deo longo) ? estilo /funil ===== */
body .home-undress-feed.is-stepper {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}
body .home-undress-feed.is-stepper .home-tool-steps,
body .home-undress-feed.is-stepper .home-body-steps {
  display: block !important;
}
body .home-undress-feed.is-stepper .is-step-hidden {
  display: none !important;
}
body .home-undress-feed.is-stepper .is-step-active {
  width: min(100%, 62rem) !important;
  height: auto !important;
  margin-inline: auto !important;
  animation: cy-step-in 0.35s ease both;
}
body .home-undress-feed.is-stepper .is-step-active .home-movies-compose {
  max-width: 44rem !important;
  margin-inline: auto !important;
}
body .home-undress-feed.is-stepper:not(.is-last-step) .home-stepper__actions [data-grt-generate] {
  display: none !important;
}
body .home-undress-feed.is-stepper .home-stepper__actions [data-grt-generate] {
  flex: 1;
  width: auto !important;
  margin: 0 !important;
}

body .home-stepper {
  --stepper-progress: 0.5;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  width: min(100%, 40rem);
  margin: 0 auto;
  padding-bottom: 0.5rem;
}
body .home-stepper::before,
body .home-stepper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
}
body .home-stepper::before {
  right: 0;
  background: rgba(255, 255, 255, 0.08);
}
body .home-stepper::after {
  width: calc(var(--stepper-progress) * 100%);
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-cyan));
  box-shadow: 0 0 10px rgba(0, 240, 255, 0.55);
  transition: width 0.35s ease;
}
body .home-stepper__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.35rem 0.5rem;
  border: 0;
  background: none;
  color: rgba(220, 220, 255, 0.45);
  font-family: var(--cy-display);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
body .home-stepper__tab .material-symbols-outlined {
  font-size: 1rem;
}
body .home-stepper__label {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body .home-stepper__num {
  display: inline-grid;
  place-items: center;
  width: 1.45rem;
  height: 1.3rem;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: rgba(255, 255, 255, 0.1);
  color: inherit;
  font-size: 0.6rem;
  letter-spacing: 0;
}
body .home-stepper__tab:hover {
  color: rgba(240, 240, 255, 0.8);
}
body .home-stepper__tab.is-active {
  color: #fff;
  text-shadow: 0 0 10px rgba(255, 42, 138, 0.6);
}
body .home-stepper__tab.is-active .home-stepper__num {
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet));
  color: #fff;
}
body .home-stepper__tab.is-done {
  color: var(--cy-cyan);
}
body .home-stepper__tab.is-done .home-stepper__num {
  background: rgba(0, 240, 255, 0.2);
}

body .home-stepper__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: min(100%, 62rem);
  margin: 0 auto;
}
body .home-stepper__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.9rem;
  padding: 0.7rem 1.6rem;
  border: 0;
  clip-path: var(--cy-chamfer-sm);
  font-family: var(--cy-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter 0.2s ease, transform 0.2s ease;
}
body .home-stepper__btn[hidden] {
  display: none !important;
}
body .home-stepper__btn:hover {
  filter: brightness(1.15);
  transform: translateY(-1px);
}
body .home-stepper__btn--back {
  background: rgba(0, 240, 255, 0.08);
  color: var(--cy-cyan);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.45);
}
body .home-stepper__btn--next {
  flex: 1;
  margin-left: auto;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet));
  color: #fff;
  box-shadow: 0 0 18px rgba(255, 42, 138, 0.35);
}
@keyframes cy-step-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 1024px) {
  body .home-undress-feed.is-stepper .home-movies-preview,
  body .home-undress-feed.is-stepper .home-undress-panel--pick.home-movies-face {
    max-height: calc(100dvh - var(--tool-top, 4.6rem) - 19.5rem) !important;
  }
  body .home-undress-feed.is-stepper .home-body-roulette {
    --roulette-h: clamp(3.6rem, calc((100dvh - var(--tool-top, 4.6rem) - 24.5rem) / 3), 7.2rem) !important;
  }
  body .home-undress-feed.is-stepper .home-porn-steps .home-porn-card {
    max-height: calc(100dvh - var(--tool-top, 4.6rem) - 14rem) !important;
    overflow: auto !important;
  }
  body .home-undress-feed.is-stepper .home-porn-steps .home-porn-card.is-step-active {
    width: min(100%, 74rem) !important;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-porn-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1.4rem;
    align-items: start;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-porn-tags__status {
    grid-column: 1 / -1;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-porn-tags__group {
    gap: 0.35rem;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-porn-tags__chips {
    gap: 0.3rem;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-porn-tag {
    padding: 0.28rem 0.55rem !important;
    font-size: 0.68rem !important;
  }
  body .home-undress-feed.is-stepper .home-porn-card .home-movies-preview,
  body .home-undress-feed.is-stepper .home-porn-card .home-undress-panel--pick.home-movies-face {
    max-height: calc(100dvh - var(--tool-top, 4.6rem) - 24rem) !important;
  }
  body .home-undress-feed.is-stepper .home-clothes-feed .home-movies-card,
  body .home-undress-feed.home-clothes-feed.is-stepper .home-movies-card {
    width: clamp(6.2rem, calc((100dvh - var(--tool-top, 4.6rem) - 19rem) * 9 / 14), 13rem) !important;
  }
}

/* ---------- Criar modelo (face creator) ---------- */
.model-picker-modal__backdrop {
  background:
    radial-gradient(ellipse 60% 50% at 50% 40%, rgba(123, 43, 255, 0.18), transparent 70%),
    rgba(3, 2, 10, 0.9) !important;
}

.face-creator__sheet {
  --fc-accent: var(--cy-pink);
  --fc-accent-soft: rgba(255, 42, 138, 0.16);
  --fc-line: rgba(0, 240, 255, 0.16);
  --fc-text: var(--cy-text);
  --fc-muted: var(--cy-muted);
  clip-path: polygon(1.4rem 0, 100% 0, 100% calc(100% - 1.4rem), calc(100% - 1.4rem) 100%, 0 100%, 0 1.4rem);
  border: 0 !important;
  font-family: var(--cy-ui);
  background:
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 2.2rem,
    linear-gradient(90deg, rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 2.2rem 100%,
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(255, 42, 138, 0.14), transparent 65%),
    linear-gradient(165deg, #0b0718 0%, #06040f 55%, #0d0619 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35), inset 0 0 3rem rgba(123, 43, 255, 0.12) !important;
}

.face-creator__sheet::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  z-index: 6;
  background: linear-gradient(90deg, transparent, var(--cy-cyan) 20%, var(--cy-pink) 60%, var(--cy-violet) 85%, transparent);
  box-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.7);
  pointer-events: none;
}

.face-creator__header {
  position: relative;
  padding: 1rem 1.4rem 0.9rem 1.8rem !important;
  border-bottom: 1px solid transparent !important;
  border-image: linear-gradient(90deg, rgba(0, 240, 255, 0.5), rgba(255, 42, 138, 0.4), transparent) 1 !important;
}

.face-creator__title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font: 900 1.35rem/1 var(--cy-display) !important;
  letter-spacing: 0.12em !important;
  color: #fff;
  text-shadow: 0.06em 0 0 rgba(255, 42, 138, 0.75), -0.06em 0 0 rgba(0, 240, 255, 0.75), 0 0 1rem rgba(255, 42, 138, 0.45);
}

.face-creator__title::before {
  content: "3D";
  padding: 0.28rem 0.45rem;
  font: 800 0.62rem/1 var(--cy-ui);
  letter-spacing: 0.18em;
  color: #05030d;
  background: var(--cy-cyan);
  clip-path: var(--cy-chamfer-sm);
  text-shadow: none;
  box-shadow: var(--cy-glow-cyan);
}

.face-creator__subtitle {
  margin-top: 0.45rem !important;
  color: var(--cy-cyan-soft) !important;
  font: 600 0.72rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.face-creator__subtitle::before {
  content: "> ";
  color: var(--cy-pink);
}

.face-creator__close {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5);
  transition: background 0.2s ease, color 0.2s ease;
}

.face-creator__close:hover {
  color: #fff !important;
  background: rgba(255, 42, 138, 0.35) !important;
  box-shadow: inset 0 0 0 1px var(--cy-pink);
}

/* Categorias */
.face-creator__cats {
  gap: 0.25rem !important;
  padding: 0.9rem 0.7rem !important;
  border-right: 1px solid var(--fc-line) !important;
  background: linear-gradient(180deg, rgba(0, 240, 255, 0.03), transparent 40%);
}

.face-creator__cat {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0.6rem 0.75rem !important;
  color: rgba(205, 220, 255, 0.6) !important;
  font: 600 0.7rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}

.face-creator__cat .material-symbols-outlined {
  color: rgba(0, 240, 255, 0.55);
  font-size: 1.15rem !important;
}

.face-creator__cat:hover {
  color: #fff !important;
  padding-left: 0.95rem !important;
  background: rgba(0, 240, 255, 0.07) !important;
}

.face-creator__cat.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.38), rgba(123, 43, 255, 0.18) 70%, transparent) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.55);
  text-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.8);
}

.face-creator__cat.is-active .material-symbols-outlined {
  color: var(--cy-pink-hot);
  filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.9));
}

.face-creator__cat.is-active::before {
  width: 3px !important;
  border-radius: 0 !important;
  background: var(--cy-cyan) !important;
  box-shadow: var(--cy-glow-cyan);
}

/* Palco 3D */
.face-creator__stage {
  overflow: hidden;
  background:
    radial-gradient(ellipse 45% 55% at 50% 42%, rgba(123, 43, 255, 0.22), transparent 70%),
    radial-gradient(ellipse 80% 28% at 50% 100%, rgba(255, 42, 138, 0.22), transparent 70%),
    #05030d !important;
}

.face-creator__stage::before {
  content: "";
  position: absolute;
  left: -20%;
  right: -20%;
  bottom: 0;
  height: 38%;
  background:
    linear-gradient(rgba(0, 240, 255, 0.35) 1px, transparent 1px) 0 0 / 100% 2.2rem,
    linear-gradient(90deg, rgba(255, 42, 138, 0.35) 1px, transparent 1px) 0 0 / 3rem 100%;
  transform: perspective(22rem) rotateX(62deg);
  transform-origin: bottom;
  -webkit-mask-image: linear-gradient(to top, #000 10%, transparent 95%);
  mask-image: linear-gradient(to top, #000 10%, transparent 95%);
  pointer-events: none;
}

.face-creator__hud {
  position: absolute;
  inset: 0.9rem;
  z-index: 1;
  pointer-events: none;
}

.face-creator__hud-corner {
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  border: 2px solid var(--cy-cyan);
  filter: drop-shadow(0 0 0.35rem rgba(0, 240, 255, 0.8));
}

.face-creator__hud-corner--tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.face-creator__hud-corner--tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.face-creator__hud-corner--bl { bottom: 0; left: 0; border-right: 0; border-top: 0; border-color: var(--cy-pink); filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.8)); }
.face-creator__hud-corner--br { bottom: 0; right: 0; border-left: 0; border-top: 0; border-color: var(--cy-pink); filter: drop-shadow(0 0 0.35rem rgba(255, 42, 138, 0.8)); }

.face-creator__hud-tag {
  position: absolute;
  top: 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font: 700 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.22em;
  color: var(--cy-cyan-soft);
}

.face-creator__hud-tag--tl { left: 2.1rem; }
.face-creator__hud-tag--tr { right: 2.1rem; color: rgba(255, 79, 168, 0.75); }

.face-creator__hud-tag i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0.5rem #3dff9a;
  animation: fc-hud-blink 1.4s steps(2, start) infinite;
}

.face-creator__hud-scan {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.85), transparent);
  box-shadow: 0 0 0.9rem rgba(0, 240, 255, 0.7);
  opacity: 0.55;
  animation: fc-hud-scan 4.5s ease-in-out infinite;
}

@keyframes fc-hud-scan {
  0%, 100% { top: 6%; }
  50% { top: 90%; }
}

@keyframes fc-hud-blink {
  to { visibility: hidden; }
}

.face-creator__viewport {
  z-index: 0;
}

.face-creator__spinner {
  border-radius: 0 !important;
  border: 2px solid rgba(0, 240, 255, 0.2) !important;
  border-top-color: var(--cy-pink) !important;
  border-right-color: var(--cy-cyan) !important;
  box-shadow: var(--cy-glow-pink);
}

.face-creator__loading,
.face-creator__busy {
  font: 700 0.75rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cy-cyan) !important;
}

.face-creator__view-tools {
  gap: 0.25rem !important;
  padding: 0.3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(6, 4, 15, 0.82) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.4);
}

.face-creator__view-tools button {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan) !important;
  transition: background 0.15s ease, color 0.15s ease;
}

.face-creator__view-tools button:hover {
  color: #fff !important;
  background: rgba(255, 42, 138, 0.35) !important;
}

/* Painel direito */
.face-creator__panel {
  border-left: 1px solid var(--fc-line) !important;
  background: linear-gradient(180deg, rgba(123, 43, 255, 0.07), rgba(0, 0, 0, 0.25)) !important;
}

.face-creator__panel-head {
  border-bottom: 1px solid transparent !important;
  border-image: linear-gradient(90deg, rgba(255, 42, 138, 0.5), rgba(0, 240, 255, 0.35), transparent) 1 !important;
}

.face-creator__eyebrow {
  color: var(--cy-cyan) !important;
  font: 700 0.6rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.24em !important;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

.face-creator__eyebrow::before {
  content: "// ";
  color: var(--cy-pink);
}

.face-creator__cat-title,
.face-creator__review-title {
  font: 800 1.05rem/1.1 var(--cy-display) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
}

.face-creator__reset,
.face-creator__chip,
.face-creator__tile,
.face-creator__preset,
.face-creator__toggle,
.face-creator__nudge,
.face-creator__swatch--auto {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.22) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease !important;
}

.face-creator__reset {
  color: var(--cy-cyan-soft) !important;
  font: 600 0.66rem/1 var(--cy-ui) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.face-creator__chip,
.face-creator__tile-label {
  font: 600 0.72rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.04em;
}

.face-creator__reset:hover,
.face-creator__chip:hover,
.face-creator__tile:hover,
.face-creator__preset:hover,
.face-creator__toggle:hover,
.face-creator__nudge:hover {
  color: #fff !important;
  background: rgba(0, 240, 255, 0.09) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.65) !important;
}

.face-creator__chip.is-active,
.face-creator__tile.is-active,
.face-creator__toggle.is-on {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(255, 42, 138, 0.5), rgba(123, 43, 255, 0.42)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 120, 190, 0.9), 0 0 0.8rem rgba(255, 42, 138, 0.45) !important;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.5);
}

.face-creator__preset {
  position: relative;
  padding: 0.85rem 0.85rem 0.8rem !important;
}

.face-creator__preset::after {
  content: "";
  position: absolute;
  right: 0.55rem;
  top: 0.55rem;
  width: 0.35rem;
  height: 0.35rem;
  background: rgba(0, 240, 255, 0.5);
  box-shadow: 0 0 0.4rem rgba(0, 240, 255, 0.8);
}

.face-creator__preset-name {
  font: 700 0.76rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
}

.face-creator__preset-dot {
  border-color: #0b0718 !important;
  box-shadow: 0 0 0.35rem rgba(0, 0, 0, 0.6);
}

.face-creator__tile .material-symbols-outlined {
  color: var(--cy-cyan);
}

.face-creator__tile.is-active .material-symbols-outlined {
  color: #fff;
}

.face-creator__swatch {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

.face-creator__swatch.is-active {
  border-color: var(--cy-cyan) !important;
  box-shadow: 0 0 0 2px var(--cy-pink), 0 0 0.7rem rgba(255, 42, 138, 0.7) !important;
}

.face-creator__group-label,
.face-creator__slider-label {
  color: rgba(225, 235, 255, 0.9) !important;
  font: 700 0.68rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.face-creator__slider-value {
  color: var(--cy-cyan) !important;
  font: 700 0.7rem/1 var(--cy-ui) !important;
  text-shadow: 0 0 0.4rem rgba(0, 240, 255, 0.5);
}

.face-creator__section {
  color: var(--cy-pink-hot) !important;
  font: 700 0.62rem/1.2 var(--cy-ui) !important;
  letter-spacing: 0.22em !important;
  border-top: 1px solid transparent !important;
  border-image: linear-gradient(90deg, rgba(255, 42, 138, 0.5), transparent) 1 !important;
}

.face-creator__note {
  color: rgba(205, 220, 255, 0.45) !important;
}

.face-creator__range::-webkit-slider-runnable-track {
  height: 3px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--cy-cyan), var(--cy-pink) var(--fill), rgba(255, 255, 255, 0.12) var(--fill)) !important;
}

.face-creator__slider.is-centered .face-creator__range::-webkit-slider-runnable-track {
  background:
    linear-gradient(90deg, transparent var(--from), var(--cy-pink) var(--from), var(--cy-pink) var(--to), transparent var(--to)),
    linear-gradient(90deg, transparent calc(50% - 1px), var(--cy-cyan) calc(50% - 1px), var(--cy-cyan) calc(50% + 1px), transparent calc(50% + 1px)),
    rgba(255, 255, 255, 0.12) !important;
}

.face-creator__range::-webkit-slider-thumb {
  width: 0.85rem !important;
  height: 0.85rem !important;
  margin-top: -0.35rem !important;
  border: 2px solid var(--cy-cyan) !important;
  border-radius: 0 !important;
  background: #05030d !important;
  transform: rotate(45deg);
  box-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.8) !important;
}

.face-creator__range::-moz-range-thumb {
  border: 2px solid var(--cy-cyan) !important;
  border-radius: 0 !important;
  background: #05030d !important;
  transform: rotate(45deg);
}

.face-creator__range::-moz-range-progress {
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--cy-cyan), var(--cy-pink)) !important;
}

.face-creator__toggle-track {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

.face-creator__toggle-track::after {
  border-radius: 0 !important;
}

.face-creator__error {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
}

/* Rodapé */
.face-creator__footer {
  border-top: 1px solid transparent !important;
  border-image: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.45), rgba(255, 42, 138, 0.45)) 1 !important;
}

.face-creator__random,
.face-creator__continue {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  font: 800 0.72rem/1 var(--cy-ui) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.face-creator__random {
  border: 0 !important;
  color: var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.07) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55) !important;
}

.face-creator__random:hover:not(:disabled) {
  color: #fff !important;
  background: rgba(0, 240, 255, 0.18) !important;
}

.face-creator__continue {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: 0 0 1.2rem rgba(255, 42, 138, 0.45) !important;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.5);
}

.face-creator__continue::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.35) 50%, transparent 65%);
  transform: translateX(-100%);
  animation: fc-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}

.face-creator__continue:hover:not(:disabled) {
  filter: brightness(1.12);
}

@keyframes fc-shine {
  0%, 55% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Revisão da foto */
.face-creator__review {
  background: rgba(3, 2, 10, 0.86) !important;
}

.face-creator__review-card {
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background: linear-gradient(165deg, #0d0820, #06040f) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.4) !important;
}

.face-creator__review-img {
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  box-shadow: 0 0 0 1px rgba(255, 42, 138, 0.6);
}

.face-creator__review-hint {
  color: var(--cy-muted) !important;
}

.face-creator__controls::-webkit-scrollbar,
.face-creator__cats::-webkit-scrollbar {
  width: 4px;
}

.face-creator__controls::-webkit-scrollbar-thumb,
.face-creator__cats::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--cy-cyan), var(--cy-pink));
}

/* ---------- Menu: painel de afiliado ---------- */
body .home-menu-affiliate {
  position: relative;
  gap: 0.8rem !important;
  padding: 0.95rem 0.9rem 0.95rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 1.6rem,
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(255, 42, 138, 0.18), transparent 60%),
    linear-gradient(165deg, rgba(20, 10, 40, 0.95), rgba(8, 5, 18, 0.95)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.45), inset 0 0 1.6rem rgba(123, 43, 255, 0.12) !important;
}

body .home-menu-affiliate::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, var(--cy-cyan), var(--cy-pink) 60%, transparent);
  box-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.7);
}

body .home-menu-affiliate__kicker {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--cy-cyan) !important;
  font: 800 0.66rem/1 var(--cy-display) !important;
  letter-spacing: 0.24em !important;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

body .home-menu-affiliate__kicker::before {
  content: "//";
  color: var(--cy-pink);
}

body .home-menu-affiliate__kicker::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 240, 255, 0.5), transparent);
}

body .home-menu-affiliate__stat {
  position: relative;
  gap: 0.35rem !important;
  padding: 0.6rem 0.7rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: rgba(0, 240, 255, 0.05) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3);
}

body .home-menu-affiliate__stat:first-child {
  background: rgba(255, 42, 138, 0.1) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.5);
}

body .home-menu-affiliate__stat span {
  color: var(--cy-muted) !important;
  font: 700 0.56rem/1 var(--cy-ui) !important;
  letter-spacing: 0.18em !important;
}

body .home-menu-affiliate__stat strong {
  color: var(--cy-cyan) !important;
  font: 800 0.95rem/1.1 var(--cy-display) !important;
  letter-spacing: 0.04em;
  text-shadow: 0 0 0.6rem rgba(0, 240, 255, 0.55);
}

body .home-menu-affiliate__stat:first-child strong {
  color: var(--cy-pink-hot) !important;
  text-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.7);
}

body .home-menu-affiliate__field > span {
  color: rgba(225, 235, 255, 0.88);
  font: 700 0.62rem/1.2 var(--cy-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body .home-menu-affiliate__field > span::before {
  content: "> ";
  color: var(--cy-pink);
}

body .home-menu-affiliate__row {
  flex-wrap: wrap;
  gap: 0.35rem !important;
}

body .home-menu-affiliate__row input {
  flex: 1 1 100% !important;
  height: 2.2rem !important;
  padding: 0 0.7rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35);
  font: 600 0.68rem/1 ui-monospace, Consolas, monospace !important;
  letter-spacing: 0.02em;
}

body .home-menu-affiliate__row input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--cy-cyan), 0 0 0.6rem rgba(0, 240, 255, 0.35);
}

body .home-menu-affiliate__copy,
body .home-menu-affiliate__edit {
  flex: 1 1 0 !important;
  height: 2.1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  padding: 0 0.5rem !important;
  font: 800 0.62rem/1 var(--cy-ui) !important;
  letter-spacing: 0.06em;
  white-space: nowrap;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body .home-menu-affiliate__copy {
  color: var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.55);
}

body .home-menu-affiliate__copy:hover {
  color: #fff !important;
  background: rgba(0, 240, 255, 0.2) !important;
}

body .home-menu-affiliate__edit {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(255, 42, 138, 0.55), rgba(123, 43, 255, 0.5)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 120, 190, 0.8);
}

body .home-menu-affiliate__edit:hover {
  filter: brightness(1.15);
}

body .home-menu-affiliate__warn {
  color: rgba(255, 120, 190, 0.85) !important;
  font: 600 0.62rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.02em;
}

body .home-menu-affiliate__warn::before {
  content: "⚠ ";
  color: var(--cy-yellow);
}

body .home-menu-affiliate__status {
  font-family: var(--cy-ui) !important;
  letter-spacing: 0.04em;
}

body .home-menu-affiliate__status.is-ok {
  color: #3dff9a !important;
}

body .home-menu-affiliate__open {
  position: relative;
  overflow: hidden;
  min-height: 2.5rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: #fff !important;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: 0 0 1rem rgba(255, 42, 138, 0.45);
  font: 800 0.7rem/1 var(--cy-ui) !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.5);
}

body .home-menu-affiliate__open::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.35) 50%, transparent 65%);
  transform: translateX(-100%);
  animation: fc-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}

body .home-menu-affiliate__open:hover {
  filter: brightness(1.12);
}

/* ---------- Portal do afiliado ---------- */
body.aff-portal-page {
  color: var(--cy-text);
  font-family: var(--cy-ui);
}

body.aff-portal-page .aff-portal__main {
  max-width: 60rem;
  padding-top: 1.6rem;
}

body.aff-portal-page .aff-portal__badge-inline {
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.65rem;
  color: var(--cy-cyan);
  font: 700 0.62rem/1 var(--cy-ui);
  letter-spacing: 0.24em;
  background: rgba(0, 240, 255, 0.08);
  clip-path: var(--cy-chamfer-sm);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.45);
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.6);
}

body.aff-portal-page .aff-portal__badge-inline::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0.5rem #3dff9a;
  animation: fc-hud-blink 1.4s steps(2, start) infinite;
}

body.aff-portal-page .aff-portal__hero h1 {
  margin: 0.2rem 0 0.5rem;
  font: 900 clamp(1.8rem, 4vw, 2.6rem)/1 var(--cy-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0.05em 0 0 rgba(255, 42, 138, 0.75), -0.05em 0 0 rgba(0, 240, 255, 0.75), 0 0 1.2rem rgba(255, 42, 138, 0.45);
}

body.aff-portal-page .aff-portal__meta {
  color: var(--cy-muted);
  font: 600 0.8rem/1.4 var(--cy-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.aff-portal-page .aff-portal__meta::before {
  content: "> ";
  color: var(--cy-pink);
}

body.aff-portal-page .aff-portal__meta strong {
  color: var(--cy-cyan);
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.5);
}

body.aff-portal-page .aff-portal__stat,
body.aff-portal-page .aff-portal__card {
  position: relative;
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 1.8rem,
    linear-gradient(165deg, rgba(18, 10, 38, 0.92), rgba(7, 5, 16, 0.92));
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.28);
}

body.aff-portal-page .aff-portal__stat {
  padding: 1rem 1.1rem;
}

body.aff-portal-page .aff-portal__stat::before,
body.aff-portal-page .aff-portal__card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, var(--cy-cyan), var(--cy-pink) 60%, transparent);
  box-shadow: 0 0 0.6rem rgba(255, 42, 138, 0.6);
}

body.aff-portal-page .aff-portal__stat:first-child {
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.55), inset 0 0 1.4rem rgba(255, 42, 138, 0.12);
}

body.aff-portal-page .aff-portal__stat-label {
  color: var(--cy-muted);
  font: 700 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

body.aff-portal-page .aff-portal__stat-sub {
  color: rgba(205, 220, 255, 0.45);
  font: 600 0.66rem/1.2 var(--cy-ui);
  letter-spacing: 0.06em;
}

body.aff-portal-page .aff-portal__stat-value {
  margin: 0.55rem 0 0.4rem;
  color: var(--cy-cyan);
  font: 800 1.45rem/1 var(--cy-display);
  letter-spacing: 0.04em;
  text-shadow: 0 0 0.7rem rgba(0, 240, 255, 0.55);
}

body.aff-portal-page .aff-portal__stat-value--warn {
  color: var(--cy-pink-hot);
  text-shadow: 0 0 0.7rem rgba(255, 42, 138, 0.7);
}

body.aff-portal-page .aff-portal__stat-value--ok {
  color: #3dff9a;
  text-shadow: 0 0 0.7rem rgba(61, 255, 154, 0.5);
}

body.aff-portal-page .aff-portal__card {
  padding: 1.25rem 1.3rem;
  margin-bottom: 1rem;
}

body.aff-portal-page .aff-portal__card h2 {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.55rem;
  color: #fff;
  font: 800 0.95rem/1.2 var(--cy-display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.aff-portal-page .aff-portal__card h2::before {
  content: "//";
  color: var(--cy-pink);
  text-shadow: 0 0 0.5rem rgba(255, 42, 138, 0.7);
}

body.aff-portal-page .aff-portal__hint,
body.aff-portal-page .aff-portal__empty,
body.aff-portal-page .aff-portal__footnote {
  color: var(--cy-muted);
  font: 500 0.8rem/1.5 var(--cy-ui);
}

body.aff-portal-page .aff-portal__copy-row input,
body.aff-portal-page .aff-portal__form input,
body.aff-portal-page .aff-portal__form select {
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan);
  background: rgba(0, 0, 0, 0.45);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.3);
  font: 600 0.82rem/1.2 ui-monospace, Consolas, monospace;
  padding: 0.75rem 0.85rem;
  transition: box-shadow 0.2s ease;
}

body.aff-portal-page .aff-portal__form input::placeholder {
  color: rgba(205, 220, 255, 0.32);
}

body.aff-portal-page .aff-portal__copy-row input:focus,
body.aff-portal-page .aff-portal__form input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--cy-cyan), 0 0 0.7rem rgba(0, 240, 255, 0.35);
}

body.aff-portal-page .aff-portal__form label {
  color: rgba(225, 235, 255, 0.85);
  font: 700 0.64rem/1.2 var(--cy-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.aff-portal-page .aff-portal__copy-row button,
body.aff-portal-page .aff-portal__form button {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  color: #fff;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet));
  box-shadow: 0 0 1rem rgba(255, 42, 138, 0.4);
  font: 800 0.72rem/1 var(--cy-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.8rem 1.3rem;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.5);
}

body.aff-portal-page .aff-portal__copy-row button:hover,
body.aff-portal-page .aff-portal__form button:hover {
  filter: brightness(1.12);
}

body.aff-portal-page .aff-portal__form button {
  justify-self: start;
  min-width: 14rem;
}

body.aff-portal-page .aff-portal__filter {
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-muted);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.25);
  font: 700 0.64rem/1 var(--cy-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.5rem 0.8rem;
}

body.aff-portal-page .aff-portal__filter:hover {
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.6);
}

body.aff-portal-page .aff-portal__filter.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 42, 138, 0.5), rgba(123, 43, 255, 0.42));
  box-shadow: inset 0 0 0 1px rgba(255, 120, 190, 0.9), 0 0 0.7rem rgba(255, 42, 138, 0.45);
}

body.aff-portal-page .aff-portal__table {
  font: 500 0.8rem/1.3 var(--cy-ui);
}

body.aff-portal-page .aff-portal__table th {
  color: var(--cy-cyan);
  font: 700 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(0, 240, 255, 0.35);
}

body.aff-portal-page .aff-portal__table td {
  border-bottom: 1px solid rgba(0, 240, 255, 0.1);
}

body.aff-portal-page .aff-portal__table tbody tr:hover {
  background: rgba(0, 240, 255, 0.05);
}

body.aff-portal-page .aff-portal__status {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  clip-path: var(--cy-chamfer-sm);
  font: 800 0.6rem/1 var(--cy-ui);
  letter-spacing: 0.12em;
}

body.aff-portal-page .aff-portal__status--payable {
  color: var(--cy-pink-hot);
  background: rgba(255, 42, 138, 0.14);
}

body.aff-portal-page .aff-portal__status--paid {
  color: #3dff9a;
  background: rgba(61, 255, 154, 0.12);
}

body.aff-portal-page .aff-portal__flash {
  border: 0;
  border-radius: 0;
  clip-path: var(--cy-chamfer-sm);
  font: 700 0.8rem/1.3 var(--cy-ui);
  letter-spacing: 0.04em;
}

body.aff-portal-page .aff-portal__flash--ok {
  color: #3dff9a;
  background: rgba(61, 255, 154, 0.1);
  box-shadow: inset 0 0 0 1px rgba(61, 255, 154, 0.45);
}

body.aff-portal-page .aff-portal__flash--err {
  color: #ff7a9a;
  background: rgba(255, 42, 138, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.5);
}

body.aff-portal-page .aff-portal__footnote {
  padding-left: 0.8rem;
  border-left: 2px solid var(--cy-pink);
  font-size: 0.72rem;
}

@media (max-width: 720px) {
  body.aff-portal-page .aff-portal__form button {
    justify-self: stretch;
  }
}

/* ---------- Minhas criações ---------- */
.home-creations-notice {
  align-items: center !important;
  gap: 0.6rem !important;
  margin: 0.6rem 0.8rem 0.9rem !important;
  padding: 0.6rem 0.9rem !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(90deg, rgba(245, 245, 0, 0.1), rgba(0, 240, 255, 0.04) 60%, transparent) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 245, 0, 0.35);
}

.home-creations-notice__icon {
  color: var(--cy-yellow) !important;
  font-size: 1.05rem !important;
  filter: drop-shadow(0 0 0.35rem rgba(245, 245, 0, 0.7));
}

.home-creations-notice__text {
  color: rgba(240, 240, 200, 0.85) !important;
  font: 600 0.7rem/1.4 var(--cy-ui) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-creations-empty {
  padding: 1.5rem 1rem 3rem !important;
}

.home-creations-empty__panel {
  position: relative;
  width: min(100%, 34rem) !important;
  padding: 2.4rem 2rem 2rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background:
    linear-gradient(rgba(0, 240, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 1.8rem,
    linear-gradient(90deg, rgba(0, 240, 255, 0.04) 1px, transparent 1px) 0 0 / 1.8rem 100%,
    radial-gradient(ellipse 70% 55% at 50% 0%, rgba(255, 42, 138, 0.22), transparent 70%),
    linear-gradient(165deg, rgba(18, 9, 38, 0.95), rgba(6, 4, 14, 0.96)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.35), inset 0 0 3rem rgba(123, 43, 255, 0.15) !important;
  animation: cy-step-in 0.45s ease both;
}

.home-creations-empty__panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cy-cyan) 20%, var(--cy-pink) 60%, var(--cy-violet) 85%, transparent);
  box-shadow: 0 0 0.8rem rgba(255, 42, 138, 0.7);
}

.home-creations-empty__corner {
  position: absolute;
  width: 1.3rem;
  height: 1.3rem;
  border: 2px solid var(--cy-cyan);
  filter: drop-shadow(0 0 0.3rem rgba(0, 240, 255, 0.8));
  pointer-events: none;
}

.home-creations-empty__corner--tl { top: 0.7rem; left: 0.7rem; border-right: 0; border-bottom: 0; }
.home-creations-empty__corner--tr { top: 0.7rem; right: 0.7rem; border-left: 0; border-bottom: 0; }
.home-creations-empty__corner--bl { bottom: 0.7rem; left: 0.7rem; border-right: 0; border-top: 0; border-color: var(--cy-pink); filter: drop-shadow(0 0 0.3rem rgba(255, 42, 138, 0.8)); }
.home-creations-empty__corner--br { bottom: 0.7rem; right: 0.7rem; border-left: 0; border-top: 0; border-color: var(--cy-pink); filter: drop-shadow(0 0 0.3rem rgba(255, 42, 138, 0.8)); }

.home-creations-empty__status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.2rem;
  color: rgba(0, 240, 255, 0.7);
  font: 700 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.24em;
}

.home-creations-empty__status i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--cy-yellow);
  box-shadow: 0 0 0.5rem var(--cy-yellow);
  animation: fc-hud-blink 1.4s steps(2, start) infinite;
}

.home-creations-empty__badge {
  position: relative;
  width: 4.2rem !important;
  height: 4.2rem !important;
  margin-bottom: 1.2rem !important;
  border-radius: 0 !important;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  color: #fff !important;
  background: linear-gradient(135deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: var(--cy-glow-pink);
  animation: cy-creations-pulse 2.4s ease-in-out infinite;
}

.home-creations-empty__badge .material-symbols-outlined {
  font-size: 1.9rem !important;
  text-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.7);
}

@keyframes cy-creations-pulse {
  0%, 100% { filter: brightness(1) drop-shadow(0 0 0 rgba(255, 42, 138, 0)); }
  50% { filter: brightness(1.2) drop-shadow(0 0 0.9rem rgba(255, 42, 138, 0.8)); }
}

.home-creations-empty__title {
  color: #fff !important;
  font: 900 clamp(1.7rem, 4vw, 2.3rem)/1 var(--cy-display) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  text-shadow: 0.06em 0 0 rgba(255, 42, 138, 0.75), -0.06em 0 0 rgba(0, 240, 255, 0.75), 0 0 1.2rem rgba(255, 42, 138, 0.5);
}

.home-creations-empty__subtitle {
  margin-top: 0.7rem !important;
  color: var(--cy-cyan) !important;
  font: 700 0.78rem/1.3 var(--cy-ui) !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-shadow: 0 0 0.5rem rgba(0, 240, 255, 0.5);
}

.home-creations-empty__subtitle::before {
  content: "> ";
  color: var(--cy-pink);
}

.home-creations-empty__hint {
  max-width: 24rem !important;
  color: var(--cy-muted) !important;
  font: 500 0.82rem/1.5 var(--cy-ui) !important;
}

.home-creations-empty__slots {
  display: grid;
  grid-template-columns: repeat(3, 4.6rem);
  gap: 0.6rem;
  margin-top: 1.4rem;
}

.home-creations-empty__slot {
  display: grid;
  place-items: center;
  aspect-ratio: 3 / 4;
  color: rgba(0, 240, 255, 0.45);
  background: rgba(0, 240, 255, 0.03);
  clip-path: var(--cy-chamfer-sm);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.25);
  background-image: repeating-linear-gradient(135deg, rgba(0, 240, 255, 0.06) 0 2px, transparent 2px 9px);
}

.home-creations-empty__slot:nth-child(2) {
  color: rgba(255, 79, 168, 0.55);
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.3);
  background-image: repeating-linear-gradient(135deg, rgba(255, 42, 138, 0.07) 0 2px, transparent 2px 9px);
  animation: cy-creations-slot 2.4s ease-in-out infinite;
}

.home-creations-empty__slot:nth-child(3) {
  animation: cy-creations-slot 2.4s ease-in-out 0.8s infinite;
}

.home-creations-empty__slot .material-symbols-outlined {
  font-size: 1.4rem;
}

@keyframes cy-creations-slot {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

.home-creations-empty__cta {
  position: relative;
  gap: 0.5rem;
  min-width: 15rem;
  min-height: 3rem !important;
  margin-top: 1.5rem !important;
  overflow: hidden;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: #fff !important;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: 0 0 1.2rem rgba(255, 42, 138, 0.45) !important;
  font: 800 0.8rem/1 var(--cy-ui) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.home-creations-empty__cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.35) 50%, transparent 65%);
  transform: translateX(-100%);
  animation: fc-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}

.home-creations-empty__cta:hover {
  filter: brightness(1.12);
}

/* Grade de criações */
.home-creations-feed-list--grid {
  gap: 0.8rem !important;
  align-items: start;
  padding: 0 0.8rem 2rem !important;
}

@media (min-width: 1280px) {
  .home-creations-feed-list--grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

.home-creation-card {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer);
  background: linear-gradient(165deg, rgba(18, 9, 38, 0.95), rgba(6, 4, 14, 0.96)) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.28) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.home-creation-card:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.8), inset 0 0 1.4rem rgba(0, 240, 255, 0.2) !important;
}

.home-creation-card[data-kind="image"] {
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.35) !important;
}

.home-creation-card[data-kind="image"]:hover {
  box-shadow: inset 0 0 0 1px rgba(255, 42, 138, 0.85), inset 0 0 1.4rem rgba(255, 42, 138, 0.22) !important;
}

.home-creation-card__media {
  margin: 1px 1px 0;
  background: #05030d !important;
}

.home-creation-card__visual {
  background: #05030d !important;
}

.home-creation-card__kind {
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.5rem;
  color: #05030d;
  background: var(--cy-cyan);
  clip-path: var(--cy-chamfer-sm);
  font: 800 0.58rem/1 var(--cy-ui);
  letter-spacing: 0.16em;
  box-shadow: var(--cy-glow-cyan);
}

.home-creation-card__kind .material-symbols-outlined {
  font-size: 0.85rem;
}

.home-creation-card[data-kind="image"] .home-creation-card__kind {
  color: #fff;
  background: var(--cy-pink);
  box-shadow: var(--cy-glow-pink);
}

.home-creation-card__footer {
  padding: 0.6rem 0.65rem 0.7rem !important;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, rgba(0, 240, 255, 0.4), rgba(255, 42, 138, 0.4), transparent) 1;
}

.home-creation-card__download {
  min-height: 2.4rem;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: var(--cy-chamfer-sm);
  color: var(--cy-cyan) !important;
  background: rgba(0, 240, 255, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.5);
  font: 800 0.68rem/1 var(--cy-ui) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.home-creation-card__download:hover:not(:disabled) {
  color: #fff !important;
  background: linear-gradient(90deg, var(--cy-pink), var(--cy-violet)) !important;
  box-shadow: 0 0 1rem rgba(255, 42, 138, 0.45);
}

@media (max-width: 560px) {
  .home-creations-empty__panel {
    padding: 2.2rem 1.2rem 1.6rem !important;
  }

  .home-creations-empty__cta {
    min-width: 0;
    width: 100%;
  }
}

/* Minhas criações: acesso só pelo menu lateral */
.home-tab-button[data-tab="creations"] { display: none !important; }

/* Navegação inferior (celular): rótulos curtos, sem corte */
.home-tab-module-label--short { display: none !important; }

@media (max-width: 1023px) {
  .ff-rail .catalog-row--rail {
    display: none !important;
  }
  .ff-rail .home-tab-button:has(.home-tab-module-label--short) .home-tab-module-label:not(.home-tab-module-label--short) {
    display: none !important;
  }
  .ff-rail .home-tab-button .home-tab-module-label--short {
    display: block !important;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
  }
  .ff-rail .home-primary-tab-scroll {
    gap: 0 !important;
  }
  .ff-rail .home-tab-button {
    position: relative;
    flex: 1 1 0 !important;
    min-width: 3.4rem !important;
    min-height: 3.5rem !important;
    padding: 0.42rem 0.1rem 0.36rem !important;
    gap: 0.22rem !important;
    border-radius: 0 !important;
  }
  .ff-rail .home-tab-button .home-tab-module-icon {
    width: 2.5rem;
    height: 1.7rem;
    font-size: 1.25rem !important;
  }
  .ff-rail .home-tab-button .home-tab-module-label {
    font-family: var(--cy-ui) !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
  }
}

@media (max-width: 360px) {
  .ff-rail .home-tab-button {
    min-width: 0 !important;
  }
  .ff-rail .home-tab-button .home-tab-module-icon {
    width: 2.2rem;
  }
  .ff-rail .home-tab-button .home-tab-module-label {
    font-size: 0.56rem !important;
    letter-spacing: 0.04em !important;
  }
}

/* Espaço da barra "Escolha um modelo" dentro do footer, não abaixo dele */
body.ff-genbar-on .ff-layout .feed-page-wrap:has(> .site-footer) {
  padding-bottom: 0;
}
body.ff-genbar-on .ff-layout .site-footer__bar {
  padding-bottom: calc(4.9rem + env(safe-area-inset-bottom, 0px));
}

/* Feed: "Carregar mais" (Imagem / Vídeo) */
.home-feed-load-more {
  display: flex;
  justify-content: center;
  padding: 1.6rem 1rem 2.4rem;
}
.home-feed-load-more[hidden] { display: none; }
.home-feed-load-more__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 1.8rem;
  border: 1px solid rgba(0, 240, 255, 0.55);
  clip-path: var(--cy-chamfer-sm);
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.12), rgba(255, 43, 214, 0.14));
  color: var(--cy-text);
  font: 700 0.8rem/1 var(--cy-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.home-feed-load-more__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.22) 50%, transparent 65%);
  transform: translateX(-120%);
  animation: fc-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}
.home-feed-load-more__btn:hover {
  transform: translateY(-2px);
  border-color: var(--cy-pink);
  box-shadow: var(--cy-glow-pink);
}
.home-feed-load-more__btn .material-symbols-outlined {
  font-size: 1.2rem;
  color: var(--cy-cyan);
}
