@charset "utf-8";

/**
 * Kick Off 2 ratings â€” production theme.
 * Bold neon (C): glow on player hero avatar only. Exo 2, cyan/magenta table highlights.
 * UI accent (tint): default amber; hub pills override. Realm switch does not set paint (see docs/tint-vs-realm.md).
 */

:root {
	--k2-bg-page: #0b0f14;
	--k2-bg-surface: #131922;
	--k2-bg-elevated: #1a2230;
	--k2-bg-hover: #222c3d;
	--k2-text-primary: #d0d7de;
	--k2-text-secondary: color-mix(in srgb, var(--k2-text-muted) 40%, var(--k2-text-primary));
	--k2-text-muted: #8b949e;
	--k2-filter-field-label-color: color-mix(in srgb, var(--k2-text-muted) 88%, transparent);
	--k2-border-subtle: rgba(255, 255, 255, 0.07);
	--k2-border-strong: rgba(255, 255, 255, 0.1);

	/* Foundational hues â€” single hex source (hub tint, milestone glow, chart aliases) */
	--k2-pure-amber: #ffb74d;
	--k2-pure-pitch: #9ccc65;
	--k2-pure-chrome: #64b5f6;
	--k2-pure-holo: #b388ff;
	/* Milestone legendary band; pitch/chrome/amber use --k2-pure-* on milestone surfaces */
	--k2-ms-holo: #bf80f8;

	/* Amber chart ink only â€” soft mix (fixed hue; not tint-following) */
	--k2-amber-soft: color-mix(in srgb, var(--k2-pure-amber) 85%, var(--k2-text-primary));

	/* Chart role aliases (Chart.js / heatmaps); milestone cards use --k2-pure-* directly */
	--k2-chart-pitch: var(--k2-pure-pitch);
	--k2-chart-chrome: var(--k2-pure-chrome);
	--k2-chart-holo: var(--k2-pure-holo);
	--k2-chart-amber: var(--k2-amber-soft);
	--k2-chart-teal: #4db6ac;
	--k2-chart-magenta: #ff4081;
	--k2-chart-bar-fill-alpha: 0.75;
	--k2-chart-bar-border-width: 1;
	--k2-chart-line-area-alpha: 0.12;
	--k2-chart-line-border-width: 2;

	--k2-stat-positive-base: #4fc3f7;
	--k2-stat-negative-base: #f06292;
	/* .blue on chrome/holo tint — neon stat green; charts/milestones keep --k2-pure-pitch */
	--k2-stat-positive-green: #c4e84c;

	--k2-font-body: "IBM Plex Sans", Verdana, Arial, sans-serif;
	--k2-font-display: "Exo 2", "IBM Plex Sans", sans-serif;
	--k2-font-mono: "IBM Plex Mono", ui-monospace, monospace;
	--k2-font-segment: "DSEG7 Classic", "IBM Plex Mono", ui-monospace, monospace;

	--k2-radius-sm: 4px;
	--k2-radius-md: 8px;
	--k2-radius-lg: 12px;
	--k2-shadow-surface: 0 8px 32px rgba(0, 0, 0, 0.35);
	--k2-max-width: 1200px;
	--k2-chart-max-width: 960px;
	/* Page chrome nav stack -- see docs/nav-spacing-policy.md */
	--k2-nav-gap: 12px;
	/* Feast player hero in player wing -- glow panel air above/below in chrome stack */
	--k2-player-hero-chrome-gap: 24px;
	--k2-player-hero-glow-inset: 14px;
	/* Hub chapter intro → first body block (HoF table, etc.) */
	--k2-hub-chapter-to-content-gap: 22px;
	/* Shared by .k2-table-tooltip and Chart.js (chart-theme.js) */
	--k2-tooltip-surface: color-mix(in srgb, var(--k2-bg-elevated) 94%, #000);
	--k2-tooltip-border: color-mix(in srgb, var(--k2-accent) 36%, var(--k2-border-strong));
	--k2-tooltip-title: var(--k2-text-secondary);
	--k2-tooltip-body: var(--k2-text-primary);
	--k2-tooltip-footer: var(--k2-text-muted);
	/* In-page scrollbars â€” muted chrome, not tint accent */
	--k2-scrollbar-size: 8px;
	--k2-scrollbar-track: transparent;
	--k2-scrollbar-thumb: color-mix(in srgb, var(--k2-text-muted) 45%, transparent);
	--k2-scrollbar-thumb-hover: color-mix(in srgb, var(--k2-text-muted) 62%, transparent);
	/* Neon C Â· bold â€” stronger accent glow, no background grid */
	--k2-glow-strength: 0.55;
	--k2-accent-glow-blur: 18px;
}

/* UI accent (tint) â€” default amber; hub pills override via data-k2-accent (docs/tint-vs-realm.md) */
html {
	--k2-accent: var(--k2-pure-amber);
	--k2-accent-muted: rgba(255, 183, 77, 0.14);
	--k2-accent-glow: rgba(255, 183, 77, 0.35);
	--k2-segment-active-text: color-mix(in srgb, var(--k2-accent) 72%, var(--k2-text-secondary));
	--k2-segment-active-ring: color-mix(in srgb, var(--k2-accent) 55%, transparent);
	/* Text on solid accent fills (calendar selected day, etc.) â€” dark ink reads on all four tints */
	--k2-accent-solid-text: #0b0f14;
	--k2-link: color-mix(in srgb, var(--k2-accent) 72%, var(--k2-text-secondary));
	--k2-link-hover: color-mix(in srgb, var(--k2-accent) 85%, var(--k2-text-primary));
	/* Player names, IDs, profile stat highlights â€” accent-forward, not full chrome */
	--k2-link-star: color-mix(in srgb, var(--k2-accent) 85%, var(--k2-text-primary));
	--k2-link-star-hover: color-mix(in srgb, var(--k2-accent) 94%, var(--k2-text-primary));
	--k2-table-positive: color-mix(in srgb, var(--k2-stat-positive-base) 78%, var(--k2-text-primary));
	--k2-table-positive-glow: color-mix(in srgb, var(--k2-stat-positive-base) 38%, transparent);
	--k2-table-negative: color-mix(in srgb, var(--k2-stat-negative-base) 78%, var(--k2-text-primary));
	/* Drag-select highlight â€” overrides OS/browser default (e.g. Windows blue) */
	--k2-text-selection-bg: color-mix(in srgb, var(--k2-accent) 42%, var(--k2-bg-elevated));
	--k2-text-selection-color: var(--k2-text-primary);
	/* Stacked drop-shadow bloom (wordmark, heritage lamp); follows tint picker */
	--k2-accent-bloom-filter:
		drop-shadow(0 0 18px color-mix(in srgb, var(--k2-accent-glow) 82%, transparent))
		drop-shadow(0 0 44px color-mix(in srgb, var(--k2-accent) 42%, transparent))
		drop-shadow(0 0 58px color-mix(in srgb, var(--k2-accent-glow) 58%, transparent));
}

html[data-k2-accent="amber"] {
	--k2-accent: var(--k2-pure-amber);
	--k2-accent-muted: rgba(255, 183, 77, 0.14);
	--k2-accent-glow: rgba(255, 183, 77, 0.35);
}

html[data-k2-accent="pitch"] {
	--k2-accent: var(--k2-pure-pitch);
	--k2-accent-muted: rgba(156, 204, 101, 0.14);
	--k2-accent-glow: rgba(156, 204, 101, 0.35);
}

html[data-k2-accent="chrome"] {
	--k2-accent: var(--k2-pure-chrome);
	--k2-accent-muted: rgba(100, 181, 246, 0.14);
	--k2-accent-glow: rgba(100, 181, 246, 0.38);
	/* Cyan positive stats clash with chrome links — .blue uses stat green (not chart pitch) */
	--k2-stat-positive-base: var(--k2-stat-positive-green);
	--k2-table-positive: var(--k2-stat-positive-green);
}

html[data-k2-accent="holo"] {
	--k2-accent: var(--k2-pure-holo);
	--k2-accent-muted: rgba(179, 136, 255, 0.14);
	--k2-accent-glow: rgba(179, 136, 255, 0.45);
	/* Cyan positives clash with violet accent — .blue uses stat green (same rule as chrome) */
	--k2-stat-positive-base: var(--k2-stat-positive-green);
	--k2-table-positive: var(--k2-stat-positive-green);
}

html {
	background-color: var(--k2-bg-page);
	color-scheme: dark;
	scrollbar-gutter: stable;
	/* clip (not hidden) — hidden forces overflow-y:auto on body and breaks TT ribbon sticky */
	overflow-x: clip;
	max-width: 100%;
}

/* Hotwired Turbo progress (removed Jun 2026) — hide if a stale cached bundle still intercepts nav. */
.turbo-progress-bar {
	display: none !important;
}

body.k2-site {
	margin: 0;
	padding: 0 20px 48px;
	font-family: var(--k2-font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--k2-text-primary);
	background-color: var(--k2-bg-page);
	overflow-x: clip;
	max-width: 100%;
	min-width: 0;
}

body.k2-site ::selection {
	background-color: var(--k2-text-selection-bg);
	color: var(--k2-text-selection-color);
}

body.k2-site ::-moz-selection {
	background-color: var(--k2-text-selection-bg);
	color: var(--k2-text-selection-color);
}

body.k2-site a {
	color: var(--k2-link);
	font-weight: 500;
	text-decoration: none;
}

body.k2-site a:hover {
	color: var(--k2-link-hover);
	text-decoration: underline;
}

/* Global site footer — provenance + contact (not editorial discovery) */
.k2-site-footer {
	margin: 28px 0 0;
	padding: 0 0 28px;
	text-align: center;
}

.k2-site-footer__line {
	margin: 0;
	font-family: var(--k2-font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--k2-text-muted);
}

.k2-site-footer a {
	color: var(--k2-link);
	font-weight: 400;
}

.k2-site-footer__sep {
	margin: 0 0.35em;
	opacity: 0.55;
}

/* About leaf page */
.k2-about-page {
	max-width: 44rem;
	margin: 0 auto;
	padding: 0 0 8px;
}

.k2-about-page__hero {
	margin-bottom: var(--k2-nav-gap);
}

.k2-about-page__title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--k2-text-primary);
}

.k2-about-page__prose {
	margin: 0 0 14px;
	font-family: var(--k2-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--k2-text-secondary);
}

.k2-about-page__prose:last-child {
	margin-bottom: 0;
}

.k2-about-page__person {
	font-weight: 600;
	color: var(--k2-text-primary);
}

.k2-about-page__close {
	margin-top: 16px;
}

.k2-about-page__card {
	margin-bottom: 18px;
}

body.k2-site h1 {
	color: var(--k2-text-primary);
}

/* Hub page lede — muted 14px (catalog, HoF notes, etc.) */
body.k2-site .k2-hub-page-intro-head {
	margin-bottom: 22px;
}

body.k2-site .k2-hub-page-intro {
	margin: 0;
	font-family: var(--k2-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--k2-text-muted);
	max-width: 44rem;
}

/* Hub section chapter â€” compact title + curator lede above wing/sub-nav (not browser-default h1 scale) */
body.k2-site .k2-hub-chapter {
	max-width: var(--k2-max-width);
	margin: 0 0 var(--k2-nav-gap);
}

body.k2-site .k2-hub-chapter__title {
	margin: 0 0 8px;
	font-family: var(--k2-font-body);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--k2-text-primary);
}

body.k2-site .k2-hub-chapter__lede {
	margin: 0 0 12px;
	font-family: var(--k2-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--k2-text-muted);
	max-width: 44rem;
}

body.k2-site .k2-hub-chapter__lede + .k2-hub-chapter__list {
	margin-top: 0.65em;
}

body.k2-site .k2-hub-chapter__lede:has(+ .k2-hub-chapter__list) {
	margin-bottom: 0;
}

body.k2-site .k2-hub-chapter__list {
	margin: 0 0 12px;
	padding-left: 1.15rem;
	list-style: disc;
	list-style-position: outside;
	max-width: 44rem;
	font-family: var(--k2-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--k2-text-muted);
}

body.k2-site .k2-hub-chapter__list li {
	margin: 0;
	padding-left: 0.2rem;
}

body.k2-site .k2-hub-chapter__list li::marker {
	color: color-mix(in srgb, var(--k2-text-muted) 62%, var(--k2-accent) 38%);
	font-size: 0.7em;
}

/* â”€â”€ Site header â”€â”€ */
.k2-site-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 0 14px;
	border-bottom: 1px solid var(--k2-border-subtle);
	/* Own stacking context above hub bar (1210) + jukebox (1200) so the header search
	   dropdown is never painted behind page chrome below it. */
	position: relative;
	z-index: 1300;
}

.k2-wordmark {
	margin: 0;
	font-family: var(--k2-font-display);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.03em;
}

.k2-wordmark__link {
	color: inherit;
	text-decoration: none;
	font-weight: inherit;
	cursor: pointer;
}

body.k2-site a.k2-wordmark__link,
body.k2-site a.k2-wordmark__link:visited,
body.k2-site a.k2-wordmark__link:hover,
body.k2-site a.k2-wordmark__link:focus-visible {
	text-decoration: none;
}

/* Wordmark neon â€” fixed px shadows (calc() stacks >~120px were dropped by browsers) */
.k2-wordmark__main {
	color: var(--k2-accent);
	text-shadow:
		0 0 10px color-mix(in srgb, var(--k2-accent) 88%, transparent),
		0 0 26px color-mix(in srgb, var(--k2-accent-glow) 82%, transparent),
		0 0 46px color-mix(in srgb, var(--k2-accent-glow) 70%, transparent),
		0 0 68px color-mix(in srgb, var(--k2-accent) 44%, transparent),
		0 0 82px color-mix(in srgb, var(--k2-accent-glow) 58%, transparent);
	filter: var(--k2-accent-bloom-filter);
}

.k2-site-header__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: 13px;
}

.k2-site-header__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 32px;
	min-width: 0;
}

/* Realm switcher â€” segment track beside wordmark (tint-derived active ring, not realm colours) */
.k2-realm-switch {
	flex: 0 1 auto;
	min-width: 0;
}

.k2-realm-switch__track {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 3px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
	box-sizing: border-box;
}

body.k2-site a.k2-realm-switch__btn {
	display: inline-block;
	margin: 0;
	padding: 5px 10px;
	border: 1px solid transparent;
	border-radius: calc(var(--k2-radius-md) - 2px);
	background: transparent;
	color: var(--k2-text-muted);
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

body.k2-site a.k2-realm-switch__btn:visited {
	color: var(--k2-text-muted);
}

body.k2-site a.k2-realm-switch__btn:hover:not(.is-active) {
	color: var(--k2-text-secondary);
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none;
}

body.k2-site a.k2-realm-switch__btn.is-active,
body.k2-site a.k2-realm-switch__btn.is-active:visited {
	color: var(--k2-segment-active-text);
	background: transparent;
	border-color: var(--k2-segment-active-ring);
	box-shadow: none;
	text-decoration: none;
}

body.k2-site a.k2-realm-switch__btn.is-active:hover {
	color: var(--k2-segment-active-text);
	background: transparent;
	text-decoration: none;
}

body.k2-site a.k2-realm-switch__btn.k2-table-helped {
	cursor: help;
}

@media (max-width: 760px) {
	.k2-realm-switch {
		flex-basis: 100%;
	}

	.k2-amiga-time-mode {
		flex-basis: 100%;
	}
}

.k2-amiga-time-mode {
	flex: 0 1 auto;
	min-width: 0;
}

.k2-site-header__search {
	margin-left: auto;
}

@media (max-width: 760px) {
	.k2-site-header__search {
		margin-left: 0;
	}
}

/* â”€â”€ Player search â”€â”€ */
body.k2-site .player-search {
	position: relative;
	margin: 0;
}

body.k2-site .player-search--header {
	max-width: none;
}

body.k2-site .player-search-label {
	display: block;
	margin: 0 0 6px;
	color: var(--k2-text-primary);
	font-size: 13px;
	font-weight: 600;
}

body.k2-site .player-search-input,
body.k2-site .k2-header-search__input {
	box-sizing: border-box;
	width: 100%;
	padding: 6px 10px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-bg-elevated);
	color: var(--k2-text-primary);
	font: inherit;
	font-size: 13px;
}

body.k2-site .player-search--header .player-search-input,
body.k2-site .player-search--header .k2-header-search__input {
	width: 180px;
}

body.k2-site .player-search-input::placeholder,
body.k2-site .k2-header-search__input::placeholder {
	color: var(--k2-text-muted);
}

body.k2-site .player-search-input:focus,
body.k2-site .k2-header-search__input:focus {
	outline: none;
	border-color: var(--k2-accent);
	box-shadow: 0 0 0 2px var(--k2-accent-muted);
}

body.k2-site .player-search-results {
	position: absolute;
	left: 0;
	right: auto;
	z-index: 50;
	min-width: 100%;
	width: max-content;
	max-width: 22em;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
	max-height: 14em;
	overflow-x: auto;
	overflow-y: auto;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-bg-elevated);
	box-shadow: var(--k2-shadow-surface);
	font-size: 12px;
	line-height: 1.35;
	color: var(--k2-text-primary);
}

body.k2-site .player-h2h-opponent-search .player-search-results {
	width: 100%;
	max-width: none;
}

body.k2-site .player-search-results li {
	margin: 0;
	padding: 0;
}

body.k2-site .player-search-results a {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.65em;
	padding: 5px 8px;
	min-height: 1.35em;
	text-decoration: none;
	font-weight: normal;
	color: var(--k2-link);
	border-bottom: 1px solid var(--k2-border-subtle);
	background-color: var(--k2-bg-elevated);
}

body.k2-site .player-search-results .player-search-name {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	color: var(--k2-text-primary);
}

body.k2-site .player-search-results .player-search-meta {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: baseline;
	gap: 0.5em;
	white-space: nowrap;
}

body.k2-site .player-search-results .player-search-realm {
	font-size: 11px;
	font-weight: 500;
	color: var(--k2-text-muted);
}

body.k2-site .player-search-results .player-search-rating {
	flex: 0 0 auto;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--k2-text-muted);
}

body.k2-site .player-search-results li:last-child a {
	border-bottom: none;
}

body.k2-site .player-search-results a:hover,
body.k2-site .player-search-results a:focus-visible {
	background-color: var(--k2-accent-muted);
}

body.k2-site .player-search-results a:hover .player-search-name,
body.k2-site .player-search-results a:focus-visible .player-search-name {
	color: var(--k2-text-primary);
}

body.k2-site .player-search-results a:hover .player-search-rating,
body.k2-site .player-search-results a:focus-visible .player-search-rating {
	color: var(--k2-text-muted);
}

body.k2-site .player-search-results a:focus {
	outline: none;
}

body.k2-site .player-search-results a:focus-visible {
	outline: 2px solid var(--k2-accent);
	outline-offset: -2px;
}

body.k2-site .player-search-results .player-search-active a {
	background-color: var(--k2-accent-muted);
}

