.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:270;animation:fadeIn .3s ease-out}.modal-overlay--auth{padding:clamp(16px,4vw,40px);align-items:center}.modal-content{background-color:#fff;border-radius:12px;padding:24px;width:90%;max-width:420px;position:relative;box-shadow:0 4px 12px rgba(0,0,0,.2);text-align:center;animation:modalSlideUp .3s cubic-bezier(.22,1,.36,1) forwards;z-index:1001;will-change:transform,opacity}.modal-content--auth{width:min(500px,92vw);max-width:500px;padding:clamp(28px,5vw,36px);border-radius:14px}.modal-close{position:absolute;width:36px;height:36px;background:transparent;border:none;border-radius:50%;font-size:1.7rem;color:#000;cursor:pointer;transition:color .3s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;padding:.25rem;font-weight:700;transform-origin:50% 50%}.modal-close,.modal-content--auth .modal-close{top:12px;right:12px}.modal-close:hover{color:#111827;transform:rotate(90deg)}.modal-title{font-size:1.5rem;font-weight:700;color:#000;margin-bottom:8px}.modal-subtitle{font-size:.875rem;color:#77737a;margin:.5rem 0}.modal-form{display:flex;flex-direction:column;gap:.7rem;align-items:center}.entry-area{position:relative;width:100%}.entry-area input{width:100%;outline:none;font-size:1rem;border-radius:6px;border:2px solid #d1d5db;background-color:transparent;padding:12px 10px;transition:border-color .3s,box-shadow .3s}.entry-area input:focus{border-color:#007bff;box-shadow:0 0 8px rgba(0,123,255,.3)}.labelline{position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:1rem;color:#777;background-color:#fff;padding:2px 6px;transition:all .3s ease;pointer-events:none}.entry-area input:focus+.labelline,.entry-area input:not(:placeholder-shown)+.labelline{font-size:.75rem;top:8px;left:10px;color:#007bff}.modal-form button.primary{background-color:#000;color:#fff;border:none;padding:12px;font-size:.875rem;cursor:pointer;border-radius:6px;transition:background-color .3s;text-transform:uppercase;width:100%}.modal-form button.primary:hover{background-color:#333}.google-login-container{width:100%;display:flex;justify-content:center}.modal-form .forgot-password,.modal-form .join-now,.modal-form .terms{font-size:.875rem;color:#77737a;text-align:center}.modal-form .join-now button{background:none;border:none;color:#007bff;cursor:pointer;font-size:.875rem;text-decoration:underline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width:768px){.modal-content{max-width:450px}.modal-content--auth{max-width:540px}}@media (min-width:1024px){.modal-content{max-width:500px}.modal-content--auth{max-width:560px}}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 24px;background-color:#fff;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.google-btn:hover{background-color:#f8f9fa;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:18px;height:18px}