/*
 * Lobos Robos front page.
 * Layout: a tournament program after dark. One towering serif headline, then quiet ledgers,
 * three-up portraits and long rules, lit only by the amber of a wolf's eye.
 */
:root {
	--lr-night: #111412;   /* page ground, green-black of a pine forest at night */
	--lr-deep: #181c19;    /* raised bands and image frames */
	--lr-moon: #ebe7dc;    /* primary text */
	--lr-ash: #969b93;     /* secondary text */
	--lr-line: #2a302b;    /* rules */
	--lr-eye: #d6a54a;     /* the one accent */

	--lr-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
	--lr-text: "Spectral", "Iowan Old Style", Georgia, serif;
	--lr-mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

	--lr-step--1: 0.8125rem;
	--lr-step-0: 1.0625rem;
	--lr-step-1: 1.3125rem;
	--lr-step-2: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem);
	--lr-step-3: clamp(2.4rem, 1.6rem + 3.4vw, 4rem);
	--lr-step-4: clamp(3.4rem, 1.6rem + 8vw, 8.5rem);

	--lr-gutter: clamp(16px, 5vw, 56px);
	--lr-section: clamp(4.5rem, 3rem + 7vw, 9rem);

	color-scheme: dark;
}

/* Instrument Serif: a calm, high-contrast display serif with clean J and f */
.lr-page {
	font-optical-sizing: auto;
	font-synthesis: style;
	font-variant-numeric: lining-nums;
}

body.lr {
	margin: 0;
	background: var(--lr-night);
	color: var(--lr-moon);
	font-family: var(--lr-text);
	font-size: var(--lr-step-0);
	font-weight: 300;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.lr-page,
.lr-page * {
	box-sizing: border-box;
}

.lr-page img {
	display: block;
	max-width: 100%;
	height: auto;
}

.lr-page a {
	color: inherit;
	text-decoration: none;
}

.lr-page a:focus-visible {
	outline: 1px solid var(--lr-eye);
	outline-offset: 4px;
}

.lr-page h1,
.lr-page h2,
.lr-page h3,
.lr-page p,
.lr-page figure,
.lr-page ol,
.lr-page ul,
.lr-page dl,
.lr-page dd {
	margin: 0;
	padding: 0;
}

.lr-page ol,
.lr-page ul {
	list-style: none;
}

.lr-page em {
	font-style: italic;
	color: var(--lr-eye);
}

.lr-wrap {
	width: 100%;
	max-width: 76rem;
	margin-inline: auto;
	padding-left: max(var(--lr-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--lr-gutter), env(safe-area-inset-right, 0px));
}

/* Type */

.lr-page h2 {
	font-family: var(--lr-display);
	font-size: var(--lr-step-3);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.lr-page h3 {
	font-family: var(--lr-display);
	font-size: var(--lr-step-2);
	font-weight: 500;
	line-height: 1.1;
}

.lr-label {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-eye);
}

.lr-label span {
	color: var(--lr-ash);
}

.lr-label--quiet {
	color: var(--lr-ash);
	letter-spacing: 0.1em;
}

.lr-lede {
	font-size: var(--lr-step-1);
	line-height: 1.5;
	max-width: 34ch;
}

.lr-body {
	color: var(--lr-ash);
	max-width: 62ch;
}

/* Controls */

.lr-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 2rem;
	padding-top: 0.75rem;
}

.lr-btn {
	display: inline-block;
	padding: 0.95rem 1.75rem;
	border: 1px solid var(--lr-eye);
	background: var(--lr-eye);
	color: var(--lr-night) !important;
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: background-color 200ms ease, color 200ms ease;
}

.lr-btn:hover {
	background: transparent;
	color: var(--lr-eye) !important;
}

.lr-btn--ghost {
	background: transparent;
	color: var(--lr-eye) !important;
}

.lr-btn--ghost:hover {
	background: var(--lr-eye);
	color: var(--lr-night) !important;
}

.lr-link {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-moon);
	border-bottom: 1px solid var(--lr-line);
	padding-bottom: 0.3rem;
	transition: border-color 200ms ease, color 200ms ease;
}

.lr-link:hover {
	color: var(--lr-eye);
	border-color: var(--lr-eye);
}

/* Header */

.lr-bar {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 10;
	background: color-mix(in srgb, var(--lr-night) 88%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--lr-line);
}

body.admin-bar .lr-bar {
	top: 32px;
}

.lr-bar__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	padding-block: 0.9rem;
}

.lr-brand {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--lr-display);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.lr-brand img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.lr-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.75rem;
	font-family: var(--lr-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-nav a:hover {
	color: var(--lr-moon);
}

.lr-nav__cart span {
	display: inline-block;
	min-width: 1.6em;
	margin-left: 0.5em;
	padding: 0 0.35em;
	border: 1px solid var(--lr-line);
	text-align: center;
	font-variant-numeric: tabular-nums;
	color: var(--lr-eye);
}

/* Hero */

.lr-hero {
	overflow-x: clip;
}

.lr-hero__in {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	align-items: end;
	gap: clamp(2.5rem, 5vw, 5rem);
	padding-block: clamp(3rem, 2rem + 5vw, 7rem) clamp(4rem, 3rem + 5vw, 8rem);
}

.lr-hero__text {
	display: grid;
	gap: 1.5rem;
	min-width: 0;
}

.lr-hero__title {
	font-family: var(--lr-display);
	font-size: var(--lr-step-4);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.03em;
	text-wrap: balance;
	padding-block: 0.5rem 1rem;
}

.lr-hero__title em {
	font-weight: 400;
}

/* The trio, printed as a holo trading card */

.lr-card {
	position: relative;
	min-width: 0;
	max-width: 100%;
	perspective: 1200px;
}

.lr-card::before {
	content: "";
	position: absolute;
	inset: 8% -6% -4%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--lr-eye) 30%, transparent), transparent);
	filter: blur(30px);
	z-index: 0;
}

.lr-card__face {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.7rem;
	padding: 0.85rem;
	border-radius: 14px;
	background:
		linear-gradient(var(--lr-deep), var(--lr-deep)) padding-box,
		linear-gradient(150deg, var(--lr-eye), color-mix(in srgb, var(--lr-eye) 25%, var(--lr-night)) 40%, var(--lr-eye) 70%, color-mix(in srgb, var(--lr-eye) 40%, var(--lr-night))) border-box;
	border: 1.5px solid transparent;
	box-shadow: 0 40px 80px -40px rgb(0 0 0 / 0.8);
	transform: rotate(-2.5deg);
	transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-card:hover .lr-card__face {
	transform: rotate(0deg) translateY(-6px);
}

.lr-card__top,
.lr-card__plate {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-inline: 0.25rem;
}

.lr-card__top {
	font-family: var(--lr-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-card__photo {
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	border: 1px solid color-mix(in srgb, var(--lr-eye) 45%, transparent);
	aspect-ratio: 3 / 4;
	max-width: 100%;
	background: var(--lr-night);
}

.lr-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	color: var(--lr-ash);
	font-size: var(--lr-step--1);
}

/* the foil: a band of light that crosses the photo once on arrival, and again on hover */
.lr-card__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		115deg,
		transparent 30%,
		rgb(255 236 190 / 0.32) 44%,
		rgb(214 165 74 / 0.28) 50%,
		rgb(170 215 255 / 0.22) 56%,
		transparent 70%
	);
	background-size: 260% 100%;
	background-position: 120% 0;
	mix-blend-mode: screen;
	pointer-events: none;
}

