/* Neon effects – auto-generated */
/* =============================================================================
   Prototype special effects – V2 Neon (pairs with ../prototype-effects.js)
   ============================================================================= */

/* Aurora mesh (page-level, complements static body gradient) */
html[data-theme="neon"] body .lie-page-bg {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	overflow: hidden;
}

html[data-theme="neon"] body .lie-page-bg__layer--aurora {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

html[data-theme="neon"] body .lie-aurora {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	mix-blend-mode: screen;
	will-change: transform;
}

html[data-theme="neon"] body .lie-aurora--1 {
	width: 45vmin;
	height: 45vmin;
	top: 5%;
	left: 8%;
	background: rgba(34, 211, 238, 0.28);
	animation: lie-v2-aurora-a 24s ease-in-out infinite;
}

html[data-theme="neon"] body .lie-aurora--2 {
	width: 38vmin;
	height: 38vmin;
	top: 50%;
	right: 0;
	background: rgba(232, 121, 249, 0.22);
	animation: lie-v2-aurora-b 30s ease-in-out infinite;
}

html[data-theme="neon"] body .lie-aurora--3 {
	width: 52vmin;
	height: 52vmin;
	bottom: -12%;
	left: 30%;
	background: rgba(167, 139, 250, 0.18);
	animation: lie-v2-aurora-c 26s ease-in-out infinite;
}

@keyframes lie-v2-aurora-a {
	0%, 100% { transform: translate(0, 0) scale(1); }
	40% { transform: translate(10%, 8%) scale(1.1); }
	70% { transform: translate(-5%, 5%) scale(0.92); }
}

@keyframes lie-v2-aurora-b {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(-12%, -6%); }
}

@keyframes lie-v2-aurora-c {
	0%, 100% { transform: translate(0, 0); }
	35% { transform: translate(8%, -12%); }
	75% { transform: translate(-6%, 8%); }
}

/* Hero spotlight */
html[data-theme="neon"] body .lie-hero {
	--lie-spot-x: 50%;
	--lie-spot-y: 35%;
}

html[data-theme="neon"] body .lie-hero__spotlight {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: radial-gradient(
		520px circle at var(--lie-spot-x) var(--lie-spot-y),
		rgba(34, 211, 238, 0.18),
		rgba(232, 121, 249, 0.06) 35%,
		transparent 55%
	);
	opacity: 0;
	transition: opacity 0.35s ease;
}

html[data-theme="neon"] body .lie-hero:hover .lie-hero__spotlight, html[data-theme="neon"] body .lie-hero.lie-hero--spot-active .lie-hero__spotlight {
	opacity: 1;
}

html[data-theme="neon"] body .lie-hero__content {
	position: relative;
	z-index: 2;
}

/* Title conic gradient spin («in LI?») — same specificity as base gradient rule */
@property --lie-hero-gradient-angle {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

html[data-theme="neon"] body .lie-hero__title .lie-hero__gradient {
	animation:
		lie-v2-title-conic 4s linear infinite,
		lie-v2-title-glow-pulse 2.8s ease-in-out infinite;
}

@keyframes lie-v2-title-conic {
	to { --lie-hero-gradient-angle: 360deg; }
}

@keyframes lie-v2-title-glow-pulse {
	0%, 100% {
		filter:
			drop-shadow(0 0 5px rgba(34, 211, 238, 0.45))
			drop-shadow(0 0 12px rgba(34, 211, 238, 0.28))
			drop-shadow(0 0 24px rgba(167, 139, 250, 0.2))
			drop-shadow(0 0 32px rgba(232, 121, 249, 0.14));
	}

	50% {
		filter:
			drop-shadow(0 0 9px rgba(34, 211, 238, 0.72))
			drop-shadow(0 0 20px rgba(34, 211, 238, 0.48))
			drop-shadow(0 0 34px rgba(167, 139, 250, 0.36))
			drop-shadow(0 0 44px rgba(232, 121, 249, 0.26));
	}
}

/* Tag sweep (eyebrow equivalent) */
html[data-theme="neon"] body .lie-hero__tag {
	position: relative;
	overflow: hidden;
}

html[data-theme="neon"] body .lie-hero__tag::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		transparent 30%,
		rgba(34, 211, 238, 0.35) 50%,
		transparent 70%
	);
	transform: translateX(-130%);
	animation: lie-v2-tag-sweep 4.5s ease-in-out infinite;
}

@keyframes lie-v2-tag-sweep {
	0%, 65%, 100% { transform: translateX(-130%); }
	35% { transform: translateX(130%); }
}

/* Hero crown – reference icon with site gradients */
html[data-theme="neon"] body .lie-hero__crown {
	animation: lie-v2-crown-sway 6.5s ease-in-out infinite;
}

