/* Pocket Pinball Tables: page blocks for the Fan Arcade, Leaderboards and
   Tournaments pages ([pp_arcade_*], [pp_lb_*], [pp_tournaments]).

   Every value is ported from the approved mockups (inline styles in the
   design tool), so the blocks match them at 1440px and 390px with no media
   queries: clamp(), auto-fit/auto-fill grids and flex-wrap do the work.
   Square corners everywhere except avatars and the live dot.

   Scoping: every rule sits under a block root class (each root also carries
   .ppx). Hello Elementor's reset styles h1-h6, a, button, input, select,
   label and table, and the Elementor kit adds its own link, heading and form
   rules (up to `.elementor-kit-N input:not(...):not(...)`, specificity
   0,3,1), so headings, links, inputs and tables here set font, size,
   colour, margin, border and radius explicitly, link and button states are
   pinned, and form controls are matched with at least 0,3,1.

   Box model: the mockups render with the browser default (content-box) and
   say border-box only where they mean it; Hello and Elementor force
   border-box on everything. `.ppx.ppx *` restores the mockups' model so
   percentage-sized prints and padded flex panels come out the same size. */

/* ------------------------------------------------------------------ base */

.ppx,
.ppx.ppx *,
.ppx.ppx *::before,
.ppx.ppx *::after {
	box-sizing: content-box;
}

.ppx {
	-webkit-font-smoothing: antialiased;
	color: #111112;
	font-family: Inter, "Segoe UI", system-ui, sans-serif;
}

.ppx .ppx-eyebrow {
	color: #C24E00;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx .ppx-caption {
	color: #4A4F52;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx .ppx-tape {
	background: rgba(150, 222, 206, 0.85);
	display: block;
	pointer-events: none;
	position: absolute;
}

