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)}@-ms-viewport{width:device-width}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]{-webkit-text-decoration:underline dotted;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}:root{color:#172330;background:#fbf8f1;font-synthesis:none;--navy-950: #0b1f33;--navy-900: #102a43;--navy-800: #173f5f;--navy-700: #24597a;--jade-700: #167667;--jade-600: #1f8a78;--jade-100: #dff0eb;--sand-500: #c39345;--sand-100: #f2e5c9;--warm-50: #fbf8f1;--warm-100: #f4efe5;--warm-200: #e7dfd0;--paper: #fffdf9;--ink: #172330;--muted: #5e6b75;--risk: #a23e3e;--serif: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif}*{box-sizing:border-box}html{background:var(--warm-50)}body{margin:0;min-width:320px;min-height:100vh}button,a,input,select{transition:color .16s ease,background-color .16s ease,border-color .16s ease}.page-stack,.modal-stack{width:100%}.eyebrow{display:block;color:var(--jade-700)!important;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(390px,.78fr);background:var(--warm-50)}.brand-panel{padding:clamp(52px,8vw,118px);display:flex;flex-direction:column;justify-content:space-between;background:var(--navy-950);color:#fff;position:relative;overflow:hidden}.brand-panel:after{content:"衡";position:absolute;right:-34px;bottom:-90px;color:#c393450f;font:500 360px/1 var(--serif);pointer-events:none}.brand-lockup{display:flex;gap:14px;align-items:center;position:relative;z-index:1}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--sand-500);color:var(--sand-500);font:500 24px var(--serif);flex:0 0 auto}.brand-lockup b,.sidebar-brand b{display:block;color:#fff;font:500 19px var(--serif);letter-spacing:.14em}.brand-lockup small,.sidebar-brand small{display:block;color:#91a0a9;margin-top:3px;font-size:10px;letter-spacing:.14em}.login-copy{position:relative;z-index:1;max-width:720px;margin:70px 0}.login-copy .eyebrow{color:#75c4b5!important}.login-copy h1{color:#fff!important;margin:16px 0 22px!important;max-width:660px;font:500 clamp(36px,4vw,58px)/1.35 var(--serif);letter-spacing:.035em}.login-copy p{color:#bdc8ce;max-width:620px;font-size:16px;line-height:1.9}.brand-points{display:flex;flex-wrap:wrap;gap:24px;color:#cbd4d9;position:relative;z-index:1}.brand-points span{display:inline-flex;gap:8px;align-items:center}.brand-points .anticon{color:var(--sand-500)}.login-side{display:grid;place-items:center;padding:34px}.login-card{width:min(430px,100%);padding:20px 16px;background:var(--paper);border-top:3px solid var(--navy-800);box-shadow:0 28px 70px #0b1f331a}.login-card h2{margin:7px 0 4px!important;font-family:var(--serif);font-weight:500}.login-card form{margin-top:28px}.login-card .friendly-alert{margin:-4px 0 18px}.app-layout{min-height:100vh;background:var(--warm-50)}.sidebar{background:var(--navy-950)!important}.sidebar-inner{min-height:100vh;height:100%;display:flex;flex-direction:column;padding:28px 18px 22px}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:0 6px;margin-bottom:32px}.sidebar-brand .brand-mark{width:39px;height:39px;font-size:21px}.sidebar-brand b{font-size:17px}.sidebar .ant-menu,.mobile-drawer .ant-menu{border-inline-end:0!important;background:transparent!important}.sidebar .ant-menu-item-group-title,.mobile-drawer .ant-menu-item-group-title{color:#7f909b!important;padding:17px 14px 7px!important;font-size:10px;letter-spacing:.16em}.sidebar .ant-menu-item,.mobile-drawer .ant-menu-item{color:#bdc8ce;margin-inline:0;width:100%;border-radius:2px}.sidebar .ant-menu-item .anticon,.mobile-drawer .ant-menu-item .anticon{color:#75c4b5}.sidebar .ant-menu-item-selected,.mobile-drawer .ant-menu-item-selected{color:#fff!important;background:#1f8a782e!important;border-left:2px solid #75c4b5}.sidebar-user{margin-top:auto;padding:17px 5px 0;border-top:1px solid #294054;color:#fff;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px}.sidebar-user .avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--sand-500);color:var(--navy-950)}.sidebar-user b{display:block;font-size:12px;font-weight:500}.sidebar-user small{color:#91a0a9;font-size:10px}.sidebar-user .ant-btn{color:#91a0a9}.mobile-drawer .ant-drawer-content{background:var(--navy-950)}.mobile-drawer .ant-drawer-header{position:absolute;z-index:2;right:0;border:0}.mobile-drawer .ant-drawer-close{color:#fff}.main-layout{min-width:0;background:var(--warm-50)}.app-topbar{height:auto;min-height:104px;padding:20px clamp(18px,3.5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;line-height:normal;background:#fffdf9f0!important;border-bottom:1px solid #d8d4ca}.topbar-title{min-width:220px;display:flex;align-items:center;gap:10px}.topbar-title b{display:block;margin-top:6px;color:var(--ink);font:500 clamp(18px,2vw,25px) var(--serif);letter-spacing:.035em}.topbar-controls{justify-content:flex-end}.exam-select{width:220px}.class-select{width:132px}.content{width:100%;max-width:1580px;margin:0 auto;padding:26px clamp(18px,3.5vw,48px) 64px}.page-loading{display:grid;place-items:center;min-height:50vh}.friendly-alert{margin-bottom:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--navy-900);padding-top:14px}.section-heading h3{margin:6px 0 0!important;color:var(--ink);font:500 20px var(--serif);letter-spacing:.045em}.task-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:2px solid var(--navy-900)}.task-card{min-width:0;min-height:126px;padding:16px 15px 13px;background:var(--paper);border-right:1px solid #d8d4ca;border-bottom:1px solid #d8d4ca}.task-card:first-child{border-left:1px solid #d8d4ca}.task-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:.06em}.task-label i{width:8px;height:8px;border-radius:50%;background:#8c979d}.task-card strong{display:block;margin:13px 0 7px;color:var(--ink);font:500 18px var(--serif);white-space:nowrap}.task-card p{min-height:32px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.task-card .ant-progress{margin-top:8px}.task-card .ant-progress-inner{border-radius:0;background:var(--warm-200)}.task-card .ant-progress-bg{border-radius:0!important;background:var(--navy-700)!important}.tone-success .task-label i,.tone-success .ant-progress-bg{background:var(--jade-700)!important}.tone-warning .task-label i,.tone-warning .ant-progress-bg{background:var(--sand-500)!important}.tone-risk .task-label i,.tone-risk .ant-progress-bg{background:var(--risk)!important}.tone-info .task-label i{background:var(--navy-700)}.task-retry{position:absolute;right:14px;top:14px}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:14px;border-top:2px solid var(--navy-900)}.metric-strip article{padding:17px 15px 15px;background:#fffdf9b3;border-right:1px solid #d8d4ca;border-bottom:1px solid #d8d4ca}.metric-strip article:first-child{border-left:1px solid #d8d4ca}.metric-strip span{display:block;color:var(--muted);font-size:11px}.metric-strip strong{display:block;margin:9px 0 7px;font:500 25px var(--serif)}.metric-strip strong small{font:400 11px sans-serif;color:var(--muted);margin-left:4px}.metric-strip em{color:var(--jade-700);font-size:10px;font-style:normal}.metric-strip .danger-copy{color:var(--risk)}.editorial-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:28px}.report-panel{background:transparent;border-radius:0;box-shadow:none}.report-panel>.ant-card-head{min-height:48px;padding:0;border-top:1px solid var(--navy-900);border-bottom:1px solid var(--warm-200)}.report-panel>.ant-card-head .ant-card-head-title{font:500 18px var(--serif)}.report-panel>.ant-card-body{padding:17px 0 0}.report-panel .section-heading{border-top:0;padding-top:0}.editor-note{min-height:330px;padding:25px 27px;background:var(--navy-900);color:#fff;position:relative;overflow:hidden}.editor-note:after{content:"班";position:absolute;right:-8px;bottom:-45px;color:#c3934512;font:500 150px var(--serif)}.editor-note>.ant-typography:first-child{color:#e8c888;letter-spacing:.12em;font-size:11px}.editor-note h3{color:#f6ead2!important;margin:17px 0 15px!important;font:500 22px/1.55 var(--serif)}.editor-note p{color:#c7d0d5;line-height:1.85}.editor-note .ant-tag{color:#f4deb2;background:#c393452b;border-color:#c3934559}.student-preview .ant-table{background:transparent}.student-name{font-family:var(--serif);font-weight:500}.ant-table-row{cursor:pointer}.feedback-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:24px}.suggestion-list{margin:0;padding-left:22px;display:grid;gap:14px;line-height:1.8}.export-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.export-card{border-top:2px solid var(--navy-800);border-radius:0;background:var(--paper)}.export-card .ant-card-body{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start}.export-card .anticon{color:var(--jade-700);font-size:24px}.export-card b{display:block;font:500 16px var(--serif)}.export-card p{margin:5px 0 0;color:var(--muted);font-size:11px}.export-card .ant-tag,.export-card>.ant-card-body>span{grid-column:1 / -1;width:fit-content}.export-card>.ant-card-body>span{color:var(--muted);font-size:12px}.export-card .ant-btn{grid-column:1 / -1}.import-panel .ant-card-body{padding-top:0}.wizard-body{margin-top:28px;display:flex;flex-direction:column;gap:20px}.wizard-body .friendly-alert{margin:0}.ant-upload-wrapper .ant-upload-drag{background:#dff0eb40;border-color:#9abfb7;border-radius:2px}.ant-upload-wrapper .ant-upload-drag .ant-upload-drag-icon .anticon{color:var(--jade-700)}.ant-card{border-color:#e0dbd0}.ant-card .ant-statistic-title{color:var(--muted);font-size:11px}.ant-card .ant-statistic-content{color:var(--ink);font-family:var(--serif)}.ant-btn{border-radius:2px;box-shadow:none!important}.ant-btn-primary{background:var(--navy-800)}.ant-btn-primary:hover{background:var(--navy-700)!important}.ant-segmented{padding:3px;border:1px solid #cfc7b8;border-radius:3px;background:var(--warm-100)}.ant-segmented-item{border-radius:1px!important}.ant-segmented-item .ant-segmented-item-label{min-width:64px;color:var(--ink)!important;font-weight:500;text-align:center}.ant-segmented-item-selected{background:var(--navy-800)!important;box-shadow:none!important}.ant-segmented-item-selected .ant-segmented-item-label{color:#fff!important;font-weight:600}.ant-segmented-item:not(.ant-segmented-item-selected):hover{background:var(--warm-200)}.ant-segmented-item:focus-visible{outline:2px solid var(--jade-700);outline-offset:2px}.ant-tag{border-radius:1px}.ant-alert{border-radius:2px}.ant-modal-content{border-radius:4px!important}.ant-table-wrapper .ant-table{color:var(--ink);background:transparent}.ant-table-wrapper .ant-table-thead>tr>th{color:var(--muted);background:var(--warm-100);font-size:11px;letter-spacing:.04em}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#1f8a780f!important}.ant-progress-bg{background:var(--jade-700)!important}@media(max-width:1280px){.task-grid,.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.task-card:nth-child(4),.metric-strip article:nth-child(4){border-left:1px solid #d8d4ca}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-topbar{align-items:flex-start;flex-direction:column}.topbar-controls{justify-content:flex-start}}@media(max-width:980px){.editorial-grid,.feedback-grid{grid-template-columns:1fr}.editor-note{min-height:250px}.exam-select{width:190px}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:46vh;padding:34px 24px}.login-copy{margin:42px 0 25px}.login-copy h1{font-size:34px}.login-copy p{font-size:14px}.brand-points{gap:12px;font-size:12px}.login-side{padding:26px 18px 44px}.app-topbar{padding:15px 16px;gap:15px}.topbar-controls{width:100%}.exam-select{flex:1 1 170px;width:auto}.class-select{flex:1 1 110px;width:auto}.content{padding:20px 14px 44px}.task-grid,.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.task-card:nth-child(4),.metric-strip article:nth-child(4){border-left:0}.task-card:nth-child(odd),.metric-strip article:nth-child(odd){border-left:1px solid #d8d4ca}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.metric-strip strong{font-size:22px}.export-grid{grid-template-columns:1fr}.ant-table-wrapper{overflow-x:auto}.ant-steps .ant-steps-item-title{font-size:11px}}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-header .section-heading{flex:1;margin-bottom:0}.subject-config-card .ant-table-cell{padding:6px 8px!important}.exam-management{display:flex;gap:0;height:calc(100vh - 120px);margin:-24px}.exam-list-panel{width:300px;min-width:260px;border-right:1px solid #e7dfd0;display:flex;flex-direction:column;background:#faf9f6}.exam-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid #e7dfd0}.exam-list-header h4{margin:0}.exam-list-body{flex:1;overflow-y:auto;padding:8px}.exam-list-item{padding:12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s}.exam-list-item:hover{background:#f0ede6}.exam-list-item.active{background:#e8f4f0;border:1px solid #1f8a78}.exam-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.exam-item-main .ant-typography{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-detail-panel{flex:1;overflow-y:auto;padding:24px}.exam-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.exam-detail-header h4{margin:0 0 4px}.exam-detail-sections{display:flex;flex-direction:column;gap:16px}.exam-detail-sections .import-panel{box-shadow:none;margin:0}.exam-detail-sections .page-stack{gap:0!important}.exam-detail-sections .section-heading{display:none}.import-status-summary{display:flex;align-items:center;gap:12px;padding:8px 0}@media(max-width:768px){.exam-management{flex-direction:column;height:auto;margin:0}.exam-list-panel{width:100%;min-width:0;max-height:240px;border-right:none;border-bottom:1px solid #e7dfd0}.exam-detail-panel{padding:16px}}@media(max-width:430px){.task-grid,.metric-strip{grid-template-columns:1fr}.task-card,.metric-strip article{border-left:1px solid #d8d4ca!important}.topbar-controls .ant-segmented{width:100%}.topbar-controls .ant-segmented-group,.topbar-controls .ant-segmented-item{flex:1}}.student-analysis-layout{display:flex;gap:0;height:calc(100vh - 104px);margin:-26px -48px -64px}.student-analysis-list{width:280px;min-width:240px;border-right:1px solid #e7dfd0;background:#faf9f6;padding:12px;overflow-y:auto}.student-list-items{display:flex;flex-direction:column;gap:2px}.student-list-item{padding:10px 12px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:background .15s}.student-list-item:hover{background:#f0ede6}.student-list-item.active{background:#e8f4f0;outline:1.5px solid #1f8a78}.student-list-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.student-list-main b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-list-score{font-size:11px;color:#5e6b75;white-space:nowrap}.student-analysis-detail{flex:1;overflow-y:auto;padding:20px 24px}.row-weak td{background:#a23e3e0a!important}.row-strong td{background:#1676670a!important}@media(max-width:768px){.student-analysis-layout{flex-direction:column;height:auto;margin:0}.student-analysis-list{width:100%;min-width:0;max-height:220px;border-right:none;border-bottom:1px solid #e7dfd0}.student-analysis-detail{padding:16px}}
