:root {
	--bg: #070611;
	--bg-2: #0d0a1a;
	--panel: #181225;
	--panel-2: #211733;
	--panel-3: #2a1f44;
	--line: rgba(141, 121, 196, 0.22);
	--line-strong: rgba(165, 90, 255, 0.5);
	--text: #f5f1ff;
	--muted: #aaa1c2;
	--soft: #756c92;
	--blue: #3d83ff;
	--blue-2: #6ed3ff;
	--violet: #a744ff;
	--green: #5df2a0;
	--amber: #ffe66d;
	--orange: #ff9f43;
	--red: #ff405f;
	--shadow: 0 18px 50px rgba(0, 0, 0, 0.38);
}

/* Championship racing */
.championship-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.championship-empty {
	grid-column: 1 / -1;
}

.championship-card {
	overflow: hidden;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.9);
	box-shadow: var(--shadow);
}

.championship-card-media {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: block;
	min-height: 218px;
	background: rgba(11, 8, 24, 0.92);
}

.championship-card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(8, 7, 16, 0.06), rgba(8, 7, 16, 0.76));
}

.championship-card-flag {
	position: absolute;
	inset: -18px;
	width: calc(100% + 36px);
	height: calc(100% + 36px);
	max-width: none;
	object-fit: cover;
	opacity: 0.27;
	transform: rotate(-4deg) scale(1.04);
}

.championship-card-map {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 76%;
	height: 72%;
	object-fit: contain;
	opacity: 0.88;
	filter: invert(1) brightness(1.35);
	transform: translate(-50%, -50%);
}

.championship-card-status,
.championship-state,
.championship-result-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	background: rgba(9, 12, 25, 0.82);
	color: var(--muted);
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.championship-card-status {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
}

.championship-card-status.is-active,
.championship-state.is-active,
.championship-state.is-published,
.championship-state.is-live,
.championship-result-status.is-classified {
	border-color: rgba(93, 242, 160, 0.42);
	background: rgba(93, 242, 160, 0.12);
	color: var(--green);
}

.championship-state.is-upcoming,
.championship-state.is-draft,
.championship-state.is-tbd {
	border-color: rgba(110, 211, 255, 0.42);
	background: rgba(61, 131, 255, 0.14);
	color: var(--blue-2);
}

.championship-card-status.is-completed,
.championship-state.is-completed,
.championship-result-status.is-dnf {
	border-color: rgba(215, 165, 255, 0.38);
	background: rgba(179, 97, 255, 0.12);
	color: #d7a5ff;
}

.championship-result-status.is-dns,
.championship-result-status.is-dsq {
	border-color: rgba(255, 64, 95, 0.42);
	background: rgba(255, 64, 95, 0.1);
	color: var(--red);
}

.championship-card-body {
	display: grid;
	gap: 14px;
	padding: 18px;
}

.championship-card-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: start;
}

.championship-card-heading span,
.championship-card-body > p,
.championship-next-round span,
.championship-next-round small,
.championship-next-round time {
	color: var(--muted);
}

.championship-card-heading span,
.championship-next-round span {
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.championship-card-heading h2 {
	margin-top: 4px;
	font-size: 1.5rem;
}

.championship-card-heading > strong {
	color: var(--blue-2);
	font-size: 1.05rem;
}

.championship-card-body > p {
	min-height: 42px;
	margin: 0;
	line-height: 1.45;
}

.championship-next-round {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 12px;
	padding: 13px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.championship-next-round strong,
.championship-next-round small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-next-round strong {
	grid-column: 1;
	color: var(--text);
}

.championship-next-round small {
	grid-column: 1;
}

.championship-next-round time {
	grid-column: 2;
	grid-row: 2 / 4;
	align-self: center;
	font-size: 0.78rem;
	font-weight: 900;
	white-space: nowrap;
}

.championship-card-action,
.championship-register-button,
.championship-admin-actions button,
.championship-admin-browser-head button,
.championship-admin-classification button,
.championship-admin-penalty-list button,
.championship-session-slot button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 15px;
	border: 1px solid rgba(61, 131, 255, 0.55);
	border-radius: 8px;
	background: rgba(61, 131, 255, 0.17);
	color: var(--blue-2);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.championship-card-action {
	width: 100%;
}

.championship-card-action:hover,
.championship-register-button:hover {
	border-color: var(--blue-2);
	color: var(--text);
}

.championship-season-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.championship-season-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 13px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--muted);
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
}

.championship-season-nav a.is-active {
	border-color: rgba(110, 211, 255, 0.46);
	background: rgba(61, 131, 255, 0.14);
	color: var(--blue-2);
}

.championship-detail-layout,
.championship-round-layout,
.championship-admin-layout,
.championship-round-admin-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 410px;
	gap: 22px;
	align-items: start;
}

.championship-calendar,
.championship-round-main,
.championship-admin-main,
.championship-round-admin-main {
	display: grid;
	min-width: 0;
	gap: 18px;
}

.championship-calendar.results-section {
	gap: 10px;
}

.championship-detail-side,
.championship-round-side,
.championship-admin-side,
.championship-round-admin-side {
	position: sticky;
	top: 100px;
	min-width: 0;
}

.championship-detail-side {
	display: grid;
	gap: 18px;
}

.championship-round-admin-layout.is-steward-only {
	grid-template-columns: minmax(0, 1fr);
}

.championship-round-side,
.championship-round-admin-side {
	display: grid;
	gap: 18px;
}

.championship-round-row {
	display: grid;
	grid-template-columns: 118px minmax(220px, 1fr) minmax(140px, 0.72fr) auto;
	gap: 14px;
	align-items: center;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--panel);
	color: inherit;
	text-decoration: none;
}

.championship-round-row:hover {
	border-color: rgba(110, 211, 255, 0.4);
}

.championship-round-map-wrap {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: block;
	height: 78px;
	border-radius: 7px;
	background: rgba(8, 7, 16, 0.84);
}

.championship-round-flag {
	position: absolute;
	inset: -8px;
	width: calc(100% + 16px);
	height: calc(100% + 16px);
	max-width: none;
	object-fit: cover;
	opacity: 0.22;
	transform: rotate(-4deg);
}

.championship-round-map {
	position: absolute;
	inset: 8px;
	z-index: 1;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	object-fit: contain;
	filter: invert(1) brightness(1.35);
}

.championship-round-copy,
.championship-round-entry,
.championship-round-podium,
.championship-round-date {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.championship-round-copy strong,
.championship-round-entry strong,
.championship-round-date small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-round-copy small,
.championship-round-entry small,
.championship-round-date small {
	color: var(--muted);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 800;
}

.championship-round-copy strong,
.championship-round-entry strong {
	color: var(--text);
}

.championship-round-track-line {
	display: flex;
	align-items: baseline;
	gap: 7px;
	min-width: 0;
}

.championship-round-track-line strong {
	overflow: hidden;
	min-width: 0;
	color: var(--text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-round-track-line em {
	flex: 0 0 auto;
	color: var(--blue-2);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 800;
	white-space: nowrap;
}

.championship-round-entry-car.car-cell {
	gap: 5px;
	min-width: 0;
}

.championship-round-entry-car.car-cell .car-brand-logo {
	width: 26px;
	height: 17px;
}

.championship-round-entry-car.car-cell span {
	color: var(--muted);
	font-size: 0.74rem;
	font-weight: 700;
}

.championship-round-copy .championship-round-entry {
	margin-top: 5px;
}

.championship-round-entry-car .car-brand-logo {
	flex: 0 0 auto;
}

.championship-round-podium {
	align-content: center;
	gap: 4px;
}

.championship-round-podium > span {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 6px;
	align-items: center;
}

.championship-round-podium .driver-form-pill {
	min-height: 22px;
	padding: 0 6px;
	font-size: 0.64rem;
}

.championship-round-podium strong,
.championship-round-podium small {
	overflow: hidden;
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 850;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-round-date {
	justify-items: end;
}

.championship-standing-list {
	display: grid;
}

.championship-standing-row {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	min-width: 0;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: inherit;
	text-decoration: none;
}

.championship-standing-rank {
	color: var(--muted);
	text-align: center;
}

.championship-standing-driver {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	column-gap: 5px;
	row-gap: 3px;
	align-items: start;
	min-width: 0;
}

.championship-standing-driver > .driver-flag-slot {
	align-self: center;
}

.championship-standing-driver .driver-flag {
	margin-right: 0;
}

.championship-standing-name,
.championship-standing-driver > small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-standing-name {
	display: flex;
	align-items: center;
	min-width: 0;
	color: var(--text);
}

.championship-standing-driver > small {
	grid-column: 1 / -1;
}

.championship-standing-driver > small,
.championship-standing-points small {
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.championship-standing-points {
	display: grid;
	justify-items: end;
}

.championship-standing-points strong,
.championship-points-cell {
	color: var(--amber);
	font-weight: 950;
}

.championship-public-scoring-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
}

.championship-public-scoring-list > div,
.championship-public-bonuses > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
}

.championship-public-scoring-list span,
.championship-public-bonuses span {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 850;
}

.championship-public-scoring-list strong,
.championship-public-bonuses strong {
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 950;
	white-space: nowrap;
}

.championship-public-bonuses {
	display: grid;
	gap: 7px;
	margin-top: 12px;
}

.championship-round-hero .session-detail-head {
	position: relative;
	z-index: 1;
}

.championship-round-hero .session-track-meta {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.championship-round-hero .session-track-meta strong {
	color: var(--text);
}

.championship-round-hero .session-track-meta span {
	color: var(--blue-2);
	font-weight: 900;
}

.championship-session-list {
	display: grid;
	gap: 8px;
}

.championship-session-row {
	display: grid;
	grid-template-columns: 104px minmax(180px, 1fr) 80px 70px auto;
	gap: 12px;
	align-items: center;
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.03);
	color: inherit;
	text-decoration: none;
}

.championship-session-row > span {
	display: grid;
	min-width: 0;
}

.championship-session-row strong,
.championship-session-row small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-session-row strong {
	color: var(--text);
}

.championship-session-row small {
	color: var(--muted);
	font-size: 0.72rem;
}

.championship-session-row .championship-session-layout {
	color: var(--blue-2);
	font-weight: 400;
}

.championship-session-open {
	color: var(--blue-2);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.championship-session-row.is-pending {
	grid-template-columns: 104px minmax(0, 1fr);
	opacity: 0.68;
}

.results-table.championship-weekend-table {
	min-width: 680px;
}

.championship-weekend-pending {
	opacity: 0.68;
}

.championship-weekend-pending .result-driver span {
	max-width: none;
}

.results-table.championship-classification-table {
	min-width: 680px;
}

.results-table.championship-classification-table thead th {
	background: transparent;
}

.championship-classification-table .racing-driver-identity,
.championship-penalty-table .racing-driver-identity {
	color: inherit;
	text-decoration: none;
}

.championship-penalty-value {
	color: var(--red) !important;
	font-weight: 950 !important;
}

.championship-points-cell.is-positive {
	color: var(--blue-2);
}

.championship-info-list {
	display: grid;
	margin: 0;
}

.championship-info-list div {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: 44px;
	padding: 9px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.championship-info-list dt {
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 950;
}

.championship-info-list dd {
	min-width: 0;
	margin: 0;
	color: var(--text);
	font-size: 0.86rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: right;
}

.championship-info-entry dd {
	display: flex;
	justify-content: flex-end;
}

.championship-info-car.car-cell {
	display: inline-flex;
	flex: 0 1 auto;
	justify-content: flex-end;
	gap: 0;
	width: fit-content;
	max-width: 100%;
	min-width: 0;
}

.championship-info-car.car-cell > span:last-child {
	min-width: 0;
	text-align: right;
}

.championship-info-car.car-cell .car-brand-logo {
	width: 17px;
	height: 12px;
}

.championship-info-car.car-cell > span:last-child {
	font-size: 0.8rem;
}

.championship-registration {
	margin-top: 16px;
}

.championship-registration form,
.championship-registration button {
	width: 100%;
}

.championship-register-button.is-cancel {
	border-color: rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.05);
	color: var(--muted);
}

.championship-registration-message {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	color: var(--muted);
	font-weight: 900;
}

.championship-grid-list > a {
	display: grid;
	grid-template-columns: 24px 24px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	color: var(--muted);
	text-decoration: none;
}

.championship-grid-list > a strong {
	overflow: hidden;
	color: var(--text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-grid-list .driver-flag {
	margin-right: 0;
}

.championship-server-context {
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 1px solid rgba(110, 211, 255, 0.25);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(61, 131, 255, 0.11), rgba(24, 18, 37, 0.92));
}

.championship-server-context > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.championship-server-context .eyebrow,
.championship-server-context p {
	margin: 0;
}

.championship-server-context h2,
.championship-server-context > strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-server-context > strong {
	color: var(--blue-2);
}

.championship-server-context p {
	color: var(--muted);
	font-size: 0.78rem;
	font-weight: 800;
}

/* Championship manager */
.championship-admin-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.championship-admin-form label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.championship-admin-form label > span,
.championship-session-slot small {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.championship-admin-form input,
.championship-admin-form select,
.championship-admin-form textarea,
.championship-session-slot select,
.championship-admin-classification input,
.championship-admin-classification select {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 42px;
	padding: 9px 11px;
	border: 1px solid var(--line);
	border-radius: 8px;
	outline: 0;
	background: rgba(8, 7, 18, 0.74);
	color: var(--text);
	font: inherit;
}

.championship-admin-form textarea {
	resize: vertical;
}

.championship-admin-form .is-wide {
	grid-column: 1 / -1;
}

.championship-admin-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

.championship-archive-form {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.championship-archive-form button {
	border: 0;
	background: transparent;
	color: var(--red);
	font: inherit;
	font-size: 0.75rem;
	font-weight: 900;
	cursor: pointer;
}

.championship-admin-browser-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.championship-admin-browser-head button {
	min-height: 36px;
}

.championship-admin-browser-list {
	display: grid;
	gap: 7px;
}

.championship-admin-browser-list > a {
	display: grid;
	gap: 5px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.025);
	color: inherit;
	text-decoration: none;
}

.championship-admin-browser-list > a.is-selected {
	border-color: rgba(110, 211, 255, 0.46);
	background: rgba(61, 131, 255, 0.1);
}

.championship-admin-browser-list > a > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.championship-admin-browser-list strong,
.championship-admin-browser-list small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-admin-browser-list strong {
	color: var(--text);
}

.championship-admin-browser-list small {
	color: var(--muted);
}

.championship-admin-round-list {
	display: grid;
	gap: 7px;
}

.championship-admin-round-list > a {
	display: grid;
	grid-template-columns: 44px minmax(160px, 1fr) auto auto;
	gap: 12px;
	align-items: center;
	padding: 11px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	color: inherit;
	text-decoration: none;
}

.championship-admin-round-list > a > strong {
	color: var(--blue-2);
	text-align: center;
}

.championship-admin-round-list > a > span {
	display: grid;
	min-width: 0;
	color: var(--muted);
	font-size: 0.76rem;
}

.championship-admin-round-list b,
.championship-admin-round-list small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-admin-round-list b {
	color: var(--text);
	font-size: 0.9rem;
}

.championship-scoring-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(62px, 1fr));
	gap: 8px;
}

.championship-scoring-grid label {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	gap: 4px;
	padding: 5px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
}

.championship-scoring-grid span {
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 900;
}

.championship-scoring-grid input {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--text);
	font: inherit;
	font-weight: 900;
}

.championship-round-admin-nav {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 18px;
}

.championship-session-slot {
	display: grid;
	gap: 10px;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.championship-session-slot > div {
	display: grid;
	gap: 7px;
}

.championship-session-slot .session-type-pill {
	justify-self: start;
}

.championship-session-slot form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 7px;
}

.championship-session-slot form:has(input[name="session_role"]):not(:has(select)) {
	display: flex;
	justify-content: flex-end;
}

.championship-session-slot button,
.championship-admin-classification button,
.championship-admin-penalty-list button {
	min-height: 38px;
}

.championship-admin-classification {
	display: grid;
	gap: 7px;
}

.championship-admin-classification form {
	display: grid;
	grid-template-columns: 34px minmax(140px, 1fr) 126px minmax(120px, 0.8fr) auto;
	gap: 8px;
	align-items: center;
	padding: 8px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
}

.championship-admin-classification form > strong {
	color: var(--blue-2);
	text-align: center;
}

.championship-admin-classification form > span {
	overflow: hidden;
	color: var(--text);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-admin-penalty-list {
	display: grid;
	gap: 7px;
	margin-bottom: 16px;
}

.championship-admin-penalty-list > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
}

.championship-admin-penalty-list span {
	display: grid;
	min-width: 0;
}

.championship-admin-penalty-list strong,
.championship-admin-penalty-list small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.championship-admin-penalty-list small {
	color: var(--muted);
}

@media (max-width: 1320px) {
	.championship-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.championship-scoring-grid {
		grid-template-columns: repeat(5, minmax(62px, 1fr));
	}
}

@media (max-width: 1080px) {
	.championship-detail-layout,
	.championship-round-layout,
	.championship-admin-layout,
	.championship-round-admin-layout {
		grid-template-columns: 1fr;
	}

	.championship-detail-side,
	.championship-round-side,
	.championship-admin-side,
	.championship-round-admin-side {
		position: static;
	}

	.championship-round-row {
		grid-template-columns: 110px minmax(220px, 1fr) minmax(140px, 0.8fr) auto;
	}
}

@media (max-width: 700px) {
	.championship-grid {
		grid-template-columns: 1fr;
	}

	.championship-card-media {
		min-height: 180px;
	}

	.championship-round-row {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 9px;
	}

	.championship-round-podium {
		grid-column: 1 / -1;
	}

	.championship-round-date {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		justify-items: start;
	}

	.championship-session-row,
	.championship-session-row.is-pending {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	.championship-session-row > span:nth-child(n+3) {
		display: none;
	}

	.championship-admin-form,
	.championship-penalty-form {
		grid-template-columns: 1fr;
	}

	.championship-admin-form .is-wide {
		grid-column: auto;
	}

	.championship-admin-round-list > a {
		grid-template-columns: 38px minmax(0, 1fr) auto;
	}

	.championship-admin-round-list > a > span:nth-child(3) {
		display: none;
	}

	.championship-scoring-grid {
		grid-template-columns: repeat(2, minmax(62px, 1fr));
	}

	.championship-admin-classification form {
		grid-template-columns: 30px minmax(0, 1fr) 110px;
	}

	.championship-admin-classification input,
	.championship-admin-classification button {
		grid-column: 2 / -1;
	}

	.championship-round-admin-nav {
		align-items: stretch;
		flex-direction: column;
	}
}

/* Challenges */
.challenge-admin-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	gap: 18px;
	align-items: start;
}

.challenge-admin-main,
.challenge-admin-side {
	min-width: 0;
}

.challenge-admin-side {
	position: sticky;
	top: 100px;
}

.challenge-admin-empty {
	min-height: 240px;
}

.challenge-admin-browser-head,
.challenge-admin-browser-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.challenge-admin-browser-head {
	margin-bottom: 12px;
}

.challenge-admin-browser-head h2 {
	margin: 2px 0 0;
}

.challenge-admin-browser-head form {
	margin: 0;
	flex: 0 0 auto;
}

.challenge-admin-browser-head button {
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid rgba(110, 211, 255, 0.42);
	border-radius: 6px;
	background: rgba(61, 131, 255, 0.18);
	color: var(--blue-2);
	font: inherit;
	font-size: 0.7rem;
	font-weight: 950;
	text-transform: uppercase;
}

.challenge-admin-browser-list {
	display: grid;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.challenge-admin-browser-link {
	display: grid;
	gap: 5px;
	padding: 13px 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: var(--text);
	text-decoration: none;
}

.challenge-admin-browser-link.is-selected {
	margin: 0 -8px;
	padding-right: 12px;
	padding-left: 12px;
	border-color: rgba(110, 211, 255, 0.3);
	background: rgba(61, 131, 255, 0.1);
}

.challenge-admin-browser-line {
	min-width: 0;
}

.challenge-admin-browser-line strong {
	overflow: hidden;
	min-width: 0;
	font-size: 0.78rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.challenge-admin-browser-link small {
	color: var(--soft);
	font-size: 0.64rem;
	font-weight: 850;
}

.challenge-admin-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
}

.challenge-admin-status.is-current {
	border-color: rgba(110, 211, 255, 0.44);
	background: rgba(110, 211, 255, 0.1);
	color: var(--blue-2);
}

.challenge-admin-status.is-upcoming {
	border-color: rgba(93, 242, 160, 0.4);
	background: rgba(93, 242, 160, 0.09);
	color: var(--green);
}

.challenge-admin-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.challenge-admin-fields label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.challenge-admin-fields label > span,
.challenge-conditions legend {
	color: var(--soft);
	font-size: 0.66rem;
	font-weight: 950;
	text-transform: uppercase;
}

.challenge-admin-fields input,
.challenge-admin-fields select,
.challenge-admin-fields textarea {
	width: 100%;
	min-width: 0;
	border: 1px solid rgba(141, 121, 196, 0.3);
	border-radius: 6px;
	outline: none;
	background: rgba(7, 6, 17, 0.58);
	color: var(--text);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 800;
}

.challenge-admin-fields input,
.challenge-admin-fields select {
	height: 42px;
	padding: 0 10px;
}

.challenge-admin-fields textarea {
	min-height: 76px;
	padding: 10px;
	resize: vertical;
}

.challenge-admin-fields input:focus,
.challenge-admin-fields select:focus,
.challenge-admin-fields textarea:focus {
	border-color: rgba(110, 211, 255, 0.58);
	box-shadow: 0 0 0 3px rgba(110, 211, 255, 0.07);
}

.challenge-field-wide {
	grid-column: 1 / -1;
}

.challenge-conditions {
	margin: 16px 0 0;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.025);
}

.challenge-conditions > p {
	margin: 0 0 12px;
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 750;
}

.challenge-admin-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
}

.challenge-active-option {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 900;
}

.challenge-admin-footer button,
.challenge-disable-form button {
	min-height: 40px;
	padding: 0 15px;
	border: 1px solid rgba(110, 211, 255, 0.42);
	border-radius: 6px;
	background: rgba(61, 131, 255, 0.18);
	color: var(--blue-2);
	font: inherit;
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
}

.challenge-disable-form {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.challenge-disable-form button {
	border-color: rgba(255, 159, 67, 0.34);
	background: rgba(255, 159, 67, 0.08);
	color: var(--orange);
}

.driver-challenges-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.driver-challenge-card {
	--challenge-tone: var(--muted);
	--challenge-line: rgba(255, 255, 255, 0.12);
	--challenge-fill: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: stretch;
	flex-direction: column;
	min-height: 360px;
	padding: 16px;
	border: 1px solid var(--challenge-line);
	border-radius: 8px;
	background: rgba(11, 9, 22, 0.56);
}

.driver-challenge-card.is-bronze {
	--challenge-tone: #d8955f;
	--challenge-line: rgba(216, 149, 95, 0.48);
	--challenge-fill: rgba(216, 149, 95, 0.72);
}

.driver-challenge-card.is-in_progress {
	--challenge-tone: var(--green);
	--challenge-line: rgba(93, 242, 160, 0.48);
	--challenge-fill: rgba(93, 242, 160, 0.76);
}

.driver-challenge-card.is-completed {
	--challenge-tone: var(--blue-2);
	--challenge-line: rgba(110, 211, 255, 0.48);
	--challenge-fill: var(--blue-2);
}

.driver-challenge-head,
.driver-challenge-foot,
.driver-challenge-progress {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.driver-challenge-head span,
.driver-challenge-head strong {
	font-size: 0.66rem;
	font-weight: 950;
	text-transform: uppercase;
}

.driver-challenge-head span {
	color: var(--soft);
}

.driver-challenge-head strong {
	color: var(--challenge-tone);
}

.driver-challenge-card h3 {
	margin: 14px 0 0;
	color: var(--text);
	font-size: 1.1rem;
	line-height: 1.05;
}

.driver-challenge-mark {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	margin: 26px auto;
	border: 1px solid var(--challenge-line);
	border-radius: 50%;
	color: var(--challenge-tone);
	font-size: 1.25rem;
	font-weight: 950;
}

.driver-challenge-card > p {
	margin: auto 0 8px;
	color: var(--muted);
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.45;
}

.driver-challenge-card > small {
	color: var(--challenge-tone);
	font-size: 0.68rem;
	font-weight: 900;
}

.driver-challenge-progress {
	justify-content: flex-start;
	margin-top: 13px;
}

.driver-challenge-progress strong {
	color: var(--text);
	font-size: 1.45rem;
	font-weight: 950;
}

.driver-challenge-progress span,
.driver-challenge-foot {
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 850;
}

.driver-challenge-meter {
	overflow: hidden;
	height: 8px;
	margin-top: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
}

.driver-challenge-meter span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--challenge-fill);
}

.driver-challenge-foot {
	margin-top: 9px;
}

.driver-challenge-foot strong {
	color: var(--challenge-tone);
}

@media (max-width: 1180px) {
	.challenge-admin-layout {
		grid-template-columns: 1fr;
	}

	.challenge-admin-side {
		position: static;
	}

	.driver-challenges-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.challenge-admin-fields,
	.driver-challenges-grid {
		grid-template-columns: 1fr;
	}

	.challenge-admin-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.challenge-admin-footer button {
		width: 100%;
	}

	.driver-challenge-card {
		min-height: 330px;
	}
}

/* La Team */
.team-hero {
	margin-bottom: 0;
}

.team-page-head {
	max-width: 920px;
	padding: 18px 2px 28px;
}

.team-page-head h1 {
	margin: 4px 0 10px;
	font-size: 3.4rem;
	line-height: 1;
}

.team-page-head > p:last-child {
	margin: 0;
	color: var(--muted);
	font-size: 1.05rem;
	font-weight: 700;
}

.home-team-grid {
	--masonry-gap: 14px;
	display: grid;
	align-items: stretch;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--masonry-gap);
}

.home-team-grid > .team-post-card {
	display: block;
	align-self: stretch;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.home-team-grid > .team-post-card:only-child {
	width: 100%;
}

.home-team-card {
	display: grid;
	overflow: hidden;
	grid-template-rows: auto auto 1fr;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(14, 11, 25, 0.72);
}

.home-team-card:only-child {
	grid-column: 1 / -1;
	grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr);
	grid-template-rows: auto 1fr;
}

.home-team-media {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 190px;
	aspect-ratio: 16 / 8;
	border-bottom: 1px solid var(--line);
	background: #090712;
}

.home-team-card:only-child .home-team-media {
	grid-column: 1;
	grid-row: 1 / 3;
	height: 100%;
	min-height: 210px;
	aspect-ratio: auto;
	border-right: 1px solid var(--line);
	border-bottom: 0;
}

.home-team-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-media-backdrop {
	position: absolute;
	inset: 0;
	display: none;
	overflow: hidden;
	pointer-events: none;
}

.team-media-backdrop img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(18px) brightness(0.62) saturate(0.9);
	transform: scale(1.12);
}

