/* Avalon Awards: Schedule presentation and earned profile trophy collections. */

body.avalon-page-schedule .avalon-awards-header {
	--avalon-awards-portrait-size: 65px;
	position: absolute;
	right: 250px;
	top: 32px;
	z-index: 320;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	width: 410px;
	min-height: 76px;
	box-sizing: border-box;
	padding: 5px 12px;
	perspective: 600px;
	pointer-events: none;
}

body.avalon-page-schedule .avalon-awards-header::before {
	content: "";
	position: absolute;
	inset: 7px 3%;
	z-index: -1;
	border-radius: 999px;
	background:
		radial-gradient(circle at 22% 46%, rgba(255, 245, 198, .19), transparent 25%),
		radial-gradient(circle at 78% 54%, rgba(195, 228, 255, .16), transparent 27%);
	filter: blur(10px);
	pointer-events: none;
}

body.avalon-page-schedule .avalon-awards-header__profile {
	position: relative;
	display: block;
	flex: 0 0 var(--avalon-awards-portrait-size);
	width: var(--avalon-awards-portrait-size);
	height: var(--avalon-awards-portrait-size);
	box-sizing: border-box;
	overflow: hidden;
	border: 2px solid rgba(255, 225, 125, .88);
	border-radius: 24% 24% 31% 31%;
	background: #190a1f;
	box-shadow:
		0 8px 18px rgba(0, 0, 0, .48),
		0 0 0 2px rgba(93, 42, 105, .70),
		0 0 18px rgba(255, 220, 101, .25),
		inset 0 0 12px rgba(255, 255, 255, .13);
	transform: translateZ(0) rotateY(0deg);
	transform-origin: 50% 70%;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
	pointer-events: auto;
}

body.avalon-page-schedule .avalon-awards-header__profile::after {
	content: "";
	position: absolute;
	inset: -35% 48% -35% -28%;
	background: linear-gradient(112deg, transparent 27%, rgba(255, 255, 255, .42) 49%, transparent 70%);
	transform: translateX(-125%) rotate(8deg);
	transition: transform .6s ease;
	pointer-events: none;
}

body.avalon-page-schedule .avalon-awards-header__profile:hover,
body.avalon-page-schedule .avalon-awards-header__profile:focus-visible {
	border-color: #fff0a3;
	box-shadow:
		0 11px 22px rgba(0, 0, 0, .52),
		0 0 0 2px rgba(137, 67, 150, .80),
		0 0 25px rgba(255, 232, 139, .44),
		inset 0 0 13px rgba(255, 255, 255, .16);
	transform: translateY(-3px) rotateY(-6deg) scale(1.035);
}

body.avalon-page-schedule .avalon-awards-header__profile:hover::after,
body.avalon-page-schedule .avalon-awards-header__profile:focus-visible::after {
	transform: translateX(285%) rotate(8deg);
}

body.avalon-page-schedule .avalon-awards-header__profile:focus-visible {
	outline: 2px solid #fff7c2;
	outline-offset: 4px;
}

body.avalon-page-schedule .avalon-awards-header__profile:only-child {
	--avalon-awards-portrait-size: 72px;
}

body.avalon-page-schedule .avalon-awards-header__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
	object-fit: cover;
	object-position: 50% 24%;
}

body.avalon-page-schedule .avalon-awards-photo-host--positioned {
	position: relative;
}

body.avalon-page-schedule .avalon-awards-photo-badges {
	--avalon-awards-trophy-size: 120px;
	position: absolute;
	left: 6px;
	bottom: 6px;
	z-index: 34;
	display: flex;
	align-items: flex-end;
	gap: 5px;
	width: calc(100% - 12px);
	max-width: 370px;
	perspective: 560px;
	pointer-events: none;
	user-select: none;
}

