@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-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;

	--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-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;
	/* 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);
	/* 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));
	/* Status league anchors: cross-tint ink (not --k2-accent); amber/pitch → chrome, chrome/holo → pitch */
	--k2-league-anchor-pure: var(--k2-pure-chrome);
	--k2-league-anchor-ink: color-mix(in srgb, var(--k2-league-anchor-pure) 85%, var(--k2-text-primary));
	--k2-table-positive: color-mix(in srgb, var(--k2-stat-positive-base) 78%, var(--k2-text-primary));
	--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 — use pitch hue instead */
	--k2-stat-positive-base: var(--k2-pure-pitch);
	--k2-league-anchor-pure: var(--k2-pure-pitch);
	--k2-league-anchor-ink: color-mix(in srgb, var(--k2-league-anchor-pure) 85%, var(--k2-text-primary));
}

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 — use pitch hue (same rule as chrome) */
	--k2-stat-positive-base: var(--k2-pure-pitch);
	--k2-league-anchor-pure: var(--k2-pure-pitch);
	--k2-league-anchor-ink: color-mix(in srgb, var(--k2-league-anchor-pure) 85%, var(--k2-text-primary));
}

html {
	background-color: var(--k2-bg-page);
	scrollbar-gutter: stable;
}

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);
}

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;
}

body.k2-site h1 {
	color: var(--k2-text-primary);
}

/* Hub page lede — muted 13px (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: 13px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--k2-text-muted);
	max-width: 44rem;
}

/* ── 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);
}

.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;
}

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);
}

/* Hover — same core + extra bloom (filter must repeat base drop-shadows) */
body.k2-site a.k2-wordmark__link:hover .k2-wordmark__main,
body.k2-site a.k2-wordmark__link:focus-visible .k2-wordmark__main {
	color: var(--k2-accent);
	text-shadow:
		0 0 10px color-mix(in srgb, var(--k2-accent) 92%, transparent),
		0 0 28px color-mix(in srgb, var(--k2-accent-glow) 88%, transparent),
		0 0 50px color-mix(in srgb, var(--k2-accent-glow) 74%, transparent),
		0 0 72px color-mix(in srgb, var(--k2-accent) 48%, transparent),
		0 0 88px color-mix(in srgb, var(--k2-accent-glow) 64%, transparent),
		0 0 96px color-mix(in srgb, var(--k2-accent-glow) 48%, transparent),
		0 0 88px color-mix(in srgb, var(--k2-accent) 32%, transparent);
	filter:
		var(--k2-accent-bloom-filter)
		drop-shadow(0 0 68px color-mix(in srgb, var(--k2-accent-glow) 46%, transparent))
		drop-shadow(0 0 82px color-mix(in srgb, var(--k2-accent) 28%, transparent));
}

.k2-wordmark__sub {
	font-size: 0.72em;
	font-weight: 500;
	color: var(--k2-text-muted);
}

.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 16px;
	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;
}

@media (max-width: 760px) {
	.k2-realm-switch {
		flex-basis: 100%;
	}
}

.k2-site-header__utility-link {
	flex: 0 0 auto;
	padding: 6px 12px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	color: var(--k2-text-primary);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	background: var(--k2-bg-surface);
}

body.k2-site a.k2-site-header__utility-link:hover,
body.k2-site a.k2-site-header__utility-link:focus-visible {
	border-color: var(--k2-accent);
	color: var(--k2-accent);
	text-decoration: none;
}

.k2-site-header__search {
	margin-left: auto;
}

@media (max-width: 760px) {
	.k2-site-header__search {
		margin-left: 0;
	}
}

.k2-portal-link {
	color: var(--k2-text-muted);
	font-weight: 500;
}

.k2-portal-link:hover {
	color: var(--k2-accent);
	text-decoration: none;
}