.home-team-media.is-portrait .team-media-backdrop,
.team-post-media.is-portrait .team-media-backdrop {
	display: block;
}

.home-team-media.is-portrait > img[data-adaptive-cover],
.team-post-media.is-portrait > img[data-adaptive-cover] {
	position: relative;
	z-index: 1;
	object-fit: contain;
}

.home-team-media.is-fallback img {
	padding: 38px;
	object-fit: contain;
}

.home-team-copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	padding: 11px 20px 20px;
}

.home-team-head {
	padding: 18px 20px 0;
}

.home-team-card:only-child .home-team-head {
	grid-column: 2;
	grid-row: 1;
}

.home-team-card:only-child .home-team-copy {
	grid-column: 2;
	grid-row: 2;
}

.home-team-date {
	margin: 0 0 7px;
	color: var(--blue-2);
	font-size: 0.72rem;
	font-weight: 950;
}

.home-team-head h3 {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.15;
}

.home-team-head h3 a {
	color: var(--text);
	text-decoration: none;
}

.home-team-head h3 a:hover {
	color: var(--blue-2);
}

.home-team-summary {
	margin: 0 0 18px;
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.55;
	overflow-wrap: anywhere;
	white-space: normal;
}

.home-team-action {
	gap: 7px;
	margin-top: auto;
}

.home-team-card.is-portrait-layout {
	grid-template-columns: minmax(165px, 0.95fr) minmax(0, 1.05fr);
	grid-template-rows: auto 1fr;
}

.home-team-card.is-portrait-layout .home-team-head {
	grid-column: 1 / -1;
	grid-row: 1;
}

.home-team-card.is-portrait-layout .home-team-head h3 {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-team-card.is-portrait-layout .home-team-media {
	grid-column: 1;
	grid-row: 2;
	height: 100%;
	min-height: 260px;
	aspect-ratio: auto;
	border-right: 1px solid var(--line);
	border-bottom: 0;
}

.home-team-card.is-portrait-layout .home-team-copy {
	grid-column: 2;
	grid-row: 2;
}

.home-team-card.is-portrait-layout .home-team-action {
	margin-left: auto;
}

@media (max-width: 760px) {
	.home-team-grid {
		grid-template-columns: 1fr;
	}

	.home-team-card:only-child {
		grid-column: auto;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
	}

	.home-team-card:only-child .home-team-media {
		grid-column: 1;
		grid-row: 1;
		height: auto;
		min-height: 190px;
		aspect-ratio: 16 / 8;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.home-team-card:only-child .home-team-head {
		grid-column: 1;
		grid-row: 2;
	}

	.home-team-card:only-child .home-team-copy {
		grid-column: 1;
		grid-row: 3;
	}

	.home-team-card.is-portrait-layout {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
	}

	.home-team-card.is-portrait-layout .home-team-head {
		grid-column: 1;
		grid-row: 1;
	}

	.home-team-card.is-portrait-layout .home-team-head h3 {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.home-team-card.is-portrait-layout .home-team-media {
		grid-column: 1;
		grid-row: 2;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 5;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.home-team-card.is-portrait-layout .home-team-copy {
		grid-column: 1;
		grid-row: 3;
	}
}

.team-layout,
.team-admin-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: 22px;
	align-items: start;
}

.team-feed,
.team-feed-column,
.team-admin-main,
.team-admin-side {
	min-width: 0;
}

.team-feed {
	--masonry-gap: 18px;
	position: relative;
}

.team-feed > .team-post-card {
	display: block;
	width: 100%;
	min-width: 0;
}

.team-feed > .team-empty {
	width: 100%;
}

.team-post-card,
.team-article,
.team-side-section {
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.88);
	box-shadow: var(--shadow);
}

.team-post-card {
	display: block;
	align-self: start;
	overflow: hidden;
}

.team-post-card.is-portrait-layout {
	display: grid;
	grid-template-columns: minmax(165px, 0.95fr) minmax(0, 1.05fr);
	grid-template-rows: auto 1fr;
	min-height: 360px;
}

.team-post-card.is-portrait-layout .team-post-head {
	grid-column: 1 / -1;
	grid-row: 1;
}

.team-post-card.is-portrait-layout .team-post-head h2 {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-post-card.is-portrait-layout .team-post-media {
	grid-column: 1;
	grid-row: 2;
	height: 100%;
	min-height: 300px;
	aspect-ratio: auto;
	border-top: 1px solid var(--line);
	border-right: 1px solid var(--line);
	border-bottom: 0;
}

.team-post-card.is-portrait-layout .team-post-copy {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.team-post-card.is-portrait-layout .team-read-link {
	margin-top: auto;
	margin-left: auto;
}

.team-post-card.is-portrait-layout.is-preview-hidden {
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
}

.team-post-card.is-portrait-layout.is-preview-hidden .team-post-head {
	grid-column: 1;
	grid-row: 1;
}

.team-post-card.is-portrait-layout.is-preview-hidden .team-post-media {
	grid-column: 1;
	grid-row: 2;
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 10;
	border-right: 0;
	border-bottom: 1px solid var(--line);
}

.team-post-card.is-portrait-layout.is-preview-hidden .team-post-copy {
	grid-column: 1;
	grid-row: 3;
	min-height: 90px;
}

.team-post-card.is-portrait-layout.is-preview-hidden.is-title-hidden .team-post-media {
	height: auto;
	aspect-ratio: auto;
}

.team-post-card.is-portrait-layout.is-preview-hidden.is-title-hidden .team-post-media .team-media-backdrop {
	display: none;
}

.team-post-card.is-portrait-layout.is-preview-hidden.is-title-hidden .team-post-media > img[data-adaptive-cover] {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.team-post-head {
	padding: 22px 24px 18px;
}

.team-post-date {
	margin: 0 0 7px;
	color: var(--blue-2);
	font-size: 0.75rem;
	font-weight: 950;
}

.team-post-head h2,
.team-article-head h1 {
	margin: 0;
	line-height: 1.08;
}

.team-post-head h2 {
	font-size: 1.75rem;
}

.team-post-head h2 a {
	color: var(--text);
	text-decoration: none;
}

.team-post-head h2 a:hover {
	color: var(--blue-2);
}

.team-post-media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 8;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: #090712;
}

.team-post-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-post-media.is-fallback img {
	padding: 38px;
	object-fit: contain;
}

.team-video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	padding-left: 4px;
	border: 1px solid rgba(110, 211, 255, 0.62);
	border-radius: 50%;
	background: rgba(7, 6, 17, 0.88);
	color: var(--blue-2);
	font-size: 1.25rem;
	transform: translate(-50%, -50%);
}

.team-post-copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	min-height: 140px;
	padding: 20px 24px 22px;
}

.team-post-copy p {
	margin: 0 0 16px;
	color: var(--muted);
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.65;
	overflow-wrap: anywhere;
	white-space: normal;
}

.team-read-link {
	gap: 8px;
	margin-top: auto;
	margin-left: auto;
}

.team-pagination {
	margin-top: 18px;
}

.team-sidebar,
.team-admin-side {
	position: sticky;
	top: 18px;
	display: grid;
	gap: 16px;
}

.team-side-section {
	padding: 16px;
}

.team-news-panel .mini-heading h3 {
	color: var(--green);
}

.team-events-panel .mini-heading h3 {
	color: var(--blue-2);
}

.team-online-panel .mini-heading h3 {
	color: var(--text);
}

.team-news-links,
.team-event-links {
	display: grid;
}

.team-news-links a,
.team-event-links a {
	display: grid;
	gap: 4px;
	padding: 13px 2px;
	border-top: 1px solid var(--line);
	color: var(--text);
	text-decoration: none;
}

.team-news-links .team-news-link {
	grid-template-columns: 60px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.team-news-thumb {
	display: block;
	overflow: hidden;
	width: 60px;
	aspect-ratio: 1;
	border: 1px solid var(--line);
	border-radius: 6px;
	background: #090712;
}

.team-news-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-news-thumb.is-fallback img {
	padding: 7px;
	object-fit: contain;
}

.team-news-copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.team-news-copy strong,
.team-news-copy > span {
	display: block;
	min-width: 0;
}

.team-news-copy strong {
	color: var(--text);
}

.team-news-links a:first-child,
.team-event-links a:first-child {
	border-top: 0;
}

.team-news-links strong,
.team-event-links strong {
	overflow: hidden;
	font-size: 0.9rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-news-links span,
.team-event-links span,
.team-side-empty {
	color: var(--soft);
	font-size: 0.74rem;
	font-style: normal;
	font-weight: 800;
}

.team-news-copy > span {
	color: var(--blue-2);
}

.team-side-empty {
	display: block;
	padding: 12px 2px 4px;
}

.team-online-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.team-online-stats div {
	display: grid;
	place-items: center;
	min-height: 82px;
	border: 1px solid rgba(61, 131, 255, 0.28);
	border-radius: 6px;
	background: rgba(61, 131, 255, 0.08);
}

.team-online-stats strong {
	color: var(--blue-2);
	font-size: 1.55rem;
}

.team-online-stats span {
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 900;
	text-transform: uppercase;
}

.team-article-layout {
	padding-top: 18px;
}

.team-article {
	overflow: hidden;
	min-width: 0;
}

.team-article-head {
	padding: 28px;
}

.team-back-link {
	margin-bottom: 24px;
}

.team-article-head h1 {
	max-width: 980px;
	font-size: 2.75rem;
}

.team-article-lead {
	max-width: 880px;
	margin: 18px 0 0;
	color: var(--muted);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.6;
}

.team-article-media-list {
	display: grid;
	gap: 12px;
	padding: 0 28px 28px;
}

.team-article-media-list > img,
.team-youtube-frame {
	display: block;
	overflow: hidden;
	width: 100%;
	border: 1px solid var(--line);
	border-radius: 6px;
	background: #090712;
}

.team-article-media-list > img {
	height: auto;
	max-height: 780px;
	object-fit: contain;
}

.team-youtube-frame {
	aspect-ratio: 16 / 9;
}

.team-youtube-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.team-article-body {
	padding: 0 28px 32px;
	color: var(--muted);
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.8;
}

.team-article-body > :first-child {
	margin-top: 0;
}

.team-article-body > :last-child {
	margin-bottom: 0;
}

.team-article-body h2,
.team-article-body h3 {
	margin: 1.5em 0 0.55em;
	color: var(--text);
	line-height: 1.2;
}

.team-article-body h2 {
	font-size: 1.65rem;
}

.team-article-body h3 {
	font-size: 1.3rem;
}

.team-article-body p,
.team-article-body ul,
.team-article-body ol,
.team-article-body blockquote {
	margin: 0 0 1em;
}

.team-article-body ul,
.team-article-body ol {
	padding-left: 1.5em;
}

.team-article-body strong,
.team-article-body b {
	color: var(--text);
}

.team-article-body a {
	color: var(--blue-2);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.team-article-body blockquote {
	padding: 12px 16px;
	border-left: 3px solid var(--blue-2);
	background: rgba(110, 211, 255, 0.06);
	color: var(--text);
}

.team-admin-hero {
	margin-bottom: 0;
}

.team-admin-layout {
	grid-template-columns: minmax(0, 1fr) 390px;
}

.team-admin-empty {
	min-height: 360px;
}

.team-admin-editor .section-heading {
	align-items: center;
}

.team-form-error {
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 64, 95, 0.42);
	border-radius: 6px;
	background: rgba(255, 64, 95, 0.1);
	color: #ff8799;
	font-size: 0.86rem;
	font-weight: 850;
}

.team-admin-browser-head,
.team-admin-article-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.team-admin-browser-head {
	margin-bottom: 14px;
}

.team-admin-browser-head h2 {
	margin: 3px 0 0;
	font-size: 1.35rem;
}

.team-admin-browser-head form {
	flex: none;
}

.team-admin-browser-head button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 12px;
	border: 1px solid rgba(61, 131, 255, 0.52);
	border-radius: 6px;
	background: rgba(61, 131, 255, 0.15);
	color: var(--blue-2);
	font: inherit;
	font-size: 0.76rem;
	font-weight: 950;
	cursor: pointer;
}

.team-admin-article-list {
	display: grid;
}

.team-admin-article-link {
	display: grid;
	gap: 7px;
	padding: 14px 2px;
	border-top: 1px solid var(--line);
	color: var(--text);
	text-decoration: none;
}

.team-admin-article-link:first-child {
	border-top: 0;
}

.team-admin-article-link.is-selected {
	margin-right: -10px;
	margin-left: -10px;
	padding-right: 10px;
	padding-left: 10px;
	border-left: 3px solid var(--blue-2);
	background: rgba(110, 211, 255, 0.055);
}

.team-admin-article-line strong {
	overflow: hidden;
	min-width: 0;
	font-size: 0.9rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-admin-article-link small {
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 850;
}

.team-admin-article-link .team-article-status {
	flex: none;
	min-height: 24px;
	padding: 0 7px;
	font-size: 0.6rem;
}

.team-admin-list {
	display: grid;
}

.team-admin-row {
	padding: 22px 0;
	border-top: 1px solid var(--line);
}

.team-admin-row:first-child {
	border-top: 0;
}

.team-admin-row.is-archived {
	opacity: 0.65;
}

.team-admin-row-head,
.team-admin-row-head > div,
.team-admin-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.team-admin-row-head {
	justify-content: space-between;
	margin-bottom: 16px;
}

.team-admin-row-head > div {
	min-width: 0;
}

.team-admin-row-head > div > span {
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 900;
}

.team-admin-row-head strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-article-status {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 9px;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
}

.team-article-status.is-published {
	border-color: rgba(93, 242, 160, 0.42);
	background: rgba(93, 242, 160, 0.1);
	color: var(--green);
}

.team-article-status.is-scheduled {
	border-color: rgba(61, 131, 255, 0.48);
	background: rgba(61, 131, 255, 0.12);
	color: var(--blue-2);
}

.team-article-status.is-draft {
	border-color: rgba(167, 68, 255, 0.4);
	background: rgba(167, 68, 255, 0.1);
	color: #c78cff;
}

.team-admin-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.team-admin-wide {
	grid-column: 1 / -1;
}

.team-admin-form label,
.team-create-form label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.team-admin-form label > span,
.team-create-form label > span {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.team-admin-form input,
.team-admin-form textarea,
.team-admin-form select,
.team-create-form input,
.team-create-form textarea,
.team-create-form select {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 6px;
	outline: 0;
	background: rgba(255, 255, 255, 0.035);
	color: var(--text);
	font: inherit;
}

.team-admin-form input,
.team-admin-form select,
.team-create-form input,
.team-create-form select {
	min-height: 42px;
	padding: 0 11px;
}

.team-admin-form textarea,
.team-create-form textarea {
	padding: 10px 11px;
	resize: vertical;
}

.team-upload-field input {
	padding: 8px;
}

.team-admin-actions {
	justify-content: flex-end;
	flex-wrap: wrap;
}

.team-admin-actions button,
.team-admin-actions a,
.team-create-form > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid rgba(61, 131, 255, 0.48);
	border-radius: 6px;
	background: rgba(61, 131, 255, 0.14);
	color: var(--blue-2);
	font-weight: 900;
	text-decoration: none;
}

.team-admin-actions .is-archive {
	border-color: rgba(255, 159, 67, 0.42);
	background: rgba(255, 159, 67, 0.1);
	color: var(--orange);
}

.team-create-form {
	display: grid;
	gap: 12px;
}

@media (max-width: 1120px) {
	.team-layout,
	.team-admin-layout {
		grid-template-columns: 1fr;
	}

	.team-sidebar,
	.team-admin-side {
		position: static;
	}

	.team-sidebar {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.home-team-grid,
	.team-feed {
		position: static;
	}

	.home-team-grid {
		grid-template-columns: 1fr;
	}

	.home-team-grid > .team-post-card,
	.team-feed > .team-post-card {
		display: block;
		margin-bottom: 14px;
	}

	.home-team-grid > .team-post-card {
		margin-bottom: 0;
	}

	.team-feed > .team-post-card {
		min-width: 0;
	}

	.team-post-card.is-portrait-layout {
		display: block;
		min-height: 0;
	}

	.team-post-card.is-portrait-layout .team-post-media {
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 5;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.team-post-card.is-portrait-layout .team-post-head h2 {
	overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.team-page-head h1 {
		font-size: 2.5rem;
	}

	.team-post-head,
	.team-post-copy,
	.team-article-head {
		padding-right: 16px;
		padding-left: 16px;
	}

	.team-post-head h2 {
		font-size: 1.4rem;
	}

	.team-post-media {
		aspect-ratio: 16 / 10;
	}

	.team-sidebar {
		grid-template-columns: 1fr;
	}

	.team-article-head h1 {
		font-size: 2rem;
	}

	.team-article-media-list {
		padding: 0 16px 20px;
	}

	.team-article-body {
		padding: 0 16px 24px;
	}

	.team-admin-form {
		grid-template-columns: 1fr;
	}

	.team-admin-wide {
		grid-column: auto;
	}

	.team-admin-row-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.team-admin-actions {
		justify-content: flex-start;
	}
}

/* Events */
.events-layout,
.events-admin-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 22px;
	align-items: start;
}

.events-main,
.events-admin-main,
.events-side,
.events-admin-side {
	min-width: 0;
}

.events-side,
.events-admin-side {
	position: sticky;
	top: 18px;
}

.event-feature {
	position: relative;
	display: grid;
	overflow: hidden;
	grid-template-columns: minmax(0, 1fr) minmax(190px, 300px);
	gap: 24px;
	min-height: 250px;
	margin-bottom: 18px;
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(21, 15, 35, 0.94);
}

.event-feature::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(15, 10, 27, 0.32), rgba(15, 10, 27, 0.76));
	content: "";
	pointer-events: none;
}

.event-feature-flag {
	position: absolute;
	top: -46%;
	left: -6%;
	width: 68%;
	height: 190%;
	opacity: 0.13;
	object-fit: cover;
	transform: rotate(-7deg);
}

.event-feature-copy,
.event-feature-map {
	position: relative;
	z-index: 1;
}

.event-feature-copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.event-feature-topline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 850;
}

.event-feature h2 {
	margin-bottom: 13px;
	font-size: 2rem;
}

.event-feature-description {
	max-width: 650px;
	margin: -2px 0 15px;
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 750;
	line-height: 1.5;
}

.event-combo-line,
.event-car-line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.event-combo-line strong {
	color: var(--text);
	font-size: 1.05rem;
}

.event-combo-line span {
	color: var(--blue-2);
	font-weight: 900;
}

.event-car-line {
	margin-top: 16px;
	color: var(--soft);
	font-weight: 900;
}

.event-car-line .car-brand-logo {
	width: 30px;
	height: 20px;
}

.event-feature-map {
	display: grid;
	place-items: center;
	min-height: 180px;
}

.event-feature-map img {
	width: 100%;
	max-width: 260px;
	max-height: 190px;
	object-fit: contain;
	filter: invert(1) brightness(1.22);
}

.event-feature-map.has-thumbnail {
	overflow: hidden;
	justify-self: end;
	width: min(100%, 190px);
	min-height: 0;
	aspect-ratio: 1;
	border-radius: 7px;
}

.event-feature-map.has-thumbnail img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	filter: none;
}

.event-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.event-status-pill.is-active {
	border-color: rgba(110, 211, 255, 0.48);
	background: rgba(61, 131, 255, 0.16);
	color: var(--blue-2);
}

.event-status-pill.is-upcoming {
	border-color: rgba(93, 242, 160, 0.38);
	background: rgba(93, 242, 160, 0.1);
	color: var(--green);
}

.event-status-pill.is-past,
.event-status-pill.is-archived {
	border-color: rgba(180, 170, 210, 0.24);
	background: rgba(180, 170, 210, 0.08);
	color: var(--muted);
}

.event-leaderboard-table {
	min-width: 940px;
}

.event-leaderboard-table td.event-lap-date {
	color: var(--blue-2);
	font-weight: 900;
	white-space: nowrap;
}

.events-browser {
	padding: 18px;
}

.event-browser-heading {
	margin-bottom: 15px;
}

.event-side-group + .event-side-group {
	margin-top: 20px;
}

.event-side-group .mini-heading {
	margin-bottom: 8px;
}

.event-side-list {
	display: grid;
	gap: 7px;
}

.event-side-card {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.075);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: inherit;
	text-decoration: none;
	transition: border-color 0.16s ease, background 0.16s ease;
}

.event-side-card:hover,
.event-side-card.is-selected {
	background: rgba(255, 255, 255, 0.045);
}

.event-side-card.is-live {
	border-color: rgba(110, 211, 255, 0.5);
	background: rgba(110, 211, 255, 0.055);
}

.event-side-media {
	position: relative;
	display: grid;
	overflow: hidden;
	place-items: center;
	width: 92px;
	height: 82px;
	padding: 9px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.event-side-media-flag {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 145%;
	height: 145%;
	opacity: 0.18;
	object-fit: cover;
	filter: saturate(1.18) contrast(1.08);
	transform: translate(-50%, -50%) rotate(-9deg);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 84%, transparent 100%);
}

.event-side-media-track {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	max-height: 72px;
	opacity: 0.88;
	object-fit: contain;
	filter: invert(1) brightness(1.3) saturate(0.7);
	mix-blend-mode: screen;
}

.event-side-media.has-thumbnail {
	padding: 0;
}

.event-side-media-thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-side-card-main,
.event-side-card-main > span,
.event-side-card-top strong,
.event-side-track strong,
.event-side-track em,
.event-side-car span {
	display: block;
	min-width: 0;
}

.event-side-card-main {
	min-width: 0;
}

.event-side-card-top {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
}

.event-side-card-top strong {
	overflow: hidden;
	color: var(--muted);
	font-size: 0.74rem;
	font-weight: 950;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.event-side-card-top .event-status-pill {
	min-height: 23px;
	padding: 0 7px;
	font-size: 0.62rem;
}

.event-side-track {
	display: flex !important;
	align-items: baseline;
	gap: 6px;
	margin-top: 6px;
}

.event-side-track strong,
.event-side-track em {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.event-side-track strong {
	color: var(--text);
	font-size: 0.8rem;
}

.event-side-track em {
	color: var(--blue-2);
	font-size: 0.71rem;
	font-style: normal;
	font-weight: 900;
}

.event-side-car {
	display: flex !important;
	align-items: center;
	gap: 7px;
	margin-top: 5px;
	color: var(--muted);
	font-size: 0.71rem;
	font-weight: 850;
}

.event-side-car .car-brand-logo {
	flex: 0 0 auto;
	width: 25px;
	height: 17px;
}

.event-side-car span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.event-side-dates {
	display: flex !important;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	color: var(--soft);
	font-size: 0.61rem;
	font-weight: 900;
	white-space: nowrap;
}

.event-side-dates b {
	color: var(--blue-2);
}

.event-admin-list {
	display: grid;
	gap: 0;
}

.event-admin-row {
	padding: 17px 14px 22px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
	border-left: 3px solid rgba(180, 170, 210, 0.24);
	border-radius: 0;
	background: transparent;
}

.event-admin-group-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 36px;
	margin-top: 22px;
	padding: 0 11px;
	border-left: 3px solid rgba(180, 170, 210, 0.3);
	background: rgba(180, 170, 210, 0.06);
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
}

.event-admin-group-heading:first-child {
	margin-top: 0;
}

.event-admin-group-heading span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 25px;
	height: 22px;
	padding: 0 7px;
	border: 1px solid rgba(141, 121, 196, 0.26);
	border-radius: 6px;
	background: rgba(141, 121, 196, 0.08);
	color: var(--soft);
}

.event-admin-group-heading.is-active,
.event-admin-row.is-active {
	border-left-color: rgba(110, 211, 255, 0.72);
}

.event-admin-group-heading.is-active {
	background: rgba(61, 131, 255, 0.12);
	color: var(--blue-2);
}

.event-admin-group-heading.is-active span {
	border-color: rgba(110, 211, 255, 0.42);
	background: rgba(61, 131, 255, 0.13);
	color: var(--blue-2);
}

.event-admin-group-heading.is-upcoming,
.event-admin-row.is-upcoming {
	border-left-color: rgba(93, 242, 160, 0.58);
}

.event-admin-group-heading.is-upcoming {
	background: rgba(93, 242, 160, 0.08);
	color: var(--green);
}

.event-admin-group-heading.is-upcoming span {
	border-color: rgba(93, 242, 160, 0.32);
	background: rgba(93, 242, 160, 0.08);
	color: var(--green);
}

.event-admin-group-heading.is-past,
.event-admin-row.is-past {
	border-left-color: rgba(167, 68, 255, 0.42);
}

.event-admin-group-heading.is-past {
	background: rgba(167, 68, 255, 0.07);
	color: #c7a5ef;
}

.event-admin-group-heading.is-past span {
	border-color: rgba(167, 68, 255, 0.28);
	background: rgba(167, 68, 255, 0.07);
	color: #c7a5ef;
}

.event-admin-row.is-archived {
	opacity: 0.62;
}

.event-admin-row-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.event-admin-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	align-items: end;
}

