.vespera-orbit {
	--orbit-surface: var(--tblr-bg-surface);
	--orbit-soft: color-mix(in srgb, var(--tblr-bg-surface) 93%, var(--tblr-body-color) 7%);
	--orbit-line: color-mix(in srgb, var(--tblr-border-color) 76%, transparent 24%);
	--orbit-line-strong: color-mix(in srgb, var(--tblr-border-color) 56%, var(--tblr-body-color) 44%);
	--orbit-text: var(--tblr-heading-color, var(--tblr-body-color));
	--orbit-muted: var(--tblr-secondary-color);
	--orbit-gold: #72a9b4;
	--orbit-blue: #649fd0;
	--orbit-green: #56b388;
	min-height: 72vh;
	padding: 3.8rem 0 6rem;
	color: var(--orbit-text);
	background: var(--tblr-body-bg);
}

[data-bs-theme="dark"] .vespera-orbit {
	--orbit-surface: #121216;
	--orbit-soft: #18181e;
	--orbit-line: rgba(255, 255, 255, .075);
	--orbit-line-strong: rgba(255, 255, 255, .16);
	--orbit-text: #f4f5f7;
	--orbit-muted: #aeb4bf;
	--orbit-gold: #84bac4;
	--orbit-blue: #79b7e5;
	--orbit-green: #6fc99f;
	background: #0c0c0f;
}

[data-bs-theme="dark"] .vespera-orbit h1,
[data-bs-theme="dark"] .vespera-orbit h2 {
	color: var(--orbit-text);
}

.vespera-orbit a { text-decoration: none; }

.vespera-orbit-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 3rem;
	align-items: end;
	min-height: 245px;
	overflow: hidden;
	padding: 2rem 0 2.3rem;
	border-bottom: 1px solid var(--orbit-line-strong);
}

.vespera-orbit-hero::after {
	content: "";
	position: absolute;
	right: 22%;
	top: 18px;
	width: 150px;
	height: 150px;
	border: 1px dashed color-mix(in srgb, var(--orbit-gold) 32%, transparent 68%);
	border-radius: 50%;
	opacity: .55;
	pointer-events: none;
}

.vespera-orbit-hero__copy { position: relative; z-index: 1; max-width: 820px; }

.vespera-orbit-kicker {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-bottom: .9rem;
	color: var(--orbit-gold);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .61rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vespera-orbit-kicker i { font-size: .95rem; }

.vespera-orbit-hero h1,
.vespera-orbit-loghead h1 {
	max-width: 800px;
	margin: 0;
	font-size: clamp(2.9rem, 6.4vw, 5.8rem);
	font-weight: 800;
	letter-spacing: -.075em;
	line-height: .9;
}

.vespera-orbit-hero__copy > p,
.vespera-orbit-loghead > div:first-child > p {
	max-width: 590px;
	margin: 1.1rem 0 0;
	color: var(--orbit-muted);
	font-size: .83rem;
	line-height: 1.7;
}

.vespera-orbit-hero__signal {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .25rem 1rem;
	align-items: end;
	padding: 1.15rem;
	border: 1px solid var(--orbit-line-strong);
	background: color-mix(in srgb, var(--orbit-surface) 88%, transparent 12%);
	backdrop-filter: blur(8px);
}

.vespera-orbit-hero__signal > span {
	align-self: start;
	color: var(--orbit-muted);
	font-size: .54rem;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.vespera-orbit-hero__signal strong {
	grid-column: 2;
	grid-row: 1 / 3;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 3.1rem;
	font-weight: 400;
	letter-spacing: -.09em;
	line-height: .9;
}

.vespera-orbit-hero__signal small,
.vespera-orbit-wheel__status > span {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: var(--orbit-green);
	font-size: .56rem;
	font-weight: 650;
}

.vespera-orbit-hero__signal small i,
.vespera-orbit-wheel__status > span i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--orbit-green) 13%, transparent 87%);
}

.vespera-orbit-games {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.25rem;
}

.vespera-orbit-game {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid var(--orbit-line);
	background: var(--orbit-surface);
	transition: transform .2s ease, box-shadow .2s ease;
}

.vespera-orbit-game:hover { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(0, 0, 0, .11); }

.vespera-orbit-game__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .7rem;
	padding: .65rem .8rem;
	border-bottom: 1px solid var(--orbit-line);
	color: var(--orbit-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .51rem;
	font-weight: 700;
	letter-spacing: .09em;
}

.vespera-orbit-game__top i { color: var(--orbit-green); }

.vespera-orbit-game__visual {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 230px;
	background:
		radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--orbit-gold) 9%, transparent 91%) 0 25%, transparent 26%),
		repeating-radial-gradient(circle at 50% 50%, transparent 0 38px, color-mix(in srgb, var(--orbit-line) 34%, transparent 66%) 39px 40px),
		var(--orbit-soft);
}

.vespera-orbit-game__visual::before,
.vespera-orbit-game__visual::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1px;
	height: 100%;
	background: color-mix(in srgb, var(--orbit-line) 42%, transparent 58%);
	transform: translate(-50%, -50%);
}

.vespera-orbit-game__visual::after { transform: translate(-50%, -50%) rotate(90deg); }

.vespera-orbit-game__visual > div {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 130px;
	height: 130px;
	border: 1px solid color-mix(in srgb, var(--orbit-gold) 45%, var(--orbit-line) 55%);
	border-radius: 50%;
	background: conic-gradient(from 20deg, color-mix(in srgb, var(--orbit-gold) 18%, var(--orbit-surface) 82%), var(--orbit-surface), color-mix(in srgb, var(--orbit-blue) 18%, var(--orbit-surface) 82%), var(--orbit-surface), color-mix(in srgb, var(--orbit-gold) 18%, var(--orbit-surface) 82%));
	box-shadow: 0 0 0 8px var(--orbit-surface), 0 0 0 9px var(--orbit-line), 0 18px 35px rgba(0, 0, 0, .14);
	transition: transform .45s ease;
}

.vespera-orbit-game:hover .vespera-orbit-game__visual > div { transform: rotate(18deg); }

.vespera-orbit-game__visual > div > span {
	position: absolute;
	inset: 20px;
	border: 1px dashed var(--orbit-line-strong);
	border-radius: 50%;
}

.vespera-orbit-game__visual > div > i {
	color: var(--orbit-gold);
	font-size: 1.7rem;
	filter: drop-shadow(0 0 12px color-mix(in srgb, var(--orbit-gold) 45%, transparent 55%));
}

.vespera-orbit-game__copy { padding: 1rem 1rem .8rem; }

.vespera-orbit-game__copy h2 {
	margin: 0 0 .35rem;
	font-size: 1rem;
	font-weight: 750;
	letter-spacing: -.025em;
	overflow-wrap: anywhere;
}

.vespera-orbit-game__copy > span {
	color: var(--orbit-gold);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .66rem;
	font-weight: 650;
}

.vespera-orbit-game__action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-top: auto;
	padding: .8rem 1rem 1rem;
	border-top: 1px solid var(--orbit-line);
}

.vespera-orbit-game__action > span { color: var(--orbit-muted); font-size: .55rem; font-weight: 650; }

.vespera-orbit .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 42px;
	padding: .7rem 1rem;
	border-radius: 6px;
	font-size: .66rem;
	font-weight: 700;
	box-shadow: none;
}

.vespera-orbit-empty {
	display: grid;
	place-items: center;
	min-height: 270px;
	margin-top: 1.25rem;
	padding: 1.5rem;
	border: 1px solid var(--orbit-line);
	background: var(--orbit-surface);
}

.vespera-orbit-empty > i { margin-bottom: .65rem; color: var(--orbit-muted); font-size: 1.8rem; }
.vespera-orbit-empty .alert { width: min(100%, 560px); margin: 0; }

.vespera-orbit-playhead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	min-height: 170px;
	padding: 1.5rem 0 1.7rem;
	border-bottom: 1px solid var(--orbit-line-strong);
}

.vespera-orbit-playhead h1 {
	margin: 0;
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 800;
	letter-spacing: -.07em;
	line-height: .92;
}

.vespera-orbit-playhead nav {
	display: flex;
	max-width: 48%;
	overflow-x: auto;
	gap: .35rem;
	padding-bottom: .1rem;
}

.vespera-orbit-playhead nav a {
	flex: 0 0 auto;
	padding: .55rem .7rem;
	border: 1px solid var(--orbit-line);
	border-radius: 5px;
	color: var(--orbit-muted);
	font-size: .58rem;
	font-weight: 700;
	background: var(--orbit-surface);
}

.vespera-orbit-playhead nav a:hover,
.vespera-orbit-playhead nav a.is-active { color: var(--orbit-text); border-color: var(--orbit-line-strong); background: var(--orbit-soft); }
.vespera-orbit-playhead nav a.is-active { box-shadow: inset 0 -2px 0 var(--orbit-gold); }

.vespera-orbit-console {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 1rem;
	align-items: start;
	margin-top: 1.25rem;
}

.vespera-orbit-wheel,
.vespera-orbit-history,
.vespera-orbit-logbook {
	min-width: 0;
	border: 1px solid var(--orbit-line);
	background: var(--orbit-surface);
}

.vespera-orbit-wheel__status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 56px;
	padding: .8rem 1rem;
	border-bottom: 1px solid var(--orbit-line);
	background: var(--orbit-soft);
}

.vespera-orbit-wheel__status strong {
	color: var(--orbit-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .55rem;
	font-weight: 650;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.vespera-orbit-wheel__stage {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 500px;
	overflow: hidden;
	padding: 2rem;
	background:
		linear-gradient(90deg, transparent 49.9%, color-mix(in srgb, var(--orbit-line) 30%, transparent 70%) 50%, transparent 50.1%),
		linear-gradient(0deg, transparent 49.9%, color-mix(in srgb, var(--orbit-line) 30%, transparent 70%) 50%, transparent 50.1%),
		var(--orbit-soft);
}

.vespera-orbit-wheel__rings {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 470px;
	height: 470px;
	border: 1px dashed color-mix(in srgb, var(--orbit-gold) 30%, transparent 70%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.vespera-orbit-wheel__rings::before,
.vespera-orbit-wheel__rings::after {
	content: "";
	position: absolute;
	border: 1px solid var(--orbit-line);
	border-radius: 50%;
}

.vespera-orbit-wheel__rings::before { inset: 18px; }
.vespera-orbit-wheel__rings::after { inset: 52px; border-style: dashed; }

.vespera-orbit-wheel__stage .superwheel {
	position: relative;
	z-index: 1;
	max-width: 100%;
	filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .17));
}

.vespera-orbit-wheel__stage .superwheel-marker { filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .24)); }

.vespera-orbit-wheel__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.1rem;
	border-top: 1px solid var(--orbit-line);
}

.vespera-orbit-wheel__controls p {
	max-width: 560px;
	margin: 0;
	color: var(--orbit-muted);
	font-size: .63rem;
	line-height: 1.55;
}

.vespera-orbit-wheel__controls p strong { color: var(--orbit-text); }
.vespera-orbit-wheel__controls .btn { min-width: 150px; }

.vespera-orbit-history { position: sticky; top: 1.25rem; }

.vespera-orbit-history > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 72px;
	padding: 1rem;
	border-bottom: 1px solid var(--orbit-line);
	background: var(--orbit-soft);
}

.vespera-orbit-history > header span {
	color: var(--orbit-muted);
	font-size: .53rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vespera-orbit-history > header h2 { margin: .15rem 0 0; font-size: .8rem; font-weight: 750; }

.vespera-orbit-history > header a {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	color: var(--orbit-text);
	font-size: .55rem;
	font-weight: 700;
	text-transform: uppercase;
}

.vespera-orbit-history__list { display: grid; }

.vespera-orbit-win {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 24px;
	gap: .7rem;
	align-items: center;
	min-height: 68px;
	padding: .8rem 1rem;
}

.vespera-orbit-win + .vespera-orbit-win { border-top: 1px solid var(--orbit-line); }

.vespera-orbit-win > span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: var(--orbit-gold);
	background: color-mix(in srgb, var(--orbit-gold) 11%, var(--orbit-soft) 89%);
}

.vespera-orbit-win > div { display: grid; gap: .1rem; min-width: 0; }
.vespera-orbit-win strong,
.vespera-orbit-win small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vespera-orbit-win strong { font-size: .65rem; }
.vespera-orbit-win small { color: var(--orbit-muted); font-size: .54rem; }
.vespera-orbit-win > i { color: var(--orbit-green); font-size: .75rem; }

.vespera-orbit-history__note {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	padding: .85rem 1rem;
	border-top: 1px solid var(--orbit-line);
	color: var(--orbit-muted);
	font-size: .55rem;
	line-height: 1.5;
	background: var(--orbit-soft);
}

.vespera-orbit-history__note i { color: var(--orbit-blue); }

.vespera-orbit-history__empty {
	display: grid;
	place-items: center;
	min-height: 190px;
	padding: 1.25rem;
}

.vespera-orbit-history__empty > i { margin-bottom: .5rem; color: var(--orbit-muted); font-size: 1.5rem; }
.vespera-orbit-history__empty .alert { width: 100%; margin: 0; }

.vespera-orbit-loghead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 3rem;
	align-items: end;
	min-height: 235px;
	padding: 2rem 0 2.2rem;
	border-bottom: 1px solid var(--orbit-line-strong);
}

.vespera-orbit-loghead > div:last-child {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid var(--orbit-line-strong);
	border-bottom: 1px solid var(--orbit-line-strong);
}

.vespera-orbit-loghead > div:last-child span {
	color: var(--orbit-muted);
	font-size: .53rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vespera-orbit-loghead > div:last-child strong {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: -.08em;
	line-height: .85;
}

.vespera-orbit-logbook { margin-top: 1.25rem; overflow-x: auto; }

.vespera-orbit-logbook__head,
.vespera-orbit-log {
	display: grid;
	grid-template-columns: 90px minmax(190px, 1.2fr) minmax(190px, 1fr) minmax(180px, .8fr);
	gap: 1rem;
	align-items: center;
}

.vespera-orbit-logbook__head {
	min-width: 760px;
	padding: .75rem 1rem;
	border-bottom: 1px solid var(--orbit-line);
	color: var(--orbit-muted);
	font-size: .53rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: var(--orbit-soft);
}

.vespera-orbit-log {
	min-width: 760px;
	min-height: 72px;
	padding: .85rem 1rem;
}

.vespera-orbit-log + .vespera-orbit-log { border-top: 1px solid var(--orbit-line); }

.vespera-orbit-log__id,
.vespera-orbit-log time {
	color: var(--orbit-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .59rem;
}

.vespera-orbit-log__game,
.vespera-orbit-log__prize {
	display: flex;
	align-items: center;
	gap: .6rem;
	min-width: 0;
	font-size: .66rem;
}

.vespera-orbit-log__game i {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 50%;
	color: var(--orbit-blue);
	background: color-mix(in srgb, var(--orbit-blue) 10%, var(--orbit-soft) 90%);
}

.vespera-orbit-log__game strong,
.vespera-orbit-log__prize { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vespera-orbit-log__prize { color: var(--orbit-gold); }
.vespera-orbit-log__prize i { flex: 0 0 auto; }
.vespera-orbit-empty--logs { min-width: 760px; margin: 0; border: 0; }

/* Mystery crate opening scene */
.vespera-orbit {
	--crate-wood: #4a2a22;
	--crate-wood-light: #8e5434;
	--crate-wood-dark: #241512;
	--crate-metal: #d1a44d;
	--crate-metal-dark: #705326;
}

.vespera-orbit-hero::after {
	right: 24%;
	top: 54px;
	width: 128px;
	height: 96px;
	border: 1px solid color-mix(in srgb, var(--crate-metal) 38%, transparent 62%);
	border-radius: 12px;
	background:
		linear-gradient(90deg, transparent 47%, color-mix(in srgb, var(--crate-metal) 20%, transparent 80%) 48% 52%, transparent 53%),
		linear-gradient(0deg, transparent 45%, color-mix(in srgb, var(--crate-metal) 20%, transparent 80%) 46% 54%, transparent 55%);
	transform: rotate(-7deg);
}

.vespera-orbit-game__visual {
	min-height: 230px;
	background:
		radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--crate-metal) 13%, transparent 87%) 0 22%, transparent 48%),
		linear-gradient(0deg, color-mix(in srgb, var(--crate-wood-dark) 28%, var(--orbit-soft) 72%), var(--orbit-soft));
}

.vespera-orbit-game__visual::before,
.vespera-orbit-game__visual::after { display: none; }

.vespera-orbit-game__visual > div {
	width: 146px;
	height: 98px;
	border: 2px solid var(--crate-metal-dark);
	border-radius: 8px 8px 13px 13px;
	background:
		linear-gradient(90deg, transparent 0 17%, rgba(255,255,255,.04) 18% 19%, transparent 20% 80%, rgba(255,255,255,.04) 81% 82%, transparent 83%),
		linear-gradient(180deg, var(--crate-wood-light), var(--crate-wood));
	box-shadow:
		inset 0 0 0 7px rgba(30, 15, 10, .22),
		inset 0 -12px 18px rgba(20, 10, 7, .22),
		0 18px 30px rgba(0, 0, 0, .2);
	transition: transform .35s ease, box-shadow .35s ease;
}

.vespera-orbit-game__visual > div::before,
.vespera-orbit-game__visual > div::after {
	content: "";
	position: absolute;
	z-index: 2;
	background: linear-gradient(180deg, var(--crate-metal), var(--crate-metal-dark));
}

