
	.resource-flight-layer.svelte-y6151g {
		pointer-events: none;
		position: fixed;
		inset: 0;
		z-index: 1100;
		overflow: hidden;
		contain: layout style paint;
	}

	.resource-flight-item.svelte-y6151g {
		position: fixed;
		top: var(--flight-start-y);
		left: var(--flight-start-x);
		width: 1.125rem;
		height: 1.125rem;
		opacity: 0;
		will-change: transform, opacity;
		animation: svelte-y6151g-resource-flight var(--flight-duration) cubic-bezier(0.25, 0.8, 0.35, 1)
			var(--flight-delay) both;
	}

	.resource-flight-item-energy.svelte-y6151g {
		color: var(--color-warning);
	}

	.resource-flight-item-money.svelte-y6151g {
		color: var(--color-accent-strong);
	}

	@keyframes svelte-y6151g-resource-flight {
		0% {
			opacity: 0;
			transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(0.72) rotate(0deg);
		}

		15% {
			opacity: 1;
			transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(0.9) rotate(0deg);
		}

		82% {
			opacity: 1;
			transform: translate(-50%, -50%)
				translate3d(calc(var(--flight-end-x) * 0.82), calc(var(--flight-end-y) * 0.82), 0)
				scale(0.62) rotate(var(--flight-rotation));
		}

		100% {
			opacity: 0;
			transform: translate(-50%, -50%) translate3d(var(--flight-end-x), var(--flight-end-y), 0)
				scale(0.5) rotate(var(--flight-rotation));
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.resource-flight-layer.svelte-y6151g {
			display: none;
		}
	}

	.home-background.svelte-4kcpjb {
		--home-room-filter: saturate(1.02) contrast(1.02) brightness(0.96);
		--home-portal-filter: saturate(1.02) contrast(1.04) brightness(0.96);
		--home-glow-opacity-low: 0.96;
		--home-glow-opacity-high: 1;
		--home-bulb-opacity-high: 0.72;
		--home-bulb-opacity-low: 0.16;
		--home-bulb-opacity-mid: 0.32;
		--home-vignette:
			radial-gradient(ellipse at 50% 49%, transparent 28%, rgb(0 0 0 / 0.2) 74%),
			linear-gradient(90deg, rgb(0 0 0 / 0.3), transparent 18%, transparent 82%, rgb(0 0 0 / 0.3));
	}

	[data-theme='dark'] .home-background.svelte-4kcpjb {
		--home-room-filter: saturate(1.08) contrast(1.08) brightness(0.78);
		--home-portal-filter: saturate(1.08) contrast(1.12) brightness(0.84);
		--home-glow-opacity-low: 0.96;
		--home-glow-opacity-high: 1;
		--home-bulb-opacity-high: 0.94;
		--home-bulb-opacity-low: 0.2;
		--home-bulb-opacity-mid: 0.42;
		--home-vignette:
			radial-gradient(ellipse at 50% 49%, transparent 20%, rgb(0 0 0 / 0.28) 72%),
			linear-gradient(90deg, rgb(0 0 0 / 0.52), transparent 20%, transparent 80%, rgb(0 0 0 / 0.52));
	}

	[data-theme='light'] .home-background.svelte-4kcpjb {
		--home-room-filter: saturate(0.96) contrast(1.02) brightness(0.92);
		--home-portal-filter: saturate(0.98) contrast(1.06) brightness(0.92);
		--home-glow-opacity-low: 0.94;
		--home-glow-opacity-high: 0.98;
		--home-light-map-opacity: 0.1;
		--home-bulb-opacity-high: 0.5;
		--home-bulb-opacity-low: 0.1;
		--home-bulb-opacity-mid: 0.22;
		--home-vignette:
			radial-gradient(ellipse at 50% 49%, transparent 24%, rgb(42 32 24 / 0.14) 74%),
			linear-gradient(
				90deg,
				rgb(42 32 24 / 0.26),
				transparent 20%,
				transparent 80%,
				rgb(42 32 24 / 0.26)
			);
	}

	.home-room-layer.svelte-4kcpjb {
		filter: var(--home-room-filter);
		height: 100%;
		object-fit: cover;
		transform: scale(1.035);
		width: 100%;
	}

	.portal-frame-layer.svelte-4kcpjb {
		animation: svelte-4kcpjb-portal-frame-breathe 7s ease-in-out infinite;
		filter: var(--home-portal-filter);
		transform: scale(1.03);
	}

	.portal-glow-layer.svelte-4kcpjb {
		transform: translate3d(
				calc(var(--home-parallax-x) * 0.55),
				calc(var(--home-parallax-y) * 0.55),
				0
			)
			scale(1.03);
		will-change: transform;
	}

	.portal-bulb-glow.svelte-4kcpjb {
		animation: svelte-4kcpjb-portal-bulb-flicker 4s infinite;
		filter: saturate(1.18) brightness(var(--home-bulb-brightness-high));
		mix-blend-mode: screen;
		opacity: var(--home-bulb-opacity-high);
	}

	.portal-bulb-glow-upper.svelte-4kcpjb {
		animation-delay: -0.35s;
	}

	.portal-bulb-glow-lower.svelte-4kcpjb {
		animation-delay: -1.1s;
	}

	.portal-bulb-outer.svelte-4kcpjb {
		fill: url('#portal-bulb-outer');
	}

	.portal-bulb-haze.svelte-4kcpjb {
		fill: url('#portal-bulb-haze');
	}

	.portal-bulb-core.svelte-4kcpjb {
		fill: url('#portal-bulb-core');
	}

	.portal-glow-layer.svelte-4kcpjb {
		animation: svelte-4kcpjb-portal-glow-pulse 3.6s ease-in-out infinite;
	}

	@keyframes svelte-4kcpjb-portal-frame-breathe {
		0%,
		100% {
			opacity: 0.98;
		}

		50% {
			opacity: 1;
		}
	}

	@keyframes svelte-4kcpjb-portal-glow-pulse {
		0%,
		100% {
			opacity: var(--home-glow-opacity-low);
		}

		45% {
			opacity: var(--home-glow-opacity-high);
		}

		68% {
			opacity: var(--home-glow-opacity-low);
		}
	}

	@keyframes svelte-4kcpjb-portal-bulb-flicker {
		0%,
		7%,
		12%,
		100% {
			opacity: var(--home-bulb-opacity-high);
		}

		5% {
			opacity: var(--home-bulb-opacity-low);
		}

		10% {
			opacity: var(--home-bulb-opacity-mid);
		}
	}
