body { background-color: #f0f4f8; } .card { border: none; border-radius: 15px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; background: linear-gradient(145deg, #ffffff 0%, #e6f0f8 100%); } .card:hover { transform: translateY(-2px); box-shadow: 0 6px 25px rgba(99, 102, 241, 0.08); } .card-header { background: linear-gradient(145deg, #4a90e2 0%, #6bb5ff 100%); border-bottom: none; border-radius: 15px 15px 0 0 !important; padding: 1.5rem 1rem; position: relative; overflow: hidden; } .card-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); pointer-events: none; } .card-header h2 { color: #ffffff; margin: 0; font-weight: 500; position: relative; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .card-body { background: linear-gradient(165deg, #ffffff 0%, #e6f0f8 100%); border-radius: 0 0 15px 15px; padding: 1.5rem; } .history-container { max-height: 700px; overflow-y: auto; padding: 0.5rem; } .history-container::-webkit-scrollbar { width: 8px; } .history-container::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.02); border-radius: 4px; } .history-container::-webkit-scrollbar-thumb { background: rgba(99, 102, 241, 0.2); border-radius: 4px; } .history-container::-webkit-scrollbar-thumb:hover { background: rgba(99, 102, 241, 0.3); } .history-item { border-radius: 10px; margin-bottom: 12px; background: linear-gradient(145deg, #ffffff 0%, #f8faff 100%); border: 1px solid rgba(99, 102, 241, 0.08); transition: all 0.2s ease; padding: 1rem; cursor: pointer; } .history-item:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08); border-color: rgba(99, 102, 241, 0.15); background: linear-gradient(145deg, #f8faff 0%, #f0f7ff 100%); } .btn-group .btn { margin-left: 5px; } footer { padding: 30px; color: #64748b; } footer a { color: #64748b; transition: color 0.2s ease; } footer a:hover { color: #334155; text-decoration: none; } #audio { border-radius: 12px; width: 100%; margin-top: 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); } .form-control { border-radius: 10px; border: 1px solid rgba(74, 144, 226, 0.15); transition: all 0.2s ease; background: #ffffff; } .form-control:focus { border-color: #6bb5ff; box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.12); background: #ffffff; } .btn { transition: all 0.2s ease; border-radius: 10px; font-weight: 500; } .btn-primary { background-color: #4a90e2; border-color: #4a90e2; } .btn-primary:hover { background-color: #357ab8; border-color: #357ab8; } .btn-info { background-color: #5bc0de; border-color: #5bc0de; } .btn-info:hover { background-color: #31b0d5; border-color: #31b0d5; } .btn-success { background-color: #5cb85c; border-color: #5cb85c; } .btn-success:hover { background-color: #4cae4c; border-color: #4cae4c; } .alert { border-radius: 10px; border: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); } #loading { color: #6366f1; } .fa-spinner { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .btn-warning { background: linear-gradient(145deg, #fbbf24 0%, #f59e0b 100%); border: none; color: white; } .btn-warning:hover { background: linear-gradient(145deg, #f59e0b 0%, #d97706 100%); color: white; } /* 添加按钮点击反馈效果 */ .btn:active { transform: scale(0.98); } /* 优化表单控件悬停状态 */ .form-control:hover { border-color: rgba(74, 144, 226, 0.3); } /* 添加悬浮提示框样式 */ .toast-container { position: fixed; top: 20px; right: 20px; z-index: 1050; } .toast { min-width: 200px; background: rgba(255, 255, 255, 0.95); border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); margin-bottom: 10px; transition: all 0.3s ease; opacity: 0; } .toast.show { opacity: 1; } .toast-body { padding: 1rem; color: #fff; border-radius: 10px; } .toast-danger { background: linear-gradient(145deg, #ef4444 0%, #dc2626 100%); } .toast-warning { background: linear-gradient(145deg, #f59e0b 0%, #d97706 100%); } .toast-info { background: linear-gradient(145deg, #3b82f6 0%, #2563eb 100%); } .toast-loading { min-width: 300px; } .toast-loading .progress { height: 4px; background: rgba(255, 255, 255, 0.2); border-radius: 2px; margin-top: 10px; } .toast-loading .progress-bar { background-color: #ffffff; transition: width 0.3s ease; } .toast-loading .fa-spinner { margin-right: 8px; }