:root { --primary-color: #4285F4; --secondary-color: #34A853; --accent-color: #FBBC05; --error-color: #EA4335; --dark-color: #202124; --light-color: #f8f9fa; --success-bg: #e6f4ea; --error-bg: #fce8e6; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); transition: background 0.5s ease; } .container { width: 90%; max-width: 500px; text-align: center; perspective: 1000px; } .logo { margin-bottom: 30px; font-size: 3.5rem; color: var(--primary-color); text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .form-container { background: rgba(255, 255, 255, 0.95); border-radius: 20px; padding: 40px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07); transform-style: preserve-3d; transition: transform 0.6s ease, box-shadow 0.6s ease; position: relative; overflow: hidden; } .form-container:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1); transform: translateY(-5px); } .form-container::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient( 45deg, transparent, rgba(66, 133, 244, 0.03), transparent ); transform: rotate(45deg); pointer-events: none; } h1 { font-size: 28px; margin-bottom: 30px; color: var(--dark-color); font-weight: 600; position: relative; display: inline-block; } h1::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background: linear-gradient(to right, var(--primary-color), var(--secondary-color)); border-radius: 3px; } .input-group { margin-bottom: 25px; text-align: left; position: relative; } label { display: block; margin-bottom: 8px; font-size: 14px; color: #5f6368; font-weight: 500; transition: color 0.3s; } .input-container { position: relative; } .input-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #9aa0a6; transition: color 0.3s; } input { width: 100%; padding: 15px 15px 15px 45px; border: 1px solid #dadce0; border-radius: 15px; font-size: 16px; box-sizing: border-box; transition: all 0.3s; background-color: #f8f9fa; color: var(--dark-color); } input:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.2); background-color: #ffffff; } input:focus + .input-icon { color: var(--primary-color); } .input-group:hover label { color: var(--primary-color); } button { background: linear-gradient(to right, var(--primary-color), #5e9bf9); color: white; border: none; padding: 15px 30px; border-radius: 50px; font-size: 16px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s; box-shadow: 0 4px 6px rgba(66, 133, 244, 0.25); position: relative; overflow: hidden; } button:hover { background: linear-gradient(to right, #357ae8, #4e8cfa); transform: translateY(-2px); box-shadow: 0 7px 14px rgba(66, 133, 244, 0.3); } button:active { transform: translateY(0); box-shadow: 0 3px 8px rgba(66, 133, 244, 0.2); } button::after { content: ''; position: absolute; width: 30px; height: 100%; top: 0; left: -100px; background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.3), transparent ); animation: shine 5s infinite; } @keyframes shine { 0% { left: -100px; } 20% { left: 100%; } 100% { left: 100%; } } .icon-spacing { margin-right: 10px; } .result { margin-top: 25px; padding: 15px; border-radius: 15px; display: none; font-weight: 500; opacity: 0; transition: opacity 0.5s; position: relative; overflow: hidden; } .result.show { display: block; opacity: 1; } .success { background-color: var(--success-bg); color: var(--secondary-color); border-left: 4px solid var(--secondary-color); } .error { background-color: var(--error-bg); color: var(--error-color); border-left: 4px solid var(--error-color); } .result-icon { margin-right: 8px; } .animate-pop { animation: pop 0.5s ease-out; } @keyframes pop { 0% { transform: scale(0.8); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 0.6s ease forwards; } .fade-in-1 { animation-delay: 0.1s; } .fade-in-2 { animation-delay: 0.2s; } .fade-in-3 { animation-delay: 0.3s; } .fade-in-4 { animation-delay: 0.4s; } @media (max-width: 768px) { .form-container { padding: 30px 20px; } h1 { font-size: 24px; } input { padding: 12px 12px 12px 40px; } button { padding: 12px 24px; } }