/* Global styles */
body, html {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
-webkit-user-drag: none;
-webkit-user-modify: none;
pointer-events: none;
margin: 0;
overflow: hidden;
background-color: #000;
color: white;
font-family: Arial, sans-serif;
}
/* Re-enable interactions for specific elements */
button, a, input, textarea, select, [role="button"] {
pointer-events: auto;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
/* Container styles */
.container-fluid {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: none;
border: none;
}
/* Title styles */
#title {
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
color: red;
font-size: 36px;
z-index: 10;
}
/* Puzzled cubes container styles */
#puzzled-cubes-container {
width: 80%;
height: 80%;
max-width: 100%;
max-height: 100%;
background-color: transparent;
color: red;
text-shadow: 2px 2px 2px black;
z-index: 5;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#puzzled-cubes {
width: 100%;
height: 100%;
background-color: transparent;
position: relative;
}
/* Level indicator styles */
#level-indicator {
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
color: red;
text-shadow: 2px 2px 2px black;
font-size: 24px;
z-index: 10;
}
/* Timer styles */
#timer {
position: absolute;
top: 22px;
right: 125px;
color: red;
font-size: 24px;
text-shadow: 2px 2px 2px black;
z-index: 10;
}
#timer.slow-glow { animation: slowGlow 1.5s infinite; }
#timer.medium-glow { animation: mediumGlow 1.0s infinite; }
#timer.fast-glow { animation: fastGlow 0.5s infinite; }
/* Game over and win popup styles */
#game-over, #win-popup {
display: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 36px;
text-align: center;
padding: 20px;
border-radius: 10px;
z-index: 100;
}
#game-over, #win-popup {
color: red;
background-color: rgba(0, 0, 0, 0.5);
}
/* Instructions styles */
#show-instructions {
position: absolute;
top: 17px;
left: 20px;
z-index: 100;
}
#instructions {
position: absolute;
top: 75px;
left: -300px;
transition: left 0.3s ease-in-out;
color: #000;
background-color: rgba(255, 255, 255, 0.7);
padding: 10px;
border-radius: 5px;
font-size: 14px;
width: 250px;
max-height: calc(100% - 100px);
overflow-y: auto;
z-index: 1000;
outline: none;
}
.close-btn {
position: absolute;
top: 5px;
right: 10px;
cursor: pointer;
}
/* Button styles */
#volume-button, #rain-mute-button, #pauseButton {
position: fixed;
z-index: 20;
color: white;
border: none;
padding: 10px;
cursor: pointer;
font-size: 16px;
pointer-events: auto;
}
#volume-button {
top: 10px;
right: 10px;
background-color: blue;
}
#volume-button.muted { background-color: red; }
#rain-mute-button {
top: 10px;
right: 70px;
background-color: green;
}
#rain-mute-button.muted { background-color: orange; }
#pauseButton {
top: 70px;
right: 10px;
background-color: orange;
}
#pauseButton:hover { background-color: darkorange; }
/* Restart button */
#restart-button {
display: none;
position: absolute;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
background-color: rgba(0, 123, 255, 0.8);
border-color: rgba(0, 123, 255, 0.8);
font-size: 18px;
z-index: 100;
padding: 10px;
cursor: pointer;
}
#restart-button:hover {
background-color: rgba(0, 255, 0, 1);
border-color: rgba(0, 255, 0, 1);
}
/* Title Screen button */
#title-screen-button {
display: none;
position: absolute;
top: 93%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
background-color: rgba(0, 123, 255, 0.8);
border-color: rgba(0, 123, 255, 0.8);
font-size: 18px;
z-index: 100;
padding: 10px;
cursor: pointer;
}
#title-screen-button:hover {
background-color: rgba(0, 255, 0, 1);
border-color: rgba(0, 255, 0, 1);
}
/* Progress bar styles */
#progress-bar {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50%;
height: 30px;
background-color: #f0f0f0;
border-radius: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
display: none;
text-align: center;
line-height: 30px;
font-weight: bold;
}
#progress {
width: 0%;
height: 100%;
background-color: #007bff;
border-radius: 5px;
position: relative;
color: #fff;
}
/* Paused text styles */
#paused-text {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1000;
font-size: 36px;
color: red;
text-shadow: 2px 2px 2px black;
text-align: center;
pointer-events: none;
font-family: Arial, sans-serif;
}
#page-transition {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: black;
z-index: 9999;
transition: opacity 1s ease-out;
pointer-events: none;
}
/* Volume controls styles */
#volume-controls {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 20;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px;
border-radius: 5px;
}
.volume-control {
display: flex;
align-items: center;
margin-bottom: 5px;
}
.volume-control label {
color: white;
margin-right: 10px;
}
.volume-control input[type="range"] {
width: 100px;
}
.winner {
color: blue;
font-weight: bold;
text-shadow: 0 0 5px blue, 0 0 10px blue, 0 0 15px blue, 0 0 20px blue, 0 0 25px blue, 0 0 30px blue, 2px 2px 4px black;
}
/* Glowing effect animations */
@keyframes slowGlow {
0%, 100% { text-shadow: 0 0 10px red; }
50% { text-shadow: 0 0 20px orange; }
}
@keyframes mediumGlow {
0%, 100% { text-shadow: 0 0 5px red; }
50% { text-shadow: 0 0 10px orange; }
}
@keyframes fastGlow {
0%, 100% { text-shadow: 0 0 3px red; }
50% { text-shadow: 0 0 6px orange; }
}