@import 'tailwindcss';

@plugin 'tailwind-scrollbar';

@import 'tw-animate-css';

@custom-variant dark (&:is(.dark *));

:root {
	--radius: 0.625rem;

	/* Typography — system stacks, so nothing depends on a CDN or a webfont build. */
	--app-font-sans:
		system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--app-font-serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	--app-font-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;

	/* Reading Room — light */
	--background: #e9ebee;
	--foreground: #1b1f24;
	--card: #fbfbfc;
	--card-foreground: #1b1f24;
	--popover: #fbfbfc;
	--popover-foreground: #1b1f24;
	--primary: #1f5f5b;
	--primary-foreground: #f2f7f6;
	--secondary: #dfe3e8;
	--secondary-foreground: #1b1f24;
	--muted: #e2e5e9;
	--muted-foreground: #7d858f;
	--accent: #d7e5e3;
	--accent-foreground: #164743;
	--destructive: #a6402f;
	--border: #d2d6dc;
	--input: #d2d6dc;
	--ring: #1f5f5b;

	/* Semantic — deliberately not the accent, so state never reads as branding. */
	--success: #2f7d4f;
	--success-foreground: #f2f7f6;
	--flag: #b08a1e;
	--star: #c79a25;

	--chart-1: #1f5f5b;
	--chart-2: #2f7d4f;
	--chart-3: #b08a1e;
	--chart-4: #4c6b8a;
	--chart-5: #a6402f;

	--sidebar: #e2e5e9;
	--sidebar-foreground: #1b1f24;
	--sidebar-primary: #1f5f5b;
	--sidebar-primary-foreground: #f2f7f6;
	--sidebar-accent: #d7e5e3;
	--sidebar-accent-foreground: #164743;
	--sidebar-border: #d2d6dc;
	--sidebar-ring: #1f5f5b;
}

.dark {
	/* Reading Room — dark */
	--background: #15191b;
	--foreground: #e6eae9;
	--card: #1d2226;
	--card-foreground: #e6eae9;
	--popover: #1d2226;
	--popover-foreground: #e6eae9;
	--primary: #6fbab0;
	--primary-foreground: #0e1a19;
	--secondary: #232a2d;
	--secondary-foreground: #e6eae9;
	--muted: #232a2d;
	--muted-foreground: #78868a;
	--accent: #1b3330;
	--accent-foreground: #9fd8d0;
	--destructive: #e0796b;
	--border: #2a3034;
	--input: #2a3034;
	--ring: #6fbab0;

	--success: #4fa97a;
	--success-foreground: #0e1a19;
	--flag: #d4a63a;
	--star: #e5b84b;

	--chart-1: #6fbab0;
	--chart-2: #4fa97a;
	--chart-3: #d4a63a;
	--chart-4: #7f9dc0;
	--chart-5: #e0796b;

	--sidebar: #111517;
	--sidebar-foreground: #e6eae9;
	--sidebar-primary: #6fbab0;
	--sidebar-primary-foreground: #0e1a19;
	--sidebar-accent: #1b3330;
	--sidebar-accent-foreground: #9fd8d0;
	--sidebar-border: #2a3034;
	--sidebar-ring: #6fbab0;
}

@theme inline {
	--font-sans: var(--app-font-sans);
	--font-serif: var(--app-font-serif);
	--font-mono: var(--app-font-mono);
	--radius-sm: calc(var(--radius) - 4px);
	--radius-md: calc(var(--radius) - 2px);
	--radius-lg: var(--radius);
	--radius-xl: calc(var(--radius) + 4px);
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--color-card: var(--card);
	--color-card-foreground: var(--card-foreground);
	--color-popover: var(--popover);
	--color-popover-foreground: var(--popover-foreground);
	--color-primary: var(--primary);
	--color-primary-foreground: var(--primary-foreground);
	--color-secondary: var(--secondary);
	--color-secondary-foreground: var(--secondary-foreground);
	--color-muted: var(--muted);
	--color-muted-foreground: var(--muted-foreground);
	--color-accent: var(--accent);
	--color-accent-foreground: var(--accent-foreground);
	--color-destructive: var(--destructive);
	--color-success: var(--success);
	--color-success-foreground: var(--success-foreground);
	--color-flag: var(--flag);
	--color-star: var(--star);
	--color-border: var(--border);
	--color-input: var(--input);
	--color-ring: var(--ring);
	--color-chart-1: var(--chart-1);
	--color-chart-2: var(--chart-2);
	--color-chart-3: var(--chart-3);
	--color-chart-4: var(--chart-4);
	--color-chart-5: var(--chart-5);
	--color-sidebar: var(--sidebar);
	--color-sidebar-foreground: var(--sidebar-foreground);
	--color-sidebar-primary: var(--sidebar-primary);
	--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
	--color-sidebar-accent: var(--sidebar-accent);
	--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
	--color-sidebar-border: var(--sidebar-border);
	--color-sidebar-ring: var(--sidebar-ring);
}

@layer base {
	* {
		@apply border-border outline-ring/50;
	}
	body {
		@apply bg-background text-foreground;
	}
}

/* Comma separated list */
.cs-list::after {
	content: ',';
}

.cs-list:last-of-type::after {
	display: none;
}
