/* RC Tournament Bracket Manager - Frontend */
:root {
	--rtb-bg:       #0f1117;
	--rtb-surface:  #1a1d27;
	--rtb-surface2: #242838;
	--rtb-border:   #2e3347;
	--rtb-accent:   #f59e0b;
	--rtb-accent2:  #3b82f6;
	--rtb-text:     #e2e8f0;
	--rtb-muted:    #8892a4;
	--rtb-win:      #10b981;
	--rtb-live:     #ef4444;
}

/* ---- Wrapper ---- */
.rtb-wrap {
	background: var(--rtb-bg);
	color: var(--rtb-text);
	font-family: 'Segoe UI', system-ui, sans-serif;
	border-radius: 16px;
	padding: 24px;
	box-sizing: border-box;
	width: 100%;
	min-height: 95vh;
	display: flex;
	flex-direction: column;
}
.rtb-wrap.rtb-fullscreen {
	position: fixed;
	inset: 0;
	z-index: 9999;
	border-radius: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 24px;
	width: 100%;
	height: 100%;
	-webkit-overflow-scrolling: touch;
	/* Override flex-column so content flows naturally and is fully scrollable */
	display: block;
	min-height: unset;
}
/* Bracket scroll in fullscreen — fixed height so bracket is always visible */
.rtb-wrap.rtb-fullscreen .rtb-bracket-scroll {
	flex: none;
	min-height: 400px;
	height: auto;
}

