/* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); color: #ffffff; min-height: 100vh; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header */ header { text-align: center; margin-bottom: 40px; padding: 30px 0; } .logo { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 15px; } .logo svg { filter: drop-shadow(0 0 10px rgba(74, 144, 226, 0.3)); } .logo h1 { font-size: 2.5rem; font-weight: 700; background: linear-gradient(135deg, #4A90E2, #357ABD); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .subtitle { font-size: 1.1rem; color: #b8c5d6; font-weight: 300; } /* Main content */ main { display: flex; flex-direction: column; gap: 30px; } /* Tabs */ .tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; } .tab-button { background: rgba(255, 255, 255, 0.05); color: #b8c5d6; border: 1px solid rgba(74, 144, 226, 0.3); padding: 10px 20px; border-radius: 25px; cursor: pointer; transition: all 0.3s ease; font-size: 1rem; font-weight: 500; } .tab-button:hover { background: rgba(74, 144, 226, 0.1); border-color: #5ba3f5; } .tab-button.active { background: linear-gradient(135deg, #4A90E2, #357ABD); color: white; border-color: #4A90E2; } .tab-content { width: 100%; } /* Upload section */ .upload-section { display: flex; flex-direction: column; gap: 30px; align-items: center; } .upload-box { background: rgba(255, 255, 255, 0.05); border: 2px dashed #4A90E2; border-radius: 20px; padding: 60px 40px; text-align: center; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); width: 100%; max-width: 600px; } .upload-box:hover { border-color: #5ba3f5; background: rgba(255, 255, 255, 0.08); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(74, 144, 226, 0.2); } .upload-box.dragover { border-color: #5ba3f5; background: rgba(74, 144, 226, 0.1); } .upload-icon { margin-bottom: 20px; animation: float 3s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } .upload-box h3 { font-size: 1.5rem; margin-bottom: 10px; color: #ffffff; } .upload-box p { color: #b8c5d6; margin-bottom: 20px; } .btn-primary { background: linear-gradient(135deg, #4A90E2, #357ABD); color: white; border: none; padding: 12px 30px; border-radius: 25px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px; } .btn-primary:hover { background: linear-gradient(135deg, #5ba3f5, #4A90E2); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(74, 144, 226, 0.4); } /* Preview section */ .preview-section { background: rgba(255, 255, 255, 0.05); border-radius: 20px; padding: 30px; backdrop-filter: blur(10px); width: 100%; max-width: 600px; } .image-preview { margin-bottom: 20px; text-align: center; } .image-preview img { max-width: 100%; max-height: 300px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); } .audio-preview { margin-bottom: 20px; text-align: center; font-size: 1.1rem; color: #b8c5d6; } /* Results section */ .results-section { width: 100%; max-width: 800px; margin: 0 auto; } .results-card { background: rgba(255, 255, 255, 0.05); border-radius: 20px; padding: 30px; backdrop-filter: blur(10px); border: 1px solid rgba(74, 144, 226, 0.2); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .result-header h3 { font-size: 1.8rem; color: #ffffff; } .security-badge { display: flex; align-items: center; gap: 8px; background: rgba(74, 144, 226, 0.2); padding: 8px 16px; border-radius: 20px; font-size: 0.9rem; color: #4A90E2; } .prediction-result { text-align: center; margin-bottom: 30px; } .result-text { font-size: 2.5rem; font-weight: 700; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 2px; } .result-real { color: #4CAF50; text-shadow: 0 0 20px rgba(76, 175, 80, 0.5); } .result-fake { color: #f44336; text-shadow: 0 0 20px rgba(244, 67, 54, 0.5); } .result-error { color: #ff9800; text-shadow: 0 0 20px rgba(255, 152, 0, 0.5); } .result-details { color: #b8c5d6; font-size: 1.1rem; } /* Confidence meter */ .confidence-meter { margin-top: 30px; } .confidence-label { font-size: 1.1rem; margin-bottom: 10px; color: #ffffff; } .confidence-bar { width: 100%; height: 20px; background: rgba(255, 255, 255, 0.1); border-radius: 10px; overflow: hidden; margin-bottom: 10px; } .confidence-fill { height: 100%; background: linear-gradient(90deg, #4CAF50, #FFC107, #f44336); border-radius: 10px; transition: width 0.5s ease; width: 0%; } .confidence-value { text-align: center; font-size: 1.2rem; font-weight: 600; color: #4A90E2; } /* Footer */ footer { text-align: center; margin-top: 50px; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #b8c5d6; } /* Loading animation */ .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(74, 144, 226, 0.3); border-radius: 50%; border-top-color: #4A90E2; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Responsive design */ @media (max-width: 768px) { .container { padding: 15px; } .logo h1 { font-size: 2rem; } .upload-box { padding: 40px 20px; } .result-header { flex-direction: column; gap: 15px; text-align: center; } .result-text { font-size: 2rem; } } /* Security pattern background */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 20% 80%, rgba(74, 144, 226, 0.05) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(74, 144, 226, 0.05) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(74, 144, 226, 0.03) 0%, transparent 50%); pointer-events: none; z-index: -1; animation: patternShift 20s ease-in-out infinite; } @keyframes patternShift { 0%, 100% { background-position: 0% 0%, 100% 0%, 50% 50%; } 50% { background-position: 100% 100%, 0% 100%, 50% 50%; } } /* Security particles */ .security-particle { position: absolute; width: 6px; height: 6px; background: rgba(74, 144, 226, 0.4); border-radius: 50%; pointer-events: none; z-index: -1; animation: securityFloat 10s linear infinite; } @keyframes securityFloat { 0% { transform: translateY(100vh) scale(0); opacity: 0; } 10% { opacity: 0.6; transform: scale(1); } 90% { opacity: 0.6; transform: scale(1); } 100% { transform: translateY(-10vh) scale(0); opacity: 0; } } /* Hover effects for text elements */ .logo h1:hover { color: #5ba3f5; text-shadow: 0 0 20px rgba(74, 144, 226, 0.8); transition: all 0.3s ease; } .subtitle:hover { color: #b8c5d6; text-shadow: 0 0 10px rgba(74, 144, 226, 0.5); transition: all 0.3s ease; } .upload-box h3:hover { color: #ffffff; text-shadow: 0 0 15px rgba(74, 144, 226, 0.6); transition: all 0.3s ease; } .upload-box p:hover { color: #b8c5d6; text-shadow: 0 0 10px rgba(74, 144, 226, 0.4); transition: all 0.3s ease; } .result-header h3:hover { color: #ffffff; text-shadow: 0 0 15px rgba(74, 144, 226, 0.7); transition: all 0.3s ease; } .result-details:hover { color: #b8c5d6; text-shadow: 0 0 10px rgba(74, 144, 226, 0.5); transition: all 0.3s ease; } footer p:hover { color: #b8c5d6; text-shadow: 0 0 10px rgba(74, 144, 226, 0.4); transition: all 0.3s ease; }