@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;800&display=swap'); * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; display: flex; justify-content: center; align-items: center; background: radial-gradient(circle at top left, rgba(41, 128, 185, 0.30), transparent 24%), radial-gradient(circle at bottom right, rgba(243, 156, 18, 0.24), transparent 26%), linear-gradient(135deg, #06111d 0%, #0f2f56 44%, #121a36 100%); font-family: 'Montserrat', sans-serif; overflow-x: hidden; } body::before, body::after { content: ''; position: fixed; border-radius: 50%; pointer-events: none; filter: blur(80px); opacity: 0.30; } body::before { width: 380px; height: 380px; top: -120px; left: -100px; background: rgba(41, 128, 185, 0.45); } body::after { width: 420px; height: 420px; bottom: -140px; right: -120px; background: rgba(243, 156, 18, 0.38); } h1 { font-weight: 800; margin: 0; color: #f4f7fb; text-shadow: 0 10px 25px rgba(0,0,0,0.45); letter-spacing: 0.4px; } p { font-size: 14px; font-weight: 300; line-height: 22px; letter-spacing: 0.4px; margin: 20px 0 30px; color: #d0d7e0; } span { font-size: 12px; color: #b8c7d0; } a { color: #f1c40f; font-size: 14px; text-decoration: none; margin: 15px 0; font-weight: 700; } .container { position: relative; width: 820px; max-width: 100%; min-height: 520px; border-radius: 32px; overflow: hidden; background: rgba(9, 18, 35, 0.92); border: 1px solid rgba(255,255,255,0.10); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45); } .container::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0.04), transparent 35%); pointer-events: none; } .form-container { position: absolute; top: 0; height: 100%; transition: all 0.7s ease-in-out; } .sign-in-container, .sign-up-container { width: 50%; display: flex; align-items: center; justify-content: center; padding: 0 60px; } .sign-in-container { left: 0; z-index: 2; } .container.right-panel-active .sign-in-container { transform: translateX(100%); opacity: 0; pointer-events: none; } .sign-up-container { left: 0; opacity: 0; pointer-events: none; } .container.right-panel-active .sign-up-container { transform: translateX(100%); opacity: 1; z-index: 5; pointer-events: auto; } form { width: 100%; max-width: 380px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: 28px; box-shadow: 0 20px 45px rgba(0,0,0,0.30); padding: 46px 34px; display: flex; flex-direction: column; align-items: center; text-align: center; backdrop-filter: blur(18px); } input { width: 100%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.16); color: #f4f7fb; padding: 15px 18px; margin: 10px 0; border-radius: 16px; outline: none; transition: all 0.3s ease; } input::placeholder { color: rgba(244,247,251,0.7); } input:focus { border-color: rgba(241,196,15,0.9); background: rgba(255,255,255,0.13); } button { width: 100%; border: none; border-radius: 999px; padding: 16px 24px; margin-top: 18px; font-size: 14px; font-weight: 800; letter-spacing: 0.8px; color: #08101a; background: linear-gradient(135deg, #f1c40f 0%, #f39c12 100%); cursor: pointer; transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease; box-shadow: 0 18px 30px rgba(243,156,18,0.28); } button:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 22px 36px rgba(243,156,18,0.36); } button:active { transform: translateY(0); } button.ghost { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.26); color: #f4f7fb; } .overlay-container { position: absolute; top: 0; left: 50%; width: 50%; height: 100%; overflow: hidden; transition: transform 0.7s ease-in-out; z-index: 100; } .container.right-panel-active .overlay-container { transform: translateX(-100%); } overlay { position: relative; background: linear-gradient(135deg, rgba(41,128,185,0.96), rgba(169,50,38,0.96)); color: #fff; height: 100%; width: 200%; transform: translateX(0); transition: transform 0.7s ease-in-out; } .container.right-panel-active .overlay { transform: translateX(50%); } overlay::before { content: ''; position: absolute; width: 260px; height: 260px; border-radius: 50%; top: -90px; right: 90px; background: rgba(255,255,255,0.12); } overlay-panel { position: absolute; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 0 40px; text-align: center; top: 0; height: 100%; width: 50%; transition: transform 0.7s ease-in-out; } .overlay-left { transform: translateX(-20%); } .container.right-panel-active .overlay-left { transform: translateX(0); } .overlay-right { right: 0; transform: translateX(0); } .container.right-panel-active .overlay-right { transform: translateX(20%); } overlay-panel h1, .overlay-panel p, .overlay-panel button { color: #ffffff; } overlay-panel button { background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.28); } .mobile-text { display: none; margin-top: 25px; font-size: 14px; color: #ffffff; } .mobile-text a { color: #f1c40f; font-weight: 700; } @media (max-width: 768px) { body { padding: 20px; } .container { width: 100%; max-width: 420px; min-height: 650px; } .overlay-container { display: none; } .sign-in-container, .sign-up-container { width: 100%; } .sign-up-container { transform: translateX(100%); opacity: 1; z-index: 5; pointer-events: auto; } .container.right-panel-active .sign-in-container { transform: translateX(-100%); opacity: 0; } .container.right-panel-active .sign-up-container { transform: translateX(0); } form { padding: 0 24px; } .mobile-text { display: block; } }