.advent-scene {
	--ad-night: #0b1d33;
	--ad-night2: #12384a;
	--ad-gold: #f3c969;
	--ad-cream: #fff3d6;
	--ad-ink: #3b2410;
	--ad-serif: Georgia, "Times New Roman", serif;
	position: relative;
	overflow: hidden;
	margin: 1em 0;
	padding: 0 clamp(12px, 3vw, 32px) 104px;
	border-radius: 16px;
	color: var(--ad-cream);
	background:
		radial-gradient(900px 420px at 50% -8%, rgba(255, 214, 120, .2), transparent 62%),
		linear-gradient(180deg, var(--ad-night) 0%, var(--ad-night2) 100%);
	box-shadow: 0 10px 30px rgba(8, 20, 40, .35), inset 0 0 0 1px rgba(243, 201, 105, .28);
}

.advent-scene::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 20px 30px, rgba(255, 255, 255, .9) 0 1px, transparent 2px),
		radial-gradient(circle at 90px 80px, rgba(255, 255, 255, .7) 0 1.2px, transparent 2.4px),
		radial-gradient(circle at 160px 20px, rgba(255, 244, 200, .9) 0 1.4px, transparent 2.8px),
		radial-gradient(circle at 60px 140px, rgba(255, 255, 255, .6) 0 1px, transparent 2px),
		radial-gradient(circle at 180px 120px, rgba(255, 255, 255, .8) 0 1.2px, transparent 2.4px);
	background-size: 210px 170px;
	animation: advent-stars 5s ease-in-out infinite alternate;
}

.advent-scene::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 92px;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 92'%3E%3Cg fill='%2308212a'%3E%3Cpath d='M40 4 62 42 50 42 70 70 54 70 76 92 4 92 26 70 10 70 30 42 18 42Z'/%3E%3Cpath d='M116 26 132 52 124 52 138 74 128 74 144 92 88 92 104 74 94 74 108 52 100 52Z'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='34' cy='52' r='2' fill='%23ffd166'/%3E%3Ccircle cx='48' cy='66' r='2' fill='%23ff5a5f'/%3E%3Ccircle cx='28' cy='78' r='2' fill='%234ee38b'/%3E%3Ccircle cx='112' cy='60' r='1.8' fill='%23ff5a5f'/%3E%3Ccircle cx='122' cy='78' r='1.8' fill='%23ffd166'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom left / 160px 92px;
}

.advent-lights {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 40px;
	pointer-events: none;
	z-index: 1;
}

.advent-lights::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 9px;
	height: 2px;
	background: rgba(255, 255, 255, .22);
}

