2025-12-16 10:29:40 +07:00

395 lines
7.5 KiB
CSS

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
background-color: #000;
font-family: 'Orbitron', sans-serif;
}
html, body {
height: 100%;
overflow: hidden;
}
/* === MAIN MENU & OPTIONS MENU === */
#mainMenu, #optionsMenu {
position: absolute;
width: 100vw;
height: 100vh;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(6px);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
animation: fadeIn 1s ease-out;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
/* === STARS CONTAINER (hidden by default, no animation) === */
.stars-container {
display: none;
}
/* === MENU CONTENT === */
.menu-content {
text-align: center;
z-index: 11;
}
/* === GAME TITLE === */
.game-title {
display: flex;
flex-direction: column;
gap: 5px;
margin-bottom: 60px;
}
.title-word {
font-size: 90px;
color: #ffffff;
letter-spacing: 4px;
font-weight: 900;
text-shadow:
2px 2px 0px #00bcd4,
4px 4px 0px #009bb0,
6px 6px 0px #007a8c,
8px 8px 0px #005a68,
10px 10px 12px rgba(0, 234, 255, 0.7),
0 0 25px #00eaff;
animation: pixelGlow 2s infinite alternate ease-in-out;
}
@keyframes pixelGlow {
from {
text-shadow:
2px 2px 0px #00eaff,
4px 4px 0px #00bcd4,
6px 6px 0px #009bb0,
8px 8px 0px #007a8c,
10px 10px 14px rgba(0, 234, 255, 0.9),
0 0 35px #00eaff;
}
to {
text-shadow:
2px 2px 0px #00eaff,
3px 3px 0px #00bcd4,
5px 5px 0px #009bb0,
7px 7px 0px #007a8c,
9px 9px 12px rgba(0, 234, 255, 0.7),
0 0 20px #00eaff;
}
}
/* === MENU BUTTONS CONTAINER === */
.menu-buttons {
display: flex;
flex-direction: column;
gap: 15px;
margin-bottom: 40px;
}
/* === MENU BUTTON === */
.menu-btn {
font-size: 28px;
padding: 15px 55px;
margin: 0;
cursor: pointer;
background: linear-gradient(145deg, #111, #1b1b1b);
color: white;
border: 2px solid #00eaff;
border-radius: 40px;
box-shadow:
0 4px 0 #00bcd4,
0 0 12px rgba(0, 234, 255, 0.4),
inset 0 0 15px rgba(0, 234, 255, 0.2);
transition: 0.3s ease-in-out;
font-family: 'Orbitron', sans-serif;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2px;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
min-width: 320px;
}
.menu-btn:hover {
background: #00eaff;
color: #000;
transform: translateY(-5px) scale(1.08);
box-shadow:
0 10px 20px rgba(0, 234, 255, 0.6),
0 0 30px #00eaff;
}
.menu-btn:active {
transform: translateY(-2px) scale(1.05);
}
/* === BUTTON ICON & TEXT === */
.btn-icon {
font-size: 24px;
font-weight: bold;
}
.btn-text {
font-size: 22px;
}
/* === FOOTER INFO === */
.footer-info {
margin-top: 10px;
padding: 20px 30px;
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(0, 234, 255, 0.3);
border-radius: 15px;
backdrop-filter: blur(4px);
}
.footer-info p {
color: #00eaff;
font-size: 14px;
letter-spacing: 1px;
opacity: 0.9;
text-align: center;
}
/* === OPTIONS TITLE === */
.options-title {
font-size: 70px;
font-weight: 900;
color: #ffffff;
margin-bottom: 50px;
letter-spacing: 4px;
text-shadow:
2px 2px 0px #00bcd4,
4px 4px 0px #009bb0,
6px 6px 0px #007a8c,
8px 8px 0px #005a68,
10px 10px 12px rgba(0, 234, 255, 0.7),
0 0 25px #00eaff;
}
/* === OPTIONS CONTAINER === */
.options-container {
background: rgba(0, 0, 0, 0.5);
border: 2px solid rgba(0, 234, 255, 0.4);
border-radius: 20px;
padding: 40px 50px;
margin-bottom: 40px;
min-width: 600px;
backdrop-filter: blur(5px);
box-shadow:
0 0 20px rgba(0, 234, 255, 0.3),
inset 0 0 20px rgba(0, 234, 255, 0.1);
}
/* === OPTION ITEM === */
.option-item {
margin-bottom: 35px;
text-align: left;
}
.option-item:last-child {
margin-bottom: 0;
}
.option-item label {
display: block;
color: #00eaff;
font-size: 20px;
font-weight: 700;
margin-bottom: 15px;
letter-spacing: 2px;
text-transform: uppercase;
text-shadow: 0 0 10px rgba(0, 234, 255, 0.5);
}
/* === SLIDER CONTAINER === */
.slider-container {
display: flex;
align-items: center;
gap: 20px;
}
/* === RANGE SLIDER === */
input[type="range"] {
flex: 1;
height: 6px;
background: rgba(27, 27, 27, 0.8);
border: 2px solid #00eaff;
border-radius: 10px;
outline: none;
-webkit-appearance: none;
cursor: pointer;
box-shadow: inset 0 0 5px rgba(0, 234, 255, 0.3);
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 24px;
height: 24px;
background: linear-gradient(145deg, #00eaff, #00bcd4);
border-radius: 50%;
cursor: pointer;
box-shadow:
0 0 10px rgba(0, 234, 255, 0.8),
0 2px 4px rgba(0, 0, 0, 0.5);
transition: all 0.2s ease;
border: 2px solid #ffffff;
}
input[type="range"]::-webkit-slider-thumb:hover {
background: #00eaff;
box-shadow:
0 0 20px rgba(0, 234, 255, 1),
0 4px 8px rgba(0, 0, 0, 0.6);
transform: scale(1.15);
}
input[type="range"]::-moz-range-thumb {
width: 24px;
height: 24px;
background: linear-gradient(145deg, #00eaff, #00bcd4);
border-radius: 50%;
cursor: pointer;
border: 2px solid #ffffff;
box-shadow:
0 0 10px rgba(0, 234, 255, 0.8),
0 2px 4px rgba(0, 0, 0, 0.5);
}
/* === SLIDER VALUE TEXT === */
.slider-container span {
color: #ffffff;
font-size: 18px;
font-weight: 700;
min-width: 60px;
text-align: right;
text-shadow: 0 0 8px rgba(0, 234, 255, 0.6);
}
/* === BUTTON GROUP === */
.button-group {
display: flex;
gap: 12px;
}
/* === TOGGLE BUTTON === */
.toggle-btn {
flex: 1;
padding: 12px 25px;
font-family: 'Orbitron', sans-serif;
font-size: 16px;
font-weight: 600;
color: rgba(255, 255, 255, 0.6);
background: linear-gradient(145deg, #111, #1b1b1b);
border: 2px solid rgba(0, 234, 255, 0.4);
border-radius: 10px;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
box-shadow:
0 2px 0 rgba(0, 188, 212, 0.3),
inset 0 0 10px rgba(0, 234, 255, 0.1);
}
.toggle-btn:hover {
color: #00eaff;
border-color: #00eaff;
background: linear-gradient(145deg, #1b1b1b, #2a2a2a);
box-shadow:
0 2px 0 #00bcd4,
0 0 15px rgba(0, 234, 255, 0.4),
inset 0 0 15px rgba(0, 234, 255, 0.2);
}
.toggle-btn.active {
color: #000;
background: #00eaff;
border-color: #00eaff;
box-shadow:
0 4px 0 #00bcd4,
0 0 20px rgba(0, 234, 255, 0.8),
inset 0 0 10px rgba(255, 255, 255, 0.3);
transform: translateY(-2px);
}
/* === BACK BUTTON === */
.back-btn {
margin-top: 20px;
background: linear-gradient(145deg, #1b1b1b, #111);
border-color: #00eaff;
color: #00eaff;
box-shadow:
0 4px 0 #00bcd4,
0 0 12px rgba(0, 234, 255, 0.4),
inset 0 0 15px rgba(0, 234, 255, 0.2);
}
.back-btn:hover {
background: linear-gradient(145deg, #2a2a2a, #1b1b1b);
border-color: #00eaff;
color: #ffffff;
box-shadow:
0 6px 0 #00bcd4,
0 0 25px rgba(0, 234, 255, 0.6),
inset 0 0 20px rgba(0, 234, 255, 0.3);
}
/* === GAME CONTAINER === */
#gameContainer {
width: 100vw;
height: 100vh;
background: #000;
}
#canvas {
width: 100%;
height: 100%;
margin: 0;
background-color: black;
display: block;
}
/* === RESPONSIVE === */
@media (max-width: 768px) {
.title-word {
font-size: 60px;
}
.menu-btn {
font-size: 20px;
padding: 12px 40px;
min-width: 280px;
}
.options-container {
min-width: 90vw;
padding: 30px;
}
.options-title {
font-size: 50px;
}
.footer-info p {
font-size: 12px;
}
}