/* Import Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); /* Main gradient background - Instagram inspired */ .gradio-container { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; font-family: 'Poppins', sans-serif !important; min-height: 100vh !important; } /* Alternative Instagram gradients */ .gradio-container.alt-gradient-1 { background: linear-gradient(45deg, #f093fb 0%, #f5576c 100%) !important; } .gradio-container.alt-gradient-2 { background: linear-gradient(45deg, #4facfe 0%, #00f2fe 100%) !important; } .gradio-container.alt-gradient-3 { background: linear-gradient(45deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%) !important; } /* Glass morphism container */ .contain { background: rgba(255, 255, 255, 0.1) !important; backdrop-filter: blur(10px) !important; border-radius: 20px !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37) !important; margin: 20px !important; padding: 30px !important; } /* Title styling with Instagram colors */ h1 { background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #f9ca24) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; text-align: center !important; font-weight: 700 !important; font-size: 2.5rem !important; margin-bottom: 1rem !important; text-shadow: 0 4px 8px rgba(0,0,0,0.1) !important; animation: titleGlow 2s ease-in-out infinite alternate !important; } @keyframes titleGlow { from { filter: drop-shadow(0 0 10px rgba(255, 107, 107, 0.3)); } to { filter: drop-shadow(0 0 20px rgba(78, 205, 196, 0.4)); } } /* Input styling with Instagram vibes */ .gr-textbox { background: rgba(255, 255, 255, 0.9) !important; border-radius: 25px !important; border: 2px solid transparent !important; background-clip: padding-box !important; box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important; font-size: 16px !important; padding: 15px 20px !important; transition: all 0.3s ease !important; font-family: 'Poppins', sans-serif !important; } .gr-textbox:focus { border: 2px solid #4ecdc4 !important; box-shadow: 0 4px 20px rgba(78, 205, 196, 0.3) !important; transform: translateY(-2px) !important; background: rgba(255, 255, 255, 0.95) !important; } .gr-textbox::placeholder { color: #999 !important; font-style: italic !important; } /* Button styling with Instagram gradient */ .gr-button { background: linear-gradient(45deg, #ff6b6b, #4ecdc4) !important; border: none !important; border-radius: 25px !important; color: white !important; font-weight: 600 !important; font-size: 18px !important; padding: 15px 30px !important; box-shadow: 0 6px 20px rgba(255, 107, 107, 0.3) !important; transition: all 0.3s ease !important; text-transform: uppercase !important; letter-spacing: 1px !important; cursor: pointer !important; font-family: 'Poppins', sans-serif !important; } .gr-button:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4) !important; background: linear-gradient(45deg, #ff5252, #26a69a) !important; } .gr-button:active { transform: translateY(-1px) !important; } /* Output textbox styling */ .gr-textbox[data-testid="textbox"] { background: rgba(255, 255, 255, 0.95) !important; border-radius: 20px !important; border: 1px solid rgba(255, 255, 255, 0.3) !important; font-size: 16px !important; line-height: 1.6 !important; padding: 20px !important; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1) !important; } /* Examples styling */ .gr-examples { background: rgba(255, 255, 255, 0.1) !important; border-radius: 15px !important; padding: 20px !important; backdrop-filter: blur(5px) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; } .gr-examples .gr-button { background: rgba(255, 255, 255, 0.2) !important; border: 1px solid rgba(255, 255, 255, 0.3) !important; border-radius: 20px !important; color: white !important; transition: all 0.3s ease !important; font-size: 14px !important; padding: 10px 20px !important; margin: 5px !important; } .gr-examples .gr-button:hover { background: rgba(255, 255, 255, 0.3) !important; transform: translateY(-1px) !important; } /* Labels styling */ .gr-label { color: white !important; font-weight: 500 !important; font-size: 16px !important; margin-bottom: 8px !important; font-family: 'Poppins', sans-serif !important; } /* Markdown styling */ .gr-markdown { color: white !important; font-size: 16px !important; line-height: 1.6 !important; font-family: 'Poppins', sans-serif !important; } .gr-markdown h3 { color: #4ecdc4 !important; font-weight: 600 !important; margin-top: 20px !important; text-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; } .gr-markdown strong { color: #ff6b6b !important; font-weight: 600 !important; } /* Copy button styling */ .gr-copy-button { background: linear-gradient(45deg, #45b7d1, #f9ca24) !important; border: none !important; border-radius: 10px !important; color: white !important; font-weight: 500 !important; transition: all 0.3s ease !important; } .gr-copy-button:hover { background: linear-gradient(45deg, #2196f3, #ff9800) !important; transform: scale(1.05) !important; } /* Scrollbar styling */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); border-radius: 10px; } ::-webkit-scrollbar-thumb { background: linear-gradient(45deg, #ff6b6b, #4ecdc4); border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(45deg, #ff5252, #26a69a); } /* Loading animation */ @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } .gr-button.loading { animation: pulse 1.5s ease-in-out infinite; } /* Floating animation for buttons */ @keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } } .gr-button { animation: float 3s ease-in-out infinite; } /* Row and column spacing */ .gr-row { gap: 20px !important; } .gr-column { padding: 10px !important; } /* Mobile responsiveness */ @media (max-width: 768px) { .contain { margin: 10px !important; padding: 20px !important; } h1 { font-size: 2rem !important; } .gr-button { font-size: 16px !important; padding: 12px 25px !important; } .gr-textbox { font-size: 14px !important; } } /* Success and error states */ .success { border-left: 4px solid #4caf50 !important; background: rgba(76, 175, 80, 0.1) !important; } .error { border-left: 4px solid #f44336 !important; background: rgba(244, 67, 54, 0.1) !important; } /* Hover effects for containers */ .contain:hover { transform: translateY(-2px) !important; box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.5) !important; transition: all 0.3s ease !important; } /* Gradient text for special elements */ .gradient-text { background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #f9ca24) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; font-weight: 600 !important; } /* Icon styling */ .icon { font-size: 1.2em !important; margin-right: 8px !important; vertical-align: middle !important; } /* Notification styling */ .notification { position: fixed; top: 20px; right: 20px; background: rgba(255, 255, 255, 0.9); border-radius: 15px; padding: 15px 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); z-index: 1000; animation: slideIn 0.3s ease-out; } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }