/* custom.css */ html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; /* Prevents the body from scrolling */ } body { font-family: 'Roboto', sans-serif; background-color: #121212; color: #FFFFFF; } .hero-section { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; /* Changed from min-height to height */ padding: 20px; box-sizing: border-box; text-align: center; background: linear-gradient(rgba(18, 18, 18, 0.8), rgba(18, 18, 18, 0.8)), url('https://images.unsplash.com/photo-1511379938547-c1f69419868d?q=80&w=2070&auto=format&fit=crop'); background-size: cover; background-position: center; } .hero-title { font-family: 'Poppins', sans-serif; font-size: 2.5rem; /* Adjusted for a more balanced look */ font-weight: 600; margin-bottom: 10px; } .hero-subtitle { font-size: 1rem; /* Adjusted for a more balanced look */ margin-bottom: 20px; } .chat-container { width: 100%; max-width: 600px; background-color: #181818; border-radius: 15px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; /* Let the container take up available space, but not exceed the screen height */ flex-grow: 1; max-height: calc(100vh - 180px); /* Adjust 180px based on title/subtitle height */ } .chat-box { flex-grow: 1; /* This makes the chat box fill the available space */ overflow-y: auto; padding: 20px; padding-right: 10px; } .chat-message { padding: 12px; border-radius: 10px; margin-bottom: 12px; max-width: 85%; word-wrap: break-word; display: flex; /* Use flexbox for alignment */ } .ai-message { background-color: #282828; color: #FFFFFF; align-self: flex-start; } .user-message { background: linear-gradient(to right, #1DB954, #1ED760); color: #FFFFFF; margin-left: auto; align-self: flex-end; /* Align user messages to the right */ } .chat-input-form { display: flex; padding: 20px; border-top: 1px solid #282828; } .chat-input { flex-grow: 1; padding: 12px; border-radius: 25px; border: none; background-color: #282828; color: #FFFFFF; } .chat-input:focus { outline: none; box-shadow: 0 0 0 2px #1DB954; } .send-button { padding: 12px 20px; border-radius: 25px; border: none; background: linear-gradient(to right, #1DB954, #1ED760); color: #FFFFFF; margin-left: 10px; cursor: pointer; font-weight: 500; } .spotify-embed { margin-top: 15px; } /* Responsive adjustments */ @media (max-width: 768px) { .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 0.9rem; } .chat-container { max-height: calc(100vh - 150px); /* Adjust for smaller screens */ } .chat-box { padding: 15px; } .chat-input-form { padding: 15px; } } .playlist-container { width: 100%; max-width: 600px; margin-top: 20px; background-color: #181818; border-radius: 15px; padding: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); } .playlist-title { font-family: 'Poppins', sans-serif; font-size: 1.5rem; font-weight: 600; margin-bottom: 15px; text-align: center; } .playlist { list-style: none; padding: 0; margin: 0; } .playlist-item { padding: 10px 0; border-bottom: 1px solid #282828; display: flex; justify-content: space-between; align-items: center; } .playlist-item:last-child { border-bottom: none; } .song-title { font-weight: 500; } .song-artist { color: #B3B3B3; } .typing-indicator span { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: #B3B3B3; margin: 0 2px; animation: typing 1s infinite; } .typing-indicator span:nth-child(2) { animation-delay: 0.2s; } .typing-indicator span:nth-child(3) { animation-delay: 0.4s; } @keyframes typing { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }