neural-nexus-ai / style.css
nixaut-codelabs's picture
The sidebar goes inside the chat section of the site. Fix it to the left so that it doesn't conflict with the chat section.
f6543dc verified
raw
history blame
4.44 kB
/* Global Styles */
body {
font-family: 'Inter', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: #0a0a0a;
}
/* Scrollbar Styling */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #18181b;
}
::-webkit-scrollbar-thumb {
background: #525252;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #71717a;
}
/* Glassmorphism Effects */
.glass {
background: rgba(17, 24, 39, 0.7);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Hover Effects */
.hover-lift {
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-lift:hover {
transform: translateY(-2px);
box-shadow: 0 10px 40px rgba(255, 255, 255, 0.1);
}
/* Animations */
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
@keyframes slideIn {
from {
opacity: 0;
transform: translateX(-20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.pulse-animation {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.float-animation {
animation: float 3s ease-in-out infinite;
}
/* Markdown Styling */
.markdown h1 { @apply text-lg font-bold text-white mb-2 mt-3; }
.markdown h2 { @apply text-base font-semibold text-white mb-2 mt-2; }
.markdown h3 { @apply text-sm font-medium text-white mb-1 mt-2; }
.markdown p { @apply text-zinc-200 mb-2 leading-relaxed; }
.markdown code { @apply bg-zinc-700 px-1 py-0.5 rounded text-xs text-green-400; }
.markdown pre {
@apply bg-zinc-900 rounded p-2 overflow-x-auto mb-2 text-xs;
font-family: 'Courier New', monospace;
}
.markdown pre code { @apply bg-transparent text-zinc-300; }
.markdown ul { @apply list-disc list-inside text-zinc-200 mb-2 space-y-1 text-sm; }
.markdown ol { @apply list-decimal list-inside text-zinc-200 mb-2 space-y-1 text-sm; }
.markdown blockquote {
@apply border-l-2 border-zinc-600 pl-3 italic text-zinc-400 mb-2 text-sm;
}
.markdown a { @apply text-white underline hover:text-zinc-300 text-sm; }
.markdown table {
@apply w-full border-collapse mb-2 text-sm;
}
.markdown th {
@apply border border-zinc-700 px-2 py-1 bg-zinc-900 text-left text-sm;
}
.markdown td {
@apply border border-zinc-700 px-2 py-1 text-zinc-300 text-sm;
}
/* Transition Classes */
.transition-all {
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms;
}
/* Utility Classes */
.text-shadow {
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.border-glow {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1),
0 0 20px rgba(255, 255, 255, 0.05);
}
/* Model Dropdown Styles */
#modelDropdownMenu {
max-height: 300px;
overflow-y: auto;
}
#modelDropdownMenu::-webkit-scrollbar {
width: 4px;
}
#modelDropdownMenu::-webkit-scrollbar-track {
background: transparent;
}
#modelDropdownMenu::-webkit-scrollbar-thumb {
background: #525252;
border-radius: 2px;
}
.model-dot {
width: 8px;
height: 8px;
border-radius: 50%;
display: inline-block;
}
.model-dot.white { background: #ffffff; }
.model-dot.zinc-300 { background: #d4d4d8; }
.model-dot.zinc-400 { background: #a1a1aa; }
.model-dot.zinc-500 { background: #71717a; }
/* Main content area */
main {
flex: 1;
display: flex;
flex-direction: column;
background: #09090b;
position: relative;
overflow: hidden;
max-height: 100vh;
}
/* Desktop layout - fixed sidebar */
@media (min-width: 769px) {
main {
margin-left: 260px;
width: calc(100% - 260px);
}
}
/* Ensure main content accounts for fixed sidebar */
main {
transition: margin-left 0.3s ease;
}
/* Sidebar Transitions */
.sidebar {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar * {
transition-property: background, border-color, transform, box-shadow;
transition-duration: 0.2s;
transition-timing-function: ease;
}
/* Loading Skeleton */
.skeleton {
background: linear-gradient(90deg, #18181b 25%, #27272a 50%, #18181b 75%);
background-size: 200% 100%;
animation: loading 1.5s infinite;
}
@keyframes loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}