.csne,
.csne * {
	box-sizing: border-box;
}

.csne-status.is-preview {
    border-color: var(--cs-border, #d3d3cc);
    background: var(--cs-surface, #fff);
    color: var(--cs-text, #101010);
}

.csne {
	width: min(100%, 1240px);
	margin: 0 auto;
	color: var(--cs-text);
	font-family: var(--cs-font-body);
}

.csne-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 2.5vw, 24px);
}

.csne:not(.is-slider) .csne-grid {
	grid-template-columns: minmax(0, 820px);
}

.csne.is-slider .csne-grid {
	grid-auto-columns: min(82%, 760px);
	grid-auto-flow: column;
	grid-template-columns: none;
	gap: clamp(14px, 2.2vw, 22px);
	margin: -4px -28px -8px;
	padding: 8px 28px 14px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-padding-inline: 28px;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.csne.is-slider .csne-grid::-webkit-scrollbar {
	display: none;
}

.csne.is-slider .csne-grid:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--cs-primary) 72%, #fff);
	outline-offset: 4px;
}

.csne.is-slider .csne-card {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.csne-slider-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	width: fit-content;
	margin: 0 0 10px auto;
	padding: 6px;
	background: rgba(240, 240, 236, .76);
	border: 1px solid rgba(16, 16, 16, .08);
	border-radius: 999px;
	box-shadow: var(--cs-shadow-2);
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	backdrop-filter: blur(18px) saturate(150%);
}

.csne-slider-count {
	min-width: 52px;
	padding-inline: 8px 3px;
	color: var(--cs-muted);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	font-weight: 740;
	text-align: center;
}

.csne-slider-controls button {
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	place-items: center;
	background: var(--cs-text);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition:
		background-color 150ms ease,
		opacity 150ms ease,
		transform 100ms ease-out;
}

.csne-slider-controls button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.csne-slider-controls button:active {
	transform: scale(.93);
}

.csne-slider-controls button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--cs-primary) 72%, #fff);
	outline-offset: 3px;
}

.csne-slider-controls button:disabled {
	background: color-mix(in srgb, var(--cs-text) 11%, var(--cs-bg));
	color: color-mix(in srgb, var(--cs-text) 38%, transparent);
	cursor: default;
	opacity: .72;
}

.csne-card {
	min-width: 0;
	overflow: hidden;
	background: var(--cs-surface);
	border: 1px solid var(--cs-border);
	border-radius: 18px;
	box-shadow: var(--cs-shadow-1);
	transition:
		border-color 180ms cubic-bezier(.23, 1, .32, 1),
		box-shadow 180ms cubic-bezier(.23, 1, .32, 1),
		transform 180ms cubic-bezier(.23, 1, .32, 1);
}

@media (hover: hover) {
	.csne-card:hover {
		border-color: color-mix(in srgb, var(--cs-text) 28%, var(--cs-border));
		box-shadow: var(--cs-shadow-1);
		transform: translateY(-1px);
	}
}

.csne-image {
	position: relative;
	display: grid;
	aspect-ratio: 16 / 8.5;
	overflow: hidden;
	background: var(--cs-bg);
	place-items: center;
	text-decoration: none !important;
}

.csne-image .csne-event-logo {
	position: absolute;
	right: 14px;
	bottom: 14px;
	width: auto;
	height: auto;
	max-width: min(34%, 150px);
	max-height: 58px;
	padding: 7px 9px;
	border-radius: 8px;
	background: rgba(255, 255, 255, .9);
	object-fit: contain;
	box-shadow: var(--cs-shadow-1);
	transition: none;
}

.csne-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(.23, 1, .32, 1);
}

.csne-image-placeholder {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	color: var(--cs-text);
}

.csne-image-placeholder strong {
	font-size: clamp(4rem, 10vw, 7.5rem);
	font-variant-numeric: tabular-nums;
	font-weight: 820;
	letter-spacing: -.07em;
	line-height: .8;
}

.csne-image-placeholder small {
	color: var(--cs-muted);
	font-size: clamp(1rem, 2.5vw, 1.4rem);
	font-weight: 780;
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (hover: hover) {
	.csne-card:hover .csne-image img {
		transform: scale(1.025);
	}

	.csne-card:hover .csne-image .csne-event-logo {
		transform: none;
	}
}

.csne-body {
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: clamp(20px, 4vw, 32px);
}

.csne-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 22px;
}

.csne-topline time {
	color: var(--cs-muted);
	font-size: 13px;
	font-weight: 680;
	text-align: right;
}

.csne-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	padding: 6px 10px;
	background: var(--cs-bg);
	border-radius: 999px;
	color: var(--cs-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.csne-status.is-live {
	background: var(--cs-primary);
	color: var(--cs-text);
}

.csne-status.is-live i {
	width: 7px;
	height: 7px;
	background: currentColor;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, .55);
	animation: csne-pulse 1.8s ease-out infinite;
}