body.avalon-page-schedule .avalon-awards-photo-badge {
	position: relative;
	display: block;
	flex: 0 1 var(--avalon-awards-trophy-size);
	width: var(--avalon-awards-trophy-size);
	min-width: 0;
	height: auto;
	aspect-ratio: 1 / 1;
	transform-style: preserve-3d;
	transform-origin: 50% 70%;
	animation: avalonAwardJewelOrbit 5.8s ease-in-out infinite;
	will-change: transform;
}

body.avalon-page-schedule .avalon-awards-photo-badge:nth-child(2) {
	animation-delay: -1.93s;
}

body.avalon-page-schedule .avalon-awards-photo-badge:nth-child(3) {
	animation-delay: -3.86s;
}

body.avalon-page-schedule .avalon-awards-photo-badge::before {
	content: "";
	position: absolute;
	left: 12%;
	right: 12%;
	bottom: -1px;
	height: 24%;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(255, 232, 151, .78), rgba(176, 83, 221, .20) 46%, transparent 72%);
	filter: blur(3px);
	opacity: .82;
	transform: translateZ(-2px);
}

body.avalon-page-schedule .avalon-awards-photo-badge::after {
	content: "";
	position: absolute;
	inset: 8% 17%;
	border-radius: 44%;
	background: linear-gradient(116deg, transparent 18%, rgba(255, 255, 255, .75) 45%, rgba(171, 229, 255, .38) 52%, transparent 76%);
	filter: blur(.4px);
	mix-blend-mode: screen;
	opacity: .32;
	transform: translate3d(-8px, -5px, 2px) rotate(-14deg);
	animation: avalonAwardJewelGleam 2.9s ease-in-out infinite;
}

body.avalon-page-schedule .avalon-awards-photo-badge:nth-child(2)::after {
	animation-delay: -1s;
}

body.avalon-page-schedule .avalon-awards-photo-badge:nth-child(3)::after {
	animation-delay: -2s;
}

body.avalon-page-schedule .avalon-awards-photo-badge__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
	object-fit: contain;
	backface-visibility: visible;
	filter:
		drop-shadow(0 2px 2px rgba(0, 0, 0, .75))
		drop-shadow(0 0 3px rgba(255, 239, 180, .82))
		drop-shadow(0 0 5px rgba(190, 116, 255, .30));
}

@keyframes avalonAwardJewelOrbit {
	0%, 100% {
		transform: translate3d(-1px, 0, 0) rotateX(3deg) rotateY(-22deg) rotateZ(-2deg) scale(.98);
	}
	25% {
		transform: translate3d(0, -2px, 2px) rotateX(-2deg) rotateY(0deg) rotateZ(1deg) scale(1.035);
	}
	50% {
		transform: translate3d(1px, 0, 0) rotateX(3deg) rotateY(22deg) rotateZ(2deg) scale(.99);
	}
	75% {
		transform: translate3d(0, 1px, -1px) rotateX(0deg) rotateY(0deg) rotateZ(-1deg) scale(1.015);
	}
}

@keyframes avalonAwardJewelGleam {
	0%, 22% {
		opacity: .08;
		transform: translate3d(-9px, 5px, 2px) rotate(-14deg);
	}
	48% {
		opacity: .68;
		transform: translate3d(7px, -7px, 2px) rotate(-14deg);
	}
	70%, 100% {
		opacity: .14;
		transform: translate3d(10px, -9px, 2px) rotate(-14deg);
	}
}

body.avalon-page-hostess .avalon-awards-profile-history {
	--avalon-awards-profile-trophy-size: 148px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px;
	clear: both;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 28px;
	padding: 12px 14px 18px;
	border: 1px solid rgba(239, 196, 92, .22);
	border-radius: 18px;
	background:
		radial-gradient(circle at 50% 12%, rgba(255, 235, 151, .12), transparent 35%),
		linear-gradient(135deg, rgba(48, 12, 52, .38), rgba(12, 4, 18, .16));
	box-shadow:
		inset 0 0 28px rgba(255, 222, 126, .05),
		0 10px 28px rgba(0, 0, 0, .22);
	perspective: 760px;
	line-height: 1;
	user-select: none;
}