.advent-lights::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 8px;
	height: 32px;
	background:
		radial-gradient(circle at 12px 14px, #ff5a5f 0 4.5px, transparent 5.5px) 0 0 / 96px 32px,
		radial-gradient(circle at 36px 18px, #ffd166 0 4.5px, transparent 5.5px) 0 0 / 96px 32px,
		radial-gradient(circle at 60px 14px, #4ee38b 0 4.5px, transparent 5.5px) 0 0 / 96px 32px,
		radial-gradient(circle at 84px 18px, #5ab8ff 0 4.5px, transparent 5.5px) 0 0 / 96px 32px;
	filter: drop-shadow(0 0 4px rgba(255, 230, 170, .9));
	animation: advent-twinkle 2.6s ease-in-out infinite alternate;
}

.advent-head {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 62px 0 6px;
}

.advent-scene .advent-title {
	margin: 0;
	padding: 0;
	font-family: var(--ad-serif);
	font-weight: 700;
	font-size: clamp(1.9rem, 6vw, 3.1rem);
	line-height: 1.1;
	letter-spacing: .02em;
	border: 0;
	color: transparent;
	background: linear-gradient(180deg, #fff6d8 0%, var(--ad-gold) 55%, #d99a2b 100%);
	-webkit-background-clip: text;
	background-clip: text;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .4));
}

.advent-head::after {
	content: "";
	display: block;
	height: 14px;
	width: min(280px, 72%);
	margin: 12px auto 0;
	background:
		linear-gradient(90deg, transparent, var(--ad-gold)) left center / 42% 1px no-repeat,
		linear-gradient(270deg, transparent, var(--ad-gold)) right center / 42% 1px no-repeat,
		radial-gradient(circle, var(--ad-gold) 0 3px, transparent 4px) center / 14px 14px no-repeat;
}

.advent-count {
	margin: 14px 0 0;
	color: #d4e6f2;
	font-size: .95rem;
}

.advent-progress {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: min(360px, 82%);
	height: 12px;
	margin: 10px auto 0;
	border: 0;
	border-radius: 99px;
	overflow: hidden;
	background: rgba(255, 255, 255, .16);
}

.advent-progress::-webkit-progress-bar {
	background: rgba(255, 255, 255, .16);
	border-radius: 99px;
}

.advent-progress::-webkit-progress-value {
	border-radius: 99px;
	background: repeating-linear-gradient(45deg, #e23b4a 0 8px, #fff 8px 16px);
}

.advent-progress::-moz-progress-bar {
	border-radius: 99px;
	background: repeating-linear-gradient(45deg, #e23b4a 0 8px, #fff 8px 16px);
}

.advent-greeting {
	position: relative;
	z-index: 2;
	max-width: 640px;
	margin: 22px auto 0;
	padding: 16px 24px 18px;
	text-align: center;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255, 243, 214, .12), rgba(255, 243, 214, .04));
	border: 1px solid rgba(243, 201, 105, .45);
	box-shadow: inset 0 0 0 4px rgba(11, 29, 51, .55), inset 0 0 0 5px rgba(243, 201, 105, .25);
}

.advent-scene .advent-greeting-title {
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	font: 700 1.3rem/1.25 var(--ad-serif);
	letter-spacing: .03em;
	text-transform: none;
	color: var(--ad-gold);
	text-shadow: 0 0 14px rgba(243, 201, 105, .45);
}

.advent-greeting-text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--ad-cream);
}

.advent-greeting-text a,
.advent-greeting-text a:visited {
	color: #ffd978;
}

.advent-greeting-text img {
	max-width: 100%;
	vertical-align: middle;
}

.advent-date {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	text-align: center;
	font: 600 .6rem/1 Verdana, Arial, sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-shadow: none;
	opacity: .8;
}

.advent-notice {
	position: relative;
	z-index: 2;
	max-width: 520px;
	margin: 12px auto 0;
	padding: 8px 14px;
	text-align: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(243, 201, 105, .4);
	color: var(--ad-cream);
}

.advent-notice p {
	margin: 0;
}

.advent-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px 14px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 440px) {
	.advent-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 640px) {
	.advent-grid { grid-template-columns: repeat(6, 1fr); }
}

@media (min-width: 1000px) {
	.advent-grid { grid-template-columns: repeat(8, 1fr); }
}

