* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Arial', sans-serif; background-color: #f0f8ff; color: #333; min-height: 100vh; display: flex; justify-content: center; align-items: center; position: relative; overflow: hidden; } #fireworks-canvas { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; display: none; } .fireworks-active #fireworks-canvas { display: block; } .fireworks-active { background-color: #000; } .fireworks-active .container { background-color: rgba(255, 255, 255, 0.8); } .fireworks-active #expired-message { color: #ff3b00; text-shadow: 0 0 10px rgba(255, 59, 0, 0.5); } .container { text-align: center; padding: 2rem; background-color: white; border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); max-width: 800px; width: 90%; z-index: 1; } h1 { margin-bottom: 2rem; color: #2c3e50; font-size: 2.5rem; } .countdown { display: flex; justify-content: center; align-items: center; margin: 2rem 0; } .time-section { display: flex; flex-direction: column; align-items: center; margin: 0 0.5rem; } .time-value { font-size: 3.5rem; font-weight: bold; background-color: #2c3e50; color: white; border-radius: 8px; padding: 0.5rem 1rem; min-width: 120px; } .time-label { margin-top: 0.5rem; font-size: 1rem; text-transform: uppercase; letter-spacing: 1px; color: #7f8c8d; } .separator { font-size: 3.5rem; font-weight: bold; color: #2c3e50; margin: 0 0.25rem; align-self: flex-start; padding-top: 0.5rem; } #expired-message { font-size: 2rem; font-weight: bold; color: #e74c3c; margin: 2rem 0; } .hidden { display: none; } .target-date-container { font-size: 1.2rem; color: #7f8c8d; margin-top: 2rem; } #target-date { font-weight: bold; color: #3498db; } @media (max-width: 768px) { .countdown { flex-wrap: wrap; } h1 { font-size: 1.8rem; margin-bottom: 1.5rem; } .time-value { font-size: 2rem; min-width: 70px; padding: 0.4rem 0.7rem; } .separator { font-size: 2rem; } .time-section { margin: 0.3rem; } .time-label { font-size: 0.8rem; } #expired-message { font-size: 1.5rem; } .target-date-container { font-size: 1rem; } .container { padding: 1.5rem; width: 95%; } } @media (max-width: 480px) { h1 { font-size: 1.5rem; } .time-value { font-size: 1.6rem; min-width: 60px; padding: 0.3rem 0.5rem; } .separator { font-size: 1.6rem; margin: 0 0.1rem; } .time-section { margin: 0.2rem; } .time-label { font-size: 0.7rem; margin-top: 0.3rem; } }