/* ── 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;
}

body.k2-site .k2-games-hub {
	max-width: 1200px;
	margin: 0 auto;
}

body.k2-site .k2-games-hub-tabs {
	margin-bottom: 16px;
	width: fit-content;
	max-width: 100%;
}

body.k2-site .k2-games-hub-tabs .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-games-highlights-board-filter {
	margin-bottom: 12px;
	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 {
	width: 100%;
	margin-bottom: 24px;
}

body.k2-site .k2-games-highlights .k2-panel-heading {
	margin-bottom: 8px;
}

/* Highlights table — not ranked-pages-table (col 2 there is min 9.1em for player names); calm-stats ink via .k2-games-highlights-table in calm-stats block below. */
body.k2-site .k2-games-highlights .k2-table.k2-games-highlights-table {
	width: auto;
	max-width: 100%;
	table-layout: auto;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table thead th:nth-child(1),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(1) {
	width: 2.5em;
	min-width: 2.5em;
}

body.k2-site .k2-games-highlights .k2-games-highlights-table thead th:nth-child(2),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(2),
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 thead th:nth-child(5),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(5),
body.k2-site .k2-games-highlights .k2-games-highlights-table thead th:nth-child(6),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(6),
body.k2-site .k2-games-highlights .k2-games-highlights-table thead th:nth-child(8),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(8),
body.k2-site .k2-games-highlights .k2-games-highlights-table thead th:nth-child(9),
body.k2-site .k2-games-highlights .k2-games-highlights-table tbody td:nth-child(9) {
	width: 1%;
	white-space: nowrap;
}

body.k2-site .k2-games-list {
	max-width: 1200px;
	margin: 0 auto;
}

body.k2-site .k2-games-day {
	margin-bottom: 20px;
}

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,
body.k2-site .server-activity-summary__texture {
	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;
}

/* Softer accent numbers in lede + averages line (vs global .blue on tables) */
body.k2-site .server-activity-summary .blue {
	color: color-mix(in srgb, var(--k2-table-positive) 62%, var(--k2-text-secondary));
}

body.k2-site .server-activity-summary__texture {
	margin: 11px 0 0;
}

@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-games-month-chart,
body.k2-site .player-top-opponents-chart,
body.k2-site .player-head-to-head-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: 13px;
	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;
}

/* 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-games-month-chart canvas,
body.k2-site .player-top-opponents-chart canvas,
body.k2-site .player-head-to-head-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-games-month-chart,
	body.k2-site .player-top-opponents-chart,
	body.k2-site .player-head-to-head-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-games-month-chart canvas,
	body.k2-site .player-top-opponents-chart canvas,
	body.k2-site .player-head-to-head-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 {
		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;
}

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-games-month-chart-status,
body.k2-site .player-top-opponents-chart-status,
body.k2-site .player-head-to-head-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);
}

/* Games-by-period leaderboards (Status) — outer panel */
body.k2-site .server-period-activity-leaderboards {
	max-width: var(--k2-max-width);
	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 .server-period-activity-leaderboards__heading.k2-panel-heading {
	margin-bottom: 4px;
}

body.k2-site .server-period-activity-leaderboards__intro {
	margin: 0 0 12px;
	color: var(--k2-text-muted);
	font-size: 0.9em;
	line-height: 1.4;
}

body.k2-site .server-peak-period-leaderboards-status,
body.k2-site .server-peak-period-leaderboard-status,
body.k2-site .server-period-activity-leaderboards-status,
body.k2-site .server-period-activity-leaderboard-status {
	color: var(--k2-text-muted);
}

/* Busiest day / month / year / all-time Activity tables (ranked8) */
body.k2-site .server-peak-period-leaderboards__subnav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	width: fit-content;
	max-width: 100%;
}

body.k2-site .server-peak-period-leaderboards__bar-wrap {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .server-peak-period-leaderboards__bar {
	width: fit-content;
	max-width: 100%;
}

body.k2-site .server-peak-period-leaderboards__panel[hidden] {
	display: none;
}

body.k2-site .server-peak-period-leaderboards {
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 4px;
}

body.k2-site .server-peak-period-leaderboards__grid {
	max-width: var(--k2-max-width);
	margin-bottom: 16px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

body.k2-site .server-peak-period-leaderboards__grid--single {
	grid-template-columns: minmax(0, 1fr);
}

body.k2-site .server-peak-period-leaderboards__grid--period {
	width: fit-content;
	grid-template-columns: repeat(2, max-content);
	column-gap: 56px;
	row-gap: 22px;
}

body.k2-site .server-peak-period-leaderboards__grid--all-time {
	width: fit-content;
	grid-template-columns: repeat(2, max-content);
	column-gap: clamp(40px, 6vw, 72px);
	row-gap: 22px;
}

body.k2-site .server-peak-period-leaderboard-block {
	min-width: 0;
}

body.k2-site .server-peak-period-leaderboard-block[id] {
	scroll-margin-top: 140px;
}

body.k2-site .server-peak-period-leaderboard-block__title.k2-panel-heading {
	margin-bottom: 8px;
	font-size: 13px;
}

body.k2-site .server-peak-period-leaderboard-block .k2-table-wrap {
	overflow-x: auto;
}

body.k2-site .server-records-panels {
	width: fit-content;
	max-width: var(--k2-max-width);
	margin-bottom: 16px;
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 16px;
	align-items: start;
}

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: 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);
}

.k2-chrome-tabs > .server-peak-period-leaderboards {
	margin-top: 12px;
}

body.k2-site .server-period-activity-leaderboards__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

@media (max-width: 1024px) {
	body.k2-site .server-records-panels,
	body.k2-site .server-period-activity-leaderboards__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	body.k2-site .server-peak-period-leaderboards__grid--period,
	body.k2-site .server-peak-period-leaderboards__grid--all-time {
		column-gap: 24px;
	}
}

body.k2-site .server-period-activity-leaderboard {
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-elevated);
}

body.k2-site .server-period-activity-leaderboard__title.k2-panel-heading {
	margin-bottom: 4px;
	font-size: 13px;
}

body.k2-site .server-period-activity-leaderboard__hint {
	margin: 0 0 10px;
	color: var(--k2-text-muted);
	font-size: 0.85em;
	line-height: 1.35;
}

body.k2-site .server-period-activity-leaderboard .k2-table-wrap {
	overflow-x: auto;
}

body.k2-site .server-period-activity-leaderboard__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-bottom: 4px;
}

body.k2-site .server-period-activity-leaderboard__picker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 0.85em;
	color: var(--k2-text-muted);
}

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-period-activity-leaderboard__calendar-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	min-height: 28px;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--k2-accent) 58%, transparent);
	border-radius: var(--k2-radius-sm);
	background: var(--k2-accent-muted);
	color: var(--k2-segment-active-text);
	cursor: pointer;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.025) inset;
	transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

body.k2-site .server-period-activity-leaderboard__calendar-button:hover,
body.k2-site .server-period-activity-leaderboard__calendar-button:focus-visible {
	border-color: var(--k2-accent);
	background: color-mix(in srgb, var(--k2-accent) 22%, transparent);
	color: var(--k2-text-primary);
	box-shadow: 0 0 0 2px var(--k2-accent-muted);
	outline: none;
}

body.k2-site .server-period-activity-leaderboard__calendar-button:disabled {
	cursor: default;
	opacity: 0.6;
}

body.k2-site .server-period-activity-leaderboard__calendar-icon {
	position: relative;
	width: 15px;
	height: 14px;
	border: 1.5px solid currentColor;
	border-radius: 3px;
	box-sizing: border-box;
}

body.k2-site .server-period-activity-leaderboard__calendar-icon::before {
	content: "";
	position: absolute;
	left: -1.5px;
	right: -1.5px;
	top: 3px;
	border-top: 1.5px solid currentColor;
}

body.k2-site .server-period-activity-leaderboard__calendar-icon::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 7px;
	width: 2px;
	height: 2px;
	background: currentColor;
	box-shadow: 4px 0 0 currentColor, 8px 0 0 currentColor, 0 4px 0 currentColor, 4px 4px 0 currentColor;
}

body.k2-site .server-period-activity-leaderboard__summary {
	margin: 0 0 10px;
	font-size: 0.9em;
	color: var(--k2-text-primary);
}

body.k2-site .server-period-activity-leaderboard__summary-period {
	color: var(--k2-text-muted);
}

body.k2-site .server-period-activity-leaderboard--loading {
	opacity: 0.72;
}

/* ── 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);
}

body.k2-site .k2-table.ranked-pages-table thead th:nth-child(1),
body.k2-site .k2-table.ranked-pages-table tbody td:nth-child(1) {
	width: 2.7em;
	min-width: 2.7em;
}

body.k2-site .k2-table.ranked-pages-table thead th:nth-child(2),
body.k2-site .k2-table.ranked-pages-table tbody td:nth-child(2) {
	min-width: 9.1em;
}

/* Player matchup tables (Opponent col 1, Games col 2): not hub Rank/Player — normal Games width */
body.k2-site .k2-table.k2-table--opponent-matchup.ranked-pages-table thead th:nth-child(1),
body.k2-site .k2-table.k2-table--opponent-matchup.ranked-pages-table tbody td:nth-child(1) {
	width: auto;
	min-width: 9.1em;
}

body.k2-site .k2-table.k2-table--opponent-matchup.ranked-pages-table thead th:nth-child(2),
body.k2-site .k2-table.k2-table--opponent-matchup.ranked-pages-table tbody td:nth-child(2) {
	width: auto;
	min-width: 0;
}

/* 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-sm,
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,
body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-xl,
body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-xxl,
body.k2-site .k2-table.ranked-pages-table .k2-table-cell--pad-left-xxxl {
	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 tr:first-child:not(:last-child) th.filtercell,
body.k2-site .k2-table thead tr:first-child:not(:last-child) th.filtercell:hover {
	background-color: var(--k2-bg-page);
	box-shadow: 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-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;
	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;
}

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__action {
	padding-top: 6px;
	border-top: 1px solid var(--k2-border-subtle);
	color: var(--k2-tooltip-footer);
	font-size: 11px;
}

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 thead .nohovercell:hover {
	background-color: var(--k2-bg-surface);
}

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;
}

/* 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 .server-peak-period-leaderboard-block .k2-table.k2-table--calm-stats 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 .blue,
body.k2-site .k2-table.k2-table--calm-stats.ranked-pages-table tbody td.k2-table-anchor-cell .red,
body.k2-site .server-peak-period-leaderboard-block .k2-table.k2-table--calm-stats tbody td.k2-table-anchor-cell,
body.k2-site .server-peak-period-leaderboard-block .k2-table.k2-table--calm-stats tbody td.k2-table-anchor-cell .blue,
body.k2-site .server-peak-period-leaderboard-block .k2-table.k2-table--calm-stats tbody td.k2-table-anchor-cell .red {
	color: var(--k2-link-star);
	font-weight: 600;
}

/* 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;
}

/* 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;
}

/* Status league tables: anchor = cross-tint link-star weight, not current --k2-accent */
body.k2-site .k2-table.k2-table--league-anchor-cross tbody td.k2-table-anchor-cell,
body.k2-site .k2-table.k2-table--league-anchor-cross tbody td.k2-table-anchor-cell .blue,
body.k2-site .k2-table.k2-table--league-anchor-cross tbody td.k2-table-anchor-cell .red {
	color: var(--k2-league-anchor-ink);
	font-weight: 600;
}

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 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-sm {
	padding-left: 13.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-left-xl {
	padding-left: 22.5px;
}

body.k2-site .k2-table .k2-table-cell--pad-left-xxl {
	padding-left: 28px;
}

body.k2-site .k2-table .k2-table-cell--pad-left-xxxl {
	padding-left: 31px;
}

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;
}

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 thead .goalcounter,
body.k2-site .k2-table thead .goalcounter:hover {
	background-color: var(--k2-bg-surface);
	color: var(--k2-text-muted);
}

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 .k2-table tr.tbody_header {
	background-color: var(--k2-bg-hover);
	color: var(--k2-text-primary);
}

