| """ | |
| Theme Module | |
| Dark theme CSS and styling. | |
| """ | |
| DARK_CSS = """ | |
| /* GitHub Dark Theme */ | |
| .gradio-container { background: #0d1117 !important; color: #c9d1d9 !important; } | |
| h1, h2, h3 { color: #58a6ff !important; } | |
| /* Inputs */ | |
| input, textarea, select { background: #0d1117 !important; border: 1px solid #30363d !important; color: #c9d1d9 !important; border-radius: 6px !important; } | |
| input:focus, textarea:focus { border-color: #58a6ff !important; } | |
| /* Buttons */ | |
| button { background: #21262d !important; border: 1px solid #30363d !important; color: #c9d1d9 !important; } | |
| button:hover { background: #30363d !important; } | |
| button.primary { background: #238636 !important; border-color: #238636 !important; color: #fff !important; } | |
| button.stop { background: #da3633 !important; border-color: #da3633 !important; color: #fff !important; } | |
| /* Tables */ | |
| table { background: #0d1117 !important; } | |
| th { background: #161b22 !important; color: #8b949e !important; } | |
| td { background: #0d1117 !important; color: #c9d1d9 !important; } | |
| tr:hover td { background: #161b22 !important; } | |
| /* Blocks */ | |
| .block { background: #161b22 !important; border: 1px solid #30363d !important; } | |
| pre, code { background: #161b22 !important; color: #79c0ff !important; } | |
| /* Tabs */ | |
| .tab-nav button { background: #21262d !important; color: #8b949e !important; } | |
| .tab-nav button.selected { background: #0d1117 !important; color: #58a6ff !important; border-bottom: 2px solid #58a6ff !important; } | |
| /* Sidebar */ | |
| .folder-tree { background: #0d1117 !important; border: 1px solid #30363d !important; border-radius: 8px !important; padding: 10px !important; font-family: 'Consolas', monospace !important; } | |
| .folder-tree table { background: transparent !important; } | |
| .folder-tree td { padding: 4px 8px !important; cursor: pointer !important; } | |
| .folder-tree tr:hover td { background: #21262d !important; } | |
| /* Toolbar */ | |
| .toolbar { background: #161b22 !important; border: 1px solid #30363d !important; border-radius: 8px !important; padding: 8px !important; } | |
| /* Status */ | |
| .status { background: #161b22 !important; border: 1px solid #30363d !important; color: #8b949e !important; font-size: 12px !important; } | |
| /* Breadcrumb */ | |
| .breadcrumb { background: #161b22 !important; color: #58a6ff !important; font-family: monospace !important; } | |
| /* Home cards */ | |
| .home-card { background: #161b22 !important; border: 1px solid #30363d !important; border-radius: 12px !important; padding: 20px !important; } | |
| /* Scrollbar */ | |
| ::-webkit-scrollbar { width: 8px; } | |
| ::-webkit-scrollbar-track { background: #0d1117; } | |
| ::-webkit-scrollbar-thumb { background: #30363d; border-radius: 4px; } | |
| label { color: #8b949e !important; } | |
| """ | |
| def get_theme(): | |
| """Get Gradio theme configuration""" | |
| import gradio as gr | |
| return gr.themes.Base().set( | |
| body_background_fill="#0d1117", | |
| block_background_fill="#161b22", | |
| border_color_primary="#30363d", | |
| ) | |