Phoenix21's picture
Update Sudoku Game JAR files
4dd7406 verified
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.container {
background: white;
border-radius: 20px;
padding: 30px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
max-width: 650px;
width: 100%;
}
h1 {
text-align: center;
color: #333;
margin-bottom: 30px;
font-size: 2.5em;
}
.controls {
display: flex;
gap: 10px;
margin-bottom: 20px;
justify-content: center;
flex-wrap: wrap;
}
.controls select,
.controls button {
padding: 10px 20px;
border: none;
border-radius: 8px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s;
}
.controls select {
background: #f0f0f0;
color: #333;
}
.controls button {
background: #667eea;
color: white;
}
.controls button:hover {
background: #5a67d8;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
}
.message {
text-align: center;
padding: 10px;
margin-bottom: 20px;
border-radius: 8px;
font-weight: bold;
min-height: 40px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s;
}
.message.success {
background: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.message.error {
background: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
.message.info {
background: #d1ecf1;
color: #0c5460;
border: 1px solid #bee5eb;
}
.sudoku-board {
display: grid;
grid-template-columns: repeat(9, 1fr);
gap: 1px;
background: #333;
padding: 3px;
border-radius: 10px;
margin-bottom: 20px;
aspect-ratio: 1;
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
.cell {
background: white;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: bold;
cursor: pointer;
transition: all 0.2s;
aspect-ratio: 1;
position: relative;
user-select: none;
}
.cell-input {
width: 100%;
height: 100%;
border: none;
text-align: center;
font-size: 20px;
font-weight: bold;
background: transparent;
color: #2563eb;
outline: none;
cursor: pointer;
}
.cell-input:focus {
background: #e6f3ff;
}
.cell.fixed {
background: #f5f5f5;
color: #333;
cursor: not-allowed;
}
.cell.fixed .cell-input {
color: #333;
cursor: not-allowed;
}
.cell.error .cell-input {
background: #ffe6e6;
color: #cc0000;
}
.cell.hint {
animation: pulse 1s ease-in-out;
}
.cell.hint .cell-input {
background: #fffacd;
color: #f59e0b;
}
/* Thick borders for 3x3 boxes */
.cell:nth-child(3n) {
border-right: 3px solid #333;
}
.cell:nth-child(n+19):nth-child(-n+27),
.cell:nth-child(n+46):nth-child(-n+54) {
border-bottom: 3px solid #333;
}
.instructions {
background: #f0f4f8;
border-radius: 10px;
padding: 15px;
margin-bottom: 20px;
border-left: 4px solid #667eea;
}
.instructions p {
margin-bottom: 10px;
color: #333;
}
.instructions ul {
margin-left: 20px;
color: #555;
}
.instructions li {
margin-bottom: 5px;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
/* Responsive Design */
@media (max-width: 600px) {
.container {
padding: 20px;
}
h1 {
font-size: 2em;
}
.cell-input {
font-size: 16px;
}
.controls {
flex-direction: column;
}
.controls select,
.controls button {
width: 100%;
}
}