/* ===== ACCESSIBILITY ===== */
:root {
	--green-dark: #00483c;
	--green-darker: #1a2e28;
	--green-text: #313e3b;
	--yellow: #d5d52b;
	--yellow-dark: #b8b824;
	--radius: 6px;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.focus\:not-sr-only:focus {
	position: static;
	width: auto;
	height: auto;
	padding: inherit;
	margin: inherit;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

/* ===== ANIMATIONS ===== */
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-5px) } to { opacity: 1; transform: translateY(0) } }
.fade-in { animation: fadeIn 0.2s ease }
.slide-down { animation: slideDown 0.2s ease }
.card-hover { transition: transform 0.2s ease, box-shadow 0.2s ease }
.card-hover:hover { transform: translateY(-4px) }
.sidebar-nav::-webkit-scrollbar { width: 4px }
.sidebar-nav::-webkit-scrollbar-track { background: transparent }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(213, 213, 43, 0.45); border-radius: 2px }
html, body { margin: 0; padding: 0; height: 100%; overflow: hidden }

body {
	font-family: 'Space Grotesk', sans-serif;
	background: #f3f7f5;
	color: var(--green-text);
}

#app { display: block; }

/* ===== PHILO-LYCEE THEME OVERRIDES (TAILWIND UTILITIES) ===== */
.bg-gray-50, .bg-slate-50 { background-color: #f3f7f5 !important; }
.bg-slate-900 { background-color: var(--green-darker) !important; }
.hover\:bg-slate-800:hover { background-color: #28423b !important; }
.text-slate-900, .text-slate-800 { color: #21332e !important; }
.text-slate-700, .text-slate-600 { color: #3a4c47 !important; }
.text-slate-500, .text-slate-400 { color: #667a74 !important; }
.text-slate-300 { color: rgba(255, 255, 255, 0.84) !important; }

.bg-indigo-600 { background-color: var(--green-dark) !important; }
.hover\:bg-indigo-700:hover { background-color: #006457 !important; }
.text-indigo-600, .text-indigo-700, .text-indigo-800 { color: var(--green-dark) !important; }
.bg-indigo-50, .bg-blue-50, .bg-cyan-50, .bg-lime-50 { background-color: rgba(0, 72, 60, 0.08) !important; }
.border-indigo-200, .border-blue-200, .border-cyan-200, .border-lime-200 { border-color: rgba(0, 72, 60, 0.2) !important; }
.text-cyan-800, .text-lime-800, .text-blue-800, .text-blue-700 { color: var(--green-dark) !important; }

.bg-emerald-700, .bg-emerald-800 { background-color: var(--green-dark) !important; }
.hover\:bg-emerald-800:hover { background-color: #006457 !important; }
.text-emerald-700, .text-emerald-800, .text-emerald-900,
.text-teal-800, .text-teal-900,
.text-green-800, .text-green-900,
.text-lime-800, .text-lime-900 { color: var(--green-dark) !important; }
.bg-emerald-50, .bg-emerald-100, .bg-teal-100, .bg-green-100, .bg-lime-100 { background-color: rgba(0, 72, 60, 0.08) !important; }
.border-emerald-200, .border-emerald-500 { border-color: rgba(0, 72, 60, 0.2) !important; }

.from-emerald-700, .from-emerald-600, .from-teal-700, .from-teal-600, .from-green-700, .from-green-600, .from-lime-700, .from-lime-600 {
	--tw-gradient-from: #0a6a5a var(--tw-gradient-from-position) !important;
	--tw-gradient-to: rgb(10 106 90 / 0) var(--tw-gradient-to-position) !important;
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-emerald-900, .to-emerald-800, .to-teal-900, .to-teal-800, .to-green-900, .to-green-800 {
	--tw-gradient-to: #00483c var(--tw-gradient-to-position) !important;
}

.bg-amber-50 { background-color: rgba(213, 213, 43, 0.16) !important; }
.border-amber-200 { border-color: rgba(213, 213, 43, 0.42) !important; }
.text-amber-800 { color: #5d5d14 !important; }

.border-slate-700 { border-color: rgba(255, 255, 255, 0.12) !important; }
.border-slate-200, .border-gray-200 { border-color: rgba(0, 0, 0, 0.09) !important; }
.bg-white {
	background: #ffffff !important;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.05);
}

.rounded, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl {
	border-radius: var(--radius) !important;
}

.fixed.inset-y-0.left-0.z-40.w-72 {
	box-shadow: 10px 0 30px rgba(0, 0, 0, 0.22);
}

.fixed.top-4.z-50.items-center.justify-center.h-10.w-10.rounded-lg.bg-slate-900 {
	background-color: var(--green-dark) !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.focus\:bg-indigo-600:focus {
	background-color: var(--green-dark) !important;
}

/* ===== CORRECTION REVEAL ===== */
.correction-blurred {
	filter: blur(4px);
	user-select: none;
	pointer-events: none;
	transition: filter 0.2s ease;
}

.card-hover {
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.card-hover:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(0, 72, 60, 0.18);
}

.correction-blurred {
	filter: blur(6px);
	opacity: 0.65;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

