.slide {
	display: none;
	animation: fadeIn 0.5s ease-out;
}
.slide.active {
	display: block;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.code-block {
	background: #1e293b;
	color: #e2e8f0;
	font-family: "JetBrains Mono", monospace;
}

.truth-table {
	border-collapse: separate;
	border-spacing: 0;
}

.truth-table th,
.truth-table td {
	border: 1px solid #d1d5db;
	padding: 12px 16px;
	text-align: center;
}

.truth-table th {
	background: #10b981;
	color: white;
	font-weight: 600;
}

.truth-table th:first-child {
	border-top-left-radius: 8px;
}
.truth-table th:last-child {
	border-top-right-radius: 8px;
}
.truth-table tr:last-child td:first-child {
	border-bottom-left-radius: 8px;
}
.truth-table tr:last-child td:last-child {
	border-bottom-right-radius: 8px;
}

.truth-table td {
	background: white;
}

.truth-table tr:hover td {
	background: #f0fdf4;
}

.btn-primary {
	background: #10b981;
	transition: all 0.2s ease;
}

.btn-primary:hover {
	background: #059669;
	transform: translateY(-1px);
}

input:focus,
select:focus,
button:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.5);
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
