body.ycsp-open {
	overflow:hidden;
	overscroll-behavior:none;
}

.ycsp {
	--ycsp-blue:var(--uicolor);
	--ycsp-blue-dark:color-mix(in srgb,var(--uicolor) 42%,var(--primary-text));
	--ycsp-orange:var(--uicolor2);
	--ycsp-yellow:var(--uicolor3);
	--ycsp-cream:var(--background);
	--ycsp-surface:var(--surface-color);
	--ycsp-text:var(--primary-text);
	--ycsp-muted:var(--secondarytext);
	--ycsp-border:var(--diver);
	--ycsp-danger:var(--danger-color);
	--ycsp-step-shift:-18px;
	position:fixed;
	inset:0;
	z-index:99999;
	min-height:100vh;
	min-height:100dvh;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow-x:hidden;
	overflow-y:auto;
	padding:
		max(18px,env(safe-area-inset-top))
		max(18px,env(safe-area-inset-right))
		max(18px,env(safe-area-inset-bottom))
		max(18px,env(safe-area-inset-left));
	opacity:0;
	pointer-events:none;
	overscroll-behavior:contain;
	isolation:isolate;
	-webkit-tap-highlight-color:transparent;
	transition:opacity .3s ease;
}

.ycsp[dir="rtl"] {
	--ycsp-step-shift:18px;
	direction:rtl;
}

.ycsp[dir="ltr"] {
	direction:ltr;
}

.ycsp,
.ycsp *,
.ycsp *::before,
.ycsp *::after {
	box-sizing:border-box;
}

.ycsp.is-visible {
	opacity:1;
	pointer-events:auto;
}

.ycsp.is-leaving {
	opacity:0;
}

.ycsp-backdrop {
	position:absolute;
	inset:0;
	z-index:-1;
	background:rgb(var(--primary-text-code) / 58%);
	-webkit-backdrop-filter:blur(11px);
	backdrop-filter:blur(11px);
	cursor:pointer;
}

.ycsp-card {
	position:relative;
	width:min(790px,100%);
	max-height:calc(100vh - 36px);
	max-height:calc(100dvh - 36px);
	overflow-x:hidden;
	overflow-y:auto;
	overscroll-behavior:contain;
	padding:30px 38px 24px;
	border:8px solid color-mix(in srgb,var(--surface-color) 92%,transparent);
	border-radius:34px;
	background:
		radial-gradient(
			circle at 50% 38%,
			color-mix(in srgb,var(--surface-color) 92%,transparent),
			transparent 48%
		),
		linear-gradient(145deg,var(--surface-color),var(--ycsp-cream));
	color:var(--ycsp-text);
	box-shadow:
		0 34px 85px rgb(var(--primary-text-code) / 34%),
		inset 0 0 0 1px rgb(var(--uicolor-code) / 8%);
	opacity:1;
	scrollbar-gutter:stable;
	scrollbar-width:thin;
	scrollbar-color:rgb(var(--uicolor-code) / 35%) transparent;
	transform:translateY(26px) scale(.95);
	transition:
		transform .44s cubic-bezier(.18,.9,.24,1.14),
		opacity .3s ease;
}

.ycsp-card[data-current-step="claim"] {
	width:min(610px,100%);
	padding-block:34px;
}

.ycsp-card::-webkit-scrollbar {
	width:7px;
}

.ycsp-card::-webkit-scrollbar-track {
	background:transparent;
}

.ycsp-card::-webkit-scrollbar-thumb {
	border:2px solid transparent;
	border-radius:999px;
	background:rgb(var(--uicolor-code) / 35%);
	background-clip:padding-box;
}

.ycsp.is-visible .ycsp-card {
	transform:none;
}

.ycsp.is-leaving .ycsp-card {
	transform:translateY(18px) scale(.97);
}

.ycsp-close {
	position:absolute;
	top:20px;
	inset-inline-end:20px;
	z-index:12;
	width:45px;
	height:45px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	border:3px solid rgb(var(--uicolor-code) / 12%);
	border-radius:50%;
	-webkit-appearance:none;
	appearance:none;
	color:var(--ycsp-blue-dark);
	background:color-mix(in srgb,var(--surface-color) 94%,transparent);
	box-shadow:0 7px 18px rgb(var(--uicolor-code) / 12%);
	cursor:pointer;
	font:inherit;
	font-size:25px;
	touch-action:manipulation;
	transition:
		transform .2s ease,
		border-color .2s ease,
		background-color .2s ease;
}

