:root {
	--ink:       #0B0C10;
	--surf:      #111318;
	--surf2:     #1A1C24;
	--surf3:     #22242F;
	--line:      #2C2F3A;

	--bone:      #EDEAE0;
	--bone-dim:  #948F86;

	--red:       #D42020;
	--red-hi:    #F03030;
	--red-glow:  rgba(212,32,32,0.18);

	--blue:      #1A5FD4;
	--blue-hi:   #2272FF;
	--blue-glow: rgba(26,95,212,0.18);

	--gold:      #C8961F;
	--gold-hi:   #E2AA2A;

	--display: 'Saira Condensed', 'Arial Narrow', 'Verdana', sans-serif;
	--ui:      'Inter', 'Verdana', sans-serif;
	--body:    'Inter', -apple-system, sans-serif;

	/* Type scale — ~1.2 ratio, anchored on the 14/16px UI sizes.
	   Use these instead of raw px so theme and plugin stay in step.
	   Fluid display sizes stay as clamp() at their call site. */
	--fs-2xs:  11px;
	--fs-xs:   12px;
	--fs-sm:   13px;
	--fs-base: 14px;
	--fs-md:   16px;
	--fs-lg:   19px;
	--fs-xl:   23px;
	--fs-2xl:  28px;
	--fs-3xl:  34px;

	/* Tracking — uppercase needs more of it the smaller it gets, so these
	   are paired with size rather than picked ad hoc. Display values are
	   tuned for the condensed display face: narrow letterforms sit closer
	   naturally, so they need less added tracking than a normal-width
	   grotesque would, and negative tracking would crowd them. */
	--track-display:  0em;     /* huge display type */
	--track-tight:    0.02em;  /* headings */
	--track-wide:     0.06em;  /* mixed-case labels */
	--track-label:    0.10em;  /* uppercase labels */
	--track-caps:     0.14em;  /* small uppercase */
	--track-micro:    0.22em;  /* eyebrows, 11px and under */

	--max:    1180px;
	--edge:   16px;

	/* Radius scale. 50% stays literal where a true circle is meant. */
	--radius-xs:   3px;
	--radius-sm:   6px;
	--radius:      8px;
	--radius-lg:  12px;
	--radius-pill: 999px;

--nav-h: 64px;
	
	--safe-b: 0px;
}

@media (min-width: 640px) { :root { --edge: 24px; } }
@media (min-width: 1024px) { :root { --edge: clamp(24px, 5vw, 64px); --nav-h: 0px; } }

@keyframes vbxa-tab-pop {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.28); }
	100% { transform: scale(1); }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

#schedule, #venues, #results { scroll-margin-top: calc(var(--nav-h) + 16px); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
body {
	margin: 0;
	background: var(--ink);
	color: var(--bone);
	font-family: var(--body);
	font-size: var(--fs-md);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	position: relative;
}

/* Subtle sitewide echo of the hero/404 background — fixed so it stays put while scrolling */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background: linear-gradient(135deg, rgba(140,8,8,0.10) 0%, rgba(60,5,5,0.07) 25%, rgba(11,12,16,0) 50%, rgba(15,25,50,0.07) 75%, rgba(10,20,45,0.10) 100%), var(--ink);
}

.vbxa-body-slash {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	overflow: hidden;
}
.vbxa-body-slash::before,
.vbxa-body-slash::after {
	content: "/";
	position: absolute;
	font-family: var(--display);
	font-weight: 700;
}
.vbxa-body-slash::before {
	font-size: 280px;
	top: -50px;
	left: -30px;
	color: rgba(212,32,32,0.025);
}
.vbxa-body-slash::after {
	font-size: 200px;
	bottom: -20px;
	right: -10px;
	color: rgba(26,95,212,0.02);
}
a { color: #ac9f8d; text-decoration: none; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

.vbxa-accent-red  { color: var(--red); }
.vbxa-accent-blue { color: var(--blue-hi); }
.vbxa-accent-gold { color: var(--gold); }

.vbxa-eyebrow {
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-2xs);
	letter-spacing: var(--track-micro);
	text-transform: uppercase;
	color: var(--gold);
	margin: 0 0 8px;
}

.vbxa-page-wrap {
	padding-bottom: var(--safe-b);
}

.vbxa-appbar {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(11,12,16,0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--line);
}

