html {
box-sizing: border-box;
font-size: 16px;
}
*, *:before, *:after {
box-sizing: inherit;
}
body {
background: #e1f5fe;
font-family: Arial, sans-serif;
text-align: center;
color: #222;
margin: 0;
min-height: 100vh;
}
/* Encabezado */
h1 {
margin-top: 2rem;
color: #01579b;
font-size: clamp(1.3rem, 5vw, 2.5rem);
}
/* Panel de botones Simon */
#game-container {
margin: 2.2rem auto 1rem auto;
width: 100%;
max-width: 340px;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
gap: 1.2em;
justify-content: center;
align-items: center;
padding: 0.8em;
border-radius: 1.2em;
background: #ffffffdd;
box-shadow: 0 2px 14px #bbbe;
aspect-ratio: 1 / 1; /* el panel siempre es cuadrado */
}
/* Botón Simon */
.color-btn {
width: 100%;
height: 100%;
border-radius: 1.1em;
box-shadow: 0 2px 8px #bbb;
cursor: pointer;
transition: filter 0.2s, border 0.2s;
filter: brightness(0.85);
border: 3px solid #fafafa;
min-width: 0;
min-height: 0;
aspect-ratio: 1 / 1;
/* background colors asignados por id */
}
#green { background: #43a047;}
#red { background: #e53935;}
#yellow { background: #fbc02d;}
#blue { background: #1e88e5;}
.color-btn.active {
filter: brightness(1.1);
border: 3px solid #333;
}
/* Estado y botón inicio */
#status {
font-size: clamp(1em, 2vw, 1.15em);
min-height: 2em;
margin-bottom: 1em;
color: #01579b;
}
#start-btn {
background: #01579b;
color: #fff;
font-size: clamp(1em, 2vw, 1.13em);
border: none;
border-radius: 0.6em;
padding: 0.5em 2em;
cursor: pointer;
transition: background 0.2s;
box-shadow: 0 2px 8px #01579b33;
margin-bottom: 1.4em;
}
#start-btn:hover,
#start-btn:active {
background: #263238;
}
/* ==== Pantallas pequeñas/móviles ==== */
@media (max-width: 600px) {
h1 {
margin-top: 6vw;
font-size: clamp(1.1em, 7vw, 2em);
}
#game-container {
max-width: 96vw;
gap: 6vw;
border-radius: 6vw;
padding: 2vw;
}
.color-btn {
border-radius: 5vw;
box-shadow: 0 2px 6px #bbb;
}
#start-btn {
font-size: clamp(1em, 8vw, 1.4em);
padding: 1em 13vw;
border-radius: 5vw;
margin-bottom: 6vw;
}
#status {
font-size: clamp(1em, 7vw, 1.3em);
margin-bottom: 5vw;
}
}
/* ==== Pantallas muy pequeñas ==== */
@media (max-width: 350px) {
#game-container {
max-width: 93vw;
gap: 3vw;
padding: 1vw;
border-radius: 10vw;
}
.color-btn {
border-radius: 8vw;
}
#start-btn {
padding: 0.8em 3vw;
border-radius: 8vw;
font-size: clamp(0.9em, 13vw, 1.1em);
}
}