:root { --blood-red: #8b0000; --dark-purple: #2a0a44; --candle-glow: #ffd700; --stone-gray: #3a3a3a; } body { font-family: 'MedievalSharp', cursive; background: radial-gradient(circle at center, #000000 0%, #1a031a 100%); color: #e0e0e0; min-height: 100vh; overflow-x: hidden; } .gothic-title { font-family: 'UnifrakturMaguntia', cursive; text-shadow: 0 0 10px var(--blood-red); letter-spacing: 3px; } .form-container { background: linear-gradient(145deg, rgba(42, 10, 68, 0.9) 0%, rgba(26, 3, 26, 0.9) 100%); border: 2px solid var(--blood-red); border-radius: 15px; box-shadow: 0 0 30px rgba(139, 0, 0, 0.5); backdrop-filter: blur(10px); transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .input-group { position: relative; margin: 2rem 0; } .floating-label { position: absolute; pointer-events: none; left: 15px; top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, 0.6); transition: all 0.3s ease; } .input-field { width: 100%; padding: 1.2rem; background: rgba(0, 0, 0, 0.5); border: 1px solid var(--blood-red); border-radius: 8px; color: white; font-size: 1.1rem; transition: all 0.3s ease; } .input-field:focus+.floating-label, .input-field:not(:placeholder-shown)+.floating-label { top: -10px; left: 10px; font-size: 0.8rem; color: var(--candle-glow); } .submit-btn { background: linear-gradient(45deg, var(--blood-red), #4a0000); border: none; padding: 1rem 2rem; font-size: 1.2rem; letter-spacing: 2px; position: relative; overflow: hidden; transition: all 0.3s ease; } .submit-btn:hover { transform: scale(1.05); box-shadow: 0 0 25px var(--blood-red); } .submit-btn::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255, 215, 0, 0.4), transparent); transform: rotate(45deg); animation: flame 1.5s infinite linear; } @keyframes flame { 0% { left: -50%; } 100% { left: 150%; } } .error-message { animation: shake 0.5s ease-in-out; background: linear-gradient(45deg, #4a0000, #8b0000); border-left: 5px solid var(--candle-glow); } @keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(10px); } 75% { transform: translateX(-10px); } } .candle { position: fixed; width: 20px; height: 60px; background: linear-gradient(to right, #4a4a4a, #2a2a2a); border-radius: 3px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } .flame { position: absolute; width: 15px; height: 30px; background: linear-gradient(white 20%, var(--candle-glow) 80%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; animation: flicker 0.1s infinite alternate; filter: blur(1px); } @keyframes flicker { 0% { transform: skew(2deg, 0) scaleY(0.9); opacity: 0.9; } 100% { transform: skew(-2deg, 0) scaleY(1.1); opacity: 1; } }