body.avalon-page-hostess .avalon-awards-profile-history__item {
	display: flex;
	align-items: center;
	flex: 0 1 var(--avalon-awards-profile-trophy-size);
	flex-direction: column;
	width: var(--avalon-awards-profile-trophy-size);
	min-width: 0;
}

body.avalon-page-hostess .avalon-awards-profile-history__jewel {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	transform-style: preserve-3d;
	transform-origin: 50% 70%;
	animation: avalonAwardJewelOrbit 5.8s ease-in-out infinite;
	will-change: transform;
}

body.avalon-page-hostess .avalon-awards-profile-history__item:nth-child(2) .avalon-awards-profile-history__jewel {
	animation-delay: -1.93s;
}

body.avalon-page-hostess .avalon-awards-profile-history__item:nth-child(3) .avalon-awards-profile-history__jewel {
	animation-delay: -3.86s;
}

body.avalon-page-hostess .avalon-awards-profile-history__jewel::before {
	content: "";
	position: absolute;
	left: 11%;
	right: 11%;
	bottom: -2px;
	height: 25%;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(255, 232, 151, .76), rgba(176, 83, 221, .20) 46%, transparent 72%);
	filter: blur(4px);
	opacity: .86;
	transform: translateZ(-2px);
}

body.avalon-page-hostess .avalon-awards-profile-history__jewel::after {
	content: "";
	position: absolute;
	inset: 8% 17%;
	border-radius: 44%;
	background: linear-gradient(116deg, transparent 18%, rgba(255, 255, 255, .78) 45%, rgba(171, 229, 255, .38) 52%, transparent 76%);
	filter: blur(.4px);
	mix-blend-mode: screen;
	opacity: .32;
	transform: translate3d(-8px, -5px, 2px) rotate(-14deg);
	animation: avalonAwardJewelGleam 2.9s ease-in-out infinite;
}

body.avalon-page-hostess .avalon-awards-profile-history__item:nth-child(2) .avalon-awards-profile-history__jewel::after {
	animation-delay: -1s;
}

body.avalon-page-hostess .avalon-awards-profile-history__item:nth-child(3) .avalon-awards-profile-history__jewel::after {
	animation-delay: -2s;
}

body.avalon-page-hostess .avalon-awards-profile-history__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
	object-fit: contain;
	backface-visibility: visible;
	filter:
		drop-shadow(0 3px 3px rgba(0, 0, 0, .78))
		drop-shadow(0 0 4px rgba(255, 239, 180, .88))
		drop-shadow(0 0 8px rgba(190, 116, 255, .34));
}

body.avalon-page-hostess .avalon-awards-profile-history__count {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	box-sizing: border-box;
	margin-top: 5px;
	padding: 5px 11px 6px;
	border: 1px solid rgba(255, 221, 115, .76);
	border-radius: 999px;
	background: linear-gradient(145deg, rgba(97, 28, 105, .96), rgba(27, 7, 36, .98));
	box-shadow:
		0 5px 12px rgba(0, 0, 0, .42),
		inset 0 1px 0 rgba(255, 255, 255, .18),
		0 0 11px rgba(245, 198, 89, .18);
	color: #fff3bd;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: .03em;
	line-height: 1;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .72);
}

@media (min-width: 981px) {
	body.avalon-page-schedule .avalon-awards-header {
		--avalon-awards-portrait-size: 82px;
		right: 230px;
		top: 88px;
		width: 578px;
		min-height: 100px;
	}

	body.avalon-page-schedule .avalon-awards-header__profile:only-child {
		--avalon-awards-portrait-size: 92px;
	}
}

@media (max-width: 980px) {
	body.avalon-page-schedule .avalon-awards-header {
		--avalon-awards-portrait-size: 65px;
		right: 250px;
		top: 32px;
		gap: 10px;
		width: 410px;
		min-height: 76px;
	}

	body.avalon-page-schedule .avalon-awards-header__profile {
		border-radius: 21% 21% 29% 29%;
	}

	body.avalon-page-schedule .avalon-awards-header__profile:only-child {
		--avalon-awards-portrait-size: 72px;
	}
}

@media (max-width: 760px) {
	body.avalon-page-hostess .avalon-awards-profile-history {
		--avalon-awards-profile-trophy-size: 100px;
		gap: 10px;
		margin-bottom: 22px;
		padding: 10px 8px 15px;
		border-radius: 15px;
		perspective: 520px;
	}

	body.avalon-page-hostess .avalon-awards-profile-history__count {
		min-width: 38px;
		padding: 4px 9px 5px;
		font-size: 16px;
	}

	body.avalon-page-schedule .avalon-awards-header {
		--avalon-awards-portrait-size: 61px;
		left: 8px;
		right: auto;
		top: 246px;
		justify-content: flex-start;
		gap: 9px;
		width: calc(100vw - 98px);
		max-width: 310px;
		min-height: 76px;
		padding: 6px 9px;
	}

	body.avalon-page-schedule .avalon-awards-header__profile:only-child {
		--avalon-awards-portrait-size: 66px;
	}

	body.avalon-page-schedule .avalon-awards-photo-badges {
		--avalon-awards-trophy-size: 84px;
		left: 4px;
		bottom: 4px;
		gap: 3px;
		width: calc(100% - 8px);
		max-width: 258px;
		perspective: 390px;
	}
}

@media (max-width: 420px) {
	body.avalon-page-hostess .avalon-awards-profile-history {
		--avalon-awards-profile-trophy-size: 88px;
		gap: 6px;
		padding-inline: 5px;
	}

	body.avalon-page-schedule .avalon-awards-header {
		--avalon-awards-portrait-size: 56px;
		left: 6px;
		top: 248px;
		gap: 7px;
		width: calc(100vw - 92px);
		max-width: 300px;
		min-height: 70px;
		padding-inline: 7px;
	}

	body.avalon-page-schedule .avalon-awards-header__profile:only-child {
		--avalon-awards-portrait-size: 62px;
	}

	body.avalon-page-schedule .avalon-awards-photo-badges {
		--avalon-awards-trophy-size: 72px;
		gap: 2px;
		max-width: 220px;
		perspective: 330px;
	}
}

@media (max-width: 360px) {
	body.avalon-page-hostess .avalon-awards-profile-history {
		--avalon-awards-profile-trophy-size: 80px;
		gap: 4px;
	}

	body.avalon-page-schedule .avalon-awards-header {
		--avalon-awards-portrait-size: 53px;
		width: calc(100vw - 88px);
		max-width: 284px;
	}

	body.avalon-page-schedule .avalon-awards-header__profile:only-child {
		--avalon-awards-portrait-size: 59px;
	}

	body.avalon-page-schedule .avalon-awards-photo-badges {
		--avalon-awards-trophy-size: 66px;
		max-width: 202px;
		perspective: 300px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.avalon-page-hostess .avalon-awards-profile-history__jewel,
	body.avalon-page-hostess .avalon-awards-profile-history__jewel::after {
		animation: none;
	}

	body.avalon-page-hostess .avalon-awards-profile-history__jewel {
		transform: none;
	}

	body.avalon-page-hostess .avalon-awards-profile-history__jewel::after {
		opacity: .34;
		transform: translate3d(1px, -2px, 2px) rotate(-14deg);
	}

	body.avalon-page-schedule .avalon-awards-photo-badge,
	body.avalon-page-schedule .avalon-awards-photo-badge::after {
		animation: none;
	}

	body.avalon-page-schedule .avalon-awards-photo-badge {
		transform: none;
	}

	body.avalon-page-schedule .avalon-awards-photo-badge::after {
		opacity: .34;
		transform: translate3d(1px, -2px, 2px) rotate(-14deg);
	}

	body.avalon-page-schedule .avalon-awards-header__profile,
	body.avalon-page-schedule .avalon-awards-header__profile::after {
		transition: none;
	}
}
