Spaces:
Running
Running
:root { | |
--primary-color: #2ecc71; | |
--secondary-color: #27ae60; | |
--accent-color: #f1c40f; | |
--background-color: #ffffff; | |
--text-color: #2d3436; | |
--card-bg: #f8f9fa; | |
--dark-text: #2c3e50; | |
} | |
/* Base styles */ | |
.stApp { | |
background: var(--background-color); | |
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
color: var(--dark-text); | |
} | |
/* Header styles */ | |
.custom-header { | |
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); | |
padding: 2rem; | |
border-radius: 15px; | |
color: white; | |
text-align: center; | |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
margin-bottom: 2rem; | |
animation: fadeIn 1s ease-in; | |
} | |
/* Text visibility fixes */ | |
.stMarkdown, .nutrition-card, .meal-plan-section, .graph-container { | |
color: var(--dark-text) ; | |
} | |
.stTextInput>div>div>input, .stNumberInput>div>div>input { | |
color: var(--dark-text) ; | |
} | |
/* Food card styles */ | |
.nutrition-card { | |
background: var(--card-bg); | |
border-radius: 15px; | |
padding: 1.5rem; | |
margin: 1rem 0; | |
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); | |
transition: transform 0.3s ease; | |
color: var(--dark-text); | |
} | |
/* Meal plan section */ | |
.meal-plan-section { | |
background: var(--card-bg); | |
border-radius: 15px; | |
padding: 2rem; | |
margin: 2rem 0; | |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); | |
color: var(--dark-text); | |
} | |
/* Graph container */ | |
.graph-container { | |
background: var(--card-bg); | |
border-radius: 15px; | |
padding: 1.5rem; | |
margin: 1rem 0; | |
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); | |
color: var(--dark-text); | |
} | |
/* Updated Radio buttons */ | |
.stRadio label { | |
background: var(--card-bg) ; | |
color: var(--dark-text) ; | |
border: 2px solid var(--primary-color) ; | |
padding: 0.8rem 1.5rem ; | |
border-radius: 25px ; | |
transition: all 0.3s ease ; | |
} | |
.stRadio input:checked + label { | |
background: var(--primary-color) ; | |
color: white ; | |
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) ; | |
} | |
.stRadio label:hover { | |
transform: translateY(-2px); | |
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15); | |
} | |
/* Form styling */ | |
.stForm { | |
background: var(--card-bg); | |
color: var(--dark-text); | |
} | |
/* Table text color */ | |
.stTable { | |
color: var(--dark-text) ; | |
} | |
/* Mobile responsive adjustments */ | |
@media (max-width: 768px) { | |
.custom-header h1 { | |
font-size: 1.8rem; | |
color: white ; | |
} | |
.nutrition-card { | |
margin: 0.5rem 0; | |
padding: 1rem; | |
} | |
} | |
/* Animation classes */ | |
@keyframes pulse { | |
0% { transform: scale(1); } | |
50% { transform: scale(1.02); } | |
100% { transform: scale(1); } | |
} | |
.pulse-animation { | |
animation: pulse 2s infinite; | |
} | |
/* Loading spinner */ | |
.loading-spinner { | |
display: flex; | |
justify-content: center; | |
padding: 2rem; | |
} | |
.loading-spinner::after { | |
content: ""; | |
width: 40px; | |
height: 40px; | |
border: 4px solid var(--primary-color); | |
border-top-color: transparent; | |
border-radius: 50%; | |
animation: spin 1s linear infinite; | |
} | |
@keyframes spin { | |
to { transform: rotate(360deg); } | |
} | |
/* Custom radio button container */ | |
.stRadio > div { | |
display: flex; | |
gap: 1rem; | |
flex-wrap: wrap; | |
} |