| |
| |
| |
| |
| |
|
|
|
|
| |
| |
|
|
|
|
| :root {
|
|
|
| --vibrant-blue: #00D4FF;
|
| --vibrant-purple: #8B5CF6;
|
| --vibrant-pink: #EC4899;
|
| --vibrant-cyan: #06B6D4;
|
| --vibrant-green: #10B981;
|
| --vibrant-orange: #F97316;
|
| --vibrant-yellow: #FACC15;
|
| --vibrant-red: #EF4444;
|
|
|
|
|
| --neon-blue: #00D4FF;
|
| --neon-purple: #8B5CF6;
|
| --neon-pink: #EC4899;
|
| --neon-cyan: #06B6D4;
|
| --neon-green: #10B981;
|
|
|
|
|
| --glass-vibrant: rgba(255, 255, 255, 0.08);
|
| --glass-vibrant-strong: rgba(255, 255, 255, 0.15);
|
| --glass-vibrant-stronger: rgba(255, 255, 255, 0.22);
|
| --glass-border-vibrant: rgba(255, 255, 255, 0.18);
|
| --glass-border-vibrant-strong: rgba(255, 255, 255, 0.3);
|
|
|
|
|
| --gradient-vibrant-1: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
|
| --gradient-vibrant-2: linear-gradient(135deg, #00D4FF 0%, #8B5CF6 50%, #EC4899 100%);
|
| --gradient-vibrant-3: linear-gradient(135deg, #06B6D4 0%, #10B981 50%, #FACC15 100%);
|
| --gradient-vibrant-4: linear-gradient(135deg, #F97316 0%, #EC4899 50%, #8B5CF6 100%);
|
|
|
|
|
| --glow-neon-blue: 0 0 20px rgba(0, 212, 255, 0.5), 0 0 40px rgba(0, 212, 255, 0.3), 0 0 60px rgba(0, 212, 255, 0.2);
|
| --glow-neon-purple: 0 0 20px rgba(139, 92, 246, 0.5), 0 0 40px rgba(139, 92, 246, 0.3), 0 0 60px rgba(139, 92, 246, 0.2);
|
| --glow-neon-pink: 0 0 20px rgba(236, 72, 153, 0.5), 0 0 40px rgba(236, 72, 153, 0.3), 0 0 60px rgba(236, 72, 153, 0.2);
|
| --glow-neon-cyan: 0 0 20px rgba(6, 182, 212, 0.5), 0 0 40px rgba(6, 182, 212, 0.3), 0 0 60px rgba(6, 182, 212, 0.2);
|
| --glow-neon-green: 0 0 20px rgba(16, 185, 129, 0.5), 0 0 40px rgba(16, 185, 129, 0.3), 0 0 60px rgba(16, 185, 129, 0.2);
|
| }
|
|
|
| |
| |
|
|
|
|
| .glass-vibrant {
|
| background: var(--glass-vibrant);
|
| backdrop-filter: blur(30px) saturate(180%);
|
| -webkit-backdrop-filter: blur(30px) saturate(180%);
|
| border: 1px solid var(--glass-border-vibrant);
|
| border-radius: 24px;
|
| box-shadow:
|
| 0 8px 32px rgba(0, 0, 0, 0.4),
|
| inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
| inset 0 -1px 0 rgba(0, 0, 0, 0.2);
|
| position: relative;
|
| overflow: hidden;
|
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
| }
|
|
|
| .glass-vibrant::before {
|
| content: '';
|
| position: absolute;
|
| top: 0;
|
| left: 0;
|
| right: 0;
|
| height: 2px;
|
| background: linear-gradient(
|
| 90deg,
|
| transparent,
|
| rgba(0, 212, 255, 0.6),
|
| rgba(139, 92, 246, 0.6),
|
| rgba(236, 72, 153, 0.6),
|
| transparent
|
| );
|
| opacity: 0.8;
|
| animation: shimmer 3s infinite;
|
| }
|
|
|
| .glass-vibrant::after {
|
| content: '';
|
| position: absolute;
|
| top: -50%;
|
| left: -50%;
|
| width: 200%;
|
| height: 200%;
|
| background: radial-gradient(
|
| circle,
|
| rgba(0, 212, 255, 0.1) 0%,
|
| rgba(139, 92, 246, 0.1) 50%,
|
| transparent 70%
|
| );
|
| animation: rotate 20s linear infinite;
|
| pointer-events: none;
|
| }
|
|
|
| @keyframes shimmer {
|
| 0%, 100% { opacity: 0.8; }
|
| 50% { opacity: 1; }
|
| }
|
|
|
| @keyframes rotate {
|
| from { transform: rotate(0deg); }
|
| to { transform: rotate(360deg); }
|
| }
|
|
|
| .glass-vibrant:hover {
|
| transform: translateY(-4px);
|
| box-shadow:
|
| 0 16px 48px rgba(0, 0, 0, 0.5),
|
| var(--glow-neon-blue),
|
| inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
| border-color: rgba(0, 212, 255, 0.4);
|
| }
|
|
|
| .glass-vibrant-strong {
|
| background: var(--glass-vibrant-strong);
|
| backdrop-filter: blur(40px) saturate(200%);
|
| -webkit-backdrop-filter: blur(40px) saturate(200%);
|
| border: 1.5px solid var(--glass-border-vibrant-strong);
|
| }
|
|
|
| .glass-vibrant-stronger {
|
| background: var(--glass-vibrant-stronger);
|
| backdrop-filter: blur(50px) saturate(220%);
|
| -webkit-backdrop-filter: blur(50px) saturate(220%);
|
| border: 2px solid var(--glass-border-vibrant-strong);
|
| }
|
|
|
| |
| |
|
|
|
|
| .modern-header {
|
| background: rgba(255, 255, 255, 0.98);
|
| backdrop-filter: blur(30px) saturate(180%);
|
| -webkit-backdrop-filter: blur(30px) saturate(180%);
|
| border-bottom: 2px solid rgba(0, 0, 0, 0.1);
|
| box-shadow:
|
| 0 4px 24px rgba(0, 0, 0, 0.08),
|
| 0 2px 8px rgba(0, 0, 0, 0.04),
|
| inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
| position: sticky;
|
| top: 0;
|
| z-index: 1000;
|
| padding: 20px 32px;
|
| }
|
|
|
| .modern-header h1 {
|
| color: #0f172a;
|
| text-shadow: none;
|
| }
|
|
|
| .modern-header .text-muted {
|
| color: #64748b;
|
| }
|
|
|
| .header-crypto-list {
|
| display: flex;
|
| align-items: center;
|
| gap: 24px;
|
| overflow-x: auto;
|
| scrollbar-width: thin;
|
| scrollbar-color: rgba(0, 212, 255, 0.3) transparent;
|
| padding: 8px 0;
|
| }
|
|
|
| .header-crypto-list::-webkit-scrollbar {
|
| height: 4px;
|
| }
|
|
|
| .header-crypto-list::-webkit-scrollbar-track {
|
| background: transparent;
|
| }
|
|
|
| .header-crypto-list::-webkit-scrollbar-thumb {
|
| background: rgba(0, 212, 255, 0.3);
|
| border-radius: 2px;
|
| }
|
|
|
| .crypto-item-header {
|
| display: flex;
|
| align-items: center;
|
| gap: 8px;
|
| padding: 8px 16px;
|
| background: rgba(255, 255, 255, 0.05);
|
| border: 1px solid rgba(255, 255, 255, 0.1);
|
| border-radius: 12px;
|
| cursor: pointer;
|
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
| white-space: nowrap;
|
| min-width: fit-content;
|
| }
|
|
|
| .crypto-item-header:hover {
|
| background: rgba(0, 212, 255, 0.1);
|
| border-color: rgba(0, 212, 255, 0.4);
|
| transform: translateY(-2px);
|
| box-shadow: 0 4px 12px rgba(0, 212, 255, 0.2);
|
| }
|
|
|
| .crypto-item-header.active {
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(139, 92, 246, 0.2));
|
| border-color: rgba(0, 212, 255, 0.5);
|
| box-shadow: var(--glow-neon-blue);
|
| }
|
|
|
| .crypto-symbol-header {
|
| font-weight: 700;
|
| font-size: 0.875rem;
|
| color: var(--vibrant-cyan);
|
| letter-spacing: 0.05em;
|
| }
|
|
|
| .crypto-price-header {
|
| font-weight: 600;
|
| font-size: 0.875rem;
|
| color: var(--text-primary);
|
| }
|
|
|
| .crypto-change-header {
|
| font-weight: 600;
|
| font-size: 0.75rem;
|
| padding: 2px 6px;
|
| border-radius: 4px;
|
| }
|
|
|
| .crypto-change-header.positive {
|
| color: var(--vibrant-green);
|
| background: rgba(16, 185, 129, 0.15);
|
| }
|
|
|
| .crypto-change-header.negative {
|
| color: var(--vibrant-red);
|
| background: rgba(239, 68, 68, 0.15);
|
| }
|
|
|
| |
| |
|
|
|
|
| .sidebar-modern {
|
| width: 280px;
|
| padding: 28px 20px;
|
| background: linear-gradient(
|
| 180deg,
|
| rgba(15, 23, 42, 0.95) 0%,
|
| rgba(30, 41, 59, 0.9) 50%,
|
| rgba(15, 23, 42, 0.95) 100%
|
| );
|
| backdrop-filter: blur(40px) saturate(180%);
|
| -webkit-backdrop-filter: blur(40px) saturate(180%);
|
| border-right: 2px solid rgba(0, 212, 255, 0.2);
|
| box-shadow:
|
| 4px 0 32px rgba(0, 0, 0, 0.5),
|
| inset -1px 0 0 rgba(255, 255, 255, 0.05);
|
| position: sticky;
|
| top: 0;
|
| height: 100vh;
|
| display: flex;
|
| flex-direction: column;
|
| gap: 24px;
|
| overflow-y: auto;
|
| scrollbar-width: thin;
|
| scrollbar-color: rgba(0, 212, 255, 0.3) transparent;
|
| }
|
|
|
| .sidebar-modern::-webkit-scrollbar {
|
| width: 6px;
|
| }
|
|
|
| .sidebar-modern::-webkit-scrollbar-track {
|
| background: transparent;
|
| }
|
|
|
| .sidebar-modern::-webkit-scrollbar-thumb {
|
| background: rgba(0, 212, 255, 0.3);
|
| border-radius: 3px;
|
| }
|
|
|
| .sidebar-modern::-webkit-scrollbar-thumb:hover {
|
| background: rgba(0, 212, 255, 0.5);
|
| }
|
|
|
| .brand-modern {
|
| display: flex;
|
| align-items: center;
|
| gap: 12px;
|
| padding: 16px;
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
|
| border-radius: 16px;
|
| border: 1px solid rgba(0, 212, 255, 0.2);
|
| box-shadow:
|
| inset 0 1px 2px rgba(255, 255, 255, 0.1),
|
| 0 4px 16px rgba(0, 212, 255, 0.2);
|
| position: relative;
|
| overflow: hidden;
|
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
| }
|
|
|
| .brand-modern::before {
|
| content: '';
|
| position: absolute;
|
| inset: 0;
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
|
| opacity: 0;
|
| transition: opacity 0.4s ease;
|
| }
|
|
|
| .brand-modern:hover {
|
| transform: translateY(-2px);
|
| box-shadow:
|
| inset 0 1px 2px rgba(255, 255, 255, 0.15),
|
| 0 8px 24px rgba(0, 212, 255, 0.3),
|
| var(--glow-neon-blue);
|
| border-color: rgba(0, 212, 255, 0.4);
|
| }
|
|
|
| .brand-modern:hover::before {
|
| opacity: 1;
|
| }
|
|
|
| .nav-modern {
|
| display: flex;
|
| flex-direction: column;
|
| gap: 8px;
|
| }
|
|
|
| .nav-button-modern {
|
| border: none;
|
| border-radius: 12px;
|
| padding: 12px 16px;
|
| display: flex;
|
| align-items: center;
|
| gap: 12px;
|
| background: transparent;
|
| color: var(--text-secondary);
|
| font-weight: 600;
|
| font-family: 'Manrope', sans-serif;
|
| font-size: 0.875rem;
|
| cursor: pointer;
|
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
| position: relative;
|
| overflow: visible;
|
| }
|
|
|
| .nav-button-modern::before {
|
| content: '';
|
| position: absolute;
|
| left: 0;
|
| top: 50%;
|
| transform: translateY(-50%);
|
| width: 3px;
|
| height: 0;
|
| background: linear-gradient(180deg, var(--vibrant-cyan), var(--vibrant-purple));
|
| border-radius: 0 3px 3px 0;
|
| transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
| opacity: 0;
|
| box-shadow: var(--glow-neon-cyan);
|
| }
|
|
|
| .nav-button-modern::after {
|
| content: '';
|
| position: absolute;
|
| inset: 0;
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
|
| border-radius: 12px;
|
| opacity: 0;
|
| transition: opacity 0.3s ease;
|
| z-index: -1;
|
| }
|
|
|
| .nav-button-modern:hover {
|
| color: var(--text-primary);
|
| background: rgba(255, 255, 255, 0.05);
|
| transform: translateX(4px);
|
| }
|
|
|
| .nav-button-modern:hover::before {
|
| height: 60%;
|
| opacity: 1;
|
| }
|
|
|
| .nav-button-modern:hover::after {
|
| opacity: 1;
|
| }
|
|
|
| .nav-button-modern.active {
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.15), rgba(139, 92, 246, 0.15));
|
| color: var(--vibrant-cyan);
|
| box-shadow:
|
| inset 0 1px 2px rgba(255, 255, 255, 0.1),
|
| 0 4px 16px rgba(0, 212, 255, 0.2);
|
| border: 1px solid rgba(0, 212, 255, 0.3);
|
| }
|
|
|
| .nav-button-modern.active::before {
|
| height: 70%;
|
| opacity: 1;
|
| box-shadow: var(--glow-neon-cyan);
|
| }
|
|
|
| .nav-button-modern.active::after {
|
| opacity: 1;
|
| }
|
|
|
| |
| |
|
|
|
|
| .tradingview-chart-container {
|
| position: relative;
|
| background: var(--glass-vibrant);
|
| backdrop-filter: blur(30px) saturate(180%);
|
| -webkit-backdrop-filter: blur(30px) saturate(180%);
|
| border: 1px solid var(--glass-border-vibrant);
|
| border-radius: 24px;
|
| padding: 24px;
|
| box-shadow:
|
| 0 8px 32px rgba(0, 0, 0, 0.4),
|
| inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
| overflow: hidden;
|
| }
|
|
|
| .tradingview-chart-container::before {
|
| content: '';
|
| position: absolute;
|
| top: 0;
|
| left: 0;
|
| right: 0;
|
| height: 2px;
|
| background: linear-gradient(
|
| 90deg,
|
| transparent,
|
| rgba(0, 212, 255, 0.6),
|
| rgba(139, 92, 246, 0.6),
|
| transparent
|
| );
|
| }
|
|
|
| .chart-toolbar {
|
| display: flex;
|
| align-items: center;
|
| gap: 12px;
|
| margin-bottom: 16px;
|
| padding-bottom: 16px;
|
| border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
| }
|
|
|
| .chart-timeframe-btn {
|
| padding: 6px 12px;
|
| border: 1px solid rgba(255, 255, 255, 0.1);
|
| border-radius: 8px;
|
| background: rgba(255, 255, 255, 0.05);
|
| color: var(--text-secondary);
|
| font-size: 0.75rem;
|
| font-weight: 600;
|
| cursor: pointer;
|
| transition: all 0.2s ease;
|
| }
|
|
|
| .chart-timeframe-btn:hover {
|
| background: rgba(0, 212, 255, 0.1);
|
| border-color: rgba(0, 212, 255, 0.3);
|
| color: var(--vibrant-cyan);
|
| }
|
|
|
| .chart-timeframe-btn.active {
|
| background: linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(139, 92, 246, 0.2));
|
| border-color: rgba(0, 212, 255, 0.4);
|
| color: var(--vibrant-cyan);
|
| box-shadow: 0 0 12px rgba(0, 212, 255, 0.3);
|
| }
|
|
|
| .chart-indicators {
|
| display: flex;
|
| align-items: center;
|
| gap: 8px;
|
| flex-wrap: wrap;
|
| }
|
|
|
| .chart-indicator-toggle {
|
| display: flex;
|
| align-items: center;
|
| gap: 6px;
|
| padding: 4px 8px;
|
| border-radius: 6px;
|
| background: rgba(255, 255, 255, 0.05);
|
| border: 1px solid rgba(255, 255, 255, 0.1);
|
| cursor: pointer;
|
| transition: all 0.2s ease;
|
| font-size: 0.75rem;
|
| }
|
|
|
| .chart-indicator-toggle:hover {
|
| background: rgba(255, 255, 255, 0.08);
|
| }
|
|
|
| .chart-indicator-toggle input[type="checkbox"] {
|
| width: 14px;
|
| height: 14px;
|
| cursor: pointer;
|
| accent-color: var(--vibrant-cyan);
|
| }
|
|
|
| |
| |
|
|
|
|
| @media (max-width: 1024px) {
|
| .sidebar-modern {
|
| width: 240px;
|
| }
|
|
|
| .header-crypto-list {
|
| gap: 16px;
|
| }
|
|
|
| .crypto-item-header {
|
| padding: 6px 12px;
|
| }
|
| }
|
|
|
| @media (max-width: 768px) {
|
| .sidebar-modern {
|
| position: fixed;
|
| left: -280px;
|
| transition: left 0.3s ease;
|
| z-index: 2000;
|
| }
|
|
|
| .sidebar-modern.open {
|
| left: 0;
|
| }
|
|
|
| .header-crypto-list {
|
| gap: 12px;
|
| }
|
|
|
| .crypto-item-header {
|
| padding: 6px 10px;
|
| font-size: 0.75rem;
|
| }
|
| }
|
|
|
| |
| |
|
|
|
|
| @keyframes pulse-glow {
|
| 0%, 100% {
|
| box-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
|
| }
|
| 50% {
|
| box-shadow: 0 0 30px rgba(0, 212, 255, 0.8), 0 0 50px rgba(0, 212, 255, 0.4);
|
| }
|
| }
|
|
|
| .pulse-glow {
|
| animation: pulse-glow 2s ease-in-out infinite;
|
| }
|
|
|
| |
| |
|
|
|
|
| .text-vibrant-blue { color: var(--vibrant-blue); }
|
| .text-vibrant-purple { color: var(--vibrant-purple); }
|
| .text-vibrant-pink { color: var(--vibrant-pink); }
|
| .text-vibrant-cyan { color: var(--vibrant-cyan); }
|
| .text-vibrant-green { color: var(--vibrant-green); }
|
|
|
| .bg-gradient-vibrant-1 { background: var(--gradient-vibrant-1); }
|
| .bg-gradient-vibrant-2 { background: var(--gradient-vibrant-2); }
|
| .bg-gradient-vibrant-3 { background: var(--gradient-vibrant-3); }
|
| .bg-gradient-vibrant-4 { background: var(--gradient-vibrant-4); }
|
|
|
| .glow-neon-blue { box-shadow: var(--glow-neon-blue); }
|
| .glow-neon-purple { box-shadow: var(--glow-neon-purple); }
|
| .glow-neon-pink { box-shadow: var(--glow-neon-pink); }
|
| .glow-neon-cyan { box-shadow: var(--glow-neon-cyan); }
|
| .glow-neon-green { box-shadow: var(--glow-neon-green); }
|
|
|
|
|