.lr-card__plate {
	padding-block: 0.15rem 0.1rem;
}

.lr-card__name {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	line-height: 1.15;
}

.lr-card__nos {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.08em;
	color: var(--lr-eye);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Sections */

.lr-section {
	padding-block: var(--lr-section);
	border-top: 1px solid var(--lr-line);
}

.lr-section > .lr-wrap {
	display: grid;
	gap: clamp(2.5rem, 4vw, 4rem);
}

.lr-head {
	display: grid;
	gap: 1.25rem;
	min-width: 0;
}

.lr-more {
	justify-self: start;
}

/* The record */

.lr-ledger {
	border-top: 1px solid var(--lr-line);
}

.lr-ledger li {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 0.5rem 2rem;
	padding-block: 1.6rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-ledger__place {
	font-family: var(--lr-display);
	font-size: var(--lr-step-2);
	color: var(--lr-eye);
	font-weight: 500;
	font-variant-numeric: lining-nums tabular-nums;
	white-space: nowrap;
}

.lr-ledger__event {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 1.25rem;
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
	min-width: 0;
}

.lr-ledger__note {
	font-family: var(--lr-mono);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lr-eye);
	border: 1px solid color-mix(in srgb, var(--lr-eye) 40%, transparent);
	padding: 0.15rem 0.55rem;
}

.lr-ledger__player {
	font-family: var(--lr-display);
	font-style: italic;
	font-size: var(--lr-step-1);
	color: var(--lr-moon);
	text-align: right;
}

/* Three-up */

.lr-trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2.5rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem);
}

.lr-player,
.lr-jersey {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	min-width: 0;
}

.lr-frame {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	background: var(--lr-deep);
	margin-bottom: 0.75rem !important;
}

.lr-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	color: var(--lr-ash);
	font-size: var(--lr-step--1);
	transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-frame--portrait {
	position: relative;
	aspect-ratio: 3 / 4;
}

.lr-frame--portrait img {
	filter: saturate(0.82) contrast(1.06) brightness(0.96);
	transform: scale(var(--lr-zoom, 1));
}

.lr-player:hover .lr-frame--portrait img {
	transform: scale(calc(var(--lr-zoom, 1) * 1.03));
}

.lr-frame--portrait::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 62%, color-mix(in srgb, var(--lr-night) 70%, transparent));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lr-eye) 22%, transparent);
	pointer-events: none;
}

.lr-frame--square {
	aspect-ratio: 1;
}

.lr-player:hover .lr-frame img,
.lr-jersey:hover .lr-frame img {
	transform: scale(1.03);
}

.lr-player__no {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	color: var(--lr-eye);
	font-weight: 500;
	font-variant-numeric: lining-nums tabular-nums;
}

.lr-player .lr-link {
	margin-top: 0.5rem;
}

.lr-jersey h3 a:hover {
	color: var(--lr-eye);
}

.lr-jersey__buy {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.75rem 1.5rem;
	padding-top: 0.25rem;
}

.lr-jersey__price {
	font-family: var(--lr-mono);
	font-size: var(--lr-step-0);
	font-variant-numeric: tabular-nums;
	color: var(--lr-moon);
}

/* Motto */

.lr-motto {
	background: var(--lr-deep);
	border-top: 1px solid var(--lr-line);
}

.lr-motto p {
	padding-block: clamp(3.5rem, 2rem + 6vw, 7rem);
	font-family: var(--lr-display);
	font-size: var(--lr-step-3);
	line-height: 1.05;
	letter-spacing: -0.015em;
	text-align: center;
	text-wrap: balance;
}

/* Alliance and challenge */

.lr-split {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: clamp(2.5rem, 6vw, 6rem) !important;
}

.lr-partners {
	border-top: 1px solid var(--lr-line);
}

.lr-partners li {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	align-items: center;
	gap: 1.5rem;
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-partners__logo {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	max-width: 100%;
	padding: 0.6rem;
	background: var(--lr-moon);
}

.lr-partners__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	color: var(--lr-night);
	font-size: 0.625rem;
}

.lr-partners__text {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
}

.lr-partners strong {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
}

.lr-terms {
	border-top: 1px solid var(--lr-line);
}

.lr-terms div {
	display: grid;
	grid-template-columns: 8.5rem minmax(0, 1fr);
	gap: 0.5rem 1.5rem;
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-terms dt {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
	padding-top: 0.2rem;
}

.lr-terms dd {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	overflow-wrap: anywhere;
}

.lr-terms dd a {
	border-bottom: 1px solid var(--lr-eye);
	user-select: all;
}

/* Footer */

.lr-foot {
	border-top: 1px solid var(--lr-line);
}

.lr-foot__in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 2rem;
	padding-block: 3.5rem;
}