.vbxa-appbar::before {
	content: "";
	display: block;
	height: 2px;
	background: linear-gradient(90deg, var(--red) 50%, var(--blue) 50%);
}

.vbxa-appbar-inner {
	max-width: var(--max);
	margin: 0 auto;
	padding: 12px var(--edge);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.vbxa-brand { display: flex; align-items: center; gap: 8px; }
.vbxa-brand-text {
	font-family: var(--display);
	font-weight: 700;
	font-size: var(--fs-xl);
	letter-spacing: var(--track-wide);
	text-transform: uppercase;
	color: var(--bone);
}

.vbxa-desktop-nav { display: none; }

@media (max-width: 1023px) {
	.vbxa-appbar-cta { display: none; }
}

.vbxa-nav-list {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0; padding: 0;
}
.vbxa-nav-list a {
	position: relative;
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-base);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
	transition: color 0.15s;
}
.vbxa-nav-list a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -6px;
	height: 2px;
	background: var(--red);
	transition: right 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.vbxa-nav-list a:hover { color: var(--bone); }
.vbxa-nav-list a:hover::after { right: 0; }

.vbxa-appbar-cta {
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-sm);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: #fff;
	background: var(--red);
	padding: 8px 16px;
	border-radius: var(--radius-sm);
	transition: background 0.15s, transform 0.15s;
	white-space: nowrap;
}
.vbxa-appbar-cta:hover { background: var(--red-hi); transform: translateY(-1px); }

.vbxa-hamburger {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 0 14px 0 12px;
	flex-shrink: 0;
	background: var(--red);
	border: 1px solid var(--red);
	border-radius: var(--radius);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(178, 20, 20, 0.35);
	transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}
.vbxa-hamburger svg { width: 20px; height: 20px; flex-shrink: 0; }
.vbxa-hamburger svg line {
	transform-origin: center;
	transition: transform 0.25s ease, opacity 0.2s ease, y1 0.2s ease, y2 0.2s ease;
}
.vbxa-hamburger-label {
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-xs);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	white-space: nowrap;
}
.vbxa-hamburger:hover { background: var(--red-hi); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(178, 20, 20, 0.45); }
.vbxa-hamburger.is-open { background: var(--surf2); border-color: var(--red); color: var(--bone); box-shadow: none; }
.vbxa-hamburger.is-open .vbxa-hamburger-l1 { transform: translateY(6px) rotate(45deg); }
.vbxa-hamburger.is-open .vbxa-hamburger-l2 { opacity: 0; }
.vbxa-hamburger.is-open .vbxa-hamburger-l3 { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 359px) {
	.vbxa-hamburger-label { display: none; }
	.vbxa-hamburger { padding: 0; width: 40px; }
}

@media (min-width: 1024px) {
	.vbxa-desktop-nav { display: block; }
	.vbxa-hamburger { display: none; }
	.vbxa-appbar-cta { display: inline-block; }
}

.vbxa-drawer-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 149;
	background: rgba(0,0,0,0.6);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.vbxa-drawer-overlay.is-visible {
	display: block;
}
.vbxa-drawer-overlay.is-active {
	opacity: 1;
}

.vbxa-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 150;
	width: min(320px, 85vw);
	background: var(--surf);
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.vbxa-drawer.is-open {
	transform: translateX(0);
}

.vbxa-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid var(--line);
	flex-shrink: 0;
}

.vbxa-drawer-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--surf2);
	border: 1px solid var(--line);
	border-radius: 50%;
	color: var(--bone-dim);
	cursor: pointer;
	transition: color 0.15s, background 0.15s;
	flex-shrink: 0;
}
.vbxa-drawer-close:hover {
	color: var(--bone);
	background: var(--surf3);
}

.vbxa-drawer-nav {
	flex: 1;
	padding: 12px 0;
}
.vbxa-drawer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.vbxa-drawer-list li a {
	display: flex;
	align-items: center;
	padding: 14px 24px;
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-md);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
	border-left: 3px solid transparent;
	transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.vbxa-drawer-list li a:hover,
.vbxa-drawer-list li.current-menu-item a {
	color: var(--bone);
	background: var(--surf2);
	border-left-color: var(--red);
}
.vbxa-drawer-list li.current-menu-item a {
	color: var(--red);
}

.vbxa-drawer-list li:not(:last-child) a {
	border-bottom: 1px solid var(--line);
}

.vbxa-drawer-footer {
	padding: 20px;
	border-top: 1px solid var(--line);
	flex-shrink: 0;
}
.vbxa-drawer-cta {
	display: block;
	text-align: center;
	width: 100%;
	padding: 14px;
}
.vbxa-drawer-credit {
	margin: 14px 0 0;
	font-size: var(--fs-2xs);
	color: var(--bone-dim);
	text-align: center;
	letter-spacing: var(--track-wide);
}

@media (min-width: 1024px) {
	.vbxa-drawer,
	.vbxa-drawer-overlay { display: none !important; }
}

.vbxa-hero {
	position: relative;
	overflow: hidden;
	padding: 56px var(--edge) 64px;
	min-height: 56vh;
	display: flex;
	align-items: center;
	background: linear-gradient(135deg, rgba(140,8,8,0.85) 0%, rgba(60,5,5,0.6) 25%, rgba(11,12,16,0.1) 50%, rgba(15,25,50,0.6) 75%, rgba(10,20,45,0.85) 100%), var(--ink);
}

.vbxa-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.3); 
	pointer-events: none;
	z-index: 0;
}

.vbxa-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--hero-logo-url);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 80%;
	opacity: 0.03;
	pointer-events: none;
	z-index: 0;
}

@media (min-width: 1024px) {
	.vbxa-hero::before {
		display: none;
	}
	.vbxa-hero-logo-deco {
		display: block;
	}
}

.vbxa-hero-logo-deco {
	display: none; 
	position: absolute;
	right: -2%;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(340px, 38vw, 560px);
	aspect-ratio: 1;
	pointer-events: none;
	z-index: 0;
}
.vbxa-hero-logo-deco img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0.04;
	
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 15%, rgba(0,0,0,0.5) 40%, black 80%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 15%, rgba(0,0,0,0.5) 40%, black 80%);
}

.vbxa-hero-slash {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}
.vbxa-hero-slash .vbxa-slash-red,
.vbxa-hero-slash .vbxa-slash-blue {
	display: block;
	content: "";
	position: absolute;
	font-family: var(--display);
	font-weight: 700;
}
.vbxa-hero-slash .vbxa-slash-red::before,
.vbxa-hero-slash .vbxa-slash-blue::before {
	content: "/";
	position: absolute;
	font-family: var(--display);
	font-weight: 700;
	transform: skewX(-8deg);
}
.vbxa-hero-slash .vbxa-slash-red::before {
	font-size: 320px;
	top: -60px;
	left: -40px;
	color: rgba(212,32,32,0.06);
}
.vbxa-hero-slash .vbxa-slash-blue::before {
	font-size: 200px;
	bottom: -30px;
	right: -10px;
	color: rgba(26,95,212,0.05);
}

.vbxa-hero-inner {
	position: relative;
	z-index: 1;
	max-width: var(--max);
	margin: 0 auto;
	width: 100%;
}

.vbxa-hero-title {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(52px, 14vw, 108px);
	line-height: 0.94;
	letter-spacing: var(--track-display);
	text-transform: uppercase;
	margin: 0 0 18px;
}
.vbxa-hero-title em {
	font-style: normal;
	color: var(--red);
	
	-webkit-text-stroke: 0px;
}

.vbxa-hero-sub {
	font-size: var(--fs-base);
	font-weight: 500;
	color: var(--bone-dim);
	max-width: 360px;
	margin: 0 0 28px;
	line-height: 1.5;
}
.vbxa-hero-sub a {
	color: var(--bone);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--red);
}

.vbxa-hero-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.vbxa-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 16px;
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-base);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	border-radius: var(--radius-sm);
	border: none;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
}
.vbxa-btn:active { transform: scale(0.94); }
.vbxa-btn-red {
	position: relative;
	overflow: hidden;
	background: var(--red);
	color: #fff;
}
.vbxa-btn-red::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 65%);
	opacity: 0;
	transform: scale(0.4);
	transition: opacity 0.35s ease, transform 0.45s ease;
	pointer-events: none;
}
.vbxa-btn-red:hover::after { opacity: 1; transform: scale(1.5); }
.vbxa-btn-red:hover {
	background: var(--red-hi);
	transform: translateY(-2px);
	box-shadow: 0 6px 24px var(--red-glow);
}
.vbxa-btn-ghost {
	background: transparent;
	color: var(--bone);
	border: 1.5px solid var(--bone);
}
.vbxa-btn-ghost:hover {
	border-color: var(--red-hi);
	color: var(--red-hi);
	transform: translateY(-2px);
}

.vbxa-hero-countdown {
	margin-top: 28px;
	max-width: 360px;
}
.vbxa-hero-countdown-label {
	font-family: var(--ui);
	font-weight: 600;
	font-size: var(--fs-xs);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--gold);
	margin: 0 0 10px;
}
.vbxa-hero-countdown-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
.vbxa-hero-countdown-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 10px 4px;
	background: var(--surf2);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.vbxa-hero-countdown-num {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(22px, 5vw, 30px);
	line-height: 1;
	color: var(--bone);
	font-variant-numeric: tabular-nums;
}
.vbxa-hero-countdown-word {
	font-family: var(--ui);
	font-weight: 500;
	font-size: var(--fs-2xs);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
}
.vbxa-hero-countdown[data-done] .vbxa-hero-countdown-grid {
	display: none;
}
.vbxa-hero-countdown[data-done] .vbxa-hero-countdown-label {
	color: var(--red-hi);
}
.vbxa-hero-countdown[data-done] .vbxa-hero-countdown-label::after {
	content: " — Live / Ended";
}

.vbxa-section {
	padding: 40px var(--edge);
}
.vbxa-section-alt {
	background: rgba(17,19,24,0.92); /* var(--surf) with slight transparency so the sitewide background shows through faintly */
}
.vbxa-section-inner {
	max-width: var(--max);
	margin: 0 auto;
}
.vbxa-section-head {
	margin-bottom: 20px;
}


.vbxa-section-head-split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.vbxa-section-head-text {
	display: flex;
	flex-direction: column;
}
.vbxa-section-challonge-link {
	flex-shrink: 0;
}
.vbxa-section-challonge-link .vbxa-challonge-logo {
	height: 24px;
}
@media (max-width: 640px) {
	.vbxa-section-head-split {
		flex-direction: column;
		align-items: flex-start;
	}
}

.vbxa-section-title {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(32px, 8vw, 52px);
	text-transform: uppercase;
	letter-spacing: var(--track-tight);
	margin: 0;
}

.vbxa-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.vbxa-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* "Rip" entrance — same skewed-slash energy as the 404 page, applied to section titles sitewide */
.vbxa-section-head .vbxa-eyebrow,
.vbxa-section-head .vbxa-section-title {
	opacity: 0;
	transform: translateX(-16px) skewX(-3deg);
	transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.vbxa-section-head.is-visible .vbxa-eyebrow {
	opacity: 1;
	transform: translateX(0) skewX(0);
}
.vbxa-section-head.is-visible .vbxa-section-title {
	opacity: 1;
	transform: translateX(0) skewX(0);
	transition-delay: 0.06s;
}

@media (min-width: 768px) {
	.vbxa-section { padding: 64px var(--edge); }
}

.vbxa-match-feed {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px; 
}

.vbxa-match-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 16px 16px 20px;
	background: var(--surf2);
	border-radius: var(--radius);
	border: 1px solid var(--line);
	overflow: hidden;
	cursor: pointer;
	transition: background 0.12s, transform 0.12s;
	text-decoration: none;
	color: inherit;
}
.vbxa-match-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 6px;
	background: linear-gradient(180deg, var(--red) 0 50%, var(--blue) 50% 100%);
	transform: skewX(-12deg);
	transform-origin: bottom left;
}
.vbxa-match-card:hover,
.vbxa-match-card:focus-visible {
	background: var(--surf3);
	transform: translateX(2px);
}

.vbxa-match-feed li:first-child .vbxa-match-card {
	box-shadow: inset 3px 0 12px var(--red-glow);
}
.vbxa-match-feed li:first-child .vbxa-match-card::before {
	width: 8px;
	box-shadow: 0 0 12px var(--red-glow), 0 0 12px var(--blue-glow);
}

.vbxa-match-datepill {
	flex: 0 0 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--surf3);
	border-radius: var(--radius-sm);
	padding: 8px 6px;
	border: 1px solid var(--line);
	text-align: center;
}
.vbxa-match-day {
	font-family: var(--display);
	font-weight: 700;
	font-size: var(--fs-2xl);
	line-height: 1;
	color: var(--bone);
}
.vbxa-match-mon {
	font-family: var(--ui);
	font-size: var(--fs-2xs);
	font-weight: 700;
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
	margin-top: 2px;
}

