Spaces:
Runtime error
Runtime error
| .slide-generator-container { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| padding: 2rem; | |
| } | |
| .upload-area { | |
| border: 3px dashed #28a745; | |
| border-radius: 15px; | |
| padding: 3rem 2rem; | |
| text-align: center; | |
| background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .upload-area:hover { | |
| border-color: #218838; | |
| background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%); | |
| transform: translateY(-2px); | |
| box-shadow: 0 8px 25px rgba(40, 167, 69, 0.2); | |
| } | |
| .upload-area.dragover { | |
| border-color: #007bff; | |
| background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); | |
| } | |
| .upload-icon { | |
| font-size: 4rem; | |
| color: #28a745; | |
| margin-bottom: 1rem; | |
| transition: all 0.3s ease; | |
| } | |
| .upload-area:hover .upload-icon { | |
| color: #218838; | |
| transform: scale(1.1); | |
| } | |
| .file-input { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| opacity: 0; | |
| cursor: pointer; | |
| } | |
| .slide-options { | |
| background: white; | |
| border-radius: 15px; | |
| padding: 2rem; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); | |
| margin-top: 2rem; | |
| } | |
| .option-group { | |
| margin-bottom: 1.5rem; | |
| } | |
| .option-group label { | |
| font-weight: 600; | |
| color: #333; | |
| margin-bottom: 0.5rem; | |
| display: block; | |
| } | |
| .form-control, .form-select { | |
| border-radius: 10px; | |
| border: 2px solid #e9ecef; | |
| padding: 0.75rem 1rem; | |
| transition: all 0.3s ease; | |
| } | |
| .form-control:focus, .form-select:focus { | |
| border-color: #28a745; | |
| box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); | |
| } | |
| .generate-btn { | |
| background: linear-gradient(135deg, #28a745 0%, #20c997 100%); | |
| border: none; | |
| border-radius: 50px; | |
| padding: 1rem 2.5rem; | |
| font-size: 1.1rem; | |
| font-weight: 600; | |
| color: white; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3); | |
| } | |
| .generate-btn:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4); | |
| background: linear-gradient(135deg, #218838 0%, #1dd1a1 100%); | |
| } | |
| .generate-btn:disabled { | |
| background: #6c757d; | |
| transform: none; | |
| box-shadow: none; | |
| cursor: not-allowed; | |
| } | |
| .file-preview { | |
| background: white; | |
| border-radius: 15px; | |
| padding: 1.5rem; | |
| margin-top: 1rem; | |
| border: 2px solid #e9ecef; | |
| display: none; | |
| } | |
| .file-preview.show { | |
| display: block; | |
| animation: fadeInUp 0.5s ease; | |
| } | |
| .file-item { | |
| display: flex; | |
| align-items: center; | |
| padding: 1rem; | |
| background: #f8f9fa; | |
| border-radius: 10px; | |
| margin-bottom: 0.5rem; | |
| } | |
| .file-icon { | |
| font-size: 1.5rem; | |
| margin-right: 1rem; | |
| color: #28a745; | |
| } | |
| .file-info { | |
| flex: 1; | |
| } | |
| .file-name { | |
| font-weight: 600; | |
| margin-bottom: 0.25rem; | |
| } | |
| .file-size { | |
| font-size: 0.875rem; | |
| color: #6c757d; | |
| } | |
| .remove-file { | |
| background: #dc3545; | |
| border: none; | |
| border-radius: 50%; | |
| width: 30px; | |
| height: 30px; | |
| color: white; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .remove-file:hover { | |
| background: #c82333; | |
| transform: scale(1.1); | |
| } | |
| .progress-container { | |
| display: none; | |
| margin-top: 2rem; | |
| } | |
| .progress-container.show { | |
| display: block; | |
| animation: fadeInUp 0.5s ease; | |
| } | |
| .progress { | |
| height: 20px; | |
| border-radius: 10px; | |
| overflow: hidden; | |
| background: #e9ecef; | |
| } | |
| .progress-bar { | |
| background: linear-gradient(90deg, #28a745, #20c997); | |
| transition: width 0.3s ease; | |
| } | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .supported-formats { | |
| margin-top: 1rem; | |
| text-align: center; | |
| } | |
| .format-badge { | |
| display: inline-block; | |
| background: #e9ecef; | |
| color: #6c757d; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 15px; | |
| font-size: 0.875rem; | |
| margin: 0.25rem; | |
| } | |
| /* Content Source Selection */ | |
| .content-source-selection { | |
| background: white; | |
| border-radius: 15px; | |
| padding: 2rem; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); | |
| margin-bottom: 2rem; | |
| } | |
| .content-option { | |
| position: relative; | |
| } | |
| .content-option input[type="radio"] { | |
| position: absolute; | |
| opacity: 0; | |
| } | |
| .content-option-label { | |
| display: block; | |
| background: #f8f9fa; | |
| border: 2px solid #e9ecef; | |
| border-radius: 12px; | |
| padding: 1.5rem; | |
| text-align: center; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| height: 100%; | |
| min-height: 140px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| .content-option-label:hover { | |
| border-color: #007bff; | |
| background: #f0f8ff; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 15px rgba(0, 123, 255, 0.15); | |
| } | |
| .content-option input[type="radio"]:checked + .content-option-label { | |
| border-color: #28a745; | |
| background: #f0fff4; | |
| box-shadow: 0 4px 15px rgba(40, 167, 69, 0.2); | |
| } | |
| .content-option-icon { | |
| font-size: 2.5rem; | |
| color: #6c757d; | |
| margin-bottom: 0.75rem; | |
| transition: all 0.3s ease; | |
| } | |
| .content-option input[type="radio"]:checked + .content-option-label .content-option-icon { | |
| color: #28a745; | |
| } | |
| .content-option-label h6 { | |
| margin-bottom: 0.5rem; | |
| font-weight: 600; | |
| color: #333; | |
| } | |
| .content-option-label small { | |
| color: #6c757d; | |
| font-size: 0.875rem; | |
| } | |
| /* Document Selection */ | |
| .document-selection, .subject-selection { | |
| background: white; | |
| border-radius: 15px; | |
| padding: 2rem; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); | |
| margin-bottom: 2rem; | |
| } | |
| .document-list, .subject-list { | |
| max-height: 400px; | |
| overflow-y: auto; | |
| border: 1px solid #e9ecef; | |
| border-radius: 10px; | |
| padding: 1rem; | |
| } | |
| .document-item, .subject-item { | |
| margin-bottom: 1rem; | |
| } | |
| .document-item:last-child, .subject-item:last-child { | |
| margin-bottom: 0; | |
| } | |
| .document-item-label, .subject-item-label { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| background: #f8f9fa; | |
| border: 2px solid #e9ecef; | |
| border-radius: 10px; | |
| padding: 1rem; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .document-item-label:hover, .subject-item-label:hover { | |
| border-color: #007bff; | |
| background: #f0f8ff; | |
| } | |
| .document-item input[type="checkbox"]:checked + .document-item-label, | |
| .subject-item input[type="radio"]:checked + .subject-item-label { | |
| border-color: #28a745; | |
| background: #f0fff4; | |
| } | |
| .document-item input[type="checkbox"], | |
| .subject-item input[type="radio"] { | |
| position: absolute; | |
| opacity: 0; | |
| } | |
| .document-info, .subject-info { | |
| flex: 1; | |
| } | |
| .document-title, .subject-title { | |
| font-weight: 600; | |
| color: #333; | |
| margin-bottom: 0.25rem; | |
| } | |
| .subject-code { | |
| font-size: 0.875rem; | |
| color: #007bff; | |
| font-weight: 500; | |
| margin-bottom: 0.25rem; | |
| } | |
| .document-meta, .subject-meta { | |
| display: flex; | |
| gap: 0.5rem; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| } | |
| .subject-badge, .file-type, .page-count, .document-count { | |
| background: #e9ecef; | |
| color: #6c757d; | |
| padding: 0.25rem 0.5rem; | |
| border-radius: 12px; | |
| font-size: 0.75rem; | |
| font-weight: 500; | |
| } | |
| .subject-badge { | |
| background: #d1ecf1; | |
| color: #0c5460; | |
| } | |
| .file-type { | |
| background: #f8d7da; | |
| color: #721c24; | |
| } | |
| .document-count { | |
| background: #d4edda; | |
| color: #155724; | |
| } | |
| .subject-description { | |
| color: #6c757d; | |
| font-size: 0.875rem; | |
| margin-top: 0.25rem; | |
| display: block; | |
| } | |
| .document-icon, .subject-icon { | |
| font-size: 1.5rem; | |
| color: #6c757d; | |
| margin-left: 1rem; | |
| } | |
| .subject-icon { | |
| color: #007bff; | |
| } | |
| /* ============================================= | |
| DARK MODE STYLES | |
| ============================================= */ | |
| [data-theme="dark"] .slide-generator-container { | |
| color: var(--text-primary); | |
| } | |
| /* Upload Area Dark Mode */ | |
| [data-theme="dark"] .upload-area { | |
| border-color: var(--success-color); | |
| background: linear-gradient(135deg, var(--background-dark) 0%, var(--chat-bg) 100%); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .upload-area:hover { | |
| border-color: var(--primary-dark); | |
| background: linear-gradient(135deg, var(--chat-bg) 0%, var(--background-light) 100%); | |
| box-shadow: 0 8px 25px rgba(52, 211, 153, 0.3); | |
| } | |
| [data-theme="dark"] .upload-area.dragover { | |
| border-color: var(--info-color); | |
| background: linear-gradient(135deg, rgba(56, 189, 248, 0.1) 0%, rgba(56, 189, 248, 0.2) 100%); | |
| } | |
| [data-theme="dark"] .upload-icon { | |
| color: var(--success-color); | |
| } | |
| [data-theme="dark"] .upload-area:hover .upload-icon { | |
| color: var(--primary-dark); | |
| } | |
| /* Slide Options Dark Mode */ | |
| [data-theme="dark"] .slide-options, | |
| [data-theme="dark"] .content-source-selection, | |
| [data-theme="dark"] .document-selection, | |
| [data-theme="dark"] .subject-selection { | |
| background: var(--card-bg); | |
| border: 1px solid var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .option-group label { | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .form-control, | |
| [data-theme="dark"] .form-select { | |
| background: var(--input-bg); | |
| border-color: var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .form-control:focus, | |
| [data-theme="dark"] .form-select:focus { | |
| border-color: var(--success-color); | |
| background: var(--input-bg); | |
| color: var(--text-primary); | |
| box-shadow: 0 0 0 0.2rem rgba(52, 211, 153, 0.25); | |
| } | |
| [data-theme="dark"] .form-control::placeholder { | |
| color: var(--text-muted); | |
| } | |
| /* Content Options Dark Mode */ | |
| [data-theme="dark"] .content-option-label { | |
| background: var(--background-dark); | |
| border-color: var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .content-option-label:hover { | |
| border-color: var(--info-color); | |
| background: var(--chat-bg); | |
| } | |
| [data-theme="dark"] .content-option input[type="radio"]:checked + .content-option-label { | |
| border-color: var(--success-color); | |
| background: var(--card-bg); | |
| box-shadow: 0 4px 15px rgba(52, 211, 153, 0.2); | |
| } | |
| [data-theme="dark"] .content-option-icon { | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .content-option input[type="radio"]:checked + .content-option-label .content-option-icon { | |
| color: var(--success-color); | |
| } | |
| [data-theme="dark"] .content-option-label h6 { | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .content-option-label small { | |
| color: var(--text-muted); | |
| } | |
| /* Document and Subject Lists Dark Mode */ | |
| [data-theme="dark"] .document-list, | |
| [data-theme="dark"] .subject-list { | |
| border-color: var(--border-color); | |
| background: var(--background-dark); | |
| } | |
| [data-theme="dark"] .document-item-label, | |
| [data-theme="dark"] .subject-item-label { | |
| background: var(--background-dark); | |
| border-color: var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .document-item-label:hover, | |
| [data-theme="dark"] .subject-item-label:hover { | |
| border-color: var(--info-color); | |
| background: var(--chat-bg); | |
| } | |
| [data-theme="dark"] .document-item input[type="checkbox"]:checked + .document-item-label, | |
| [data-theme="dark"] .subject-item input[type="radio"]:checked + .subject-item-label { | |
| border-color: var(--success-color); | |
| background: var(--card-bg); | |
| } | |
| [data-theme="dark"] .document-title, | |
| [data-theme="dark"] .subject-title { | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .subject-code { | |
| color: var(--info-color); | |
| } | |
| [data-theme="dark"] .subject-description { | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .subject-badge { | |
| background: rgba(56, 189, 248, 0.2); | |
| color: var(--info-color); | |
| } | |
| [data-theme="dark"] .file-type { | |
| background: rgba(248, 113, 113, 0.2); | |
| color: var(--danger-color); | |
| } | |
| [data-theme="dark"] .document-count { | |
| background: rgba(52, 211, 153, 0.2); | |
| color: var(--success-color); | |
| } | |
| [data-theme="dark"] .page-count { | |
| background: var(--border-color); | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .document-icon, | |
| [data-theme="dark"] .subject-icon { | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .subject-icon { | |
| color: var(--info-color); | |
| } | |
| /* File Preview Dark Mode */ | |
| [data-theme="dark"] .file-preview { | |
| background: var(--card-bg); | |
| border-color: var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .file-item { | |
| background: var(--background-dark); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .file-icon { | |
| color: var(--success-color); | |
| } | |
| [data-theme="dark"] .file-name { | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .file-size { | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .remove-file { | |
| background: var(--danger-color); | |
| } | |
| [data-theme="dark"] .remove-file:hover { | |
| background: #dc2626; | |
| } | |
| /* Generate Button Dark Mode */ | |
| [data-theme="dark"] .generate-btn { | |
| background: linear-gradient(135deg, var(--success-color) 0%, var(--primary-dark) 100%); | |
| box-shadow: 0 4px 15px rgba(52, 211, 153, 0.3); | |
| } | |
| [data-theme="dark"] .generate-btn:hover { | |
| background: linear-gradient(135deg, var(--primary-dark) 0%, #059669 100%); | |
| box-shadow: 0 6px 20px rgba(52, 211, 153, 0.4); | |
| } | |
| [data-theme="dark"] .generate-btn:disabled, | |
| [data-theme="dark"] .btn-secondary { | |
| background: var(--border-color); | |
| color: var(--text-muted); | |
| border-color: var(--border-color); | |
| } | |
| /* Progress Container Dark Mode */ | |
| [data-theme="dark"] .progress-container { | |
| background: var(--card-bg); | |
| border-color: var(--border-color); | |
| color: var(--text-primary); | |
| } | |
| [data-theme="dark"] .progress { | |
| background-color: var(--border-color); | |
| } | |
| [data-theme="dark"] .progress-bar { | |
| background: linear-gradient(90deg, var(--success-color), var(--primary-dark)); | |
| } | |
| /* Supported Formats Dark Mode */ | |
| [data-theme="dark"] .supported-formats { | |
| color: var(--text-muted); | |
| } | |
| [data-theme="dark"] .format-badge { | |
| background: var(--border-color); | |
| color: var(--text-muted); | |
| } | |
| /* Alert Messages Dark Mode */ | |
| [data-theme="dark"] .alert-success { | |
| background: rgba(52, 211, 153, 0.1); | |
| border-color: rgba(52, 211, 153, 0.3); | |
| color: var(--success-color); | |
| } | |
| [data-theme="dark"] .alert-warning { | |
| background: rgba(251, 191, 36, 0.1); | |
| border-color: rgba(251, 191, 36, 0.3); | |
| color: var(--warning-color); | |
| } | |
| [data-theme="dark"] .alert-danger { | |
| background: rgba(248, 113, 113, 0.1); | |
| border-color: rgba(248, 113, 113, 0.3); | |
| color: var(--danger-color); | |
| } | |
| /* Additional Bootstrap overrides for dark mode */ | |
| [data-theme="dark"] .text-primary { | |
| color: var(--primary-color) ; | |
| } | |
| [data-theme="dark"] .text-muted { | |
| color: var(--text-muted) ; | |
| } | |
| [data-theme="dark"] .lead { | |
| color: var(--text-secondary); | |
| } | |
| [data-theme="dark"] .display-5 { | |
| color: var(--text-primary); | |
| } | |
| /* Button group and button outline styles */ | |
| [data-theme="dark"] .btn-outline-success { | |
| color: var(--success-color); | |
| border-color: var(--success-color); | |
| } | |
| [data-theme="dark"] .btn-outline-success:hover { | |
| background-color: var(--success-color); | |
| border-color: var(--success-color); | |
| color: var(--background-dark); | |
| } | |
| /* Custom slide count input */ | |
| [data-theme="dark"] #customSlideCount { | |
| background: var(--card-bg); | |
| border-color: var(--border-color); | |
| } | |
| /* Background image preview */ | |
| [data-theme="dark"] #bgPreview { | |
| border-color: var(--border-color); | |
| } | |
| /* Small text elements */ | |
| [data-theme="dark"] small.text-muted { | |
| color: var(--text-muted) ; | |
| } |