@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap'); /* Global Reset */ body { background-color: #0b0f19 !important; background-image: radial-gradient(at 0% 0%, rgba(17, 24, 39, 1) 0, transparent 50%), radial-gradient(at 100% 0%, rgba(30, 27, 75, 1) 0, transparent 50%), radial-gradient(at 50% 100%, rgba(15, 23, 42, 1) 0, transparent 50%) !important; color: #f8fafc !important; font-family: 'Outfit', sans-serif !important; } /* App Header styling */ .hero-header { text-align: center; padding: 30px 10px; margin-bottom: 30px; background: rgba(15, 23, 42, 0.4); border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.05); backdrop-filter: blur(20px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); } .hero-title { font-size: 3rem; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; background: linear-gradient(to right, #8b5cf6, #3b82f6, #06b6d4); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 10px; } .hero-subtitle { font-size: 1.1rem; color: #94a3b8; font-weight: 300; } /* Glassmorphism Dashboard Panels */ .glass-panel { background: linear-gradient(145deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.8) 100%); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(148, 163, 184, 0.1); border-radius: 20px; padding: 32px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05); margin-bottom: 24px; transition: transform 0.3s ease, box-shadow 0.3s ease; } .glass-panel:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1); } /* Glowing Result Statuses */ .status-fake { border-top: 4px solid #f43f5e; box-shadow: 0 10px 40px rgba(244, 63, 94, 0.15); } .status-real { border-top: 4px solid #10b981; box-shadow: 0 10px 40px rgba(16, 185, 129, 0.15); } .result-title { font-size: 2.2rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 24px; text-align: center; text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4); } /* Metrics Containers */ .score-container { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: rgba(0, 0, 0, 0.3); border-radius: 12px; margin-top: 16px; border: 1px solid rgba(255, 255, 255, 0.03); } .score-label { font-size: 1rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; } .score-value { font-size: 1.5rem; font-weight: 800; color: #f8fafc; } /* Progress Bars */ @keyframes fillout { from { width: 0; opacity: 0; } to { opacity: 1; } } .progress-track { width: 100%; height: 14px; background: rgba(0, 0, 0, 0.5); border-radius: 7px; overflow: hidden; margin-top: 12px; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5); } .progress-fill { height: 100%; border-radius: 7px; animation: fillout 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; position: relative; } .progress-fill::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); animation: shimmer 2s infinite; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .status-fake .progress-fill { background: linear-gradient(90deg, #be123c, #f43f5e); } .status-real .progress-fill { background: linear-gradient(90deg, #047857, #10b981); } /* Gradio Component Overrides */ .gradio-container .prose * { padding: 0 !important; } .tabs { background: transparent !important; } .tab-nav { border-bottom: 2px solid rgba(255, 255, 255, 0.05) !important; margin-bottom: 20px; } .tab-nav button { padding: 15px 30px !important; font-size: 1.1rem !important; font-weight: 600 !important; color: #94a3b8 !important; } .tab-nav button.selected { border-bottom: 3px solid #8b5cf6 !important; color: #fff !important; } button.primary { background: linear-gradient(90deg, #8b5cf6, #3b82f6) !important; border: none !important; font-size: 1.1rem !important; padding: 14px !important; border-radius: 12px !important; transition: all 0.2s ease !important; box-shadow: 0 4px 15px rgba(139, 92, 246, 0.3) !important; } button.primary:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 25px rgba(139, 92, 246, 0.5) !important; }