@font-face {
	font-family: 'Argent Pixel';
	font-style: normal;
	font-weight: 400;
	src: url('../../assets/fonts/argent-pixel-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Argent Pixel';
	font-style: italic;
	font-weight: 400;
	src: url('../../assets/fonts/argent-pixel-400-italic.woff2') format('woff2');
}

@font-face {
	font-family: 'Geist Sans';
	font-style: normal;
	font-weight: 100 900;
	src: url('../../assets/fonts/geist-sans.woff2') format('woff2');
}

@font-face {
	font-family: 'Geist Mono';
	font-style: normal;
	font-weight: 100 900;
	src: url('../../assets/fonts/geist-mono.woff2') format('woff2');
}

@font-face {
	font-family: 'Geist Pixel';
	font-style: normal;
	font-weight: 400;
	src: url('../../assets/fonts/geist-pixel.woff2') format('woff2');
}

@font-face {
	font-family: 'Redaction 50';
	font-style: normal;
	font-weight: 700;
	src: url('../../assets/fonts/redaction-50-bold.woff2') format('woff2');
}

:root,
html[data-theme='dark'] {
	--mega-black: #000;
	--mega-black-0: #050505;
	--mega-black-1: #1b1b1b;
	--mega-black-2: #2f2f2f;
	--mega-blue: #00f;
	--mega-blue-text: #7a7aff;
	--mega-red: #f00;
	--mega-green: #4ade80;
	--mega-offwhite: #fafafa;
	--mega-page: #050505;
	--mega-surface: #1b1b1b;
	--mega-surface-2: #2f2f2f;
	--mega-plate: #000;
	--mega-ink: #f2f2ee;
	--mega-ink-body: #d9d9d4;
	--mega-muted: #a6a6af;
	--mega-line: #2f2f2f;
	--mega-line-strong: #4a4a52;
	--mega-code-bg: #101010;
	--mega-code-ink: #f2f2ee;
	--mega-progress-track: rgb(242 242 238 / 16%);
	--mega-grid: color-mix(in srgb, var(--mega-blue) 5%, transparent);
	--mega-shadow: rgb(0 0 0 / 42%);
	color-scheme: dark;
}

html[data-theme='light'] {
	--mega-page: #f4f3ee;
	--mega-surface: #fff;
	--mega-surface-2: #e9e7df;
	--mega-plate: #fff;
	--mega-ink: #1b1b1b;
	--mega-ink-body: #33333a;
	--mega-muted: #5f5f68;
	--mega-line: #d9d7cd;
	--mega-line-strong: #b9b7ac;
	--mega-code-bg: #fff;
	--mega-code-ink: #1b1b1b;
	--mega-blue-text: #00f;
	--mega-progress-track: rgb(27 27 27 / 12%);
	--mega-grid: color-mix(in srgb, var(--mega-blue) 8%, transparent);
	--mega-shadow: rgb(0 0 0 / 12%);
	color-scheme: light;
}

.reveal {
	background: var(--mega-page);
	color: var(--mega-ink);
	font-family: 'Geist Sans', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
	font-size: 36px;
}

.reveal-viewport {
	background: var(--mega-page);
}

.reveal .slides {
	text-align: left;
}

.reveal .slides section {
	background:
		linear-gradient(var(--mega-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--mega-grid) 1px, transparent 1px),
		var(--mega-page);
	background-size: 40px 40px, 40px 40px, auto;
	box-sizing: border-box;
	height: 100%;
	padding: 36px 52px 64px !important;
}

.reveal .slides > section.stack {
	padding: 0 !important;
}

.reveal h1,
.reveal h2,
.reveal h3 {
	color: var(--mega-ink);
	font-family: 'Argent Pixel', Georgia, 'Times New Roman', serif;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.05;
	text-transform: none;
}

.reveal h1 {
	font-size: 2.05em;
	max-width: 1080px;
}

.reveal h2 {
	border-left: none;
	font-size: 1.48em;
	padding-left: 0;
}

.reveal h3 {
	font-size: 0.95em;
}

.reveal p,
.reveal li {
	color: var(--mega-ink-body);
	font-size: 0.78em;
	line-height: 1.4;
}

.reveal strong {
	color: var(--mega-ink);
	font-weight: 650;
}

.reveal em {
	font-style: italic;
}

.reveal code {
	color: var(--mega-blue-text);
	font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.86em;
}

.reveal a {
	color: var(--mega-blue-text);
	text-decoration: none;
}

.reveal a:hover {
	color: var(--mega-blue);
}

.reveal .controls {
	color: var(--mega-blue);
}

.reveal .progress {
	background: var(--mega-progress-track);
	color: var(--mega-red);
}

.reveal .slide-number {
	background: transparent;
	color: var(--mega-muted);
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.reveal h1,
.reveal h2,
.reveal h3,
.eyebrow,
.subtitle,
.footnote,
.big-line,
.quote-card,
.prompt,
.card p,
.two-col li {
	text-wrap: balance;
}

.eyebrow {
	color: var(--mega-muted) !important;
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.42em !important;
	letter-spacing: 0.14em;
	margin-bottom: 0.7em;
	text-transform: uppercase;
}

.subtitle {
	color: var(--mega-ink-body) !important;
	font-size: 0.7em !important;
	margin-top: 0.7em;
	max-width: 920px;
}

.footnote {
	color: var(--mega-muted) !important;
	font-family: 'Geist Mono', ui-monospace, monospace;
	font-size: 0.42em !important;
	letter-spacing: 0.02em;
	margin-top: 0.9em;
}

.big-line {
	color: var(--mega-ink) !important;
	font-family: 'Argent Pixel', Georgia, serif;
	font-size: 1.22em !important;
	line-height: 1.18 !important;
	max-width: 1000px;
}

.title-slide h1 {
	font-size: 1.85em;
	margin-bottom: 0;
}

.title-slide .deck-kicker {
	color: var(--mega-red);
	font-family: 'Redaction 50', 'Argent Pixel', serif;
	font-size: 0.52em;
	letter-spacing: 0.08em;
	margin-bottom: 0.35em;
	text-transform: uppercase;
}

.prompt,
.quote-card {
	background: var(--mega-surface);
	border: 1px solid var(--mega-line-strong);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--mega-blue) 16%, transparent);
	color: var(--mega-ink);
	font-family: 'Geist Mono', ui-monospace, monospace;
	font-size: 0.58em;
	line-height: 1.45;
	margin: 0.4em 0 0;
	max-width: 1080px;
	padding: 0.85em 1em;
}