.lr-foot__brand {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.lr-foot__brand img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.lr-foot__brand p {
	display: grid;
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	line-height: 1.2;
}

.lr-foot__brand span {
	font-style: italic;
	font-size: var(--lr-step-0);
	color: var(--lr-ash);
}

.lr-foot__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2rem;
	font-family: var(--lr-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-foot__nav a:hover {
	color: var(--lr-eye);
}

.lr-foot__fine {
	grid-column: 1 / -1;
	padding-top: 1.75rem;
	border-top: 1px solid var(--lr-line);
	font-family: var(--lr-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	color: var(--lr-ash);
}

/* ---------- Inner pages ---------- */

.lr-skip {
	position: absolute;
	left: 1rem;
	top: -4rem;
	z-index: 20;
	padding: 0.6rem 1rem;
	background: var(--lr-eye);
	color: var(--lr-night) !important;
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
}

.lr-skip:focus {
	top: calc(env(safe-area-inset-top, 0px) + 1rem);
}

.lr-nav a[aria-current="page"] {
	color: var(--lr-eye);
}

.lr-pagehead__in {
	display: grid;
	gap: 1.5rem;
	padding-block: clamp(3.5rem, 2rem + 5vw, 7rem) clamp(3rem, 2rem + 4vw, 5.5rem);
}

.lr-pagehead__title {
	font-family: var(--lr-display);
	font-size: clamp(3rem, 1.6rem + 6vw, 7rem);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -0.03em;
	text-wrap: balance;
	max-width: 14ch;
}

.lr-pagehead .lr-lede {
	max-width: 46ch;
	color: var(--lr-ash);
}

.lr-section--flush {
	border-top: 0;
	padding-top: 0;
}

/* Roster dossiers */

.lr-dossiers {
	display: grid;
	gap: clamp(4.5rem, 3rem + 6vw, 8rem) !important;
}

.lr-dossier {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	padding-top: clamp(3rem, 5vw, 5rem);
	border-top: 1px solid var(--lr-line);
}

.lr-dossier:first-child {
	border-top: 0;
	padding-top: 0;
}

.lr-dossier--flip .lr-frame {
	order: 2;
}

.lr-dossier .lr-frame {
	margin-bottom: 0 !important;
}

.lr-dossier__text {
	display: grid;
	gap: 1.5rem;
	min-width: 0;
}

.lr-dossier__no {
	font-family: var(--lr-display);
	font-size: clamp(4rem, 2rem + 8vw, 9rem);
	line-height: 0.8;
	color: var(--lr-eye);
	letter-spacing: -0.02em;
	font-weight: 400;
	font-variant-numeric: lining-nums tabular-nums;
}

.lr-terms--tight div {
	padding-block: 0.85rem;
}

.lr-terms--tight dd {
	font-size: var(--lr-step-0);
}

/* Closing band on inner pages */

.lr-invite__in {
	display: grid;
	justify-items: center;
	gap: 0;
	padding-bottom: clamp(3.5rem, 2rem + 6vw, 7rem);
}

.lr-invite .lr-invite__in p {
	padding-bottom: 2rem;
}

/* Armory page */

.lr-jersey__name {
	font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.65rem) !important;
}

.lr-jersey .lr-btn {
	padding: 0.7rem 1.25rem;
}

/* Supporters */

.lr-lead {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem) !important;
}

.lr-lead__logo,
.lr-wall__logo {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	max-width: 100%;
	background: var(--lr-moon);
	padding: 12%;
}

.lr-lead__logo img,
.lr-wall__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	color: var(--lr-night);
	font-size: var(--lr-step--1);
}

.lr-wall {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.5rem);
}

.lr-wall li {
	display: grid;
	align-content: start;
	gap: 0.6rem;
	min-width: 0;
}

.lr-wall li .lr-wall__logo {
	margin-bottom: 0.5rem;
}

.lr-wall strong {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
}

.lr-wall__open .lr-wall__logo {
	background: transparent;
	border: 1px dashed var(--lr-line);
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-ash);
	transition: border-color 200ms ease, color 200ms ease;
}

.lr-wall__open .lr-wall__logo:hover {
	border-color: var(--lr-eye);
	color: var(--lr-eye);
}

.lr-wall__open strong {
	color: var(--lr-ash);
}

/* Challenge form */

.lr-form {
	display: grid;
	gap: 1.5rem;
	min-width: 0;
}

.lr-field {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.lr-field label,
.lr-field legend {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
	padding: 0;
}

.lr-field--trap {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.lr-page input[type="text"],
.lr-page input[type="email"],
.lr-page input[type="tel"],
.lr-page input[type="password"],
.lr-page input[type="number"],
.lr-page input[type="search"],
.lr-page select,
.lr-page textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--lr-line);
	border-radius: 0;
	background: transparent;
	color: var(--lr-moon);
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	transition: border-color 200ms ease;
}

.lr-page textarea {
	resize: vertical;
	font-family: var(--lr-text);
	font-size: var(--lr-step-0);
	line-height: 1.6;
}

.lr-page input:focus,
.lr-page select:focus,
.lr-page textarea:focus {
	outline: none;
	border-bottom-color: var(--lr-eye);
}

.lr-page ::placeholder {
	color: color-mix(in srgb, var(--lr-ash) 60%, transparent);
}

.lr-formats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.lr-formats legend {
	margin-bottom: 0.6rem;
}

.lr-formats label {
	position: relative;
	cursor: pointer;
}

.lr-formats input {
	position: absolute;
	opacity: 0;
	inset: 0;
	margin: 0;
	cursor: pointer;
}

.lr-formats span {
	display: inline-block;
	padding: 0.65rem 1.1rem;
	border: 1px solid var(--lr-line);
	color: var(--lr-moon);
	transition: border-color 200ms ease, color 200ms ease, background-color 200ms ease;
}

.lr-formats input:checked + span {
	border-color: var(--lr-eye);
	color: var(--lr-eye);
	background: color-mix(in srgb, var(--lr-eye) 8%, transparent);
}

.lr-formats input:focus-visible + span {
	outline: 1px solid var(--lr-eye);
	outline-offset: 3px;
}

.lr-form button.lr-btn {
	cursor: pointer;
	font: inherit;
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.14em;
}

.lr-notice {
	padding: 1rem 1.25rem;
	border: 1px solid var(--lr-line);
	border-left: 2px solid var(--lr-eye);
	color: var(--lr-moon);
}

.lr-notice--error {
	border-left-color: #c9694f;
}

/* Editor and store content: account, cart, checkout, the Vault */

.lr-prose {
	max-width: 52rem;
	color: var(--lr-moon);
}

.lr-prose > * + * {
	margin-top: 1.25rem !important;
}

.lr-prose h2,
.lr-prose h3,
.lr-prose h4 {
	font-family: var(--lr-display);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--lr-moon);
	margin-top: 2.5rem !important;
}

.lr-prose h2 {
	font-size: var(--lr-step-2);
}

.lr-prose h3 {
	font-size: var(--lr-step-1);
}

.lr-prose p,
.lr-prose li {
	color: var(--lr-ash);
	max-width: 65ch;
}

.lr-prose ul,
.lr-prose ol {
	padding-left: 1.25rem;
	list-style: disc;
}

.lr-prose a {
	color: var(--lr-moon);
	border-bottom: 1px solid var(--lr-eye);
}

.lr-prose a:hover {
	color: var(--lr-eye);
}

.lr-prose table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}

.lr-prose th,
.lr-prose td {
	padding: 0.9rem 0.75rem 0.9rem 0;
	border-bottom: 1px solid var(--lr-line);
	text-align: left;
	vertical-align: top;
}

.lr-prose th {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-prose img {
	max-width: 100%;
	height: auto;
}

.lr-prose label {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.08em;
	color: var(--lr-ash);
}

.lr-prose .button,
.lr-prose button,
.lr-prose input[type="submit"],
.lr-prose .wp-element-button,
.lr-prose .wc-block-components-button {
	display: inline-block;
	padding: 0.95rem 1.75rem !important;
	border: 1px solid var(--lr-eye) !important;
	border-radius: 0 !important;
	background: var(--lr-eye) !important;
	color: var(--lr-night) !important;
	font-family: var(--lr-mono) !important;
	font-size: var(--lr-step--1) !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 200ms ease, color 200ms ease;
}

.lr-prose .button:hover,
.lr-prose button:hover,
.lr-prose input[type="submit"]:hover,
.lr-prose .wp-element-button:hover,
.lr-prose .wc-block-components-button:hover {
	background: transparent !important;
	color: var(--lr-eye) !important;
}

.lr-prose .woocommerce-info,
.lr-prose .woocommerce-message,
.lr-prose .woocommerce-error,
.lr-prose .wc-block-components-notice-banner {
	list-style: none;
	padding: 1rem 1.25rem !important;
	border: 1px solid var(--lr-line) !important;
	border-left: 2px solid var(--lr-eye) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--lr-moon) !important;
}

.lr-prose .woocommerce-info::before,
.lr-prose .woocommerce-message::before {
	display: none;
}

.lr-prose .wc-block-components-text-input input,
.lr-prose .wc-block-components-combobox input,
.lr-prose .wc-blocks-components-select select {
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--lr-moon) !important;
	border-color: var(--lr-line) !important;
}

.lr-prose .wc-block-components-text-input label,
.lr-prose .wc-block-components-combobox label {
	color: var(--lr-ash) !important;
}

.lr-prose .wc-block-components-panel,
.lr-prose .wc-block-components-totals-wrapper,
.lr-prose .wc-block-components-sidebar,
.lr-prose .wp-block-woocommerce-empty-cart-block {
	border-color: var(--lr-line) !important;
	color: var(--lr-moon);
}

.lr-store ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
	gap: 2.5rem 2rem;
	padding: 0;
	list-style: none;
}

.lr-store ul.products::before,
.lr-store ul.products::after {
	display: none;
}

.lr-store ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

.lr-store .woocommerce-loop-product__title,
.lr-store .product_title {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
	color: var(--lr-moon);
}

.lr-store .price {
	font-family: var(--lr-mono);
	color: var(--lr-moon) !important;
}

@media (max-width: 960px) {
	.lr-dossier,
	.lr-lead {
		grid-template-columns: minmax(0, 1fr);
	}

	.lr-dossier--flip .lr-frame {
		order: 0;
	}

	.lr-dossier .lr-frame,
	.lr-lead__logo {
		max-width: 26rem;
	}
}

@media (max-width: 720px) {
	.lr-wall {
		grid-template-columns: minmax(0, 1fr);
	}

	.lr-wall li .lr-wall__logo {
		max-width: 16rem;
	}
}

/* Entrance: the headline rises once, from a visible resting state */