@keyframes csne-pulse {
	70% {
		box-shadow: 0 0 0 7px rgba(255, 255, 255, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
}

.csne-card h3 {
	margin: 0;
	color: var(--cs-text);
	font: 800 clamp(28px, 3.5vw, 42px) / 1 var(--cs-font-display);
	letter-spacing: -.04em;
}

.csne-card h3 a,
.csne-location a {
	color: inherit;
	text-decoration: none;
}

.csne-card h3 a:hover,
.csne-location a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.csne-location {
	margin: 13px 0 0;
	color: var(--cs-muted);
	font-size: 14px;
	font-weight: 700;
}

.csne-invite {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	background: var(--cs-text);
	border-color: var(--cs-text);
	color: #fff;
}

.csne-invite-visual {
	position: relative;
	display: grid;
	aspect-ratio: 16 / 8.5;
	overflow: hidden;
	background: color-mix(in srgb, var(--cs-text) 90%, #fff);
	place-items: center;
}

.csne-invite-visual::before,
.csne-invite-visual::after,
.csne-invite-visual span {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 50%;
	content: "";
}

.csne-invite-visual::before {
	width: 54%;
	aspect-ratio: 1;
	z-index: 1;
}

.csne-invite-visual::after {
	inset: 0 auto 0 0;
	width: 42%;
	border: 0;
	border-radius: 0;
	background: var(--cs-primary);
}

.csne-invite-visual span {
	width: 15%;
	aspect-ratio: 1;
	background: rgba(255, 255, 255, .08);
	z-index: 1;
}

.csne-invite-visual svg {
	z-index: 1;
	width: clamp(44px, 8vw, 76px);
	color: #fff;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
}

.csne-invite-visual.has-image::before,
.csne-invite-visual.has-image::after {
	display: none;
}

.csne-invite-visual.has-image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.csne-invite .csne-body {
	color: #fff;
}

.csne-invite .csne-status {
	background: rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .78);
}

.csne-invite h3 {
	max-width: 15ch;
	color: #fff;
}

.csne-no-events {
	margin: 0 0 13px;
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	font-weight: 700;
}

.csne-invite .csne-description {
	color: rgba(255, 255, 255, .68);
}

.csne-description {
	display: -webkit-box;
	margin: 18px 0 0;
	overflow: hidden;
	color: var(--cs-muted);
	font-size: 15px;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.csne-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 28px;
}

.csne-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 14px;
	background: var(--cs-bg);
	border: 1px solid transparent;
	border-radius: 10px;
	color: var(--cs-text) !important;
	font-size: 13px;
	font-weight: 780;
	line-height: 1.15;
	text-decoration: none !important;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease,
		transform 120ms ease;
}

.csne-action svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	transition: transform 150ms cubic-bezier(.23, 1, .32, 1);
}

.csne-action.is-primary {
	background: var(--cs-primary);
	color: var(--cs-text) !important;
}

.csne-action.is-vote {
	background: var(--cs-text);
	color: #fff !important;
}

@media (hover: hover) {
	.csne-action:hover {
		border-color: color-mix(in srgb, var(--cs-text) 16%, transparent);
		background: color-mix(in srgb, var(--cs-text) 9%, var(--cs-bg));
	}

	.csne-action.is-primary:hover {
		border-color: transparent;
		background: color-mix(in srgb, var(--cs-primary) 86%, #101010);
	}

	.csne-action.is-vote:hover {
		border-color: transparent;
		background: color-mix(in srgb, var(--cs-text) 87%, #fff);
	}

	.csne-action:hover svg {
		transform: translateX(2px);
	}
}

.csne-action:active {
	transform: scale(.98);
}

.csne-action:focus-visible,
.csne-card h3 a:focus-visible,
.csne-location a:focus-visible,
.csne-image:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--cs-primary) 72%, #fff);
	outline-offset: 3px;
}

.csne-empty {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 112px;
	padding: 26px;
	background: var(--cs-bg);
	border: 1px solid var(--cs-border);
	border-radius: 16px;
}

.csne-empty span {
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	background: var(--cs-muted);
	border-radius: 50%;
}

.csne-empty p {
	margin: 0;
	color: var(--cs-text);
	font-size: clamp(17px, 2vw, 20px);
	font-weight: 720;
}