.ppx .ppx-sr {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Buttons (links). States are pinned so the theme's a:hover colours never
   leak in. */
.ppx a.ppx-btn,
.ppx a.ppx-btn:hover,
.ppx a.ppx-btn:focus,
.ppx a.ppx-btn:active,
.ppx a.ppx-btn:visited {
	border: 2px solid #111112;
	border-radius: 0;
	box-shadow: none;
	display: inline-block;
	font: 800 14px/1.2 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 1.2px;
	padding: 17px 28px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ppx a.ppx-btn-ink,
.ppx a.ppx-btn-ink:hover,
.ppx a.ppx-btn-ink:focus,
.ppx a.ppx-btn-ink:active,
.ppx a.ppx-btn-ink:visited {
	background: #111112;
	border-color: #111112;
	color: #F8F8F7;
}

.ppx a.ppx-btn-outline,
.ppx a.ppx-btn-outline:hover,
.ppx a.ppx-btn-outline:focus,
.ppx a.ppx-btn-outline:active,
.ppx a.ppx-btn-outline:visited {
	background: transparent;
	border-color: #111112;
	color: #111112;
}

.ppx a.ppx-btn-mint,
.ppx a.ppx-btn-mint:hover,
.ppx a.ppx-btn-mint:focus,
.ppx a.ppx-btn-mint:active,
.ppx a.ppx-btn-mint:visited {
	background: #96DECE;
	border-color: #96DECE;
	color: #111112;
}

.ppx a:focus-visible,
.ppx button:focus-visible {
	outline: 2px solid #63998E;
	outline-offset: 3px;
}

/* --------------------------------------------- Fan Arcade: hero stats */

.ppx-stats {
	border-top: 1px solid #26292A;
	display: grid;
	gap: 18px 24px;
	grid-template-columns: repeat(auto-fit, minmax(min(110px, 100%), 1fr));
	margin-top: 12px;
	max-width: 560px;
	padding-top: 24px;
}

.ppx-stats .ppx-stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ppx-stats .ppx-stat-num {
	color: #FF7A1A;
	font: 400 30px/1.1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-stats .ppx-stat-label {
	color: #C9D3D0;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/* ---------------------------------------------- Fan Arcade: hero wall */

.ppx-wall-wrap {
	display: flex;
	justify-content: center;
	padding: 0 14px;
}

/* A fixed width capped at the column, not width: 100%. Its prints are all
   absolutely positioned, so the wall has no content width of its own: in an
   Elementor column that centres its widgets, the widget shrinks to fit and a
   100% wall collapses to nothing. */
.ppx-wall-wrap .ppx-wall {
	aspect-ratio: 1 / 1;
	max-width: 100%;
	position: relative;
	width: 520px;
}

.ppx-wall .ppx-print {
	background: #FFFFFF;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	margin: 0;
	padding: 2.2% 2.2% 7%;
	position: absolute;
}

.ppx-wall .ppx-print-a {
	left: 0;
	top: 10%;
	transform: rotate(-8deg);
	width: 36%;
}

.ppx-wall .ppx-print-b {
	right: 0;
	top: 18%;
	transform: rotate(7deg);
	width: 33%;
}

.ppx-wall .ppx-print-c {
	bottom: 0;
	left: 12%;
	transform: rotate(5deg);
	width: 31%;
}

.ppx-wall .ppx-print-hero {
	box-shadow: 14px 14px 0 0 #96DECE;
	left: 31%;
	padding: 2.4% 2.4% 8%;
	top: 0;
	transform: rotate(2deg);
	width: 40%;
	z-index: 2;
}

.ppx-wall .ppx-print-d {
	bottom: 3%;
	left: 47%;
	transform: rotate(-6deg);
	width: 29%;
	z-index: 3;
}

.ppx-wall .ppx-print-img,
.ppx-wall .ppx-print-blank {
	aspect-ratio: 3 / 4;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-wall .ppx-print-blank {
	background: #1B1C1E;
}

.ppx-wall .ppx-print-cap {
	color: #4A4F52;
	font: 400 clamp(8px, 0.75vw, 10px)/1.2 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1px;
	margin: 6% 0 0;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.ppx-wall .ppx-print-hero .ppx-print-cap {
	font-size: clamp(8px, 0.8vw, 11px);
	margin-top: 5%;
}

.ppx-wall .ppx-print .ppx-tape {
	background: rgba(150, 222, 206, 0.8);
	height: 7%;
	top: -4%;
}

.ppx-wall .ppx-print-a .ppx-tape {
	left: 30%;
	transform: rotate(4deg);
	width: 40%;
}

.ppx-wall .ppx-print-b .ppx-tape {
	left: 26%;
	transform: rotate(-5deg);
	width: 44%;
}

.ppx-wall .ppx-print-d .ppx-tape {
	left: 22%;
	transform: rotate(6deg);
	width: 46%;
}

.ppx-wall .ppx-print-hero .ppx-tape {
	background: rgba(150, 222, 206, 0.85);
	height: 6%;
	left: 32%;
	top: -3.5%;
	transform: rotate(-3deg);
	width: 36%;
}

.ppx-wall .ppx-stamp {
	aspect-ratio: 1 / 1;
	bottom: 2%;
	position: absolute;
	right: 1%;
	transform: rotate(-14deg);
	width: 27%;
	z-index: 4;
}

.ppx-wall .ppx-stamp-ring {
	font: 400 15.5px "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 3.2px;
	text-transform: uppercase;
}

.ppx-wall .ppx-stamp-fan {
	font: 800 30px Montserrat, "Segoe UI", sans-serif;
}

.ppx-wall .ppx-stamp-arcade {
	font: 800 21px Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 1px;
}

/* ------------------------------------- Fan Arcade: Table of the Week */

.ppx-feature {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(48px, 6vw, 80px);
	margin: 0 auto;
	max-width: 1200px;
}

.ppx-feature .ppx-feature-art {
	display: flex;
	flex: 1 1 340px;
	justify-content: center;
	min-width: 0;
	padding: 0 0 40px;
}

.ppx-feature .ppx-feature-stack {
	margin-right: 12%;
	max-width: 400px;
	position: relative;
	width: 78%;
}

.ppx-feature .ppx-feature-print {
	background: #FFFFFF;
	box-shadow: 16px 16px 0 0 #96DECE;
	margin: 0;
	outline: 1px solid rgba(17, 17, 18, 0.14);
	padding: 14px 14px 18px;
	transform: rotate(-2deg);
}

.ppx-feature .ppx-feature-img,
.ppx-feature .ppx-feature-blank {
	aspect-ratio: 4 / 5;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	object-position: center 28%;
	width: 100%;
}

.ppx-feature .ppx-feature-blank {
	background: #1B1C1E;
}

.ppx-feature .ppx-feature-cap {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 12px 0 0;
	text-transform: uppercase;
}

.ppx-feature .ppx-feature-cover {
	background: #FFFFFF;
	bottom: -10%;
	box-shadow: 0 14px 30px rgba(17, 17, 18, 0.28);
	margin: 0;
	outline: 1px solid rgba(17, 17, 18, 0.14);
	padding: 8px 8px 22px;
	position: absolute;
	right: -14%;
	transform: rotate(6deg);
	width: 40%;
}

.ppx-feature .ppx-feature-cover-img {
	aspect-ratio: 3 / 4;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-feature .ppx-feature-cover .ppx-tape {
	height: 20px;
	left: 28%;
	top: -10px;
	transform: rotate(-4deg);
	width: 44%;
}

.ppx-feature .ppx-feature-body {
	display: flex;
	flex: 1 1 460px;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.ppx-feature .ppx-feature-title {
	color: #111112;
	font: 800 clamp(40px, 4.6vw, 60px)/1.02 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: normal;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx-feature a.ppx-byline,
.ppx-feature a.ppx-byline:hover,
.ppx-feature a.ppx-byline:focus,
.ppx-feature a.ppx-byline:visited {
	align-items: center;
	align-self: flex-start;
	color: #111112;
	display: flex;
	gap: 12px;
	text-decoration: none;
}

.ppx-feature .ppx-byline-avatar {
	border: 0;
	border-radius: 50%;
	display: block;
	height: 44px;
	max-width: none;
	object-fit: cover;
	outline: 2px solid #111112;
	outline-offset: 2px;
	width: 44px;
}

.ppx-feature .ppx-byline-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ppx-feature .ppx-byline-k {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-feature .ppx-byline-name {
	font: 800 16px/1.2 Montserrat, "Segoe UI", sans-serif;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 4px;
}

.ppx-feature .ppx-quote {
	background: none;
	border: 0;
	color: #111112;
	font: 400 clamp(17px, 1.4vw, 19px)/1.65 Inter, "Segoe UI", sans-serif;
	margin: 6px 0 0;
	max-width: 560px;
	padding: 0;
	quotes: none;
}

.ppx-feature .ppx-quote::before,
.ppx-feature .ppx-quote::after {
	content: none;
}

.ppx-feature .ppx-bullets {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0;
	max-width: 560px;
	padding: 0;
}

.ppx-feature .ppx-bullets li {
	align-items: baseline;
	color: #111112;
	display: flex;
	font: 400 16px/1.55 Inter, "Segoe UI", sans-serif;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.ppx-feature .ppx-bullet {
	background: #FF7A1A;
	flex-shrink: 0;
	height: 8px;
	transform: translateY(-2px);
	width: 8px;
}

.ppx-feature .ppx-facts {
	border-bottom: 1px solid rgba(17, 17, 18, 0.14);
	border-top: 1px solid rgba(17, 17, 18, 0.14);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 32px;
	margin-top: 4px;
	padding: 18px 0;
}

.ppx-feature .ppx-fact {
	align-items: baseline;
	display: flex;
	gap: 10px;
}

.ppx-feature .ppx-fact-num {
	color: #111112;
	font: 400 26px/1.1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-feature .ppx-fact-label {
	color: #4A4F52;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-feature .ppx-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 6px;
}

/* ------------------------------------------ Fan Arcade: creator cards */

.ppx-creators {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
	margin-top: 32px;
}

.ppx-creators .ppx-creator {
	background: #F8F8F7;
	color: #111112;
	display: flex;
	flex-direction: column;
	margin: 0;
}

.ppx-creators .ppx-creator-fan {
	background-color: #1B1C1E;
	background-image: radial-gradient(#2C2E31 1.2px, transparent 1.6px);
	background-size: 14px 14px;
	height: 270px;
	overflow: hidden;
	position: relative;
}

.ppx-creators .ppx-exhibit {
	color: #FF7A1A;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	left: 16px;
	letter-spacing: 1.5px;
	position: absolute;
	text-transform: uppercase;
	top: 14px;
	z-index: 5;
}

/* The prints are laid out on a stage no wider than a card in the mock's
   three-up row (384px), so a stretched card (one creator, wide column)
   keeps the same centred composition instead of outgrowing the 270px fan. */
.ppx-creators .ppx-fan-stage {
	bottom: 0;
	left: 0;
	margin: 0 auto;
	max-width: 384px;
	position: absolute;
	right: 0;
	top: 0;
}

.ppx-creators .ppx-fan-print {
	background: #FFFFFF;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.55);
	margin: 0;
	padding: 5px 5px 14px;
	position: absolute;
}

.ppx-creators .ppx-fan-l {
	left: 7%;
	top: 22%;
	transform: rotate(-9deg);
	width: 27%;
}

.ppx-creators .ppx-fan-r {
	right: 7%;
	top: 20%;
	transform: rotate(8deg);
	width: 27%;
}

.ppx-creators .ppx-fan-c {
	box-shadow: 10px 10px 0 0 #96DECE;
	left: 34%;
	padding: 6px 6px 16px;
	top: 9%;
	transform: rotate(-1deg);
	width: 32%;
	z-index: 2;
}

.ppx-creators .ppx-fan-l2 {
	left: 12%;
	top: 16%;
	transform: rotate(-7deg);
	width: 30%;
}

.ppx-creators .ppx-fan-c2 {
	box-shadow: 10px 10px 0 0 #96DECE;
	left: 44%;
	padding: 6px 6px 16px;
	top: 9%;
	transform: rotate(4deg);
	width: 32%;
	z-index: 2;
}

.ppx-creators .ppx-fan-img {
	aspect-ratio: 3 / 4;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-creators .ppx-fan-img.is-shot {
	object-position: center 30%;
}

.ppx-creators .ppx-fan-c .ppx-tape {
	height: 16px;
	left: 30%;
	top: -9px;
	transform: rotate(3deg);
	width: 40%;
}

.ppx-creators .ppx-fan-c2 .ppx-tape {
	height: 16px;
	left: 28%;
	top: -9px;
	transform: rotate(-4deg);
	width: 44%;
}

.ppx-creators .ppx-creator-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 28px 28px;
}

.ppx-creators .ppx-creator-avatar {
	border: 4px solid #F8F8F7;
	border-radius: 50%;
	display: block;
	height: 72px;
	margin-top: -36px;
	max-width: none;
	object-fit: cover;
	position: relative;
	width: 72px;
	z-index: 6;
}

.ppx-creators .ppx-creator-avatar.is-empty {
	background: #111112;
}

.ppx-creators .ppx-creator-name {
	color: #111112;
	font: 800 28px/1.1 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: normal;
	margin: 0;
	overflow-wrap: anywhere;
	padding: 0;
	text-transform: uppercase;
}

.ppx-creators .ppx-creator-meta {
	color: #4A4F52;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	text-transform: uppercase;
}

.ppx-creators .ppx-creator-blurb {
	color: #111112;
	font: 400 15px/1.65 Inter, "Segoe UI", sans-serif;
	margin: 2px 0 0;
}

.ppx-creators a.ppx-creator-link,
.ppx-creators a.ppx-creator-link:hover,
.ppx-creators a.ppx-creator-link:focus,
.ppx-creators a.ppx-creator-link:visited {
	align-self: flex-start;
	color: #111112;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin-top: 6px;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 4px;
}

/* The dashed "Your work here" card. */
.ppx-creators .ppx-creator-open {
	background: transparent;
	color: #F8F8F7;
	outline: 2px dashed #63998E;
	outline-offset: -2px;
}

.ppx-creators .ppx-creator-open .ppx-creator-fan {
	align-items: center;
	background: none;
	display: flex;
	justify-content: center;
	overflow: visible;
}

.ppx-creators .ppx-creator-open .ppx-exhibit {
	z-index: auto;
}

.ppx-creators .ppx-open-slot {
	align-items: center;
	aspect-ratio: 3 / 4.4;
	border: 2px dashed #63998E;
	display: flex;
	justify-content: center;
	max-width: 123px; /* 32% of the mock's 384px card. */
	position: relative;
	transform: rotate(3deg);
	width: 32%;
}

.ppx-creators .ppx-open-slot-text {
	color: #96DECE;
	font: 400 11px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	padding: 0 8px;
	text-align: center;
	text-transform: uppercase;
}

.ppx-creators .ppx-open-slot .ppx-tape {
	height: 16px;
	left: 28%;
	top: -9px;
	transform: rotate(-4deg);
	width: 44%;
}

.ppx-creators .ppx-creator-open .ppx-creator-name {
	color: #F8F8F7;
}

.ppx-creators .ppx-creator-open .ppx-creator-blurb {
	color: #C9D3D0;
	margin: 0;
}

.ppx-creators .ppx-creator-open a.ppx-btn {
	align-self: flex-start;
	margin-top: 8px;
}

/* ------------------------------------------- Fan Arcade: table grid */

.ppx-arcade-tables .ppx-toolbar {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 16px;
	margin-top: 22px;
}

.ppx-arcade-tables .ppx-toolbar[hidden],
.ppx-arcade-tables .ppx-nomatch[hidden],
.ppx-arcade-tables .ppx-card[hidden] {
	display: none;
}

.ppx-arcade-tables .ppx-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ppx-arcade-tables .ppx-field-search {
	flex: 1 1 260px;
}

.ppx-arcade-tables .ppx-field-creator {
	flex: 0 1 220px;
}

.ppx-arcade-tables .ppx-label {
	color: #4A4F52;
	display: block;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
	vertical-align: baseline;
}

.ppx-arcade-tables .ppx-toolbar input.ppx-search[type="search"],
.ppx-arcade-tables .ppx-toolbar input.ppx-search[type="search"]:focus {
	background: #FFFFFF;
	border: 2px solid #111112;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: #111112;
	font: 400 16px Inter, "Segoe UI", sans-serif;
	height: 50px;
	margin: 0;
	max-width: none;
	padding: 0 16px;
	transition: none;
	width: 100%;
}

.ppx-arcade-tables .ppx-toolbar input.ppx-search[type="search"]:focus-visible,
.ppx-arcade-tables .ppx-toolbar select.ppx-select:focus-visible {
	outline: 2px solid #63998E;
	outline-offset: 2px;
}

/* The mock's placeholder is the browser default; pinned so a theme can't change it. */
.ppx-arcade-tables .ppx-toolbar input.ppx-search[type="search"]::placeholder {
	color: #757575;
	opacity: 1;
}

.ppx-arcade-tables .ppx-toolbar .ppx-sort {
	display: flex;
}

.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn,
.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn:hover,
.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn:focus {
	background: #FFFFFF;
	border: 2px solid #111112;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: #111112;
	cursor: pointer;
	display: inline-block;
	font: 400 12px/1 "JetBrains Mono", ui-monospace, monospace;
	height: 50px;
	letter-spacing: 1.5px;
	margin: 0;
	padding: 0 16px;
	text-decoration: none;
	text-transform: uppercase;
	transition: none;
	white-space: nowrap;
	width: auto;
}

.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn + button.ppx-sort-btn {
	border-left: 0;
}

.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn[aria-pressed="true"],
.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn[aria-pressed="true"]:hover,
.ppx-arcade-tables .ppx-toolbar button.ppx-sort-btn[aria-pressed="true"]:focus {
	background: #111112;
	color: #F8F8F7;
}

.ppx-arcade-tables .ppx-toolbar select.ppx-select,
.ppx-arcade-tables .ppx-toolbar select.ppx-select:focus {
	background-color: #FFFFFF;
	border: 2px solid #111112;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: #111112;
	font: 400 16px Inter, "Segoe UI", sans-serif;
	height: 50px;
	margin: 0;
	max-width: none;
	padding: 0 12px;
	transition: none;
	width: 100%;
}

.ppx-arcade-tables .ppx-grid {
	display: grid;
	gap: clamp(28px, 3vw, 40px) clamp(14px, 2vw, 24px);
	grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr));
	margin-top: 30px;
}

.ppx-arcade-tables .ppx-card,
.ppx-arcade-tables a.ppx-card:hover,
.ppx-arcade-tables a.ppx-card:focus,
.ppx-arcade-tables a.ppx-card:visited {
	color: #111112;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
}

.ppx-arcade-tables .ppx-card-print {
	background: #FFFFFF;
	display: block;
	outline: 1px solid rgba(17, 17, 18, 0.14);
	padding: 8px;
	position: relative;
}

.ppx-arcade-tables .ppx-card-img,
.ppx-arcade-tables .ppx-card-blank {
	aspect-ratio: 3 / 4;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-arcade-tables .ppx-card-blank {
	background: #1B1C1E;
}

.ppx-arcade-tables .ppx-badge {
	color: #111112;
	font: 400 11px/1 "JetBrains Mono", ui-monospace, monospace;
	left: 8px;
	letter-spacing: 1.5px;
	padding: 6px 8px;
	position: absolute;
	text-transform: uppercase;
	top: 8px;
}

.ppx-arcade-tables .ppx-badge-new {
	background: #FF7A1A;
}

.ppx-arcade-tables .ppx-badge-totw {
	background: #96DECE;
}

.ppx-arcade-tables .ppx-card-meta {
	color: #4A4F52;
	display: flex;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	gap: 8px;
	justify-content: space-between;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-arcade-tables .ppx-card-title {
	font: 800 16px/1.2 Montserrat, "Segoe UI", sans-serif;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.ppx-arcade-tables .ppx-card-by {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-arcade-tables .ppx-nomatch,
.ppx-arcade-tables .ppx-empty {
	color: #4A4F52;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 30px 0 0;
	text-transform: uppercase;
}

.ppx-arcade-tables .ppx-empty {
	margin: 0;
}

/* --------------------------------- Leaderboards: hero Table of the Week */

.ppx-totw-wrap {
	display: flex;
	justify-content: center;
	padding: 0 14px;
}

.ppx-totw-wrap .ppx-totw-card {
	background: #F8F8F7;
	box-shadow: 16px 16px 0 0 #96DECE;
	color: #111112;
	display: flex;
	flex-direction: column;
	margin: 0;
	max-width: 100%;
	position: relative;
	width: 460px; /* fixed and capped, like the wall, so a centring column cannot shrink it */
}

.ppx-totw-card .ppx-totw-art {
	background: #1B1C1E;
	height: 200px;
	overflow: hidden;
	position: relative;
}

.ppx-totw-card .ppx-totw-art.is-empty {
	background: #111112;
}

.ppx-totw-card .ppx-totw-bg {
	border: 0;
	border-radius: 0;
	display: block;
	filter: brightness(0.55);
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-totw-card .ppx-totw-print {
	background: #FFFFFF;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.55);
	left: 24px;
	margin: 0;
	padding: 6px 6px 16px;
	position: absolute;
	top: 26px;
	transform: rotate(-5deg);
	width: 104px;
}

.ppx-totw-card .ppx-totw-print-img {
	aspect-ratio: 3 / 4;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-totw-card .ppx-totw-print .ppx-tape {
	height: 16px;
	left: 28%;
	top: -9px;
	transform: rotate(4deg);
	width: 44%;
}

.ppx-totw-card .ppx-totw-week {
	background: #96DECE;
	color: #111112;
	font: 400 11px/1 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	padding: 7px 9px;
	position: absolute;
	right: 16px;
	text-transform: uppercase;
	top: 16px;
}

.ppx-totw-card .ppx-totw-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 28px 28px;
}

.ppx-totw-card .ppx-totw-name {
	color: #111112;
	font: 800 28px/1.1 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: normal;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx-totw-card .ppx-totw-meta {
	color: #4A4F52;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	text-transform: uppercase;
}

.ppx-totw-card .ppx-totw-leader {
	align-items: center;
	border-bottom: 1px solid rgba(17, 17, 18, 0.14);
	border-top: 1px solid rgba(17, 17, 18, 0.14);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-top: 8px;
	padding: 16px 0;
}

.ppx-totw-card .ppx-totw-who {
	align-items: center;
	display: flex;
	gap: 12px;
}

.ppx-totw-card .ppx-initials {
	align-items: center;
	background: #111112;
	border: 3px solid #FBC02D;
	box-sizing: border-box;
	color: #F8F8F7;
	display: flex;
	font: 800 15px/1 Montserrat, "Segoe UI", sans-serif;
	height: 52px;
	justify-content: center;
	letter-spacing: 1px;
	min-width: 52px;
	padding: 0 4px;
}

.ppx-totw-card .ppx-totw-who-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ppx-totw-card .ppx-totw-k {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-totw-card .ppx-totw-lname {
	font: 800 18px/1.2 Montserrat, "Segoe UI", sans-serif;
	text-transform: uppercase;
}

.ppx-totw-card .ppx-totw-score {
	color: #111112;
	font: 400 clamp(20px, 2vw, 26px)/1.1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-totw-card a.ppx-btn-block,
.ppx-totw-card a.ppx-btn-block:hover,
.ppx-totw-card a.ppx-btn-block:focus,
.ppx-totw-card a.ppx-btn-block:visited {
	align-items: center;
	background: #111112;
	border: 2px solid #111112;
	border-radius: 0;
	color: #F8F8F7;
	display: flex;
	font: 800 14px/1.2 Montserrat, "Segoe UI", sans-serif;
	justify-content: center;
	letter-spacing: 1.2px;
	margin-top: 8px;
	min-height: 52px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

/* -------------------------------------------- Leaderboards: podium */

/* No outer margin: the page band spaces it. */
.ppx-podium {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}

.ppx-podium .ppx-podium-card {
	background: #111112;
	color: #F8F8F7;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
	padding: 28px;
}

.ppx-podium .ppx-podium-card.is-gold {
	box-shadow: 10px 10px 0 0 #FBC02D;
}

.ppx-podium .ppx-podium-card.is-silver {
	box-shadow: 10px 10px 0 0 #B0BEC5;
}

.ppx-podium .ppx-podium-card.is-bronze {
	box-shadow: 10px 10px 0 0 #CD7F32;
}

.ppx-podium .ppx-podium-top {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

.ppx-podium .ppx-podium-rank {
	font: 400 44px/1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-podium .is-gold .ppx-podium-rank {
	color: #FBC02D;
}

.ppx-podium .is-silver .ppx-podium-rank {
	color: #B0BEC5;
}

.ppx-podium .is-bronze .ppx-podium-rank {
	color: #CD7F32;
}

.ppx-podium .ppx-podium-tile {
	align-items: center;
	border: 3px solid #FBC02D;
	box-sizing: border-box;
	display: flex;
	font: 800 22px/1 Montserrat, "Segoe UI", sans-serif;
	height: 72px;
	justify-content: center;
	letter-spacing: 1px;
	min-width: 72px;
	padding: 0 6px;
}

.ppx-podium .is-silver .ppx-podium-tile {
	border-color: #B0BEC5;
}

.ppx-podium .is-bronze .ppx-podium-tile {
	border-color: #CD7F32;
}

.ppx-podium .ppx-podium-points {
	align-items: baseline;
	display: flex;
	gap: 10px;
}

.ppx-podium .ppx-podium-num {
	font: 400 34px/1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-podium .ppx-podium-label {
	color: #C9D3D0;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-podium .ppx-medals {
	color: #C9D3D0;
	display: flex;
	font: 400 14px/1 "JetBrains Mono", ui-monospace, monospace;
	gap: 18px;
}

.ppx-podium .ppx-medal {
	align-items: center;
	display: flex;
	gap: 7px;
}

.ppx-podium .ppx-sq {
	height: 12px;
	width: 12px;
}

.ppx .ppx-sq-gold {
	background: #FBC02D;
}

.ppx .ppx-sq-silver {
	background: #B0BEC5;
}

.ppx .ppx-sq-bronze {
	background: #CD7F32;
}

/* ------------------------------------------ Leaderboards: standings */

/* margin-top 28px: the gap under the podium cards when both share a band. */
.ppx-standings {
	margin-top: 28px;
	overflow-x: auto;
}

.ppx-standings .ppx-table {
	background: transparent;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	color: #111112;
	font: 400 15px/1.4 "JetBrains Mono", ui-monospace, monospace;
	margin: 0;
	min-width: 340px;
	width: 100%;
}

.ppx-standings .ppx-table thead tr {
	border-bottom: 2px solid #111112;
}

.ppx-standings .ppx-table tbody tr {
	border-bottom: 1px solid rgba(17, 17, 18, 0.12);
}

/* .ppx-th / .ppx-td carry a third class so these outrank Hello's
   `table thead:first-child tr:first-child th` (0,2,4) and zebra rows. */
.ppx-standings .ppx-table .ppx-th {
	background: transparent;
	border: 0;
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	padding: 0 8px 12px;
	text-align: left;
	text-transform: uppercase;
	vertical-align: bottom;
}

.ppx-standings .ppx-table .ppx-th.ppx-col-rank {
	padding: 0 8px 12px 0;
	width: 56px;
}

.ppx-standings .ppx-table .ppx-th.ppx-col-pod {
	text-align: right;
}

.ppx-standings .ppx-table .ppx-th.ppx-col-pts {
	padding: 0 0 12px 8px;
	text-align: right;
}

.ppx-standings .ppx-table .ppx-td {
	background: transparent;
	border: 0;
	color: #111112;
	font: 400 15px/1.4 "JetBrains Mono", ui-monospace, monospace;
	padding: 14px 8px;
	text-align: left;
	vertical-align: middle;
}

.ppx-standings .ppx-table .ppx-td.ppx-col-rank {
	color: #4A4F52;
	padding: 14px 8px 14px 0;
}

.ppx-standings .ppx-table .ppx-td.ppx-col-player {
	font: 800 16px/1.2 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 1px;
}

.ppx-standings .ppx-table .ppx-td.ppx-col-pod {
	color: #4A4F52;
	text-align: right;
	white-space: nowrap;
}

.ppx-standings .ppx-table .ppx-td.ppx-col-pts {
	font-size: 17px;
	padding: 14px 0 14px 8px;
	text-align: right;
}

.ppx-standings .ppx-pods {
	display: inline-flex;
	gap: 14px;
}

.ppx-standings .ppx-medal {
	align-items: center;
	display: inline-flex;
	gap: 6px;
}

.ppx-standings .ppx-sq {
	height: 10px;
	width: 10px;
}

/* ------------------------------------------- Leaderboards: hot tables */

.ppx-hot {
	display: grid;
	gap: 32px clamp(16px, 2vw, 24px);
	grid-template-columns: repeat(auto-fill, minmax(min(240px, calc(50% - 8px)), 1fr));
	margin-top: 28px;
}

.ppx-hot a.ppx-hot-card,
.ppx-hot a.ppx-hot-card:hover,
.ppx-hot a.ppx-hot-card:focus,
.ppx-hot a.ppx-hot-card:visited {
	color: #F8F8F7;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
}

.ppx-hot .ppx-hot-print {
	background: #FFFFFF;
	display: block;
	padding: 8px;
	position: relative;
}

.ppx-hot .ppx-hot-img,
.ppx-hot .ppx-hot-blank {
	aspect-ratio: 4 / 3;
	border: 0;
	border-radius: 0;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-hot .ppx-hot-blank {
	background: #1B1C1E;
}

.ppx-hot .ppx-hot-rank {
	background: #F8F8F7;
	color: #111112;
	font: 400 13px/1 "JetBrains Mono", ui-monospace, monospace;
	left: 8px;
	padding: 7px 9px;
	position: absolute;
	top: 8px;
}

.ppx-hot .ppx-hot-rank.is-first {
	background: #FF7A1A;
}

.ppx-hot .ppx-hot-name {
	font: 800 16px/1.2 Montserrat, "Segoe UI", sans-serif;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.ppx-hot .ppx-hot-cap {
	color: #C9D3D0;
	display: flex;
	flex-wrap: wrap;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	gap: 2px 8px;
	justify-content: space-between;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-hot .ppx-hot-maker {
	white-space: nowrap;
}

.ppx-hot .ppx-hot-runs {
	color: #96DECE;
	white-space: nowrap;
}

/* ------------------------------------------------------- Tournaments */

/* All four section blocks can share one page band with no gap: each carries
   its own bottom spacing and an empty one renders nothing. */
.ppx-tn {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 auto clamp(40px, 5vw, 56px);
	max-width: 1200px;
}

.ppx-tn .ppx-tn-head {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 24px;
	justify-content: space-between;
}

.ppx-tn .ppx-tn-titles {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ppx-tn .ppx-tn-live-k {
	align-items: center;
	display: flex;
	gap: 10px;
}

.ppx-tn .ppx-live-dot {
	animation: ppx-live-pulse 2s ease-in-out infinite;
	background: #FF7A1A;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(255, 122, 26, 0.2);
	height: 9px;
	width: 9px;
}

@keyframes ppx-live-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 4px rgba(255, 122, 26, 0.2);
	}

	50% {
		box-shadow: 0 0 0 7px rgba(255, 122, 26, 0.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ppx-tn .ppx-live-dot {
		animation: none;
	}
}

.ppx-tn .ppx-tn-h2 {
	color: #111112;
	font: 800 clamp(24px, 2.6vw, 30px)/1.1 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: normal;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx-tn-live .ppx-tn-h2,
.ppx-tn-soon .ppx-tn-h2 {
	font-size: clamp(30px, 3.4vw, 40px);
}

.ppx-tn .ppx-tn-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 14px;
}

.ppx-tn-live .ppx-tn-list {
	margin-top: 26px;
}

.ppx-tn .ppx-tn-card {
	background: #FFFFFF;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	outline: 2px solid #111112;
	outline-offset: -2px;
}

/* Dot-matrix poster. */
.ppx-tn .ppx-tn-poster {
	align-items: center;
	background-color: #0B0603;
	background-image: radial-gradient(circle, #2A1204 0.9px, transparent 1.2px);
	background-size: 4px 4px;
	display: flex;
	flex: 0 1 280px;
	flex-direction: column;
	gap: 10px;
	justify-content: center;
	min-width: 220px;
	padding: 32px 20px;
	position: relative;
}

.ppx-tn .ppx-tn-poster.has-image {
	min-height: 180px;
	overflow: hidden;
}

.ppx-tn .ppx-tn-poster-img {
	border: 0;
	border-radius: 0;
	display: block;
	height: 100%;
	left: 0;
	max-width: none;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.ppx-tn .ppx-dmd {
	filter: drop-shadow(0 0 6px rgba(255, 136, 0, 0.5));
	max-width: 100%;
	text-align: center;
}

.ppx-tn .ppx-dmd-text {
	-webkit-mask-image: radial-gradient(circle, #000 1.3px, transparent 1.6px);
	-webkit-mask-size: 4px 4px;
	color: #FF8800;
	font: 800 54px/0.95 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 4px;
	mask-image: radial-gradient(circle, #000 1.3px, transparent 1.6px);
	mask-size: 4px 4px;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

/* Longer cover words step down so they stay inside the panel. */
.ppx-tn .ppx-dmd-text.is-len-6 {
	font-size: 46px;
}

.ppx-tn .ppx-dmd-text.is-len-7 {
	font-size: 40px;
	letter-spacing: 3px;
}

.ppx-tn .ppx-dmd-text.is-len-8 {
	font-size: 35px;
	letter-spacing: 3px;
}

.ppx-tn .ppx-dmd-text.is-len-9 {
	font-size: 30px;
	letter-spacing: 2px;
}

.ppx-tn .ppx-tn-code {
	border: 1px solid #FF8800;
	color: #FF8800;
	font: 400 11px/1 "JetBrains Mono", ui-monospace, monospace;
	left: 12px;
	letter-spacing: 2px;
	padding: 6px 8px;
	position: absolute;
	top: 12px;
	z-index: 1;
}

.ppx-tn .ppx-tn-poster.has-image .ppx-tn-code {
	background: #0B0603;
}

/* Details panel. */
.ppx-tn .ppx-tn-info {
	display: flex;
	flex: 1 1 380px;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	padding: clamp(24px, 3vw, 36px);
}

.ppx-tn .ppx-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ppx-tn .ppx-chip {
	font: 400 11px/1 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-tn .ppx-chip-ink {
	background: #111112;
	color: #F8F8F7;
	padding: 7px 9px;
}

.ppx-tn .ppx-chip-line {
	border: 1px solid rgba(17, 17, 18, 0.3);
	color: #111112;
	padding: 6px 8px;
}

.ppx-tn .ppx-tn-name {
	color: #111112;
	font: 800 clamp(24px, 2.4vw, 30px)/1.1 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: normal;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-desc {
	color: #111112;
	font: 400 16px/1.6 Inter, "Segoe UI", sans-serif;
	margin: 0;
}

.ppx-tn .ppx-tn-tables {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ppx-tn .ppx-tn-table {
	background: #F2F2F0;
	color: #111112;
	font: 400 12px/1 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1px;
	padding: 8px 10px;
}

.ppx-tn .ppx-tn-facts {
	border-top: 1px solid rgba(17, 17, 18, 0.14);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	margin-top: auto;
	padding-top: 14px;
}

.ppx-tn .ppx-tn-fact {
	align-items: baseline;
	display: flex;
	gap: 8px;
}

.ppx-tn .ppx-tn-fact-num {
	color: #111112;
	font: 400 22px/1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-tn .ppx-tn-fact-label {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/* Third panel: standings (live) or registration. */
.ppx-tn .ppx-tn-side {
	background: #111112;
	color: #F8F8F7;
	display: flex;
	flex: 1 1 260px;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	padding: clamp(24px, 3vw, 32px);
}

.ppx-tn .ppx-tn-side-k {
	color: #FF7A1A;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-side-empty {
	color: #C9D3D0;
	font: 400 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-standings {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ppx-tn .ppx-tn-standings li {
	align-items: center;
	border-bottom: 1px solid #26292A;
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 10px 0;
}

.ppx-tn .ppx-tn-srank {
	color: #C9D3D0;
	font: 400 14px/1 "JetBrains Mono", ui-monospace, monospace;
	width: 24px;
}

.ppx-tn .ppx-tn-srank.is-gold {
	color: #FBC02D;
}

.ppx-tn .ppx-tn-srank.is-silver {
	color: #B0BEC5;
}

.ppx-tn .ppx-tn-srank.is-bronze {
	color: #CD7F32;
}

.ppx-tn .ppx-tn-sname {
	flex: 1;
	font: 800 16px/1.2 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 1px;
}

.ppx-tn .ppx-tn-spts {
	font: 400 15px/1 "JetBrains Mono", ui-monospace, monospace;
}

.ppx-tn .ppx-tn-count {
	color: #C9D3D0;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	margin: 0;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-count-num {
	color: #F8F8F7;
	font: 400 22px/1 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: normal;
	margin-right: 2px;
}

.ppx-tn a.ppx-tn-side-btn,
.ppx-tn a.ppx-tn-side-btn:hover,
.ppx-tn a.ppx-tn-side-btn:focus,
.ppx-tn a.ppx-tn-side-btn:visited {
	align-items: center;
	background: #96DECE;
	border: 2px solid #96DECE;
	border-radius: 0;
	color: #111112;
	display: flex;
	font: 800 13px/1.2 Montserrat, "Segoe UI", sans-serif;
	justify-content: center;
	letter-spacing: 1.2px;
	margin-top: auto;
	min-height: 50px;
	padding: 0 12px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

/* Registration with nothing open. */
.ppx-tn .ppx-tn-none {
	align-items: center;
	border: 2px dashed #63998E;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 32px;
	justify-content: space-between;
	margin-top: 14px;
	padding: clamp(24px, 3vw, 36px);
}

.ppx-tn .ppx-tn-none-text {
	display: flex;
	flex: 1 1 380px;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.ppx-tn .ppx-tn-none-title {
	color: #111112;
	font: 800 20px/1.2 Montserrat, "Segoe UI", sans-serif;
	margin: 0;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-none-body {
	color: #111112;
	font: 400 16px/1.6 Inter, "Segoe UI", sans-serif;
	margin: 0;
}

.ppx-tn .ppx-tn-none-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ppx-tn .ppx-tn-none-actions a.ppx-btn,
.ppx-tn .ppx-tn-none-actions a.ppx-btn:hover,
.ppx-tn .ppx-tn-none-actions a.ppx-btn:focus,
.ppx-tn .ppx-tn-none-actions a.ppx-btn:visited {
	padding: 17px 24px;
}

/* Past results. */
.ppx-tn .ppx-tn-past {
	border-top: 2px solid #111112;
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}

.ppx-tn .ppx-tn-row {
	align-items: center;
	border-bottom: 1px solid rgba(17, 17, 18, 0.14);
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	margin: 0;
	padding: 18px 0;
}

.ppx-tn .ppx-tn-mini {
	align-items: center;
	background-color: #0B0603;
	background-image: radial-gradient(circle, #2A1204 0.9px, transparent 1.2px);
	background-size: 4px 4px;
	display: flex;
	flex-shrink: 0;
	height: 64px;
	justify-content: center;
	overflow: hidden;
	width: 64px;
}

.ppx-tn .ppx-tn-mini-img {
	border: 0;
	border-radius: 0;
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.ppx-tn .ppx-tn-mini-text {
	color: #FF8800;
	font: 800 15px/0.95 Montserrat, "Segoe UI", sans-serif;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-mini-text.is-len-6 {
	font-size: 12px;
}

.ppx-tn .ppx-tn-mini-text.is-len-7,
.ppx-tn .ppx-tn-mini-text.is-len-8,
.ppx-tn .ppx-tn-mini-text.is-len-9 {
	font-size: 10px;
	letter-spacing: 0.5px;
}

.ppx-tn .ppx-tn-row-main {
	display: flex;
	flex: 1 1 240px;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.ppx-tn .ppx-tn-row-name {
	font: 800 18px/1.2 Montserrat, "Segoe UI", sans-serif;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-row-meta {
	color: #4A4F52;
	font: 400 11px/1.4 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ppx-tn .ppx-tn-row-chip {
	border: 1px solid rgba(17, 17, 18, 0.3);
	color: #4A4F52;
	font: 400 11px/1 "JetBrains Mono", ui-monospace, monospace;
	letter-spacing: 1.5px;
	padding: 7px 9px;
	text-transform: uppercase;
}