.event-admin-form label,
.event-create-form label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.event-admin-field-wide {
	grid-column: 1 / -1;
}

.event-admin-form label > span,
.event-create-form label > span {
	color: var(--muted);
	font-size: 0.66rem;
	font-weight: 900;
	text-transform: uppercase;
}

.event-admin-form input,
.event-admin-form select,
.event-admin-form textarea,
.event-create-form input,
.event-create-form select,
.event-create-form textarea {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 0 10px;
	border: 1px solid rgba(141, 121, 196, 0.32);
	border-radius: 8px;
	background: #0d0b18;
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 850;
	outline: 0;
}

.event-admin-form input,
.event-admin-form select,
.event-create-form input,
.event-create-form select {
	min-height: 40px;
}

.event-admin-form textarea,
.event-create-form textarea {
	min-height: 78px;
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 1.45;
	resize: vertical;
}

.event-admin-thumbnail-field {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.event-admin-thumbnail-field img {
	display: block;
	width: 120px;
	height: 72px;
	border: 1px solid var(--line);
	border-radius: 6px;
	object-fit: cover;
}

.event-webhook-options {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
	margin: 0;
	padding: 11px;
	border: 1px solid rgba(141, 121, 196, 0.25);
	border-radius: 8px;
	background: rgba(12, 10, 24, 0.52);
}

.event-webhook-options legend {
	padding: 0 5px;
	color: var(--muted);
	font-size: 0.66rem;
	font-weight: 900;
	text-transform: uppercase;
}

.event-admin-form .event-webhook-option,
.event-create-form .event-webhook-option {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	color: var(--text);
	font-size: 0.72rem;
	font-weight: 850;
}

.event-admin-form .event-webhook-option input[type="checkbox"],
.event-create-form .event-webhook-option input[type="checkbox"] {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	min-height: 0;
	margin: 0;
	padding: 0;
	accent-color: var(--blue);
}

.event-admin-form .event-webhook-option > span,
.event-create-form .event-webhook-option > span {
	color: var(--text);
	font-size: inherit;
	font-weight: inherit;
	text-transform: none;
}

.event-admin-actions {
	display: flex;
	grid-column: 1 / -1;
	justify-content: flex-end;
	gap: 6px;
}

.event-admin-actions button,
.event-create-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 13px;
	border: 1px solid rgba(93, 242, 160, 0.36);
	border-radius: 8px;
	background: rgba(93, 242, 160, 0.1);
	color: var(--green);
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
	cursor: pointer;
}

.event-admin-actions button.is-archive {
	border-color: rgba(255, 181, 84, 0.38);
	background: rgba(255, 181, 84, 0.1);
	color: var(--orange);
}

.event-create-form {
	display: grid;
	gap: 12px;
}

.event-create-form button {
	width: 100%;
}

@media (max-width: 1320px) {
	.event-admin-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.event-admin-actions {
		grid-column: 1 / -1;
	}
}

@media (max-width: 1180px) {
	.events-layout,
	.events-admin-layout {
		grid-template-columns: 1fr;
	}

	.events-side,
	.events-admin-side {
		position: static;
	}
}

@media (max-width: 620px) {
	.events-hero,
	.events-admin-hero {
		padding-top: 20px;
	}

	.event-feature {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 18px;
	}

	.event-feature h2 {
		font-size: 1.55rem;
	}

	.event-feature-map {
		min-height: 110px;
	}

	.event-feature-map.has-thumbnail {
		justify-self: start;
		min-height: 0;
	}

	.event-feature-map img {
		max-height: 120px;
	}

	.event-admin-form {
		grid-template-columns: 1fr;
	}

	.event-admin-thumbnail-field {
		grid-template-columns: 1fr;
	}

	.event-admin-actions {
		grid-column: auto;
		width: 100%;
	}

	.event-admin-field-wide {
		grid-column: auto;
	}

	.event-webhook-options {
		grid-column: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.event-admin-actions button {
		flex: 1;
	}
}

* {
	box-sizing: border-box;
}

html {
	color-scheme: dark;
}

body {
	margin: 0;
	min-height: 100vh;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
	background:
		linear-gradient(180deg, rgba(61, 131, 255, 0.08), rgba(7, 6, 17, 0) 260px),
		linear-gradient(90deg, rgba(167, 68, 255, 0.08), rgba(7, 6, 17, 0) 42%),
		var(--bg);
	color: var(--text);
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent 78%);
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input {
	font: inherit;
}

button {
	cursor: pointer;
}

img {
	max-width: 100%;
}

[hidden] {
	display: none !important;
}

.app-shell {
	width: min(1440px, calc(100% - 40px));
	margin: 0 auto;
	padding: 18px 0 42px;
}

.topbar {
	position: sticky;
	top: 12px;
	z-index: 20;
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: 18px;
	align-items: center;
	min-height: 64px;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(18, 13, 32, 0.88);
	box-shadow: var(--shadow);
	backdrop-filter: blur(18px);
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 210px;
}

.brand-mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	/*border: 1px solid rgba(61, 131, 255, 0.55);*/
	border-radius: 8px;
	/*background: linear-gradient(135deg, var(--blue), var(--violet));*/
	color: white;
	font-size: 0.9rem;
	font-weight: 900;
	/*box-shadow: 0 0 22px rgba(61, 131, 255, 0.32);*/
}

.brand-logo {
	width: 58px;
	/*padding: 3px;*/
	border-color: rgba(110, 211, 255, 0.42);
	/*background: rgba(7, 6, 17, 0.52);*/
	/*box-shadow: 0 0 18px rgba(110, 211, 255, 0.16);*/
}

.brand-logo img {
	display: block;
	width: 52px;
	height: 52px;
	margin: auto;
	padding: 2px;
	border: 1px solid rgba(110, 211, 255, 0.42);
	border-radius: 10px;
	background: rgba(7, 6, 17, 0.68);
	object-fit: contain;
	transform: translateY(-5px);
	filter: drop-shadow(0 0 8px rgba(110, 211, 255, 0.18));
}

.brand strong,
.brand small {
	display: block;
	letter-spacing: 0;
}

.brand strong {
	font-size: 1rem;
	line-height: 1.1;
}

.brand-wordmark {
	word-spacing: 0;
}

.brand-wordmark .brand-sfp {
	display: inline;
	color: var(--blue-2);
}

.brand-wordmark .brand-racing {
	display: inline;
	color: var(--text);
}

.brand-wordmark .brand-hub {
	display: inline;
	color: #ff4f67;
}

.brand small {
	color: var(--green);
	font-size: 0.72rem;
	font-weight: 800;
}

.main-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.nav-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--muted);
	font-size: 0.92rem;
	font-weight: 700;
	white-space: nowrap;
}

.nav-discord-link {
	display: none;
}

.nav-steam-link {
	display: none;
}

.nav-live-badge {
	position: absolute;
	top: -3px;
	right: -3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border: 1px solid rgba(110, 211, 255, 0.55);
	border-radius: 999px;
	background: rgba(61, 131, 255, 0.5);
	color: var(--blue-2);
	font-size: 0.62rem;
	font-weight: 950;
	line-height: 1;
	box-shadow: 0 0 18px rgba(110, 211, 255, 0.34), 0 0 34px rgba(61, 131, 255, 0.18), inset 0 0 0 1px rgba(110, 211, 255, 0.18);
	animation: nav-live-pulse 2.4s ease-in-out infinite;
}

@keyframes nav-live-pulse {
	0%,
	100% {
		box-shadow: 0 0 16px rgba(110, 211, 255, 0.28), 0 0 28px rgba(61, 131, 255, 0.14), inset 0 0 0 1px rgba(110, 211, 255, 0.18);
		opacity: 0.92;
	}

	50% {
		box-shadow: 0 0 24px rgba(110, 211, 255, 0.62), 0 0 46px rgba(61, 131, 255, 0.34), inset 0 0 0 1px rgba(110, 211, 255, 0.28);
		opacity: 1;
	}
}

.nav-item.is-active {
	border-color: rgba(61, 131, 255, 0.55);
	background: rgba(61, 131, 255, 0.14);
	color: var(--text);
	box-shadow: inset 0 0 16px rgba(61, 131, 255, 0.18);
}

.nav-item.is-muted {
	color: var(--soft);
}

.topbar-discord {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(110, 211, 255, 0.36);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(88, 101, 242, 0.28), rgba(110, 211, 255, 0.09)),
		rgba(255, 255, 255, 0.035);
	color: #ffffff;
	box-shadow: inset 0 0 18px rgba(88, 101, 242, 0.16), 0 0 18px rgba(110, 211, 255, 0.1);
}

.topbar-discord:hover {
	border-color: rgba(110, 211, 255, 0.62);
	background:
		linear-gradient(135deg, rgba(88, 101, 242, 0.42), rgba(110, 211, 255, 0.14)),
		rgba(255, 255, 255, 0.05);
	color: var(--blue-2);
}

.topbar-discord svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.topbar-steam {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: 120px;
	min-height: 42px;
	padding: 0 11px 0 8px;
	border: 1px solid rgba(110, 211, 255, 0.34);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.07);
	color: var(--blue-2);
	font-size: 0.76rem;
	font-weight: 900;
	white-space: nowrap;
}

.topbar-steam:hover,
.topbar-steam.is-connected {
	border-color: rgba(110, 211, 255, 0.58);
	background: rgba(61, 131, 255, 0.14);
	color: var(--text);
}

.topbar-steam > span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

.topbar-steam.is-guest {
	justify-content: center;
	width: 42px;
	padding: 0;
}

.topbar-steam.is-guest .topbar-steam-label {
	display: none;
}

.topbar-steam-mark {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.topbar-steam-mark svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.topbar-steam-avatar {
	display: block;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	border: 1px solid rgba(110, 211, 255, 0.48);
	border-radius: 50%;
	object-fit: cover;
}

.topbar-status {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	min-width: 0;
	padding: 7px 10px;
	border: 1px solid rgba(93, 242, 160, 0.2);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(93, 242, 160, 0.08), rgba(110, 211, 255, 0.04)),
		rgba(255, 255, 255, 0.035);
}

.topbar-stat {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	line-height: 1;
}

.topbar-stat strong,
.topbar-stat span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.topbar-stat strong {
	color: var(--green);
	font-size: 1rem;
	font-weight: 950;
}

.topbar-stat span {
	color: var(--muted);
	font-size: 0.74rem;
	font-weight: 900;
	text-transform: uppercase;
}

.topbar-separator {
	width: 1px;
	height: 18px;
	background: rgba(255, 255, 255, 0.12);
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(110, 211, 255, 0.24);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.075);
	color: var(--text);
}

.menu-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

.menu-toggle span + span {
	margin-top: 4px;
}

.topbar.is-menu-open .menu-toggle span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.topbar.is-menu-open .menu-toggle span:nth-child(2) {
	opacity: 0;
}

.topbar.is-menu-open .menu-toggle span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.status-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--green);
	box-shadow: 0 0 16px rgba(93, 242, 160, 0.8);
}

main {
	padding-top: 28px;
}

.site-alert {
	margin-bottom: 18px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 64, 95, 0.42);
	border-radius: 6px;
	background: rgba(255, 64, 95, 0.1);
	color: #ff8799;
	font-size: 0.86rem;
	font-weight: 850;
}

.practice-hero,
.drivers-hero,
.racing-hero,
.car-categories-hero,
.legal-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: end;
	padding: 34px 0 26px;
}

.eyebrow {
	margin: 0 0 8px;
	color: var(--green);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1 {
	margin-bottom: 12px;
	font-size: 3.1rem;
	line-height: 1.02;
	letter-spacing: 0;
}

h2 {
	margin-bottom: 0;
	font-size: 1.35rem;
	line-height: 1.18;
	letter-spacing: 0;
}

h3 {
	margin-bottom: 4px;
	font-size: 1rem;
	line-height: 1.25;
	letter-spacing: 0;
}

.hero-subtitle {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--muted);
	font-size: 1.05rem;
}

.hero-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(120px, 1fr));
	gap: 10px;
	min-width: 620px;
}

.metric {
	display: grid;
	align-content: center;
	justify-items: start;
	min-height: 92px;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: linear-gradient(180deg, rgba(33, 23, 51, 0.94), rgba(20, 15, 33, 0.94));
}

.metric span {
	display: block;
	color: var(--text);
	font-size: 1.45rem;
	font-weight: 900;
	line-height: 1.15;
}

.metric small {
	display: block;
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.metric-green span {
	color: var(--green);
}

.metric-red span {
	color: var(--red);
}

.metric-blue span {
	color: var(--blue-2);
}

.metric-violet span {
	color: #d7a5ff;
}

.notice-bar {
	margin-bottom: 18px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 230, 109, 0.3);
	border-radius: 8px;
	background: rgba(255, 230, 109, 0.08);
	color: #fff1a8;
	font-weight: 700;
}

.control-strip {
	display: grid;
	grid-template-columns: auto minmax(240px, 1fr) auto;
	gap: 12px;
	align-items: center;
	margin-bottom: 22px;
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(16, 12, 28, 0.74);
}

.segmented-control {
	display: inline-grid;
	grid-auto-flow: column;
	gap: 6px;
}

.filter-button,
.drivers-search button,
.pagination a,
.pagination span {
	min-height: 38px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--muted);
	font-weight: 800;
	white-space: nowrap;
}

.filter-button {
	padding: 0 14px;
}

.filter-button.is-active,
.drivers-search button:hover,
.pagination a:hover {
	border-color: rgba(61, 131, 255, 0.62);
	background: rgba(61, 131, 255, 0.16);
	color: var(--text);
}

.search-box,
.drivers-search label {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 12px;
	min-height: 42px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.search-box span,
.drivers-search span {
	color: var(--soft);
	font-size: 0.74rem;
	font-weight: 900;
	text-transform: uppercase;
}

.search-box input,
.drivers-search input {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--text);
}

.strip-count {
	color: var(--muted);
	font-weight: 700;
}

.strip-count strong {
	color: var(--green);
}

.practice-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 22px;
	align-items: start;
}

.practice-main {
	display: grid;
	min-width: 0;
	gap: 18px;
}

.results-section,
.live-servers-panel,
.recent-drivers-card {
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.results-section {
	min-width: 0;
	padding: 16px;
}

.site-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 34px;
	padding: 18px 2px 0;
	border-top: 1px solid rgba(141, 121, 196, 0.2);
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 800;
}

.site-footer div,
.site-footer a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 32px;
}

.site-footer strong {
	color: var(--text);
	font-weight: 900;
}

.site-footer .footer-wordmark .brand-sfp {
	color: var(--blue-2);
}

.site-footer .footer-wordmark .brand-racing {
	color: var(--text);
}

.site-footer .footer-wordmark .brand-hub {
	color: #ff4f67;
}

.site-footer .footer-tagline::before {
	content: "·";
	margin-right: 8px;
	color: var(--blue-2);
}

.site-footer a {
	padding: 0 11px;
	border: 1px solid rgba(110, 211, 255, 0.22);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.06);
	color: var(--blue-2);
	text-decoration: none;
}

