body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}@font-face{font-family:Digital-7;src:url(/font/Digital-7/digital-7-4.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Digital-7;src:url(/font/Digital-7/digital-7-italic-1.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Digital-7-Mono;src:url(/font/Digital-7/digital-7-mono-3.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Digital-7-Mono;src:url(/font/Digital-7/digital-7-mono-italic-2.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DIN-Bold;src:url(/font/DIN-Bold/din-bold-2.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}html,body,#root{height:100%;margin:0;padding:0}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar{width:4px;height:4px}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,#root::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:4px}.colorWeak{filter:invert(80%)}.ant-layout{min-height:100vh}.ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed{left:unset}canvas{display:block}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 768px){.ant-table{width:100%;overflow-x:auto}.ant-table-thead>tr>th,.ant-table-tbody>tr>th,.ant-table-thead>tr>td,.ant-table-tbody>tr>td{white-space:pre}.ant-table-thead>tr>th>span,.ant-table-tbody>tr>th>span,.ant-table-thead>tr>td>span,.ant-table-tbody>tr>td>span{display:block}}@media screen and (max-width: 1200px){.ant-pro-sider-collapsed-button{visibility:hidden}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.classroom-card .ant-card-body{padding:16px}.classroom-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.classroom-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.classroom-card-title{display:flex;align-items:center;flex:1 1}.main-class-tag{border-radius:10px;font-size:12px}.classroom-card-content .info-item{display:flex;align-items:center;margin-bottom:6px}.classroom-card-content .info-item:last-child{margin-bottom:0}.classroom-card-info .info-item{display:flex;align-items:center;margin-bottom:8px}.classroom-card-info .info-item:last-child{margin-bottom:0}.student-avatar{display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;border-radius:16px;border:1px solid #f7f7f7;position:relative}.student-avatar .student-title{width:100%;margin-bottom:8px}.student-avatar .student-title .title-text{display:inline-block;background:#1890ff;color:#fff;border:none;font-size:11px;font-weight:500;padding:4px 8px;border-radius:12px;transition:all .3s ease}.student-avatar .student-title .title-text:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.student-avatar .avatar-container{position:relative;margin-bottom:8px}.student-avatar .avatar-container .avatar-image{border-radius:50%;transition:all .3s ease;object-fit:cover;cursor:pointer}.student-avatar .avatar-container .avatar-image:hover{transform:scale(1.05)}.student-avatar .avatar-container .leader-badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:linear-gradient(135deg,gold,#ffb300);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.student-avatar .avatar-container .leader-badge:hover{transform:scale(1.1);box-shadow:0 2px 8px #ffd70066}.student-avatar .avatar-container .leader-badge .anticon{font-size:12px;color:#fff}.student-avatar.leader .avatar-container .avatar-image{border:2px solid gold;box-shadow:0 0 0 2px #ffd70033}.student-avatar .student-info{width:100%}.student-avatar .student-info .student-name{font-size:14px;font-weight:500;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-avatar .student-info .student-info-score{font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px}.student-avatar.small{padding:4px}.student-avatar.small .student-title .title-text{font-size:10px;padding:2px 6px}.student-avatar.small .student-info .student-name{font-size:12px}.student-avatar.small .student-info .student-info-score{font-size:10px}.student-avatar.small .student-info .student-info-score .anticon{font-size:8px}.student-avatar.small .avatar-container .leader-badge{width:16px;height:16px}.student-avatar.small .avatar-container .leader-badge .anticon{font-size:8px}.student-avatar.large{padding:12px}.student-avatar.large .student-title .title-text{font-size:12px;padding:4px 10px}.student-avatar.large .student-info .student-name{font-size:16px}.student-avatar.large .student-info .student-info-score{font-size:14px}.student-avatar.large .student-info .student-info-score .anticon{font-size:12px}.student-avatar.large .avatar-container .leader-badge{width:24px;height:24px}.student-avatar.large .avatar-container .leader-badge .anticon{font-size:12px}.student-avatar .quick-add-score-btn{margin-top:8px;background-color:#f3f3f3;min-width:auto;border-radius:8px;padding:4px 22px;display:flex;align-items:center;justify-content:center;border:none;outline:none;box-shadow:none;color:#0a59f7;font-size:12px;font-weight:600}.student-avatar .quick-add-score-btn:hover{background-color:#e6e6e6!important}.score-modal-praise-tab,.score-modal-improve-tab{height:500px;padding:10px;overflow-y:auto}.score-modal-praise-tab::-webkit-scrollbar,.score-modal-improve-tab::-webkit-scrollbar{width:4px}.score-modal-praise-tab::-webkit-scrollbar-thumb,.score-modal-improve-tab::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px}.evaluation-projects-grid{display:grid;gap:10px;margin-bottom:20px}@media (min-width: 1920px){.evaluation-projects-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 1366px)and (max-width: 1919px){.evaluation-projects-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width: 1024px)and (max-width: 1365px){.evaluation-projects-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px)and (max-width: 1023px){.evaluation-projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.evaluation-projects-grid{grid-template-columns:repeat(2,1fr)}}.classroom-group-modal .ant-modal-body{max-height:70vh;overflow:auto}.classroom-group-modal .ant-modal-body::-webkit-scrollbar{width:4px;height:4px}.classroom-group-modal .ant-modal-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.classroom-group-modal .classroom-group-content{display:flex;flex-direction:column;padding:8px;height:100%}.classroom-group-modal .filter-section{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px;box-shadow:0 0 10px #0000001a}.classroom-group-modal .filter-section .filter-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.classroom-group-modal .filter-section .filter-row .filter-item{display:flex;align-items:center;gap:8px}.classroom-group-modal .filter-section .filter-row .filter-item .filter-label{font-size:14px;color:#666;white-space:nowrap}.classroom-group-modal .filter-section .filter-row .filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.classroom-group-modal .filter-section .filter-row .filter-actions .selected-info-btn{background:#e6f7ff;border-color:#91d5ff;color:#1890ff}.classroom-group-modal .groups-list{flex:1 1;background:#fff;border-radius:8px;overflow:auto;display:flex;flex-direction:column}.classroom-group-modal .groups-list .groups-grid .group-card{border-radius:12px;background:#fff;transition:all .2s ease;margin-bottom:16px;border:1px solid #f0f0f0}.classroom-group-modal .groups-list .groups-grid .group-card .group-header{padding:12px;border-bottom:1px solid #f1f1f1;background-color:#f8f9fa;display:flex;align-items:center;gap:8px;cursor:pointer}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .group-icon{color:#666;font-size:12px}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .group-name{font-size:16px;font-weight:600;color:#333}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .group-title{margin-left:auto;margin-right:12px}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .group-title .group-title-text{display:inline-block;background:#52c41a;color:#fff;border:none;font-size:11px;font-weight:500;padding:3px 8px;border-radius:12px;transition:all .3s ease}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .group-title .group-title-text:hover{background:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .selection-checkbox{cursor:pointer}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .selection-checkbox .checkbox{width:16px;height:16px;border:1px solid #e5e5e5;border-radius:50%;background:#fff;transition:all .2s ease}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .selection-checkbox .checkbox.checked{border-color:#1890ff;background:#1890ff;position:relative}.classroom-group-modal .groups-list .groups-grid .group-card .group-header .selection-checkbox .checkbox.checked:after{content:"";position:absolute;top:2px;left:4px;width:4px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.classroom-group-modal .groups-list .groups-grid .group-card .group-content{padding:12px}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .empty-group{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#ccc;text-align:center;border:2px dashed #e8e8e8;border-radius:8px}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .empty-group .empty-icon{font-size:24px;margin-bottom:8px}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .empty-group .empty-text{font-size:12px;margin-bottom:4px;color:#999}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student{position:relative;cursor:pointer;border-radius:16px;box-shadow:0 0 8px #00000026;transition:all .2s ease}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student .selection-checkbox{position:absolute;top:8px;left:8px;z-index:10}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student .selection-checkbox .checkbox{width:16px;height:16px;border:1px solid #e5e5e5;border-radius:50%;background:#fff;transition:all .2s ease}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student .selection-checkbox .checkbox.checked{border-color:#1890ff;background:#1890ff;position:relative}.classroom-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student .selection-checkbox .checkbox.checked:after{content:"";position:absolute;top:2px;left:4px;width:4px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.class-score-query__query-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.class-score-query__query-card .query-label{margin-right:12px;color:#262626;font-size:14px;font-weight:500;display:inline-flex;align-items:center}.class-score-query__query-card .ant-input,.class-score-query__query-card .ant-select-selector,.class-score-query__query-card .ant-picker{border-radius:8px;font-size:14px}.class-score-query__query-card .ant-btn{border-radius:8px;font-weight:500}.class-score-query__query-card .ant-btn-primary{height:36px;padding:0 24px}.class-score-query__query-card .quick-time-buttons .ant-btn{border-radius:6px;font-size:13px;height:28px;padding:0 12px;color:#595959;border-color:#d9d9d9;transition:all .2s ease}.class-score-query__query-card .quick-time-buttons .ant-btn:hover:not(:disabled){color:#1677ff;border-color:#1677ff;background:#f0f5ff}.class-score-query__query-card .quick-time-buttons .ant-btn:disabled{opacity:.5}.class-score-query__query-card .ant-segmented .ant-segmented-item-label{min-height:32px;line-height:32px}.class-score-query__stats-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.class-score-query__stats-card .ant-statistic .ant-statistic-title{color:#8c8c8c;font-size:14px;font-weight:400;margin-bottom:8px}.class-score-query__stats-card .ant-statistic .ant-statistic-content{color:#262626;font-weight:600}.class-score-query__stats-card .ant-statistic .ant-statistic-content .ant-statistic-content-value{font-size:28px}.class-score-query__stats-card .ant-statistic .ant-statistic-content .ant-statistic-content-suffix{font-size:16px;color:#8c8c8c;margin-left:4px}.class-score-query__table-card{border-radius:12px;box-shadow:0 2px 8px #0000000f}.class-score-query__table-card .ant-table .ant-table-thead>tr>th{background:#fafafa;border-bottom:2px solid #f0f0f0;font-weight:600;font-size:15px;color:#262626;padding:16px 12px}.class-score-query__table-card .ant-table .ant-table-tbody>tr>td{padding:16px 12px;font-size:14px;border-bottom:1px solid #f5f5f5}.class-score-query__table-card .ant-table .student-name{font-weight:600;color:#262626;font-size:15px}.class-score-query__table-card .ant-table .total-score{font-size:20px;font-weight:700;color:#1677ff}.class-score-query__table-card .ant-table .period-change{font-weight:600;font-size:15px}.class-score-query__table-card .ant-table .period-change.positive{color:#52c41a}.class-score-query__table-card .ant-table .period-change.negative{color:#ff4d4f}.class-score-query__table-card .ant-table .period-change.neutral{color:#8c8c8c}.class-score-query__table-card .ant-table .column-subtitle{font-size:12px;color:#8c8c8c;font-weight:400;margin-top:4px;line-height:1.2}.class-score-query .expanded-content{padding:20px 24px;background:#fafafa;border-radius:8px;margin:16px 0}.class-score-query .expanded-content .records-title{font-size:16px;font-weight:600;color:#262626;margin-bottom:16px}.class-score-query .expanded-content .records-list .record-item{display:flex;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;margin-bottom:8px;border-left:4px solid #e8e8e8;box-shadow:0 1px 3px #0000000a;transition:all .2s ease}.class-score-query .expanded-content .records-list .record-item:hover{box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.class-score-query .expanded-content .records-list .record-item:last-child{margin-bottom:0}.class-score-query .expanded-content .records-list .record-item .record-date{font-size:13px;color:#8c8c8c;margin-right:16px;min-width:80px;font-weight:500}.class-score-query .expanded-content .records-list .record-item .record-description{flex:1 1;font-size:15px;color:#262626;font-weight:400}.class-score-query .expanded-content .records-list .record-item .record-score{font-weight:600;font-size:16px;min-width:50px;text-align:right}.class-score-query .expanded-content .records-list .record-item .record-score.positive{color:#52c41a}.class-score-query .expanded-content .records-list .record-item .record-score.negative{color:#ff4d4f}@media (max-width: 768px){.class-score-query__query-card .ant-row{flex-direction:column;gap:12px}.class-score-query__query-card .ant-row .ant-col{width:100%}.class-score-query__stats-card .ant-row .ant-col{margin-bottom:16px}}.ant-table-expanded-row .ant-table-cell{padding:0!important}.ant-empty.ant-empty-small{margin:8px 0}.class-timer-modal .timer-modal-title{font-size:16px;font-weight:600}.class-timer .mode-card{margin-bottom:24px;background:#fafafa}.class-timer .mode-card .mode-selector{width:100%;display:flex}.class-timer .mode-card .mode-selector .ant-radio-button-wrapper{flex:1 1;text-align:center}.class-timer .settings-area{margin-bottom:24px;padding:20px;background:#f5f5f5;border-radius:8px}.class-timer .settings-area .countdown-settings{display:flex;align-items:center;justify-content:center;gap:12px}.class-timer .settings-area .countdown-settings .settings-label{font-weight:500;color:#333}.class-timer .settings-area .stopwatch-settings{display:flex;justify-content:center}.class-timer .settings-area .preset-settings .preset-card{display:flex;align-items:center;padding:12px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s}.class-timer .settings-area .preset-settings .preset-card:hover{border-color:#1677ff;box-shadow:0 2px 8px #1677ff26}.class-timer .settings-area .preset-settings .preset-card.active{border-color:#1677ff;background:#e6f4ff;box-shadow:0 2px 8px #1677ff33}.class-timer .settings-area .preset-settings .preset-card .preset-icon{font-size:32px;margin-right:12px}.class-timer .settings-area .preset-settings .preset-card .preset-info{flex:1 1}.class-timer .settings-area .preset-settings .preset-card .preset-info .preset-name{font-weight:500;color:#333;font-size:15px;margin-bottom:4px}.class-timer .settings-area .preset-settings .preset-card .preset-info .preset-duration{color:#666;font-size:13px}.class-timer .timer-display{margin:40px 0;text-align:center}.class-timer .timer-display .timer-scene-name{font-size:20px;font-weight:600;color:#666;margin-bottom:12px;padding:8px 16px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border-radius:20px;display:inline-block;box-shadow:0 2px 8px #f5576c4d;animation:fadeIn .5s ease-out}.class-timer .timer-display .time-value{font-size:72px;font-weight:700;color:#1677ff;font-family:DIN,Arial,sans-serif;letter-spacing:4px;margin-bottom:16px;text-shadow:0 2px 8px rgba(22,119,255,.2);transition:all .3s}.class-timer .timer-display .time-value.finished{color:#52c41a;animation:pulse 1s ease-in-out infinite}.class-timer .timer-display .progress-bar{width:80%;height:8px;background:#f0f0f0;border-radius:4px;margin:0 auto 16px;overflow:hidden}.class-timer .timer-display .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#1677ff,#52c41a);border-radius:4px;transition:width .5s linear}.class-timer .timer-display .timer-status{font-size:18px;color:#666;font-weight:500}.class-timer .control-buttons{display:flex;justify-content:center;margin-bottom:24px}.class-timer .control-buttons button{min-width:120px}.class-timer .records-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-radius:8px;margin-bottom:16px}.class-timer .records-summary .records-count{color:#666;font-size:14px}.class-timer .records-summary .records-toggle-button{font-size:14px;padding:4px 12px}.class-timer .records-summary .records-toggle-button:hover{background:#1677ff14;border-radius:4px}.class-timer .records-card{animation:slideDown .3s ease-out}.class-timer .records-card .records-list{max-height:200px;overflow-y:auto}.class-timer .records-card .records-list .record-item{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f0f0;transition:background .2s}.class-timer .records-card .records-list .record-item:hover{background:#fafafa}.class-timer .records-card .records-list .record-item:last-child{border-bottom:none}.class-timer .records-card .records-list .record-item .record-index{color:#999;margin-right:12px;min-width:24px}.class-timer .records-card .records-list .record-item .record-name{flex:1 1;font-weight:500;color:#333;margin-right:8px}.class-timer .records-card .records-list .record-item .record-type{margin-right:12px}.class-timer .records-card .records-list .record-item .record-type .type-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.class-timer .records-card .records-list .record-item .record-type .type-tag.countdown{background:#e6f4ff;color:#1677ff}.class-timer .records-card .records-list .record-item .record-type .type-tag.stopwatch{background:#f6ffed;color:#52c41a}.class-timer .records-card .records-list .record-item .record-duration{color:#1677ff;font-weight:600;margin-right:16px;min-width:60px}.class-timer .records-card .records-list .record-item .record-time{color:#999;font-size:12px;min-width:50px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width: 1366px){.class-timer .timer-display .time-value{font-size:60px}.class-timer .settings-area .preset-settings .preset-card .preset-icon{font-size:28px}}.ant-card:not(.ant-card-bordered){box-shadow:0 0 12px 2px #00000014}.courseware-card{width:260px;border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer;border:none;padding:7px;opacity:0;transform:translateY(20px)}.courseware-card.animate-in{opacity:1;transform:translateY(0)}.courseware-card.animate-in:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.courseware-card.deleted{opacity:.7}.courseware-card.deleted .courseware-cover{filter:grayscale(50%)}.courseware-card .courseware-cover{aspect-ratio:16/9;position:relative;display:flex;align-items:center;justify-content:center;color:#fff}.courseware-card .courseware-cover .courseware-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.courseware-card .courseware-cover .courseware-content{text-align:center;z-index:1}.courseware-card .courseware-cover .courseware-content .courseware-icon{margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.courseware-card .courseware-cover .courseware-content .courseware-title{color:#fff;margin:0;font-weight:600;font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.courseware-card .courseware-cover .courseware-actions{position:absolute;top:8px;right:8px;z-index:2}.courseware-card .courseware-cover .courseware-actions .ant-btn{color:#fff;border:1px solid rgba(255,255,255,.5);background:#0003;border-radius:4px}.courseware-card .courseware-cover .courseware-actions .ant-btn:hover{background:#fff3;border-color:#fffc}.courseware-card .courseware-cover .courseware-actions .ant-btn.ant-btn-dangerous:hover{background:#ff4d4fcc;border-color:#ff4d4f}.courseware-card .courseware-cover:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000001a;z-index:0}.courseware-card .ant-card-body{padding:16px}.courseware-card .ant-card-body .courseware-info{display:flex;flex-direction:column;gap:4px}.courseware-card .ant-card-body .courseware-info .courseware-type{font-weight:500;font-size:14px;display:flex;align-items:center;gap:4px}.courseware-card .ant-card-body .courseware-info .courseware-time{color:#999;font-size:12px}.courseware-editor-textarea-bottom .courseware-editor-attachments{margin-bottom:2px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachments-list{display:flex;flex-wrap:wrap;gap:8px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag{display:inline-flex;align-items:center;border:1px solid #f0f2ff;border-radius:16px;padding:4px 8px 4px 10px;font-size:12px;color:#333;max-width:200px;transition:all .2s ease}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag.image-attachment{padding:2px 8px 2px 10px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag.image-attachment .attachment-content{gap:6px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content{display:flex;align-items:center;gap:4px;flex:1 1;min-width:0}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-preview{width:24px;height:24px;border-radius:4px;overflow:hidden;flex-shrink:0}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-preview img{width:100%;height:100%;object-fit:cover;border-radius:4px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-icon{font-size:14px;flex-shrink:0}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-separator{color:#999;margin:0 2px}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-content .attachment-size{color:#666;font-size:11px;flex-shrink:0}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-close{width:16px;height:16px;min-width:16px;padding:0;margin-left:4px;border:none;background:#0000;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-close:hover{background-color:#d9d9d9}.courseware-editor-textarea-bottom .courseware-editor-attachments .attachment-tag .attachment-close span{font-size:14px;font-weight:700;color:#666;line-height:1}.courseware-editor-textarea-bottom .courseware-editor-textarea-button .ant-upload-wrapper .ant-btn{transition:all .2s ease}.courseware-editor-textarea-bottom .courseware-editor-textarea-button .ant-upload-wrapper .ant-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.courseware-editor-textarea-bottom .courseware-editor-textarea-button{display:flex;align-items:center;justify-content:space-between;transition:all .3s ease}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send{border-radius:35px;width:46px;height:35px;border:none;box-shadow:none;transition:all .2s ease}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #00000026}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send:active:not(:disabled){transform:scale(.95)}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send:disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send:disabled:hover{transform:none;box-shadow:none}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send .ant-btn-icon{width:20px;height:20px}.courseware-editor-textarea-bottom .courseware-editor-textarea-button-send .ant-btn-icon img{margin-bottom:10px}.digital-human-panel{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.digital-human-panel .panel-header{user-select:none;position:relative}.digital-human-panel .panel-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.digital-human-panel .panel-content::-webkit-scrollbar{width:2px}.digital-human-panel .panel-content::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.digital-human-panel .panel-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d1d5db,#9ca3af);border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease}.digital-human-panel .panel-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#6b7280)}.digital-human-panel .hint-section{background:linear-gradient(135deg,#e8f0ff,#dae7ff);position:relative;overflow:hidden}.digital-human-panel .hint-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(82,196,26,.05) 0%,transparent 70%);animation:pulse-glow 4s ease-in-out infinite}.digital-human-panel .empty-state{position:relative}.digital-human-panel .empty-state .anticon{animation:float 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.1;transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}body.dragging{user-select:none;cursor:move!important}body.dragging *{cursor:move!important}.edit-courseware-modal__form{padding:20px 0}.edit-courseware-modal__field-label{margin-bottom:8px;font-weight:500;font-size:14px;color:#262626}.edit-courseware-modal__field-label-required{color:#ff4d4f}.edit-courseware-modal__field-label-optional{color:#999;font-size:12px;font-weight:400}.edit-courseware-modal__field{margin-bottom:24px}.edit-courseware-modal__cover-upload .ant-upload{width:100%}.edit-courseware-modal__cover-upload .ant-upload .ant-upload-drag{padding:0;background:#fafafa;border:1px dashed #d9d9d9;border-radius:6px;height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all .3s ease}.edit-courseware-modal__cover-upload .ant-upload .ant-upload-drag:hover{border-color:#1677ff}.edit-courseware-modal__cover-upload .ant-upload .ant-upload-drag.has-image{border:1px solid #d9d9d9;background:#0000}.edit-courseware-modal__cover-upload-empty{text-align:center;padding:20px}.edit-courseware-modal__cover-upload-empty .anticon{font-size:48px;color:#999;margin-bottom:16px}.edit-courseware-modal__cover-upload-empty-text{color:#262626;font-size:14px;margin-bottom:8px;font-weight:500}.edit-courseware-modal__cover-upload-empty-hint{color:#999;font-size:12px}.edit-courseware-modal__cover-upload-preview{position:relative;width:100%;height:100%}.edit-courseware-modal__cover-upload-preview-image{width:100%;height:100%;object-fit:cover;display:block}.edit-courseware-modal__cover-upload-preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;font-size:14px;text-align:center}.edit-courseware-modal__cover-upload-preview-overlay .anticon{font-size:32px;margin-bottom:8px;display:block}.edit-courseware-modal__cover-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:10;background:#0009;border:none;border-radius:50%;width:32px;height:32px;min-width:32px;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:all .3s ease;opacity:0}.edit-courseware-modal__cover-upload-preview-remove:hover{background:#ff4d4fe6;transform:scale(1.1)}.edit-courseware-modal__cover-upload-preview-remove:focus{background:#ff4d4fe6}.edit-courseware-modal__cover-upload .ant-upload-drag:hover .edit-courseware-modal__cover-upload-preview-overlay,.edit-courseware-modal__cover-upload .ant-upload-drag:hover .edit-courseware-modal__cover-upload-preview-remove{opacity:1}.edit-courseware-modal__cover-upload-info{font-size:12px;color:#666;margin-top:8px;padding:8px 12px;background:#f6f8fa;border-radius:4px}.edit-courseware-modal__actions{margin-top:32px;padding-top:16px;border-top:1px solid #f0f0f0;text-align:right}.evaluation-project-modal .upload-tips{margin-top:8px;font-size:12px;color:#999;line-height:1.5}.evaluation-project-modal .form-actions{margin-top:24px;margin-bottom:0;text-align:right}.evaluation-project-modal .form-actions .ant-form-item-control-input-content{display:flex;justify-content:flex-end}.evaluation-project-modal .ant-form-item-label>label{font-weight:500}.evaluation-project-modal .ant-radio-group{display:flex;gap:24px}.evaluation-project-modal .cover-selection-tabs .ant-tabs-nav{margin-bottom:16px}.evaluation-project-modal .cover-selection-tabs .ant-tabs-tab .tab-indicator{color:#1677ff;margin-left:4px;font-size:8px;vertical-align:middle}.evaluation-project-modal .cover-selection-tabs .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane{padding:0}.evaluation-project-modal .default-covers-section .default-covers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item{display:flex;flex-direction:column;align-items:center;padding:8px;border:2px solid #f0f0f0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fafafa}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item:hover{border-color:#d9d9d9;background:#f5f5f5;transform:translateY(-1px)}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item.selected{border-color:#1677ff;background:#1677ff0d}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item.selected .default-cover-name{color:#1677ff;font-weight:500}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item .default-cover-image{width:32px;height:32px;object-fit:cover;border-radius:4px;margin-bottom:4px}.evaluation-project-modal .default-covers-section .default-covers-grid .default-cover-item .default-cover-name{font-size:12px;color:#595959;text-align:center;line-height:1.2}.evaluation-project-modal .custom-upload-section{display:flex;flex-direction:column;align-items:center;padding:20px 0}.evaluation-project-modal .custom-upload-section .ant-upload-wrapper{margin-bottom:12px}.evaluation-project-modal .upload-image-preview .ant-upload-list-item-thumbnail{display:flex!important;align-items:center!important;justify-content:center!important}.floating-toolbar{position:fixed;right:24px;bottom:24px;z-index:999;transition:all .3s ease}.floating-toolbar.expanded{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:16px;min-width:160px}.floating-toolbar.expanded .toolbar-header{display:flex;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.floating-toolbar.expanded .toolbar-header .toolbar-icon{font-size:18px;color:#1677ff;margin-right:8px}.floating-toolbar.expanded .toolbar-header .toolbar-title{flex:1 1;font-size:15px;font-weight:600;color:#333}.floating-toolbar.expanded .toolbar-header .collapse-button{color:#999;cursor:pointer;font-size:14px;transition:all .2s}.floating-toolbar.expanded .toolbar-header .collapse-button:hover{color:#333;transform:rotate(90deg)}.floating-toolbar.expanded .toolbar-buttons{display:flex;flex-direction:column;gap:10px}.floating-toolbar.expanded .toolbar-buttons .tool-button{height:48px;font-size:15px;font-weight:500;border-radius:8px;box-shadow:0 2px 8px #1677ff33;transition:all .3s}.floating-toolbar.expanded .toolbar-buttons .tool-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1677ff4d}.floating-toolbar.expanded .toolbar-buttons .tool-button:active{transform:translateY(0)}.floating-toolbar.expanded .toolbar-buttons .tool-button.roll-call-button{border:none}.floating-toolbar.expanded .toolbar-buttons .tool-button.roll-call-button:hover{background:linear-gradient(135deg,#7a8ff0,#8a5db2)}.floating-toolbar.expanded .toolbar-buttons .tool-button.timer-button{background:linear-gradient(135deg,#f093fb,#f5576c);border:none}.floating-toolbar.expanded .toolbar-buttons .tool-button.timer-button:hover{background:linear-gradient(135deg,#f5a3fc,#f76d82)}.floating-toolbar.expanded .toolbar-buttons .tool-button.score-button{background:linear-gradient(135deg,#34d399,#10b981);border:none}.floating-toolbar.expanded .toolbar-buttons .tool-button.score-button:hover{background:linear-gradient(135deg,#6ee7b7,#34d399)}.floating-toolbar.expanded .toolbar-buttons .tool-button.metronome-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none}.floating-toolbar.expanded .toolbar-buttons .tool-button.metronome-button:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24)}.floating-toolbar.collapsed .expand-button{width:56px;height:56px;font-size:24px;box-shadow:0 6px 16px #1677ff4d;background:linear-gradient(135deg,#667eea,#764ba2);border:none;transition:all .3s}.floating-toolbar.collapsed .expand-button:hover{transform:scale(1.1) rotate(180deg);box-shadow:0 8px 20px #1677ff66;background:linear-gradient(135deg,#7a8ff0,#8a5db2)}.floating-toolbar.collapsed .expand-button:active{transform:scale(1.05) rotate(180deg)}@media screen and (max-width: 1366px){.floating-toolbar{right:16px;bottom:16px}.floating-toolbar.expanded{min-width:140px;padding:12px}.floating-toolbar.expanded .toolbar-buttons .tool-button{height:44px;font-size:14px}.floating-toolbar.collapsed .expand-button{width:52px;height:52px}}@media screen and (max-height: 768px){.floating-toolbar{bottom:16px}}.web-fullscreen-float-button{z-index:1000;opacity:0;transform:translateY(20px);transition:all .3s ease-in-out;pointer-events:none}.web-fullscreen-float-button.visible{opacity:1;transform:translateY(0);pointer-events:auto}.web-fullscreen-float-button.hidden{opacity:0;transform:translateY(20px);pointer-events:none}.web-fullscreen-float-button:hover{transform:scale(1.1);transition:transform .2s ease-in-out}.web-fullscreen-float-button.visible:hover{transform:translateY(0) scale(1.1)}.web-fullscreen-float-button .anticon{font-size:18px;color:#1890ff}.web-fullscreen-container{position:relative;transition:all .3s ease-in-out}.web-fullscreen-container.web-fullscreen-active{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-height:100vh!important;z-index:9999!important;overflow:auto;display:flex;flex-direction:column;-ms-overflow-style:none;scrollbar-width:none}.web-fullscreen-container.web-fullscreen-active::-webkit-scrollbar{display:none}.honor-wall .honor-item{text-align:center;display:flex;flex-direction:column;align-items:center}.honor-wall .honor-item__icon{font-size:20px;margin-bottom:8px;background-color:#daeffb;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;overflow:hidden}.honor-wall .honor-item__name{font-size:14px;color:#333}.honor-wall .add-honor-btn{text-align:center;display:flex;flex-direction:column;align-items:center}.honor-wall .add-honor-btn__icon{font-size:20px;margin-bottom:8px;border:1px dashed #d9d9d9;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}.honor-wall .add-honor-btn__icon:hover{border-color:#1890ff;background-color:#f0f7ff}.manual-group-modal .ant-modal-body{height:70vh;min-height:500px}.manual-group-modal .manual-group-content{display:flex;flex-direction:column;height:100%;overflow:auto}.manual-group-modal .manual-group-content::-webkit-scrollbar{width:12px}.manual-group-modal .manual-group-content::-webkit-scrollbar-thumb{background:#999;border-radius:2px}.manual-group-modal .operation-guide{background:#eff6ff;border:1px solid #b3d7ff;color:#0a59f7;border-radius:16px;padding:16px;margin-bottom:20px}.manual-group-modal .operation-guide .guide-title{font-size:14px;margin-bottom:8px;font-weight:600}.manual-group-modal .operation-guide .guide-list{margin:0;padding-left:16px;font-size:12px}.manual-group-modal .operation-guide .guide-list li{line-height:1.5;margin-bottom:4px;font-weight:600}.manual-group-modal .operation-guide .guide-list li:last-child{margin-bottom:0}.manual-group-modal .operation-guide .guide-list .clear-selection{font-size:12px;color:#1890ff;cursor:pointer;text-decoration:underline;font-style:italic}.manual-group-modal .group-management-layout{display:flex;gap:20px;overflow:auto}.manual-group-modal .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:8px}.manual-group-modal .section-header .section-title{font-size:16px;font-weight:600;color:#333}.manual-group-modal .section-header .select-info{display:flex;align-items:center;font-size:12px;gap:2px}.manual-group-modal .section-header .select-info .count{background:#eff6ff;color:#1890ff;font-weight:400;padding:2px 6px;border-radius:12px;width:fit-content}.manual-group-modal .section-header .select-info .select-btn{padding:2px 6px;border-radius:12px;cursor:pointer;background-color:#f3f3f3;user-select:none}.manual-group-modal .unassigned-students{width:390px;background:#fff;border-radius:12px;border:1px solid #f3f3f3;padding:12px;overflow:hidden;display:flex;flex-direction:column}.manual-group-modal .unassigned-students .students-grid{display:flex;flex-wrap:wrap;gap:12px;overflow-y:auto;padding:6px}.manual-group-modal .unassigned-students .students-grid::-webkit-scrollbar{width:6px}.manual-group-modal .unassigned-students .students-grid::-webkit-scrollbar-thumb{background:#999;border-radius:2px}.manual-group-modal .unassigned-students .students-grid .student-card{position:relative;cursor:pointer;border-radius:16px;box-shadow:0 0 8px #00000026}.manual-group-modal .unassigned-students .students-grid .student-card .selection-checkbox{position:absolute;top:8px;left:8px;z-index:10}.manual-group-modal .unassigned-students .students-grid .student-card .selection-checkbox .checkbox{width:16px;height:16px;border:1px solid #e5e5e5;border-radius:50%;background:#fff;transition:all .2s ease}.manual-group-modal .unassigned-students .students-grid .student-card .selection-checkbox .checkbox.checked{border-color:#1890ff;background:#1890ff;position:relative}.manual-group-modal .unassigned-students .students-grid .student-card .selection-checkbox .checkbox.checked:after{content:"";position:absolute;top:2px;left:4px;width:4px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.manual-group-modal .groups-list{flex:1.5 1;background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.manual-group-modal .groups-list .groups-grid{display:flex;flex-wrap:wrap;gap:16px;overflow-y:auto;flex:1 1}.manual-group-modal .groups-list .groups-grid::-webkit-scrollbar{width:6px}.manual-group-modal .groups-list .groups-grid::-webkit-scrollbar-thumb{background:#999;border-radius:2px}.manual-group-modal .groups-list .groups-grid .group-card{width:360px;border:1px solid #f1f1f1;border-radius:12px;background:#fff;transition:all .2s ease;min-height:280px}.manual-group-modal .groups-list .groups-grid .group-card .group-header{padding:12px;border-bottom:1px solid #f1f1f1;background-color:#f8f9fa;border-radius:12px 12px 0 0}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info{width:100%;display:flex;justify-content:space-between;align-items:center}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name{font-size:16px;font-weight:600;color:#333}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit{display:flex;align-items:center;gap:4px;flex:1 1}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .group-name-input{flex:1 1;min-width:100px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .group-name-input .ant-input{font-size:16px;font-weight:600;border:1px solid #1890ff;border-radius:4px;padding:2px 6px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions{display:flex;gap:2px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions .action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions .action-btn.save-btn{color:#52c41a}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions .action-btn.save-btn:hover{background:#f6ffed}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions .action-btn.cancel-btn{color:#ff4d4f}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-name-edit .edit-actions .action-btn.cancel-btn:hover{background:#fff2f0}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions{display:flex;gap:2px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions .action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions .action-btn.edit-btn{color:#fa8c16}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions .action-btn.edit-btn:hover{background:#fff7e6}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions .action-btn.delete-btn{color:#ff4d4f}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-info .group-actions .action-btn.delete-btn:hover{background:#fff2f0}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-bts{display:flex;justify-content:space-between;align-items:center}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-bts .group-btn{cursor:pointer;background-color:#e5e7eb;color:#afb6c0;padding:4px;border-radius:50%;width:20px;height:20px;display:flex}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-bts .group-btn .anticon{font-size:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-bts .group-btn.add-btn{background-color:#1890ff;color:#fff}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-count{margin-top:6px;font-size:11px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-count .count{background-color:#dbeafe;padding:2px 6px;border-radius:8px;width:fit-content;color:#0a59f7;margin-right:4px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .excellent-badge{color:#fa8c16;background:#fff7e6;padding:2px 6px;border-radius:8px;width:fit-content}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions{display:flex;gap:2px;margin-top:-4px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions .action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions .action-btn.edit-btn{color:#fa8c16}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions .action-btn.edit-btn:hover{background:#fff7e6}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions .action-btn.delete-btn{color:#ff4d4f}.manual-group-modal .groups-list .groups-grid .group-card .group-header .group-actions .action-btn.delete-btn:hover{background:#fff2f0}.manual-group-modal .groups-list .groups-grid .group-card .group-content{padding:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-content .empty-group{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#ccc;text-align:center;border:2px dashed #e8e8e8;border-radius:8px}.manual-group-modal .groups-list .groups-grid .group-card .group-content .empty-group .empty-icon{font-size:24px;margin-bottom:8px}.manual-group-modal .groups-list .groups-grid .group-card .group-content .empty-group .empty-text{font-size:12px;margin-bottom:4px;color:#999}.manual-group-modal .groups-list .groups-grid .group-card .group-content .empty-group .empty-hint{font-size:11px;color:#ccc}.manual-group-modal .groups-list .groups-grid .group-card .group-content .group-students{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.manual-group-modal .groups-list .groups-grid .group-card .group-content .group-students .group-student{cursor:pointer;border-radius:16px;box-shadow:0 0 8px #00000026}.manual-group-modal .context-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:#0000}.manual-group-modal .context-menu .context-menu-content{background:#fff;border-radius:6px;box-shadow:0 4px 16px #0000001f;border:1px solid #e8e8e8;overflow:hidden;min-width:120px}.manual-group-modal .context-menu .context-menu-content .context-menu-item{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s ease}.manual-group-modal .context-menu .context-menu-content .context-menu-item:hover{background-color:#f5f5f5}.manual-group-modal .context-menu .context-menu-content .context-menu-item.danger{color:#ff4d4f}.manual-group-modal .context-menu .context-menu-content .context-menu-item.danger:hover{background-color:#fff2f0}.manual-group-modal .context-menu .context-menu-content .context-menu-item .anticon{font-size:12px}@media (max-width: 1024px){.manual-group-modal .group-management-layout{flex-direction:column;gap:16px}.manual-group-modal .group-management-layout .unassigned-students,.manual-group-modal .group-management-layout .groups-list{flex:none;height:200px}.manual-group-modal .group-management-layout .operation-buttons{flex-direction:row;width:auto}}.performance-chart{display:flex;align-items:center;gap:20px}.performance-chart .pie-chart-container{width:250px;height:250px}.performance-chart .class-charts-grid{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.performance-chart .class-charts-grid .class-chart-item{display:flex;flex-direction:column;align-items:center}.performance-chart .class-charts-grid .class-chart-item .small-pie-container{width:120px;height:120px}.performance-chart .class-charts-grid .class-chart-item .class-info{display:flex;align-items:end;gap:2px}.performance-chart .class-charts-grid .class-chart-item .class-info .class-name{font-size:12px;color:#fff;opacity:.9;font-weight:700}.performance-chart .class-charts-grid .class-chart-item .class-info .class-total{font-size:10px;color:#fff;opacity:.9;font-family:DIN-Bold,sans-serif}@media screen and (min-width: 1820px){.performance-chart .pie-chart-container{width:300px;height:300px}}@media screen and (max-width: 1510px){.performance-chart .pie-chart-container{width:180px;height:180px}.performance-chart .class-charts-grid .class-chart-item .small-pie-container{width:100px;height:100px}}@media screen and (max-width: 1320px){.performance-chart .pie-chart-container{width:180px;height:180px}.performance-chart .class-charts-grid .class-chart-item .small-pie-container{width:90px;height:90px}}@media screen and (min-height: 1100px){.performance-chart .pie-chart-container{width:280px;height:280px}.performance-chart .class-charts-grid .class-chart-item .small-pie-container{width:180px;height:180px}}.profile-edit-modal .ant-modal-body{padding:24px}.profile-edit-steps{margin-bottom:32px;padding:16px 0;border-bottom:1px solid #f0f0f0}.profile-edit-steps .ant-steps .ant-steps-item-title{font-size:13px}.profile-edit-steps .ant-steps .ant-steps-item-description{font-size:12px;color:#999}.profile-edit-steps-icon{width:32px;height:32px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#999;font-size:16px}.profile-edit-steps-icon-check{width:32px;height:32px;border-radius:50%;background:#52c41a;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.profile-edit-step-content{min-height:300px;margin-bottom:24px}.profile-edit-step-content .ant-typography-title{color:#262626;margin-bottom:16px!important}.profile-edit-step-content .ant-form-item{margin-bottom:16px}.profile-edit-step-content .ant-form-item-label>label{font-weight:500;color:#262626}.profile-edit-step-buttons{display:flex;justify-content:center;padding-top:16px;border-top:1px solid #f0f0f0}.profile-edit-warning{background:#fff7e6;border:1px solid #ffd591;border-radius:8px;padding:16px;margin-bottom:24px}.profile-edit-warning .profile-edit-warning-header{display:flex;align-items:center;gap:8px;font-weight:500;color:#d46b08;margin-bottom:8px}.profile-edit-warning .profile-edit-warning-header .profile-edit-warning-badge{background:#fa8c16;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.profile-edit-warning .profile-edit-warning-text{color:#ad6800;margin:0;font-size:13px;line-height:1.5}.profile-edit-changes .profile-edit-change-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:16px;margin-bottom:12px}.profile-edit-changes .profile-edit-change-item:last-child{margin-bottom:0}.profile-edit-changes .profile-edit-change-item .profile-edit-change-label{font-weight:500;color:#262626;margin-bottom:12px;font-size:14px}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-old,.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-new{display:flex;flex-direction:column;gap:4px;min-width:120px;flex:1 1}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-old .profile-edit-change-tag,.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-new .profile-edit-change-tag{font-size:12px;color:#999;font-weight:500}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-old span:last-child,.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-new span:last-child{font-size:14px;color:#262626;word-break:break-all}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-old .profile-edit-change-tag{color:#ff4d4f}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-old span:last-child{color:#ff4d4f;text-decoration:line-through}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-new .profile-edit-change-tag{color:#52c41a}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-new span:last-child{color:#52c41a;font-weight:500}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-arrow{color:#1890ff;font-weight:700;font-size:16px;flex-shrink:0}@media (max-width: 768px){.profile-edit-modal .ant-modal{width:95%!important;margin:10px}.profile-edit-step-content .ant-col{margin-bottom:8px}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content{flex-direction:column;align-items:flex-start;gap:8px}.profile-edit-changes .profile-edit-change-item .profile-edit-change-content .profile-edit-change-arrow{transform:rotate(90deg);align-self:center}}.rank-title-modal .form-actions{margin-top:24px;margin-bottom:0;text-align:right}.rank-title-modal .form-actions .ant-form-item-control-input-content{display:flex;justify-content:flex-end}.rank-title-modal .ant-form-item-label>label{font-weight:500}.rank-title-modal .ant-input,.rank-title-modal .ant-input-number,.rank-title-modal .ant-select{border-radius:6px}.rank-title-modal .ant-input-number{width:100%}.roll-call-modal .roll-call-modal-title{font-size:16px;font-weight:600}.roll-call-tool .mode-card{margin-bottom:20px;background:#fafafa;border-radius:8px}.roll-call-tool .mode-card .mode-selector{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.roll-call-tool .mode-card .mode-selector .mode-label{font-weight:500;color:#333}.roll-call-tool .mode-card .mode-selector .mode-radio-group{flex:1 1}.roll-call-tool .mode-card .group-selector,.roll-call-tool .mode-card .sequential-selector{display:flex;align-items:center;color:#666}.roll-call-tool .result-area{margin:30px 0;text-align:center}.roll-call-tool .result-area .result-display{min-height:200px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 8px 20px #667eea4d}.roll-call-tool .result-area .result-display.animating .animation-text{animation:slideUp .1s ease-in-out}.roll-call-tool .result-area .result-display .animation-text{font-size:48px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2)}.roll-call-tool .result-area .result-display .result-content .result-name{font-size:56px;font-weight:700;color:#fff;margin-bottom:12px;text-shadow:0 4px 15px rgba(0,0,0,.3);animation:scaleIn .5s ease-out}.roll-call-tool .result-area .result-display .result-content .result-group{font-size:18px;color:#ffffffe6;display:flex;align-items:center;justify-content:center;gap:8px;animation:fadeIn .5s ease-out .2s both}.roll-call-tool .result-area .result-display .result-content .result-tag{animation:fadeIn .5s ease-out .2s both}.roll-call-tool .result-area .result-display .result-placeholder{font-size:20px;color:#ffffffb3;font-weight:500}.roll-call-tool .result-area .action-buttons{display:flex;justify-content:center;margin-bottom:12px}.roll-call-tool .result-area .action-buttons .roll-call-button{padding:0 48px;height:48px;font-size:18px;font-weight:600;border-radius:24px;box-shadow:0 4px 12px #1890ff4d}.roll-call-tool .result-area .action-buttons .roll-call-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1890ff66}.roll-call-tool .result-area .shortcut-hint{color:#999;font-size:12px;margin-top:8px}.roll-call-tool .statistics-bar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:20px;gap:16px;flex-wrap:wrap}.roll-call-tool .statistics-bar .stat-item{display:flex;align-items:center;gap:8px;flex:1 1;min-width:180px}.roll-call-tool .statistics-bar .stat-item .stat-label{color:#666;font-size:14px}.roll-call-tool .statistics-bar .stat-item .stat-value{color:#333;font-size:14px}.roll-call-tool .statistics-bar .stat-item .stat-value strong{color:#1677ff;font-size:16px;margin:0 4px}.roll-call-tool .statistics-bar .history-toggle-button{font-size:14px;padding:4px 12px;flex-shrink:0}.roll-call-tool .statistics-bar .history-toggle-button:hover{background:#1677ff14;border-radius:4px}.roll-call-tool .history-card{animation:slideDown .3s ease-out;margin-top:16px}.roll-call-tool .history-card .history-list{max-height:300px;overflow-y:auto}.roll-call-tool .history-card .history-list .history-item{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f0f0;transition:background .2s}.roll-call-tool .history-card .history-list .history-item:hover{background:#fafafa}.roll-call-tool .history-card .history-list .history-item:last-child{border-bottom:none}.roll-call-tool .history-card .history-list .history-item .history-index{color:#999;margin-right:12px;min-width:24px}.roll-call-tool .history-card .history-list .history-item .history-name{font-weight:500;color:#333;margin-right:12px;flex:1 1}.roll-call-tool .history-card .history-list .history-item .history-tag{margin-right:8px}.roll-call-tool .history-card .history-list .history-item .history-time{color:#999;font-size:12px;margin-left:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width: 1366px){.roll-call-tool .result-area .result-display{min-height:160px}.roll-call-tool .result-area .result-display .animation-text{font-size:40px}.roll-call-tool .result-area .result-display .result-content .result-name{font-size:48px}}.score-form{width:100%;background:#fff;border-radius:8px}.score-form__header{padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.score-form__header .score-form__title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.score-form__header .score-form__stats{display:flex;justify-content:flex-start}.score-form__table .ant-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#262626}.score-form__table .ant-table .ant-table-tbody>tr:hover>td{background:#f5f5f5}.score-form__table .ant-table .ant-table-tbody>tr.score-form__row--editable .ant-table-cell:last-child{background:#1890ff05}.score-form__table .ant-table .ant-table-tbody>tr.score-form__row--readonly .ant-table-cell{background:#00000005}.score-form__table .ant-table .ant-input-number:hover{border-color:#40a9ff}.score-form__table .ant-table .ant-input-number:focus,.score-form__table .ant-table .ant-input-number.ant-input-number-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.score-form__footer{padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;display:flex;justify-content:center;align-items:center;gap:16px}.score-form__empty{padding:40px 24px;text-align:center;color:#8c8c8c}@media (max-width: 768px){.score-form__header{padding:16px}.score-form__header .score-form__title{flex-direction:column;align-items:flex-start;gap:8px}.score-form__header .score-form__stats{flex-direction:column;gap:8px}.score-form__footer{padding:16px;flex-direction:column;gap:12px}}@media print{.score-form{box-shadow:none;border:1px solid #000}.score-form__footer{display:none}.score-form .ant-table .ant-table-thead>tr>th,.score-form .ant-table .ant-table-tbody>tr>td{border:1px solid #000!important}}.score-form .ant-typography.ant-typography-success{color:#52c41a}.score-form .ant-typography.ant-typography-warning{color:#faad14}.score-form .ant-typography.ant-typography-secondary{color:#8c8c8c}.score-form__table .ant-input-number.score-input--error{border-color:#ff4d4f}.score-form__table .ant-input-number.score-input--error:hover,.score-form__table .ant-input-number.score-input--error:focus{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.score-form__table .ant-input-number.score-input--success{border-color:#52c41a}.score-form__table .ant-input-number.score-input--success:hover,.score-form__table .ant-input-number.score-input--success:focus{border-color:#52c41a;box-shadow:0 0 0 2px #52c41a33}.scroll-carousel{position:relative;overflow:hidden;margin-top:2px;flex:1 1}.scroll-carousel .scroll-carousel-content{display:flex;flex-direction:column}.scroll-carousel .scroll-carousel-content .scroll-carousel-item{flex-shrink:0;width:100%}.scroll-carousel .scroll-carousel-content .scroll-carousel-item>*{width:100%;display:flex;align-items:center}.scroll-carousel .scroll-carousel-content .scroll-carousel-gap{flex-shrink:0;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.scroll-carousel .scroll-carousel-content .scroll-carousel-gap:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.1) 80%,transparent 100%)}.scroll-carousel .scroll-carousel-content .scroll-carousel-gap:after{content:"\25cf\25cf\25cf";color:#0000001a;font-size:8px;letter-spacing:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scroll-carousel:before,.scroll-carousel:after{content:"";position:absolute;left:0;right:0;height:15px;pointer-events:none;z-index:1}.scroll-carousel:before{top:0;background:linear-gradient(to bottom,rgba(0,0,0,.1),transparent)}.scroll-carousel:after{bottom:0;background:linear-gradient(to top,rgba(0,0,0,.1),transparent)}.scroll-carousel.scroll-carousel--static:before,.scroll-carousel.scroll-carousel--static:after{display:none}.scroll-carousel.scroll-carousel--static .scroll-carousel-content{justify-content:flex-start;height:100%}.statistic-card:hover{transform:translateY(-2px);transition:all .3s ease;box-shadow:0 8px 24px #1677ff4d}.statistic-card .ant-card-body{padding:16px;position:relative;z-index:1}.statistic-card .statistic-title{font-weight:400;margin-bottom:8px;opacity:.9}.statistic-card .statistic-title.small{font-size:11px;margin-bottom:6px}.statistic-card .statistic-title.medium{font-size:12px;margin-bottom:8px}.statistic-card .statistic-title.large{font-size:14px;margin-bottom:10px}.statistic-card .statistic-value{font-weight:700;line-height:1}.statistic-card .statistic-value.small{font-size:20px}.statistic-card .statistic-value.medium{font-size:24px}.statistic-card .statistic-value.large{font-size:32px}@media (max-width: 768px){.statistic-card .statistic-title.small{font-size:10px}.statistic-card .statistic-title.medium{font-size:11px}.statistic-card .statistic-title.large{font-size:12px}.statistic-card .statistic-value.small{font-size:18px}.statistic-card .statistic-value.medium{font-size:20px}.statistic-card .statistic-value.large{font-size:24px}}.student-ranking-modal .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:20px 24px}.student-ranking-modal .ranking-modal-title{display:flex;align-items:center;font-size:18px;font-weight:600;color:#333}.student-ranking-modal .ranking-modal-title .title-icon{font-size:20px;color:#faad14;margin-right:8px}.student-ranking-modal .ant-modal-body{padding:24px;overflow-x:hidden}.student-ranking-modal .ranking-content .ranking-stats{display:flex;gap:24px;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:12px}.student-ranking-modal .ranking-content .ranking-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.student-ranking-modal .ranking-content .ranking-stats .stat-item .stat-label{font-size:12px;color:#666;font-weight:500}.student-ranking-modal .ranking-content .ranking-stats .stat-item .stat-value{font-size:18px;font-weight:700;color:#1890ff}.student-ranking-modal .ranking-content .ranking-table{width:100%}.student-ranking-modal .ranking-content .ranking-table .ant-table-container{overflow-x:hidden!important}.student-ranking-modal .ranking-content .ranking-table .ant-table-body::-webkit-scrollbar{width:6px}.student-ranking-modal .ranking-content .ranking-table .ant-table-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.student-ranking-modal .ranking-content .ranking-table .ant-table-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.student-ranking-modal .ranking-content .ranking-table .ant-table-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.student-ranking-modal .ranking-content .ranking-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#333;border-bottom:2px solid #f0f0f0;white-space:nowrap}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr{transition:all .3s ease}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr:hover{background:#f5f5f5}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr td{padding:12px 8px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr.top-three-row{background:linear-gradient(135deg,#fff7e6,#fff2e6);border-left:4px solid #faad14}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr.top-three-row:hover{background:linear-gradient(135deg,#fff4d6,#ffeed6)}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .rank-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;margin:0 auto}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .rank-number.rank-1{background:linear-gradient(135deg,gold,#ffed4e);color:#fff;box-shadow:0 2px 8px #ffd70066}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .rank-number.rank-2{background:linear-gradient(135deg,silver,#e8e8e8);color:#fff;box-shadow:0 2px 8px #c0c0c066}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .rank-number.rank-3{background:linear-gradient(135deg,#cd7f32,#daa520);color:#fff;box-shadow:0 2px 8px #cd7f3266}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .rank-number:not(.rank-1):not(.rank-2):not(.rank-3){background:#f0f0f0;color:#666}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .student-info{display:flex;align-items:center;gap:12px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .student-info .student-details{display:flex;flex-direction:column;gap:4px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .student-info .student-details .student-name{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:6px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .student-info .student-details .student-name .leader-icon{color:#faad14;font-size:12px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-info{display:flex;align-items:center;gap:8px;justify-content:flex-start}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-info .group-name{font-size:13px;font-weight:500;color:#333;white-space:nowrap}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-info .group-title-tag{background:#52c41a;color:#fff;border:none;font-size:10px;padding:3px 8px;border-radius:12px;font-weight:500;margin:0}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .points-display{display:flex;align-items:center;gap:8px;justify-content:center}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .points-display .personal-title-tag{background:#1890ff;color:#fff;border:none;font-size:10px;padding:3px 8px;border-radius:12px;font-weight:500;margin:0}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .points-display .points-value{font-size:16px;font-weight:700;color:#1890ff}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-points-display{display:flex;flex-direction:column;align-items:center;gap:4px}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-points-display .group-points-value{font-size:15px;font-weight:700;color:#ff6b6b}.student-ranking-modal .ranking-content .ranking-table .ant-table-tbody>tr .group-points-display .group-points-label{font-size:10px;color:#999;font-weight:400}@media (max-width: 768px){.student-ranking-modal .ant-modal{width:95%!important;margin:10px auto}.student-ranking-modal .ranking-content .ranking-stats{flex-direction:column;gap:12px}.student-ranking-modal .ranking-content .ranking-stats .stat-item{flex-direction:row;justify-content:space-between}}.student-score{width:100%;height:380px;flex:1 1;flex-direction:column;display:flex}.student-score .student-score-title{width:100%;margin-bottom:4px;background-color:#0000;display:flex;align-items:center;justify-content:space-between}.student-score .student-score-title .student-score-title-item{flex:1 1;color:#fff;font-size:13px;opacity:.7;font-family:DIN-Bold,sans-serif;text-align:center}.student-score .student-score-item{height:35px;margin-bottom:4px;background-color:#082341e4;display:flex;align-items:center;justify-content:space-between}.student-score .student-score-item .score-item-class,.student-score .student-score-item .score-item-name,.student-score .student-score-item .score-item-score{flex:1 1;text-align:center}.student-score .student-score-item .score-item-class,.student-score .student-score-item .score-item-name{font-size:13px;color:#fff}.student-score .student-score-item .score-item-score{font-size:16px;color:#33edc9;font-weight:700}@media screen and (max-width: 1480px){.student-score{height:380px}.student-score .student-score-title .student-score-title-item{font-size:10px}.student-score .student-score-title .student-score-title-item:first-child{width:60px}.student-score .student-score-item .score-item-class{width:60px;font-size:10px}.student-score .student-score-item .score-item-name,.student-score .student-score-item .score-item-score,.student-score .student-score-item .score-item-change{font-size:10px}}.student-tags{margin-bottom:24px}.student-tags__container{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:4px}.student-tags__add-input{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px}.student-tags__add-btn{border:1px dashed #d9d9d9;cursor:pointer;transition:all .3s}.student-tags__add-btn:hover{border-color:#1890ff;background-color:#f0f7ff}.teaching-design-template{width:100%;max-width:800px;margin:0 auto;background:#fff;font-family:\5b8b\4f53,SimSun,serif;font-size:14px;line-height:1.6;color:#333;overflow-x:auto}@media (max-width: 768px){.teaching-design-template{font-size:12px;padding:10px}}.teaching-design-template .template-header{display:flex;justify-content:center;align-items:center;margin-bottom:10px}.teaching-design-template .template-header h2{margin:0;font-size:18px;font-weight:700;color:#000}.teaching-design-template .template-content .lesson-section{margin-bottom:30px}.teaching-design-template .template-content .lesson-section:not(:first-child){border-top:2px solid #e8e8e8;padding-top:20px}.teaching-design-template .template-content .lesson-section:not(:first-child):before{content:"";display:block;width:100%;height:1px;background:linear-gradient(to right,transparent,#ccc,transparent);margin-bottom:20px}.teaching-design-template .template-content .info-table,.teaching-design-template .template-content .content-table,.teaching-design-template .template-content .lesson-table,.teaching-design-template .template-content .activities-table,.teaching-design-template .template-content .evaluation-table,.teaching-design-template .template-content .reflection-table,.teaching-design-template .template-content .appendix-table,.teaching-design-template .template-content .skills-table{width:100%;border-collapse:collapse;border:1px solid #000;word-wrap:break-word;word-break:break-all}.teaching-design-template .template-content .info-table .label-cell,.teaching-design-template .template-content .content-table .label-cell,.teaching-design-template .template-content .lesson-table .label-cell,.teaching-design-template .template-content .activities-table .label-cell,.teaching-design-template .template-content .evaluation-table .label-cell,.teaching-design-template .template-content .reflection-table .label-cell,.teaching-design-template .template-content .appendix-table .label-cell,.teaching-design-template .template-content .skills-table .label-cell{font-weight:700;width:100px}.teaching-design-template .template-content .info-table th,.teaching-design-template .template-content .content-table th,.teaching-design-template .template-content .lesson-table th,.teaching-design-template .template-content .activities-table th,.teaching-design-template .template-content .evaluation-table th,.teaching-design-template .template-content .reflection-table th,.teaching-design-template .template-content .appendix-table th,.teaching-design-template .template-content .skills-table th{font-weight:700;border:1px solid #000;vertical-align:middle;padding:8px;word-wrap:break-word}.teaching-design-template .template-content .info-table td,.teaching-design-template .template-content .content-table td,.teaching-design-template .template-content .lesson-table td,.teaching-design-template .template-content .activities-table td,.teaching-design-template .template-content .evaluation-table td,.teaching-design-template .template-content .reflection-table td,.teaching-design-template .template-content .appendix-table td,.teaching-design-template .template-content .skills-table td{border:1px solid #000;padding:8px;word-wrap:break-word;word-break:break-word}.teaching-design-template .template-content .activity-item:hover{background-color:#f5f5f5}.teaching-design-template .template-content .activity-item .activity-delete-btn{opacity:0;transition:opacity .2s}.teaching-design-template .template-content .activity-item:hover .activity-delete-btn{opacity:1}.teaching-design-template .template-content .add-activity-btn{border-style:dashed!important;color:#666!important}.teaching-design-template .template-content .add-activity-btn:hover{color:#1890ff!important;border-color:#1890ff!important}.template-viewer-modal .ant-modal-content{border-radius:16px;overflow:hidden;padding:0;border:none;box-shadow:0 20px 40px #00000014,0 0 0 1px #0000000a}.template-viewer-modal .ant-modal-header{background:#fff;border-bottom:1px solid #f0f0f0;padding:24px 32px 20px}.template-viewer-modal .ant-modal-header .ant-modal-title{color:#1a1a1a;font-weight:600;font-size:20px;letter-spacing:-.02em}.template-viewer-modal .ant-modal-close{color:#666;font-size:16px;width:32px;height:32px;border-radius:8px;transition:all .2s ease}.template-viewer-modal .ant-modal-close:hover{color:#333;background:#f5f5f5}.template-viewer-modal .ant-modal-body{padding:0;max-height:75vh;overflow-y:auto}.template-viewer-modal .ant-modal-body::-webkit-scrollbar{width:6px}.template-viewer-modal .ant-modal-body::-webkit-scrollbar-track{background:#0000}.template-viewer-modal .ant-modal-body::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:3px}.template-viewer-modal .ant-modal-body::-webkit-scrollbar-thumb:hover{background-color:#d0d0d0}.template-tip .ant-alert .ant-alert-message{font-weight:600;color:#1a365d;font-size:14px}.template-tip .ant-alert .ant-alert-description{color:#2a4a5c;font-size:13px;margin-top:4px}.template-tip .ant-alert .ant-alert-icon{color:#3182ce;font-size:16px}.template-filters{padding:20px 32px 10px}.template-filters .filter-item{display:flex;align-items:center;gap:12px}.template-filters .filter-item .filter-label{font-weight:500;color:#4a5568;white-space:nowrap;min-width:44px;font-size:14px}.template-filters .filter-item .ant-select{flex:1 1}.template-filters .filter-item .ant-select .ant-select-selector{border:1px solid #e2e8f0;border-radius:8px;box-shadow:none;padding:0 12px;height:40px}.template-filters .filter-item .ant-select .ant-select-selector:hover{border-color:#cbd5e0}.template-filters .filter-item .ant-select.ant-select-focused .ant-select-selector{border-color:#764ba2;box-shadow:0 0 0 3px #4299e11a}.template-filters .filter-item .ant-select .ant-select-selection-placeholder{color:#a0aec0;font-size:14px}.template-content{padding:32px;min-height:500px}.template-content .template-card{border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);border:1px solid #f0f0f0;background:#fff}.template-content .template-card:hover{box-shadow:0 8px 25px #00000014,0 2px 10px #0000000a;transform:translateY(-4px);border-color:#e2e8f0}.template-content .template-card.selected{border-color:#764ba2;box-shadow:0 8px 25px #4299e126,0 2px 10px #4299e114;position:relative}.template-content .template-card.selected:after{content:"\2713";position:absolute;top:12px;right:12px;width:24px;height:24px;background:#764ba2;border-radius:50%;z-index:10;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;box-shadow:0 2px 8px #4299e14d}.template-content .template-card .template-cover{position:relative;height:180px;overflow:hidden;background:#f8f9fa}.template-content .template-card .template-cover .ant-image{width:100%;height:100%}.template-content .template-card .template-cover .ant-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.template-content .template-card .template-cover .template-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#000000b3,#00000080);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease;backdrop-filter:blur(2px)}.template-content .template-card .template-cover .template-overlay .template-actions .action-btn{padding:10px 20px;background:#fff;color:#2d3748;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;border:none;outline:none;box-shadow:0 4px 12px #00000026}.template-content .template-card .template-cover .template-overlay .template-actions .action-btn:hover{background:#f7fafc;transform:translateY(-1px);box-shadow:0 6px 16px #0003}.template-content .template-card .template-cover .template-overlay .template-actions .action-btn.selected{background:#764ba2;color:#fff}.template-content .template-card .template-cover .template-overlay .template-actions .action-btn.selected:hover{background:#3182ce}.template-content .template-card .template-cover:hover .template-overlay{opacity:1}.template-content .template-card .template-cover:hover img{transform:scale(1.03)}.template-content .template-card .ant-card-body{padding:20px}.template-content .template-card .template-title{font-size:15px;font-weight:600;color:#2d3748;margin-bottom:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.template-content .template-card .template-info .template-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.template-content .template-card .template-info .template-meta .template-pages{font-size:12px;color:#718096;background:#f7fafc;padding:4px 8px;border-radius:6px;font-weight:500}.template-content .template-card .template-info .template-meta .ant-tag{margin:0;font-size:11px;padding:2px 8px;height:22px;line-height:18px;border-radius:6px;border:none;font-weight:500}.template-content .template-card .template-info .template-color{font-size:12px;color:#718096}.template-pagination{display:flex;justify-content:center;margin-top:40px;padding-top:24px;border-top:1px solid #f0f0f0}.template-pagination .ant-pagination .ant-pagination-item{border-radius:8px;border:1px solid #e2e8f0;margin:0 4px}.template-pagination .ant-pagination .ant-pagination-item:hover{border-color:#764ba2}.template-pagination .ant-pagination .ant-pagination-item:hover a{color:#764ba2}.template-pagination .ant-pagination .ant-pagination-item-active{border-color:#764ba2;background:#764ba2}.template-pagination .ant-pagination .ant-pagination-item-active a{color:#fff}.template-pagination .ant-pagination .ant-pagination-item-active:hover{border-color:#3182ce;background:#3182ce}.template-pagination .ant-pagination .ant-pagination-item-active:hover a{color:#fff}.template-pagination .ant-pagination .ant-pagination-prev,.template-pagination .ant-pagination .ant-pagination-next{border-radius:8px;border:1px solid #e2e8f0}.template-pagination .ant-pagination .ant-pagination-prev:hover,.template-pagination .ant-pagination .ant-pagination-next:hover{border-color:#764ba2;color:#764ba2}.template-pagination .ant-pagination .ant-pagination-jump-prev:hover,.template-pagination .ant-pagination .ant-pagination-jump-next:hover{color:#764ba2}@media (max-width: 1200px){.template-viewer-modal .ant-modal{max-width:95vw}}@media (max-width: 768px){.template-filters{padding:16px 24px 20px}.template-content{padding:24px}}@media (max-width: 576px){.template-filters{padding:16px 20px}.template-content{padding:20px}}.upload-courseware-modal__upload-status{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f0f0f0}.upload-courseware-modal__upload-status-header{margin-bottom:20px;text-align:center}.upload-courseware-modal__upload-status-header h4{font-size:18px;font-weight:600;color:#262626;margin:0 0 8px}.upload-courseware-modal__upload-status-header p{font-size:14px;color:#8c8c8c;margin:0;line-height:1.4}.upload-courseware-modal__upload-progress{margin-bottom:16px}.upload-courseware-modal__upload-progress .ant-progress .ant-progress-text{font-size:14px;font-weight:500}.upload-courseware-modal__upload-progress-text{margin-top:12px;font-size:14px;color:#595959;text-align:center}.upload-courseware-modal__upload-completed{text-align:center}.upload-courseware-modal__upload-completed-message{font-size:14px;color:#52c41a;margin-bottom:16px;font-weight:500}.upload-courseware-modal__upload-actions{text-align:center}.upload-courseware-modal__form{position:relative}.upload-courseware-modal__cover-upload .ant-upload{width:100%}.upload-courseware-modal__cover-upload .ant-upload .ant-upload-drag{padding:0;background:#fafafa;border:1px dashed #d9d9d9;border-radius:6px;height:120px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all .3s ease}.upload-courseware-modal__cover-upload .ant-upload .ant-upload-drag:hover{border-color:#1677ff}.upload-courseware-modal__cover-upload .ant-upload .ant-upload-drag.has-image{border:1px solid #d9d9d9;background:#0000}.upload-courseware-modal__cover-upload-empty{text-align:center;padding:20px}.upload-courseware-modal__cover-upload-empty .anticon{font-size:24px;color:#999;margin-bottom:8px}.upload-courseware-modal__cover-upload-empty-text{color:#999;font-size:14px;margin-bottom:4px}.upload-courseware-modal__cover-upload-empty-hint{color:#ccc;font-size:12px}.upload-courseware-modal__cover-upload-preview{position:relative;width:100%;height:100%}.upload-courseware-modal__cover-upload-preview-image{width:100%;height:100%;object-fit:cover;display:block}.upload-courseware-modal__cover-upload-preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;font-size:14px;text-align:center}.upload-courseware-modal__cover-upload-preview-overlay .anticon{font-size:20px;margin-bottom:4px;display:block}.upload-courseware-modal__cover-upload-preview-remove{position:absolute;top:4px;right:4px;z-index:10;background:#0009;border:none;border-radius:50%;width:24px;height:24px;min-width:24px;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:background-color .3s ease}.upload-courseware-modal__cover-upload-preview-remove:hover{background:#ff4d4fcc}.upload-courseware-modal__cover-upload-preview-remove:focus{background:#ff4d4fcc}.upload-courseware-modal__cover-upload .ant-upload-drag:hover .upload-courseware-modal__cover-upload-preview-overlay{opacity:1}.upload-courseware-modal__cover-upload-info{font-size:12px;color:#666;margin-top:4px}.upload-courseware-modal__field-label{margin-bottom:8px;font-weight:500}.upload-courseware-modal__field-label-required{color:#ff4d4f}.upload-courseware-modal__field-label-optional{color:#999;font-size:12px}.upload-courseware-modal__field{margin-bottom:24px}.upload-courseware-modal__file-status{margin-bottom:16px;padding:12px;background-color:#f6f8fa;border-radius:6px}.upload-courseware-modal__file-status-title{font-size:14px;font-weight:500;margin-bottom:8px}.upload-courseware-modal__file-status-size{font-size:12px;color:#666}.upload-courseware-modal__progress{margin-bottom:24px}.upload-courseware-modal__progress-text{font-size:12px;color:#666;margin-top:4px}.web-office-viewer{height:100%;display:flex;flex-direction:column;position:relative}.web-office-viewer.web-office-loading{display:flex;align-items:center;justify-content:center;height:256px}.web-office-viewer.web-office-loading .loading-content{color:#666;font-size:14px}.web-office-viewer .control-panel{background:linear-gradient(to right,#fff,#f8f9fa);box-shadow:0 1px 3px #0000001a;border-bottom:1px solid #dee2e6;z-index:100}.web-office-viewer .control-panel .control-content{display:flex;flex-wrap:wrap;gap:16px;padding:20px;max-width:1200px;margin:0 auto;align-items:center}.web-office-viewer .control-panel .title-section{display:flex;align-items:center;gap:12px;margin-right:auto}.web-office-viewer .control-panel .title-section .icon{width:32px;height:32px;background:linear-gradient(135deg,#f97316,#dc2626);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}.web-office-viewer .control-panel .title-section .title-info .title{font-size:18px;font-weight:600;color:#212529;margin:0}.web-office-viewer .control-panel .title-section .title-info .current-doc{font-size:12px;color:#6c757d;margin:2px 0 0}.web-office-viewer .control-panel .status-info{display:flex;align-items:center;gap:12px}.web-office-viewer .control-panel .status-info .status-text{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:14px;color:#495057;font-weight:500}.web-office-viewer .editor-container{flex:1 1;width:100%;position:relative}.web-office-viewer .editor-container .editor-iframe{width:100%;height:100%}.web-office-viewer .welcome-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;z-index:10}.web-office-viewer .welcome-screen .welcome-content{text-align:center;max-width:28rem;margin:0 auto;padding:32px}.web-office-viewer .welcome-screen .welcome-content .welcome-icon{width:64px;height:64px;background:linear-gradient(135deg,#f97316,#dc2626);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px;margin:0 auto 24px}.web-office-viewer .welcome-screen .welcome-content .welcome-title{font-size:24px;font-weight:700;color:#212529;margin:0 0 16px}.web-office-viewer .welcome-screen .welcome-content .welcome-description{color:#6c757d;margin:0 0 32px;line-height:1.5}.web-office-viewer .welcome-screen .welcome-content .welcome-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card{padding:16px;border:2px dashed #d1d5db;border-radius:8px;background:#0000;cursor:pointer;transition:all .2s ease;text-align:center}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card:hover{border-color:#3b82f6;background:#eff6ff}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card .card-icon{font-size:24px;margin-bottom:8px}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card .card-title{font-weight:500;color:#212529;margin-bottom:4px}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card .card-description{font-size:12px;color:#6c757d;line-height:1.4}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card:first-child:hover{border-color:#2563eb;background:#dbeafe}.web-office-viewer .welcome-screen .welcome-content .welcome-actions .welcome-card:last-child:hover{border-color:#7c3aed;background:#ede9fe}.web-office-viewer .welcome-screen .welcome-content .simple-message{text-align:center;padding:24px;background:#f8f9fa;border-radius:12px;border:1px solid #dee2e6}.web-office-viewer .welcome-screen .welcome-content .simple-message .message-icon{font-size:48px;margin-bottom:16px;opacity:.6}.web-office-viewer .welcome-screen .welcome-content .simple-message p{margin:8px 0;color:#495057;font-size:16px;font-weight:500}.web-office-viewer .welcome-screen .welcome-content .simple-message p.sub-message{font-size:14px;color:#6c757d;font-weight:400}.web-office-viewer .hint-overlay,.web-office-viewer .error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#f8f9faf2;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.web-office-viewer .hint-overlay{background:#f0f8fff2}.web-office-viewer .auto-retry-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#007bff1a;display:flex;align-items:center;justify-content:center;z-index:999;backdrop-filter:blur(4px)}.web-office-viewer .auto-retry-overlay .auto-retry-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;margin:20px;box-shadow:0 12px 40px #007bff33;border:2px solid #007bff;text-align:center}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-spinner{font-size:48px;margin-bottom:16px;animation:spin 1s linear infinite}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-title{font-size:24px;font-weight:600;color:#007bff;margin:0 0 12px}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-message{color:#495057;margin:0 0 24px;line-height:1.5;font-size:16px}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-progress{width:100%;margin-top:16px}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-progress .progress-bar{width:100%;height:4px;background:#e9ecef;border-radius:2px;overflow:hidden}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);border-radius:2px;animation:progress-fill 3s ease-in-out infinite}.web-office-viewer .auto-retry-overlay .auto-retry-content .retry-tip{margin-top:16px;font-size:14px;color:#6c757d;text-align:center;line-height:1.4}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress-fill{0%{width:0%}90%{width:100%}to{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scoreButtonPulse{0%{transform:scale(1);box-shadow:0 4px 12px #52c41a4d}50%{transform:scale(1.05);box-shadow:0 6px 20px #52c41a80}to{transform:scale(1);box-shadow:0 4px 12px #52c41a4d}}.web-office-viewer .hint-content,.web-office-viewer .error-content{background:#fff;border-radius:16px;padding:32px;max-width:480px;margin:20px;box-shadow:0 12px 40px #00000026;border:1px solid #e9ecef;text-align:center}.web-office-viewer .hint-content{border:1px solid #b3d9ff;background:linear-gradient(135deg,#fff,#f8fcff)}.web-office-viewer .hint-content .hint-icon{font-size:48px;margin-bottom:16px}.web-office-viewer .hint-content .hint-title{font-size:24px;font-weight:600;color:#06c;margin:0 0 16px}.web-office-viewer .hint-content .hint-message{color:#495057;margin:0 0 16px;line-height:1.5;font-size:16px}.web-office-viewer .hint-content .retry-info{background:#f8f9fa;border-radius:8px;padding:12px;margin:16px 0 24px;border-left:4px solid #ffc107}.web-office-viewer .hint-content .retry-info .retry-note{margin:0;color:#6c757d;font-size:14px;line-height:1.4}.web-office-viewer .hint-content .hint-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.web-office-viewer .hint-content .hint-actions button{padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;border:none;transition:all .2s ease;min-width:120px}.web-office-viewer .hint-content .hint-actions button:disabled{opacity:.6;cursor:not-allowed}.web-office-viewer .hint-content .hint-actions button.primary{background:#007bff;color:#fff}.web-office-viewer .hint-content .hint-actions button.primary:hover{background:#0056b3;transform:translateY(-1px)}.web-office-viewer .hint-content .hint-actions button.secondary{background:#6c757d;color:#fff}.web-office-viewer .hint-content .hint-actions button.secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.web-office-viewer .hint-content .hint-actions button:active{transform:translateY(0)}.web-office-viewer .error-content .error-icon{font-size:48px;margin-bottom:16px}.web-office-viewer .error-content .error-title{font-size:24px;font-weight:600;color:#dc3545;margin:0 0 16px}.web-office-viewer .error-content .error-message{color:#6c757d;margin:0 0 24px;line-height:1.5;font-size:16px}.web-office-viewer .error-content .error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.web-office-viewer .error-content .error-actions button{padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;border:none;transition:all .2s ease;min-width:120px}.web-office-viewer .error-content .error-actions button:disabled{opacity:.6;cursor:not-allowed}.web-office-viewer .error-content .error-actions button.retry-button{background:#007bff;color:#fff}.web-office-viewer .error-content .error-actions button.retry-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.web-office-viewer .error-content .error-actions button.retry-button:active{transform:translateY(0)}.web-office-viewer .error-content .error-actions button.refresh-button{background:#6c757d;color:#fff}.web-office-viewer .error-content .error-actions button.refresh-button:hover{background:#545b62;transform:translateY(-1px)}.web-office-viewer .error-content .error-actions button.refresh-button:active{transform:translateY(0)}.web-office-viewer .deleted-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#dc35451a;display:flex;align-items:center;justify-content:center;z-index:999;backdrop-filter:blur(4px)}.web-office-viewer .deleted-overlay .deleted-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;margin:20px;box-shadow:0 12px 40px #dc354533;border:2px solid #dc3545;text-align:center;animation:fadeIn .3s ease-out}.web-office-viewer .deleted-overlay .deleted-content .deleted-icon{font-size:48px;margin-bottom:16px}.web-office-viewer .deleted-overlay .deleted-content .deleted-title{font-size:24px;font-weight:600;color:#dc3545;margin:0 0 16px}.web-office-viewer .deleted-overlay .deleted-content .deleted-message{color:#495057;margin:0 0 16px;line-height:1.5;font-size:16px}.web-office-viewer .deleted-overlay .deleted-content .deleted-info{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:12px 16px;margin:16px 0}.web-office-viewer .deleted-overlay .deleted-content .deleted-info .deleted-note{margin:0;color:#856404;font-size:14px;line-height:1.4}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button{padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;border:none;transition:all .2s ease;min-width:120px}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button:disabled{opacity:.6;cursor:not-allowed}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.refresh-button.primary{background:#dc3545;color:#fff}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.refresh-button.primary:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.refresh-button.primary:active{transform:translateY(0)}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.back-button.secondary{background:#6c757d;color:#fff}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.back-button.secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button.back-button.secondary:active{transform:translateY(0)}@media (max-width: 768px){.web-office-viewer .control-panel .control-content{flex-direction:column;align-items:stretch;gap:12px}.web-office-viewer .control-panel .title-section{margin-right:0;justify-content:center}.web-office-viewer .control-panel .button-group{justify-content:center}.web-office-viewer .welcome-screen .welcome-content{padding:20px}.web-office-viewer .welcome-screen .welcome-content .welcome-actions{grid-template-columns:1fr}.web-office-viewer .hint-overlay .hint-content,.web-office-viewer .hint-overlay .error-content,.web-office-viewer .hint-overlay .deleted-content,.web-office-viewer .error-overlay .hint-content,.web-office-viewer .error-overlay .error-content,.web-office-viewer .error-overlay .deleted-content,.web-office-viewer .deleted-overlay .hint-content,.web-office-viewer .deleted-overlay .error-content,.web-office-viewer .deleted-overlay .deleted-content{margin:16px;padding:24px}.web-office-viewer .hint-overlay .hint-content .hint-actions,.web-office-viewer .hint-overlay .hint-content .error-actions,.web-office-viewer .hint-overlay .hint-content .deleted-actions,.web-office-viewer .hint-overlay .error-content .hint-actions,.web-office-viewer .hint-overlay .error-content .error-actions,.web-office-viewer .hint-overlay .error-content .deleted-actions,.web-office-viewer .hint-overlay .deleted-content .hint-actions,.web-office-viewer .hint-overlay .deleted-content .error-actions,.web-office-viewer .hint-overlay .deleted-content .deleted-actions,.web-office-viewer .error-overlay .hint-content .hint-actions,.web-office-viewer .error-overlay .hint-content .error-actions,.web-office-viewer .error-overlay .hint-content .deleted-actions,.web-office-viewer .error-overlay .error-content .hint-actions,.web-office-viewer .error-overlay .error-content .error-actions,.web-office-viewer .error-overlay .error-content .deleted-actions,.web-office-viewer .error-overlay .deleted-content .hint-actions,.web-office-viewer .error-overlay .deleted-content .error-actions,.web-office-viewer .error-overlay .deleted-content .deleted-actions,.web-office-viewer .deleted-overlay .hint-content .hint-actions,.web-office-viewer .deleted-overlay .hint-content .error-actions,.web-office-viewer .deleted-overlay .hint-content .deleted-actions,.web-office-viewer .deleted-overlay .error-content .hint-actions,.web-office-viewer .deleted-overlay .error-content .error-actions,.web-office-viewer .deleted-overlay .error-content .deleted-actions,.web-office-viewer .deleted-overlay .deleted-content .hint-actions,.web-office-viewer .deleted-overlay .deleted-content .error-actions,.web-office-viewer .deleted-overlay .deleted-content .deleted-actions{flex-direction:column}.web-office-viewer .hint-overlay .hint-content .hint-actions button,.web-office-viewer .hint-overlay .hint-content .error-actions button,.web-office-viewer .hint-overlay .hint-content .deleted-actions button,.web-office-viewer .hint-overlay .error-content .hint-actions button,.web-office-viewer .hint-overlay .error-content .error-actions button,.web-office-viewer .hint-overlay .error-content .deleted-actions button,.web-office-viewer .hint-overlay .deleted-content .hint-actions button,.web-office-viewer .hint-overlay .deleted-content .error-actions button,.web-office-viewer .hint-overlay .deleted-content .deleted-actions button,.web-office-viewer .error-overlay .hint-content .hint-actions button,.web-office-viewer .error-overlay .hint-content .error-actions button,.web-office-viewer .error-overlay .hint-content .deleted-actions button,.web-office-viewer .error-overlay .error-content .hint-actions button,.web-office-viewer .error-overlay .error-content .error-actions button,.web-office-viewer .error-overlay .error-content .deleted-actions button,.web-office-viewer .error-overlay .deleted-content .hint-actions button,.web-office-viewer .error-overlay .deleted-content .error-actions button,.web-office-viewer .error-overlay .deleted-content .deleted-actions button,.web-office-viewer .deleted-overlay .hint-content .hint-actions button,.web-office-viewer .deleted-overlay .hint-content .error-actions button,.web-office-viewer .deleted-overlay .hint-content .deleted-actions button,.web-office-viewer .deleted-overlay .error-content .hint-actions button,.web-office-viewer .deleted-overlay .error-content .error-actions button,.web-office-viewer .deleted-overlay .error-content .deleted-actions button,.web-office-viewer .deleted-overlay .deleted-content .hint-actions button,.web-office-viewer .deleted-overlay .deleted-content .error-actions button,.web-office-viewer .deleted-overlay .deleted-content .deleted-actions button{width:100%}}.web-office-viewer .fullscreen-floating-container .floating-menu{position:fixed;right:80px;bottom:40px;background:#fffffff2;backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.2);min-width:140px;z-index:9999;overflow:hidden;animation:slideInFromRight .3s ease-out}.web-office-viewer .fullscreen-floating-container .floating-menu .menu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05)}.web-office-viewer .fullscreen-floating-container .floating-menu .menu-item:last-child{border-bottom:none}.web-office-viewer .fullscreen-floating-container .floating-menu .menu-item:hover{background:#1890ff14;transform:translate(-2px)}.web-office-viewer .fullscreen-floating-container .floating-menu .menu-item .menu-icon{font-size:16px;min-width:20px;text-align:center}.web-office-viewer .fullscreen-floating-container .floating-menu .menu-item .menu-text{font-size:14px;color:#333;font-weight:500;white-space:nowrap}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}
