Spaces:
Runtime error
Runtime error
| /** | |
| * βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| * MODERN DASHBOARD - TRADINGVIEW STYLE | |
| * Crypto Monitor HF β Ultra Modern Dashboard with Vibrant Colors | |
| * βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| */ | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| VIBRANT COLOR PALETTE | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| :root { | |
| /* Vibrant Primary Colors */ | |
| --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 Glow Colors */ | |
| --neon-blue: #00D4FF; | |
| --neon-purple: #8B5CF6; | |
| --neon-pink: #EC4899; | |
| --neon-cyan: #06B6D4; | |
| --neon-green: #10B981; | |
| /* Advanced Glassmorphism */ | |
| --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); | |
| /* Vibrant Gradients */ | |
| --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%); | |
| /* Neon Glow Effects */ | |
| --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); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ADVANCED GLASSMORPHISM | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .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 WITH CRYPTO LIST | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .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); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ADVANCED SIDEBAR | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .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 STYLE CHARTS | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .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); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| RESPONSIVE DESIGN | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @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; | |
| } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ANIMATIONS | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @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; | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| UTILITY CLASSES | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .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); } | |