/* Shared Iri sun-ray logo (welcome, auth, portals) */
.iri-sun-logo {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--iri-sun-size, 88px);
	height: var(--iri-sun-size, 88px);
	overflow: visible;
	vertical-align: middle;
}

/* Default size token — not applied on login/register navbar wrap */
.iri-sun-logo:not(.app-navbar-logo-wrap) {
	--iri-sun-size: 88px;
}

.iri-sun-logo-rays {
	position: absolute;
	inset: calc(var(--iri-sun-size) * -0.18);
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	background: repeating-conic-gradient(
		from 0deg,
		rgba(255, 210, 70, 0.95) 0deg 5deg,
		rgba(255, 236, 160, 0.45) 5deg 8deg,
		transparent 8deg 20deg
	);
	-webkit-mask-image: radial-gradient(circle, transparent 40%, #000 46%, #000 70%, transparent 82%);
	mask-image: radial-gradient(circle, transparent 40%, #000 46%, #000 70%, transparent 82%);
	animation: iri-logo-sun-spin 12s linear infinite;
	filter: drop-shadow(0 0 4px rgba(255, 200, 60, 0.55));
}

.iri-sun-logo-disk {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	background: transparent;
	box-shadow:
		0 0 0 2px rgba(255, 214, 90, 0.5),
		0 0 12px rgba(255, 196, 54, 0.45),
		0 8px 20px rgba(0, 0, 0, 0.12);
	animation: iri-logo-sun-glow 3s ease-in-out infinite;
}

.iri-sun-logo-img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

@keyframes iri-logo-sun-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes iri-logo-sun-glow {
	0%, 100% {
		box-shadow:
			0 0 0 2px rgba(255, 214, 90, 0.4),
			0 0 10px rgba(255, 196, 54, 0.35),
			0 8px 20px rgba(0, 0, 0, 0.12);
	}
	50% {
		box-shadow:
			0 0 0 3px rgba(255, 214, 90, 0.65),
			0 0 16px rgba(255, 196, 54, 0.6),
			0 8px 20px rgba(0, 0, 0, 0.12);
	}
}

@media (prefers-reduced-motion: reduce) {
	.iri-sun-logo-rays,
	.iri-sun-logo-disk {
		animation: none !important;
	}
}
