body {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
background-color: var(--bg-color);
color: var(--text);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
h1 {
margin-bottom: 5px;
}
p {
color: #94a3b8;
margin-bottom: 20px;
}
.game-container {
position: relative;
background-color: var(--card-bg);
padding: 20px;
border-radius: 12px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
#grid {
display: grid;
gap: 8px;
position: relative;
}
.cell {
width: var(--cell-size);
height: var(--cell-size);
background-color: #0f172a;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.arrow {
width: 80%;
height: 80%;
background-color: var(--primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
user-select: none;
transition: transform 0.3s ease, background-color 0.2s ease;
position: absolute;
z-index: 2;
}
.arrow:hover {
filter: brightness(1.2);
}
.arrow::after {
content: '↑';
font-size: 28px;
font-weight: bold;
color: #0f172a;
}
/* Direction Rotations */
.arrow[data-dir="UP"] { transform: rotate(0deg); }
.arrow[data-dir="RIGHT"] { transform: rotate(90deg); }
.arrow[data-dir="DOWN"] { transform: rotate(180deg); }
.arrow[data-dir="LEFT"] { transform: rotate(270deg); }
/* Animations */
@keyframes blocked {
0% { transform: scale(1) rotate(var(--angle)); }
25% { transform: scale(1.1) translate(var(--dx), var(--dy)) rotate(var(--angle)); }
50% { transform: scale(1) rotate(var(--angle)); }
100% { transform: scale(1) rotate(var(--angle)); }
}
.blocked {
animation: blocked 0.25s ease;
}
#win-message {
display: none;
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(15, 23, 42, 0.9);
border-radius: 12px;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 10;
}
button {
background-color: var(--primary);
color: #0f172a;
border: none;
padding: 10px 20px;
font-weight: bold;
border-radius: 6px;
cursor: pointer;
margin-top: 15px;
font-size: 16px;
}
button:hover {
background-color: #7dd3fc;
}
Arrow Unblocker
Click arrows to fly them off the grid. Don't hit other arrows!