.classroom-workflow{display:grid;gap:8px}.classroom-workflow .workflow-shell{align-content:start;gap:0;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.classroom-workflow .workflow-progress{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;align-content:flex-end;gap:8px;width:fit-content;max-width:100%;margin-bottom:-1px;padding:0;border:0;background:transparent;box-shadow:none}.workflow-step{position:relative;z-index:1;display:flex;align-items:center;gap:8px;flex:0 0 auto;max-width:100%;min-height:38px;border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0;padding:9px 14px;background:transparent;color:#526173;text-align:left;box-shadow:none;transition:none}.workflow-step-copy{min-width:0;display:flex;align-items:baseline;gap:7px;white-space:nowrap}.workflow-step>span,.step-heading>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#dce8f0;color:#4c5d70;font-size:13px;font-weight:900}.workflow-step strong{flex:0 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-step small{display:inline-flex;align-items:center;max-width:100%;min-width:0;min-height:22px;padding:2px 8px;border:1px solid #d6e5f0;border-radius:999px;background:#f5f9fc;color:#53677d;font-size:12px;font-weight:820;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-step.done{border-color:transparent;background:transparent}.workflow-step.done small{border-color:#bee5d1;background:#eefbf4;color:#147346}.workflow-step.active{z-index:2;border-color:#9bcbed;border-bottom-color:#fff;background:#fff;color:var(--primary-strong);box-shadow:none}.workflow-step.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#fff}.workflow-step.active small{border-color:#a7d6f3;background:#edf8ff;color:var(--primary-strong)}.workflow-step:hover:not(:disabled){border-color:#c8e5f6;background:#f7f9fc}.workflow-step:focus{outline:none}.workflow-step:focus-visible{border-color:#88c8f0;box-shadow:0 0 0 3px #168fd324}.workflow-step.active:focus-visible{border-bottom-color:#fff}.workflow-step:disabled{transform:none;background:transparent}.workflow-step:disabled small{border-color:#dce5ec;background:#eef3f7;color:#91a0ad}.workflow-step.done>span,.workflow-step.active>span,.step-heading>span{background:var(--primary);color:#fff}.workflow-form-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px}.workflow-card{display:grid;align-content:start;gap:14px}.classroom-workflow .workflow-current-panel{position:relative;z-index:0;min-width:0;margin-top:-1px;border:1px solid #dbe4ee;border-radius:var(--radius);padding:16px;background:#fff;box-shadow:var(--shadow-sm)}.workflow-shell:has(.workflow-step.active:first-of-type) .workflow-current-panel{border-top-left-radius:0}.classroom-step-panel{align-content:start}.matrix-panel,.distribution-panel{display:grid;align-content:start;gap:14px}.workflow-step-summary,.matrix-summary{margin:0;color:#52647a;font-size:14px;font-weight:820;line-height:1.45}@media(prefers-reduced-motion:reduce){.workflow-step{transition:none}}.workflow-navigation{justify-content:flex-end;padding-top:2px}.step-heading{display:flex;align-items:flex-start;gap:10px}.step-heading.inline{align-items:center}.step-heading p{margin-top:3px}.compact-controls{align-items:end}.auto-term-field{display:grid;gap:6px;min-width:0}.auto-term-field span{color:#34465f;font-size:12px;font-weight:800}.auto-term-field strong{display:flex;align-items:center;min-height:44px;overflow:hidden;border:1px solid #d8e5f1;border-radius:var(--radius);padding:0 12px;background:#f7fbff;color:var(--primary-strong);font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.classroom-timetable-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe9f2;border-radius:var(--radius);padding:10px 12px;background:#f8fbff}.timetable-step-heading{flex:1 1 auto;min-width:0}.timetable-step-copy{display:flex;align-items:baseline;gap:10px;min-width:0;white-space:nowrap}.timetable-step-copy h3{flex:0 0 auto}.timetable-count-pill{flex:0 0 auto;border:1px solid #b9dbf4;border-radius:999px;background:#eaf7ff;color:var(--primary-strong);padding:3px 9px;font-size:12px;font-weight:900;line-height:1.15}.timetable-step-copy .muted{min-width:0;overflow:hidden;text-overflow:ellipsis}.timetable-week-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;white-space:nowrap}.timetable-week-actions button{min-width:64px;min-height:36px;padding:0 12px;font-size:13px;font-weight:850;line-height:1}.timetable-week-actions .week-current-button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 18px #168fd32e}.classroom-timetable-wrap{overflow-x:auto;border:1px solid #d8e5f1;border-radius:var(--radius);background:#fff}.classroom-timetable{width:100%;min-width:900px;table-layout:fixed;border-collapse:separate;border-spacing:0}.classroom-timetable th,.classroom-timetable td{border-right:1px solid #e3edf5;border-bottom:1px solid #e3edf5;padding:8px;vertical-align:top}.classroom-timetable thead th{position:sticky;top:0;z-index:1;background:#eef6fb;color:#34465f;font-size:12px;font-weight:900;text-align:center;white-space:nowrap}.classroom-timetable thead th:not(.time-col) span{display:block;line-height:1.2}.classroom-timetable thead .timetable-weekday-date{color:#1d76c9;font-size:13px}.classroom-timetable thead th.is-today{background:radial-gradient(circle at top right,rgba(249,115,22,.18),transparent 34px),linear-gradient(180deg,#fff7ed,#fffaf0);border-color:#f4c46a;color:#7c2d12;box-shadow:inset 0 3px #f59e0b,inset 1px 0 #f4c46a,inset -1px 0 #f4c46a,0 2px 8px #d977061f}.classroom-timetable thead th.is-today:after{content:"";position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:999px;background:#f97316;box-shadow:0 0 0 4px #f9731629}.classroom-timetable thead th.is-today .timetable-weekday-date{color:#9a3412;font-weight:950}.classroom-timetable tbody td.is-today{background:linear-gradient(180deg,#fffaf0,#fffdf8);box-shadow:inset 2px 0 #f6c453,inset -2px 0 #f6c453}.classroom-timetable tbody th{background:#f7fbff;color:#34465f;font-size:13px;font-weight:900;text-align:center;white-space:nowrap}.classroom-timetable tr:last-child th,.classroom-timetable tr:last-child td{border-bottom:0}.classroom-timetable th:last-child,.classroom-timetable td:last-child{border-right:0}.time-col{width:92px;min-width:92px}.classroom-timetable thead th:not(.time-col),.classroom-timetable tbody td{width:calc((100% - 92px) / 7)}.time-col strong{display:block;color:#44566d;font-size:12px;font-weight:900;line-height:1.25}.timetable-cell-list{display:grid;gap:6px;align-items:stretch;width:100%;min-height:52px;min-width:0}.timetable-class-button{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:6px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 9px;background:#f9fcff;color:#243247;text-align:left;box-shadow:0 8px 18px #1f385614}.timetable-class-button:hover,.timetable-class-button.selected{border-color:var(--primary);filter:saturate(1.08);transform:translateY(-1px)}.timetable-class-button strong,.timetable-class-button span,.timetable-class-button small{min-width:0}.timetable-class-button strong{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;font-weight:900;line-height:1.18}.timetable-class-button span{color:#34506b;font-size:12px;font-weight:800}.timetable-class-button small{color:var(--muted);font-size:11px;font-weight:750}.timetable-class-button em{display:inline-flex;align-items:center;justify-content:center;justify-self:end;border-radius:999px;padding:2px 6px;background:#ffffffc7;color:var(--primary-strong);font-size:11px;font-style:normal;font-weight:850;line-height:1;white-space:nowrap}@media(max-width:920px){.timetable-class-button{grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;padding:7px 8px;text-align:center}.timetable-class-button em{justify-self:center}}.timetable-class-button.tone-1{background:#f4a8b394}.timetable-class-button.tone-2{background:#f9cd809e}.timetable-class-button.tone-3{background:#9edaaa9e}.timetable-class-button.tone-4{background:#89cddd9e}.timetable-class-button.tone-5{background:#aeade89e}.timetable-class-button.tone-6{background:#efb3de99}.timetable-empty-cell{display:grid;place-items:center;min-height:44px;color:#b3c0cc;font-weight:800}.timetable-unavailable{display:grid;gap:8px;border:1px dashed #d6e2ee;border-radius:var(--radius);padding:10px 12px;background:#fbfdff}.timetable-unavailable>strong{color:#34465f;font-size:13px;font-weight:900}.timetable-unavailable>div{display:flex;flex-wrap:wrap;gap:6px}.unavailable-class-chip{border-radius:999px;padding:5px 8px;background:#eef3f7;color:#5d6b7c;font-size:12px;font-weight:800}.classroom-course-strip{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(160px,.8fr);gap:10px;align-items:end;border:1px solid #dfe9f2;border-radius:var(--radius);padding:10px;background:#f8fbff}.classroom-course-strip>div,.classroom-course-strip>label{display:grid;gap:6px;min-width:0}.classroom-course-strip span,.classroom-course-strip label{color:#34465f;font-size:12px;font-weight:800}.classroom-course-strip strong{display:flex;align-items:center;min-height:38px;min-width:0;overflow:hidden;border:1px solid #d8e5f1;border-radius:var(--radius);padding:0 10px;background:#fff;color:#1f3348;text-overflow:ellipsis;white-space:nowrap}.matrix-panel,.distribution-panel{scroll-margin-top:16px}.question-reference-panel{gap:12px}.question-reference-panel:not([open]){padding-top:8px;padding-bottom:8px}.question-reference-panel .question-card{border-color:#b8cee3;box-shadow:0 8px 22px #2f52731a,0 0 0 1px #2a7bc714}.question-reference-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.question-reference-panel summary::-webkit-details-marker{display:none}.question-reference-panel summary strong{order:1}.question-reference-panel summary span{order:3;margin-left:auto;color:var(--muted);font-weight:750}.question-reference-panel summary:after{content:"展开";order:2;flex:0 0 auto;border:1px solid #b9d8f0;border-radius:999px;padding:4px 10px;background:#eef8ff;color:var(--primary-strong);font-size:12px;font-weight:850}.question-reference-panel summary:hover:after{border-color:var(--primary);background:#e4f4ff}.question-reference-panel[open] summary{padding-bottom:10px;border-bottom:1px solid #e5edf5}.question-reference-panel[open] summary:after{content:"收起"}.inline-input{margin-top:14px}.primary{background:var(--primary);color:#fff;box-shadow:0 10px 20px #0073ba29}.primary:hover:not(:disabled){background:var(--primary-strong)}.ghost{background:#f3f6f9;color:#334155;border:1px solid #e0e7ef}.ghost:hover:not(:disabled){background:#eaf1f7;border-color:#ced9e6}.ghost.active{background:var(--primary-soft);color:var(--primary-strong);border-color:#91cbed}.danger{background:var(--danger);color:#fff;box-shadow:0 10px 20px #c9352b24}.danger:hover:not(:disabled){background:#a92a22}.ghost.danger{margin-top:auto;background:var(--danger-soft);color:#a92a22;border-color:#ffd9d4;box-shadow:none}.segmented{display:inline-grid;grid-auto-flow:column;gap:4px;width:fit-content;background:#edf2f7;border:1px solid #dce4ee;border-radius:var(--radius);padding:4px}.segmented button{min-height:34px;border-radius:6px;background:transparent;color:#536174;padding:0 14px;font-weight:800}.segmented button.active{background:#fff;color:var(--primary-strong);box-shadow:var(--shadow-sm)}.segmented.compact button{min-height:32px;padding:0 10px}.rollcall-page,.roll-tab-content{display:grid;gap:16px;min-width:0}.roll-tabs{padding:12px}.roll-tab-switch{max-width:100%}.roll-tab-switch button:disabled{color:#93a1b2;cursor:not-allowed}.roll-course-panel{align-content:start}.roll-context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;border:1px solid #dce6f0;border-radius:var(--radius);padding:10px;background:#ffffffe6;box-shadow:var(--shadow-sm)}.roll-context-strip div{min-width:0;display:grid;gap:3px;border-radius:8px;padding:8px 10px;background:#f6f9fc}.roll-context-strip span{color:var(--faint);font-size:12px;font-weight:800}.roll-context-strip strong{min-width:0;overflow:hidden;color:#263349;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.student-grid button{min-height:42px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);color:#2f3b4d;font-weight:750;box-shadow:var(--shadow-sm)}.student-grid button.selected,.student-grid button.lucky{background:var(--amber-soft);border-color:#efc979;color:#815000}.student-grid button.scored{background:#eaf7ff;border-color:#c2e3f8;color:#0b6fae}.roll-main-panel{grid-template-rows:auto auto minmax(0,1fr);height:clamp(430px,calc(100vh - 300px),680px);overflow:hidden}.roll-results-panel{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start}.roll-results-section{display:grid;gap:12px;min-width:0}.roll-history-panel.report-box{margin-top:0;padding-top:0;border-top:0}.roll-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 4px 2px;scrollbar-gutter:stable}.roll-grid button{display:grid;justify-items:center;align-content:center;gap:7px;min-height:68px;padding:10px 12px;text-align:center;line-height:1.1;overflow:hidden}.roll-student-name{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:850}.roll-student-score{display:inline-grid;place-items:center;min-width:44px;height:22px;border-radius:999px;padding:0 9px;background:#eef3f8;color:#617083;font-size:14px;font-weight:850}.roll-grid button.lucky .roll-student-score{background:#ffffff9e;color:#815000}.roll-grid button.scored .roll-student-score{background:#d7efff;color:#0b6fae}.roll-grid button.focused{border-color:var(--primary);background:#f6fbff;color:var(--primary-strong);box-shadow:0 0 0 3px #0073ba24,var(--shadow-sm)}.roll-grid button.focused .roll-student-score{background:var(--primary-soft);color:var(--primary-strong)}.lucky{background:var(--amber-soft);border:1px solid #f0cf84;color:#875700;border-radius:var(--radius);padding:14px;font-size:22px;font-weight:900;text-align:center}table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e4ebf3;border-radius:var(--radius);background:#fff}th,td{padding:12px 11px;border-bottom:1px solid #e8eef5;text-align:left;font-size:14px;vertical-align:top}th{color:#59687d;background:#f6f8fb;font-size:12px;letter-spacing:0;font-weight:850}tbody tr{cursor:pointer}tbody tr:last-child td{border-bottom:0}tbody tr:hover,tbody tr.selected{background:#eef8ff}.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.roll-section-head{align-items:center}.roll-head-tools{display:flex;flex:1;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:10px;min-width:0}.roll-student-search{position:relative;width:min(280px,100%);min-width:210px}.roll-student-search-control{position:relative;min-width:0}.roll-student-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:35;display:grid;gap:4px;max-height:224px;overflow-y:auto;padding:6px;border:1px solid #d6e1ed;border-radius:var(--radius);background:#fff;box-shadow:0 14px 34px #21304a29}.roll-student-match{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:34px;border:0;border-radius:6px;padding:0 9px;background:transparent;color:#334155;box-shadow:none;text-align:left}.roll-student-match span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-student-match strong{color:var(--muted);font-size:12px}.roll-student-match:hover{background:var(--primary-soft);color:var(--primary-strong);transform:none}.roll-student-match:hover strong{color:var(--primary-strong)}.roll-student-empty{min-height:34px;display:flex;align-items:center;padding:0 9px;color:var(--muted);font-size:13px;font-weight:650}.field-actions{display:flex;align-items:end;gap:10px}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:22px;color:var(--muted);background:#fafcff;text-align:center}.mark-mode-switch{grid-column:3;justify-self:end}.question-entry-list{display:grid;gap:8px;max-height:clamp(280px,42vh,480px);overflow:auto;padding-right:4px;scrollbar-gutter:stable}.question-entry-rule{margin:0 0 8px;color:var(--faint);font-size:12px;font-weight:800;line-height:1.45}.question-entry-row{display:grid;grid-template-columns:minmax(140px,.42fr) minmax(180px,.62fr) minmax(180px,1fr);align-items:center;gap:10px;min-width:0;border:1px solid #e2eaf3;border-radius:var(--radius);padding:10px;background:#fff}.question-entry-row.invalid{border-color:#f2b8b2;background:snow}.question-entry-row.active{border-color:#86c5ee;background:#f5fbff;box-shadow:0 0 0 2px #0081cc1f,0 8px 18px #28588214}.question-entry-row.invalid.active{border-color:#f2b8b2;background:snow;box-shadow:0 0 0 2px #c628281a}.question-entry-student{display:grid;gap:2px;min-width:0}.question-entry-student strong{min-width:0;overflow:hidden;color:#243247;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.question-entry-student small{color:var(--faint);font-weight:800}.question-entry-input{gap:5px}.question-entry-input input{min-height:36px;padding:7px 9px}.question-entry-input input::placeholder{color:#8fa0b4;opacity:1}.question-entry-result{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}.entry-error{color:#a92a22;font-size:12px;font-weight:800;line-height:1.45}.action-error{margin-left:auto}.matrix-wrap{width:100%;overflow:auto;border:1px solid #dce6f0;border-radius:var(--radius);max-height:clamp(260px,34vh,360px);background:#fff;scrollbar-gutter:stable;overscroll-behavior:contain}.matrix-table{width:max-content;min-width:0;border:0;border-radius:0}.matrix-table th,.matrix-table td{text-align:center;white-space:nowrap;padding:6px}.matrix-table th:not(.student-col),.matrix-table td:not(.student-col){width:56px;min-width:56px;max-width:56px}.matrix-table thead th{position:sticky;top:0;z-index:2;background:#f6f8fb;box-shadow:inset 0 -1px #dce6f0}.matrix-table .student-col{position:sticky;left:0;z-index:3;background:#f6f8fb;text-align:left;width:96px;min-width:96px;max-width:96px;overflow:hidden;text-overflow:ellipsis}.matrix-table .student-col span{display:block;overflow:hidden;text-overflow:ellipsis}.matrix-table .student-col small{display:block;color:var(--faint);font-size:11px;font-weight:800}.matrix-table tbody .student-col{background:#fff;font-weight:850}.matrix-table tbody tr:hover .student-col{background:#eef8ff}.matrix-cell{width:42px;height:34px;border-radius:6px;border:1px solid #cbd7e5;background:#fff;color:#fff;font-weight:900;box-shadow:inset 0 0 0 1px #fff6}.matrix-cell:hover:not(:disabled){background:#f4f8fc;border-color:var(--primary)}.matrix-cell.selected{background:var(--danger);border-color:#a92a22;color:#fff}.matrix-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.matrix-search-center{position:relative;display:flex;grid-column:2;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap;margin:0;padding:5px 6px;border:1px solid #e2ebf4;border-radius:10px;background:#fbfdff}.compact-field{min-width:180px}.matrix-search-center .compact-field{display:flex;align-items:center;gap:8px;min-width:0;color:#516174;font-size:12px;white-space:nowrap}.matrix-search-center input{width:260px;min-height:32px;padding:6px 9px;border-radius:8px;font-size:13px}.matrix-search-center input:focus,.question-entry-input input:focus{border-color:#58b87a;background:#f0fff5;box-shadow:0 0 0 3px #2ca05c2e}.matrix-search-center .ghost{min-height:32px;padding:0 10px;border-radius:8px;font-size:12px;white-space:nowrap}.keyboard-guide-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid #9bcbed;border-radius:999px;padding:0 12px;background:#eef8ff;color:var(--primary-strong);font-size:12px;font-weight:850;white-space:nowrap;box-shadow:none}.keyboard-guide-trigger svg{width:16px;height:16px;flex:0 0 auto;fill:#fff;stroke:#c62828;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.keyboard-guide-trigger svg circle{fill:#fff;stroke:#c62828}.keyboard-guide-trigger svg path{fill:none;stroke:#c62828}.keyboard-guide-trigger:hover,.keyboard-guide-trigger[aria-expanded=true]{border-color:var(--primary);background:#e0f2ff;transform:none}.keyboard-guide-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;display:grid;gap:8px;width:min(340px,calc(100vw - 32px));border:1px solid #c8dcec;border-radius:var(--radius);padding:12px;background:#fff;color:#2f4056;box-shadow:0 16px 34px #2036522e}.keyboard-guide-popover:before{content:"";position:absolute;top:-7px;right:28px;width:12px;height:12px;border-top:1px solid #c8dcec;border-left:1px solid #c8dcec;background:#fff;transform:rotate(45deg)}.keyboard-guide-popover>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.keyboard-guide-popover strong{color:#1f3348;font-size:13px;font-weight:900}.keyboard-guide-popover button{display:grid;place-items:center;width:24px;height:24px;min-height:0;border:0;border-radius:999px;padding:0;background:#eef3f8;color:#58708b;font-size:18px;line-height:1;box-shadow:none}.keyboard-guide-popover button:hover{background:#dfeaf4;transform:none}.keyboard-guide-popover ol{display:grid;gap:6px;margin:0;padding-left:18px;color:#52647a;font-size:12px;font-weight:760;line-height:1.45}.keyboard-guide-popover kbd{display:inline-grid;place-items:center;min-width:24px;min-height:20px;margin:0 2px;border:1px solid #cddbeb;border-radius:5px;background:#f7fbff;color:#1f5f93;font-family:inherit;font-size:11px;font-weight:900;box-shadow:inset 0 -1px #4c678426}.keyboard-guide-focus-swatch{display:inline-flex;align-items:center;min-height:20px;margin-right:2px;padding:0 6px;border:1px solid rgba(44,160,92,.28);border-radius:999px;background:#f0fff5;color:#1f7a45;font-weight:850}.question-toggle{display:grid;place-items:center;gap:2px;width:48px;min-height:42px;border-radius:6px;border:1px solid transparent;background:transparent;color:#46566b;padding:4px;font-size:12px;font-weight:900}.question-toggle small{color:var(--faint);font-size:10px;font-weight:850}.question-toggle:hover:not(:disabled),.question-toggle.active{background:var(--primary-soft);border-color:#a7d6f3;color:var(--primary-strong)}.question-toggle.active small{color:var(--primary-strong)}@media(max-width:1320px){.question-layout{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr)}.question-editor-panel{grid-column:1 / -1}}@media(max-width:1180px){.question-layout{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr)}.question-editor-panel{grid-column:1 / -1}.students-grid,.plan-grid,.params-grid,.backup-grid,.org-grid,.settings-subgrid{grid-template-columns:1fr}.students-grid>.settings-primary-card,.students-grid>.settings-side-card{height:auto;overflow:visible}.schedule-compact-controls{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;max-height:none;position:static;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,136px),1fr))}.subject-orbit{flex:0 0 auto;min-height:180px;max-height:none}.subject-orbit-stage{height:170px}.workspace{padding:18px}.page-grid,.settings-workspace,.settings-grid,.settings-subgrid,.bank-select-layout,.bank-lesson-layout,.workflow-form-grid,.schedule-compact-controls,.control-grid.two,.control-grid.three,.control-grid.four,.control-grid.five,.template-row,.question-layout,.lesson-picker,.material-picker{grid-template-columns:1fr}.bank-current,.material-pdf-item{align-items:stretch;flex-direction:column}.bank-current{grid-template-columns:1fr}.bank-current .row-actions{justify-content:flex-start}.bank-create-panel,.bank-lesson-editor,.settings-menu{position:static}.students-grid>.settings-primary-card,.students-grid>.settings-side-card{height:auto;overflow:visible}.settings-scroll-list{max-height:420px}.settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:stretch;flex-direction:column}.bank-search-head{align-items:center;flex-direction:row}.matrix-head{grid-template-columns:1fr}.workflow-progress,.bank-stepper{width:100%}.classroom-course-strip{grid-template-columns:1fr}.roll-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-results-panel{grid-template-columns:1fr}.matrix-search-center{flex-wrap:wrap;grid-column:1;justify-content:flex-start;justify-self:stretch}.matrix-search-center .compact-field{flex:1 1 260px}.mark-mode-switch{grid-column:1;justify-self:stretch}.question-entry-row{grid-template-columns:minmax(130px,.45fr) minmax(180px,.55fr)}.question-entry-result{grid-column:1 / -1}.matrix-search-center input,.segmented{width:100%}.segmented button{min-width:0}}@media(max-width:640px){.workspace,.panel{padding:14px}.workflow-step,.bank-stepper button{width:100%}.classroom-timetable-head{align-items:stretch;flex-direction:column}.timetable-week-actions{flex-wrap:wrap;justify-content:stretch}.timetable-week-actions button{flex:1 1 0;width:100%}.classroom-timetable{min-width:820px}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,144px),1fr))}.subject-orbit{display:none}.row-actions{align-items:stretch;flex-direction:column}.question-entry-row{grid-template-columns:1fr}.question-entry-result{grid-column:auto}.keyboard-guide-popover{right:0;left:0;width:auto}.action-error{margin-left:0}.roll-head-tools,.roll-student-search{width:100%;min-width:0}.roll-context-strip{grid-template-columns:1fr}.roll-head-tools>button{width:100%}.row-actions>button,.row-actions>a{width:100%}.template-row,.template-row.compact,.teacher-option,.rank-list li,.settings-nav{grid-template-columns:1fr}}@media(max-width:420px){.bank-row{grid-template-columns:1fr}}.bank-list,.question-card-grid{display:grid;gap:10px}.bank-list{align-content:start}.bank-workspace{display:grid;gap:0}.bank-workspace .bank-workspace-shell{gap:0;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.bank-workspace .bank-tab-page{min-width:0;padding:16px;border:1px solid #dbe4ee;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.bank-workspace-shell:has(.bank-stepper button.active:first-child) .bank-tab-page{border-top-left-radius:0}.bank-select-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.55fr);gap:16px;align-items:start}.bank-workspace .bank-search-panel{align-content:start;gap:14px;border:0;background:transparent;box-shadow:none}.bank-search-head{align-items:center}.bank-search-head .ghost{min-height:34px;padding:0 12px;box-shadow:none;white-space:nowrap}.bank-search-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}.bank-search-panel h3{font-size:16px;font-weight:850;line-height:1.3;white-space:nowrap}.bank-search-title span{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:0 8px;background:#f1f7fc;color:var(--muted);font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.bank-filter-grid{grid-template-columns:minmax(210px,.42fr) minmax(280px,.5fr) auto;align-items:end;gap:12px}.bank-filter-grid label{gap:6px;font-size:12px;font-weight:750}.bank-filter-grid input,.bank-filter-grid select{min-height:38px;padding:8px 10px;font-size:13px}.bank-filter-grid .primary{min-height:38px;padding:0 16px;box-shadow:none}.bank-workspace .bank-create-panel{position:sticky;top:20px;align-self:start;border:0;background:transparent;box-shadow:none}.bank-create-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:#243447}.bank-create-panel summary::-webkit-details-marker{display:none}.bank-create-panel summary:after{content:"+";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:900}.bank-create-panel[open] summary:after{content:"-"}.bank-stepper{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;align-content:flex-end;gap:8px;width:fit-content;max-width:100%;margin-bottom:-1px;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.bank-stepper button{position:relative;display:flex;align-items:center;gap:10px;flex:0 0 auto;max-width:100%;min-height:38px;border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0;padding:9px 14px;background:transparent;color:#526173;font-weight:900;transition:none}.bank-stepper button:hover:not(:disabled):not(.active){border-color:#c8e5f6;background:#f7f9fc;color:#182133}.bank-stepper button.active{z-index:1;background:#fff;border-color:#9bcbed;border-bottom-color:#fff;color:var(--primary-strong);box-shadow:none}.bank-stepper button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#fff}.bank-stepper button:focus{outline:none}.bank-stepper button:focus-visible{border-color:#88c8f0;box-shadow:0 0 0 3px #168fd324}.bank-stepper button.active:focus-visible{border-bottom-color:#fff;box-shadow:0 0 0 3px #168fd324}.bank-stepper button:disabled{transform:none}.bank-stepper button:disabled:not(.active){background:transparent;color:#91a0ad}.bank-stepper button span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#dce8f0;color:#4c5d70}.bank-stepper button.active span{background:var(--primary);color:#fff}.bank-workspace .bank-current{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:10px 12px;border:0;background:transparent;box-shadow:none}.bank-current-copy{display:grid;gap:2px;min-width:0}.bank-current h3{font-size:16px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-current p{margin:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.bank-current .bank-current-description-empty{color:#8a98a8}.bank-current .row-actions{justify-content:flex-end;gap:8px;min-width:0}.bank-current .row-actions>button{min-height:34px;padding:0 12px;border-radius:8px;white-space:nowrap}.bank-description-editor{display:grid;grid-column:1 / -1;gap:8px;border:1px solid #c9e3f6;border-radius:8px;padding:10px;background:#f5faff}.bank-description-editor label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:800}.bank-description-editor textarea,.bank-create-panel textarea{min-height:76px;resize:vertical}.bank-description-editor .row-actions{justify-content:flex-end}.bank-lesson-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:16px;align-items:start}.bank-lesson-layout.without-editor{grid-template-columns:1fr}.bank-lesson-layout>.full{grid-column:1 / -1}.bank-workspace .bank-material-panel,.bank-workspace .bank-lesson-editor{align-content:start;border:0;background:transparent;box-shadow:none}.bank-material-panel{gap:14px}.bank-material-panel .section-head{align-items:center}.bank-material-panel .section-head .primary{min-height:38px;padding:0 14px;box-shadow:none}.bank-lesson-editor{position:sticky;top:20px;gap:12px}.bank-lesson-editor h3{font-size:15px}.bank-lesson-editor input{min-height:38px;padding:8px 10px;font-size:13px}.bank-lesson-editor .primary{min-height:38px;box-shadow:none}.bank-lesson-editor .ghost.danger{margin-top:0;min-height:38px;box-shadow:none}.bank-lesson-editor .section-head.compact{gap:8px}.editor-section{--editor-accent: var(--primary);--editor-bg: #f4faff;--editor-border: #c9e3f6;--editor-head-bg: rgba(22, 143, 211, .06);overflow:hidden;border:1px solid var(--editor-border);border-radius:var(--radius);background:var(--editor-bg);box-shadow:inset 4px 0 0 var(--editor-accent),0 1px 2px #1a263a0a}.editor-section.template-section{--editor-accent: #168fd3;--editor-bg: #f3f9ff;--editor-border: #c8e4f8;--editor-head-bg: rgba(22, 143, 211, .07)}.editor-section.lesson-section{--editor-accent: #c17912;--editor-bg: #fff8ec;--editor-border: #f1d7a8;--editor-head-bg: rgba(193, 121, 18, .08)}.editor-section.material-section{--editor-accent: #1f8f55;--editor-bg: #f2fbf6;--editor-border: #bfe6cf;--editor-head-bg: rgba(31, 143, 85, .08)}.editor-section.open{box-shadow:inset 4px 0 0 var(--editor-accent),0 8px 20px #1a263a14}.editor-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;background:var(--editor-head-bg)}.editor-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:36px;padding:0;background:transparent;color:#2f3b4d;text-align:left}.editor-section-toggle:hover{transform:none}.editor-section-toggle>span:first-child{display:grid;gap:3px;min-width:0}.editor-section-title{color:#243247;font-size:14px;font-weight:850;line-height:1.25}.editor-section-summary{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.editor-section-state{flex:0 0 auto;color:var(--primary-strong);font-size:12px;font-weight:850}.editor-section-body{display:grid;gap:10px;border-top:1px solid #e5edf5;padding:10px;background:#fbfdff}.material-form-list{display:grid;gap:8px}.material-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 72px auto;gap:8px;align-items:end}.material-form-row label{min-width:0}.material-form-row .sort-field input{text-align:center}.material-current-actions{justify-content:flex-start}.question-card,.record-source{border:1px solid #e2eaf3;border-radius:var(--radius);background:#fff;padding:12px}.course-result-card{display:grid;grid-template-columns:minmax(0,1fr) 126px;min-height:168px;overflow:hidden;border:1px solid #dce6f0;border-radius:var(--radius);background:#fff;box-shadow:0 1px 2px #1a263a0a}.course-result-card.selected{border-color:#7fc3eb;box-shadow:inset 3px 0 0 var(--primary),0 1px 2px #1a263a0d}.course-result-card__main{display:grid;gap:8px;min-width:0;padding:12px 14px}.course-result-card__header{display:grid;gap:4px;min-width:0}.course-result-card__identity,.course-result-card__summary,.course-result-card__materials{display:flex;align-items:center;flex-wrap:wrap}.course-result-card__identity{gap:6px}.course-result-card__identity>strong{min-width:0;overflow:hidden;color:#182133;font-size:15px;font-weight:850;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.course-result-card__linked{display:inline-flex;align-items:center;min-height:20px;border-radius:999px;padding:0 7px;font-size:11px;font-weight:850;line-height:1}.course-result-card__linked{border:1px solid #a7e4be;background:#eaf8ef;color:#166534}.course-result-card__question-help{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;box-sizing:border-box;border:1px solid #bdd7e9;border-radius:999px;background:#f2f8fc;color:#397294;font-size:11px;font-weight:850;line-height:1;cursor:help}.course-result-card__question-tooltip{position:absolute;z-index:20;top:50%;left:calc(100% + 7px);width:max-content;max-width:140px;visibility:hidden;border:1px solid #cbdce8;border-radius:6px;padding:5px 8px;background:#fff;box-shadow:0 8px 20px #1f2d4729;color:#334155;font-size:12px;font-weight:750;line-height:1.3;opacity:0;pointer-events:none;transform:translate(-2px,-50%);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;white-space:nowrap}.course-result-card__question-help:hover .course-result-card__question-tooltip,.course-result-card__question-help:focus-visible .course-result-card__question-tooltip{visibility:visible;opacity:1;transform:translateY(-50%)}.course-result-card__question-help:hover,.course-result-card__question-help:focus-visible{border-color:#74b9df;background:#e7f4fb;color:#136f9e;outline:none}.course-result-card__question-help:focus-visible{box-shadow:0 0 0 2px #2397d32e}.course-result-card__summary{gap:4px 8px;color:#526173;font-size:12px;font-weight:750}.course-result-card__summary>span+span:before{content:"·";margin-right:8px;color:#9aa8b5}.course-result-card__description{min-width:0;overflow:hidden;color:var(--muted);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.course-result-card__material-legend{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;min-height:24px;box-sizing:border-box;border:1px solid #ccdeeb;border-radius:6px;padding:2px 6px;background:#f2f7fb;color:#334155;font-weight:700}.course-result-card__summary>.course-result-card__material-legend:before{content:none;margin-right:0}.course-result-card__material-legend-title{display:inline-flex;align-items:center;color:#526173;font-weight:800;white-space:nowrap}.course-result-card__material-legend-item{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.course-result-card__material-legend-swatch{flex:0 0 12px;width:12px;height:12px;box-sizing:border-box;border:1px solid #21a95e;border-radius:3px;background:#32bb6d;box-shadow:inset 0 1px #ffffff38}.course-result-card__material-legend-note{display:inline-flex;align-items:center;gap:3px;color:#182133;font-weight:650;white-space:nowrap}.course-result-card__material-legend-pending-swatch{flex:0 0 12px;width:12px;height:12px;box-sizing:border-box;border:1px solid #d7e0ea;border-radius:3px;background:#edf2f7}.course-result-card__content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:start;min-width:0;border-top:1px solid #e2eaf3;padding-top:8px}.course-result-card__lesson-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:stretch;gap:4px;min-width:0}.course-result-card__lesson{display:flex;align-items:center;gap:2px;min-width:0;max-width:100%;overflow:hidden;border:1px solid #dce8f3;border-radius:7px;padding:3px;background:#fbfdff}.course-result-card__lesson>strong{color:#253246;font-size:11px;font-weight:850;white-space:nowrap}.course-result-card__materials{flex-wrap:nowrap;gap:1px;min-width:0;overflow:hidden}.course-result-card__material{display:inline-flex;align-items:center;flex:0 0 5px;width:5px;height:16px;box-sizing:border-box;border-radius:2px}.course-result-card__material.ready{border:1px solid #21a95e;background:#32bb6d;box-shadow:inset 0 1px #ffffff38}.course-result-card__material.pending{border:1px solid #d7e0ea;background:#edf2f7}.course-result-card__overflow,.course-result-card__empty-material,.course-result-card__lesson-overflow,.course-result-card__empty-lessons{color:var(--muted);font-size:11px;font-weight:750}.course-result-card__lesson-overflow{align-self:center;white-space:nowrap}.course-result-card__empty-lessons{display:grid;grid-column:1 / -1;place-items:center;min-height:74px;border:1px dashed #ced9e4;border-radius:7px;background:#fbfcfe}.course-result-card__actions{z-index:2;grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;border-left:1px solid #e2eaf3;padding:12px;background:#fbfdff}.course-result-card__creator{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;overflow:hidden;color:#182133;font-size:11px;font-weight:750;line-height:1.35;white-space:nowrap}.course-result-card__creator-icon{flex:0 0 14px;width:14px;height:14px}.course-result-card__creator-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-result-card__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);margin:-1px;padding:0;border:0;white-space:nowrap}.course-result-card__actions>button{width:100%;min-height:34px;padding:0 8px;white-space:normal}.course-result-card__permission{color:var(--muted);font-size:11px;font-weight:750;line-height:1.4;text-align:center}@media(max-width:640px){.course-result-card{grid-template-columns:1fr}.course-result-card__main{padding:12px}.course-result-card__content{grid-template-columns:1fr}.course-result-card__lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-result-card__empty-lessons{grid-column:auto}.course-result-card__actions{grid-column:1;grid-row:2;flex-direction:row;border-top:1px solid #e2eaf3;border-left:0}.course-result-card__actions>button{flex:1 1 0}}.lesson-picker,.lesson-directory,.material-picker,.question-list{display:grid;gap:10px}.lesson-picker{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.material-picker{grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px}.lesson-directory{gap:8px}.lesson-directory article{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:8px}.lesson-directory article.selected{border-color:var(--primary);background:#fff;box-shadow:inset 4px 0 0 var(--primary),0 10px 24px #168fd31a}.lesson-directory article.expanded:not(.selected){border-color:#a7d6f3}.lesson-directory-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.lesson-directory-main{display:flex;align-items:center;gap:8px;min-width:0;min-height:32px;padding:0;background:transparent;color:#2f3b4d;text-align:left}.lesson-directory-main:hover{transform:none}.lesson-directory-main>strong,.lesson-directory-main>span{flex:0 0 auto;font-size:13px;line-height:1.25;font-weight:850}.lesson-directory-main>span:not(.lesson-material-summary){min-width:0;max-width:180px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.lesson-material-summary{display:inline-flex;flex:1 1 auto;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:thin}.mini-material-pill{display:inline-flex;flex:0 0 auto;align-items:center;min-height:22px;border-radius:5px;padding:0 7px;font-size:12px;font-weight:850;white-space:nowrap}.mini-material-pill.ready{background:#eaf8ef;color:#176b3d}.mini-material-pill.missing{background:#fff1ef;color:#a92a22}.lesson-row-actions{display:inline-flex;align-items:center;gap:6px}.lesson-material-panel{display:grid;gap:8px;margin-top:8px;border:1px solid #c7e5f7;border-radius:6px;padding:10px 12px 12px;background:#f4fbff}.lesson-material-panel .empty-state.compact{border-color:#cfe7f8;background:#f8fcff}.lesson-picker button,.material-picker button,.question-list button{border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#2f3b4d;min-height:44px;padding:9px 11px;text-align:left;font-weight:800;box-shadow:var(--shadow-sm)}.bank-material-panel .lesson-picker button{font-size:13px;box-shadow:none}.bank-material-panel .material-picker button{min-height:64px;padding:12px 14px;font-size:15px}.lesson-picker button.selected,.material-picker button.selected,.question-list button.selected{border-color:#a7d6f3;background:var(--primary-soft);color:var(--primary-strong)}.material-picker button{display:flex;align-items:center;justify-content:space-between}.material-picker button span,.question-meta{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:750}.question-layout{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr) minmax(340px,1.08fr);gap:16px;align-items:start}.question-list-panel,.question-detail-panel,.question-editor-panel{min-width:0}.question-list-head{display:grid;gap:9px}.question-list-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.question-list-title-row h3{flex:0 0 auto;line-height:1.2;white-space:nowrap}.question-list-title-row .ghost{flex:0 0 auto;min-height:36px;padding:0 12px;box-shadow:none;white-space:nowrap}.question-list-context{display:flex;flex-wrap:wrap;gap:6px}.question-context-pill{display:inline-flex;align-items:center;min-height:24px;border:1px solid #d8e4f1;border-radius:6px;padding:0 8px;background:#f8fbfe;color:#506079;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.question-context-pill.count{border-color:#bee1f6;background:var(--primary-soft);color:var(--primary-strong)}.material-pdf-panel{gap:12px}.material-pdf-panel .section-head{align-items:center}.material-pdf-head{gap:12px}.material-pdf-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;min-width:0}.material-pdf-title-row h3,.material-pdf-title-row p{margin:0}.material-pdf-title-row p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-pdf-list{display:grid;gap:10px}.material-pdf-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;cursor:pointer;line-height:1;white-space:nowrap}.material-pdf-upload-button.disabled{cursor:not-allowed;opacity:.55}.material-pdf-upload-button input{display:none}.material-pdf-icon-button{display:inline-flex;align-items:center;gap:5px}.material-pdf-icon-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.material-pdf-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe6f1;border-radius:8px;padding:12px;background:#fbfdff}.material-pdf-info{display:grid;min-width:0;gap:4px}.material-pdf-meta-line{display:flex;min-width:0;align-items:center;gap:6px;flex-wrap:wrap}.material-pdf-item strong{overflow:hidden;color:#253348;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.material-pdf-item span{color:var(--muted);font-size:12px;font-weight:750}.material-pdf-kind{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid #cde5ff;border-radius:999px;background:#eff7ff;color:#1478b8!important;white-space:nowrap}.material-pdf-item .material-pdf-cut-status{width:fit-content;max-width:100%;border-radius:999px;padding:3px 8px;background:#eef7ff;color:var(--primary-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-pdf-item .material-pdf-cut-status.failed{background:#fff1f0;color:#b42318}.material-pdf-item .material-pdf-cut-status.succeeded{background:#ecfdf3;color:#047857}.pdf-cut-progress-float{position:fixed;right:24px;bottom:24px;z-index:1100;display:grid;gap:12px;width:min(360px,calc(100vw - 32px));border:1px solid rgba(147,197,253,.74);border-radius:14px;padding:16px;background:linear-gradient(135deg,#eff6fff5,#fffffffa),#fff;box-shadow:0 20px 56px #0f172a2e;color:#243247}.pdf-cut-progress-float.succeeded{border-color:#86efaceb}.pdf-cut-progress-float.failed{border-color:#fca5a5eb}.pdf-cut-progress-float.partial{border-color:#fbbf24d1}.image-warmup-progress-float{bottom:188px}.pdf-cut-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pdf-cut-progress-head>div{display:grid;min-width:0;gap:5px}.pdf-cut-progress-head strong{overflow:hidden;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.pdf-cut-progress-label{display:inline-flex;align-items:center;gap:8px;color:#2563eb;font-size:12px;font-weight:850;letter-spacing:0}.pdf-cut-progress-label i{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:999px;transform-origin:center;will-change:transform}.pdf-cut-progress-float.succeeded .pdf-cut-progress-label{color:#047857}.pdf-cut-progress-float.failed .pdf-cut-progress-label{color:#b42318}.pdf-cut-progress-float.partial .pdf-cut-progress-label{color:#b45309}.pdf-cut-progress-float.succeeded .pdf-cut-progress-label i,.pdf-cut-progress-float.failed .pdf-cut-progress-label i,.pdf-cut-progress-float.partial .pdf-cut-progress-label i{border-top-color:currentColor}.pdf-cut-progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pdf-cut-progress-meta span{color:#475569;font-size:13px;font-weight:800}.pdf-cut-progress-meta strong{color:#0f172a;font-size:22px;line-height:1}.pdf-cut-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#dbeafe}.pdf-cut-progress-track span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);transform:scaleX(0);transform-origin:left center;will-change:transform}.pdf-cut-progress-float.succeeded .pdf-cut-progress-track span{background:linear-gradient(90deg,#34d399,#059669)}.pdf-cut-progress-float.failed .pdf-cut-progress-track span{background:linear-gradient(90deg,#fda4af,#dc2626)}.pdf-cut-progress-float.partial .pdf-cut-progress-track span{background:linear-gradient(90deg,#fde68a,#f59e0b)}.pdf-cut-progress-note{margin:0;color:#64748b;font-size:12px;font-weight:750;line-height:1.55}.pdf-cut-progress-note.error{color:#b42318}@media(max-width:640px){.pdf-cut-progress-float{right:12px;bottom:12px;left:12px;width:auto}.image-warmup-progress-float{bottom:154px}.pdf-cut-progress-head{align-items:stretch}}.question-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));align-items:start;gap:6px;max-height:66vh;overflow:auto;padding:2px 4px 2px 0}.question-list button{display:grid;grid-template-columns:1fr;place-items:center;width:100%;min-width:0;min-height:58px;padding:2px;border-color:transparent;border-radius:8px;background:transparent;box-shadow:none;overflow:hidden}.question-list button:hover{border-color:#b9dff5;background:#f7fcff}.question-card-emblem{display:grid;width:min(58px,100%);min-width:0;filter:none}.question-number-tile{display:grid;min-width:0;height:32px;place-items:center;border:1px solid #bde2f8;border-bottom:0;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#f3fbff,#e6f5ff);color:var(--primary-strong);font-size:clamp(13px,3vw,17px);font-weight:950;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-card-status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #bde2f8;border-radius:0 0 7px 7px;background:#f8fcff}.question-card-status{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:18px;padding:0 2px;color:#0369a1;font-size:9px;font-weight:900;line-height:1;white-space:nowrap}.question-card-status+.question-card-status{border-left:1px solid #dcecf7}.question-card-status.stem,.question-card-status.solution{background:#f0fdf4;color:#15803d}.question-card-status.missing{background:#fff1ef;color:#b42318}.question-list button.selected{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 1px #f59e0b6b,0 0 14px #f59e0b61}.question-list button.selected .question-number-tile{border-color:var(--primary);background:linear-gradient(180deg,#dff2ff,#c9eaff);color:#005f9e}.question-list button.selected .question-card-status-row{border-color:var(--primary)}.form-error{border:1px solid #ffd4ce;border-radius:var(--radius);padding:10px 12px;background:var(--danger-soft);color:#9f231b;font-weight:750}.empty-state.compact{padding:14px}.question-detail{display:grid;gap:12px}.question-detail>strong{color:var(--primary-strong);font-size:18px}.question-detail p,.question-card p,.record-source p{white-space:pre-wrap}.question-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.question-card{display:grid;gap:8px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.question-card strong{color:var(--primary-strong)}.question-field-title{color:#2d3d54;font-size:16px;font-weight:850;line-height:1.3}.question-entry-top{display:grid;grid-template-columns:minmax(96px,1fr) minmax(150px,180px) auto;align-items:end;gap:10px}.question-entry-top h3{margin:0;align-self:center;color:#1f2d42;font-size:19px;line-height:1.2;white-space:nowrap}.question-number-compact{display:grid;gap:4px}.question-number-compact span{color:#42526a;font-size:12px;font-weight:850}.question-number-compact input{min-height:36px;padding:8px 10px}.question-entry-top>.ghost{min-height:36px;padding:0 13px;white-space:nowrap}.question-entry-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;border:1px solid #dce8f5;border-radius:8px;background:#f8fbff}.question-entry-step{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:start;gap:7px;min-width:0;min-height:36px;border-radius:6px;padding:0 10px;border-color:transparent;background:transparent;color:#5d6b82;box-shadow:none;text-align:left}.question-entry-step span{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:999px;background:#e8eff8;color:#506079;font-size:12px;font-weight:900}.question-entry-step strong{min-width:0;overflow:hidden;color:inherit;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.question-entry-step.active{border-color:#8ed0fb;background:#eaf6ff;color:var(--primary-strong)}.question-entry-step.active span{background:var(--primary);color:#fff}.question-entry-step.done:not(.active) span{background:#dcfce7;color:#047857}.question-entry-guide{margin:-5px 0 0;color:#64748b;font-size:12px;font-weight:750;line-height:1.35}.question-entry-card{display:grid;min-width:0;gap:10px;border:1px solid #dbe9f6;border-radius:var(--radius);padding:12px;background:linear-gradient(180deg,#fff,#f9fcff)}.question-entry-card .question-field-title{font-size:15px}.question-entry-tools{align-items:center;gap:8px}.question-entry-tools input[type=file]{flex:1 1 190px;min-width:0}.question-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.question-entry-actions>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.question-entry-actions button{min-height:38px;white-space:nowrap}.question-editor-panel .image-preview-box.paste-zone{min-height:92px;padding:10px}.inline-images{display:grid;gap:8px}.inline-images .protected-image-frame,.inline-images .protected-image-error,.inline-images .protected-image-loading{width:100%}.inline-images img{width:100%;max-height:260px;object-fit:contain;border:1px solid #e3ebf4;border-radius:var(--radius);background:#fff}.inline-images .protected-image-loading{min-height:156px;border:1px dashed #cfe0f2;background:#f8fbff}.question-editor{display:grid;gap:12px;border-top:1px solid #e5edf5;padding-top:14px}@media(max-width:900px){.question-entry-top{grid-template-columns:1fr;align-items:stretch}.question-entry-flow{grid-template-columns:1fr}.question-entry-actions{align-items:stretch}.question-entry-actions>div,.question-entry-actions button{width:100%}.editor-section-head{grid-template-columns:1fr;align-items:stretch}.editor-section-head .mini{justify-self:flex-start}.lesson-directory-head{grid-template-columns:1fr;align-items:stretch}.lesson-row-actions{justify-content:flex-start;flex-wrap:wrap}.material-form-row{grid-template-columns:1fr 1fr}}:root{color:#182133;background:#f5f7fb;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f9fbfd;--surface-tint: #eef8ff;--line: #dbe4ee;--line-strong: #c9d5e3;--text: #182133;--muted: #647186;--faint: #8a96a8;--primary: #168fd3;--primary-strong: #0073ba;--primary-soft: #eaf7ff;--blue: #168fd3;--blue-soft: #eaf7ff;--amber: #a86e12;--amber-soft: #fff7e6;--danger: #c9352b;--danger-soft: #fff1ef;--shadow-sm: 0 1px 2px rgba(26, 38, 58, .05);--shadow-md: 0 12px 32px rgba(33, 48, 74, .08);--radius: 8px}*{box-sizing:border-box}html{background:var(--bg);scrollbar-gutter:stable}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(0,115,186,.08),transparent 32rem),linear-gradient(180deg,#f8fafc 0%,var(--bg) 42%)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.18;letter-spacing:0}h2{font-size:28px;line-height:1.18;letter-spacing:0}h3{font-size:17px;line-height:1.25;letter-spacing:0}p,.muted{color:var(--muted);line-height:1.65}.login-page{min-height:100dvh;display:grid;align-content:center;gap:14px;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(47,111,237,.12),transparent 30rem),radial-gradient(circle at 78% 80%,rgba(0,115,186,.12),transparent 26rem),#f7f9fc}.login-panel{width:min(440px,100%);display:grid;gap:22px;background:#fffffff0;border:1px solid rgba(219,228,238,.9);border-radius:var(--radius);box-shadow:0 24px 80px #25375426;padding:30px}.login-error{border:1px solid #ffd4ce;border-radius:var(--radius);padding:10px 12px;background:var(--danger-soft);color:#9f231b;font-weight:750}.beian-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;color:#647186;font-size:12px;font-weight:750;line-height:1.35;text-align:center;text-decoration:none;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.beian-link:hover,.beian-link:focus-visible{color:var(--primary-strong);text-decoration:underline;text-underline-offset:3px}.beian-link:focus-visible{outline:3px solid rgba(0,115,186,.14);outline-offset:3px}.login-beian-link{min-height:28px;padding:4px 10px;border:1px solid rgba(201,213,227,.72);border-radius:999px;background:#ffffffad}.brand-row{display:flex;align-items:center;gap:0}.app-shell{min-height:100dvh;display:grid;grid-template-columns:252px minmax(0,1fr);align-items:start}.sidebar{height:100dvh;max-height:100dvh;padding:clamp(10px,1.6dvh,18px) 14px;display:flex;flex-direction:column;gap:clamp(6px,1.2dvh,12px);background:#fffffff5;border-right:1px solid var(--line);position:sticky;top:0;overflow:hidden;box-shadow:8px 0 24px #21304a0a}.sidebar-brand{display:grid;gap:4px;padding:4px 8px clamp(10px,1.5dvh,14px);border-bottom:1px solid #edf1f6}.sidebar-brand-main{display:flex;align-items:center;gap:8px}.sidebar-brand-main div{display:grid;gap:7px;min-width:0}.sidebar-brand-main .sidebar-account-row{display:flex}.sidebar-identity{width:100%}.sidebar-brand-main .sidebar-identity{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.sidebar-brand strong{font-size:19px;letter-spacing:0;line-height:1.25}.sidebar-brand span{color:var(--muted);font-size:13px}.current-organization-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:28px;padding:4px 10px;overflow:hidden;border:1px solid #9ed5f5;border-radius:999px;background:linear-gradient(180deg,#f9fdff,#dff2ff),var(--primary-soft);color:#005f9c;font-size:13px;font-weight:900;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 0 1px #ffffffe0}.sidebar-brand .sidebar-organization-name{width:100%;min-height:32px;padding:5px 10px;border-radius:8px;color:#005f9c}.sidebar-account-row{align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.sidebar-brand-main .sidebar-account-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}.sidebar-brand .sidebar-account-row .sidebar-user-name,.sidebar-brand .sidebar-account-row .sidebar-user-role{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:28px;text-align:center}.sidebar-brand .sidebar-user-name{display:inline-block;width:max-content;max-width:100%;padding:4px 8px;overflow:hidden;border:1px solid var(--sidebar-account-border, #bfdbfe);border-radius:8px;background:var(--sidebar-account-bg, #eff6ff);box-shadow:inset 0 0 0 1px #ffffff6b;color:var(--sidebar-account-color, var(--primary-strong));font-size:13px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand .sidebar-user-role{display:inline-block;width:max-content;max-width:100%;padding:4px 8px;overflow:hidden;border:1px solid #cfe7fb;border-radius:8px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,106px),1fr));gap:clamp(5px,.8dvh,7px);position:relative;isolation:isolate}.sidebar-active-focus{position:absolute;left:0;top:0;z-index:1;overflow:hidden;border:1px solid #cfe7fb;border-radius:var(--radius);background:linear-gradient(115deg,#ffffffe0,#ffffff61 42%,#168fd31f),var(--primary-soft);box-shadow:inset 0 1px #ffffffdb,inset 0 -10px 22px #168fd317,0 1px 2px #1a263a0d;opacity:0;pointer-events:none;transform-origin:center center}.sidebar-nav button,.ghost,.primary,.danger,.mini{min-height:40px;border-radius:var(--radius);padding:0 14px;font-weight:750}.sidebar-nav button{position:relative;z-index:2;text-align:left;background:transparent;color:#3d4b60;border:1px solid transparent;font-size:14px}.sidebar-nav button:before{content:"";position:absolute;left:9px;top:50%;width:4px;height:18px;border-radius:999px;background:transparent;transform:translateY(-50%)}.sidebar-nav button.active{background:transparent;border-color:transparent;color:var(--primary-strong);box-shadow:none}.sidebar-nav button:hover:not(.active){background:#eaf7ff9e;border-color:#d7e9f7;color:var(--primary-strong);box-shadow:none}.sidebar-nav button.active{padding-left:16px}.sidebar-nav button.active:before{background:var(--primary)}.sidebar-nav-item-with-icon{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;width:100%;padding-left:10px;padding-right:7px;line-height:1.25}.sidebar-nav-item-with-icon.active{padding-left:16px}.sidebar-nav-item-with-icon svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sidebar-nav-item-with-icon span{min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap}.subject-orbit{flex:1 1 clamp(120px,20dvh,230px);min-height:clamp(120px,20dvh,230px);max-height:clamp(150px,32dvh,330px);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 2px;pointer-events:none}.subject-orbit-stage{position:relative;width:100%;max-width:220px;height:clamp(150px,26dvh,292px);perspective:700px;transform-style:preserve-3d}.subject-orbit-stage:before{content:"";position:absolute;left:50%;top:50%;width:178px;height:116px;border:1px dashed rgba(103,130,158,.2);border-radius:999px;transform:translate(-50%,-50%) rotateX(62deg)}.subject-orbit-item{position:absolute;left:50%;top:50%;width:74px;min-height:56px;display:grid;align-content:center;justify-items:center;gap:2px;border:1px solid rgba(118,143,170,.24);border-radius:8px;background:linear-gradient(150deg,#ffffffeb,#ffffff94),var(--subject-soft);box-shadow:0 12px 24px #1f2f491f;color:var(--subject-color);transform:translate(-50%,-50%);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity}.subject-orbit-symbol{width:33px;height:33px;display:grid;place-items:center;color:var(--subject-color)}.subject-orbit-symbol svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.subject-orbit-letter{font-size:28px;line-height:1;font-weight:850}.subject-orbit-formula{display:grid;gap:1px;line-height:1;text-align:center}.subject-orbit-formula strong{font-size:16px;letter-spacing:0;white-space:nowrap}.subject-orbit-formula small{font-size:10px;color:#52657a}.subject-orbit-label{font-size:11px;font-weight:850;letter-spacing:0;color:#334155}.subject-orbit-item:nth-child(1){transform:translate(-50%,-50%) translate3d(80px,0,48px) scale(.94)}.subject-orbit-item:nth-child(2){transform:translate(-50%,-50%) translate3d(57px,40px,24px) scale(.86)}.subject-orbit-item:nth-child(3){transform:translate(-50%,-50%) translate3d(0,56px,0) scale(.78)}.subject-orbit-item:nth-child(4){transform:translate(-50%,-50%) translate3d(-57px,40px,-24px) scale(.74)}.subject-orbit-item:nth-child(5){transform:translate(-50%,-50%) translate3d(-80px,0,-48px) scale(.72)}.subject-orbit-item:nth-child(6){transform:translate(-50%,-50%) translate3d(-57px,-40px,-24px) scale(.76)}.subject-orbit-item:nth-child(7){transform:translate(-50%,-50%) translate3d(0,-56px,0) scale(.84)}.subject-orbit-item:nth-child(8){transform:translate(-50%,-50%) translate3d(57px,-40px,24px) scale(.92)}.subject-orbit-item:nth-child(9){transform:translate(-50%,-50%) translate3d(80px,-8px,42px) scale(.9)}.sidebar-tool-button{flex:0 0 auto;width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #a7e7c0;border-radius:var(--radius);background:linear-gradient(180deg,#fbfffd,#e6f9ee),#ecfdf3;color:#087346;font-size:14px;font-weight:850;box-shadow:inset 0 1px #ffffffdb}.sidebar-tool-button svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-tool-button:hover,.sidebar-tool-button:focus-visible,.sidebar-tool-button.active{border-color:#69d497;background:linear-gradient(180deg,#f4fff9,#d7f5e4),#ecfdf3;color:#046238}.sidebar-tool-button.active{box-shadow:inset 0 1px #ffffffe6,0 1px 2px #1a263a0d}.sidebar-tool-button:focus-visible{outline:none;box-shadow:inset 0 1px #ffffffe6,0 0 0 3px #08734624}.sidebar-beian-link{flex:0 0 auto;width:100%;min-height:24px;padding:0 4px;color:#7a8798;font-size:12px}@media(max-height:820px)and (min-width:961px){.sidebar{gap:8px;padding-top:12px;padding-bottom:10px}.sidebar-brand{padding-top:6px;padding-bottom:8px}.sidebar-brand strong{font-size:18px}.subject-orbit{flex-basis:120px;min-height:110px;max-height:145px}.subject-orbit-stage{height:150px;transform:scale(.74);transform-origin:center center}}@media(max-height:760px)and (min-width:961px){.sidebar{gap:8px}.subject-orbit{display:none}.sidebar-tool-button,.sidebar .danger{min-height:38px}.sidebar-beian-link{display:none}}@media(max-height:660px)and (min-width:961px){.sidebar{gap:6px;padding-top:10px;padding-bottom:10px}.sidebar-brand{gap:4px;padding-top:4px;padding-bottom:6px}.sidebar-brand strong{font-size:17px}.current-organization-badge,.sidebar-brand .sidebar-organization-name{min-height:26px}.sidebar-nav button,.sidebar-tool-button,.sidebar .danger{min-height:36px}.sidebar-tool-button{font-size:13px}.sidebar-brand .sidebar-user-role,.sidebar-brand .sidebar-user-name{padding-top:3px;padding-bottom:3px}}@media(max-height:560px)and (min-width:961px){.sidebar-brand{border-bottom:0}.sidebar-brand .sidebar-organization-name{display:none}.sidebar-brand-main div{gap:5px}.sidebar-nav button,.sidebar-tool-button,.sidebar .danger{min-height:34px}.sidebar-nav{gap:4px}.sidebar-beian-link{font-size:11px}}@media(prefers-reduced-motion:reduce){.subject-orbit{flex:0 0 auto;min-height:160px;max-height:none}.subject-orbit-stage{max-width:none;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;perspective:none}.subject-orbit-stage:before{display:none}.subject-orbit-item,.subject-orbit-item:nth-child(n){position:static;width:auto;min-height:48px;transform:none;opacity:1;visibility:visible}}.workspace{min-width:0;width:min(100%,1720px);padding:28px}.page-surface{min-width:0;min-height:calc(100dvh - 56px)}.account-organization-line{display:flex;margin-top:5px}.account-organization-line .current-organization-badge{max-width:min(320px,100%)}.notice{position:fixed;left:50%;bottom:28px;z-index:4000;width:max-content;max-width:min(560px,calc(100vw - 32px));transform:translate(-50%);border-radius:999px;padding:12px 18px;background:#ecfdf3;color:#146c36;border:1px solid #8fd9aa;box-shadow:0 14px 34px #1622362e;font-weight:750;text-align:center;pointer-events:none}.notice.success{background:#ecfdf3;color:#146c36;border-color:#8fd9aa}.notice.warning{background:#f0f9d8;color:#486512;border-color:#b8d66d}.notice.error{background:var(--danger-soft);color:#9f231b;border-color:#ffd4ce}@keyframes notice-pop{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.page-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;align-items:start}.motion-count{display:inline-block;min-width:1.5em;color:var(--primary-strong);font-weight:900;text-align:center;transform-origin:50% 60%}.panel{min-width:0;display:grid;gap:14px;background:#fffffffa;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.panel.full{grid-column:1 / -1}.panel.wide{min-width:0}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-head h3+.muted{margin-top:4px}.form-stack,.detail-stack{display:grid;gap:14px}label{display:grid;gap:7px;color:#435269;font-size:13px;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 11px;color:var(--text);background:#fff;outline:none;min-height:40px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#66758a 50%),linear-gradient(135deg,#66758a 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}input:disabled{color:var(--muted);background:#f2f5f8}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0073ba24}textarea{resize:vertical;line-height:1.55}.multi-select{min-height:132px}.control-grid{display:grid;gap:14px}.control-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.control-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.control-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.tag-list.small span{border-radius:6px;padding:4px 7px;font-size:12px}.record-image{width:100%;max-height:360px;object-fit:contain;border-radius:var(--radius);border:1px solid #e3ebf4;background:#f8fafc}.workspace img{cursor:zoom-in}.image-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:24px;background:#101828a8}.image-viewer-modal{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,calc(100vw - 48px));max-width:min(1120px,94vw);max-height:92vh;overflow:auto;border-radius:var(--radius);background:#fff;border:1px solid rgba(219,228,238,.9);box-shadow:0 24px 80px #0a142452;padding:14px}.image-viewer-stage{position:relative;display:grid;min-height:min(520px,calc(92vh - 84px));place-items:center;overflow:auto;border-radius:6px;background:#f8fafc}.image-viewer-modal img{display:block;width:100%;max-width:100%;max-height:calc(92vh - 84px);object-fit:contain;border-radius:6px;background:#f8fafc;cursor:default;opacity:0}.image-viewer-modal img.loaded{opacity:1}.image-viewer-state{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 18px;border:1px dashed #cfe0f2;background:#fff;color:var(--muted);font-size:15px;font-weight:800}.image-viewer-state.error{border-color:#f0c8c2;background:#fff6f4;color:#9a3d35}.image-viewer-close{justify-self:end;margin-bottom:10px}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:grid;place-items:center;padding:24px;background:#0f172a7a}.confirm-dialog{display:grid;gap:18px;width:min(460px,calc(100vw - 36px));border-radius:14px;border:1px solid rgba(203,213,225,.92);background:#fff;box-shadow:0 24px 70px #0f172a3d;padding:22px}.confirm-dialog-body{display:grid;gap:8px}.confirm-dialog-body h3{margin:0;color:var(--ink);font-size:20px;line-height:1.25}.confirm-dialog-body p{margin:0;color:var(--muted);font-size:15px;line-height:1.7;white-space:pre-line}.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.confirm-dialog-actions button{min-height:42px}@media(max-width:560px){.confirm-dialog-backdrop{padding:16px}.confirm-dialog{padding:18px}.confirm-dialog-actions{display:grid;grid-template-columns:1fr}}.record-source{background:#f8fcff;border-color:#d8ecfb}.image-preview-box{position:relative;display:grid;gap:10px;justify-items:start;padding:12px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fbfdff}.image-preview-box.paste-zone{min-height:132px;align-content:center}.image-preview-box.paste-zone:hover{border-color:#7fc3ea;background:#f6fbff}.image-preview-box.paste-zone:focus,.image-preview-box.paste-zone.active{border-color:var(--primary);box-shadow:0 0 0 3px #0073ba24;outline:none}.image-preview-box.paste-zone.active{background:#f6fbff}.image-preview-box img{width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius);background:#fff}.image-preview-box .protected-image-frame{width:100%}.image-preview-box .protected-image-loading{min-height:96px}.protected-image-frame{position:relative;display:grid;width:100%;max-width:100%}.protected-image-frame>img,.protected-image-frame>.protected-image-loading{grid-area:1 / 1}.protected-image-frame:not(.loaded)>img{opacity:0}.protected-image-error,.protected-image-loading{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:8px 10px;border-radius:var(--radius);font-size:13px}.protected-image-error{border:1px solid #f0c8c2;background:#fff6f4;color:#9a3d35}.protected-image-loading{border:1px dashed #cfe0f2;background:#f8fbff;color:var(--muted)}.paste-target-hint{display:inline-flex;width:fit-content;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:800}.report-box{display:grid;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid #e5edf5}.export-progress{display:flex;align-items:center;gap:12px;border:1px solid #cfe7fb;border-radius:var(--radius);padding:12px;background:linear-gradient(90deg,rgba(0,115,186,.1),transparent 38%),#f6fbff;color:var(--primary-strong)}.export-progress-main{display:grid;gap:5px;min-width:0;flex:1}.export-progress-main strong{min-width:0;overflow:hidden;color:var(--primary-strong);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.export-progress-meta{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.export-progress small{color:var(--muted);font-weight:700}.export-progress-meta small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-complete-note{flex:0 0 auto;border:1px solid #b8dfc7;border-radius:999px;padding:3px 8px;background:#effaf3;color:#087443;font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap}.operation-progress-bar{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#d9eaf8}.operation-progress-bar span{display:block;width:100%;height:100%;transform-origin:left center;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#47a9e8);transition:transform .18s ease}.maintenance-progress{margin-top:10px}.danger-text{color:var(--danger)!important}.export-spinner{width:24px;height:24px;flex:0 0 auto;border:3px solid #cfe7fb;border-top-color:var(--primary);border-radius:999px;animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.rank-list{display:grid;gap:8px;margin:0;padding-left:0;list-style:none}.rank-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;background:#fff;border:1px solid #e2eaf2;border-radius:var(--radius);padding:8px}.rank-list li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-score{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 9px;background:#f3f7fb;color:#243246;font-size:13px;font-weight:850;white-space:nowrap}.rank-actions{display:flex;align-items:center;gap:6px}.mini{min-height:30px;padding:0 9px;font-size:12px;background:var(--blue);color:#fff;box-shadow:none}.mini.ghost{background:#edf2f7;color:#334155;border:1px solid #dae3ec}.mini.danger{background:var(--danger)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span,.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5e0ec;border-radius:999px;padding:6px 10px;color:#425166;background:#f8fbfe;font-weight:750;font-size:13px}.pill{border-color:#d8ecfb;color:var(--primary-strong);background:var(--primary-soft)}.pill.blue{border-color:#d6e3fb;color:#25569d;background:var(--blue-soft)}.pill.amber{border-color:#f0d99f;color:#805000;background:var(--amber-soft)}.tag-delete{min-height:24px;border-radius:999px;padding:0 7px;background:var(--danger-soft);color:#a92a22;font-size:12px;font-weight:800}.template-list{display:grid;gap:8px}.template-row{display:grid;grid-template-columns:160px 1fr auto auto;align-items:center;gap:8px;padding:8px;border:1px solid #e2eaf3;border-radius:var(--radius);background:#fff}.template-row.compact{grid-template-columns:1fr 120px auto}.download-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:var(--radius);padding:0 14px;background:var(--primary);color:#fff;text-decoration:none;font-weight:800}.record-table td:nth-child(2){max-width:360px;color:#334155}.record-table td:nth-child(2),.record-table td:nth-child(3){overflow-wrap:anywhere}.status-mark{display:inline-flex;align-items:center;margin:1px 3px 1px 0;min-height:22px;border-radius:999px;padding:0 8px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:850;white-space:nowrap}.status-mark.muted{background:#eef2f6;color:var(--muted)}.status-mark.blue{background:var(--blue-soft);color:var(--blue)}.status-mark.danger{background:var(--danger-soft);color:#9f231b}