html[data-theme="neon"] body .lie-hero__crown-glow {
	animation: lie-v2-crown-glow-pulse 4s ease-in-out infinite;
}

html[data-theme="neon"] body .lie-hero:hover .lie-hero__crown-mark, html[data-theme="neon"] body .lie-hero.lie-hero--spot-active .lie-hero__crown-mark {
	filter: drop-shadow(0 2px 6px rgba(34, 211, 238, 0.5));
}

@keyframes lie-v2-crown-sway {
	0%, 100% {
		transform: rotate(11deg) translateY(0) translateX(0);
	}
	35% {
		transform: rotate(15deg) translateY(-10px) translateX(-3px);
	}
	70% {
		transform: rotate(8deg) translateY(-5px) translateX(2px);
	}
}

@media (min-width: 900px) {
@keyframes lie-v2-crown-sway {
		0%, 100% {
			transform: translateY(-52%) rotate(11deg) translateX(0);
		}
		35% {
			transform: translateY(calc(-52% - 10px)) rotate(15deg) translateX(-4px);
		}
		70% {
			transform: translateY(calc(-52% - 5px)) rotate(8deg) translateX(3px);
		}
	}
}

@keyframes lie-v2-crown-glow-pulse {
	0%, 100% { opacity: 0.65; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.12); }
}

/* Conic glow on cards (::before = top accent bar in V2) */
html[data-theme="neon"] body .lie-event-card {
	--tilt-x: 0deg;
	--tilt-y: 0deg;
	--proto-radius-card: var(--radius-xl);
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
	transform-style: preserve-3d;
}

html[data-theme="neon"] body .lie-event-card::after {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: calc(var(--radius-xl) + 2px);
	background: conic-gradient(
		from var(--lie-conic-angle, 0deg),
		transparent 0deg,
		var(--event-color, var(--accent)) 60deg,
		rgba(34, 211, 238, 0.9) 100deg,
		var(--accent-2) 150deg,
		transparent 220deg
	);
	opacity: 0;
	z-index: -1;
	animation: lie-v2-conic-spin 4.5s linear infinite;
	animation-play-state: paused;
	filter: blur(8px);
	transition: opacity 0.35s ease;
	pointer-events: none;
}

html[data-theme="neon"] body .lie-event-card:hover::after {
	opacity: 0.85;
	animation-play-state: running;
}

@property --lie-conic-angle {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

@keyframes lie-v2-conic-spin {
	to { --lie-conic-angle: 360deg; }
}

html[data-theme="neon"] body .lie-event-card:hover {
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-4px);
}

/* Load reveal */
html[data-theme="neon"] body:not(.lie-proto-ready) .lie-navbar, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-section, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-day-group, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-filters, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__tag, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__title .lie-hero__line, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__subtitle, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__stat, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__crown, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-hero__mesh span, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-event-list .lie-event-card {
	opacity: 0;
}

html[data-theme="neon"] body:not(.lie-proto-ready) .lie-navbar {
	transform: translateY(-14px);
}

html[data-theme="neon"] body:not(.lie-proto-ready) .lie-section, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-day-group, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-filters {
	transform: translateY(28px);
}

