body {
            background-color: #03030b;
            color: #ffffff;
            min-height: 100vh;
            overflow-x: hidden;
            background-image: 
                radial-gradient(circle at 15% 50%, rgba(138, 43, 226, 0.15) 0%, transparent 40%),
                radial-gradient(circle at 85% 30%, rgba(75, 0, 130, 0.2) 0%, transparent 40%);
            background-attachment: fixed;
        }

        /* Animated Stars Background */
        #stars-container {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            z-index: -1;
            pointer-events: none;
        }
        .star {
            position: absolute;
            background: #ffffff;
            border-radius: 50%;
            box-shadow: 0 0 4px #ffffff;
        }

        /* Glassmorphism UI */
        .glass-card {
            background: rgba(20, 20, 50, 0.4);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .input-field {
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: white;
            transition: all 0.3s ease;
        }
        .input-field:focus {
            outline: none;
            border-color: #8A2BE2;
            background: rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
        }
        .input-field::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        /* Custom Selects */
        select.input-field {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.75rem center;
            background-size: 1em;
            cursor: pointer;
        }
        select.input-field option {
            background: #0a0a1a;
            color: white;
        }

        /* Steps Animation */
        .step {
            display: none;
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }
        .step.active {
            display: block;
            opacity: 1;
            transform: translateY(0);
        }

        /* Autocomplete Suggestions */
        .autocomplete-dropdown {
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            right: 0;
            background: rgba(10, 10, 26, 0.95);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(138, 43, 226, 0.3);
            border-radius: 0.5rem;
            max-height: 200px;
            overflow-y: auto;
            z-index: 50;
            display: none;
            box-shadow: 0 10px 25px rgba(0,0,0,0.5);
        }
        .autocomplete-item {
            padding: 0.75rem 1rem;
            cursor: pointer;
            transition: background 0.2s;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            font-size: 0.9rem;
        }
        .autocomplete-item:last-child {
            border-bottom: none;
        }
        .autocomplete-item:hover {
            background: rgba(138, 43, 226, 0.2);
            color: #F3E5AB;
        }

        /* Tags */
        .theme-tag {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
            cursor: pointer;
            user-select: none;
        }
        .theme-tag:hover {
            background: rgba(255, 255, 255, 0.1);
        }
        .theme-tag.selected {
            background: rgba(138, 43, 226, 0.3);
            border-color: #8A2BE2;
            color: #F3E5AB;
            box-shadow: 0 0 15px rgba(138, 43, 226, 0.2);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); }
        ::-webkit-scrollbar-thumb { background: rgba(138,43,226,0.5); border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: rgba(138,43,226,0.8); }

        .loader-spinner {
            border: 3px solid rgba(255,255,255,0.1);
            border-radius: 50%;
            border-top: 3px solid #8A2BE2;
            width: 20px;
            height: 20px;
            animation: spin 1s linear infinite;
        }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }