@layer cm {
	.cm-round-modal {
		position: fixed;
		inset: 0;
		z-index: 50;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		background-color: #000c;
		padding: 0;
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		-webkit-user-select: none;
		user-select: none;
	}

	@media (max-width: 767.98px) {
		.cm-round-modal {
			padding-bottom: var(--cm-site-chrome-h);
		}
	}

	@media (min-width: 768px) {
		.cm-round-modal {
			position: absolute;
			align-items: center;
			padding: 1rem;
		}
	}

	.cm-round-modal__sheet {
		animation: .35s cubic-bezier(.16,1,.3,1) forwards bottom-sheet-slide-up;
		position: relative;
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border-top-left-radius: 28px;
		border-top-right-radius: 28px;
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
		background-color: #181920;
		padding-inline: 1.25rem;
		padding-top: 2rem;
		padding-bottom: calc(2rem + env(safe-area-inset-bottom));
		text-align: center;
		box-shadow: 0 -16px 40px #000000b3;
	}

	@media (min-width: 640px) {
		.cm-round-modal__sheet {
			padding-inline: 1.75rem;
		}
	}

	@media (min-width: 768px) {
		.cm-round-modal__sheet {
			max-width: 32rem;
			border-radius: 28px;
			padding: 2rem;
			box-shadow: 0 24px 70px #000000d9;
			animation: none;
		}
	}

	.cm-round-modal__burst {
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 50%;
		translate: -50% 0;
		display: flex;
		height: 2.5rem;
		width: 3rem;
		align-items: center;
		justify-content: center;
	}

	.cm-round-modal__piece {
		will-change: transform;
		animation: 1.6s cubic-bezier(.12,.94,.3,1) forwards confetti-radial-burst;
		pointer-events: none;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: calc(calc(1 / 2 * 100%) * -1) calc(calc(1 / 2 * 100%) * -1);
	}

	.cm-round-modal__piece-inner {
		will-change: transform, opacity;
		animation: 1.6s cubic-bezier(.38,0,.72,1) forwards confetti-gravity-physics;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cm-round-modal__star {
		filter: drop-shadow(0 1px 2px #00000026);
	}

	.cm-round-modal__title {
		margin-bottom: 0.5rem;
		font-family: FactorA,sans-serif;
		font-size: 16px;
		line-height: 125%;
		font-weight: 700;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-round-modal__title {
			margin-bottom: 0.625rem;
		}
	}

	@media (min-width: 768px) {
		.cm-round-modal__title {
			font-size: 24px;
		}
	}

	.cm-round-modal__text {
		margin-bottom: 1.5rem;
		max-width: 28rem;
		font-family: FactorA,sans-serif;
		font-size: 14px;
		line-height: 140%;
		font-weight: 400;
		color: #ffffffe6;
	}

	@media (min-width: 640px) {
		.cm-round-modal__text {
			margin-bottom: 1.75rem;
		}
	}

	@media (min-width: 768px) {
		.cm-round-modal__text {
			font-size: 20px;
		}
	}

	.cm-round-modal__score {
		font-family: FactorA,sans-serif;
		font-weight: 400;
		color: oklch(87.9% .169 91.605);
		filter: drop-shadow(0 1px 2px #00000026);
	}

	.cm-round-modal__btn {
		width: 100%;
		max-width: 24rem;
	}

	@media (min-width: 768px) {
		.cm-round-modal__btn {
			max-width: 20rem;
		}
	}

	.cm-round-modal__btn-label {
		position: relative;
		z-index: 10;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cm-round-modal__btn-text {
		font-family: FactorA,sans-serif;
	}

	.cm-burnout {
		position: fixed;
		inset: 0;
		z-index: 50;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		background-color: #000c;
		padding: 0;
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		-webkit-user-select: none;
		user-select: none;
	}

	@media (max-width: 767.98px) {
		.cm-burnout {
			padding-bottom: var(--cm-site-chrome-h);
		}
	}

	@media (min-width: 768px) {
		.cm-burnout {
			position: absolute;
			align-items: center;
			padding: 1rem;
		}
	}

	.cm-burnout__sheet {
		animation: .35s cubic-bezier(.16,1,.3,1) forwards bottom-sheet-slide-up;
		position: relative;
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border-top-left-radius: 28px;
		border-top-right-radius: 28px;
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
		background-color: #181920;
		padding-inline: 1.25rem;
		padding-top: 2rem;
		padding-bottom: calc(2rem + env(safe-area-inset-bottom));
		text-align: center;
		box-shadow: 0 -16px 40px #000000b3;
	}

	@media (min-width: 640px) {
		.cm-burnout__sheet {
			padding-inline: 1.75rem;
		}
	}

	@media (min-width: 768px) {
		.cm-burnout__sheet {
			max-width: 32rem;
			border-radius: 28px;
			padding: 2rem;
			box-shadow: 0 24px 70px #000000d9;
			animation: none;
		}
	}

	.cm-burnout__title {
		margin-bottom: 1.25rem;
		max-width: 28rem;
		font-family: FactorA,sans-serif;
		font-size: 15px;
		line-height: 135%;
		font-weight: 400;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-burnout__title {
			margin-bottom: 1.5rem;
			font-size: 16px;
		}
	}

	@media (min-width: 768px) {
		.cm-burnout__title {
			font-size: 18px;
		}
	}

	.cm-burnout__hp {
		margin-bottom: 1.5rem;
		display: flex;
		width: 100%;
		max-width: 24rem;
		align-items: center;
		justify-content: center;
	}

	@media (min-width: 640px) {
		.cm-burnout__hp {
			margin-bottom: 1.75rem;
		}
	}

	@media (min-width: 768px) {
		.cm-burnout__hp {
			max-width: 20rem;
		}
	}

	.cm-burnout__btn {
		width: 100%;
		max-width: 24rem;
	}

	@media (min-width: 768px) {
		.cm-burnout__btn {
			max-width: 20rem;
		}
	}

	.cm-burnout__btn-label {
		position: relative;
		z-index: 10;
		font-family: FactorA,sans-serif;
	}

	.cm-final-modal {
		position: fixed;
		inset: 0;
		z-index: 50;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		overflow: hidden;
		background-color: #000000d9;
		padding: 0;
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		-webkit-user-select: none;
		user-select: none;
	}

	@media (max-width: 767.98px) {
		.cm-final-modal {
			padding-bottom: var(--cm-site-chrome-h);
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal {
			position: absolute;
			align-items: center;
			padding: 1rem;
		}
	}

	.cm-final-modal__confetti {
		pointer-events: none;
		position: absolute;
		inset: 0;
		z-index: 30;
		overflow: hidden;
	}

	.cm-final-modal__piece {
		will-change: transform;
		animation: 1.35s cubic-bezier(.12,.94,.3,1) forwards confetti-radial-burst;
		pointer-events: none;
		position: absolute;
	}

	.cm-final-modal__piece-inner {
		will-change: transform, opacity;
		animation: 1.35s cubic-bezier(.38,0,.72,1) forwards confetti-gravity-physics;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cm-final-modal__shape-circle {
		border-radius: 9999px;
		box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
	}

	.cm-final-modal__shape-rect {
		border-radius: .125rem;
		box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
	}

	.cm-final-modal__shape-diamond {
		rotate: 45deg;
		box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
	}

	.cm-final-modal__star {
		filter: drop-shadow(0 1px 2px #00000026);
	}

	.cm-final-modal__card {
		will-change: transform, opacity;
		animation: .42s cubic-bezier(.16,1,.3,1) both final-modal-slide-mobile;
		box-shadow: 0 0 50px #fef08a38, 0 0 90px #fbbf241f, 0 24px 70px #000000e6;
		position: relative;
		z-index: 50;
		display: flex;
		max-height: 92vh;
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		overflow-y: auto;
		border-top-left-radius: 28px;
		border-top-right-radius: 28px;
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
		border-top-style: solid;
		border-top-width: 1px;
		border-color: #fee68540;
		background-color: oklab(21.5539% .00210592 -.0136433/.95);
		padding-inline: 1.25rem;
		padding-top: 1.5rem;
		padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
		text-align: center;
		-webkit-backdrop-filter: blur(24px);
		backdrop-filter: blur(24px);
	}

	@media (max-width: 767.98px) {
		.cm-final-modal__card {
			max-height: calc(92dvh - var(--cm-site-chrome-h));
		}
	}

	@media (min-width: 640px) {
		.cm-final-modal__card {
			padding-inline: 2rem;
			padding-top: 2rem;
			padding-bottom: calc(2rem + env(safe-area-inset-bottom));
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal__card {
			max-width: 36rem;
			border-radius: 36px;
			border-style: solid;
			border-width: 1px;
		}
	}

	.cm-final-modal__line {
		pointer-events: none;
		position: absolute;
		inset-inline: 2rem;
		top: 0;
		height: 1px;
		background-image: linear-gradient(to right in oklab, transparent, #fee68566, transparent);
	}

	.cm-final-modal__title {
		animation: .35s cubic-bezier(.16,1,.3,1) .14s both content-fade-in;
		margin-top: auto;
		margin-bottom: 0.625rem;
		font-family: FactorA,sans-serif;
		font-size: 22px;
		line-height: 120%;
		font-weight: 700;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-final-modal__title {
			font-size: 26px;
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal__title {
			font-size: 30px;
		}
	}

	.cm-final-modal__text {
		animation: .35s cubic-bezier(.16,1,.3,1) .24s both content-fade-in;
		margin-bottom: 1.25rem;
		max-width: 32rem;
		font-family: FactorA,sans-serif;
		font-size: 13.5px;
		line-height: 140%;
		font-weight: 400;
		color: #ffffffe6;
	}

	@media (min-width: 640px) {
		.cm-final-modal__text {
			margin-bottom: 1.5rem;
			font-size: 15px;
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal__text {
			font-size: 16px;
		}
	}

	.cm-final-modal__stats {
		margin-bottom: 1.25rem;
		display: flex;
		width: 100%;
		flex-direction: column;
		gap: 0.75rem;
	}

	@media (min-width: 640px) {
		.cm-final-modal__stats {
			margin-bottom: 1.5rem;
			gap: 0.875rem;
		}
	}

	.cm-final-modal__score-card {
		animation: .44s cubic-bezier(.22,1,.36,1) .34s both content-bounce-in;
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		border-radius: 1rem;
		border-style: solid;
		border-width: 1px;
		border-color: #ffffff1a;
		background-color: #ffffff0d;
		padding: 1rem;
		text-align: left;
	}

	@media (min-width: 640px) {
		.cm-final-modal__score-card {
			padding: 1.125rem;
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal__score-card {
			border-radius: 24px;
			padding: 1.25rem;
		}
	}

	.cm-final-modal__stat-label {
		margin-bottom: .25rem;
		display: block;
		font-family: FactorA,sans-serif;
		font-size: 13px;
		font-weight: 400;
		color: #ffffffb3;
	}

	@media (min-width: 640px) {
		.cm-final-modal__stat-label {
			font-size: 14px;
		}
	}

	.cm-final-modal__score {
		font-family: FactorA,sans-serif;
		font-size: 20px;
		line-height: 120%;
		font-weight: 700;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-final-modal__score {
			font-size: 24px;
		}
	}

	.cm-final-modal__type-card {
		animation: .44s cubic-bezier(.22,1,.36,1) .46s both content-bounce-in;
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		border-radius: 1rem;
		border-style: solid;
		border-width: 1px;
		border-color: #ffffff1a;
		background-color: #ffffff0d;
		padding: 1rem;
		text-align: left;
	}

	@media (min-width: 640px) {
		.cm-final-modal__type-card {
			padding: 1.125rem;
		}
	}

	@media (min-width: 768px) {
		.cm-final-modal__type-card {
			border-radius: 24px;
			padding: 1.25rem;
		}
	}

	.cm-final-modal__type-name {
		margin-bottom: 0.375rem;
		font-family: FactorA,sans-serif;
		font-size: 16.5px;
		line-height: 125%;
		font-weight: 700;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-final-modal__type-name {
			font-size: 18.5px;
		}
	}

	.cm-final-modal__type-text {
		font-family: FactorA,sans-serif;
		font-size: 12.5px;
		line-height: 140%;
		font-weight: 400;
		color: #fffc;
	}

	@media (min-width: 640px) {
		.cm-final-modal__type-text {
			font-size: 13.5px;
		}
	}

	.cm-final-modal__btn {
		animation: .35s cubic-bezier(.16,1,.3,1) .58s both content-fade-in;
		width: 100%;
		margin-bottom: auto;
	}

	}