@media (prefers-reduced-motion: no-preference) {
	.lr-hero__title,
	.lr-card {
		animation: lr-rise 1100ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.lr-card {
		animation-delay: 160ms;
	}

	.lr-card__photo::after {
		animation: lr-foil 1800ms 700ms cubic-bezier(0.4, 0, 0.2, 1) both;
	}

	.lr-card:hover .lr-card__photo::after {
		animation: lr-foil-hover 1400ms cubic-bezier(0.4, 0, 0.2, 1) both;
	}

	@keyframes lr-foil {
		from { background-position: 120% 0; }
		to { background-position: -40% 0; }
	}

	@keyframes lr-foil-hover {
		from { background-position: 120% 0; }
		to { background-position: -40% 0; }
	}

	@keyframes lr-rise {
		from {
			opacity: 0.35;
			transform: translateY(14px);
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	.lr-page * {
		transition: none !important;
	}

	.lr-card__face,
	.lr-card:hover .lr-card__face {
		transform: none;
	}
}

/* Narrow */

@media (max-width: 960px) {
	.lr-hero__in,
	.lr-split {
		grid-template-columns: minmax(0, 1fr);
	}

	.lr-card {
		max-width: 30rem;
		margin-inline: auto;
		padding-inline: 0.5rem;
	}

	.lr-ledger li {
		grid-template-columns: 6rem minmax(0, 1fr);
	}

	.lr-ledger__player {
		grid-column: 2;
		text-align: left;
	}
}

@media (max-width: 782px) {
	body.admin-bar .lr-bar {
		top: 46px;
	}
}

@media (max-width: 720px) {
	.lr-trio {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.lr-nav {
		gap: 0.5rem 1.25rem;
	}

	.lr-foot__in {
		grid-template-columns: minmax(0, 1fr);
	}

	.lr-terms div {
		grid-template-columns: minmax(0, 1fr);
	}
}

.lr-jersey h3 {
	font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.65rem);
}

/* ------------------------------------------------------------------
 * 1.5: one page. Anchors land below the bar.
 * ------------------------------------------------------------------ */

html:has(body.lr--home) {
	scroll-behavior: smooth;
}

.lr-page [id] {
	scroll-margin-top: 5.5rem;
}

.lr-inline {
	color: var(--lr-moon) !important;
	border-bottom: 1px solid var(--lr-eye);
}

/* The road to Worlds: a moon that fills as the season moves */

.lr-road__in {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
	align-items: center;
	gap: clamp(3rem, 7vw, 7rem) !important;
}

.lr-road__sky {
	display: grid;
	justify-items: center;
	gap: 1.75rem;
}

.lr-moon {
	position: relative;
	display: block;
	width: min(22rem, 70vw);
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 50%;
	overflow: hidden;
	background: var(--lr-deep);
	color: inherit;
	box-shadow: 0 0 calc(30px + var(--lr-phase) * 110px) calc(var(--lr-phase) * 12px) color-mix(in srgb, var(--lr-eye) calc(var(--lr-phase) * 30%), transparent);
	isolation: isolate;
}

button.lr-moon {
	cursor: pointer;
}

.lr-moon__lit,
.lr-moon__shade,
.lr-moon__ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
}

.lr-moon__lit {
	background:
		radial-gradient(circle at 64% 30%, rgba(120, 82, 22, 0.11) 0 7%, transparent 7.5%),
		radial-gradient(circle at 34% 58%, rgba(120, 82, 22, 0.09) 0 10%, transparent 10.5%),
		radial-gradient(circle at 70% 70%, rgba(120, 82, 22, 0.08) 0 5%, transparent 5.5%),
		radial-gradient(circle at 46% 22%, rgba(120, 82, 22, 0.06) 0 4%, transparent 4.5%),
		radial-gradient(circle at 38% 34%, #f6e8c6 0%, #e2b866 48%, #b4822f 100%);
}

.lr-moon__shade {
	background: var(--lr-deep);
	transform: translateX(calc(var(--lr-phase) * -101%));
	filter: blur(2px);
	transition: transform 1.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-moon__ring {
	border: 1px solid color-mix(in srgb, var(--lr-eye) 40%, transparent);
	pointer-events: none;
}

.lr-moon__cap {
	display: grid;
	justify-items: center;
	gap: 0.4rem;
	text-align: center;
}

.lr-moon__song {
	font-family: var(--lr-display);
	font-style: italic;
	font-size: var(--lr-step-1);
}

.is-playing .lr-moon {
	animation: lr-howl 2.8s ease-in-out infinite;
}

@keyframes lr-howl {
	0%, 100% { box-shadow: 0 0 calc(30px + var(--lr-phase) * 110px) calc(var(--lr-phase) * 12px) color-mix(in srgb, var(--lr-eye) calc(var(--lr-phase) * 30%), transparent); }
	50% { box-shadow: 0 0 calc(60px + var(--lr-phase) * 160px) calc(8px + var(--lr-phase) * 20px) color-mix(in srgb, var(--lr-eye) calc(12% + var(--lr-phase) * 34%), transparent); }
}

.lr-stops {
	margin-top: 2.25rem !important;
	border-top: 1px solid var(--lr-line);
}

.lr-stops li {
	position: relative;
	display: grid;
	gap: 0.3rem;
	padding: 1.35rem 0 1.35rem 2.25rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-stops li::before {
	content: "";
	position: absolute;
	left: 0.2rem;
	top: 1.85rem;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	border: 1px solid var(--lr-ash);
}

.lr-stops li.is-done::before {
	background: var(--lr-ash);
}

.lr-stops li.is-now::before {
	background: var(--lr-eye);
	border-color: var(--lr-eye);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--lr-eye) 20%, transparent);
}

.lr-stops__when {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-stops strong {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
}

.lr-stops li.is-done strong {
	color: var(--lr-ash);
}

.lr-stops__here {
	display: inline-block;
	margin-left: 0.75rem;
	padding: 0.1rem 0.5rem;
	vertical-align: 0.2em;
	font-family: var(--lr-mono);
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-night);
	background: var(--lr-eye);
}

/* Sponsor levels */

.lr-levels {
	border-top: 1px solid var(--lr-line);
}

.lr-levels li {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: baseline;
	padding-block: 1.05rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-levels__amt {
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	color: var(--lr-eye);
	font-variant-numeric: lining-nums;
	white-space: nowrap;
}

.lr-levels__text {
	color: var(--lr-ash);
	font-size: 0.98rem;
	line-height: 1.5;
}

.lr-levels__text strong {
	display: block;
	font-family: var(--lr-display);
	font-size: var(--lr-step-1);
	font-weight: 500;
	color: var(--lr-moon);
	margin-bottom: 0.15rem;
}

.lr-page .lr-kind {
	margin-top: 0;
	padding: 1rem 1.25rem;
	border: 1px solid color-mix(in srgb, var(--lr-eye) 40%, transparent);
	color: var(--lr-ash);
}

.lr-sponsor .lr-partners {
	margin-top: 2rem;
}

/* The anthem: a record in the corner, like the rest of the pack's sites */

.lr-anthem {
	position: fixed;
	left: max(1rem, env(safe-area-inset-left, 0px));
	bottom: max(1rem, env(safe-area-inset-bottom, 0px));
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 0.85rem;
	pointer-events: none;
}

.lr-anthem__btn {
	pointer-events: auto;
	width: 3.25rem;
	height: 3.25rem;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--lr-eye) 55%, transparent);
	border-radius: 50%;
	background: var(--lr-deep);
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.lr-anthem__disc {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background:
		radial-gradient(circle, var(--lr-night) 0 4%, transparent 4.5% 31%, var(--lr-night) 32% 34%, transparent 35%),
		var(--lr-cover, none) center / 34% no-repeat,
		repeating-radial-gradient(circle, #1d221e 0 2px, #121513 2px 4px);
}

.is-playing .lr-anthem__disc {
	animation: lr-spin 3.2s linear infinite;
}

@keyframes lr-spin {
	to { transform: rotate(360deg); }
}

.lr-anthem__text {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.45rem 0.8rem;
	background: color-mix(in srgb, var(--lr-night) 88%, transparent);
	border: 1px solid var(--lr-line);
	font-family: var(--lr-display);
	font-style: italic;
	font-size: 0.95rem;
	line-height: 1.25;
	opacity: 0;
	transform: translateX(-0.5rem);
	transition: opacity 300ms ease, transform 300ms ease;
}

.lr-page .lr-anthem__cover {
	width: 2.75rem;
	height: 2.75rem;
	object-fit: cover;
}

.lr-anthem__text > span {
	display: grid;
}

.lr-anthem__state {
	font-family: var(--lr-mono);
	font-style: normal;
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-eye);
}

.is-playing .lr-anthem__text {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.is-playing .lr-moon,
	.is-playing .lr-anthem__disc {
		animation: none;
	}
	html:has(body.lr--home) {
		scroll-behavior: auto;
	}
}

@media (max-width: 960px) {
	.lr-road__in {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.lr-levels li {
		grid-template-columns: 5.25rem minmax(0, 1fr);
		gap: 1rem;
	}
}

.lr--home .lr-foot {
	padding-bottom: 5rem;
}

@media (max-width: 640px) {
	.lr-anthem__btn {
		width: 2.75rem;
		height: 2.75rem;
	}
}

/* Worlds 2026: every photo at its own shape, rows share a height */

.lr-gallery {
	display: grid;
	gap: clamp(0.6rem, 1.2vw, 1rem);
}

.lr-gallery__row {
	display: flex;
	gap: clamp(0.6rem, 1.2vw, 1rem);
}

.lr-gallery figure {
	position: relative;
	flex: var(--lr-ar) 1 0%;
	min-width: 0;
	aspect-ratio: var(--lr-ar);
	overflow: hidden;
	background: var(--lr-deep);
}

.lr-page .lr-gallery img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lr-worlds .lr-head .lr-body {
	max-width: 40rem;
}

@media (max-width: 640px) {
	.lr-gallery__row {
		flex-wrap: wrap;
	}
	.lr-gallery figure {
		flex-basis: 100%;
	}
}

/* Footer: a sign-off */

.lr-end {
	border-top: 1px solid var(--lr-line);
	background: var(--lr-deep);
}

.lr-end__top {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: end;
	padding-block: clamp(4rem, 3rem + 4vw, 6.5rem) clamp(3rem, 2rem + 3vw, 4.5rem);
}

.lr-end__sign img {
	width: 88px;
	height: 88px;
	object-fit: contain;
	margin-bottom: 1.25rem;
}

.lr-page .lr-end__name {
	font-family: var(--lr-display);
	font-size: clamp(3.2rem, 2rem + 5vw, 6rem);
	line-height: 0.9;
	letter-spacing: -0.02em;
}

.lr-page .lr-end__motto {
	margin-top: 1rem;
	font-family: var(--lr-display);
	font-style: italic;
	font-size: var(--lr-step-1);
	color: var(--lr-ash);
}

.lr-page .lr-end__ask {
	margin: 0.75rem 0 1.75rem;
	font-family: var(--lr-display);
	font-size: var(--lr-step-2);
	line-height: 1.15;
}

.lr-end__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--lr-line);
}

.lr-end__cols > div {
	display: grid;
	align-content: start;
	gap: 0.45rem;
	padding: 1.75rem 1.5rem 2rem 0;
}

.lr-end__cols > div + div {
	padding-left: 1.5rem;
	border-left: 1px solid var(--lr-line);
}

.lr-end__cols dt {
	margin-bottom: 0.35rem;
}

.lr-end__cols dd {
	margin: 0;
	color: var(--lr-moon);
}

.lr-end__cols a {
	border-bottom: 1px solid transparent;
	transition: border-color 200ms ease, color 200ms ease;
}

.lr-end__cols a:hover {
	color: var(--lr-eye);
	border-color: var(--lr-eye);
}

.lr-page .lr-end__fine {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.5rem 2rem;
	border-top: 1px solid var(--lr-line);
	font-family: var(--lr-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
}

.lr-end__fine a:hover {
	color: var(--lr-eye);
}

.lr--home .lr-end {
	padding-bottom: 4.5rem;
}

@media (max-width: 860px) {
	.lr-end__top {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}
	.lr-end__cols {
		grid-template-columns: minmax(0, 1fr);
	}
	.lr-end__cols > div,
	.lr-end__cols > div + div {
		padding: 1.4rem 0;
		border-left: 0;
	}
	.lr-end__cols > div + div {
		border-top: 1px solid var(--lr-line);
	}
}

.lr-worlds > .lr-wrap {
	grid-template-columns: minmax(0, 1fr);
}

/* ------------------------------------------------------------------
 * 1.7: flip cards, the sponsor picker, the wolf hunt
 * ------------------------------------------------------------------ */

/* Flip cards */

.lr-flip {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	perspective: 1400px;
	margin-bottom: 0.75rem;
}

.lr-flip__inner {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	transform-style: preserve-3d;
	transition: transform 800ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-flip[aria-pressed="true"] .lr-flip__inner {
	transform: rotateY(180deg);
}

.lr-flip__face,
.lr-flip__back {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.lr-flip__hint {
	position: absolute;
	right: 0.85rem;
	bottom: 0.8rem;
	z-index: 1;
	font-family: var(--lr-mono);
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-moon);
	opacity: 0.75;
	transition: opacity 200ms ease;
}

.lr-flip:hover .lr-flip__hint {
	opacity: 1;
	color: var(--lr-eye);
}

.lr-flip__back {
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	padding: 1.4rem 1.35rem;
	overflow: hidden;
	background:
		radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--lr-eye) 14%, transparent), transparent 60%),
		var(--lr-deep);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lr-eye) 45%, transparent), inset 0 0 0 7px var(--lr-deep), inset 0 0 0 8px color-mix(in srgb, var(--lr-eye) 18%, transparent);
}

