| |
|
|
| :root { |
| --color-cyan-400: #22d3ee; |
| --color-cyan-500: #06b6d4; |
| --color-cyan-600: #0891b2; |
| --color-cyan-700: #0e7490; |
| --color-purple-400: #c084fc; |
| --color-purple-500: #a855f7; |
| --color-orange-400: #fb923c; |
| --color-orange-500: #f97316; |
| --color-green-400: #4ade80; |
| --color-slate-800: #1e293b; |
| --color-slate-900: #0f172a; |
| --color-slate-950: #020617; |
| } |
|
|
| * { |
| margin: 0; |
| padding: 0; |
| box-sizing: border-box; |
| } |
|
|
| body { |
| font-family: 'Rajdhani', sans-serif; |
| background: linear-gradient(135deg, #020617 0%, #0f172a 50%, #020617 100%); |
| min-height: 100vh; |
| overflow-x: hidden; |
| } |
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| height: 8px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: rgba(15, 23, 42, 0.5); |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, #06b6d4, #22d3ee); |
| border-radius: 4px; |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: linear-gradient(180deg, #22d3ee, #06b6d4); |
| } |
|
|
| |
| .custom-scrollbar::-webkit-scrollbar { |
| width: 6px; |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar-track { |
| background: rgba(15, 23, 42, 0.3); |
| border-radius: 3px; |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, #f97316, #fb923c); |
| border-radius: 3px; |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar-thumb:hover { |
| background: linear-gradient(180deg, #fb923c, #f97316); |
| } |
| |
| .font-orbitron { |
| font-family: 'Orbitron', sans-serif; |
| } |
|
|
| .font-rajdhani { |
| font-family: 'Rajdhani', sans-serif; |
| } |
|
|
| .font-mono { |
| font-family: 'Monaco', 'Consolas', monospace; |
| } |
|
|
| |
| .phoenix-card { |
| transition: all 0.3s ease; |
| } |
|
|
| .phoenix-card:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 20px 40px rgba(6, 182, 212, 0.1); |
| } |
|
|
| |
| @keyframes glow { |
| 0%, 100% { |
| box-shadow: 0 0 5px rgba(34, 211, 238, 0.3), 0 0 20px rgba(34, 211, 238, 0.1); |
| } |
| 50% { |
| box-shadow: 0 0 20px rgba(34, 211, 238, 0.5), 0 0 40px rgba(34, 211, 238, 0.2); |
| } |
| } |
|
|
| .animate-glow { |
| animation: glow 2s ease-in-out infinite; |
| } |
|
|
| |
| @keyframes pulse-glow { |
| 0%, 100% { |
| box-shadow: 0 0 0 0 rgba(34, 211, 238, 0.4); |
| } |
| 50% { |
| box-shadow: 0 0 0 10px rgba(34, 211, 238, 0); |
| } |
| } |
|
|
| .animate-pulse-glow { |
| animation: pulse-glow 2s ease-in-out infinite; |
| } |
|
|
| |
| @keyframes scan-line { |
| 0% { |
| top: 0; |
| opacity: 1; |
| } |
| 100% { |
| top: 100%; |
| opacity: 0; |
| } |
| } |
|
|
| .scan-line::before { |
| content: ''; |
| position: absolute; |
| left: 0; |
| right: 0; |
| height: 2px; |
| background: linear-gradient(90deg, transparent, #22d3ee, transparent); |
| animation: scan-line 3s linear infinite; |
| } |
|
|
| |
| @keyframes matrix-rain { |
| 0% { |
| background-position: 0 0; |
| } |
| 100% { |
| background-position: 0 100%; |
| } |
| } |
|
|
| .matrix-bg { |
| background: linear-gradient( |
| to bottom, |
| transparent 0%, |
| rgba(6, 182, 212, 0.03) 50%, |
| transparent 100% |
| ); |
| background-size: 100% 4px; |
| animation: matrix-rain 0.5s linear infinite; |
| } |
|
|
| |
| .holographic { |
| background: linear-gradient( |
| 135deg, |
| rgba(6, 182, 212, 0.1) 0%, |
| transparent 50%, |
| rgba(168, 85, 247, 0.1) 100% |
| ); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(6, 182, 212, 0.2); |
| } |
|
|
| |
| @keyframes cognitive-wave { |
| 0% { |
| transform: scale(1); |
| opacity: 1; |
| } |
| 100% { |
| transform: scale(2); |
| opacity: 0; |
| } |
| } |
|
|
| .cognitive-wave { |
| animation: cognitive-wave 2s ease-out infinite; |
| } |
|
|
| |
| @keyframes memory-pulse { |
| 0%, 100% { |
| box-shadow: 0 0 0 0 rgba(168, 85, 247, 0.4); |
| } |
| 50% { |
| box-shadow: 0 0 0 15px rgba(168, 85, 247, 0); |
| } |
| } |
|
|
| .memory-pulse { |
| animation: memory-pulse 2s ease-in-out infinite; |
| } |
|
|
| |
| @keyframes shield-rotate { |
| 0% { |
| transform: rotate(0deg); |
| } |
| 100% { |
| transform: rotate(360deg); |
| } |
| } |
|
|
| .shield-rotate { |
| animation: shield-rotate 20s linear infinite; |
| } |
|
|
| |
| @keyframes dash-offset { |
| to { |
| stroke-dashoffset: 0; |
| } |
| } |
|
|
| .connection-line { |
| stroke-dasharray: 10, 5; |
| animation: dash-offset 1s linear infinite; |
| } |
|
|
| |
| @keyframes text-gradient-shift { |
| 0% { |
| background-position: 0% 50%; |
| } |
| 50% { |
| background-position: 100% 50%; |
| } |
| 100% { |
| background-position: 0% 50%; |
| } |
| } |
|
|
| .text-gradient-animate { |
| background-size: 200% 200%; |
| animation: text-gradient-shift 3s ease infinite; |
| } |
|
|
| |
| @keyframes blink { |
| 0%, 50%, 100% { |
| opacity: 1; |
| } |
| 25%, 75% { |
| opacity: 0.3; |
| } |
| } |
|
|
| .blink { |
| animation: blink 2s ease-in-out infinite; |
| } |
|
|
| |
| @keyframes fade-in-up { |
| from { |
| opacity: 0; |
| transform: translateY(20px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .fade-in-up { |
| animation: fade-in-up 0.5s ease-out forwards; |
| } |
|
|
| |
| .stagger-1 { animation-delay: 0.1s; } |
| .stagger-2 { animation-delay: 0.2s; } |
| .stagger-3 { animation-delay: 0.3s; } |
| .stagger-4 { animation-delay: 0.4s; } |
| .stagger-5 { animation-delay: 0.5s; } |
|
|
| |
| .glass { |
| background: rgba(15, 23, 42, 0.5); |
| backdrop-filter: blur(12px); |
| border: 1px solid rgba(6, 182, 212, 0.1); |
| } |
|
|
| |
| .neon-border { |
| border: 1px solid transparent; |
| background: linear-gradient(#0f172a, #0f172a) padding-box, |
| linear-gradient(135deg, #06b6d4, #a855f7) border-box; |
| } |
|
|
| |
| .gradient-text { |
| background: linear-gradient(135deg, #22d3ee 0%, #a855f7 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| |
| .activity-bar { |
| transition: height 0.3s ease; |
| } |
|
|
| |
| .card-glow:hover { |
| box-shadow: 0 0 30px rgba(6, 182, 212, 0.2); |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .container { |
| padding: 1rem; |
| } |
| |
| h1 { |
| font-size: 1.5rem; |
| } |
| |
| .phoenix-card { |
| padding: 1rem; |
| } |
| |
| .grid-cols-2 { |
| grid-template-columns: 1fr; |
| } |
| |
| .grid-cols-3 { |
| grid-template-columns: 1fr; |
| } |
| |
| .grid-cols-4 { |
| grid-template-columns: 1fr; |
| } |
| } |
|
|
| |
| .loading-skeleton { |
| background: linear-gradient( |
| 90deg, |
| rgba(15, 23, 42, 0.5) 0%, |
| rgba(30, 41, 59, 0.5) 50%, |
| rgba(15, 23, 42, 0.5) 100% |
| ); |
| background-size: 200% 100%; |
| animation: shimmer 1.5s infinite; |
| } |
|
|
| @keyframes shimmer { |
| 0% { |
| background-position: 200% 0; |
| } |
| 100% { |
| background-position: -200% 0; |
| } |
| } |
|
|
| |
| .terminal { |
| background: rgba(2, 6, 23, 0.9); |
| border: 1px solid rgba(6, 182, 212, 0.3); |
| font-family: 'Monaco', 'Consolas', monospace; |
| } |
|
|
| .terminal::before { |
| content: '>'; |
| color: #22d3ee; |
| margin-right: 0.5rem; |
| } |
|
|
| |
| .progress-ring { |
| transform: rotate(-90deg); |
| } |
|
|
| .progress-ring__circle { |
| transition: stroke-dashoffset 0.35s; |
| } |
|
|
| |
| .status-dot { |
| width: 8px; |
| height: 8px; |
| border-radius: 50%; |
| } |
|
|
| .status-dot.active { |
| background: #4ade80; |
| box-shadow: 0 0 10px #4ade80; |
| } |
|
|
| .status-dot.warning { |
| background: #fbbf24; |
| box-shadow: 0 0 10px #fbbf24; |
| } |
|
|
| .status-dot.error { |
| background: #f87171; |
| box-shadow: 0 0 10px #f87171; |
| } |
|
|
| |
| .tooltip { |
| position: relative; |
| } |
|
|
| .tooltip::after { |
| content: attr(data-tooltip); |
| position: absolute; |
| bottom: 100%; |
| left: 50%; |
| transform: translateX(-50%); |
| padding: 0.5rem 1rem; |
| background: rgba(15, 23, 42, 0.95); |
| border: 1px solid rgba(6, 182, 212, 0.3); |
| border-radius: 0.5rem; |
| font-size: 0.75rem; |
| white-space: nowrap; |
| opacity: 0; |
| pointer-events: none; |
| transition: opacity 0.2s ease; |
| } |
|
|
| .tooltip:hover::after { |
| opacity: 1; |
| } |
|
|
| |
| .bg-phoenix-dark { |
| background-color: #020617; |
| } |
|
|
| .bg-phoenix-cyan { |
| background-color: #06b6d4; |
| } |
|
|
| .text-phoenix-cyan { |
| color: #22d3ee; |
| } |
|
|
| .border-phoenix-cyan { |
| border-color: rgba(6, 182, 212, 0.3); |
| } |
|
|
| |
| .badge { |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| min-width: 1.25rem; |
| height: 1.25rem; |
| padding: 0 0.375rem; |
| font-size: 0.75rem; |
| font-weight: 600; |
| border-radius: 9999px; |
| } |
|
|
| .badge-cyan { |
| background: rgba(6, 182, 212, 0.2); |
| color: #22d3ee; |
| } |
|
|
| .badge-green { |
| background: rgba(74, 222, 128, 0.2); |
| color: #4ade80; |
| } |
|
|
| .badge-red { |
| background: rgba(248, 113, 113, 0.2); |
| color: #f87171; |
| } |
|
|
| .badge-yellow { |
| background: rgba(251, 191, 36, 0.2); |
| color: #fbbf24; |
| } |
|
|
| |
| .chart-container { |
| position: relative; |
| height: 200px; |
| width: 100%; |
| } |
|
|
| |
| .network-graph { |
| position: relative; |
| height: 300px; |
| background: rgba(2, 6, 23, 0.5); |
| border-radius: 0.75rem; |
| overflow: hidden; |
| } |
|
|
| |
| .node { |
| transition: all 0.3s ease; |
| } |
|
|
| .node:hover { |
| transform: scale(1.1); |
| } |
|
|
| |
| .edge { |
| stroke-dasharray: 5, 5; |
| animation: flow 1s linear infinite; |
| } |
|
|
| @keyframes flow { |
| from { |
| stroke-dashoffset: 10; |
| } |
| to { |
| stroke-dashoffset: 0; |
| } |
| } |
|
|
| |
| span[class*="rounded-full"][class*="bg-green-500/20"] { |
| display: none; |
| } |
|
|
| |
| @media print { |
| body { |
| background: white; |
| color: black; |
| } |
| |
| .no-print { |
| display: none; |
| } |
| } |