.ycsp-close:active {
	transform:scale(.93);
}

.ycsp :is(
	.ycsp-close,
	.ycsp-main-btn,
	.ycsp-spin-core,
	.ycsp-actions button,
	.ycsp-actions a,
	.ycsp-claim input[input-model]
):focus-visible {
	outline:3px solid rgb(var(--uicolor2-code) / 55%);
	outline-offset:3px;
}

.ycsp-step {
	position:relative;
	z-index:2;
	display:none;
	min-width:0;
	text-align:center;
	animation:ycspStepIn .42s ease both;
}

.ycsp-step.active {
	display:block;
}

.ycsp-head {
	position:relative;
	z-index:4;
	min-width:0;
	padding-inline:56px;
}

.ycsp-badge {
	width:max-content;
	max-width:calc(100% - 110px);
	min-height:34px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-block-end:11px;
	padding:6px 18px;
	border-radius:999px;
	color:var(--on-color);
	background:linear-gradient(135deg,var(--ycsp-orange),var(--uicolor2-hover));
	box-shadow:0 8px 18px rgb(var(--uicolor2-code) / 20%);
	font-size:14px;
	font-weight:900;
	line-height:1.3;
	overflow-wrap:anywhere;
}

.ycsp-badge i {
	flex:0 0 auto;
	color:var(--ycsp-yellow);
	font-size:12px;
}

.ycsp h2 {
	max-width:680px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin:0 auto 14px;
	color:var(--ycsp-blue-dark);
	font-size:clamp(30px,4.2vw,33px);
	font-weight:950;
	line-height:1.22;
	overflow-wrap:anywhere;
}

.ycsp h2 span {
	min-width:0;
}

.ycsp h2 > i {
	flex:0 0 auto;
	color:var(--ycsp-orange);
	font-size:20px;
	transform:rotate(-18deg);
}

.ycsp h2 > i:last-child {
	color:var(--ycsp-blue);
	transform:rotate(18deg);
}

.ycsp p {
	max-width:650px;
	margin:0 auto 14px;
	color:var(--ycsp-muted);
	font-size:17px;
	font-weight:700;
	line-height:1.7;
	overflow-wrap:anywhere;
}

.ycsp-game {
	position:relative;
	min-height:420px;
	display:flex;
	align-items:flex-start;
	justify-content:center;
}

.ycsp-wheel-wrap {
	--ycsp-light-radius:187px;
	position:relative;
	z-index:3;
	width:min(405px,100%);
	aspect-ratio:1;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:22px auto 12px;
	border:8px solid var(--ycsp-blue);
	border-radius:50%;
	background:var(--media-placeholder);
	box-shadow:
		0 17px 38px rgb(var(--uicolor-code) / 22%),
		0 0 0 7px rgb(var(--uicolor-code) / 12%),
		inset 0 0 0 3px color-mix(in srgb,var(--on-color) 72%,transparent);
	container-type:inline-size;
}

.ycsp-wheel-wrap::before {
	content:"";
	position:absolute;
	inset:7px;
	z-index:1;
	border:3px solid color-mix(in srgb,var(--on-color) 80%,transparent);
	border-radius:50%;
	pointer-events:none;
}

.ycsp-pointer {
	position:absolute;
	top:-18px;
	left:50%;
	z-index:9;
	width:44px;
	height:44px;
	border:5px solid var(--on-color);
	border-radius:50% 50% 50% 0;
	background:var(--ycsp-orange);
	box-shadow:0 6px 13px rgb(var(--uicolor-code) / 24%);
	transform:translateX(-50%) rotate(-45deg);
	pointer-events:none;
}

.ycsp-pointer::after {
	content:"";
	position:absolute;
	inset:9px;
	border-radius:50%;
	background:var(--uicolor2-hover);
}

.ycsp-wheel-lights {
	position:absolute;
	inset:0;
	z-index:7;
	border-radius:50%;
	pointer-events:none;
}

.ycsp-wheel-lights i {
	position:absolute;
	top:50%;
	left:50%;
	width:10px;
	height:10px;
	margin:-5px;
	border:2px solid color-mix(in srgb,var(--on-color) 75%,transparent);
	border-radius:50%;
	background:var(--ycsp-yellow);
	box-shadow:0 1px 5px rgb(var(--uicolor-code) / 24%);
	transform:
		rotate(var(--light-angle))
		translateY(calc(0px - var(--ycsp-light-radius)));
}

