138 lines
2.2 KiB
CSS
138 lines
2.2 KiB
CSS
body {
|
|
margin: 0;
|
|
overflow: hidden;
|
|
background-color: #000;
|
|
font-family: 'Courier New', Courier, monospace;
|
|
color: #fff;
|
|
user-select: none;
|
|
}
|
|
|
|
#game-container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 1;
|
|
image-rendering: pixelated;
|
|
}
|
|
|
|
#ui-layer {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 2;
|
|
pointer-events: none;
|
|
/* Let clicks pass through to canvas if needed, but start screen needs clicks */
|
|
}
|
|
|
|
#start-screen,
|
|
#loading-screen {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
text-align: center;
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 4rem;
|
|
text-shadow: 2px 2px #ff0000;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.controls {
|
|
font-size: 0.8rem;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
#hud {
|
|
position: absolute;
|
|
bottom: 20px;
|
|
left: 20px;
|
|
font-size: 1.2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
#stamina-container {
|
|
width: 200px;
|
|
height: 10px;
|
|
border: 2px solid #555;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
#stamina-bar {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: #fff;
|
|
transition: width 0.1s linear;
|
|
}
|
|
|
|
#heartbeat {
|
|
width: 60px;
|
|
height: 60px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.heart-icon {
|
|
fill: #ff3333;
|
|
animation: pulse 1s infinite;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% {
|
|
transform: scale(1);
|
|
opacity: 0.8;
|
|
}
|
|
|
|
50% {
|
|
transform: scale(1.2);
|
|
opacity: 1;
|
|
}
|
|
|
|
100% {
|
|
transform: scale(1);
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
|
|
#power-warning {
|
|
display: none;
|
|
color: red;
|
|
font-weight: bold;
|
|
font-size: 1.5rem;
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
text-shadow: 0 0 10px red;
|
|
animation: flash 0.5s infinite alternate;
|
|
}
|
|
|
|
@keyframes flash {
|
|
from {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
#crosshair {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 4px;
|
|
height: 4px;
|
|
background-color: white;
|
|
transform: translate(-50%, -50%);
|
|
pointer-events: none;
|
|
z-index: 100;
|
|
} |