MIF_E31231883/style.css

413 lines
6.3 KiB
CSS

body {
font-family: 'Jersey 10', sans-serif;
font-size: 20px;
text-align: center;
background-image: url('assets/background.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
}
body,
button,
.onboarding-box button {
cursor: none !important;
}
#virtual-cursor {
width: 20px;
height: 20px;
background: #6AB04A;
border: 2px solid white;
border-radius: 50%;
display: none;
position: fixed;
pointer-events: none;
z-index: 10000;
transition: transform 1s ease;
}
button {
font-family: 'Jersey 10', sans-serif;
font-size: 20px;
color: #6AB04A;
background: white;
width: 200px;
padding: 10px;
border: 2px solid #6AB04A;
transition: 0.3s;
}
button:hover {
color: white;
background: #6AB04A;
border: 2px solid transparent;
}
button.finger-hover,
#soundToggleMenu.finger-hover {
color: white !important;
background-color: #6AB04A !important;
}
#onboardingScreen,
#startScreen {
display: none;
}
.center-screen {
height: 500px;
display: flex;
align-items: center;
justify-content: center;
}
.menu-box {
gap: 15px;
display: flex;
align-items: center;
flex-direction: column;
}
.game-title {
font-family: 'Jersey 10', sans-serif;
font-size: 150px;
color: #6AB04A;
font-weight: 1000;
margin-bottom: 10px;
}
.onboarding-box {
width: 600px;
min-height: 200px;
background: white;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.onboarding-step {
margin-top: -20px;
}
.onboarding-step h1 {
font-size: 30px;
margin-bottom: 10px;
letter-spacing: 1px;
}
.onboarding-box button {
width: 100%;
margin: 0 auto;
padding: 12px 20px;
transition: 0.3s;
}
.camera-status {
color: white;
background: #E7471D;
padding: 14px 20px;
transition: all 0.3s ease;
}
.camera-status.ready {
color: white;
background: #6AB04A;
}
.image-box {
background: white;
width: 200px;
height: 200px;
display: flex;
align-items: center;
justify-content: center;
}
.image-box img {
max-width: 100%;
}
.popup {
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
position: fixed;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
}
.popup-content {
padding: 20px;
overflow-y: auto;
}
.guide-box {
width: 600px;
background: white;
max-height: 87.2vh;
overflow-y: auto;
}
.guide-title {
font-size: 40px;
color: #6AB04A;
text-align: center;
margin: 0 0 30px;
letter-spacing: 1px;
}
.guide-section {
margin-bottom: 30px;
}
.guide-section h1 {
font-size: 30px;
margin-bottom: 10px;
letter-spacing: 1px;
}
.guide-text {
font-size: 20px;
margin-top: -5px;
margin-bottom: 10px;
}
.rule-list {
display: flex;
gap: 10px;
flex-direction: column;
}
.rule-item {
font-size: 20px;
background: #F5F5F5;
display: flex;
padding: 10px;
}
.rule-icon {
width: 20px;
height: 20px;
margin-right: 10px;
}
.guide-box button {
width: 100%;
margin-top: -10px;
}
.guide-box::-webkit-scrollbar {
width: 5px;
}
.guide-box::-webkit-scrollbar-thumb {
background: #6AB04A;
}
.gesture-demo {
width: 300px;
height: 200px;
border: 2px solid #6AB04A;
position: relative;
overflow: hidden;
margin: 0 auto;
}
.gesture-demo::before,
.gesture-demo::after {
background: #F5F5F5;
content: "";
position: absolute;
z-index: 1;
}
.gesture-demo::before {
width: 2px;
height: 100%;
top: 0;
left: 50%;
transform: translateX(-50%);
}
.gesture-demo::after {
width: 100%;
height: 2px;
top: 50%;
left: 0;
transform: translateY(-50%);
}
.demo-hand {
width: 50px;
left: 50%;
top: 50%;
position: absolute;
transform: translate(-50%, -50%);
transition: transform 1s ease;
z-index: 2;
}
.gesture-label {
font-size: 20px;
color: #6AB04A;
top: 5px;
left: 10px;
position: absolute;
}
.game-wrapper {
width: 600px;
margin: 0 auto;
}
.game-container {
margin-top: 10px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
#gameCanvas {
background: black;
margin-top: 10px;
}
.top-bar {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 10px;
padding-bottom: 10px;
}
.score-group {
gap: 20px;
display: flex;
align-items: center;
}
.score-box,
.lives-box {
gap: 5px;
display: flex;
align-items: center;
}
.icon {
width: 20px;
height: 20px;
object-fit: contain;
display: block;
}
#levelText {
color: black;
font-size: 20px;
}
#pauseScreen {
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
position: fixed;
top: 0;
left: 0;
}
#countdown-overlay {
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
}
#countdown-text {
font-size: 50px;
color: white;
font-weight: bold;
animation: pulse 1s infinite;
}
@keyframes pulse {
0% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.5); opacity: 1; }
100% { transform: scale(1); opacity: 1; }
}
.camera-container {
width: 300px;
height: 200px;
top: 20px;
right: 20px;
z-index: 10;
position: absolute;
}
#webcam {
display: none;
}
#output_canvas {
width: 100%;
height: 100%;
transform: scaleX(-1);
}
.gesture-stats {
font-family: 'Jersey 10', sans-serif;
width: 300px;
box-sizing: border-box;
}
.stat-item {
font-size: 20px;
margin-top: 10px;
display: flex;
align-items: center;
justify-content: flex-start;
}
.stat-label {
color: black;
width: 110px;
text-align: left;
display: inline-block;
}
.stat-colon {
color: black;
width: 20px;
text-align: left;
display: inline-block;
}
.stat-value {
color: black;
text-align: left;
}
.minimap-container {
width: 180px;
height: 180px;
top: 20px;
left: 20px;
z-index: 10;
position: absolute;
}
#miniMapCanvas {
width: 100%;
height: 100%;
}