html[data-theme="neon"] body.lie-proto-ready .lie-navbar {
	animation: lie-v2-load-nav 0.65s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.02s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__mesh span {
	animation: lie-v2-load-mesh 1.2s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__mesh span:nth-child(1) { animation-delay: 0.05s; }
html[data-theme="neon"] body.lie-proto-ready .lie-hero__mesh span:nth-child(2) { animation-delay: 0.12s; }
html[data-theme="neon"] body.lie-proto-ready .lie-hero__mesh span:nth-child(3) { animation-delay: 0.18s; }

html[data-theme="neon"] body.lie-proto-ready .lie-hero__tag {
	animation: lie-v2-reveal-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.08s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__title .lie-hero__line:nth-child(1) {
	animation: lie-v2-load-line 0.85s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.16s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__title .lie-hero__line:nth-child(2) {
	animation: lie-v2-load-line 0.85s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.26s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__subtitle {
	animation: lie-v2-reveal-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.36s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__stat {
	animation: lie-v2-load-stat 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) backwards;
}

html[data-theme="neon"] body.lie-proto-ready .lie-hero__stat:nth-child(1) { animation-delay: 0.44s; }
html[data-theme="neon"] body.lie-proto-ready .lie-hero__stat:nth-child(2) { animation-delay: 0.52s; }
html[data-theme="neon"] body.lie-proto-ready .lie-hero__stat:nth-child(3) { animation-delay: 0.6s; }

html[data-theme="neon"] body.lie-proto-ready .lie-hero__crown {
	animation: lie-v2-load-fade 1s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.2s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(-n + 10) {
	animation: lie-v2-load-card 0.55s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(1) { animation-delay: 0.64s; }
html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(2) { animation-delay: 0.69s; }
html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(3) { animation-delay: 0.74s; }
html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(4) { animation-delay: 0.79s; }
html[data-theme="neon"] body.lie-proto-ready .lie-event-list .lie-event-card:nth-child(5) { animation-delay: 0.84s; }

@keyframes lie-v2-load-nav {
	from { opacity: 0; transform: translateY(-14px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes lie-v2-load-line {
	from { opacity: 0; transform: translateY(0.85em); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes lie-v2-load-stat {
	from { opacity: 0; transform: translateY(16px) scale(0.96); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lie-v2-load-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes lie-v2-load-mesh {
	from { opacity: 0; transform: scale(0.85); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes lie-v2-load-card {
	from { opacity: 0; transform: translateY(18px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

html[data-theme="neon"] body.lie-proto-ready .lie-filters {
	animation: lie-v2-reveal-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.48s;
}

html[data-theme="neon"] body.lie-proto-ready .lie-section, html[data-theme="neon"] body.lie-proto-ready .lie-day-group {
	animation: lie-v2-reveal-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

html[data-theme="neon"] body.lie-proto-ready #section-heute { animation-delay: 0.56s; }
html[data-theme="neon"] body.lie-proto-ready #section-running { animation-delay: 0.62s; }
html[data-theme="neon"] body.lie-proto-ready #section-upcoming { animation-delay: 0.68s; }
html[data-theme="neon"] body.lie-proto-ready .lie-day-group:nth-child(1) { animation-delay: 0.74s; }
html[data-theme="neon"] body.lie-proto-ready .lie-day-group:nth-child(2) { animation-delay: 0.8s; }
html[data-theme="neon"] body.lie-proto-ready .lie-day-group:nth-child(4) { animation-delay: 0.92s; }

@keyframes lie-v2-reveal-up {
	from {
		opacity: 0;
		transform: translateY(28px);
		filter: blur(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

/* Filter chromatic edge */
html[data-theme="neon"] body .lie-filters {
	position: relative;
}

html[data-theme="neon"] body .lie-filters::before {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: calc(var(--radius-xl) + 1px);
	padding: 1px;
	background: linear-gradient(
		135deg,
		rgba(34, 211, 238, 0.55),
		rgba(232, 121, 249, 0.45),
		rgba(167, 139, 250, 0.4),
		rgba(34, 211, 238, 0.55)
	);
	background-size: 220% 220%;
	animation: lie-v2-filter-edge 8s ease infinite;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

@keyframes lie-v2-filter-edge {
	0%, 100% { background-position: 0% 40%; }
	50% { background-position: 100% 60%; }
}

/* Scroll progress (neon) */
html[data-theme="neon"] body .lie-proto-scroll-line {
	background: linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));
	box-shadow: 0 0 12px rgba(34, 211, 238, 0.5);
}

/* Deferred ripple */
html[data-theme="neon"] body .lie-deferred-toggle {
	position: relative;
	overflow: hidden;
}

html[data-theme="neon"] body .lie-deferred-toggle::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		circle at var(--ripple-x, 50%) var(--ripple-y, 50%),
		rgba(34, 211, 238, 0.25),
		transparent 55%
	);
	opacity: 0;
	transition: opacity 0.4s;
	pointer-events: none;
}

html[data-theme="neon"] body .lie-deferred-toggle:hover::after {
	opacity: 1;
}

html[data-theme="neon"] body .lie-day-group.lie-proto-inview .lie-section-heading {
	animation: lie-v2-inview-pop 0.5s cubic-bezier(0.34, 1.35, 0.64, 1);
}

@keyframes lie-v2-inview-pop {
	from { transform: scale(0.98); }
	to { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
html[data-theme="neon"] body .lie-aurora, html[data-theme="neon"] body .lie-hero__gradient, html[data-theme="neon"] body .lie-hero__tag::after, html[data-theme="neon"] body .lie-hero__crown, html[data-theme="neon"] body .lie-hero__crown-mark, html[data-theme="neon"] body .lie-hero__crown-glow, html[data-theme="neon"] body .lie-event-card::after, html[data-theme="neon"] body .lie-filters::before {
		animation: none !important;
	}

html[data-theme="neon"] body .lie-event-card {
		transform: none !important;
	}

html[data-theme="neon"] body:not(.lie-proto-ready) .lie-section, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-day-group, html[data-theme="neon"] body:not(.lie-proto-ready) .lie-filters {
		opacity: 1;
		transform: none;
		filter: none;
	}
}