.lr-flip__top {
	display: flex;
	justify-content: space-between;
	font-family: var(--lr-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-eye);
}

.lr-flip__name {
	font-family: var(--lr-display);
	font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem);
	line-height: 1.02;
}

.lr-flip small {
	display: block;
	font-family: var(--lr-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-ash);
	margin-bottom: 0.2rem;
}

.lr-flip__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	padding-block: 0.85rem;
	border-block: 1px solid var(--lr-line);
	font-size: 0.95rem;
	line-height: 1.3;
}

.lr-flip__season {
	display: grid;
	gap: 0.35rem;
	font-size: 0.92rem;
	line-height: 1.3;
}

.lr-flip__row {
	display: grid;
	grid-template-columns: 3.4rem minmax(0, 1fr);
	gap: 0.6rem;
	align-items: baseline;
}

.lr-flip__row b {
	font-family: var(--lr-display);
	font-weight: 500;
	color: var(--lr-eye);
	white-space: nowrap;
}

.lr-flip__mark {
	position: absolute;
	right: -0.5rem;
	bottom: -2.2rem;
	font-family: var(--lr-display);
	font-style: italic;
	font-size: 9rem;
	line-height: 1;
	color: color-mix(in srgb, var(--lr-eye) 9%, transparent);
	pointer-events: none;
}

/* Sponsor picker */

.lr-picker {
	display: grid;
	gap: 0.6rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--lr-line);
	background: var(--lr-deep);
}

.lr-page .lr-picker__amt {
	font-family: var(--lr-display);
	font-size: clamp(3rem, 2rem + 4vw, 4.75rem);
	line-height: 1;
	color: var(--lr-eye);
	font-variant-numeric: lining-nums;
	margin-top: 0.5rem;
}

.lr-page .lr-picker__name {
	font-family: var(--lr-display);
	font-style: italic;
	font-size: var(--lr-step-2);
	line-height: 1.1;
}

.lr-picker.is-bump .lr-picker__amt,
.lr-picker.is-bump .lr-picker__name {
	animation: lr-bump 380ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes lr-bump {
	from { opacity: 0.25; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}

.lr-picker__range {
	--lr-fill: 33%;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 2px;
	margin: 1.5rem 0 0.25rem;
	background: linear-gradient(to right, var(--lr-eye) var(--lr-fill), var(--lr-line) var(--lr-fill));
	outline: none;
	cursor: pointer;
}

.lr-picker__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: var(--lr-eye);
	border: 4px solid var(--lr-deep);
	box-shadow: 0 0 0 1px var(--lr-eye), 0 0 18px color-mix(in srgb, var(--lr-eye) 45%, transparent);
}

.lr-picker__range::-moz-range-thumb {
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: var(--lr-eye);
	border: 4px solid var(--lr-deep);
	box-shadow: 0 0 0 1px var(--lr-eye);
}

.lr-picker__range:focus-visible {
	outline: 1px solid var(--lr-eye);
	outline-offset: 10px;
}

.lr-picker__ticks {
	display: flex;
	justify-content: space-between;
	font-family: var(--lr-mono);
	font-size: 0.64rem;
	letter-spacing: 0.06em;
	color: var(--lr-ash);
}

.lr-picker__ticks li {
	cursor: pointer;
	transition: color 200ms ease;
}

.lr-picker__ticks li.is-on,
.lr-picker__ticks li:hover {
	color: var(--lr-eye);
}

.lr-picker__out {
	margin: 1.25rem 0 1rem;
	border-top: 1px solid var(--lr-line);
}

.lr-picker__out div {
	display: grid;
	grid-template-columns: 8rem minmax(0, 1fr);
	gap: 1rem;
	padding-block: 1rem;
	border-bottom: 1px solid var(--lr-line);
}

.lr-picker__out dt {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
	padding-top: 0.2rem;
}

.lr-picker__out dd {
	margin: 0;
	line-height: 1.5;
}

.lr-picker .lr-btn {
	justify-self: start;
}

.lr-picker__all {
	margin-top: 1.25rem;
	border-top: 1px solid var(--lr-line);
	padding-top: 1rem;
}

.lr-picker__all summary {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lr-ash);
	cursor: pointer;
}

