@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; background: #000000; color: #ffffff; min-height: 100vh; display: flex; align-items: center; justify-content: center; } .container { max-width: 800px; margin: 0 auto; padding: 2rem; text-align: center; } .title { font-size: 3rem; font-weight: 700; margin-bottom: 0.5rem; letter-spacing: -0.02em; opacity: 0; transform: translateY(30px); } .subtitle { font-size: 1.1rem; margin-bottom: 3rem; color: #888888; font-weight: 400; opacity: 0; transform: translateY(30px); } .countdown-section { opacity: 0; transform: translateY(30px); } .countdown-section h2 { font-size: 1.2rem; margin-bottom: 2rem; color: #cccccc; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; } .countdown { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 3rem; flex-wrap: wrap; } .time-unit { display: flex; flex-direction: column; align-items: center; padding: 1.5rem 1rem; min-width: 90px; } .number { font-size: 2.5rem; font-weight: 600; line-height: 1; margin-bottom: 0.5rem; } .label { font-size: 0.75rem; color: #888888; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; } .voting-section { margin: 3rem 0; opacity: 0; transform: translateY(30px); } .voting-section h3 { font-size: 1.3rem; margin-bottom: 1.5rem; color: #ffffff; font-weight: 500; } .vote-btn { background: #ffffff; color: #000000; border: none; padding: 1rem 2rem; font-size: 1rem; font-family: 'Inter', sans-serif; font-weight: 600; border-radius: 6px; cursor: pointer; transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 0.05em; } .vote-btn:hover { background: #f0f0f0; transform: translateY(-4px); } .vote-btn:active { transform: translateY(0); } .vote-btn:disabled { background: #333333; color: #888888; cursor: not-allowed; transform: none; } .vote-btn.thankyou { background: #ffffff; color: #000000; cursor: not-allowed; transform: none; } .vote-btn.thankyou:hover { background: #ffffff; color: #000000; transform: none; } .vote-stats { margin-top: 1.5rem; } .vote-stats p { font-size: 1rem; color: #cccccc; font-weight: 500; } .vote-stats span { color: #ffffff; font-weight: 600; } /* Footer Styles */ .footer { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); font-size: 0.9rem; font-family: 'JetBrains Mono', 'Courier New', monospace; font-weight: 400; color: rgba(255, 255, 255, 0.85); opacity: 0; letter-spacing: 0.5px; } .heart { background: linear-gradient(90deg, #ff69b4, #ff1493, #ff69b4, orchid); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 500; text-shadow: 0 0 12px rgba(255, 20, 147, 0.6); animation: heartBeat 2.5s ease-in-out infinite, pinkShift 6s linear infinite; } .fantasy { background: linear-gradient(90deg, #ff69b4, #d642ff, #ff69b4, #9c27b0); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 600; text-shadow: 0 0 12px rgba(255, 105, 180, 0.6); animation: rainbowShift 6s linear infinite; } body.intro-start .title { animation: elementIntro 1s ease-out 0.4s forwards; } body.intro-start .subtitle { animation: elementIntro 1s ease-out 0.5s forwards; } body.intro-start .countdown-section { animation: elementIntro 1s ease-out 1s forwards; } body.intro-start .voting-section { animation: elementIntro 1s ease-out 1.6s forwards; } body.intro-start .footer { animation: footerIntro 1s ease-out 4s forwards; } @keyframes elementIntro { to { opacity: 1; transform: translateY(0); } } @keyframes footerIntro { to { opacity: 1; } } @keyframes rainbowShift { 0% { background-position: 0 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0 50%; } } @keyframes pinkShift { 0% { background-position: 0 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0 50%; } } @keyframes heartBeat { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } } @media (max-width: 600px) { .container { padding: 1.5rem; } .title { font-size: 2.5rem; } .countdown { gap: 1rem; } .time-unit { min-width: 75px; padding: 1.25rem 0.75rem; } .number { font-size: 2rem; } .vote-btn { padding: 0.875rem 1.5rem; font-size: 0.9rem; } .footer { font-size: 0.8rem; } }