.vbxa-match-content {
	flex: 1;
	min-width: 0;
}
.vbxa-match-round {
	display: inline-block;
	font-family: var(--ui);
	font-size: var(--fs-2xs);
	font-weight: 700;
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 2px;
}
.vbxa-match-title {
	font-family: var(--display);
	font-weight: 700;
	font-size: var(--fs-lg);
	letter-spacing: var(--track-tight);
	text-transform: uppercase;
	margin: 0 0 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.vbxa-match-meta {
	margin: 0;
	font-size: 12.5px;
	color: var(--bone-dim);
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.vbxa-match-time { color: var(--blue-hi); font-weight: 600; }
.vbxa-meta-sep { opacity: 0.4; }

.vbxa-match-arrow {
	flex: 0 0 auto;
	color: var(--line);
	transition: color 0.12s;
}
.vbxa-match-card:hover .vbxa-match-arrow { color: var(--bone-dim); }

.vbxa-results-season-label {
	font-family: var(--ui);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: var(--track-caps);
	text-transform: uppercase;
	color: var(--bone-dim);
	margin: 0 0 20px;
}


.vbxa-empty {
	padding: 48px 24px;
	text-align: center;
	background: var(--surf2);
	border: 1px dashed var(--line);
	border-radius: var(--radius);
}
.vbxa-empty-icon { font-size: var(--fs-3xl); margin-bottom: 12px; }
.vbxa-empty-text {
	font-family: var(--display);
	font-weight: 700;
	font-size: var(--fs-lg);
	text-transform: uppercase;
	margin: 0 0 4px;
}
.vbxa-empty-sub {
	font-size: 13.5px;
	color: var(--bone-dim);
	margin: 0;
}

.vbxa-footer {
	background: var(--surf);
	border-top: 1px solid var(--line);
}

.vbxa-footer-inner {
	max-width: var(--max);
	margin: 0 auto;
	padding: 40px var(--edge) 32px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
@media (min-width: 640px) {
	.vbxa-footer-inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
	}
}

.vbxa-footer-brand p {

    align-items: center;
    font-family: var(--ui);
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: var(--track-wide);
    text-transform: uppercase;
    color: var(--bone);
	transition: color 0.15s;
}

.vbxa-footer-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.vbxa-footer-list {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
}
.vbxa-footer-list a {
    align-items: center;
    font-family: var(--ui);
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: var(--track-wide);
    text-transform: uppercase;
    color: var(--bone);
	transition: color 0.15s;
}

.vbxa-footer-list a:hover { color: var(--bone); }

.vbxa-footer-fb {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ui);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: var(--track-wide);
	text-transform: uppercase;
	color: var(--blue-hi);
}

.vbxa-footer-bottom {
	border-top: 1px solid var(--line);
	padding: 16px var(--edge);
	text-align: center;
}
.vbxa-footer-bottom p {
	margin: 0;
	font-size: var(--fs-xs);
	color: var(--bone-dim);
	letter-spacing: var(--track-tight);
}

.vbxa-hero-logo-right {
	display: none; 
	position: absolute;
	right: max(var(--edge), calc((100% - var(--max)) / 2 + var(--edge)));
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	pointer-events: none;
}
.vbxa-hero-logo-right img {
	width: clamp(140px, 18vw, 260px);
	height: auto;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 0 18px rgba(212,32,32,0.18));
}

.vbxa-hero-logo-placeholder {
	width: clamp(140px, 18vw, 260px);
	aspect-ratio: 1;
	border: 2px dashed var(--line);
	border-radius: var(--radius);
	display: none; 
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.02);
}
.vbxa-hero-logo-placeholder-text {
	font-family: var(--ui);
	font-size: var(--fs-sm);
	font-weight: 700;
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
	opacity: 0.5;
}

