 @import url('https://fonts.googleapis.com/css2?family=Inter&display=swap');
        body {
            font-family: 'Inter', sans-serif;
            background: linear-gradient(135deg, #0a0f20 0%, #1a2a44 100%);
            min-height: 100vh;
            color: #e5e7eb;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        #splash {
            position: fixed;
            inset: 0;
            background: #0a0f20;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 50;
            flex-direction: column;
            color: #e5e7eb;
        }
        #loadingText {
            font-size: 1rem;
            margin-top: 1rem;
            font-weight: 600;
            color: #3b82f6;
        }
        .dot-loader {
            display: flex;
            gap: 0.5rem;
            margin-top: 1.5rem;
        }
        .dot-loader span {
            width: 12px;
            height: 12px;
            background-color: #3b82f6;
            border-radius: 50%;
            animation: dotPulse 1.2s infinite ease-in-out;
        }
        .dot-loader span:nth-child(2) {
            animation-delay: 0.2s;
        }
        .dot-loader span:nth-child(3) {
            animation-delay: 0.4s;
        }
        @keyframes dotPulse {
            0%, 80%, 100% {
                transform: scale(0.7);
                opacity: 0.5;
            }
            40% {
                transform: scale(1.2);
                opacity: 1;
            }
        }
        
         .info-section {
            background: #1e293b;
            border: 1px solid #334155;
            border-radius: 12px;
            padding: 1.5rem 2rem;
            margin-top: 1.5rem;
            color: #bfdbfe;
            box-shadow: 0 8px 16px rgba(59, 130, 246, 0.2);
        }
        .info-section h2 {
            font-weight: 700;
            font-size: 1.25rem;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            color: #3b82f6;
        }
        .info-section h2 i {
            margin-right: 0.5rem;
            color: #2563eb;
        }
        .info-section ul {
            font-size: 0.9rem;
            line-height: 1.5;
            color: #bfdbfe;
        }
        .info-section ul li {
            margin-bottom: 0.5rem;
            list-style-type: disc;
            margin-left: 1.25rem;
        }
        .bg-[#1e293b] {
            background-color: #1e293b !important;
        }
        .border-[#334155] {
            border-color: #334155 !important;
        }
        #generateBtn {
            background: linear-gradient(to right, #3b82f6, #1e40af);
            box-shadow: 0 0 10px #1e40af;
        }
        #generateBtn:hover {
            filter: brightness(1.1);
        }
        #modalOverlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(6px);
            z-index: 100;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        #modalOverlay.active {
            display: flex;
            opacity: 1;
            pointer-events: auto;
        }
        #modal {
            background: #1e293b;
            border-radius: 16px;
            padding: 2rem 2.5rem;
            max-width: 360px;
            text-align: center;
            color: #e5e7eb;
            box-shadow: 0 12px 30px rgba(59, 130, 246, 0.3);
            position: relative;
            transform: translateY(-20px);
            opacity: 0;
            transition: all 0.3s ease;
        }
        #modalOverlay.active #modal {
            transform: translateY(0);
            opacity: 1;
        }
        #modal h3 {
            font-size: 1.4rem;
            margin-bottom: 1rem;
            color: #3b82f6;
            font-weight: 700;
        }
        #modal p {
            margin-bottom: 1.5rem;
            font-size: 1rem;
            line-height: 1.5;
            color: #bfdbfe;
        }
        #modal button.closeBtn {
            background: #2563eb;
            border: none;
            color: white;
            font-weight: 600;
            padding: 0.65rem 1.5rem;
            border-radius: 12px;
            cursor: pointer;
            font-size: 1rem;
            box-shadow: 0 0 12px rgba(37, 99, 235, 0.5);
            transition: background-color 0.3s ease, box-shadow 0.3s ease;
        }
        #modal button.closeBtn:hover {
            background: #1e40af;
            box-shadow: 0 0 18px rgba(37, 99, 235, 0.5);
        }
        .key-display {
    background: #361111;
    padding: 0.75rem;
    border-radius: 0.5rem;
    font-size: 1rem;
    color: #fef2f2;
    word-break: break-all;
    margin-bottom: 1.5rem;
}