.advent-door {
	position: relative;
	aspect-ratio: 4 / 5;
	margin: 0;
	padding: 0;
	perspective: 900px;
	--leaf: linear-gradient(160deg, #c9283a, #8e1423);
	--leaf-d: #8e1423;
	--num: var(--ad-gold);
}

.advent-door:nth-child(5n+2) { --leaf: linear-gradient(160deg, #2a8a5a, #145235); --leaf-d: #145235; }
.advent-door:nth-child(5n+3) { --leaf: linear-gradient(160deg, #fbf1d9, #e5d2a6); --leaf-d: #e5d2a6; --num: #b3202e; }
.advent-door:nth-child(5n+4) { --leaf: linear-gradient(160deg, #3d5f8c, #1b2f4f); --leaf-d: #1b2f4f; }
.advent-door:nth-child(5n+5) { --leaf: linear-gradient(160deg, #c98a3a, #8a5517); --leaf-d: #8a5517; }

.advent-inside {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 6px 6px 6px 16px;
	border-radius: 10px;
	text-align: center;
	color: var(--ad-ink);
	background: radial-gradient(circle at 50% 58%, #fff7cf 0, #ffd978 48%, #e9a23b 100%);
	box-shadow: inset 0 4px 10px rgba(90, 50, 0, .45), 0 0 18px rgba(255, 205, 100, .35);
}

.advent-reward {
	font-size: clamp(.8rem, 2.6vw, 1rem);
	font-weight: 700;
	line-height: 1.15;
	word-break: break-word;
}

.advent-gift {
	position: relative;
	width: 26px;
	height: 24px;
	margin-top: 6px;
	border-radius: 4px;
	background:
		linear-gradient(90deg, transparent 10px, #f3c969 10px 16px, transparent 16px),
		linear-gradient(0deg, transparent 9px, #f3c969 9px 14px, transparent 14px),
		linear-gradient(160deg, #d02a3c, #8e1423);
	box-shadow: 0 2px 4px rgba(90, 30, 0, .4);
}

.advent-gift::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -8px;
	width: 15px;
	height: 9px;
	transform: translateX(-50%);
	border: 3px solid #f3c969;
	border-bottom: 0;
	border-radius: 99px 99px 0 0;
}

.advent-leaf {
	all: unset;
	box-sizing: border-box;
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	transform-origin: left center;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1), filter .3s;
	font-family: var(--ad-serif);
	font-size: clamp(1.5rem, 4.6vw, 2.2rem);
	font-weight: 700;
	color: var(--num);
	text-shadow: 0 2px 0 rgba(0, 0, 0, .35), 0 0 12px rgba(243, 201, 105, .45);
	background: var(--leaf);
	--ad-edge: 0 6px 14px rgba(0, 0, 0, .4), inset 0 0 0 2px rgba(243, 201, 105, .6), inset 0 0 0 7px var(--leaf-d), inset 0 0 0 8px rgba(243, 201, 105, .35);
	box-shadow: var(--ad-edge);
}

.advent-leaf::before {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	top: -5px;
	height: 11px;
	border-radius: 99px 99px 6px 6px;
	background: #fff;
	opacity: .92;
	box-shadow: 0 2px 3px rgba(0, 0, 0, .18);
}

.advent-leaf::after {
	content: "";
	position: absolute;
	right: 11px;
	top: 52%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff6d0, #c9952c);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .5);
}

.advent-locked .advent-leaf { filter: saturate(.7) brightness(.72); }
.advent-missed .advent-leaf { filter: grayscale(.9) brightness(.55); }

.advent-open .advent-leaf {
	transform: rotateY(-82deg);
	color: transparent;
	text-shadow: none;
}

.advent-btn { cursor: pointer; }

.advent-lockbtn { cursor: not-allowed; }

.advent-lockbtn:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.advent-notice-missed {
	background: rgba(168, 40, 58, .28);
	border-color: rgba(255, 150, 150, .45);
}

.advent-btn:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.advent-today .advent-leaf,
.advent-catchup .advent-leaf {
	animation: advent-glow 2.2s ease-in-out infinite;
}

.advent-catchup .advent-leaf {
	filter: brightness(.88);
	animation-duration: 3.2s;
}

.advent-today::after,
.advent-catchup::after {
	content: attr(data-label);
	position: absolute;
	left: 50%;
	bottom: -9px;
	z-index: 3;
	transform: translateX(-50%);
	padding: 3px 9px;
	border-radius: 99px;
	background: var(--ad-gold);
	color: var(--ad-ink);
	font: 700 .62rem/1 Verdana, Arial, sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
}

.advent-missed::after {
	content: attr(data-label);
	position: absolute;
	left: 50%;
	bottom: -9px;
	z-index: 3;
	transform: translateX(-50%);
	padding: 3px 9px;
	border-radius: 99px;
	background: #5b6672;
	color: #fff;
	font: 700 .62rem/1 Verdana, Arial, sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
}

@media (hover: hover) {
	.advent-btn:hover { transform: rotateY(-24deg); }
}

.advent-btn:active { transform: rotateY(-36deg); }

@keyframes advent-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(243, 201, 105, 0), var(--ad-edge); }
	50% { box-shadow: 0 0 24px 6px rgba(243, 201, 105, .8), var(--ad-edge); }
}

@keyframes advent-twinkle {
	from { opacity: .6; }
	to { opacity: 1; }
}

@keyframes advent-stars {
	from { opacity: .55; }
	to { opacity: 1; }
}

.advent-flash {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 560px;
	margin: 20px auto 0;
	padding: 14px 20px;
	border-radius: 14px;
	color: var(--ad-ink);
	background: radial-gradient(circle at 10% 50%, #fff7cf 0, #ffd978 55%, #e9a23b 100%);
	box-shadow: 0 0 30px rgba(255, 205, 100, .5), inset 0 0 0 2px rgba(255, 255, 255, .55);
	animation: advent-pop .7s cubic-bezier(.2, .9, .3, 1.3) both;
}

.advent-flash .advent-gift {
	flex: none;
	margin: 12px 16px 2px 8px;
	transform: scale(1.7);
}

.advent-flash-title {
	margin: 0;
	font: 700 1.25rem/1.2 var(--ad-serif);
}

.advent-flash-text {
	margin: 3px 0 0;
	font-size: 1.05rem;
}

.advent-flash-error {
	color: var(--ad-cream);
	background: linear-gradient(160deg, #a8283a, #6d1020);
	box-shadow: 0 0 24px rgba(200, 40, 60, .45), inset 0 0 0 2px rgba(243, 201, 105, .5);
}

.advent-flash-mark {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ad-gold);
	color: #6d1020;
	font: 700 1.7rem/1 var(--ad-serif);
}

.advent-flash-mark::before {
	content: "!";
}

.advent-fresh .advent-leaf {
	animation: advent-swing 1s .4s cubic-bezier(.2, .7, .2, 1) both;
}

.advent-fresh .advent-inside {
	animation: advent-reveal 1.6s .4s ease-out both;
}

@keyframes advent-pop {
	from { opacity: 0; transform: translateY(-10px) scale(.92); }
	to { opacity: 1; transform: none; }
}

@keyframes advent-swing {
	from { transform: rotateY(0); color: var(--num); text-shadow: 0 2px 0 rgba(0, 0, 0, .35), 0 0 12px rgba(243, 201, 105, .45); }
	to { transform: rotateY(-82deg); color: transparent; text-shadow: none; }
}

@keyframes advent-reveal {
	0% { box-shadow: inset 0 4px 10px rgba(90, 50, 0, .45), 0 0 0 rgba(255, 220, 130, 0); }
	45% { box-shadow: inset 0 4px 10px rgba(90, 50, 0, .45), 0 0 44px 14px rgba(255, 224, 140, .95); }
	100% { box-shadow: inset 0 4px 10px rgba(90, 50, 0, .45), 0 0 18px rgba(255, 205, 100, .35); }
}

.advent-announce {
	--ad-gold: #f3c969;
	--ad-cream: #fff3d6;
	--ad-ink: #3b2410;
	--ad-holly-l: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='33' viewBox='0 0 48 36'%3E%3Cg%3E%3Cpath d='M24 22C18 22 10 20 3 9C12 7 21 11 24 22Z' fill='%231f8a52'/%3E%3Cpath d='M24 22C30 22 38 20 45 9C36 7 27 11 24 22Z' fill='%2316683d'/%3E%3Cpath d='M24 23C19 29 13 33 5 33C8 25 16 21 24 23Z' fill='%232aa266'/%3E%3Cpath d='M24 23C29 29 35 33 43 33C40 25 32 21 24 23Z' fill='%231b7a49'/%3E%3Ccircle cx='21' cy='23' r='3.2' fill='%23e23b4a'/%3E%3Ccircle cx='27.4' cy='24' r='3.2' fill='%23c92b3b'/%3E%3Ccircle cx='24' cy='27.6' r='3.2' fill='%23e23b4a'/%3E%3Ccircle cx='20' cy='21.8' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='26.4' cy='22.8' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='23' cy='26.4' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3C/g%3E%3C/svg%3E");
	--ad-holly-r: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='33' viewBox='0 0 48 36'%3E%3Cg transform='matrix(-1 0 0 1 48 0)'%3E%3Cpath d='M24 22C18 22 10 20 3 9C12 7 21 11 24 22Z' fill='%231f8a52'/%3E%3Cpath d='M24 22C30 22 38 20 45 9C36 7 27 11 24 22Z' fill='%2316683d'/%3E%3Cpath d='M24 23C19 29 13 33 5 33C8 25 16 21 24 23Z' fill='%232aa266'/%3E%3Cpath d='M24 23C29 29 35 33 43 33C40 25 32 21 24 23Z' fill='%231b7a49'/%3E%3Ccircle cx='21' cy='23' r='3.2' fill='%23e23b4a'/%3E%3Ccircle cx='27.4' cy='24' r='3.2' fill='%23c92b3b'/%3E%3Ccircle cx='24' cy='27.6' r='3.2' fill='%23e23b4a'/%3E%3Ccircle cx='20' cy='21.8' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='26.4' cy='22.8' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='23' cy='26.4' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3C/g%3E%3C/svg%3E");
	--ad-snow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='8' viewBox='0 0 48 8'%3E%3Cpath d='M0 8V6Q6 2 12 6Q18 2 24 6Q30 2 36 6Q42 2 48 6V8Z' fill='%23fff' fill-opacity='.9'/%3E%3C/svg%3E");
	--ad-wire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Cpath d='M0 2Q24 16 48 2' fill='none' stroke='%238fa7b8' stroke-opacity='.75' stroke-width='1.1'/%3E%3C/svg%3E");
	--ad-bulbs-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Ccircle cx='9.6' cy='11.68' r='6' fill='%23ff5a5f' fill-opacity='.26'/%3E%3Crect x='8.1' y='6.28' width='3' height='2.8' rx='.7' fill='%2333444f'/%3E%3Cellipse cx='9.6' cy='11.68' rx='2.9' ry='3.5' fill='%23ff5a5f'/%3E%3Ccircle cx='8.7' cy='10.58' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='28.8' cy='13.920000000000002' r='6' fill='%234ee38b' fill-opacity='.26'/%3E%3Crect x='27.3' y='8.520000000000001' width='3' height='2.8' rx='.7' fill='%2333444f'/%3E%3Cellipse cx='28.8' cy='13.920000000000002' rx='2.9' ry='3.5' fill='%234ee38b'/%3E%3Ccircle cx='27.900000000000002' cy='12.820000000000002' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3C/svg%3E");
	--ad-bulbs-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Ccircle cx='19.2' cy='13.920000000000002' r='6' fill='%23ffd166' fill-opacity='.26'/%3E%3Crect x='17.7' y='8.520000000000001' width='3' height='2.8' rx='.7' fill='%2333444f'/%3E%3Cellipse cx='19.2' cy='13.920000000000002' rx='2.9' ry='3.5' fill='%23ffd166'/%3E%3Ccircle cx='18.3' cy='12.820000000000002' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3Ccircle cx='38.4' cy='11.68' r='6' fill='%235ab8ff' fill-opacity='.26'/%3E%3Crect x='36.9' y='6.28' width='3' height='2.8' rx='.7' fill='%2333444f'/%3E%3Cellipse cx='38.4' cy='11.68' rx='2.9' ry='3.5' fill='%235ab8ff'/%3E%3Ccircle cx='37.5' cy='10.58' r='.9' fill='%23fff' fill-opacity='.75'/%3E%3C/svg%3E");
	--ad-spark: radial-gradient(circle at 38px 26px, rgba(255,255,255,.6) 0 1px, transparent 1.7px) 0 0 / 210px 70px, radial-gradient(circle at 120px 46px, rgba(255,244,200,.55) 0 1.2px, transparent 2px) 0 0 / 210px 70px, radial-gradient(circle at 176px 22px, rgba(255,255,255,.45) 0 1px, transparent 1.7px) 0 0 / 210px 70px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0 0 10px;
	padding: 22px 58px 15px;
	min-height: 44px;
	box-sizing: border-box;
	border-radius: 10px;
	color: var(--ad-cream);
	background:
		var(--ad-holly-l) left 10px bottom 8px / 44px 33px no-repeat,
		var(--ad-holly-r) right 10px bottom 8px / 44px 33px no-repeat,
		var(--ad-snow) left bottom / 48px 8px repeat-x,
		var(--ad-wire) left top / 48px 18px repeat-x,
		var(--ad-spark),
		linear-gradient(90deg, #0b1d33, #12384a 50%, #0b1d33);
	box-shadow: 0 3px 10px rgba(8, 20, 40, .3), inset 0 0 0 1px rgba(243, 201, 105, .4);
	overflow: hidden;
}

.advent-announce::before,
.advent-announce::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 18px;
	pointer-events: none;
	opacity: .95;
	background: var(--ad-bulbs-a) left top / 48px 18px repeat-x;
	animation: advent-twinkle 2.6s ease-in-out infinite alternate;
}

.advent-announce::after {
	background-image: var(--ad-bulbs-b);
	animation-direction: alternate-reverse;
}

.advent-announce-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 700 1rem/1.2 Georgia, "Times New Roman", serif;
	letter-spacing: .02em;
	color: var(--ad-gold);
	text-shadow: 0 0 10px rgba(243, 201, 105, .35);
}

.advent-announce-title::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background: var(--ad-gold);
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.advent-countdown {
	display: inline-flex;
	gap: 6px;
}

.advent-countdown span {
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	padding: 3px 8px;
	border-radius: 7px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .17), rgba(255, 255, 255, .06));
	box-shadow: inset 0 0 0 1px rgba(243, 201, 105, .35), 0 1px 3px rgba(0, 0, 0, .3);
	font: 700 .95rem/1 Georgia, "Times New Roman", serif;
	font-variant-numeric: tabular-nums;
	color: var(--ad-cream);
}

.advent-countdown i {
	font: 600 .62rem/1 Verdana, Arial, sans-serif;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ad-gold);
}

.advent-announce-live {
	display: none;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}

.advent-announce.is-live {
	color: var(--ad-ink);
	background:
		var(--ad-holly-l) left 10px bottom 8px / 44px 33px no-repeat,
		var(--ad-holly-r) right 10px bottom 8px / 44px 33px no-repeat,
		var(--ad-snow) left bottom / 48px 8px repeat-x,
		var(--ad-wire) left top / 48px 18px repeat-x,
		linear-gradient(90deg, #000000, #ffbf02bd 50%, #020202);
	box-shadow: 0 3px 12px rgba(243, 201, 105, .45), inset 0 0 0 1px rgba(255, 255, 255, .6);
}

.advent-announce.is-live .advent-announce-wait { display: none; }
.advent-announce.is-live .advent-announce-live { display: inline-flex; }
.advent-announce.is-live::before,
.advent-announce.is-live::after { opacity: .55; }

.advent-announce-live .advent-announce-title {
	color: var(--ad-ink);
	text-shadow: none;
}

.advent-announce-live .advent-announce-title::before { background: #b3202e; }

.advent-announce-wait {
	display: inline-flex;
	align-items: center;
	gap: 6px 16px;
	flex-wrap: wrap;
	justify-content: center;
}

.advent-announce a.advent-announce-link,
.advent-announce a.advent-announce-link:link,
.advent-announce a.advent-announce-link:visited {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 14px;
	border-radius: 99px;
	background: #b3202e;
	color: #fff;
	font: 700 .8rem/1 Verdana, Arial, sans-serif;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
}

.advent-announce a.advent-announce-link:hover,
.advent-announce a.advent-announce-link:focus-visible { background: #8e1423; color: #fff; }

@media (max-width: 520px) {
	.advent-announce {
		padding: 22px 14px 15px;
		background:
			var(--ad-snow) left bottom / 48px 8px repeat-x,
			var(--ad-wire) left top / 48px 18px repeat-x,
			var(--ad-spark),
			linear-gradient(90deg, #0b1d33, #12384a 50%, #0b1d33);
	}

	.advent-announce.is-live {
		background:
			var(--ad-snow) left bottom / 48px 8px repeat-x,
			var(--ad-wire) left top / 48px 18px repeat-x,
			linear-gradient(90deg, #000000, #ffbf02bd 50%, #020202);
	}
}

@media (prefers-reduced-motion: reduce) {
	.advent-announce::before,
	.advent-announce::after { animation: none; }
}

#dmzx-advent-snow { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9999; }

@media (prefers-reduced-motion: reduce) {
	#dmzx-advent-snow { display: none; }
	.advent-scene::before,
	.advent-lights::after,
	.advent-leaf,
	.advent-fresh .advent-inside,
	.advent-flash { animation: none; transition: none; }
}