.site-footer a:hover {
	border-color: rgba(110, 211, 255, 0.46);
	background: rgba(110, 211, 255, 0.11);
	color: var(--text);
}

.legal-layout {
	width: 100%;
}

.legal-main {
	display: grid;
	gap: 14px;
}

.legal-scope-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.legal-mini-card {
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.legal-mini-card span {
	display: block;
	margin-bottom: 6px;
	color: var(--green);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.legal-mini-card strong {
	display: block;
	margin-bottom: 8px;
	color: var(--text);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.18;
}

.legal-section h2 {
	margin-bottom: 10px;
}

.legal-section p,
.legal-mini-card p {
	margin-bottom: 0;
	color: var(--muted);
	font-weight: 650;
}

.legal-section p + p {
	margin-top: 10px;
}

.error-404-hero {
	display: grid;
	grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	min-height: 58vh;
	padding: 56px 0 34px;
}

.error-404-code {
	display: grid;
	place-items: center;
	min-height: 220px;
	border: 1px solid rgba(110, 211, 255, 0.24);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.12), transparent 38%),
		linear-gradient(180deg, rgba(33, 23, 51, 0.96), rgba(20, 15, 33, 0.96));
	color: var(--blue-2);
	font-size: clamp(4rem, 10vw, 8rem);
	font-weight: 950;
	line-height: 1;
	box-shadow: var(--shadow);
}

.error-404-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.recent-drivers-card {
	padding: 16px;
}

.latest-result {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(340px, 0.8fr);
	gap: 12px;
	margin-bottom: 14px;
}

.latest-track {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	min-height: 132px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: linear-gradient(90deg, rgba(36, 26, 62, 0.9), rgba(10, 8, 24, 0.94));
}

.latest-flag-watermark {
	position: absolute;
	left: -48px;
	top: 50%;
	z-index: 0;
	width: clamp(150px, 18vw, 250px);
	height: auto;
	opacity: 0.09;
	transform: translateY(-50%) rotate(-13deg);
	filter: saturate(1.12) blur(0.2px);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	pointer-events: none;
}

.track-map-bg {
	position: absolute;
	inset: 10px;
	z-index: 0;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	object-fit: contain;
	object-position: center right;
	opacity: 0.42;
	filter: invert(1) brightness(1.35) saturate(0.65);
	mix-blend-mode: screen;
}

.latest-track > div {
	position: relative;
	z-index: 1;
}

.latest-track > div > span,
.latest-track > div > small,
.latest-metrics span,
.latest-metrics small {
	display: block;
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
}

.latest-track strong {
	display: block;
	margin: 3px 0;
	font-size: 1.5rem;
	line-height: 1.08;
}

.track-name {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-width: 0;
	gap: 7px;
	color: inherit;
	font: inherit;
	line-height: inherit;
	vertical-align: middle;
}

.track-flag {
	display: inline-block;
	flex: 0 0 auto;
	width: 18px;
	height: 12px;
	border-radius: 4px;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.track-name-text {
	display: block;
	overflow: hidden;
	min-width: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.latest-track .track-name {
	gap: 9px;
}

.latest-track .track-flag {
	width: 22px;
	height: 15px;
}

.latest-track small,
.latest-metrics small {
	text-transform: none;
}

.latest-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.latest-metrics div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 132px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.latest-metrics strong {
	display: block;
	overflow: hidden;
	margin: 4px 0;
	color: var(--amber);
	font-size: 1.4rem;
	font-weight: 900;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hotlap-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: end;
	padding: 34px 0 26px;
}

.hotlap-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 22px;
	align-items: start;
}

.leaderboard-layout {
	grid-template-columns: minmax(0, 1fr);
}

.hotlap-main,
.hotlap-side {
	display: grid;
	min-width: 0;
	gap: 18px;
}

.hotlap-side {
	align-self: start;
	position: sticky;
	top: 100px;
}

.hotlap-side .live-servers-panel {
	position: static;
	top: auto;
}

.racing-series-section {
	display: grid;
	gap: 16px;
}

.racing-series-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	gap: 16px;
}

.racing-series-card {
	overflow: hidden;
	display: grid;
	grid-template-rows: minmax(250px, auto) minmax(0, 1fr);
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.88);
	box-shadow: var(--shadow);
	transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.racing-series-card:hover {
	border-color: var(--line);
	box-shadow: var(--shadow);
	transform: translateY(-2px);
}

.racing-series-card.is-live {
	border-color: var(--line);
	box-shadow: var(--shadow);
}

.racing-card-media {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: block;
	min-height: 250px;
	padding: 14px;
	background:
		linear-gradient(180deg, rgba(8, 7, 16, 0.1), rgba(8, 7, 16, 0.7)),
		linear-gradient(135deg, rgba(93, 242, 160, 0.1), transparent 34%),
		linear-gradient(180deg, rgba(110, 211, 255, 0.1), rgba(12, 9, 24, 0.95));
	color: inherit;
	text-decoration: none;
}

.racing-card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.18), transparent 42%),
		radial-gradient(circle at 54% 45%, rgba(255, 255, 255, 0.12), transparent 34%);
	pointer-events: none;
}

.racing-card-flag {
	position: absolute;
	inset: -16px;
	z-index: 0;
	width: calc(100% + 32px);
	height: calc(100% + 32px);
	max-width: none;
	object-fit: cover;
	opacity: 0.23;
	filter: brightness(1.12) saturate(1.1) blur(0.6px);
	transform: scale(1.04) rotate(-4deg);
	pointer-events: none;
}

.racing-card-map {
	position: absolute;
	left: 50%;
	top: 47%;
	z-index: 2;
	width: min(76%, 380px);
	height: 72%;
	object-fit: contain;
	opacity: 0.78;
	filter: invert(1) brightness(1.38) contrast(1.08);
	transform: translate(-50%, -50%);
}

.racing-card-media-title {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: grid;
	gap: 4px;
	overflow: hidden;
	padding: 42px 18px 16px;
	background: linear-gradient(180deg, transparent, rgba(11, 8, 24, 0.74) 52%, rgba(11, 8, 24, 0.94));
	pointer-events: none;
	text-align: center;
}

.racing-card-media-title strong {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.82);
	white-space: nowrap;
}

.racing-card-media-title strong {
	color: var(--text);
	font-size: clamp(1.12rem, 1.45vw, 1.34rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.05;
}

.racing-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.racing-card-badges span,
.racing-card-platform span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 10px;
	border-radius: 8px;
	background: rgba(7, 6, 17, 0.58);
	color: var(--text);
	font-size: 0.74rem;
	font-weight: 950;
	text-transform: uppercase;
}

.racing-card-body {
	display: grid;
	gap: 13px;
	padding: 16px;
}

.racing-card-title {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.racing-card-title > div {
	overflow: hidden;
	min-width: 0;
}

.racing-card-title > .status-pill {
	justify-self: end;
}

.racing-card-title strong,
.racing-card-track strong {
	display: block;
	overflow: hidden;
	color: var(--text);
	font-weight: 950;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-card-title strong {
	font-size: 1.35rem;
	line-height: 1.05;
	max-width: 100%;
}

.racing-race-info .racing-card-title strong {
	max-width: 17ch;
}

.racing-card-title span,
.racing-card-track > span,
.racing-card-meta span,
.racing-card-footer small,
.racing-live-strip span,
.race-info-grid span,
.race-info-copy {
	color: var(--soft);
	font-size: 0.8rem;
	font-weight: 800;
}

.racing-card-track {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.racing-card-track strong .track-name {
	width: 100%;
}

.racing-card-meta,
.race-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.racing-card-meta div,
.race-info-grid div {
	min-width: 0;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.racing-card-meta strong,
.race-info-grid strong {
	display: block;
	overflow: hidden;
	margin-top: 3px;
	color: var(--text);
	font-size: 0.9rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-card-footer {
	display: grid;
	gap: 6px;
}

.racing-card-platform {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.racing-card-platform span {
	background: rgba(255, 255, 255, 0.06);
	color: var(--soft);
	min-height: 24px;
	font-size: 0.7rem;
}

.racing-session-format {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
	gap: 8px;
}

.racing-session-format div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 62px;
	padding: 11px 9px 7px;
	border-radius: 8px;
	background: rgba(194, 124, 255, 0.12);
	text-align: center;
}

.racing-session-format strong,
.racing-session-format span {
	display: block;
}

.racing-session-format strong {
	color: var(--text);
	font-size: 1.2rem;
	font-weight: 950;
	line-height: 1;
}

.racing-session-format span {
	color: var(--soft);
	font-size: 0.7rem;
	font-weight: 950;
	text-transform: uppercase;
}

.racing-condition-table {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(194, 124, 255, 0.075);
}

.racing-condition-table div {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: 44px;
	padding: 9px 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.racing-condition-table div:first-child {
	border-top: 0;
}

.racing-condition-table span {
	color: var(--soft);
	font-size: 0.8rem;
	font-weight: 950;
}

.racing-condition-table strong {
	overflow: hidden;
	color: var(--text);
	font-size: 0.86rem;
	font-weight: 900;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-live-strip {
	display: grid;
	gap: 8px;
	padding-top: 2px;
}

.server-live-status-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.server-live-status-row.is-offline {
	justify-content: flex-end;
}

.server-live-status-row .status-pill {
	flex: 0 0 auto;
}

.racing-live-strip strong {
	display: block;
	margin-top: 2px;
	color: var(--green);
	font-size: 0.94rem;
	font-weight: 950;
}

.page-practice-detail .racing-live-strip strong:not(.is-waiting),
.page-racing-detail .racing-live-strip strong:not(.is-waiting) {
	color: var(--blue-2);
}

.page-racing .racing-live-strip strong.has-drivers {
	color: var(--blue-2);
}

.page-practice-detail .live-timing-kpi,
.page-racing-detail .live-timing-kpi {
	border-color: rgba(110, 211, 255, 0.32);
	background: rgba(110, 211, 255, 0.09);
	color: var(--blue-2);
}

.racing-live-strip strong.is-waiting,
.racing-card-footer small.is-waiting {
	color: var(--amber);
}

.join-server-card {
	display: grid;
	gap: 10px;
	padding: 13px 14px;
	border: 1px solid rgba(110, 211, 255, 0.34);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.14), rgba(61, 131, 255, 0.055) 48%, rgba(24, 18, 37, 0.92)),
		rgba(24, 18, 37, 0.9);
	box-shadow: 0 0 0 1px rgba(110, 211, 255, 0.07), 0 16px 32px rgba(0, 0, 0, 0.26);
}

.join-server-card .eyebrow {
	margin: 0;
}

.join-server-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 900;
}

.join-server-steps span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
}

.join-server-steps strong {
	color: var(--text);
	font-weight: 950;
}

.join-server-steps span + span::before {
	content: "›";
	margin-right: 7px;
	color: var(--blue-2);
	font-weight: 950;
}

.hero-subtitle-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.hero-subtitle-row .hero-subtitle {
	margin: 0;
}

.hero-join-steps {
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid var(--blue-2);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.09);
	color: rgba(238, 236, 255, 0.82);
	box-shadow: inset 0 0 0 1px rgba(110, 211, 255, 0.12), 0 0 18px rgba(110, 211, 255, 0.08);
}

.section-join-steps {
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid var(--blue-2);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.09);
	color: rgba(238, 236, 255, 0.82);
	box-shadow: inset 0 0 0 1px rgba(110, 211, 255, 0.12);
}

.racing-leaderboard-preview {
	display: grid;
	gap: 6px;
}

.racing-leaderboard-preview div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	gap: 9px;
	align-items: center;
	min-height: 32px;
	padding: 6px 8px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.racing-leaderboard-preview span {
	color: var(--blue-2);
	font-size: 0.74rem;
	font-weight: 950;
}

.racing-leaderboard-preview strong {
	overflow: hidden;
	color: var(--text);
	font-size: 0.86rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-leaderboard-preview small {
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 900;
}

.racing-card-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 12px;
	border-radius: 8px;
	background: rgba(93, 242, 160, 0.18);
	color: var(--green);
	font-size: 0.82rem;
	font-weight: 950;
	text-decoration: none;
	text-transform: uppercase;
}

.racing-card-actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
	gap: 8px;
}

.racing-card-cta.is-secondary {
	border: 1px solid rgba(110, 211, 255, 0.22);
	background: rgba(110, 211, 255, 0.08);
	color: var(--blue-2);
}

.racing-detail-hero {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 26px;
	align-items: center;
	min-height: 260px;
	margin: 28px 0 22px;
	padding: 26px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background:
		linear-gradient(110deg, rgba(93, 242, 160, 0.11), transparent 33%),
		linear-gradient(180deg, rgba(110, 211, 255, 0.065), rgba(24, 18, 37, 0.88));
	box-shadow: var(--shadow);
}

.racing-detail-flag {
	position: absolute;
	left: -30px;
	top: 50%;
	width: clamp(160px, 22vw, 300px);
	opacity: 0.07;
	transform: translateY(-50%) rotate(-12deg);
	-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 42%, transparent 86%);
	mask-image: linear-gradient(90deg, #000 0%, #000 42%, transparent 86%);
	pointer-events: none;
}

.racing-detail-copy,
.racing-detail-map {
	position: relative;
	z-index: 1;
}

.back-link {
	display: inline-flex;
	margin-bottom: 14px;
	color: var(--blue-2);
	font-size: 0.84rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

.racing-detail-track {
	display: grid;
	gap: 5px;
}

.racing-detail-track strong {
	color: var(--text);
	font-size: 1.25rem;
	font-weight: 950;
}

.racing-detail-track > span {
	color: var(--muted);
	font-weight: 800;
}

.racing-detail-map {
	display: grid;
	place-items: center;
	min-height: 180px;
	padding: 18px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
}

.racing-detail-map img {
	display: block;
	width: 100%;
	max-height: 180px;
	object-fit: contain;
	filter: invert(1) brightness(1.35) contrast(1.08);
	opacity: 0.9;
}

.racing-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 22px;
	align-items: start;
}

.racing-detail-main,
.racing-race-info {
	display: grid;
	min-width: 0;
	gap: 16px;
}

.racing-race-info {
	position: sticky;
	top: 100px;
}

.racing-session-list {
	display: grid;
	gap: 10px;
}

