Spaces:
Running
Running
/* Define CSS Variables for Themes */ | |
:root { | |
--background-color: #FFFFFF; | |
--text-color: #000000; | |
--success-color: #4CAF50; | |
--error-color: #D32F2F; | |
--card-shadow: rgba(0, 0, 0, 0.2); | |
} | |
.dark-theme { | |
--background-color: #121212; | |
--text-color: #FFFFFF; | |
--success-color: #81C784; | |
--error-color: #E57373; | |
--card-shadow: rgba(255, 255, 255, 0.2); | |
} | |
/* Apply Background and Text Colors */ | |
body { | |
background-color: var(--background-color); | |
color: var(--text-color); | |
transition: background-color 0.3s, color 0.3s; | |
} | |
/* Card Styles */ | |
.card { | |
box-shadow: 0 4px 8px 0 var(--card-shadow); | |
transition: box-shadow 0.3s, background-color 0.3s; | |
background-color: var(--background-color); | |
padding: 10px; | |
margin: 10px; | |
border-radius: 5px; | |
} | |
.card:hover { | |
box-shadow: 0 8px 16px 0 var(--card-shadow); | |
} | |
/* Toggle Switch Styles */ | |
.theme-toggle { | |
display: flex; | |
align-items: center; | |
justify-content: flex-end; | |
padding: 10px; | |
} | |
.switch { | |
position: relative; | |
display: inline-block; | |
width: 60px; | |
height: 34px; | |
} | |
.switch input { | |
opacity: 0; | |
width: 0; | |
height: 0; | |
} | |
.slider { | |
position: absolute; | |
cursor: pointer; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
background-color: #ccc; | |
transition: .4s; | |
border-radius: 34px; | |
} | |
.slider:before { | |
position: absolute; | |
content: ""; | |
height: 26px; | |
width: 26px; | |
left: 4px; | |
bottom: 4px; | |
background-color: white; | |
transition: .4s; | |
border-radius: 50%; | |
} | |
input:checked + .slider { | |
background-color: #2196F3; | |
} | |
input:checked + .slider:before { | |
transform: translateX(26px); | |
} | |
/* Gradio Components Styling */ | |
.gradio-container { | |
background-color: var(--background-color); | |
color: var(--text-color); | |
transition: background-color 0.3s, color 0.3s; | |
} | |
/* Ensure All Text Elements Use var(--text-color) */ | |
body, p, h1, h2, h3, h4, h5, h6, span, a, label, button, input, textarea, select { | |
color: var(--text-color); | |
transition: color 0.3s, background-color 0.3s; | |
} | |
/* Links Styling */ | |
a { | |
color: var(--text-color); | |
text-decoration: underline; | |
} | |
a:hover { | |
color: var(--success-color); | |
} | |
/* Buttons Styling */ | |
button, .gr-button { | |
background-color: var(--success-color); | |
color: var(--background-color); | |
border: none; | |
padding: 10px 20px; | |
text-align: center; | |
text-decoration: none; | |
display: inline-block; | |
font-size: 16px; | |
margin: 4px 2px; | |
cursor: pointer; | |
border-radius: 4px; | |
transition: background-color 0.3s, color 0.3s; | |
} | |
button:hover, .gr-button:hover { | |
background-color: var(--error-color); | |
} | |
/* Inputs and Selects Styling */ | |
input, textarea, select, .gr-textbox, .gr-dropdown, .gr-file { | |
background-color: var(--background-color); | |
color: var(--text-color); | |
border: 1px solid var(--text-color); | |
border-radius: 4px; | |
padding: 8px; | |
transition: background-color 0.3s, color 0.3s, border-color 0.3s; | |
} | |
/* Checkbox and Radio Buttons Styling */ | |
input[type="checkbox"], input[type="radio"] { | |
accent-color: var(--success-color); | |
} | |
/* Gradio-specific Class Overrides */ | |
.gradio-container .gradio-block, | |
.gradio-container .gradio-row, | |
.gradio-container .gradio-column { | |
background-color: var(--background-color); | |
color: var(--text-color); | |
} | |
/* Ensure Gradio Tabs Respect the Theme */ | |
.gradio-container .tab-title { | |
color: var(--text-color); | |
} | |
.gradio-container .tab-title.selected { | |
border-bottom: 2px solid var(--success-color); | |
} | |
/* Additional Styling for HTML Components within Gradio */ | |
.gradio-container .markdown p, | |
.gradio-container .markdown h1, | |
.gradio-container .markdown h2, | |
.gradio-container .markdown h3, | |
.gradio-container .markdown h4, | |
.gradio-container .markdown h5, | |
.gradio-container .markdown h6 { | |
color: var(--text-color); | |
} | |
.gradio-container .html-content a { | |
color: var(--text-color); | |
} | |
.gradio-container .html-content a:hover { | |
color: var(--success-color); | |
} | |