/* Glassmorphism Design System */ .glass-card { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37), inset 0 1px 1px 0 rgba(255, 255, 255, 0.1); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .glass-card:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(0, 217, 255, 0.3); box-shadow: 0 8px 32px 0 rgba(0, 217, 255, 0.2), 0 12px 48px 0 rgba(0, 0, 0, 0.5), inset 0 1px 1px 0 rgba(255, 255, 255, 0.15); } /* Glassmorphism Card Container */ .glass-info-card { position: absolute; background: rgba(10, 25, 41, 0.85); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(0, 217, 255, 0.2); border-radius: 20px; padding: 24px; min-width: 320px; max-width: 400px; max-height: 500px; box-shadow: 0 12px 48px 0 rgba(0, 0, 0, 0.6), 0 0 24px 0 rgba(0, 217, 255, 0.15), inset 0 1px 2px 0 rgba(255, 255, 255, 0.1); z-index: 1000; pointer-events: all; } .glass-info-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient( 90deg, transparent, rgba(0, 217, 255, 0.5), transparent ); } /* Card Header */ .glass-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .glass-card-title { font-family: 'Outfit', 'Inter', sans-serif; font-size: 18px; font-weight: 600; color: #ffffff; margin: 0; } .glass-card-close { background: rgba(255, 51, 102, 0.1); border: 1px solid rgba(255, 51, 102, 0.3); border-radius: 8px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; color: #ff3366; font-size: 18px; } .glass-card-close:hover { background: rgba(255, 51, 102, 0.2); border-color: rgba(255, 51, 102, 0.5); transform: scale(1.1); } /* Scrollable Content */ .glass-card-content { overflow-y: auto; max-height: 400px; padding-right: 8px; } /* Custom Scrollbar */ .glass-card-content::-webkit-scrollbar { width: 6px; } .glass-card-content::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 3px; } .glass-card-content::-webkit-scrollbar-thumb { background: rgba(0, 217, 255, 0.3); border-radius: 3px; transition: background 0.2s ease; } .glass-card-content::-webkit-scrollbar-thumb:hover { background: rgba(0, 217, 255, 0.5); } /* News Item */ .news-item { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; padding: 16px; margin-bottom: 12px; transition: all 0.2s ease; cursor: pointer; } .news-item:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(0, 217, 255, 0.3); transform: translateX(4px); } .news-item-title { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; color: #ffffff; margin: 0 0 8px 0; line-height: 1.4; } .news-item-description { font-family: 'Inter', sans-serif; font-size: 12px; color: rgba(255, 255, 255, 0.7); margin: 0 0 8px 0; line-height: 1.5; } .news-item-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: rgba(255, 255, 255, 0.5); } .news-item-sentiment { display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 6px; font-size: 10px; font-weight: 600; text-transform: uppercase; } .sentiment-negative { background: rgba(255, 51, 102, 0.2); color: #ff3366; border: 1px solid rgba(255, 51, 102, 0.3); } .sentiment-neutral { background: rgba(0, 217, 255, 0.2); color: #00d9ff; border: 1px solid rgba(0, 217, 255, 0.3); } .sentiment-positive { background: rgba(0, 255, 136, 0.2); color: #00ff88; border: 1px solid rgba(0, 255, 136, 0.3); } /* Glass Button */ .glass-button { background: rgba(0, 217, 255, 0.1); border: 1px solid rgba(0, 217, 255, 0.3); border-radius: 10px; padding: 10px 20px; color: #00d9ff; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; text-decoration: none; display: inline-block; } .glass-button:hover { background: rgba(0, 217, 255, 0.2); border-color: rgba(0, 217, 255, 0.5); box-shadow: 0 0 16px rgba(0, 217, 255, 0.3); transform: translateY(-2px); } /* Empty State */ .glass-empty-state { text-align: center; padding: 40px 20px; color: rgba(255, 255, 255, 0.5); } .glass-empty-state-icon { font-size: 48px; margin-bottom: 16px; opacity: 0.3; } .glass-empty-state-text { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6; }