.racing-session-card {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 92px;
	gap: 12px;
	align-items: center;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.racing-session-time,
.racing-session-main,
.racing-session-drivers {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.racing-session-time strong,
.racing-session-drivers strong {
	color: var(--text);
	font-size: 1rem;
	font-weight: 950;
}

.racing-session-time span,
.racing-session-main small,
.racing-session-drivers span,
.standing-row small {
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 800;
}

.racing-session-main strong {
	overflow: hidden;
	color: var(--text);
	font-weight: 950;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-schedule-table {
	min-width: 640px;
}

.race-info-copy {
	margin-bottom: 14px;
	line-height: 1.45;
}

.race-info-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 14px;
}

.race-info-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border: 1px solid rgba(110, 211, 255, 0.22);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.06);
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

.standings-panel {
	position: static;
	top: auto;
}

.live-leaderboard-panel {
	position: static;
	top: auto;
}

.racing-detail-page-hero .hero-subtitle {
	max-width: 760px;
}

.server-track-subtitle {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	line-height: 1.2;
}

.server-track-subtitle > span {
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
}

.server-track-layout {
	color: var(--blue-2);
	font-weight: 900;
}

.server-track-separator {
	color: var(--soft);
	font-weight: 900;
}

.racing-detail-page-hero .metric span {
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-live-timing-panel {
	border-color: rgba(93, 242, 160, 0.22);
}

.racing-live-table,
.racing-sessions-table {
	min-width: 680px;
}

.racing-live-table th:first-child,
.racing-live-table td:first-child {
	width: 56px;
}

.racing-driver-cell,
.racing-car-cell {
	display: flex;
	align-items: center;
	min-width: 0;
}

.racing-driver-cell strong,
.racing-car-cell span,
.racing-winner-cell span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-driver-cell strong {
	color: var(--text);
	font-weight: 950;
}

.racing-car-cell {
	gap: 8px;
}

.racing-live-table .racing-car-cell .car-brand-logo {
	width: 28px;
	height: 18px;
}

.racing-car-cell span {
	color: var(--muted);
	font-weight: 850;
}

.racing-winner-cell {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.racing-winner-cell > span {
	display: block;
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 800;
}

.category-records-card {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.category-records-head {
	display: grid;
	gap: 0;
}

.category-records-head h2 {
	margin: 0;
	color: var(--text);
	font-size: 1rem;
	font-weight: 950;
}

.category-records-table {
	width: 100%;
	border-collapse: collapse;
}

.category-records-table th,
.category-records-table td {
	padding: 9px 6px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.category-records-table thead th {
	border-top: 0;
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 900;
	text-transform: uppercase;
}

.category-records-table td {
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 800;
}

.category-records-table .category-pill {
	min-height: 24px;
	padding: 0 8px;
	font-size: 0.7rem;
}

.category-record-driver {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.category-record-driver strong {
	display: flex;
	align-items: center;
	min-width: 0;
	color: var(--text);
	font-weight: 950;
}

.category-record-driver strong > span:last-child,
.category-record-driver small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.category-record-driver small {
	color: var(--soft);
	font-size: 0.74rem;
	font-weight: 800;
}

.compact-empty-state {
	padding: 14px;
}

.driver-affluence-card {
	overflow: hidden;
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.driver-affluence-head,
.driver-affluence-foot {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.driver-affluence-head h2 {
	margin: 2px 0 0;
	color: var(--text);
	font-size: 1.28rem;
	line-height: 1.05;
}

.driver-affluence-head > span {
	display: inline-grid;
	place-items: center;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(110, 211, 255, 0.22);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.065);
	color: var(--blue-2);
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.driver-affluence-canvas {
	position: relative;
	height: 260px;
	min-height: 260px;
}

.driver-affluence-foot {
	align-items: center;
	padding-top: 2px;
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 850;
}

.driver-affluence-foot span {
	color: var(--text);
	font-weight: 950;
}

.server-insight-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.server-insight-head .eyebrow {
	margin: 0;
}

.server-insight-head > span {
	display: inline-grid;
	place-items: center;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(110, 211, 255, 0.22);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.065);
	color: var(--blue-2);
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.server-lapday-canvas {
	position: relative;
	height: 170px;
	min-height: 170px;
}

.server-active-table {
	width: 100%;
	border-collapse: collapse;
}

.server-active-table th,
.server-active-table td {
	padding: 8px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.065);
	text-align: left;
	vertical-align: middle;
}

.server-active-table thead th {
	border-top: 0;
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 900;
	text-transform: uppercase;
}

.server-active-table th:first-child,
.server-active-table td:first-child {
	width: 34px;
	color: var(--muted);
	font-weight: 900;
}

.server-active-table th:last-child,
.server-active-table td:last-child {
	width: 72px;
	text-align: right;
}

.server-active-table td:last-child {
	color: var(--green);
	font-weight: 950;
}

.server-active-driver {
	display: flex;
	align-items: center;
	min-width: 0;
}

.server-active-driver strong {
	overflow: hidden;
	color: var(--text);
	font-size: 0.84rem;
	font-weight: 950;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-info-media {
	min-height: 192px;
	border-radius: 8px;
}

.racing-info-media .racing-card-map {
	width: min(82%, 320px);
	height: 74%;
}

.table-subtext {
	display: block;
	margin-top: 3px;
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
}

.racing-card-info-panel {
	position: static;
	top: auto;
	display: grid;
	gap: 14px;
}

.racing-card-info-panel .panel-heading,
.racing-card-info-panel .race-info-copy {
	margin-bottom: 0;
}

.standings-list {
	display: grid;
	gap: 8px;
}

.standing-row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.standing-row strong {
	color: var(--green);
	font-weight: 950;
}

.standing-row span {
	overflow: hidden;
	color: var(--text);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pace-showcase {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
	gap: 18px;
	align-items: center;
	min-height: 214px;
	padding: 22px 24px;
	border: 1px solid rgba(255, 230, 109, 0.2);
	border-radius: 8px;
	background:
		linear-gradient(118deg, rgba(255, 230, 109, 0.11), transparent 32%),
		linear-gradient(90deg, rgba(5, 200, 180, 0.12), transparent 58%),
		rgba(24, 18, 37, 0.88);
	box-shadow: var(--shadow);
}

.pace-showcase::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: repeating-linear-gradient(115deg, transparent 0, transparent 18px, rgba(255, 255, 255, 0.035) 18px, rgba(255, 255, 255, 0.035) 19px);
	mask-image: linear-gradient(90deg, transparent, #000 28%, transparent 82%);
}

.pace-flag-watermark {
	position: absolute;
	left: -54px;
	top: 50%;
	width: clamp(190px, 22vw, 310px);
	height: auto;
	opacity: 0.1;
	transform: translateY(-50%) rotate(-13deg);
	filter: saturate(1.15) blur(0.2px);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	pointer-events: none;
}

.pace-copy,
.pace-track-map {
	position: relative;
	z-index: 1;
}

.pace-label {
	display: block;
	color: var(--green);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.pace-time {
	display: block;
	margin: 4px 0 8px;
	color: var(--amber);
	font-size: clamp(2.25rem, 5vw, 4.9rem);
	font-weight: 950;
	line-height: 0.95;
}

.pace-showcase h2 {
	margin: 0 0 4px;
	font-size: clamp(1.25rem, 2.2vw, 2rem);
	line-height: 1.05;
}

.pace-showcase p {
	margin-bottom: 14px;
	color: var(--blue-2);
	font-weight: 900;
	text-transform: uppercase;
}

.pace-driver {
	display: inline-grid;
	gap: 2px;
	min-width: min(100%, 320px);
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.pace-driver span,
.pace-driver small,
.car-inline {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pace-driver span {
	color: var(--text);
	font-weight: 900;
}

.pace-driver small,
.car-inline {
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 700;
}

.pace-track-map {
	display: grid;
	place-items: center;
	min-height: 150px;
}

.pace-track-map img {
	display: block;
	width: min(100%, 250px);
	max-height: 150px;
	object-fit: contain;
	filter: invert(1) brightness(1.38) contrast(1.08);
	opacity: 0.84;
}

.record-watch-panel,
.hotlap-results-section,
.hotlap-records-section,
.record-movement-panel {
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.record-watch-panel {
	overflow: hidden;
	padding: 20px;
	background:
		linear-gradient(135deg, rgba(167, 68, 255, 0.13), transparent 34%),
		linear-gradient(180deg, rgba(110, 211, 255, 0.055), rgba(24, 18, 37, 0.84) 46%),
		rgba(24, 18, 37, 0.86);
}

.leaderboard-panel {
	display: grid;
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.leaderboard-filters {
	display: grid;
	grid-template-columns: minmax(150px, 0.78fr) minmax(220px, 1.28fr) minmax(150px, 0.82fr) minmax(230px, 1.45fr) auto;
	gap: 12px;
	align-items: end;
}

.leaderboard-filters label {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.leaderboard-filters label > span {
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 900;
}

.leaderboard-filters select {
	width: 100%;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(141, 121, 196, 0.32);
	border-radius: 8px;
	background: #0d0b18;
	color: var(--text);
	font-size: 0.9rem;
	font-weight: 850;
	outline: 0;
}

.leaderboard-filters select:focus {
	border-color: rgba(110, 211, 255, 0.6);
	box-shadow: 0 0 0 3px rgba(110, 211, 255, 0.1);
}

.leaderboard-filter-actions {
	display: flex;
	align-items: end;
	gap: 8px;
}

.leaderboard-filter-actions button,
.leaderboard-filter-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 8px;
	font-size: 0.82rem;
	font-weight: 950;
	text-decoration: none;
	text-transform: uppercase;
}

.leaderboard-filter-actions button {
	border: 1px solid rgba(110, 211, 255, 0.28);
	background: rgba(110, 211, 255, 0.08);
	color: var(--blue-2);
}

.leaderboard-filter-actions a {
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: transparent;
	color: var(--muted);
}

.fastest-lap-table {
	min-width: 1240px;
}

.fastest-lap-table.is-track-filtered {
	min-width: 760px;
}

.fastest-lap-table th:first-child,
.fastest-lap-table td:first-child {
	width: 54px;
}

.fastest-lap-table .car-cell {
	gap: 7px;
	min-width: 220px;
}

.fastest-lap-table .car-brand-logo,
.track-records-table .car-brand-logo,
.combo-leaderboard-table .car-brand-logo {
	width: 28px;
	height: 18px;
}

.track-records-table .car-cell,
.combo-leaderboard-table .car-cell {
	gap: 7px;
	min-width: 220px;
}

.leaderboard-driver,
.leaderboard-track strong,
.car-cell {
	display: flex;
	align-items: center;
	min-width: 0;
}

.leaderboard-driver-copy strong,
.leaderboard-driver-copy small,
.leaderboard-driver-name span,
.leaderboard-driver-car span,
.leaderboard-track span,
.leaderboard-track small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.leaderboard-driver {
	display: grid;
	align-items: start;
	gap: 3px;
	min-width: 0;
}

.leaderboard-driver .driver-flag {
	margin: 0;
}

.leaderboard-driver-name {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--text);
	font-weight: 950;
	line-height: 1.15;
}

.leaderboard-driver-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.leaderboard-driver-copy strong {
	color: var(--text);
	font-weight: 950;
}

.leaderboard-driver-car {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 850;
}

.leaderboard-track {
	display: flex;
	align-items: center;
	min-width: 230px;
}

.leaderboard-track strong {
	gap: 8px;
	width: 100%;
}

.leaderboard-track .track-flag {
	margin-right: 0;
}

.leaderboard-track span {
	min-width: 0;
	color: var(--text);
	font-weight: 900;
}

.leaderboard-track small {
	flex: 0 0 auto;
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 900;
}

.leaderboard-track small::before {
	content: "·";
	margin-right: 8px;
	color: var(--line-strong);
}

.driver-profile-best-laps-table .leaderboard-track small::before {
	content: none;
	margin-right: 0;
}

.driver-profile-best-laps-table .track-record-pill {
	min-height: 24px;
	padding: 0 8px;
	border: 2px solid rgba(110, 211, 255, 0.48);
	border-radius: 8px;
	background: rgba(61, 131, 255, 0.16);
	color: var(--blue-2);
	font-size: 0.66rem;
	letter-spacing: 0.02em;
}

.hotlap-side .record-watch-panel {
	padding: 14px;
	display: grid;
	gap: 12px;
	background:
		linear-gradient(180deg, rgba(194, 124, 255, 0.09), rgba(14, 12, 25, 0.88) 150px),
		rgba(18, 15, 30, 0.92);
}

.hotlap-side .record-watch-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 0;
}

.hotlap-side .record-watch-head > strong {
	flex: 0 0 auto;
	min-height: 28px;
	padding: 0 9px;
	border-color: rgba(64, 226, 145, 0.28);
	background: rgba(64, 226, 145, 0.08);
	color: var(--green);
	font-size: 0.74rem;
	white-space: nowrap;
}

.hotlap-side .record-watch-head h2 {
	margin-bottom: 3px;
	font-size: 1.18rem;
	text-transform: none;
}

.hotlap-side .record-watch-head span {
	font-size: 0.78rem;
	line-height: 1.25;
}

.hotlap-side .record-feature-card {
	grid-template-columns: 1fr;
	gap: 8px;
	margin-bottom: 0;
	padding: 12px;
	border-color: rgba(194, 124, 255, 0.25);
	background:
		linear-gradient(90deg, rgba(194, 124, 255, 0.13), transparent 58%),
		rgba(11, 10, 22, 0.62);
}

.hotlap-side .record-feature-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 76px;
	grid-template-areas:
		"track map"
		"time map"
		"driver driver";
	gap: 6px 10px;
	align-items: center;
}

.hotlap-side .record-feature-track {
	grid-area: track;
	margin-bottom: 0;
}

.hotlap-side .record-feature-map {
	grid-area: map;
	width: 76px;
	padding: 8px;
	opacity: 0.9;
}

.hotlap-side .record-feature-time {
	grid-area: time;
	margin-bottom: 0;
	font-size: 1.72rem;
	letter-spacing: 0;
}

.hotlap-side .record-feature-driver {
	grid-area: driver;
	flex-wrap: wrap;
	gap: 6px;
	padding-top: 2px;
	font-size: 0.88rem;
}

.hotlap-side .record-feature-track h3 {
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.12;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hotlap-side .record-feature-track > span {
	font-size: 0.72rem;
}

.hotlap-side .record-feature-delta {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 9px;
	border: 1px solid rgba(64, 226, 145, 0.18);
	border-radius: 8px;
	background: rgba(64, 226, 145, 0.06);
	text-align: left;
}

.hotlap-side .record-feature-delta strong {
	font-size: 1.05rem;
}

.pace-update-list {
	display: grid;
	gap: 6px;
}

.pace-update-item {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) minmax(82px, auto);
	grid-template-areas:
		"flag track meta"
		"flag driver meta";
	gap: 4px 9px;
	align-items: center;
	min-height: 66px;
	padding: 9px 10px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
	background: rgba(8, 8, 18, 0.42);
}

.pace-update-track,
.pace-update-driver,
.pace-update-meta {
	min-width: 0;
}

.pace-update-track {
	grid-area: track;
}

.pace-update-driver {
	grid-area: driver;
}

.pace-update-flag {
	grid-area: flag;
	align-self: start;
	margin-top: 2px;
	margin-right: 0;
}

span.pace-update-flag {
	display: block;
	width: 18px;
	height: 12px;
}

.pace-update-meta {
	grid-area: meta;
}

.pace-update-track strong,
.pace-update-track span,
.pace-update-driver strong,
.pace-update-driver small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pace-update-track strong {
	color: var(--text);
	font-size: 0.82rem;
	font-weight: 950;
}

.pace-update-track span,
.pace-update-driver small,
.pace-update-meta small {
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 850;
}

.pace-update-driver {
	display: block;
	align-items: center;
}

.pace-update-driver > span {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.pace-update-driver strong {
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 950;
}

.pace-update-driver small {
	display: block;
}

.pace-update-driver .car-brand-logo {
	width: 24px;
	height: 16px;
}

.pace-update-meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	align-items: center;
	justify-items: end;
	min-width: 82px;
	text-align: right;
}

.pace-update-meta strong {
	color: var(--amber);
	font-size: 0.86rem;
	font-weight: 950;
}

.pace-update-meta span {
	color: var(--green);
	font-size: 0.8rem;
	font-weight: 950;
}

.leaderboard-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.leaderboard-pagination a,
.leaderboard-pagination span,
.leaderboard-pagination strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 8px;
	font-size: 0.82rem;
	font-weight: 950;
}

.leaderboard-pagination a {
	border: 1px solid rgba(110, 211, 255, 0.22);
	color: var(--blue-2);
	text-decoration: none;
}

.leaderboard-pagination strong {
	border: 1px solid rgba(194, 124, 255, 0.36);
	background: rgba(194, 124, 255, 0.12);
	color: var(--text);
}

.leaderboard-pagination span {
	color: var(--soft);
	opacity: 0.6;
}

.record-watch-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.record-watch-head h2 {
	margin-bottom: 7px;
	font-size: clamp(1.45rem, 2.5vw, 2.2rem);
	text-transform: uppercase;
}

.record-watch-head span {
	display: block;
	color: var(--muted);
	font-weight: 800;
}

.record-watch-head > strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--text);
	font-size: 1.05rem;
	font-weight: 900;
}

.record-feature-card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 178px minmax(0, 1fr) minmax(116px, auto);
	gap: 18px;
	align-items: center;
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid rgba(194, 124, 255, 0.35);
	border-radius: 8px;
	background:
		linear-gradient(90deg, rgba(194, 124, 255, 0.12), transparent 52%),
		rgba(8, 8, 20, 0.52);
	box-shadow: inset 0 0 0 1px rgba(194, 124, 255, 0.06);
}

.record-feature-flag {
	position: absolute;
	right: -34px;
	top: 50%;
	width: clamp(130px, 16vw, 230px);
	height: auto;
	opacity: 0.07;
	transform: translateY(-50%) rotate(12deg);
	filter: saturate(1.1) blur(0.2px);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 44%, transparent 76%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 44%, transparent 76%);
	pointer-events: none;
}

.record-feature-map,
.record-feature-main,
.record-feature-delta {
	position: relative;
	z-index: 1;
}

.record-feature-map {
	display: grid;
	place-items: center;
	width: 178px;
	aspect-ratio: 1.25;
	padding: 14px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.record-feature-map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: invert(1) brightness(1.36) contrast(1.08);
	opacity: 0.86;
}

.record-feature-main {
	min-width: 0;
}

.record-feature-track {
	display: grid;
	gap: 2px;
	margin-bottom: 6px;
}

.record-feature-track h3 {
	margin: 0;
	color: var(--text);
	font-size: clamp(1.1rem, 2vw, 1.55rem);
	line-height: 1.08;
}

.record-feature-track > span,
.record-feature-driver small,
.record-feature-delta span,
.record-feature-delta small,
.record-watch-track > span,
.record-watch-driver-copy small {
	color: var(--soft);
	font-size: 0.82rem;
	font-weight: 900;
}

.record-feature-time {
	display: block;
	margin-bottom: 8px;
	color: var(--amber);
	font-size: clamp(2rem, 4vw, 3.45rem);
	font-weight: 950;
	line-height: 0.95;
}

.record-feature-driver {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.record-feature-driver .driver-flag,
.record-watch-driver .driver-flag {
	margin-right: 0;
}

.record-feature-driver span,
.record-watch-driver strong {
	overflow: hidden;
	color: var(--text);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.record-feature-driver small {
	overflow: hidden;
	min-width: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.record-feature-delta {
	display: grid;
	justify-items: end;
	gap: 4px;
	text-align: right;
}

.record-feature-delta strong {
	color: var(--green);
	font-size: 1.65rem;
	font-weight: 950;
	line-height: 1;
}

.record-watch-table-wrap {
	overflow-x: auto;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.record-watch-table {
	width: 100%;
	min-width: 800px;
	border-collapse: collapse;
}

.record-watch-table th,
.record-watch-table td {
	padding: 12px 0 12px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.075);
	text-align: left;
	white-space: nowrap;
}

.record-watch-table th:first-child,
.record-watch-table td:first-child {
	padding-left: 0;
}

.record-watch-table tr:last-child td {
	border-bottom: 0;
}

.record-watch-table th {
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.record-watch-table td {
	color: var(--muted);
	font-size: 0.92rem;
	font-weight: 800;
}

.record-watch-track,
.record-watch-driver {
	min-width: 0;
}

.record-watch-track strong,
.record-watch-track > span {
	display: block;
	overflow: hidden;
	max-width: 280px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.record-watch-track strong {
	color: var(--text);
}

.record-watch-driver {
	display: flex;
	align-items: center;
	gap: 8px;
}

.record-watch-driver-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.record-watch-driver-copy strong,
.record-watch-driver-copy small {
	display: block;
	overflow: hidden;
	max-width: 260px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.record-watch-driver-copy small {
	font-size: 0.76rem;
	line-height: 1.2;
}

.record-movement-panel {
	padding: 16px;
}

.record-movement-list {
	display: grid;
	gap: 10px;
}

.record-movement-item {
	display: grid;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.record-movement-item:first-child {
	border-color: rgba(255, 230, 109, 0.32);
	background: rgba(255, 230, 109, 0.055);
}

.movement-track,
.movement-time,
.movement-footer {
	min-width: 0;
}

.movement-track strong,
.movement-track span,
.movement-time strong,
.movement-time span,
.movement-footer span,
.movement-footer strong,
.hotlap-record-card span,
.hotlap-record-card small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.movement-track strong {
	color: var(--text);
	font-size: 0.94rem;
}

.movement-track span,
.movement-time span,
.movement-footer span {
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 800;
}

.movement-time {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.movement-time strong {
	color: var(--amber);
	font-size: 1.15rem;
	font-weight: 900;
}

.movement-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.movement-footer strong {
	color: var(--green);
	font-size: 0.86rem;
	font-weight: 900;
}

.category-pill,
.record-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 9px;
	border-radius: 8px;
	font-size: 0.76rem;
	font-weight: 900;
	line-height: 1;
}

.category-pill {
	border: 1px solid rgba(110, 211, 255, 0.26);
	background: rgba(110, 211, 255, 0.08);
	color: var(--blue-2);
}

.record-tag {
	border: 1px solid rgba(93, 242, 160, 0.28);
	background: rgba(93, 242, 160, 0.1);
	color: var(--green);
}

.hotlap-table {
	min-width: 880px;
}

.hotlap-record-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.hotlap-record-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.record-card-rank {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(194, 124, 255, 0.32);
	border-radius: 8px;
	background: rgba(194, 124, 255, 0.1);
	color: #d7a5ff;
	font-size: 0.78rem;
	font-weight: 900;
}

.record-card-main,
.record-card-driver {
	min-width: 0;
}

.record-card-main strong {
	display: block;
	color: var(--amber);
	font-size: 1.28rem;
	font-weight: 900;
	line-height: 1.05;
}

.record-card-main span {
	margin-top: 5px;
	color: var(--text);
	font-weight: 900;
}

.record-card-main small,
.record-card-driver small {
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 800;
}

.record-card-driver {
	grid-column: 2;
	padding-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.record-card-driver span {
	color: var(--muted);
	font-size: 0.84rem;
	font-weight: 900;
}

.results-table-wrap {
	overflow-x: auto;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
}

.results-table {
	width: 100%;
	min-width: 860px;
	border-collapse: collapse;
}

.results-table th,
.results-table td {
	padding: 12px 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	text-align: left;
	white-space: nowrap;
}

.results-table thead th {
	border-top: 0;
	background: rgba(255, 255, 255, 0.035);
	color: var(--soft);
	font-size: 0.74rem;
	font-weight: 900;
	text-transform: uppercase;
}

.results-table td {
	color: var(--muted);
	font-size: 0.9rem;
	font-weight: 700;
}

.result-time,
.result-track,
.result-driver {
	display: grid;
	gap: 2px;
}

.result-time strong,
.result-track strong,
.result-driver strong {
	color: var(--text);
	font-size: 0.9rem;
}

.result-time strong {
	color: var(--blue-2);
	font-weight: 900;
}

.result-time span,
.result-track > span,
.result-driver span,
.result-driver small,
.clean-label {
	color: var(--soft);
	font-size: 0.76rem;
}

.result-driver strong,
.result-driver span,
.result-driver small {
	overflow: hidden;
	max-width: 220px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.result-driver small {
	font-weight: 800;
	line-height: 1.2;
}

.result-driver-name,
.latest-driver-line {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.result-driver-name .driver-flag-slot {
	margin-right: 0;
}

.result-driver-name .driver-flag,
.latest-driver-line .driver-flag {
	margin-right: 0;
}

.result-driver-name > span:last-child {
	overflow: hidden;
	min-width: 0;
	color: var(--text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sessions-table {
	min-width: 980px;
}

.session-type-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 9px;
	border: 2px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	background: rgba(9, 12, 25, 0.72);
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.session-type-pill.is-practice {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.075);
	color: rgba(228, 224, 240, 0.88);
}

.session-type-pill.is-qualy {
	border-color: rgba(110, 211, 255, 0.48);
	background: rgba(61, 131, 255, 0.16);
	color: var(--blue-2);
}

.session-type-pill.is-race {
	border-color: rgba(93, 242, 160, 0.48);
	background: rgba(93, 242, 160, 0.14);
	color: var(--green);
}

.result-track strong {
	max-width: 250px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.result-track strong .track-name,
.compact-server-track strong .track-name {
	width: 100%;
}

.clean-meter {
	overflow: hidden;
	width: 86px;
	height: 7px;
	margin-bottom: 4px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
}

.clean-meter span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--green), var(--blue-2));
}

.best-lap {
	color: var(--amber) !important;
	font-weight: 900 !important;
}

.results-drivers {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.driver-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 16px;
}

.live-servers-panel {
	position: sticky;
	top: 100px;
	padding: 16px;
}

.server-tools {
	display: grid;
	gap: 10px;
	margin-bottom: 14px;
}

.server-tools .segmented-control {
	grid-template-columns: repeat(3, 1fr);
}

.server-tools .filter-button {
	width: 100%;
	padding: 0 8px;
}

.compact-search {
	grid-template-columns: 1fr;
	gap: 2px;
	min-height: 54px;
	padding: 8px 12px;
}

.compact-server-list {
	display: grid;
	gap: 8px;
}

.compact-server-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.compact-server-row[data-session-href] {
	cursor: pointer;
	transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.compact-server-row[data-session-href]:hover,
.compact-server-row[data-session-href]:focus {
	border-color: rgba(110, 211, 255, 0.42);
	background: rgba(110, 211, 255, 0.055);
	box-shadow: inset 3px 0 0 rgba(110, 211, 255, 0.68);
	outline: 0;
}

.compact-server-row.is-live {
	border-color: rgba(110, 211, 255, 0.46);
	background: rgba(110, 211, 255, 0.055);
}

.home-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 22px;
	align-items: start;
}

.home-main,
.home-side {
	display: grid;
	min-width: 0;
	gap: 18px;
}

.home-side {
	position: sticky;
	top: 100px;
}

.home-side .live-servers-panel {
	position: static;
	top: auto;
}

.home-session-table {
	min-width: 820px;
}

.home-active-section {
	overflow: hidden;
	border-color: rgba(110, 211, 255, 0.2);
	background:
		linear-gradient(135deg, rgba(37, 136, 255, 0.12), rgba(18, 21, 36, 0.74) 48%, rgba(12, 14, 24, 0.9)),
		rgba(255, 255, 255, 0.035);
}

.home-active-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 12px;
}

.home-active-card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
	min-width: 0;
	padding: 10px;
	border: 1px solid rgba(110, 211, 255, 0.26);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.1), rgba(255, 255, 255, 0.035)),
		rgba(14, 17, 28, 0.74);
	cursor: pointer;
	transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.home-active-card:hover,
.home-active-card:focus {
	border-color: rgba(110, 211, 255, 0.56);
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.16), rgba(255, 255, 255, 0.05)),
		rgba(14, 17, 28, 0.82);
	outline: 0;
	transform: translateY(-1px);
}

.home-active-flag-bg {
	position: absolute;
	right: -48px;
	top: 50%;
	z-index: 0;
	width: 210px;
	height: 154px;
	object-fit: cover;
	opacity: 0.1;
	transform: translateY(-50%) rotate(-9deg);
	pointer-events: none;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 48%, transparent 78%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 48%, transparent 78%);
}

.home-active-map {
	position: relative;
	z-index: 1;
	overflow: hidden;
	display: grid;
	place-items: center;
	min-height: 82px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.home-active-map img {
	display: block;
	width: 86%;
	height: 86%;
	object-fit: contain;
	opacity: 0.9;
	filter: invert(1) brightness(1.28) saturate(0.75);
}

.home-active-content {
	position: relative;
	z-index: 1;
	display: grid;
	min-width: 0;
	gap: 8px;
}

.home-active-top,
.home-active-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}

.home-active-top .session-type-pill,
.home-active-top .status-pill {
	min-height: 24px;
	height: 24px;
	padding: 0 8px;
	border-radius: 8px;
	font-size: 0.68rem;
	line-height: 1;
}

.home-active-top .session-type-pill.is-practice {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.075);
	color: rgba(228, 224, 240, 0.88);
}

.home-active-top .status-pill.is-live {
	animation: status-pulse 2.35s ease-in-out infinite;
}

.home-active-title {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.home-active-title strong,
.home-active-title span,
.home-active-title small,
.home-active-footer span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-active-title strong {
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 950;
	text-transform: uppercase;
}

.home-active-title span {
	color: var(--text);
	font-size: 0.88rem;
	font-weight: 950;
}

.home-active-title small {
	display: inline;
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 850;
	white-space: nowrap;
}

.home-active-footer span {
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 850;
}

.home-active-footer {
	justify-content: space-between;
}

.home-active-footer strong {
	color: var(--green);
	font-size: 0.78rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.home-pace-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.home-pace-card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	align-items: stretch;
	gap: 14px;
	min-width: 0;
	min-height: 150px;
	padding: 14px;
	border: 1px solid rgba(132, 91, 255, 0.24);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(103, 65, 178, 0.24), rgba(18, 21, 36, 0.66) 48%, rgba(12, 14, 24, 0.84)),
		rgba(255, 255, 255, 0.035);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
}

.home-pace-card.is-featured {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) 220px;
	min-height: 210px;
	padding: 20px;
	border-color: rgba(191, 112, 255, 0.46);
	background:
		linear-gradient(135deg, rgba(103, 65, 178, 0.36), rgba(18, 21, 36, 0.76) 46%, rgba(8, 10, 18, 0.9)),
		rgba(255, 255, 255, 0.04);
}

.home-pace-flag-bg {
	position: absolute;
	right: -58px;
	top: 50%;
	z-index: 0;
	width: 260px;
	height: 188px;
	object-fit: cover;
	opacity: 0.11;
	transform: translateY(-50%) rotate(-10deg);
	filter: saturate(1.12) contrast(1.06);
	pointer-events: none;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 50%, transparent 80%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 50%, transparent 80%);
}

.home-pace-card.is-featured .home-pace-flag-bg {
	right: -44px;
	width: 360px;
	height: 240px;
	opacity: 0.13;
}

.home-pace-track,
.home-pace-content,
.home-pace-map,
.home-pace-driver,
.home-pace-time-row,
.home-pace-footer {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.home-pace-map {
	overflow: hidden;
	display: grid;
	place-items: center;
	min-height: 122px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
		rgba(255, 255, 255, 0.045);
}

.home-pace-map img {
	width: 88%;
	height: 88%;
	object-fit: contain;
	filter: invert(1) brightness(1.25) drop-shadow(0 8px 18px rgba(0, 0, 0, 0.32));
	opacity: 0.9;
}

.home-pace-card.is-featured .home-pace-map {
	order: 2;
	min-height: 168px;
}

.home-pace-card.is-featured .home-pace-content {
	order: 1;
	justify-content: center;
}

.home-pace-content {
	display: grid;
	align-content: space-between;
	gap: 14px;
}

.home-pace-track {
	display: grid;
	gap: 5px;
}

.home-pace-track strong,
.home-pace-track span,
.home-pace-driver span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-pace-track strong {
	color: var(--text);
	font-size: 1.08rem;
	font-weight: 950;
}

.home-pace-card.is-featured .home-pace-track strong {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.02;
	letter-spacing: 0;
}

.home-pace-track span {
	color: var(--soft);
	font-size: 0.8rem;
	font-weight: 850;
}

.home-pace-card.is-featured .home-pace-track span {
	font-size: 0.95rem;
}

.home-pace-track .home-pace-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
}

.home-pace-track .home-pace-layout {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	color: var(--blue-2);
	font-weight: 950;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-pace-track .home-pace-category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 19px;
	max-width: 100%;
	padding: 1px 7px 0;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.115);
	color: rgba(246, 244, 255, 0.9);
	font-size: 0.66rem;
	font-weight: 950;
	line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-pace-card.is-featured .home-pace-track .home-pace-category {
	font-size: 0.66rem;
	min-height: 19px;
	padding: 1px 7px 0;
}

.home-pace-time-row,
.home-pace-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.home-pace-time {
	color: var(--amber);
	font-size: 1.55rem;
	font-weight: 950;
	line-height: 1;
}

.home-pace-card.is-featured .home-pace-time {
	font-size: clamp(2.25rem, 5vw, 3.55rem);
}

.home-pace-time-row span {
	color: var(--green);
	font-size: 1rem;
	font-weight: 950;
	white-space: nowrap;
}

.home-pace-driver {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--text);
	font-size: 0.9rem;
	font-weight: 900;
}

.home-pace-card.is-featured .home-pace-driver {
	font-size: 1rem;
}

.home-pace-driver .driver-flag,
.home-pace-track .track-flag {
	margin-right: 0;
}

.home-pace-footer small {
	color: var(--soft);
	font-size: 0.8rem;
	font-weight: 850;
	white-space: nowrap;
}

.hall-of-fame-section {
	overflow: visible;
}

.hall-record-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.hall-track-card {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 0;
	min-width: 0;
	border: 1px solid rgba(132, 91, 255, 0.22);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(103, 65, 178, 0.2), rgba(18, 21, 36, 0.72) 52%, rgba(12, 14, 24, 0.9)),
		rgba(255, 255, 255, 0.035);
}

.hall-track-flag-bg {
	position: absolute;
	right: -80px;
	top: -42px;
	z-index: 0;
	width: 360px;
	height: 210px;
	object-fit: cover;
	opacity: 0.12;
	transform: rotate(-10deg);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 68%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 68%, transparent 100%);
	pointer-events: none;
}

.hall-track-head,
.hall-record-table-wrap {
	position: relative;
	z-index: 1;
}

.hall-track-head {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	min-height: 132px;
	padding: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: linear-gradient(135deg, rgba(61, 131, 255, 0.08), rgba(255, 255, 255, 0.015));
}

.hall-track-title {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.hall-track-title strong {
	display: block;
	min-width: 0;
	color: var(--text);
	font-size: clamp(1.3rem, 2.8vw, 2rem);
	font-weight: 950;
	line-height: 1.05;
}

.hall-track-title strong span,
.hall-track-title small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hall-track-title small {
	display: block;
	color: var(--blue-2);
	font-size: 0.82rem;
	font-weight: 900;
}

.hall-track-map {
	display: grid;
	place-items: center;
	height: 96px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
}

.hall-track-map img {
	width: 86%;
	height: 86%;
	object-fit: contain;
	filter: invert(1) brightness(1.28) saturate(0.72);
	opacity: 0.9;
}

.hall-record-table-wrap {
	margin: 14px;
}

.hall-record-table {
	min-width: 0;
	table-layout: auto;
}

.hall-record-table .car-brand-logo {
	flex: 0 0 auto;
	width: 28px;
	height: 18px;
}

.hall-record-car-line {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 850;
}

.hall-record-car-line span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hall-record-driver {
	max-width: 230px;
}

.hall-record-table .best-lap {
	color: var(--amber);
}

.hall-record-table tr.is-empty-record td {
	color: rgba(184, 174, 211, 0.58);
}

.hall-empty-record {
	display: block;
	overflow: hidden;
	color: rgba(246, 244, 255, 0.78);
	font-weight: 850;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hall-empty-dash {
	color: rgba(184, 174, 211, 0.5);
	font-weight: 850;
	white-space: nowrap;
}

.community-activity-section {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(18, 214, 190, 0.08), rgba(120, 74, 214, 0.12) 52%, rgba(8, 10, 18, 0.9)),
		rgba(24, 18, 37, 0.84);
}

.community-activity-section .section-heading {
	align-items: flex-start;
}

.community-activity-totals {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
}

.community-activity-total {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(93, 242, 160, 0.38);
	border-radius: 8px;
	background: rgba(93, 242, 160, 0.09);
	color: var(--green);
	font-size: 1rem;
	font-weight: 950;
	line-height: 1;
	white-space: nowrap;
}

.community-activity-total.is-km {
	border-color: rgba(110, 211, 255, 0.38);
	background: rgba(110, 211, 255, 0.09);
	color: var(--blue-2);
}

.community-activity-total small {
	color: rgba(245, 241, 255, 0.82);
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
}

.community-activity-subtitle {
	margin: -4px 0 12px;
	color: var(--soft);
	font-size: 0.9rem;
	font-weight: 800;
}

.community-activity-canvas {
	position: relative;
	height: 336px;
	min-height: 336px;
}

.community-activity-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	gap: 16px;
	align-items: stretch;
}

.community-top-tracks-section {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.08), rgba(120, 74, 214, 0.1) 56%, rgba(8, 10, 18, 0.9)),
		rgba(24, 18, 37, 0.84);
}

.community-top-tracks-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.community-top-tracks-table th,
.community-top-tracks-table td {
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.075);
	vertical-align: middle;
}

