kv-app/app/globals.css

130 lines
No EOL
2.1 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--color-primary: #6366f1;
--color-secondary: #8b5cf6;
--color-accent: #22d3ee;
--color-background: #0f172a;
--color-surface: #1e293b;
--color-text: #f8fafc;
--color-text-muted: #94a3b8;
--color-success: #22c55e;
--color-warning: #f59e0b;
--color-error: #ef4444;
}
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
html,
body {
max-width: 100vw;
overflow-x: hidden;
background-color: var(--color-background);
color: var(--color-text);
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
}
a {
color: inherit;
text-decoration: none;
}
/* Custom scrollbar */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: var(--color-surface);
}
::-webkit-scrollbar-thumb {
background: var(--color-text-muted);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
}
/* React Flow custom styles */
.react-flow__node {
border-radius: 12px;
border: 1px solid #334155;
background: var(--color-surface);
}
.react-flow__edge-path {
stroke: var(--color-primary);
stroke-width: 2;
}
.react-flow__controls {
background: var(--color-surface);
border: 1px solid #334155;
border-radius: 8px;
}
.react-flow__controls-button {
background: var(--color-surface);
border-color: #334155;
color: var(--color-text);
}
.react-flow__controls-button:hover {
background: var(--color-primary);
}
/* Animation keyframes */
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.animate-fade-in {
animation: fadeIn 0.3s ease-in-out;
}
.animate-slide-up {
animation: slideUp 0.3s ease-out;
}
.animate-pulse {
animation: pulse 2s infinite;
}