/* ══════════════════════════════════════════════════════════════════
   terminal-mono.css — monospace everything, green/cyan accents.
   Faint grid, developer-native feel. Dark-first.

   Identity: technical decks, API docs, CLI tool showcases, dev reports.
   ══════════════════════════════════════════════════════════════════ */

/* ── Fonts ──
   Add to <head>:
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
*/

/* ── Baseline Tokens — Terminal Dark ── */
:root,
[data-theme="dark"] {
	color-scheme: light dark;

	/* Surfaces */
	--bg: #0a0e14;
	--surface: #12161e;
	--surface2: #1a1f2a;
	--surface-elevated: #222836;
	--border: rgba(80, 250, 123, 0.06);
	--border-bright: rgba(80, 250, 123, 0.12);

	/* Text */
	--text: #c8d6e5;
	--text-dim: #5a6a7a;
	--text-muted: #7a8a9a;

	/* Accent — terminal green */
	--accent: #50fa7b;
	--accent-dim: rgba(80, 250, 123, 0.08);
	--accent-glow: rgba(80, 250, 123, 0.25);

	/* Code */
	--code-bg: #060a10;
	--code-text: #c8d6e5;

	/* Shape — flat terminal */
	--radius: 0;
	--radius-sm: 0;
	--shadow: none;
}

/* ── Baseline Tokens — Terminal Light ── */
[data-theme="light"] {
	--bg: #f4f6f8;
	--surface: #ffffff;
	--surface2: #eaecf0;
	--surface-elevated: #f8f9fa;
	--border: rgba(0, 80, 40, 0.08);
	--border-bright: rgba(0, 80, 40, 0.16);

	--text: #1a2332;
	--text-dim: #5a6a7a;
	--text-muted: #7a8a9a;

	--accent: #0d7a3e;
	--accent-dim: rgba(13, 122, 62, 0.08);
	--accent-glow: rgba(13, 122, 62, 0.2);

	--code-bg: #1a2332;
	--code-text: #c8d6e5;

	--radius: 0;
	--radius-sm: 0;
	--shadow: none;
}

/* ── Semantic Color Tokens — Terminal Dark ── */
:root,
[data-theme="dark"] {
	--success: #50fa7b;
	--success-dim: rgba(80, 250, 123, 0.08);
	--warning: #f1fa8c;
	--warning-dim: rgba(241, 250, 140, 0.1);
	--error: #ff5555;
	--error-dim: rgba(255, 85, 85, 0.1);
	--info: #8be9fd;
	--info-dim: rgba(139, 233, 253, 0.1);

	/* Extended palette */
	--cyan: #8be9fd;
	--cyan-dim: rgba(139, 233, 253, 0.1);
	--green: #50fa7b;
	--green-dim: rgba(80, 250, 123, 0.08);
	--amber: #f1fa8c;
	--amber-dim: rgba(241, 250, 140, 0.1);
	--red: #ff5555;
	--red-dim: rgba(255, 85, 85, 0.1);
	--purple: #bd93f9;
	--purple-dim: rgba(189, 147, 249, 0.1);
}

/* ── Semantic Color Tokens — Terminal Light ── */
[data-theme="light"] {
	--success: #0d7a3e;
	--success-dim: rgba(13, 122, 62, 0.08);
	--warning: #a16207;
	--warning-dim: rgba(161, 98, 7, 0.1);
	--error: #b91c1c;
	--error-dim: rgba(185, 28, 28, 0.1);
	--info: #0891b2;
	--info-dim: rgba(8, 145, 178, 0.1);

	--cyan: #0891b2;
	--cyan-dim: rgba(8, 145, 178, 0.1);
	--green: #0d7a3e;
	--green-dim: rgba(13, 122, 62, 0.08);
	--amber: #a16207;
	--amber-dim: rgba(161, 98, 7, 0.1);
	--red: #b91c1c;
	--red-dim: rgba(185, 28, 28, 0.1);
	--purple: #7c3aed;
	--purple-dim: rgba(124, 58, 237, 0.1);
}

/* ── Terminal Light — OS preference (unless manually dark) ── */
@media (prefers-color-scheme: light) {
	:root:not([data-theme="dark"]) {
		--bg: #f4f6f8;
		--surface: #ffffff;
		--surface2: #eaecf0;
		--surface-elevated: #f8f9fa;
		--border: rgba(0, 80, 40, 0.08);
		--border-bright: rgba(0, 80, 40, 0.16);

		--text: #1a2332;
		--text-dim: #5a6a7a;
		--text-muted: #7a8a9a;

		--accent: #0d7a3e;
		--accent-dim: rgba(13, 122, 62, 0.08);
		--accent-glow: rgba(13, 122, 62, 0.2);

		--code-bg: #1a2332;
		--code-text: #c8d6e5;

		--success: #0d7a3e;
		--success-dim: rgba(13, 122, 62, 0.08);
		--warning: #a16207;
		--warning-dim: rgba(161, 98, 7, 0.1);
		--error: #b91c1c;
		--error-dim: rgba(185, 28, 28, 0.1);
		--info: #0891b2;
		--info-dim: rgba(8, 145, 178, 0.1);

		--cyan: #0891b2;
		--cyan-dim: rgba(8, 145, 178, 0.1);
		--green: #0d7a3e;
		--green-dim: rgba(13, 122, 62, 0.08);
		--amber: #a16207;
		--amber-dim: rgba(161, 98, 7, 0.1);
		--red: #b91c1c;
		--red-dim: rgba(185, 28, 28, 0.1);
		--purple: #7c3aed;
		--purple-dim: rgba(124, 58, 237, 0.1);
	}
}

/* ── Typography Override — Monospace Everything ── */
body {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	background: var(--bg);
	color: var(--text);
	line-height: 1.5;
}

h1, h2, h3, h4 {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	font-weight: 400;
	color: var(--text);
	letter-spacing: 0;
}

p, ul, ol, li, td, th, span, div {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
}

code, pre {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
}

/* ══════════════════════════════════════════════════════════════════
   Slide mode — terminal-mono aesthetic (used by forge-slides)
   Mono everything, faint dot grid, green accent, raw technical feel.
   ══════════════════════════════════════════════════════════════════ */

.deck .slide--title {
	background:
		radial-gradient(circle at 50% 50%, var(--accent-dim) 0%, transparent 60%),
		linear-gradient(to bottom, var(--bg), var(--surface));
}
.deck .slide--title .slide__display {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	font-weight: 400;
	letter-spacing: -1px;
	color: var(--accent);
	text-shadow: 0 0 20px var(--accent-glow);
}
.deck .slide--title .slide__subtitle {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	color: var(--text);
}
.deck .slide--content .slide__heading,
.deck .slide--section .slide__heading {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	font-weight: 400;
	color: var(--text);
}
.deck .slide--content .slide__label {
	color: var(--accent);
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
}
.deck .slide--content li::before {
	content: ">";
	color: var(--accent);
	font-weight: 700;
}
.deck .slide--section .slide__number {
	color: var(--accent);
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
}
.deck .slide--closing {
	background:
		radial-gradient(circle at 50% 50%, var(--accent-dim) 0%, transparent 60%),
		linear-gradient(to top, var(--bg), var(--surface));
}
.deck .slide--closing .slide__heading {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	color: var(--accent);
	text-shadow: 0 0 20px var(--accent-glow);
}
.deck .slide--closing .cta {
	font-family: 'Geist Mono', 'SF Mono', Consolas, monospace;
	border-color: var(--accent);
	color: var(--accent);
}
.deck .slide--code .slide__code-block {
	border-color: var(--accent);
}
.deck .slide--code .slide__code-filename {
	color: var(--accent);
}