.ycsp-wheel-disc {
	position:relative;
	z-index:2;
	width:calc(100% - 24px);
	aspect-ratio:1;
	overflow:hidden;
	border:5px solid color-mix(in srgb,var(--on-color) 96%,transparent);
	border-radius:50%;
	box-shadow:inset 0 0 20px rgb(var(--uicolor-code) / 16%);
	transform:rotate(var(--spin-rotation,0deg));
	transition:transform 4.15s cubic-bezier(.07,.72,.08,1);
	will-change:transform;
}

.ycsp-wheel-disc::after {
	content:"";
	position:absolute;
	inset:0;
	border-radius:50%;
	background:
		radial-gradient(circle at 35% 27%,color-mix(in srgb,var(--on-color) 22%,transparent),transparent 35%),
		radial-gradient(circle,transparent 0 64%,color-mix(in srgb,var(--on-color) 10%,transparent) 65% 100%);
	pointer-events:none;
}

.ycsp-slice-label {
	position:absolute;
	top:50%;
	left:50%;
	z-index:3;
	width:min(var(--label-width,88px),88px);
	min-height:62px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--ycsp-blue-dark);
	font-size:min(var(--slice-font,14px),14px);
	font-weight:950;
	line-height:1.3;
	text-align:center;
	transform:
		translate(-50%,-50%)
		rotate(var(--slice-angle))
		translateY(calc(0px - min(var(--label-distance,112px),112px)))
		rotate(var(--slice-counter));
	pointer-events:none;
}

.ycsp-slice-label.ycsp-slice-light {
	color:var(--on-color);
}

.ycsp-slice-label-inner {
	width:100%;
	min-width:0;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:5px;
}

.ycsp-slice-label i {
	flex:0 0 auto;
	color:currentColor;
	font-size:min(var(--slice-icon,24px),24px);
}

.ycsp-slice-label b {
	width:100%;
	min-width:0;
	display:-webkit-box;
	overflow:hidden;
	overflow-wrap:anywhere;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
}

.ycsp-wheel-dense .ycsp-slice-label {
	line-height:1.15;
}

.ycsp-wheel-ultra .ycsp-slice-label {
	min-height:44px;
}

@supports (width:1cqi) {
	.ycsp-slice-label {
		width:min(var(--label-width,88px),24cqi);
		font-size:min(var(--slice-font,14px),3.55cqi);
		transform:
			translate(-50%,-50%)
			rotate(var(--slice-angle))
			translateY(calc(0px - min(var(--label-distance,112px),31cqi)))
			rotate(var(--slice-counter));
	}

	.ycsp-slice-label i {
		font-size:min(var(--slice-icon,24px),6.4cqi);
	}
}

.ycsp-spin-core {
	position:absolute;
	z-index:8;
	width:100px;
	height:100px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:1px;
	padding:0;
	border:7px solid var(--on-color);
	border-radius:50%;
	-webkit-appearance:none;
	appearance:none;
	color:var(--on-color);
	background:linear-gradient(145deg,var(--ycsp-blue),var(--ycsp-blue-dark));
	box-shadow:
		0 0 0 6px var(--ycsp-yellow),
		0 10px 24px rgb(var(--uicolor-code) / 30%);
	cursor:pointer;
	font:inherit;
	font-size:29px;
	touch-action:manipulation;
	transition:transform .2s ease,filter .2s ease;
}

.ycsp-spin-core span {
	font-size:16px;
	font-weight:950;
}

.ycsp-spin-core:active {
	transform:scale(.94);
}

.ycsp-scene {
	position:absolute;
	inset-inline:0;
	bottom:0;
	z-index:1;
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	color:rgb(var(--uicolor-code) / 24%);
	pointer-events:none;
}

.ycsp-scene > span {
	display:flex;
	align-items:flex-end;
	gap:12px;
}

.ycsp-scene i {
	font-size:44px;
}

.ycsp-scene i:nth-child(2) {
	font-size:70px;
}

.ycsp-scene i:last-child {
	color:rgb(var(--uicolor3-code) / 55%);
	font-size:34px;
}

.ycsp-main-btn {
	position:relative;
	z-index:4;
	min-width:0;
	min-height:56px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	margin:3px auto 0;
	padding:10px 24px;
	border:3px solid var(--ycsp-orange);
	border-radius:15px;
	-webkit-appearance:none;
	appearance:none;
	color:var(--on-color);
	background:linear-gradient(180deg,var(--ycsp-blue),var(--ycsp-blue-dark));
	box-shadow:
		0 9px 0 rgb(var(--uicolor2-code) / 26%),
		0 15px 28px rgb(var(--primary-text-code) / 23%);
	cursor:pointer;
	font:inherit;
	font-size:21px;
	font-weight:950;
	line-height:1.3;
	text-align:center;
	touch-action:manipulation;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		filter .2s ease,
		opacity .2s ease;
}

