| |
| |
| |
| |
|
|
| |
| :root { |
| |
| --bg-0: #07070c; |
| --bg-1: #0a0a12; |
| --bg-2: #0d0d16; |
| --panel: #111120; |
| --panel-2: #16162a; |
| --panel-3: #1c1c36; |
| --elevated: #1f1f38; |
| --hover: rgba(255, 255, 255, .04); |
| --hover-2: rgba(255, 255, 255, .07); |
|
|
| |
| --border: rgba(255, 255, 255, .06); |
| --border-2: rgba(255, 255, 255, .10); |
| --border-3: rgba(255, 255, 255, .16); |
|
|
| |
| --text: #ececf1; |
| --text-2: #b4b4c4; |
| --text-mute: #7a7a8c; |
| --text-dim: #565669; |
|
|
| |
| --purple: #7c3aed; |
| --purple-light: #a78bfa; |
| --blue: #2563eb; |
| --blue-light: #60a5fa; |
| --grad: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%); |
| --grad-soft: linear-gradient(135deg, rgba(124, 58, 237, .15) 0%, rgba(37, 99, 235, .15) 100%); |
| --grad-glow: linear-gradient(135deg, rgba(124, 58, 237, .55) 0%, rgba(37, 99, 235, .55) 100%); |
|
|
| |
| --ok: #10b981; |
| --warn: #f59e0b; |
| --err: #ef4444; |
| --info: #3b82f6; |
|
|
| |
| --c-keyword: #a78bfa; |
| --c-string: #34d399; |
| --c-number: #fbbf24; |
| --c-comment: #6a6a85; |
| --c-function: #60a5fa; |
| --c-tag: #f87171; |
| --c-attr: #fbbf24; |
| --c-operator: #5eead4; |
|
|
| |
| --r-xs: 4px; |
| --r-sm: 6px; |
| --r-md: 10px; |
| --r-lg: 14px; |
| --r-xl: 18px; |
| --r-2xl: 24px; |
|
|
| --sidebar-w: 260px; |
| --header-h: 48px; |
|
|
| |
| --ease: cubic-bezier(.16, 1, .3, 1); |
| --ease-2: cubic-bezier(.4, 0, .2, 1); |
| --ease-spring: cubic-bezier(.34, 1.56, .64, 1); |
|
|
| |
| --sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; |
| --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace; |
| } |
|
|
| |
| *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } |
| html, body, #root { height: 100%; } |
| body { |
| font-family: var(--sans); |
| font-size: 13px; |
| line-height: 1.5; |
| color: var(--text); |
| background: var(--bg-0); |
| overflow: hidden; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
| button, input, textarea, select { |
| font: inherit; |
| color: inherit; |
| background: none; |
| border: 0; |
| outline: 0; |
| } |
| button { cursor: pointer; } |
| a { color: inherit; text-decoration: none; } |
| img, svg { display: block; } |
|
|
| |
| ::-webkit-scrollbar { width: 8px; height: 8px; } |
| ::-webkit-scrollbar-track { background: transparent; } |
| ::-webkit-scrollbar-thumb { |
| background: rgba(255, 255, 255, .06); |
| border-radius: 999px; |
| border: 2px solid transparent; |
| background-clip: content-box; |
| } |
| ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .12); background-clip: content-box; } |
| * { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .08) transparent; } |
| ::selection { background: rgba(124, 58, 237, .35); color: #fff; } |
|
|
| |
| .grad-text { |
| background: var(--grad); |
| -webkit-background-clip: text; |
| background-clip: text; |
| color: transparent; |
| } |
|
|
| |
| @keyframes fadeIn { |
| from { opacity: 0; transform: translateY(6px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| @keyframes fadeInLeft { |
| from { opacity: 0; transform: translateX(-8px); } |
| to { opacity: 1; transform: translateX(0); } |
| } |
| @keyframes fadeInScale { |
| from { opacity: 0; transform: scale(.96); } |
| to { opacity: 1; transform: scale(1); } |
| } |
| @keyframes slideUp { |
| from { opacity: 0; transform: translateY(16px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| @keyframes pulse { |
| 0%, 100% { opacity: 1; } |
| 50% { opacity: .4; } |
| } |
| @keyframes spin { |
| to { transform: rotate(360deg); } |
| } |
| @keyframes shimmer { |
| 0% { background-position: -200% 0; } |
| 100% { background-position: 200% 0; } |
| } |
| @keyframes typewriter-cursor { |
| 0%, 100% { opacity: 1; } |
| 50% { opacity: 0; } |
| } |
| @keyframes glow-pulse { |
| 0%, 100% { box-shadow: 0 0 20px rgba(124, 58, 237, .2); } |
| 50% { box-shadow: 0 0 40px rgba(124, 58, 237, .4); } |
| } |
| @keyframes line-appear { |
| from { opacity: 0; transform: translateX(-4px); } |
| to { opacity: 1; transform: translateX(0); } |
| } |
| @keyframes float { |
| 0%, 100% { transform: translateY(0); } |
| 50% { transform: translateY(-8px); } |
| } |
| @keyframes drift-1 { |
| to { transform: translate(80px, 60px) scale(1.1); } |
| } |
| @keyframes drift-2 { |
| to { transform: translate(-60px, -80px) scale(1.15); } |
| } |
| @keyframes pop-in { |
| from { opacity: 0; transform: scale(.92) translateY(8px); } |
| to { opacity: 1; transform: scale(1) translateY(0); } |
| } |
| @keyframes toast-in { |
| from { opacity: 0; transform: translateX(20px); } |
| to { opacity: 1; transform: translateX(0); } |
| } |
| @keyframes toast-out { |
| to { opacity: 0; transform: translateX(20px); } |
| } |
|
|
| |
| @media (prefers-reduced-motion: reduce) { |
| *, *::before, *::after { |
| animation-duration: .01ms !important; |
| transition-duration: .01ms !important; |
| } |
| } |
|
|