/* Video Learning Module Styles */ /* Header modifications */ .header h1 { display: flex; align-items: center; gap: 0.75rem; } /* Configuration Section */ .config-section { background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; padding: 2rem; max-width: 800px; margin: 0 auto; } .config-form { display: flex; flex-direction: column; gap: 1.5rem; } .form-group { display: flex; flex-direction: column; gap: 0.5rem; } .form-group label { font-size: 0.875rem; font-weight: 500; color: var(--text-primary); } .form-group select, .form-group input { padding: 0.75rem 1rem; background-color: var(--bg-color); border: 1px solid var(--border-color); border-radius: 8px; color: var(--text-primary); font-size: 0.95rem; } .form-group select:focus, .form-group input:focus { outline: none; border-color: var(--primary-color); } .form-group select:disabled, .form-group input:disabled { opacity: 0.5; cursor: not-allowed; } .form-group small { font-size: 0.75rem; color: var(--text-secondary); } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } /* Session Section */ .session-section { background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; padding: 2rem; } .session-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; } .session-header h2 { font-size: 1.25rem; font-weight: 600; color: var(--text-primary); } .session-controls { display: flex; gap: 0.5rem; } /* Progress Section */ .progress-section { background-color: var(--bg-color); border-radius: 8px; padding: 1.5rem; margin-bottom: 1.5rem; } .progress-info { display: flex; justify-content: space-between; margin-bottom: 0.5rem; font-size: 0.875rem; color: var(--text-secondary); } .progress-bar-large { height: 8px; background-color: rgba(99, 102, 241, 0.2); border-radius: 4px; overflow: hidden; } .progress-fill { height: 100%; background-color: var(--primary-color); transition: width 0.3s ease; } .progress-stats { margin-top: 0.5rem; font-size: 0.8rem; color: var(--text-secondary); } /* Current Video */ .current-video { margin-bottom: 2rem; } .current-video h3 { font-size: 1rem; font-weight: 600; color: var(--text-primary); margin-bottom: 1rem; } /* Video Cards */ .video-card { background-color: var(--bg-color); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; transition: border-color 0.2s; } .video-card:hover { border-color: var(--primary-color); } .video-screenshot { width: 100%; aspect-ratio: 9/16; background-color: #000; overflow: hidden; } .video-screenshot img { width: 100%; height: 100%; object-fit: contain; } .video-placeholder { width: 100%; aspect-ratio: 9/16; background-color: var(--bg-color); display: flex; align-items: center; justify-content: center; color: var(--text-secondary); } .video-info { padding: 1rem; } .video-id { font-size: 0.75rem; font-weight: 600; color: var(--primary-color); margin-bottom: 0.5rem; } .video-description { font-size: 0.875rem; color: var(--text-primary); margin-bottom: 0.5rem; line-height: 1.4; } .video-stats { display: flex; gap: 1rem; font-size: 0.75rem; color: var(--text-secondary); } .video-stats span { display: flex; align-items: center; gap: 0.25rem; } .video-stats svg { flex-shrink: 0; } /* Session Complete */ .session-complete { text-align: center; padding: 3rem 2rem; } .complete-icon { display: flex; justify-content: center; margin-bottom: 1rem; color: var(--success-color); } .session-complete h3 { font-size: 1.5rem; font-weight: 600; color: var(--text-primary); margin-bottom: 0.5rem; } .session-complete p { color: var(--text-secondary); margin-bottom: 1.5rem; } /* Video Grid */ .video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; } .video-grid .video-card { font-size: 0.875rem; } .video-grid .video-screenshot, .video-grid .video-placeholder { aspect-ratio: 9/16; } /* History Section */ .history-section { margin-top: 2rem; } .history-section h2 { font-size: 1.25rem; font-weight: 600; color: var(--text-primary); margin-bottom: 1rem; } /* Responsive */ @media (max-width: 768px) { .form-row { grid-template-columns: 1fr; } .session-header { flex-direction: column; gap: 1rem; align-items: flex-start; } .video-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }