/*
 * Obsidian — default theme (Minimalist).
 *
 * A restrained, near-monochrome light theme with an automatic dark variant.
 * Every colour/token the UI uses is defined here; this file also serves as the
 * base that user-authored themes are layered on top of, so it must define the
 * full token set. RGB-triplet vars (e.g. --accent-rgb) let structural styles
 * build themeable alpha tints with rgba(var(--accent-rgb), <alpha>).
 */
:root {
	/* Backgrounds — light default */
	--bg: #fafafa;
	--bg-2: #f2f2f3;
	--bg-rgb: 250, 250, 250;
	--panel: rgba(255, 255, 255, 0.75);
	--panel-rgb: 255, 255, 255;
	--panel-solid: #ffffff;
	--sidebar-bg: rgba(255, 255, 255, 0.6);
	--appbar-bg: rgba(255, 255, 255, 0.7);
	--code-bg: #f4f4f5;
	--input-bg: rgba(255, 255, 255, 0.9);
	--ghost-hover-bg: rgba(0, 0, 0, 0.04);

	/* Strokes / borders */
	--stroke-rgb: 20, 20, 25;
	--stroke: rgba(var(--stroke-rgb), 0.08);
	--stroke-2: rgba(var(--stroke-rgb), 0.14);

	/* Text */
	--text: #26262b;
	--text-strong: #0a0a0c;
	--text-em: #17171a;
	--text-quote: #3a3a41;
	--muted: #85858f;
	--shine: #4b4b55;

	/* Accents — single restrained neutral-ink accent */
	--accent: #2f2f38;
	--accent-rgb: 47, 47, 56;
	--accent-2: #6b6b76;
	--accent-2-rgb: 107, 107, 118;
	--accent-3: #9a9aa5;
	--accent-3-rgb: 154, 154, 165;

	/* Status */
	--ok: #2f9e6e;
	--ok-rgb: 47, 158, 110;
	--warn: #c98a1b;
	--err: #d1495b;
	--dot-idle: #c7c7cf;

	/* Neutral tints */
	--white-rgb: 255, 255, 255;
	--black-rgb: 0, 0, 0;

	/* Hero headline gradient — subtle, near-monochrome */
	--hero-grad-1: #0a0a0c;
	--hero-grad-2: #4b4b55;
	--hero-grad-3: #85858f;

	/* Effects & shape — flatter, sharper, minimal glow */
	--glow: 0 0 24px rgba(var(--accent-rgb), 0.1);
	--radius: 10px;

	/* Typography */
	--font: 'Inter', system-ui, sans-serif;
	--display: 'Inter', system-ui, sans-serif;

	/* Code block syntax highlighting (GitHub Light) */
	--hljs-text: #24292e;
	--hljs-comment: #6a737d;
	--hljs-keyword: #d73a49;
	--hljs-string: #032f62;
	--hljs-number: #005cc5;
	--hljs-function: #6f42c1;
	--hljs-builtin: #e36209;
	--hljs-attr: #005cc5;
	--hljs-tag: #22863a;
	--hljs-meta: #6a737d;
}

/* Dark variant, activates automatically when the OS/browser prefers dark */
@media (prefers-color-scheme: dark) {
	:root {
		/* Backgrounds */
		--bg: #0b0b0e;
		--bg-2: #111116;
		--bg-rgb: 11, 11, 14;
		--panel: rgba(24, 24, 30, 0.65);
		--panel-rgb: 24, 24, 30;
		--panel-solid: #15151b;
		--sidebar-bg: rgba(15, 15, 19, 0.6);
		--appbar-bg: rgba(15, 15, 19, 0.7);
		--code-bg: #14141a;
		--input-bg: rgba(20, 20, 25, 0.85);
		--ghost-hover-bg: rgba(255, 255, 255, 0.06);

		/* Strokes / borders */
		--stroke-rgb: 220, 220, 235;
		--stroke: rgba(var(--stroke-rgb), 0.1);
		--stroke-2: rgba(var(--stroke-rgb), 0.18);

		/* Text */
		--text: #e6e6ea;
		--text-strong: #ffffff;
		--text-em: #f1f1f4;
		--text-quote: #c9c9d2;
		--muted: #8f8f9a;
		--shine: #b8b8c4;

		/* Accents — same restrained neutral-ink family, lifted for contrast */
		--accent: #cfcfe0;
		--accent-rgb: 207, 207, 224;
		--accent-2: #9d9dab;
		--accent-2-rgb: 157, 157, 171;
		--accent-3: #7a7a88;
		--accent-3-rgb: 122, 122, 136;

		/* Status */
		--ok: #4fbf8f;
		--ok-rgb: 79, 191, 143;
		--warn: #dba53c;
		--err: #e07385;
		--dot-idle: #3d3d46;

		/* Hero headline gradient */
		--hero-grad-1: #ffffff;
		--hero-grad-2: #b8b8c4;
		--hero-grad-3: #85858f;

		/* Effects */
		--glow: 0 0 24px rgba(var(--accent-rgb), 0.12);

		/* Code block syntax highlighting (GitHub Dark) */
		--hljs-text: #c9d1d9;
		--hljs-comment: #8b949e;
		--hljs-keyword: #ff7b72;
		--hljs-string: #a5d6ff;
		--hljs-number: #79c0ff;
		--hljs-function: #d2a8ff;
		--hljs-builtin: #ffa657;
		--hljs-attr: #79c0ff;
		--hljs-tag: #7ee787;
		--hljs-meta: #8b949e;
	}
}
