AI_tutor / static /style.css
vishalshelke's picture
Upload 15 files
1d95600 verified
/* Custom styles for AI Lecture Generator */
:root {
--primary-color: #2c3e50;
--secondary-color: #3498db;
--success-color: #27ae60;
--warning-color: #f39c12;
--error-color: #e74c3c;
--background-color: #f8f9fa;
--text-color: #2c3e50;
--border-color: #ddd;
}
/* Global styles */
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: var(--background-color);
color: var(--text-color);
line-height: 1.6;
}
/* Header styles */
.gradio-container h1 {
color: var(--primary-color);
text-align: center;
margin-bottom: 2rem;
font-size: 2.5rem;
font-weight: bold;
}
/* Status boxes */
.status-box {
padding: 15px;
border-radius: 8px;
margin: 15px 0;
font-weight: 500;
border-left: 4px solid;
}
.status-box.success {
background-color: #d4edda;
border-left-color: var(--success-color);
color: #155724;
}
.status-box.error {
background-color: #f8d7da;
border-left-color: var(--error-color);
color: #721c24;
}
.status-box.processing {
background-color: #d1ecf1;
border-left-color: var(--secondary-color);
color: #0c5460;
}
.status-box.warning {
background-color: #fff3cd;
border-left-color: var(--warning-color);
color: #856404;
}
/* Button styles */
.gradio-button {
background: linear-gradient(135deg, var(--secondary-color), #2980b9);
color: white;
border: none;
padding: 12px 24px;
border-radius: 6px;
font-weight: 500;
transition: all 0.3s ease;
cursor: pointer;
}
.gradio-button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
}
.gradio-button.primary {
background: linear-gradient(135deg, var(--success-color), #229954);
}
.gradio-button.secondary {
background: linear-gradient(135deg, #95a5a6, #7f8c8d);
}
/* File upload area */
.file-upload {
border: 2px dashed var(--border-color);
border-radius: 8px;
padding: 2rem;
text-align: center;
transition: all 0.3s ease;
}
.file-upload:hover {
border-color: var(--secondary-color);
background-color: #f0f8ff;
}
/* Input fields */
.gradio-textbox,
.gradio-dropdown {
border: 1px solid var(--border-color);
border-radius: 6px;
padding: 10px;
font-size: 14px;
transition: border-color 0.3s ease;
}
.gradio-textbox:focus,
.gradio-dropdown:focus {
border-color: var(--secondary-color);
outline: none;
box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}
/* Chat interface */
.chatbot {
border: 1px solid var(--border-color);
border-radius: 8px;
background: white;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.chat-message {
padding: 12px;
margin: 8px;
border-radius: 8px;
max-width: 80%;
}
.chat-message.user {
background: var(--secondary-color);
color: white;
margin-left: auto;
}
.chat-message.assistant {
background: #f1f3f4;
color: var(--text-color);
margin-right: auto;
}
/* Tab styles */
.gradio-tab {
border-bottom: 3px solid transparent;
padding: 12px 24px;
font-weight: 500;
transition: all 0.3s ease;
}
.gradio-tab.selected {
border-bottom-color: var(--secondary-color);
color: var(--secondary-color);
}
/* Card-like containers */
.gradio-column {
background: white;
border-radius: 8px;
padding: 20px;
margin: 10px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* JSON display */
.gradio-json {
background: #f8f9fa;
border: 1px solid var(--border-color);
border-radius: 6px;
padding: 15px;
font-family: 'Courier New', monospace;
font-size: 13px;
}
/* Loading animation */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid #f3f3f3;
border-top: 3px solid var(--secondary-color);
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Progress bar */
.progress-bar {
width: 100%;
height: 8px;
background-color: #f0f0f0;
border-radius: 4px;
overflow: hidden;
}
.progress-bar-fill {
height: 100%;
background: linear-gradient(90deg, var(--secondary-color), var(--success-color));
transition: width 0.3s ease;
}
/* Responsive design */
@media (max-width: 768px) {
.gradio-container {
padding: 10px;
}
.gradio-container h1 {
font-size: 2rem;
}
.gradio-column {
margin: 5px;
padding: 15px;
}
.chat-message {
max-width: 95%;
}
}
/* Accessibility improvements */
.gradio-button:focus,
.gradio-textbox:focus,
.gradio-dropdown:focus {
outline: 2px solid var(--secondary-color);
outline-offset: 2px;
}
/* Dark mode support */
@media (prefers-color-scheme: dark) {
:root {
--background-color: #1a1a1a;
--text-color: #ffffff;
--border-color: #404040;
}
.gradio-column {
background: #2d2d2d;
color: var(--text-color);
}
.gradio-json {
background: #2d2d2d;
color: var(--text-color);
}
.chatbot {
background: #2d2d2d;
}
.chat-message.assistant {
background: #404040;
color: var(--text-color);
}
}