html, body { height: 100%; margin: 0; padding: 0; }
body {
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(-45deg, #0f2027, #203a43, #2c5364, #1c1c3c);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
}
@keyframes gradientBG { 0% {background-position:0% 50%;} 50% {background-position:100% 50%;} 100% {background-position:0% 50%;} }

#gameContainer { text-align:center; background: rgba(0,0,0,0.7); padding:20px 30px; border-radius:20px; box-shadow:0 10px 20px rgba(0,0,0,0.5); max-width:320px; width:90%; color:#fff; }
h1 { font-family:'Orbitron', sans-serif; font-size:48px; background: linear-gradient(90deg, #00c6ff, #0072ff, #001f3f); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:20px; animation:glow 2s ease-in-out infinite alternate; }
@keyframes glow {0%{text-shadow:0 0 5px #00f;}100%{text-shadow:0 0 20px #0ff;}}

#timer { font-size:60px; margin-bottom:20px; transition:color 0.2s, transform 0.2s; }
#message { font-size:1.5rem; margin-top:20px; height:40px; transition: all 0.3s ease; }
#score { font-size:1.5rem; margin-top:10px; }
#progressBarContainer { width:100%; height:20px; background-color:#444; margin:10px auto; border-radius:10px; overflow:hidden; }
#progressBar { width:0%; height:100%; background-color:#4CAF50; transition: width 0.3s; }
button { font-size:1.25rem; padding:12px 30px; cursor:pointer; border:none; border-radius:8px; background-color:#4CAF50; color:white; margin-top:10px; width:60%; transition:transform 0.1s; }
button:active { transform: scale(0.95); }
@keyframes shake {0%{transform:translateX(0);}25%{transform:translateX(-5px);}50%{transform:translateX(5px);}75%{transform:translateX(-5px);}100%{transform:translateX(0);}}
.shake { animation: shake 0.3s; }
.confetti { position:absolute; width:10px; height:10px; opacity:0.9; animation: confetti-fall 1s linear forwards; }
@keyframes confetti-fall {0%{transform:translateY(0) rotate(0deg);}100%{transform:translateY(600px) rotate(360deg); opacity:0;}}
.pop { transform:scale(1.5); }
.slowTime { transition: all 0.2s linear; transform: scale(0.95); }



.info-card {
    max-width: 320px;
    margin: 16px auto 0;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    line-height: 1.6;
}

.info-card h2 {
    margin: 0 0 8px;
    font-family: 'Orbitron', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.info-card h2::before {
    content: "⚡";
    font-size: 1.1rem;
    transform: translateY(-1px);
}

.info-card p {
    margin: 0 0 10px;
    font-size: 0.98rem;
    opacity: 0.95;
}

.info-list {
    margin: 0 0 8px 0;
    padding: 0;
    list-style: none;
}

.info-list li {
    position: relative;
    padding-left: 22px;
    margin: 6px 0;
    font-size: 0.95rem;
}

.info-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: currentColor;
    opacity: 0.55;
}

.info-tips {
    margin-top: 6px;
}

.info-tips > summary {
    cursor: pointer;
    user-select: none;
    font-weight: 600;
    font-size: 0.95rem;
    outline: none;
}

.info-tips > summary::-webkit-details-marker {
    display: none;
}

.info-tips > summary::before {
    content: "▸";
    display: inline-block;
    margin-right: 8px;
    transition: transform 0.2s ease;
}

.info-tips[open] > summary::before {
    transform: rotate(90deg);
}

.info-tips ul {
    margin: 8px 0 0 18px;
    padding-left: 8px;
    opacity: 0.9;
    font-size: 0.93rem;
}

@media (max-width: 480px) {
    .info-card { padding: 16px 14px; }
    .info-card h2 { font-size: 1rem; }
    .info-card p, .info-list li { font-size: 0.95rem; }
}