@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap'); html, body { height: 100%; margin: 0; padding: 0; } body { height: 100vh; width: 100vw; overflow: hidden; font-family: 'Inter', Arial, sans-serif; background: #e0eafc; display: flex; } .main-layout { display: flex; width: 100%; height: 100%; } #map { flex: 1; height: 100vh; z-index: 1; } .container { flex: 0 0 480px; margin: auto 2rem; position: relative; top: auto; left: auto; transform: none; height: fit-content; background: rgba(255, 255, 255, 0.25); border-radius: 28px; box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37); padding: 3rem 2.5rem 2.5rem 2.5rem; max-width: 440px; width: 100%; text-align: center; z-index: 10; backdrop-filter: blur(12px) saturate(180%); border: 1.5px solid rgba(255,255,255,0.18); animation: floatIn 0.8s cubic-bezier(.68,-0.55,.27,1.55); } @keyframes floatIn { 0% { opacity: 0; transform: translateY(20px) scale(0.98); } 100% { opacity: 1; transform: translateY(0) scale(1); } } h1 { margin-bottom: 1.5rem; color: #185a9d; font-size: 2.3rem; letter-spacing: 1.5px; font-weight: 700; text-shadow: 0 2px 8px rgba(24,90,157,0.08); } form { display: flex; flex-direction: column; gap: 1.5rem; } label { font-weight: 600; color: #185a9d; margin-bottom: 0.3rem; text-align: left; font-size: 1.08rem; } input, select { padding: 1rem 0.9rem; border: 1.5px solid #b2dfdb; border-radius: 14px; font-size: 1.08rem; outline: none; background: rgba(255,255,255,0.7); transition: border 0.2s, box-shadow 0.2s; box-shadow: 0 2px 8px rgba(24,90,157,0.04); } input:focus, select:focus { border: 1.5px solid #185a9d; box-shadow: 0 0 0 3px #b2dfdb; } button { background: linear-gradient(90deg, #43cea2 0%, #185a9d 100%); color: #fff; border: none; border-radius: 14px; padding: 1.1rem; font-size: 1.18rem; font-weight: 700; cursor: pointer; margin-top: 0.7rem; transition: background 0.2s, transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 16px rgba(24,90,157,0.10); letter-spacing: 0.5px; } button:hover { background: linear-gradient(90deg, #185a9d 0%, #43cea2 100%); transform: translateY(-2px) scale(1.04); box-shadow: 0 8px 24px rgba(24,90,157,0.13); } .result { margin-top: 2.2rem; padding: 1.3rem; background: rgba(67,206,162,0.13); border-radius: 12px; color: #185a9d; font-size: 1.22rem; font-weight: 600; display: none; box-shadow: 0 2px 8px rgba(24,90,157,0.08); border: 1.2px solid #b2dfdb; } .button-link { display: inline-block; background: linear-gradient(90deg, #43cea2 0%, #185a9d 100%); color: #fff; border: none; border-radius: 14px; padding: 1.1rem; font-size: 1.18rem; font-weight: 700; cursor: pointer; margin-top: 0.7rem; transition: background 0.2s, transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 16px rgba(24,90,157,0.10); letter-spacing: 0.5px; text-decoration: none; text-align: center; } .button-link:hover { background: linear-gradient(90deg, #185a9d 0%, #43cea2 100%); transform: translateY(-2px) scale(1.04); box-shadow: 0 8px 24px rgba(24,90,157,0.13); } @media (max-width: 900px) { .main-layout { flex-direction: column; } .container { flex: 0 0 auto; width: 90%; margin: 1rem auto; } #map { flex: 1; height: 50vh; } } @media (max-width: 600px) { .container { max-width: 98vw; padding: 1.2rem 0.5rem 1rem 0.5rem; } h1 { font-size: 1.5rem; } input, select { font-size: 1rem; padding: 0.8rem 0.7rem; } button { font-size: 1rem; padding: 0.9rem; } }