.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{width:400px;box-shadow:0 4px 12px #00000026;border-radius:8px}.login-card .ant-card-head-title{text-align:center;font-size:24px;font-weight:700}.profile-container{max-width:800px;margin:0 auto}.profile-card{box-shadow:0 2px 8px #0000001a}.profile-header{display:flex;align-items:center;padding:24px 0;border-bottom:1px solid #f0f0f0}.profile-avatar{margin-right:24px}.profile-info h2{margin:0;font-size:24px;font-weight:600}.profile-role{margin:4px 0 0;color:#666;font-size:14px}.header{display:flex;justify-content:space-between;align-items:center;background:#001529;padding:0 24px}.logo{color:#fff;font-size:20px;font-weight:700}.user-info{display:flex;align-items:center}.site-layout-background{background:#fff}.question-bank-list{padding:24px}.question-bank-list .ant-card{box-shadow:0 2px 8px #0000001a}.question-bank-list .ant-table{margin-top:16px}.question-bank-generate{padding:24px}.question-bank-generate .ant-card{box-shadow:0 2px 8px #0000001a}.question-bank-generate .ant-form{max-width:600px}.question-bank-generate .ant-alert ul{margin-top:8px}.question-bank-generate .ant-alert li{margin-bottom:4px}.question-bank-detail{padding:24px}.question-bank-detail .ant-card{box-shadow:0 2px 8px #0000001a}.question-bank-detail .ant-collapse{background:#fff;border:1px solid #d9d9d9;border-radius:4px}.question-bank-detail .ant-collapse-header{font-size:14px}.question-bank-detail .ant-descriptions-item-label{font-weight:700;background-color:#fafafa}.task-center{height:calc(100vh - 112px);display:flex;flex-direction:column}.task-center-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-center-filters{margin-bottom:16px;padding:16px;background:#fafafa;border-radius:8px}.task-center-content{flex:1;display:flex;gap:16px;overflow:hidden}.task-list-panel{width:40%;display:flex;flex-direction:column;border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.task-list-header{padding:12px 16px;background:#fafafa;border-bottom:1px solid #d9d9d9;display:flex;justify-content:space-between;align-items:center}.task-list{flex:1;overflow-y:auto;padding:8px}.task-item{padding:16px;margin-bottom:8px;border:1px solid #d9d9d9;border-radius:8px;cursor:pointer;transition:all .3s;background:#fff}.task-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff33}.task-item.selected{border-color:#1890ff;background:#e6f7ff}.task-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-item-type{font-weight:500;font-size:14px}.task-item-course{font-size:12px;color:#8c8c8c;margin-bottom:8px}.task-item-progress{margin-bottom:8px}.task-item-info{display:flex;justify-content:space-between;font-size:12px;color:#8c8c8c}.task-detail-panel{width:60%;display:flex;flex-direction:column;border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.task-detail-header{padding:16px;background:#fafafa;border-bottom:1px solid #d9d9d9}.task-detail-content{flex:1;overflow-y:auto;padding:16px}.task-basic-info{margin-bottom:16px}.task-info-item{display:flex;margin-bottom:8px;font-size:14px}.task-info-label{width:100px;color:#8c8c8c}.task-info-value{flex:1}.task-progress-overview{margin-bottom:16px;padding:16px;background:#fafafa;border-radius:8px}.task-steps{margin-top:16px}.task-step{padding:12px;margin-bottom:8px;border:1px solid #d9d9d9;border-radius:8px}.task-step.completed{background:#f6ffed;border-color:#b7eb8f}.task-step.processing{background:#e6f7ff;border-color:#91d5ff;animation:pulse 2s infinite}.task-step.pending{background:#fafafa;opacity:.7}.task-step.failed{background:#fff2f0;border-color:#ffccc7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.task-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-step-info{font-size:12px;color:#8c8c8c}.task-logs{max-height:400px;overflow-y:auto;background:#1e1e1e;padding:12px;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.task-log-item{margin-bottom:4px;line-height:1.6}.task-log-item.DEBUG{color:#8c8c8c}.task-log-item.INFO{color:#1890ff}.task-log-item.WARNING{color:#faad14}.task-log-item.ERROR{color:#ff4d4f}.task-operations{padding:16px;background:#fafafa;border-radius:8px}.danger-zone{margin-top:16px;padding-top:16px;border-top:1px solid #d9d9d9}.task-result-info{margin-bottom:16px}.task-result-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.task-error-info{padding:12px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin-bottom:12px}.task-center-footer{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.statistics-modal .ant-descriptions-item-label{font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#8c8c8c}.empty-state-icon{font-size:64px;margin-bottom:16px}@media(max-width:1200px){.task-center-content{flex-direction:column}.task-list-panel,.task-detail-panel{width:100%}.task-list-panel{max-height:400px}}.course-hall{padding:24px}.course-hall-header{text-align:center;margin-bottom:40px}.course-hall-header h1{font-size:32px;font-weight:600;margin-bottom:8px;color:#1a1a1a}.course-hall-header .subtitle{font-size:16px;color:#8c8c8c}.course-hall-filters{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.course-card{border-radius:12px;overflow:hidden;transition:all .3s ease;border:1px solid #e8e8e8;height:100%;display:flex;flex-direction:column}.course-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f;border-color:#1890ff}.course-card-cover{height:200px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.course-card-cover:before{content:"";position:absolute;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M0 0h80v80H0z" fill="%23fff" opacity=".05"/><path d="M20 20h40v40H20z" fill="%23fff" opacity=".03"/></svg>');animation:float 20s infinite linear}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(10px,10px)}}.course-card-icon{font-size:72px;color:#fff;z-index:1}.enrolled-badge{position:absolute;top:16px;right:16px;z-index:2;background:#52c41af2;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.course-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.course-card-title{font-size:18px;font-weight:600;margin-bottom:12px;color:#1a1a1a;line-height:1.4}.course-card-description{font-size:14px;color:#666;line-height:1.6;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.course-card-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.course-card-stat{display:flex;align-items:center;gap:4px;font-size:13px;color:#8c8c8c}.course-card-stat .anticon{font-size:16px}.course-card-actions{display:flex;gap:8px}.course-card-actions .ant-btn{flex:1;height:40px;border-radius:8px;font-weight:500}.empty-state-text{font-size:16px;color:#8c8c8c;margin-bottom:24px}.course-detail-modal .ant-modal-body{padding:32px}.course-detail-header{display:flex;gap:24px;margin-bottom:32px}.course-detail-cover{width:240px;height:160px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-detail-cover .anticon{font-size:64px;color:#fff}.course-detail-info{flex:1}.course-detail-title{font-size:24px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.course-detail-stats{display:flex;gap:20px;flex-wrap:wrap}.course-detail-stat{display:flex;align-items:center;gap:6px;font-size:14px;color:#666}.course-detail-section{margin-bottom:24px}.course-detail-section h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#1a1a1a;padding-bottom:8px;border-bottom:2px solid #1890ff}.course-detail-description{font-size:14px;line-height:1.8;color:#666;white-space:pre-wrap}.course-structure{list-style:none;padding:0}.course-structure-item{padding:12px 16px;background:#fafafa;border-radius:8px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.course-structure-item .anticon{color:#1890ff;font-size:16px}@media(max-width:768px){.course-grid{grid-template-columns:1fr}.course-detail-header{flex-direction:column}.course-detail-cover{width:100%;height:200px}}@media(min-width:769px)and (max-width:1200px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1201px){.course-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1600px){.course-grid{grid-template-columns:repeat(4,1fr)}}.my-courses{padding:24px}.my-courses-header{margin-bottom:32px}.my-courses-header h1{font-size:28px;font-weight:600;margin-bottom:8px;color:#1a1a1a}.my-courses-header .subtitle{font-size:14px;color:#8c8c8c}.my-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.my-course-card{background:#fff;border-radius:12px;border:1px solid #e8e8e8;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.my-course-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;border-color:#1890ff}.my-course-card-header{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative}.my-course-card-title{font-size:18px;font-weight:600;margin-bottom:8px;line-height:1.4}.my-course-card-description{font-size:14px;opacity:.9;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-course-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.course-progress-section{margin-bottom:20px}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}.progress-label-text{color:#666;font-weight:500}.progress-percentage{color:#1890ff;font-weight:600;font-size:16px}.course-stats{display:flex;gap:16px;padding:16px 0;margin-bottom:16px;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.course-stat{flex:1;text-align:center}.course-stat-value{display:block;font-size:20px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.course-stat-label{display:block;font-size:12px;color:#8c8c8c}.my-course-card-actions{display:flex;gap:8px;margin-top:auto}.my-course-card-actions .ant-btn{flex:1;height:40px;border-radius:8px;font-weight:500}.status-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-badge.pending{background:#faad144d}.status-badge.in-progress{background:#1890ff4d}.status-badge.completed{background:#52c41a4d}.course-tip-section{padding:16px;background:#f0f8ff;border-radius:8px;margin-bottom:16px;border:1px solid #d9e9ff}.empty-state{text-align:center;padding:80px 20px}.empty-state-icon{font-size:80px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:16px;color:#8c8c8c;margin-bottom:8px}.empty-state-subtext{font-size:14px;color:#bfbfbf;margin-bottom:24px}.quick-actions{background:#fafafa;padding:20px;border-radius:12px;margin-bottom:24px}.quick-actions-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.quick-action-button{height:auto;padding:16px;text-align:left;display:flex;align-items:center;gap:12px}.quick-action-button .anticon{font-size:24px}.quick-action-content{flex:1}.quick-action-title{font-weight:600;margin-bottom:2px}.quick-action-description{font-size:12px;color:#8c8c8c}@media(max-width:768px){.my-courses-grid{grid-template-columns:1fr}.course-stats{gap:8px}.quick-actions-grid{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1200px){.my-courses-grid{grid-template-columns:repeat(2,1fr)}}.session-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;min-height:0;max-height:100%}.session-item{cursor:pointer;padding:12px!important;margin-bottom:8px;border-radius:8px;transition:all .3s;border:1px solid transparent}.session-item:hover{background:#f5f5f5}.session-item.active{background:#e6f7ff;border-color:#1890ff}.session-item-content{width:100%}.session-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.session-name{font-weight:500;font-size:14px;color:#333}.session-item-footer{display:flex;align-items:center;font-size:12px;color:#999}.session-time{font-size:12px}.message-list{display:flex;flex-direction:column;gap:24px}.message-group{display:flex;flex-direction:column;gap:12px}.message-item{display:flex;gap:12px;align-items:flex-start}.message-avatar{flex-shrink:0;margin-top:4px}.message-content{flex:1;max-width:70%}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 4px}.message-sender{font-weight:500;font-size:14px;color:#333}.message-time{font-size:12px;color:#999}.message-bubble{border-radius:8px;box-shadow:0 1px 2px #0000001a}.user-message{flex-direction:row}.user-bubble{background:#1890ff;color:#fff;border:none}.user-bubble .ant-card-body{padding:12px 16px}.ai-message{flex-direction:row}.ai-bubble{background:#fff;border:1px solid #f0f0f0}.ai-bubble .ant-card-body{padding:12px 16px}.message-context{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.ai-bubble p{margin:0 0 8px}.ai-bubble p:last-child{margin-bottom:0}.ai-bubble code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace}.ai-bubble pre{background:#f5f5f5;padding:12px;border-radius:4px;overflow-x:auto}.ai-bubble pre code{background:none;padding:0}.thinking-indicator{display:flex;align-items:center;color:#666;font-style:italic;padding:8px 0}.message-bubble pre{margin:12px 0!important;border-radius:6px!important;overflow:hidden!important}.message-bubble code{font-family:Consolas,Monaco,Courier New,monospace!important}.chat-box{display:flex;flex-direction:column;height:100%;background:#fff;overflow:hidden}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;background:#f5f5f5;min-height:0}.loading-container{display:flex;justify-content:center;align-items:center;height:100%}.input-container{padding:16px;background:#fff;border-top:1px solid #f0f0f0;display:flex;gap:12px;align-items:flex-end}.input-container textarea{flex:1}.input-container button{flex-shrink:0}.learning-page{height:100vh;display:flex;flex-direction:column;background:#f0f2f5}.learning-page .page-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #f0f0f0}.learning-page .page-header h2{margin:0;font-size:18px;font-weight:500}.learning-content{flex:1;overflow:hidden}.session-sider{border-right:1px solid #f0f0f0;overflow-y:auto}.session-header{padding:16px;border-bottom:1px solid #f0f0f0;background:#fff}.chat-content{display:flex;flex-direction:column;background:#fff}.no-session{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.learning-footer{display:flex;justify-content:center;align-items:center;padding:16px 24px;background:#fff;border-top:1px solid #f0f0f0;box-shadow:0 -2px 8px #0000000d}@media(max-width:768px){.learning-content .session-sider{width:200px!important}.learning-footer{padding:12px 16px}.learning-footer .ant-space{gap:8px!important}.learning-footer .ant-btn{font-size:12px}}.question-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.question-number{font-size:16px;font-weight:600;color:#1890ff}.question-type-badge{background:#e6f7ff;color:#1890ff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.question-content{margin-bottom:20px}.question-text{font-size:16px;line-height:1.8;color:#1a1a1a;margin-bottom:20px;font-weight:500}.question-options{margin-top:16px}.question-option{padding:16px;border:2px solid #e8e8e8;border-radius:8px;transition:all .3s ease;cursor:pointer;background:#fff}.question-option:hover{border-color:#1890ff;background:#f0f7ff}.question-option.option-correct{border-color:#52c41a;background:#f6ffed}.question-option.option-wrong{border-color:#ff4d4f;background:#fff2f0}.question-option .ant-radio,.question-option .ant-checkbox{font-size:15px}.question-option .ant-radio-wrapper,.question-option .ant-checkbox-wrapper{width:100%;margin:0;padding:0}.question-result{margin-top:24px;padding:16px;border-radius:8px;border:2px solid}.question-result.correct{border-color:#52c41a;background:#f6ffed}.question-result.wrong{border-color:#ff4d4f;background:#fff2f0}.result-icon{display:flex;align-items:center;gap:8px;margin-bottom:12px}.result-text{font-size:16px;font-weight:600;color:inherit}.question-explanation{margin-top:16px;padding:16px;background:#fafafa;border-radius:8px;border-left:4px solid #1890ff}.explanation-title{font-size:14px;font-weight:600;color:#1890ff;margin-bottom:8px}.explanation-content{font-size:14px;line-height:1.8;color:#666;white-space:pre-wrap}@media(max-width:768px){.question-card{padding:16px}.question-text{font-size:15px}.question-option{padding:12px}}.question-navigator-modal .ant-modal-body{padding:24px}.navigator-legend{display:flex;gap:24px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.legend-box{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;border:2px solid}.legend-box.answered{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.legend-box.current{background:#fff7e6;border-color:#faad14}.legend-box.unanswered{background:#f5f5f5;border-color:#d9d9d9}.question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:12px;margin-bottom:24px}.question-grid-item{width:60px;height:60px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:16px;font-weight:600;border:2px solid;position:relative}.question-grid-item.unanswered{background:#f5f5f5;border-color:#d9d9d9;color:#8c8c8c}.question-grid-item.unanswered:hover{background:#e6e6e6;border-color:#bfbfbf}.question-grid-item.answered{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.question-grid-item.answered:hover{background:#bae7ff;transform:translateY(-2px);box-shadow:0 4px 8px #1890ff33}.question-grid-item.current{background:#fff7e6;border-color:#faad14;color:#faad14;box-shadow:0 0 0 4px #faad1433}.question-grid-item.current:hover{background:#ffe7ba}.check-icon{position:absolute;top:4px;right:4px;font-size:12px}.question-number-text{font-size:18px;font-weight:600}.navigator-footer{padding-top:16px;border-top:1px solid #f0f0f0}.answer-stats{font-size:16px;font-weight:600;color:#1890ff;text-align:center}@media(max-width:768px){.question-grid{grid-template-columns:repeat(5,1fr);gap:8px}.question-grid-item{width:50px;height:50px}.navigator-legend{flex-direction:column;gap:12px}}.assessment-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.assessment-page{padding:var(--spacing-lg);background:var(--bg-gray);min-height:calc(100vh - 64px);max-width:1200px;margin:0 auto}.assessment-header{background:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:none}.header-content{display:flex;flex-direction:column;gap:16px}.header-info{display:flex;justify-content:space-between;align-items:center}.header-info h4{margin:0}.question-card{margin-bottom:24px;min-height:400px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.question-header h5{margin:0}.question-content{padding:24px 0}.question-text{font-size:16px;line-height:1.8;display:block;margin-bottom:32px;color:#333}.options-group{width:100%}.option-item{padding:16px;border:1px solid #f0f0f0;border-radius:8px;transition:all .3s;width:100%;display:flex;align-items:flex-start}.option-item:hover{border-color:#1890ff;background:#f0f7ff}.option-item.ant-radio-wrapper-checked{border-color:#1890ff;background:#e6f7ff}.question-nav{margin-bottom:24px}.nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:12px}.nav-grid button{height:40px}.nav-grid button.answered{background:#52c41a;border-color:#52c41a;color:#fff}.nav-grid button.answered:hover{background:#73d13d;border-color:#73d13d}.assessment-footer{background:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none;position:sticky;bottom:0;z-index:10}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:100%}.footer-left,.footer-right{flex:1}.footer-center{flex:0 0 auto;margin:0 var(--spacing-md)}.footer-right{display:flex;justify-content:flex-end}.assessment-footer .ant-card-body{display:flex;justify-content:center}.assessment-result-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.assessment-result-page{padding:var(--spacing-lg);background:var(--bg-gray);min-height:calc(100vh - 64px);max-width:1200px;margin:0 auto}.score-card{margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#667eea,#764ba2);border:none}.score-card .ant-card-body{padding:var(--spacing-xl)}.score-content{display:flex;align-items:center;gap:var(--spacing-xl);color:#fff}.score-icon{font-size:64px;flex-shrink:0}.score-info{flex:1}.score-label{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);opacity:.9}.score-value{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm)}.score-total{font-size:24px;font-weight:400;opacity:.8}.score-tag{font-size:var(--font-size-md);padding:4px 16px;border-radius:16px}.score-progress{flex-shrink:0}.score-progress .ant-progress-circle-trail{stroke:#fff3}.score-progress .ant-progress-text{color:#fff;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.stat-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none;transition:all var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .ant-card-body{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.stat-icon{width:56px;height:56px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.stat-icon.correct{background:var(--success-bg);color:var(--success-color)}.stat-icon.wrong{background:var(--error-bg);color:var(--error-color)}.stat-icon.total{background:var(--info-bg);color:var(--info-color)}.stat-content{flex:1}.stat-value{font-size:var(--font-size-xxxl);font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.knowledge-card{margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.knowledge-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.knowledge-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-gray);border-radius:var(--border-radius-md)}.knowledge-name{flex:0 0 200px;font-size:var(--font-size-md);font-weight:500;color:var(--text-primary)}.knowledge-progress{flex:1}.wrong-questions-card{margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.wrong-questions-collapse{border:none;background:transparent}.wrong-questions-collapse .ant-collapse-item{border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-sm);overflow:hidden}.wrong-questions-collapse .ant-collapse-header{padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-white)}.question-panel-header{display:flex;align-items:center;gap:var(--spacing-md)}.question-number{font-weight:600;color:var(--error-color);flex-shrink:0}.question-preview{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.action-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.action-buttons{display:flex;justify-content:center;gap:var(--spacing-md)}.action-buttons .ant-btn{min-width:160px;height:48px;font-size:var(--font-size-lg);border-radius:var(--border-radius-md)}@media(max-width:768px){.assessment-result-page{padding:var(--spacing-sm)}.score-content{flex-direction:column;text-align:center}.score-value{font-size:36px}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.knowledge-item{flex-direction:column;align-items:flex-start}.knowledge-name{flex:1;width:100%}.knowledge-progress{width:100%}.action-buttons{flex-direction:column}.action-buttons .ant-btn{width:100%}.question-panel-header{flex-direction:column;align-items:flex-start}.question-preview{white-space:normal}}@media(min-width:769px)and (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.knowledge-tree-container{display:flex;flex-direction:column;gap:24px}.overall-mastery{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.overall-mastery .ant-card-body{padding:32px}.mastery-content{display:flex;align-items:center;gap:48px}.mastery-circle{flex-shrink:0}.mastery-stats{flex:1;color:#fff}.mastery-stats strong{color:#fff;font-size:18px}.mastery-stats .ant-space-item{color:#ffffffe6}.knowledge-group{margin-bottom:0}.knowledge-group .ant-card-head-title{display:flex;align-items:center;gap:8px}.knowledge-point{padding:16px;border:1px solid #f0f0f0;border-radius:8px;transition:all .3s}.knowledge-point:hover{box-shadow:0 2px 8px #0000001a}.knowledge-point.excellent{border-left:4px solid #52c41a;background:#f6ffed}.knowledge-point.good{border-left:4px solid #faad14;background:#fffbe6}.knowledge-point.needs-work{border-left:4px solid #f5222d;background:#fff2f0}.point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.point-header strong{flex:1;margin-right:8px}.knowledge-tree-chart{margin-bottom:24px}.knowledge-tree-chart .ant-card-body{padding:16px}.knowledge-tree-chart .ant-tabs-content{padding:16px 0}.learning-path-graph{width:100%;height:600px;border:1px solid #e8e8e8;border-radius:8px;background-color:#fafafa}.progress-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.progress-container{max-width:1200px;margin:0 auto;padding:24px}.progress-overview{margin-bottom:24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none}.progress-overview .ant-statistic-title{color:#ffffffb3;font-size:12px}.progress-overview .ant-statistic-content{color:#fff;font-size:24px;font-weight:600}.progress-overview .anticon{color:#fffc;margin-right:8px}.knowledge-stats{margin-bottom:24px}.knowledge-stats .ant-card-head-title{display:flex;align-items:center;gap:8px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px;border:1px solid #f0f0f0;border-radius:8px}.stat-item strong{font-size:14px;color:#333}.learning-path-table{margin-bottom:24px}.learning-path-table .ant-card-head-title{display:flex;align-items:center;gap:8px}.knowledge-table{margin-bottom:24px}.knowledge-table .ant-card-head-title{display:flex;align-items:center;gap:8px}.ant-table-small .ant-table-cell{padding:8px 16px}.ant-tag{margin:0}.learning-loop-page{min-height:100vh;background:#f0f2f5;padding:24px}.learning-loop-page .page-header{margin-bottom:24px}.loop-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.node-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.node-card .node-header{text-align:center;margin-bottom:32px}.node-card .node-header h2{margin:0;color:#1890ff}.node-info{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 0}.node-icon{padding:24px;background:#e6f7ff;border-radius:50%}.node-details{width:100%;max-width:600px;text-align:center}.learning-tip{padding:12px 16px;background:#f0f9ff;border-left:4px solid #1890ff;border-radius:4px;text-align:left}.node-actions{display:flex;justify-content:center;padding-top:32px;border-top:1px solid #f0f0f0}.course-info-card{border-radius:8px;background:#fafafa}@media(max-width:768px){.learning-loop-page{padding:16px}.loop-content{max-width:100%}.node-info{padding:16px 0}.node-details{max-width:100%}.node-actions .ant-space{flex-direction:column;width:100%}.node-actions .ant-btn{width:100%}}:root{--primary-color: #1890ff;--primary-light: #40a9ff;--primary-lighter: #69c0ff;--primary-bg: #e6f7ff;--success-color: #52c41a;--success-bg: #f6ffed;--warning-color: #faad14;--warning-bg: #fff7e6;--error-color: #ff4d4f;--error-bg: #fff2f0;--info-color: #1890ff;--info-bg: #e6f7ff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #8c8c8c;--text-disabled: #bfbfbf;--border-color: #e8e8e8;--border-color-light: #f0f0f0;--bg-white: #ffffff;--bg-gray: #fafafa;--bg-gray-light: #f5f5f5;--answered-color: #e6f7ff;--answered-border: #1890ff;--current-color: #fff7e6;--current-border: #faad14;--unanswered-color: #f5f5f5;--unanswered-border: #d9d9d9;--correct-color: #f6ffed;--correct-border: #52c41a;--wrong-color: #fff2f0;--wrong-border: #ff4d4f;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--border-radius-sm: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1);--shadow-hover: 0 12px 24px rgba(0, 0, 0, .12);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px;--font-size-xxxl: 32px;--z-index-base: 1;--z-index-dropdown: 1000;--z-index-modal: 1050;--z-index-tooltip: 1100}.text-center{text-align:center}.text-primary{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.bg-primary{background-color:var(--primary-bg)}.bg-success{background-color:var(--success-bg)}.bg-warning{background-color:var(--warning-bg)}.bg-error{background-color:var(--error-bg)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.empty-container{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg)}.empty-icon{font-size:64px;margin-bottom:var(--spacing-md);opacity:.5}.empty-text{font-size:var(--font-size-md);color:var(--text-tertiary);margin-bottom:var(--spacing-lg)}.page-container{padding:var(--spacing-lg);min-height:calc(100vh - 64px);background:var(--bg-gray)}.page-header{background:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.page-content{background:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-footer{background:var(--bg-white);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-top:var(--spacing-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center}.card-modern{background:var(--bg-white);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card-modern:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@media(max-width:768px){.page-container{padding:var(--spacing-sm)}.page-header,.page-content,.page-footer{padding:var(--spacing-md)}.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile{display:none!important}}.interactive-quiz-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.interactive-quiz-page{padding:var(--spacing-lg);background:var(--bg-gray);min-height:calc(100vh - 64px);max-width:1200px;margin:0 auto}.page-header{margin-bottom:var(--spacing-md)}.quiz-header{margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg)}.header-info{flex:1}.quiz-title{font-size:var(--font-size-xxl);font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--text-primary)}.quiz-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.header-selector{flex-shrink:0}.quiz-stats{margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.quiz-stats .ant-card-body{padding:var(--spacing-md) var(--spacing-lg)}.quiz-content{margin-bottom:var(--spacing-lg)}.explanation-card{margin-top:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:2px solid var(--primary-color);background:var(--primary-bg)}.explanation-header{font-size:var(--font-size-lg);font-weight:600;color:var(--primary-color);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.explanation-header .anticon{font-size:var(--font-size-xl)}.explanation-content{font-size:var(--font-size-md);line-height:1.8;color:var(--text-primary);background:var(--bg-white);padding:var(--spacing-md);border-radius:var(--border-radius-md);white-space:pre-wrap}.similar-question-card{margin-top:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:2px solid var(--warning-color);background:var(--warning-bg)}.similar-header{font-size:var(--font-size-lg);font-weight:600;color:var(--warning-color);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.similar-header .anticon{font-size:var(--font-size-xl)}.quiz-footer{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:none}.footer-buttons{display:flex;justify-content:center;gap:var(--spacing-md)}.footer-buttons .ant-btn{min-width:140px;height:48px;font-size:var(--font-size-lg);border-radius:var(--border-radius-md)}@media(max-width:768px){.interactive-quiz-page{padding:var(--spacing-sm)}.header-content{flex-direction:column}.header-selector{width:100%}.header-selector .ant-select{width:100%!important}.footer-buttons{flex-direction:column}.footer-buttons .ant-btn{width:100%}}.section-exam-page{padding:24px;max-width:1000px;margin:0 auto}.learning-report{max-width:1200px;margin:0 auto;padding:40px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.report-header{text-align:center;margin-bottom:40px;color:#333}.report-header h1{font-size:2.5rem;margin-bottom:10px;color:#2c3e50}.course-name{font-size:1.2rem;color:#7f8c8d}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.card{background:#fff;border-radius:12px;padding:30px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 6px #0000001a;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:0 8px 12px #00000026}.card-icon{font-size:2.5rem;min-width:60px}.card-content{flex:1}.card-title{font-size:.9rem;color:#7f8c8d;margin-bottom:8px}.card-value{font-size:1.8rem;font-weight:700;color:#2c3e50}.report-section{background:#fff;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.report-section h2{color:#2c3e50;margin-bottom:25px;font-size:1.5rem;border-bottom:3px solid #3498db;padding-bottom:10px}.score-analysis{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:30px;flex-wrap:wrap}.score-item{display:flex;flex-direction:column;align-items:center;background:#f8f9fa;padding:20px;border-radius:8px;min-width:150px}.score-item.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.score-item .label{font-size:.9rem;color:#7f8c8d;margin-bottom:8px}.score-item.highlight .label{color:#fffc}.score-item .value{font-size:1.8rem;font-weight:700;color:#2c3e50}.score-item.highlight .value{color:#fff}.score-arrow{font-size:1.5rem;color:#3498db}.score-stats{text-align:center;color:#7f8c8d;padding:20px;background:#f8f9fa;border-radius:8px}.score-stats p{margin:8px 0}.score-stats strong{color:#2c3e50;font-size:1.1rem}.report-mastery-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.report-stat-row{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.report-stat-row span{color:#2c3e50}.report-stat-row.overall{grid-column:1 / -1;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:1.2rem;font-weight:700}.report-stat-row.overall span{color:#fff}.report-stat-row strong{color:#2c3e50;font-size:1.3rem}.report-stat-row.overall strong{color:#fff}.report-stat-row strong.green{color:#27ae60}.report-stat-row strong.yellow{color:#f39c12}.report-stat-row strong.red{color:#e74c3c}.report-mastery-bar{display:flex;height:40px;border-radius:8px;overflow:hidden;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.report-bar-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;position:relative}.report-bar-segment.green{background:#27ae60}.report-bar-segment.yellow{background:#f39c12}.report-bar-segment.red{background:#e74c3c}.report-bar-label{text-shadow:0 1px 2px rgba(0,0,0,.2)}.weak-points-list{display:grid;gap:20px}.weak-point-item{background:#f8f9fa;padding:20px;border-radius:8px;border-left:5px solid #e74c3c}.point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.point-name{font-size:1.1rem;font-weight:700;color:#2c3e50}.point-chapter{background:#e74c3c;color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem}.point-stats{display:flex;gap:20px;margin-bottom:12px;font-size:.9rem;color:#7f8c8d}.mastery-progress{width:100%}.progress-bar{width:100%;height:8px;background:#ecf0f1;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);border-radius:4px;transition:width .3s ease}.suggestions{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.suggestions h2{color:#fff;border-bottom-color:#ffffff4d}.suggestion-content{line-height:1.8}.suggestion-content p{margin:12px 0;font-size:.95rem}.report-footer{text-align:center;padding:30px;color:#7f8c8d}.btn-back{margin-top:20px;padding:12px 30px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .3s}.btn-back:hover{background:#2980b9}.loading{text-align:center;padding:100px 20px;font-size:1.5rem;color:#7f8c8d}.error-container{background:#fff;border-radius:12px;padding:40px;text-align:center;max-width:600px;margin:50px auto;box-shadow:0 4px 6px #0000001a}.error-container h2{color:#e74c3c;margin-bottom:20px}.error-container p{color:#7f8c8d;margin-bottom:30px}.error-container button{padding:12px 30px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}@media(max-width:768px){.report-header h1{font-size:1.8rem}.cards-grid{grid-template-columns:1fr}.score-analysis{flex-direction:column}.score-arrow{rotate:90deg}.mastery-stats{grid-template-columns:1fr}.stat-row.overall{grid-column:1}}.chapter-exam-page{padding:24px;max-width:1000px;margin:0 auto}.exam-card{box-shadow:0 2px 8px #0000001a}.exam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.question-section{margin:30px 0}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-content{background:#f5f5f5;padding:20px;border-radius:8px;margin:15px 0}.exam-actions{margin-top:30px;padding-top:20px;border-top:1px solid #f0f0f0;display:flex;justify-content:center}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
