:root{color:#493e35;font-synthesis:none;background:#fcfaf7;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.boot{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:65vh;padding:32px;display:flex}.workbench{grid-template-columns:204px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(155deg,#fffaf2,#fdfbf8 50%,#fffaf4);border:1px solid #eddfce;border-left:0;border-radius:0 24px 24px 0;flex-direction:column;height:100vh;padding:24px 16px 22px;display:flex;position:sticky;top:0;box-shadow:3px 0 14px #69533804}.brand{text-align:center;padding-bottom:34px}.school-mark{width:142px;height:126px;margin:0 auto;display:block}.brand strong{letter-spacing:3px;margin-top:8px;font-size:19px;display:block}.brand>span{color:#a29383;letter-spacing:2px;margin-top:8px;font-size:11px;display:block}.sidebar nav{flex-direction:column;gap:16px;display:flex}.sidebar nav button{color:#655345;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:11px;align-items:center;gap:16px;height:49px;padding:0 18px;font-size:15px;display:flex}.sidebar nav button>.anticon{font-size:22px}.sidebar nav button:hover{background:#fff0e7}.sidebar nav button.active{color:#fff;background:linear-gradient(110deg,#fb7c69,#fa7162);font-weight:600;box-shadow:0 5px 12px #f7746220}.sidebar-bottom{margin-top:auto;padding-top:28px}.teacher{align-items:center;gap:8px;margin:0 -4px 22px;display:flex}.teacher>div{flex:1;min-width:0}.teacher strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.teacher small{color:#a5988c;font-size:10px}.teacher .ant-btn{padding:4px}.collapse-button.ant-btn{color:#806d5b;background:#ffffff70;border-color:#efdfce;height:42px}.main-content{min-width:0;padding:0 30px}.development-note{text-align:right;color:#af9c89;height:28px;padding-top:13px;font-size:10px}.page-heading{justify-content:space-between;align-items:center;gap:20px;min-height:118px;padding:22px 2px 25px;display:flex}.eyebrow{color:#b3a18f;letter-spacing:2px;margin-bottom:9px;font-size:10px;font-weight:600;display:block}h1{letter-spacing:1.5px;margin-bottom:0;font-size:26px;font-weight:600}h1>span{font-weight:500}.page-heading p{color:#978b80;margin:11px 0 0;font-size:13px}.today{color:#ab9d8e;white-space:nowrap;font-size:12px}.surface{background:#fff;border:1px solid #efe7de;border-radius:15px;min-height:520px;padding:24px;box-shadow:0 3px 16px #69533804}.roster-toolbar{flex-wrap:wrap;justify-content:space-between;gap:14px;margin:4px 0 24px;display:flex}.filter-group,.toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-group .ant-input-affix-wrapper{width:202px}.filter-group .ant-select{min-width:114px;max-width:190px}.filter-group .ant-input-prefix{color:#8c7d6c;margin-inline-end:9px}.toolbar-actions .ant-btn{padding-inline:12px;font-size:12px}.toolbar-actions .ant-segmented{background:#faf7f4;border:1px solid #eee3d9}.toolbar-actions .ant-segmented-item-selected{color:#f67864;box-shadow:none;background:#fff0ea}.roster-stats{background:linear-gradient(100deg,#fffcf8,#fff);border:1px solid #ede3d8;border-radius:9px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:16px;margin-bottom:25px;padding:18px 20px;display:grid}.stat{white-space:nowrap;align-items:center;gap:12px;font-size:12px;display:flex}.stat strong{margin-right:3px;font-size:22px;font-weight:600}.stat-icon{border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.coral{color:#fa846c;background:#fff0e9;border-color:#ffd2bf}.blue{color:#7cabe0;background:#eff6ff;border-color:#cfe1f8}.pink{color:#ee8891;background:#fff1f1;border-color:#ffd5d9}.green{color:#94af74;background:#f4f8ed;border-color:#dce8c8}.amber{color:#deab50;background:#fff8e9;border-color:#f4e3b9}.roster-surface .ant-table{border:1px solid #eee5dc;border-radius:9px;font-size:13px;overflow:hidden}.roster-surface .ant-table-thead>tr>th{font-size:12px;font-weight:500}.roster-surface .ant-table-thead>tr>th:before{display:none}.roster-surface .ant-table-pagination{margin-top:26px;margin-bottom:2px}.ant-pagination-total-text{color:#8c7e70;margin-right:auto!important}.student-name{align-items:center;gap:10px;display:flex}.student-name strong{font-size:13px;font-weight:500}.student-avatar.ant-avatar{color:#a6896d;background:#f7ede4;flex-shrink:0;font-size:13px}.student-avatar.male{color:#7798bd;background:#edf4fb}.student-avatar.female{color:#d69086;background:#fff0ee}.class-tag.ant-tag{color:#9a84ad;background:#f6f1fa;border:1px solid #e8dfef}.row-actions{gap:2px;display:flex}.row-actions .ant-btn{width:32px;height:32px;font-size:16px}.muted{color:#b2a69a}.student-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-bottom:25px;display:grid}.student-card{background:linear-gradient(140deg,#fffaf7,#fff 60%);border:1px solid #eee3d7;border-radius:12px;padding:22px}.student-card-heading{justify-content:space-between;align-items:center;display:flex}.student-card .student-avatar{width:42px;height:42px}.student-card dl{margin:22px 0 10px;font-size:12px}.student-card dl>div{justify-content:space-between;gap:12px;margin:12px 0;display:flex}.student-card dt{color:#a49381;white-space:nowrap}.student-card dd{text-align:right;overflow-wrap:anywhere;margin:0}.student-card .row-actions{border-top:1px solid #f2e9df;justify-content:flex-end;padding-top:10px}.page-footer{color:#b8a898;letter-spacing:1px;padding:24px 0;font-size:10px}.page-footer span{float:right}.student-drawer .ant-drawer-header{border-color:#f0e8df;padding:25px}.student-drawer .ant-drawer-header-title{flex-direction:row-reverse}.student-drawer .ant-drawer-title{letter-spacing:2px;font-size:21px}.student-drawer .ant-drawer-body{background:linear-gradient(140deg,#fffcf9,#fff 45%);padding:25px 28px}.student-drawer .ant-form-item{margin-bottom:22px}.avatar-editor{flex-direction:column;align-items:center;gap:9px;margin-bottom:27px;display:flex}.avatar-upload{background:#fffaf5;border:1px dashed #e3c7ac;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:112px;height:122px;padding:0;display:flex;overflow:hidden}.avatar-upload .anticon{color:#fb8271;font-size:29px}.avatar-upload span:not(.anticon){color:#958575;font-size:11px}.avatar-upload img{object-fit:cover;width:100%;height:100%}.avatar-editor small{color:#a69787;font-size:10px}.drawer-actions{gap:14px;display:flex}.drawer-actions .ant-btn{flex:1;height:43px}.import-instructions{background:#fcf9f5;border-radius:8px;margin:16px 0;padding:16px}.import-instructions p{color:#958370;margin-bottom:8px;font-size:12px;line-height:1.7}.import-alert{margin:18px 0}.import-footer{align-items:center;gap:10px;display:flex}.import-footer>span{color:#a08a73;margin-right:auto;font-size:12px}.validation-errors{color:#d97161;font-size:12px}.task-filters{gap:12px;margin-bottom:24px;display:flex}.task-filters .ant-input{width:250px}.task-filters .ant-select{width:160px}.task-student-label{align-items:center;gap:20px;display:flex}.task-student-label .ant-tag{margin-left:auto}.essay-text{white-space:pre-wrap;line-height:1.9}.review-result{background:#fffaf1;border-radius:10px;padding:18px;line-height:1.8}.collapsed{grid-template-columns:80px minmax(0,1fr)}.collapsed .sidebar{padding-inline:10px}.collapsed .brand>strong,.collapsed .brand>span,.collapsed nav button>span:not(.anticon),.collapsed .teacher>div{display:none}.collapsed .school-mark{width:55px;height:70px}.collapsed .sidebar nav button{padding-inline:18px}.collapsed .teacher{flex-wrap:wrap;justify-content:center}.login-page{background:radial-gradient(at 20% 30%,#fff0db,#0000 55%),#fcfaf7;justify-content:center;align-items:center;gap:130px;min-height:100vh;padding:50px;display:flex}.login-intro{max-width:460px}.login-intro .school-mark{width:160px;height:140px;margin:0 0 15px}.login-intro h1{margin:14px 0 22px;font-size:39px;line-height:1.65}.login-intro>p{color:#9d8c7a;font-size:14px;line-height:2}.login-decoration{color:#b3a18e;border-top:1px solid #eadbca;margin-top:38px;padding-top:20px;font-size:12px}.login-card{text-align:center;background:#fffdfb;border:1px solid #eee3d5;border-radius:24px;width:365px;padding:40px;box-shadow:0 18px 70px #7e523c08}.login-card h2{letter-spacing:1px;margin-bottom:14px;font-size:23px}.login-card>p{color:#a18f7e;font-size:12px}.qr-box{background:#fff;border:1px solid #eee1d4;border-radius:13px;place-items:center;width:202px;height:202px;margin:28px auto 18px;display:grid}.qr-box img{width:184px;height:184px}.qr-status{min-height:30px}.dev-login{border-top:1px solid #eee2d5;flex-direction:column;gap:12px;margin-top:22px;padding-top:20px;display:flex}.dev-login .ant-alert{font-size:11px}@media (width>=1600px){.main-content{padding-inline:40px}.roster-toolbar{gap:20px}}@media (width<=1100px){.workbench{grid-template-columns:170px minmax(0,1fr)}.main-content{padding-inline:20px}.surface{padding:18px}.stat{gap:8px;font-size:11px}.stat-icon{width:34px;height:34px;font-size:18px}.stat strong{font-size:18px}.roster-stats{gap:8px;padding:16px 12px}.teacher>.ant-avatar{display:none}.collapsed{grid-template-columns:80px minmax(0,1fr)}}@media (width<=760px){.workbench,.collapsed{display:block}.sidebar{border-left:1px solid #eddfce;border-radius:0 0 18px 18px;flex-flow:wrap;gap:12px;height:auto;padding:12px 16px;position:relative}.brand{display:none}.sidebar nav{flex-direction:row;flex:1;gap:6px}.sidebar nav button,.collapsed .sidebar nav button{gap:7px;height:40px;padding:0 10px;font-size:12px}.sidebar nav button>.anticon{font-size:17px}.collapsed nav button>span:not(.anticon){display:inline}.sidebar-bottom{margin:0;padding:0}.teacher{height:40px;margin:0}.teacher>div,.collapse-button.ant-btn{display:none}.main-content{padding:0 12px}.page-heading{min-height:100px;padding:20px 2px}h1{font-size:23px}.today{display:none}.page-heading p{font-size:11px}.surface{min-height:420px;padding:14px}.roster-stats{grid-template-columns:repeat(3,1fr);gap:18px 10px;padding:15px 10px}.stat{gap:6px;font-size:10px}.stat-icon{width:29px;height:29px;font-size:16px}.filter-group,.filter-group .ant-input-affix-wrapper{width:100%}.filter-group .ant-select{flex:1;max-width:none}.toolbar-actions{gap:7px}.toolbar-actions .ant-btn{padding-inline:9px;font-size:11px}.toolbar-actions .ant-segmented{font-size:11px}.import-footer{flex-wrap:wrap}.import-footer>span{text-align:left;width:100%}.ant-drawer-content-wrapper{max-width:100vw}.login-page{flex-direction:column;gap:25px;padding:22px}.login-intro{text-align:center}.login-intro .school-mark{width:90px;height:80px;margin:auto}.login-intro h1{margin:5px 0;font-size:25px}.login-intro>p,.login-decoration{display:none}.login-card{width:min(365px,100%);padding:28px}}.essay-review-sheet{background:#fffdf6;border:1px solid #e5ddc9;border-radius:6px;margin:18px 0;padding:24px 20px 8px}.essay-review-sheet .paper-caption{letter-spacing:2px;color:#8e8b78;margin-bottom:24px;font-size:12px}.essay-review-sheet .paper-grid{border-top:1px solid #a9b9aa;border-left:1px solid #a9b9aa;display:flex;position:relative}.essay-review-sheet .paper-cell{box-sizing:border-box;aspect-ratio:1;color:#3d4039;white-space:pre;border-bottom:1px solid #a9b9aa;border-right:1px solid #a9b9aa;flex-shrink:0;justify-content:center;align-items:center;min-height:0;font:24px Kaiti SC,KaiTi,STKaiti,serif;display:flex;position:relative}.essay-review-sheet .paper-heading .paper-cell{font-weight:600}.essay-review-sheet .paper-cell-content{line-height:1}.essay-review-sheet .paper-scroll{margin:-14px -8px 0;padding:14px 8px 0;overflow-x:auto}.essay-review-sheet .paper-ungridded .paper-grid,.essay-review-sheet .paper-ungridded .paper-cell{border-color:#0000}.essay-review-sheet .paper-notice{color:#8a7763;margin:0 0 24px;font-size:13px;line-height:1.65}.essay-review-sheet .paper-page-label{color:#8e8b78;margin:8px 0 24px;font-size:12px}.essay-review-sheet .paper-good,.essay-review-sheet .paper-good .paper-note,.essay-review-sheet .paper-good .paper-operation,.essay-review-sheet .paper-good .paper-reason{color:#527d52}.essay-review-sheet .paper-good .paper-note,.essay-review-sheet .paper-good .paper-pointer,.essay-review-sheet .paper-good .paper-number,.essay-review-sheet .paper-good .paper-note-number{border-color:#648863}.essay-review-sheet .paper-anchor{color:#b4473d;z-index:1;font-size:10px;position:absolute;top:-11px;transform:translate(-50%)}.essay-review-sheet .paper-number{box-sizing:border-box;text-align:center;background:#fffdf6;border:1px solid #b4473d;border-radius:50%;min-width:15px;height:15px;padding:0 2px;line-height:13px;display:block}.essay-review-sheet .paper-insertion{top:auto;bottom:-7px}.essay-review-sheet .paper-insertion .paper-number{transform:translateY(12px)}.essay-review-sheet .paper-caret{font-size:20px;line-height:1;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.essay-review-sheet .paper-between{min-height:14px;padding:8px 0 20px}.essay-review-sheet .paper-note-track{margin-top:8px;position:relative}.essay-review-sheet .paper-note{box-sizing:border-box;color:#b4473d;overflow-wrap:anywhere;white-space:pre-wrap;border-top:1px solid #b4473d44;padding:4px 8px 6px;position:relative}.essay-review-sheet .paper-pointer{border-left:1px solid #b4473d88;width:0;height:6px;position:absolute;top:-6px;transform:translate(-1px)}.essay-review-sheet .paper-correction{font:20px/1.55 Kaiti SC,KaiTi,STKaiti,serif}.essay-review-sheet .paper-note-number{box-sizing:border-box;vertical-align:middle;white-space:nowrap;word-break:normal;border:1px solid #b4473d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;margin-right:6px;padding:0;font:10px/1 sans-serif;display:inline-flex}.essay-review-sheet .paper-operation{color:#a5695d;margin-right:6px;font:12px sans-serif}.essay-review-sheet .paper-reason{color:#a5695d;margin-top:3px;font-size:13px;line-height:1.65}@media (width<=600px){.essay-review-sheet{padding:18px 10px 4px}.essay-review-sheet .paper-cell,.essay-review-sheet .paper-correction{font-size:18px}}.essay-originals{margin:12px 0}.essay-originals summary{cursor:pointer;color:#79581d;margin-bottom:12px}.essay-originals .ant-image{margin:0 12px 12px 0}.essay-review-sheet .paper-anchor.paper-good{color:#527d52}.essay-review-sheet .paper-marker{box-sizing:border-box;pointer-events:none;background:#dc695a4d padding-box padding-box;border-left:3px solid #0000;border-right:3px solid #0000;border-radius:45% 20% 35% 25%;height:7px;position:absolute;bottom:15%;transform:rotate(-.35deg)}.essay-review-sheet .paper-marker-good{background-color:#6e9f6552}
