/* Refined Dark Midnight Blue Theme with Elegant Magical Accents */ :root { --midnight-blue: #0a0a1a; --deep-blue: #131330; --accent-purple: #9d4edd; --accent-blue: #3a86ff; --glow-purple: rgba(157, 78, 221, 0.3); --glow-blue: rgba(58, 134, 255, 0.3); --text-color: #e6e6ff; --star-color: rgba(255, 255, 255, 0.4); --container-bg: rgba(19, 19, 48, 0.85); } body { background-color: var(--midnight-blue); color: var(--text-color); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; min-height: 100vh; background-image: radial-gradient(var(--star-color) 1px, transparent 1px); background-size: 80px 80px; background-position: 0 0; background-attachment: fixed; display: flex; flex-direction: column; align-items: center; justify-content: center; } .container { background-color: var(--container-bg); backdrop-filter: blur(10px); border-radius: 20px; padding: 2.5rem; max-width: 500px; width: 90%; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 15px var(--glow-purple); position: relative; overflow: hidden; border: 1px solid rgba(157, 78, 221, 0.1); } .container::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--accent-purple), var(--accent-blue), transparent ); } h1 { color: var(--text-color); text-align: center; margin-bottom: 2rem; font-size: 2.8rem; letter-spacing: 2px; font-weight: 700; background: linear-gradient(120deg, #e6e6ff, var(--accent-purple), var(--accent-blue), #e6e6ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-size: 300% 100%; animation: gradient-shift 8s ease infinite; position: relative; } @keyframes gradient-shift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } form { position: relative; z-index: 1; } label { display: block; margin-bottom: 0.8rem; font-size: 1.1rem; color: var(--accent-purple); letter-spacing: 0.5px; font-weight: 500; opacity: 0.9; } input[type="text"] { width: 100%; padding: 0.9rem; border: 2px solid rgba(58, 134, 255, 0.2); border-radius: 12px; background-color: rgba(10, 10, 26, 0.5); color: var(--text-color); font-size: 2rem; box-sizing: border-box; transition: all 0.25s ease; text-align: center; margin-bottom: 1.2rem; box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1); } input[type="text"]:focus { outline: none; border-color: var(--accent-purple); box-shadow: 0 0 0 3px var(--glow-purple), inset 0 2px 5px rgba(0, 0, 0, 0.1); } button { display: block; width: 100%; padding: 0.9rem; background: linear-gradient(135deg, rgba(58, 134, 255, 0.9), rgba(157, 78, 221, 0.9) ); border: none; border-radius: 12px; color: white; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.5px; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; box-shadow: 0 4px 12px rgba(157, 78, 221, 0.3); } button::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent ); transform: translateX(-100%); transition: transform 0.6s ease; } button:hover::after { transform: translateX(100%); } button:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(157, 78, 221, 0.4); } button:active { transform: translateY(1px); } #result-container { margin-top: 2.5rem; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; z-index: 1; } #loading { display: none; text-align: center; width: 100%; } .loading-bar { height: 4px; width: 100%; position: relative; overflow: hidden; background-color: rgba(157, 78, 221, 0.2); border-radius: 2px; margin: 1.5rem 0; } .loading-bar::before { content: ""; position: absolute; left: -50%; height: 100%; width: 50%; background: linear-gradient(90deg, transparent, var(--accent-purple), var(--accent-blue) ); animation: loading 1.5s infinite ease; border-radius: 2px; } @keyframes loading { 0% { left: -50%; } 100% { left: 100%; } } .loading-text { font-size: 1rem; letter-spacing: 0.5px; color: rgba(230, 230, 255, 0.8); margin-bottom: 0.5rem; } .emoji-result { max-width: 100%; border-radius: 15px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3), 0 0 20px var(--glow-blue); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .emoji-result:hover { transform: scale(1.03); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 25px var(--glow-purple); } .error-message { color: #ff6b8b; text-align: center; font-size: 1rem; background-color: rgba(255, 107, 139, 0.08); padding: 0.9rem 1.2rem; border-radius: 10px; border-left: 3px solid rgba(255, 107, 139, 0.5); margin-top: 0.5rem; } /* Subtle pulsing glow on container */ @keyframes subtle-pulse { 0%, 100% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 15px var(--glow-purple); } 50% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 20px var(--glow-blue); } } .container { animation: subtle-pulse 8s infinite ease-in-out; } /* Responsive adjustments */ @media (max-width: 500px) { .container { padding: 2rem; } h1 { font-size: 2.2rem; } }