.question-preview:where([data-v-970417ec]){min-height:96px;max-height:min(440px,52vh);overflow:auto;margin-top:9px;padding:14px 16px;border:1px dashed var(--border-light);border-radius:10px;color:var(--text-secondary);background:var(--bg-secondary);font-size:13.5px;line-height:1.65}.question-preview-placeholder:where([data-v-970417ec]){min-height:50px;display:grid;place-items:center;color:var(--text-muted);text-align:center}.question-preview:where([data-v-970417ec]) img{display:block;max-width:100%;max-height:min(420px,50vh);object-fit:contain;margin:0 auto;border-radius:8px;background:#fff}.question-preview img.question-preview-zoomable:where([data-v-970417ec]){cursor:zoom-in;transition:transform var(--transition),box-shadow var(--transition)}.question-preview img.question-preview-zoomable:where([data-v-970417ec]):hover{transform:scale(1.015);box-shadow:var(--shadow-md)}.question-preview-hint:where([data-v-970417ec]){margin-top:8px;text-align:center;color:var(--text-muted);font-size:12px}.question-preview-text:where([data-v-970417ec]){color:var(--text-primary);white-space:pre-wrap}.question-preview-options:where([data-v-970417ec]){display:grid;gap:4px;margin-top:8px}@media(max-width:720px){.question-preview:where([data-v-970417ec]){max-height:340px}}.question-preview-image-button:where([data-v-970417ec]){width:100%;display:block;border:0;padding:0;background:transparent;cursor:zoom-in}.question-preview-text:where([data-v-970417ec]),.question-preview-part p:where([data-v-970417ec]){white-space:pre-wrap}.assignment-builder:where([data-v-a0e0ec99]){display:grid;gap:2px}.assignment-builder-grid:where([data-v-a0e0ec99]){display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}.assignment-builder-panel:where([data-v-a0e0ec99]){min-width:0;padding:14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-inset)}.assignment-builder-panel:where([data-v-a0e0ec99]) .field:last-child{margin-bottom:0}.question-picker-head:where([data-v-a0e0ec99]){display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.question-picker-title:where([data-v-a0e0ec99]){font-size:12.5px;font-weight:700;color:var(--text-primary)}.question-picker-count:where([data-v-a0e0ec99]){display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:700;white-space:nowrap}.question-picker-tools:where([data-v-a0e0ec99]){display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.question-picker-tool:where([data-v-a0e0ec99]){padding:5px 9px;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;font-size:12px;font-weight:700}.question-picker-tool:where([data-v-a0e0ec99]):hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-light))}.field-checkbox:where([data-v-a0e0ec99]){display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-primary);font-size:13px;cursor:pointer}.field-checkbox:where([data-v-a0e0ec99]) input{width:15px;height:15px;margin:0;padding:0;border:none;background:none;flex-shrink:0;accent-color:var(--accent)}.question-picker-summary:where([data-v-a0e0ec99]){margin:-3px 0 9px;padding:7px 9px;border:1px dashed var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-secondary);font-size:12px;line-height:1.5}.question-choice.is-selected:where([data-v-a0e0ec99]){border-color:color-mix(in srgb,var(--accent) 38%,var(--border-light));background:var(--accent-soft)}@media(max-width:720px){.assignment-builder-grid:where([data-v-a0e0ec99]){grid-template-columns:1fr}}.assignment-builder-fields:where([data-v-a0e0ec99]){margin:0;padding:0;border:0;min-width:0}.assignment-edit-fields:where([data-v-b6152ef3]){padding:0;margin:0;border:0;min-width:0}.review-candidates:where([data-v-abac629d]){margin-top:4px}.review-candidate:where([data-v-abac629d]){display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-size:12.5px}.review-candidate:where([data-v-abac629d]):has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.review-qid:where([data-v-abac629d]){font-family:var(--font-mono);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-rate:where([data-v-abac629d]){color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}.review-missed:where([data-v-abac629d]){color:var(--text-secondary)}@media(max-width:560px){.review-candidate:where([data-v-abac629d]){grid-template-columns:auto minmax(0,1fr)}.review-rate:where([data-v-abac629d]),.review-missed:where([data-v-abac629d]){grid-column:2}}.review-fields:where([data-v-abac629d]){padding:0;margin:0;border:0;min-width:0}.grade-question:where([data-v-b38a6e91]){padding:12px 0;border-bottom:1px solid var(--border-light)}.grade-question:where([data-v-b38a6e91]):last-child{border-bottom:0}.grade-question-head:where([data-v-b38a6e91]){display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.grade-question-head:where([data-v-b38a6e91]) strong{font-size:13px}.grade-question-head:where([data-v-b38a6e91]) span{color:var(--text-muted);font-size:12px}.grade-part:where([data-v-b38a6e91]){padding:10px 12px;margin-bottom:8px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-secondary)}.grade-part-head:where([data-v-b38a6e91]){display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.grade-part-head:where([data-v-b38a6e91]) strong{font-size:12.5px}.grade-part-head:where([data-v-b38a6e91]) span{color:var(--text-secondary);font-size:12px}.grade-answer:where([data-v-b38a6e91]){padding:8px 10px;border-radius:8px;background:var(--bg-inset);color:var(--text-primary);font-size:12.5px;line-height:1.6;white-space:pre-wrap}.grade-mark-scheme:where([data-v-b38a6e91]){margin-top:7px}.grade-mark-scheme:where([data-v-b38a6e91]) summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:700}.grade-mark-scheme:where([data-v-b38a6e91]) div{margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--bg-inset);color:var(--text-secondary);font-size:12px;line-height:1.6;white-space:pre-wrap}.grade-award:where([data-v-b38a6e91]){display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--text-secondary);font-size:12px}.grade-award:where([data-v-b38a6e91]) input{width:72px;padding:6px 8px;border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);background:var(--bg-secondary);font:inherit;font-size:13px}.update-latest-summary:where([data-v-a2dc8a73]){border:1px solid rgba(204,120,92,.24);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--accent-soft),transparent 62%),var(--bg-secondary);padding:16px 18px}.update-latest-header:where([data-v-a2dc8a73]){display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:6px}.update-latest-header:where([data-v-a2dc8a73]) h3{font-size:18px;margin:2px 0 0}.update-section:where([data-v-a2dc8a73]){border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden;margin-bottom:10px}.update-section-label:where([data-v-a2dc8a73]){display:flex;justify-content:space-between;gap:10px;padding:9px 13px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-light);background:var(--bg-inset)}.update-section-label:where([data-v-a2dc8a73]) span:last-child{color:var(--text-muted);font-weight:700}.update-section-list:where([data-v-a2dc8a73]){list-style:none;padding:0;margin:0}.update-entry:where([data-v-a2dc8a73]){display:grid;gap:3px;padding:9px 13px;border-bottom:1px solid var(--border-light)}.update-entry:where([data-v-a2dc8a73]):last-child{border-bottom:0}.update-entry-en:where([data-v-a2dc8a73]){font-size:13px;font-weight:600;line-height:1.5;color:var(--text-primary)}.update-entry-cn:where([data-v-a2dc8a73]){font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.update-history-archive:where([data-v-a2dc8a73]){border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-secondary);overflow:hidden}.update-history-archive:where([data-v-a2dc8a73]) summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:13px 16px;font-size:13px;font-weight:800;color:var(--text-primary)}.update-history-archive:where([data-v-a2dc8a73]) summary::-webkit-details-marker{display:none}.update-history-archive:where([data-v-a2dc8a73]) summary span:last-child{font-size:12px;font-weight:700;color:var(--text-muted)}.update-history-item:where([data-v-a2dc8a73]){border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);padding:13px 14px}.update-readable-stack-compact .update-section:where([data-v-a2dc8a73]){margin-bottom:6px}.modal.modal-wide:where([data-v-de3ec09b]){max-width:min(1180px,calc(100vw - 48px))}.lightbox-overlay:where([data-v-de3ec09b]){position:fixed;inset:0;background:#000000d9;z-index:1100;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeUp .24s ease}.lightbox-overlay:where([data-v-de3ec09b]) img{max-width:94vw;max-height:94vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 0 60px #00000080}.lightbox-close:where([data-v-de3ec09b]){position:absolute;top:18px;right:20px;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#00000059;color:#fff;font-size:25px;line-height:1;cursor:pointer;z-index:1}.lightbox-close:where([data-v-de3ec09b]):hover,.lightbox-close:where([data-v-de3ec09b]):focus-visible{background:#000000a6}.calendar-day-list:where([data-v-de3ec09b]){display:grid;gap:8px}.calendar-day-item:where([data-v-de3ec09b]){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-2)}.calendar-day-item:where([data-v-de3ec09b])>div{min-width:0}.calendar-day-item:where([data-v-de3ec09b]) strong,.calendar-day-item:where([data-v-de3ec09b]) small{display:block}.calendar-day-item:where([data-v-de3ec09b]) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.calendar-day-item:where([data-v-de3ec09b]) small{margin-top:4px;color:var(--text-secondary);font-size:12px}.answers-row:where([data-v-de3ec09b]){display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-secondary)}.kpi-meter:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:10px}.queue-heading:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:8px}.queue:where([data-v-5ee81bc2]){list-style:none}.queue-row:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--line)}.queue-row:where([data-v-5ee81bc2]):hover{background:var(--hover)}.queue-icon:where([data-v-5ee81bc2]){display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--warning);background:var(--warning-soft)}.queue-icon.draft:where([data-v-5ee81bc2]){color:var(--info);background:var(--info-soft)}.queue-icon.risk:where([data-v-5ee81bc2]){color:var(--danger);background:var(--danger-soft)}.queue-main:where([data-v-5ee81bc2]){flex:1;min-width:0}.queue-meta:where([data-v-5ee81bc2]){display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;color:var(--ink-3);font-size:12.5px}.warn-text:where([data-v-5ee81bc2]){color:var(--warning);font-weight:600}.info-text:where([data-v-5ee81bc2]){color:var(--info);font-weight:600}.risk-text:where([data-v-5ee81bc2]){color:var(--danger);font-weight:600}.due-row:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:14px;padding:10px 20px;color:var(--ink);text-decoration:none}.due-row:where([data-v-5ee81bc2]):hover{background:var(--hover)}.due-row:where([data-v-5ee81bc2]):last-of-type{padding-bottom:14px}.due-date:where([data-v-5ee81bc2]){display:flex;flex:none;flex-direction:column;align-items:center;width:40px;color:var(--ink-3);font-size:11.5px}.due-date strong:where([data-v-5ee81bc2]){color:var(--ink);font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1.2}.due-main:where([data-v-5ee81bc2]){flex:1;min-width:0}.due-title:where([data-v-5ee81bc2]){display:block;overflow:hidden;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.due-meta:where([data-v-5ee81bc2]){display:block;margin-top:2px;overflow:hidden;color:var(--ink-3);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.due-meta .dot:where([data-v-5ee81bc2]){margin-right:6px;vertical-align:1px}.due-row .pill:where([data-v-5ee81bc2]){flex:none}.invite-head:where([data-v-5ee81bc2]){padding-bottom:8px}.invite-row:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:10px;padding:7px 16px 7px 20px}.invite-row:where([data-v-5ee81bc2]):last-child{padding-bottom:14px}.invite-name:where([data-v-5ee81bc2]){flex:1;min-width:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.health-table:where([data-v-5ee81bc2]){min-width:860px}.class-cell:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:12px;min-width:0;max-width:300px}.class-text:where([data-v-5ee81bc2]){min-width:0}.meter-cell:where([data-v-5ee81bc2]){display:flex;align-items:center;gap:10px;min-width:150px}.meter-cell .num:where([data-v-5ee81bc2]){width:40px;text-align:right}.recent-title:where([data-v-5ee81bc2]){max-width:220px;color:var(--ink);font-size:13px}.health-table .icon-btn:where([data-v-5ee81bc2]){width:30px;height:30px}.line-chart:where([data-v-1a3fb939]){display:block;width:100%;height:auto;overflow:visible}.grid:where([data-v-1a3fb939]){stroke:var(--line);stroke-width:1}.axis:where([data-v-1a3fb939]){fill:var(--ink-3);font-size:11px;font-family:var(--font-sans)}.line:where([data-v-1a3fb939]){fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.primary .line:where([data-v-1a3fb939]){stroke:var(--accent)}.primary .point:where([data-v-1a3fb939]){fill:var(--surface);stroke:var(--accent);stroke-width:2.5}.primary .point.last:where([data-v-1a3fb939]){fill:var(--accent)}.reference .line:where([data-v-1a3fb939]){stroke:var(--ink-3);stroke-width:2;stroke-dasharray:5 5}.reference .point:where([data-v-1a3fb939]){fill:var(--ink-3);r:2.5}.value:where([data-v-1a3fb939]){fill:var(--ink);font-size:12px;font-weight:700;font-family:var(--font-sans)}.who:where([data-v-ae911e63]){display:flex;align-items:center;gap:16px;min-width:0}.avatar-xl:where([data-v-ae911e63]){display:grid;flex:none;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--tone, var(--accent));color:var(--on-tone);font-size:20px}.meta:where([data-v-ae911e63]){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;color:var(--ink-3);font-size:13px}.class-name:where([data-v-ae911e63]){display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}.kpi-of:where([data-v-ae911e63]){color:var(--ink-3);font-family:var(--font-sans);font-size:14px}.strong:where([data-v-ae911e63]){font-weight:600}.chart-head:where([data-v-ae911e63]){display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px}.chart-head .section-title:where([data-v-ae911e63]){margin-right:auto}.legend:where([data-v-ae911e63]){display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:12.5px}.key:where([data-v-ae911e63]){display:inline-block;width:16px;height:0;border-top:3px solid var(--accent);border-radius:2px}.key.reference:where([data-v-ae911e63]){border-top:2px dashed var(--ink-3)}.mastery:where([data-v-ae911e63]){display:flex;flex-direction:column;gap:14px}.mastery-row:where([data-v-ae911e63]){display:grid;gap:6px}.mastery-top:where([data-v-ae911e63]){display:flex;justify-content:space-between;gap:10px;font-size:13px}.mastery-name:where([data-v-ae911e63]){font-weight:600}.mastery-row .cell-sub:where([data-v-ae911e63]){margin:0;font-size:12px}.history-table:where([data-v-ae911e63]){min-width:760px}.link-title:where([data-v-ae911e63]){text-align:left}.muted:where([data-v-ae911e63]){color:var(--ink-2)}.fb:where([data-v-ae911e63]){max-width:220px}.fb .cell-sub:where([data-v-ae911e63]){white-space:normal}.wrong-row:where([data-v-ae911e63]){display:flex;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--line)}.wrong-main:where([data-v-ae911e63]){flex:1;min-width:0;font-size:13px}.class-picker:where([data-v-ae669bad]){display:inline-flex;align-items:center;gap:8px;padding-left:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.class-picker .select:where([data-v-ae669bad]){min-width:200px;border:0;background-color:transparent;box-shadow:none}.student-search:where([data-v-ae669bad]){width:240px}.student-roster-table:where([data-v-ae669bad]){min-width:720px}.student-link:where([data-v-ae669bad]){display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left}.student-link:where([data-v-ae669bad]):hover{color:var(--accent-ink)}.initial:where([data-v-ae669bad]){display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:12px}.acc-cell:where([data-v-ae669bad]){display:flex;align-items:center;gap:10px;min-width:160px}.acc-cell .num:where([data-v-ae669bad]){width:40px}.muted:where([data-v-ae669bad]){color:var(--ink-2)}.more-menu:where([data-v-d8f3658a]){position:relative;display:inline-flex}.menu:where([data-v-d8f3658a]){top:calc(100% + 6px)}.menu-right:where([data-v-d8f3658a]){right:0}.menu-left:where([data-v-d8f3658a]){left:0}.menu-up:where([data-v-d8f3658a]){top:auto;bottom:calc(100% + 6px)}.toolbar:where([data-v-fb991b10]){display:flex;flex-wrap:wrap;align-items:center;gap:10px}.class-search:where([data-v-fb991b10]){width:260px;max-width:100%}.class-grid:where([data-v-fb991b10]){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:16px}.class-card:where([data-v-fb991b10]){display:flex;flex-direction:column;gap:16px;container-type:inline-size}@container (max-width: 380px){.code-label:where([data-v-fb991b10]){display:none}}.class-top:where([data-v-fb991b10]){display:flex;align-items:flex-start;gap:12px}.monogram.large:where([data-v-fb991b10]){width:40px;height:40px;border-radius:10px;font-size:13px}.class-id:where([data-v-fb991b10]){flex:1;min-width:0}.class-id h2:where([data-v-fb991b10]){font-size:16px;font-weight:650;line-height:1.3}.class-id a:where([data-v-fb991b10]){color:var(--ink);text-decoration:none}.class-id a:where([data-v-fb991b10]):hover{color:var(--accent-ink)}.class-course:where([data-v-fb991b10]){margin-top:2px;color:var(--ink-3);font-size:12.5px}.class-top:where([data-v-fb991b10]) .more-menu{margin:-4px -8px 0 0}.class-top:where([data-v-fb991b10]) .icon-btn{width:30px;height:30px}.class-stats:where([data-v-fb991b10]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line)}.class-stats>div:where([data-v-fb991b10]){padding:10px 12px;background:var(--surface-2)}.class-stats span:where([data-v-fb991b10]){display:block;color:var(--ink-3);font-size:12px}.class-stats strong:where([data-v-fb991b10]){display:block;margin-top:2px;font-family:var(--font-display);font-size:22px;font-weight:500}.class-summary:where([data-v-fb991b10]){color:var(--ink-2);font-size:13px;line-height:1.5}.class-foot:where([data-v-fb991b10]){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.code-label:where([data-v-fb991b10]){color:var(--ink-3);font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:0}.spacer:where([data-v-fb991b10]){flex:1}.class-add:where([data-v-fb991b10]){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:250px;border:1px dashed var(--line-2);border-radius:var(--radius-lg);color:var(--ink-3);font-size:12.5px}.class-add:where([data-v-fb991b10]):hover{border-color:var(--ink-3);background:var(--hover)}.class-add strong:where([data-v-fb991b10]){color:var(--ink);font-size:14px}.class-add-icon:where([data-v-fb991b10]){display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-2)}@media(max-width:720px){.class-grid:where([data-v-fb991b10]){grid-template-columns:minmax(0,1fr)}.class-add:where([data-v-fb991b10]){min-height:140px}}.assignment-table:where([data-v-7b60d6d8]){min-width:940px}.title-cell:where([data-v-7b60d6d8]){display:flex;align-items:center;gap:12px;min-width:0;max-width:380px}.type-icon:where([data-v-7b60d6d8]){display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}.title-text:where([data-v-7b60d6d8]){min-width:0}.class-cell:where([data-v-7b60d6d8]){display:flex;align-items:center;gap:8px;max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.due:where([data-v-7b60d6d8]){display:block;white-space:nowrap}.meter-cell:where([data-v-7b60d6d8]){display:flex;align-items:center;gap:10px;min-width:140px}.meter-cell .num:where([data-v-7b60d6d8]){color:var(--ink-2);white-space:nowrap}.row-actions:where([data-v-7b60d6d8]){display:flex;align-items:center;justify-content:flex-end;gap:4px}.row-actions:where([data-v-7b60d6d8]) .icon-btn{width:30px;height:30px}.roster-search:where([data-v-1735c144]){width:220px}.roster-table:where([data-v-1735c144]){min-width:620px}.student-link:where([data-v-1735c144]){display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left}.student-link:where([data-v-1735c144]):hover{color:var(--accent-ink)}.initial:where([data-v-1735c144]){display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:12px}.muted:where([data-v-1735c144]){color:var(--ink-2)}.row-actions:where([data-v-1735c144]){display:flex;align-items:center;justify-content:flex-end;gap:4px}.row-actions:where([data-v-1735c144]) .icon-btn{width:30px;height:30px}.gb-tools:where([data-v-a0056006]){display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gb-legend:where([data-v-a0056006]){display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 20px 12px;color:var(--ink-3);font-size:12px}.gb-legend span:where([data-v-a0056006]){display:inline-flex;align-items:center;gap:6px}.gb-legend i:where([data-v-a0056006]){display:inline-block;width:12px;height:12px;border-radius:3px}.gradebook-wrap:where([data-v-a0056006]){max-height:68vh}.gradebook-table:where([data-v-a0056006]){min-width:max-content}.gradebook-table thead th:where([data-v-a0056006]){position:sticky;top:0;z-index:1;vertical-align:bottom;white-space:normal}.gradebook-table .sticky:where([data-v-a0056006]){position:sticky;left:0;z-index:2;min-width:190px;background:var(--surface);text-align:left}.gradebook-table thead .sticky:where([data-v-a0056006]){z-index:3;background:var(--surface-2)}.gradebook-table tfoot th:where([data-v-a0056006]),.gradebook-table tfoot td:where([data-v-a0056006]){border-top:1px solid var(--line);background:var(--surface-2);font-weight:650}.gradebook-table tbody tr:hover .sticky:where([data-v-a0056006]){background:var(--surface-2)}.gb-title:where([data-v-a0056006]){display:block;max-width:140px;margin:0 auto;color:var(--ink-2);line-height:1.3}.gb-date:where([data-v-a0056006]){display:block;margin-top:2px;color:var(--ink-3);font-size:11.5px;font-weight:500}.student-link:where([data-v-a0056006]){display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left}.student-link:where([data-v-a0056006]):hover{color:var(--accent-ink)}.initial:where([data-v-a0056006]){display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:12px}.gb-cell:where([data-v-a0056006]){display:flex;align-items:center;justify-content:center;min-width:76px;height:30px;border-radius:6px;font-weight:600}.gb-high:where([data-v-a0056006]),.gb-legend .gb-high:where([data-v-a0056006]){background:var(--success-soft);color:var(--success)}.gb-low:where([data-v-a0056006]),.gb-legend .gb-low:where([data-v-a0056006]){background:var(--warning-soft);color:var(--warning)}.gb-fail:where([data-v-a0056006]),.gb-legend .gb-fail:where([data-v-a0056006]){background:var(--danger-soft);color:var(--danger)}.gb-mid:where([data-v-a0056006]){color:var(--ink)}.gb-open:where([data-v-a0056006]){color:var(--ink-3);font-size:12px;font-weight:500;box-shadow:inset 0 0 0 1px var(--line)}.gb-missing:where([data-v-a0056006]){color:var(--danger);font-size:12px;box-shadow:inset 0 0 0 1px var(--danger-soft)}.gb-legend .gb-open:where([data-v-a0056006]){box-shadow:inset 0 0 0 1px var(--line-2)}.gb-legend .gb-missing:where([data-v-a0056006]){box-shadow:inset 0 0 0 1px var(--danger)}.heat-body:where([data-v-0836563c]){padding:0 20px 20px}.heat-weakest:where([data-v-0836563c]){display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.heat-weakest strong:where([data-v-0836563c]){font-size:13px}.heat-weakest p:where([data-v-0836563c]){color:var(--ink-2);font-size:13px}.heat-weakest ol:where([data-v-0836563c]){display:flex;flex:1;flex-wrap:wrap;gap:6px 18px;padding:0;list-style:none}.heat-weakest li:where([data-v-0836563c]){font-size:13px}.heat-weakest li em:where([data-v-0836563c]){margin-left:6px;color:var(--danger);font-style:normal;font-weight:700}.heat-legend:where([data-v-0836563c]){display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:14px;color:var(--ink-3);font-size:12px}.heat-legend i:where([data-v-0836563c]){display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-2px}.heat-topics:where([data-v-0836563c]){display:grid;gap:18px}.heat-topic h3:where([data-v-0836563c]){margin-bottom:8px;font-size:14px;font-weight:650}.heat-code:where([data-v-0836563c]){margin-right:6px;color:var(--ink-3);font-weight:700;font-variant-numeric:tabular-nums}.heat-grid:where([data-v-0836563c]){display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.heat-cell:where([data-v-0836563c]){display:grid;gap:2px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm)}.heat-name:where([data-v-0836563c]){color:var(--ink);font-size:12.5px;line-height:1.35}.heat-cell strong:where([data-v-0836563c]){font-family:var(--font-display);font-size:20px;font-weight:500}.heat-cell small:where([data-v-0836563c]){color:var(--ink-3);font-size:11.5px}.heat-weak:where([data-v-0836563c]){background:var(--danger-soft)}.heat-cell.heat-weak strong:where([data-v-0836563c]){color:var(--danger)}.heat-fair:where([data-v-0836563c]){background:var(--warning-soft)}.heat-cell.heat-fair strong:where([data-v-0836563c]){color:var(--warning)}.heat-strong:where([data-v-0836563c]){background:var(--success-soft)}.heat-cell.heat-strong strong:where([data-v-0836563c]){color:var(--success)}.heat-thin:where([data-v-0836563c]){background:var(--hover);box-shadow:inset 0 0 0 1px var(--line)}.heat-none:where([data-v-0836563c]){border:1px dashed var(--line-2);background:transparent}.heat-cell.heat-none strong:where([data-v-0836563c]),.heat-cell.heat-thin strong:where([data-v-0836563c]){color:var(--ink-3)}.class-head:where([data-v-65623e69]){align-items:center}.class-id:where([data-v-65623e69]){display:flex;align-items:center;gap:16px;min-width:0}.monogram.xl:where([data-v-65623e69]){width:52px;height:52px;border-radius:13px;font-size:16px}.class-meta:where([data-v-65623e69]){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;color:var(--ink-3);font-size:13px}.code-inline:where([data-v-65623e69]){display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:13px}.code-inline strong:where([data-v-65623e69]){color:var(--ink);font-weight:600;letter-spacing:.06em}.code-inline:hover strong:where([data-v-65623e69]){color:var(--accent-ink)}.page-actions:where([data-v-65623e69]) .btn-icon{width:36px;padding:0}.page-tabs:where([data-v-65623e69]){margin-top:-6px;border-bottom:1px solid var(--line)}.chart-head:where([data-v-65623e69]){display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px}.invite-card:where([data-v-65623e69]),.review-card:where([data-v-65623e69]){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.invite-big:where([data-v-65623e69]){display:inline-flex;align-items:center;gap:12px;margin-top:4px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font-size:22px;font-weight:600;letter-spacing:.12em}.invite-big:where([data-v-65623e69]):hover{border-color:var(--line-2)}.invite-big:where([data-v-65623e69]) svg{color:var(--ink-3)}.small:where([data-v-65623e69]){font-size:12.5px}.empty-inline .btn:where([data-v-65623e69]){margin-left:8px}.toolbar:where([data-v-e1bbdf0a]){display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spacer:where([data-v-e1bbdf0a]){flex:1}.asg-search:where([data-v-e1bbdf0a]){width:220px}.head-left:where([data-v-1c1289f6]),.head-right:where([data-v-1c1289f6]){display:flex;flex-wrap:wrap;align-items:center;gap:12px}.head-right:where([data-v-1c1289f6]){gap:8px}.submissions-table:where([data-v-1c1289f6]){min-width:900px}.student-link:where([data-v-1c1289f6]){display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left;white-space:nowrap}.student-link:where([data-v-1c1289f6]):hover{color:var(--accent-ink)}.initial:where([data-v-1c1289f6]){display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:12px}.acc-cell:where([data-v-1c1289f6]){display:flex;align-items:center;gap:8px;min-width:150px}.acc-cell .num:where([data-v-1c1289f6]){width:40px}.acc-cell .meter:where([data-v-1c1289f6]){height:5px}.acc-cell .cell-sub:where([data-v-1c1289f6]){margin:0}.muted:where([data-v-1c1289f6]){color:var(--ink-2)}.nowrap:where([data-v-1c1289f6]){white-space:nowrap}.fb-cell:where([data-v-1c1289f6]){min-width:240px}.fb-editor:where([data-v-1c1289f6]){display:flex;align-items:flex-start;gap:6px}.fb-input:where([data-v-1c1289f6]){flex:1;min-width:0;min-height:32px;max-height:120px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:13px;line-height:1.45;resize:vertical;field-sizing:content}.fb-input:where([data-v-1c1289f6]):focus{border-color:var(--accent);background:var(--surface);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.foot:where([data-v-1c1289f6]){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.foot-note:where([data-v-1c1289f6]){color:var(--ink-3);font-size:12.5px}.question-row:where([data-v-e985a6ef]){padding:14px 20px;border-top:1px solid var(--line)}.rows.compact:where([data-v-e985a6ef]){display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.question-head:where([data-v-e985a6ef]){display:flex;align-items:center;gap:10px}.qid:where([data-v-e985a6ef]){font-size:13px;font-weight:600}.question-head .pill:where([data-v-e985a6ef]){margin-left:auto}.answered:where([data-v-e985a6ef]){margin-top:4px;color:var(--ink-3);font-size:12.5px}.missed:where([data-v-e985a6ef]){color:var(--danger);font-weight:600}.stack:where([data-v-e985a6ef]){display:flex;gap:2px;height:10px;margin-top:12px;overflow:hidden;border-radius:5px;background:var(--line)}.stack span:where([data-v-e985a6ef]){min-width:0}.seg-correct:where([data-v-e985a6ef]){background:var(--success)}.seg-missed:where([data-v-e985a6ef]){background:var(--danger)}.seg-other:where([data-v-e985a6ef]){background:var(--option)}.option-list:where([data-v-e985a6ef]){display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.option:where([data-v-e985a6ef]){display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink-3);font-size:12.5px}.option-label.correct:where([data-v-e985a6ef]){color:var(--success);font-weight:600}.option-label.wrong:where([data-v-e985a6ef]){color:var(--danger);font-weight:600}.option-count:where([data-v-e985a6ef]){color:var(--ink-3)}.small:where([data-v-e985a6ef]){font-size:12.5px}.opt-students:where([data-v-e985a6ef]){display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px}.name-chip:where([data-v-e985a6ef]){padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px}.answer-key-list:where([data-v-a473d02d]){display:grid;gap:10px;padding:0 20px 20px}.answer-key-question:where([data-v-a473d02d]){padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.answer-key-head:where([data-v-a473d02d]){display:flex;flex-wrap:wrap;align-items:center;gap:10px}.answer-key-head strong:where([data-v-a473d02d]){font-size:13.5px}.answer-key-qid:where([data-v-a473d02d]){color:var(--ink-3);font-size:12px}.answer-key-choice:where([data-v-a473d02d]){margin-left:auto;padding:3px 10px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:12.5px;font-weight:700}.answer-key-parts:where([data-v-a473d02d]){display:grid;gap:9px;margin-top:10px}.answer-key-part:where([data-v-a473d02d]){padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.answer-key-part-head:where([data-v-a473d02d]){display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;font-weight:650}.answer-key-part-head span:where([data-v-a473d02d]){color:var(--ink-3);font-size:12px;font-weight:600}.answer-key-scheme:where([data-v-a473d02d]){margin-top:7px;color:var(--ink-2);font-size:12.5px;line-height:1.6}.answer-key-scheme p:where([data-v-a473d02d]),.answer-key-criteria:where([data-v-a473d02d]){white-space:pre-wrap}.answer-key-criteria:where([data-v-a473d02d]){display:grid;gap:4px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);color:var(--ink-2);font-size:12.5px;line-height:1.55}.answer-key-criteria strong:where([data-v-a473d02d]){margin-right:5px;color:var(--ink)}.questions-split:where([data-v-a473d02d]){display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:16px;padding:0 20px 20px}.question-list:where([data-v-a473d02d]){display:grid;align-content:start;gap:4px;max-height:70vh;overflow-y:auto}.question-item:where([data-v-a473d02d]){display:grid;gap:2px;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius-sm);text-align:left}.question-item:where([data-v-a473d02d]):hover{background:var(--hover)}.question-item.on:where([data-v-a473d02d]){border-color:var(--line);background:var(--surface-2)}.question-item strong:where([data-v-a473d02d]){font-size:13px}.question-item small:where([data-v-a473d02d]){overflow:hidden;color:var(--ink-3);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.question-preview-pane:where([data-v-a473d02d]){margin-top:0;max-height:70vh}@media(max-width:720px){.questions-split:where([data-v-a473d02d]){grid-template-columns:1fr}.question-list:where([data-v-a473d02d]){max-height:220px}}.title-block:where([data-v-ba1eac93]){min-width:0}.kind:where([data-v-ba1eac93]){display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.meta:where([data-v-ba1eac93]){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;color:var(--ink-3);font-size:13px}.class-link:where([data-v-ba1eac93]){display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);text-decoration:none}.class-link:where([data-v-ba1eac93]):hover{color:var(--accent-ink)}.page-actions:where([data-v-ba1eac93]) .btn-icon{width:36px;padding:0}.page-tabs:where([data-v-ba1eac93]){margin-top:-6px;border-bottom:1px solid var(--line)}.kpi-of:where([data-v-ba1eac93]){color:var(--ink-3);font-family:var(--font-sans);font-size:14px}.kpi-meter:where([data-v-ba1eac93]){display:flex;align-items:center;gap:10px}.split>.main-col:where([data-v-ba1eac93]){flex-basis:860px}.month-nav:where([data-v-c57b33af]){display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface)}.month-nav .icon-btn:where([data-v-c57b33af]){border-radius:0}.today-btn:where([data-v-c57b33af]){min-height:34px;padding:0 12px;border-right:1px solid var(--line);border-left:1px solid var(--line);font-size:13px;font-weight:600}.today-btn:where([data-v-c57b33af]):disabled{color:var(--ink-3);cursor:default}.chips:where([data-v-c57b33af]){display:flex;flex-wrap:wrap;gap:8px}.chip:where([data-v-c57b33af]){display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:600}.chip:where([data-v-c57b33af]):hover{border-color:var(--line-2)}.chip.off:where([data-v-c57b33af]){color:var(--ink-3);background:transparent;text-decoration:line-through}.chip.off .dot:where([data-v-c57b33af]){opacity:.35}.calendar.main-col:where([data-v-c57b33af]){flex-basis:860px}.cal-row:where([data-v-c57b33af]){display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-weekdays:where([data-v-c57b33af]){border-bottom:1px solid var(--line);background:var(--surface-2)}.cal-weekdays>div:where([data-v-c57b33af]){padding:9px 10px;color:var(--ink-3);font-size:12px;font-weight:600}.cal-cell:where([data-v-c57b33af]){display:flex;flex-direction:column;gap:5px;min-width:0;min-height:118px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-row>.cal-cell:where([data-v-c57b33af]):last-child{border-right:0}.cal-row:last-child>.cal-cell:where([data-v-c57b33af]){border-bottom:0}.cal-cell.we:where([data-v-c57b33af]),.cal-cell.empty:where([data-v-c57b33af]){background:var(--surface-2)}.cal-cell.today:where([data-v-c57b33af]){box-shadow:inset 0 0 0 2px var(--accent)}.day:where([data-v-c57b33af]){display:flex;align-items:center;gap:6px;height:24px;color:var(--ink-2);font-size:12.5px;font-weight:600}.past .day:where([data-v-c57b33af]){color:var(--ink-3);font-weight:500}.today-num:where([data-v-c57b33af]){display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700}.today-label:where([data-v-c57b33af]){color:var(--accent-ink);font-size:12px}.ev:where([data-v-c57b33af]){display:flex;flex-direction:column;gap:1px;min-width:0;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);text-decoration:none}.ev:where([data-v-c57b33af]):hover{border-color:var(--line-2);box-shadow:var(--shadow-md)}.ev-title:where([data-v-c57b33af]){display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600}.ev-title span:where([data-v-c57b33af]):last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-meta:where([data-v-c57b33af]){overflow:hidden;padding-left:14px;color:var(--ink-3);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.ev.is-closed:where([data-v-c57b33af]){background:transparent}.ev.is-closed .ev-title:where([data-v-c57b33af]){color:var(--ink-3);font-weight:500}.ev.is-draft:where([data-v-c57b33af]){border-style:dashed;background:transparent}.ev.is-overdue .ev-meta:where([data-v-c57b33af]){color:var(--warning)}.ev.soon:where([data-v-c57b33af]){border-color:var(--warning)}.ev.soon .ev-meta:where([data-v-c57b33af]){color:var(--warning);font-weight:600}.ev-more:where([data-v-c57b33af]){padding:3px 7px;border:1px dashed var(--line-2);border-radius:6px;color:var(--accent-ink);font-size:12px;text-align:left}.agenda-head:where([data-v-c57b33af]){padding:16px 18px 12px;border-bottom:1px solid var(--line)}.agenda-today:where([data-v-c57b33af]){margin-bottom:4px;color:var(--accent-ink);font-size:12.5px;font-weight:600}.agenda-day:where([data-v-c57b33af]){padding:12px 18px 4px;color:var(--ink-3);font-size:12px;font-weight:600}.agenda-row:where([data-v-c57b33af]){display:flex;gap:10px;padding:8px 18px;color:var(--ink);text-decoration:none}.agenda-row:where([data-v-c57b33af]):hover{background:var(--hover)}.agenda-row:where([data-v-c57b33af]):last-child{padding-bottom:16px}.agenda-row .dot:where([data-v-c57b33af]){margin-top:6px}.agenda-text:where([data-v-c57b33af]){min-width:0}.agenda-title:where([data-v-c57b33af]){display:block;font-size:13.5px;font-weight:600}@media(max-width:720px){.cal-cell:where([data-v-c57b33af]){min-height:72px;padding:4px}.ev-meta:where([data-v-c57b33af]),.today-label:where([data-v-c57b33af]){display:none}.ev:where([data-v-c57b33af]){padding:3px 4px}}.settings:where([data-v-c2061ecb]){max-width:860px;margin:0}.setting-row:where([data-v-c2061ecb]){display:flex;align-items:center;gap:14px;width:100%;padding:14px 20px;border-top:1px solid var(--line);color:var(--ink);text-align:left;text-decoration:none}.link-row:where([data-v-c2061ecb]):hover{background:var(--hover)}.link-row:where([data-v-c2061ecb])>svg:last-child{color:var(--ink-3)}.setting-icon:where([data-v-c2061ecb]){display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}.setting-main:where([data-v-c2061ecb]){flex:1;min-width:0}.setting-name:where([data-v-c2061ecb]){font-size:14px;font-weight:600}.setting-desc:where([data-v-c2061ecb]){margin-top:2px;color:var(--ink-3);font-size:12.5px}.switch:where([data-v-c2061ecb]){position:relative;flex-shrink:0;width:42px;height:25px;border:1px solid var(--line-2);border-radius:20px;background:var(--surface-2);transition:background var(--transition),border-color var(--transition)}.switch:where([data-v-c2061ecb]):after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0003;transition:left var(--transition)}.switch.on:where([data-v-c2061ecb]){border-color:var(--success);background:var(--success)}.switch.on:where([data-v-c2061ecb]):after{left:19px}@media(max-width:720px){.setting-row:where([data-v-c2061ecb]){flex-wrap:wrap}}.support-page:where([data-v-f8b8e028]){--support-muted: #b1a6bf;color:#fff3ed}.support-hero:where([data-v-f8b8e028]){position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:68px;padding:34px 0 54px}.support-eyebrow:where([data-v-f8b8e028]){display:flex;align-items:center;gap:9px;margin:0;color:#e3b5c2;font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.6}.support-status:where([data-v-f8b8e028]){width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#ff9dba;box-shadow:0 0 12px #ff749a}.support-title:where([data-v-f8b8e028]){margin:26px 0 22px;font-size:clamp(56px,6.5vw,84px);font-weight:750;line-height:1.15;letter-spacing:-.06em}.support-title span:where([data-v-f8b8e028]){color:#ff9dba;background:linear-gradient(105deg,#ffb49b 5%,#ff84b4 55%,#c7a0ff 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.support-lead:where([data-v-f8b8e028]){margin:0 0 18px;font-size:23px;font-weight:500;line-height:1.6}.support-description:where([data-v-f8b8e028]){max-width:410px;margin:0;color:var(--support-muted);font-size:14px;line-height:1.9}.support-signature:where([data-v-f8b8e028]){display:flex;align-items:center;gap:14px;margin-top:32px;font-size:13px;color:#edc7cc}.support-signature svg:where([data-v-f8b8e028]){width:42px;height:42px;flex:0 0 auto;color:#ff8d9c}.support-signature small:where([data-v-f8b8e028]){display:block;margin-top:3px;color:var(--support-muted);font-size:8px;letter-spacing:.12em}.support-payment:where([data-v-f8b8e028]){position:relative;padding:14px}.support-payment:where([data-v-f8b8e028]):before{position:absolute;inset:-30px;z-index:0;border-radius:50%;background:radial-gradient(ellipse,#b05d922b,transparent 70%);content:"";pointer-events:none}.support-payment-card:where([data-v-f8b8e028]){position:relative;padding:22px;border:1px solid #efb1d330;border-radius:24px;background:linear-gradient(145deg,#332333e8,#1b1826f5);box-shadow:0 24px 70px #05040a66,0 0 42px #f075ad12,inset 0 1px #ffffff0d;transform:rotate(2deg);transition:transform .3s ease,box-shadow .3s ease}.support-payment-card:where([data-v-f8b8e028]):hover{transform:rotate(0);box-shadow:0 24px 70px #05040a66,0 0 48px #f075ad24}.support-payment-top:where([data-v-f8b8e028]){display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;color:#f3d6dd;font-size:13px;font-weight:600}.support-payment-top:where([data-v-f8b8e028])>:last-child{color:#ffa7ba;font-size:20px;line-height:1}.support-qr:where([data-v-f8b8e028]){margin:0}.support-qr img:where([data-v-f8b8e028]){display:block;width:100%;height:auto;border:1px solid #ffffff14;border-radius:12px}.support-qr figcaption:where([data-v-f8b8e028]){margin-top:16px;text-align:center;font-size:13px;font-weight:600;letter-spacing:.06em}.support-payment-note:where([data-v-f8b8e028]){margin:7px 0 0;text-align:center;color:var(--support-muted);font-size:11px}.support-spark:where([data-v-f8b8e028]){position:absolute;z-index:1;color:#ffb4cd;pointer-events:none;animation:support-sparkle-f8b8e028 5s ease-in-out infinite}.support-spark--one:where([data-v-f8b8e028]){top:-17px;right:2px;font-size:42px}.support-spark--two:where([data-v-f8b8e028]){bottom:-8px;left:-13px;color:#c6a4f7;font-size:32px;animation-delay:-2.5s}.support-wall:where([data-v-f8b8e028]){padding-top:30px;border-top:1px solid #f3c9dc20}.support-wall-heading:where([data-v-f8b8e028]){display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.support-wall-title:where([data-v-f8b8e028]){margin:10px 0 0;font-size:26px;font-weight:650;line-height:1.5;letter-spacing:-.025em}.support-wall-title span:where([data-v-f8b8e028]){color:#ffacbf}.support-count:where([data-v-f8b8e028]){padding-bottom:4px;color:var(--support-muted);font-size:11px;white-space:nowrap}.support-count>span:where([data-v-f8b8e028]){margin:0 7px;color:#f1bed0}.supporter-grid:where([data-v-f8b8e028]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.supporter-card:where([data-v-f8b8e028]){display:flex;align-items:center;gap:14px;min-width:0;padding:20px;border:1px solid #dac4e21a;border-radius:16px;background:linear-gradient(110deg,#ffffff07,#ffffff03);transition:border-color .25s ease,background .25s ease,transform .25s ease;animation:support-arrive-f8b8e028 .6s ease both;animation-delay:var(--supporter-delay)}.supporter-card:where([data-v-f8b8e028]):hover{transform:translateY(-3px);border-color:#ee8bb64d;background:#f294be0c}.supporter-avatar:where([data-v-f8b8e028]){display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #ffa2b82b;border-radius:12px;color:#ffb9c4;background:#ed84941c;font-size:16px;font-weight:600}.supporter-avatar--1:where([data-v-f8b8e028]){color:#d4c1ff;background:#ad8bd91c;border-color:#c2a0f52b}.supporter-avatar--2:where([data-v-f8b8e028]){color:#f3d5ac;background:#cea3661c;border-color:#f3d5ac2b}.supporter-name:where([data-v-f8b8e028]){min-width:0;color:#eee1e9;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.supporter-amount:where([data-v-f8b8e028]){margin-left:auto;flex:0 0 auto;color:#ffd1da;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.supporter-currency:where([data-v-f8b8e028]){margin-right:4px;color:#c592a7;font-size:12px;font-weight:400}.support-wall-note:where([data-v-f8b8e028]){margin:20px 0 0;color:var(--support-muted);font-size:12px;text-align:center}.support-footer:where([data-v-f8b8e028]){display:flex;align-items:center;gap:9px;margin-top:48px;padding-top:22px;border-top:1px solid #f3c9dc14;color:var(--support-muted);font-size:11px}.support-footer:where([data-v-f8b8e028])>:first-child{color:#ffc0cf;font-size:18px}.support-footer-brand:where([data-v-f8b8e028]){margin-left:auto;font-size:9px;letter-spacing:.16em}@keyframes support-sparkle-f8b8e028{0%,to{opacity:.6;transform:scale(.9) rotate(-8deg)}50%{opacity:1;transform:scale(1.08) rotate(8deg)}}@keyframes support-arrive-f8b8e028{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.support-hero:where([data-v-f8b8e028]){grid-template-columns:minmax(0,1fr) 300px;gap:28px}.supporter-card:where([data-v-f8b8e028]){padding:16px;gap:10px}}@media(max-width:640px){.support-hero:where([data-v-f8b8e028]){grid-template-columns:minmax(0,1fr);gap:32px;padding:12px 0 38px}.support-title:where([data-v-f8b8e028]){margin-top:20px;font-size:60px}.support-lead:where([data-v-f8b8e028]){font-size:20px}.support-eyebrow:where([data-v-f8b8e028]){font-size:9px;letter-spacing:.11em}.support-signature:where([data-v-f8b8e028]){margin-top:24px}.support-payment:where([data-v-f8b8e028]){width:min(100%,320px);box-sizing:border-box;justify-self:center}.support-wall-heading:where([data-v-f8b8e028]){align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:18px}.support-wall-title:where([data-v-f8b8e028]){font-size:23px}.supporter-grid:where([data-v-f8b8e028]){grid-template-columns:minmax(0,1fr);gap:10px}.supporter-card:where([data-v-f8b8e028]){padding:16px}.supporter-amount:where([data-v-f8b8e028]){font-size:19px}.support-footer:where([data-v-f8b8e028]){flex-wrap:wrap;margin-top:34px}.support-footer-brand:where([data-v-f8b8e028]){flex-basis:100%;margin-left:27px}}@media(prefers-reduced-motion:reduce){.support-spark:where([data-v-f8b8e028]),.supporter-card:where([data-v-f8b8e028]){animation:none}.support-payment-card:where([data-v-f8b8e028]),.supporter-card:where([data-v-f8b8e028]){transition:none}.support-payment-card:where([data-v-f8b8e028]),.support-payment-card:where([data-v-f8b8e028]):hover,.supporter-card:where([data-v-f8b8e028]):hover{transform:none}}.information-document:where([data-v-889d373b]){max-width:960px;margin:0 auto;color:var(--text,#292722);font:15px/1.8 system-ui,sans-serif}.information-document--prose:where([data-v-889d373b]) h1,.information-document--prose:where([data-v-889d373b]) h2,.information-document--prose:where([data-v-889d373b]) h3{color:inherit;line-height:1.35}.information-document--prose:where([data-v-889d373b]) h1{font:600 36px/1.25 Georgia,Kaiti SC,serif;margin:16px 0}.information-document--prose:where([data-v-889d373b]) h2{font-size:21px;margin:0 0 14px}.information-document--prose:where([data-v-889d373b]) h3{margin:18px 0 8px}.information-document--prose:where([data-v-889d373b]) .brand{display:flex;align-items:center;gap:10px;font-weight:600}.information-document--prose:where([data-v-889d373b]) .brand img{width:30px;height:30px;object-fit:contain}.information-document--prose:where([data-v-889d373b]) .policy-head{margin-bottom:32px}.information-document--prose:where([data-v-889d373b]) .lead{color:var(--text-muted,#6c6860)}.information-document--prose:where([data-v-889d373b]) section{margin:24px 0}.information-document--prose:where([data-v-889d373b]) .section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.information-document--prose:where([data-v-889d373b]) .section-head h2{margin:0}.information-document--prose:where([data-v-889d373b]) .section-num{color:#b46b52;font-size:20px}.information-document--prose:where([data-v-889d373b]) .section-card,.information-document--prose:where([data-v-889d373b]) .note{padding:22px;border:1px solid var(--border,#ddd8d0);border-radius:14px;background:var(--bg-card,#fffdf9)}.information-document--prose:where([data-v-889d373b]) p{margin:10px 0}.information-document--prose:where([data-v-889d373b]) ul,.information-document--prose:where([data-v-889d373b]) ol{padding-left:24px}.information-document--prose:where([data-v-889d373b]) li{margin:8px 0}.information-document--prose:where([data-v-889d373b]) .en{display:block;color:var(--text-muted,#6c6860);font-size:13px;margin:4px 0 12px}.information-document--prose:where([data-v-889d373b]) .steps{display:flex;flex-wrap:wrap;gap:16px}.information-document--prose:where([data-v-889d373b]) .step{flex:1 1 210px;padding:12px;border-radius:10px;background:var(--bg,#f6f3ed)}.information-document--prose:where([data-v-889d373b]) .step-ico{font-size:23px;color:#b46b52}.information-document--prose:where([data-v-889d373b]) table{width:100%;border-collapse:collapse;font-size:14px}.information-document--prose:where([data-v-889d373b]) th,.information-document--prose:where([data-v-889d373b]) td{text-align:left;padding:12px;border-bottom:1px solid var(--border,#ddd8d0);vertical-align:top}.information-document--prose:where([data-v-889d373b]) th{font-weight:600}.information-document--prose:where([data-v-889d373b]) .faq{padding:14px 0;border-bottom:1px solid var(--border,#ddd8d0)}.information-document--prose:where([data-v-889d373b]) summary{cursor:pointer;font-weight:600}.information-document--prose:where([data-v-889d373b]) a{color:#a55842;text-decoration:underline;text-underline-offset:3px}.information-document--prose:where([data-v-889d373b]) .foot{margin:32px 0 12px;color:var(--text-muted,#6c6860);font-size:12px}.information-document--support:where([data-v-889d373b]){max-width:1080px}.search-box:where([data-v-0c91d706]){position:relative;width:min(320px,32vw)}.search-field:where([data-v-0c91d706]){background:var(--surface-2);min-height:34px}.search-field kbd:where([data-v-0c91d706]){padding:1px 5px;border:1px solid var(--line);border-radius:4px;color:var(--ink-3);font-size:11px;white-space:nowrap}.search-field input:where([data-v-0c91d706])::-webkit-search-cancel-button{display:none}.search-results:where([data-v-0c91d706]){position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:40;min-width:320px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--pop)}.search-row:where([data-v-0c91d706]){display:flex;align-items:center;gap:10px;padding:8px;border-radius:7px;cursor:pointer}.search-row.active:where([data-v-0c91d706]){background:var(--hover)}.search-kind:where([data-v-0c91d706]){display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}.search-text:where([data-v-0c91d706]){flex:1;min-width:0}.search-title:where([data-v-0c91d706]){display:block;overflow:hidden;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.search-meta:where([data-v-0c91d706]){display:flex;align-items:center;gap:6px;margin-top:1px;overflow:hidden;color:var(--ink-3);font-size:12px;white-space:nowrap}.search-type:where([data-v-0c91d706]){color:var(--ink-3);font-size:12px}.search-empty:where([data-v-0c91d706]){padding:14px 10px;color:var(--ink-3);font-size:13px}.app:where([data-v-2549773b]){display:flex;height:100vh}.sidebar:where([data-v-2549773b]){display:flex;flex-direction:column;flex-shrink:0;width:var(--sidebar-width);padding:14px 12px;border-right:1px solid var(--line);background:var(--sidebar);z-index:40}.sidebar-top:where([data-v-2549773b]){display:flex;align-items:center;justify-content:space-between}.sidebar-brand:where([data-v-2549773b]){display:flex;align-items:center;gap:10px;padding:2px 6px;color:var(--ink);text-decoration:none}.sidebar-brand img:where([data-v-2549773b]){width:32px;height:32px;object-fit:contain}.sidebar-brand>span:where([data-v-2549773b]){display:flex;flex-direction:column;line-height:1.25}.brand-name:where([data-v-2549773b]){font-family:var(--font-display);font-size:15.5px;font-weight:500;letter-spacing:-.01em}.brand-sub:where([data-v-2549773b]){color:var(--ink-3);font-size:12px}.sidebar-scroll:where([data-v-2549773b]){flex:1;min-height:0;overflow-y:auto;margin:18px -4px 0;padding:0 4px}.nav-group:where([data-v-2549773b]){display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group:where([data-v-2549773b]){margin-top:20px}.nav-item:where([data-v-2549773b]){display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:7px;color:var(--ink-2);font-size:13.5px;font-weight:500;text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-item:where([data-v-2549773b]):hover{background:var(--hover);color:var(--ink)}.nav-item.active:where([data-v-2549773b]){background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--line),0 1px 2px #1b1a160d}.nav-item:where([data-v-2549773b]) svg{flex:none}.nav-item .count:where([data-v-2549773b]){margin-left:auto}.nav-label:where([data-v-2549773b]){display:flex;align-items:center;justify-content:space-between;padding:0 2px 4px 10px}.nav-label a:where([data-v-2549773b]){color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.04em;text-decoration:none}.nav-label a:where([data-v-2549773b]):hover,.nav-label a.current:where([data-v-2549773b]){color:var(--ink)}.nav-add:where([data-v-2549773b]){width:26px;height:26px}.nav-class:where([data-v-2549773b]){font-size:13px}.nav-class-name:where([data-v-2549773b]){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-class-n:where([data-v-2549773b]){margin-left:auto;color:var(--ink-3);font-size:12px}.nav-more:where([data-v-2549773b]){color:var(--ink-3);font-size:12.5px}.nav-empty:where([data-v-2549773b]){padding:4px 10px;color:var(--ink-3);font-size:12.5px;line-height:1.5}.sidebar-footer:where([data-v-2549773b]){display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.sidebar-footer:where([data-v-2549773b]) .more-menu{display:flex}.sidebar-footer:where([data-v-2549773b]) .account-chip{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:left}.sidebar-footer:where([data-v-2549773b]) .account-chip:hover{border-color:var(--line-2)}.sidebar-footer:where([data-v-2549773b]) .menu{left:0;right:0}.avatar:where([data-v-2549773b]){display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700}.account-text:where([data-v-2549773b]){display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.account-name:where([data-v-2549773b]){font-size:13px;font-weight:600}.account-role:where([data-v-2549773b]){overflow:hidden;color:var(--ink-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-caret:where([data-v-2549773b]){color:var(--ink-3)}.sidebar-mobile-close:where([data-v-2549773b]){display:none}.main:where([data-v-2549773b]){display:flex;flex:1;flex-direction:column;min-width:0}.header:where([data-v-2549773b]){display:flex;flex-shrink:0;align-items:center;gap:10px;min-height:var(--header-height);padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface);z-index:30}.menu-btn:where([data-v-2549773b]){display:none}.crumbs:where([data-v-2549773b]){display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink-3);font-size:13.5px}.crumbs a:where([data-v-2549773b]){color:var(--ink-3);text-decoration:none;white-space:nowrap}.crumbs a:where([data-v-2549773b]):hover{color:var(--ink)}.crumb-current:where([data-v-2549773b]){overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.preview-badge:where([data-v-2549773b]){display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:12px;font-weight:600;white-space:nowrap}.header-spacer:where([data-v-2549773b]){flex:1}.lang-toggle:where([data-v-2549773b]){flex:none}.student-view-btn:where([data-v-2549773b]){min-height:34px}.content:where([data-v-2549773b]){flex:1;overflow-y:auto;padding:32px clamp(16px,4vw,40px) 72px}.info-page:where([data-v-2549773b]){max-width:900px}.back-link:where([data-v-2549773b]){padding-left:6px}.access-card:where([data-v-2549773b]){max-width:620px;margin:10vh auto;padding:30px;display:grid;gap:14px;justify-items:start}.toast:where([data-v-2549773b]){position:fixed;bottom:28px;left:50%;z-index:200;display:flex;align-items:center;gap:9px;padding:11px 18px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ink);color:var(--bg);box-shadow:var(--pop);font-size:13px;font-weight:600;opacity:0;pointer-events:none;transform:translate(-50%) translateY(16px);transition:opacity .24s ease,transform .24s ease}.toast.show:where([data-v-2549773b]){opacity:1;transform:translate(-50%) translateY(0)}.toast:where([data-v-2549773b]) svg{color:var(--success)}html.dark .toast:where([data-v-2549773b]) svg{color:#2c7a53}.sidebar-overlay:where([data-v-2549773b]){display:none;position:fixed;inset:0;z-index:39;background:#14131073}@media(max-width:1080px){.header-search:where([data-v-2549773b]){display:none}}@media(max-width:900px){.menu-btn:where([data-v-2549773b]){display:inline-flex}.sidebar:where([data-v-2549773b]){position:fixed;top:0;bottom:0;left:0;width:min(300px,86vw);transform:translate(-100%);transition:transform .24s cubic-bezier(.4,0,.2,1);box-shadow:var(--pop)}.sidebar.open:where([data-v-2549773b]){transform:none}.sidebar-overlay.show:where([data-v-2549773b]){display:block}.sidebar-mobile-close:where([data-v-2549773b]){display:inline-flex}.header:where([data-v-2549773b]){gap:6px;padding:0 10px 0 6px}.student-view-btn span:where([data-v-2549773b]){display:none}.student-view-btn:where([data-v-2549773b]){width:34px;padding:0}}@media(max-width:720px){.content:where([data-v-2549773b]){padding:20px 16px 48px}.preview-badge:where([data-v-2549773b]){display:none}.crumbs:where([data-v-2549773b])>:not(:last-child){display:none}}
