Arrakis / src /index.css
Trxon's picture
Added changes
8f67306
Raw
History Blame Contribute Delete
5.94 kB
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
/* Glassmorphic Apple-inspired palette */
--background: 220 20% 10%;
--foreground: 210 40% 98%;
--card: 220 15% 15%;
--card-foreground: 210 40% 98%;
--popover: 220 15% 12%;
--popover-foreground: 210 40% 98%;
--primary: 210 100% 60%;
--primary-foreground: 222.2 47.4% 11.2%;
--secondary: 220 15% 20%;
--secondary-foreground: 210 40% 98%;
--muted: 220 15% 18%;
--muted-foreground: 215 20% 55%;
--accent: 220 15% 22%;
--accent-foreground: 210 40% 98%;
--destructive: 0 84% 60%;
--destructive-foreground: 210 40% 98%;
--border: 220 15% 20%;
--input: 220 15% 15%;
--ring: 210 100% 60%;
--radius: 1rem;
/* Glass effects */
--glass: 220 15% 12% / 0.6;
--glass-border: 220 15% 25% / 0.5;
--glass-highlight: 210 100% 98% / 0.05;
--glow: 210 100% 60%;
--glow-soft: 210 100% 60% / 0.15;
/* Sidebar */
--sidebar-background: 220 20% 8%;
--sidebar-foreground: 210 40% 98%;
--sidebar-primary: 210 100% 60%;
--sidebar-primary-foreground: 210 40% 98%;
--sidebar-accent: 220 15% 15%;
--sidebar-accent-foreground: 210 40% 98%;
--sidebar-border: 220 15% 15%;
--sidebar-ring: 210 100% 60%;
/* Provider colors */
--ollama: 148 60% 45%;
--openai: 0 0% 100%;
}
.light {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;
--popover: 0 0% 100%;
--popover-foreground: 222.2 84% 4.9%;
--primary: 210 100% 50%;
--primary-foreground: 210 40% 98%;
--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;
--muted: 210 40% 96.1%;
--muted-foreground: 215.4 16.3% 46.9%;
--accent: 210 40% 96.1%;
--accent-foreground: 222.2 47.4% 11.2%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;
--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--ring: 210 100% 50%;
--glass: 0 0% 100% / 0.7;
--glass-border: 0 0% 0% / 0.1;
--glass-highlight: 0 0% 100% / 0.5;
--sidebar-background: 0 0% 98%;
--sidebar-foreground: 222.2 84% 4.9%;
--sidebar-primary: 210 100% 50%;
--sidebar-primary-foreground: 210 40% 98%;
--sidebar-accent: 210 40% 96.1%;
--sidebar-accent-foreground: 222.2 47.4% 11.2%;
--sidebar-border: 214.3 31.8% 91.4%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground font-sans antialiased;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
}
/* Custom scrollbar */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: hsl(var(--muted));
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: hsl(var(--muted-foreground));
}
}
@layer utilities {
/* Glassmorphism */
.glass {
background: hsl(var(--glass));
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border: 1px solid hsl(var(--glass-border));
}
.glass-subtle {
background: hsl(var(--glass));
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
}
.glass-card {
background: linear-gradient(
135deg,
hsl(var(--glass)) 0%,
hsl(var(--card) / 0.8) 100%
);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid hsl(var(--glass-border));
box-shadow:
0 4px 24px -4px hsl(0 0% 0% / 0.3),
inset 0 1px 0 0 hsl(var(--glass-highlight));
}
.glass-sidebar {
background: linear-gradient(
180deg,
hsl(var(--sidebar-background) / 0.95) 0%,
hsl(var(--sidebar-background) / 0.85) 100%
);
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(30px);
}
/* Glow effects */
.glow {
box-shadow:
0 0 20px hsl(var(--glow) / 0.3),
0 0 40px hsl(var(--glow) / 0.2);
}
.glow-sm {
box-shadow: 0 0 10px hsl(var(--glow) / 0.2);
}
.text-glow {
text-shadow: 0 0 20px hsl(var(--glow) / 0.5);
}
/* Animations */
@keyframes voice-wave {
0%, 100% {
transform: scaleY(0.5);
}
50% {
transform: scaleY(1);
}
}
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 5px hsl(var(--destructive) / 0.5);
}
50% {
box-shadow: 0 0 20px hsl(var(--destructive) / 0.8);
}
}
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
.animate-voice-wave {
animation: voice-wave 0.5s ease-in-out infinite;
}
.animate-pulse-glow {
animation: pulse-glow 2s ease-in-out infinite;
}
.animate-shimmer {
animation: shimmer 2s linear infinite;
background: linear-gradient(
90deg,
transparent 0%,
hsl(var(--glass-highlight)) 50%,
transparent 100%
);
background-size: 200% 100%;
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
/* Provider badges */
.provider-ollama {
background: hsl(var(--ollama) / 0.15);
border-color: hsl(var(--ollama) / 0.3);
color: hsl(var(--ollama));
}
.provider-openai {
background: hsl(var(--openai) / 0.1);
border-color: hsl(var(--openai) / 0.2);
color: hsl(var(--openai));
}
/* Hover transitions */
.hover-lift {
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-lift:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px -8px hsl(0 0% 0% / 0.4);
}
}