/* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Arial', sans-serif; background-color: #000; color: #fff; overflow: hidden; height: 100vh; } /* Main container */ .container { display: flex; flex-direction: column; height: 100vh; width: 100vw; } /* Image container with overlay */ .image-container { position: relative; flex: 1; width: 100%; height: 100%; overflow: hidden; cursor: pointer; } .space-image { width: 100%; height: 100%; object-fit: cover; display: block; } .fact-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)); padding: 20px; transform: translateY(0); transition: transform 0.3s ease; pointer-events: none; /* Allow clicks to pass through to image */ } .fact-overlay.hidden { transform: translateY(100%); } #factTitle { font-size: 1.5rem; margin-bottom: 10px; text-align: center; color: white; } #factDescription { font-size: 1rem; line-height: 1.4; text-align: center; color: white; } /* Controls */ .controls { display: flex; justify-content: center; align-items: center; padding: 20px; background-color: rgba(0, 0, 0, 0.7); gap: 20px; z-index: 10; } button { background-color: #333; color: white; border: none; padding: 12px 24px; font-size: 1rem; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; pointer-events: auto; /* Allow button clicks */ } button:hover { background-color: #555; } /* Mobile optimization */ @media (max-width: 768px) { #factTitle { font-size: 1.2rem; } #factDescription { font-size: 0.9rem; } button { padding: 10px 20px; font-size: 0.9rem; } } @media (max-width: 480px) { .controls { flex-direction: column; gap: 10px; } #factTitle { font-size: 1rem; } #factDescription { font-size: 0.8rem; } }