:root { --primary: #6366f1; --secondary: #a855f7; --accent: #f43f5e; --bg-dark: #0f172a; --text-light: #f8fafc; --glass: rgba(255, 255, 255, 0.05); --glass-border: rgba(255, 255, 255, 0.1); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Outfit', sans-serif; background-color: var(--bg-dark); color: var(--text-light); min-height: 100vh; display: flex; justify-content: center; align-items: center; overflow-x: hidden; } .glass-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 20%, rgba(99, 102, 241, 0.15), transparent), radial-gradient(circle at 80% 80%, rgba(168, 85, 247, 0.15), transparent); z-index: -1; } .container { width: 90%; max-width: 1000px; padding: 2rem; z-index: 1; } .hero { text-align: center; margin-bottom: 3rem; } .badge { display: inline-block; padding: 0.5rem 1rem; background: var(--glass); border: 1px solid var(--glass-border); border-radius: 2rem; font-size: 0.8rem; font-weight: 600; margin-bottom: 1rem; color: var(--primary); } h1 { font-size: 3.5rem; font-weight: 800; margin-bottom: 1rem; letter-spacing: -1px; } .gradient-text { background: linear-gradient(to right, var(--primary), var(--secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .hero p { font-size: 1.1rem; color: #94a3b8; max-width: 600px; margin: 0 auto; } .predictor-card { background: var(--glass); backdrop-filter: blur(12px); border: 1px solid var(--glass-border); border-radius: 2rem; padding: 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); } .controls { display: flex; flex-direction: column; gap: 1.5rem; } .input-group { display: flex; flex-direction: column; gap: 0.5rem; } .input-group label { font-size: 0.9rem; font-weight: 600; color: #cbd5e1; } input[type="range"] { -webkit-appearance: none; width: 100%; height: 6px; background: #334155; border-radius: 3px; outline: none; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; background: var(--primary); border-radius: 50%; cursor: pointer; transition: transform 0.2s; box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); } input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); } .result-container { background: rgba(0, 0, 0, 0.2); border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; position: relative; overflow: hidden; } .result-content { text-align: center; transition: opacity 0.3s ease; } .species-icon { font-size: 5rem; margin-bottom: 1rem; filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.2)); animation: float 3s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } h2 { font-size: 2.5rem; margin-bottom: 0.5rem; text-transform: capitalize; } .confidence { color: #94a3b8; font-size: 0.9rem; } .tech-stack { display: flex; justify-content: center; gap: 2rem; margin-top: 3rem; opacity: 0.5; } .tech-stack span { font-size: 0.8rem; font-weight: 600; letter-spacing: 1px; } .hidden { display: none; } .spinner { width: 40px; height: 40px; border: 3px solid rgba(255, 255, 255, 0.1); border-top: 3px solid var(--primary); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } @media (max-width: 768px) { .predictor-card { grid-template-columns: 1fr; } h1 { font-size: 2.5rem; } }