.vespera-orbit-game__visual > div::before {
	left: 50%;
	top: -27px;
	width: 158px;
	height: 38px;
	border: 2px solid var(--crate-metal-dark);
	border-radius: 12px 12px 5px 5px;
	background:
		linear-gradient(90deg, transparent 46%, var(--crate-metal) 47% 53%, transparent 54%),
		linear-gradient(180deg, #9d6139, #5b3426);
	box-shadow: inset 0 -6px 0 rgba(30, 15, 10, .25), 0 5px 10px rgba(0,0,0,.18);
	transform: translateX(-50%);
	transform-origin: left bottom;
	transition: transform .35s ease;
}

.vespera-orbit-game__visual > div::after {
	left: 50%;
	top: 22px;
	width: 28px;
	height: 42px;
	border-radius: 4px 4px 8px 8px;
	transform: translateX(-50%);
}

.vespera-orbit-game__visual > div > span {
	inset: 47px 14px auto;
	height: 2px;
	border: 0;
	border-radius: 0;
	background: rgba(255,255,255,.11);
}

.vespera-orbit-game__visual > div > i {
	position: relative;
	z-index: 3;
	color: #26170e;
	font-size: 1rem;
	filter: none;
}

.vespera-orbit-game:hover .vespera-orbit-game__visual > div {
	box-shadow: inset 0 0 0 7px rgba(30, 15, 10, .22), inset 0 -12px 18px rgba(20, 10, 7, .22), 0 24px 38px rgba(0, 0, 0, .27), 0 0 28px color-mix(in srgb, var(--crate-metal) 18%, transparent 82%);
	transform: translateY(5px);
}

.vespera-orbit-game:hover .vespera-orbit-game__visual > div::before { transform: translateX(-50%) translateY(-9px) rotate(-4deg); }

.vespera-orbit-wheel__stage {
	min-height: 560px;
	background:
		radial-gradient(circle at 50% 47%, rgba(244, 190, 73, .13) 0 8%, transparent 43%),
		linear-gradient(180deg, color-mix(in srgb, #0c101a 92%, var(--orbit-surface) 8%), color-mix(in srgb, #17100d 88%, var(--orbit-surface) 12%));
}

.vespera-crate-machine {
	position: relative;
	display: grid;
	place-items: center;
	width: min(100%, 520px);
	height: 500px;
	perspective: 900px;
}

.vespera-crate-aura {
	position: absolute;
	left: 50%;
	top: 48%;
	width: 330px;
	height: 330px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 210, 102, .72) 0, rgba(217, 161, 54, .18) 35%, transparent 70%);
	filter: blur(16px);
	opacity: 0;
	transform: translate(-50%, -50%) scale(.35);
	transition: opacity .45s ease, transform .75s cubic-bezier(.2,.8,.2,1);
}

.vespera-crate-machine .superwheel {
	position: relative;
	z-index: 3;
	max-width: 100%;
	opacity: 0;
	filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .28));
	transform: translateY(65px) scale(.58);
	transition: opacity .38s ease .15s, transform .8s cubic-bezier(.18,.88,.24,1.15) .08s;
}

.vespera-crate-lid {
	position: absolute;
	z-index: 7;
	left: 50%;
	top: 205px;
	width: min(88%, 430px);
	height: 78px;
	border: 3px solid var(--crate-metal-dark);
	border-radius: 18px 18px 6px 6px;
	background:
		linear-gradient(90deg, transparent 47%, var(--crate-metal) 48% 52%, transparent 53%),
		repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 2px, transparent 2px 72px),
		linear-gradient(180deg, #a6663a, #5a3327);
	box-shadow: inset 0 -12px 0 rgba(31, 15, 10, .28), 0 13px 24px rgba(0, 0, 0, .34);
	transform: translateX(-50%);
	transform-origin: 8% 100%;
	transition: transform .72s cubic-bezier(.22,.86,.22,1), opacity .3s ease .35s;
}

.vespera-crate-lid::before,
.vespera-crate-lid::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 22px;
	background: linear-gradient(90deg, var(--crate-metal-dark), var(--crate-metal), var(--crate-metal-dark));
}

.vespera-crate-lid::before { left: 30px; }
.vespera-crate-lid::after { right: 30px; }

.vespera-crate-lid > span {
	position: absolute;
	left: 15px;
	right: 15px;
	top: 13px;
	height: 2px;
	background: rgba(255,255,255,.12);
}

.vespera-crate-lid > b {
	position: absolute;
	left: 50%;
	top: 55px;
	width: 56px;
	height: 25px;
	border-radius: 4px;
	background: linear-gradient(180deg, var(--crate-metal), var(--crate-metal-dark));
	transform: translateX(-50%);
}

.vespera-crate-body {
	position: absolute;
	z-index: 6;
	left: 50%;
	top: 272px;
	width: min(84%, 404px);
	height: 168px;
	overflow: hidden;
	border: 3px solid var(--crate-metal-dark);
	border-radius: 5px 5px 18px 18px;
	background:
		repeating-linear-gradient(90deg, transparent 0 78px, rgba(255,255,255,.045) 79px 81px),
		linear-gradient(180deg, var(--crate-wood-light), var(--crate-wood));
	box-shadow: inset 0 0 0 10px rgba(30, 13, 9, .22), inset 0 -25px 32px rgba(24, 11, 8, .3), 0 28px 42px rgba(0, 0, 0, .38);
	transform: translateX(-50%);
	transition: transform .7s cubic-bezier(.22,.86,.22,1), opacity .35s ease .3s;
}

.vespera-crate-body::before,
.vespera-crate-body::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 24px;
	background: linear-gradient(90deg, var(--crate-metal-dark), var(--crate-metal), var(--crate-metal-dark));
}

.vespera-crate-body::before { left: 34px; }
.vespera-crate-body::after { right: 34px; }

.vespera-crate-body > span {
	position: absolute;
	left: 12px;
	right: 12px;
	top: 70px;
	height: 20px;
	background: linear-gradient(180deg, var(--crate-metal), var(--crate-metal-dark));
}

