.top-datetime{color:#7b8792;font-size:11px;white-space:nowrap}.top-avatar-menu{position:relative}.top-avatar{cursor:pointer;border:0;font:inherit;padding:0;width:36px;height:36px;min-width:36px;display:grid;place-items:center;overflow:hidden;border-radius:10px;font-size:0;line-height:0}.animal-avatar{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;overflow:hidden;background:#eef3f8;border:1px solid #dfe7ef}.animal-avatar img{display:block}.letter-avatar{color:#fff;font-weight:800}.letter-avatar b{font-size:clamp(13px,45%,22px);line-height:1}.top-avatar>.animal-avatar{width:100%;height:100%;border:0;border-radius:inherit;overflow:hidden}.top-avatar>.animal-avatar img{border-radius:inherit}.user-avatar.animal-avatar{width:34px;height:34px;padding:0}.avatar-profile-modal{width:min(680px,96vw);max-height:92vh;overflow:auto}.avatar-picker{border:0;padding:0;margin:0 0 20px}.avatar-picker legend{font-size:11px;color:#5b6772;font-weight:700;margin-bottom:10px}.avatar-upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.avatar-picker>.muted-text,.avatar-picker>small{display:block;margin-top:6px}.quality-question-list{display:grid;grid-gap:5px;gap:5px;min-width:260px}.quality-question-list>span{font-size:12px;color:#475569}.avatar-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:8px;gap:8px}.avatar-picker-grid button{min-width:0;border:1px solid #e1e7ed;border-radius:9px;background:#fff;padding:5px;color:#687581;transition:border-color .15s,box-shadow .15s,transform .15s}.avatar-picker-grid button:hover{transform:translateY(-1px);border-color:#a9c1eb}.avatar-picker-grid button.selected{border-color:#2f6fed;box-shadow:0 0 0 2px #dce8ff}.avatar-picker-grid .animal-avatar{width:100%;height:auto;aspect-ratio:1;border:0}.avatar-picker-grid button>span:last-child{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;margin-top:4px}.leaderboard-student{display:flex;align-items:center;gap:10px}.leaderboard-student>span:last-child{min-width:0}.leaderboard-student small{display:block;color:#84919d;font-size:11px;font-weight:400;margin-top:3px}.submission-group-identity{display:flex!important;align-items:center;gap:10px;text-align:left}.submission-group-identity>span{min-width:0}.submission-group-identity small{display:block;color:#7b8793;font-size:10px;font-weight:400;margin-top:3px}.submission-review-identity{margin-top:6px}.submission-review-identity h2{margin:0!important}.audit-actor,.exhibition-student-line,.ranking-detail-title,.student-identity{display:flex;align-items:center;gap:9px;min-width:0}.student-identity .animal-avatar{width:32px;height:32px}.ranking-detail-title>.animal-avatar{width:44px;height:44px;border-radius:12px}.exhibition-student-line{line-height:1.45}.exhibition-student-line .animal-avatar{width:28px;height:28px;border-radius:8px}.exhibition-detail-modal .exhibition-student-line{margin-top:7px}.exhibition-detail-modal .exhibition-student-line p{margin:0}.audit-actor .animal-avatar,.audit-system-avatar{width:30px;height:30px;border-radius:8px}.audit-actor>span:last-child{min-width:0}.audit-system-avatar{display:grid;place-items:center;flex:0 0 auto;color:#475569;background:#e9eef5;font-size:11px}@media(max-width:680px){.avatar-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-profile-modal{padding:20px}.leaderboard-student .animal-avatar{width:32px;height:32px}}.top-avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:132px;padding:6px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 10px 28px #17212b14;display:flex;flex-direction:column;gap:2px}.top-avatar-dropdown button{width:100%;border:0;border-radius:7px;background:transparent;color:#24313d;text-align:left;padding:8px 10px;font-size:13px;font-weight:600;cursor:pointer}.top-avatar-dropdown button:hover{background:#f3f6fa}.top-avatar-dropdown button.is-danger{color:#c45b55}.top-avatar-dropdown button.is-danger:hover{background:#fff5f4}body,html{height:100%}body.page-locked,body:has(.app-shell){overflow:hidden}body.page-scrollable,body:has(.login-page),body:has(.student-mobile-page),body:has(.student-page),html:has(.login-page),html:has(.student-mobile-page),html:has(.student-page){height:auto;min-height:100%;overflow:auto}.app-shell{height:100vh;max-height:100vh;min-height:0;overflow:hidden}.main-area>.content,.sidebar{scrollbar-width:thin;scrollbar-color:transparent transparent}.main-area>.content:hover,.sidebar:hover{scrollbar-color:#c5ced8 transparent}.main-area>.content::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:10px}.main-area>.content::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:transparent}.main-area>.content::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.main-area>.content:hover::-webkit-scrollbar-thumb,.sidebar:hover::-webkit-scrollbar-thumb{background:#c5ced8;border:2px solid transparent;background-clip:padding-box}.main-area>.content:hover::-webkit-scrollbar-thumb:hover,.sidebar:hover::-webkit-scrollbar-thumb:hover{background:#9eabb8}.sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.main-area,.sidebar{height:100vh;max-height:100vh}.main-area{flex:1 1 auto;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-area>.topbar{flex-shrink:0;width:100%;padding-left:28px;padding-right:28px}.main-area>.content{flex:1 1 auto;width:100%;max-width:none;margin:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}@media (max-width:680px){body,html{height:auto;overflow:auto}.app-shell,.main-area,.sidebar{height:auto;max-height:none;overflow:visible}.main-area>.content{overflow:visible}}.ai-float{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px;touch-action:none}.ai-float-button{width:62px;height:62px;display:grid;place-items:center;grid-gap:0;gap:0;color:#fff;border:0;border-radius:50%;background:#4f46e5;box-shadow:0 12px 28px rgb(79 70 229/30%);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.ai-float-button:active{cursor:-webkit-grabbing;cursor:grabbing}.ai-float-button.is-disabled{color:#64748b;background:#e2e8f0;box-shadow:0 10px 24px rgb(15 23 42/14%)}.ai-float-button span{font-size:10px;font-weight:800;line-height:1}.ai-float-window{width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 110px));display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden;border:1px solid #dfe5ec;border-radius:12px;background:#fff;box-shadow:0 24px 60px rgb(15 23 42/22%)}.ai-float-window>header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #edf0f4}.ai-float-window>header.ai-float-drag-handle{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.ai-float-window>header.ai-float-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.ai-float-window>header div{display:grid;grid-gap:2px;gap:2px}.ai-float-window>header span{color:#64748b;font-size:12px}.ai-float-window>header button{border:0;background:transparent;font-size:22px;cursor:pointer}.ai-float-window>header .ai-float-meta{display:flex;align-items:center;gap:8px}.ai-float-meta>span{padding:4px 7px;border-radius:999px;background:#eef2ff;white-space:nowrap}.ai-float-meta>button.is-active{color:#4f46e5;font-weight:700}.ai-history-panel{display:flex;flex-direction:column;gap:10px}.ai-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.ai-history-toolbar .outline-button{min-height:30px;padding:0 10px;font-size:12px}.ai-message-time{display:block;margin-top:6px;color:#94a3b8;font-size:11px}.ai-chat-messages{min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f8fafc}.ai-empty{margin:auto;display:grid;justify-items:center;grid-gap:6px;gap:6px;color:#64748b;text-align:center}.ai-empty span{font-size:12px}.ai-message{max-width:88%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;line-height:1.55;white-space:pre-wrap}.ai-message.is-user{align-self:flex-end;color:#312e81;border-color:#c7d2fe;background:#eef2ff}.ai-message .md-view{padding:0}.ai-float-window>form{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;padding:12px;border-top:1px solid #edf0f4}.ai-float-window textarea{resize:none;border:1px solid #cbd5e1;border-radius:8px;padding:9px}.ai-error{margin:8px 12px;padding:9px 10px;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;font-size:12px}.ai-action-panel{margin:16px 0;padding:18px}.ai-action-panel.is-busy{box-shadow:inset 0 0 0 1px #c7d2fe}.ai-panel-head{display:flex;justify-content:space-between;gap:12px}.ai-panel-head h3{margin:3px 0 4px}.ai-panel-head p{margin:0 0 12px;color:#64748b}.ai-action-panel>textarea{width:100%;resize:vertical;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px}.ai-panel-actions{display:flex;gap:8px;margin-top:10px}.ai-result{margin-top:12px;max-height:320px;overflow:auto;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.ai-result .md-view{padding:0}.ai-panel-status{display:grid;justify-items:end;align-content:start;grid-gap:5px;gap:5px;flex:none;color:#6366f1}.ai-panel-status span{color:#64748b;font-size:12px;font-weight:500}.ai-action-panel.is-busy .ai-panel-status span{color:#4f46e5;font-weight:700}.ai-action-history{min-height:150px;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.ai-action-history .ai-message.is-user{align-self:flex-end}.ai-action-empty{min-height:120px;display:grid;place-content:center;justify-items:center;grid-gap:5px;gap:5px;color:#64748b;text-align:center}.ai-action-empty span{font-size:12px}.ai-thinking{display:flex;align-items:center;gap:7px;animation:ai-panel-glow 1.4s ease-in-out infinite}.ai-thinking>span{width:7px;height:7px;border-radius:50%;background:#6366f1;animation:ai-pulse 1s ease-in-out infinite}@keyframes ai-panel-glow{0%,to{background:#eef2ff}50%{background:#e0e7ff}}@keyframes ai-pulse{50%{opacity:.35;transform:scale(.8)}}.ai-config-card{margin-top:18px;padding:20px}.ai-config-layout{display:grid;grid-template-columns:230px minmax(0,1fr);grid-gap:20px;gap:20px}.ai-config-layout>nav{display:grid;align-content:start;grid-gap:6px;gap:6px}.ai-config-layout>nav button{padding:10px 12px;text-align:left;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer}.ai-config-layout>nav button.selected{color:#4338ca;border-color:#a5b4fc;background:#eef2ff}.ai-config-form{display:grid;grid-gap:12px;gap:12px}.ai-config-form label{display:grid;grid-gap:6px;gap:6px;color:#475569;font-size:13px;font-weight:650}.ai-config-form input,.ai-config-form textarea{width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.ai-config-params{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:12px;gap:12px;align-items:end}.ai-config-params .ai-enabled{display:flex;align-items:center;min-height:40px}.ai-config-params .ai-enabled input{width:auto}.ai-model-picker{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px}.ai-model-picker .outline-button,.ai-model-picker .primary-button{min-height:40px;white-space:nowrap}.ai-model-hint{color:#64748b;font-size:12px;font-weight:400}.ai-provider-model{display:grid;grid-gap:6px;gap:6px;margin-top:14px;color:#475569;font-size:13px;font-weight:650}.ai-provider-model input{width:100%;min-height:40px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}.ai-provider-model input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgb(99 102 241/14%);outline:none}.ai-scene-model-note{margin:0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:500}.ai-scene-model-note strong{color:#4338ca;font-weight:700}.submission-review-body>.ai-action-panel{min-width:0;margin:0}.teaching-stage{position:relative}.teaching-ai-summary{position:absolute;z-index:12;right:18px;top:82px;width:min(420px,calc(100% - 36px));max-height:calc(100% - 100px);overflow:auto}.teaching-ai-summary .ai-action-panel{margin:0;background:rgb(255 255 255/96%);box-shadow:0 18px 44px rgb(15 23 42/20%)}.ai-batch-list{display:grid;grid-gap:10px;gap:10px}.ai-batch-list article{padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.ai-batch-list article header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ai-batch-list .md-view{padding:0}.ai-log-list{margin-top:20px;padding-top:18px;border-top:1px solid #e2e8f0}.ai-log-list details{margin-top:8px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.ai-log-list summary{display:grid;grid-template-columns:1fr auto 100px;grid-gap:12px;gap:12px;padding:11px 12px;cursor:pointer}.ai-log-list details>div{padding:0 12px 12px}.ai-log-list h4{margin:10px 0 5px}.ai-log-list pre{max-height:240px;overflow:auto;margin:0;padding:10px;white-space:pre-wrap;border-radius:6px;background:#f1f5f9;font:12px/1.5 ui-monospace,monospace}.ai-provider-card{margin:18px 0 22px;padding:16px;border:1px solid #c7d2fe;border-radius:8px;background:#f8faff}.ai-provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ai-provider-head h4{margin:0 0 4px;font-size:16px}.ai-provider-head p{margin:0;color:#64748b;font-size:13px}.ai-provider-masked{flex:none;padding:6px 9px;color:#4338ca;border-radius:6px;background:#eef2ff;font:12px/1.2 ui-monospace,monospace}.ai-provider-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) auto;align-items:end;grid-gap:12px;gap:12px;margin-top:14px}.ai-provider-fields label{display:grid;grid-gap:6px;gap:6px;color:#475569;font-size:13px;font-weight:650}.ai-provider-fields input{width:100%;min-height:40px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.ai-provider-fields input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgb(99 102 241/14%);outline:none}.ai-usage-limits{margin:-8px 0 22px;padding:16px;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.ai-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.ai-limit-grid label{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:6px;gap:6px;color:#475569;font-size:12px;font-weight:650}.ai-limit-grid input{grid-column:1/-1;width:100%;min-height:38px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:8px}.ai-limit-grid label span{grid-column:2;grid-row:1;color:#64748b;font-size:11px;font-weight:400}@media (max-width:680px){.ai-float{right:14px;bottom:14px}.ai-float-button{width:56px;height:56px}.ai-config-layout{grid-template-columns:1fr}.ai-config-layout>nav{display:flex;overflow-x:auto}.ai-config-layout>nav button{min-width:170px}.ai-config-params{grid-template-columns:1fr 1fr}.ai-config-params .ai-enabled{grid-column:1/-1}.teaching-ai-summary{right:10px;top:70px;width:calc(100% - 20px)}.ai-provider-head{display:grid}.ai-provider-fields{grid-template-columns:1fr}.ai-provider-fields .primary-button{width:100%}.ai-model-picker{grid-template-columns:1fr}.ai-model-picker .outline-button,.ai-model-picker .primary-button{width:100%}.ai-limit-grid{grid-template-columns:1fr 1fr}.ai-panel-head{display:grid}.ai-panel-status{justify-items:start}.ai-action-history{min-height:180px}}.danger-text{color:#c45b55!important}.course-selector{display:block;margin:14px 0 10px;border:1px solid #d8dee6;border-radius:6px;padding:9px;color:#17212b;background:#fff;min-width:0;max-width:100%;box-sizing:border-box}.exhibition-toolbar .course-selector,.prep-context .course-selector,.ranking-filter .course-selector,.student-exhibition-filter .course-selector,.student-filter .course-selector,.student-toolbar .course-selector,.teaching-filter .course-selector,.timeline-filter .course-selector{min-width:0;width:100%}.exhibition-section{margin-top:18px}.exhibition-section:first-child{margin-top:0}.exhibition-card{padding:20px;min-height:150px}.exhibition-card h3{margin:14px 0 8px}.exhibition-card p{color:#7b8793;font-size:12px;line-height:1.7;white-space:pre-wrap}.exhibition-card-clickable{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.exhibition-card-clickable:hover{border-color:#b7c9e8;box-shadow:0 8px 20px #1d395a12;transform:translateY(-1px)}.exhibition-card-action{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:#2f6fed}.exhibition-board-panel{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:min(620px,calc(100vh - 210px))}.exhibition-board-panel .exhibition-toolbar{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));grid-gap:14px 16px;gap:14px 16px;padding:16px 18px;margin:0;border-bottom:1px solid #e8eef4;background:#fbfcfe;border-radius:0;box-shadow:none}.exhibition-toolbar label{display:flex;flex-direction:column;gap:7px;color:#687581;font-size:11px;font-weight:600}.exhibition-toolbar .course-selector,.exhibition-toolbar input{width:100%;margin:0}.exhibition-search input{height:38px;border:1px solid #d8dee6;border-radius:8px;padding:0 12px;font:inherit;box-sizing:border-box}.exhibition-board-body{flex:1 1;display:flex;flex-direction:column;padding:18px;min-height:0}.exhibition-board-body>.exhibition-empty{flex:1 1;width:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;border:1px dashed #d7e0ea;border-radius:10px;color:#a0abb4;text-align:center;box-sizing:border-box}.exhibition-board-body>.exhibition-empty h3{color:#6d7a86;font-size:15px;margin:14px 0 6px}.exhibition-board-body>.exhibition-empty p{font-size:12px;margin:0;line-height:1.7;max-width:420px}.observer-exhibition-block,.student-exhibition-block{margin-top:0;display:flex;flex-direction:column;gap:0}.observer-exhibition-block{margin-top:0}.observer-exhibition-block>.panel{height:100%}.student-exhibition-panel{padding:12px 14px 14px;border:1px solid #e2e8f0;box-shadow:0 1px 0 #e8edf3,0 4px 12px #17212b07}.student-exhibition-panel.has-filter{padding-top:0}.student-exhibition-panel.has-filter>.panel-title{margin-top:2px}.student-exhibition-panel .panel-title{margin-bottom:8px;padding-bottom:0}.student-exhibition-filter{padding:12px 0 10px;margin:0 0 2px;border-bottom:1px solid #e8eef4}.student-exhibition-filter label{display:flex;flex-direction:column;gap:7px;color:#687581;font-size:11px;font-weight:600}.student-exhibition-filter .course-selector{min-width:0;width:100%;margin:0}.lock-banner{margin-top:10px;padding:10px 12px;border-radius:8px;background:#f3f6fa;border:1px solid #d9e2ec;color:#516273;font-size:12px;line-height:1.5}.observer-submit.is-locked .md-wysiwyg.is-disabled,.observer-submit.is-locked textarea,.student-mobile-task .md-wysiwyg.is-disabled,.student-mobile-task textarea:disabled{background:#f4f6f8;color:#8a969f;cursor:not-allowed;border-color:#e2e7ee}.observer-submit.is-locked .md-wysiwyg.is-disabled .md-wysiwyg-canvas,.student-mobile-task .md-wysiwyg.is-disabled .md-wysiwyg-canvas{background:#f4f6f8;color:#64748b}.file-button.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.submitted-label{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:8px;background:#eef3f9;color:#4d5d6d;font-size:12px;font-weight:600}.success-note.is-lock-note{background:#fff6e8;border-color:#f0d7ad;color:#8a5a12}@media (max-width:900px){.exhibition-board-panel .exhibition-toolbar,.exhibition-toolbar{grid-template-columns:1fr 1fr}.exhibition-board-panel{min-height:min(520px,calc(100vh - 180px))}}@media (max-width:640px){.exhibition-board-panel .exhibition-toolbar,.exhibition-toolbar{grid-template-columns:1fr}}.student-filter{padding:16px 20px;display:flex;align-items:flex-end;gap:18px}.prep-context{margin-bottom:16px;flex-wrap:wrap}.prep-context .course-selector{min-width:220px}.project-list-header,.project-row{grid-template-columns:minmax(260px,1.7fr) 1fr 160px}.projects-manager-page .project-list-header,.projects-manager-page .project-row{grid-template-columns:minmax(280px,1.5fr) minmax(200px,1.2fr) 170px}.projects-manager-page .project-lesson-tag,.projects-manager-page .project-tag{line-height:1.45;max-width:100%;white-space:normal;word-break:break-word}.student-filter label{color:#687581;font-size:11px;font-weight:600}.student-filter .course-selector{margin:7px 0 0}.teaching-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;padding:18px 20px;margin-bottom:16px;background:linear-gradient(180deg,#ffffff,#fbfcfe)}.teaching-filter label{display:flex;flex-direction:column;gap:8px;margin:0;color:#5b6772;font-size:12px;font-weight:600;letter-spacing:.02em}.teaching-filter label>span{color:#84919d;font-size:11px;font-weight:600}.teaching-filter select{width:100%;min-height:42px;border:1px solid #d7dee8;border-radius:10px;padding:0 38px 0 14px;color:#1a2734;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237b8793' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:14px;font-weight:500;line-height:1.4;box-shadow:0 1px 2px #17212b08}.teaching-filter select:hover{border-color:#b7c7dc}.teaching-filter select:focus{outline:none;border-color:#7aa2ef;box-shadow:0 0 0 3px #e8f0ff}.student-list-panel{margin-top:8px;padding:0}.student-group,.student-list-panel{overflow:hidden;border:1px solid #e5ebf2;border-radius:14px;box-shadow:0 8px 24px #1d395a0a}.student-group{margin-top:16px}.student-table{overflow-x:auto}.student-table-head,.student-table-row{min-width:860px;display:grid;grid-template-columns:1fr 1fr 1.1fr 120px 220px;grid-gap:14px;gap:14px;align-items:center;padding:13px 20px;border-top:1px solid #eef1f3;font-size:12px}.student-table-head{border-top:0;color:#8a969f;font-size:10px;background:#fafbfd}.student-table-head .sort-head{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;white-space:nowrap}.student-table-head .sort-head:hover{color:#3d4b58}.student-table-head .sort-head.active{color:#2f6fed;font-weight:700}.student-table-head .sort-arrow{font-size:11px;line-height:1;min-width:1em}.student-table-head .sort-arrow.muted{color:#c0c8d0}.student-table-head .sort-arrow.active{color:#2f6fed}.student-table-row{color:#56636f;transition:background .15s ease}.student-table-row:hover{background:#f7fafc}.student-table-row strong{color:#263442}.student-table-row .student-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.student-toolbar{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(200px,1.2fr) minmax(160px,.9fr);grid-gap:16px 18px;gap:16px 18px;align-items:stretch;padding:18px 20px}.student-toolbar .student-field{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;color:#5b6772;font-size:12px;font-weight:600}.student-toolbar .student-field-label{display:block;color:#84919d;font-size:11px;font-weight:600;line-height:1.2}.student-toolbar .course-selector{width:100%;min-width:0;margin:0;min-height:38px;box-sizing:border-box}.student-toolbar .success-note{grid-column:1/-1}.student-search-box{display:flex;align-items:center;gap:8px;height:38px;margin:0;padding:0 12px;border:1px solid #d8dee6;border-radius:8px;background:#fff;color:#7b8793;box-sizing:border-box}.student-search-box input{width:100%;border:0;outline:none;background:transparent;color:#17212b;font-size:13px}.student-summary{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}.student-summary span{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#eef3f8;color:#5b6874;font-size:11px;font-weight:600}@media (max-width:980px){.student-toolbar{grid-template-columns:1fr 1fr}}@media (max-width:680px){.student-toolbar{grid-template-columns:1fr}}.student-actions{display:flex;gap:6px;white-space:nowrap}.student-actions .row-action{padding:0}.account-actions{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.account-actions .row-action:disabled{opacity:.4;cursor:not-allowed}.file-button{cursor:pointer}.modal .file-button input[type=file],.modal .import-file-trigger input[type=file],.modal input[hidden],.modal input[type=file][hidden]{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;position:absolute!important;opacity:0;pointer-events:none}.modal .import-file-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin:8px 0 0;padding:0 14px;box-sizing:border-box;font-size:12px;font-weight:600;color:#3c6cca;position:relative}.import-modal .modal-hint{margin:4px 0 12px}.import-modal .file-chip{margin-top:10px;padding:8px 10px;border-radius:8px;background:#f3f6fa;border:1px solid #e2e8f0;color:#516273;font-size:12px;line-height:1.4;word-break:break-all}.import-modal .modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid #eef1f4;position:relative;z-index:1}.modal input:-moz-read-only{opacity:.72;cursor:default;background:#f3f5f7;color:#5b6772}.modal input:disabled,.modal input:read-only{opacity:.72;cursor:default;background:#f3f5f7;color:#5b6772}.danger-button{min-height:36px;padding:0 15px;border:1px solid #c94d45;border-radius:7px;background:#c94d45;color:#fff;font-size:12px;font-weight:600}.danger-button:disabled{opacity:.55;cursor:wait}.danger-outline-button{min-height:36px;padding:0 15px;border:1px solid #c94d45;border-radius:7px;background:#fff;color:#c94d45;font-size:12px;font-weight:600;cursor:pointer}.danger-outline-button:hover{background:#fff5f4}.danger-link{border:0;background:transparent;color:#bd4d46;font-size:12px}.confirm-dialog{width:min(480px,100%)}.confirm-dialog-danger{width:min(560px,100%)}.confirm-warning{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #f0d7d4;border-radius:8px;background:#fff8f7;color:#8b4a45}.confirm-warning-danger{border-color:#e8b4af;background:linear-gradient(180deg,#fff5f4,#ffefed)}.confirm-warning p{margin:0;font-size:12px;line-height:1.7}.confirm-bullet-list{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.confirm-bullet-list li{margin:4px 0}.course-manager{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.course-manager-actions{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.managed-lesson{grid-template-columns:28px minmax(0,1fr) 100px 240px}.lesson-main{border:0;background:transparent;text-align:left;min-width:0}.lesson-main small,.lesson-main strong{display:block}.lesson-main small{margin-top:5px;color:#8b98a2}.lesson-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.archive-panel{margin-top:24px;padding:0 20px 18px}.archive-toolbar{display:grid;grid-template-columns:minmax(180px,1.2fr) 140px 160px;grid-gap:12px;gap:12px;margin:8px 0 14px}.archive-summary{font-size:12px;color:#8b98a2;margin-bottom:8px}.archive-inline-error{margin:0 0 10px}.archive-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid #edf0f3;padding:12px 0}.archive-card-main{display:flex;gap:12px;align-items:flex-start;min-width:0;flex:1 1}.archive-type-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:22px;padding:0 8px;border-radius:5px;font-size:11px;font-weight:600;letter-spacing:.02em;background:#eef3f8;color:#3d5a73}.archive-type-badge.is-course{background:#e7f2ed;color:#2a8661}.archive-type-badge.is-lesson{background:#eef3f8;color:#3d5a73}.archive-card-body{min-width:0;flex:1 1}.archive-card-title{display:block;font-size:14px;line-height:1.35;color:#243039}.archive-meta-line{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px;color:#5f6b75;line-height:1.4}.archive-meta-time{margin-top:2px;color:#8b98a2;font-size:11px}.archive-card-actions{display:grid;grid-template-columns:88px 72px 72px;grid-gap:8px;gap:8px;flex-shrink:0;align-items:center;justify-items:stretch}.archive-action-btn{width:100%;min-width:0;padding-left:0;padding-right:0;justify-content:center;white-space:nowrap}.archive-action-spacer{display:block;width:100%;height:36px;visibility:hidden;pointer-events:none}.archive-row{display:grid;grid-template-columns:70px minmax(0,1fr) 250px 90px;grid-gap:12px;gap:12px;align-items:center;border-top:1px solid #edf0f3;padding:13px 0;font-size:12px}.archive-empty{padding:20px 0;color:#8b98a2;font-size:12px}.archive-detail-modal{width:min(920px,100%);max-height:min(86vh,820px);overflow:auto}.archive-detail-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:4px 0 14px;font-size:12px;color:#5f6b75}.archive-detail-tabs{margin-bottom:14px}.archive-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.archive-detail-col{border:1px solid #edf0f3;border-radius:8px;padding:12px;min-height:220px;background:#fcfdfe}.archive-detail-col h3{margin:0 0 10px;font-size:13px}.archive-detail-item{width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:7px;padding:10px;margin-bottom:8px;cursor:pointer}.archive-detail-item span,.archive-detail-item strong{display:block}.archive-detail-item span{margin-top:4px;color:#8b98a2;font-size:11px}.archive-detail-item.selected{border-color:#b7d7c8;background:#f3faf6}.archive-detail-focus{display:grid;grid-gap:8px;gap:8px;font-size:12px;color:#5f6b75}.archive-detail-focus strong{color:#243039;font-size:14px}.archive-student-table{border:1px solid #edf0f3;border-radius:8px;overflow:hidden}.prep-project-row{border:0;border-top:1px solid #edf0f3;background:#fff;padding:16px 20px;display:grid;grid-template-columns:minmax(0,1fr) 90px 50px;grid-gap:14px;gap:14px;text-align:left}.prep-project-row:first-child{border-top:0}.prep-project-row span,.prep-project-row strong{display:block}.prep-project-row div>span{color:#89949e;margin-top:5px;font-size:11px}.teaching-empty{min-height:360px}.project-title-button{border:0;background:transparent;text-align:left}.close-inline{border:0;background:transparent;margin-left:8px;color:inherit}.student-mobile-page{min-height:100vh;max-width:min(740px,100%);width:100%;margin:0 auto;padding:14px 16px 36px;background:#f6f8fa;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;min-width:0}.student-mobile-page.observer-home{max-width:min(1080px,100%)}.student-course-switch{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#fff;border:1px solid #e3e8ef;border-radius:14px}.student-course-hint{margin:0;font-size:12px;color:#b7791f;font-weight:600}.student-course-chips{display:flex;flex-wrap:wrap;gap:8px}.student-course-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;min-height:40px;border-radius:999px;border:1px solid #d0d7e2;background:#f6f8fa;color:#384152;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.student-course-chip.is-active{background:#1f6feb;border-color:#1f6feb;color:#fff}.student-course-chip .course-live-dot{width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.18)}.student-course-chip.is-active .course-live-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}.observer-assign-panel{margin-top:10px;padding:12px 14px;border:1px solid #f5d9a8;background:#fffbf2;border-radius:12px;display:flex;flex-direction:column;gap:10px}.observer-assign-panel p{margin:0;font-size:13px;color:#8a5a12}.observer-assign-panel label{display:flex;flex-direction:column;gap:4px;font-size:13px}.student-page{min-height:100vh;max-width:1080px;width:100%;margin:0 auto;padding:14px 16px 36px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}.student-mobile-page .student-mobile-header,.student-page .student-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 0 #e8edf3,0 6px 16px #17212b08;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.student-mobile-page .student-mobile-header>div:first-child,.student-page .student-top>div:first-child{flex:1 1 12rem;min-width:0;max-width:100%}.student-mobile-page .student-mobile-header h1,.student-page .student-top h1{margin:3px 0 4px;font-size:21px;letter-spacing:-.02em;color:#17212b;overflow-wrap:anywhere;word-break:break-word}.student-mobile-page .student-mobile-header p,.student-page .student-top p{margin:0;max-width:100%;color:#6a7784;font-size:12px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.student-mobile-page .student-mobile-header .guest-top-actions,.student-page .student-top .guest-top-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:100%}.student-mobile-avatar{width:36px;height:36px;min-width:36px;display:grid;place-items:center;border-radius:9px;background:#e7f2ed;overflow:hidden;padding:0;font-size:0;line-height:0}.student-task-list{display:grid;grid-gap:10px;gap:10px}.student-mobile-task{padding:14px 14px 12px;overflow-x:hidden;overflow-y:visible;max-width:100%;width:100%;box-sizing:border-box;border:1px solid #e2e8f0;box-shadow:0 1px 0 #e8edf3,0 4px 12px #17212b07;min-width:0}.student-mobile-task-head h2{margin:8px 0 0;font-size:16px}.observer-requirements,.student-requirements{margin:10px 0;padding:10px 12px;border:1px solid #e6ebf0;border-radius:8px;background:#f7f9fb;color:#24313d;font-size:13px;line-height:1.65;overflow-x:hidden;overflow-y:auto;max-height:min(300px,38vh);white-space:normal;overscroll-behavior:contain;max-width:100%;width:100%;min-width:0;box-sizing:border-box}.observer-requirements{margin:10px 0 0;background:#fff;max-height:min(160px,22vh)}.observer-requirements .md-chrome-body,.observer-requirements .md-html-view,.observer-requirements .md-view,.student-requirements .md-chrome-body,.student-requirements .md-html-view,.student-requirements .md-view{max-width:100%;width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}.student-mobile-task .md-wysiwyg.is-compact .md-wysiwyg-canvas{min-height:120px;max-height:240px}.student-submit-hint{margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#fff7e8;border:1px solid #f0d9a8;color:#8a5a12;font-size:13px;line-height:1.5}.student-mobile-task textarea{width:100%;resize:vertical;border:1px solid #d8dee6;border-radius:7px;padding:12px;font-size:14px}.student-mobile-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.student-mobile-page .empty-state,.student-mobile-page .observer-empty,.student-page .empty-state,.student-page .observer-empty{min-height:0;margin-top:0;padding:22px 16px}.student-mobile-empty{margin-top:0;gap:6px}.student-mobile-empty .empty-illustration{margin-bottom:2px}.student-mobile-empty h3{margin:8px 0 4px;font-size:14px}.student-mobile-empty p{max-width:28em;font-size:12px;line-height:1.5}@media(max-width:680px){.course-manager,.student-filter:not(.student-toolbar){align-items:stretch;flex-direction:column}.course-selector{min-width:0;width:100%}.managed-lesson{grid-template-columns:22px minmax(0,1fr)}.managed-lesson>.lesson-actions,.managed-lesson>.status-pill{grid-column:2}.lesson-actions{justify-content:flex-start}.archive-row{grid-template-columns:70px minmax(0,1fr)}.archive-row>.muted-text,.archive-row>.outline-button{grid-column:2}.archive-toolbar{grid-template-columns:1fr}.archive-card{flex-direction:column;align-items:stretch;gap:12px}.archive-card-actions{width:100%;display:flex;flex-wrap:wrap;grid-template-columns:none}.archive-action-spacer{display:none}.archive-action-btn{flex:1 1 88px}.archive-detail-grid{grid-template-columns:1fr}.student-table{overflow:visible}.student-table-head{display:none}.student-table-row{min-width:0;display:grid;grid-template-columns:1fr 1fr;padding:14px;grid-gap:10px;gap:10px}.student-table-row [data-label]:before{content:attr(data-label);display:block;color:#98a2ab;font-size:9px;margin-bottom:4px}.student-table-row>.student-actions{grid-column:1/-1;overflow-x:auto;padding-top:8px;border-top:1px solid #eef1f3}.student-mobile-actions{align-items:stretch;flex-direction:column}.student-mobile-actions>*{width:100%;justify-content:center}}.teaching-stage{display:flex;flex-direction:column;gap:calc(16px * var(--teach-spacing, 1));padding:20px 22px 22px;opacity:var(--teach-opacity,1);font-size:calc(1em * var(--teach-size, 1));box-sizing:border-box}.teaching-stage.is-fullscreen{position:fixed;inset:0;z-index:80;margin:0;border-radius:0;max-height:none;height:100vh;background:#0f1720;overflow:hidden;padding:0;gap:0;box-sizing:border-box}.teaching-stage-content{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1}.teaching-stage.is-fullscreen .teaching-stage-content{height:100%;padding:20px 24px 72px;background:#f4f7fb}.teaching-stage-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}.teaching-stage-head h2{margin:0;font-size:22px;line-height:1.35;letter-spacing:-.02em;color:#17212b}.teaching-stage.is-fullscreen .teaching-stage-head h2{font-size:clamp(22px,2.4vw,30px)}.teaching-stage-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%}.teaching-requirements{width:100%;max-width:100%;margin:0;text-align:left;padding:14px 16px;border:1px solid #e6ebf0;border-radius:10px;background:#fbfcfe;white-space:normal;overscroll-behavior:contain;box-sizing:border-box}.teaching-requirements.is-empty{display:grid;place-items:center;min-height:120px}.teaching-stage.is-fullscreen .teaching-requirements{padding:18px 22px;border-radius:14px;background:#fff;box-shadow:0 10px 40px rgba(15,23,42,.08)}.teaching-stage-hud{width:100%}.teaching-stage.is-fullscreen .teaching-stage-hud{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:95;width:min(720px,calc(100vw - 32px));transition:opacity .2s ease,transform .2s ease}.teaching-stage.is-fullscreen .teaching-stage-hud.is-hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-12px)}.teaching-stage-control{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 16px 14px;border:1px solid #e6ebf0;border-radius:12px;background:#f8fafc;margin:0}.teaching-stage.is-fullscreen .teaching-stage-control{background:rgba(248,250,252,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px rgba(15,23,42,.18);border-color:rgba(255,255,255,.65)}.teaching-hud-toggle{position:fixed;top:18px;right:18px;z-index:100;height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(23,33,43,.78);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.teaching-hud-toggle:hover{background:rgba(23,33,43,.92)}.teaching-countdown-float{position:fixed;top:18px;right:118px;z-index:100;min-width:88px;height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(23,33,43,.82);color:#fff;font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.teaching-countdown-float:hover{background:rgba(23,33,43,.94)}.teaching-project-switcher{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(23,33,43,.88);color:#fff;box-shadow:0 10px 30px rgba(16,24,40,.22);max-width:min(920px,94vw);overflow-x:auto;transition:opacity .2s ease,transform .2s ease}.teaching-project-switcher.is-hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(12px)}.teaching-project-switcher span{font-size:12px;opacity:.8;white-space:nowrap}.teaching-project-switcher button{border:0;border-radius:999px;padding:6px 12px;background:transparent;color:#fff;cursor:pointer;white-space:nowrap;font-size:13px}.teaching-project-switcher button.active,.teaching-project-switcher button:hover{background:#2f6fed}.teaching-countdown{display:inline-flex;align-items:center;justify-content:center;margin:0;border:0;background:transparent;color:#111827;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(48px,7vw,72px);font-weight:760;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em;line-height:1;cursor:pointer;border-radius:12px;padding:8px 16px}.teaching-countdown:hover{background:#f3f6fb;color:#1d4fbf}.teaching-countdown-edit{display:grid;justify-items:center;grid-gap:8px;gap:8px;margin:0;width:100%}.teaching-countdown-edit input{width:min(280px,70vw);border:1px solid #c9d7ee;border-radius:12px;padding:10px 14px;text-align:center;font-size:42px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#17212b}.teaching-countdown-edit span{color:#8a969f;font-size:12px}.teaching-stage-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%}.teaching-stage-actions .success-note{width:100%;text-align:center}.teaching-stage-control>.success-note{width:100%;text-align:center;margin-top:0}.extend-bar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid #dce4ee;border-radius:10px;background:#f7f9fc}.extend-label{font-size:12px;font-weight:600;color:#5b6874;padding:0 4px}.extend-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.extend-chip{height:34px;padding:0 12px;border:1px solid #d4dde8;border-radius:8px;background:#fff;color:#425466;font-size:12px;font-weight:600;line-height:1}.extend-chip:hover{border-color:#9eb6de;color:#2f6fed}.extend-chip.selected{border-color:#2f6fed;background:#edf4ff;color:#2f6fed;box-shadow:inset 0 0 0 1px #2f6fed33}.extend-confirm{height:34px;padding:0 14px;white-space:nowrap}.extend-confirm:disabled{opacity:.45;cursor:not-allowed}@media (max-width:900px){.teaching-filter{grid-template-columns:1fr}}.observer-home .observer-grid{gap:10px}.observer-lesson-list{display:flex;flex-direction:column;gap:10px;padding:12px 14px 16px}.observer-lesson-card{border:1px solid #e8edf3;border-radius:10px;padding:12px 13px;background:#fbfcfe;text-align:left;cursor:pointer}.observer-lesson-card.selected{border-color:#9bb7e8;background:#f3f7ff;box-shadow:inset 0 0 0 1px #c9daf5}.observer-lesson-card strong{display:block;margin:8px 0 4px;font-size:14px;color:#1f2a37}.observer-lesson-card p{margin:10px 0 0;font-size:12px;line-height:1.7;color:#667685;white-space:pre-wrap}.observer-clock,.student-phase-clock{display:block;margin-top:8px;font-size:22px;font-weight:700;letter-spacing:.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#1f3f73}.student-mobile-task-head .muted-text{display:block;margin-top:4px}.observer-submit{margin:0 0 4px;padding-top:10px;border-top:1px solid #e8edf3}.observer-submit h3{margin:12px 0 6px;font-size:14px}.observer-submit textarea{width:100%;margin-top:10px;border:1px solid #d8dee6;border-radius:8px;padding:10px;resize:vertical}.guest-top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;max-width:100%}.guest-logout{height:34px;padding:0 12px;white-space:nowrap}.student-mobile-header .observer-badge.role-avatar-button,.student-mobile-header .student-mobile-avatar.role-avatar-button{width:36px;min-width:36px;height:36px;padding:0;overflow:hidden;border-radius:9px;font-size:0;line-height:0}.student-table-row.clickable{cursor:pointer;transition:background .15s}.student-table-row.clickable:hover{background:#f5f8fc}.student-table-row.is-rejected{opacity:.78}.student-table-row.is-observer strong:after{content:" · 听课";font-weight:500;color:#8a969f;font-size:11px}.submission-groups{padding:8px;display:flex;flex-direction:column;gap:8px}.submission-filter{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr);grid-gap:14px 18px;gap:14px 18px;padding:14px 16px;align-items:end;margin-bottom:0}.submission-filter .student-field{display:flex;flex-direction:column;gap:8px;min-width:0}.submission-filter .student-field-label{display:block;color:#84919d;font-size:11px;font-weight:600}.submission-filter .course-selector{width:100%;min-width:0;margin:0}@media (max-width:680px){.submission-filter{grid-template-columns:1fr}}.submission-group{border:1px solid #e6ebf1;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.submission-group.is-open{border-color:#b7c9e8;box-shadow:0 8px 22px #1d395a0f}.submission-group-head{width:100%;display:grid;grid-template-columns:28px minmax(140px,1.1fr) minmax(180px,1.4fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:14px 16px;border:0;background:linear-gradient(180deg,#fcfdff,#f7f9fc);text-align:left;transition:background .2s ease}.submission-group-head:hover{background:#f3f7fc}.submission-group-head>button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.submission-chevron{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef3f9!important;color:#6b7c8c;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s ease,color .2s ease}.submission-chevron.rotated{transform:rotate(90deg);background:#e7f0ff!important;color:#2f6fed}.submission-group-identity{min-width:0}.submission-group-identity:hover strong{color:#2f6fed}.submission-group-identity strong{display:block;font-size:14px;color:#1f2a37;transition:color .15s ease}.submission-group-identity span{display:block;margin-top:3px;font-size:11px;color:#8a969f}.submission-group.is-observer .submission-group-identity strong:after{content:" · 听课";font-weight:500;color:#8a969f;font-size:11px}.submission-group-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.version-pills{display:flex;flex-wrap:wrap;gap:5px}.version-pill{font-style:normal;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:#edf4ff;color:#2f6fed}.version-pill.scored{background:#e8f6ef;color:#2f9b6c}.version-pill.rejected{background:#fff1ef;color:#c45b55}.submission-group-status{justify-self:end;font-size:12px;color:#5b6874;white-space:nowrap}.submission-timeline-link{color:#2f6fed!important;font-weight:600;border-radius:8px;padding:6px 8px!important;transition:background .15s ease}.submission-timeline-link:hover{background:#eaf1ff!important}.submission-group-body{display:grid;transition:grid-template-rows .32s cubic-bezier(.2,.8,.2,1)}.submission-group-body-inner{overflow:hidden;min-height:0}.submission-version-row{width:100%;display:grid;grid-template-columns:64px 1.2fr .6fr .8fr auto;grid-gap:10px;gap:10px;align-items:center;padding:12px 16px 12px 56px;border:0;border-top:1px solid #eef2f6;background:#fff;color:#56636f;font-size:12px;text-align:left;cursor:pointer;opacity:0;transform:translateY(-6px);transition:background .18s ease,opacity .28s ease,transform .28s ease}.submission-group.is-open .submission-version-row{opacity:1;transform:translateY(0)}.submission-group.is-open .submission-version-row:first-child{transition-delay:.04s}.submission-group.is-open .submission-version-row:nth-child(2){transition-delay:.08s}.submission-version-row:hover{background:#f5f8fc}.submission-version-row.is-rejected{opacity:.75}.version-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:26px;border-radius:7px;background:#17212b;color:#fff;font-weight:700;font-size:11px}.version-action{color:#2f6fed;font-weight:600;white-space:nowrap}@media (max-width:900px){.submission-group-head{grid-template-columns:28px 1fr}.submission-group-meta,.submission-group-status{grid-column:2}.submission-version-row{grid-template-columns:52px 1fr;padding-left:44px}.submission-version-row>span:nth-child(n+3):not(.version-action){display:none}}.submission-review-modal{width:min(860px,96vw);max-height:90vh;overflow:auto}.submission-review-body{display:flex;flex-direction:column;gap:16px;padding:4px 2px 8px}.submission-preview{display:flex;flex-direction:column;gap:12px}.submission-text{white-space:pre-wrap;font-size:13px;line-height:1.7;color:#24313d;background:#f7f9fb;border:1px solid #e6ebf0;border-radius:8px;padding:12px 14px}.submission-code{margin:0;padding:14px;border-radius:8px;background:#17212b;color:#e8eef5;overflow:auto;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.submission-change{margin:0;font-size:12px;color:#5b6874}.submission-change strong{display:block;margin-bottom:4px;color:#2a3642}.submission-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.submission-audio-card,.submission-image-card,.submission-video-card{display:flex;flex-direction:column;gap:6px;border:1px solid #e5e9ee;border-radius:8px;padding:8px;background:#fff}.submission-image-card img,.submission-video-card video{width:100%;border-radius:6px;max-height:280px;object-fit:contain;background:#f3f5f7}.submission-audio-card span,.submission-image-card span,.submission-video-card span{font-size:11px;color:#7b8793;word-break:break-all}.submission-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.submission-file-list li{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:8px 10px;border:1px solid #e5e9ee;border-radius:6px}.submission-file-list a{color:#2f6fed;text-decoration:none}.reject-banner{background:#fff4f2;border:1px solid #f0c7c1;color:#a34b43;border-radius:8px;padding:10px 12px;font-size:12px}.reject-banner.soft{background:#f4f7fb;border-color:#d8e0ea;color:#5b6874}.submission-reject-panel,.submission-score-panel{border:1px solid #e5e9ee;border-radius:10px;padding:14px;background:#fbfcfe}.submission-reject-panel h3,.submission-score-panel h3{margin:0 0 10px;font-size:13px}.submission-reject-panel textarea{width:100%;border:1px solid #d8dee6;border-radius:6px;padding:9px 10px;resize:vertical}.submission-review-actions{flex-wrap:wrap}.md-editor{margin-top:14px}.md-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;margin-bottom:10px;border:1px solid #e1e7ee;border-radius:8px;background:#f7f9fc}.md-tool{height:30px;min-width:30px;padding:0 9px;border:1px solid #d5dde7;border-radius:6px;background:#fff;color:#3d4b59;font-size:12px;font-weight:600}.md-tool:hover{border-color:#9eb6de;color:#2f6fed}.md-tool-group{gap:4px;padding:0 4px;color:#7b8793;font-size:11px}.color-tool,.md-tool-group{display:inline-flex;align-items:center}.color-tool{gap:6px;cursor:pointer}.color-tool input[type=color]{width:28px;height:22px;padding:0;border:0;background:transparent}.md-view{color:#24313d;font-size:14px;line-height:1.75;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.md-view h2,.md-view h3,.md-view h4{margin:12px 0 8px;color:#17212b;line-height:1.35}.md-view h2{font-size:22px}.md-view h3{font-size:18px}.md-view h4{font-size:15px}.md-view p{margin:0 0 10px}.md-view ul{margin:0 0 12px;padding-left:1.2em}.md-view li{margin:4px 0}.md-view code{padding:1px 5px;border-radius:4px;background:#eef2f7;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.md-view .md-code{margin:10px 0;padding:12px 14px;border-radius:8px;background:#17212b;color:#e8eef5;overflow:auto;max-width:100%;max-height:min(280px,40vh)}.md-view .md-code code{background:transparent;color:inherit;padding:0}.md-view .md-image{max-width:100%;border-radius:8px;border:1px solid #e5e9ee;object-fit:contain;background:#f6f8fa}.md-view .md-image,.md-view .md-video{display:block;max-height:min(280px,40vh);margin:10px 0}.md-view .md-video{width:100%;border-radius:8px;background:#111}.md-view a{color:#2f6fed}.md-view .md-gap{height:8px}.markdown-live-preview{margin-top:0;min-height:120px}.md-chrome{display:flex;flex-direction:column;gap:8px;max-width:100%;min-width:0;box-sizing:border-box}.md-chrome-body,.md-code-wrap{max-width:100%;width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.md-code-wrap{position:relative;margin:10px 0;padding-top:36px}.md-code-actions{position:absolute;top:0;right:0;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%;box-sizing:border-box}.md-code-action{padding:0 10px;border:1px solid #c5d4ea;border-radius:6px;background:#fff;color:#2f6fed;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.md-code-action.active{background:#edf4ff;border-color:#9eb6de}.md-code-body{max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto}.md-code-body .md-code,.md-html-view .md-code,.md-view .md-code{max-width:100%;box-sizing:border-box;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.md-lightbox{position:fixed;inset:0;z-index:2400;flex-direction:column;padding:0;background:#0f1720}.md-lightbox,.md-lightbox-panel{display:flex;margin:0;box-sizing:border-box}.md-lightbox-panel{position:relative;flex:1 1;flex-direction:column;width:100%;height:100%;max-width:none;max-height:none;min-height:0;padding:20px 24px 24px;overflow:hidden;border-radius:0;background:#f4f7fb;box-shadow:none}.md-lightbox-close{position:absolute;top:14px;right:16px;z-index:2;width:40px;height:40px;border:1px solid #d7dee8;border-radius:10px;background:#fff;color:#334155;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgb(15 23 42/12%)}.md-lightbox-close:hover{background:#edf4ff;color:#2f6fed;border-color:#b7cdf8}.md-lightbox-frame,.md-lightbox-media{display:block;flex:1 1;width:100%;min-height:0;height:auto;max-height:none;border:0;border-radius:10px;background:#fff;box-sizing:border-box}.md-lightbox.is-image .md-lightbox-panel,.md-lightbox.is-video .md-lightbox-panel{align-items:center;justify-content:center;background:#0f1720;padding:56px 24px 28px}.md-lightbox.is-image .md-lightbox-media,.md-lightbox.is-video .md-lightbox-media{flex:0 1 auto;width:auto;max-width:100%;max-height:calc(100vh - 96px);height:auto;object-fit:contain;background:transparent;border-radius:8px}.md-lightbox.is-html .md-lightbox-frame{border:1px solid #d8dee6;background:#fff}.md-lightbox-code{flex:1 1;min-height:0;margin:0;padding:18px 20px;border-radius:10px;background:#0f172a;color:#e2e8f0;overflow:auto;white-space:pre-wrap;word-break:break-word;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (max-width:720px){.md-lightbox-panel{padding:14px 12px 16px}.md-lightbox-close{top:10px;right:10px;width:36px;height:36px}.md-lightbox.is-image .md-lightbox-panel,.md-lightbox.is-video .md-lightbox-panel{padding:52px 12px 16px}}.md-media-zoomable{cursor:zoom-in}.md-chrome-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;border:1px solid #e6ebf0;border-radius:8px;background:#f7f9fc}.md-chrome-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#5b6874}.md-chrome-item select{padding:0 6px}.md-chrome-btn,.md-chrome-item select{height:28px;border:1px solid #d5dde7;border-radius:6px;background:#fff}.md-chrome-btn{padding:0 10px;font-size:12px;color:#3d4b59;cursor:pointer}.md-chrome-btn.active{background:#edf4ff;border-color:#b7cdf8;color:#2f6fed}.md-chrome-body.is-centered{text-align:center}.md-chrome-body.is-centered .html-sim-block,.md-chrome-body.is-centered .md-image,.md-chrome-body.is-centered .md-video{margin-left:auto;margin-right:auto}.md-source-pane{margin:0;padding:12px;border-radius:8px;background:#0f172a;color:#e2e8f0;overflow:auto;max-height:420px;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.md-attachment-link{color:#2f6fed;text-decoration:underline;font-weight:600}.md-wysiwyg.is-disabled{opacity:.72;pointer-events:none}.md-wysiwyg.is-compact .md-toolbar-rich{flex-wrap:wrap}.md-wysiwyg-canvas.is-compact{min-height:140px;max-height:260px}.full-markdown-input{margin-top:0!important;min-height:220px;font:14px/1.75 PingFang SC,Microsoft YaHei UI,Microsoft YaHei,Hiragino Sans GB,Noto Sans SC,Segoe UI,sans-serif!important;letter-spacing:.01em;color:#1f2a37!important;background:#fff}.md-wysiwyg-canvas{min-height:360px;max-height:min(70vh,720px);overflow:auto;padding:16px 18px;border:1px solid #d8dee6;border-radius:8px;outline:none;background:#fff}.md-wysiwyg-canvas:focus{border-color:#9eb6de;box-shadow:0 0 0 3px #2f6fed14}.md-wysiwyg-canvas:empty:before,.md-wysiwyg-canvas[data-placeholder]:empty:before{content:attr(data-placeholder);color:#9aa6b2;pointer-events:none}.md-wysiwyg-canvas p{margin:0 0 10px}.md-wysiwyg-canvas .md-image{max-width:100%}.md-wysiwyg-canvas .md-image,.md-wysiwyg-canvas .md-video{display:block;max-height:360px;margin:10px 0;border-radius:8px}.md-wysiwyg-canvas .md-video{width:100%;background:#111}.md-toolbar-rich{gap:8px 10px}.md-tool-select{height:30px;border:1px solid #d5dde7;border-radius:6px;background:#fff;padding:0 8px;font-size:12px;color:#3d4b59}.md-tool.primary-tool{background:#edf4ff;border-color:#b7cdf8;color:#2f6fed}.html-sim-block{margin:14px 0;padding:10px;border:1px solid #e1e7ee;border-radius:10px;background:#f7f9fc;max-width:100%;overflow:hidden}.html-sim-block figcaption{margin-top:8px;font-size:11px;color:#7b8793}.html-sim-frame{display:block;width:100%;max-width:100%;height:min(240px,38vh);min-height:140px;max-height:min(320px,45vh);border:1px solid #d8dee6;border-radius:8px;background:#fff;box-sizing:border-box;overflow:auto}.md-chrome.is-fullscreen .html-sim-block{display:flex;flex:1 1;flex-direction:column;min-height:0}.md-chrome.is-fullscreen .html-sim-frame,.md-chrome.is-fullscreen .observer-requirements .html-sim-frame,.md-chrome.is-fullscreen .student-requirements .html-sim-frame,.md-chrome.is-fullscreen .teaching-requirements .html-sim-frame{flex:1 1;height:auto;min-height:calc(100vh - 150px);max-height:none}.role-avatar-button{border:0;cursor:pointer;font:inherit}.role-quick-nav{display:flex;align-items:center;gap:6px;margin:0;padding:5px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 0 #e8edf3;overflow-x:auto}.role-quick-nav a,.role-quick-nav button{flex:0 0 auto;border:0;border-radius:7px;background:#f3f6fa;color:#536273;padding:7px 11px;font-size:12px;font-weight:600;text-decoration:none}.role-quick-nav a:hover,.role-quick-nav button:hover{background:#eaf1ff;color:#2f6fed}.html-sim-modal{width:min(960px,96vw);max-height:92vh;overflow:auto}.html-sim-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:8px}.html-sim-code,.html-sim-preview-wrap{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5b6874;font-weight:600}.html-sim-code textarea{width:100%;min-height:280px;border:1px solid #d8dee6;border-radius:8px;padding:10px 12px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}@media (max-width:860px){.html-sim-grid{grid-template-columns:1fr}}.editor-grid-single{grid-template-columns:1fr}.timeline-student-list{display:flex;flex-direction:column;gap:6px;margin-top:4px;max-height:min(62vh,640px);overflow:auto}.timeline-student-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:1px solid #e6ebf0;border-radius:8px;background:#fff;padding:10px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.timeline-student-item strong{font-size:13px;color:#24313d}.timeline-student-item span{font-size:11px;color:#7b8793}.timeline-student-meta{color:#5b6874!important}.timeline-student-item.selected,.timeline-student-item:hover{border-color:#b7cdf8;background:#f3f7ff}.student-submissions-panel{margin-top:18px;padding:18px 18px 16px}.student-submissions-panel .section-head{margin-bottom:4px}.student-submissions-entry{width:100%;margin-top:0;padding:11px 14px;display:flex;align-items:center;gap:10px 12px;text-align:left;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 0 #e8edf3,0 4px 12px #17212b07;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.student-submissions-entry:hover{border-color:#c5d6f4;background:#f8fbff;box-shadow:0 1px 0 #e8edf3,0 6px 14px #1d395a10}.student-submissions-entry-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.student-submissions-entry-main strong{font-size:14px;color:#1f2a37;line-height:1.3}.student-submissions-entry-main span{font-size:11px;color:#7b8793;line-height:1.35}.student-submissions-count{flex-shrink:0;min-width:52px;padding:6px 10px;border-radius:8px;border:1px solid #d5e3fb;background:#edf4ff;color:#1d4fbf;font-size:13px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;line-height:1.2}.student-submissions-count small{display:inline;margin-left:2px;font-size:11px;font-weight:650;color:#5b74a8}.student-submissions-entry .student-submission-expand{flex-shrink:0;color:#2f6fed}.student-submissions-modal{width:min(720px,96vw);max-height:min(86vh,820px);overflow:auto}.student-submissions-modal-filter{display:flex;flex-direction:column;gap:7px;margin:0 0 14px;color:#687581;font-size:11px;font-weight:600}.student-submissions-modal-filter .course-selector{min-width:0;width:100%;margin:0}.student-submission-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.student-submission-card{border:1px solid #e6ebf0;border-radius:10px;overflow:hidden;background:#fff}.student-submission-card.is-open{border-color:#c9d8f3;box-shadow:0 1px 0 #edf2f8}.student-submission-head{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-gap:10px 12px;gap:10px 12px;align-items:center;text-align:left;border:0;background:transparent;padding:12px 14px;cursor:pointer}.student-submission-head:hover{background:#f8fafc}.student-submission-main{display:flex;flex-direction:column;gap:3px;min-width:0}.student-submission-main strong{font-size:14px;color:#24313d;line-height:1.35}.student-submission-meta,.student-submission-time{font-size:11px;color:#7b8793;line-height:1.35}.student-submission-aside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.student-submission-total{font-size:13px;font-weight:700;color:#1d4fbf;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.submission-status-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap;border:1px solid transparent}.submission-status-chip.is-pending{background:#f3f5f8;color:#5b6874;border-color:#e1e6ec}.submission-status-chip.is-scored{background:#edf8f2;color:#2f8f68;border-color:#c9ead9}.submission-status-chip.is-rejected{background:#fff4f2;color:#a34b43;border-color:#f0c7c1}.submission-status-chip.is-showcased{background:#edf4ff;color:#2f6fed;border-color:#c9d8f3}.student-submission-expand{font-size:11px;color:#2f6fed;font-weight:600}.student-submission-body{display:flex;flex-direction:column;gap:12px;padding:12px 14px 16px;border-top:1px solid #eef1f4;background:#fbfcfe}.student-score-card{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 16px;gap:8px 16px;align-items:center;padding:12px 14px;border:1px solid #d5e3fb;border-radius:10px;background:#eef4ff}.student-score-total{display:flex;flex-direction:column;gap:2px}.student-score-total span{font-size:11px;color:#5b74a8}.student-score-total strong{font-size:22px;line-height:1;color:#1d4fbf;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.student-score-parts{display:flex;flex-wrap:wrap;gap:8px}.student-score-parts span{font-size:11px;color:#5b6874;background:#fff;border:1px solid #d8e4f7;border-radius:999px;padding:4px 9px}.student-score-note{grid-column:1/-1;margin:0;font-size:12px;color:#425466;line-height:1.5}.student-submission-preview-label{font-size:12px;font-weight:650;color:#425466}.empty-state.compact{padding:18px;text-align:center;color:#7b8793;font-size:12px}@media (max-width:720px){.student-mobile-page,.student-page{padding:12px 12px 32px;gap:8px}.student-mobile-page .student-mobile-header,.student-page .student-top{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.student-mobile-page .student-mobile-header>div:first-child,.student-page .student-top>div:first-child{flex:1 1 auto;width:100%}.guest-top-actions,.student-mobile-page .student-mobile-header .guest-top-actions,.student-page .student-top .guest-top-actions{width:100%;max-width:100%;justify-content:flex-end;flex-wrap:wrap}.student-mobile-page .student-mobile-header h1,.student-page .student-top h1{font-size:19px}.student-mobile-page .student-mobile-header p,.student-page .student-top p{font-size:11px;line-height:1.5}.guest-logout{height:32px;padding:0 10px;font-size:12px}.student-mobile-header .observer-badge.role-avatar-button,.student-mobile-header .student-mobile-avatar.role-avatar-button{width:36px;min-width:36px;height:36px;padding:0;justify-content:center;font-size:0;overflow:hidden}.role-quick-nav{gap:5px;padding:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.role-quick-nav::-webkit-scrollbar{display:none}.role-quick-nav a,.role-quick-nav button{padding:7px 9px;font-size:11px}.student-submissions-entry{padding:10px 12px}.student-submissions-entry-main span{display:none}.student-submission-head{grid-template-columns:44px minmax(0,1fr)}.student-submission-aside{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.student-score-card{grid-template-columns:1fr}.timeline-version-head{flex-wrap:wrap}.md-toolbar,.md-toolbar-rich{gap:6px;max-width:100%}.md-tool-group{flex-wrap:wrap}}.ranking-tabs{display:inline-flex;gap:6px;padding:5px;margin:0 0 16px;background:#eef2f6;border-radius:12px}.ranking-tabs button{border:0;background:transparent;color:#7a8794;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.ranking-tabs button:hover{color:#3d4d5c}.ranking-tabs button.selected{background:#fff;color:#2f6fed;box-shadow:0 1px 3px #17212b14}.ranking-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 2px 12px}.ranking-summary strong{display:block;font-size:15px;color:#1f2a37;margin-bottom:4px}.ranking-summary span{color:#84919d;font-size:12px}.ranking-count{flex-shrink:0;color:#5d7ebd!important;background:#edf4ff;border-radius:999px;padding:6px 10px;font-size:11px!important;font-weight:700}.leaderboard-page{overflow:hidden}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:72px minmax(160px,1.6fr) .7fr .7fr .7fr .8fr 120px;grid-gap:12px;gap:12px;align-items:center;padding:14px 18px}.leaderboard-head{background:linear-gradient(180deg,#f8fbff,#f3f6fa);color:#9aa4ad;font-size:11px;font-weight:600;border-bottom:1px solid #e8eef5}.leaderboard-row{border-bottom:1px solid #eef1f3;font-size:13px;color:#445260;min-height:64px;transition:background .15s}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row:hover{background:#f8fbff}.rank-badge{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f1f4f8;color:#687581;font-size:12px;font-weight:700}.rank-badge.top-1{background:#fff4d6;color:#b88414}.rank-badge.top-2{background:#edf2f7;color:#5d6d7c}.rank-badge.top-3{background:#f8ebe3;color:#b16a3a}.leaderboard-student{border:0;background:none;padding:0;color:inherit}.leaderboard-student span,.leaderboard-student strong{display:block}.leaderboard-student strong{font-size:14px;color:#1f2a37}.leaderboard-student span{color:#84919d;font-size:11px;margin-top:3px}.leaderboard-student:hover strong{color:#2f6fed}.leaderboard-total{color:#1f2a37;font-size:15px;letter-spacing:-.02em}.leaderboard-actions{display:inline-flex;gap:4px;justify-content:flex-end}.leaderboard-page .ranking-empty{min-height:320px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#84919d}.leaderboard-page .ranking-empty .empty-illustration{margin:0 0 8px}.leaderboard-page .ranking-empty strong{font-size:15px;color:#3d4d5c}.leaderboard-page .ranking-empty>span{max-width:420px;font-size:12px;line-height:1.7}.leaderboard-page .ranking-empty .empty-actions{margin-top:14px}.ranking-empty.compact{min-height:120px;padding:18px}.ranking-detail-modal{width:min(560px,100%)}.ranking-detail-score{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.ranking-detail-score div{background:#f7f9fc;border:1px solid #e8eef5;border-radius:10px;padding:12px;text-align:center}.ranking-detail-score span{display:block;color:#84919d;font-size:11px;margin-bottom:6px}.ranking-detail-score strong{font-size:20px;color:#1f2a37}.ranking-detail-item{border:1px solid #e8eef5;border-radius:10px;padding:12px 14px;margin-bottom:10px}.ranking-detail-item>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.ranking-detail-item strong{font-size:13px;color:#24313d}.ranking-detail-item span,.ranking-detail-points{font-size:11px;color:#84919d}.ranking-detail-item p{margin:8px 0 0;font-size:12px;color:#5b6772;line-height:1.6}@media (max-width:980px){.leaderboard-head,.leaderboard-row{grid-template-columns:56px minmax(120px,1.4fr) .7fr .7fr .8fr 100px}.leaderboard-head span:nth-child(5),.leaderboard-row>span:nth-child(5){display:none}}@media (max-width:680px){.ranking-summary{flex-direction:column;align-items:flex-start}.leaderboard-head,.leaderboard-row{grid-template-columns:44px 1fr .7fr .8fr}.leaderboard-actions,.leaderboard-head span:nth-child(3),.leaderboard-head span:nth-child(4),.leaderboard-head span:nth-child(5),.leaderboard-head span:nth-child(7),.leaderboard-row>span:nth-child(3),.leaderboard-row>span:nth-child(4),.leaderboard-row>span:nth-child(5){display:none}.ranking-detail-score{grid-template-columns:repeat(2,1fr)}}.timeline-filter{margin-bottom:12px}.timeline-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 2px 14px}.timeline-summary strong{display:block;font-size:15px;color:#1f2a37;margin-bottom:4px}.timeline-summary span{color:#84919d;font-size:12px}.timeline-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.filter-panel{padding:14px 14px 12px;position:-webkit-sticky;position:sticky;top:8px}.timeline-side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.timeline-side-head h3{margin:0;font-size:14px;color:#24313d}.timeline-side-head span{font-size:11px;color:#84919d;font-weight:600}.timeline-search{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:0 10px;border:1px solid #e1e7ee;border-radius:10px;background:#f8fafc;color:#8a969f}.timeline-search input{flex:1 1;border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 0!important;font-size:13px;outline:none}.filter-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 12px;color:#8a969f;font-size:12px;text-align:center}.timeline-student-top{display:flex;align-items:center;gap:6px;width:100%}.timeline-pending-dot{width:7px;height:7px;border-radius:50%;background:#f0a24a;flex-shrink:0}.timeline-empty{padding:42px 24px}.timeline-empty.compact{padding:36px 20px;min-height:280px}.empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.timeline-detail{min-height:320px}.timeline-detail-title{align-items:flex-start;gap:12px}.timeline-detail-title h3{margin:0 0 4px;font-size:18px;color:#1f2a37}.timeline-track{display:flex;flex-direction:column;gap:0;margin-top:8px}.timeline-version-card{display:grid;grid-template-columns:18px 1fr;grid-gap:12px;gap:12px;border:0;border-radius:0;padding:0;background:transparent;margin:0}.timeline-version-card.is-rejected .timeline-version-body{border-color:#f0c7c1;background:#fff8f7}.timeline-rail{display:flex;flex-direction:column;align-items:center;padding-top:18px}.timeline-rail i{width:10px;height:10px;border-radius:50%;background:#2f6fed;box-shadow:0 0 0 4px #e8f0ff;flex-shrink:0}.timeline-version-card.is-rejected .timeline-rail i{background:#c45b55;box-shadow:0 0 0 4px #fdeceb}.timeline-rail b{flex:1 1;width:2px;margin-top:6px;min-height:24px;background:linear-gradient(180deg,#c9d8f3,#e8eef6)}.timeline-version-body{border:1px solid #e6ebf0;border-radius:12px;padding:14px 16px;background:#fbfcfe;margin-bottom:14px}.timeline-version-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.timeline-version-head>div{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.timeline-version-head strong{font-size:13px;color:#24313d}.timeline-version-head span{font-size:11px;color:#7b8793}.timeline-score-line{font-size:12px;color:#2f6fed;background:#eef4ff;border:1px solid #d5e3fb;border-radius:6px;padding:8px 10px;margin-bottom:10px}@media (max-width:980px){.timeline-layout{grid-template-columns:1fr}.filter-panel{position:static}.submission-timeline-link{justify-self:start}}.observer-requirements .md-html-view,.observer-requirements .md-view,.student-requirements .md-html-view,.student-requirements .md-view,.teaching-requirements .md-html-view,.teaching-requirements .md-view{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.observer-requirements .html-sim-frame,.student-requirements .html-sim-frame,.teaching-requirements .html-sim-frame{height:min(180px,28vh);min-height:120px;max-height:min(200px,30vh)}.observer-requirements img,.observer-requirements video,.student-requirements img,.student-requirements video,.teaching-requirements img,.teaching-requirements video{max-width:100%!important;max-height:min(200px,28vh)!important;height:auto!important;width:auto;box-sizing:border-box}.md-html-view,.observer-requirements .md-code-wrap,.observer-requirements pre,.student-requirements .md-code-wrap,.student-requirements pre,.teaching-requirements .md-code-wrap,.teaching-requirements pre{max-width:100%;min-width:0;box-sizing:border-box}.md-html-view{overflow-x:hidden}body:has(.teaching-project-switcher) .main-area>.content{padding-bottom:108px}.teaching-project-switcher{scrollbar-width:thin}.ranking-filter.teaching-filter,.teaching-filter,.timeline-filter.teaching-filter{align-items:end;min-width:0;box-sizing:border-box}.teaching-filter label{min-width:0}.student-toolbar{min-width:0;box-sizing:border-box}.student-filter:not(.student-toolbar){flex-wrap:wrap;gap:12px 16px;box-sizing:border-box}.student-filter:not(.student-toolbar) label{min-width:0;flex:1 1 200px}.chart-panel,.current-panel,.empty-project,.guide-panel,.import-tip,.lesson-create,.markdown-editor-panel,.markdown-preview-panel,.phase-control,.prep-hero,.prep-project-card,.project-content,.ranking-card,.review-panel,.settings-card,.student-ranking,.submission-board,.teaching-status{box-sizing:border-box}.observer-grid>.panel{padding:14px 14px 16px;box-sizing:border-box;border:1px solid #e2e8f0;box-shadow:0 1px 0 #e8edf3,0 4px 12px #17212b07}.observer-grid>.panel>.panel-title{margin-bottom:4px}.filter-panel{padding:16px 16px 14px;box-sizing:border-box}.timeline-detail{padding:18px 20px 22px;box-sizing:border-box}.account-list{overflow-x:auto;overflow-y:hidden}.account-row{grid-template-columns:minmax(140px,2fr) minmax(72px,.85fr) minmax(64px,.7fr) minmax(72px,1fr) minmax(128px,.95fr)!important;gap:12px;align-items:center;min-width:640px;box-sizing:border-box}.account-row .account-name{min-width:0}.account-row .account-name span,.account-row .account-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-actions{justify-content:flex-end;flex-wrap:wrap;gap:6px 8px;white-space:normal}@media (max-width:980px){.account-row{grid-template-columns:minmax(120px,1.8fr) minmax(64px,.85fr) minmax(56px,.7fr) minmax(120px,.9fr)!important;min-width:520px}.account-row>:nth-child(4){display:none}}@media (max-width:680px){.account-list{overflow:visible}.account-head{display:none}.account-row{display:grid!important;grid-template-columns:1fr auto!important;min-width:0;grid-gap:8px 12px;gap:8px 12px;padding:14px 16px}.account-row>.account-name{grid-column:1/-1}.account-row>:nth-child(2),.account-row>:nth-child(3){display:block}.account-row>:nth-child(4){display:none}.account-row>.account-actions{grid-column:1/-1;justify-content:flex-start;padding-top:6px;border-top:1px solid #eef1f3}}.project-list{overflow-x:auto}.project-list-header,.project-row{min-width:0;box-sizing:border-box}.project-title{min-width:0}.project-title span,.project-title strong{overflow-wrap:anywhere;word-break:break-word}.projects-manager-page .project-list-header,.projects-manager-page .project-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(120px,170px)}@media (max-width:900px){.project-list-header,.project-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(90px,120px)!important}.projects-manager-page .project-list-header,.projects-manager-page .project-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(100px,140px)!important;min-width:480px}}@media (max-width:640px){.project-list{overflow:visible}.project-list-header{display:none}.project-row,.projects-manager-page .project-row{display:grid!important;grid-template-columns:1fr!important;grid-gap:10px;gap:10px;min-width:0;padding:14px 16px;min-height:0}.project-row>:last-child{padding-top:6px;border-top:1px solid #eef1f3}}.leaderboard-page{overflow-x:auto}.leaderboard-head,.leaderboard-row{min-width:720px;box-sizing:border-box}.leaderboard-student{min-width:0;text-align:left}.ranking-filter{margin-bottom:14px}.ranking-tabs{flex-wrap:wrap}@media (max-width:680px){.leaderboard-page{overflow:visible}.leaderboard-head{display:none}.leaderboard-row{display:grid!important;grid-template-columns:44px 1fr auto!important;min-width:0;grid-gap:8px 10px;gap:8px 10px;padding:12px 14px}.leaderboard-row>span:nth-child(3),.leaderboard-row>span:nth-child(4),.leaderboard-row>span:nth-child(5){display:none!important}.leaderboard-total{grid-column:3;grid-row:1}.leaderboard-actions{display:flex!important;grid-column:1/-1;justify-content:flex-start;padding-top:6px;border-top:1px solid #eef1f3}}.timeline-filter{margin-bottom:14px}.timeline-summary{flex-wrap:wrap;align-items:flex-start}.timeline-version-body{max-width:100%;overflow:hidden;box-sizing:border-box}.timeline-version-body .md-view{max-height:min(320px,40vh);overflow:auto}@media (max-width:680px){.timeline-summary{flex-direction:column;align-items:flex-start}.teaching-filter{grid-template-columns:1fr}}@media (max-width:720px){.extend-bar{width:100%;justify-content:flex-start}.teaching-stage-control{padding:12px 12px 14px}.teaching-stage{padding:16px 16px 18px}.teaching-countdown{font-size:clamp(40px,12vw,56px)}}select{min-height:40px;padding:8px 38px 8px 12px;border:1px solid #d7dee8;border-radius:8px;color:#17212b;background:#fff;box-shadow:0 1px 2px rgb(15 23 42/4%);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}select:hover{border-color:#9db8ed}select:focus{outline:none;border-color:#2f6fed;box-shadow:0 0 0 3px rgb(47 111 237/13%)}.content{font-size:14px}.page-heading h1{font-size:24px}.panel h2,.panel-title h3{font-size:20px}.version-switch{display:flex;align-items:center;gap:8px;padding:10px;margin:14px 0}.version-switch button{border:0;border-radius:7px;padding:9px 16px;background:#f1f4f8;color:#526171}.version-switch button.selected{background:#2f6fed;color:#fff;box-shadow:0 4px 12px rgb(47 111 237/20%)}.version-switch span{margin-left:auto;color:#7b8793}.match-cell-row input,.option-list-row input{width:100%;resize:vertical;border:1px solid #d7dee8;border-radius:8px;padding:10px 12px;box-sizing:border-box}.interaction-field{display:grid;grid-gap:10px;gap:10px}.interaction-field-label{font-weight:600;color:#17212b}.option-list-editor{display:grid;grid-gap:10px;gap:10px}.match-cell-row,.option-list-row{display:flex;align-items:center;gap:8px}.option-list-index{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#edf2f8;color:#526171;font-size:12px;font-weight:700}.option-list-remove{flex:0 0 auto;padding:8px 12px}.match-add-column,.option-list-add{justify-self:start}.match-columns-editor,.match-columns-grid{display:grid;grid-gap:12px;gap:12px}.match-columns-grid{align-items:start}.match-column-card{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid #d7dee8;border-radius:10px;background:#f8fafc}.match-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.match-column-cells{display:grid;grid-gap:8px;gap:8px}.match-answer-board{display:grid;grid-gap:12px;gap:12px}.match-answer-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.match-answer-col{display:grid;grid-gap:8px;gap:8px;align-content:start}.match-answer-col strong{color:#526171;font-size:13px}.match-chip{display:grid;grid-gap:4px;gap:4px;text-align:left;border:1px solid #d7dee8;border-radius:10px;padding:10px 12px;background:#fff;color:#17212b;cursor:pointer}.match-chip small{color:#7b8793;font-weight:500}.match-chip.is-active{border-color:#2f6fed;box-shadow:0 0 0 3px rgb(47 111 237/14%)}.match-chip.is-paired{background:#f0f6ff}.match-chip.is-used{opacity:.72}.match-answer-board.is-disabled .match-chip{cursor:not-allowed;opacity:.7}.match-answer-board.multi{gap:10px}.match-answer-row{display:grid;grid-template-columns:minmax(120px,1fr) repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px;align-items:center}.match-answer-left{font-weight:600}.observer-submit-requirements{margin-bottom:12px}.prompt-block,.question-block{margin:14px 0;padding:14px;border:1px solid #dbe5f4;border-radius:8px;background:#f8fbff}.prompt-block{display:flex;align-items:flex-start;gap:12px}.prompt-block pre{flex:1 1;margin:0;white-space:pre-wrap;font:inherit}.question-block{display:grid;grid-gap:10px;gap:10px}.question-block legend{padding:0 6px;font-weight:700}.question-block label{display:flex;align-items:center;gap:9px;font-weight:500}.choice-letter{flex:0 0 22px;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:6px;background:#e8effa;color:#2f6fed;font-size:12px;font-weight:700}.question-block label>input:not([type=radio]):not([type=checkbox]),.question-block label>select{flex:1 1;min-width:0}.question-block.match-question{background:#fff}.md-chrome.is-fullscreen{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;overflow:hidden;margin:0;border-radius:0;background:#f4f7fb;box-shadow:none}.md-chrome.is-fullscreen:before{content:"";position:fixed;inset:0;z-index:-1;background:#0f1720}.md-chrome.is-fullscreen .md-chrome-body{flex:1 1;max-height:none;overflow:auto;padding:20px 24px 24px}.metric-list{display:grid;grid-gap:15px;gap:15px;padding-top:16px}.metric-row{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(100px,2fr) 52px minmax(100px,2fr) 52px;grid-gap:10px;gap:10px;align-items:center}.metric-track{height:9px;overflow:hidden;border-radius:999px;background:#edf1f6}.metric-track i{display:block;height:100%;background:#2f6fed;border-radius:inherit;transition:width .35s ease}.metric-track.green i{background:#2f9b6c}.analytics-layer{display:grid;grid-gap:14px;gap:14px;margin:0 0 24px}.analytics-layer-head{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.analytics-layer-head>span{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:#eaf2ff;color:#2f6fed;font-weight:800}.analytics-layer-head>div{flex:1 1;min-width:0}.analytics-layer-head h2{margin:0 0 4px;color:#17212b;font-size:18px}.analytics-layer-head p{margin:0;color:#667587;font-size:13px;line-height:1.55}.analytics-layer-head em{padding:5px 9px;border:1px solid #f3d18b;border-radius:999px;background:#fff8e7;color:#8a5b00;font-size:12px;font-style:normal;white-space:nowrap}.analytics-layer-stats{margin-bottom:0}.analytics-layer .analytics-grid{margin-top:0}.metric-row strong small{display:block;margin-top:3px;color:#7b8793;font-size:11px;font-weight:500}.arcs-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.arcs-evidence-grid article{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.arcs-evidence-grid header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.arcs-evidence-grid strong{color:#1f3f77}.arcs-evidence-grid b{color:#2f6fed;font-size:24px}.arcs-evidence-grid p{margin:0;color:#334155;font-size:13px}.arcs-evidence-grid small{color:#7b8793;line-height:1.45}.arcs-criteria-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.arcs-criteria-editor label{display:grid;grid-gap:5px;gap:5px;padding:11px;border:1px solid #dce3ec;border-radius:8px;background:#f8fafc}.arcs-criteria-editor label>span{color:#6b7785;font-size:12px}.arcs-criteria-editor textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff;color:#17212b;font:inherit;line-height:1.5}.error-metric-list{display:grid;grid-gap:10px;gap:10px;padding-top:16px}.error-metric-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #e5e9ee;border-radius:8px}.audit-toolbar{display:flex;gap:12px;margin-bottom:14px}.audit-toolbar input{flex:1 1;min-height:40px;border:1px solid #d7dee8;border-radius:8px;padding:8px 12px}.audit-table-head,.audit-table-row{display:grid;grid-template-columns:170px 150px 150px 140px minmax(200px,1fr);grid-gap:12px;gap:12px;align-items:center;padding:12px 14px}.audit-table-head{color:#7b8793;border-bottom:1px solid #e5e9ee;font-weight:600}.audit-table-row{border-bottom:1px solid #eef1f4}.audit-table-row strong{display:grid;grid-gap:2px;gap:2px}.audit-table-row small{color:#7b8793;font-weight:400}.audit-table-row>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prep-project-row{display:flex;align-items:center;gap:12px;width:100%}.prep-project-row.is-dragging{opacity:.5;background:#edf4ff}.prep-project-main{flex:1 1;min-width:0;display:grid;grid-gap:4px;gap:4px;text-align:left;border:0;background:transparent;color:inherit}.prep-project-main span{color:#7b8793}@media (max-width:760px){.arcs-criteria-editor,.arcs-evidence-grid{grid-template-columns:1fr}.analytics-layer-head{flex-wrap:wrap}.analytics-layer-head em{margin-left:46px}.metric-row{grid-template-columns:1fr 52px}.metric-row strong{grid-column:1/-1}.prep-project-row{flex-wrap:wrap}.prep-project-main{min-width:calc(100% - 90px)}.version-switch{flex-wrap:wrap}.version-switch span{width:100%;margin-left:0}.audit-toolbar{flex-direction:column}.audit-table-head{display:none}.audit-table-row{grid-template-columns:1fr 1fr}.audit-table-row>span:last-child{grid-column:1/-1}.match-columns-grid{grid-template-columns:1fr!important}.match-answer-cols,.match-answer-row{grid-template-columns:1fr}}.settings-grid{display:grid;grid-gap:16px;gap:16px;align-items:start}.settings-card-ui{grid-column:1/-1}.settings-card{padding:16px 18px;display:grid;grid-gap:12px;gap:12px}.settings-card-copy{margin:0;color:#6b7785;font-size:13px;line-height:1.5}.settings-card-audit{max-width:420px}.score-dimensions-modal{width:min(560px,94vw)}.score-dim-editor{display:grid;grid-gap:10px;gap:10px;margin:12px 0}.score-dim-editor-row{display:grid;grid-template-columns:1fr 90px auto;grid-gap:8px;gap:8px;align-items:center}.score-dim-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.score-dim-row em{font-style:normal;color:#7b8793;margin-left:8px;font-size:12px}.score-dim-row input{width:88px}.score-total-line{font-size:13px;margin:8px 0 12px}.submission-review-modal.score-window{width:min(520px,94vw)}.submission-versions-stack{display:grid;grid-gap:12px;gap:12px}.submission-version-panel{border:1px solid #e5e9ee;border-radius:10px;padding:12px;background:#fff}.submission-version-panel header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.version-score-editor{margin:12px 0;padding:12px;border:1px solid #dfe5ec;border-radius:8px;background:#fff}.version-score-editor header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#475569}.version-score-editor header strong{color:#17212b}.question-award-review{display:flex;justify-content:space-between;gap:12px;margin:10px 0;padding:10px;border:1px solid #e1e7ef;border-radius:8px;background:#f8fafc}.question-award-review>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.question-award-review span{color:#334155;overflow-wrap:anywhere}.question-award-review small{color:#64748b}.question-award-review.approved{border-color:#bbf7d0;background:#f0fdf4}.question-award-review.rejected{opacity:.72}.ai-score-recommendation{display:grid;grid-gap:12px;gap:12px}.ai-score-recommendation .panel-title{margin:0}.ai-score-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.ai-score-summary>div{display:grid;grid-gap:3px;gap:3px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.ai-score-summary span{color:#64748b;font-size:11px}.ai-score-summary strong{color:#312e81;font-size:20px}.ai-score-summary small{margin-left:2px;color:#64748b;font-size:11px}.ai-score-dimensions{display:flex;flex-wrap:wrap;gap:6px}.ai-score-dimensions span{padding:5px 8px;color:#475569;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:12px}.ai-score-evidence{display:grid;grid-gap:5px;gap:5px;padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff}.ai-score-evidence p{margin:0;color:#475569;font-size:12px;line-height:1.55}.ai-score-evidence p:before{content:"• ";color:#4f46e5}.assessment-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.assessment-flow-grid article{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.assessment-flow-grid small,.assessment-flow-grid span{color:#64748b;font-size:12px}.assessment-flow-grid strong{color:#312e81;font-size:24px}.ai-assistance-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.ai-assistance-metrics>div{display:grid;grid-gap:4px;gap:4px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.ai-assistance-metrics span{color:#64748b;font-size:11px}.ai-assistance-metrics strong{color:#312e81;font-size:20px}.modal-header-actions{display:flex;align-items:center;gap:8px}.leaderboard-head.course-mode,.leaderboard-row.course-mode{grid-template-columns:64px minmax(140px,1.4fr) minmax(160px,2fr) 88px 120px}.leaderboard-head.teacher-breakdown,.leaderboard-row.teacher-breakdown{grid-template-columns:54px minmax(150px,1.4fr) repeat(6,minmax(76px,.65fr)) 78px 104px;min-width:1120px}.leaderboard-head.student-total-only,.leaderboard-row.student-total-only{grid-template-columns:64px minmax(180px,1fr) 96px;min-width:0}.lesson-breakdown{font-size:12px;line-height:1.4}.ranking-detail-lessons{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.ranking-detail-lessons>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #eef1f4;border-radius:8px}@media (max-width:960px){.settings-grid{grid-template-columns:1fr}.settings-card-ui{grid-column:auto}.score-dim-editor-row{grid-template-columns:1fr 1fr}.score-dim-editor-row .outline-button{grid-column:1/-1}}@media (max-width:680px){.leaderboard-row.teacher-breakdown>span:nth-child(n+3):nth-child(-n+8){display:none!important}.leaderboard-row.teacher-breakdown .leaderboard-total{grid-column:3;grid-row:1}.leaderboard-row.teacher-breakdown .leaderboard-actions{grid-column:1/-1}.question-award-review,.version-score-editor header{align-items:flex-start;flex-direction:column}}@media (max-width:760px){.ai-score-summary,.assessment-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.md-prompt-block{margin:12px 0;padding:12px 42px 12px 14px;border:1px dashed #9eb6de;border-radius:10px;background:#f4f8ff;position:relative;max-width:100%;width:100%;box-sizing:border-box;overflow:visible;min-width:0}.md-prompt-block strong{display:block;margin-bottom:6px;padding-right:4px;font-size:13px;color:#2f6fed}.md-prompt-block pre{margin:0;max-width:100%;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:Sarasa Mono SC,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.55;background:transparent;border:0;padding:0;max-height:none;overflow:visible;box-sizing:border-box}.md-prompt-block .md-code-actions,.md-prompt-block .md-prompt-actions{display:none!important}.md-prompt-block .md-code-wrap{margin:0;padding-top:0;overflow:visible}.md-prompt-copy{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;padding:0;display:inline-grid;place-items:center;border:1px solid #c5d4ea;border-radius:8px;background:#fff;color:#2f6fed;cursor:pointer;box-shadow:0 1px 2px rgb(15 23 42/6%)}.md-prompt-copy:hover{background:#eef4ff}.md-prompt-copy.is-copied{border-color:#6f9f78;color:#2f6b3a;background:#eef8f0}.md-prompt-copy.is-copied:after{content:"已复制";position:absolute;top:calc(100% + 4px);right:0;white-space:nowrap;padding:3px 8px;border-radius:6px;background:#17212b;color:#fff;font-size:11px;font-weight:600;pointer-events:none}.md-prompt-delete{position:absolute;top:8px;right:46px;z-index:2;width:32px;height:32px;padding:0;display:inline-grid;place-items:center;border:1px solid #e0b4b4;border-radius:8px;background:#fff;color:#c04545;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgb(15 23 42/6%)}.md-prompt-delete:hover{background:#fff1f1;border-color:#d98989}.md-wysiwyg-canvas .md-prompt-block{padding-right:86px;cursor:pointer}.md-wysiwyg-canvas .md-prompt-block.is-selected{outline:2px solid #2f6fed;outline-offset:2px;background:#eaf1ff}.md-html-view,.md-view,.md-wysiwyg-canvas,.observer-requirements,.student-mobile-task,.student-requirements,.teaching-requirements{min-width:0}.md-wysiwyg-canvas .md-prompt-block,.observer-requirements .md-prompt-block,.student-mobile-task .md-prompt-block,.student-requirements .md-prompt-block,.teaching-requirements .md-prompt-block{max-width:100%}.md-interaction-block{margin:12px 0;padding:12px 14px 14px;border:1px solid #c5d4ea;border-radius:10px;background:#f7faff;position:relative;max-width:100%;width:100%;box-sizing:border-box;min-width:0}.md-interaction-block .md-ix-label{display:block;margin-bottom:8px;font-size:13px;color:#2f6fed}.md-interaction-block .md-ix-prompt{margin:0 0 10px;color:#17212b;line-height:1.55;white-space:pre-wrap}.md-interaction-block .md-ix-body{display:grid;grid-gap:8px;gap:8px}.md-ix-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #dde5f0;border-radius:8px;background:#fff;line-height:1.45}.md-ix-letter{flex:0 0 22px;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:6px;background:#e8effa;color:#2f6fed;font-size:12px;font-weight:700}.md-ix-match{display:grid;grid-gap:10px;gap:10px;align-items:start}.md-ix-col{display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px dashed #c5d4ea;border-radius:8px;background:#fff;min-width:0}.md-ix-col-title{font-size:12px;font-weight:700;color:#526171}.md-ix-cell{padding:7px 9px;border-radius:6px;background:#f1f5fb;font-size:13px;line-height:1.4;word-break:break-word}.md-wysiwyg-canvas .md-interaction-block{padding-right:72px;cursor:pointer}.md-wysiwyg-canvas .md-interaction-block.is-selected{outline:2px solid #2f6fed;outline-offset:2px;background:#eaf1ff}.md-ix-edit{position:absolute;top:8px;right:8px;z-index:2;padding:5px 10px;border:1px solid #c5d4ea;border-radius:8px;background:#fff;color:#2f6fed;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgb(15 23 42/6%)}.md-ix-edit:hover{background:#eef4ff}.md-wysiwyg-canvas .md-interaction-block,.observer-requirements .md-interaction-block,.student-mobile-task .md-interaction-block,.student-requirements .md-interaction-block,.teaching-requirements .md-interaction-block{max-width:100%}.teaching-stage{overflow:visible}.teaching-requirements{max-height:none;min-height:min(42vh,420px);overflow-x:hidden;overflow-y:visible}.teaching-stage.is-fullscreen .teaching-requirements{flex:1 1;max-height:none;min-height:0;overflow:auto}.message-bell-wrap{position:relative}.message-unread-badge{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e25555;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-sizing:border-box}.editor-meta{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(220px,1.2fr) repeat(2,minmax(150px,.7fr));grid-gap:14px;gap:14px;padding:18px;border-top:3px solid #2f6fed;background:linear-gradient(135deg,#fff,#f8fbff)}.editor-meta label{display:grid;grid-gap:7px;gap:7px;color:#526171;font-size:12px;font-weight:700}.editor-meta input,.editor-meta select{width:100%;box-sizing:border-box}.version-switch{border:1px solid #dde6f2;background:#f7f9fc;box-shadow:none}.version-switch button{min-height:38px;font-weight:700}.markdown-editor-panel{padding:0;overflow:hidden;border-color:#dbe4ef;box-shadow:0 8px 28px rgb(24 44 76/7%)}.markdown-editor-panel .editor-panel-head{padding:18px 20px;border-bottom:1px solid #e7edf4;background:linear-gradient(90deg,#f8fbff,#fff)}.markdown-editor-panel .editor-panel-head h3{margin-bottom:5px}.markdown-editor-panel .md-editor{margin:0}.md-toolbar-rich{position:-webkit-sticky;position:sticky;top:0;z-index:6;margin:0;padding:10px 12px;border:0;border-bottom:1px solid #dfe7f1;border-radius:0;background:#f4f7fb;box-shadow:0 4px 12px rgb(15 23 42/4%)}.md-toolbar-rich .md-tool-group{min-height:34px;padding:3px 5px;border:1px solid #e0e7f0;border-radius:8px;background:#fff}.md-toolbar-rich .md-tool{border-color:transparent;background:transparent}.md-toolbar-rich .md-tool:hover{border-color:#c9d9f5;background:#eef4ff}.md-toolbar-rich .primary-tool{border-color:#c7d7f2;background:#edf4ff}.markdown-editor-panel .md-wysiwyg-canvas{min-height:500px;max-height:min(72vh,800px);padding:24px clamp(18px,3vw,40px);border:0;border-radius:0;background:#fff;box-shadow:inset 0 1px 0 #fff}.markdown-editor-panel .md-wysiwyg-canvas:focus{box-shadow:inset 4px 0 0 #2f6fed}.md-wysiwyg-canvas>pre.md-code{position:relative;margin:18px 0;padding:42px 18px 18px;border:1px solid #253651;border-radius:12px;background:#111b2e;color:#dce8f7;overflow:auto;white-space:pre;font:13px/1.7 SFMono-Regular,Consolas,Liberation Mono,monospace;box-shadow:0 10px 24px rgb(15 23 42/14%)}.md-wysiwyg-canvas>pre.md-code:before{content:attr(data-lang);position:absolute;top:0;left:0;right:0;height:32px;padding:0 14px;display:flex;align-items:center;border-bottom:1px solid #2a3a54;color:#8fa6c5;background:#17243a;text-transform:uppercase;font:700 10px/32px system-ui,sans-serif;letter-spacing:.1em}.md-code-wrap{margin:16px 0;padding:0;overflow:hidden;border:1px solid #253651;border-radius:12px;background:#111b2e;box-shadow:0 10px 24px rgb(15 23 42/12%)}.md-code-actions{position:static;min-height:38px;padding:5px 8px;align-items:center;border-bottom:1px solid #2a3a54;background:#17243a}.md-code-action{height:28px;border-color:#344967;background:#202f47;color:#cbd8e9}.md-code-action.active,.md-code-action:hover{border-color:#6ea0ff;background:#29436b;color:#fff}.md-code-body{overflow:auto}.md-code-body .md-code,.md-html-view .md-code,.md-view .md-code{margin:0;padding:18px 20px;border-radius:0;background:#111b2e;color:#dce8f7;white-space:pre;word-break:normal;font:13px/1.7 SFMono-Regular,Consolas,Liberation Mono,monospace}.md-interaction-block{padding:16px 18px 18px;border-color:#bfd2f4;border-left:4px solid #2f6fed;border-radius:12px;background:linear-gradient(135deg,#f6f9ff,#fff);box-shadow:0 6px 18px rgb(47 111 237/7%)}.md-interaction-block .md-ix-label{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-bottom:10px;padding:4px 9px;border-radius:999px;background:#e8f0ff;font-size:11px;letter-spacing:.04em}.md-interaction-block .md-ix-prompt{margin-bottom:14px;color:#15243a;font-size:15px;font-weight:700;line-height:1.65}.interaction-prompt-field{margin:14px 0;padding:14px;border:1px solid #cbdaf2;border-radius:10px;background:#f7faff}.interaction-field-label em{margin-left:5px;color:#d94b4b;font-size:11px;font-style:normal}.interaction-field small{color:#7b8793;font-size:12px}.interaction-field textarea{width:100%;box-sizing:border-box;border:1px solid #d7dee8;border-radius:8px;padding:10px 12px;resize:vertical}.code-block-modal{width:min(760px,95vw)}.code-language-field{grid-template-columns:100px minmax(160px,240px);align-items:center}.code-draft-field textarea{min-height:300px;border-color:#253651;background:#111b2e;color:#dce8f7;font:13px/1.7 SFMono-Regular,Consolas,monospace;-moz-tab-size:2;tab-size:2}.code-draft-field textarea:focus{outline:none;border-color:#6ea0ff;box-shadow:0 0 0 3px rgb(47 111 237/20%)}.editor-project-meta{grid-template-columns:minmax(260px,1.5fr) minmax(220px,1fr);padding:14px 16px;border-top:1px solid #e2e8f0;background:#fff}.editor-project-meta label,.editor-score-section>label,.editor-version-fields label,.quiz-description,.quiz-question-fields label{display:grid;grid-gap:6px;gap:6px;color:#526171;font-size:12px;font-weight:700}.version-switch{margin:12px 0;padding:7px;overflow-x:auto;background:#fff}.version-switch button{min-height:34px;padding:7px 13px;white-space:nowrap}.version-switch span{white-space:nowrap;font-size:12px}.editor-workflow-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:end;margin-bottom:12px;padding:14px 16px}.editor-version-fields{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(105px,.55fr) minmax(96px,.5fr);grid-gap:10px;gap:10px;min-width:0}.editor-version-fields label>span{color:#697789;font-size:11px;font-weight:700}.editor-version-fields input,.editor-version-fields select{width:100%;min-width:0;height:38px;box-sizing:border-box}.editor-number-field{position:relative}.editor-number-field input{padding-right:44px}.editor-number-field em{position:absolute;top:50%;right:10px;color:#8a96a5;font-size:11px;font-style:normal;transform:translateY(-50%);pointer-events:none}.editor-tool-actions{display:flex;gap:8px}.editor-tool-card{min-width:176px;min-height:58px;display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #dbe3ed;border-radius:8px;background:#fff;color:#243246;text-align:left;cursor:pointer}.editor-tool-card:hover{border-color:#9bb9ea;background:#f8fbff}.editor-tool-card>span:last-child{display:grid;grid-gap:3px;gap:3px}.editor-tool-card strong{font-size:13px}.editor-tool-card small{color:#7b8793;font-size:10px;white-space:nowrap}.editor-tool-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#eaf1ff;color:#2f6fed}.editor-tool-icon.ai{background:#f1ecff;color:#7057d9}.markdown-editor-panel{box-shadow:0 3px 14px rgb(24 44 76/6%)}.markdown-editor-panel .editor-panel-head{padding:14px 17px;background:#f8fafc}.markdown-editor-panel .editor-panel-head span{line-height:1.5}.quiz-editor{display:grid;grid-gap:16px;padding:18px}.quiz-description textarea{min-height:78px;resize:vertical}.board-question-library{padding:14px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fafc}.board-question-library-head,.quiz-question-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.board-question-library-head>div,.quiz-question-head>div{display:grid;grid-gap:3px;gap:3px}.board-question-library-head strong,.quiz-question-head strong{color:#253248;font-size:14px}.board-question-library-head span,.quiz-question-head span{color:#7b8793;font-size:11px}.board-question-count{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e8f0ff;color:#2f6fed!important;font-weight:700}.board-question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.board-question-item{min-width:0;display:grid;grid-gap:7px;gap:7px;padding:11px;border:1px solid #e0e6ee;border-radius:8px;background:#fff}.board-question-item>strong{color:#27364c;font-size:13px;line-height:1.5}.board-question-item>p{margin:0;overflow:hidden;color:#718096;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.board-question-item>button{justify-self:start;padding:0}.board-question-meta{display:flex;align-items:center;gap:6px}.board-question-meta em,.board-question-meta span{padding:3px 6px;border-radius:5px;background:#edf2f7;color:#607084;font-size:10px;font-style:normal}.board-question-meta em{background:#eef4ff;color:#2f6fed}.board-question-empty,.quiz-empty-state{display:flex;align-items:center;justify-content:center;gap:9px;min-height:62px;margin-top:10px;color:#7b8793;font-size:12px;text-align:center}.quiz-question-list{display:grid;grid-gap:10px;gap:10px}.quiz-question-card{border:1px solid #dfe5ed;border-radius:8px}.quiz-question-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #e8edf3;background:#f8fafc}.quiz-question-card>header>strong{overflow:hidden;color:#29384d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.quiz-question-no{color:#2f6fed;font-size:11px;font-weight:800}.quiz-question-fields{display:grid;grid-template-columns:140px minmax(220px,1fr) 90px;grid-gap:12px;gap:12px;padding:13px}.quiz-question-fields input,.quiz-question-fields select,.quiz-question-fields textarea{width:100%;box-sizing:border-box}.quiz-question-options{grid-column:1/3}.quiz-question-answer{grid-column:3}.quiz-question-options textarea{min-height:78px;resize:vertical}.quiz-empty-state{min-height:150px;flex-direction:column;margin:0;border:1px dashed #d6dee8;border-radius:8px}.quiz-empty-state strong{color:#475569}.editor-score-modal{width:min(700px,94vw);max-height:88vh;overflow-y:auto}.editor-score-list{display:grid;grid-gap:8px;gap:8px;margin:12px 0}.editor-score-section{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:center;grid-gap:12px 18px;gap:12px 18px;min-height:72px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:border-color .16s ease,background-color .16s ease}.editor-score-section.is-enabled{border-color:#cfe0fb;background:#f8faff}.editor-score-section .v3-rule-toggle{display:flex;align-items:center;gap:10px;min-width:0}.editor-score-section .v3-rule-toggle input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#2f6fed}.score-rule-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#718096}.is-enabled .score-rule-icon{border-color:#d6e4ff;background:#edf3ff;color:#2f6fed}.score-rule-copy{display:grid;min-width:0;grid-gap:2px;gap:2px}.score-rule-copy strong{color:#172033;font-size:13px;line-height:1.35}.score-rule-copy small{color:#8390a0;font-size:11px;font-weight:400;line-height:1.45}.score-rule-controls{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:end;justify-content:end;grid-gap:10px;gap:10px}.score-rule-controls label,.score-rule-detail{display:grid;grid-gap:5px;gap:5px;margin:0;color:#526171;font-size:11px;font-weight:700}.editor-score-section .score-rule-detail,.editor-score-section .score-rule-identity{margin:0}.score-rule-controls input[type=number]{width:88px}.score-rule-controls input{height:36px;box-sizing:border-box}.score-ladder-field{width:min(240px,34vw);min-width:190px}.score-ladder-field input{width:100%}.score-rule-detail{grid-column:1/-1;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;padding-top:10px;border-top:1px solid #e8edf4}.score-rule-detail input{width:100%;height:36px;box-sizing:border-box}.editor-score-summary{margin-right:auto;color:#64748b;font-size:12px}.editor-ai-modal{width:min(760px,94vw);max-height:88vh;overflow-y:auto}.editor-ai-modal .ai-action-panel{margin:10px 0 0;box-shadow:none}.interaction-question-modal{width:min(720px,calc(100vw - 32px));max-height:min(88vh,820px);overflow:auto;padding:20px;border:1px solid #dfe5ec;border-radius:12px;box-shadow:0 24px 64px rgb(15 23 42/18%)}.interaction-question-modal .modal-header{margin-bottom:16px}.interaction-question-modal .modal-header p{max-width:560px;margin:5px 0 0;color:#718096;font-size:12px;line-height:1.55}.interaction-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px 100px;grid-gap:12px;gap:12px;align-items:end}.interaction-dialog-grid .interaction-prompt-field{grid-column:1/-1;margin:0}.interaction-dialog-grid .interaction-answer-field{grid-column:1/2}.interaction-question-modal .interaction-field{display:grid;grid-gap:6px;gap:6px;margin-block:12px;color:#526171;font-size:12px;font-weight:700}.interaction-question-modal .interaction-field input,.interaction-question-modal .interaction-field select,.interaction-question-modal .interaction-field textarea{width:100%;box-sizing:border-box;border-color:#d7dee8;background:#fff;color:#17212b}.interaction-question-modal .match-columns-editor,.interaction-question-modal .option-list-editor{margin-top:2px}.interaction-question-modal .match-column-card{border-color:#dfe5ec;border-radius:10px;background:#f8fafc;box-shadow:none}.quiz-editor{gap:16px;padding:16px}.quiz-question-card{overflow:hidden;border:1px solid #dfe5ec;border-radius:10px;background:#fff;box-shadow:none}.quiz-question-card header{grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:14px 16px;border:0;background:#fff}.quiz-question-card header>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.quiz-question-card header>div strong{overflow:hidden;color:#1f2d3d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.quiz-question-card header>div span{color:#7b8793;font-size:11px}.quiz-question-preview{margin:0;padding:0 16px 14px 62px;overflow:hidden;color:#64748b;font-size:12px;line-height:1.7;text-overflow:ellipsis;white-space:nowrap}.practice-game-workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);min-height:600px;border-top:1px solid #e5eaf0;background:#f7f9fc}.practice-game-code,.practice-game-preview{display:flex;min-width:0;min-height:0;flex-direction:column}.practice-game-code{border-right:1px solid #dfe5ec;background:#fff}.practice-game-preview{padding:0 16px 16px}.practice-game-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;box-sizing:border-box}.practice-game-head>div{display:grid;grid-gap:3px;gap:3px}.practice-game-head strong{color:#1f2d3d;font-size:13px}.practice-game-head span{color:#7b8793;font-size:11px}.practice-game-source{flex:1 1;width:100%;min-height:520px;box-sizing:border-box;resize:none;border:0;border-top:1px solid #e5eaf0;border-radius:0;outline:none;padding:18px;background:#111827;color:#dbeafe;font:13px/1.65 SFMono-Regular,Consolas,Liberation Mono,monospace;-moz-tab-size:2;tab-size:2}.practice-game-preview .html-sim-frame{flex:1 1;width:100%;min-height:520px;border:1px solid #dfe5ec;border-radius:10px;background:#fff}.practice-live-chip{display:inline-flex;align-items:center;gap:6px;color:#26835b!important;font-weight:700}.practice-live-chip i{width:7px;height:7px;border-radius:50%;background:#36a977;box-shadow:0 0 0 4px rgb(54 169 119/12%)}.editor-score-section.is-project-rule{border-color:#cfe0fb;background:#f7faff}.editor-score-section .v3-rule-toggle.is-static{min-height:40px}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea,.observer-home button,.observer-home input,.observer-home select,.observer-home textarea,.student-mobile-page button,.student-mobile-page input,.student-mobile-page select,.student-mobile-page textarea{font-family:inherit}.editor-project-meta input,.editor-project-meta select,.editor-score-modal input,.editor-score-modal select,.editor-score-modal textarea,.editor-version-fields input,.editor-version-fields select,.practice-editor input,.practice-editor select,.practice-editor textarea,.quiz-editor input,.quiz-editor select,.quiz-editor textarea,.submission-review-modal input,.submission-review-modal select,.submission-review-modal textarea{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#243047;font:inherit;outline:none;box-shadow:none}.editor-project-meta input:focus,.editor-project-meta select:focus,.editor-score-modal input:focus,.editor-score-modal select:focus,.editor-score-modal textarea:focus,.editor-version-fields input:focus,.editor-version-fields select:focus,.practice-editor input:focus,.practice-editor select:focus,.practice-editor textarea:focus,.quiz-editor input:focus,.quiz-editor select:focus,.quiz-editor textarea:focus,.submission-review-modal input:focus,.submission-review-modal select:focus,.submission-review-modal textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgb(99 102 241/14%)}.editor-project-meta label,.editor-score-modal label,.editor-version-fields label,.practice-editor label,.quiz-editor label,.submission-review-modal label{text-align:left}.avatar-picker-grid button,.board-question-item,.board-question-library,.editor-score-section,.editor-tool-card,.quiz-question-card,.submission-reject-panel,.submission-score-panel{border-color:#e2e8f0;box-shadow:none}.avatar-profile-modal button,.editor-ai-modal button,.editor-score-modal button,.editor-tool-card,.submission-review-modal button{font-family:inherit}.practice-editor{display:grid;grid-gap:14px;gap:14px;padding:18px;background:#f8fafc}.practice-answer-authoring,.practice-runtime-settings{overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.practice-answer-authoring .md-editor{margin:0}.practice-section-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #edf0f4;background:#fff;text-align:left}.practice-section-head>div{display:grid;grid-gap:4px;gap:4px}.practice-section-head strong{color:#253248;font-size:14px}.practice-section-head span{color:#7b8793;font-size:11px;line-height:1.5}.practice-interaction-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4f46e5!important;font-weight:700}.practice-runtime-settings{padding-bottom:14px}.practice-runtime-settings .practice-section-head{border-bottom:0}.practice-runtime-grid{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);grid-gap:14px;gap:14px;align-items:start;padding:0 16px}.practice-runtime-grid label{display:grid;grid-gap:7px;gap:7px;color:#526171;font-size:12px;font-weight:700}.practice-runtime-grid select{min-height:40px;padding:0 10px}.practice-starter-code textarea{min-height:122px;padding:11px 12px;resize:vertical;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65}.practice-security-note{margin:10px 16px 0;color:#64748b;font-size:11px;line-height:1.6}.avatar-picker-grid button{min-height:auto;text-align:center}.avatar-upload-actions .file-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0 14px;border-radius:8px;line-height:1;white-space:nowrap}.avatar-upload-actions .danger-button{min-height:38px}.avatar-picker-grid button>span:last-child{color:#64748b;font-family:inherit;font-weight:600;line-height:1.35}.submission-review-identity{min-width:0}.submission-review-identity h2{overflow:hidden;margin:0;color:#1f2937;font-family:inherit;text-overflow:ellipsis;white-space:nowrap}.score-dim-row input{min-height:38px;margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-total-line{display:flex;align-items:baseline;justify-content:space-between;padding-top:10px;border-top:1px solid #edf0f4;color:#64748b}.score-total-line strong{color:#3730a3;font-size:24px}.teaching-filter{padding:16px 18px;border-top:3px solid #2f6fed;background:linear-gradient(135deg,#fff,#f8fbff)}.teaching-stage:not(.is-fullscreen){border-color:#dbe4ef;box-shadow:0 8px 28px rgb(24 44 76/7%)}.teaching-stage:not(.is-fullscreen) .teaching-stage-control{border-color:#dbe5f2;background:linear-gradient(135deg,#f7faff,#fff)}.teaching-stage.is-fullscreen .teaching-stage-content{padding:88px clamp(22px,4vw,64px) 76px;background:radial-gradient(circle at 50% 0,#f7faff 0,#edf2f8 65%,#e7edf4 100%)}.teaching-stage.is-fullscreen .teaching-stage-head h2{padding-left:12px;border-left:4px solid #2f6fed;color:#10203a}.teaching-stage.is-fullscreen .teaching-requirements{border:1px solid #d9e3ef;box-shadow:0 18px 50px rgb(15 23 42/12%)}.teaching-stage.is-fullscreen .teaching-content-scale{min-width:100%;transform-origin:top left;transition:zoom .12s ease}.teaching-zoom-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #d5dfeb;border-radius:9px;background:#fff}.teaching-zoom-control button{min-width:30px;height:30px;padding:0 8px;border:0;border-radius:6px;background:#f0f4f9;color:#334155;font-weight:700;cursor:pointer}.teaching-zoom-control button:hover{background:#e4edff;color:#2f6fed}.teaching-zoom-control .teaching-zoom-value{min-width:58px;color:#2f6fed}.teaching-zoom-control span{padding:0 7px 0 5px;color:#7b8793;font-size:11px;white-space:nowrap}@media (max-width:1050px){.editor-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-workflow-bar{grid-template-columns:1fr;align-items:stretch}.editor-tool-actions{justify-content:flex-end}}@media (max-width:680px){.editor-meta{grid-template-columns:1fr}.editor-tool-actions,.editor-version-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-tool-actions{display:grid}.editor-tool-card{min-width:0}.editor-tool-card small{white-space:normal}.board-question-list{grid-template-columns:1fr}.quiz-question-fields{grid-template-columns:1fr 90px}.quiz-question-answer,.quiz-question-options,.quiz-question-prompt{grid-column:1/-1}.editor-score-section{grid-template-columns:1fr;align-items:stretch}.score-rule-controls{justify-content:start;padding-left:60px}.score-ladder-field{width:min(100%,300px);min-width:0}.score-rule-detail{grid-template-columns:1fr;gap:6px}.markdown-editor-panel .editor-panel-head{padding:15px}.markdown-editor-panel .md-wysiwyg-canvas{min-height:420px;padding:18px 15px}.practice-editor{padding:12px}.practice-section-head{align-items:flex-start;flex-direction:column;gap:8px}.practice-runtime-grid{grid-template-columns:1fr;padding:0 12px}.practice-security-note{margin-inline:12px}.code-language-field{grid-template-columns:1fr}.teaching-zoom-control span{display:none}.interaction-question-modal{width:calc(100vw - 20px);max-height:92vh;padding:16px}.interaction-dialog-grid{grid-template-columns:1fr 92px}.interaction-dialog-grid .interaction-answer-field,.interaction-dialog-grid .interaction-prompt-field{grid-column:1/-1}.interaction-question-modal .option-list-row{grid-template-columns:30px minmax(0,1fr) auto}.practice-game-workspace{grid-template-columns:1fr}.practice-game-code{border-right:0;border-bottom:1px solid #dfe5ec}.practice-game-preview .html-sim-frame,.practice-game-source{min-height:420px}.quiz-question-preview{padding-left:16px}}.message-center-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(17,24,39,.28);display:grid;place-items:center;padding:18px}.message-center{width:min(920px,96vw);height:min(640px,88vh);max-height:88vh;display:grid;grid-template-columns:280px 1fr;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.22)}.message-list-pane{border-right:1px solid #e8edf3;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;background:#f7f9fc}.message-list-head{flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:12px 12px 10px;border-bottom:1px solid #e8edf3}.message-list-head-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.message-list-actions{display:flex;gap:6px;flex-wrap:wrap}.message-list-actions .outline-button{padding:4px 8px;font-size:12px;white-space:nowrap}.message-search{width:100%;box-sizing:border-box;min-width:0;height:32px;padding:0 10px;border:1px solid #d7dee8;border-radius:8px;background:#fff;font-size:12px;color:#1f2937}.message-search:focus{outline:none;border-color:#7aa2ff;box-shadow:0 0 0 2px rgba(59,130,246,.12)}.message-list-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.message-contact-block{display:flex;flex-direction:column;flex-shrink:0;padding:10px 0 0;border-top:1px solid #e8edf3}.message-contact-block>.muted-text{padding:0 14px 8px;font-size:12px}.message-contact-list,.message-conversation-list{display:flex;flex-direction:column;flex-shrink:0;min-height:0}.message-contact-list button,.message-conversation-item{display:flex;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid #edf1f5;background:transparent;cursor:pointer}.message-contact-list button.active,.message-contact-list button:hover,.message-conversation-item.active,.message-conversation-item:hover{background:#eef4ff}.message-contact-list strong,.message-conversation-item strong{display:block;font-size:13px}.message-contact-list span,.message-conversation-item span{display:block;margin-top:4px;color:#7b8793;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.message-conversation-item b{flex-shrink:0;align-self:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e25555;color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.message-thread-pane{display:flex;flex-direction:column;height:100%;max-height:100%;min-width:0;min-height:0;overflow:hidden}.message-thread-head{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8edf3}.message-thread-head span{display:block;color:#7b8793;font-size:12px}.message-thread-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#f3f6fa}.message-bubble{max-width:78%;align-self:flex-start;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 0 #e5ebf2}.message-bubble.mine{align-self:flex-end;background:#d9ecff}.message-bubble-name{display:block;font-size:11px;color:#6b7785;margin-bottom:4px}.message-bubble p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px}.message-bubble time{display:block;margin-top:6px;font-size:11px;color:#8a96a3}.message-compose-bar,.message-compose-notice{flex-shrink:0;display:flex;gap:8px;padding:12px;border-top:1px solid #e8edf3;background:#fff}.message-compose-bar{align-items:center}.message-compose-bar input{flex:1 1;min-width:0}.message-compose-bar .primary-button{flex-shrink:0;margin-left:auto}.message-compose-notice{flex-direction:column}.message-empty{margin:auto;color:#7b8793}.student-mobile-page{font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}@media (max-width:760px){.message-center{grid-template-columns:1fr;height:min(720px,92vh)}.message-list-pane{max-height:38%}}:root{--bg:#f5f7fb;--panel:#ffffff;--line:#e2e8f0;--line-strong:#cbd5e1;--text:#172033;--muted:#667085;--blue:#4f46e5;--blue-hover:#4338ca;--blue-soft:#eef2ff;--cyan:#0891b2;--cyan-soft:#ecfeff;--green:#059669;--green-soft:#ecfdf5;--yellow:#d97706;--yellow-soft:#fffbeb;--red:#dc2626;--red-soft:#fef2f2;--purple:#7c3aed;--purple-soft:#f5f3ff;--shadow-sm:0 1px 2px rgb(15 23 42/4%);--shadow-md:0 8px 24px rgb(15 23 42/7%)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:#c7d2fe;color:#312e81}button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(99 102 241/22%);outline-offset:2px}.sidebar{width:248px;padding:20px 14px 16px;border-right-color:#e6eaf0;box-shadow:4px 0 18px rgb(15 23 42/2.5%)}.brand{padding:0 10px 22px}.brand-mark{width:36px;height:36px;border-radius:10px;background:#4f46e5;box-shadow:0 7px 16px rgb(79 70 229/22%);display:grid;place-items:center;color:#fff;font-size:16px;font-weight:800;line-height:1}.brand-name{color:#1e293b;font-size:14px;letter-spacing:0}.brand-sub{color:#8490a3}.nav-title{color:#94a3b8;letter-spacing:.08em}.nav-item{min-height:40px;border:1px solid transparent;color:#526070;font-weight:500}.nav-item svg{width:27px;height:27px;padding:5px;border-radius:7px;color:#64748b;background:#f1f5f9}.nav-section .nav-item:nth-of-type(4n+2) svg{color:var(--cyan);background:var(--cyan-soft)}.nav-section .nav-item:nth-of-type(4n+3) svg{color:var(--green);background:var(--green-soft)}.nav-section .nav-item:nth-of-type(4n+4) svg{color:var(--yellow);background:var(--yellow-soft)}.nav-item:hover{color:#334155;background:#f8fafc;border-color:#eef2f6}.nav-item.active{color:#3730a3;background:var(--blue-soft);border-color:#dfe4ff;box-shadow:inset 3px 0 0 var(--blue)}.nav-item.active svg{color:#fff;background:var(--blue)}.nav-badge{background:#fff;color:#4338ca;border:1px solid #d8ddff}.help-box{border-color:#dce3ec;background:#f8fafc}.help-icon{color:var(--purple);background:var(--purple-soft)}.top-avatar,.user-avatar{color:#047857;background:#dff7ec;border:1px solid #c8eedf}.topbar{height:68px;border-bottom-color:#e7ebf0;box-shadow:0 1px 8px rgb(15 23 42/2.5%)}.breadcrumb{color:#94a3b8}.breadcrumb strong{color:#334155}.icon-button:hover{color:var(--blue);background:var(--blue-soft);border-radius:8px}.content{padding:25px 30px 42px}.page-heading{align-items:center;margin-bottom:24px}.page-heading>div:first-child{position:relative;padding-left:15px}.page-heading>div:first-child:before{content:"";position:absolute;top:3px;bottom:3px;left:0;width:4px;border-radius:999px;background:var(--blue)}.page-heading h1{margin:5px 0;color:#172033;font-size:26px;line-height:1.2}.page-heading p{color:#6b7688;line-height:1.6}.eyebrow{color:#6366f1;letter-spacing:.08em}.danger-button,.outline-button,.primary-button{min-height:38px;border-radius:8px;font-weight:650}.primary-button{border-color:var(--blue);background:var(--blue);box-shadow:0 4px 10px rgb(79 70 229/16%)}.primary-button:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover);transform:translateY(-1px)}.outline-button{color:#4338ca;border-color:#c7d2fe;background:#fff}.outline-button:hover:not(:disabled){border-color:#a5b4fc;background:#f7f7ff}.guide-link,.row-action,.text-button{color:#4f46e5}.danger-button{background:var(--red);border-color:var(--red)}.danger-text{color:var(--red)!important}.login-card,.panel,.resource-card,.stat-card{border-color:var(--line);box-shadow:var(--shadow-sm)}.panel,.stat-card{border-radius:9px}.stat-card{position:relative;overflow:hidden;min-height:122px;box-shadow:var(--shadow-sm)}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6366f1}.stat-card:nth-child(2):before{background:var(--cyan)}.stat-card:nth-child(3):before{background:var(--green)}.stat-card:nth-child(4):before{background:var(--yellow)}.stat-card:first-child{background:#fdfdff}.stat-card:nth-child(2){background:#fcfeff}.stat-card:nth-child(3){background:#fcfffd}.stat-card:nth-child(4){background:#fffefb}.stat-label{color:#64748b;font-weight:600}.stat-value{color:#334155}.stat-card:first-child .stat-value{color:#4f46e5}.stat-card:nth-child(2) .stat-value{color:var(--cyan)}.stat-card:nth-child(3) .stat-value{color:var(--green)}.stat-card:nth-child(4) .stat-value{color:var(--yellow)}.stat-hint{color:#94a3b8}.resource-card:hover,.stat-card:hover{border-color:#cbd5e1;box-shadow:0 8px 20px rgb(15 23 42/6%)}.section-head{margin-top:30px}.section-head h2{color:#243047}.current-panel{border-top:3px solid #6366f1}.guide-panel{border-top:3px solid var(--cyan)}.quick-icon{color:var(--yellow);background:var(--yellow-soft)}.empty-illustration{color:#6366f1;background:var(--blue-soft)}.guide-panel .panel-title>svg{color:var(--cyan)}.step-no{min-width:26px;height:26px;display:grid;place-items:center;padding:0;border-radius:7px;color:#4f46e5;background:var(--blue-soft)}.step:nth-child(2) .step-no{color:var(--cyan);background:var(--cyan-soft)}.step:nth-child(3) .step-no{color:var(--green);background:var(--green-soft)}.status-pill.online{color:#047857;background:var(--green-soft)}.status-pill.online span{background:var(--green);box-shadow:0 0 0 3px rgb(5 150 105/12%)}.status-pill.draft{color:#a16207;background:var(--yellow-soft)}.status-pill.draft span{background:var(--yellow)}.course-cover,.resource-number,.template-number{color:#4338ca;background:var(--blue-soft)}.project-tag,.resource-status{background:#f1f5f9;color:#64748b}.account-tabs button.selected,.file-chip,.file-list span,.filter-tabs button.selected,.markdown-tags span,.ranking-tabs button.selected,.teaching-project-strip button.selected{color:#4338ca;background:var(--blue-soft)}.attachment-drop{color:#4f46e5;border-color:#a5b4fc;background:#f8f8ff}.audit-table-head,.leaderboard-head,.project-list-header,.student-table-head,.submission-table-head{color:#64748b;background:#f8fafc;border-color:#e5eaf0}.audit-table-row:hover,.lesson-row:hover,.project-row:hover,.student-table-row:hover{background:#fafbff}.project-row-clickable:hover{border-color:#c7d2fe;box-shadow:0 7px 18px rgb(79 70 229/8%)}.modal-backdrop{background:rgb(15 23 42/48%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 24px 60px rgb(15 23 42/22%)}.modal-header{padding-bottom:16px;border-bottom:1px solid #edf0f4}.analytics-filters select,.course-selector,.filter-panel input,.login-card input,.modal input,.modal select,.modal textarea,.settings-card input{border-color:#cbd5e1;border-radius:8px;background:#fff}.analytics-filters select:focus,.course-selector:focus,.filter-panel input:focus,.login-card input:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.settings-card input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgb(99 102 241/14%)}.modal-hint{color:#6d5b18;border-color:#fde7aa;background:var(--yellow-soft)}.confirm-warning-danger,.reject-banner{color:#b91c1c;border-color:#fecaca;background:var(--red-soft)}.board-empty,.chart-empty,.empty-state,.exhibition-empty,.observer-empty{color:#8490a3}.empty-state.panel{border-style:dashed;border-color:#cbd5e1;background:#fbfcfe}.exhibition-board-body>.exhibition-empty{border-color:#cbd5e1;background:#f8fafc}.analytics-bar-row>div,.metric-track{background:#e9edf3}.analytics-bar-row i,.metric-track i{background:#6366f1}.metric-track.green i,.score-bars .analytics-bar-row i{background:var(--green)}.analytics-bars .analytics-bar-row:nth-child(3n+2) i{background:var(--cyan)}.analytics-bars .analytics-bar-row:nth-child(3n+3) i{background:var(--purple)}.chart-panel:first-child{border-top:3px solid #6366f1}.chart-panel:last-child{border-top:3px solid var(--yellow)}.student-mobile-page{background:var(--bg)}.student-mobile-header{border-bottom:1px solid #e2e8f0;background:#fff;box-shadow:0 3px 16px rgb(15 23 42/4%)}.observer-grid>.panel,.student-exhibition-panel,.student-mobile-task,.student-submissions-entry{border-color:#e2e8f0;box-shadow:var(--shadow-sm)}.student-mobile-task{border-top:3px solid #6366f1}.student-mobile-task:nth-child(3n+2){border-top-color:var(--cyan)}.student-mobile-task:nth-child(3n+3){border-top-color:var(--green)}.student-phase-clock,.version-badge{color:#4338ca;background:var(--blue-soft)}.student-score-card{border-color:#bbf7d0;background:var(--green-soft)}.submission-status-chip.is-scored,.submission-status-chip.is-showcased{color:#047857;background:var(--green-soft)}.submission-status-chip.is-rejected{color:#b91c1c;background:var(--red-soft)}.submission-status-chip.is-pending{color:#a16207;background:var(--yellow-soft)}.observer-home .student-mobile-header{border-top:3px solid var(--cyan)}.observer-badge{color:#0e7490;background:var(--cyan-soft);border-color:#bae6fd}.login-page{background:#f5f7fb}.login-page:after,.login-page:before{content:"";position:fixed;z-index:0;border-radius:24px;transform:rotate(18deg)}.login-page:before{width:180px;height:180px;top:12%;right:10%;background:#e0e7ff}.login-page:after{width:110px;height:110px;left:12%;bottom:10%;background:#cffafe}.login-brand{z-index:1}.login-card{position:relative;z-index:1;border-top:4px solid var(--blue);border-radius:12px;box-shadow:0 22px 55px rgb(30 41 59/10%)}.login-card h1{color:#172033}.login-error{color:#b91c1c;border:1px solid #fecaca;border-radius:8px;background:var(--red-soft)}.top-avatar-dropdown{border-color:#dfe5ec;box-shadow:var(--shadow-md)}.top-avatar-dropdown button:hover{color:#4338ca;background:var(--blue-soft)}.message-bubble.mine{background:var(--blue-soft);color:#312e81}@media (max-width:980px){.sidebar{width:218px}.content{padding:24px}}@media (max-width:680px){.sidebar{width:100%;padding-top:13px;background:#fff;box-shadow:0 3px 14px rgb(15 23 42/4%)}.brand{padding-bottom:12px}.nav-section{gap:5px;padding-bottom:4px}.nav-item{min-height:38px;border-color:#edf0f4;background:#fff}.nav-item svg{width:24px;height:24px}.nav-item.active{box-shadow:inset 0 -3px 0 var(--blue)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:8}.content{padding:22px 15px 36px}.page-heading{margin-bottom:20px}.page-heading>div:first-child{padding-left:12px}.page-heading h1{font-size:23px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:110px}.login-page{padding:86px 18px 28px;align-items:start}.login-brand{top:24px;left:22px}.login-card{padding:28px 24px}.login-page:before{width:120px;height:120px;right:-45px;top:12%}.login-page:after{width:80px;height:80px;left:-30px;bottom:4%}}.top-avatar{position:relative}.avatar-online-dot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--green)}.top-avatar-dropdown.account-popover{width:292px;min-width:292px;padding:0;overflow:hidden;border-radius:12px;border-color:#dce3ec;box-shadow:0 18px 45px rgb(15 23 42/16%)}.account-popover-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:16px;background:#fbfcff;border-bottom:1px solid #e8ecf2}.account-popover-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--blue);font-size:15px;font-weight:700;box-shadow:0 6px 14px rgb(79 70 229/20%)}.account-popover-head span,.account-popover-head strong{display:block}.account-popover-head>div{min-width:0}.account-popover-head>div strong{color:#1e293b;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover-head>div span{margin-top:4px;color:#8490a3;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role-chip{padding:4px 7px;border-radius:999px;color:#4338ca;background:var(--blue-soft);font-size:10px;font-weight:700;white-space:nowrap}.account-popover-status{display:flex;align-items:center;gap:7px;padding:9px 16px;color:#64748b;background:#fff;border-bottom:1px solid #edf0f4;font-size:11px}.account-popover-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgb(5 150 105/10%)}.account-popover-actions{padding:6px}.top-avatar-dropdown.account-popover .account-popover-actions button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:9px 10px;text-align:left}.account-menu-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#4f46e5;background:var(--blue-soft)}.account-popover-actions button>span:nth-child(2){min-width:0}.account-popover-actions button small,.account-popover-actions button strong{display:block}.account-popover-actions button strong{color:#273449;font-size:12px}.account-popover-actions button small{margin-top:3px;color:#8a95a5;font-size:10px;font-weight:400}.account-popover-actions button>svg{color:#a0aaba}.account-popover-actions button.is-danger{border-top:1px solid #f1f3f6;margin-top:3px}.account-popover-actions button.is-danger .account-menu-icon{color:#dc2626;background:var(--red-soft)}.account-popover-actions button.is-danger strong{color:#b91c1c}.student-mobile-page{max-width:min(820px,100%);gap:12px;padding-top:18px}.student-mobile-page.observer-home{max-width:min(1180px,100%)}.student-mobile-page .student-mobile-header{position:relative;overflow:visible;padding:18px 20px;border-top:3px solid var(--blue);box-shadow:0 9px 26px rgb(15 23 42/6%)}.observer-home .student-mobile-header{border-top-color:var(--cyan)}.role-header-copy .eyebrow{font-weight:700}.student-mobile-page .role-header-copy h1{margin-top:5px;font-size:23px}.role-summary-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.role-summary-chips span{display:inline-flex;align-items:baseline;gap:4px;padding:6px 9px;border:1px solid #dde3ff;border-radius:999px;color:#5b6475;background:#f8f8ff;font-size:11px}.role-summary-chips strong{color:#4338ca;font-size:13px}.observer-summary-chips span{border-color:#cdeff5;background:#f3fdff}.observer-summary-chips strong{color:#0e7490}.student-mobile-page .guest-top-actions{padding-top:1px}.student-mobile-page .top-avatar-menu{z-index:12}.student-mobile-page .account-popover{right:0}.role-quick-nav{padding:6px;gap:7px;border-color:#dce3ec;box-shadow:0 4px 12px rgb(15 23 42/4%)}.role-quick-nav a,.role-quick-nav button{min-height:34px;display:inline-flex;align-items:center;padding:7px 12px;color:#536174;background:#f7f9fc;border:1px solid #edf0f4}.role-quick-nav a:first-child{color:#4338ca;background:var(--blue-soft);border-color:#dde3ff}.observer-home .role-quick-nav a:first-child{color:#0e7490;background:var(--cyan-soft);border-color:#cdeff5}.student-mobile-task{padding:17px;border-radius:10px;box-shadow:0 7px 20px rgb(15 23 42/5%)}.student-mobile-task-head{position:relative;padding-right:92px}.student-mobile-task-head .student-phase-clock{position:absolute;top:0;right:0;margin:0;padding:7px 9px;border-radius:8px;font-size:16px}.observer-requirements,.student-requirements{border-color:#e2e8f0;background:#fbfcfe}.student-submissions-entry{border-left:3px solid var(--purple)}.observer-lesson-card{border-radius:9px;background:#fff}.observer-lesson-card.selected{border-color:#8bd7e6;background:#f4fdff;box-shadow:inset 3px 0 0 var(--cyan)}.observer-grid>.panel:first-child{border-top:3px solid var(--cyan)}.message-center-backdrop{background:rgb(15 23 42/42%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.message-center{width:min(980px,96vw);height:min(680px,90vh);grid-template-columns:320px 1fr;border:1px solid #dce3ec;border-radius:16px;box-shadow:0 28px 80px rgb(15 23 42/25%)}.message-list-pane{background:#f8fafc}.message-list-head{gap:12px;padding:16px;background:#fff}.message-list-head-row>strong{color:#1e293b;font-size:17px}.message-list-actions .outline-button{min-height:30px;border-radius:7px}.message-search{height:38px;padding:0 12px;border-color:#dce3ec;background:#f8fafc}.message-contact-list button,.message-conversation-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:12px 14px;border-left:3px solid transparent}.message-conversation-item.active{border-left-color:var(--blue);background:var(--blue-soft)}.message-peer-avatar{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#4338ca;background:#e4e7ff;font-size:12px;font-weight:750}.message-peer-avatar.animal-avatar{padding:0;overflow:hidden;border:1px solid #dfe7ef}.message-peer-avatar.is-notice{color:#0e7490;background:var(--cyan-soft)}.message-contact-copy,.message-conversation-copy{min-width:0;text-align:left}.message-conversation-title{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin:0!important}.message-conversation-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#253247}.message-conversation-title time{flex:0 0 auto;color:#9aa5b3;font-size:10px;font-weight:400}.message-conversation-copy>span:nth-child(2){max-width:100%;margin-top:3px;font-size:10px}.message-conversation-copy small{display:block;margin-top:5px;color:#7d8998;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-conversation-aside{align-self:center}.message-contact-list button>svg{color:#a3adba}.message-contact-copy>span{max-width:100%}.message-thread-head{min-height:68px;padding:12px 18px;background:#fff}.message-thread-person{display:flex;align-items:center;gap:11px;min-width:0}.message-thread-person>div{min-width:0}.message-thread-person strong{color:#1f2c40;font-size:14px}.message-thread-person span:not(.message-peer-avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-thread-body{padding:20px;gap:13px;background:#f4f6fa}.message-row{width:100%;display:flex;align-items:flex-end;gap:8px}.message-row.mine{justify-content:flex-end}.message-row-avatar{width:30px;height:30px;border-radius:8px;font-size:10px}.message-bubble{max-width:min(72%,460px);padding:10px 13px;border:1px solid #e5e9ef;border-radius:12px 12px 12px 3px;box-shadow:0 2px 7px rgb(15 23 42/4%)}.message-bubble.mine{border-color:#cbd3ff;border-radius:12px 12px 3px 12px;background:var(--blue);color:#fff}.message-bubble.mine time{color:rgb(255 255 255/68%);text-align:right}.message-bubble p{line-height:1.6}.message-compose-bar{gap:10px;padding:13px 16px;background:#fff}.message-compose-bar textarea{flex:1 1;min-width:0;min-height:40px;max-height:100px;resize:vertical;padding:10px 12px;border:1px solid #d7dee8;border-radius:9px;color:#273449;background:#f8fafc;font:inherit;line-height:1.5}.message-compose-bar textarea:focus{outline:0;border-color:#818cf8;box-shadow:0 0 0 3px rgb(99 102 241/12%);background:#fff}.message-compose-bar .primary-button{min-width:66px;align-self:flex-end;justify-content:center}.message-empty,.message-thread-empty{margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#8490a3;text-align:center}.message-empty .message-peer-avatar,.message-thread-empty .message-peer-avatar{width:48px;height:48px;margin-bottom:12px;border-radius:13px;font-size:14px}.message-empty strong,.message-thread-empty strong{color:#4a5667;font-size:13px}.message-empty p,.message-thread-empty p{margin:6px 0 0;font-size:11px}@media (max-width:760px){.top-avatar-dropdown.account-popover{position:fixed;top:66px;right:14px;width:min(292px,calc(100vw - 28px));min-width:0}.student-mobile-page{padding:12px 12px 34px}.student-mobile-page .student-mobile-header{padding:16px}.student-mobile-page .role-header-copy h1{font-size:21px}.student-mobile-page .guest-top-actions{position:absolute;top:14px;right:14px}.role-header-copy{padding-right:82px}.role-summary-chips{margin-right:-82px}.student-mobile-task-head{padding-right:0}.student-mobile-task-head .student-phase-clock{position:static;display:inline-block;margin-top:9px}.message-center-backdrop{padding:8px;align-items:end}.message-center{width:100%;height:min(780px,96vh);max-height:96vh;grid-template-columns:1fr;border-radius:15px 15px 0 0}.message-list-pane{max-height:42%;border-right:0;border-bottom:1px solid #e3e8ee}.message-list-head{padding:12px}.message-list-head-row>strong{font-size:15px}.message-thread-head{min-height:58px;padding:9px 12px}.message-thread-body{padding:14px 12px}.message-bubble{max-width:82%}.message-compose-bar{padding:10px}}.login-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:88px 34px 34px;overflow:hidden;background:#f4f6fa}.login-page:after,.login-page:before{display:none}.login-brand{position:absolute;top:28px;left:38px;z-index:4}.login-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,560px) minmax(360px,420px);grid-gap:32px;gap:32px;align-items:center;width:min(1040px,100%)}.bridge-model-watermark{position:absolute;right:-3vw;bottom:-2vh;z-index:0;width:min(860px,68vw);color:#6684ad;opacity:.075;pointer-events:none;transform:rotate(-2deg)}.bridge-model-watermark g{stroke-width:2}.login-bridge-showcase{min-width:0}.login-bridge-frame{position:relative;height:clamp(280px,38vw,390px);max-height:390px;overflow:hidden;border:1px solid #dce3ec;border-radius:12px;background:#dfe6ee;box-shadow:0 18px 44px rgb(15 23 42/13%)}.login-bridge-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .6s ease,transform 5s ease}.login-bridge-frame>img.is-active{opacity:1;transform:scale(1)}.login-bridge-overlay{position:absolute;left:18px;right:18px;bottom:18px;padding:14px 16px;border:1px solid rgb(255 255 255/24%);border-radius:9px;color:#fff;background:rgb(11 24 42/78%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-bridge-overlay span{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.76}.login-bridge-overlay h2{margin:5px 0 3px;font-size:20px;line-height:1.3}.login-bridge-overlay p{margin:0;color:rgb(255 255 255/78%);font-size:12px;line-height:1.55}.login-bridge-meta{min-height:26px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.login-bridge-meta a,.login-bridge-meta>span{color:#7b8793;font-size:10px;text-decoration:none}.login-bridge-meta a:hover{color:#2f6fed}.login-carousel-dots{display:flex;align-items:center;gap:6px}.login-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#b7c2ce;cursor:pointer;transition:width .2s ease,background .2s ease}.login-carousel-dots button.active{width:22px;background:#4f63d8}.login-layout .login-card{width:100%;box-sizing:border-box;padding:32px 34px;border:1px solid #dfe5ed;border-top:3px solid #4f63d8;border-radius:12px;background:rgb(255 255 255/96%);box-shadow:0 18px 48px rgb(15 23 42/10%)}.login-security-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding-top:15px;border-top:1px solid #edf0f4;color:#8490a3;font-size:10px}.login-security-note span{width:6px;height:6px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 3px rgb(34 160 107/10%)}.settings-scope-note{display:flex;align-items:center;gap:12px;margin:-6px 0 16px;padding:11px 14px;border:1px solid #dfe6ef;border-radius:8px;background:#fff}.settings-scope-note>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:#4b5f75;background:#edf1f5;font-size:10px;font-weight:700}.settings-scope-note>span.is-admin{color:#4338ca;background:#eef0ff}.settings-scope-note p{margin:0;color:#697789;font-size:12px;line-height:1.55}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}.settings-card{padding:18px;border-color:#dfe6ef;box-shadow:0 4px 14px rgb(15 23 42/4%)}.settings-card .panel-title{padding-bottom:11px;border-bottom:1px solid #edf0f4}.settings-card-login-design,.settings-card-ui{grid-column:1/-1}.settings-card-ui{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.settings-card-ui .panel-title,.settings-card-ui .success-note{grid-column:1/-1}.settings-card-ui>label{margin:0;padding:10px 12px;border:1px solid #e5eaf0;border-radius:8px;background:#fafbfd}.settings-card-ui>.primary-button{min-height:40px}.settings-card-login-design{gap:16px;border-top:3px solid #4f63d8}.login-design-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(440px,1.4fr);grid-gap:18px;gap:18px;align-items:start}.login-design-preview{display:grid;grid-gap:12px;gap:12px}.login-design-preview-frame{position:relative;height:210px;overflow:hidden;border:1px solid #d9e1eb;border-radius:10px;background:#e8edf3}.login-design-preview-frame>img{width:100%;height:100%;object-fit:cover}.login-design-preview-frame>span{position:absolute;left:10px;bottom:10px;padding:5px 8px;border-radius:6px;color:#fff;background:rgb(15 23 42/72%);font-size:10px;font-weight:700}.login-design-preview-frame .bridge-model-watermark{right:-12%;bottom:-8%;width:94%;color:#fff;opacity:.34}.login-design-switches{display:grid;grid-gap:8px;gap:8px}.login-design-switches label{display:flex;align-items:center;gap:8px;min-height:34px;margin:0;color:#526171;font-size:11px}.login-design-switches input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#4f63d8}.login-design-switches select{min-height:34px;margin-left:auto;padding-top:5px;padding-bottom:5px}.login-slide-editor{min-width:0}.login-slide-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.login-slide-editor-head span,.login-slide-editor-head strong{display:block}.login-slide-editor-head strong{color:#253247;font-size:12px}.login-slide-editor-head span{margin-top:3px;color:#8a95a3;font-size:10px}.login-slide-editor-head .file-button input{display:none!important}.login-slide-list{display:grid;grid-gap:8px;gap:8px;max-height:340px;overflow:auto;padding-right:3px}.login-slide-row{display:grid;grid-template-columns:104px minmax(0,1fr) 62px;grid-gap:10px;gap:10px;align-items:center;padding:9px;border:1px solid #e3e8ef;border-radius:9px;background:#fafbfd}.login-slide-row>img{width:104px;height:72px;object-fit:cover;border-radius:6px}.login-slide-fields{display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px}.login-slide-fields label{display:grid;grid-template-columns:42px 1fr;align-items:center;grid-gap:5px;gap:5px;margin:0;color:#7b8793;font-size:10px}.login-slide-fields input{min-width:0;height:32px;margin:0;padding:6px 8px;box-sizing:border-box}.login-slide-actions{display:grid;justify-items:end;grid-gap:5px;gap:5px;color:#8a95a3;font-size:9px}.compact-check{display:flex!important;align-items:center;gap:4px;margin:0!important;font-size:10px!important}.compact-check input{width:14px!important;height:14px;margin:0!important;accent-color:#4f63d8}.text-danger-button{padding:0;border:0;background:none;color:#c24141;font-size:10px;cursor:pointer}.text-danger-button:disabled{color:#b8c0ca;cursor:not-allowed}.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:13px;border-top:1px solid #edf0f4}.settings-save-bar p{margin:0;color:#7b8793;font-size:10px;line-height:1.55}.settings-save-bar .primary-button{flex:0 0 auto}@media (max-width:920px){.login-layout{grid-template-columns:minmax(340px,1fr) minmax(340px,.85fr);gap:20px}.login-design-layout,.settings-card-ui{grid-template-columns:1fr}.settings-card-ui .panel-title,.settings-card-ui .success-note{grid-column:auto}}@media (max-width:720px){.login-page{display:block;min-height:100vh;padding:82px 16px 28px}.login-brand{position:absolute;top:22px;left:20px}.login-layout{display:flex;flex-direction:column;width:100%;gap:14px}.login-bridge-showcase{width:100%}.login-bridge-frame{height:190px}.login-bridge-overlay{left:10px;right:10px;bottom:10px;padding:10px 12px}.login-bridge-overlay h2{font-size:16px}.login-bridge-overlay p{font-size:10px}.login-bridge-meta{margin-top:7px}.login-layout .login-card{padding:25px 21px}.bridge-model-watermark{width:115vw;opacity:.05}.settings-scope-note{align-items:flex-start}.settings-grid{grid-template-columns:1fr}.settings-card-login-design,.settings-card-ui{grid-column:auto}.login-slide-row{grid-template-columns:72px minmax(0,1fr)}.login-slide-row>img{width:72px;height:64px}.login-slide-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .primary-button{justify-content:center}}.admin-command-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(520px,1.5fr);grid-gap:20px;gap:20px;align-items:center;margin-bottom:14px;padding:16px 18px;border-top:3px solid #4f63d8}.admin-command-panel>div:first-child{display:grid;grid-gap:5px;gap:5px}.admin-command-panel>div:first-child .status-pill{width:-moz-fit-content;width:fit-content;margin-bottom:3px}.admin-command-panel>div:first-child>strong{color:#1f2b3d;font-size:15px}.admin-command-panel>div:first-child>small{color:#738094;font-size:11px;line-height:1.55}.admin-command-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.admin-command-actions>button{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;grid-gap:8px;gap:8px;align-items:center;min-height:62px;padding:9px 11px;border:1px solid #dfe5ed;border-radius:8px;color:#536275;background:#fff;text-align:left;cursor:pointer}.admin-command-actions>button:hover{border-color:#aebcf5;background:#f7f8ff}.admin-command-actions span{display:grid;grid-gap:2px;gap:2px}.admin-command-actions strong{color:#253247;font-size:11px}.admin-command-actions small{color:#8a95a3;font-size:9px}.course-overview-card{align-items:stretch;padding:18px;border-top:3px solid #4f63d8}.course-overview-main{min-width:0;flex:1 1}.course-overview-label{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#768397;font-size:10px;font-weight:700}.course-overview-card .course-selector{width:min(560px,100%);min-height:40px;margin:0;color:#202d40;font-size:14px;font-weight:700}.course-overview-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px}.course-overview-meta>span{display:grid;grid-gap:2px;gap:2px;min-width:90px}.course-overview-meta small{color:#909aa8;font-size:9px}.course-overview-meta strong{color:#48566a;font-size:11px;font-weight:650}.managed-lesson-list{overflow:hidden;padding:0}.lesson-list-head,.managed-lesson{grid-template-columns:54px minmax(0,1fr) 100px 240px}.lesson-list-head{display:grid;align-items:center;min-height:34px;padding:0 16px;border-bottom:1px solid #e7ebf1;color:#8b96a4;background:#f7f9fb;font-size:9px;font-weight:700}.managed-lesson{padding:12px 16px}.lesson-sequence{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:#4f63d8;background:#eef0ff;font-size:10px;font-weight:800}.managed-lesson .lesson-main{padding:2px 0}.managed-lesson .lesson-main strong{font-size:12px}.managed-lesson .lesson-main small{margin-top:3px;color:#8490a0}.settings-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px;padding:6px;border:1px solid #dfe5ed;border-radius:10px;background:#fff}.settings-section-nav>button{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;min-height:52px;padding:8px 12px;border:1px solid transparent;border-radius:7px;color:#6b788b;background:transparent;text-align:left;cursor:pointer}.settings-section-nav>button:hover{background:#f7f8fb}.settings-section-nav>button.active{border-color:#cfd5ff;color:#4f46e5;background:#f2f3ff}.settings-section-nav span{display:grid;grid-gap:2px;gap:2px}.settings-section-nav strong{color:#293548;font-size:11px}.settings-section-nav small{color:#8b96a4;font-size:9px}.settings-section-nav button.active strong{color:#4338ca}.submission-file-picker{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding:12px;border:1px solid #dfe5ed;border-radius:9px;background:#fafbfd}.submission-file-picker.is-disabled{opacity:.58;pointer-events:none}.submission-file-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.submission-file-picker-head>div{display:grid;grid-gap:2px;gap:2px}.submission-file-picker-head strong{color:#273447;font-size:12px}.submission-file-picker-head span{color:#7c8898;font-size:10px;line-height:1.45}.submission-file-count{flex:0 0 auto;padding:4px 7px;border-radius:999px;color:#4338ca!important;background:#eceeff;font-weight:700}.submission-file-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.submission-photo-action{display:grid;grid-template-columns:25px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;min-height:56px;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:8px;color:#617086;background:#fff;cursor:pointer}.submission-photo-action:hover{border-color:#899af0;background:#f7f8ff}.submission-photo-action.is-primary{border-style:solid;border-color:#cfd5ff;color:#4f46e5;background:#f3f4ff}.submission-photo-action>span:last-of-type{display:grid;grid-gap:2px;gap:2px}.submission-photo-action strong{color:#344155;font-size:10px}.submission-photo-action small{color:#8a95a3;font-size:8px}.submission-photo-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid;border-radius:7px;font-size:16px}.submission-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));grid-gap:8px;gap:8px}.submission-photo-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid #dce3eb;border-radius:8px;background:#fff}.submission-photo-grid img{display:block;width:100%;height:88px;object-fit:cover}.submission-photo-grid figcaption{display:flex;align-items:center;gap:5px;min-height:29px;padding:4px 6px}.submission-photo-grid figcaption span{min-width:0;flex:1 1;overflow:hidden;color:#687589;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.submission-other-files button,.submission-photo-grid button{width:20px;height:20px;padding:0;border:0;border-radius:5px;color:#b04444;background:#fff1f1;cursor:pointer}.submission-other-files{display:flex;flex-wrap:wrap;gap:6px}.submission-other-files>span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 6px 5px 8px;border:1px solid #e0e6ed;border-radius:7px;color:#5f6d7f;background:#fff;font-size:9px}.submission-submit-bar{margin-top:8px;padding-top:9px;border-top:1px solid #e7ebf0}.submission-submit-hint{color:#7d8999;font-size:9px;line-height:1.45}.practice-auto-submit-status{display:flex;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid #dbe3ee;border-radius:9px;color:#344155;background:#f8fafc}.practice-auto-submit-status.is-ready{border-color:#cdd7ff;background:#f5f7ff}.practice-auto-submit-status.is-busy{border-color:#f1d7a6;background:#fffbf2}.practice-auto-submit-status.is-done{border-color:#cce8dc;background:#f4fbf8}.practice-auto-submit-status.is-locked{border-color:#dfe5ec;background:#f8fafc}.practice-auto-submit-icon{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border:1px solid #d8e0ea;border-radius:8px;color:#4f46e5;background:#fff}.practice-auto-submit-status.is-busy .practice-auto-submit-icon{color:#a16207}.practice-auto-submit-status.is-done .practice-auto-submit-icon{color:#16815f}.practice-auto-submit-status.is-locked .practice-auto-submit-icon{color:#758195}.practice-auto-submit-status>span:last-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.practice-auto-submit-status strong{color:#273447;font-size:11px;line-height:1.4}.practice-auto-submit-status small{color:#758195;font-size:9px;line-height:1.5}@media (max-width:920px){.admin-command-panel{grid-template-columns:1fr}.lesson-list-head,.managed-lesson{grid-template-columns:44px minmax(0,1fr) 90px}.lesson-list-head span:last-child{display:none}.managed-lesson .lesson-actions{grid-column:2/-1;justify-content:flex-start}}@media (max-width:720px){.admin-command-actions,.settings-section-nav,.submission-file-actions{grid-template-columns:1fr}.settings-section-nav>button{min-height:46px}.course-overview-card{flex-direction:column}.course-manager-actions{justify-content:flex-start}.lesson-list-head{display:none}.managed-lesson{grid-template-columns:38px minmax(0,1fr);padding:12px}.managed-lesson>.lesson-actions,.managed-lesson>.status-pill{grid-column:2}.submission-file-picker{margin-left:-2px;margin-right:-2px;padding:10px}.submission-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-submit-bar{align-items:stretch}}.teaching-assistant-strip{display:grid;grid-gap:14px;gap:14px;padding:16px 18px;border-color:#cbd5e1;background:#fff}.teaching-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.teaching-assistant-head>div:first-child{display:grid;grid-gap:3px;gap:3px;min-width:0}.teaching-assistant-head>div:first-child span{color:#4f46e5;font-size:12px;font-weight:700}.teaching-assistant-head>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teaching-assistant-strip dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.teaching-assistant-strip dl div{min-width:0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;text-align:center}.teaching-assistant-strip dt{color:#64748b;font-size:11px}.teaching-assistant-strip dd{margin:2px 0 0;color:#312e81;font-size:16px;font-weight:800}.teaching-evidence-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:10px;gap:10px}.teaching-evidence-grid>div{min-width:0;max-height:220px;overflow:auto;display:grid;align-content:start;grid-gap:6px;gap:6px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.teaching-evidence-grid>div>strong{color:#334155;font-size:13px}.teaching-evidence-grid small,.teaching-evidence-grid>div>span{color:#64748b;font-size:12px;line-height:1.5}.teaching-evidence-grid .md-view{padding:0;font-size:13px}.quality-question-list button{width:100%;padding:7px 9px;color:#334155;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;text-align:left;cursor:pointer}.quality-question-list button:hover{color:#4338ca;border-color:#c7d2fe;background:#eef2ff}.ai-dialogue-modal{width:min(1080px,calc(100vw - 36px));height:min(760px,calc(100vh - 36px));overflow:hidden}.ai-dialogue-modal>.modal-header p{margin:4px 0 0;color:#64748b}.ai-dialogue-layout{min-height:0;height:calc(100% - 92px);display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:14px;gap:14px}.ai-dialogue-layout>nav{min-height:0;overflow:auto;display:grid;align-content:start;grid-gap:7px;gap:7px;padding-right:4px}.ai-dialogue-layout>nav>button{display:grid;grid-gap:4px;gap:4px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.ai-dialogue-layout>nav>button.selected{color:#4338ca;border-color:#a5b4fc;background:#eef2ff}.ai-dialogue-layout>nav small,.ai-dialogue-layout>nav span{overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ai-dialogue-detail{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.ai-dialogue-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#fff}.ai-dialogue-detail>header>div:first-child{display:grid;grid-gap:3px;gap:3px}.ai-dialogue-detail>header span{color:#64748b;font-size:12px}.ai-dialogue-turns{min-height:0;overflow:auto;display:grid;align-content:start;grid-gap:10px;gap:10px;padding:12px}.ai-dialogue-turns article{overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.ai-dialogue-answer,.ai-dialogue-question{padding:10px 12px}.ai-dialogue-question{border-bottom:1px solid #e2e8f0;background:#eef2ff}.ai-dialogue-answer>span,.ai-dialogue-question span{color:#6366f1;font-size:11px;font-weight:700}.ai-dialogue-question p{margin:5px 0 0;line-height:1.6}.ai-dialogue-answer .md-view{padding:5px 0 0}.ai-dialogue-turns footer{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px}.ai-dialogue-turns footer strong{color:#166534;text-align:right}@media (max-width:760px){.teaching-assistant-head{align-items:stretch;flex-direction:column}.teaching-assistant-strip dl{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-assistant-head>div:first-child strong{white-space:normal}.ai-dialogue-layout,.teaching-evidence-grid{grid-template-columns:1fr}.ai-dialogue-layout{grid-template-rows:180px minmax(0,1fr)}.ai-dialogue-modal{width:calc(100vw - 20px);height:calc(100vh - 20px)}}.student-rank-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:13px 16px}.student-rank-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:10px;background:#f8fafc}.student-rank-summary span{color:#64748b;font-size:12px}.student-rank-summary strong{color:#3730a3}.submission-feedback-toast{position:fixed;z-index:120;right:18px;bottom:18px;display:flex;align-items:flex-start;gap:14px;width:min(360px,calc(100vw - 28px));padding:16px;border:1px solid #a7f3d0;border-radius:14px;background:#ecfdf5;box-shadow:0 18px 50px rgba(15,23,42,.2)}.submission-feedback-toast div{min-width:0}.submission-feedback-toast span{display:block;color:#047857;font-size:12px;font-weight:700}.submission-feedback-toast strong{display:block;margin-top:2px;color:#065f46;font-size:24px}.submission-feedback-toast p{margin:4px 0 0;color:#334155;font-size:13px}.submission-feedback-toast button{border:0;background:transparent;color:#64748b;font-size:22px;cursor:pointer}@media (max-width:560px){.student-rank-summary{grid-template-columns:1fr}.submission-feedback-toast{right:14px;bottom:14px}}.letter-avatar,.top-avatar,.user-avatar{color:#fff!important;background:#9ec9f6!important;border-color:#8dbbea!important}.animal-avatar img{background:#fff}.avatar-upload-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:14px;border:1px solid #d8e6f5;border-radius:18px;background:linear-gradient(135deg,rgb(239 247 255/94%),rgb(255 255 255/92%))}.avatar-upload-preview.animal-avatar{width:54px;height:54px;border-radius:17px}.avatar-upload-card>div{display:grid;grid-gap:4px;gap:4px}.avatar-upload-card>div span{color:#64748b;font-size:11px;font-weight:400}.avatar-clear-button,.avatar-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 13px;border-radius:12px;cursor:pointer}.avatar-upload-button{color:#fff;border:1px solid #6ea6df;background:#78afe6}.avatar-clear-button{color:#52677e;border:1px solid #d8e2ec;background:rgb(255 255 255/82%)}.project-lesson-picker{min-width:0;margin:0;padding:0;border:0}.project-lesson-picker legend{margin-bottom:7px;color:#687581;font-size:11px;font-weight:700}.project-lesson-picker>div{display:flex;flex-wrap:wrap;gap:7px;max-height:94px;overflow:auto;padding:2px}.project-lesson-picker label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 10px;border:1px solid #dce4ed;border-radius:12px;color:#526172;background:#fff;cursor:pointer}.project-lesson-picker label.selected{color:#285fa9;border-color:#98c0eb;background:#eff7ff}.project-lesson-picker input{width:auto;height:auto;margin:0}.prep-library-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) auto;align-items:center;grid-gap:12px;gap:12px;margin-bottom:12px;padding:14px 16px;border-radius:16px}.prep-library-picker>div{display:grid;grid-gap:4px;gap:4px}.prep-library-picker span{color:#64748b;font-size:11px}.prep-library-picker select{height:38px;border:1px solid #d7e0ea;border-radius:11px;padding:0 10px;background:#fff}.prep-project-row.is-disabled{opacity:.64;background:#f8fafc}.prep-project-row.is-disabled .drag-handle{cursor:default}.ai-float-window{border-color:rgb(186 206 227/75%);border-radius:24px;background:rgb(255 255 255/86%);box-shadow:0 24px 70px rgb(30 64 100/24%);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}.ai-float-button{width:68px;height:68px;border-radius:22px;background:linear-gradient(145deg,#8bbcf0,#608fd8);box-shadow:0 16px 36px rgb(67 113 174/34%)}.ai-float-window>header{background:rgb(239 247 255/72%)}.ai-float-window textarea{border-radius:14px;background:rgb(255 255 255/82%)}.ai-history-backdrop{position:fixed;z-index:180;inset:0;display:grid;place-items:center;padding:20px;background:rgb(15 31 50/34%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ai-history-modal{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgb(195 213 231/85%);border-radius:26px;background:rgb(255 255 255/92%);box-shadow:0 30px 90px rgb(15 38 65/28%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.ai-history-modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e5edf5}.ai-history-modal>header>div{display:flex;align-items:center;gap:10px}.ai-history-modal>header span{color:#6894c5;font-size:11px;font-weight:800}.ai-history-list{min-height:260px;overflow:auto;display:grid;align-content:start;grid-gap:12px;gap:12px;padding:20px}.teaching-assistant-orb{position:fixed;z-index:88;right:26px;bottom:108px;display:grid;place-items:center;grid-gap:2px;gap:2px;width:72px;height:72px;padding:0;color:#fff;border:1px solid rgb(255 255 255/70%);border-radius:24px;background:linear-gradient(145deg,#78b7ec,#5b86cf);box-shadow:0 18px 40px rgb(52 100 163/32%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.teaching-assistant-orb span{font-size:10px;font-weight:800}.teaching-assistant-orb i{position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;color:#fff;background:#f97366;font-size:10px;font-style:normal}.teaching-assistant-strip.is-floating{position:fixed;z-index:87;right:24px;bottom:190px;max-height:min(680px,calc(100vh - 220px));overflow:auto;border-radius:24px;background:rgb(255 255 255/90%);box-shadow:0 28px 80px rgb(26 55 90/24%);-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}.ai-dialogue-modal{display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:22px}.ai-dialogue-layout{height:auto;overflow:hidden}.ai-dialogue-detail{border-radius:16px}.ai-dialogue-turns article{border-radius:14px}.ai-dialogue-award{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ai-dialogue-award .primary-button{flex:0 0 auto;height:28px;padding:0 10px}.teaching-stage.is-fullscreen .teaching-stage-content{display:flex;min-height:0;flex-direction:column;overflow:hidden}.teaching-stage.is-fullscreen .teaching-content-scale,.teaching-stage.is-fullscreen .teaching-content-scale .markdown-render,.teaching-stage.is-fullscreen .teaching-content-scale .md-html-view,.teaching-stage.is-fullscreen .teaching-content-scale>.md-view,.teaching-stage.is-fullscreen .teaching-requirements{display:flex;flex:1 1 auto;min-height:0;width:100%;flex-direction:column}.teaching-stage.is-fullscreen .teaching-requirements .html-sim-block{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.teaching-stage.is-fullscreen .teaching-requirements .html-sim-frame{flex:1 1 auto!important;height:100%!important;min-height:calc(100vh - 230px)!important;max-height:none!important}@media (max-width:760px){.avatar-upload-card,.prep-library-picker{grid-template-columns:1fr}.teaching-assistant-strip.is-floating{right:10px;bottom:96px;width:calc(100vw - 20px);max-height:calc(100vh - 116px)}.teaching-assistant-orb{right:14px;bottom:14px}}.v3-rule-editor{display:grid;grid-gap:14px;gap:14px}.v3-phase-grid,.v3-rule-list{display:grid;grid-gap:8px;gap:8px}.v3-phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-rule-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.v3-rule-row>span,.v3-rule-row>strong,.v3-rule-toggle{flex:1 1}.v3-rule-row label{display:flex;align-items:center;gap:7px;color:#475569;font-size:12px}.v3-rule-row input[type=number]{width:76px;padding:7px}.v3-rule-toggle{color:#0f172a!important;font-weight:700}@media (max-width:720px){.v3-phase-grid{grid-template-columns:1fr}.v3-rule-row{align-items:stretch;flex-direction:column}}.project-presentation-editor{overflow:hidden;border-top:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0;background:#fff}.project-presentation-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:#f8fafc}.project-presentation-head>div{display:grid;grid-gap:3px;gap:3px}.project-presentation-head strong{color:#223047;font-size:13px}.project-presentation-head strong em{margin-left:5px;color:#7b8793;font-size:10px;font-style:normal;font-weight:600}.project-presentation-head span{color:#7b8793;font-size:11px;line-height:1.5}.presentation-state{flex:0 0 auto;padding:4px 8px;border:1px solid #dfe5ec;border-radius:999px;color:#7b8793!important;background:#fff;font-weight:700}.presentation-state.is-ready{border-color:#cce8dc;color:#1f7a58!important;background:#f2faf6}.project-presentation-editor .md-toolbar-rich{position:static}.project-presentation-editor .md-wysiwyg-canvas{min-height:180px;max-height:420px;padding:20px 24px}.question-import-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px 18px;gap:12px 18px;padding:13px 14px;border:1px solid #dbe5f2;border-radius:10px;background:#f8fafc}.question-import-copy{display:flex;align-items:center;gap:11px;min-width:0}.question-import-copy>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.question-import-copy strong{color:#26354b;font-size:13px}.question-import-copy span{color:#718096;font-size:11px;line-height:1.5}.question-import-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;color:#2f6fed!important;background:#eaf1ff}.question-import-actions{display:flex;gap:7px}.question-import-message{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid #e3e9f1;color:#526171;font-size:11px}.open-response-setup{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;margin:16px;padding:18px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.open-response-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#2f6fed;background:#eaf1ff}.open-response-setup>div:nth-child(2){display:grid;grid-gap:4px;gap:4px}.open-response-setup strong{color:#223047;font-size:14px}.open-response-setup p{margin:0;color:#68778a;font-size:12px;line-height:1.6}.open-response-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.open-response-tags span{padding:4px 7px;border:1px solid #dce4ed;border-radius:999px;color:#64748b;background:#fff;font-size:10px}.student-question-paper>div{padding:13px;border:1px solid #e0e6ee;border-radius:9px;background:#fff}.student-question-paper>div>strong{color:#253248;line-height:1.55}.student-question-paper>div>strong em{margin-left:5px;color:#667eea;font-size:10px;font-style:normal}.student-practice-runtime{overflow:hidden;border:1px solid #dfe5ec;border-radius:10px;background:#fff}.student-practice-runtime .md-view{padding:0}@media (max-width:760px){.open-response-setup,.question-import-panel{grid-template-columns:1fr}.question-import-actions{display:grid;grid-template-columns:1fr 1fr}.open-response-tags{justify-content:flex-start}.project-presentation-head{align-items:flex-start}.project-presentation-editor .md-wysiwyg-canvas{min-height:160px;padding:16px}}:root{--person-avatar-size:36px;--person-avatar-font-size:14px}.account-popover-avatar,.animal-avatar,.audit-actor .animal-avatar,.audit-system-avatar,.avatar-upload-preview.animal-avatar,.exhibition-student-line .animal-avatar,.leaderboard-student .animal-avatar,.message-empty .message-peer-avatar,.message-peer-avatar,.message-thread-empty .message-peer-avatar,.ranking-detail-title>.animal-avatar,.student-identity .animal-avatar,.submission-group-identity .animal-avatar,.submission-review-identity .animal-avatar,.user-avatar.animal-avatar{width:var(--person-avatar-size)!important;min-width:var(--person-avatar-size)!important;height:var(--person-avatar-size)!important;min-height:var(--person-avatar-size)!important;flex:0 0 var(--person-avatar-size)!important;padding:0!important;border-radius:50%!important;line-height:1!important}.letter-avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;vertical-align:middle}.letter-avatar b{width:100%;height:100%;display:flex;align-items:center;justify-content:center;margin:0;padding:0;font-size:var(--person-avatar-font-size)!important;font-weight:800;line-height:1!important;text-align:center}.animal-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.student-mobile-avatar,.student-mobile-header .observer-badge.role-avatar-button,.student-mobile-header .student-mobile-avatar.role-avatar-button,.top-avatar{width:var(--person-avatar-size)!important;min-width:var(--person-avatar-size)!important;height:var(--person-avatar-size)!important;min-height:var(--person-avatar-size)!important;padding:0!important;border-radius:50%!important}.account-popover-head{grid-template-columns:var(--person-avatar-size) minmax(0,1fr) auto}.message-empty .message-peer-avatar,.message-thread-empty .message-peer-avatar{margin-bottom:10px;font-size:var(--person-avatar-font-size)}.ai-float{z-index:1550;width:68px;height:68px;display:block}.ai-float .ai-float-window{position:absolute;right:0;bottom:78px}.ai-float.is-left-docked .ai-float-window{right:auto;left:0}.ai-float-button,.teaching-assistant-orb{width:68px;height:68px;border:1px solid rgb(255 255 255/74%);border-radius:50%!important;color:#fff;background:rgb(92 143 207);box-shadow:0 16px 36px rgb(46 83 135/30%);-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;will-change:transform,opacity}.ai-float-button:hover,.teaching-assistant-orb:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgb(46 83 135/35%)}.teaching-assistant-float{position:fixed;right:26px;bottom:104px;z-index:1540;display:block;width:68px;height:68px;touch-action:none}.teaching-assistant-float .teaching-assistant-orb{position:relative;right:auto;bottom:auto;flex:0 0 68px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.teaching-assistant-float .teaching-assistant-orb:active{cursor:-webkit-grabbing;cursor:grabbing}.teaching-assistant-strip.is-floating{position:absolute;right:0;bottom:78px;width:min(660px,calc(100vw - 48px));max-height:min(680px,calc(100vh - 116px));cursor:-webkit-grab;cursor:grab;touch-action:none}.teaching-assistant-float.is-left-docked .teaching-assistant-strip.is-floating{right:auto;left:0}.teaching-assistant-strip.is-floating:active{cursor:-webkit-grabbing;cursor:grabbing}.assistant-opacity-control{display:grid;grid-template-columns:auto minmax(72px,1fr) 38px;align-items:center;grid-gap:7px;gap:7px;min-width:180px;color:#64748b;font-size:10px;font-weight:700}.assistant-opacity-control span{white-space:nowrap}.assistant-opacity-control input{width:100%;height:4px;margin:0;padding:0;accent-color:#5c8fcf;cursor:pointer}.assistant-opacity-control b{color:#486a94;font-size:10px;text-align:right}.ai-float-meta .assistant-opacity-control{width:190px}.teaching-assistant-opacity{margin:0;padding-top:10px;border-top:1px solid rgb(211 224 237/76%)}@media (max-width:760px){.teaching-assistant-float{right:14px;bottom:88px}.teaching-assistant-strip.is-floating{width:calc(100vw - 20px);max-height:calc(100vh - 98px)}.ai-float-meta .assistant-opacity-control{grid-column:1/-1;width:100%}.ai-float-window>header .ai-float-meta{flex-wrap:wrap;justify-content:flex-end}}.submission-review-backdrop{z-index:1700;padding:24px}.submission-review-modal,.submission-review-modal.score-window{display:flex;width:min(1120px,calc(100vw - 48px));max-height:min(92vh,920px);padding:0;overflow:hidden;flex-direction:column;border-radius:14px}.submission-review-modal.score-window{width:min(760px,calc(100vw - 48px))}.submission-review-modal>.modal-header{display:flex;align-items:center;gap:24px;margin:0;padding:20px 24px;flex:0 0 auto;border-bottom:1px solid #e8edf3;background:#fff}.submission-review-heading{min-width:0;flex:1 1}.submission-review-heading>.eyebrow{color:#5968df;font-size:11px;font-weight:800;letter-spacing:.05em}.submission-review-profile{display:flex;align-items:center;gap:18px;margin-top:8px}.submission-review-identity{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin:0}.submission-review-identity>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.submission-review-identity h2{color:#17212b;font-size:20px;line-height:1.2}.submission-review-identity span{color:#7b8793;font-size:11px}.submission-review-meta{display:flex;align-items:center;min-width:0;gap:6px;flex-wrap:wrap}.submission-review-meta>span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#64748b;font-size:11px;line-height:1;white-space:nowrap}.submission-review-meta .review-status-chip{border-color:#f0d9a9;background:#fff8e8;color:#8a5b00;font-weight:700}.submission-review-meta .status-scored{border-color:#bbdfce;background:#f0f9f4;color:#267555}.submission-review-meta .status-rejected{border-color:#efc8c2;background:#fff4f2;color:#a34b43}.submission-review-modal .modal-header-actions{align-items:center;flex:0 0 auto}.submission-review-total{display:grid;grid-template-columns:auto auto;align-items:baseline;min-width:104px;padding:8px 11px;border:1px solid #cfdcf4;border-radius:10px;background:#f6f9ff}.submission-review-total span{grid-column:1/-1;color:#64748b;font-size:10px}.submission-review-total strong{color:#3730a3;font-size:22px;line-height:1.1}.submission-review-total small{margin-left:3px;color:#7b8793;font-size:10px}.submission-review-modal .close-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;background:#f5f7fa;font-size:22px;line-height:1}.submission-review-modal .close-button:hover{background:#edf1f5;color:#475569}.submission-review-modal>.submission-review-body{display:flex;min-height:0;padding:18px;overflow-x:hidden;overflow-y:auto;flex:1 1 auto;gap:14px;background:#f6f8fb}.submission-review-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);align-items:start;grid-gap:14px;gap:14px;min-width:0}.submission-review-layout.observer-only,.submission-review-layout.score-only{grid-template-columns:minmax(0,1fr)}.submission-evidence-column,.submission-score-column{display:grid;min-width:0;grid-gap:10px;gap:10px}.submission-score-column{position:-webkit-sticky;position:sticky;top:0}.submission-score-heading,.submission-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.submission-section-heading{padding:0 2px}.submission-score-heading h3,.submission-section-heading h3{margin:0;color:#1f2937;font-size:14px}.submission-score-heading p,.submission-section-heading p{margin:4px 0 0;color:#7b8793;font-size:11px;line-height:1.5}.submission-score-heading>span,.submission-section-heading>span{padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:700;white-space:nowrap}.submission-review-modal .submission-versions-stack{gap:10px}.submission-review-modal .submission-version-panel{padding:0;overflow:hidden;border-color:#dfe5ec;border-radius:10px;background:#fff}.submission-review-modal .submission-version-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;min-height:58px;margin:0;padding:10px 12px;border-bottom:1px solid #edf0f4;background:#fff}.submission-version-title{display:flex;align-items:baseline;min-width:0;gap:8px}.submission-version-title strong{flex:0 0 auto;color:#17212b;font-size:15px}.submission-version-title span{overflow:hidden;color:#7b8793;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.submission-version-meta{display:flex;align-items:center;gap:5px}.submission-version-meta span{padding:4px 7px;border-radius:999px;background:#f3f5f7;color:#64748b;font-size:10px;white-space:nowrap}.submission-version-meta .is-on-time{background:#ecf8f2;color:#267555}.submission-version-meta .is-late{background:#fff4f2;color:#a34b43}.submission-version-panel>.submission-preview{gap:9px;padding:12px}.submission-version-panel .submission-text{min-height:74px;padding:11px 12px;border-color:#e5eaf0;background:#f8fafc}.submission-review-modal .score-window-panel{padding:14px;border-color:#dfe5ec;border-radius:10px;background:#fff}.submission-review-modal .version-score-editor{margin:12px 0 0;padding:0;overflow:hidden;border-color:#dfe5ec;border-radius:9px}.submission-review-modal .version-score-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:0;padding:9px 11px;border-bottom:1px solid #e8edf3;background:#f8fafc}.submission-review-modal .version-score-editor>header>div:first-child{display:grid;grid-gap:3px;gap:3px}.submission-review-modal .version-score-editor>header>div:first-child strong{color:#17212b;font-size:13px}.submission-review-modal .version-score-editor>header>div:first-child span{color:#7b8793;font-size:10px}.version-weighted-score{display:grid;justify-items:end;flex:0 0 auto}.version-weighted-score span{color:#7b8793;font-size:9px}.version-weighted-score strong{color:#3730a3;font-size:20px;line-height:1.1}.legacy-score-grid,.version-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px}.submission-review-modal .score-dim-row{display:grid;grid-template-columns:minmax(0,1fr) 70px;align-items:center;grid-gap:8px;gap:8px;min-width:0;min-height:54px;margin:0;padding:7px 8px;border:1px solid #e5eaf0;border-radius:8px;background:#fbfcfe}.submission-review-modal .score-dim-row>span{display:grid;min-width:0;grid-gap:2px;gap:2px;color:#475569;font-size:11px;line-height:1.25}.submission-review-modal .score-dim-row em{margin:0;color:#8a96a3;font-size:9px}.submission-review-modal .score-dim-row input{width:70px;min-height:36px;padding:7px 8px;background:#fff;font-size:13px;font-weight:700;text-align:center}.version-score-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-top:1px solid #edf0f4;color:#64748b;font-size:10px}.version-score-footer strong{margin-left:3px;color:#334155;font-size:12px}.submission-review-modal .score-total-line{margin:12px 0 0;padding:12px 2px 0}.submission-review-modal .score-total-line strong{font-size:22px}.submission-score-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.submission-review-modal .submission-score-notes .review-comment{margin:0;color:#526171;font-size:11px}.submission-score-notes .review-comment small{margin-left:4px;color:#8a96a3;font-size:9px;font-weight:500}.submission-review-modal .submission-score-notes textarea{min-height:66px;margin-top:6px;padding:8px 9px;line-height:1.45}.submission-review-modal .submission-reject-panel{padding:0;overflow:hidden;background:#fff}.submission-review-modal .submission-reject-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#334155;cursor:pointer;list-style:none}.submission-review-modal .submission-reject-panel summary::-webkit-details-marker{display:none}.submission-review-modal .submission-reject-panel summary:after{content:"展开";color:#64748b;font-size:10px}.submission-review-modal .submission-reject-panel[open] summary:after{content:"收起"}.submission-review-modal .submission-reject-panel summary span{font-size:12px;font-weight:700}.submission-review-modal .submission-reject-panel summary small{margin-left:auto;color:#8a96a3;font-size:10px}.submission-review-modal .submission-reject-panel textarea{width:calc(100% - 28px);margin:0 14px 14px}.submission-review-modal>.success-note{margin:0;padding:10px 24px;flex:0 0 auto;border-width:1px 0 0;border-radius:0}.submission-review-modal>.submission-review-actions{justify-content:flex-end;gap:8px;margin:0;padding:13px 24px;flex:0 0 auto;border-top:1px solid #e8edf3;background:#fff}.submission-review-modal>.submission-review-actions button{min-width:84px;min-height:36px}@media (max-width:960px){.submission-review-layout{grid-template-columns:minmax(0,1fr)}.submission-score-column{position:static}}@media (max-width:680px){.submission-review-backdrop{padding:0}.submission-review-modal,.submission-review-modal.score-window{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.submission-review-modal>.modal-header{align-items:flex-start;gap:10px;padding:13px 14px;flex-wrap:wrap}.submission-review-heading{width:calc(100% - 44px)}.submission-review-profile{align-items:flex-start;flex-direction:column;gap:8px}.submission-review-modal .modal-header-actions{align-self:flex-start;margin-left:auto}.submission-review-modal .modal-header-actions>.outline-button,.submission-review-total{display:none}.submission-review-modal>.submission-review-body{padding:11px}.submission-review-modal .submission-version-panel>header{grid-template-columns:minmax(0,1fr) auto}.submission-version-meta{grid-column:1/-1;grid-row:2}.legacy-score-grid,.submission-score-notes,.version-score-grid{grid-template-columns:minmax(0,1fr)}.submission-review-modal .score-dim-row{grid-template-columns:minmax(0,1fr) 82px}.submission-review-modal .score-dim-row input{width:82px}.submission-review-modal .submission-reject-panel summary small{display:none}.submission-review-modal>.submission-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 11px max(10px,env(safe-area-inset-bottom))}.submission-review-modal>.submission-review-actions button{width:100%;min-width:0}}