.ycsp-main-btn span {
	min-width:0;
	overflow-wrap:anywhere;
}

.ycsp-main-btn > i {
	flex:0 0 auto;
}

.ycsp-main-btn > i:first-child {
	font-size:26px;
}

.ycsp[dir="ltr"] .ycsp-main-btn > i:last-child {
	transform:scaleX(-1);
}

.ycsp-main-btn:active {
	transform:translateY(3px);
	box-shadow:
		0 5px 0 rgb(var(--uicolor2-code) / 24%),
		0 9px 18px rgb(var(--primary-text-code) / 20%);
}

.ycsp-main-btn.loading,
.ycsp.is-spinning [data-spin-action] {
	opacity:.75;
	pointer-events:none;
	cursor:wait;
}

.ycsp-main-btn.loading > i:first-child,
.ycsp.is-spinning .ycsp-main-btn > i:first-child,
.ycsp.is-spinning .ycsp-spin-core > i {
	animation:ycspRotate .75s linear infinite;
}

.ycsp-note {
	position:relative;
	z-index:4;
	max-width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	margin-block-start:18px;
	color:var(--ycsp-muted);
	font-size:13px;
	font-weight:800;
	line-height:1.55;
	overflow-wrap:anywhere;
}

.ycsp-note i {
	flex:0 0 auto;
	color:var(--ycsp-yellow);
	font-size:17px;
}

.ycsp-success-icon {
	width:78px;
	height:78px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:32px auto 12px;
	border:6px solid var(--on-color);
	border-radius:50%;
	color:var(--on-color);
	background:linear-gradient(145deg,var(--ycsp-orange),var(--uicolor2-hover));
	box-shadow:
		0 0 0 5px rgb(var(--uicolor3-code) / 45%),
		0 14px 28px rgb(var(--uicolor2-code) / 20%);
	font-size:36px;
}

.ycsp-card[data-current-step="claim"] .ycsp-badge {
	margin-inline:auto;
}

.ycsp-card[data-current-step="claim"] h2 {
	margin-block-start:12px;
	font-size:32px;
}

.ycsp-claim {
	min-width:0;
}

.ycsp-claim .ycsp-field {
	position:relative;
	min-width:0;
	display:block;
	margin:18px 0 12px;
	text-align:start;
}

.ycsp-claim .-YC-FM-Label {
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 8px;
	color:var(--ycsp-blue-dark);
	font-size:13px;
	font-weight:900;
}

.ycsp-claim .-YC-FM-Label i {
	flex:0 0 auto;
	color:var(--ycsp-blue);
}

.ycsp-claim .-FM-Field-title {
	min-width:0;
	color:inherit;
	font:inherit;
	overflow-wrap:anywhere;
}

.ycsp-claim input[input-model] {
	width:100%;
	min-width:0;
	min-height:56px;
	padding:0 16px;
	border:1px solid var(--ycsp-border);
	border-radius:12px;
	-webkit-appearance:none;
	appearance:none;
	color:var(--ycsp-text);
	background:var(--surface-color);
	caret-color:var(--ycsp-blue);
	font:inherit;
	font-size:16px;
	text-align:start;
	transition:border-color .2s ease,box-shadow .2s ease;
}

.ycsp-claim input[input-model]::placeholder {
	color:color-mix(in srgb,var(--ycsp-muted) 78%,transparent);
	opacity:1;
}

.ycsp-claim input[input-model]:focus {
	border-color:rgb(var(--uicolor-code) / 65%);
	box-shadow:0 0 0 4px rgb(var(--uicolor-code) / 12%);
}

.ycsp-claim .iti {
	width:100%;
	max-width:100%;
	direction:ltr;
}

.ycsp-claim .iti input[input-model][type="tel"] {
	direction:ltr;
	padding-inline-start:120px !important;
	padding-inline-end:16px;
	text-align:start;
}

/* Required to override the inline spacing generated by intl-tel-input. */

.ycsp-claim .iti__country-container {
	max-width:116px;
}

.ycsp-claim .iti__country-list {
	max-width:min(360px,calc(100vw - 32px));
	max-height:min(300px,45vh);
	overflow:auto;
	overscroll-behavior:contain;
	white-space:normal;
	text-align:start;
}

