: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; }