36282-vm/staticfiles/css/custom.css
2025-11-25 16:20:11 +00:00

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);
}
}