.quote-card {
	font-family: 'Geist Sans', sans-serif;
	font-size: 0.72em;
}

.quote-card cite {
	color: var(--mega-muted);
	display: block;
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.62em;
	font-style: normal;
	letter-spacing: 0.08em;
	margin-top: 0.7em;
	text-transform: uppercase;
}

.two-col {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
	margin-top: 0.7em;
}

.card {
	background: var(--mega-surface);
	border: 1px solid var(--mega-line);
	min-height: 9.2rem;
	padding: 0.85em 0.95em;
}

.card h3 {
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.48em;
	letter-spacing: 0.1em;
	margin: 0 0 0.55em;
	text-transform: uppercase;
}

.card.bad h3 {
	color: var(--mega-red);
}

.card.good h3 {
	color: var(--mega-green);
}

.card p,
.card li {
	font-size: 0.62em;
	margin: 0;
}

.card ul {
	margin: 0;
	padding-left: 1em;
}

.pipeline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.55rem;
	margin-top: 0.85em;
}

.step {
	background: var(--mega-surface);
	border: 1px solid var(--mega-line-strong);
	color: var(--mega-ink);
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.52em;
	letter-spacing: 0.08em;
	padding: 0.45em 0.7em;
	text-transform: uppercase;
}

.arrow {
	align-self: center;
	color: var(--mega-muted);
	font-family: 'Geist Pixel', monospace;
	font-size: 0.7em;
}

.primitive-table {
	border-collapse: collapse;
	font-size: 0.5em;
	margin-top: 0.7em;
	width: 100%;
}

.primitive-table th,
.primitive-table td {
	border: 1px solid var(--mega-line);
	padding: 0.55em 0.65em;
	text-align: left;
	vertical-align: top;
}

.primitive-table th {
	background: var(--mega-surface-2);
	color: var(--mega-muted);
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.78em;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.primitive-table td {
	background: var(--mega-surface);
	color: var(--mega-ink-body);
}

.primitive-table td:last-child {
	color: var(--mega-red);
}

.receipt {
	display: grid;
	gap: 0.55rem;
	margin-top: 0.75em;
}

.receipt-row {
	background: var(--mega-surface);
	border-left: 3px solid var(--mega-blue);
	display: grid;
	gap: 0.15rem 1rem;
	grid-template-columns: 8.2rem minmax(0, 1fr);
	padding: 0.55em 0.8em;
}

.receipt-row dt {
	color: var(--mega-muted);
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.42em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.receipt-row dd {
	color: var(--mega-ink);
	font-size: 0.58em;
	margin: 0;
}

.fail-list {
	display: grid;
	gap: 0.55rem;
	margin: 0.75em 0 0;
	padding: 0;
}

.fail-list li {
	background: var(--mega-surface);
	border: 1px solid var(--mega-line);
	font-size: 0.64em;
	list-style: none;
	padding: 0.55em 0.75em;
}

.fail-list strong {
	display: block;
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.72em;
	letter-spacing: 0.08em;
	margin-bottom: 0.2em;
	text-transform: uppercase;
}

.deck-brand {
	align-items: center;
	bottom: 18px;
	display: flex;
	gap: 10px;
	left: 52px;
	pointer-events: none;
	position: absolute;
	z-index: 20;
}

.deck-brand img {
	display: block;
	height: 16px;
	width: auto;
}

html[data-theme='light'] .deck-brand img {
	filter: brightness(0);
}

.deck-brand span {
	color: var(--mega-muted);
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.corner {
	height: 13px;
	pointer-events: none;
	position: absolute;
	width: 13px;
	z-index: 5;
}

.corner-tl {
	left: 18px;
	top: 18px;
	transform: scaleX(-1);
}

.corner-tr {
	right: 18px;
	top: 18px;
}

.corner-bl {
	bottom: 18px;
	left: 18px;
	transform: scaleX(-1) scaleY(-1);
}

.corner-br {
	bottom: 18px;
	right: 18px;
	transform: scaleY(-1);
}

.title-slide .title-meta {
	color: var(--mega-muted);
	display: flex;
	font-family: 'Geist Pixel', 'Geist Mono', monospace;
	font-size: 0.38em;
	gap: 1.2rem;
	letter-spacing: 0.1em;
	margin-top: 1.6em;
	text-transform: uppercase;
}

.close-mark {
	color: var(--mega-red);
	font-family: 'Redaction 50', 'Argent Pixel', serif;
	font-size: 0.7em;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
