nexus-ai-bot / style.css
TopBoss's picture
now fix the full website and make it look nice, follow the rules
bbcee86 verified
@import url('https://fonts.googleapis.com/css2?family=Hagrid:wght@400;500;600;700&display=swap');
:root {
--primary: #D58A60;
--surface: #FFFFFF;
--background: #FFFFFF;
--text-main: #171717;
--text-muted: #737373;
}
body {
font-family: 'Hagrid', 'Plus Jakarta Sans', sans-serif;
background-color: var(--background);
color: var(--text-main);
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: #E5E5E5;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #D4D4D4;
}
/* MacOS Window 3D Effect */
.perspective-container {
perspective: 1500px;
}
.mac-window {
transform: rotateY(-8deg) rotateX(4deg);
transition: transform 0.15s cubic-bezier(0.2, 0, 0.2, 1);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1),
0 0 0 1px rgba(255, 255, 255, 0.5) inset;
background: rgba(255, 255, 255, 0.7);
}
.mac-window:hover {
transform: rotateY(-4deg) rotateX(2deg) scale(1.01);
}
/* Chat Styles */
.chat-container {
scrollbar-width: thin;
scrollbar-color: #E5E5E5 transparent;
}
.chat-container::-webkit-scrollbar {
width: 4px;
}
.chat-container::-webkit-scrollbar-thumb {
background-color: #E5E5E5;
border-radius: 4px;
}
.chat-bubble {
max-width: 85%;
padding: 14px 18px;
border-radius: 20px;
font-size: 0.95rem;
line-height: 1.5;
margin-bottom: 12px;
opacity: 0;
transform: translateY(15px);
animation: slideUp 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}
.chat-bubble.bot {
background: linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%);
color: #1F2937;
border-bottom-left-radius: 6px;
border: 1px solid rgba(0,0,0,0.04);
}
.chat-bubble.customer {
background: linear-gradient(135deg, #171717 0%, #262626 100%);
color: #FFFFFF;
margin-left: auto;
border-bottom-right-radius: 6px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(15px) scale(0.98);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
/* Typing Indicator */
.typing-indicator {
display: flex;
gap: 5px;
padding: 14px 18px;
background: linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%);
border-radius: 20px;
border-bottom-left-radius: 6px;
width: fit-content;
border: 1px solid rgba(0,0,0,0.04);
}
.dot {
width: 6px;
height: 6px;
background: #9CA3AF;
border-radius: 50%;
animation: bounce 1.4s infinite ease-in-out both;
}
.dot:nth-child(1) { animation-delay: -0.32s; }
.dot:nth-child(2) { animation-delay: -0.16s; }
@keyframes bounce {
0%, 80%, 100% {
transform: scale(0);
opacity: 0.5;
}
40% {
transform: scale(1);
opacity: 1;
}
}
/* Header Nav Expansion Animation (Fallback if CSS preferred) */
.nav-link {
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
white-space: nowrap;
transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease;
}
.nav-link span.label {
opacity: 0;
transition: opacity 0.3s ease;
width: 0;
}
.nav-link:hover {
background-color: #F5F5F5;
}
.nav-link:hover span.label {
opacity: 1;
width: auto;
margin-left: 8px;
}
/* Utility Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fade-in-up {
animation: fadeInUp 0.8s ease-out forwards;
}
/* Accordion */
.accordion-content {
transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
max-height: 0;
overflow: hidden;
opacity: 0;
}
.accordion-content.open {
opacity: 1;
}