.community-top-tracks-table th {
	color: var(--soft);
	font-size: 0.62rem;
	font-weight: 950;
	text-align: left;
	text-transform: uppercase;
}

.community-top-tracks-table th:last-child,
.community-top-tracks-table td:last-child {
	text-align: right;
	width: 76px;
}

.community-top-tracks-table td:last-child {
	color: var(--green);
	font-size: 0.86rem;
	font-weight: 950;
}

.community-top-tracks-table tbody tr:last-child td {
	border-bottom: 0;
}

.community-top-track strong {
	max-width: 100%;
}

.community-top-track {
	min-width: 0;
}

.community-top-track span,
.community-top-track small {
	max-width: 100%;
}

.mini-link {
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.compact-server-map {
	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
	width: 92px;
	height: 74px;
	padding: 8px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
	box-sizing: border-box;
}

.compact-server-map-flag {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 0;
	display: block;
	width: 142%;
	height: 142%;
	object-fit: cover;
	opacity: 0.16;
	filter: saturate(1.18) contrast(1.08);
	transform: translate(-50%, -50%) rotate(-9deg);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}

.compact-server-track-map {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	opacity: 0.86;
	filter: invert(1) brightness(1.3) saturate(0.7);
	mix-blend-mode: screen;
}

.compact-server-main {
	min-width: 0;
}

.compact-server-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "session state";
	gap: 8px;
	align-items: center;
	margin-bottom: 5px;
}

.compact-server-session,
.compact-server-state,
.compact-server-track strong,
.compact-server-track > span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.compact-server-top .status-pill {
	display: inline-flex;
	align-items: center;
	align-self: center;
	justify-content: center;
	min-height: 24px;
	height: 24px;
	padding: 0 7px;
	border-radius: 8px;
	font-size: 0.68rem;
	line-height: 1;
}

.compact-server-row.is-live .compact-server-state.status-pill.is-live {
	animation: status-pulse 2.35s ease-in-out infinite;
}

.compact-server-session {
	grid-area: session;
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 900;
	text-transform: uppercase;
}

.compact-server-state {
	grid-area: state;
	font-size: 0.82rem;
	font-weight: 900;
}

.compact-server-track {
	min-width: 0;
	margin-bottom: 7px;
}

.compact-server-track strong {
	color: var(--text);
	font-size: 0.88rem;
}

.compact-server-track > span {
	color: var(--soft);
	font-size: 0.76rem;
}

.practice-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 410px;
	gap: 22px;
	align-items: start;
}

.section-heading,
.panel-heading,
.mini-heading,
.table-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.section-kpi,
.mini-heading span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid rgba(93, 242, 160, 0.28);
	border-radius: 8px;
	background: rgba(93, 242, 160, 0.08);
	color: var(--green);
	font-size: 0.82rem;
	font-weight: 900;
}

.section-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 13px;
	border: 1px solid rgba(61, 131, 255, 0.48);
	border-radius: 8px;
	background: rgba(61, 131, 255, 0.12);
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.section-action:hover {
	border-color: rgba(110, 211, 255, 0.7);
	color: var(--blue-2);
}

.section-action.is-hall {
	border-color: rgba(255, 230, 109, 0.42);
	background: rgba(255, 230, 109, 0.1);
	color: #fff1a8;
}

.section-action.is-hall:hover {
	border-color: rgba(255, 230, 109, 0.68);
	color: var(--amber);
}

.section-heading-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.section-action.is-secondary {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.045);
	color: var(--muted);
}

.section-action.is-secondary:hover {
	border-color: rgba(110, 211, 255, 0.44);
	color: var(--blue-2);
}

.server-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.server-card {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--panel);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.server-card.is-live {
	border-color: rgba(110, 211, 255, 0.46);
	box-shadow: 0 0 0 1px rgba(110, 211, 255, 0.12), 0 18px 36px rgba(0, 0, 0, 0.3);
}

.server-media {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	min-height: 136px;
	padding: 12px;
	background-position: center;
	background-size: cover;
}

.status-pill,
.server-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 9px;
	border-radius: 9px;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.status-pill {
	border: 2px solid rgba(255, 255, 255, 0.14);
	background: rgba(9, 12, 25, 0.78);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.055);
}

.status-pill.is-live {
	border-color: rgba(110, 211, 255, 0.56);
	background: rgba(61, 131, 255, 0.16);
	color: var(--blue-2);
	box-shadow: inset 0 0 0 1px rgba(110, 211, 255, 0.16), 0 0 18px rgba(110, 211, 255, 0.13);
}

.status-pill.is-online {
	border-color: rgba(93, 242, 160, 0.48);
	background: rgba(93, 242, 160, 0.12);
	color: var(--green);
	box-shadow: inset 0 0 0 1px rgba(93, 242, 160, 0.12), 0 0 16px rgba(93, 242, 160, 0.1);
}

.status-pill.is-scheduled {
	border-color: rgba(255, 183, 77, 0.42);
	background: rgba(255, 183, 77, 0.1);
	color: var(--amber);
}

.status-pill.is-offline {
	border-color: rgba(255, 64, 95, 0.48);
	background: rgba(255, 64, 95, 0.1);
	color: var(--red);
}

.status-pill.is-attention {
	animation: status-pulse 2.35s ease-in-out infinite;
}

@keyframes status-pulse {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.58;
	}
}

.server-code {
	background: rgba(61, 131, 255, 0.86);
	color: white;
}

.server-body {
	padding: 14px;
}

.server-body p {
	margin-bottom: 0;
	color: var(--muted);
}

.server-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 16px 0 14px;
}

.server-stats div {
	min-width: 0;
	padding: 9px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.server-stats strong,
.server-stats span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.server-stats strong {
	color: var(--text);
	font-size: 0.88rem;
}

.server-stats span {
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.occupancy-bar {
	overflow: hidden;
	height: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
}

.occupancy-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--green), var(--blue));
}

.race-control {
	position: sticky;
	top: 100px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.88);
	box-shadow: var(--shadow);
}

.session-list {
	display: grid;
	gap: 8px;
}

.session-list .session-row {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr) 96px;
	gap: 10px;
	align-items: center;
	padding: 10px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.results-table tr.session-row {
	cursor: pointer;
	transition: background 0.16s ease, box-shadow 0.16s ease;
}

.results-table tr.session-row:hover,
.results-table tr.session-row:focus {
	background: rgba(255, 255, 255, 0.04);
	box-shadow: none;
	outline: 0;
}

.session-link {
	display: inline-flex;
	max-width: 100%;
	color: inherit;
}

.session-time strong,
.session-time span,
.session-main strong,
.session-main span,
.session-lap strong,
.session-lap span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.session-time strong,
.session-lap strong {
	color: var(--text);
	font-size: 0.86rem;
}

.session-time span,
.session-main span,
.session-lap span {
	color: var(--soft);
	font-size: 0.75rem;
}

.session-main strong {
	font-size: 0.9rem;
}

.session-lap {
	text-align: right;
}

.session-lap strong {
	color: var(--amber);
}

.driver-strip {
	margin-top: 22px;
}

.session-detail-hero {
	display: grid;
	gap: 14px;
	padding: 28px 0 22px;
}

.back-link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 32px;
	padding: 0 11px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 900;
}

.back-link:hover {
	color: var(--text);
	border-color: rgba(110, 211, 255, 0.34);
}

.session-detail-head {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(160px, 230px) minmax(360px, 0.74fr);
	gap: 18px;
	align-items: center;
	min-height: 178px;
	padding: 22px 28px 22px 24px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background:
		linear-gradient(115deg, rgba(110, 211, 255, 0.1), transparent 36%),
		linear-gradient(90deg, rgba(167, 68, 255, 0.1), transparent 54%),
		rgba(24, 18, 37, 0.86);
	box-shadow: none;
}

.session-detail-head > *:not(.session-flag-watermark) {
	position: relative;
	z-index: 1;
}

.session-flag-watermark {
	position: absolute;
	left: -76px;
	top: 50%;
	width: clamp(210px, 24vw, 340px);
	height: auto;
	opacity: 0.1;
	transform: translateY(-50%) rotate(-13deg);
	filter: saturate(1.15) blur(0.2px);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 45%, transparent 76%);
	pointer-events: none;
}

.session-track-title {
	min-width: 0;
	padding-left: clamp(10px, 3.2vw, 42px);
}

.session-track-map {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 126px;
	padding: 8px 10px;
}

.session-track-map img {
	display: block;
	width: min(100%, 220px);
	max-height: 122px;
	object-fit: contain;
	filter: invert(1) brightness(1.36) contrast(1.08);
	opacity: 0.82;
}

.session-detail-head h1 {
	max-width: 900px;
	margin: 5px 0 5px;
	font-size: clamp(1.7rem, 2.7vw, 3rem);
	line-height: 1.02;
	overflow-wrap: anywhere;
}

.session-detail-head p {
	margin: 0;
	color: var(--muted);
	font-weight: 700;
}

.session-track-title > p:last-child {
	color: var(--blue-2);
	font-size: 0.92rem;
	font-weight: 900;
	text-transform: uppercase;
}

.session-track-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-top: 6px;
}

.session-layout-meta {
	color: var(--blue-2);
	font-size: 1.06rem;
	font-weight: 950;
	letter-spacing: 0;
	text-transform: uppercase;
}

.session-context-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 24px;
	padding: 0 9px;
	border: 1px solid rgba(110, 211, 255, 0.32);
	border-radius: 7px;
	background: rgba(110, 211, 255, 0.09);
	color: var(--text);
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1;
}

.session-context-pill > span {
	color: rgba(238, 236, 255, 0.86);
}

.session-context-pill > strong {
	color: var(--blue-2);
	font-weight: 950;
}

.session-context-pill.is-muted {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.045);
}

.session-context-pill.is-muted > strong {
	color: var(--text);
}

.session-detail-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
}

.session-detail-head .session-detail-metrics div {
	border-color: rgba(255, 255, 255, 0.035);
	background: rgba(255, 255, 255, 0.028);
}

.session-detail-metrics div,
.driver-lap-stats div {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
}

.session-detail-metrics span,
.session-detail-metrics small,
.driver-lap-stats strong,
.driver-lap-stats span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.session-detail-metrics span,
.driver-lap-stats strong {
	color: var(--amber);
	font-size: 1.12rem;
	font-weight: 900;
}

.session-detail-metrics small,
.driver-lap-stats span {
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.lap-results-section {
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.driver-ranking-wrap {
	overflow-x: auto;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
}

.driver-ranking-table {
	width: 100%;
	min-width: 1180px;
	border-collapse: collapse;
}

.driver-ranking-table th,
.driver-ranking-table td {
	padding: 12px 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	text-align: left;
	white-space: nowrap;
}

.driver-ranking-table thead th {
	border-top: 0;
	background: rgba(255, 255, 255, 0.035);
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.driver-ranking-table td {
	color: var(--muted);
	font-size: 0.9rem;
	font-weight: 800;
}

.driver-rank-row {
	cursor: pointer;
	transition: background 0.16s ease, box-shadow 0.16s ease;
}

.driver-rank-row:hover,
.driver-rank-row:focus,
.driver-rank-row.is-open {
	background: rgba(110, 211, 255, 0.055);
	box-shadow: inset 3px 0 0 rgba(110, 211, 255, 0.68);
	outline: 0;
}

.rank-cell {
	color: var(--text) !important;
	font-weight: 900 !important;
}

.driver-ranking-table .driver-cell strong {
	display: flex;
	align-items: center;
	min-width: 0;
}

.racing-driver-identity {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 220px;
}

.racing-driver-identity strong {
	overflow: hidden;
	color: var(--text);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.racing-driver-identity.is-compact {
	min-width: 160px;
}

.racing-driver-identity.is-compact strong {
	font-size: 0.86rem;
}

.driver-flag-slot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 12px;
}

.driver-flag {
	display: inline-block;
	flex: 0 0 auto;
	width: 18px;
	height: 12px;
	margin-right: 7px;
	border-radius: 4px;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.racing-driver-identity .driver-flag {
	margin-right: 0;
}

.car-cell {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 250px;
}

.car-cell span {
	overflow: hidden;
	color: var(--text);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.car-brand-logo {
	display: block;
	flex: 0 0 auto;
	width: 38px;
	height: 24px;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35));
}

.driver-ranking-table .car-cell {
	gap: 8px;
	min-width: 220px;
}

.driver-ranking-table .car-brand-logo {
	width: 28px;
	height: 18px;
}

.pi-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 24px;
	padding: 0 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
}

.driver-clean-cell {
	display: grid;
	gap: 3px;
	width: 88px;
}

.driver-clean-cell .clean-meter {
	width: 88px;
	margin-bottom: 0;
}

.delta-cell {
	color: var(--muted) !important;
	font-weight: 900 !important;
}

.delta-cell.is-delta-purple {
	color: #c27cff !important;
}

.delta-cell.is-delta-green {
	color: var(--green) !important;
}

.delta-cell.is-delta-orange {
	color: var(--orange) !important;
}

.delta-cell.is-delta-red {
	color: var(--red) !important;
}

.delta-cell.is-delta-neutral {
	color: var(--soft) !important;
}

.delta-cell.is-delta-lap {
	color: var(--muted) !important;
}

.trace-impact {
	display: grid;
	gap: 2px;
	line-height: 1;
}

.trace-impact-count {
	color: var(--text);
	font-size: 0.92rem;
	font-weight: 900;
}

.trace-impact-points {
	color: var(--red);
	font-size: 0.74rem;
	font-weight: 900;
}

.trace-impact-points.is-zero {
	color: var(--soft);
}

.trace-impact-points.is-positive {
	color: var(--green);
}

.trace-impact-total .trace-impact-count {
	color: var(--orange);
}

.sr-delta-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--soft);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1;
}

.sr-delta-pill.is-delta-green {
	border-color: rgba(86, 255, 157, 0.42);
	background: rgba(86, 255, 157, 0.12);
	color: var(--green);
}

.sr-delta-pill.is-delta-red {
	border-color: rgba(255, 73, 109, 0.42);
	background: rgba(255, 73, 109, 0.12);
	color: var(--red);
}

.sr-delta-pill.is-delta-neutral {
	color: var(--soft);
}

.driver-profile-sr-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 30px;
	margin-top: 10px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--soft);
	font-size: 0.86rem;
	font-weight: 900;
	line-height: 1;
	overflow: hidden;
}

.driver-profile-sr-key,
.driver-profile-sr-value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.driver-profile-sr-key {
	padding: 0 9px;
	background: rgba(3, 5, 13, 0.58);
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	color: var(--text);
}

.driver-profile-sr-value {
	min-width: 58px;
	padding: 0 11px;
}

.driver-profile-sr-pill.is-sr-red {
	border-color: rgba(255, 73, 109, 0.42);
	background: rgba(255, 73, 109, 0.09);
	color: var(--red);
}

.driver-profile-sr-pill.is-sr-red .driver-profile-sr-key {
	border-right-color: rgba(255, 73, 109, 0.32);
	background: rgba(255, 73, 109, 0.18);
	color: var(--red);
}

.driver-profile-sr-pill.is-sr-red .driver-profile-sr-value {
	background: rgba(255, 73, 109, 0.1);
	color: var(--red) !important;
}

