        body {
            font-family: 'Inter', sans-serif;
            background-color: #f0f4f8;
            /* Light blue-gray background */
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            margin: 0;
        }

        .container {
            background-color: #ffffff;
            padding: 2.5rem;
            border-radius: 1.5rem;
            /* More rounded corners */
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            max-width: 500px;
            width: 90%;
            text-align: center;
            border: 1px solid #e2e8f0;
            /* Subtle border */
        }

        input[type="number"] {
            padding: 0.75rem 1rem;
            border: 2px solid #cbd5e1;
            /* Slightly darker border */
            border-radius: 0.75rem;
            /* Rounded input */
            width: calc(100% - 2rem);
            /* Account for padding */
            font-size: 1rem;
            color: #334155;
            transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
            text-align: center;
        }

        input[type="number"]:focus {
            outline: none;
            border-color: #6366f1;
            /* Indigo on focus */
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3);
            /* Soft focus ring */
        }

        button {
            background: linear-gradient(to right, #6366f1, #8b5cf6);
            /* Gradient button */
            color: white;
            padding: 0.85rem 1.75rem;
            border: none;
            border-radius: 0.75rem;
            /* Rounded button */
            font-size: 1.1rem;
            font-weight: 600;
            cursor: pointer;
            transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
            box-shadow: 0 5px 15px rgba(99, 102, 241, 0.3);
            margin-top: 1.5rem;
            width: 100%;
        }

        button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(99, 102, 241, 0.4);
        }

        button:active {
            transform: translateY(0);
            box-shadow: 0 3px 10px rgba(99, 102, 241, 0.2);
        }

        #results {
            margin-top: 2rem;
            padding: 1.5rem;
            padding-top: 10px;
            background-color: #f8fafc;
            /* Lighter background for results */
            border-radius: 1rem;
            min-height: 100px;
            text-align: left;
            border: 1px dashed #cbd5e1;
            /* Dashed border for results */
            color: #475569;
            font-size: 1rem;
            line-height: 1.6;
            overflow-y: auto;
            /* Enable scrolling for many results */
            max-height: 300px;
            /* Max height for scrollable area */
        }

        h1 {
            color: #1e293b;
            /* Darker heading */
            font-size: 2.25rem;
            font-weight: 700;
            margin-bottom: 1.5rem;
            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.05);
        }

        p {
            color: #475569;
            margin-bottom: 1.5rem;
            font-size: 1.1rem;
        }

        .error-message {
            color: #ef4444;
            /* Red for errors */
            margin-top: 1rem;
            font-weight: 500;
        }