body.k2-site .k2-table a.pagelink {
	border-color: var(--k2-border-strong);
	color: var(--k2-text-primary);
}

body.k2-site .k2-table a.currentpage {
	background-color: var(--k2-accent-muted);
	color: var(--k2-segment-active-text);
	font-weight: 500;
}

body.k2-site .blue {
	color: var(--k2-table-positive);
}

body.k2-site .holo {
	color: var(--k2-chart-holo);
}

body.k2-site .red {
	color: var(--k2-table-negative);
}

body.k2-site select.table-autofilter {
	font-size: 11px;
	font-weight: 400;
	color: var(--k2-text-primary);
	background-color: var(--k2-bg-elevated);
	border: 1px solid var(--k2-border-strong);
	border-radius: var(--k2-radius-sm);
}

body.k2-site .k2-table thead .filtercell select.table-autofilter {
	max-width: 100%;
	box-shadow: var(--k2-shadow-surface);
}

/* game.php — interim while browser replay ships */
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 {
	width: fit-content;
	max-width: 100%;
	margin-bottom: 16px;
	overflow: auto;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

body.k2-site .k2-player-games-controls,
body.k2-site .k2-player-games-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 12px;
	color: var(--k2-text-muted);
	font-size: 12px;
}

body.k2-site .k2-player-games-controls__field {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 4px 6px;
}

body.k2-site .k2-player-games-controls .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;
}

body.k2-site .k2-player-games-controls .k2-archive-listbox {
	min-width: 10em;
	max-width: min(22em, 92vw);
}

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;
}

/* 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);
}

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;
}

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;
}


.k2-chrome-tabs__bar + .k2-table-wrap {
	margin-top: 12px;
	border-top: 1px solid var(--k2-border-subtle);
	border-top-left-radius: var(--k2-radius-md);
	border-top-right-radius: var(--k2-radius-md);
}

/* ── Player sub-nav ── */
.k2-player-nav-bar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 20px;
	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;
}

/* ── Player hero scaffold ── */
.k2-player-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 16px;
	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-player-hero__inner {
	--k2-player-hero-avatar-air: 32px;
	display: grid;
	grid-template-columns: auto 1fr;
	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 calc(var(--k2-accent-glow-blur) * var(--k2-glow-strength)) var(--k2-accent-glow);
}

.k2-player-hero__name {
	margin: 0 0 12px;
	font-family: var(--k2-font-display);
	font-size: 24px;
	font-weight: 600;
	color: var(--k2-text-primary);
}

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: 6px;
	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;
	color: var(--k2-text-primary);
}

.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;
}

body.k2-site a.k2-player-hero__milestones,
body.k2-site a.k2-player-hero__milestones:visited,
body.k2-site a.k2-player-hero__milestones:hover,
body.k2-site a.k2-player-hero__milestones:active,
body.k2-site a.k2-player-hero__milestones:focus {
	display: block;
	font: inherit;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

body.k2-site a.k2-player-hero__milestones:hover .k2-player-hero__milestones-total,
body.k2-site a.k2-player-hero__milestones:active .k2-player-hero__milestones-total,
body.k2-site a.k2-player-hero__milestones:focus .k2-player-hero__milestones-total {
	color: var(--k2-text-primary);
}

.k2-player-hero__milestones-total {
	color: var(--k2-text-primary);
}

/* Rank + rating glow: stylesheets/player-hero-rank.css (via k2_head.php) */

/* ── Status bridge + cards ── */
.k2-status-bridge {
	max-width: 1200px;
}

.k2-status-bridge__intro {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px 24px;
	margin-bottom: 4px;
}

.k2-status-bridge__intro--heritage-only {
	justify-content: flex-end;
	margin-bottom: 0;
}

.k2-status-bridge__copy {
	flex: 1 1 280px;
	min-width: 0;
}

.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-heritage-box__note {
	margin: 4px 0 0;
	font-size: 10px;
	color: var(--k2-text-muted);
	line-height: 1.35;
}

.k2-status-tagline {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--k2-text-muted);
}

