# Custom CSS for the Gradio interface custom_css = """ .gradio-container { font-family: 'Noto Sans', 'Vazirmatn', sans-serif; background-color: #F7F7F7; color: #333333; } .primary-btn { background-color: #2D8EFF !important; color: white !important; border: none !important; padding: 10px 20px !important; border-radius: 5px !important; } .secondary-btn { background-color: #34B233 !important; color: white !important; } .error-text { color: #FF6B6B !important; } /* Input/Output containers */ .input-container, .output-container { padding: 20px; background: white; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } /* RTL Support */ [dir="rtl"] { text-align: right; } /* Responsive Design */ @media (max-width: 768px) { .gradio-container { padding: 10px; } .input-container, .output-container { padding: 15px; } } /* Loading State */ .loading { border: 2px solid #2D8EFF; border-radius: 50%; border-top: 2px solid transparent; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #2D8EFF; border-radius: 4px; } /* Font imports */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap'); @import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css'); """