import gradio as gr from app_playai import demo as demo_playai from app_allenai import demo as demo_allenai from app_claude import demo as demo_claude from app_experimental import demo as demo_experimental from app_fireworks import demo as demo_fireworks from app_flux import demo as demo_flux from app_gemini import demo as demo_gemini from app_groq import demo as demo_groq from app_hyperbolic import demo as demo_hyperbolic from app_ltx_video import demo as demo_ltx_video from app_marco_o1 import demo as demo_marco_o1 from app_mistral import demo as demo_mistral from app_nvidia import demo as demo_nvidia from app_openai import demo as demo_openai from app_perplexity import demo as demo_perplexity from app_qwen import demo as demo_qwen from app_sambanova import demo as demo_sambanova from app_together import demo as demo_together from app_xai import demo as demo_grok # Advanced theme configuration with enhanced animations css = """ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap'); @keyframes gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-10px) rotate(1deg); } 100% { transform: translateY(0px) rotate(0deg); } } @keyframes glow { 0% { text-shadow: 0 0 10px rgba(255,255,255,0.8), 0 0 20px rgba(255,255,255,0.8), 0 0 30px rgba(255,255,255,0.8); } 50% { text-shadow: 0 0 20px rgba(255,255,255,0.8), 0 0 30px rgba(255,255,255,0.8), 0 0 40px rgba(255,255,255,0.8); } 100% { text-shadow: 0 0 10px rgba(255,255,255,0.8), 0 0 20px rgba(255,255,255,0.8), 0 0 30px rgba(255,255,255,0.8); } } @keyframes fadeInBlur { from { opacity: 0; transform: translateY(20px) scale(0.98); filter: blur(10px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } } @keyframes cyber-glow { 0% { box-shadow: 0 0 5px #0ff, 0 0 10px #0ff, 0 0 15px #0ff; } 50% { box-shadow: 0 0 10px #f0f, 0 0 20px #f0f, 0 0 30px #f0f; } 100% { box-shadow: 0 0 5px #0ff, 0 0 10px #0ff, 0 0 15px #0ff; } } :root { --background-fill-primary: #0a0b1e; --border-color-primary: #2a2b4a; --neon-blue: #0ff; --neon-purple: #f0f; --space-black: #0a0b1e; } * { font-family: 'Space Grotesk', sans-serif; } body { background: radial-gradient(circle at center, #1a1b3e 0%, #0a0b1e 100%); color: #fff; } #custom-header { background: linear-gradient(135deg, rgba(42, 43, 74, 0.7), rgba(10, 11, 30, 0.7)); backdrop-filter: blur(20px); padding: 2.5rem; border-radius: 20px; margin: 1.5rem; box-shadow: 0 0 30px rgba(0, 255, 255, 0.1); border: 1px solid rgba(0, 255, 255, 0.1); position: relative; overflow: hidden; } #custom-header::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle at center, rgba(0, 255, 255, 0.1) 0%, transparent 50%); animation: gradient 15s linear infinite; } #custom-header h1 { color: white; font-size: 3.5rem; margin: 0; text-align: center; font-weight: 700; letter-spacing: 2px; animation: float 6s ease-in-out infinite, glow 3s ease-in-out infinite; position: relative; z-index: 1; } #custom-header p { color: var(--neon-blue); text-align: center; margin: 1rem 0 0 0; font-size: 1.3rem; opacity: 0.9; letter-spacing: 1px; text-transform: uppercase; } .tab-nav { background: rgba(42, 43, 74, 0.7) !important; backdrop-filter: blur(20px) !important; border-radius: 15px !important; padding: 1rem !important; margin: 1rem !important; border: 1px solid rgba(0, 255, 255, 0.1) !important; animation: cyber-glow 4s infinite alternate !important; } .tab-nav button { color: white !important; border-radius: 10px !important; margin: 0.4rem !important; padding: 1rem 1.5rem !important; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; background: rgba(10, 11, 30, 0.7) !important; border: 1px solid rgba(0, 255, 255, 0.2) !important; text-transform: uppercase !important; letter-spacing: 1px !important; font-weight: 500 !important; } .tab-nav button:hover { transform: translateY(-3px) scale(1.02) !important; background: rgba(0, 255, 255, 0.1) !important; border-color: var(--neon-blue) !important; box-shadow: 0 0 20px rgba(0, 255, 255, 0.3) !important; } .tab-nav button.selected { background: linear-gradient(135deg, rgba(0, 255, 255, 0.2), rgba(255, 0, 255, 0.2)) !important; border: 1px solid var(--neon-blue) !important; box-shadow: 0 0 20px rgba(0, 255, 255, 0.4) !important; } .message { border-radius: 15px !important; padding: 1.5rem !important; margin: 1rem 0 !important; background: rgba(42, 43, 74, 0.3) !important; backdrop-filter: blur(10px) !important; border: 1px solid rgba(0, 255, 255, 0.1) !important; animation: fadeInBlur 0.5s ease-out !important; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; } .message:hover { transform: translateY(-3px) scale(1.01) !important; box-shadow: 0 0 30px rgba(0, 255, 255, 0.2) !important; } .user-message { background: linear-gradient(135deg, rgba(0, 255, 255, 0.1), rgba(42, 43, 74, 0.3)) !important; border-left: 4px solid var(--neon-blue) !important; } .bot-message { background: linear-gradient(135deg, rgba(255, 0, 255, 0.1), rgba(42, 43, 74, 0.3)) !important; border-left: 4px solid var(--neon-purple) !important; } textarea, input[type="text"] { background: rgba(10, 11, 30, 0.7) !important; border: 1px solid rgba(0, 255, 255, 0.2) !important; border-radius: 12px !important; color: white !important; backdrop-filter: blur(10px) !important; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; font-family: 'Space Grotesk', sans-serif !important; } textarea:focus, input[type="text"]:focus { border-color: var(--neon-blue) !important; box-shadow: 0 0 20px rgba(0, 255, 255, 0.2) !important; transform: translateY(-2px) !important; } ::-webkit-scrollbar { width: 12px; height: 12px; background: var(--space-black); } ::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--neon-blue), var(--neon-purple)); border-radius: 6px; border: 3px solid var(--space-black); } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(135deg, var(--neon-purple), var(--neon-blue)); } .loading-container { position: relative; width: 50px; height: 50px; } @keyframes neural-pulse { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.5); opacity: 0; } 100% { transform: scale(1); opacity: 0.5; } } .neural-node { position: absolute; width: 4px; height: 4px; background: var(--neon-blue); border-radius: 50%; animation: neural-pulse 2s infinite; } """ with gr.Blocks(css=css, theme=gr.themes.Soft()) as demo: with gr.Column(): gr.HTML("""
Advanced Neural Interface for Multi-Model AI Communication