.driver-profile-sr-pill.is-sr-orange {
	border-color: rgba(255, 178, 80, 0.42);
	background: rgba(255, 178, 80, 0.09);
	color: var(--orange);
}

.driver-profile-sr-pill.is-sr-orange .driver-profile-sr-key {
	border-right-color: rgba(255, 178, 80, 0.32);
	background: rgba(255, 178, 80, 0.18);
	color: var(--orange);
}

.driver-profile-sr-pill.is-sr-orange .driver-profile-sr-value {
	background: rgba(255, 178, 80, 0.1);
	color: var(--orange) !important;
}

.driver-profile-sr-pill.is-sr-green {
	border-color: rgba(86, 255, 157, 0.42);
	background: rgba(86, 255, 157, 0.09);
	color: var(--green);
}

.driver-profile-sr-pill.is-sr-green .driver-profile-sr-key {
	border-right-color: rgba(86, 255, 157, 0.32);
	background: rgba(86, 255, 157, 0.18);
	color: var(--green);
}

.driver-profile-sr-pill.is-sr-green .driver-profile-sr-value {
	background: rgba(86, 255, 157, 0.1);
	color: var(--green) !important;
}

.driver-profile-sr-pill.is-sr-violet {
	border-color: rgba(194, 124, 255, 0.46);
	background: rgba(194, 124, 255, 0.1);
	color: #c27cff;
}

.driver-profile-sr-pill.is-sr-violet .driver-profile-sr-key {
	border-right-color: rgba(194, 124, 255, 0.34);
	background: rgba(194, 124, 255, 0.2);
	color: #c27cff;
}

.driver-profile-sr-pill.is-sr-violet .driver-profile-sr-value {
	background: rgba(194, 124, 255, 0.12);
	color: #c27cff !important;
}

.driver-table-sr-pill {
	width: 82px;
	height: 24px;
	margin-top: 0;
	border-radius: 7px;
	font-size: 0.74rem;
	vertical-align: middle;
	flex: 0 0 82px;
}

.driver-table-sr-pill .driver-profile-sr-key {
	width: 28px;
	padding: 0;
	flex: 0 0 28px;
}

.driver-table-sr-pill .driver-profile-sr-value {
	width: 54px;
	min-width: 54px;
	padding: 0;
	flex: 0 0 54px;
}

.driver-last-seen {
	color: var(--blue-2) !important;
	font-weight: 950 !important;
}

.sector-best {
	color: #c27cff !important;
	font-weight: 900 !important;
}

.driver-detail-row > td {
	padding: 0;
	background: rgba(7, 6, 17, 0.28);
}

.driver-detail-panel {
	display: grid;
	gap: 12px;
	padding: 14px;
	border-top: 1px solid rgba(110, 211, 255, 0.12);
}

.driver-detail-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.driver-detail-kpis div {
	min-width: 0;
	padding: 13px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.driver-detail-kpis span,
.driver-detail-kpis strong,
.driver-detail-kpis small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-detail-kpis span {
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.driver-detail-kpis strong {
	margin: 2px 0;
	color: var(--green);
	font-size: 1.16rem;
	font-weight: 900;
}

.driver-detail-kpis small {
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 800;
}

.lap-chart-panel {
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.026);
}

.lap-chart-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.lap-chart-heading strong,
.lap-chart-heading span {
	display: block;
}

.lap-chart-heading strong {
	color: var(--text);
	font-size: 0.98rem;
}

.lap-chart-heading span {
	color: var(--soft);
	font-size: 0.82rem;
	font-weight: 700;
}

.lap-chart-canvas {
	position: relative;
	height: 300px;
	min-height: 300px;
}

.chart-fallback {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--muted);
	font-weight: 800;
}

.driver-lap-list {
	display: grid;
	gap: 12px;
}

.driver-lap-card {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.driver-lap-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
	gap: 16px;
	align-items: center;
	padding: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.driver-lap-heading .driver-cell {
	min-width: 0;
}

.driver-lap-heading .driver-cell strong {
	display: flex;
	align-items: center;
	min-width: 0;
}

.driver-lap-heading .driver-cell .flag {
	flex: 0 0 auto;
	margin-right: 8px;
}

.driver-lap-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.lap-table-wrap {
	overflow-x: auto;
}

.lap-table {
	width: 100%;
	min-width: 980px;
	border-collapse: collapse;
}

.lap-table th,
.lap-table td {
	padding: 10px 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	text-align: left;
	white-space: nowrap;
}

.lap-table thead th {
	border-top: 0;
	background: rgba(255, 255, 255, 0.025);
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.lap-table td {
	color: var(--muted);
	font-size: 0.88rem;
	font-weight: 700;
}

.lap-table tr.is-best td {
	background: rgba(194, 124, 255, 0.065);
}

.lap-table tr.is-best td:first-child {
	box-shadow: inset 4px 0 0 rgba(194, 124, 255, 0.9);
}

.lap-time-cell {
	color: var(--text) !important;
	font-weight: 900 !important;
}

.lap-time-cell.is-best-lap-time {
	color: #d6a2ff !important;
	text-shadow: 0 0 14px rgba(194, 124, 255, 0.42);
}

.lap-table tr.is-invalid td {
	opacity: 0.74;
}

.lap-table tr.is-info td {
	background: rgba(110, 211, 255, 0.044);
	color: var(--soft) !important;
	opacity: 0.66;
}

.lap-table tr.is-info .lap-status {
	opacity: 1;
}

.lap-table tr.is-info .lap-time-cell {
	color: var(--soft) !important;
	text-shadow: none;
}

.lap-table tr.is-not-counting td:first-child {
	box-shadow: inset 3px 0 0 rgba(255, 255, 255, 0.12);
}

.lap-table tr.is-invalid td:first-child {
	box-shadow: inset 3px 0 0 rgba(255, 64, 95, 0.62);
}

.lap-table tr.is-info td:first-child {
	box-shadow: inset 3px 0 0 rgba(110, 211, 255, 0.72);
}

.lap-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 0 8px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1;
}

.lap-status.is-valid {
	color: var(--green);
}

.lap-status.is-invalid {
	color: var(--red);
}

.lap-status.is-warning {
	color: var(--orange);
}

.lap-status.is-info {
	color: var(--blue-2);
}

.race-report-section {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(42, 25, 67, 0.5), rgba(7, 10, 22, 0.72));
}

.race-report-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.race-report-card {
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(9, 10, 23, 0.56);
}

.report-table-wrap {
	overflow-x: auto;
}

.report-table {
	width: 100%;
	border-collapse: collapse;
}

.report-table th,
.report-table td {
	padding: 10px 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	text-align: left;
	white-space: normal;
}

.report-table tr:first-child td {
	border-top: 0;
}

.report-table th {
	border-top: 0;
	background: rgba(255, 255, 255, 0.025);
	color: var(--soft);
	font-size: 0.7rem;
	font-weight: 900;
	text-transform: uppercase;
}

.report-table td {
	color: var(--muted);
	font-size: 0.86rem;
	font-weight: 800;
}

.report-danger-text {
	color: var(--red) !important;
}

.collision-contact-label {
	color: var(--muted);
}

.collision-contact-cell {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
}

.collision-contact-details {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.collision-contact-secondary {
	color: var(--soft);
	font-size: 0.72rem;
}

.collision-counterparts {
	display: grid;
	gap: 7px;
	min-width: 130px;
}

.collision-counterpart {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.collision-counterpart strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.collision-counterpart strong {
	max-width: 150px;
	color: var(--text);
	font-size: 0.78rem;
}

.collision-counterpart-empty {
	color: var(--soft);
	font-size: 0.68rem;
}

.collision-count-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	margin-left: 8px;
	padding: 0 7px;
	border: 1px solid currentColor;
	border-radius: 7px;
	font-size: 0.7rem;
	font-weight: 950;
	line-height: 1;
}

.collision-count-pill.is-warning {
	color: var(--orange);
	background: rgba(255, 177, 90, 0.1);
}

.collision-count-pill.is-danger {
	color: var(--red);
	background: rgba(255, 77, 109, 0.1);
}

.empty-state {
	display: grid;
	gap: 3px;
	padding: 20px;
	border: 1px dashed rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.025);
}

.empty-state.is-compact {
	margin: 14px;
	padding: 14px;
}

.empty-state strong {
	color: var(--text);
}

.empty-state span {
	color: var(--muted);
	font-size: 0.9rem;
}

.mini-heading a {
	color: var(--blue-2);
	font-size: 0.82rem;
	font-weight: 900;
}

.driver-chip {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 9px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.driver-chip > span,
.driver-avatar {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(61, 131, 255, 0.45);
	border-radius: 8px;
	background: rgba(61, 131, 255, 0.14);
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 900;
}

.driver-chip strong,
.driver-chip small {
	display: block;
}

.driver-chip strong {
	font-size: 0.9rem;
}

.driver-chip small {
	color: var(--soft);
	font-size: 0.76rem;
}

.drivers-hero {
	align-items: end;
}

.drivers-search {
	display: grid;
	grid-template-columns: minmax(280px, 420px) auto;
	gap: 10px;
	align-items: end;
}

.drivers-search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	height: 42px;
	padding: 0 18px;
	line-height: 1;
}

.drivers-section-heading {
	gap: 16px;
}

.drivers-results-table {
	min-width: 1080px;
}

.drivers-results-table .driver-clean-cell {
	width: 96px;
}

.drivers-results-table .clean-meter {
	width: 96px;
}

.drivers-results-table .racing-driver-identity {
	min-width: 210px;
}

.driver-races-cell {
	color: var(--text) !important;
	font-weight: 950 !important;
}

.driver-result-percent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 20px;
	padding: 0 7px;
	border: 1px solid currentColor;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.055);
	font-size: 0.72rem;
	font-weight: 950;
	line-height: 1;
}

.driver-result-percent.is-ratio-neutral {
	border-color: rgba(255, 255, 255, 0.12);
	color: var(--muted);
}

.driver-result-percent.is-ratio-orange {
	color: var(--orange);
}

.driver-result-percent.is-ratio-green {
	color: var(--green);
}

.driver-result-percent.is-ratio-violet {
	color: #c27cff;
}

.driver-result-value {
	font-weight: 950;
}

.driver-result-value.is-ratio-neutral {
	color: var(--muted);
}

.driver-result-value.is-ratio-orange {
	color: var(--orange);
}

.driver-result-value.is-ratio-green {
	color: var(--green);
}

.driver-result-value.is-ratio-violet {
	color: #c27cff;
}

.car-category-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 22px;
	align-items: start;
}

.car-category-main,
.car-category-side {
	display: grid;
	min-width: 0;
	gap: 16px;
}

.car-category-side {
	position: static;
}

.car-category-table {
	min-width: 1040px;
	table-layout: auto;
}

.car-category-table th,
.car-category-table td {
	padding-right: 8px;
	padding-left: 8px;
}

.car-category-table th:first-child,
.car-category-table td:first-child {
	padding-right: 4px;
}

.car-category-table th:nth-child(2),
.car-category-table td:nth-child(2) {
	padding-left: 4px;
}

.car-category-name-cell {
	white-space: normal;
}

.car-category-car-cell {
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	min-width: 0;
	max-width: 420px;
}

.car-category-car-cell .car-brand-logo {
	width: 30px;
	height: 20px;
}

.car-brand-logo-empty {
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.035);
	filter: none;
}

.car-category-car-cell .result-driver {
	min-width: 0;
}

.car-category-car-cell .result-driver strong {
	display: block;
	overflow: visible;
	max-width: none;
	line-height: 1.22;
	white-space: normal;
}

.car-category-table .result-track {
	min-width: 220px;
}

.car-category-table .result-track .track-name {
	color: var(--text);
	font-weight: 900;
}

.car-category-table .result-track > span {
	color: var(--blue-2);
	font-weight: 850;
}

.car-category-reference {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 7px;
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 850;
}

.car-category-reference strong {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 950;
	text-transform: uppercase;
}

.car-category-reference.is-shared strong {
	color: var(--green);
}

.car-category-reference .track-name {
	color: var(--text);
	font-weight: 950;
}

.car-category-reference em {
	color: var(--blue-2);
	font-style: normal;
	font-weight: 950;
}

.lap-value {
	color: var(--text);
	font-weight: 950;
}

.pi-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
	color: var(--soft);
	font-size: 0.78rem;
	font-weight: 950;
	line-height: 1;
	white-space: nowrap;
}

.pi-label-heading {
	min-height: 30px;
	font-size: 0.82rem;
}

.pi-label.is-pi-grey,
.pi-label.is-pi-empty {
	border-color: rgba(180, 170, 210, 0.22);
	background: rgba(180, 170, 210, 0.08);
	color: var(--soft);
}

.pi-label.is-pi-blue {
	border-color: rgba(110, 211, 255, 0.38);
	background: rgba(110, 211, 255, 0.12);
	color: var(--blue-2);
}

.pi-label.is-pi-green {
	border-color: rgba(93, 242, 160, 0.34);
	background: rgba(93, 242, 160, 0.11);
	color: var(--green);
}

.pi-label.is-pi-orange {
	border-color: rgba(255, 181, 84, 0.38);
	background: rgba(255, 181, 84, 0.12);
	color: #ffb554;
}

.pi-label.is-pi-red {
	border-color: rgba(255, 77, 114, 0.38);
	background: rgba(255, 77, 114, 0.12);
	color: #ff5b7a;
}

.lap-value {
	color: var(--amber);
}

.muted-value {
	color: var(--soft);
}

.car-category-row-form {
	display: grid;
	grid-template-columns: minmax(138px, 1fr) 44px;
	gap: 6px;
	align-items: center;
	min-width: 210px;
}

.car-category-row-form select,
.car-category-name-form input,
.car-category-create-form input {
	width: 100%;
	min-height: 38px;
	border: 1px solid rgba(141, 121, 196, 0.32);
	border-radius: 8px;
	background: #0d0b18;
	color: var(--text);
	font-size: 0.86rem;
	font-weight: 850;
	outline: 0;
}

.car-category-row-form select {
	padding: 0 10px;
}

.car-category-name-form input,
.car-category-create-form input {
	padding: 0 12px;
}

.car-category-row-form select:focus,
.car-category-name-form input:focus,
.car-category-create-form input:focus {
	border-color: rgba(110, 211, 255, 0.6);
	box-shadow: 0 0 0 3px rgba(110, 211, 255, 0.1);
}

.car-category-row-form button,
.car-category-name-form button,
.car-category-create-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 10px;
	border: 1px solid rgba(93, 242, 160, 0.36);
	border-radius: 8px;
	background: rgba(93, 242, 160, 0.1);
	color: var(--green);
	font-size: 0.76rem;
	font-weight: 950;
	text-transform: uppercase;
	cursor: pointer;
}

.car-category-row-form button {
	width: 44px;
	padding: 0;
}

.car-category-row-form button:hover,
.car-category-name-form button:hover,
.car-category-create-form button:hover {
	border-color: rgba(110, 211, 255, 0.56);
	background: rgba(110, 211, 255, 0.12);
	color: var(--blue-2);
}

.car-category-count-list {
	display: grid;
	gap: 8px;
}

.car-category-name-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 42px;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
}

.car-category-name-form input {
	min-height: 32px;
	font-size: 0.82rem;
	font-weight: 900;
}

.car-category-count-list span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(110, 211, 255, 0.24);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.08);
	color: var(--blue-2);
	font-size: 0.78rem;
	font-weight: 950;
}

.car-category-name-form button {
	width: 42px;
	min-height: 32px;
	padding: 0;
}

.car-category-create-form {
	display: grid;
	gap: 10px;
}

.car-category-create-form label {
	display: grid;
	gap: 7px;
}

.car-category-create-form label > span {
	color: var(--soft);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.sort-link {
	color: inherit;
	font: inherit;
	text-transform: inherit;
	white-space: nowrap;
}

.sort-link.is-active,
.sort-link:hover {
	color: var(--blue-2);
}

.driver-cell {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 240px;
}

.driver-cell strong,
.driver-cell small {
	display: block;
}

.driver-profile-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(460px, 560px);
	gap: 22px;
	align-items: stretch;
	padding: 34px 0 22px;
}

.driver-profile-card {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(110, 211, 255, 0.1), rgba(167, 68, 255, 0.12) 54%, rgba(24, 18, 37, 0.9)),
		rgba(24, 18, 37, 0.84);
	box-shadow: var(--shadow);
}

.driver-profile-card::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -70px;
	width: 240px;
	height: 240px;
	border: 1px solid rgba(110, 211, 255, 0.16);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(110, 211, 255, 0.13), transparent 68%);
	pointer-events: none;
}

.driver-profile-id {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.driver-profile-flag {
	overflow: hidden;
	display: grid;
	place-items: center;
	width: 74px;
	height: 50px;
	flex: 0 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.driver-profile-flag img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.driver-profile-id h1 {
	overflow: hidden;
	margin-bottom: 10px;
	color: var(--text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-profile-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.driver-profile-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0 9px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
	white-space: nowrap;
}

.driver-back-link {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
}

.driver-profile-metrics {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.driver-profile-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 22px;
	align-items: start;
}

.driver-profile-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.driver-profile-side {
	position: sticky;
	top: 100px;
	display: grid;
	gap: 18px;
	min-width: 0;
}

.driver-account-card .section-heading {
	margin-bottom: 12px;
}

.driver-profile-notice {
	margin-bottom: 12px;
	padding: 9px 11px;
	border: 1px solid rgba(93, 242, 160, 0.34);
	border-radius: 6px;
	background: rgba(93, 242, 160, 0.08);
	color: var(--green);
	font-size: 0.78rem;
	font-weight: 850;
}

.driver-profile-notice.is-error {
	border-color: rgba(255, 64, 95, 0.38);
	background: rgba(255, 64, 95, 0.08);
	color: #ff8799;
}

.driver-nickname-form label {
	display: block;
	margin-bottom: 7px;
	color: var(--soft);
	font-size: 0.7rem;
	font-weight: 900;
	text-transform: uppercase;
}

.driver-nickname-form > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.driver-nickname-form input,
.driver-nickname-form button {
	height: 40px;
	border-radius: 6px;
	font: inherit;
}

.driver-nickname-form input {
	min-width: 0;
	padding: 0 11px;
	border: 1px solid rgba(141, 121, 196, 0.3);
	outline: none;
	background: rgba(7, 6, 17, 0.54);
	color: var(--text);
	font-size: 0.84rem;
	font-weight: 800;
}

.driver-nickname-form input:focus {
	border-color: rgba(110, 211, 255, 0.62);
	box-shadow: 0 0 0 3px rgba(110, 211, 255, 0.08);
}

.driver-nickname-form button {
	padding: 0 14px;
	border: 1px solid rgba(110, 211, 255, 0.44);
	background: rgba(61, 131, 255, 0.18);
	color: var(--blue-2);
	font-size: 0.76rem;
	font-weight: 950;
	text-transform: uppercase;
}

.driver-management-links {
	display: grid;
	gap: 7px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.driver-management-links a,
.driver-management-links > span {
	display: flex;
	align-items: center;
	min-height: 38px;
	padding: 0 11px;
	border: 1px solid rgba(110, 211, 255, 0.2);
	border-radius: 6px;
	background: rgba(110, 211, 255, 0.055);
	color: var(--text);
	font-size: 0.8rem;
	font-weight: 900;
	text-decoration: none;
}

.driver-management-links a:hover {
	border-color: rgba(110, 211, 255, 0.52);
	color: var(--blue-2);
}

.driver-management-links > span.is-disabled {
	border-color: rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.03);
	color: var(--soft);
}

.driver-profile-section {
	overflow: hidden;
}

.driver-form-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.driver-form-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 11px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.driver-form-pill.is-win {
	border-color: rgba(93, 242, 160, 0.42);
	background: rgba(93, 242, 160, 0.12);
	color: var(--green);
}

.driver-form-pill.is-p1 {
	border-color: rgba(110, 211, 255, 0.42);
	background: rgba(110, 211, 255, 0.12);
	color: var(--blue-2);
}

.driver-form-pill.is-p2 {
	border-color: rgba(93, 242, 160, 0.42);
	background: rgba(93, 242, 160, 0.12);
	color: var(--green);
}

.driver-form-pill.is-p3 {
	border-color: rgba(167, 68, 255, 0.42);
	background: rgba(167, 68, 255, 0.12);
	color: #c98cff;
}

.driver-form-pill.is-podium,
.driver-form-pill.is-pole {
	border-color: rgba(255, 230, 109, 0.42);
	background: rgba(255, 230, 109, 0.1);
	color: var(--amber);
}

.driver-form-pill.is-qualy {
	border-color: rgba(110, 211, 255, 0.38);
	background: rgba(110, 211, 255, 0.1);
	color: var(--blue-2);
}

.driver-profile-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.driver-profile-stats > div,
.driver-profile-side-list > div {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
}

.driver-profile-stats strong,
.driver-profile-side-list strong {
	display: block;
	overflow: hidden;
	color: var(--text);
	font-size: 1.08rem;
	font-weight: 950;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-stat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.driver-stat-shape {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	min-width: 0;
	margin-left: auto;
}

.driver-profile-stats .driver-stat-shape .driver-form-pill {
	display: inline-flex;
	min-height: 22px;
	margin-top: 0;
	padding: 0 7px;
	border-radius: 6px;
	font-size: 0.62rem;
	line-height: 1;
}

.driver-stat-shape.is-empty span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 22px;
	margin-top: 0;
	padding: 0 7px;
	color: var(--muted);
	font-size: 0.68rem;
	font-weight: 950;
	line-height: 1;
}

.driver-stat-percent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 20px;
	margin-left: 7px;
	padding: 0 7px;
	border: 1px solid currentColor;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.055);
	font-size: 0.68rem;
	font-weight: 950;
	line-height: 1;
	vertical-align: 2px;
}

.driver-stat-percent.is-ratio-orange {
	color: var(--orange);
}

.driver-stat-percent.is-ratio-green {
	color: var(--green);
}

.driver-stat-percent.is-ratio-violet {
	color: #c27cff;
}

.driver-stat-percent.is-ratio-neutral {
	border-color: rgba(255, 255, 255, 0.12);
	color: var(--muted);
}

.driver-profile-stats span,
.driver-profile-side-list span {
	display: block;
	margin-top: 5px;
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.driver-activity-bars {
	display: grid;
	grid-template-columns: repeat(14, minmax(0, 1fr));
	align-items: end;
	gap: 8px;
	min-height: 190px;
	padding-top: 8px;
}

.driver-activity-day {
	display: grid;
	align-items: end;
	gap: 8px;
	min-width: 0;
	height: 170px;
}

.driver-activity-bar {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: end;
	justify-content: center;
	height: 132px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.driver-activity-total,
.driver-activity-valid {
	position: absolute;
	bottom: 0;
	width: 100%;
	border-radius: 8px 8px 0 0;
}

.driver-activity-total {
	background: rgba(93, 242, 160, 0.2);
	border: 1px solid rgba(93, 242, 160, 0.28);
}

.driver-activity-valid {
	width: 58%;
	background: linear-gradient(180deg, rgba(110, 211, 255, 0.78), rgba(110, 211, 255, 0.34));
	box-shadow: 0 0 18px rgba(110, 211, 255, 0.18);
}

.driver-activity-day small {
	overflow: hidden;
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 850;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-profile-sessions-table {
	min-width: 920px;
}

.driver-profile-sessions-table .car-cell {
	gap: 7px;
	min-width: 220px;
}

.driver-profile-sessions-table .car-brand-logo {
	width: 30px;
	height: 20px;
}

.driver-profile-charts-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.driver-profile-charts-grid .driver-profile-section {
	min-width: 0;
}

.driver-clean-card {
	padding: 16px;
	border: 1px solid rgba(110, 211, 255, 0.2);
	border-radius: 8px;
	background: rgba(110, 211, 255, 0.065);
}

.driver-clean-card strong {
	display: block;
	color: var(--blue-2);
	font-size: 2.1rem;
	font-weight: 950;
	line-height: 1;
}

.driver-clean-card span {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.driver-clean-meter {
	overflow: hidden;
	height: 9px;
	margin-top: 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.09);
}

.driver-clean-meter span {
	height: 100%;
	margin: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--green), var(--blue-2));
}

.driver-profile-side-list {
	display: grid;
	gap: 10px;
	margin-top: 12px;
}

.driver-usage-card .section-heading {
	margin-bottom: 12px;
}

.driver-usage-table-wrap {
	overflow-x: auto;
}

.driver-usage-table {
	width: 100%;
	min-width: 330px;
	border-collapse: collapse;
}

.driver-usage-table th,
.driver-usage-table td {
	padding: 10px 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.075);
	text-align: right;
	vertical-align: middle;
}

.driver-usage-table th:first-child,
.driver-usage-table td:first-child {
	text-align: left;
}

.driver-usage-table th {
	color: var(--soft);
	font-size: 0.62rem;
	font-weight: 950;
	text-transform: uppercase;
}

.driver-usage-table td {
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 900;
}

.driver-usage-table tbody tr:last-child td {
	border-bottom: 0;
}

.driver-usage-track,
.driver-usage-car {
	min-width: 0;
}

.driver-usage-track {
	display: grid;
	gap: 2px;
}

.driver-usage-track strong,
.driver-usage-track-meta,
.driver-usage-track-meta > span,
.driver-usage-track-meta small,
.driver-usage-car span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-usage-track strong {
	color: var(--text);
	font-size: 0.8rem;
	font-weight: 950;
}

.driver-usage-track-meta {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.driver-usage-track-meta > span {
	color: var(--blue-2);
	font-size: 0.68rem;
	font-weight: 900;
}

.driver-usage-track-meta small {
	color: var(--soft);
	font-size: 0.66rem;
	font-weight: 850;
}

.driver-usage-track .track-name {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.driver-usage-track .track-flag {
	margin-right: 0px;
}

.driver-usage-car {
	gap: 7px;
	min-width: 0;
}

.driver-usage-table .car-brand-logo {
	width: 26px;
	height: 17px;
}

.driver-usage-car span {
	color: var(--text);
	font-size: 0.78rem;
}

.driver-car-usage-list {
	display: grid;
	gap: 10px;
}

.driver-car-usage-item {
	display: grid;
	gap: 10px;
	padding: 11px;
	border: 1px solid rgba(255, 255, 255, 0.085);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
}

.driver-car-usage-item .driver-usage-car {
	min-width: 0;
}

.driver-car-usage-item .car-brand-logo {
	width: 30px;
	height: 20px;
}

.driver-car-usage-item .driver-usage-car span {
	font-size: 0.82rem;
	font-weight: 950;
}

.driver-car-usage-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

.driver-car-usage-metrics > div {
	min-width: 0;
	padding: 6px 6px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.035);
	text-align: center;
}

.driver-car-usage-metrics strong,
.driver-car-usage-metrics span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.driver-car-usage-metrics strong {
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 950;
	line-height: 1;
}

.driver-car-usage-metrics span {
	margin-top: 4px;
	color: var(--soft);
	font-size: 0.52rem;
	font-weight: 950;
	text-transform: uppercase;
}

.track-record-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 0 9px;
	border: 1px solid rgba(167, 68, 255, 0.42);
	border-radius: 7px;
	background: rgba(167, 68, 255, 0.12);
	color: #c98cff;
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
	white-space: nowrap;
}

.driver-profile-session-head {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.45fr);
}

