/* 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; } }