:root {
    --board-width: 400px;
}

body {
	font-family: Arial;
	max-width: 1200px;
	margin: 50px auto;
	padding: 20px;
}

.container {
	display: flex;
	gap: 40px;
	margin: 20px 0;
}

#board {
	width: var(--board-width);
}

.info-panel {
	flex: 1;
}

.info-panel h3 {
	margin-top: 0;
}

button {
	padding: 10px 20px;
	margin: 5px;
	cursor: pointer;
}

#fen {
	background: #f0f0f0;
	padding: 10px;
	margin: 10px 0;
	font-family: monospace;
}

#results {
	margin-top: 15px;
}

.pagination {
	text-align: center;
	margin: 20px 0;
}

.pagination button {
	padding: 10px 20px;
	margin: 0 5px;
}

.pagination button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.puzzle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 16px;
}

.puzzle {
	border: 1px solid #ddd;
	padding: 12px;
}

.puzzle-board {
	width: 100%;
	aspect-ratio: 1;
}

.puzzle-info h3 {
	margin: 8px 0 4px;
	font-size: 14px;
}

.puzzle-info p {
	margin: 4px 0;
	font-size: 12px;
}

.puzzle-info a {
	color: #0066cc;
}

.themes {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin: 5px 0;
}

.theme {
	background: #e0e0e0;
	padding: 3px 8px;
	border-radius: 3px;
	font-size: 11px;
}