.vespera-crate-body > i {
	position: absolute;
	z-index: 3;
	left: 50%;
	top: 56px;
	display: grid;
	place-items: center;
	width: 58px;
	height: 60px;
	border: 4px solid var(--crate-metal-dark);
	border-radius: 7px 7px 15px 15px;
	color: #29180d;
	font-size: 1.4rem;
	background: linear-gradient(145deg, #e2bb61, #987026);
	box-shadow: 0 7px 12px rgba(0,0,0,.25);
	transform: translateX(-50%);
}

.vespera-crate-body > b {
	position: absolute;
	left: 50%;
	bottom: 14px;
	width: 26px;
	height: 4px;
	border-radius: 50%;
	background: rgba(24, 11, 8, .35);
	transform: translateX(-50%);
}

.vespera-crate-particles {
	position: absolute;
	z-index: 8;
	inset: 0;
	pointer-events: none;
}

.vespera-crate-particles i {
	position: absolute;
	left: 50%;
	top: 53%;
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: var(--crate-metal);
	opacity: 0;
	box-shadow: 0 0 12px rgba(255, 204, 88, .8);
}

.vespera-crate-particles i:nth-child(1) { --crate-x: -180px; --crate-y: -160px; }
.vespera-crate-particles i:nth-child(2) { --crate-x: -110px; --crate-y: -210px; width: 5px; height: 5px; }
.vespera-crate-particles i:nth-child(3) { --crate-x: -45px; --crate-y: -185px; }
.vespera-crate-particles i:nth-child(4) { --crate-x: 75px; --crate-y: -205px; width: 5px; height: 5px; }
.vespera-crate-particles i:nth-child(5) { --crate-x: 165px; --crate-y: -150px; }
.vespera-crate-particles i:nth-child(6) { --crate-x: -155px; --crate-y: -65px; width: 4px; height: 4px; }
.vespera-crate-particles i:nth-child(7) { --crate-x: 145px; --crate-y: -45px; width: 4px; height: 4px; }
.vespera-crate-particles i:nth-child(8) { --crate-x: 15px; --crate-y: -230px; }

.vespera-crate-machine.is-opening .vespera-crate-lid,
.vespera-crate-machine.is-open .vespera-crate-lid {
	opacity: .92;
	transform: translateX(-50%) translate(-32px, -165px) rotate(-11deg);
}

.vespera-crate-machine.is-opening .vespera-crate-body,
.vespera-crate-machine.is-open .vespera-crate-body {
	opacity: .38;
	transform: translateX(-50%) translateY(108px) scale(.88);
}

.vespera-crate-machine.is-opening .superwheel,
.vespera-crate-machine.is-open .superwheel {
	opacity: 1;
	transform: translateY(-10px) scale(1);
}

.vespera-crate-machine.is-opening .vespera-crate-aura,
.vespera-crate-machine.is-open .vespera-crate-aura {
	opacity: .95;
	transform: translate(-50%, -50%) scale(1.45);
}

.vespera-crate-machine.is-opening .vespera-crate-particles i,
.vespera-crate-machine.is-open .vespera-crate-particles i {
	animation: vespera-crate-burst 1.15s cubic-bezier(.18,.8,.25,1) both;
}

.vespera-crate-machine.is-opening .vespera-crate-particles i:nth-child(2),
.vespera-crate-machine.is-open .vespera-crate-particles i:nth-child(2) { animation-delay: .06s; }
.vespera-crate-machine.is-opening .vespera-crate-particles i:nth-child(3),
.vespera-crate-machine.is-open .vespera-crate-particles i:nth-child(3) { animation-delay: .12s; }
.vespera-crate-machine.is-opening .vespera-crate-particles i:nth-child(4),
.vespera-crate-machine.is-open .vespera-crate-particles i:nth-child(4) { animation-delay: .18s; }
.vespera-crate-machine.is-opening .vespera-crate-particles i:nth-child(5),
.vespera-crate-machine.is-open .vespera-crate-particles i:nth-child(5) { animation-delay: .09s; }

@keyframes vespera-crate-burst {
	0% { opacity: 0; transform: translate(-50%, -50%) scale(.2) rotate(0); }
	24% { opacity: 1; }
	100% { opacity: 0; transform: translate(calc(-50% + var(--crate-x)), calc(-50% + var(--crate-y))) scale(1.25) rotate(160deg); }
}

/* CS-style horizontal case opener */
.vespera-orbit-wheel__stage {
	min-height: 430px;
	padding: 2rem;
	background:
		linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.025) 50%, transparent 50.1%),
		linear-gradient(180deg, #0a0d13, #10151e 58%, #090c11);
}

.vespera-case-machine {
	width: min(100%, 920px);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	background: #0b0e14;
	box-shadow: 0 28px 65px rgba(0,0,0,.34);
}

.vespera-case-machine__bar,
.vespera-case-machine__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 44px;
	padding: .7rem .9rem;
	color: #9da6b5;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .56rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: #0e121a;
}

.vespera-case-machine__bar { border-bottom: 1px solid rgba(255,255,255,.08); }
.vespera-case-machine__foot { border-top: 1px solid rgba(255,255,255,.08); }
.vespera-case-machine__bar strong { color: #c4cad3; font-size: .54rem; font-weight: 650; }

.vespera-case-machine__foot > span {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: #70b98f;
}

.vespera-case-machine__foot > span i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(86,179,136,.1);
}

.vespera-case-machine__foot b { color: #74b8b0; font-weight: 700; }

.vespera-case-viewport {
	position: relative;
	height: 272px;
	overflow: hidden;
	background:
		repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.018) 80px),
		linear-gradient(180deg, #111722, #0b0f16);
	box-shadow: inset 0 22px 45px rgba(0,0,0,.28), inset 0 -22px 45px rgba(0,0,0,.28);
}

.vespera-case-track {
	display: flex;
	gap: 8px;
	align-items: center;
	width: max-content;
	height: 100%;
	padding: 30px 0;
	will-change: transform;
}

