211 lines
4.1 KiB
CSS
211 lines
4.1 KiB
CSS
/* 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);
|
|
}
|
|
}
|