| import gradio as gr |
| import os |
|
|
|
|
| CUSTOM_CSS = """ |
| @import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css'); |
| body, .gradio-container { |
| font-family: 'Vazirmatn', Tahoma, sans-serif !important; |
| background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%) !important; |
| background-attachment: fixed !important; |
| } |
| .glass-panel { |
| background: rgba(255, 255, 255, 0.85) !important; |
| backdrop-filter: blur(16px) !important; |
| -webkit-backdrop-filter: blur(16px) !important; |
| border-radius: 20px !important; |
| border: 1px solid rgba(255, 255, 255, 0.6) !important; |
| box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1) !important; |
| padding: 25px !important; |
| margin-bottom: 25px !important; |
| transition: transform 0.3s ease, box-shadow 0.3s ease !important; |
| } |
| .glass-panel:hover { |
| box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.15) !important; |
| } |
| .login-box { max-width: 450px !important; margin: 80px auto !important; text-align: center; } |
| .header-text { background: linear-gradient(45deg, #1565c0, #00acc1); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 900; text-align: center; font-size: 2.2em; margin-bottom: 5px; } |
| .primary-btn { background: linear-gradient(45deg, #1b6ca8, #4facfe) !important; border: none !important; color: white !important; font-weight: bold !important; font-size: 16px !important; border-radius: 12px !important; box-shadow: 0 4px 15px rgba(27,108,168,0.3) !important; transition: all 0.3s ease !important; } |
| .primary-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 25px rgba(27,108,168,0.5) !important; } |
| .secondary-btn { border-radius: 12px !important; transition: all 0.3s ease !important; background: white !important; color: #1b6ca8 !important; border: 2px solid #1b6ca8 !important; } |
| .secondary-btn:hover { background: #f0f8ff !important; transform: translateY(-2px) !important; } |
| .section-title { color: #0f172a; font-weight: bold; border-bottom: 2px solid #e2e8f0; padding-bottom: 10px; margin-bottom: 20px; } |
| textarea, input { border-radius: 12px !important; border: 1px solid #cbd5e1 !important; } |
| textarea:focus, input:focus { border-color: #3b82f6 !important; box-shadow: 0 0 0 3px rgba(59,130,246,0.2) !important; } |
| .tabs { background: transparent !important; border: none !important; } |
| .tab-nav { border-bottom: 2px solid #e2e8f0 !important; margin-bottom: 15px !important; } |
| .tab-nav button.selected { color: #1b6ca8 !important; border-bottom: 3px solid #1b6ca8 !important; font-weight: bold !important; } |
| """ |
| |
| |
| theme = gr.themes.Soft( |
| primary_hue="blue", |
| secondary_hue="cyan", |
| font=[gr.themes.GoogleFont("Vazirmatn"), "Arial", "sans-serif"] |
| ) |
| |
| |
| demo = gr.load( |
| "spaces/Feri007/GIapp-private", |
| hf_token=os.environ.get("HF_TOKEN") |
| ) |
| |
| |
| demo.css = CUSTOM_CSS |
| demo.theme = theme |
| |
| |
| if __name__ == "__main__": |
| demo.launch() |