.vespera-case-item {
	--case-accent: color-mix(in srgb, var(--case-color, #6faea9) 82%, #fff 18%);
	position: relative;
	display: grid;
	grid-template-rows: 1fr auto auto;
	flex: 0 0 148px;
	width: 148px;
	height: 210px;
	overflow: hidden;
	padding: .85rem .7rem .7rem;
	border: 1px solid color-mix(in srgb, var(--case-accent) 28%, rgba(255,255,255,.08) 72%);
	border-bottom: 4px solid var(--case-accent);
	border-radius: 7px;
	color: #f0f3f7;
	text-align: center;
	background:
		radial-gradient(circle at 50% 29%, color-mix(in srgb, var(--case-accent) 25%, transparent 75%), transparent 48%),
		linear-gradient(180deg, color-mix(in srgb, var(--case-accent) 16%, #151b25 84%), #10151d 76%),
		#10151d;
	box-shadow: 0 12px 26px rgba(0,0,0,.22), inset 0 1px 0 color-mix(in srgb, var(--case-accent) 18%, transparent 82%);
	transition: filter .2s ease, opacity .2s ease, transform .25s ease, box-shadow .25s ease;
}

.vespera-case-item.is-credit { --case-accent: #62c49e; }
.vespera-case-item.is-product { --case-accent: color-mix(in srgb, var(--case-color, #6ca9ff) 70%, #6ca9ff 30%); }
.vespera-case-item.is-empty { --case-accent: #788394; }

.vespera-case-item::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 40px;
	width: 105px;
	height: 105px;
	border: 1px solid color-mix(in srgb, var(--case-color, #6faea9) 26%, transparent 74%);
	border-radius: 50%;
	transform: translateX(-50%);
}

.vespera-case-item__visual {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	align-self: center;
	justify-self: center;
	width: 82px;
	height: 82px;
	border-radius: 50%;
	color: var(--case-accent);
	font-size: 2.05rem;
	background: color-mix(in srgb, var(--case-accent) 20%, #111722 80%);
	filter: drop-shadow(0 0 22px color-mix(in srgb, var(--case-accent) 38%, transparent 62%));
}

.vespera-case-item__visual > .vespera-case-product-image {
	position: absolute;
	z-index: 2;
	inset: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 50%;
	object-fit: contain;
}

.vespera-case-item__visual.has-image > i { opacity: 0; }

.vespera-case-item > strong {
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin-top: .45rem;
	font-size: .63rem;
	font-weight: 700;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vespera-case-item > small {
	position: relative;
	z-index: 1;
	margin-top: .25rem;
	color: #a5adba;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .52rem;
	font-weight: 700;
	letter-spacing: .12em;
}

.vespera-case-fade {
	position: absolute;
	z-index: 5;
	top: 0;
	bottom: 0;
	width: 19%;
	pointer-events: none;
}

.vespera-case-fade--left { left: 0; background: linear-gradient(90deg, #0b0f16 10%, rgba(11,15,22,.86) 42%, transparent); }
.vespera-case-fade--right { right: 0; background: linear-gradient(-90deg, #0b0f16 10%, rgba(11,15,22,.86) 42%, transparent); }

.vespera-case-marker {
	position: absolute;
	z-index: 8;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(180deg, transparent, #6faea9 13%, #6faea9 87%, transparent);
	box-shadow: 0 0 16px rgba(111,174,169,.58);
	transform: translateX(-50%);
	pointer-events: none;
}

.vespera-case-marker::before,
.vespera-case-marker::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	transform: translateX(-50%);
}

.vespera-case-marker::before { top: 0; border-top: 11px solid #6faea9; }
.vespera-case-marker::after { bottom: 0; border-bottom: 11px solid #6faea9; }

.vespera-case-marker > span {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	border: 2px solid #6faea9;
	border-radius: 50%;
	background: #0d1118;
	transform: translate(-50%, -50%);
}

.vespera-case-seal {
	position: absolute;
	z-index: 7;
	inset: 0;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem;
	text-align: center;
	background: rgba(9,12,17,.83);
	backdrop-filter: blur(7px);
	transition: opacity .3s ease, visibility .3s ease, transform .4s ease;
}

.vespera-case-seal > i {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: .7rem;
	border: 1px solid rgba(111,174,169,.46);
	border-radius: 50%;
	color: #79bbb5;
	font-size: 1.45rem;
	background: rgba(111,174,169,.1);
	box-shadow: 0 0 32px rgba(111,174,169,.14);
}

.vespera-case-seal strong { color: #f1f3f6; font-size: .76rem; }
.vespera-case-seal small { max-width: 300px; margin-top: .3rem; color: #aab2bf; font-size: .62rem; line-height: 1.55; }

.vespera-case-machine.is-opening .vespera-case-seal,
.vespera-case-machine.is-finished .vespera-case-seal {
	opacity: 0;
	visibility: hidden;
	transform: scale(1.05);
}

.vespera-case-machine.is-opening .vespera-case-item { filter: saturate(.85); }

.vespera-case-machine.is-finished .vespera-case-item { opacity: .34; filter: grayscale(.25); }

.vespera-case-machine.is-finished .vespera-case-item.is-winner {
	z-index: 2;
	opacity: 1;
	filter: none;
	box-shadow: 0 0 0 1px var(--case-accent), 0 0 35px color-mix(in srgb, var(--case-accent) 32%, transparent 68%);
	transform: translateY(-5px) scale(1.035);
}

.vespera-case-contents {
	border-top: 1px solid var(--orbit-line);
	background: transparent;
}

.vespera-case-contents__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.1rem;
	border-bottom: 1px solid var(--orbit-line);
	background: transparent;
}

.vespera-case-contents__head span {
	color: var(--orbit-muted);
	font-size: .52rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vespera-case-contents__head h2 {
	margin: .15rem 0 0;
	font-size: .88rem;
	font-weight: 750;
	letter-spacing: -.02em;
}

.vespera-case-contents__head > strong {
	color: var(--orbit-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .53rem;
	font-weight: 650;
	text-transform: uppercase;
}

.vespera-case-contents__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .65rem;
	padding: .65rem;
	background: transparent;
}

.vespera-case-content {
	--case-accent: color-mix(in srgb, var(--case-color, var(--orbit-gold)) 82%, #fff 18%);
	position: relative;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--orbit-line);
	border-radius: 9px;
	background: transparent;
	box-shadow: none;
}

.vespera-case-content.is-credit { --case-accent: #62c49e; }
.vespera-case-content.is-product { --case-accent: color-mix(in srgb, var(--case-color, #6ca9ff) 70%, #6ca9ff 30%); }
.vespera-case-content.is-empty { --case-accent: #788394; }

.vespera-case-content::before {
	display: none;
}

.vespera-case-content__trigger {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 24px;
	gap: .65rem;
	align-items: center;
	width: 100%;
	min-height: 78px;
	padding: .85rem .9rem;
	border: 0;
	outline: 0;
	color: var(--orbit-text);
	text-align: left;
	background: transparent;
	transition: background .18s ease;
}

.vespera-case-content__trigger:hover,
.vespera-case-content__trigger:focus-visible,
.vespera-case-content.is-expanded .vespera-case-content__trigger {
	background: transparent;
}

.vespera-case-content__trigger:focus-visible { box-shadow: inset 3px 0 0 var(--orbit-text); }

.vespera-case-content__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	overflow: hidden;
	color: var(--orbit-text);
	font-size: 1.15rem;
	border: 1px solid var(--orbit-line-strong);
	background: transparent;
	box-shadow: none;
}

.vespera-case-content__icon > .vespera-case-product-image {
	position: absolute;
	z-index: 2;
	inset: 3px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	border-radius: 6px;
	object-fit: contain;
}

.vespera-case-content__icon.has-image > i { opacity: 0; }

.vespera-case-content__copy {
	display: grid;
	gap: .1rem;
	min-width: 0;
}

.vespera-case-content__copy strong,
.vespera-case-content__copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vespera-case-content__copy strong { color: var(--orbit-text); font-size: .69rem; font-weight: 700; }

.vespera-case-content__copy small {
	justify-self: start;
	margin-top: .2rem;
	padding: .2rem .4rem;
	border: 1px solid var(--orbit-line-strong);
	border-radius: 100px;
	color: var(--orbit-text);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .52rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	background: transparent;
}

.vespera-case-content__trigger > i {
	color: var(--orbit-muted);
	font-size: .72rem;
	transition: transform .22s ease, color .18s ease;
}

.vespera-case-content.is-expanded .vespera-case-content__trigger > i {
	color: var(--orbit-text);
	transform: rotate(180deg);
}

.vespera-case-content__details {
	position: relative;
	z-index: 2;
	max-height: 0;
	overflow: hidden;
	padding: 0 .8rem;
	border-top: 0 solid var(--orbit-line);
	color: var(--orbit-muted);
	opacity: 0;
	transition: max-height .28s ease, padding .28s ease, opacity .2s ease, border-width .2s ease;
	background: transparent;
}

.vespera-case-content.is-expanded .vespera-case-content__details {
	max-height: 150px;
	padding: .75rem .8rem .85rem;
	border-top-width: 1px;
	opacity: 1;
}

.vespera-case-content__details > span {
	display: block;
	font-size: .58rem;
	font-weight: 600;
}

.vespera-case-content__details > span strong { color: var(--orbit-text); }

.vespera-case-content__details p {
	margin: .35rem 0 0;
	font-size: .62rem;
	line-height: 1.55;
}

.vespera-case-content__details p b { color: var(--orbit-text); font-weight: 750; }

[data-bs-theme="dark"] .vespera-case-contents,
[data-bs-theme="dark"] .vespera-case-contents__head span,
[data-bs-theme="dark"] .vespera-case-contents__head > strong,
[data-bs-theme="dark"] .vespera-case-content__trigger,
[data-bs-theme="dark"] .vespera-case-content__icon,
[data-bs-theme="dark"] .vespera-case-content__copy strong,
[data-bs-theme="dark"] .vespera-case-content__copy small,
[data-bs-theme="dark"] .vespera-case-content__trigger > i,
[data-bs-theme="dark"] .vespera-case-content__details,
[data-bs-theme="dark"] .vespera-case-content__details > span strong,
[data-bs-theme="dark"] .vespera-case-content__details p b {
	color: #fff;
}

.swal2-popup.vespera-case-alert {
	--case-alert-surface: #fff;
	--case-alert-soft: #f2f4f7;
	--case-alert-line: rgba(24, 36, 51, .11);
	--case-alert-text: #182433;
	--case-alert-muted: #667382;
	position: relative;
	width: min(calc(100% - 2rem), 430px);
	overflow: hidden;
	padding: 2rem 1.75rem 1.6rem;
	border: 1px solid var(--case-alert-line);
	border-radius: 14px;
	color: var(--case-alert-text);
	font-family: var(--vespera-font-family) !important;
	background: var(--case-alert-surface);
	box-shadow: 0 28px 80px rgba(24, 36, 51, .2);
}

.swal2-popup.vespera-case-alert::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, transparent, #6f9fb3 30%, #62bd94 70%, transparent);
}

[data-bs-theme="dark"] .swal2-popup.vespera-case-alert {
	--case-alert-surface: #121216;
	--case-alert-soft: #19191f;
	--case-alert-line: rgba(255, 255, 255, .1);
	--case-alert-text: #f4f5f7;
	--case-alert-muted: #aeb4bf;
	border-color: rgba(255, 255, 255, .1);
	box-shadow: 0 28px 80px rgba(0, 0, 0, .48);
}

.vespera-case-alert .swal2-title {
	margin: 0;
	padding: 0;
	color: var(--case-alert-text);
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -.035em;
}

.vespera-case-alert .swal2-content {
	margin: 0;
	padding: 0;
	color: var(--case-alert-muted);
}

.vespera-case-result {
	--case-result-accent: color-mix(in srgb, var(--case-result-color, #6faea9) 82%, #fff 18%);
	display: flex;
	align-items: center;
	flex-direction: column;
	padding-top: 1.15rem;
	text-align: center;
}

.vespera-case-result.is-credit { --case-result-accent: #62c49e; }

.vespera-case-result__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	margin-bottom: .85rem;
	border: 1px solid color-mix(in srgb, var(--case-result-accent) 58%, var(--case-alert-line) 42%);
	border-radius: 50%;
	overflow: hidden;
	color: var(--case-result-accent);
	font-size: 1.65rem;
	background: color-mix(in srgb, var(--case-result-accent) 21%, var(--case-alert-soft) 79%);
	box-shadow: 0 0 0 7px color-mix(in srgb, var(--case-result-accent) 8%, transparent 92%), 0 0 34px color-mix(in srgb, var(--case-result-accent) 25%, transparent 75%);
}

.vespera-case-result__icon > .vespera-case-product-image {
	position: absolute;
	z-index: 2;
	inset: 6px;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	border-radius: 50%;
	object-fit: contain;
}

.vespera-case-result__icon.has-image > i { opacity: 0; }

.vespera-case-result > span {
	color: #69bd96;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: .58rem;
	font-weight: 750;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.vespera-case-result > strong {
	max-width: 100%;
	margin-top: .35rem;
	color: var(--case-alert-text);
	font-size: 1.05rem;
	font-weight: 750;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.vespera-case-result > small {
	margin-top: .55rem;
	padding: .32rem .58rem;
	border: 1px solid var(--case-alert-line);
	border-radius: 100px;
	color: var(--case-result-accent);
	font-size: .57rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: color-mix(in srgb, var(--case-result-accent) 10%, var(--case-alert-soft) 90%);
}

.vespera-case-result > p {
	max-width: 320px;
	margin: .9rem 0 0;
	color: var(--case-alert-muted);
	font-size: .68rem;
	line-height: 1.65;
}

.vespera-case-alert .swal2-actions {
	width: 100%;
	margin: 1.3rem 0 0;
}

.vespera-case-alert .swal2-styled.swal2-confirm {
	width: 100%;
	min-height: 44px;
	margin: 0;
	border: 0;
	border-radius: 8px;
	color: #102319 !important;
	font-size: .68rem;
	font-weight: 750;
	background: #70c59d !important;
	box-shadow: none !important;
}

.vespera-case-alert .swal2-styled.swal2-confirm:hover,
.vespera-case-alert .swal2-styled.swal2-confirm:focus {
	background: #82d3ad !important;
	box-shadow: 0 0 0 3px rgba(112, 197, 157, .16) !important;
}

@media (max-width: 1199.98px) {
	.vespera-orbit-games { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vespera-orbit-console { grid-template-columns: minmax(0, 1fr) 310px; }
	.vespera-case-contents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
	.vespera-orbit-console { grid-template-columns: 1fr; }
	.vespera-orbit-history { position: static; }
	.vespera-orbit-history__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vespera-orbit-win:nth-child(even) { border-left: 1px solid var(--orbit-line); }
	.vespera-orbit-win:nth-child(2) { border-top: 0; }
}

@media (max-width: 767.98px) {
	.vespera-orbit { padding: 2.4rem 0 4rem; }
	.vespera-orbit-hero,
	.vespera-orbit-loghead { grid-template-columns: 1fr; gap: 1.5rem; min-height: 0; padding-top: 1.3rem; }
	.vespera-orbit-hero::after { display: none; }
	.vespera-orbit-hero__signal,
	.vespera-orbit-loghead > div:last-child { max-width: 340px; }
	.vespera-orbit-games { grid-template-columns: 1fr; }
	.vespera-orbit-game { display: grid; grid-template-columns: 190px minmax(0, 1fr); }
	.vespera-orbit-game__top { grid-column: 1 / -1; }
	.vespera-orbit-game__visual { grid-row: 2 / 4; min-height: 210px; }
	.vespera-orbit-game__copy { align-self: end; }
	.vespera-orbit-game__action { align-items: stretch; flex-direction: column; }
	.vespera-orbit-game__action .btn { width: 100%; }
	.vespera-orbit-playhead { align-items: flex-start; flex-direction: column; min-height: 0; padding-top: 1.3rem; }
	.vespera-orbit-playhead nav { max-width: 100%; width: 100%; }
	.vespera-orbit-wheel__stage { min-height: 430px; padding: 1rem; }
	.vespera-crate-machine { height: 430px; }
	.vespera-crate-lid { top: 176px; }
	.vespera-crate-body { top: 243px; }
	.vespera-orbit-wheel__controls { align-items: stretch; flex-direction: column; }
	.vespera-orbit-wheel__controls .btn { width: 100%; }
}

@media (max-width: 575.98px) {
	.vespera-orbit-hero h1,
	.vespera-orbit-loghead h1 { font-size: 2.7rem; }
	.vespera-orbit-game { display: flex; }
	.vespera-orbit-game__visual { min-height: 220px; }
	.vespera-orbit-history__list { grid-template-columns: 1fr; }
	.vespera-orbit-win:nth-child(even) { border-left: 0; }
	.vespera-orbit-win:nth-child(2) { border-top: 1px solid var(--orbit-line); }
	.vespera-orbit-wheel__stage { min-height: 360px; }
	.vespera-crate-machine { height: 360px; }
	.vespera-crate-lid { top: 142px; height: 62px; }
	.vespera-crate-body { top: 196px; height: 138px; }
	.vespera-crate-machine.is-opening .vespera-crate-lid,
	.vespera-crate-machine.is-open .vespera-crate-lid { transform: translateX(-50%) translate(-18px, -112px) rotate(-9deg); }
	.vespera-crate-machine.is-opening .vespera-crate-body,
	.vespera-crate-machine.is-open .vespera-crate-body { transform: translateX(-50%) translateY(76px) scale(.86); }
	.vespera-case-machine__bar strong { display: none; }
	.vespera-case-viewport { height: 230px; }
	.vespera-case-track { padding: 26px 0; }
	.vespera-case-item { flex-basis: 122px; width: 122px; height: 178px; padding: .7rem .55rem .6rem; }
	.vespera-case-item::before { top: 32px; width: 88px; height: 88px; }
	.vespera-case-item__visual { width: 68px; height: 68px; font-size: 1.65rem; }
	.vespera-case-fade { width: 13%; }
	.vespera-case-contents__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.vespera-orbit-game,
	.vespera-orbit-game__visual > div,
	.vespera-orbit-game__arrow,
	.vespera-crate-lid,
	.vespera-crate-body,
	.vespera-crate-aura,
	.vespera-crate-machine .superwheel { transition: none; }
	.vespera-crate-machine.is-opening .vespera-crate-particles i,
	.vespera-crate-machine.is-open .vespera-crate-particles i { animation: none; }
	.vespera-case-content__details,
	.vespera-case-content__trigger > i { transition: none; }
}
