:root { --primary: #4F46E5; --primary-hover: #4338CA; --bg-gradient-start: #0f172a; --bg-gradient-end: #1e1b4b; --glass-bg: rgba(255, 255, 255, 0.05); --glass-border: rgba(255, 255, 255, 0.1); --text-main: #f8fafc; --text-muted: #94a3b8; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end)); color: var(--text-main); min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; } /* Typography */ h1 { font-size: 2.5rem; font-weight: 700; margin-bottom: 0.5rem; text-align: center; background: linear-gradient(to right, #818cf8, #c084fc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } p { color: var(--text-muted); text-align: center; margin-bottom: 2rem; } /* Glassmorphism Container */ .container { background: var(--glass-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--glass-border); border-radius: 1.5rem; padding: 3rem; width: 90%; max-width: 600px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); position: relative; z-index: 10; } /* Forms */ .form-group { margin-bottom: 1.5rem; position: relative; } label { display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.5rem; color: var(--text-muted); } input[type="text"], select { width: 100%; padding: 1rem 1.25rem; background: rgba(0, 0, 0, 0.2); border: 1px solid var(--glass-border); border-radius: 0.75rem; color: var(--text-main); font-size: 1rem; transition: all 0.3s ease; outline: none; } input[type="text"]:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1); background: rgba(0, 0, 0, 0.3); } select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1.5em; } select option { background: var(--bg-gradient-end); color: var(--text-main); } /* Buttons */ .btn { width: 100%; padding: 1rem; background: var(--primary); color: white; border: none; border-radius: 0.75rem; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .btn:hover { background: var(--primary-hover); transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.4); } .btn:active { transform: translateY(0); } /* Result Section */ .result-section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--glass-border); display: none; animation: fadeIn 0.5s ease; } .result-section.active { display: block; } .link-container { display: flex; gap: 0.5rem; } .link-container input { flex: 1; background: rgba(0, 0, 0, 0.4); } .btn-icon { width: auto; padding: 1rem; display: flex; align-items: center; justify-content: center; } /* Animation Styles (for search.html) */ .search-mockup { display: flex; flex-direction: column; align-items: center; width: 100%; } .mockup-logo { width: 250px; height: 80px; margin-bottom: 2rem; object-fit: contain; } .search-bar { width: 100%; max-width: 500px; position: relative; margin-bottom: 2rem; } .search-bar input { border-radius: 2rem; padding-left: 3rem; background: white; color: #1f2937; border: 1px solid #e5e7eb; pointer-events: none; /* Prevent manual interaction */ } .search-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #9ca3af; width: 1.25rem; height: 1.25rem; } .search-buttons { display: flex; gap: 1rem; } .search-btn { padding: 0.75rem 1.5rem; background: #f8f9fa; border: 1px solid #f8f9fa; color: #3c4043; border-radius: 0.25rem; font-size: 0.875rem; cursor: default; transition: all 0.2s; } .search-btn.active { border-color: #dadce0; box-shadow: 0 1px 1px rgba(0,0,0,.1); background-color: #f8f9fa; } /* The Cursor */ #fake-cursor { position: fixed; width: 24px; height: 24px; top: 80%; left: 80%; pointer-events: none; z-index: 9999; transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), top 0.8s cubic-bezier(0.25, 1, 0.5, 1), left 0.8s cubic-bezier(0.25, 1, 0.5, 1); filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.3)); } #fake-cursor.typing { /* When typing, cursor is stationary, but we might want a small pulse effect, though not necessary */ } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Decorational Orbs */ .orb { position: absolute; border-radius: 50%; filter: blur(80px); z-index: 1; opacity: 0.5; } .orb-1 { width: 300px; height: 300px; background: #4f46e5; top: -100px; left: -100px; animation: float 10s infinite ease-in-out alternate; } .orb-2 { width: 400px; height: 400px; background: #c084fc; bottom: -150px; right: -100px; animation: float 12s infinite ease-in-out alternate-reverse; } @keyframes float { 0% { transform: translate(0, 0); } 100% { transform: translate(50px, 50px); } }