.ycsp-claim .iti__country {
	min-height:42px;
}

.ycsp-claim .ycsp-main-btn {
	width:100%;
	min-height:58px;
	border-radius:15px;
	font-size:18px;
}

.ycsp-ticket {
	min-width:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-direction:row-reverse;
	gap:14px;
	margin-block-start:18px;
	padding:14px 16px;
	border:1px solid rgb(var(--uicolor-code) / 20%);
	border-radius:16px;
	background:color-mix(in srgb,var(--surface-color) 70%,transparent);
	text-align:start;
	transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.ycsp-ticket > * {
	min-width:0;
}

.ycsp-ticket div {
	min-width:130px;
	flex:0 1 170px;
	padding:10px;
	border-radius:10px;
	background:var(--surface-color);
	outline:2px dashed rgb(var(--uicolor-code) / 28%);
	outline-offset:-2px;
	text-align:center;
}

.ycsp-ticket small {
	display:block;
	color:var(--ycsp-blue-dark);
	font-size:12px;
	font-weight:900;
}

.ycsp-ticket strong {
	display:block;
	margin-block-start:3px;
	color:var(--ycsp-orange);
	direction:ltr;
	font-family:var(--f-number);
	font-size:25px;
	font-weight:950;
	line-height:1.25;
	unicode-bidi:isolate;
	overflow-wrap:anywhere;
}

.ycsp-ticket p {
	min-width:0;
	flex:1;
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	color:var(--ycsp-muted);
	font-size:13px;
	font-weight:800;
	line-height:1.6;
}

.ycsp-ticket p i {
	flex:0 0 auto;
	color:var(--ycsp-blue);
}

.ycsp-ticket.error {
	border-color:color-mix(in srgb,var(--ycsp-danger) 40%,transparent);
	background:color-mix(in srgb,var(--ycsp-danger) 7%,transparent);
}

.ycsp-ticket.error p,
.ycsp-ticket.error p i {
	color:var(--ycsp-danger);
}

.ycsp-ticket.claimed {
	border-color:rgb(var(--uicolor-code) / 40%);
	box-shadow:0 10px 25px rgb(var(--uicolor-code) / 10%);
}

.ycsp-actions {
	display:flex;
	gap:10px;
	margin-block-start:14px;
}

.ycsp-actions button,
.ycsp-actions a {
	min-width:0;
	min-height:48px;
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:9px 14px;
	border:0;
	border-radius:12px;
	-webkit-appearance:none;
	appearance:none;
	color:var(--on-color);
	background:var(--ycsp-blue-dark);
	cursor:pointer;
	font:inherit;
	font-weight:900;
	line-height:1.45;
	text-align:center;
	text-decoration:none;
	touch-action:manipulation;
	overflow-wrap:anywhere;
	transition:filter .2s ease,transform .2s ease;
}

.ycsp-actions button {
	background:var(--ycsp-orange);
}

.ycsp-actions button:active,
.ycsp-actions a:active {
	transform:scale(.97);
}

.ycsp-confetti {
	position:absolute;
	inset:0;
	z-index:1;
	overflow:hidden;
	pointer-events:none;
}

.ycsp-confetti i {
	position:absolute;
	width:7px;
	height:14px;
	border-radius:3px;
	background:var(--ycsp-orange);
	opacity:.85;
	transform:rotate(20deg);
}

.ycsp-confetti i:nth-child(1) {
	top:18%;
	left:8%;
	background:var(--ycsp-yellow);
}

.ycsp-confetti i:nth-child(2) {
	top:28%;
	left:12%;
	background:var(--ycsp-blue);
	transform:rotate(55deg);
}

.ycsp-confetti i:nth-child(3) {
	top:43%;
	left:6%;
	background:var(--ycsp-orange);
}

.ycsp-confetti i:nth-child(4) {
	top:62%;
	left:11%;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--ycsp-blue);
}

.ycsp-confetti i:nth-child(5) {
	top:20%;
	right:7%;
	background:var(--ycsp-blue);
}

.ycsp-confetti i:nth-child(6) {
	top:31%;
	right:12%;
	background:var(--ycsp-yellow);
	transform:rotate(55deg);
}

.ycsp-confetti i:nth-child(7) {
	top:46%;
	right:6%;
	background:var(--ycsp-orange);
}

.ycsp-confetti i:nth-child(8) {
	top:60%;
	right:10%;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--ycsp-blue);
}

.ycsp-confetti i:nth-child(9) {
	top:72%;
	left:14%;
	background:var(--ycsp-yellow);
	transform:rotate(70deg);
}

