:root{--fs-2xs: calc(11px * var(--type-scale, 1));--fs-xs: calc(11.5px * var(--type-scale, 1));--fs-sm: calc(12px * var(--type-scale, 1));--fs-base: calc(12.5px * var(--type-scale, 1));--fs-md: calc(13px * var(--type-scale, 1));--fs-lg: calc(14px * var(--type-scale, 1));--fs-xl: calc(15px * var(--type-scale, 1));--fs-2xl: calc(16px * var(--type-scale, 1));--fs-3xl: calc(16px * var(--type-scale, 1));--fs-logo: calc(16px * var(--type-scale, 1));--fs-d1: calc(15px * var(--type-scale, 1));--fs-d2: calc(16px * var(--type-scale, 1));--fs-d3: calc(16px * var(--type-scale, 1));--fs-d4: calc(16px * var(--type-scale, 1));--fs-d5: calc(16px * var(--type-scale, 1));--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--sp-7: 24px;--sp-8: 32px;--wb-sider: 238px;--wb-board: 340px;--wb-chat: 300px;--wb-steps: 260px;--wb-fig-min: 300px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@supports (padding: env(safe-area-inset-left)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media(any-pointer:coarse),(hover:none){a,button,[role=button],input,select,textarea,.m-item{touch-action:manipulation}.tea-main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}html[data-input=touch]{--fs-2xs: calc(12px * var(--type-scale, 1));--fs-xs: calc(12.5px * var(--type-scale, 1));--fs-sm: calc(12.5px * var(--type-scale, 1));--type-scale: calc(1 / var(--app-scale, 1))}html[data-input=touch] body{font-size:calc(14px * var(--ui-scale, 1))}html[data-tier=tablet]{--sp-4: 14px}html[data-tier=tablet-lg]{--wb-steps: 220px;--wb-chat: 260px}html[data-tier=phone]{--fs-2xs: calc(12.5px * var(--type-scale, 1));--fs-xs: calc(13px * var(--type-scale, 1));--fs-sm: calc(13px * var(--type-scale, 1))}html[data-short]{--sp-6: 16px}body.has-wb .tea-main{height:var(--app-h, 100vh);padding:0;overflow:hidden}body.has-wb .tea-main>.tea-mobar{padding:2px 2px 0}body.has-wb .tea-main>.tea-userrow{padding:0 10px}body.has-wb .tea-main>.vw{flex:1 1 auto;min-height:0;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;color:#1f2d3d}.stu-layout{display:flex;min-height:100vh}.stu-sider{width:212px;background:#fff;border-right:1px solid #e9eef4;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex-shrink:0}.stu-logo{padding:20px 22px;font-size:var(--fs-2xl);font-weight:700;color:#1677ff;border-bottom:1px solid #eef1f6}.stu-logo small{display:block;font-size:var(--fs-2xs);font-weight:400;color:#8c9bb1;margin-top:3px}.stu-menu{flex:1;padding:12px 10px}.s-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;cursor:pointer;font-size:var(--fs-lg);color:#44536b;transition:all .15s}.s-item:hover{background:#f0f5ff;color:#1677ff}.s-item.active{background:#e6f4ff;color:#1677ff;font-weight:600}.stu-sider-foot{padding:14px 16px;border-top:1px solid #eef1f6;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:#1677ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:700;flex-shrink:0}.stu-main{flex:1;min-width:0}.stu-topbar{background:#fff;border-bottom:1px solid #eef1f6;padding:13px 28px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.stu-page-title{font-size:var(--fs-2xl);font-weight:700;color:#1f2d3d}.stu-content{padding:22px 28px 40px;max-width:1200px;margin:0 auto}.stu-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:start}.stu-grid2 .card{margin-bottom:0}.stu-narrow{max-width:780px;margin:0 auto}.tea-layout{display:flex;min-height:100vh}.tea-sider{width:var(--wb-sider);background:#fff;color:#374151;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:12px;height:calc(100vh - 24px);margin:12px 0 12px 10px;border-radius:12px;border:1px solid #ececec;box-shadow:0 1px 3px #0f172a0a;overflow:hidden}.tea-logo{padding:16px 16px 12px;font-size:var(--fs-logo);font-weight:700;color:#111827;letter-spacing:.2px}.tea-menu{padding:2px 10px 14px;flex:1;min-height:0;overflow-y:auto}.tea-menu::-webkit-scrollbar{width:5px}.tea-menu::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.tea-menu::-webkit-scrollbar-thumb:hover{background:#d1d5db}.tea-menu .m-item{display:flex;align-items:center;gap:9px;height:33px;padding:0 10px;margin-bottom:1px;cursor:pointer;font-size:var(--fs-lg);font-weight:500;color:#6b7280;border-radius:8px;border:1px solid transparent;transition:background .13s,color .13s}.tea-menu .m-item:hover{background:#f5f7f9;color:#374151}.tea-menu .m-item.active{color:#2563a8;background:#e8f0f8;border-color:#dbe8f4;font-weight:600}.tea-menu .m-item.active:hover{background:#dfeaf5}.tea-menu .m-item .m-caret{margin-left:auto;font-size:var(--fs-2xs);color:#b3b8c4;transition:transform .16s ease;line-height:1}.tea-menu .m-item.open .m-caret{transform:rotate(180deg)}.tea-menu .m-item.open{color:#374151}.tea-menu .m-item.m-sub{margin-left:20px;height:30px;font-size:var(--fs-base);position:relative}.tea-menu .m-item.m-sub:before{content:"";position:absolute;left:-11px;top:4px;bottom:4px;width:1.5px;border-radius:1px;background:#e4e8ef}.tea-menu .m-item.m-sub.active:before{background:#2563a8}.tea-menu .m-item.m-sub .anticon{font-size:var(--fs-md)}.tea-menu .m-item .anticon{pointer-events:none;width:16px;height:16px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xl)}.tea-menu .m-sec{font-size:var(--fs-2xs);font-weight:700;color:#374151;letter-spacing:.3px;padding:14px 10px 6px}.tea-menu .m-sec:first-child{padding-top:8px}.tea-menu .s-submenu{padding:0 0 4px}.tea-menu .s-sub{display:flex;align-items:center;height:30px;padding:0 10px 0 35px;font-size:var(--fs-md);color:#9ca3af;cursor:pointer;border-radius:8px;margin-bottom:1px;border:1px solid transparent;transition:background .13s,color .13s}.tea-menu .s-sub:hover{background:#f5f7f9;color:#374151}.tea-menu .s-sub.active{color:#2563a8;background:#e8f0f8;border-color:#dbe8f4;font-weight:600}.tea-menu .m-item.m-ghost{color:#9ca3af;font-weight:400}.tea-menu .m-item.m-ghost:hover{color:#6b7280}.tea-sider-foot{padding:11px 16px 12px;font-size:var(--fs-xs);color:#9ca3af;border-top:1px solid #f2f4f7;flex-shrink:0;background:#fff}.tea-sider-foot:hover{color:#6b7280}.tea-main{flex:1;background:transparent;padding:20px 24px 40px;min-width:0;display:flex;flex-direction:column}.tea-userrow{flex:0 0 auto;padding:14px 14px 4px 24px}.tea-mobar,.tea-backdrop{display:none}.tea-burger{width:38px;height:34px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:var(--sp-1);align-items:stretch;padding:0 9px;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px}.tea-burger span{display:block;height:2px;border-radius:2px;background:#4b5563}.tea-burger:active{background:#f3f4f6}.tea-mobar-out{font-size:var(--fs-sm);color:#cf1322;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.tea-mobar-out:active{background:#fff1f0}.tea-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.tea-title{font-size:var(--fs-3xl);font-weight:700;color:#1f2d3d}.tea-sub{font-size:var(--fs-md);color:#8c9bb1;margin-top:2px}.tea-card{background:#fff;border-radius:8px;padding:18px;margin-bottom:16px;box-shadow:0 1px 4px #1f2d3d0a}.tea-card .t{font-size:var(--fs-lg);font-weight:600;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.card{background:#fff;border-radius:12px;padding:16px 18px;margin-bottom:14px;box-shadow:0 1px 6px #1f2d3d0d}.card-title{font-size:var(--fs-lg);font-weight:600;color:#1f2d3d;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.card-title .more{font-size:var(--fs-sm);color:#1677ff;cursor:pointer;font-weight:400}.dot-red{color:#f5222d}.dot-yellow{color:#faad14}.dot-green{color:#52c41a}.task-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed #f0f2f6;font-size:var(--fs-lg)}.task-item:last-child{border-bottom:none}.task-check{width:18px;height:18px;border-radius:50%;border:2px solid #c9d4e5;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);color:#fff}.task-check.done{background:#52c41a;border-color:#52c41a}.task-tag{margin-left:auto;font-size:var(--fs-2xs);padding:2px 10px;border-radius:10px;background:#e6f4ff;color:#1677ff;flex-shrink:0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.quick-item{text-align:center;cursor:pointer;padding:8px 0}.quick-icon{width:52px;height:52px;margin:0 auto 8px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-d1)}.quick-item span{font-size:var(--fs-md);color:#44536b}.q-meta{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:12px}.q-tag{font-size:var(--fs-sm);padding:2px 10px;border-radius:10px;background:#f0f5ff;color:#1677ff}.q-stem{font-size:var(--fs-xl);line-height:2;margin-bottom:14px}.option-item{border:1.5px solid #e3e9f2;border-radius:10px;padding:12px 14px;margin-bottom:10px;cursor:pointer;font-size:var(--fs-lg);display:flex;gap:10px;align-items:center;transition:all .15s}.option-item .opt-key{width:26px;height:26px;border-radius:50%;background:#f0f2f6;color:#44536b;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);flex-shrink:0}.option-item.selected{border-color:#1677ff;background:#e6f4ff}.option-item.selected .opt-key{background:#1677ff;color:#fff}.option-item.correct{border-color:#52c41a;background:#f6ffed}.option-item.wrong{border-color:#f5222d;background:#fff1f0}.answer-bar{display:flex;gap:10px;margin-top:14px}.answer-bar .ant-btn{flex:1}.mistake-item{display:flex;gap:var(--sp-4);padding:13px 0;border-bottom:1px dashed #f0f2f6}.mistake-item:last-child{border-bottom:none}.mistake-badge{width:44px;height:44px;border-radius:10px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:var(--fs-2xs);line-height:1.2}.mistake-badge b{font-size:var(--fs-2xl)}.reason-tag{font-size:var(--fs-2xs);padding:1px 8px;border-radius:8px;margin-right:6px}.mastery-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:var(--fs-md)}.mastery-bar{flex:1;height:8px;background:#eef1f6;border-radius:4px;overflow:hidden}.mastery-bar i{display:block;height:100%;border-radius:4px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);margin-bottom:16px}.stat-box{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 4px #1f2d3d0a}.stat-box .num{font-size:var(--fs-d2);font-weight:700;color:#1677ff}.stat-box .lbl{font-size:var(--fs-base);color:#8c9bb1;margin-top:4px}.matrix-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.matrix-table th,.matrix-table td{padding:8px 10px;border:1px solid #eef1f6;text-align:center}.matrix-table th{background:#fafbfd;color:#44536b;font-weight:600}.matrix-table td.cell{cursor:pointer;font-weight:600;color:#fff}.matrix-table .row-head{text-align:left;font-weight:600;color:#44536b;background:#fafbfd}.hot-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed #f0f2f6;font-size:var(--fs-md)}.hot-row:last-child{border-bottom:none}.hot-rank{width:22px;height:22px;border-radius:6px;background:#fff1f0;color:#f5222d;font-size:var(--fs-sm);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hot-rank.r2,.hot-rank.r3{background:#fff7e6;color:#fa8c16}.spec-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.spec-table th,.spec-table td{border:1px solid #eef1f6;padding:9px 12px;text-align:center}.spec-table th{background:#fafbfd;color:#44536b}.spec-table .cnt{color:#1677ff;font-weight:600;cursor:pointer}.grade-layout{display:flex;gap:var(--sp-5)}.grade-left{flex:1.4}.grade-right{flex:1}.score-point{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #eef1f6;border-radius:8px;margin-bottom:8px;cursor:pointer;font-size:var(--fs-md);transition:all .15s}.score-point.checked{border-color:#52c41a;background:#f6ffed}.score-point .sp-total{margin-left:auto;color:#8c9bb1}.student-answer{background:#fafbfd;border-radius:8px;padding:12px;font-size:var(--fs-md);line-height:1.9;font-family:SF Mono,Menlo,monospace}.ant-btn-primary:not(.ant-btn-background-ghost){background:#1677ff!important}.muted{color:#8c9bb1;font-size:var(--fs-sm)}.flex{display:flex;align-items:center;gap:var(--sp-3)}.mt8{margin-top:8px}.mt12{margin-top:12px}.w100{width:100%}.progress-mini{display:inline-block;width:60px;height:6px;background:#eef1f6;border-radius:3px;overflow:hidden;vertical-align:middle;margin-left:8px}.progress-mini i{display:block;height:100%;border-radius:3px}.compose-modal .ant-modal-body{padding:14px 18px 12px}.compose-modal .ant-modal-header{margin-bottom:10px}body{background-color:#f7f8fa}@media(min-width:981px)and (max-width:1100px){:root{--wb-sider: 288px}.tea-layout{display:block}.tea-sider{position:fixed;top:0;left:0;bottom:0;width:288px;max-width:84vw;height:100dvh;overflow-y:auto;padding-bottom:calc(6px + env(safe-area-inset-bottom));margin:0;border-radius:0 14px 14px 0;border-left:none;transform:translate(-104%);transition:transform .22s ease;z-index:60;box-shadow:0 10px 40px #0f172a38}.tea-sider.open{transform:none}.tea-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;z-index:55}.tea-mobar{display:flex;align-items:center;gap:10px;padding:10px 2px 6px}.tea-main{padding:16px 20px 32px}.tea-main:has(>.vw:not(.maxed)){height:100vh;padding:0!important}.tea-main:has(>.vw:not(.maxed))>.tea-mobar{padding:2px 2px 0!important}.tea-main:has(>.vw:not(.maxed))>.tea-userrow{padding:0 10px!important}.tea-main:has(>.vw:not(.maxed))>.vw:not(.maxed){flex:1 1 auto;min-height:0;overflow:hidden}}@media(max-width:980px){.tea-layout{display:block}.tea-sider{position:fixed;top:0;left:0;bottom:0;width:272px;max-width:84vw;height:100dvh;overflow-y:auto;padding-bottom:calc(6px + env(safe-area-inset-bottom));margin:0;border-radius:0 14px 14px 0;border-left:none;transform:translate(-104%);transition:transform .22s ease;z-index:60;box-shadow:0 10px 40px #0f172a38}.tea-sider.open{transform:none}.tea-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;z-index:55}.tea-mobar{display:flex;align-items:center;gap:10px;padding:12px 4px 8px}.tea-main{padding:0 13px 36px}.tea-userrow{padding:8px 4px 2px}.tea-topbar{flex-direction:column;align-items:flex-start;gap:8px}.tea-main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(any-pointer:coarse),(hover:none){.tea-mobar{padding:6px 2px 2px}.tea-userrow{padding:2px 10px 0}}@media(min-width:1101px)and (max-width:1366px){:root{--wb-sider: 200px}}:root{--touch: 40px}@media(any-pointer:coarse),(hover:none){:root{--touch: 40px}:root{--touch: calc(40px / var(--app-scale, 1))}}.dot-field[data-v-0da8a23c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none}.ver-stale{position:fixed;top:0;left:0;right:0;z-index:3000;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 14px;font-size:14px;line-height:1.4;color:#1d39c4;background:#f0f5ff;border-bottom:1px solid #adc6ff;box-shadow:0 1px 6px #1d39c41f}.ver-stale a{font-weight:700;color:#1677ff;cursor:pointer;text-decoration:underline}