@media (max-width: 760px) {
	.csne:not(.is-slider) .csne-grid {
		grid-template-columns: 1fr;
	}

	.csne.is-slider .csne-grid {
		grid-auto-columns: 91%;
		gap: 12px;
		margin: -4px -16px -8px;
		padding: 8px 16px 14px;
		scroll-padding-inline: 16px;
	}

	.csne-slider-controls {
		padding: 4px;
	}

	.csne-slider-count {
		display: none;
	}

	.csne-slider-controls button {
		width: 40px;
		height: 40px;
	}

	.csne-body {
		min-height: 0;
		padding: 21px;
	}

	.csne-topline {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 18px;
	}

	.csne-topline time {
		text-align: left;
	}

	.csne-actions {
		display: grid;
		grid-template-columns: 1fr;
		padding-top: 24px;
	}

	.csne-action {
		justify-content: space-between;
		min-height: 50px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.csne-card,
	.csne-image img,
	.csne-action,
	.csne-action svg {
		transition: none;
	}

	.csne-status.is-live i {
		animation: none;
	}

	.csne.is-slider .csne-grid {
		scroll-behavior: auto;
	}
}

@media (prefers-reduced-transparency: reduce) {
	.csne-slider-controls {
		background: var(--cs-bg);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (prefers-contrast: more) {
	.csne-slider-controls {
		background: var(--cs-bg);
		border-color: var(--cs-text);
		box-shadow: none;
	}
}
.csne-archive-link {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 12px;
}

.csne-archive-link a,
.csae-heading > a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	border: 1px solid var(--cs-border, #d7d7cf);
	border-radius: 9px;
	background: var(--cs-surface, #fafaf7);
	color: var(--cs-text, #101010) !important;
	font-size: .84rem;
	font-weight: 760;
	text-decoration: none !important;
}

.csne-archive-link svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.csae {
	width: min(calc(100% - 32px), 1240px);
	margin: clamp(24px, 5vw, 64px) auto;
	color: var(--cs-text, #101010);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}

.csae-heading,
.csae-event-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.csae-heading {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--cs-border, #d7d7cf);
}

.csae-heading h1,
.csae-event h2,
.csae-event h3 {
	margin: 0;
	font-family: var(--cs-font-display);
	letter-spacing: -.025em;
}

.csae-heading h1 { font-size: clamp(2.4rem, 6vw, 5rem); line-height: .96; }
.csae-heading p,
.csae-event-head p { margin: 10px 0 0; color: var(--cs-muted, #5f5f59); }

.csae-event-logo {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 68px;
	margin: 0 0 16px;
	object-fit: contain;
}

.csae-event {
	margin-bottom: 18px;
	padding: clamp(20px, 4vw, 38px);
	border: 1px solid var(--cs-border, #d7d7cf);
	border-radius: 16px;
	background: var(--cs-surface, #fafaf7);
}

.csae-event h2 { max-width: 18ch; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; }
.csae-event h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }

.csae-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(120px, 1fr));
	border: 1px solid var(--cs-border, #d7d7cf);
	border-radius: 12px;
	overflow: hidden;
}

.csae-metrics span {
	display: grid;
	gap: 5px;
	padding: 14px 16px;
	border-left: 1px solid var(--cs-border, #d7d7cf);
	color: var(--cs-muted, #5f5f59);
	font-size: .72rem;
	font-weight: 680;
}

.csae-metrics span:first-child { border-left: 0; }
.csae-metrics b { color: var(--cs-text, #101010); font-size: 1.65rem; line-height: 1; }

.csae-results,
.csae-cars { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--cs-border, #d7d7cf); }
.csae-results ol { display: grid; gap: 1px; margin: 14px 0 0; padding: 1px; border-radius: 12px; overflow: hidden; background: var(--cs-border, #d7d7cf); list-style: none; }
.csae-results li { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 15px; background: var(--cs-surface, #fafaf7); }
.csae-results li strong { font-size: .86rem; }

.csae-car-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 280px));
	gap: 12px;
	justify-content: start;
	margin-top: 14px;
}

.csae-car {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--cs-border, #d7d7cf);
	border-radius: 12px;
	background: #fff;
	color: var(--cs-text, #101010) !important;
	text-decoration: none !important;
}

.csae-car img,
.csae-car-placeholder { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--cs-bg, #f0f0ec); }
.csae-car img.csae-event-placeholder { opacity: .72; filter: saturate(.72); }
.csae-car-placeholder { display: grid; place-items: center; color: var(--cs-muted, #5f5f59); }
.csae-car > span:last-child { display: grid; gap: 3px; padding: 13px; }
.csae-car small { color: var(--cs-muted, #5f5f59); }
.csae-empty { padding: 28px; border: 1px solid var(--cs-border, #d7d7cf); border-radius: 14px; background: var(--cs-surface, #fafaf7); }

@media (max-width: 760px) {
	.csae-heading,
	.csae-event-head { align-items: stretch; flex-direction: column; }
	.csae-metrics { grid-template-columns: 1fr; }
	.csae-metrics span { border-top: 1px solid var(--cs-border, #d7d7cf); border-left: 0; }
	.csae-metrics span:first-child { border-top: 0; }
	.csae-car-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.csae { width: 100%; margin: 0; padding: 10px; }
	.csae-car-grid { grid-template-columns: 1fr; }
	.csae-results li { grid-template-columns: 46px minmax(0, 1fr); }
	.csae-results li strong { grid-column: 2; }
}