.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);
}

.k2-card__title.k2-panel-heading {
	margin-bottom: 8px;
}

.k2-card__hint,
.k2-hub-panel__hint,
.k2-status-bridge__link {
	margin: 0;
	font-size: 13px;
	color: var(--k2-text-muted);
	line-height: 1.45;
}

.k2-hub-panel__hint {
	margin-top: 12px;
	font-size: 12px;
}

/* ── Play & setup (join.php) ── */
.k2-join-page {
	--k2-join-read-width: 42rem;
	max-width: var(--k2-max-width);
	margin: 0 auto;
	padding: 8px 0 32px;
}

.k2-join-page__hero,
.k2-join-page__card,
.k2-join-page__details,
.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__lede {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--k2-text-secondary);
}

.k2-join-page__actions,
.k2-join-page__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
}

.k2-join-page__footer {
	margin-top: 8px;
	padding-top: 8px;
}

.k2-join-page__cta {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	color: var(--k2-text-primary);
	background: var(--k2-bg-surface);
}

.k2-join-page__cta--primary {
	border-color: var(--k2-accent);
	color: var(--k2-accent);
}

body.k2-site a.k2-join-page__cta:hover,
body.k2-site a.k2-join-page__cta:focus-visible {
	border-color: var(--k2-accent);
	color: var(--k2-accent);
	text-decoration: none;
}

.k2-join-page__grid {
	display: grid;
	gap: 16px;
	margin-bottom: 16px;
}

@media (min-width: 640px) {
	.k2-join-page__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.k2-join-page__card {
	margin-bottom: 16px;
}

.k2-join-page__prose {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--k2-text-secondary);
}

.k2-join-page__prose:last-child {
	margin-bottom: 0;
}

.k2-join-page__prose--muted {
	color: var(--k2-text-muted);
	font-size: 13px;
}

.k2-join-page__steps {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 14px;
	line-height: 1.55;
	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: 14px;
	line-height: 1.5;
	color: var(--k2-text-secondary);
}

.k2-join-page__link-list li {
	margin-bottom: 8px;
}

.k2-join-page__link-note {
	color: var(--k2-text-muted);
}

.k2-join-page__details {
	margin-bottom: 16px;
}

.k2-join-page__summary {
	cursor: pointer;
	list-style: none;
}

.k2-join-page__summary::-webkit-details-marker {
	display: none;
}

.k2-join-page__summary::before {
	content: "▸ ";
	color: var(--k2-accent);
}

.k2-join-page__details[open] .k2-join-page__summary::before {
	content: "▾ ";
}

.k2-join-page__details-body {
	margin-top: 12px;
	padding-top: 4px;
	border-top: 1px solid var(--k2-border-subtle);
}

.k2-join-page__faq {
	margin: 0;
}

.k2-join-page__faq-item {
	margin-bottom: 14px;
}

.k2-join-page__faq-item:last-child {
	margin-bottom: 0;
}

.k2-join-page__faq dt {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--k2-text-primary);
}

.k2-join-page__faq dd {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--k2-text-muted);
}

.k2-join-page__signoff {
	margin-top: 16px;
	font-weight: 600;
}

.k2-join-page__eval-banner {
	max-width: 720px;
	margin: 0 auto 12px;
	padding: 8px 12px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--k2-text-muted);
	border: 1px dashed var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
}

.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;
}

