/**
 * CMC Journal Design System & Modern Academic Tokens
 */

:root {
	/* Color Palette - Light Mode */
	--cmc-primary: #1a4f8b;
	--cmc-primary-hover: #133c6b;
	--cmc-primary-light: #e0f2fe;
	--cmc-secondary: #0f172a;
	--cmc-accent: #0284c7;
	
	--cmc-bg: #f8fafc;
	--cmc-surface: #ffffff;
	--cmc-surface-hover: #f1f5f9;
	--cmc-surface-subtle: #f8fafc;
	
	--cmc-text: #1e293b;
	--cmc-text-muted: #64748b;
	--cmc-text-subtle: #94a3b8;
	
	--cmc-border: #e2e8f0;
	--cmc-border-subtle: #f1f5f9;
	--cmc-border-strong: #cbd5e1;
	
	--cmc-success: #10b981;
	--cmc-warning: #f59e0b;
	--cmc-danger: #ef4444;

	/* Typography */
	--cmc-font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--cmc-font-serif: 'Newsreader', 'Lora', Georgia, 'Times New Roman', serif;
	--cmc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

	/* Spacing */
	--cmc-radius-sm: 4px;
	--cmc-radius: 8px;
	--cmc-radius-lg: 12px;
	--cmc-radius-full: 9999px;

	--cmc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	--cmc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.04);
	--cmc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);

	--cmc-container: 1240px;
	--cmc-reader-max: 740px;
	--cmc-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dark Mode Tokens */
[data-theme="dark"] {
	--cmc-primary: #38bdf8;
	--cmc-primary-hover: #7dd3fc;
	--cmc-primary-light: #082f49;
	--cmc-secondary: #f8fafc;
	--cmc-accent: #38bdf8;
	
	--cmc-bg: #090d16;
	--cmc-surface: #111827;
	--cmc-surface-hover: #1f2937;
	--cmc-surface-subtle: #0f172a;
	
	--cmc-text: #f1f5f9;
	--cmc-text-muted: #94a3b8;
	--cmc-text-subtle: #64748b;
	
	--cmc-border: #1e293b;
	--cmc-border-subtle: #172033;
	--cmc-border-strong: #334155;

	--cmc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
	--cmc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
	--cmc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
}

/* Base Reset & Box Sizing */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--cmc-font-ui);
	background-color: var(--cmc-bg);
	color: var(--cmc-text);
	line-height: 1.6;
	transition: background-color 0.3s ease, color 0.3s ease;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--cmc-primary);
	text-decoration: none;
	transition: var(--cmc-transition);
}

a:hover {
	color: var(--cmc-primary-hover);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Container */
.cmc-container {
	max-width: var(--cmc-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Visually Hidden for Accessibility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--cmc-surface);
	clip: auto !important;
	clip-path: none;
	color: var(--cmc-primary);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 10px;
	padding: 12px 20px;
	position: fixed;
	top: 10px;
	width: auto;
	z-index: 100000;
	border-radius: var(--cmc-radius);
	box-shadow: var(--cmc-shadow-lg);
}
