Spaces:
Running
Running
| /* Build Small — global UI polish */ | |
| .app-header { | |
| align-items: center ; | |
| justify-content: space-between ; | |
| margin-bottom: 0.25rem ; | |
| padding: 0.5rem 0 ; | |
| } | |
| .brand-block h1 { | |
| font-size: 1.35rem; | |
| font-weight: 700; | |
| margin: 0; | |
| line-height: 1.2; | |
| color: #1a1a1a; | |
| } | |
| .brand-block p { | |
| margin: 0.15rem 0 0; | |
| font-size: 0.875rem; | |
| color: #666; | |
| } | |
| .brand-block a { | |
| color: #374151; | |
| text-decoration: none; | |
| } | |
| .brand-block a:hover { | |
| text-decoration: underline; | |
| } | |
| .tab-subtitle { | |
| color: #666; | |
| font-size: 0.9rem; | |
| margin: 0 0 0.75rem 0 ; | |
| } | |
| .dev-tab-badge { | |
| display: inline-block; | |
| font-size: 0.7rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.04em; | |
| color: #666; | |
| background: #f0f0f0; | |
| border: 1px solid #ddd; | |
| border-radius: 4px; | |
| padding: 2px 8px; | |
| margin-left: 0.5rem; | |
| vertical-align: middle; | |
| } | |
| /* Step indicator pills */ | |
| .step-strip { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.35rem; | |
| align-items: center; | |
| margin: 0.5rem 0 1rem; | |
| } | |
| .step-pill { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.35rem; | |
| padding: 0.35rem 0.75rem; | |
| border-radius: 999px; | |
| font-size: 0.8rem; | |
| font-weight: 500; | |
| border: 1px solid #ddd; | |
| background: #fafafa; | |
| color: #888; | |
| } | |
| .step-pill.active { | |
| background: #f3f4f6; | |
| border-color: #9ca3af; | |
| color: #374151; | |
| } | |
| .step-pill.done { | |
| background: #f9fafb; | |
| border-color: #e5e7eb; | |
| color: #6b7280; | |
| } | |
| .step-pill .num { | |
| display: inline-flex; | |
| width: 1.25rem; | |
| height: 1.25rem; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: 50%; | |
| font-size: 0.7rem; | |
| font-weight: 700; | |
| background: #e5e7eb; | |
| color: #4b5563; | |
| } | |
| .step-pill.active .num { | |
| background: #6b7280; | |
| color: white; | |
| } | |
| .step-pill.done .num { | |
| background: #d1d5db; | |
| color: #374151; | |
| } | |
| .step-arrow { | |
| color: #ccc; | |
| font-size: 0.75rem; | |
| user-select: none; | |
| } | |
| /* Section panels */ | |
| .panel-card { | |
| border: 1px solid #e8e8e8; | |
| border-radius: 8px; | |
| padding: 0.75rem 1rem; | |
| background: #fafafa; | |
| margin-bottom: 0.75rem; | |
| } | |
| .panel-card h4 { | |
| margin: 0 0 0.5rem; | |
| font-size: 0.85rem; | |
| font-weight: 600; | |
| color: #444; | |
| text-transform: uppercase; | |
| letter-spacing: 0.03em; | |
| } | |
| .empty-state { | |
| text-align: center; | |
| padding: 2.5rem 1.5rem; | |
| color: #6b7280; | |
| font-size: 0.92rem; | |
| line-height: 1.5; | |
| border: 1px dashed #d1d5db; | |
| border-radius: 10px; | |
| background: #fff; | |
| } | |
| .primary-cta { | |
| width: 100% ; | |
| } | |
| .mode-cards label { | |
| flex: 1; | |
| font-size: 0.88rem ; | |
| font-weight: 500 ; | |
| padding: 0.65rem 0.75rem ; | |
| border-radius: 8px ; | |
| border: 1px solid #e5e7eb ; | |
| text-align: center; | |
| } | |
| .mode-cards label.selected, | |
| .mode-cards input:checked + span, | |
| .mode-cards .selected { | |
| border-color: #9ca3af ; | |
| background: #f3f4f6 ; | |
| font-weight: 600 ; | |
| } | |
| .cross-link { | |
| font-size: 0.85rem; | |
| color: #666; | |
| margin: 0.5rem 0; | |
| } | |
| .cross-link strong { | |
| color: #374151; | |
| } | |
| /* Only explicit primary CTAs get accent color */ | |
| button.primary-cta, | |
| .primary-cta > button { | |
| background: #a83300 ; | |
| border-color: #832600 ; | |
| color: #fff ; | |
| } | |
| button.primary-cta:hover, | |
| .primary-cta > button:hover { | |
| background: #832600 ; | |
| } | |
| /* Neutralize Gradio orange on tabs, labels, sliders */ | |
| .gradio-container .tab-nav button.selected { | |
| border-bottom-color: #374151 ; | |
| color: #111827 ; | |
| } | |
| .gradio-container .tab-nav button { | |
| color: #6b7280 ; | |
| } | |
| .gradio-container label span, | |
| .gradio-container .block > .wrap > label > span { | |
| background: transparent ; | |
| color: #4b5563 ; | |
| font-weight: 500 ; | |
| padding-left: 0 ; | |
| } | |
| .gradio-container input[type="range"] { | |
| accent-color: #6b7280 ; | |
| } | |
| /* ── Shared form patterns (Lesson slides, ResearchMind, …) ── */ | |
| .form-tab-heading, | |
| .lesson-tab-heading { | |
| margin: 0 0 0.25rem ; | |
| font-size: 1.15rem ; | |
| font-weight: 600 ; | |
| color: #111827 ; | |
| } | |
| .form-primary, | |
| .lesson-form-primary { | |
| margin-bottom: 0.5rem ; | |
| } | |
| .form-primary label > span, | |
| .lesson-form-primary label > span { | |
| font-size: 0.95rem ; | |
| font-weight: 600 ; | |
| color: #111827 ; | |
| } | |
| .form-topic-input textarea, | |
| .form-topic-input input, | |
| .form-ask-input textarea, | |
| .form-ask-input input, | |
| .lesson-topic-input textarea, | |
| .lesson-topic-input input { | |
| font-size: 1.2rem ; | |
| line-height: 1.45 ; | |
| padding: 0.85rem 1rem ; | |
| min-height: 3rem ; | |
| border: 2px solid #d1d5db ; | |
| border-radius: 10px ; | |
| box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) ; | |
| } | |
| .form-ask-input textarea, | |
| .form-ask-input input { | |
| font-size: 1.05rem ; | |
| min-height: 2.75rem ; | |
| } | |
| .form-topic-input textarea:focus, | |
| .form-topic-input input:focus, | |
| .form-ask-input textarea:focus, | |
| .form-ask-input input:focus, | |
| .lesson-topic-input textarea:focus, | |
| .lesson-topic-input input:focus { | |
| border-color: #9ca3af ; | |
| outline: none ; | |
| box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.15) ; | |
| } | |
| .form-secondary, | |
| .lesson-form-secondary { | |
| max-width: 32rem; | |
| margin-bottom: 0.5rem ; | |
| opacity: 0.92; | |
| } | |
| .form-secondary label > span, | |
| .lesson-form-secondary label > span { | |
| font-size: 0.78rem ; | |
| font-weight: 500 ; | |
| color: #6b7280 ; | |
| } | |
| .form-secondary .wrap, | |
| .form-secondary input, | |
| .form-secondary select, | |
| .lesson-form-secondary .wrap, | |
| .lesson-form-secondary input, | |
| .lesson-form-secondary select { | |
| font-size: 0.875rem ; | |
| } | |
| .form-optional-accordion > button, | |
| .lesson-optional-accordion > button { | |
| font-size: 0.82rem ; | |
| font-weight: 500 ; | |
| color: #6b7280 ; | |
| padding: 0.5rem 0.75rem ; | |
| } | |
| .form-optional-accordion label > span, | |
| .lesson-optional-accordion label > span { | |
| font-size: 0.78rem ; | |
| color: #6b7280 ; | |
| } | |
| .form-optional-accordion .wrap, | |
| .lesson-optional-accordion .wrap { | |
| font-size: 0.85rem ; | |
| } | |
| .form-status, | |
| .lesson-status { | |
| font-size: 0.85rem ; | |
| color: #6b7280 ; | |
| margin: 0.35rem 0 ; | |
| } | |
| .lesson-processing-log { | |
| margin: 0.5rem 0 1rem ; | |
| } | |
| .lesson-processing-log .slide-gen-log, | |
| .slide-gen-log { | |
| font-size: 0.82rem; | |
| color: #374151; | |
| background: #f9fafb; | |
| border: 1px solid #e5e7eb; | |
| border-radius: 10px; | |
| padding: 0.75rem 1rem; | |
| line-height: 1.45; | |
| } | |
| .slide-gen-log-banner { | |
| font-weight: 600; | |
| margin-bottom: 0.45rem; | |
| } | |
| .slide-gen-log-banner.running { color: #a83300; } | |
| .slide-gen-log-banner.done { color: #2d6a4f; } | |
| .slide-gen-log-banner.error { color: #ba1a1a; } | |
| .slide-gen-log-meta { | |
| color: #6b7280; | |
| font-size: 0.8rem; | |
| margin-bottom: 0.35rem; | |
| } | |
| .slide-gen-log-steps { | |
| margin: 0.35rem 0 0; | |
| padding-left: 1.1rem; | |
| } | |
| .slide-gen-log-step { | |
| margin-bottom: 0.25rem; | |
| } | |
| .slide-gen-log-step.active { | |
| color: #a83300; | |
| font-weight: 600; | |
| } | |
| .slide-gen-log-step.done { | |
| color: #2d6a4f; | |
| } | |
| .slide-gen-log-dur, | |
| .slide-gen-log-detail { | |
| color: #6b7280; | |
| font-weight: 400; | |
| } | |
| .slide-gen-log-idle p { | |
| margin: 0; | |
| color: #6b7280; | |
| } | |
| .lesson-running-preview { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 220px; | |
| padding: 2rem; | |
| text-align: center; | |
| color: #374151; | |
| background: linear-gradient(180deg, #fafafa 0%, #f3f4f6 100%); | |
| border: 1px dashed #d1d5db; | |
| border-radius: 12px; | |
| } | |
| .lesson-running-spinner { | |
| width: 36px; | |
| height: 36px; | |
| border: 3px solid #e5e7eb; | |
| border-top-color: #a83300; | |
| border-radius: 50%; | |
| animation: lesson-spin 0.9s linear infinite; | |
| margin-bottom: 1rem; | |
| } | |
| .lesson-running-hint { | |
| margin: 0.35rem 0 0; | |
| font-size: 0.85rem; | |
| color: #6b7280; | |
| } | |
| @keyframes lesson-spin { | |
| to { transform: rotate(360deg); } | |
| } | |
| .form-section-label { | |
| font-size: 0.8rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.04em; | |
| color: #6b7280; | |
| margin: 0 0 0.65rem; | |
| } | |
| .rm-workflow-columns { | |
| gap: 1.25rem ; | |
| align-items: flex-start ; | |
| } | |
| .rm-ingest-col, | |
| .rm-ask-col { | |
| border: 1px solid #e5e7eb; | |
| border-radius: 12px; | |
| padding: 1rem 1.1rem ; | |
| background: #fafafa; | |
| } | |
| .rm-ask-col .chatbot { | |
| min-height: 280px; | |
| } | |
| .rm-action-row { | |
| margin-top: 0.5rem ; | |
| gap: 0.5rem ; | |
| } | |
| .rm-action-row button { | |
| flex: 1; | |
| } | |
| .form-cta-row { | |
| margin-top: 0.65rem ; | |
| margin-bottom: 0.25rem ; | |
| } | |
| /* EchoCoach & TeacherVoice workflow columns */ | |
| .ec-workflow-columns, | |
| .tv-workflow-columns { | |
| gap: 1.25rem ; | |
| align-items: flex-start ; | |
| } | |
| .ec-input-col, | |
| .ec-results-col, | |
| .tv-input-col, | |
| .tv-results-col { | |
| border: 1px solid #e5e7eb; | |
| border-radius: 12px; | |
| padding: 1rem 1.1rem ; | |
| background: #fafafa; | |
| } | |
| .tv-replay-row { | |
| gap: 0.5rem ; | |
| } | |
| .tv-replay-row button { | |
| flex: 1; | |
| } | |
| .tv-or-divider { | |
| text-align: center; | |
| font-size: 0.78rem; | |
| color: #9ca3af; | |
| margin: 0.65rem 0 0.5rem; | |
| letter-spacing: 0.02em; | |
| } | |
| .tv-results-col .chatbot { | |
| min-height: 320px; | |
| } | |
| .ec-coach-report { | |
| font-size: 0.95rem ; | |
| line-height: 1.55 ; | |
| color: #1f2937 ; | |
| } | |
| .ec-coach-report h1, | |
| .ec-coach-report h2, | |
| .ec-coach-report h3 { | |
| font-size: 1rem ; | |
| font-weight: 600 ; | |
| margin: 0.75rem 0 0.35rem ; | |
| color: #111827 ; | |
| } | |
| .ec-transcript { | |
| font-size: 0.92rem ; | |
| line-height: 1.6 ; | |
| color: #374151 ; | |
| } | |
| .ec-transcript mark, | |
| .ec-transcript .filler { | |
| background: #fef3c7; | |
| padding: 0 2px; | |
| border-radius: 2px; | |
| } | |
| .ec-audio-primary .wrap, | |
| .ec-audio-primary audio { | |
| min-height: 5.5rem; | |
| } | |
| .ec-audio-primary label > span { | |
| font-size: 0.95rem ; | |
| font-weight: 600 ; | |
| color: #111827 ; | |
| } | |
| .ec-record-row { | |
| margin-top: 0.5rem ; | |
| gap: 0.5rem ; | |
| flex-wrap: wrap ; | |
| } | |
| .ec-record-row button { | |
| flex: 1; | |
| min-width: 7rem; | |
| } | |
| .ec-mic-hint { | |
| margin-top: 0.25rem ; | |
| margin-bottom: 0.5rem ; | |
| } | |
| .ec-charts-row { | |
| gap: 0.75rem ; | |
| } | |
| .ec-charts-row > div { | |
| flex: 1; | |
| min-width: 0; | |
| } | |
| .form-error { | |
| padding: 12px; | |
| border: 1px solid #fca5a5; | |
| border-radius: 8px; | |
| background: #fff5f5; | |
| color: #8a1f1f; | |
| font-size: 0.9rem; | |
| } | |
| /* Document / URL checkbox lists — light rows so titles stay readable when checked */ | |
| .doc-choice-list label { | |
| background: #ffffff ; | |
| border: 1px solid #e5e7eb ; | |
| border-radius: 8px ; | |
| padding: 0.45rem 0.6rem ; | |
| margin: 0.2rem 0 ; | |
| color: #374151 ; | |
| font-size: 0.85rem ; | |
| line-height: 1.35 ; | |
| } | |
| .doc-choice-list label span, | |
| .doc-choice-list label p, | |
| .doc-choice-list .label-text { | |
| color: #374151 ; | |
| background: transparent ; | |
| font-weight: 400 ; | |
| } | |
| .doc-choice-list label.selected, | |
| .doc-choice-list label:has(input:checked) { | |
| background: #f3f4f6 ; | |
| border-color: #9ca3af ; | |
| color: #111827 ; | |
| } | |
| .doc-choice-list label.selected span, | |
| .doc-choice-list label.selected p, | |
| .doc-choice-list label.selected .label-text, | |
| .doc-choice-list label:has(input:checked) span, | |
| .doc-choice-list label:has(input:checked) p, | |
| .doc-choice-list label:has(input:checked) .label-text { | |
| color: #111827 ; | |
| font-weight: 500 ; | |
| } | |
| /* Legacy lesson-only aliases */ | |
| .lesson-generate-row { | |
| margin-top: 0.75rem ; | |
| margin-bottom: 0.5rem ; | |
| } | |
| .settings-open-hint { | |
| font-size: 0.8rem; | |
| color: #888; | |
| } | |
| /* Global workspace bar (topic + session/RAG defaults) */ | |
| .workspace-heading { | |
| margin: 0.75rem 0 0 ; | |
| font-size: 0.95rem ; | |
| } | |
| .workspace-subtitle { | |
| color: #666; | |
| font-size: 0.82rem; | |
| margin: 0 0 0.5rem 0 ; | |
| } | |
| .workspace-bar { | |
| align-items: flex-end ; | |
| gap: 0.75rem ; | |
| padding: 0.5rem 0.75rem ; | |
| margin-bottom: 0.5rem ; | |
| background: #f9fafb; | |
| border: 1px solid #e5e7eb; | |
| border-radius: 10px; | |
| } | |
| .workspace-sources { | |
| margin-bottom: 0.75rem ; | |
| } | |