:root { --primary: #4361ee; --secondary: #3f37c9; --accent: #4cc9f0; --light: #f8f9fa; --dark: #212529; --success: #4bb543; --warning: #ff9500; --danger: #ff3b30; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Poppins', sans-serif; background: linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%); color: var(--dark); line-height: 1.6; overflow-x: hidden; } .container { max-width: 800px; margin: 0 auto; padding: 2rem; } /* Header Styles */ .header { text-align: center; margin-bottom: 3rem; position: relative; overflow: hidden; } .logo-container { display: inline-block; position: relative; margin-bottom: 1.5rem; } .logo { width: 180px; z-index: 2; position: relative; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); transform: translateY(0); animation: float 3s ease-in-out infinite; } .logo-bg { position: absolute; width: 120px; height: 120px; background: var(--accent); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; opacity: 0.2; filter: blur(20px); } h1 { font-size: 2.5rem; font-weight: 700; margin-bottom: 0.5rem; background: linear-gradient(90deg, var(--primary), var(--secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .tagline { font-size: 1.2rem; color: var(--primary); font-weight: 500; margin-bottom: 1rem; } .ai-badge { display: inline-flex; align-items: center; background: rgba(67, 97, 238, 0.1); color: var(--primary); padding: 0.5rem 1rem; border-radius: 50px; font-size: 0.9rem; margin-top: 1rem; } .ai-badge i { margin-right: 0.5rem; color: var(--accent); } /* About Section */ .about { background: white; border-radius: 16px; padding: 2rem; margin-bottom: 3rem; box-shadow: 0 10px 30px rgba(0,0,0,0.05); position: relative; overflow: hidden; } .about::before { content: ''; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: linear-gradient(to bottom, var(--primary), var(--accent)); } .about h2 { font-size: 1.8rem; margin-bottom: 1rem; color: var(--primary); } .about p { margin-bottom: 1rem; } .features { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; } .feature { flex: 1 1 200px; background: rgba(67, 97, 238, 0.05); border-radius: 10px; padding: 1rem; display: flex; align-items: center; } .feature i { font-size: 1.5rem; color: var(--primary); margin-right: 1rem; } /* Form Container */ .form-container { background: white; border-radius: 16px; padding: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.05); position: relative; overflow: hidden; } .form-container::after { content: ''; position: absolute; bottom: 0; right: 0; width: 100px; height: 100px; background: radial-gradient(circle, var(--accent) 0%, rgba(76, 201, 240, 0) 70%); opacity: 0.2; z-index: 0; } .form-step { display: none; position: relative; z-index: 1; } .form-step.active { display: block; animation: fadeInUp 0.5s ease-out; } .step-indicator { display: flex; justify-content: center; margin-bottom: 2rem; } .step { width: 40px; height: 40px; border-radius: 50%; background: #e9ecef; display: flex; align-items: center; justify-content: center; margin: 0 0.5rem; font-weight: 600; color: #adb5bd; position: relative; transition: all 0.3s ease; } .step.active { background: var(--primary); color: white; transform: scale(1.1); } .step.completed { background: var(--success); color: white; } .step::before { content: ''; position: absolute; width: 20px; height: 2px; background: #e9ecef; right: -20px; } .step:last-child::before { display: none; } .input-group { margin-bottom: 1.5rem; text-align: left; } label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: var(--dark); } input, select { width: 100%; padding: 15px 20px; border: 2px solid #e9ecef; border-radius: 10px; font-size: 1rem; transition: all 0.3s ease; background: #f8f9fa; } input:focus, select:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 4px rgba(67, 97, 238, 0.1); background: white; } .btn { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: white; border: none; padding: 15px 30px; border-radius: 10px; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3); } .btn:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(67, 97, 238, 0.4); } .btn:active { transform: translateY(0); } .btn i { margin-left: 0.5rem; } .error-message { color: #e74c3c; margin-top: 0.5rem; font-size: 0.9rem; display: none; } /* Plans Section */ .plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; margin-bottom: 2rem; } .plan-card { background: white; border-radius: 12px; padding: 1.5rem; cursor: pointer; transition: all 0.3s ease; border: 2px solid #e9ecef; position: relative; overflow: hidden; } .plan-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); border-color: var(--primary); } .plan-card.selected { border-color: var(--primary); background: linear-gradient(135deg, rgba(67, 97, 238, 0.05), rgba(76, 201, 240, 0.05)); } .plan-card.selected::before { content: '✓'; position: absolute; top: 10px; right: 10px; width: 25px; height: 25px; background: var(--primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; } .plan-title { font-weight: 600; color: var(--primary); margin-bottom: 0.5rem; font-size: 1.2rem; } .plan-desc { color: #6c757d; font-size: 0.9rem; } .plan-price { font-weight: 700; color: var(--dark); margin-top: 1rem; font-size: 1.3rem; } .original-price { text-decoration: line-through; color: #6c757d; font-size: 1rem; margin-right: 0.5rem; } .discount-badge { background: var(--danger); color: white; padding: 0.2rem 0.5rem; border-radius: 4px; font-size: 0.8rem; font-weight: 600; margin-left: 0.5rem; } /* Timer Section */ .timer-container { background: linear-gradient(135deg, var(--warning), #ff6b00); color: white; padding: 1rem; border-radius: 10px; margin-bottom: 2rem; text-align: center; box-shadow: 0 4px 15px rgba(255, 149, 0, 0.3); animation: pulseWarning 2s infinite; } .timer-title { font-weight: 600; margin-bottom: 0.5rem; display: flex; align-items: center; justify-content: center; } .timer-title i { margin-right: 0.5rem; } .timer { font-size: 1.5rem; font-weight: 700; font-family: monospace; } .timer-message { font-size: 0.9rem; margin-top: 0.5rem; opacity: 0.9; } /* CGPA Celebration */ .celebration { background: linear-gradient(135deg, var(--success), #3a9e3a); color: white; padding: 1.5rem; border-radius: 10px; margin-bottom: 2rem; text-align: center; position: relative; overflow: hidden; } .celebration::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%); animation: shine 3s infinite; } .celebration-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.5rem; position: relative; } .celebration-message { font-size: 1rem; margin-bottom: 1rem; position: relative; } .celebration-badge { background: white; color: var(--success); padding: 0.5rem 1rem; border-radius: 50px; font-weight: 600; display: inline-block; margin-top: 0.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.1); } /* Footer */ .more-info { margin-top: 3rem; text-align: center; color: #6c757d; } .more-info a { color: var(--primary); text-decoration: none; font-weight: 500; display: inline-flex; align-items: center; } .more-info a i { margin-right: 0.5rem; } /* Animations */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes pulseWarning { 0%, 100% { transform: scale(1); box-shadow: 0 4px 15px rgba(255, 149, 0, 0.3); } 50% { transform: scale(1.02); box-shadow: 0 4px 20px rgba(255, 149, 0, 0.4); } } @keyframes shine { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes confettiRain { 0% { transform: translateY(-100vh) rotateZ(0deg); } 100% { transform: translateY(100vh) rotateZ(360deg); } } /* Particles */ .particle { position: absolute; background: rgba(67, 97, 238, 0.1); border-radius: 50%; pointer-events: none; } .confetti { position: fixed; width: 10px; height: 10px; background-color: #f00; opacity: 0; z-index: 999; animation: confettiRain 5s linear forwards; } /* Add this new style for loading screen */ .loading-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.9); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.5s ease; } .loading-screen.active { opacity: 1; pointer-events: all; } .loading-spinner { width: 50px; height: 50px; border: 5px solid #f3f3f3; border-top: 5px solid var(--primary); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 1rem; } .loading-text { font-size: 1.2rem; color: var(--primary); text-align: center; max-width: 300px; } .loading-dots::after { content: ''; animation: dots 1.5s steps(5, end) infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes dots { 0%, 20% { content: '.'; } 40% { content: '..'; } 60%, 100% { content: '...'; } } /* Enhance confetti visibility */ .confetti { position: fixed; width: 15px; height: 15px; background-color: #f00; opacity: 0.8; z-index: 999; animation: confettiRain 5s linear forwards; } @keyframes confettiRain { 0% { transform: translateY(-100vh) rotateZ(0deg); opacity: 1; } 100% { transform: translateY(100vh) rotateZ(360deg); opacity: 0; } } /* Responsive */ @media (max-width: 768px) { .container { padding: 1.5rem; } h1 { font-size: 2rem; } .plans { grid-template-columns: 1fr; } } body.locked { display: none !important; /* Page stays hidden without JS */ }