.driver-profile-watermark {
	opacity: 0.13;
	filter: saturate(1.15) contrast(1.06);
}

.driver-profile-session-head .session-detail-metrics div {
	background: rgba(255, 255, 255, 0.035);
}

.driver-profile-activity-canvas {
	height: 300px;
	min-height: 300px;
}

.driver-cell strong {
	color: var(--text);
}

.driver-cell small {
	color: var(--soft);
	font-size: 0.78rem;
}

.flag {
	width: 22px;
	height: 16px;
	margin-right: 8px;
	border-radius: 2px;
	object-fit: cover;
	vertical-align: -3px;
}

.pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 16px;
}

.pagination a,
.pagination span,
.pagination strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
}

.pagination span {
	color: var(--soft);
	opacity: 0.62;
}

.pagination strong {
	color: var(--muted);
	font-size: 0.9rem;
}

@media (max-width: 1500px) {
	.leaderboard-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	}
}

@media (max-width: 1180px) {
	.practice-hero,
	.hotlap-hero,
	.drivers-hero,
	.racing-hero,
	.legal-hero,
	.car-categories-hero,
	.error-404-hero,
	.car-category-layout,
	.practice-grid,
	.practice-layout,
	.home-layout,
	.hotlap-layout,
	.racing-detail-layout,
	.driver-profile-hero,
	.driver-profile-grid,
	.driver-profile-charts-grid,
	.latest-result,
	.pace-showcase,
	.session-detail-head {
		grid-template-columns: 1fr;
	}

	.hero-metrics {
		min-width: 0;
	}

	.leaderboard-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hall-record-grid {
		grid-template-columns: 1fr;
	}

	.leaderboard-filter-actions,
	.leaderboard-filter-actions button,
	.leaderboard-filter-actions a {
		width: 100%;
	}

	.race-control,
	.live-servers-panel,
	.home-side,
	.hotlap-side,
	.racing-race-info,
	.car-category-side,
	.driver-profile-side,
	.record-movement-panel {
		position: static;
	}

	.session-detail-head {
		grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
	}

	.session-track-title {
		padding-left: clamp(14px, 4vw, 34px);
	}

	.session-track-map {
		min-height: 112px;
	}

	.session-detail-metrics {
		grid-column: 1 / -1;
	}

	.race-report-grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 921px) and (max-width: 1320px) {
	.main-nav {
		gap: 5px;
	}

	.nav-item {
		padding-right: 8px;
		padding-left: 8px;
	}
}

@media (max-width: 920px) {
	.app-shell {
		width: min(100% - 24px, 1440px);
		padding-top: 12px;
	}

	.topbar {
		position: static;
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas:
			"brand status toggle"
			"nav nav nav";
		gap: 10px;
	}

	.brand {
		grid-area: brand;
	}

	.main-nav {
		grid-area: nav;
		grid-column: 1 / -1;
		display: none;
		grid-template-columns: 1fr;
		gap: 8px;
		padding-top: 8px;
		border-top: 1px solid rgba(255, 255, 255, 0.07);
	}

	.topbar.is-menu-open .main-nav {
		display: grid;
	}

	.topbar-discord {
		display: none;
	}

	.main-nav .nav-discord-link {
		display: inline-flex;
	}

	.topbar-steam {
		display: none;
	}

	.main-nav .nav-steam-link {
		display: inline-flex;
		border-color: rgba(110, 211, 255, 0.28);
		color: var(--blue-2);
	}

	.nav-item {
		justify-content: flex-start;
		width: 100%;
	}

	.topbar-status {
		grid-area: status;
		gap: 6px;
		padding: 7px 9px;
	}

	.topbar-stat strong {
		font-size: 0.92rem;
	}

	.topbar-stat span {
		font-size: 0.62rem;
	}

	.menu-toggle {
		grid-area: toggle;
		display: inline-grid;
	}

	h1 {
		font-size: 2.25rem;
	}

	.hero-metrics,
	.legal-scope-grid,
	.server-grid,
	.racing-series-grid,
	.latest-metrics,
	.home-pace-grid,
	.hotlap-record-grid,
	.driver-grid,
	.driver-profile-stats,
	.session-detail-metrics,
	.driver-lap-stats,
	.driver-detail-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.record-feature-card {
		grid-template-columns: 150px minmax(0, 1fr);
	}

	.record-feature-delta {
		grid-column: 1 / -1;
		justify-items: start;
		text-align: left;
	}

	.driver-lap-heading {
		grid-template-columns: 1fr;
	}

	.driver-profile-card {
		align-items: flex-start;
		flex-direction: column;
	}

	.control-strip,
	.racing-detail-hero,
	.leaderboard-filters,
	.drivers-search {
		grid-template-columns: 1fr;
	}

	.racing-detail-map {
		min-height: 140px;
	}

	.community-activity-grid {
		grid-template-columns: 1fr;
	}

	.community-activity-canvas {
		height: 300px;
		min-height: 300px;
	}

	.strip-count {
		text-align: left;
	}

	.error-404-hero {
		min-height: 0;
		padding-top: 28px;
	}

	.error-404-code {
		min-height: 150px;
	}
}

@media (max-width: 620px) {
	body {
		font-size: 15px;
	}

	.app-shell {
		width: min(100% - 16px, 1440px);
	}

	.topbar {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand toggle"
			"status status"
			"nav nav";
		gap: 8px;
		padding: 8px;
	}

	.brand {
		min-width: 0;
	}

	.brand-logo {
		width: 48px;
		height: 38px;
	}

	.brand-logo img {
		width: 44px;
		height: 44px;
		border-radius: 9px;
		transform: translateY(-3px);
	}

	.brand strong {
		font-size: 0.88rem;
	}

	.brand small {
		font-size: 0.64rem;
	}

	.topbar-status {
		justify-content: center;
		width: 100%;
	}

	.practice-hero,
	.hotlap-hero,
	.drivers-hero,
	.racing-hero,
	.car-categories-hero,
	.legal-hero {
		padding-top: 20px;
	}

	.site-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	h1 {
		font-size: 1.8rem;
	}

	.hero-subtitle {
		font-size: 0.96rem;
	}

	.hero-metrics,
	.server-grid,
	.racing-series-grid,
	.racing-card-meta,
	.race-info-grid,
	.race-info-actions,
	.server-stats,
	.latest-metrics,
	.driver-profile-metrics,
	.home-pace-grid,
	.hotlap-record-grid,
	.driver-grid,
	.session-detail-metrics,
	.driver-lap-stats,
	.driver-detail-kpis,
	.record-watch-panel {
		padding: 14px;
	}

	.racing-series-grid {
		grid-template-columns: 1fr;
	}

	.record-watch-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.record-watch-head > strong {
		min-height: 40px;
	}

	.record-feature-card {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 14px;
	}

	.home-pace-grid {
		grid-template-columns: 1fr;
	}

	.home-pace-card,
	.home-pace-card.is-featured {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.home-pace-card.is-featured .home-pace-map {
		order: 1;
	}

	.home-pace-card.is-featured .home-pace-content {
		order: 2;
	}

	.hall-record-grid {
		grid-template-columns: 1fr;
	}

	.hall-track-head {
		grid-template-columns: 96px minmax(0, 1fr);
		min-height: 108px;
		padding: 14px;
	}

	.hall-track-map {
		height: 76px;
	}

	.hall-record-table-wrap {
		margin: 10px;
	}

	.driver-profile-id {
		align-items: flex-start;
		flex-direction: column;
	}

	.driver-profile-id h1 {
		white-space: normal;
	}

	.driver-profile-stats {
		grid-template-columns: 1fr;
	}

	.driver-activity-bars {
		overflow-x: auto;
		grid-template-columns: repeat(14, 42px);
		padding-bottom: 4px;
	}

	.community-activity-section .section-heading {
		align-items: stretch;
	}

	.community-activity-total {
		justify-content: center;
		width: 100%;
	}

	.community-activity-totals {
		width: 100%;
	}

	.community-activity-canvas {
		height: 260px;
		min-height: 260px;
	}

	.record-feature-map {
		width: 138px;
	}

	.record-feature-delta {
		grid-column: auto;
	}

	.racing-series-card {
		grid-template-rows: minmax(178px, auto) minmax(0, 1fr);
	}

	.racing-card-media {
		min-height: 178px;
	}

	.racing-card-map {
		width: 82%;
	}

	.racing-detail-hero {
		min-height: 0;
		padding: 18px;
	}

	.racing-detail-map {
		min-height: 112px;
		padding: 10px;
	}

	.racing-session-card {
		grid-template-columns: 1fr;
	}

	.standing-row {
		grid-template-columns: 38px minmax(0, 1fr);
	}

	.standing-row small {
		grid-column: 2;
	}

	.lap-chart-canvas {
		height: 240px;
		min-height: 240px;
	}

	.driver-affluence-card {
		padding: 14px;
	}

	.driver-affluence-canvas {
		height: 220px;
		min-height: 220px;
	}

	.session-detail-head {
		grid-template-columns: minmax(0, 1fr) 118px;
		gap: 12px;
		min-height: 156px;
		padding: 18px;
	}

	.session-flag-watermark {
		left: -82px;
		width: 220px;
		opacity: 0.1;
	}

	.session-track-title {
		padding-left: 24px;
	}

	.session-detail-head h1 {
		font-size: clamp(1.45rem, 5.6vw, 1.8rem);
	}

	.session-track-map {
		min-height: 92px;
		padding: 4px;
	}

	.session-track-map img {
		max-height: 88px;
	}

	.session-detail-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.segmented-control {
		grid-auto-flow: row;
	}

	.search-box {
		grid-template-columns: 1fr;
		gap: 2px;
		padding: 8px 12px;
	}

	.section-heading,
	.panel-heading,
	.mini-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.session-list .session-row {
		grid-template-columns: 1fr;
	}

	.session-lap {
		text-align: left;
	}

	.results-section,
	.live-servers-panel {
		padding: 12px;
	}

	.latest-track,
	.latest-metrics div {
		min-height: 108px;
	}

	.compact-server-row {
		grid-template-columns: 58px minmax(0, 1fr);
	}

	.compact-server-map {
		width: 58px;
		height: 52px;
	}

	.drivers-table-section {
		padding: 10px;
	}

	.pagination {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Driver labels and access manager */
.driver-name-with-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	overflow: visible;
	min-width: 0;
	max-width: 100%;
	vertical-align: middle;
}

.driver-name-text {
	overflow: hidden;
	min-width: 0;
	color: inherit;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.result-driver .driver-name-text {
	color: var(--text);
}

.driver-licence-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
	flex: 0 0 auto;
	min-height: 18px;
	max-width: none;
	padding: 0 6px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--text);
	font-size: 0.58rem;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.driver-name-with-badge > .driver-licence-badge {
	min-height: 18px;
	max-width: none;
	padding: 0 6px;
	font-size: 0.58rem;
	line-height: 1;
}

.home-pace-driver > .driver-name-with-badge {
	display: inline-flex;
	align-items: center;
	overflow: visible;
	flex: 1 1 auto;
	gap: 6px;
	min-width: 0;
	text-overflow: clip;
}

.home-pace-driver .driver-name-text {
	display: block;
	overflow: hidden;
	flex: 1 1 auto;
	min-width: 0;
	text-overflow: ellipsis;
}

.home-pace-driver .driver-licence-badge {
	display: inline-flex;
	overflow: visible;
	flex: 0 0 auto;
}

.driver-licence-badge.is-bronze {
	border-color: rgba(205, 132, 79, 0.68);
	background: rgba(139, 77, 43, 0.32);
	color: #f2b07d;
}

.driver-licence-badge.is-silver {
	border-color: rgba(205, 216, 232, 0.6);
	background: rgba(160, 174, 196, 0.2);
	color: #e6edf7;
}

.driver-licence-badge.is-gold {
	border-color: rgba(255, 222, 94, 0.7);
	background: rgba(255, 196, 46, 0.18);
	color: #ffe66d;
}

.driver-licence-badge.is-neutral {
	border-color: rgba(110, 211, 255, 0.48);
	background: rgba(61, 131, 255, 0.14);
	color: var(--blue-2);
}

.racing-driver-identity strong.driver-name-with-badge,
.racing-driver-cell strong .driver-name-with-badge,
.result-driver-name > .driver-name-with-badge,
.latest-driver-line > .driver-name-with-badge {
	display: inline-flex;
}

.driver-profile-title-line {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.driver-profile-title-line h1 {
	margin-bottom: 0;
}

.driver-profile-title-line > .driver-licence-badge {
	min-height: 24px;
	padding: 0 9px;
	font-size: 0.68rem;
}

.drivers-admin-section {
	padding: 18px;
}

.drivers-admin-heading {
	align-items: center;
}

.drivers-admin-save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--muted);
	font-weight: 900;
}

.drivers-admin-save:hover {
	border-color: rgba(61, 131, 255, 0.62);
	background: rgba(61, 131, 255, 0.16);
	color: var(--text);
}

.drivers-admin-table {
	min-width: 1380px;
}

.drivers-admin-table th:nth-child(1) {
	width: 220px;
}

.drivers-admin-table th:nth-child(2) {
	width: 230px;
}

.drivers-admin-table th:nth-child(3) {
	width: 210px;
}

.drivers-admin-table th:nth-child(7) {
	width: 320px;
}

.drivers-admin-table th:nth-child(8) {
	width: 220px;
}

.drivers-admin-identity > span:last-child {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.drivers-admin-identity small {
	overflow: hidden;
	color: var(--soft);
	font-size: 0.72rem;
	font-weight: 750;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.drivers-admin-trace-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
}

.drivers-admin-trace-link:hover {
	color: var(--blue-2);
}

.drivers-admin-full-name {
	color: var(--text) !important;
	white-space: nowrap;
}

.drivers-admin-nickname {
	width: 180px;
	min-height: 32px;
	margin-top: 3px;
	padding: 0 9px;
	border: 1px solid var(--line);
	border-radius: 6px;
	outline: 0;
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
	font-size: 0.76rem;
	font-weight: 750;
}

.drivers-admin-nickname:focus {
	border-color: rgba(110, 211, 255, 0.6);
}

.drivers-admin-permissions {
	display: grid;
	grid-template-columns: repeat(2, minmax(100px, 1fr));
	gap: 6px 12px;
}

.drivers-admin-permissions label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 850;
	cursor: pointer;
}

.drivers-admin-permissions input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--blue-2);
}

.drivers-admin-label-field {
	display: flex;
	align-items: center;
	gap: 8px;
}

.drivers-admin-label-field select {
	width: 140px;
	min-height: 36px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: 7px;
	outline: 0;
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
}

.drivers-admin-label-field select:focus {
	border-color: rgba(110, 211, 255, 0.6);
}

.drivers-admin-save {
	min-height: 36px;
	height: 36px;
	padding: 0 13px;
	color: var(--blue-2);
}

@media (max-width: 620px) {
	.driver-profile-title-line {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.drivers-admin-section {
		padding: 12px;
	}

}

/* Incident position prototype */
.section-kpi.is-blue {
	border-color: rgba(110, 211, 255, 0.36);
	background: rgba(61, 131, 255, 0.1);
	color: var(--blue-2);
}

.incident-scene-section {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid rgba(110, 211, 255, 0.18);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(30, 22, 52, 0.78), rgba(7, 10, 22, 0.84));
}

.incident-scene-section h2 {
	margin: 3px 0 0;
}

.incident-scene-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	overflow: hidden;
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 8px;
	background: rgba(7, 8, 20, 0.7);
}

.incident-scene-stage {
	position: relative;
	min-width: 0;
	min-height: 410px;
	background: linear-gradient(145deg, rgba(61, 131, 255, 0.045), rgba(167, 68, 255, 0.035));
}

.incident-scene-stage-label {
	position: absolute;
	top: 15px;
	left: 17px;
	z-index: 1;
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
}

.incident-scene-stage canvas {
	display: block;
	width: 100%;
	height: 410px;
}

.incident-scene-participants {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 17px;
	border-left: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.025);
}

.incident-scene-side-title {
	margin: 0 0 9px;
	color: var(--soft);
	font-size: 0.68rem;
	font-weight: 950;
	text-transform: uppercase;
}

.incident-scene-driver {
	display: grid;
	grid-template-columns: 4px 25px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.incident-scene-driver-color {
	width: 4px;
	height: 30px;
	border-radius: 2px;
	background: var(--scene-driver-color, var(--blue-2));
	box-shadow: 0 0 12px rgba(110, 211, 255, 0.28);
}

.incident-scene-driver > div {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.incident-scene-driver strong {
	overflow: hidden;
	color: var(--text);
	font-size: 0.82rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.incident-scene-driver small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--soft);
	font-size: 0.66rem;
	font-weight: 850;
}

.incident-scene-driver small span {
	color: var(--muted);
}

.incident-scene-driver .incident-scene-wall-count {
	margin-left: 5px;
	color: var(--orange);
}

.incident-scene-duration {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	color: var(--soft);
	font-size: 0.7rem;
	font-weight: 900;
	text-transform: uppercase;
}

.incident-scene-duration strong {
	color: var(--blue-2);
	font-size: 0.92rem;
}

@media (max-width: 760px) {
	.incident-scene-card {
		grid-template-columns: 1fr;
	}

	.incident-scene-stage,
	.incident-scene-stage canvas {
		min-height: 320px;
		height: 320px;
	}

	.incident-scene-participants {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		border-left: 0;
	}

	.incident-scene-duration {
		margin-top: 10px;
	}
}