.lr-picker__all summary:hover {
	color: var(--lr-eye);
}

.lr-picker__all .lr-levels {
	margin-top: 1rem;
}

/* The wolf hunt */

.lr-page .lr-head,
.lr-gallery {
	position: relative;
}

.lr-eyes {
	position: absolute;
	z-index: 3;
	display: inline-flex;
	gap: 7px;
	padding: 8px 6px;
	border: 0;
	background: none;
	cursor: pointer;
	opacity: 0.55;
	transition: opacity 300ms ease;
}

.lr-eyes i {
	display: block;
	width: 6px;
	height: 4px;
	border-radius: 50% 50% 50% 50% / 70% 70% 30% 30%;
	background: var(--lr-eye);
	box-shadow: 0 0 6px var(--lr-eye);
	animation: lr-blink 7s infinite;
}

.lr-eyes i + i {
	transform: scaleX(-1);
}

.lr-eyes:hover,
.lr-eyes:focus-visible {
	opacity: 1;
}

.lr-eyes.is-found {
	opacity: 1;
}

.lr-eyes.is-found i {
	animation: none;
	box-shadow: 0 0 10px 2px var(--lr-eye);
}

@keyframes lr-blink {
	0%, 92%, 100% { transform: scaleY(1); }
	95% { transform: scaleY(0.1); }
}

.lr-eyes i + i { animation-name: lr-blink-flip; }

@keyframes lr-blink-flip {
	0%, 92%, 100% { transform: scaleX(-1) scaleY(1); }
	95% { transform: scaleX(-1) scaleY(0.1); }
}

.lr-head > .lr-eyes { right: 0; top: 0.2rem; }
.lr-eyes--gallery { right: 0.9rem; bottom: 0.9rem; }
.lr-head > .lr-eyes--armory { left: -2.4rem; right: auto; top: auto; bottom: 0.4rem; }

@media (max-width: 720px) {
	.lr-head > .lr-eyes--armory { left: auto; right: 0; }
}

.lr-hunt-toast {
	position: fixed;
	left: 50%;
	bottom: 1.5rem;
	z-index: 60;
	padding: 0.75rem 1.1rem;
	background: var(--lr-deep);
	border: 1px solid color-mix(in srgb, var(--lr-eye) 45%, transparent);
	font-family: var(--lr-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--lr-moon);
	opacity: 0;
	transform: translate(-50%, 0.75rem);
	transition: opacity 300ms ease, transform 300ms ease;
	pointer-events: none;
}

.lr-hunt-toast.is-on {
	opacity: 1;
	transform: translate(-50%, 0);
}

.lr-hunt {
	width: min(54rem, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--lr-eye) 45%, transparent);
	background: var(--lr-night);
	color: var(--lr-moon);
	font-family: var(--lr-text);
}

.lr-hunt::backdrop {
	background: rgba(8, 10, 9, 0.82);
	backdrop-filter: blur(3px);
}

