130 lines
No EOL
2.1 KiB
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;
|
|
} |