.grading-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; animation: fadeIn 0.2s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .grading-modal { background: white; border-radius: 16px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); max-width: 600px; width: 90%; max-height: 90vh; overflow-y: auto; animation: slideUp 0.3s ease-out; } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .grading-modal-header { padding: 24px 32px; border-bottom: 2px solid #f0f0f0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .grading-modal-header h2 { margin: 0; color: white; font-size: 24px; font-weight: 600; } .grading-modal-body { padding: 32px; } /* 機器人資訊 */ .assistant-info { display: flex; align-items: center; gap: 16px; padding: 20px; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); border-radius: 12px; margin-bottom: 24px; } .assistant-icon { font-size: 48px; line-height: 1; } .assistant-details h3 { margin: 0 0 4px 0; font-size: 20px; color: #2c3e50; } .assistant-subtitle { margin: 0; font-size: 14px; color: #7f8c8d; } /* 進度條 */ .progress-section { margin-bottom: 24px; } .progress-bar-container { width: 100%; height: 12px; background-color: #e0e0e0; border-radius: 6px; overflow: hidden; margin-bottom: 8px; } .progress-bar-fill { height: 100%; background: linear-gradient(90deg, #667eea 0%, #764ba2 100%); border-radius: 6px; transition: width 0.5s ease; animation: pulse 1.5s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } .progress-text { text-align: center; font-size: 18px; font-weight: 600; color: #667eea; } /* 步驟列表 */ .steps-section { background: #f8f9fa; border-radius: 12px; padding: 20px; margin-bottom: 24px; } .step-item { padding: 12px 16px; margin-bottom: 8px; border-radius: 8px; font-size: 15px; color: #95a5a6; transition: all 0.3s ease; } .step-item.active { background: #fff; color: #667eea; font-weight: 600; box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2); animation: highlight 0.5s ease-in; } @keyframes highlight { 0% { transform: translateX(-10px); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } .step-item.completed { color: #27ae60; text-decoration: line-through; opacity: 0.6; } /* 提示資訊 */ .grading-info { background: #fff3cd; border-left: 4px solid #ffc107; border-radius: 8px; padding: 16px; } .info-text { margin: 0 0 8px 0; font-size: 15px; color: #856404; font-weight: 500; } .info-subtitle { margin: 0; font-size: 13px; color: #856404; opacity: 0.8; } /* 響應式設計 */ @media (max-width: 768px) { .grading-modal { width: 95%; max-height: 95vh; } .grading-modal-header { padding: 20px 24px; } .grading-modal-header h2 { font-size: 20px; } .grading-modal-body { padding: 24px; } .assistant-icon { font-size: 36px; } .assistant-details h3 { font-size: 18px; } .step-item { font-size: 14px; padding: 10px 12px; } }