@media (min-width: 1024px) {
	.vbxa-hero-logo-right {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.vbxa-hero-inner {
		padding-right: clamp(160px, 22vw, 300px);
	}
}

.vbxa-match-countdown {
	margin: 4px 0 0;
	font-size: var(--fs-xs);
	font-family: var(--ui);
	font-weight: 700;
	letter-spacing: var(--track-wide);
	text-transform: uppercase;
	color: var(--gold);
	display: flex;
	align-items: center;
	gap: 4px;
}
.vbxa-match-countdown .vbxa-countdown-label {
	color: var(--bone-dim);
	font-weight: 600;
}
.vbxa-match-countdown[data-done] .vbxa-countdown-value::before {
	content: "Live / Ended";
	color: var(--red);
}
.vbxa-match-countdown[data-done] .vbxa-countdown-value {
	display: none;
}

.vbxa-challonge-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	pointer-events: all;
	text-decoration: none;
	flex-shrink: 0;
	transition: opacity 0.15s, transform 0.15s;
}
.vbxa-challonge-link:hover {
	opacity: 0.8;
	transform: scale(1.04);
}
.vbxa-challonge-logo {
	display: block;
	height: 28px;
	width: auto;
	max-width: 100px;
	object-fit: contain;
	flex-shrink: 0;
}
.vbxa-challonge-text {
	font-family: var(--ui);
	font-size: var(--fs-base);
	font-weight: 700;
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--bone-dim);
	white-space: nowrap;
	transition: color 0.15s;
}
.vbxa-challonge-link:hover .vbxa-challonge-text {
	color: var(--bone);
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
	.vbxa-page-wrap {
		padding-bottom: env(safe-area-inset-bottom);
	}
}

::selection {
    background: #c83a3a;
    color: #fff;
}

::-moz-selection {
    background: #c83a3a;
    color: #fff;
}

/* -----------------------------------------------------------------
 * One-time announcement popup
 * --------------------------------------------------------------- */
.vbxa-announce {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--edge);
}
.vbxa-announce[hidden] { display: none; }

body.vbxa-announce-open { overflow: hidden; }

.vbxa-announce-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 7, 10, 0.82);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.vbxa-announce.is-open .vbxa-announce-backdrop { opacity: 1; }

.vbxa-announce-panel {
	position: relative;
	width: 100%;
	max-width: 440px;
	padding: 36px 28px 28px;
	text-align: center;
	background: var(--surf2);
	border: 1px solid var(--line);
	border-top: 3px solid var(--gold);
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
	opacity: 0;
	transform: translateY(12px) scale(0.98);
	transition: opacity 0.28s ease, transform 0.28s ease;
}
.vbxa-announce.is-open .vbxa-announce-panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.vbxa-announce-close {
	position: absolute;
	top: 8px;
	right: 12px;
	background: none;
	border: 0;
	padding: 4px 8px;
	font-size: var(--fs-2xl);
	line-height: 1;
	color: var(--bone-dim);
	cursor: pointer;
	transition: color 0.15s ease;
}
.vbxa-announce-close:hover,
.vbxa-announce-close:focus-visible { color: var(--bone); }

.vbxa-announce-eyebrow {
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-2xs);
	letter-spacing: var(--track-micro);
	text-transform: uppercase;
	color: var(--gold);
	margin: 0 0 10px;
}

.vbxa-announce-heading {
	font-family: var(--display);
	font-weight: 700;
	font-size: var(--fs-xl);
	line-height: 1.15;
	letter-spacing: var(--track-tight);
	text-transform: uppercase;
	color: var(--bone);
	margin: 0 0 22px;
}
.vbxa-announce-name {
	display: block;
	margin-top: 6px;
	font-size: var(--fs-3xl);
	color: var(--red-hi);
}

.vbxa-announce-cta {
	font-family: var(--ui);
	font-weight: 700;
	font-size: var(--fs-sm);
	letter-spacing: var(--track-label);
	text-transform: uppercase;
	color: var(--ink);
	background: var(--gold);
	border: 0;
	border-radius: var(--radius-pill);
	padding: 11px 30px;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}
.vbxa-announce-cta:hover { background: var(--gold-hi); }
.vbxa-announce-cta:active { transform: translateY(1px); }

@media (prefers-reduced-motion: reduce) {
	.vbxa-announce-backdrop,
	.vbxa-announce-panel { transition: none; }
}

.vbxa-announce-optout {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 18px 0 0;
	font-family: var(--ui);
	font-size: var(--fs-xs);
	color: var(--bone-dim);
	cursor: pointer;
	user-select: none;
	transition: color 0.15s ease;
}
.vbxa-announce-optout:hover { color: var(--bone); }
.vbxa-announce-optout input {
	width: 15px;
	height: 15px;
	accent-color: var(--gold);
	cursor: pointer;
	flex: 0 0 auto;
	margin: 0;
}
