/* AEP styles: stronger flash, proper spacing, crown icon; px-only type; no custom cursor */
#aep-root, #aep-root * { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; box-sizing: border-box; }

#aep-flash {
	position: fixed; inset: 0; z-index: 99998; pointer-events: none;
	background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.95) 0%, #ff1493 22%, #9d4edd 58%, #c77dff 100%);
	opacity: 0;
}
#aep-flash.aep-bang { animation: aepFlashBang 1700ms ease-out; }
@keyframes aepFlashBang {
	0%   { opacity: 0;   transform: scale(0.45); filter: brightness(1) saturate(1); }
	15%  { opacity: 1;   transform: scale(1.25); filter: brightness(1.7) saturate(1.25); }
	30%  { opacity: .95; transform: scale(1.05); filter: brightness(1.35) saturate(1.12); }
	50%  { opacity: .55; transform: scale(1.12); filter: brightness(1.1) saturate(1.05); }
	100% { opacity: 0;   transform: scale(1);    filter: brightness(1) saturate(1); }
}

.aep-overlay {
	position: fixed; inset: 0; display: none; justify-content: center; align-items: center;
	z-index: 99999; backdrop-filter: blur(14px); background: rgba(0,0,0,var(--aep-overlay-alpha,.85));
}

.aep-popup {
	position: relative; width: 92%; max-width: 460px; background:#0a0a0a; border-radius: 24px; overflow: visible; padding:0;
	transform: scale(0) rotate(180deg); opacity:0;
}
.aep-popup.aep-show { animation: aepEnter 1500ms cubic-bezier(0.68,-0.55,0.265,1.55) forwards; }
@keyframes aepEnter { 0%{ transform:scale(0) rotate(180deg); opacity:0 } 50%{ transform:scale(1.2) rotate(90deg); opacity:.7 } 100%{ transform:scale(1) rotate(0); opacity:1 } }

.aep-popup::before {
	content:""; position:absolute; inset:-6px; border-radius:30px;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff006e,#8338ec,#ff69b4,#ff1493);
	background-size:400% 400%; filter:blur(2px); z-index:-1; animation:aepFlow 3000ms linear infinite;
}
.aep-popup::after {
	content:""; position:absolute; inset:-20px; border-radius:44px;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff006e,#8338ec,#ff69b4,#ff1493);
	background-size:400% 400%; filter:blur(25px); opacity:.6; z-index:-2;
	animation:aepFlow 4000ms linear infinite, aepPulse 2000ms ease-in-out infinite alternate;
}
@keyframes aepFlow {
	0%{background-position:0% 50%; filter:blur(2px) brightness(1)}
	25%{background-position:100% 0%; filter:blur(3px) brightness(1.2)}
	50%{background-position:100% 100%; filter:blur(2px) brightness(1.1)}
	75%{background-position:0% 100%; filter:blur(4px) brightness(1.3)}
	100%{background-position:0% 50%; filter:blur(2px) brightness(1)}
}
@keyframes aepPulse { from{transform:scale(1);opacity:.4} to{transform:scale(1.15);opacity:.8} }

.aep-outer {
	position:absolute; inset:-34px; border-radius:60px;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff006e,#8338ec,#ff69b4,#ff1493);
	background-size:600% 600%; filter:blur(40px); opacity:.3; z-index:-3;
	animation:aepFlow 5000ms linear infinite reverse, aepMega 3000ms ease-in-out infinite alternate;
}
@keyframes aepMega { from{transform:scale(.9);opacity:.2} to{transform:scale(1.18);opacity:.5} }

/* Crown icon at top center */
.aep-crown {
	position:absolute; top:-16px; left:50%; transform:translateX(-50%);
	font-size:22px; color:#ffd700; text-shadow:0 0 18px #ffd700; pointer-events:none; z-index:2;
	animation:aepCrownFloat 2000ms ease-in-out infinite alternate, aepCrownGlow 3000ms ease-in-out infinite alternate;
}
@keyframes aepCrownFloat { from{ transform:translateX(-50%) translateY(0) rotate(-5deg) } to{ transform:translateX(-50%) translateY(-10px) rotate(5deg) } }
@keyframes aepCrownGlow  { from{ color:#ffd700; text-shadow:0 0 18px #ffd700 } to{ color:#ffed4e; text-shadow:0 0 28px #ffd700,0 0 36px #ffed4e } }

/* Content spacing tuned for 2025 popups */
.aep-content {
	position:relative; background:#0a0a0a; border-radius:24px;
	padding: 52px 26px 32px; color:#fff; text-align:center;
}
.aep-close {
	position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:18px;
	border:2px solid #ff1493; background:rgba(255,20,147,.12); color:#ff1493;
	font-size:16px; line-height:1; display:flex; align-items:center; justify-content:center;
	transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.aep-close:hover { background:rgba(255,20,147,.28); box-shadow:0 0 20px #ff1493; transform:rotate(90deg) scale(1.06) }

.aep-avatar {
	width:120px; height:120px; border-radius:60px; margin:0 auto 20px; position:relative; overflow:hidden;
}
.aep-avatar::before {
	content:""; position:absolute; inset:-4px; border-radius:999px;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff006e,#8338ec,#ff69b4,#ff1493);
	background-size:300% 300%; animation:aepFlow 2500ms linear infinite; z-index:-1;
}
.aep-avatar::after {
	content:""; position:absolute; inset:-8px; border-radius:999px;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff006e,#8338ec,#ff69b4,#ff1493);
	background-size:300% 300%; filter:blur(8px); opacity:.5; z-index:-2; animation:aepFlow 3000ms linear infinite reverse;
}
.aep-avatar img { width:100%; height:100%; object-fit:cover; display:block; border-radius:60px; }

/* Typography (px only with strong specificity) */
#aep-root .aep-title {
	font-size:21px !important; font-weight:800; margin:0 0 12px; text-transform:uppercase; letter-spacing:1px;
	background:linear-gradient(45deg,#ff1493,#c77dff,#9d4edd,#ff1493); background-size:300% 300%;
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
	animation:aepTitle 1500ms ease-in-out infinite alternate, aepShift 2000ms ease infinite;
}
@keyframes aepTitle { from{filter:brightness(1);transform:scale(1)} to{filter:brightness(1.4);transform:scale(1.02)} }
@keyframes aepShift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

#aep-root .aep-name {
	font-size:36px !important; font-weight:900; margin:0 0 14px; color:#fff !important;
	text-shadow:0 0 30px #ff1493; animation:aepName 2000ms ease-in-out infinite alternate;
}
@keyframes aepName { from{ text-shadow:0 0 30px #ff1493; transform:scale(1); color:#fff } to{ text-shadow:0 0 50px #ff1493,0 0 80px #9d4edd; transform:scale(1.03); color:#fff8ff } }

#aep-root .aep-message {
	font-size:18px !important; line-height:24px !important; color:#e0e0e0 !important;
	margin:0 auto 20px; max-width:360px; animation:aepMsg 3000ms ease-in-out infinite alternate;
}
@keyframes aepMsg { from{opacity:.9} to{opacity:1;color:#f0f0f0} }

#aep-root .aep-cta {
	display:inline-block; font-size:19px !important; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#fff !important;
	padding:16px 34px; border-radius:999px; text-decoration:none;
	background:linear-gradient(45deg,#ff1493,#9d4edd,#c77dff,#ff1493); background-size:200% 200%;
	text-shadow:0 2px 4px rgba(0,0,0,.5); box-shadow:0 6px 26px rgba(255,20,147,.45);
	transition:transform .25s cubic-bezier(.68,-.55,.265,1.55), box-shadow .25s ease;
	animation:aepBtnGlow 3000ms ease-in-out infinite alternate, aepShift 4000ms ease infinite;
}
@keyframes aepBtnGlow { from{ box-shadow:0 6px 26px rgba(255,20,147,.45) } to{ box-shadow:0 10px 38px rgba(255,20,147,.75), 0 0 22px rgba(157,78,221,.35) } }
#aep-root .aep-cta:hover { transform:scale(1.12) translateY(-2px) }

/* Lightning */
.aep-bolt { position:absolute; font-size:20px; color:#ff1493; pointer-events:none; animation:aepBolt 1500ms ease-in-out infinite; }
@keyframes aepBolt { 0%,100%{ opacity:0; transform:scale(.5) rotate(0deg); color:#ff1493 } 50%{ opacity:1; transform:scale(1.2) rotate(10deg); color:#c77dff; text-shadow:0 0 10px currentColor } }
.aep-tl{ top:18px; left:18px; animation-delay:0ms }
.aep-tr{ top:18px; right:18px; animation-delay:300ms }
.aep-bl{ bottom:18px; left:18px; animation-delay:600ms }
.aep-br{ bottom:18px; right:18px; animation-delay:900ms }

/* Particles */
.aep-particles { position:absolute; inset:0; border-radius:24px; pointer-events:none; overflow:hidden; }
.aep-dot { position:absolute; width:3px; height:3px; border-radius:2px; background:#ff1493; opacity:.85; animation:aepFloat 4000ms ease-in-out infinite; }
@keyframes aepFloat {
	0%,100%{ transform:translateY(0) rotate(0) scale(1); opacity:.85 }
	25%{ transform:translateY(-14px) rotate(90deg) scale(1.2); opacity:1 }
	50%{ transform:translateY(-28px) rotate(180deg) scale(.85); opacity:.45 }
	75%{ transform:translateY(-14px) rotate(270deg) scale(1.1); opacity:.9 }
}
.aep-particles .aep-dot:nth-child(2n){ background:#9d4edd; animation-delay:.5s; animation-duration:3600ms }
.aep-particles .aep-dot:nth-child(3n){ background:#c77dff; animation-delay:1s; animation-duration:4500ms }
.aep-particles .aep-dot:nth-child(4n){ background:#ff006e; animation-delay:1.5s; animation-duration:5000ms }

/* Desktop */
@media (min-width:768px) {
	.aep-content { padding: 56px 28px 34px; }
	#aep-root .aep-title { font-size:22px !important; }
	#aep-root .aep-name { font-size:44px !important; }
	#aep-root .aep-message { font-size:18px !important; line-height:26px !important; }
	#aep-root .aep-cta { font-size:20px !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) { #aep-root * { animation-duration:1ms !important; animation-iteration-count:1 !important; transition-duration:0s !important } }