/* ---- Header ---- */
.rtb-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap; position:relative; }
.rtb-title { margin:0; font-size:22px; font-weight:800; color:var(--rtb-accent); text-transform:uppercase; letter-spacing:1px; }
.rtb-status-badge,.rtb-status-active,.rtb-status-draft,.rtb-status-finished { padding:4px 12px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; }
.rtb-status-draft    { background:#374151; color:#9ca3af; }
.rtb-status-active   { background:#064e3b; color:#6ee7b7; }
.rtb-status-finished { background:#1e3a8a; color:#93c5fd; }
.rtb-btn-fullscreen { margin-left:auto; background:var(--rtb-surface2); border:1px solid var(--rtb-border); color:var(--rtb-muted); padding:6px 12px; border-radius:8px; cursor:pointer; font-size:16px; }
.rtb-btn-fullscreen:hover { color:var(--rtb-accent); border-color:var(--rtb-accent); }

/* ---- Live banner ---- */
.rtb-live-banner { display:flex; align-items:center; gap:10px; background:linear-gradient(90deg,#7f1d1d,#450a0a); border:1px solid var(--rtb-live); border-radius:10px; padding:12px 20px; margin-bottom:20px; }
.rtb-live-dot { width:10px; height:10px; background:var(--rtb-live); border-radius:50%; animation:rtb-blink 1s infinite; flex-shrink:0; }
.rtb-live-label { font-weight:800; font-size:11px; letter-spacing:2px; color:var(--rtb-live); text-transform:uppercase; }
.rtb-live-drivers { font-size:15px; font-weight:700; color:#fff; }
.rtb-live-vs { color:var(--rtb-accent); font-size:11px; font-weight:900; margin:0 6px; }

/* ---- Bracket layout ---- */
.rtb-bracket-scroll {
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 12px;
	width: 100%;
	flex: 1;
	display: flex;
	align-items: center;
	padding-left: 0;
	padding-right: 0;
}
.rtb-bracket {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: max-content;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}

/* Sides stretch to fill available space */
.rtb-side {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex: 1;
	min-width: max-content;
}
.rtb-side-right { flex-direction: row-reverse; }

/* Center stays a fixed comfortable width */
.rtb-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 60px 20px 0; /* push Final down from the top */
	flex-shrink: 0;
}

/* ---- Rounds — each round fills its share of the side ---- */
.rtb-round {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
	min-width: max-content;
	padding: 0 16px;
}
.rtb-round-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--rtb-muted);
	margin-bottom: 10px;
	white-space: nowrap;
	text-align: center;
}
.rtb-round-matches {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: stretch;
}

/* ---- Match cards — fill round width ---- */
.rtb-match {
	width: 100%;
	min-width: 280px;
	background: var(--rtb-surface);
	border: 1px solid var(--rtb-border);
	border-radius: 10px;
	overflow: hidden;
	box-sizing: border-box;
}
.rtb-match:hover { border-color: var(--rtb-accent2); }
.rtb-match-final {
	border-color: var(--rtb-accent);
	box-shadow: 0 0 24px rgba(245,158,11,.25);
	min-width: 320px;
	width: 320px;
}
/* 3rd place card same width as final */
.rtb-center .rtb-match {
	min-width: 320px;
	width: 320px;
}
.rtb-match-live  { border-color:var(--rtb-live); box-shadow:0 0 18px rgba(239,68,68,.3); animation:rtb-livepulse 2s infinite; }
.rtb-match-empty { opacity:.35; border-style:dashed; }
.rtb-live-indicator { background:var(--rtb-live); color:#fff; font-size:10px; font-weight:800; letter-spacing:1px; padding:3px 8px; display:flex; align-items:center; gap:4px; }
.rtb-match-divider { height:1px; background:var(--rtb-border); }

/* ---- Player slots — bigger ---- */
.rtb-player {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
}
.rtb-player-winner { background: rgba(16,185,129,.12); }
.rtb-player-loser  { opacity: .4; }
.rtb-player-tbd    { justify-content:center; padding:14px; color:var(--rtb-muted); font-style:italic; font-size:13px; }

/* Bigger photo */
.rtb-player-photo {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid var(--rtb-border);
}
.rtb-player-winner .rtb-player-photo { border-color: var(--rtb-win); }

/* Bigger initials circle */
.rtb-player-initials {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--rtb-surface2);
	border: 2px solid var(--rtb-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 800;
	color: var(--rtb-accent);
	flex-shrink: 0;
}

.rtb-player-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.rtb-player-num  { font-size:10px; color:var(--rtb-accent); font-weight:700; letter-spacing:1px; }
.rtb-player-name {
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	overflow: visible;
	color: var(--rtb-text);
}
.rtb-player-winner .rtb-player-name { color: var(--rtb-win); }
.rtb-player-team {
	font-size: 11px;
	color: var(--rtb-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rtb-player-trophy { font-size: 16px; flex-shrink: 0; }
.rtb-player-trophy-placeholder { display:inline-block; width:22px; flex-shrink: 0; } /* holds space when no trophy */
.rtb-player-time { font-size: 15px; font-weight: 800; color: var(--rtb-muted); flex-shrink: 0; min-width: 70px; text-align: right; font-variant-numeric: tabular-nums; padding-left: 4px; }
.rtb-player-winner .rtb-player-time { color: var(--rtb-win); }

/* ---- SVG connectors ---- */
.rtb-bracket-svg { position:absolute; top:0; left:0; pointer-events:none; overflow:visible; }
.rtb-connector { fill:none; stroke:var(--rtb-border); stroke-width:1.5; }

/* ---- Podium ---- */
.rtb-podium { margin-top:36px; padding-top:28px; border-top:1px solid var(--rtb-border); }
.rtb-podium-title { text-align:center; font-size:18px; font-weight:800; color:var(--rtb-accent); text-transform:uppercase; letter-spacing:2px; margin:0 0 28px; }
.rtb-podium-grid { display:flex; justify-content:center; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.rtb-podium-place { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:130px; }
.rtb-podium-medal { font-size:28px; }
.rtb-podium-driver { text-align:center; }
.rtb-podium-photo { width:80px; height:80px; border-radius:50%; object-fit:cover; border:3px solid var(--rtb-accent); display:block; margin:0 auto 6px; }
.rtb-podium-initials { width:80px; height:80px; border-radius:50%; background:var(--rtb-surface2); border:3px solid var(--rtb-accent); display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:900; color:var(--rtb-accent); margin:0 auto 6px; }
.rtb-podium-name { font-weight:800; font-size:14px; color:var(--rtb-text); }
.rtb-podium-team { font-size:11px; color:var(--rtb-muted); margin-top:2px; }
.rtb-podium-block { width:100%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:15px; border-radius:6px 6px 0 0; letter-spacing:1px; }
.rtb-podium-block-1 { height:80px; background:linear-gradient(180deg,#f59e0b,#d97706); color:#1c1400; }
.rtb-podium-block-2 { height:60px; background:linear-gradient(180deg,#94a3b8,#64748b); color:#1c2030; }
.rtb-podium-block-3 { height:44px; background:linear-gradient(180deg,#b45309,#92400e); color:#fff5e0; }

/* ---- Error ---- */
.rtb-error { background:#450a0a; color:#fca5a5; padding:12px 20px; border-radius:8px; border:1px solid #991b1b; }

/* ---- Animations ---- */
@keyframes rtb-blink     { 0%,100%{opacity:1} 50%{opacity:.2} }
@keyframes rtb-livepulse { 0%,100%{box-shadow:0 0 18px rgba(239,68,68,.3)} 50%{box-shadow:0 0 30px rgba(239,68,68,.6)} }

/* ---- Responsive ---- */
@media(max-width:900px) {
	.rtb-wrap { padding:14px; border-radius:0; }
	.rtb-title { font-size:16px; }
	/* Cards keep desktop size — bracket scrolls horizontally */
}

/* ================================================================
   Generate Screen & F1 Start Lights
   ================================================================ */

.rtb-generate-wrap {
	min-height: 95vh;
	display: flex;
	flex-direction: column;
}

.rtb-generate-screen {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 48px;
	padding: 60px 24px;
}

/* ---- Lights row ---- */
.rtb-lights-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
}

.rtb-light {
	position: relative;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: #111520;
	border: 3px solid #2e3347;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: border-color 0.15s;
}

/* Red glow circle — hidden by default */
.rtb-light-glow {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle, #ff2020 0%, #cc0000 55%, transparent 100%);
	opacity: 0;
	transform: scale(0.4);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Logo on top of glow */
.rtb-light-logo {
	position: relative;
	z-index: 2;
	width: 56px;
	height: 56px;
	color: rgba(255,255,255,0.2);
	transition: color 0.25s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rtb-light-logo svg {
	width: 100%;
	height: 100%;
}

/* Lit state */
.rtb-light.rtb-light-on .rtb-light-glow {
	opacity: 1;
	transform: scale(1);
}
.rtb-light.rtb-light-on {
	border-color: #ff2020;
	box-shadow: 0 0 24px rgba(255, 32, 32, 0.7), 0 0 48px rgba(255, 32, 32, 0.3);
}
.rtb-light.rtb-light-on .rtb-light-logo {
	color: #ffffff;
}

/* ---- Status message ---- */
.rtb-generate-msg {
	font-size: 20px;
	font-weight: 700;
	color: var(--rtb-muted);
	letter-spacing: 1px;
	text-align: center;
	min-height: 30px;
	transition: color 0.3s;
}
.rtb-generate-msg.rtb-msg-active {
	color: var(--rtb-text);
}
.rtb-generate-msg.rtb-msg-go {
	color: var(--rtb-accent);
	font-size: 24px;
	animation: rtb-pulse-text 0.6s ease infinite alternate;
}

@keyframes rtb-pulse-text {
	from { opacity: 0.7; }
	to   { opacity: 1; }
}

/* ---- Generate button ---- */
.rtb-generate-btn {
	background: linear-gradient(135deg, #f59e0b, #d97706);
	color: #1c1400;
	border: none;
	border-radius: 14px;
	padding: 18px 48px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.15s, opacity 0.2s;
	box-shadow: 0 4px 24px rgba(245, 158, 11, 0.35);
}
.rtb-generate-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 32px rgba(245, 158, 11, 0.5);
}
.rtb-generate-btn:active {
	transform: translateY(0);
}
.rtb-generate-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
}

/* Responsive */
@media (max-width: 600px) {
	.rtb-light { width: 68px; height: 68px; }
	.rtb-light-logo { width: 38px; height: 38px; }
	.rtb-lights-row { gap: 16px; }
	.rtb-generate-btn { font-size: 15px; padding: 14px 32px; }
}

/* ---- Header IQOS logo ---- */
.rtb-header-logo-wrap {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	pointer-events: none;
}
.rtb-header-logo {
	width: 36px;
	height: 36px;
	color: #ffffff;
	opacity: 0.85;
}

/* ================================================================
   Match Result Popup
   ================================================================ */

.rtb-match-clickable { cursor: pointer; }
.rtb-match-clickable:hover { border-color: var(--rtb-accent) !important; transform: translateY(-1px); transition: transform 0.15s, border-color 0.15s; }

/* Overlay */
.rtb-popup-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.75);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	animation: rtb-fade-in 0.2s ease;
}
.rtb-popup-overlay.rtb-popup-open {
	display: flex;
}

/* Popup box */
.rtb-popup {
	background: var(--rtb-surface);
	border: 1px solid var(--rtb-border);
	border-radius: 20px;
	padding: 47px 57px 57px;
	max-width: 884px;
	width: calc(100% - 32px);
	position: relative;
	box-shadow: 0 24px 80px rgba(0,0,0,0.6);
	animation: rtb-popup-in 0.25s cubic-bezier(0.34,1.56,0.64,1);
}

.rtb-popup-close {
	position: absolute;
	top: 16px;
	right: 16px;
	background: var(--rtb-surface2);
	border: 1px solid var(--rtb-border);
	color: var(--rtb-muted);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s, border-color 0.15s;
}
.rtb-popup-close:hover { color: var(--rtb-text); border-color: var(--rtb-text); }

.rtb-popup-title {
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--rtb-muted);
	margin-bottom: 28px;
}

/* Players row */
.rtb-popup-players {
	display: flex;
	align-items: stretch;
	gap: 0;
	position: relative;
}

/* VS badge in center */
.rtb-popup-vs {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: var(--rtb-surface2);
	border: 2px solid var(--rtb-border);
	color: var(--rtb-accent);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 2px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	flex-shrink: 0; /* for mobile flex context */
}

/* Individual player card inside popup */
.rtb-popup-player {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 20px 16px;
	border-radius: 14px;
	background: var(--rtb-surface2);
	border: 1px solid var(--rtb-border);
	transition: border-color 0.2s;
}
.rtb-popup-player:first-child { border-radius: 14px 4px 4px 14px; margin-right: 20px; }
.rtb-popup-player:last-child  { border-radius: 4px 14px 14px 4px; margin-left:  20px; }

.rtb-popup-player.rtb-popup-winner {
	border-color: var(--rtb-accent);
	background: rgba(245,158,11,0.07);
}
.rtb-popup-player.rtb-popup-loser {
	opacity: 0.55;
}

.rtb-popup-photo {
	width: 117px;
	height: 117px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--rtb-border);
}
.rtb-popup-player.rtb-popup-winner .rtb-popup-photo { border-color: var(--rtb-accent); }

.rtb-popup-initials {
	width: 117px;
	height: 117px;
	border-radius: 50%;
	background: var(--rtb-bg);
	border: 3px solid var(--rtb-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: 900;
	color: var(--rtb-accent);
}
.rtb-popup-player.rtb-popup-winner .rtb-popup-initials { border-color: var(--rtb-accent); }

.rtb-popup-player-num {
	font-size: 10px;
	font-weight: 700;
	color: var(--rtb-accent);
	letter-spacing: 1px;
}
.rtb-popup-player-name {
	font-size: 23px;
	font-weight: 800;
	color: var(--rtb-text);
	text-align: center;
	line-height: 1.3;
}
.rtb-popup-player.rtb-popup-winner .rtb-popup-player-name { color: var(--rtb-accent); }

.rtb-popup-player-team {
	font-size: 11px;
	color: var(--rtb-muted);
	text-align: center;
}
.rtb-popup-player-car {
	font-size: 11px;
	color: var(--rtb-muted);
	text-align: center;
	font-style: italic;
}
.rtb-popup-player-time {
	margin-top: 4px;
	font-size: 34px;
	font-weight: 900;
	font-variant-numeric: tabular-nums;
	color: var(--rtb-text);
	letter-spacing: 0.5px;
}
.rtb-popup-player.rtb-popup-winner .rtb-popup-player-time { color: var(--rtb-win); }
.rtb-popup-player.rtb-popup-loser  .rtb-popup-player-time { color: var(--rtb-muted); }

.rtb-popup-trophy {
	font-size: 22px;
	margin-top: 2px;
}
.rtb-popup-player-time-label {
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--rtb-muted);
	margin-top: -6px;
}

@keyframes rtb-fade-in   { from { opacity:0 } to { opacity:1 } }
@keyframes rtb-popup-in  { from { opacity:0; transform:scale(0.88) } to { opacity:1; transform:scale(1) } }

@media(max-width:500px) {
	.rtb-popup { padding: 24px 16px 28px; }
	.rtb-popup-photo, .rtb-popup-initials { width: 88px; height: 88px; font-size: 26px; }
	.rtb-popup-player-time { font-size: 26px; }
	.rtb-popup-player-name { font-size: 19px; }
}

/* ---- Podium mobile — vertical list, 1st → 2nd → 3rd ---- */
@media (max-width: 768px) {
	.rtb-podium-grid {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	/* Reset bottom-alignment from desktop */
	.rtb-podium-grid { align-items: center; }
	/* Order: 1st on top, 2nd second, 3rd last */
	.rtb-podium-1 { order: 1; }
	.rtb-podium-2 { order: 2; }
	.rtb-podium-3 { order: 3; }
	/* Equal block heights on mobile — no need for varying heights */
	.rtb-podium-block-1,
	.rtb-podium-block-2,
	.rtb-podium-block-3 { height: 52px; border-radius: 8px; }
	.rtb-podium-place { width: 100%; max-width: 280px; }
	.rtb-podium-driver { width: 100%; }
}

/* ---- Popup — vertical layout on mobile ---- */
@media (max-width: 640px) {
	.rtb-popup {
		max-width: 340px;
		padding: 24px 16px 28px;
	}
	.rtb-popup-players {
		flex-direction: column;
		gap: 0;
	}
	/* Reset horizontal border-radius & margins */
	.rtb-popup-player:first-child {
		border-radius: 14px 14px 4px 4px;
		margin-right: 0;
		margin-bottom: 28px; /* space for VS badge */
	}
	.rtb-popup-player:last-child {
		border-radius: 4px 4px 14px 14px;
		margin-left: 0;
		margin-top: 28px;
	}
	/* VS badge — center between the two cards */
	.rtb-popup-vs {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}



/* ---- VS badge — mobile flex child between players ---- */
@media (max-width: 640px) {
	.rtb-popup-vs {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		align-self: center;
		margin: 8px auto;
	}
}

/* ================================================================
   Countdown Timer
   ================================================================ */

.rtb-countdown {
	background: linear-gradient(135deg, var(--rtb-surface2), var(--rtb-surface));
	border: 1px solid var(--rtb-border);
	border-radius: 14px;
	padding: 20px 28px;
	margin-bottom: 20px;
	text-align: center;
}

.rtb-countdown-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--rtb-muted);
	margin-bottom: 16px;
}

.rtb-countdown-timer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.rtb-countdown-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 72px;
}

.rtb-countdown-num {
	font-size: 48px;
	font-weight: 900;
	font-variant-numeric: tabular-nums;
	color: var(--rtb-accent);
	line-height: 1;
	letter-spacing: -1px;
}

.rtb-countdown-lbl {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--rtb-muted);
}

.rtb-countdown-sep {
	font-size: 36px;
	font-weight: 900;
	color: var(--rtb-border);
	line-height: 1;
	margin-bottom: 16px;
}

/* Pulse on last 60 seconds */
.rtb-countdown.rtb-countdown-urgent .rtb-countdown-num {
	color: var(--rtb-live);
	animation: rtb-blink 1s infinite;
}

/* Race started state */
.rtb-countdown-go {
	font-size: 28px;
	font-weight: 900;
	color: var(--rtb-accent);
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 8px 0;
	animation: rtb-pulse-text 0.6s ease infinite alternate;
}

@media (max-width: 600px) {
	.rtb-countdown { padding: 16px; }
	.rtb-countdown-num { font-size: 36px; }
	.rtb-countdown-unit { min-width: 54px; }
	.rtb-countdown-sep { font-size: 28px; }
}

/* Pre-race countdown on generate screen — bigger, more epic */
.rtb-countdown-prerace {
	background: linear-gradient(135deg, #1a0a00, #2a1200);
	border-color: var(--rtb-accent);
	box-shadow: 0 0 40px rgba(245,158,11,0.15);
	padding: 32px 40px;
	margin-bottom: 32px;
}
.rtb-countdown-prerace .rtb-countdown-num {
	font-size: 64px;
}
.rtb-countdown-prerace .rtb-countdown-label {
	font-size: 14px;
	color: var(--rtb-accent);
}
@media (max-width: 600px) {
	.rtb-countdown-prerace .rtb-countdown-num { font-size: 44px; }
	.rtb-countdown-prerace { padding: 24px 16px; }
}