.ycsp-confetti i:nth-child(10) {
	top:75%;
	right:15%;
	background:var(--ycsp-orange);
	transform:rotate(70deg);
}

.ycsp-confetti i:nth-child(11) {
	top:12%;
	left:31%;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--ycsp-blue);
}

.ycsp-confetti i:nth-child(12) {
	top:14%;
	right:30%;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--ycsp-yellow);
}

.ycsp-card[data-current-step="claim"] .ycsp-confetti i {
	animation:ycspConfetti 1.5s ease infinite;
}

.ycsp-card[data-current-step="claim"] .ycsp-confetti i:nth-child(2n) {
	animation-delay:.22s;
}

@keyframes ycspStepIn {
	from {
		opacity:0;
		transform:translateX(var(--ycsp-step-shift)) scale(.98);
	}

	to {
		opacity:1;
		transform:none;
	}
}

@keyframes ycspRotate {
	to {
		transform:rotate(360deg);
	}
}

@keyframes ycspConfetti {
	0% {
		opacity:0;
		translate:0 -10px;
	}

	20% {
		opacity:1;
	}

	100% {
		opacity:0;
		translate:0 85px;
		rotate:160deg;
	}
}

@media (hover:hover) and (pointer:fine) {
	.ycsp-close:hover {
		border-color:rgb(var(--uicolor2-code) / 40%);
		background:var(--surface-color);
		transform:rotate(5deg);
	}

	.ycsp-spin-core:hover {
		filter:brightness(1.08);
		transform:scale(1.04);
	}

	.ycsp-main-btn:hover {
		filter:brightness(1.06);
		transform:translateY(-2px);
		box-shadow:
			0 10px 0 rgb(var(--uicolor2-code) / 28%),
			0 18px 32px rgb(var(--primary-text-code) / 28%);
	}

	.ycsp-actions button:hover,
	.ycsp-actions a:hover {
		filter:brightness(1.07);
		transform:translateY(-1px);
	}
}

/* =========================
   Tablet Responsive
========================= */

@media only screen and (max-width:767px) {
	.ycsp {
		padding:
			max(12px,env(safe-area-inset-top))
			max(12px,env(safe-area-inset-right))
			max(12px,env(safe-area-inset-bottom))
			max(12px,env(safe-area-inset-left));
	}

	.ycsp-card {
		width:min(650px,100%);
		max-height:calc(100vh - 24px);
		max-height:calc(100dvh - 24px);
		padding:24px 24px 22px;
		border-width:6px;
		border-radius:28px;
	}

	.ycsp-card[data-current-step="claim"] {
		width:min(560px,100%);
		padding-block:28px;
	}

	.ycsp-close {
		top:15px;
		inset-inline-end:15px;
		width:44px;
		height:44px;
		font-size:23px;
	}

	.ycsp-head {
		padding-inline:46px;
	}

	.ycsp-badge {
		min-height:32px;
		padding-inline:14px;
		font-size:12px;
	}

	.ycsp h2 {
		gap:9px;
		margin:0 auto 12px;
		font-size:clamp(27px,5vw,32px);
	}

	.ycsp p {
		margin-block-end:10px;
		font-size:15px;
	}

	.ycsp-game {
		min-height:352px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:150px;
		width:min(330px,100%);
		margin-block-start:18px;
		border-width:7px;
	}

	.ycsp-spin-core {
		width:86px;
		height:86px;
		border-width:6px;
		font-size:25px;
	}

	.ycsp-spin-core span {
		font-size:14px;
	}

	.ycsp-scene i {
		font-size:32px;
	}

	.ycsp-scene i:nth-child(2) {
		font-size:48px;
	}

	.ycsp-main-btn {
		min-height:58px;
		border-radius:17px;
		font-size:20px;
	}

	.ycsp-success-icon {
		margin-block-start:24px;
	}

	.ycsp-card[data-current-step="claim"] h2 {
		font-size:29px;
	}
}

/* =========================
   Mobile App Experience
========================= */

