.page { position: relative; width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #000; z-index: 2; } /* ── Layer 5: Content ── */ .content { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; text-align: center; animation: fadeUp 1.2s ease-out both; } @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .logo { width: 80px; height: 80px; margin-bottom: 28px; filter: drop-shadow(0 0 40px rgba(126, 220, 200, 0.25)); animation: fadeUp 1.2s ease-out 0.1s both; } .title { font-family: 'Space Grotesk', sans-serif; font-size: 48px; font-weight: 300; color: #f1f0ff; letter-spacing: 0.1em; margin-bottom: 12px; line-height: 1.1; animation: fadeUp 1.2s ease-out 0.2s both; } .tagline { font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 300; color: rgba(255, 255, 255, 0.5); letter-spacing: 0.15em; margin-bottom: 48px; animation: fadeUp 1.2s ease-out 0.3s both; } /* ── Buttons ── */ .actions { display: flex; gap: 24px; align-items: flex-start; animation: fadeUp 1.2s ease-out 0.4s both; } .btnGroup { display: flex; flex-direction: column; align-items: center; gap: 8px; } .btnPrimary, .btnGhost { display: flex; align-items: center; justify-content: center; padding: 14px 32px; border-radius: 10px; cursor: pointer; transition: all 0.3s; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .btnPrimary { background: rgba(120, 220, 200, 0.12); border: 1px solid rgba(120, 220, 200, 0.3); } .btnPrimary .btnName { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 500; color: #7edcc8; } .btnPrimary:hover { background: rgba(120, 220, 200, 0.22); box-shadow: 0 0 30px rgba(120, 220, 200, 0.15); } .btnGhost { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); } .btnGhost .btnName { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, 0.7); } .btnGhost:hover { background: rgba(255, 255, 255, 0.1); } .btnGhost:hover .btnName { color: rgba(255, 255, 255, 0.9); } /* Sub-text below buttons */ .btnSub { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 300; color: rgba(120, 220, 200, 0.5); } .btnSubGhost { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 300; color: rgba(255, 255, 255, 0.35); } /* ── Easter egg ── */ .easter { position: absolute; bottom: 36px; left: 0; right: 0; z-index: 10; font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 300; font-style: italic; color: rgba(255, 255, 255, 0.06); letter-spacing: 0.05em; cursor: default; transition: color 2s ease; white-space: nowrap; text-align: center; animation: fadeUp 1.2s ease-out 0.8s both; } .easter:hover { color: rgba(255, 255, 255, 0.25); } /* ── Air Spark full-screen overlay ── */ .sparkOverlay { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; cursor: pointer; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); animation: sparkBgIn 0.5s ease-out both; } @keyframes sparkBgIn { from { backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px); background: rgba(0, 0, 0, 0); } to { backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); background: rgba(0, 0, 0, 0.5); } } .sparkContent { display: flex; flex-direction: column; align-items: center; animation: sparkTextIn 0.4s ease-out 0.1s both; } @keyframes sparkTextIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } .sparkTitle { font-family: 'Space Grotesk', sans-serif; font-size: clamp(40px, 5vw, 64px); font-weight: 300; color: #ffffff; line-height: 1.2; text-align: center; } .sparkEmoji { font-size: 0.6em; vertical-align: baseline; } .sparkSub { font-family: 'Space Grotesk', sans-serif; font-size: 16px; font-weight: 300; color: rgba(255, 255, 255, 0.5); margin-top: 20px; } /* ── Music button — bottom right ── */ .musicBtn { position: absolute; bottom: 25px; right: 32px; z-index: 10; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0; background: none; border: none; outline: none; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; color: rgba(255, 255, 255, 0.2); cursor: pointer; transition: color 0.3s; animation: fadeUp 1.2s ease-out 0.8s both; } .musicBtn:hover { color: rgba(255, 255, 255, 0.5); } /* ── Responsive ── */ @media (max-width: 768px) { .logo { width: 60px; height: 60px; } .title { font-size: 32px; } .tagline { font-size: 12px; margin-bottom: 36px; } .actions { flex-direction: column; gap: 16px; } .btnPrimary, .btnGhost { min-width: 200px; } .easter { font-size: 11px; bottom: 24px; } .musicBtn { bottom: 24px; right: 20px; } } @media (prefers-reduced-motion: reduce) { .content, .logo, .title, .tagline, .actions, .easter, .sparkOverlay, .sparkContent, .musicBtn { animation: none !important; opacity: 1 !important; transform: none !important; } }