/* LTD Puzzle Hunt — inherits the theme's fonts and colors. */

.ltd-form p { margin: 0 0 1em; }
.ltd-form label { display: block; font-weight: 600; margin-bottom: .3em; }
.ltd-form input[type="text"],
.ltd-form input[type="email"],
.ltd-form input[type="password"] {
	width: 100%;
	max-width: 28rem;
	box-sizing: border-box;
	padding: .6em .75em;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 4px;
	opacity: .95;
}
.ltd-form input:focus { outline: 2px solid currentColor; outline-offset: 2px; }
.ltd-help, .ltd-small { display: block; font-size: .85em; opacity: .75; margin-top: .3em; }
.ltd-form details { margin: 0 0 1em; }
.ltd-form summary { cursor: pointer; margin-bottom: .75em; }
.ltd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.ltd-button,
.ltd-form button,
.ltd-login input[type="submit"] {
	display: inline-block;
	padding: .6em 1.2em;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	color: var(--wp--preset--color--base, #fff);
	background: var(--wp--preset--color--contrast, #111);
	border: 1px solid var(--wp--preset--color--contrast, #111);
	border-radius: 4px;
}
.ltd-button:hover, .ltd-form button:hover { opacity: .85; }
.ltd-button-secondary {
	color: inherit;
	background: transparent;
	border-color: currentColor;
}
.ltd-links .ltd-button { margin: 0 .5em .5em 0; }

.ltd-notice {
	margin: 0 0 1.25em;
	padding: .8em 1em;
	border-left: 4px solid currentColor;
	background: rgba(127, 127, 127, .1);
	border-radius: 2px;
}
.ltd-notice ul { margin: 0; padding-left: 1.2em; }
.ltd-notice-success { border-left-color: #2e9e5b; }
.ltd-notice-error { border-left-color: #c94040; }
.ltd-notice-info { border-left-color: #6b7f99; }

.ltd-answer { margin: 1.5em 0; }
.ltd-answer-label { display: block; font-weight: 600; margin-bottom: .4em; }
.ltd-answer-row { display: flex; gap: .5em; flex-wrap: wrap; align-items: stretch; }
.ltd-answer-row input[type="text"] { flex: 1 1 14rem; max-width: 28rem; }

.ltd-locked { padding: 1.5em; border: 1px dashed currentColor; border-radius: 6px; text-align: center; }
.ltd-locked-title { font-size: 1.25em; font-weight: 700; margin-top: 0; }

.ltd-countdown-wrap { margin: 1em 0; }
.ltd-countdown-label { margin: 0 0 .25em; opacity: .8; }
.ltd-countdown {
	margin: 0;
	font-size: 1.75em;
	font-weight: 700;
	letter-spacing: .03em;
	font-variant-numeric: tabular-nums;
}
.ltd-countdown:empty { display: none; }
.ltd-countdown-when { margin: .25em 0 0; font-size: .9em; opacity: .75; }

.ltd-progress h3 { margin-top: 0; }
.ltd-progress-list { list-style: none; padding: 0; margin: 0 0 1.5em; }
.ltd-progress-list li { padding: .35em 0; }
.ltd-badge {
	display: inline-block;
	margin-left: .4em;
	padding: .1em .5em;
	font-size: .8em;
	font-weight: 700;
	border: 1px solid currentColor;
	border-radius: 999px;
}

.ltd-leaderboard-wrap { overflow-x: auto; }
.ltd-leaderboard { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ltd-leaderboard th, .ltd-leaderboard td { padding: .55em .75em; text-align: left; border-bottom: 1px solid rgba(127, 127, 127, .35); }
.ltd-leaderboard th { font-size: .85em; text-transform: uppercase; letter-spacing: .05em; opacity: .8; }
.ltd-leaderboard .ltd-rank { width: 3em; }
.ltd-leaderboard .ltd-of { opacity: .6; }
.ltd-leaderboard tr.ltd-me td { font-weight: 700; background: rgba(127, 127, 127, .12); }
.ltd-team { word-break: break-word; }

.ltd-cooldown .ltd-countdown-wrap { text-align: center; margin: 1.5em 0 2em; }
.ltd-cooldown .ltd-countdown { font-size: 2.5em; }
.ltd-cooldown .ltd-next, .ltd-cooldown-done { text-align: center; margin: 1.5em 0 2em; }
.ltd-archive-title { margin-top: 2em; }
.ltd-clue-list tr.ltd-row-locked td, .ltd-clue-list tr.ltd-row-upcoming td { opacity: .7; }

/* Celebration */
.ltd-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 100000; }
.ltd-win .ltd-confetti { z-index: 0; }

.ltd-win[hidden] { display: none !important; }
.ltd-win {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	background: rgba(0, 0, 0, .72);
	animation: ltd-fade .25s ease-out;
}
.ltd-win-box {
	width: 100%;
	max-width: 26rem;
	padding: 2rem 1.5rem 1.75rem;
	text-align: center;
	color: #111;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .45);
	position: relative;
	z-index: 1;
	animation: ltd-pop .45s cubic-bezier(.2, 1.4, .4, 1);
	outline: none;
}
.ltd-win-trophy { font-size: 3.5rem; line-height: 1; margin: 0 0 .5rem; }
.ltd-win-title { margin: 0 0 .5rem; font-size: 1.75rem; line-height: 1.2; color: #111; }
.ltd-win-team { margin: 0 0 .75rem; color: #333; }
.ltd-win-prize { margin: 0 0 1.5rem; font-size: 1.1rem; color: #111; }
.ltd-win-close {
	padding: .7em 2em;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: #111;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.ltd-win-close:focus-visible { outline: 3px solid #f2c94c; outline-offset: 3px; }
html.ltd-win-open, html.ltd-win-open body { overflow: hidden; }

@keyframes ltd-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ltd-pop { from { opacity: 0; transform: scale(.85) translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.ltd-win, .ltd-win-box { animation: none; }
}
.ltd-clue-list .ltd-small { display: block; margin-top: .15em; }