@media only screen and (max-width:575px) {
	.ycsp {
		align-items:flex-end;
		padding:
			max(8px,env(safe-area-inset-top))
			0
			0;
	}

	.ycsp-card,
	.ycsp-card[data-current-step="claim"] {
		width:100%;
		max-height:calc(100vh - max(8px,env(safe-area-inset-top)));
		max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));
		padding:
			20px
			15px
			max(18px,env(safe-area-inset-bottom));
		border-width:5px 5px 0;
		border-radius:26px 26px 0 0;
		scrollbar-gutter:auto;
		transform:translateY(100%);
	}

	.ycsp.is-visible .ycsp-card {
		transform:none;
	}

	.ycsp.is-leaving .ycsp-card {
		transform:translateY(100%);
	}

	.ycsp-close {
		top:12px;
		inset-inline-end:12px;
		width:44px;
		height:44px;
		border-width:2px;
		font-size:21px;
	}

	.ycsp-head {
		padding-inline:38px;
	}

	.ycsp-badge {
		position:static;
		max-width:calc(100% - 76px);
		min-height:30px;
		margin:0 auto 8px;
		padding:6px 12px;
		font-size:11px;
	}

	.ycsp h2 {
		gap:7px;
		margin:0 auto 8px;
		font-size:clamp(23px,6.5vw,29px);
		line-height:1.28;
	}

	.ycsp h2 > i {
		font-size:14px;
	}

	.ycsp p {
		margin-block-end:8px;
		font-size:13px;
		line-height:1.6;
	}

	.ycsp-game {
		min-height:300px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:128px;
		width:min(284px,calc(100vw - 44px));
		margin:16px auto 10px;
		border-width:6px;
		box-shadow:
			0 12px 28px rgb(var(--uicolor-code) / 20%),
			0 0 0 5px rgb(var(--uicolor-code) / 10%);
	}

	.ycsp-wheel-wrap::before {
		inset:5px;
		border-width:2px;
	}

	.ycsp-pointer {
		top:-15px;
		width:36px;
		height:36px;
		border-width:4px;
	}

	.ycsp-pointer::after {
		inset:7px;
	}

	.ycsp-wheel-lights i {
		width:8px;
		height:8px;
		margin:-4px;
	}

	.ycsp-slice-label {
		width:min(var(--label-width,68px),68px);
		min-height:48px;
		font-size:min(var(--slice-font,10px),10px);
		transform:
			translate(-50%,-50%)
			rotate(var(--slice-angle))
			translateY(calc(0px - min(var(--label-distance,88px),88px)))
			rotate(var(--slice-counter));
	}

	.ycsp-slice-label i {
		font-size:min(var(--slice-icon,18px),18px);
	}

	.ycsp-spin-core {
		width:76px;
		height:76px;
		border-width:5px;
		box-shadow:
			0 0 0 4px var(--ycsp-yellow),
			0 8px 18px rgb(var(--uicolor-code) / 28%);
		font-size:21px;
	}

	.ycsp-spin-core span {
		font-size:12px;
	}

	.ycsp-scene {
		opacity:.46;
	}

	.ycsp-scene i {
		font-size:24px;
	}

	.ycsp-scene i:nth-child(2) {
		font-size:36px;
	}

	.ycsp-main-btn {
		width:100%;
		max-width:330px;
		min-height:54px;
		gap:12px;
		margin-block-start:0;
		padding-inline:18px;
		border-width:2px;
		border-radius:16px;
		box-shadow:
			0 6px 0 rgb(var(--uicolor2-code) / 24%),
			0 11px 20px rgb(var(--primary-text-code) / 20%);
		font-size:18px;
	}

	.ycsp-main-btn > i:first-child {
		font-size:22px;
	}

	.ycsp-note {
		margin-block-start:13px;
		font-size:11px;
	}

	.ycsp-success-icon {
		width:70px;
		height:70px;
		margin:18px auto 10px;
		border-width:5px;
		font-size:31px;
	}

	.ycsp-card[data-current-step="claim"] h2 {
		margin-block-start:8px;
		font-size:25px;
	}

	.ycsp-claim .ycsp-field {
		margin-block:15px 10px;
	}

	.ycsp-claim input[input-model] {
		min-height:54px;
		border-radius:12px;
		font-size:16px;
	}

	.ycsp-ticket {
		flex-direction:column;
		align-items:stretch;
		gap:10px;
		margin-block-start:15px;
		padding:12px;
	}

	.ycsp-ticket div {
		width:100%;
		min-width:0;
		flex-basis:auto;
	}

	.ycsp-ticket p {
		justify-content:center;
		text-align:center;
	}

	.ycsp-actions {
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:8px;
	}

	.ycsp-actions button,
	.ycsp-actions a {
		width:100%;
		min-height:48px;
		padding-inline:10px;
		font-size:13px;
	}
}