/* ── 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: 0;
	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: 4px;
	font-size: 11px;
	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: 1px 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);
}

/* Clickable heritage box → box art story page */
.k2-status-heritage-inset--link {
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow 160ms ease, transform 160ms 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;
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--k2-accent) 30%, transparent),
		inset 0 18px 44px rgba(255, 255, 255, 0.04),
		inset 0 -26px 50px rgba(0, 0, 0, 0.3),
		0 0 0 1px color-mix(in srgb, var(--k2-accent) 36%, transparent);
}

.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 {
	font-size: 12px;
}

/* 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: 11px;
	white-space: nowrap;
}

.k2-status-panel__head {
	margin-bottom: 6px;
}

.k2-status-panel__head--league {
	margin-bottom: 6px;
}

.k2-status-league-head__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 4px;
}

.k2-status-league-head__title-row .k2-panel-heading {
	margin: 0;
}

.k2-status-panel__subtitle {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 600;
	color: var(--k2-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* 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;
}

.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;
}

.k2-chrome-tabs > .k2-lb-league-honours {
	margin-top: 12px;
}

body.k2-site .k2-lb-league-honours__subnav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	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;
	border-top: 1px solid var(--k2-border-subtle);
	border-top-left-radius: var(--k2-radius-md);
	border-top-right-radius: var(--k2-radius-md);
}

.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;
}

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;
}

.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: 4px;
	border: 1px solid var(--k2-border-subtle);
	border-radius: var(--k2-radius-md);
	background: var(--k2-bg-surface);
	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;
	margin-left: 10px;
}

.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);
	scrollbar-color: color-mix(in srgb, var(--k2-text-muted) 45%, transparent) var(--k2-bg-elevated);
	scrollbar-width: thin;
}

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__panel::-webkit-scrollbar {
	width: 8px;
}

body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar-track {
	background: var(--k2-bg-elevated);
}

body.k2-site .k2-archive-listbox__panel::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--k2-text-muted) 50%, var(--k2-bg-elevated));
	border-radius: 4px;
}

body.k2-site .k2-archive-listbox__option {
	margin: 0;
	padding: 5px 10px;
	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: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--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-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-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-wrap: wrap;
	gap: 6px 12px;
	font-size: inherit;
}

.k2-status-live-list,
.k2-status-recency-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.k2-status-live-list li,
.k2-status-recency-list:not(.k2-status-day-games-list) li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	padding: 3px 0;
	border-bottom: 1px solid var(--k2-border-subtle);
	font-size: 12px;
}

.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,
.k2-status-recency-list__when {
	flex: 0 0 auto;
	min-width: 4.5em;
	font-size: 11px;
	color: var(--k2-text-muted);
	font-variant-numeric: tabular-nums;
}

.k2-status-score {
	font-weight: 600;
	color: var(--k2-text-secondary);
	font-variant-numeric: tabular-nums;
}

.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; game ids right-aligned in col 3. */
.k2-status-recency-list.k2-status-day-games-list {
	display: grid;
	grid-template-columns: 5.25em 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-recency-list__when,
	.k2-status-recency-list.k2-status-day-games-list > li > .k2-status-match,
	.k2-status-recency-list.k2-status-day-games-list > li > .k2-status-day-games-list__game {
		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-recency-list__when,
	.k2-status-recency-list.k2-status-day-games-list > li:last-child > .k2-status-match,
	.k2-status-recency-list.k2-status-day-games-list > li:last-child > .k2-status-day-games-list__game {
		border-bottom: none;
	}
}

.k2-status-recency-list.k2-status-day-games-list .k2-status-recency-list__when {
	grid-column: 1;
	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: 2;
	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-day-games-list__game {
	grid-column: 3;
	display: inline-block;
	justify-self: end;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.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 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	max-width: var(--k2-max-width);
	margin: 16px 0 12px;
}

.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-player-nav__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: 16px 0 12px;
	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;
}

/* ── Leaderboard wing tabs (segment track + outline active) ── */
.k2-chrome-tabs {
	max-width: 1200px;
	margin-bottom: 4px;
}

.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);
	}
}
