
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .card-gradient {
            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
        }
		.mb-12 {
			margin-bottom: 1rem;
		}
		.py-8 {
			padding-top: 1rem;
			padding-bottom: 1rem;
		}
		.py-4 {
			padding-top: 2rem;
			padding-bottom: 2rem;
		}
        .loader {
            border: 3px solid #f3f3f3;
            border-top: 3px solid #667eea;
            border-radius: 50%;
            width: 30px;
            height: 30px;
            animation: spin 1s linear infinite;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .pulse {
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: .5; }
        }
        .slide-up {
            animation: slideUp 0.5s ease-out;
        }
        @keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .glow {
            box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);
        }
		   /* Add this new fade-slide animation for smoother effect */
    .fade-slide-in {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeSlideIn 0.8s ease forwards;
    }

    @keyframes fadeSlideIn {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
	#manualResults {
    min-height: 200px; /* Reserve space to prevent layout shift */
    transition: opacity 0.4s ease;
}
.ip-address {
  max-width: 100%;
  word-break: break-word;   /* allows wrapping anywhere */
  overflow-wrap: anywhere;  /* for longer IPv6 */
  white-space: normal;      /* enable wrapping */
  font-size: 0.95rem;       /* slightly smaller font */
  box-shadow: 0 0 5px rgba(0,0,0,0.1); /* subtle shadow */
  color: #1f2937;           /* dark slate gray */
  user-select: all;         /* easy copy */
  background-color:rgba(255,255,255,var(--tw-bg-opacity));
}

		.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #667eea;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