@supports (width:1cqi) {
	@media only screen and (max-width:575px) {
		.ycsp-slice-label {
			width:min(var(--label-width,68px),24cqi);
			font-size:min(var(--slice-font,10px),3.55cqi);
			transform:
				translate(-50%,-50%)
				rotate(var(--slice-angle))
				translateY(calc(0px - min(var(--label-distance,88px),31cqi)))
				rotate(var(--slice-counter));
		}

		.ycsp-slice-label i {
			font-size:min(var(--slice-icon,18px),6.4cqi);
		}
	}
}

/* =========================
   Small Mobile Adjustments
========================= */

@media only screen and (max-width:430px) {
	.ycsp-card,
	.ycsp-card[data-current-step="claim"] {
		padding-inline:13px;
		border-radius:23px 23px 0 0;
	}

	.ycsp-head {
		padding-inline:34px;
	}

	.ycsp h2 {
		font-size:clamp(22px,6.8vw,27px);
	}

	.ycsp-game {
		min-height:286px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:121px;
		width:min(270px,calc(100vw - 40px));
	}

	.ycsp-main-btn {
		max-width:310px;
		font-size:17px;
	}
}

@media only screen and (max-width:390px) {
	.ycsp-card,
	.ycsp-card[data-current-step="claim"] {
		padding-inline:12px;
	}

	.ycsp-head {
		padding-inline:32px;
	}

	.ycsp h2 > i {
		display:none;
	}

	.ycsp-game {
		min-height:274px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:116px;
		width:min(258px,calc(100vw - 36px));
	}

	.ycsp-scene {
		display:none;
	}

	.ycsp-main-btn {
		min-height:52px;
		font-size:16px;
	}

	.ycsp-actions {
		gap:7px;
	}

	.ycsp-actions button,
	.ycsp-actions a {
		padding-inline:8px;
		font-size:12px;
	}

	.ycsp-claim .iti input[input-model][type="tel"] {
		padding-inline-start:106px !important;
	}

	.ycsp-claim .iti__country-container {
		max-width:102px;
	}
}

@media only screen and (max-width:340px) {
	.ycsp-head {
		padding-inline:30px;
	}

	.ycsp-badge {
		max-width:calc(100% - 64px);
		font-size:10px;
	}

	.ycsp h2 {
		font-size:21px;
	}

	.ycsp p {
		font-size:12px;
	}

	.ycsp-game {
		min-height:258px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:108px;
		width:min(240px,calc(100vw - 32px));
	}

	.ycsp-spin-core {
		width:70px;
		height:70px;
		font-size:19px;
	}

	.ycsp-spin-core span {
		font-size:11px;
	}

	.ycsp-main-btn {
		font-size:15px;
	}

	.ycsp-actions {
		grid-template-columns:1fr;
	}

	.ycsp-ticket strong {
		font-size:22px;
	}
}

@media only screen and (max-width:320px) {
	.ycsp-card,
	.ycsp-card[data-current-step="claim"] {
		padding-inline:10px;
	}

	.ycsp-close {
		inset-inline-end:10px;
	}

	.ycsp-head {
		padding-inline:28px;
	}

	.ycsp-game {
		min-height:248px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:102px;
		width:min(228px,calc(100vw - 28px));
	}

	.ycsp-main-btn {
		padding-inline:12px;
		font-size:14px;
	}

	.ycsp-note {
		font-size:10px;
	}

	.ycsp-claim .-YC-FM-Label {
		font-size:12px;
	}
}

/* =========================
   Short Viewport Support
========================= */

@media only screen and (min-width:576px) and (max-height:700px) {
	.ycsp {
		align-items:flex-start;
	}

	.ycsp-card {
		margin-block:auto;
		padding-block:22px 20px;
	}

	.ycsp-head {
		padding-inline:48px;
	}

	.ycsp h2 {
		font-size:28px;
	}

	.ycsp p {
		font-size:14px;
	}

	.ycsp-game {
		min-height:326px;
	}

	.ycsp-wheel-wrap {
		--ycsp-light-radius:138px;
		width:min(306px,100%);
		margin-block-start:14px;
	}

	.ycsp-main-btn {
		min-height:52px;
		font-size:18px;
	}

	.ycsp-note {
		margin-block-start:12px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.ycsp,
	.ycsp-card,
	.ycsp-close,
	.ycsp-main-btn,
	.ycsp-spin-core,
	.ycsp-actions button,
	.ycsp-actions a,
	.ycsp-step {
		animation:none;
		transition:none;
	}

	.ycsp-wheel-disc {
		transition:transform .01ms linear;
	}

	.ycsp-confetti {
		display:none;
	}
}