.lr-hunt[open] {
	animation: lr-rise 500ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes lr-rise {
	from { opacity: 0; transform: translateY(16px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

.lr-hunt__in {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

.lr-hunt__art {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	box-shadow: 0 0 60px color-mix(in srgb, var(--lr-eye) 30%, transparent);
}

.lr-hunt h2 {
	font-family: var(--lr-display);
	font-weight: 400;
	font-size: clamp(2.2rem, 1.6rem + 2.5vw, 3.4rem);
	line-height: 1;
	margin: 0.9rem 0 1rem;
}

.lr-hunt h2 em {
	font-style: italic;
	color: var(--lr-eye);
}

.lr-hunt .lr-body {
	color: var(--lr-ash);
	margin: 0;
}

.lr-page .lr-hunt__sign {
	margin: 1rem 0 1.25rem;
	font-family: var(--lr-display);
	font-style: italic;
	font-size: var(--lr-step-1);
	color: var(--lr-eye);
}

.lr-page .lr-hunt .lr-actions {
	margin-top: 1.5rem;
}

.lr-hunt .lr-btn {
	cursor: pointer;
}

.is-howling .lr-moon {
	animation: lr-howl 1.4s ease-in-out infinite;
}

@media (max-width: 640px) {
	.lr-hunt__in {
		grid-template-columns: minmax(0, 1fr);
	}
	.lr-hunt__art {
		max-width: 14rem;
	}
	.lr-picker__out div {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.3rem;
	}
	.lr-picker__ticks {
		font-size: 0.56rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lr-flip__inner { transition: none; }
	.lr-eyes i { animation: none; }
	.lr-picker.is-bump .lr-picker__amt,
	.lr-picker.is-bump .lr-picker__name,
	.lr-hunt[open] { animation: none; }
}

/* Sponsor: on phones the picker follows the buttons; partners come after */

.lr-sponsor .lr-split {
	grid-template-areas: "head picker" "more picker";
	grid-template-rows: auto 1fr;
}

.lr-sponsor .lr-split > .lr-head { grid-area: head; }
.lr-sponsor .lr-split > .lr-picker { grid-area: picker; align-self: start; }
.lr-sponsor .lr-split > .lr-sponsor__more { grid-area: more; }

@media (max-width: 960px) {
	.lr-sponsor .lr-split {
		grid-template-areas: "head" "picker" "more";
		grid-template-rows: auto;
	}
}

/* Instrument Serif has one weight: keep display type at its true weight */
.lr-page h1, .lr-page h2, .lr-page h3,
.lr-ledger__place, .lr-player__no, .lr-stops strong, .lr-levels__amt, .lr-levels__text strong,
.lr-flip__row b, .lr-flip__name, .lr-end__name, .lr-picker__amt, .lr-card__name, .lr-hero__title {
	font-weight: 400 !important;
}

/* ------------------------------------------------------------------
 * 1.8: holographic player cards and a night sky for the moon
 * ------------------------------------------------------------------ */

.lr-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Player cards: tilt toward the pointer, foil catches the light */

.lr-flip {
	--rx: 0deg;
	--ry: 0deg;
	--mx: 50%;
	--my: 50%;
	--foil: 0;
	margin-bottom: 1.1rem;
}

.lr-flip__tilt {
	display: block;
	transform: rotateX(var(--rx)) rotateY(var(--ry));
	transform-style: preserve-3d;
	transition: transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-flip.is-tilting .lr-flip__tilt {
	transition: transform 80ms linear;
}

.lr-flip__face,
.lr-flip__back {
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 22px 50px -18px rgba(0, 0, 0, 0.7), 0 0 0 1px color-mix(in srgb, var(--lr-eye) 38%, transparent);
}

.lr-tcg {
	display: block;
	background: var(--lr-deep);
}

.lr-page .lr-tcg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.9) contrast(1.05);
}

.lr-tcg::before {
	content: "";
	position: absolute;
	inset: 8px;
	z-index: 2;
	border-radius: 9px;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lr-eye) 55%, transparent);
	pointer-events: none;
}

.lr-tcg::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(to bottom, rgba(14, 16, 15, 0.82), rgba(14, 16, 15, 0) 24%),
		linear-gradient(to top, rgba(14, 16, 15, 0.92), rgba(14, 16, 15, 0) 34%);
	pointer-events: none;
}

.lr-tcg__top,
.lr-tcg__plate {
	position: absolute;
	left: 1.15rem;
	right: 1.15rem;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
}

.lr-tcg__top {
	top: 1rem;
	align-items: baseline;
}

.lr-tcg__name {
	font-family: var(--lr-display);
	font-size: clamp(1.45rem, 1.1rem + 1vw, 1.95rem);
	line-height: 1;
	color: var(--lr-moon);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

.lr-tcg__no {
	font-family: var(--lr-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-eye);
	white-space: nowrap;
}

.lr-tcg__plate {
	bottom: 1rem;
	flex-direction: column;
	gap: 0.25rem;
}

.lr-tcg__role {
	font-family: var(--lr-mono);
	font-size: 0.66rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--lr-eye);
}

.lr-tcg__hi {
	font-family: var(--lr-display);
	font-style: italic;
	font-size: 1.15rem;
	line-height: 1.15;
	color: var(--lr-moon);
}

.lr-tcg__holo,
.lr-tcg__glare {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
	border-radius: inherit;
	opacity: var(--foil);
	transition: opacity 400ms ease;
}

.lr-tcg__holo {
	background:
		repeating-linear-gradient(115deg,
			rgba(214, 165, 74, 0) 0%,
			rgba(214, 165, 74, 0.32) 8%,
			rgba(240, 228, 200, 0.42) 12%,
			rgba(150, 178, 190, 0.26) 16%,
			rgba(214, 165, 74, 0.3) 20%,
			rgba(214, 165, 74, 0) 28%);
	background-size: 260% 260%;
	background-position: var(--mx) var(--my);
	mix-blend-mode: color-dodge;
	filter: saturate(1.2);
}

.lr-tcg__glare {
	background: radial-gradient(circle at var(--mx) var(--my), rgba(255, 250, 235, 0.38), rgba(255, 250, 235, 0) 46%);
	mix-blend-mode: overlay;
}

.lr-flip:hover,
.lr-flip:focus-visible {
	--foil: 0.85;
}

.lr-flip__hint {
	display: none;
}

.lr-flip__back .lr-tcg__holo { opacity: calc(var(--foil) * 0.6); }

.lr-player .lr-body {
	color: var(--lr-ash);
}

/* The moon: a night sky, a textured surface, a constellation for the pack */

.lr-road__sky {
	position: relative;
	padding-block: 2rem;
}

.lr-stars {
	position: absolute;
	inset: -3rem -2rem;
	width: calc(100% + 4rem);
	height: calc(100% + 6rem);
	pointer-events: none;
}

.lr-moonwrap {
	position: relative;
	display: grid;
	place-items: center;
	transform: translate(var(--lx, 0px), var(--ly, 0px));
	transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lr-moonwrap > * {
	grid-area: 1 / 1;
}

.lr-moon__lit {
	background:
		radial-gradient(circle at 34% 30%, #fbf1d8 0%, #ebc983 38%, #c99a45 72%, #9c7029 100%) !important;
}

.lr-moon__tex {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	mix-blend-mode: multiply;
	opacity: 0.55;
	pointer-events: none;
}

.lr-moon__shade {
	z-index: 1;
	transition: transform 900ms cubic-bezier(0.3, 0.6, 0.2, 1) !important;
}

.lr-moon__rim {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: 50%;
	box-shadow:
		inset -10px -14px 40px rgba(60, 38, 8, 0.35),
		inset 6px 8px 24px rgba(255, 246, 220, 0.18),
		0 0 0 1px color-mix(in srgb, var(--lr-eye) 35%, transparent);
	pointer-events: none;
}

.lr-moon {
	transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 900ms ease;
}

button.lr-moon:hover {
	transform: scale(1.02);
}

.lr-moon__ripple {
	width: min(22rem, 70vw);
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--lr-eye) 55%, transparent);
	opacity: 0;
	pointer-events: none;
}

.is-playing .lr-moon__ripple,
.is-howling .lr-moon__ripple {
	animation: lr-ripple 3.6s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
}

.is-playing .lr-moon__ripple:nth-child(2),
.is-howling .lr-moon__ripple:nth-child(2) { animation-delay: 1.2s; }

.is-playing .lr-moon__ripple:nth-child(3),
.is-howling .lr-moon__ripple:nth-child(3) { animation-delay: 2.4s; }

@keyframes lr-ripple {
	from { opacity: 0.7; transform: scale(1); }
	to { opacity: 0; transform: scale(1.75); }
}

.lr-moon__cap {
	position: relative;
	margin-top: 0.5rem !important;
}

.lr-moon__phase {
	font-family: var(--lr-mono);
	font-size: var(--lr-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lr-moon);
	margin-bottom: 0.6rem;
	transition: opacity 250ms ease;
}

.lr-stops li {
	cursor: default;
	transition: background-color 250ms ease;
}

.lr-stops li:hover,
.lr-stops li:focus-visible {
	outline: none;
	background: linear-gradient(to right, color-mix(in srgb, var(--lr-eye) 7%, transparent), transparent 70%);
}

.lr-stops li:hover::before,
.lr-stops li:focus-visible::before {
	border-color: var(--lr-eye);
}

@media (prefers-reduced-motion: reduce) {
	.lr-flip__tilt,
	.lr-moonwrap,
	.lr-moon__shade { transition: none !important; }
	.is-playing .lr-moon__ripple,
	.is-howling .lr-moon__ripple { animation: none; }
}

.lr-road {
	overflow: hidden;
}