body.k2-site .player-h2h-opponent-search .player-h2h-search-option {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 8px 12px;
	border: none;
	background: transparent;
	color: var(--k2-text-primary);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

body.k2-site .player-h2h-opponent-search .player-h2h-search-results li {
	list-style: none;
}

body.k2-site .player-h2h-opponent-search .player-h2h-search-option:hover,
body.k2-site .player-h2h-opponent-search .player-h2h-search-option:focus-visible {
	background: var(--k2-bg-hover);
	outline: none;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.k2-page-nav {
	max-width: 1200px;
	margin: 0 auto;
	min-width: 0;
	/* clip (not hidden) so TT ribbon position:sticky can latch to the viewport */
	overflow-x: clip;
}

body.k2-site.k2-player-wing .k2-page-nav {
	padding-bottom: 48px;
}

body.k2-site .k2-games-hub {
	max-width: 1200px;
	margin: 0 auto;
	overflow-x: hidden;
	min-width: 0;
}

body.k2-site .k2-games-hub .k2-table-mirror-group {
	display: block;
	width: 100%;
	max-width: 100%;
}

body.k2-site .k2-league-period {
	overflow-x: clip;
	min-width: 0;
}

body.k2-site .k2-games-hub-tabs,
body.k2-site .k2-lb-activity-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-lb-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-hub-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-tournament-index-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-player-tournaments-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-player-games-scope-tabs,
body.k2-site .k2-chrome-tabs.k2-player-wing-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-players-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-countries-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-stats-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-activity-hub-tabs,
body.k2-site .k2-chrome-tabs.k2-amiga-activity-geography-tabs,
body.k2-site .k2-chrome-tabs.k2-tournament-videos-wings {
	margin-top: 0;
	margin-bottom: var(--k2-nav-gap);
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-lb-activity-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-games-hub-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-lb-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-hub-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-tournament-index-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-player-tournaments-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-player-games-scope-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-player-wing-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-players-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-countries-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-world-cups-stats-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-activity-hub-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-amiga-activity-geography-tabs .k2-chrome-tabs__bar,
body.k2-site .k2-chrome-tabs.k2-tournament-videos-wings .k2-chrome-tabs__bar {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-games-highlights-cluster {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

body.k2-site .k2-amiga-games-highlights-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: var(--k2-nav-gap);
	width: 100%;
}

body.k2-site .k2-amiga-games-highlights-nav .k2-games-highlights-board-filter,
body.k2-site .k2-amiga-games-highlights-nav .k2-games-highlights-scope-filter {
	margin-bottom: 0;
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-games-highlights-board-filter {
	margin-bottom: var(--k2-nav-gap);
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-games-highlights-board-filter__bar {
	width: fit-content;
	max-width: 100%;
	flex-wrap: wrap;
}

body.k2-site .k2-games-highlights-scope-filter__bar {
	width: fit-content;
	max-width: 100%;
	flex-wrap: wrap;
}

body.k2-site .k2-games-highlights {
	width: 100%;
	margin-bottom: 24px;
}

body.k2-site .k2-games-highlights .k2-panel-heading {
	margin-bottom: 8px;
}

/* Highlights table — shrink-wrap (not full-width scroll-mirror like games Recent/All). */
body.k2-site .k2-games-highlights .k2-table.k2-games-highlights-table {
	width: max-content;
	max-width: 100%;
	table-layout: auto;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--rank {
	width: 2.5em;
	min-width: 2.5em;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--id,
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td.k2-games-highlights-table__id {
	width: 1%;
	white-space: nowrap;
	padding-left: 8px;
	padding-right: 8px;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--goals-a,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--goals-b,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--gd,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--sum,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--ts,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--rating-a,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--rating-b,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--elo-diff,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--fav-es {
	width: 1%;
	white-space: nowrap;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--date,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--tournament,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--team-a,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--team-b,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--adjustment,
body.k2-site .k2-games-highlights .k2-games-highlights-table .k2-games-highlights-col--adjustment-lost {
	width: 1%;
	white-space: nowrap;
	min-width: 0;
}

body.k2-site .k2-games-list {
	max-width: 1200px;
	margin: 0 auto;
	min-width: 0;
	overflow-x: hidden;
}

body.k2-site .k2-games-day {
	margin-bottom: 20px;
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

body.k2-site .k2-games-day__heading.k2-panel-heading {
	margin-bottom: 8px;
}

body.k2-site .k2-games-day__empty {
	color: var(--k2-text-secondary);
}

body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-games-day__empty {
	color: var(--k2-text-secondary);
}

/* â”€â”€ Chart blocks on server / profile pages â”€â”€ */
body.k2-site .server-activity-summary {
	box-sizing: border-box;
	width: 100%;
	/* Hub column width â€” charts below stay --k2-chart-max-width (960px) in .k2-chart-frame */
	max-width: min(var(--k2-max-width), 100%);
	min-width: 0;
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.035) 0%, var(--k2-bg-surface) 62%);
	box-shadow: var(--k2-shadow-surface);
}

body.k2-site .server-activity-summary__lede {
	color: var(--k2-text-muted);
	font-size: 14px;
	line-height: 1.45;
}

body.k2-site .server-activity-summary__lede {
	margin: 0 0 12px;
}

body.k2-site .server-activity-summary__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(132px, 100%), 1fr));
	gap: 10px;
	min-width: 0;
}

body.k2-site .server-activity-summary__stat {
	padding: 10px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	background: color-mix(in srgb, var(--k2-bg-elevated) 72%, var(--k2-bg-surface));
}

body.k2-site .server-activity-summary__label {
	display: block;
	color: var(--k2-text-muted);
	font-size: 11px;
	line-height: 1.3;
}

body.k2-site .server-activity-summary__note {
	display: block;
	color: color-mix(in srgb, var(--k2-text-muted) 78%, transparent);
	font-size: 11px;
	line-height: 1.3;
}

body.k2-site .server-activity-summary__value {
	display: block;
	margin: 2px 0;
	color: var(--k2-text-secondary);
	font-family: var(--k2-font-display);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.15;
}

@media (max-width: 720px) {
	body.k2-site .server-activity-summary__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	body.k2-site .server-activity-summary__stats {
		grid-template-columns: 1fr;
	}
}

body.k2-site .server-games-day-chart,
body.k2-site .server-games-month-chart,
body.k2-site .server-games-year-chart,
body.k2-site .server-active-players-month-chart,
body.k2-site .server-daily-active-players-chart,
body.k2-site .server-top-activity-eras-chart,
body.k2-site .server-established-players-year-chart,
body.k2-site .server-cumulative-established-month-chart,
body.k2-site .server-established-rating-distribution-chart,
body.k2-site .server-activity-heatmap,
body.k2-site .server-play-texture-chart,
body.k2-site .server-matchup-breadth-chart,
body.k2-site .player-rating-chart,
body.k2-site .player-rank-chart,
body.k2-site .player-compare-rank-chart,
body.k2-site .player-games-month-chart,
body.k2-site .player-goals-scored-histogram,
body.k2-site .player-top-opponents-chart,
body.k2-site .player-head-to-head-chart,
body.k2-site .player-head-to-head-goals-chart,
body.k2-site .player-h2h-total-goals-chart,
body.k2-site .player-compare-rating-chart,
body.k2-site .player-h2h-opponent-search {
	box-sizing: border-box;
	width: 100%;
	max-width: min(var(--k2-chart-max-width), 100%);
	min-width: 0;
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

/* Activity hub charts â€” v2 frame (docs/activity-charts.md); scoped to Activity page body class. */
body.k2-site.k2-activity-charts .k2-chart-frame {
	position: relative;
	width: 100%;
	max-width: var(--k2-chart-max-width);
	height: var(--k2-chart-frame-height, 271px);
	margin: 0 auto;
}

body.k2-site.k2-activity-charts .k2-activity-section {
	margin-bottom: 30px;
}

body.k2-site.k2-activity-charts .k2-activity-section__head {
	box-sizing: border-box;
	width: 100%;
	max-width: min(var(--k2-chart-max-width), 100%);
	margin: 38px 0 14px;
	padding: 0 2px;
}

body.k2-site.k2-activity-charts .server-activity-summary + .k2-activity-section .k2-activity-section__head {
	margin-top: 20px;
}

body.k2-site.k2-activity-charts .k2-activity-section__intro {
	margin: 2px 0 0;
	color: var(--k2-text-muted);
	font-size: 14px;
	line-height: 1.45;
	max-width: 44rem;
}

body.k2-site.k2-activity-charts .k2-activity-section .k2-chart-panel:last-child {
	margin-bottom: 0;
}

body.k2-site.k2-activity-charts .k2-chart-frame--tall {
	--k2-chart-frame-height: 360px;
}

body.k2-site.k2-activity-charts .activity-heatmap-wrap {
	width: 100%;
	max-width: var(--k2-chart-max-width);
	margin-left: auto;
	margin-right: auto;
}

body.k2-site.k2-activity-charts .k2-chart-panel__status {
	margin: 0 0 8px 0;
}

/* Amiga Activity hub — generic panel card (45 charts; no per-panel class list). */
body.k2-site.k2-amiga-activity-charts main.k2-amiga-activity-hub > .k2-activity-section:first-child .k2-activity-section__head {
	margin-top: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-chart-panel {
	box-sizing: border-box;
	width: 100%;
	max-width: min(var(--k2-chart-max-width), 100%);
	min-width: 0;
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

body.k2-site.k2-amiga-activity-charts .k2-chart-panel canvas {
	display: block;
	max-width: 100%;
	touch-action: none;
	-webkit-tap-highlight-color: transparent;
}

/* Geography wing — duel + race selector row (slice 5+). */
body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-section {
	margin-bottom: 12px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 0;
	padding: 12px 14px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface-raised, var(--k2-bg-surface));
	position: relative;
	z-index: 20;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-amiga-act-geo-controls__row {
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-realm-games-filters__row-label {
	flex: 0 0 5.5rem;
	padding-bottom: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-duel {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px 10px;
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-duel-field {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	flex: 0 0 auto;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-duel-flag .k2-amiga-country-flag-img {
	display: block;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-vs {
	color: var(--k2-text-muted);
	font-size: 0.9rem;
	flex: 0 0 auto;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-amiga-act-geo-duel-field .k2-archive-listbox--ghost-sized,
body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-amiga-act-geo-race-add-wrap .k2-archive-listbox--ghost-sized {
	position: relative;
	display: inline-block;
	width: auto;
	max-width: min(14rem, 42vw);
	vertical-align: bottom;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-amiga-act-geo-duel-field .k2-archive-listbox,
body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-amiga-act-geo-race-add-wrap .k2-archive-listbox {
	flex: 0 1 auto;
	min-width: 9rem;
	max-width: min(14rem, 42vw);
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-duel-field .k2-archive-listbox__trigger.k2-amiga-act-geo-listbox,
body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-add-wrap .k2-archive-listbox__trigger.k2-amiga-act-geo-listbox {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: calc(1.25em + 8px);
	padding: 4px 20px 4px 8px;
	font-size: 11px;
	line-height: 1.25;
	gap: 4px;
	background-position: right 6px center;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-controls .k2-archive-listbox__panel {
	left: 0;
	right: auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.k2-site.k2-amiga-activity-charts .k2-archive-listbox__option--with-flag {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
}

body.k2-site.k2-amiga-activity-charts .k2-archive-listbox--meta-options .k2-archive-listbox__option--with-flag.k2-archive-listbox__option--split {
	justify-content: flex-start;
}

body.k2-site.k2-amiga-activity-charts .k2-archive-listbox__option-flag {
	flex: 0 0 auto;
	line-height: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-archive-listbox__option-flag .k2-amiga-country-flag-img {
	display: block;
}

body.k2-site.k2-amiga-activity-charts .k2-archive-listbox__option--with-flag .k2-archive-listbox__option-label {
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	min-width: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: inherit;
	line-height: inherit;
	cursor: pointer;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-item.is-off {
	opacity: 0.45;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-item.is-off .k2-amiga-act-geo-race-item-name {
	text-decoration: line-through;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-item .k2-amiga-country-flag-img {
	flex-shrink: 0;
	display: block;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-geo-race-item-name {
	text-decoration: none;
}

body.k2-site .k2-chart-html-tooltip {
	position: fixed;
	z-index: 1000;
	max-width: min(420px, calc(100vw - 24px));
	padding: 8px 10px;
	border: 1px solid var(--k2-tooltip-border);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-tooltip-surface);
	box-shadow: var(--k2-shadow-surface);
	color: var(--k2-tooltip-body);
	font-size: 12px;
	line-height: 1.35;
	pointer-events: none;
	transform: translate(-50%, calc(-100% - 8px));
}

body.k2-site .k2-chart-html-tooltip[hidden] {
	display: none;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-cumulative-tooltip__title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	color: var(--k2-tooltip-title);
	font-weight: 600;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-cumulative-tooltip__name {
	min-width: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-cumulative-tooltip__body {
	display: grid;
	gap: 2px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-cumulative-tooltip__flag {
	display: inline-flex;
	flex-shrink: 0;
	width: 20px;
	height: 15px;
	border-radius: 2px;
	overflow: hidden;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-cumulative-tooltip__flag .k2-amiga-country-flag-img {
	width: 100%;
	height: 100%;
	border-radius: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-wing-tooltip__body {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--k2-tooltip-border, rgba(255, 255, 255, 0.12));
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-wing-tooltip__body .k2-amiga-act-nationalities-tooltip__summary {
	margin-bottom: 6px;
	color: var(--k2-tooltip-body);
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-wing-tooltip__body .k2-amiga-act-nationalities-tooltip__list {
	display: grid;
	gap: 4px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-year-tooltip__metric {
	margin-bottom: 8px;
	color: var(--k2-tooltip-body);
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-events-tooltip {
	display: grid;
	gap: 10px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-wc-events-tooltip__event + .k2-amiga-act-wc-events-tooltip__event {
	padding-top: 10px;
	border-top: 1px solid var(--k2-tooltip-border, rgba(255, 255, 255, 0.12));
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__title {
	margin-bottom: 4px;
	color: var(--k2-tooltip-title);
	font-weight: 600;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__summary {
	margin-bottom: 6px;
	color: var(--k2-tooltip-body);
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__list {
	display: grid;
	gap: 4px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__row {
	display: flex;
	align-items: center;
	gap: 6px;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__flag {
	display: inline-flex;
	flex-shrink: 0;
	width: 20px;
	height: 15px;
	border-radius: 2px;
	overflow: hidden;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__flag .k2-amiga-country-flag-img {
	width: 100%;
	height: 100%;
	border-radius: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__name {
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site.k2-amiga-activity-charts .k2-amiga-act-nationalities-tooltip__count {
	flex-shrink: 0;
	color: var(--k2-tooltip-body);
	white-space: nowrap;
}

/* Desktop: none so Chart.js touchstart can show tooltips. */
body.k2-site .server-games-day-chart canvas,
body.k2-site .server-games-month-chart canvas,
body.k2-site .server-games-year-chart canvas,
body.k2-site .server-active-players-month-chart canvas,
body.k2-site .server-daily-active-players-chart canvas,
body.k2-site .server-top-activity-eras-chart canvas,
body.k2-site .server-established-players-year-chart canvas,
body.k2-site .server-cumulative-established-month-chart canvas,
body.k2-site .server-established-rating-distribution-chart canvas,
body.k2-site .server-play-texture-chart canvas,
body.k2-site .server-matchup-breadth-chart canvas,
body.k2-site .player-rating-chart canvas,
body.k2-site .player-rank-chart canvas,
body.k2-site .player-compare-rank-chart canvas,
body.k2-site .player-games-month-chart canvas,
body.k2-site .player-goals-scored-histogram canvas,
body.k2-site .player-top-opponents-chart canvas,
body.k2-site .player-head-to-head-chart canvas,
body.k2-site .player-head-to-head-goals-chart canvas,
body.k2-site .player-h2h-total-goals-chart canvas,
body.k2-site .player-compare-rating-chart canvas {
	display: block;
	max-width: 100%;
	touch-action: none;
	-webkit-tap-highlight-color: transparent;
}

/* Phone: vertical scroll + pinch-zoom over chart panels (pan-y alone blocks pinch). */
@media (pointer: coarse), (hover: none) {
	body.k2-site .server-games-day-chart,
	body.k2-site .server-games-month-chart,
	body.k2-site .server-games-year-chart,
	body.k2-site .server-active-players-month-chart,
	body.k2-site .server-daily-active-players-chart,
	body.k2-site .server-top-activity-eras-chart,
	body.k2-site .server-established-players-year-chart,
	body.k2-site .server-cumulative-established-month-chart,
	body.k2-site .server-established-rating-distribution-chart,
	body.k2-site .server-play-texture-chart,
	body.k2-site .server-matchup-breadth-chart,
	body.k2-site .server-activity-heatmap,
	body.k2-site .player-rating-chart,
body.k2-site .player-rank-chart,
body.k2-site .player-compare-rank-chart,
	body.k2-site .player-games-month-chart,
	body.k2-site .player-goals-scored-histogram,
	body.k2-site .player-top-opponents-chart,
	body.k2-site .player-head-to-head-chart,
	body.k2-site .player-head-to-head-goals-chart,
	body.k2-site .player-h2h-total-goals-chart,
	body.k2-site .player-compare-rating-chart,
	body.k2-site .server-games-day-chart canvas,
	body.k2-site .server-games-month-chart canvas,
	body.k2-site .server-games-year-chart canvas,
	body.k2-site .server-active-players-month-chart canvas,
	body.k2-site .server-daily-active-players-chart canvas,
	body.k2-site .server-top-activity-eras-chart canvas,
	body.k2-site .server-established-players-year-chart canvas,
	body.k2-site .server-cumulative-established-month-chart canvas,
	body.k2-site .server-established-rating-distribution-chart canvas,
	body.k2-site .server-play-texture-chart canvas,
	body.k2-site .server-matchup-breadth-chart canvas,
	body.k2-site .player-rating-chart canvas,
body.k2-site .player-rank-chart canvas,
body.k2-site .player-compare-rank-chart canvas,
	body.k2-site .player-games-month-chart canvas,
	body.k2-site .player-goals-scored-histogram canvas,
	body.k2-site .player-top-opponents-chart canvas,
	body.k2-site .player-head-to-head-chart canvas,
	body.k2-site .player-head-to-head-goals-chart canvas,
	body.k2-site .player-h2h-total-goals-chart canvas,
	body.k2-site .player-compare-rating-chart canvas,
	body.k2-site.k2-activity-charts .k2-chart-panel,
	body.k2-site.k2-activity-charts .k2-chart-frame,
	body.k2-site.k2-activity-charts .k2-chart-frame canvas,
	body.k2-site.k2-activity-charts .activity-heatmap-wrap,
	body.k2-site.k2-amiga-activity-charts .k2-chart-panel,
	body.k2-site.k2-amiga-activity-charts .k2-chart-frame,
	body.k2-site.k2-amiga-activity-charts .k2-chart-frame canvas {
		touch-action: pan-y pinch-zoom;
	}
}

/* Profile stat tables — vertical stack in shared page column */
body.k2-site .k2-page-nav .k2-table {
	max-width: 1200px;
	margin-bottom: 16px;
}

/* Wide game tables: intrinsic width inside scroll wrap (league period, player games, hub sortable tables, …) */
body.k2-site .k2-page-nav .k2-table-wrap .k2-table {
	max-width: none;
	width: max-content;
	min-width: 100%;
	margin-bottom: 0;
	table-layout: auto;
}

body.k2-site .player-h2h-opponent-search label {
	color: var(--k2-text-primary);
}

/* Data-surface headings â€” hub nav parity: Plex 600, muted, slightly larger than tabs */
.k2-panel-heading {
	margin: 0 0 4px;
	font-family: var(--k2-font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.01em;
	color: var(--k2-text-muted);
}

.k2-panel-heading__sep {
	font-weight: 400;
	opacity: 0.55;
}

.k2-chart-block__hint {
	margin: 0 0 4px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--k2-text-muted);
}

body.k2-site .player-rating-chart-status,
body.k2-site .player-rank-chart-status,
body.k2-site .player-compare-rank-chart-status,
body.k2-site .player-games-month-chart-status,
body.k2-site .player-goals-scored-histogram-status,
body.k2-site .player-top-opponents-chart-status,
body.k2-site .player-head-to-head-chart-status,
body.k2-site .player-head-to-head-goals-chart-status,
body.k2-site .player-h2h-total-goals-chart-status,
body.k2-site .player-compare-rating-chart-status,
body.k2-site .server-games-day-chart-status,
body.k2-site .server-games-month-chart-status,
body.k2-site .server-games-year-chart-status,
body.k2-site .server-active-players-month-chart-status,
body.k2-site .server-daily-active-players-chart-status,
body.k2-site .server-top-activity-eras-chart-status,
body.k2-site .server-established-players-year-chart-status,
body.k2-site .server-cumulative-established-month-chart-status,
body.k2-site .server-established-rating-distribution-chart-status,
body.k2-site .server-activity-heatmap-status,
body.k2-site .server-play-texture-chart-status,
body.k2-site .server-matchup-breadth-chart-status {
	color: var(--k2-text-muted);
}

/* â”€â”€ Activity heatmap (cell size from JS: --heatmap-cell, --heatmap-weeks) â”€â”€ */
.activity-heatmap {
	--heatmap-cell: 11px;
	--heatmap-weeks: 53;
	--heatmap-label-col: 28px;
	--heatmap-gap: 2px;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	padding-bottom: 4px;
}

.activity-heatmap.activity-heatmap--scrolls {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.activity-heatmap__months,
.activity-heatmap__grid {
	display: grid;
	gap: var(--heatmap-gap);
	grid-template-columns: var(--heatmap-label-col) repeat(var(--heatmap-weeks), var(--heatmap-cell));
}

.activity-heatmap__grid > * {
	min-width: 0;
}

.activity-heatmap__months {
	margin-bottom: 2px;
}

.activity-heatmap__grid {
	grid-template-rows: repeat(7, var(--heatmap-cell));
}

.activity-heatmap__month-label {
	font-size: clamp(9px, calc(var(--heatmap-cell) * 0.82), 12px);
	line-height: 1.1;
	color: var(--k2-text-muted);
	white-space: nowrap;
	overflow: visible;
}

.activity-heatmap__day-label {
	font-size: clamp(9px, calc(var(--heatmap-cell) * 0.82), 12px);
	line-height: 1.1;
	color: var(--k2-text-muted);
	display: flex;
	align-items: center;
}

.activity-heatmap__cell {
	box-sizing: border-box;
	width: var(--heatmap-cell);
	height: var(--heatmap-cell);
	border-radius: 2px;
	cursor: default;
}

.activity-heatmap__grid .activity-heatmap__cell {
	cursor: help;
}

.activity-heatmap__grid .activity-heatmap__cell:focus {
	outline: 1px solid color-mix(in srgb, var(--k2-accent) 55%, transparent);
	outline-offset: 1px;
}

.activity-heatmap__cell[data-level="0"] { background: rgba(255, 255, 255, 0.04); }
.activity-heatmap__cell[data-level="1"] { background: color-mix(in srgb, var(--k2-chart-pitch) 25%, transparent); }
.activity-heatmap__cell[data-level="2"] { background: color-mix(in srgb, var(--k2-chart-pitch) 45%, transparent); }
.activity-heatmap__cell[data-level="3"] { background: color-mix(in srgb, var(--k2-chart-pitch) 70%, transparent); }
.activity-heatmap__cell[data-level="4"] { background: var(--k2-chart-pitch); }

.activity-heatmap__legend {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	font-size: 11px;
	color: var(--k2-text-muted);
}

/* Activity LB error lines (legacy class; peaks / participation / in-a-row wings) */
body.k2-site .server-peak-period-leaderboard-status {
	color: var(--k2-text-muted);
}

/* Shared filter control tokens — picker labels/inputs (Games, Status, Amiga filters, H2H) */
body.k2-site .server-period-activity-leaderboard__picker-label {
	font-weight: 500;
}

body.k2-site .server-period-activity-leaderboard__input {
	padding: 4px 8px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-bg-surface);
	color: var(--k2-text-secondary);
	font-size: 0.9em;
}

body.k2-site .server-period-activity-leaderboard__date-control {
	display: inline-flex;
	align-items: stretch;
	gap: 4px;
}

body.k2-site .server-period-activity-leaderboard__input--day {
	color-scheme: dark;
}

body.k2-site .server-period-activity-leaderboard__input--day::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 1;
	filter: invert(1) brightness(1.15);
}

body.k2-site .server-records-panel {
	min-width: 0;
}

body.k2-site .server-records-panel .k2-table-wrap {
	width: fit-content;
	max-width: 100%;
	margin-bottom: 0;
	box-sizing: border-box;
}

body.k2-site .server-records-table {
	width: auto;
}

/* HoF main record list — single table; ch column sync via PHP --k2-hof-*-col-ch on .server-records-hof */
body.k2-site .server-records-hof {
	width: 100%;
	max-width: var(--k2-max-width);
	margin-top: 0;
	margin-bottom: 16px;
}

body.k2-site .k2-hub-chapter + .server-records-hof {
	margin-top: var(--k2-hub-chapter-to-content-gap);
}

body.k2-site .server-records-hof .server-records-panel .k2-table-wrap {
	width: fit-content;
	max-width: 100%;
	overflow-x: auto;
}

body.k2-site .server-records-hof .server-records-table {
	width: calc(var(--k2-hof-label-col-ch) + var(--k2-hof-value-col-ch) + var(--k2-hof-holder-col-ch) + var(--k2-hof-date-col-ch));
	table-layout: fixed;
}

body.k2-site .server-records-hof .server-records-table .k2-hof-col--label {
	width: var(--k2-hof-label-col-ch);
}

body.k2-site .server-records-hof .server-records-table .k2-hof-col--value {
	width: var(--k2-hof-value-col-ch);
}

body.k2-site .server-records-hof .server-records-table .k2-hof-col--holder {
	width: var(--k2-hof-holder-col-ch);
}

body.k2-site .server-records-hof .server-records-table .k2-hof-col--date {
	width: var(--k2-hof-date-col-ch);
}

/* HoF: row labels + date/period column â€” muted (values/holders stay primary / link-star) */
body.k2-site .k2-table.server-records-table tbody td:first-child,
body.k2-site .k2-table.server-records-table tbody td:nth-child(4) {
	color: var(--k2-text-muted);
}

/* HoF: in-table section divider (e.g. "World Cups"). */
body.k2-site .k2-table.server-records-table tbody tr.server-records-section-header td {
	color: var(--k2-text-primary, #fff);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.85em;
	padding-top: 18px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--k2-border-subtle, rgba(255, 255, 255, 0.14));
}

/* ── Leaderboard / data tables (k2-table — mock-aligned) ── */
body.k2-site .k2-table {
	border-collapse: collapse;
	font-size: 12px;
	color: var(--k2-text-primary);
}

body.k2-site .k2-table thead th {
	padding: 6px 8px;
	background: var(--k2-bg-surface);
	color: var(--k2-text-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-align: right;
	white-space: nowrap;
}

body.k2-site .k2-table thead tr:last-child th {
	border-bottom: 1px solid color-mix(in srgb, var(--k2-accent) 40%, transparent);
}

/* Amiga rating LB Δ header — flat-top Greek capital delta (Δ). */
body.k2-site .k2-table thead th.k2-table-col-delta {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
}

/* Hub LB wings only: Rank (col 1) + Player (col 2) min-widths — opt-in via k2-table--hub-rank-player-cols */
body.k2-site .k2-table.k2-table--hub-rank-player-cols.ranked-pages-table thead th:nth-child(1),
body.k2-site .k2-table.k2-table--hub-rank-player-cols.ranked-pages-table tbody td:nth-child(1) {
	width: 2.7em;
	min-width: 2.7em;
}

body.k2-site .k2-table.k2-table--hub-rank-player-cols.ranked-pages-table thead th:nth-child(2),
body.k2-site .k2-table.k2-table--hub-rank-player-cols.ranked-pages-table tbody td:nth-child(2) {
	min-width: 9.1em;
}

body.k2-site .k2-table.k2-table--world-cup-stats.ranked-pages-table thead th:first-child,
body.k2-site .k2-table.k2-table--world-cup-stats.ranked-pages-table tbody td:first-child {
	white-space: nowrap;
}

body.k2-site .k2-table.k2-table--single-game.ranked-pages-table thead th:nth-child(2),
body.k2-site .k2-table.k2-table--single-game.ranked-pages-table tbody td:nth-child(2) {
	white-space: nowrap;
}

/* Hub leaderboard wings: uniform padding (legacy per-th pad-left-* widened columns when labels changed). */
body.k2-site .k2-table.ranked-pages-table thead th,
body.k2-site .k2-table.ranked-pages-table tbody td {
	padding-left: 8px;
	padding-right: 8px;
	width: auto;
}

body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-xs,
body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-md,
body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-lg {
	padding-left: 8px;
}

html.ranked-js body.k2-site .k2-table.ranked-pages-table.ranked-table-pending {
	visibility: hidden;
}

body.k2-site .k2-table thead tr:first-child:not(:last-child) th {
	background-color: var(--k2-bg-page);
	border-bottom: none;
}

body.k2-site .k2-table thead th.table-sortable:hover,
body.k2-site .k2-table thead th.k2-table-sortable:hover,
body.k2-site .k2-table thead th:hover:not(.nohovercell):not(.filtercell) {
	background-color: var(--k2-bg-surface);
	color: var(--k2-text-secondary);
	box-shadow: inset 0 -2px 0 var(--k2-accent);
}

body.k2-site .k2-table thead th.k2-table-sortable {
	cursor: pointer;
}

body.k2-site .k2-table thead th.k2-table-sortable:focus,
body.k2-site .k2-table thead th.k2-table-sortable:focus-visible,
body.k2-site .k2-table thead th.k2-table-helped:focus,
body.k2-site .k2-table thead th.k2-table-helped:focus-visible {
	outline: none;
}

body.k2-site .k2-table thead th.k2-table-helped:not(.k2-table-sortable),
body.k2-site .k2-table tbody td.k2-table-helped {
	cursor: help;
}

body.k2-site .k2-table-tooltip {
	position: fixed;
	/* Topmost transient layer — above hub bar (1210), header (1300) and jukebox FAB
	   (1400) so help tooltips (e.g. the Time travel toggle) never hide under chrome. */
	z-index: 1500;
	max-width: min(420px, calc(100vw - 24px));
	padding: 8px 10px;
	border: 1px solid var(--k2-tooltip-border);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-tooltip-surface);
	box-shadow: var(--k2-shadow-surface);
	color: var(--k2-tooltip-body);
	font-size: 12px;
	line-height: 1.35;
	pointer-events: none;
}

body.k2-site .k2-table-tooltip[hidden] {
	display: none;
}

body.k2-site .k2-table-tooltip__title {
	margin-bottom: 3px;
	color: var(--k2-tooltip-title);
	font-weight: 600;
}

body.k2-site .k2-table-tooltip__body {
	margin-bottom: 6px;
	white-space: pre-line;
}

body.k2-site .k2-table-tooltip__body .k2-link-star {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-table-tooltip__action {
	padding-top: 6px;
	border-top: 1px solid var(--k2-border-subtle);
	color: var(--k2-tooltip-footer);
	font-size: 11px;
}

/* Peak rating LB — games-around-peak hover (profile cal list + rating delta column) */
body.k2-site .k2-table-tooltip.k2-table-tooltip--lb-peak-context {
	max-width: min(640px, calc(100vw - 24px));
	padding: 10px 12px;
}

body.k2-site .k2-table-tooltip--lb-peak-context .k2-table-tooltip__body {
	margin-bottom: 0;
	white-space: normal;
}

body.k2-site .k2-lb-peak-context-games-list {
	display: grid;
	grid-template-columns: 11.5em auto 2.1ch 0.95ch 2.1ch auto 4.5em;
	column-gap: 6px;
	align-items: baseline;
	width: max-content;
	max-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
}

body.k2-site .k2-lb-peak-context-games-list__row {
	display: contents;
}

body.k2-site .k2-lb-peak-context-games-list__cell {
	padding: 4px 0;
	border-bottom: 1px solid var(--k2-border-subtle);
}

body.k2-site .k2-lb-peak-context-games-list__row:last-child > .k2-lb-peak-context-games-list__cell {
	border-bottom: none;
}

body.k2-site .k2-lb-peak-context-games-list__when {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--k2-text-muted);
	font-size: 11px;
}

body.k2-site .k2-lb-peak-context-games-list__side--a {
	text-align: right;
	white-space: nowrap;
}

body.k2-site .k2-lb-peak-context-games-list__goals,
body.k2-site .k2-lb-peak-context-games-list__score-sep {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--k2-text-primary);
}

body.k2-site .k2-lb-peak-context-games-list__goals--a {
	text-align: right;
	margin-right: -3px;
}

body.k2-site .k2-lb-peak-context-games-list__score-sep {
	text-align: center;
	margin-left: -3px;
	margin-right: -3px;
}

body.k2-site .k2-lb-peak-context-games-list__goals--b {
	text-align: left;
	margin-left: -3px;
}

body.k2-site .k2-lb-peak-context-games-list__side--b {
	text-align: left;
	white-space: nowrap;
}

body.k2-site .k2-lb-peak-context-games-list__delta {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	white-space: nowrap;
}

body.k2-site .k2-lb-peak-context-games-list__delta.k2-lb-peak-context__delta--muted {
	color: var(--k2-text-muted);
	font-weight: 400;
}

body.k2-site .k2-table tbody td.k2-lb-peak-context-cell {
	cursor: help;
}

body.k2-site .k2-table-tooltip--lb-peak-context .pm3-cal__tip-rating {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

body.k2-site .k2-table-tooltip--lb-peak-context .pm3-cal__tip-loading,
body.k2-site .k2-table-tooltip--lb-peak-context .pm3-cal__tip-empty {
	margin: 0;
	color: var(--k2-text-muted);
	font-size: 12px;
}

body.k2-site .k2-table thead th.k2-table-sortable a {
	display: block;
	color: inherit;
	text-decoration: none;
}

body.k2-site .k2-table thead th.k2-table-sorted-asc,
body.k2-site .k2-table thead th.k2-table-sorted-desc {
	color: var(--k2-text-secondary);
	box-shadow: inset 0 -2px 0 var(--k2-accent);
}

body.k2-site .k2-table tbody td {
	padding: 5px 8px;
	border-bottom: 1px solid var(--k2-border-subtle);
	color: var(--k2-text-primary);
	white-space: nowrap;
}

/* Calm stats: muted body ink by default; anchor + active sort pop (see anchor/col-sorted rules). */
body.k2-site .k2-table.k2-table--calm-stats tbody td:not(.k2-table-anchor-cell):not(.k2-table-col-sorted):not(.k2-games-day__empty) {
	color: var(--k2-text-secondary);
}

/* Wing anchor column (data-k2-anchor-col) â€” permanent link-star emphasis */
body.k2-site .k2-table tbody td.k2-table-anchor-cell,
body.k2-site .k2-table tbody td.k2-table-anchor-cell .blue,
body.k2-site .k2-table tbody td.k2-table-anchor-cell .red {
	color: var(--k2-link-star);
	font-weight: 600;
}

/* Active sort column when it is not the anchor */
body.k2-site .k2-table tbody td.k2-table-col-sorted {
	color: var(--k2-segment-active-text);
	font-weight: 600;
}

/* Hub leaderboards + Games Highlights + Activity peaks (ranked8): secondary body cells; anchor + active sort pop */
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td,
body.k2-site .k2-table.k2-table--calm-stats.k2-games-highlights-table tbody td,
body.k2-site .k2-table.k2-status-table.k2-table--calm-stats tbody td:not(.k2-table-anchor-cell):not(.k2-table-col-sorted) {
	color: var(--k2-text-secondary);
}

body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td.k2-table-anchor-cell,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td.k2-table-anchor-cell .red {
	color: var(--k2-link-star);
	font-weight: 600;
}

/* Hub ranked LBs — editorial .blue/.red keep stat palette (not anchor link-star recolor) */
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td .blue {
	color: var(--k2-table-positive);
}

body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td .red {
	color: var(--k2-table-negative);
}

/* Calm leaderboards: active sort (non-anchor) = primary + 600 */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-table-col-sorted {
	color: var(--k2-text-primary);
	font-weight: 600;
}

/* Calm stats body links — inherit cell ink at rest (Activity peaks → games); not link-star */
body.k2-site .k2-table.k2-table--calm-stats tbody td a.k2-table-cell-link,
body.k2-site .k2-table.k2-table--calm-stats tbody td a.k2-table-cell-link:visited {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

/* Optional: weight 600 at rest when cell sort state is not active (e.g. peak-rating Peak links) */
body.k2-site .k2-table.k2-table--calm-stats tbody td a.k2-table-cell-link.k2-table-cell-link--rest-emphasis {
	font-weight: 600;
}

body.k2-site .k2-table.k2-table--calm-stats tbody td a.k2-table-cell-link:hover,
body.k2-site .k2-table.k2-table--calm-stats tbody td a.k2-table-cell-link:focus-visible {
	color: var(--k2-text-primary);
	font-weight: 600;
	text-decoration: underline;
}

/* Editorial .blue / .red cell links — keep stat ink on hover (no primary lift) */
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.blue:hover,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.blue:focus-visible {
	color: var(--k2-table-positive);
	text-decoration-color: var(--k2-table-positive);
}

body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.red:hover,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.red:focus-visible {
	color: var(--k2-table-negative);
	text-decoration-color: var(--k2-table-negative);
}

/* Colspan empty-state rows (e.g. server3 â€œno gamesâ€) â€” stay calm secondary even when sort col is 0 */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-games-day__empty,
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-games-day__empty.k2-table-col-sorted {
	color: var(--k2-text-secondary);
	font-weight: inherit;
}

body.k2-site .k2-table--numeric-default tbody td {
	text-align: right;
}

body.k2-site .k2-table .k2-table-cell--left {
	text-align: left;
}

body.k2-site .k2-table .k2-table-cell--right {
	text-align: right;
}

body.k2-site .k2-table .k2-table-cell--center {
	text-align: center;
}

body.k2-site .k2-table tr.k2-table-row--spacer td {
	padding: 5px 8px;
}

body.k2-site .k2-table tr.k2-table-row--spacer td:first-child::before {
	content: "\00a0";
}

body.k2-site .k2-table .k2-table-cell--pad-x-md {
	padding-left: 16.5px;
	padding-right: 16.5px;
}

/* Extra header padding for legacy short labels (e.g. GF, DD). Avoid on long leaderboard
   headers â€” applies to th only in PHP, but still widens the whole column. */
body.k2-site .k2-table .k2-table-cell--pad-left-xs {
	padding-left: 10.5px;
}

body.k2-site .k2-table .k2-table-cell--pad-left-md {
	padding-left: 16.5px;
}

body.k2-site .k2-table .k2-table-cell--pad-left-lg {
	padding-left: 19.5px;
}

body.k2-site .k2-table .k2-table-cell--pad-right-xl {
	padding-right: 22.5px;
}

body.k2-site .k2-table .k2-table-cell--pad-right-xs {
	padding-right: 10.5px;
}

body.k2-site .k2-link-star,
body.k2-site .k2-table tbody td a,
body.k2-site a.k2-link-star:visited,
body.k2-site .k2-table tbody td a:visited {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site a.k2-link-star,
body.k2-site a.k2-link-star:visited,
body.k2-site .k2-table tbody td a,
body.k2-site .k2-table tbody td a:visited {
	text-decoration: none;
}

body.k2-site a.k2-link-star:hover,
body.k2-site a.k2-link-star:focus-visible,
body.k2-site .k2-table tbody td a:hover,
body.k2-site .k2-table tbody td a:focus-visible {
	color: var(--k2-link-star-hover);
	text-decoration: underline;
}

/* Cell links with editorial .blue / .red — stat ink at rest (beats tbody td a link-star + color:inherit) */
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.blue,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.blue:visited {
	color: var(--k2-table-positive);
}

body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.red,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td a.k2-table-cell-link.red:visited {
	color: var(--k2-table-negative);
}

body.k2-site .k2-table-cell--video-glyph {
	width: 2.35rem;
	padding-left: 0.35rem;
	padding-right: 0.35rem;
}

body.k2-site .k2-table-cell--video-glyph a.k2-amiga-video-glyph,
body.k2-site .k2-table-cell--video-glyph a.k2-amiga-video-glyph:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	color: color-mix(in srgb, var(--k2-accent) 80%, var(--k2-text-muted));
	opacity: 0.92;
	text-decoration: none;
	transition: color 0.18s ease, opacity 0.18s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.18s ease;
}

body.k2-site .k2-table-cell--video-glyph a.k2-amiga-video-glyph:hover,
body.k2-site .k2-table-cell--video-glyph a.k2-amiga-video-glyph:focus-visible {
	color: var(--k2-accent);
	opacity: 1;
	text-decoration: none;
	transform: scale(1.16);
	filter: drop-shadow(0 0 5px color-mix(in srgb, var(--k2-accent) 55%, transparent));
}

body.k2-site .k2-amiga-video-glyph__icon {
	display: block;
}

body.k2-site .k2-table tbody tr,
body.k2-site .k2-table tbody tr.alternate {
	background: var(--k2-bg-surface);
}

body.k2-site .k2-table tbody tr:hover {
	background: var(--k2-bg-hover);
}

body.k2-site .k2-table tfoot td {
	background-color: var(--k2-bg-surface);
	color: var(--k2-text-muted);
	border-top: 1px solid var(--k2-border-subtle);
	padding: 6px 8px;
	font-size: 11px;
	font-weight: 500;
}

body.k2-site .k2-table tfoot td a,
body.k2-site .k2-table tfoot td a:visited {
	color: var(--k2-link);
}

body.k2-site .blue {
	color: var(--k2-table-positive);
}

/* Status league tables — hero stat (Pts / Games) emphasis; W/L use .blue/.red colour only */
body.k2-site .k2-status-table td .k2-status-table__hero-stat {
	font-weight: 600;
}

body.k2-site .holo {
	color: var(--k2-chart-holo);
}

body.k2-site .red {
	color: var(--k2-table-negative);
}

/* game.php — interim while browser replay ships */
body.k2-site .k2-game-page-anchor {
	height: 0;
}

body.k2-site .k2-game-page__aside {
	max-width: 42rem;
	margin: 24px 0 32px;
	box-sizing: border-box;
}

body.k2-site .k2-game-page__prose {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--k2-text-secondary);
}

body.k2-site .k2-game-page__video-wrap {
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	overflow: hidden;
	background:
		radial-gradient(circle at 24% 18%, color-mix(in srgb, var(--k2-accent) 16%, transparent), transparent 32%),
		linear-gradient(145deg, rgba(255, 255, 255, 0.035), rgba(0, 0, 0, 0.32)),
		#05080b;
	box-shadow: var(--k2-shadow-surface);
}

body.k2-site .k2-game-page__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

body.k2-site .k2-game-page__video-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
}

body.k2-site .k2-table-wrap {
	/* Containing block for absolute descendants (.visually-hidden th spans) —
	   otherwise their static position at the table's far right widens the document
	   and mobile browsers zoom the whole site out to fit. */
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin-bottom: 16px;
	overflow: auto;
	padding-bottom: 2px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

body.k2-site .k2-lb-table-anchor {
	height: 0;
}

body.k2-site .k2-lb-player-row-anchor {
	display: block;
	height: 0;
	overflow: hidden;
	scroll-margin-top: 12px;
}

body.k2-site .k2-countries-scroll-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

/* Scroll mirror — inline-block shrink-wrap; --active only shows the top mirror bar */
body.k2-site .k2-table-mirror-group {
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	margin-bottom: 16px;
	vertical-align: top;
	overflow-x: clip;
}

body.k2-site .k2-table-mirror-group .k2-table-wrap {
	max-width: 100%;
	min-width: 0;
	margin-bottom: 0;
}

body.k2-site .k2-table-mirror-group--active .k2-table-wrap {
	border-top: none;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

body.k2-site .k2-table-scroll-mirror {
	display: none;
	overflow-x: auto;
	overflow-y: hidden;
	width: auto;
	max-width: 100%;
	min-width: 0;
	min-height: calc(var(--k2-scrollbar-size) + 2px);
	border: 1px solid var(--k2-border-subtle);
	border-bottom: none;
	border-radius: var(--k2-radius-md) var(--k2-radius-md) 0 0;
	background: var(--k2-bg-surface);
}

body.k2-site .k2-table-mirror-group--active .k2-table-scroll-mirror {
	display: block;
}

body.k2-site .k2-table-scroll-mirror__sizer {
	height: 1px;
	pointer-events: none;
}

/* In-page scroll regions â€” shared muted scrollbar chrome */
body.k2-site .k2-table-wrap,
body.k2-site .k2-table-scroll-mirror,
body.k2-site .k2-archive-listbox__panel,
body.k2-site .player-search-results,
body.k2-site .k2-amiga-organizer-player-search__results,
.activity-heatmap.activity-heatmap--scrolls,
body.k2-site .pm3-cal--weeks .pm3-cal__week-grid,
body.k2-site .k2-ms-recent-list-block,
body.k2-site .k2-amiga-bracket__rounds {
	scrollbar-width: thin;
	scrollbar-color: var(--k2-scrollbar-thumb) var(--k2-scrollbar-track);
}

body.k2-site .k2-table-wrap::-webkit-scrollbar,
body.k2-site .k2-table-scroll-mirror::-webkit-scrollbar,
body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar,
body.k2-site .player-search-results::-webkit-scrollbar,
body.k2-site .k2-amiga-organizer-player-search__results::-webkit-scrollbar,
.activity-heatmap.activity-heatmap--scrolls::-webkit-scrollbar,
body.k2-site .pm3-cal--weeks .pm3-cal__week-grid::-webkit-scrollbar,
body.k2-site .k2-ms-recent-list-block::-webkit-scrollbar,
body.k2-site .k2-amiga-bracket__rounds::-webkit-scrollbar {
	width: var(--k2-scrollbar-size);
	height: var(--k2-scrollbar-size);
}

body.k2-site .k2-table-wrap::-webkit-scrollbar-track,
body.k2-site .k2-table-scroll-mirror::-webkit-scrollbar-track,
body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar-track,
body.k2-site .player-search-results::-webkit-scrollbar-track,
body.k2-site .k2-amiga-organizer-player-search__results::-webkit-scrollbar-track,
.activity-heatmap.activity-heatmap--scrolls::-webkit-scrollbar-track,
body.k2-site .pm3-cal--weeks .pm3-cal__week-grid::-webkit-scrollbar-track,
body.k2-site .k2-ms-recent-list-block::-webkit-scrollbar-track,
body.k2-site .k2-amiga-bracket__rounds::-webkit-scrollbar-track {
	background: var(--k2-scrollbar-track);
}

body.k2-site .k2-table-wrap::-webkit-scrollbar-thumb,
body.k2-site .k2-table-scroll-mirror::-webkit-scrollbar-thumb,
body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar-thumb,
body.k2-site .player-search-results::-webkit-scrollbar-thumb,
body.k2-site .k2-amiga-organizer-player-search__results::-webkit-scrollbar-thumb,
.activity-heatmap.activity-heatmap--scrolls::-webkit-scrollbar-thumb,
body.k2-site .pm3-cal--weeks .pm3-cal__week-grid::-webkit-scrollbar-thumb,
body.k2-site .k2-ms-recent-list-block::-webkit-scrollbar-thumb,
body.k2-site .k2-amiga-bracket__rounds::-webkit-scrollbar-thumb {
	background: var(--k2-scrollbar-thumb);
	border-radius: var(--k2-radius-sm);
}

body.k2-site .k2-table-wrap::-webkit-scrollbar-thumb:hover,
body.k2-site .k2-table-scroll-mirror::-webkit-scrollbar-thumb:hover,
body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar-thumb:hover,
body.k2-site .player-search-results::-webkit-scrollbar-thumb:hover,
body.k2-site .k2-amiga-organizer-player-search__results::-webkit-scrollbar-thumb:hover,
.activity-heatmap.activity-heatmap--scrolls::-webkit-scrollbar-thumb:hover,
body.k2-site .pm3-cal--weeks .pm3-cal__week-grid::-webkit-scrollbar-thumb:hover,
body.k2-site .k2-ms-recent-list-block::-webkit-scrollbar-thumb:hover,
body.k2-site .k2-amiga-bracket__rounds::-webkit-scrollbar-thumb:hover {
	background: var(--k2-scrollbar-thumb-hover);
}

body.k2-site .k2-player-games-controls {
	margin-top: 16px;
	margin-bottom: 12px;
	color: var(--k2-text-muted);
	font-size: 12px;
}

body.k2-site.k2-player-wing .k2-player-games-day-view {
	margin-top: 16px;
}

body.k2-site .k2-player-games-controls__meta {
	display: none;
}

body.k2-site .k2-player-games-controls__fields,
body.k2-site .k2-player-games-status,
body.k2-site .k2-player-games-status-stack,
body.k2-site .k2-player-games-table-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 6px 8px;
}

body.k2-site .k2-player-games-status,
body.k2-site .k2-player-games-table-meta {
	align-items: center;
	margin-bottom: 12px;
	font-size: 12px;
	line-height: 1.35;
	color: var(--k2-text-muted);
}

body.k2-site .k2-player-games-status-stack {
	display: block;
	margin-bottom: 12px;
}

body.k2-site .k2-player-games-context {
	font-size: 12px;
	line-height: 1.35;
	color: var(--k2-text-muted);
}

body.k2-site .k2-player-games-status-stack .k2-player-games-context + .k2-player-games-table-meta {
	margin-top: 8px;
	margin-bottom: 0;
}

body.k2-site .k2-player-games-table-meta .k2-realm-games-all__status-nav {
	margin-left: calc(-0.8 * var(--k2-realm-games-status-nav-btn-size));
}

body.k2-site .k2-player-games-day-view {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.k2-site .k2-player-games-day-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

body.k2-site .k2-player-games-filters-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

body.k2-site .k2-player-tournaments-table-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

body.k2-site .k2-player-tournaments-table-view {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.k2-site .k2-player-tournaments-table-scroll-pad {
	flex: 1 1 auto;
	min-height: 0;
	pointer-events: none;
}

/* Amiga table pages — scroll room below short TT-filtered tables (sticky ribbon) */
body.k2-site .k2-page-nav:has(.k2-amiga-time-travel--active) .k2-amiga-table-scroll-view {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.k2-site .k2-amiga-table-scroll-pad {
	flex: 1 1 auto;
	min-height: 0;
	pointer-events: none;
}

body.k2-site .k2-player-games-filter-view {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.k2-site .k2-player-games-filter-scroll-pad {
	flex: 1 1 auto;
	min-height: 0;
	pointer-events: none;
}

body.k2-site .k2-player-games-day-scroll-pad {
	flex: 1 1 auto;
	min-height: 0;
	pointer-events: none;
}

body.k2-site .k2-player-games-day-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 8px;
	width: 100%;
}

body.k2-site .k2-player-games-day-banner__sep {
	color: var(--k2-text-muted);
}

body.k2-site .k2-player-games-day-banner__lead {
	color: var(--k2-text-secondary);
	font-size: 12px;
	line-height: 1.4;
}

body.k2-site .k2-player-games-day-banner__count {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

body.k2-site .k2-player-games-day-banner__date {
	font-weight: 600;
}

body.k2-site .k2-player-games-day-steps {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

body.k2-site .k2-player-games-day-banner .k2-player-games-day-steps {
	gap: 14px;
}

body.k2-site .k2-amiga-history__controls {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel__bar .k2-amiga-history__controls {
	flex: 1 1 auto;
}

body.k2-site .k2-amiga-history__stepper {
	display: inline-flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
	gap: 0.75rem;
}

/* Snapshot stepper chevrons — tier-pill fill (milestone unlock filter pattern) */
body.k2-site .k2-amiga-history__stepper .k2-player-games-day-step {
	color: var(--k2-accent);
	background: color-mix(in srgb, var(--k2-accent) 14%, var(--k2-bg-elevated));
	border-color: color-mix(in srgb, var(--k2-accent) 42%, transparent);
}

body.k2-site .k2-amiga-history__stepper a.k2-player-games-day-step:hover,
body.k2-site .k2-amiga-history__stepper a.k2-player-games-day-step:focus-visible {
	color: var(--k2-accent);
	background: color-mix(in srgb, var(--k2-accent) 20%, var(--k2-bg-elevated));
	border-color: color-mix(in srgb, var(--k2-accent) 52%, transparent);
}

body.k2-site .k2-amiga-history__stepper .k2-player-games-day-step.is-disabled {
	opacity: 0.42;
	background: color-mix(in srgb, var(--k2-accent) 8%, var(--k2-bg-elevated));
	border-color: color-mix(in srgb, var(--k2-accent) 24%, var(--k2-border-subtle));
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__stepper--fixed-label {
	flex: 0 0 var(--k2-amiga-tt-stepper-width, 20rem);
	width: var(--k2-amiga-tt-stepper-width, 20rem);
	max-width: var(--k2-amiga-tt-stepper-width, 20rem);
	gap: 0.7rem 0.875rem;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__stepper--fixed-label .k2-amiga-history__label {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__stepper--fixed-label .k2-amiga-wc-podium-player {
	flex: 1 1 auto;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	overflow: hidden;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__stepper--fixed-label .k2-amiga-wc-podium-player .k2-amiga-history__label,
body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__stepper--fixed-label .k2-amiga-wc-podium-player .k2-amiga-history__label--link {
	flex: 0 1 auto;
	min-width: 0;
	max-width: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
}

body.k2-site .k2-amiga-history__label {
	flex: 0 1 auto;
	min-width: 10rem;
	max-width: 28rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
}

body.k2-site .k2-amiga-history__stepper--fixed-label a.k2-amiga-history__label--link {
	color: var(--k2-text-primary);
	text-decoration: none;
	text-underline-offset: 0.12em;
	transition: color 0.12s ease;
}

body.k2-site .k2-amiga-history__stepper--fixed-label a.k2-amiga-history__label--link:hover,
body.k2-site .k2-amiga-history__stepper--fixed-label a.k2-amiga-history__label--link:focus-visible {
	color: color-mix(in srgb, var(--k2-text-primary) 55%, #ffffff);
	text-decoration: underline;
}

body.k2-site .k2-amiga-history__controls .k2-player-games-controls.k2-amiga-history__picker {
	display: inline-flex;
	align-items: center;
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker {
	flex: 0 0 var(--k2-amiga-tt-picker-width, 18rem);
	width: var(--k2-amiga-tt-picker-width, 18rem);
	max-width: var(--k2-amiga-tt-picker-width, 18rem);
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox--ghost-sized {
	display: block;
	width: 100%;
	max-width: 100%;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__trigger {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__trigger--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.4rem;
	justify-content: stretch;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__trigger--split .k2-archive-listbox__label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__trigger-meta {
	justify-self: end;
	white-space: nowrap;
	color: var(--k2-text-muted);
	font-variant-numeric: tabular-nums;
	font-weight: 500;
}

body.k2-site .k2-amiga-history__controls .k2-player-games-controls.k2-amiga-history__as-with {
	display: inline-flex;
	align-items: center;
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-time-travel__filter-row {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
	flex: 0 1 auto;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-history__as-with {
	flex: 0 1 auto;
	width: auto;
	max-width: 14rem;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-history__as-with .k2-archive-listbox {
	width: auto;
	max-width: 100%;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-history__as-with .k2-archive-listbox__trigger {
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-history__picker .k2-archive-listbox__trigger.k2-link-star .k2-archive-listbox__label {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__trigger.k2-link-star .k2-archive-listbox__trigger-meta {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox--meta-options .k2-archive-listbox__option--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	justify-content: start;
	gap: 0.65rem;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox--meta-options .k2-archive-listbox__panel {
	width: var(--k2-amiga-tt-picker-width, 18rem);
	min-width: var(--k2-amiga-tt-picker-width, 18rem);
	max-width: min(var(--k2-amiga-tt-picker-width, 18rem), 92vw);
	right: 0;
	left: auto;
	box-sizing: border-box;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__option-label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.k2-site .k2-amiga-time-travel .k2-amiga-history__picker .k2-archive-listbox__option-meta.k2-link-star {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-amiga-time-travel--event-wing .k2-amiga-history__picker .k2-archive-listbox__option-meta {
	justify-self: end;
}

body.k2-site .k2-amiga-time-travel {
	/* Snapshot picker panel must stack above .k2-hub-bar (1210), below header (1300). */
	position: relative;
	z-index: 1220;
	margin: 0 0 0.75rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid color-mix(in srgb, var(--k2-border-subtle) 80%, transparent);
	border-radius: 0.5rem;
	background: var(--k2-bg-page);
}

/* TT ribbon sticky v1 — sticky on for all active as= pages (CD4); CSS position:sticky, top: 0 */
body.k2-site .k2-amiga-time-travel--active {
	position: sticky;
	top: 0;
	/* Stuck band (CD §4.2): header (1300) is off-screen when latch occurs */
	z-index: 1390;
}

body.k2-site .k2-amiga-time-travel--active.k2-amiga-time-travel--event-wing .k2-amiga-time-travel__bar {
	flex-wrap: wrap;
	row-gap: 0.65rem;
}

/* TT hash landings — 12px present-day gap + 55px stuck ribbon (carry-scroll restore reads this) */
body.k2-site:has(.k2-amiga-time-travel--active) :is(
	.k2-amiga-tournament-page-anchor,
	.k2-countries-scroll-anchor,
	.k2-lb-player-row-anchor,
	.k2-player-page-anchor,
	.k2-player-wing-nav-anchor,
	.k2-player-games-day-anchor,
	.k2-game-page-anchor,
	.k2-player-games-filters-anchor,
	.k2-player-tournaments-table-anchor
) {
	scroll-margin-top: 67px;
}

body.k2-site .k2-amiga-time-travel__bar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	min-width: 0;
}

body.k2-site .k2-amiga-time-travel__wings {
	flex: 0 0 auto;
}

body.k2-site .k2-amiga-time-travel__unwired {
	margin: 0.5rem 0 0;
	font-size: 0.88rem;
	color: var(--k2-text-muted);
}

/* Time travel temporal stamp — LED transmission below wordmark, above snapshot ribbon */
body.k2-site .k2-page-nav > .k2-amiga-tt-stamp {
	margin: 0 0 0.65rem;
	max-width: 100%;
}

body.k2-site .k2-amiga-tt-stamp {
	--k2-tt-stamp-glow: color-mix(in srgb, var(--k2-accent) 55%, transparent);
	position: relative;
	max-width: var(--k2-max-width);
	margin: 0 0 0.65rem;
	padding: 0.85rem 1.1rem 0.95rem;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--k2-border-subtle) 90%, var(--k2-accent) 10%);
	border-top: 2px solid color-mix(in srgb, var(--k2-accent) 72%, transparent);
	border-radius: var(--k2-radius-lg);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, var(--k2-accent) 10%, transparent) 0%,
			transparent 42%),
		linear-gradient(165deg, var(--k2-bg-elevated) 0%, var(--k2-bg-surface) 72%);
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--k2-text-primary) 6%, transparent),
		0 10px 28px color-mix(in srgb, var(--k2-bg-page) 55%, transparent);
}

body.k2-site .k2-amiga-tt-stamp::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: repeating-linear-gradient(
		180deg,
		color-mix(in srgb, var(--k2-accent) 4%, transparent) 0,
		color-mix(in srgb, var(--k2-accent) 4%, transparent) 1px,
		transparent 1px,
		transparent 3px
	);
	opacity: 0.35;
	mix-blend-mode: soft-light;
}

body.k2-site .k2-amiga-tt-stamp__kicker {
	position: relative;
	margin: 0 0 0.35rem;
	font-family: var(--k2-font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.14em;
	color: color-mix(in srgb, var(--k2-accent) 78%, var(--k2-text-secondary));
}

body.k2-site .k2-amiga-tt-stamp__prompt {
	color: color-mix(in srgb, var(--k2-accent) 92%, var(--k2-text-primary));
}

body.k2-site .k2-amiga-tt-stamp__clock {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.08em 0.18em;
	margin: 0;
	font-family: var(--k2-font-segment);
	font-size: clamp(2rem, 5.4vw, 3.35rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.06em;
	color: color-mix(in srgb, var(--k2-accent) 88%, var(--k2-text-primary));
	text-shadow:
		0 0 12px var(--k2-tt-stamp-glow),
		0 0 28px color-mix(in srgb, var(--k2-accent) 18%, transparent);
}

body.k2-site .k2-amiga-tt-stamp__segment {
	font-variant-numeric: tabular-nums;
}

/* DSEG7 period has zero advance width — pad so date fields do not collide. */
body.k2-site .k2-amiga-tt-stamp--sep-period .k2-amiga-tt-stamp__sep {
	padding-inline: 0.14em;
}

body.k2-site button.k2-amiga-tt-stamp__cursor {
	display: inline;
	margin-left: 0.12em;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-weight: 400;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
	vertical-align: baseline;
	cursor: pointer;
	opacity: 0.82;
	animation: k2-tt-stamp-cursor-blink 1.05s step-end infinite;
}

body.k2-site button.k2-amiga-tt-stamp__cursor:hover {
	opacity: 1;
}

body.k2-site .k2-amiga-tt-stamp__cursor-tip {
	max-width: min(240px, calc(100vw - 24px));
	white-space: nowrap;
}

body.k2-site .k2-amiga-tt-stamp__cursor-tip .k2-table-tooltip__body {
	margin-bottom: 0;
}

body.k2-site .k2-amiga-tt-stamp--cursor-static button.k2-amiga-tt-stamp__cursor {
	animation: none;
	opacity: 0.82;
}

/* Toggle entry: hidden from first paint until JS runs arrival (see k2-amiga-tt-stamp.js) */
body.k2-site .k2-amiga-tt-stamp--arrival-pending,
html.k2-tt-arrival-pending body.k2-site .k2-amiga-tt-stamp {
	opacity: 0;
	transform: translateY(5px);
}

body.k2-site .k2-amiga-tt-stamp--arrival-pending .k2-amiga-tt-stamp__kicker-text,
html.k2-tt-arrival-pending body.k2-site .k2-amiga-tt-stamp__kicker-text {
	visibility: hidden;
}

body.k2-site .k2-amiga-tt-stamp--arrival-pending.k2-amiga-tt-stamp--arrival,
body.k2-site .k2-amiga-tt-stamp--arrival {
	animation: k2-tt-stamp-arrive 320ms ease-out forwards;
}

body.k2-site .k2-amiga-tt-stamp--arrival-pending.k2-amiga-tt-stamp--arrival .k2-amiga-tt-stamp__kicker-text {
	visibility: visible;
}

/* Wing change: fade the LED clock only (opacity; no panel rise) */
body.k2-site .k2-amiga-tt-stamp--led-fade-pending .k2-amiga-tt-stamp__clock {
	opacity: 0;
}

body.k2-site .k2-amiga-tt-stamp--led-fade-pending.k2-amiga-tt-stamp--led-arrival .k2-amiga-tt-stamp__clock {
	animation: k2-tt-stamp-led-fade 1100ms ease-out forwards;
}

@keyframes k2-tt-stamp-cursor-blink {
	0%,
	49% {
		opacity: 0.82;
	}
	50%,
	100% {
		opacity: 0.12;
	}
}

@keyframes k2-tt-stamp-arrive {
	from {
		opacity: 0;
		transform: translateY(5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes k2-tt-stamp-led-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.k2-site button.k2-amiga-tt-stamp__cursor {
		animation: none;
		opacity: 0.82;
	}

	body.k2-site .k2-amiga-tt-stamp--arrival-pending,
	html.k2-tt-arrival-pending body.k2-site .k2-amiga-tt-stamp {
		opacity: 1;
		transform: none;
	}

	body.k2-site .k2-amiga-tt-stamp--arrival-pending .k2-amiga-tt-stamp__kicker-text,
	html.k2-tt-arrival-pending body.k2-site .k2-amiga-tt-stamp__kicker-text {
		visibility: visible;
	}

	body.k2-site .k2-amiga-tt-stamp--arrival-pending.k2-amiga-tt-stamp--arrival,
	body.k2-site .k2-amiga-tt-stamp--arrival {
		animation: none;
	}

	body.k2-site .k2-amiga-tt-stamp--led-fade-pending .k2-amiga-tt-stamp__clock {
		opacity: 1;
	}

	body.k2-site .k2-amiga-tt-stamp--led-fade-pending.k2-amiga-tt-stamp--led-arrival .k2-amiga-tt-stamp__clock {
		animation: none;
	}
}

body.k2-site .k2-player-games-day-step {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	line-height: 1;
	color: color-mix(in srgb, var(--k2-accent) 62%, var(--k2-text-secondary));
	background: color-mix(in srgb, var(--k2-accent) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--k2-accent) 32%, var(--k2-border-subtle));
	border-radius: calc(var(--k2-radius-md) - 2px);
	text-decoration: none;
	box-sizing: border-box;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}

body.k2-site a.k2-player-games-day-step:hover,
body.k2-site a.k2-player-games-day-step:focus-visible {
	color: color-mix(in srgb, var(--k2-accent) 74%, var(--k2-text-primary));
	border-color: var(--k2-segment-active-ring);
	background: color-mix(in srgb, var(--k2-accent) 12%, transparent);
	text-decoration: none;
}

body.k2-site .k2-player-games-day-step.is-disabled {
	opacity: 0.38;
	cursor: default;
}

body.k2-site .k2-player-games-day-step__chevron {
	display: block;
	width: 7px;
	height: 7px;
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	box-sizing: border-box;
	opacity: 0.92;
}

body.k2-site .k2-player-games-day-step--prev .k2-player-games-day-step__chevron {
	transform: rotate(45deg);
	margin-left: 2px;
}

body.k2-site .k2-player-games-day-step--next .k2-player-games-day-step__chevron {
	transform: rotate(-135deg);
	margin-right: 2px;
}

body.k2-site .k2-player-games-controls__field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 3px;
	min-width: 0;
}

body.k2-site .k2-player-games-controls .server-period-activity-leaderboard__picker-label {
	flex: 0 0 auto;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--k2-filter-field-label-color);
	margin: 0;
	line-height: 1.2;
	white-space: nowrap;
}

body.k2-site .k2-player-games-controls .k2-archive-listbox {
	flex: 0 1 auto;
	min-width: 0;
	width: 100%;
	max-width: min(14rem, 42vw);
}

body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger {
	width: 100%;
	max-width: 100%;
	min-height: calc(1.25em + 8px);
	padding: 4px 20px 4px 8px;
	font-size: 11px;
	line-height: 1.25;
	gap: 4px;
	background-position: right 6px center;
}

body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger.k2-link-star {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger.k2-link-star:hover,
body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger.k2-link-star:focus-visible {
	color: var(--k2-link-star-hover);
}

body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger.k2-link-star:focus:not(:focus-visible),
body.k2-site .k2-player-games-controls .k2-archive-listbox__trigger.k2-link-star:focus:hover:not(:focus-visible) {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-archive-listbox--meta-options .k2-archive-listbox__option--split {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: calc(1.35em + 10px);
}

body.k2-site .k2-player-games-controls .k2-archive-listbox--meta-options .k2-archive-listbox__panel {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	right: auto;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1.25;
}

/* TT ribbon with-player — panel wider than trigger; absolute overlay, no ribbon gap */
body.k2-site .k2-amiga-time-travel .k2-amiga-history__as-with .k2-archive-listbox--meta-options .k2-archive-listbox__panel {
	width: max-content;
	min-width: 100%;
	max-width: min(var(--k2-amiga-tt-as-with-panel-width, 14rem), 92vw);
}

body.k2-site .k2-archive-listbox--meta-options .k2-archive-listbox__option-label {
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site .k2-archive-listbox__option-label.k2-link-star {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-archive-listbox--meta-options .k2-archive-listbox__option-meta {
	flex: 0 0 auto;
	min-width: 3.25ch;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	text-align: right;
	color: var(--k2-text-muted);
	font-weight: 400;
}

body.k2-site .k2-player-games-action,
body.k2-site .k2-player-games-action:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 4px 10px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: 999px;
	background: transparent;
	color: var(--k2-text-muted);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}

body.k2-site .k2-player-games-action:hover,
body.k2-site .k2-player-games-action:focus-visible {
	color: var(--k2-text-secondary);
	border-color: var(--k2-border-strong);
	background: rgba(255, 255, 255, 0.035);
	text-decoration: none;
	outline: none;
}

/* Amiga player tournament history — chrome tab segments + listbox row (catalog index parity) */
body.k2-site .k2-amiga-player-tournaments-filters {
	--k2-player-tournaments-country-width: 9rem;
	--k2-player-tournaments-year-width: 6rem;
	--k2-player-tournaments-listbox-gap: 40px;
}

body.k2-site .k2-amiga-player-tournaments-filters .k2-amiga-player-tournaments-country-field {
	flex: 0 0 var(--k2-player-tournaments-country-width);
	width: var(--k2-player-tournaments-country-width);
	min-width: var(--k2-player-tournaments-country-width);
	max-width: var(--k2-player-tournaments-country-width);
}

body.k2-site .k2-amiga-player-tournaments-filters .k2-amiga-player-tournaments-year-field {
	flex: 0 0 var(--k2-player-tournaments-year-width);
	width: var(--k2-player-tournaments-year-width);
	min-width: var(--k2-player-tournaments-year-width);
	max-width: var(--k2-player-tournaments-year-width);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 var(--k2-nav-gap);
}

body.k2-site .k2-amiga-tournament-index-segment-filters {
	display: flex;
	flex-direction: column;
	width: fit-content;
	max-width: 100%;
}

/* Column segment stacks — margin between toggle rows only (filter-stack policy F2/F3). */
body.k2-site .k2-amiga-tournament-index-segment-filters:not(.k2-amiga-player-tournaments-segment-filters) > .k2-chrome-tabs.k2-amiga-tournament-index-tabs,
body.k2-site .k2-amiga-tournament-index-segment-filters:not(.k2-amiga-player-tournaments-segment-filters) > .k2-chrome-tabs.k2-amiga-player-tournaments-tabs {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-amiga-tournament-index-segment-filters:not(.k2-amiga-player-tournaments-segment-filters) > .k2-chrome-tabs:not(:last-child) {
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) > .k2-amiga-tournament-index-segment-filters {
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) > .k2-amiga-tournament-index-segment-filters:last-child {
	margin-bottom: 0;
}

/* Player tournament history — four segment toggles on one horizontal row. */
body.k2-site .k2-amiga-player-tournaments-segment-filters {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(var(--k2-nav-gap) * 2);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) > .k2-amiga-player-tournaments-segment-filters {
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-amiga-player-tournaments-segment-filters > .k2-chrome-tabs.k2-amiga-player-tournaments-tabs {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-player-games-filters .k2-player-games-filters-anchor {
	margin: 0;
}

body.k2-site .k2-player-games-filters .k2-player-games-controls {
	margin-top: 0;
	margin-bottom: 0;
	width: 100%;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-amiga-player-games-filter-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-amiga-player-games-filter-row {
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls__fields {
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls__field {
	flex: 0 0 auto;
	align-items: flex-start;
}

body.k2-site .k2-player-games-status__reset-sep {
	color: var(--k2-text-muted);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls .k2-archive-listbox--ghost-sized {
	display: inline-block;
	width: auto;
	max-width: 100%;
	vertical-align: bottom;
	align-self: flex-start;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls__field > .k2-archive-listbox--ghost-sized {
	width: auto !important;
	max-width: 100% !important;
}

/* Player tournament history — fixed listbox slots (override ghost auto-width above). */
body.k2-site .k2-amiga-player-tournaments-filters.k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls .k2-archive-listbox--ghost-sized {
	display: block;
	width: 100%;
	max-width: 100%;
	align-self: stretch;
}

body.k2-site .k2-amiga-player-tournaments-filters.k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls__field > .k2-archive-listbox--ghost-sized {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.k2-site .k2-amiga-player-tournaments-filters .k2-archive-listbox--ghost-sized .k2-archive-listbox__size-anchor {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	max-width: 100%;
}

body.k2-site .k2-amiga-player-tournaments-filters .k2-archive-listbox__trigger {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Listbox row — after shared player-games filter rules so gap/width win over 10px defaults. */
body.k2-site .k2-amiga-player-tournaments-filters.k2-player-games-filters:not(.k2-realm-games-filters) .k2-player-games-controls__fields.k2-amiga-player-games-filter-row.k2-amiga-player-tournaments-listbox-row {
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: var(--k2-player-tournaments-listbox-gap);
}

body.k2-site .k2-amiga-player-tournaments-filters.k2-player-games-filters:not(.k2-realm-games-filters) .k2-amiga-player-tournaments-country-field.k2-player-games-controls__field {
	flex: 0 0 var(--k2-player-tournaments-country-width);
	width: var(--k2-player-tournaments-country-width);
	min-width: var(--k2-player-tournaments-country-width);
	max-width: var(--k2-player-tournaments-country-width);
}

body.k2-site .k2-amiga-player-tournaments-filters.k2-player-games-filters:not(.k2-realm-games-filters) .k2-amiga-player-tournaments-year-field.k2-player-games-controls__field {
	flex: 0 0 var(--k2-player-tournaments-year-width);
	width: var(--k2-player-tournaments-year-width);
	min-width: var(--k2-player-tournaments-year-width);
	max-width: var(--k2-player-tournaments-year-width);
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__option--with-flag {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox--meta-options .k2-archive-listbox__option--with-flag.k2-archive-listbox__option--split {
	justify-content: flex-start;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__option-flag {
	flex: 0 0 auto;
	line-height: 0;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__option-flag .k2-amiga-country-flag-img {
	display: block;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__option--with-flag .k2-archive-listbox__option-label {
	flex: 1 1 auto;
	min-width: 0;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__panel {
	left: 0;
	right: auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__trigger.k2-link-star:focus:not(:focus-visible),
body.k2-site .k2-player-games-filters:not(.k2-realm-games-filters) .k2-archive-listbox__trigger.k2-link-star:focus:hover:not(:focus-visible) {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-player-games-filters .k2-player-games-controls .k2-archive-listbox:not(.k2-archive-listbox--ghost-sized) {
	max-width: none;
}

body.k2-site .k2-player-games-filters .k2-player-games-controls .k2-archive-listbox:not(.k2-archive-listbox--ghost-sized),
body.k2-site .k2-player-games-filters .k2-player-games-controls .k2-archive-listbox__trigger {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.k2-site .k2-player-games-filters .k2-player-games-action {
	flex: 0 0 auto;
	align-self: flex-end;
	padding: 4px 8px;
	min-height: 28px;
	font-size: 10px;
}

/* All games vault filters (`games/all.php`) */
body.k2-site .k2-amiga-realm-games-all-segment-filters {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--k2-nav-gap);
	width: fit-content;
	max-width: 100%;
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-amiga-realm-games-all-segment-filters .k2-chrome-tabs.k2-amiga-tournament-index-tabs {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-amiga-realm-games-all-filters > .k2-amiga-realm-games-all-segment-filters + .k2-realm-games-filters__form {
	margin-top: 0;
}

body.k2-site .k2-amiga-realm-games-all-filters .k2-realm-games-filters__row-label {
	flex: 0 0 5.5rem;
}

body.k2-site .k2-realm-games-filters {
	--k2-realm-games-filter-gap: 20px;
	--k2-realm-games-picker-width: 12rem;
	--k2-realm-games-score-width: 5.75rem;
	--k2-realm-games-year-width: 6.5rem;
	--k2-realm-games-year-mode-width: 7.7rem;
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-realm-games-all > .k2-realm-games-filters {
	margin-top: 28px;
}

body.k2-site .k2-realm-games-filters__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 10px 20px;
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-realm-games-filters__row:last-child {
	margin-bottom: 0;
}

body.k2-site .k2-realm-games-filters__row[hidden] {
	display: none !important;
}

body.k2-site .k2-realm-games-filters .k2-player-games-controls__field[hidden] {
	display: none !important;
}

body.k2-site .k2-realm-games-filters__row--pickers .k2-realm-games-filters__row-label {
	padding-bottom: 6px;
}

body.k2-site .k2-realm-games-filters__row-label {
	flex: 0 0 5.5rem;
	margin: 0;
	padding-bottom: 6px;
	color: var(--k2-text-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-player-games-controls__fields.k2-realm-games-filters__picker-fields,
body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-player-games-controls__fields.k2-realm-games-filters__score-fields,
body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-player-games-controls__fields.k2-realm-games-filters__year-fields {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	column-gap: var(--k2-realm-games-filter-gap);
	row-gap: 12px;
}

body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__picker-fields > .k2-player-games-controls__field {
	flex: 0 0 var(--k2-realm-games-picker-width);
	width: var(--k2-realm-games-picker-width);
	min-width: var(--k2-realm-games-picker-width);
	max-width: var(--k2-realm-games-picker-width);
}

body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__score-fields > .k2-player-games-controls__field {
	flex: 0 0 var(--k2-realm-games-score-width);
	width: var(--k2-realm-games-score-width);
	min-width: var(--k2-realm-games-score-width);
	max-width: var(--k2-realm-games-score-width);
}

body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__year-fields > .k2-player-games-controls__field:first-child {
	flex: 0 0 var(--k2-realm-games-year-width);
	width: var(--k2-realm-games-year-width);
	min-width: var(--k2-realm-games-year-width);
	max-width: var(--k2-realm-games-year-width);
}

body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__year-fields > .k2-player-games-controls__field:last-child {
	flex: 0 0 var(--k2-realm-games-year-mode-width);
	width: var(--k2-realm-games-year-mode-width);
	min-width: var(--k2-realm-games-year-mode-width);
	max-width: var(--k2-realm-games-year-mode-width);
}

body.k2-site .k2-realm-games-filters__picker-fields,
body.k2-site .k2-realm-games-filters__score-fields,
body.k2-site .k2-realm-games-filters__year-fields {
	margin-bottom: 0;
	flex: 0 0 auto;
	min-width: 0;
}

body.k2-site .k2-realm-games-filters__search-field .player-search {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: 100%;
}

body.k2-site .k2-realm-games-filters .player-search-label {
	display: block;
	margin: 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--k2-filter-field-label-color);
	line-height: 1.2;
	white-space: nowrap;
}

body.k2-site .k2-realm-games-filters__search-field .player-search-input {
	box-sizing: border-box;
	width: 100%;
	min-height: calc(1.35em + 8px);
	padding: 4px 10px;
	font-size: 12px;
	line-height: 1.35;
}

body.k2-site .k2-realm-games-filters__search-field .player-search-results {
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	max-width: none;
	margin: 2px 0 0;
}

body.k2-site .k2-realm-games-filters .k2-player-games-controls__fields {
	flex-wrap: nowrap;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox:not(.k2-archive-listbox--ghost-sized) {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox--ghost-sized {
	position: relative;
	display: inline-block;
	width: auto;
	max-width: 100%;
	vertical-align: bottom;
	align-self: flex-start;
}

body.k2-site .k2-realm-games-filters .k2-player-games-controls__field > .k2-archive-listbox--ghost-sized {
	width: auto !important;
	max-width: 100% !important;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: calc(1.35em + 8px);
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox__panel {
	left: 0;
	right: auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger.k2-link-star,
body.k2-site .k2-realm-games-filters .player-search-input.k2-link-star {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger.k2-link-star:hover,
body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger.k2-link-star:focus-visible {
	color: var(--k2-link-star-hover);
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger.k2-link-star:focus:not(:focus-visible),
body.k2-site .k2-realm-games-filters .k2-archive-listbox__trigger.k2-link-star:focus:hover:not(:focus-visible) {
	color: var(--k2-link-star);
	font-weight: 600;
}

body.k2-site .k2-archive-listbox__label:empty::before {
	content: '\00a0';
}

/* Ghost sizer — first-paint trigger width from longest option (SSR, no JS measure) */
body.k2-site .k2-archive-listbox--ghost-sized {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__size-anchor {
	display: inline-grid;
	grid-template-columns: minmax(0, max-content);
	max-width: 100%;
	vertical-align: top;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer {
	grid-area: 1 / 1;
	visibility: hidden;
	overflow: hidden;
	height: 0;
	white-space: nowrap;
	box-sizing: border-box;
	padding: 4px 24px 4px 8px;
	border: 1px solid transparent;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer--accent {
	font-weight: 600;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer--split {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 0;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer--split .k2-archive-listbox__option-meta {
	flex: 0 0 auto;
	min-width: 3.25ch;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

body.k2-site .k2-archive-listbox--ghost-sized .k2-archive-listbox__size-anchor > .k2-archive-listbox__trigger {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.k2-site .k2-player-games-controls .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer {
	padding: 4px 20px 4px 8px;
	font-size: 11px;
	line-height: 1.25;
}

body.k2-site .k2-realm-games-filters .k2-archive-listbox--ghost-sized .k2-archive-listbox__width-sizer {
	padding: 4px 24px 4px 8px;
	font-size: 12px;
	line-height: 1.35;
}

@media (max-width: 720px) {
	body.k2-site .k2-realm-games-filters__row--stack-narrow {
		flex-wrap: wrap;
	}

	body.k2-site .k2-realm-games-filters__row--stack-narrow .k2-realm-games-filters__row-label {
		flex: 1 1 100%;
		padding-bottom: 0;
	}

	body.k2-site .k2-realm-games-filters__row--pickers .k2-realm-games-filters__picker-fields,
	body.k2-site .k2-realm-games-filters__row--stack-narrow .k2-realm-games-filters__score-fields,
	body.k2-site .k2-realm-games-filters__row--stack-narrow .k2-realm-games-filters__year-fields {
		flex-wrap: wrap;
		row-gap: 14px;
		width: 100%;
	}

	body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__picker-fields > .k2-player-games-controls__field,
	body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__score-fields > .k2-player-games-controls__field,
	body.k2-site .k2-player-games-filters.k2-realm-games-filters .k2-realm-games-filters__year-fields > .k2-player-games-controls__field {
		flex: 1 1 calc(50% - (var(--k2-realm-games-filter-gap) / 2));
		width: auto;
		min-width: min(100%, var(--k2-realm-games-picker-width));
		max-width: none;
	}
}

/* All games vault status row (`games/all.php`) */
body.k2-site .k2-realm-games-all__status {
	--k2-realm-games-status-text-width: 18rem;
	--k2-realm-games-status-range-gap: 12px;
	--k2-realm-games-status-reset-gap: 60px;
	--k2-realm-games-status-nav-btn-size: 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--k2-realm-games-status-reset-gap);
}

body.k2-site .k2-realm-games-all__status-range {
	display: inline-flex;
	align-items: center;
	gap: var(--k2-realm-games-status-range-gap);
	flex: 0 1 auto;
	min-width: 0;
}

body.k2-site .k2-realm-games-all__status-text {
	flex: 0 0 var(--k2-realm-games-status-text-width);
	width: var(--k2-realm-games-status-text-width);
	max-width: 100%;
	font-variant-numeric: tabular-nums;
}

body.k2-site .k2-realm-games-all__status-nav {
	flex: 0 0 auto;
	gap: calc(var(--k2-realm-games-status-nav-btn-size) / 2);
	margin-left: calc(-1.8 * var(--k2-realm-games-status-nav-btn-size));
}

body.k2-site .k2-realm-games-all__status-range:not(:has(.k2-realm-games-all__status-text)) .k2-realm-games-all__status-nav {
	margin-left: 0;
}

/* Accent fill Reset pill — profile played-days year picker active state; player games + All games */
body.k2-site a.k2-player-games-reset,
body.k2-site a.k2-player-games-reset:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 28px;
	padding: 6px 12px;
	border: 1px solid color-mix(in srgb, var(--k2-accent) 42%, transparent);
	border-radius: calc(var(--k2-radius-md) - 2px);
	background: color-mix(in srgb, var(--k2-accent) 14%, var(--k2-bg-elevated));
	color: var(--k2-segment-active-text);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}

body.k2-site a.k2-player-games-reset:hover,
body.k2-site a.k2-player-games-reset:focus-visible {
	color: var(--k2-segment-active-text);
	border-color: color-mix(in srgb, var(--k2-accent) 55%, transparent);
	background: color-mix(in srgb, var(--k2-accent) 20%, var(--k2-bg-elevated));
	text-decoration: none;
	outline: none;
}

body.k2-site a.k2-player-games-reset.is-idle,
body.k2-site a.k2-player-games-reset.is-idle:visited {
	border-color: color-mix(in srgb, var(--k2-text-muted) 22%, transparent);
	background: transparent;
	color: var(--k2-text-muted);
	font-weight: 500;
	cursor: default;
	pointer-events: none;
}

body.k2-site a.k2-player-games-reset.is-idle:hover,
body.k2-site a.k2-player-games-reset.is-idle:focus-visible {
	color: var(--k2-text-muted);
	border-color: color-mix(in srgb, var(--k2-text-muted) 22%, transparent);
	background: transparent;
}

@media (max-width: 520px) {
	body.k2-site .k2-realm-games-all__status-range {
		flex: 1 1 100%;
	}

	body.k2-site .k2-realm-games-all__status-text {
		flex: 1 1 auto;
		width: auto;
	}
}

/* Player games (`individual3.php`): calm secondary body; keep win/loss blue/red; sort column pops */
body.k2-site .k2-table.k2-table--player-games.k2-table--calm-stats tbody td:not(.k2-table-col-sorted) {
	color: var(--k2-text-secondary);
}

/* Amiga player games — +2px vertical body padding (7px vs default 5px) */
body.k2-site[data-realm="amiga"] .k2-table--player-games tbody td {
	padding-top: 7px;
	padding-bottom: 7px;
}

/* Amiga hero games: short event-day dates — shrink date col, drop legacy datetime gap before Team A. */
body.k2-site[data-realm="amiga"] .k2-table--player-games .k2-amiga-player-games-date {
	white-space: nowrap;
	width: 1%;
	padding-right: 8px;
}

body.k2-site .k2-table.k2-table--player-games.k2-table--calm-stats tbody td.k2-table-col-sorted {
	color: var(--k2-text-primary);
	font-weight: 600;
}

/* Quiet date — muted on default Date sort only (after calm-stats col-sorted rules) */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-table-col-quiet-date,
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-table-col-quiet-date.k2-table-col-sorted {
	color: var(--k2-text-secondary);
	font-weight: inherit;
}

/* Perf-rating LB — Perf. column .blue uses stat green, not anchor link-star ink (Best · Top 100 · Perfect ∞) */
body.k2-site .k2-table.k2-table--perf-rating-lb.k2-table--calm-stats.ranked-pages-table tbody td.k2-table-anchor-cell .blue,
body.k2-site .k2-table.k2-table--perf-rating-lb.k2-table--calm-stats.ranked-pages-table tbody td .blue {
	color: var(--k2-table-positive);
	font-weight: 600;
}

body.k2-site .k2-table.k2-table--player-games.k2-table--calm-stats tbody td.k2-table-col-sorted .blue,
body.k2-site .k2-table.k2-table--player-games.k2-table--calm-stats tbody td.k2-table-col-sorted .red,
body.k2-site .k2-table.k2-table--player-matchup.k2-table--calm-stats tbody td.k2-table-col-sorted .blue,
body.k2-site .k2-table.k2-table--player-matchup.k2-table--calm-stats tbody td.k2-table-col-sorted .red {
	font-weight: 700;
}



/* â”€â”€ Player sub-nav â”€â”€ */
.k2-player-nav-bar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 var(--k2-nav-gap);
	box-sizing: border-box;
}

.k2-player-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.k2-player-nav__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}

body.k2-site a.k2-player-nav__btn {
	display: inline-block;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: calc(var(--k2-radius-md) - 2px);
	background: transparent;
	color: var(--k2-text-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

body.k2-site a.k2-player-nav__btn:visited {
	color: var(--k2-text-muted);
}

body.k2-site a.k2-player-nav__btn:hover:not(.is-active) {
	color: var(--k2-text-secondary);
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none;
}

body.k2-site a.k2-player-nav__btn.is-active,
body.k2-site a.k2-player-nav__btn.is-active:visited {
	color: var(--k2-segment-active-text);
	background: transparent;
	border-color: var(--k2-segment-active-ring);
	box-shadow: none;
}

body.k2-site a.k2-player-nav__btn.is-active:hover {
	color: var(--k2-segment-active-text);
	background: transparent;
	text-decoration: none;
}

/* Opponents wing — inner nav owns gap to table (Pattern B wrapper) */
body.k2-site .k2-chrome-tabs.k2-player-opponents {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-player-opponents__nav {
	width: fit-content;
	max-width: 100%;
	margin-bottom: var(--k2-nav-gap);
}

body.k2-site .k2-player-opponents__nav-row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(var(--k2-nav-gap) * 2);
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-player-opponents__wings,
body.k2-site .k2-player-opponents__grain {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-player-opponents__wings .k2-chrome-tabs__bar,
body.k2-site .k2-player-opponents__grain-bar {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-player-opponents__country-placeholder {
	margin-top: 0;
}

body.k2-site .k2-player-opponents__bar {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-player-opponents > .k2-table-wrap {
	margin-top: 0;
}

body.k2-site .k2-player-opponents:has(.k2-player-opponents-h2h) .k2-player-opponents__nav {
	margin-bottom: 20px;
}

body.k2-site .k2-player-opponents-h2h {
	--k2-h2h2-blue: var(--k2-pure-chrome);
	--k2-h2h2-chrome-muted: rgba(100, 181, 246, 0.14);
	--k2-h2h2-chrome-ring: color-mix(in srgb, var(--k2-pure-chrome) 55%, transparent);
	--k2-h2h2-red: var(--k2-table-negative);
	--k2-h2h2-red-muted: rgba(240, 98, 146, 0.14);
	margin-top: 0;
}

/* Rivalry band — subject side locked to chrome (wing hero keeps picked tint). */
body.k2-site .k2-player-opponents-h2h .blue {
	color: var(--k2-h2h2-blue);
}

body.k2-site .k2-player-opponents-h2h__pickers {
	--k2-h2h-picker-width: min(14rem, 42vw);
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 6px 8px;
	margin-top: 0;
	margin-bottom: clamp(28px, 4vw, 44px);
	color: var(--k2-text-muted);
	font-size: 12px;
}

body.k2-site .k2-player-opponents-h2h__search,
body.k2-site .k2-player-opponents-h2h__listbox-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 3px;
	flex: 0 1 var(--k2-h2h-picker-width);
	width: var(--k2-h2h-picker-width);
	max-width: 100%;
	min-width: 0;
}

body.k2-site .k2-player-opponents-h2h__search {
	min-width: min(100%, 9.5rem);
}

body.k2-site .k2-player-opponents-h2h__listbox-wrap {
	min-width: min(100%, 9.5rem);
}

/* H2H picker labels — match player Games tab filters */
body.k2-site .k2-player-opponents-h2h__pickers .player-search-label,
body.k2-site .k2-player-opponents-h2h__select-label {
	display: block;
	margin: 0;
	flex: 0 0 auto;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--k2-filter-field-label-color);
	line-height: 1.2;
	white-space: nowrap;
}

body.k2-site .k2-player-opponents-h2h__search-input {
	box-sizing: border-box;
	width: 100%;
	min-height: calc(1.25em + 8px);
	padding: 4px 8px;
	font-size: 11px;
	line-height: 1.25;
}

body.k2-site .k2-player-opponents-h2h__search-input:focus,
body.k2-site .k2-player-opponents-h2h__search-input:focus-visible {
	outline: none;
	border-color: var(--k2-h2h2-red);
	box-shadow: 0 0 0 2px var(--k2-h2h2-red-muted);
}

body.k2-site .k2-player-opponents-h2h__search-results {
	width: 100%;
	max-width: none;
}

body.k2-site .k2-player-opponents-h2h__listbox-wrap .k2-archive-listbox,
body.k2-site .k2-player-opponents-h2h__listbox-wrap .k2-archive-listbox__trigger {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-archive-listbox__trigger {
	width: 100%;
	max-width: 100%;
	min-height: calc(1.25em + 8px);
	padding: 4px 20px 4px 8px;
	font-size: 11px;
	line-height: 1.25;
	gap: 4px;
	background-position: right 6px center;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-archive-listbox__label--placeholder {
	color: var(--k2-text-muted);
	font-weight: 400;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-archive-listbox__label:not(.k2-archive-listbox__label--placeholder) {
	color: var(--k2-table-negative);
	font-weight: 700;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-archive-listbox__panel {
	font-size: 11px;
	line-height: 1.25;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-archive-listbox__option {
	font-size: 11px;
	font-weight: 500;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-h2h-listbox__option {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-h2h-listbox__name {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--k2-text-secondary);
	font-weight: 500;
}

body.k2-site .k2-player-opponents-h2h__listbox .k2-h2h-listbox__meta {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: inherit;
	font-variant-numeric: tabular-nums;
	color: var(--k2-text-muted);
	font-weight: 400;
}

/* H2H rivalry pickers — chrome focus/hover (not page tint). */
body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__trigger:focus-visible {
	border-color: var(--k2-h2h2-chrome-ring);
	background-color: color-mix(in srgb, var(--k2-bg-surface) 82%, var(--k2-h2h2-chrome-muted));
}

body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option:hover,
body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option:focus-visible {
	background-color: var(--k2-h2h2-chrome-muted);
}

body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option.is-selected,
body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option[aria-selected="true"] {
	background-color: color-mix(in srgb, var(--k2-h2h2-chrome-muted) 65%, transparent);
}

body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option.is-selected:hover,
body.k2-site .k2-player-opponents-h2h .k2-archive-listbox__option[aria-selected="true"]:hover {
	background-color: var(--k2-h2h2-chrome-muted);
}

body.k2-site .k2-player-opponents-h2h__stage {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	overflow: visible;
}

body.k2-site .k2-player-opponents-h2h__stage:has(.k2-player-opponents-h2h__prompt),
body.k2-site .k2-player-opponents-h2h__stage:has(.k2-player-opponents-h2h__empty) {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
	box-shadow: none;
}

body.k2-site .k2-player-opponents-h2h__prompt {
	margin: 0;
}

body.k2-site .k2-player-opponents-h2h__empty {
	margin: 0;
	color: var(--k2-text-secondary);
	font-size: 15px;
	line-height: 1.5;
}

body.k2-site .player-search-results .player-search-group {
	padding: 6px 10px 4px;
	color: var(--k2-text-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.k2-site .k2-player-opponents-h2h__search-option {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.65em;
	width: 100%;
	margin: 0;
	padding: 5px 8px;
	min-height: 1.35em;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--k2-border-subtle);
	background-color: var(--k2-bg-elevated);
	color: var(--k2-link);
	font: inherit;
	font-size: inherit;
	font-weight: normal;
	text-align: left;
	cursor: pointer;
}

body.k2-site .k2-player-opponents-h2h__search-results li:last-child .k2-player-opponents-h2h__search-option {
	border-bottom: none;
}

body.k2-site .k2-player-opponents-h2h__search-option:hover,
body.k2-site .k2-player-opponents-h2h__search-option:focus-visible {
	background-color: var(--k2-h2h2-chrome-muted);
	outline: none;
}

body.k2-site .k2-player-opponents-h2h__search-option .player-search-name {
	color: var(--k2-text-primary);
}

body.k2-site .k2-player-opponents-h2h__search-option:hover .player-search-name,
body.k2-site .k2-player-opponents-h2h__search-option:focus-visible .player-search-name {
	color: var(--k2-text-primary);
}

/* â”€â”€ Player hero scaffold â”€â”€ */
body.k2-site .k2-player-page-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

body.k2-site .k2-player-wing-nav-anchor {
	height: 0;
	scroll-margin-top: 12px;
}

.k2-player-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
	padding: 0;
	--k2-player-hero-glow-side: var(--k2-accent);
	border: 2px solid var(--k2-player-hero-glow-side);
	border-radius: var(--k2-radius-lg);
	background: var(--k2-bg-surface);
	box-shadow:
		0 0 12px color-mix(in srgb, var(--k2-player-hero-glow-side) 28%, transparent),
		0 0 28px color-mix(in srgb, var(--k2-player-hero-glow-side) 18%, transparent),
		0 0 52px color-mix(in srgb, var(--k2-player-hero-glow-side) 8%, transparent),
		0 0 20px color-mix(in srgb, var(--k2-player-hero-glow-side) 38%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--k2-player-hero-glow-side) 12%, transparent);
}

body.k2-site .k2-player-hero.k2-player-hero--feast {
	width: fit-content;
	max-width: 100%;
}

body.k2-site.k2-player-wing .k2-hub-bar {
	margin-bottom: var(--k2-player-hero-chrome-gap);
}

body.k2-site.k2-player-wing .k2-player-hero {
	margin-left: var(--k2-player-hero-glow-inset);
	margin-bottom: var(--k2-player-hero-chrome-gap);
}

body.k2-site .k2-player-hero.k2-player-hero--feast .k2-player-hero__inner {
	grid-template-columns: auto max-content;
	width: max-content;
	max-width: 100%;
}

.k2-player-hero__inner {
	--k2-player-hero-avatar-air: 32px;
	display: grid;
	grid-template-columns: auto 1fr;
	/* centre the avatar against the name/stats block (was top-aligned via the
	   default stretch, which made the ring look lifted) */
	align-items: center;
	column-gap: var(--k2-player-hero-avatar-air);
	row-gap: 20px;
	padding: 20px;
	padding-left: var(--k2-player-hero-avatar-air);
}

.k2-player-hero__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border: 2px solid var(--k2-accent);
	border-radius: 50%;
	background: var(--k2-bg-surface);
	color: var(--k2-accent);
	font-family: var(--k2-font-display);
	font-size: 28px;
	font-weight: 700;
	box-shadow:
		0 0 10px color-mix(in srgb, var(--k2-accent) 34%, transparent),
		0 0 22px color-mix(in srgb, var(--k2-accent) 15%, transparent),
		0 0 calc(var(--k2-accent-glow-blur) * var(--k2-glow-strength)) var(--k2-accent-glow);
}

body.k2-site a.k2-player-hero__avatar-link,
body.k2-site a.k2-player-hero__avatar-link:visited,
body.k2-site a.k2-player-hero__avatar-link:hover,
body.k2-site a.k2-player-hero__avatar-link:active,
body.k2-site a.k2-player-hero__avatar-link:focus {
	text-decoration: none;
	cursor: pointer;
}

.k2-amiga-country-flag-img {
	display: block;
	width: 20px;
	height: 15px;
	border-radius: 2px;
	vertical-align: top;
}

/* Inline prose — host flag before entity link in running text (chart peak copy, etc.). */
.k2-amiga-inline-flag-text {
	white-space: nowrap;
	margin-left: 0.45em;
}

.k2-amiga-inline-flag-text .k2-country-roster-link {
	display: inline;
	vertical-align: baseline;
	margin-right: 0.15em;
	text-decoration: none;
	line-height: inherit;
}

.k2-amiga-inline-flag-text .k2-amiga-country-flag-img--text {
	display: inline-block;
	width: 16px;
	height: 12px;
	vertical-align: baseline;
	border-radius: 2px;
}

.k2-amiga-inline-flag-text .k2-link-star {
	vertical-align: baseline;
}

/* Block img in centered cells — inline-block link so text-align: center takes effect. */
body.k2-site .k2-table td.k2-table-cell--center > a.k2-country-roster-link {
	display: inline-block;
	line-height: 0;
}

.k2-country-hero--feast {
	position: relative;
	overflow: hidden;
	margin-bottom: var(--k2-nav-gap);
	padding: 0;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-lg);
	background: var(--k2-bg-surface);
	box-shadow: var(--k2-shadow-surface);
}

.k2-country-hero--feast .k2-country-hero__inner {
	--k2-player-hero-avatar-air: 32px;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: var(--k2-player-hero-avatar-air);
	row-gap: 20px;
	padding: 20px;
	padding-left: var(--k2-player-hero-avatar-air);
}

.k2-country-hero__media {
	flex-shrink: 0;
	line-height: 0;
	align-self: start;
	margin-top: 3px;
}

.k2-country-hero__body {
	min-width: 0;
	margin-top: -7px;
}

.k2-country-hero__flag {
	display: block;
	width: 124px;
	height: 93px;
	border-radius: var(--k2-radius-sm);
	overflow: hidden;
}

.k2-country-hero__flag-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.k2-country-hero__flag--text {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	font-family: var(--k2-font-display);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--k2-accent);
	background: var(--k2-bg-elevated);
}

body.k2-site a.k2-country-hero__flag-link,
body.k2-site a.k2-country-hero__flag-link:visited,
body.k2-site a.k2-country-hero__flag-link:hover,
body.k2-site a.k2-country-hero__flag-link:active,
body.k2-site a.k2-country-hero__flag-link:focus {
	text-decoration: none;
	cursor: pointer;
}

.k2-country-hero__name {
	margin: 0 0 12px;
	font-family: var(--k2-font-display);
	font-size: 32px;
	font-weight: 600;
	color: var(--k2-link-star);
}

body.k2-site .k2-country-hero--feast .k2-country-hero__name a.k2-link-star,
body.k2-site .k2-country-hero--feast .k2-country-hero__name a.k2-link-star:visited,
body.k2-site .k2-country-hero--feast .k2-country-hero__name a.k2-link-star:hover,
body.k2-site .k2-country-hero--feast .k2-country-hero__name a.k2-link-star:focus-visible {
	font: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.k2-country-hero--feast .k2-player-hero__stat {
	align-items: center;
}

.k2-country-hero--feast .k2-player-hero__stat-label {
	display: block;
	width: 100%;
	text-align: center;
}

.k2-country-hero--feast .k2-player-hero__stat-value {
	justify-content: center;
	width: 100%;
}

.k2-country-hero__stat--medal {
	min-width: 0;
}

.k2-player-hero__medals {
	display: flex;
	align-items: flex-start;
	margin-left: 20px;
	margin-right: 15px;
	width: calc(var(--k2-player-hero-medal-count, 1) * 60px);
}

.k2-player-hero__medals > .k2-country-hero__stat--medal {
	flex: 1 1 0;
	min-width: 0;
}

.k2-country-hero__medal-label {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: calc(11px * 1.25);
}

.k2-country-hero--feast .k2-amiga-wc-podium-th--metal-only {
	display: inline-flex;
	align-items: flex-end;
	line-height: 1.25;
}

.k2-country-hero--feast .k2-amiga-wc-podium-th--metal-only .k2-amiga-wc-podium-th__metal {
	font-size: 11px;
	line-height: 1.25;
}

.k2-player-hero--feast .k2-amiga-wc-podium-th--metal-only {
	display: inline-flex;
	align-items: flex-end;
	line-height: 1.25;
}

.k2-player-hero--feast .k2-amiga-wc-podium-th--metal-only .k2-amiga-wc-podium-th__metal {
	font-size: 11px;
	line-height: 1.25;
}

.k2-country-hero__medal-value {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: var(--k2-player-hero-value-min-h);
	font-family: var(--k2-font-display);
	font-size: var(--k2-player-hero-value-size);
	font-weight: 700;
	line-height: var(--k2-player-hero-value-line);
	font-variant-numeric: tabular-nums;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.k2-country-hero__medal-value--gold {
	background-image: linear-gradient(165deg, #fff9e6 0%, #ffe566 36%, #d4af37 70%, #8b6914 100%);
	filter: drop-shadow(0 1px 2px rgba(92, 69, 8, 0.45));
}

.k2-country-hero__medal-value--silver {
	background-image: linear-gradient(165deg, #ffffff 0%, #eef2f6 34%, #b8c4ce 68%, #6b7a86 100%);
	filter: drop-shadow(0 1px 2px rgba(61, 72, 82, 0.4));
}

.k2-country-hero__medal-value--bronze {
	background-image: linear-gradient(165deg, #ffe8d6 0%, #e8a87c 36%, #cd7f32 70%, #7a4a1f 100%);
	filter: drop-shadow(0 1px 2px rgba(74, 44, 18, 0.4));
}

body.k2-site a.k2-country-roster-link,
body.k2-site a.k2-country-roster-link:visited,
body.k2-site a.k2-country-roster-link:hover,
body.k2-site a.k2-country-roster-link:active,
body.k2-site a.k2-country-roster-link:focus {
	text-decoration: none;
	color: inherit;
}

.k2-player-hero__name {
	margin: 0 0 8px;
	transform: translateY(-2px);
	font-family: var(--k2-font-display);
	font-size: 24px;
	font-weight: 600;
	color: var(--k2-link-star);
}

.k2-player-hero__name .k2-amiga-wc-podium-player {
	gap: 8px;
}

.k2-player-hero__name .k2-amiga-wc-podium-player .k2-country-roster-link {
	margin-top: 2px;
}

.k2-player-hero__name .k2-amiga-country-flag-img {
	width: 24px;
	height: 18px;
	border-radius: 2px;
}

body.k2-site a.k2-player-hero__name-link,
body.k2-site a.k2-player-hero__name-link:visited,
body.k2-site a.k2-player-hero__name-link:hover,
body.k2-site a.k2-player-hero__name-link:active,
body.k2-site a.k2-player-hero__name-link:focus,
body.k2-site a.k2-player-hero__stat-link,
body.k2-site a.k2-player-hero__stat-link:visited,
body.k2-site a.k2-player-hero__stat-link:hover,
body.k2-site a.k2-player-hero__stat-link:active,
body.k2-site a.k2-player-hero__stat-link:focus {
	font: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	text-shadow: inherit;
	cursor: pointer;
}

.k2-player-hero__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 16px 24px;
	--k2-player-hero-value-size: 20px;
	--k2-player-hero-value-line: 1.2;
	--k2-player-hero-value-min-h: calc(var(--k2-player-hero-value-size) * var(--k2-player-hero-value-line));
}

.k2-player-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.k2-player-hero__stat-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--k2-text-muted);
	line-height: 1.25;
}

.k2-player-hero__stat-value {
	display: flex;
	align-items: flex-end;
	min-height: var(--k2-player-hero-value-min-h);
	font-family: var(--k2-font-display);
	font-size: var(--k2-player-hero-value-size);
	font-weight: 600;
	line-height: var(--k2-player-hero-value-line);
	font-variant-numeric: tabular-nums;
	/* base = muted supporting stats (e.g. Country); Rank/Rating/Games/Milestones
	   re-accented to link-star by player-hero-rank.css (loaded globally) */
	color: var(--k2-text-secondary);
}

.k2-player-hero__stat-value--accent {
	color: var(--k2-accent);
}

.k2-player-hero__stat--milestones {
	min-width: 0;
}

.k2-player-hero__stat-value--milestones {
	padding: 0;
}

.k2-player-hero--feast .k2-player-hero__stat {
	align-items: center;
}

.k2-player-hero--feast .k2-player-hero__stat-label {
	width: 100%;
	text-align: center;
}

.k2-player-hero--feast .k2-player-hero__stat-value {
	justify-content: center;
	width: 100%;
}

/* muted base stats (e.g. Country) brighten on hover; accented stats keep link-star */
body.k2-site .k2-player-hero__stat-value:not([class*="--"]) a.k2-player-hero__stat-link:hover,
body.k2-site .k2-player-hero__stat-value:not([class*="--"]) a.k2-player-hero__stat-link:focus {
	color: var(--k2-text-primary);
}

/* Rank + rating glow: stylesheets/player-hero-rank.css (via k2_head.php) */

/* â”€â”€ Status cards + heritage â”€â”€ */
.k2-heritage-box {
	flex: 0 0 auto;
	width: 156px;
	padding: 10px 10px 8px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.04) 0%, var(--k2-bg-surface) 55%);
	box-shadow: var(--k2-shadow-surface);
	text-align: center;
}

.k2-heritage-box__art {
	display: block;
	width: 100%;
	max-width: 132px;
	height: auto;
	margin: 0 auto;
	border-radius: 2px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

.k2-heritage-box__caption {
	margin: 8px 0 0;
	font-size: 11px;
	font-weight: 600;
	color: var(--k2-text-primary);
	line-height: 1.35;
}

.k2-card {
	margin-bottom: 16px;
	padding: 16px 18px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

/* â”€â”€ Play & setup (join.php) â”€â”€ */
.k2-join-page {
	--k2-join-read-width: 40rem;
	max-width: var(--k2-max-width);
	margin: 0 auto;
	padding: 8px 0 32px;
}

.k2-join-page__hero,
.k2-join-page__card,
.k2-join-page__video-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--k2-join-read-width);
	margin-left: auto;
	margin-right: auto;
}

.k2-join-page__hero {
	margin-bottom: 24px;
}

.k2-join-page__title {
	margin: 0 0 12px;
	font-family: var(--k2-font-display);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--k2-text-primary);
}

.k2-join-page__card {
	margin-bottom: 16px;
}

.k2-join-page__prose {
	margin: 0 0 12px;
	font-size: 15.5px;
	line-height: 1.66;
	color: var(--k2-text-secondary);
	text-wrap: pretty;
}

.k2-join-page__prose:last-child {
	margin-bottom: 0;
}

.k2-join-page__steps {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 15.5px;
	line-height: 1.66;
	color: var(--k2-text-secondary);
}

.k2-join-page__steps li {
	margin-bottom: 12px;
}

.k2-join-page__steps li:last-child {
	margin-bottom: 0;
}

.k2-join-page__link-list {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 15.5px;
	line-height: 1.66;
	color: var(--k2-text-secondary);
}

.k2-join-page__link-list li {
	margin-bottom: 8px;
}

.k2-join-page__signoff {
	margin-top: 16px;
	font-weight: 600;
}

.k2-join-page__steps .k2-join-page__link-list {
	margin-top: 8px;
	margin-bottom: 8px;
}

.k2-join-page__video-wrap {
	margin-bottom: 0;
	padding: 0;
	overflow: hidden;
}

.k2-join-page__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
}

.k2-join-page__video-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* —— Amiga News room (present landing) —— */
.k2-amiga-news-room {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 0 32px;
}

.k2-amiga-news-room__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
	gap: 10px 24px;
	align-items: start;
}

.k2-amiga-news-room__roll {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.k2-amiga-news-room__roll > .k2-card {
	margin-bottom: 12px;
}

.k2-amiga-news-room__roll > .k2-card:last-child {
	margin-bottom: 0;
}

.k2-amiga-news-room__empty {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--k2-text-muted);
}

.k2-amiga-news-room__pulse {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.k2-news-post__head {
	margin-bottom: 10px;
	max-width: 40rem;
}

.k2-news-post__title {
	margin: 0 0 6px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--k2-text-primary);
}

.k2-news-post__meta {
	margin: 0 0 10px;
	font-size: 12px;
	line-height: 1.35;
	color: var(--k2-text-muted);
}

.k2-news-post__date {
	display: inline;
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.k2-news-post__meta-sep {
	color: var(--k2-text-muted);
}

.k2-news-post__author {
	color: var(--k2-text-muted);
}

.k2-news-post__prose {
	margin: 0 0 12px;
	max-width: 40rem;
	font-size: 15.5px;
	line-height: 1.66;
	color: var(--k2-text-secondary);
	text-wrap: pretty;
}

.k2-news-post__prose:last-child {
	margin-bottom: 0;
}

.k2-news-post__figure {
	margin: 0 0 14px;
}

.k2-news-post__figure video {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: #000;
}

.k2-news-post__figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
}

.k2-news-post__figure figcaption {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--k2-text-muted);
}

.k2-news-post__figure figcaption a {
	color: var(--k2-link);
}

.k2-amiga-news-pulse__panel {
	margin: 0;
}

/* Pulse heritage art — same inset frame as Status; landscape photo fill */
.k2-amiga-news-pulse__panel--art {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.k2-amiga-news-pulse__panel--art .k2-status-heritage-inset--scene {
	min-height: 0;
	aspect-ratio: 4 / 3;
	width: 100%;
}

.k2-amiga-news-pulse__panel .k2-status-panel__empty {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--k2-text-muted);
}

.k2-amiga-news-pulse__link {
	margin: 0;
	font-size: 12px;
}

.k2-amiga-news-pulse__links {
	margin: 0;
	padding-left: 1.1rem;
	font-size: 14px;
	line-height: 1.45;
	color: var(--k2-text-secondary);
}

.k2-amiga-news-pulse__links li {
	margin-bottom: 2px;
}

.k2-amiga-news-pulse__links li:last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.k2-amiga-news-room__layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* â”€â”€ Status room (hub v1.2) â”€â”€ */
.k2-status-room {
	max-width: 1200px;
	margin: 0 auto;
}

.k2-status-room__layout {
	--k2-status-col-edge: 0.88fr;
	--k2-status-col-online: 0.78fr;
	--k2-status-col-games: 1.3fr;
	--k2-status-col-leaderboard: 1.1fr;
	display: grid;
	grid-template-columns:
		minmax(0, var(--k2-status-col-edge))
		minmax(0, var(--k2-status-col-online))
		minmax(0, var(--k2-status-col-games))
		minmax(0, var(--k2-status-col-leaderboard));
	grid-template-rows: auto auto;
	grid-template-areas:
		"arc online live heritage"
		"west west west leaderboard";
	gap: 8px 10px;
	align-items: start;
	margin-bottom: 8px;
}

.k2-status-room__panel-online,
.k2-status-room__panel-live,
.k2-status-room__panel-heritage,
.k2-status-room__panel-arc {
	align-self: stretch;
	min-width: 0;
}

.k2-status-room__panel-online {
	grid-area: online;
}

.k2-status-room__panel-live {
	grid-area: live;
}

.k2-status-room__panel-heritage {
	grid-area: heritage;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: stretch;
	min-width: 0;
	min-height: calc(11.875rem + 15px);
	overflow: hidden;
	--k2-heritage-inset-fill: color-mix(in srgb, var(--k2-bg-page) 38%, var(--k2-bg-surface));
}

.k2-status-room__panel-arc {
	grid-area: arc;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.k2-status-room__panel-arc .k2-status-room__arc {
	margin: 0;
	font-size: 14px;
	color: var(--k2-text-muted);
	line-height: 1.45;
	text-align: left;
}

.k2-status-room__arc-link {
	display: inline-block;
	margin-top: 1.45em;
	font-size: 12px;
	white-space: nowrap;
}

/* Heritage inset â€” clipped tint lamp balancing the wordmark glow. */
.k2-status-heritage-inset {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: max(4.75rem, min-content);
	margin: 0;
	padding: 8px 8px 6px;
	border: 2px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(ellipse at 50% 40%,
			color-mix(in srgb, var(--k2-accent) 18%, transparent) 0%,
			transparent 58%),
		var(--k2-heritage-inset-fill);
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--k2-accent) 10%, transparent),
		inset 0 18px 44px rgba(255, 255, 255, 0.025),
		inset 0 -26px 50px rgba(0, 0, 0, 0.3);
	--k2-heritage-lamp: color-mix(in srgb, var(--k2-accent) 70%, var(--k2-pure-amber) 30%);
	--k2-heritage-lamp-soft: color-mix(in srgb, var(--k2-heritage-lamp) 52%, transparent);
}

.k2-status-heritage-inset::before,
.k2-status-heritage-inset::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.k2-status-heritage-inset::before {
	left: 50%;
	top: 45%;
	width: min(150px, 112%);
	height: min(128px, 132%);
	transform: translate(-50%, -50%);
	background:
		radial-gradient(ellipse at 50% 50%,
			color-mix(in srgb, #fff8dc 78%, var(--k2-heritage-lamp)) 0%,
			color-mix(in srgb, var(--k2-heritage-lamp) 86%, transparent) 18%,
			var(--k2-heritage-lamp-soft) 42%,
			transparent 72%);
	filter: blur(14px) saturate(1.32);
	opacity: 0.98;
}

.k2-status-heritage-inset::after {
	inset: -18% -22% -10%;
	background:
		conic-gradient(from 205deg at 50% 45%,
			transparent 0deg,
			color-mix(in srgb, var(--k2-heritage-lamp) 34%, transparent) 11deg,
			transparent 24deg,
			transparent 46deg,
			color-mix(in srgb, #fff8dc 28%, transparent) 55deg,
			transparent 69deg,
			transparent 292deg,
			color-mix(in srgb, var(--k2-heritage-lamp) 28%, transparent) 304deg,
			transparent 320deg,
			transparent 360deg),
		radial-gradient(ellipse at 50% 42%,
			color-mix(in srgb, var(--k2-heritage-lamp) 28%, transparent) 0%,
			transparent 64%);
	filter: blur(12px);
	opacity: 0.9;
	mix-blend-mode: screen;
}

.k2-status-heritage-inset .k2-heritage-box__art {
	display: block;
	width: auto;
	max-width: min(80px, 100%);
	height: auto;
	margin: 0 auto;
	border-radius: 2px;
	position: relative;
	z-index: 1;
	box-shadow:
		0 0 18px color-mix(in srgb, var(--k2-heritage-lamp) 62%, transparent),
		0 7px 20px rgba(0, 0, 0, 0.58);
	opacity: 0.9;
	filter: saturate(1.08) contrast(1.03);
}

.k2-status-heritage-inset .k2-heritage-box__caption {
	margin: 4px 0 0;
	font-size: 9px;
	font-weight: 600;
	text-align: center;
	color: var(--k2-text-muted);
	line-height: 1.35;
	position: relative;
	z-index: 1;
	text-shadow: 0 0 12px color-mix(in srgb, var(--k2-heritage-lamp) 42%, transparent);
}

/* Neon-noir scene fill — tall art, object-fit cover; no tint lamp (scene has its own light) */
.k2-status-heritage-inset--scene {
	padding: 0;
	min-height: calc(11.875rem + 15px);
	background: #070a0e;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--k2-accent) 8%, transparent);
}

.k2-status-heritage-inset--scene::before,
.k2-status-heritage-inset--scene::after {
	content: none;
}

.k2-status-heritage-inset--scene .k2-heritage-box__art {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center calc(50% - 8px);
	opacity: 1;
	filter: none;
	box-shadow: none;
}

/* Clickable heritage box â†’ box art story page */
.k2-status-heritage-inset--link {
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.k2-site a.k2-status-heritage-inset--link:hover,
body.k2-site a.k2-status-heritage-inset--link:focus-visible {
	text-decoration: none;
	outline: none;
	border-color: var(--k2-accent);
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--k2-accent) 10%, transparent),
		inset 0 18px 44px rgba(255, 255, 255, 0.025),
		inset 0 -26px 50px rgba(0, 0, 0, 0.3),
		0 0 20px var(--k2-accent-glow);
}

.k2-status-heritage-inset--link .k2-heritage-box__art {
	transition: opacity 160ms ease, transform 160ms ease;
}

body.k2-site a.k2-status-heritage-inset--link:hover .k2-heritage-box__art,
body.k2-site a.k2-status-heritage-inset--link:focus-visible .k2-heritage-box__art {
	opacity: 1;
	transform: translateY(-1px) scale(1.02);
}

.k2-status-room__panel-online,
.k2-status-room__panel-live {
	font-size: 12px;
	line-height: 1.45;
}

.k2-status-room__panel-online .k2-status-panel__empty,
.k2-status-room__panel-live .k2-status-panel__empty {
	font-size: inherit;
}

/* west: new | logins | games, then league â€” subgrid aligns with parent cols 1â€“3 */
.k2-status-room__west {
	grid-area: west;
	display: grid;
	grid-template-columns: subgrid;
	grid-template-rows: max-content auto;
	grid-template-areas:
		"new logins games"
		"league league league";
	row-gap: 8px;
	align-content: start;
	min-width: 0;
}

@supports not (grid-template-columns: subgrid) {
	.k2-status-room__west {
		grid-template-columns:
			minmax(0, var(--k2-status-col-edge, 0.88fr))
			minmax(0, var(--k2-status-col-online, 0.78fr))
			minmax(0, var(--k2-status-col-games, 1.3fr));
	}
}

.k2-status-room__west .k2-status-room__panel-logins {
	grid-area: logins;
	min-width: 0;
}

.k2-status-room__west .k2-status-room__panel-games {
	grid-area: games;
	min-width: 0;
}

.k2-status-room__west .k2-status-room__panel-new {
	grid-area: new;
	min-width: 0;
}

.k2-status-room__west .k2-status-room__leagues {
	grid-area: league;
	display: grid;
	gap: 8px;
	min-width: 0;
}

.k2-status-room__panel-league {
	min-width: 0;
}

.k2-status-room__panel-leaderboard {
	grid-area: leaderboard;
	min-width: 0;
}

.k2-status-panel {
	padding: 10px 12px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

.k2-status-panel--tight {
	padding: 8px 10px;
}

.k2-status-panel--compact .k2-status-table {
	font-size: 11px;
}

.k2-status-panel__heading-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
}

.k2-status-panel__heading-row .k2-panel-heading {
	margin: 0;
}

.k2-status-panel__more {
	flex: 0 0 auto;
	font-size: 12px;
	white-space: nowrap;
}

.k2-status-panel__head {
	margin-bottom: 6px;
}

/* Status â€” paired period competitions (Activity + Points) */
.k2-status-period-competitions {
	--k2-leagues-meta-gap: 20px;
	--k2-leagues-points-min: 18rem;
}

.k2-status-period-competitions__intro {
	margin-bottom: 8px;
}

.k2-status-period-competitions__controls {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	margin-bottom: 0;
}

/* Status leagues â€” segment left; date picker centered in remaining row space (full-width centered when wrapped) */
.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	column-gap: 60px;
	row-gap: 10px;
}

.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) .k2-status-period-competitions__period-tabs {
	flex: 0 0 auto;
	align-self: center;
}

.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) .k2-status-period-competitions__period-nav {
	flex: 1 1 0;
	flex-wrap: nowrap;
	min-width: max-content;
	max-width: 100%;
	justify-content: center;
}

.k2-status-period-competitions__controls.is-period-nav-stacked .k2-status-period-competitions__period-nav {
	flex-basis: 100%;
}

.k2-status-period-competitions__period-tabs {
	display: inline-flex;
	flex: 0 0 auto;
	align-self: flex-start;
	flex-wrap: wrap;
	width: fit-content;
	max-width: 100%;
	justify-content: center;
}

.k2-status-period-competitions__period-tabs.k2-chrome-tabs__bar {
	width: fit-content;
	padding: 3px;
	gap: 3px;
}

body.k2-site button.k2-status-period-competitions__period-btn {
	padding: 6px 11px;
	font-size: 12px;
	font-weight: 500;
}

body.k2-site button.k2-status-period-competitions__period-btn:hover:not(.is-active),
body.k2-site button.k2-status-period-competitions__period-btn:focus-visible:not(.is-active) {
	color: var(--k2-text-secondary);
	background: color-mix(in srgb, var(--k2-bg-elevated) 80%, transparent);
	text-decoration: none;
}

body.k2-site button.k2-status-period-competitions__period-btn.is-active {
	color: var(--k2-segment-active-text);
	border-color: var(--k2-segment-active-ring);
	font-weight: 600;
}

body.k2-site .k2-lb-league-honours {
	margin-top: 0;
	margin-bottom: 0;
}

body.k2-site .k2-lb-league-honours__subnav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: var(--k2-nav-gap);
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-lb-league-honours__bar-wrap {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-lb-league-honours__bar {
	width: fit-content;
	max-width: 100%;
}

.k2-lb-league-honours > .k2-table-wrap {
	margin-top: 0;
}

.k2-lb-league-honours .k2-lb-honours-medal-th {
	text-align: center;
	vertical-align: middle;
	padding-left: 6px;
	padding-right: 6px;
}

.k2-lb-league-honours .k2-lb-honours-medal-th .k2-status-medal__svg {
	width: 20px;
}

.k2-lb-tournament-honours .k2-lb-honours-medal-th {
	text-align: center;
	vertical-align: middle;
	padding-left: 6px;
	padding-right: 6px;
}

.k2-lb-tournament-honours .k2-lb-honours-medal-th .k2-status-medal__svg {
	width: 20px;
}

/* Honour-table medal column values — gradient ink @ table size; primary + 600 when count > 0 */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td:has(.k2-country-hero__medal-value) {
	color: var(--k2-text-primary);
	font-weight: 600;
	text-align: center;
}

body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td:not(:has(.k2-country-hero__medal-value)) {
	text-align: center;
}

/* Zero medal counts — stay muted even when this column is the active sort */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td.k2-table-col-sorted:not(:has(.k2-country-hero__medal-value)) {
	color: var(--k2-text-secondary);
	font-weight: inherit;
}

body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td .k2-country-hero__medal-value {
	display: inline;
	width: auto;
	min-height: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: transparent;
}

/* Honour-table medal values — keep in sync with honoursPalettes in k2_league_table_render.php */
body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td .k2-country-hero__medal-value--gold {
	background-image: linear-gradient(165deg, #fffef8 0%, #fff59d 24%, #ffeb3b 44%, #ffc107 70%, #ffab00 100%);
	filter: drop-shadow(0 0 1px rgba(255, 220, 80, 0.55)) drop-shadow(0 1px 1px rgba(146, 102, 0, 0.4));
}

body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td .k2-country-hero__medal-value--silver {
	background-image: linear-gradient(165deg, #ffffff 0%, #f5f9fc 22%, #dce6ef 46%, #b0bec9 72%, #8899a8 100%);
	filter: drop-shadow(0 0 1px rgba(220, 232, 244, 0.6)) drop-shadow(0 1px 1px rgba(61, 72, 82, 0.32));
}

body.k2-site .k2-table.k2-table--calm-stats tbody td.k2-lb-honours-medal-td .k2-country-hero__medal-value--bronze {
	background-image: linear-gradient(165deg, #fff6ed 0%, #ffbc85 28%, #ff9a5c 50%, #e07a3a 74%, #c4622d 100%);
	filter: drop-shadow(0 0 1px rgba(255, 170, 110, 0.5)) drop-shadow(0 1px 1px rgba(122, 74, 31, 0.35));
}

body.k2-site .k2-table thead th.k2-lb-honours-medal-th {
	text-align: center;
	vertical-align: middle;
	padding-left: 6px;
	padding-right: 6px;
}

body.k2-site .k2-table thead th.k2-lb-honours-medal-th .k2-status-medal {
	display: inline-flex;
	width: 100%;
	justify-content: center;
}

body.k2-site .k2-table thead th.k2-lb-honours-medal-th .k2-status-medal__svg {
	width: 20px;
}

body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table th.k2-countries-roster-medal-pad-start,
body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table td.k2-countries-roster-medal-pad-start {
	padding-left: 11px;
}

body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table th.k2-countries-roster-medal-pad-end,
body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table td.k2-countries-roster-medal-pad-end {
	padding-right: 11px;
}

/* Roster medal cols — symmetric pad so glyphs/values sit centered */
body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table th.k2-lb-honours-medal-th,
body.k2-site .k2-table.k2-table--countries-roster.ranked-pages-table td.k2-lb-honours-medal-td {
	padding-left: 8px;
	padding-right: 8px;
}

.k2-table--world-cups-events-wrap .k2-amiga-wc-podium-th-cell {
	text-align: center;
	vertical-align: middle;
	padding-left: 8px;
	padding-right: 8px;
	min-width: 4.75rem;
}

/* Chronology — +2px vertical padding on body cells (7px vs default 5px) for stacked row flags */
body.k2-site .k2-table.k2-table--world-cups-events tbody td {
	padding-top: 7px;
	padding-bottom: 7px;
}

/* Tournament catalog index (/amiga/tournaments.php) — +2px vertical body padding */
body.k2-site .k2-table.k2-table--tournament-index:not(.k2-table--world-cups-events) tbody td {
	padding-top: 7px;
	padding-bottom: 7px;
}

body.k2-site .k2-table.k2-table--world-cups-events.ranked-pages-table th.k2-wc-events-podium-pad-start,
body.k2-site .k2-table.k2-table--world-cups-events.ranked-pages-table td.k2-wc-events-podium-pad-start {
	padding-left: 20px;
}

body.k2-site .k2-table.k2-table--world-cups-events.ranked-pages-table th.k2-wc-events-podium-pad-gap-after,
body.k2-site .k2-table.k2-table--world-cups-events.ranked-pages-table td.k2-wc-events-podium-pad-gap-after {
	padding-right: 20px;
}

.k2-amiga-wc-podium-th {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	line-height: 1.05;
	vertical-align: middle;
}

.k2-amiga-wc-podium-th__rank {
	font-family: var(--k2-font-body);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--k2-text-muted);
}

.k2-amiga-wc-podium-th__metal {
	font-family: var(--k2-font-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.k2-amiga-wc-podium-th--gold .k2-amiga-wc-podium-th__metal {
	background-image: linear-gradient(165deg, #fff9e6 0%, #ffe566 36%, #d4af37 70%, #8b6914 100%);
	filter: drop-shadow(0 1px 1px rgba(92, 69, 8, 0.4));
}

.k2-amiga-wc-podium-th--silver .k2-amiga-wc-podium-th__metal {
	background-image: linear-gradient(165deg, #ffffff 0%, #eef2f6 34%, #b8c4ce 68%, #6b7a86 100%);
	filter: drop-shadow(0 1px 1px rgba(61, 72, 82, 0.35));
}

.k2-amiga-wc-podium-th--bronze .k2-amiga-wc-podium-th__metal {
	background-image: linear-gradient(165deg, #ffe8d6 0%, #e8a87c 36%, #cd7f32 70%, #7a4a1f 100%);
	filter: drop-shadow(0 1px 1px rgba(74, 44, 18, 0.35));
}

.k2-amiga-wc-podium-player {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.k2-amiga-wc-podium-player img {
	flex-shrink: 0;
	vertical-align: middle;
}

body.k2-site .k2-status-period-competitions .k2-status-period-competitions__meta.k2-status-room__arc {
	margin-top: calc(var(--k2-leagues-meta-gap) * 1.5);
	margin-bottom: var(--k2-leagues-meta-gap);
	font-size: 14px;
	color: var(--k2-text-muted);
	line-height: 1.45;
	text-align: left;
}

body.k2-site .k2-status-period-competitions .k2-status-period-competitions__meta .blue {
	font-weight: 600;
}

.k2-status-period-competitions__period-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	max-width: 100%;
	padding: 0;
	border: none;
	background: transparent;
	box-sizing: border-box;
}

.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) .k2-status-period-competitions__period-nav {
	flex: 0 1 auto;
	width: fit-content;
}

.k2-status-period-competitions__controls.is-period-nav-stacked .k2-status-period-competitions__period-nav {
	margin-left: 0;
	margin-top: 2px;
}

.k2-status-period-competitions__step-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	font-family: inherit;
	line-height: 1;
	color: color-mix(in srgb, var(--k2-accent) 62%, var(--k2-text-secondary));
	background: color-mix(in srgb, var(--k2-accent) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--k2-accent) 32%, var(--k2-border-subtle));
	border-radius: calc(var(--k2-radius-md) - 2px);
	box-shadow: none;
	cursor: pointer;
	transition: color 0.15s, border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.k2-status-period-competitions__step-chevron {
	display: block;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	box-sizing: border-box;
	opacity: 0.92;
}

.k2-status-period-competitions__step-btn--prev .k2-status-period-competitions__step-chevron {
	transform: rotate(45deg);
	margin-left: 2px;
}

.k2-status-period-competitions__step-btn--next .k2-status-period-competitions__step-chevron {
	transform: rotate(-135deg);
	margin-right: 2px;
}

.k2-status-period-competitions__step-btn:hover:not(:disabled) {
	color: color-mix(in srgb, var(--k2-accent) 74%, var(--k2-text-primary));
	border-color: color-mix(in srgb, var(--k2-accent) 52%, var(--k2-border-subtle));
	background: color-mix(in srgb, var(--k2-accent) 11%, transparent);
	box-shadow: none;
}

.k2-status-period-competitions__step-btn:focus-visible {
	outline: none;
	border-color: var(--k2-segment-active-ring);
	color: var(--k2-segment-active-text);
}

.k2-status-period-competitions__step-btn:disabled {
	opacity: 0.32;
	color: var(--k2-text-muted);
	border-color: var(--k2-border-subtle);
	background: rgba(0, 0, 0, 0.18);
	cursor: not-allowed;
}

.k2-status-period-competitions__step-btn:disabled .k2-status-period-competitions__step-chevron {
	opacity: 0.7;
}

.k2-status-period-competitions__picker-row {
	flex: 0 1 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* JS sets data-picker-slot-width â€” same width for Daily/Weekly/Monthly/Year tabs */
body.k2-site .k2-status-period-competitions__picker-row[data-picker-slot-width] {
	flex: 0 0 auto;
}

body.k2-site .k2-status-period-competitions__picker-row[data-picker-slot-width] > .k2-status-period-competitions__archive-picker {
	width: 100%;
	min-width: 0;
	justify-content: center;
}

body.k2-site .k2-status-period-competitions__picker-row[data-picker-slot-width] .k2-archive-listbox,
body.k2-site .k2-status-period-competitions__picker-row[data-picker-slot-width] .k2-status-day-picker {
	margin-inline: 0;
}

.k2-status-period-competitions__archive-picker {
	display: none;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 4px 6px;
}

/* Show the picker for the active Leagues tab (works even if JS fails to toggle [hidden]) */
body.k2-site [data-k2-status-period-competitions][data-active-period="day"] [data-archive-picker-period="day"],
body.k2-site [data-k2-status-period-competitions][data-active-period="week"] [data-archive-picker-period="week"],
body.k2-site [data-k2-status-period-competitions][data-active-period="month"] [data-archive-picker-period="month"],
body.k2-site [data-k2-status-period-competitions][data-active-period="year"] [data-archive-picker-period="year"] {
	display: flex !important;
}

.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) .k2-status-period-competitions__archive-picker {
	flex-wrap: nowrap;
}

.k2-status-period-competitions__controls:has(.k2-status-period-competitions__period-nav) .server-period-activity-leaderboard__date-control {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
}

.k2-status-period-competitions__archive-picker .server-period-activity-leaderboard__picker-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--k2-text-secondary);
	margin: 0;
}

.k2-status-period-competitions__archive-picker .server-period-activity-leaderboard__input,
.k2-status-period-competitions__archive-picker .k2-archive-listbox__trigger {
	font-size: 12px;
	min-height: 36px;
	padding: 6px 28px 6px 10px;
	border-color: var(--k2-border-subtle);
	border-radius: calc(var(--k2-radius-md) - 2px);
	background-color: rgba(0, 0, 0, 0.18);
	box-shadow: none;
}

/* KOOL listbox â€” shared (Leagues archive + Flatpickr month/year) */
body.k2-site .k2-archive-listbox {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

body.k2-site .k2-archive-listbox__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	padding: 4px 24px 4px 8px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	font: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	color: var(--k2-text-secondary);
	background-color: var(--k2-bg-surface);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a0a8b0' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 10px 6px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.k2-site .k2-archive-listbox__measure-probe {
	position: absolute;
	left: -9999px;
	top: 0;
	visibility: hidden;
	white-space: nowrap;
	pointer-events: none;
}

body.k2-site .k2-archive-listbox__label {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.k2-site .k2-archive-listbox__chevron {
	display: none;
}

body.k2-site .k2-archive-listbox__trigger:hover:not(:disabled) {
	border-color: color-mix(in srgb, var(--k2-text-muted) 55%, var(--k2-border-subtle));
	background-color: color-mix(in srgb, var(--k2-bg-surface) 88%, rgba(255, 255, 255, 0.06));
	color: color-mix(in srgb, var(--k2-text-secondary) 82%, var(--k2-text-primary));
}

/* .is-open â€” no extra chrome; open panel carries state (prevents border flash on close). */

body.k2-site .k2-archive-listbox__trigger:focus-visible {
	border-color: var(--k2-segment-active-ring);
	color: color-mix(in srgb, var(--k2-text-secondary) 45%, var(--k2-text-primary));
	background-color: color-mix(in srgb, var(--k2-bg-surface) 82%, var(--k2-accent-muted));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	outline: none;
}

body.k2-site .k2-archive-listbox__trigger:focus {
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.k2-site .k2-archive-listbox__trigger:focus:not(:focus-visible),
body.k2-site .k2-archive-listbox__trigger:focus:hover:not(:focus-visible) {
	border-color: var(--k2-border-subtle);
	color: var(--k2-text-secondary);
	background-color: var(--k2-bg-surface);
}

body.k2-site .k2-archive-listbox__panel {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 80;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
	min-width: 100%;
	width: max-content;
	max-width: min(22em, 92vw);
	max-height: 14em;
	overflow-x: hidden;
	overflow-y: auto;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-bg-elevated);
	box-shadow: var(--k2-shadow-surface);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--k2-text-secondary);
}

/* All games vault + tournament step filters — panel matches trigger, not global max-content default */
body.k2-site .k2-realm-games-filters .k2-archive-listbox__panel,
body.k2-site .k2-amiga-tournament-step-nav__filters .k2-archive-listbox__panel {
	left: 0;
	right: auto;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.k2-site .k2-archive-listbox__panel:focus {
	outline: none;
	border-color: var(--k2-border-subtle);
	box-shadow: var(--k2-shadow-surface);
}

body.k2-site .k2-archive-listbox__option {
	margin: 0;
	padding: 5px 10px;
	min-height: calc(1.35em + 10px);
	box-sizing: border-box;
	cursor: pointer;
	white-space: nowrap;
	font-weight: 500;
	color: var(--k2-text-secondary);
	border-bottom: 1px solid var(--k2-border-subtle);
}

body.k2-site .k2-archive-listbox__option-label:empty::before {
	content: '\00a0';
}

body.k2-site .k2-archive-listbox__option:last-child {
	border-bottom: none;
}

body.k2-site .k2-archive-listbox__option:hover {
	outline: none;
	background-color: var(--k2-accent-muted);
	color: color-mix(in srgb, var(--k2-text-secondary) 70%, var(--k2-text-primary));
}

body.k2-site .k2-archive-listbox__option:focus {
	outline: none;
}

body.k2-site .k2-archive-listbox__option:focus-visible {
	background-color: var(--k2-accent-muted);
	color: color-mix(in srgb, var(--k2-text-secondary) 70%, var(--k2-text-primary));
}

body.k2-site .k2-archive-listbox__option.is-selected,
body.k2-site .k2-archive-listbox__option[aria-selected="true"] {
	background-color: color-mix(in srgb, var(--k2-accent-muted) 65%, transparent);
	color: color-mix(in srgb, var(--k2-text-secondary) 35%, var(--k2-text-primary));
	font-weight: 500;
}

body.k2-site .k2-archive-listbox__option.is-selected:hover,
body.k2-site .k2-archive-listbox__option[aria-selected="true"]:hover {
	background-color: var(--k2-accent-muted);
}

body.k2-site .k2-archive-listbox__option.is-disabled,
body.k2-site .k2-archive-listbox__option[aria-disabled="true"] {
	opacity: 0.38;
	cursor: not-allowed;
}

body.k2-site .k2-archive-listbox__option.is-disabled:hover,
body.k2-site .k2-archive-listbox__option[aria-disabled="true"]:hover {
	background-color: transparent;
	color: var(--k2-text-secondary);
}

body.k2-site .k2-status-period-competitions__archive-picker .k2-archive-listbox {
	max-width: min(100%, 280px);
}

body.k2-site .k2-status-period-competitions__archive-picker[hidden]:not(.is-active) {
	display: none !important;
}

body.k2-site .k2-status-period-competitions__archive-picker .k2-archive-listbox__trigger,
body.k2-site .k2-status-period-competitions__archive-picker .k2-archive-listbox {
	box-sizing: border-box;
}

body.k2-site .k2-status-period-competitions__archive-picker .server-period-activity-leaderboard__input:focus {
	outline: none;
	box-shadow: none;
}

body.k2-site .k2-status-period-competitions__archive-picker .server-period-activity-leaderboard__input:focus:not(:focus-visible) {
	border-color: var(--k2-border-subtle);
}

body.k2-site .k2-status-period-competitions__archive-picker .server-period-activity-leaderboard__input:focus-visible {
	border-color: color-mix(in srgb, var(--k2-text-muted) 55%, var(--k2-border-subtle));
	outline: none;
	box-shadow: none;
}

body.k2-site .k2-status-period-competitions__archive-picker .k2-archive-listbox--day {
	display: inline-block;
	max-width: min(100%, 220px);
	vertical-align: middle;
}

body.k2-site .k2-status-period-competitions__archive-picker .k2-archive-listbox--day .k2-archive-listbox__trigger {
	width: 100%;
}

/* Flatpickr â€” Leagues day picker (vendored flatpickr.min.css + KOOL overrides) */
body.k2-site .flatpickr-calendar {
	margin-top: 6px;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.35;
	color: var(--k2-text-primary);
	background: var(--k2-bg-elevated);
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	box-shadow:
		0 12px 32px rgba(0, 0, 0, 0.45),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	color-scheme: dark;
	overflow: visible;
}

body.k2-site .flatpickr-calendar:not(.open) {
	pointer-events: none;
}

body.k2-site .flatpickr-calendar::before,
body.k2-site .flatpickr-calendar::after {
	display: none;
}

body.k2-site .flatpickr-months {
	position: relative;
	z-index: 30;
	overflow: visible;
	pointer-events: auto;
}

body.k2-site .flatpickr-months .k2-archive-listbox--compact,
body.k2-site .flatpickr-months .k2-archive-listbox--compact .k2-archive-listbox__trigger,
body.k2-site .flatpickr-months .k2-archive-listbox--compact .k2-archive-listbox__panel {
	pointer-events: auto;
}

/* Day grid can overlap the header in Flatpickr layout â€” do not let it steal header clicks */
body.k2-site .flatpickr-innerContainer {
	position: relative;
	z-index: 1;
	pointer-events: none;
}

body.k2-site .flatpickr-innerContainer .flatpickr-rContainer,
body.k2-site .flatpickr-innerContainer .flatpickr-weekdays,
body.k2-site .flatpickr-innerContainer .flatpickr-days,
body.k2-site .flatpickr-innerContainer .flatpickr-day {
	pointer-events: auto;
}

body.k2-site .flatpickr-months .flatpickr-month,
body.k2-site .flatpickr-current-month {
	overflow: visible;
}

body.k2-site .flatpickr-months .flatpickr-month,
body.k2-site .flatpickr-current-month {
	color: var(--k2-text-secondary);
	fill: var(--k2-text-secondary);
}

body.k2-site .flatpickr-current-month .numInputWrapper.k2-flatpickr-year-stepper--hidden {
	display: none !important;
}

body.k2-site .flatpickr-current-month .flatpickr-monthDropdown-months.k2-flatpickr-month-native--hidden {
	display: none !important;
}

body.k2-site .flatpickr-current-month {
	position: relative;
	z-index: 31;
}

body.k2-site .flatpickr-current-month .k2-archive-listbox--compact {
	position: relative;
	z-index: 25;
	margin: 0 2px;
}

body.k2-site .flatpickr-current-month .k2-archive-listbox--compact .k2-archive-listbox__trigger {
	padding: 3px 24px 3px 8px;
	font-size: 13px;
	line-height: 1.3;
	background-position: right 7px center;
	box-sizing: border-box;
}

body.k2-site .flatpickr-current-month .k2-archive-listbox--compact {
	box-sizing: border-box;
}

body.k2-site .flatpickr-current-month .k2-archive-listbox--compact .k2-archive-listbox__panel {
	left: 0;
	right: auto;
	min-width: 100%;
	width: max-content;
	max-width: min(16em, 92vw);
	max-height: 11em;
	font-size: 13px;
	z-index: 30;
	pointer-events: auto;
}

body.k2-site .flatpickr-weekdays {
	background: transparent;
}

body.k2-site span.flatpickr-weekday {
	color: var(--k2-text-muted);
	font-weight: 600;
	font-size: 11px;
}

body.k2-site .flatpickr-day {
	color: var(--k2-text-secondary);
	border-color: transparent;
}

body.k2-site .flatpickr-day:hover,
body.k2-site .flatpickr-day:focus {
	background: var(--k2-bg-hover);
	border-color: transparent;
	color: var(--k2-text-secondary);
}

body.k2-site .flatpickr-day.today {
	border-color: color-mix(in srgb, var(--k2-text-muted) 45%, transparent);
}

body.k2-site .flatpickr-day.today:hover,
body.k2-site .flatpickr-day.today:focus {
	background: var(--k2-bg-hover);
	color: var(--k2-text-secondary);
}

body.k2-site .flatpickr-day.selected,
body.k2-site .flatpickr-day.selected:hover,
body.k2-site .flatpickr-day.selected:focus {
	background: var(--k2-accent);
	border-color: var(--k2-accent);
	color: var(--k2-accent-solid-text);
	font-weight: 600;
}

body.k2-site .flatpickr-day.selected.today {
	border-color: var(--k2-accent);
}

body.k2-site .flatpickr-day.flatpickr-disabled,
body.k2-site .flatpickr-day.flatpickr-disabled:hover,
body.k2-site .flatpickr-day.prevMonthDay,
body.k2-site .flatpickr-day.nextMonthDay {
	color: var(--k2-text-muted);
	opacity: 0.45;
}

body.k2-site .flatpickr-day.flatpickr-disabled,
body.k2-site .flatpickr-day.flatpickr-disabled:hover {
	cursor: not-allowed;
	background: transparent;
}

body.k2-site .flatpickr-months .flatpickr-prev-month,
body.k2-site .flatpickr-months .flatpickr-next-month {
	color: var(--k2-text-secondary);
	fill: var(--k2-text-secondary);
}

body.k2-site .flatpickr-months .flatpickr-prev-month:hover,
body.k2-site .flatpickr-months .flatpickr-next-month:hover {
	color: color-mix(in srgb, var(--k2-text-secondary) 70%, var(--k2-text-primary));
	fill: color-mix(in srgb, var(--k2-text-secondary) 70%, var(--k2-text-primary));
}

body.k2-site .flatpickr-months .flatpickr-prev-month svg,
body.k2-site .flatpickr-months .flatpickr-next-month svg {
	fill: currentColor;
}

@media (max-width: 480px) {
	body.k2-site .flatpickr-calendar {
		width: min(100vw - 24px, 19.5rem);
		max-width: calc(100vw - 24px);
	}

	body.k2-site .flatpickr-day {
		max-width: none;
		height: 38px;
		line-height: 38px;
	}
}

.k2-status-period-competitions__views {
	margin-top: 0;
	padding-top: 0;
}

.k2-status-period-competitions .k2-status-day-picker__fp-anchor,
body.k2-site .k2-status-day-picker .k2-status-day-picker__fp-anchor {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.k2-status-period-competitions .server-period-activity-leaderboard__date-control {
	position: relative;
}

.k2-status-period-competitions__pair {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 14px;
}

.k2-status-period-competitions__col {
	min-width: 0;
}

.k2-status-period-competitions__col-stack {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	max-width: 100%;
	min-width: 0;
}

.k2-status-period-competitions__col--activity {
	flex: 0 0 auto;
	max-width: 100%;
	display: flex;
	justify-content: flex-start;
}

.k2-status-period-competitions__col--activity .k2-table-wrap {
	width: max-content;
	max-width: 100%;
}

.k2-status-period-competitions__col--points {
	flex: 1 1 var(--k2-leagues-points-min);
	min-width: min(100%, var(--k2-leagues-points-min));
	max-width: 100%;
	display: flex;
	justify-content: center;
}

.k2-status-period-competitions__col--points .k2-table-wrap {
	width: max-content;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
}

.k2-status-period-competitions__col--points .k2-status-table__player {
	max-width: 11em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 400px) {
	.k2-status-period-competitions__col--activity .k2-table-wrap {
		width: 100%;
	}
}


.k2-status-period-competitions__col-title {
	margin: 0 0 7px;
	font-size: 13px;
	text-align: center;
}

.k2-status-period-competitions__col-title-link {
	display: inline-block;
	text-decoration: none;
}

.k2-status-period-competitions__col--activity .k2-status-table__player {
	min-width: 0;
}

.k2-status-period-competitions__status {
	margin-top: 8px;
	font-size: 12px;
	color: var(--k2-text-muted);
}

.k2-status-period-competitions__day-games {
	margin-top: 20px;
	width: fit-content;
	max-width: 100%;
}

.k2-status-period-competitions__day-games-title {
	margin: 0 0 8px;
}

.k2-status-period-competitions__week-games {
	margin-top: 20px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.k2-status-period-competitions__week-games-title {
	margin: 0 0 8px;
}

.k2-status-period-competitions__week-games .k2-games-list {
	max-width: none;
	margin: 0;
}

.k2-status-table--podium .k2-status-table__medal {
	width: 22px;
	padding-left: 2px;
	padding-right: 0;
	text-align: center;
	vertical-align: middle;
}

.k2-status-table--podium thead .k2-status-table__medal {
	text-align: center;
}

.k2-status-medal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	vertical-align: middle;
}

.k2-status-medal__svg {
	display: block;
	width: 18px;
	height: auto;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

.k2-status-medal__glint {
	animation: k2-status-medal-glint 2.6s ease-in-out infinite;
}

@keyframes k2-status-medal-glint {
	0%,
	100% {
		opacity: 0.45;
	}
	50% {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.k2-status-medal__glint {
		animation: none;
		opacity: 0.75;
	}
}

.k2-status-panel__meta {
	margin: 0;
	font-size: 12px;
	color: var(--k2-text-muted);
	line-height: 1.4;
}

.k2-status-panel__empty {
	margin: 0;
	font-size: 13px;
	color: var(--k2-text-muted);
	line-height: 1.45;
}

.k2-status-panel__empty-link {
	margin-top: 0.65em;
}

.k2-status-room__error {
	color: var(--k2-text-muted);
}

.k2-table-wrap--compact {
	margin: 0;
}

.k2-status-table--dense th,
.k2-status-table--dense td {
	padding: 2px 6px;
}

.k2-status-table__num {
	text-align: right;
	white-space: nowrap;
}

.k2-status-table__player,
.k2-status-table th.k2-status-table__player {
	text-align: left !important;
}

.k2-status-table thead th {
	text-align: right;
}

.k2-status-table thead th.k2-status-table__player {
	text-align: left !important;
}

.k2-status-room__now-col {
	font-size: 12px;
	line-height: 1.45;
}

.k2-status-room__now-col .k2-status-panel__empty {
	font-size: 12px;
}

.k2-status-name-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px 0;
	font-size: inherit;
}

.k2-status-name-list li {
	padding: 1px 0;
}

.k2-status-live-list,
.k2-status-recency-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Status west panels: date column = widest row in list; names/matches share one start edge. */
.k2-status-recency-list:not(.k2-status-day-games-list) {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 8px;
	width: 100%;
}

.k2-status-live-list li,
.k2-status-recency-list:not(.k2-status-day-games-list) li {
	padding: 3px 0;
	border-bottom: 1px solid var(--k2-border-subtle);
	font-size: 12px;
}

.k2-status-live-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
}

.k2-status-recency-list:not(.k2-status-day-games-list) li {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	align-items: baseline;
}

@supports not (grid-template-columns: subgrid) {
	.k2-status-recency-list:not(.k2-status-day-games-list) li {
		display: contents;
		padding: 0;
		border-bottom: none;
	}

	.k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-status-recency-list__when,
	.k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-status-match,
	.k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-link-star {
		padding: 3px 0;
		border-bottom: 1px solid var(--k2-border-subtle);
	}

	.k2-status-recency-list:not(.k2-status-day-games-list) > li:last-child > .k2-status-recency-list__when,
	.k2-status-recency-list:not(.k2-status-day-games-list) > li:last-child > .k2-status-match,
	.k2-status-recency-list:not(.k2-status-day-games-list) > li:last-child > .k2-link-star {
		border-bottom: none;
	}

	.k2-status-room__panel-logins .k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-status-recency-list__when,
	.k2-status-room__panel-games .k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-status-recency-list__when {
		width: 9.5ch;
	}

	.k2-status-room__panel-new .k2-status-recency-list:not(.k2-status-day-games-list) > li > .k2-status-recency-list__when {
		width: 12ch;
		text-align: right;
	}
}

.k2-status-live-list li:last-child,
.k2-status-recency-list:not(.k2-status-day-games-list) li:last-child {
	border-bottom: none;
}

.k2-status-live-list__time {
	flex: 0 0 auto;
	min-width: 4.5em;
	font-size: 11px;
	color: var(--k2-text-muted);
	font-variant-numeric: tabular-nums;
}

.k2-status-recency-list__when {
	font-size: 11px;
	color: var(--k2-text-muted);
	font-variant-numeric: tabular-nums;
}

.k2-status-recency-list__when--day-clock {
	display: inline-grid;
	grid-template-columns: 3ch 5ch;
	column-gap: 0.25em;
	align-items: baseline;
	width: fit-content;
}

.k2-status-recency-list__when-clock {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.k2-status-live-list__time.k2-status-recency-list__when--day-clock {
	min-width: 0;
}

.k2-status-recency-list:not(.k2-status-day-games-list) .k2-status-recency-list__when {
	grid-column: 1;
	flex: none;
	min-width: 0;
	justify-self: start;
}

.k2-status-room__panel-new .k2-status-recency-list:not(.k2-status-day-games-list) .k2-status-recency-list__when {
	justify-self: end;
	text-align: right;
}

.k2-status-recency-list:not(.k2-status-day-games-list) .k2-status-match,
.k2-status-recency-list:not(.k2-status-day-games-list) li > .k2-link-star {
	grid-column: 2;
	min-width: 0;
}

.k2-status-score {
	font-weight: 600;
	color: var(--k2-text-secondary);
	font-variant-numeric: tabular-nums;
}

.k2-status-score__goal {
	display: inline-block;
}

.k2-status-score .k2-scoreline-sep {
	padding: 0 0.2em;
}

.k2-status-match {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	flex: 1 1 auto;
	min-width: 0;
}

/* Daily tab games list: shared column tracks; ID first (games hub style), then time, then match. */
.k2-status-recency-list.k2-status-day-games-list {
	display: grid;
	grid-template-columns: max-content max-content max-content;
	column-gap: 12px;
	width: fit-content;
	max-width: 100%;
	align-items: baseline;
	font-size: 12px;
}

.k2-status-recency-list.k2-status-day-games-list li {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	align-items: baseline;
	padding: 3px 0;
	border-bottom: 1px solid var(--k2-border-subtle);
}

.k2-status-recency-list.k2-status-day-games-list > li:last-child {
	border-bottom: none;
}

@supports not (grid-template-columns: subgrid) {
	.k2-status-recency-list.k2-status-day-games-list li {
		display: contents;
		padding: 0;
		border-bottom: none;
	}

	.k2-status-recency-list.k2-status-day-games-list > li > .k2-status-day-games-list__game,
	.k2-status-recency-list.k2-status-day-games-list > li > .k2-status-recency-list__when,
	.k2-status-recency-list.k2-status-day-games-list > li > .k2-status-match {
		padding: 3px 0;
		border-bottom: 1px solid var(--k2-border-subtle);
	}

	.k2-status-recency-list.k2-status-day-games-list > li:last-child > .k2-status-day-games-list__game,
	.k2-status-recency-list.k2-status-day-games-list > li:last-child > .k2-status-recency-list__when,
	.k2-status-recency-list.k2-status-day-games-list > li:last-child > .k2-status-match {
		border-bottom: none;
	}
}

.k2-status-day-games-list__game {
	grid-column: 1;
	display: inline-block;
	justify-self: start;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	text-align: left;
}

.k2-status-recency-list.k2-status-day-games-list .k2-status-recency-list__when {
	grid-column: 2;
	flex: none;
	min-width: 0;
	justify-self: start;
	text-align: left;
	font-size: 11px;
}

.k2-status-recency-list.k2-status-day-games-list .k2-status-match {
	grid-column: 3;
	display: inline-flex;
	flex: none;
	min-width: 0;
	flex-wrap: nowrap;
	justify-self: start;
	justify-content: flex-start;
	text-align: left;
	padding-right: 6ch;
	box-sizing: border-box;
}

.k2-status-recency-list.k2-status-day-games-list .k2-status-match__side,
.k2-status-recency-list.k2-status-day-games-list .k2-status-score {
	text-align: left;
}

.k2-status-live-list__meta {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-size: 11px;
	color: var(--k2-text-muted);
}

.k2-status-live-list__clock {
	font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
	.k2-status-room__layout {
		--k2-status-col-online: 0.86fr;
		--k2-status-col-games: 1.14fr;
		grid-template-columns:
			minmax(0, var(--k2-status-col-online))
			minmax(0, var(--k2-status-col-games));
		grid-template-areas:
			"online live"
			"arc heritage"
			"west west"
			"leaderboard leaderboard";
	}

	.k2-status-room__west {
		grid-column: auto;
		grid-template-columns:
			minmax(0, 0.82fr)
			minmax(0, 1.18fr);
		grid-template-areas:
			"logins games"
			"new new"
			"league league";
	}
}

.k2-hub-bar {
	position: relative;
	z-index: 1210;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	max-width: var(--k2-max-width);
	margin: 16px 0 var(--k2-nav-gap);
}

/* Hub tabs → first body block: bar bottom margin is the only gap (Activity, HoF time travel, WC wing tabs). */
body.k2-site .k2-hub-bar + :where(.server-records-hof, .server-activity-summary, .k2-chrome-tabs, .k2-amiga-world-cups-hub) {
	margin-top: 0;
}

.k2-hub-bar .k2-hub-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.k2-hub-tabs__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	min-width: 0;
}

.k2-hub-tabs__tune,
.k2-nav-tune {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-left: auto;
	flex-shrink: 0;
}

/* Tint menu â€” disclosure pill + subdued swatch choices (segment grammar) */
.k2-tint-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
}

.k2-tint-menu__toggle,
.k2-tint-menu__choice {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 5px 10px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: 999px;
	background: transparent;
	color: var(--k2-text-muted);
	font: inherit;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.k2-tint-menu__toggle {
	order: 2;
}

.k2-tint-menu__choices {
	order: 1;
}

.k2-tint-menu__toggle::before,
.k2-tint-menu__choice::before {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--k2-accent-swatch, var(--k2-text-muted)) 40%, var(--k2-text-muted));
}

html[data-k2-accent="amber"] .k2-tint-menu__toggle::before { background: var(--k2-pure-amber); }
html[data-k2-accent="pitch"] .k2-tint-menu__toggle::before { background: var(--k2-pure-pitch); }
html[data-k2-accent="chrome"] .k2-tint-menu__toggle::before { background: var(--k2-pure-chrome); }
html[data-k2-accent="holo"] .k2-tint-menu__toggle::before { background: var(--k2-pure-holo); }

html[data-k2-accent-palette-open="1"] .k2-tint-menu__toggle {
	color: var(--k2-segment-active-text);
	border-color: var(--k2-segment-active-ring);
}

.k2-tint-menu__toggle:hover {
	color: var(--k2-text-secondary);
	border-color: var(--k2-border-strong);
}

.k2-tint-menu__choices {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
}

html[data-k2-accent-palette-hidden="1"] .k2-tint-menu__choices,
.k2-tint-menu__choices[hidden] {
	display: none;
}

.k2-tint-menu__choice[data-k2-accent="amber"] { --k2-accent-swatch: var(--k2-pure-amber); }
.k2-tint-menu__choice[data-k2-accent="pitch"] { --k2-accent-swatch: var(--k2-pure-pitch); }
.k2-tint-menu__choice[data-k2-accent="chrome"] { --k2-accent-swatch: var(--k2-pure-chrome); }
.k2-tint-menu__choice[data-k2-accent="holo"] { --k2-accent-swatch: var(--k2-pure-holo); }

.k2-tint-menu__choice:hover:not(.is-active) {
	color: var(--k2-text-secondary);
	border-color: var(--k2-border-strong);
}

.k2-tint-menu__choice.is-active {
	color: var(--k2-segment-active-text);
	border-color: var(--k2-segment-active-ring);
	box-shadow: none;
}

.k2-tint-menu__choice.is-active::before {
	background: var(--k2-accent-swatch, var(--k2-text-muted));
}

.k2-tint-menu__choice:not(.is-active)::before {
	background: color-mix(in srgb, var(--k2-accent-swatch, var(--k2-text-muted)) 38%, var(--k2-text-muted));
}

.k2-hub-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
	box-sizing: border-box;
}

body.k2-site a.k2-hub-tabs__btn {
	display: inline-block;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: calc(var(--k2-radius-md) - 2px);
	background: transparent;
	color: var(--k2-text-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

body.k2-site a.k2-hub-tabs__btn:visited {
	color: var(--k2-text-muted);
}

body.k2-site a.k2-hub-tabs__btn:hover:not(.is-active) {
	color: var(--k2-text-secondary);
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none;
}

body.k2-site a.k2-hub-tabs__btn.is-active,
body.k2-site a.k2-hub-tabs__btn.is-active:visited {
	color: var(--k2-segment-active-text);
	background: transparent;
	border-color: var(--k2-segment-active-ring);
	box-shadow: none;
}

body.k2-site a.k2-hub-tabs__btn.is-active:hover {
	color: var(--k2-segment-active-text);
	background: transparent;
	text-decoration: none;
}

.k2-chrome-tabs {
	max-width: 1200px;
	margin-bottom: var(--k2-nav-gap);
}

.k2-chrome-tabs__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 2px;
	padding: 4px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

body.k2-site a.k2-chrome-tabs__tab,
body.k2-site button.k2-chrome-tabs__tab {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: calc(var(--k2-radius-md) - 2px);
	background: transparent;
	color: var(--k2-text-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

body.k2-site button.k2-chrome-tabs__tab {
	-webkit-appearance: none;
	appearance: none;
}

body.k2-site a.k2-chrome-tabs__tab:visited {
	color: var(--k2-text-muted);
}

body.k2-site a.k2-chrome-tabs__tab:hover:not(.is-active),
body.k2-site button.k2-chrome-tabs__tab:hover:not(.is-active) {
	color: var(--k2-text-secondary);
	text-decoration: none;
}

body.k2-site a.k2-chrome-tabs__tab.is-active,
body.k2-site a.k2-chrome-tabs__tab.is-active:visited,
body.k2-site button.k2-chrome-tabs__tab.is-active {
	color: var(--k2-segment-active-text);
	background: transparent;
	border-color: var(--k2-segment-active-ring);
	box-shadow: none;
}

body.k2-site a.k2-chrome-tabs__tab.is-active:hover,
body.k2-site button.k2-chrome-tabs__tab.is-active:hover {
	color: var(--k2-segment-active-text);
	background: transparent;
	text-decoration: none;
}

.k2-chrome-tabs__filters {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	align-self: center;
	gap: 5px;
	margin-left: auto;
	padding: 0 4px 0 10px;
}

body.k2-site a.k2-lb-filter,
body.k2-site a.k2-lb-filter:visited {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--k2-text-muted);
	font-family: var(--k2-font-body);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.1;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.15s;
}

body.k2-site a.k2-lb-filter:hover {
	color: var(--k2-text-muted);
	text-decoration: none;
}

body.k2-site a.k2-lb-filter.is-on,
body.k2-site a.k2-lb-filter.is-on:visited {
	color: var(--k2-text-muted);
}

.k2-lb-filter__dot {
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--k2-text-muted) 55%, transparent);
	background: color-mix(in srgb, var(--k2-text-muted) 28%, var(--k2-bg-elevated));
	box-sizing: border-box;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.k2-lb-filter.is-on .k2-lb-filter__dot {
	border-color: color-mix(in srgb, var(--k2-accent) 70%, transparent);
	background: var(--k2-accent);
	box-shadow: 0 0 4px var(--k2-accent-glow);
}

.k2-lb-filter__label {
	white-space: nowrap;
}

@media (max-width: 900px) {
	.k2-chrome-tabs__filters {
		flex-basis: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		align-self: auto;
		margin-left: 0;
		padding: 4px 4px 0;
		border-left: none;
		border-top: 1px solid var(--k2-border-subtle);
	}
}

/* Status room live — text ink glow (jukebox timing, no box/pill chrome) */
body.k2-site .k2-live-glow {
	animation: k2-live-glow-bloom 2.6s ease-out;
}

/* .blue counts — white bloom on stat digits when they glow */
body.k2-site .blue.k2-live-glow {
	animation-name: k2-live-glow-bloom-white;
}

/* Live score digits — bright white bloom (plain grey + leading .blue) */
body.k2-site .k2-status-score__goal.k2-live-glow,
body.k2-site .k2-status-score__goal .blue.k2-live-glow {
	animation-name: k2-live-glow-bloom-white;
}

/* Status room accent ink — warm bloom between accent and score white */
body.k2-site .k2-status-room .k2-link-star.k2-live-glow,
body.k2-site .k2-status-room a[href*="/player/"].k2-live-glow {
	animation-name: k2-live-glow-bloom-warm;
}

/* Elo / league cascade cells — warm; .blue and score digits stay white above */
body.k2-site .k2-live-glow.k2-live-glow--white {
	animation-name: k2-live-glow-bloom-warm;
}

@keyframes k2-live-glow-bloom {
	0% {
		text-shadow: none;
		animation-timing-function: cubic-bezier(0.45, 0, 0.35, 1);
	}
	38% {
		/* text-shadow: offset-x offset-y blur color only (no spread — unlike box-shadow) */
		text-shadow:
			0 0 4px color-mix(in srgb, white 42%, var(--k2-accent)),
			0 0 12px color-mix(in srgb, white 38%, var(--k2-accent-glow)),
			0 0 24px color-mix(in srgb, var(--k2-accent-glow) 92%, transparent),
			0 0 40px color-mix(in srgb, var(--k2-accent) 72%, transparent),
			0 0 56px color-mix(in srgb, var(--k2-accent-glow) 48%, transparent);
		color: color-mix(in srgb, white 32%, var(--k2-accent));
		animation-timing-function: cubic-bezier(0.25, 0, 0.45, 1);
	}
	100% {
		text-shadow: none;
	}
}

@keyframes k2-live-glow-bloom-blue {
	0% {
		text-shadow: none;
		animation-timing-function: cubic-bezier(0.45, 0, 0.35, 1);
	}
	38% {
		text-shadow:
			0 0 4px color-mix(in srgb, white 42%, var(--k2-stat-positive-base)),
			0 0 12px color-mix(in srgb, white 38%, var(--k2-table-positive-glow)),
			0 0 24px color-mix(in srgb, var(--k2-table-positive-glow) 92%, transparent),
			0 0 40px color-mix(in srgb, var(--k2-stat-positive-base) 72%, transparent),
			0 0 56px color-mix(in srgb, var(--k2-table-positive-glow) 48%, transparent);
		color: color-mix(in srgb, white 32%, var(--k2-table-positive));
		animation-timing-function: cubic-bezier(0.25, 0, 0.45, 1);
	}
	100% {
		text-shadow: none;
	}
}

@keyframes k2-live-glow-bloom-white {
	0% {
		text-shadow: none;
		animation-timing-function: cubic-bezier(0.45, 0, 0.35, 1);
	}
	38% {
		text-shadow:
			0 0 4px color-mix(in srgb, white 88%, transparent),
			0 0 12px color-mix(in srgb, white 72%, transparent),
			0 0 24px color-mix(in srgb, white 52%, transparent),
			0 0 40px color-mix(in srgb, white 36%, transparent),
			0 0 56px color-mix(in srgb, white 22%, transparent);
		color: #fff;
		animation-timing-function: cubic-bezier(0.25, 0, 0.45, 1);
	}
	100% {
		text-shadow: none;
	}
}

/* Player names + accent ink — between accent bloom and score white */
@keyframes k2-live-glow-bloom-warm {
	0% {
		text-shadow: none;
		animation-timing-function: cubic-bezier(0.45, 0, 0.35, 1);
	}
	38% {
		text-shadow:
			0 0 4px color-mix(in srgb, white 62%, var(--k2-accent)),
			0 0 12px color-mix(in srgb, white 52%, var(--k2-accent-glow)),
			0 0 24px color-mix(in srgb, white 38%, var(--k2-accent-glow)),
			0 0 40px color-mix(in srgb, white 24%, var(--k2-accent)),
			0 0 56px color-mix(in srgb, white 14%, var(--k2-accent-glow));
		color: color-mix(in srgb, white 58%, var(--k2-accent));
		animation-timing-function: cubic-bezier(0.25, 0, 0.45, 1);
	}
	100% {
		text-shadow: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.k2-site .k2-live-glow {
		animation: none;
		text-shadow:
			0 0 8px color-mix(in srgb, white 30%, var(--k2-accent-glow)),
			0 0 20px color-mix(in srgb, var(--k2-accent-glow) 80%, transparent);
	}

	body.k2-site .blue.k2-live-glow {
		text-shadow:
			0 0 8px color-mix(in srgb, white 70%, transparent),
			0 0 20px color-mix(in srgb, white 45%, transparent);
	}

	body.k2-site .k2-status-score__goal.k2-live-glow,
	body.k2-site .k2-status-score__goal .blue.k2-live-glow {
		text-shadow:
			0 0 8px color-mix(in srgb, white 70%, transparent),
			0 0 20px color-mix(in srgb, white 45%, transparent);
	}

	body.k2-site .k2-status-room .k2-link-star.k2-live-glow,
	body.k2-site .k2-status-room a[href*="/player/"].k2-live-glow {
		text-shadow:
			0 0 8px color-mix(in srgb, white 42%, var(--k2-accent-glow)),
			0 0 20px color-mix(in srgb, white 28%, var(--k2-accent-glow));
	}

	body.k2-site .k2-live-glow.k2-live-glow--white {
		text-shadow:
			0 0 8px color-mix(in srgb, white 42%, var(--k2-accent-glow)),
			0 0 20px color-mix(in srgb, white 28%, var(--k2-accent-glow));
	}
}
