.ai-fab-slot{position:absolute;left:14px;bottom:calc(13px + var(--keyboard-inset) + var(--device-bottom-inset));transition:bottom .16s ease}.ai-fab-slot:before{content:"";position:absolute;top:-8px;left:-8px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.45),rgba(99,102,241,0) 70%);pointer-events:none}.ai-fab{position:relative;display:flex;align-items:center;justify-content:center;width:var(--fab-size);height:var(--fab-size);border-radius:28.4px;background:var(--color-ai-header);color:#fff;box-shadow:var(--shadow-fab);touch-action:manipulation}.ai-fab:active{background:var(--color-primary)}.ai-fab:focus{outline:2px solid #ffffff;outline-offset:3px}.ai-fab:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){.ai-fab-slot{transition:none}}.rail--floating .rail__handle+.rail__item.rail__item,.rail--docked .rail__handle+.rail__item.rail__item{margin-top:0}.rail--floating .rail__handle,.quiz-rail--floating .quiz-rail__handle,.quiz-results--floating .quiz-results__handle,.logbook-widget .logbook-widget__handle{position:relative;z-index:1;padding:0;cursor:-webkit-grab;cursor:grab;touch-action:none}.rail--floating .rail__handle:focus,.quiz-rail--floating .quiz-rail__handle:focus,.quiz-results--floating .quiz-results__handle:focus,.logbook-widget .logbook-widget__handle:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.rail--floating .rail__handle:focus:not(:focus-visible),.quiz-rail--floating .quiz-rail__handle:focus:not(:focus-visible),.quiz-results--floating .quiz-results__handle:focus:not(:focus-visible),.logbook-widget .logbook-widget__handle:focus:not(:focus-visible){outline:none}.rail--dragging,.rail--dragging .rail__handle,.quiz-rail--dragging,.quiz-rail--dragging .quiz-rail__handle,.quiz-results--dragging,.quiz-results--dragging .quiz-results__handle,.logbook-widget--dragging,.logbook-widget--dragging .logbook-widget__handle{cursor:-webkit-grabbing;cursor:grabbing}.logbook-widget .logbook-widget__open{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);cursor:pointer}.logbook-widget .logbook-widget__open:focus{outline:2px solid var(--color-primary);outline-offset:2px}.logbook-widget .logbook-widget__open:focus:not(:focus-visible){outline:none}.logbook-widget>.logbook-widget__title,.logbook-widget>.logbook-widget__subtitle,.logbook-widget>.logbook-widget__mini,.logbook-widget>.logbook-widget__caret{position:relative;z-index:1;pointer-events:none}.modal.cm-modal{width:620px;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-modal-lg);font-family:var(--font-display)}.modal.cm-modal.cm-attendance-modal{width:780px;max-width:calc(100vw - 48px)}.cm-modal .modal__header{align-items:flex-start;min-height:0;padding:20px 24px 16px;border-bottom:0}.cm-modal .modal__title{color:var(--color-text-strong);font-size:16px;font-weight:700;line-height:1.4}.cm-modal .modal__description{margin-top:4px;color:var(--color-text-faint);font-size:12px;font-weight:400;line-height:1.4}.cm-modal .modal__close{position:relative;width:26px;height:26px;margin:0 0 0 auto;border-radius:var(--radius-sm);color:var(--color-text-faint);font-size:20px;line-height:1}.cm-modal .modal__close:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.cm-modal .modal__close:active{background:var(--color-surface-muted)}.cm-modal .modal__body{padding:0 24px 12px}.cm-modal .modal__body:before{content:"";display:block;height:1px;margin-bottom:12px;background:var(--color-border-faint)}.cm-modal .modal__actions{min-height:72px;padding:0 24px;border-top:1px solid var(--color-canvas)}.cm-modal:not(.cm-attendance-modal) .modal__actions{-webkit-justify-content:center;justify-content:center}.cm-btn-primary{min-height:40px;padding:10px 20px;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;touch-action:manipulation}.cm-btn-primary:active{background:var(--color-primary-deep)}.cm-btn-primary:disabled{background:var(--color-border-strong);color:#fff;cursor:default}.cm-meta{display:flex;align-items:center;flex-wrap:wrap;color:var(--color-text-faint)}.cm-meta strong{font-size:14px;font-weight:600}.cm-meta span{font-size:14px;font-weight:500}.cm-meta i{margin:0 8px;font-style:normal}.cm-meta em{margin:0 12px 0 0;font-style:normal}.cm-label{display:block;margin:12px 0 8px;color:var(--color-text-muted-alt);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.cm-label:first-child{margin-top:0}.cm-select{width:100%;height:41px;padding:0 38px 0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2399A1AF' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:var(--color-text-ink);font-family:var(--font-display);font-size:14px;font-weight:500;-webkit-appearance:none;appearance:none;touch-action:manipulation}.cm-checklist{max-height:192px;padding:12px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--color-border-form);border-radius:var(--radius-md);background:var(--color-surface-form);-webkit-overflow-scrolling:touch;touch-action:pan-y}.cm-check{position:relative;display:flex;align-items:center;min-height:44px;margin:0 -6px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.cm-check.is-on{border-color:var(--color-primary-border);background:var(--color-primary-100)}.cm-check.is-on span{color:var(--color-primary);font-weight:600}.cm-check input{flex:0 0 auto;width:22px;height:22px;margin:0 12px 0 0;padding:0;border:0;border-radius:var(--radius-xs);background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-placeholder);-webkit-appearance:none;appearance:none;cursor:pointer}.cm-check input:checked{box-shadow:none;background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.2 4.8 8.6 9.6 3.4' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 16px 16px no-repeat}.cm-check input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.cm-check input:focus:not(:focus-visible){outline:none}.cm-check input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cm-check span{min-width:0;color:var(--color-text-ink);font-size:14px;font-weight:500;line-height:20px;word-wrap:break-word;overflow-wrap:break-word}.cm-check--solo{margin-left:0;margin-right:0}.cm-check--solo span{font-weight:600}.cm-note{position:relative}.cm-note textarea{display:block;width:100%;height:86px;padding:13px 13px 26px;border:1px solid var(--color-border-form);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-ink);font-family:var(--font-display);font-size:14px;font-weight:400;line-height:20px;resize:none;user-select:text;-webkit-user-select:text}.cm-note textarea::-webkit-input-placeholder{color:var(--color-text-faint)}.cm-note textarea::placeholder{color:var(--color-text-faint)}.cm-note__count{position:absolute;right:13px;bottom:10px;color:var(--color-text-faint);font-size:12px}.cm-error{margin-top:10px;color:var(--color-danger);font-size:13px}.cm-attendance-tools{display:flex;align-items:center;height:60px}.cm-search{position:relative;flex:1 1 auto}.cm-search__icon{position:absolute;top:50%;left:12px;margin-top:-8px;color:var(--color-placeholder)}.cm-search input{width:100%;height:36px;padding:0 12px 0 36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-ink);font-family:var(--font-display);font-size:12px;user-select:text;-webkit-user-select:text}.cm-search input::-webkit-input-placeholder{color:var(--color-text-faint)}.cm-search input::placeholder{color:var(--color-text-faint)}.cm-mark-all{position:relative;flex:0 0 127px;display:flex;align-items:center;justify-content:center;width:127px;height:36px;margin-left:12px;border:1px solid var(--color-primary-deep);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary-deep);font-family:var(--font-display);font-size:12px;font-weight:600;white-space:nowrap;touch-action:manipulation}.cm-mark-all svg{margin-right:6px}.cm-mark-all:active{background:var(--color-primary-soft)}.cm-roster{display:block}.cm-roster__row{display:flex;align-items:center;min-height:88px;padding:8px 0;border-bottom:1px solid var(--color-border-faint)}.cm-roster__row:last-child{border-bottom:0}.cm-portrait{flex:0 0 60px;width:60px;height:72px;overflow:hidden;border-radius:var(--radius-tile);background:var(--color-thumb-bg)}.cm-portrait svg{display:block}.cm-portrait img{display:block;width:100%;height:100%;object-fit:cover}.cm-identity{min-width:120px;flex:1 1 0;padding-left:10px}.cm-identity strong{display:-webkit-box;overflow:hidden;color:var(--color-text-slate);font-size:14px;font-weight:600;line-height:20px;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cm-identity small{display:block;color:var(--color-text-slate-muted);font-size:12px;font-weight:400;line-height:18px}.cm-identity em{display:block;color:var(--color-orange);font-size:11px;font-style:normal}.cm-status{flex:0 1 auto;min-width:0;margin-left:10px;text-align:right}.cm-status__pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill-sm);font-size:13px;font-weight:400;line-height:18px;white-space:nowrap}.cm-status__pill--present{background:var(--color-success-bg);color:var(--color-success)}.cm-status__pill--late{background:var(--color-warning-bg);color:var(--color-warning)}.cm-status__pill--excused{background:var(--color-orange-bg);color:var(--color-orange)}.cm-status__pill--unexcused{background:var(--color-danger-bg);color:var(--color-danger)}.cm-segments{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.cm-segments__rule{flex:0 0 1px;width:1px;height:18px;margin:0 8px;background:var(--color-text-slate-muted)}.cm-seg{position:relative;flex:0 0 auto;min-width:84px;height:26px;margin:2px 0;padding:0 4px;border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--color-surface);font-family:var(--font-display);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;touch-action:manipulation}.cm-seg+.cm-seg{margin-left:8px}.cm-seg:after{content:"";position:absolute;top:50%;right:-4px;left:-4px;height:44px;margin-top:-22px}.cm-seg:last-child:after{right:0}.cm-seg--present{border-color:var(--color-success);color:var(--color-success)}.cm-seg--present.is-on{background:var(--color-success);color:#fff}.cm-seg--absent{border-color:var(--color-danger);color:var(--color-danger)}.cm-seg--absent.is-on{background:var(--color-danger);color:#fff}.cm-seg--ontime{border-color:var(--color-success);color:var(--color-success)}.cm-seg--ontime.is-on{background:var(--color-success);color:#fff}.cm-seg--late{border-color:var(--color-warning-border);color:var(--color-warning)}.cm-seg--late.is-on{background:var(--color-warning);border-color:var(--color-warning-border);color:#fff}.cm-seg--excused{border-color:var(--color-orange);color:var(--color-orange)}.cm-seg--excused.is-on{background:var(--color-orange);color:#fff}.cm-seg--unexcused{border-color:var(--color-danger);color:var(--color-danger)}.cm-seg--unexcused.is-on{background:var(--color-danger);color:#fff}.cm-legend{display:flex;align-items:center;flex-wrap:wrap;margin-right:auto;color:#475569;font-size:13px;font-weight:400}.cm-legend span{display:flex;align-items:center;margin-right:12px}.cm-legend strong{margin-right:4px;font-weight:600}.cm-legend__dot{flex:0 0 6px;width:6px;height:6px;margin-right:6px;border-radius:50%}.cm-legend__rule{width:1px;height:14px;margin:0 12px 0 0;background:var(--color-border)}.cm-eval-grid{display:flex;flex-wrap:wrap}.cm-eval-chip{display:flex;align-items:center;flex:0 0 186px;width:186px;height:40px;margin:0 7px 7px 0;padding:0 8px 0 16px;border:1px solid var(--color-border-chip);border-radius:var(--radius-md);background:var(--color-surface-form);font-family:var(--font-display);text-align:left;touch-action:manipulation}.cm-eval-chip:nth-child(3n){margin-right:0}.cm-eval-chip:nth-child(n+4){margin-bottom:0}.cm-eval-chip__box{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-right:8px;font-size:13px;font-weight:700;line-height:1;border:1.5px solid var(--color-placeholder);border-radius:var(--radius-xs);background:var(--color-surface);color:transparent}.cm-eval-chip__badge{flex:0 0 auto;margin-right:8px;padding:2px 6px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:12px;font-weight:700;line-height:16px;white-space:nowrap}.cm-eval-chip__label{min-width:0;overflow:hidden;color:#43536c;font-size:14px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.cm-eval-chip.is-on{border-color:transparent;box-shadow:0 2px 8px rgba(16,24,40,.22)}.cm-eval-chip.is-on .cm-eval-chip__label{color:#fff}.cm-eval-chip.is-on .cm-eval-chip__box{border-color:#fff;background:#fff}.cm-eval-chip.is-on .cm-eval-chip__badge{border-color:rgba(255,255,255,.6);background:transparent;color:#fff}.cm-eval-chip--excellent .cm-eval-chip__badge{border-color:var(--color-present);background:var(--color-success-bg);color:var(--color-present)}.cm-eval-chip--excellent.is-on{background:var(--color-present)}.cm-eval-chip--excellent.is-on .cm-eval-chip__box{color:var(--color-present)}.cm-eval-chip--good .cm-eval-chip__badge{border-color:var(--color-teal);background:var(--color-teal-bg);color:var(--color-teal-deep)}.cm-eval-chip--good.is-on{background:var(--color-teal-deep)}.cm-eval-chip--good.is-on .cm-eval-chip__box{color:var(--color-teal-deep)}.cm-eval-chip--fair .cm-eval-chip__badge{border-color:#bfd4ff;background:#e8f1ff;color:var(--color-primary)}.cm-eval-chip--fair.is-on{background:var(--color-primary)}.cm-eval-chip--fair.is-on .cm-eval-chip__box{color:var(--color-primary)}.cm-eval-chip--weak .cm-eval-chip__badge{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning)}.cm-eval-chip--weak.is-on{background:var(--color-warning)}.cm-eval-chip--weak.is-on .cm-eval-chip__box{color:var(--color-warning)}.cm-eval-chip--poor .cm-eval-chip__badge{border-color:var(--color-orange-alt);background:var(--color-orange-bg);color:var(--color-orange-alt)}.cm-eval-chip--poor.is-on{background:var(--color-orange-alt)}.cm-eval-chip--poor.is-on .cm-eval-chip__box{color:var(--color-orange-alt)}.cm-eval-chip--bad .cm-eval-chip__badge{border-color:var(--color-danger-alt);background:var(--color-danger-bg);color:var(--color-danger-alt)}.cm-eval-chip--bad.is-on{background:var(--color-danger-alt)}.cm-eval-chip--bad.is-on .cm-eval-chip__box{color:var(--color-danger-alt)}.cm-type-toggle{display:flex}.cm-type{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 50%;height:40px;border:1px solid var(--color-border-chip);border-radius:var(--radius-md);background:var(--color-surface-form);color:var(--color-text-ink);font-family:var(--font-display);font-size:14px;font-weight:600;touch-action:manipulation}.cm-type+.cm-type{margin-left:7px}.cm-type__box{flex:0 0 18px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-right:8px;font-size:13px;font-weight:700;line-height:1;border:1.5px solid var(--color-placeholder);border-radius:var(--radius-xs);background:var(--color-surface);color:transparent}.cm-type.is-on{border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(16,24,40,.22)}.cm-type.is-on .cm-type__box{border-color:#fff;background:#fff}.cm-type--commendation.is-on{background:var(--color-success)}.cm-type--commendation.is-on .cm-type__box{color:var(--color-success)}.cm-type--violation.is-on{background:var(--color-danger)}.cm-type--violation.is-on .cm-type__box{color:var(--color-danger)}.cm-homework{margin:8px 0 0 24px;padding:12px;border:1px solid var(--color-border-form);border-radius:var(--radius-md);background:var(--color-surface)}.cm-homework__head{display:flex;align-items:center;color:var(--color-primary);font-size:14px;font-weight:700}.cm-homework__head svg{margin-right:8px}.cm-homework__empty{margin-top:10px;color:var(--color-text-muted);font-size:12px}.cm-homework__list{max-height:196px;margin:8px -6px 0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.cm-homework__item{display:flex;align-items:center;min-height:48px;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.cm-homework__item.is-on{border-color:var(--color-primary-border);background:var(--color-primary-100)}.cm-homework__item.is-on .cm-homework__text strong{color:var(--color-primary)}.cm-homework__item input{flex:0 0 22px;width:22px;height:22px;margin:0 12px 0 0;padding:0;border:0;border-radius:var(--radius-xs);background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-placeholder);-webkit-appearance:none;appearance:none;cursor:pointer}.cm-homework__item input:checked{box-shadow:none;background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.2 4.8 8.6 9.6 3.4' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 16px 16px no-repeat}.cm-homework__item input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.cm-homework__item input:focus:not(:focus-visible){outline:none}.cm-homework__item input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cm-homework__icon{flex:0 0 32px;margin-right:10px}.cm-homework__text{min-width:0;flex:1 1 auto}.cm-homework__text strong{display:block;color:var(--color-text-ink);font-size:14px;font-weight:600;line-height:20px;word-wrap:break-word;overflow-wrap:break-word}.cm-homework__text small{display:block;color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:16px;word-wrap:break-word;overflow-wrap:break-word}.cm-other{width:100%;height:40px;margin-top:8px;padding:0 13px;border:1px solid var(--color-border-form);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-display);font-size:14px;user-select:text;-webkit-user-select:text}.cm-card{width:var(--panel-card-width);max-width:100%;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-display)}.cm-card+.cm-card{margin-top:12px}.cm-card__head{display:flex;align-items:flex-start}.cm-card__title{min-width:0;flex:1 1 auto;color:var(--color-text);font-size:13px;font-weight:700;line-height:18px}.cm-card__more{position:relative;flex:0 0 auto;margin-left:8px;color:var(--color-link);font-family:var(--font-display);font-size:11px;font-weight:600;white-space:nowrap;touch-action:manipulation}.cm-card__more:after{content:"";position:absolute;top:50%;right:-10px;left:-10px;height:44px;margin-top:-22px}.cm-card__more:disabled{color:var(--color-text-faint);cursor:default}.cm-card__lead{margin-top:4px;color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:16px}.cm-card__rows{margin-top:10px}.cm-card__row+.cm-card__row{margin-top:10px}.cm-card__row dt{color:var(--color-text);font-size:12px;font-weight:500;line-height:16px}.cm-card__row dd{margin:2px 0 0;color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:16px}.cm-card__empty{margin-top:10px;color:var(--color-text-muted);font-size:11px;line-height:16px}.cm-conduct-list{margin-top:8px}.cm-conduct-list li{display:flex;align-items:flex-start;min-height:42px;padding:6px 0;border-top:1px solid var(--color-border)}.cm-conduct-list li:first-child{border-top:0}.cm-conduct__badge{flex:0 0 30px;width:30px;height:30px;margin-right:8px;border-radius:var(--radius-sm);font-size:11px;font-weight:700;line-height:30px;text-align:center}.cm-conduct__badge--commendation{background:var(--color-success-bg);color:var(--color-success)}.cm-conduct__badge--violation{background:var(--color-danger-bg);color:var(--color-danger)}.cm-conduct__text{min-width:0;flex:1 1 auto}.cm-conduct__text strong{display:block;overflow:hidden;color:var(--color-text);font-size:12px;font-weight:600;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.cm-conduct__reason{display:block;color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:16px;word-wrap:break-word}.cm-conduct__note{font-style:italic}.cm-conduct__time{flex:0 0 auto;margin-left:8px;color:var(--color-text-muted);font-size:11px}@media (max-width: 660px){.modal.cm-modal{width:100%}.cm-modal .modal__header,.cm-modal .modal__body,.cm-modal .modal__actions{padding-right:16px;padding-left:16px}.cm-roster__row{flex-wrap:wrap}.cm-status{flex:1 1 100%;width:auto;margin:8px 0 0}.cm-eval-chip{flex:1 1 100%;width:auto;margin-right:0}.cm-eval-chip:nth-child(n+4){margin-bottom:7px}.cm-eval-chip:last-child{margin-bottom:0}.cm-homework{margin-left:0}}.cm-modal--meta .modal__description{font-size:14px;font-weight:500}.cm-select+.cm-type-toggle{margin-top:12px}.cm-attendance-lock{min-width:0;margin:0;padding:0;border:0}.cm-attendance-lock:disabled{opacity:.6}.shell--submission{--board-inset-top: 88px;--media-inset-top: 88px}.hw-panel{font-family:var(--font-display)}.hw-panel__bar{display:flex;align-items:flex-start;justify-content:space-between}.hw-panel__bar p{flex:1 1 auto;margin:0 12px 0 0;color:var(--color-text-muted);font-size:12px;line-height:17px}.hw-panel__refresh{flex:0 0 auto;min-height:32px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-body);font-size:12px;font-weight:600;touch-action:manipulation}.hw-panel__refresh:disabled{opacity:.6}.hw-panel__year{margin-top:20px}.hw-panel__year h3{margin:0;color:var(--color-text-faint);font-size:11px;font-weight:700;line-height:16px;letter-spacing:.04em;text-transform:uppercase}.hw-panel__year .up-list{margin-top:8px}.hw-panel__crumb{display:flex;align-items:flex-start}.hw-panel__crumb .libpanel__back{flex:0 0 auto;margin-right:8px}.hw-panel__crumb-text{min-width:0;flex:1 1 auto}.hw-panel__crumb .hw-panel__refresh{margin-left:8px}.hw-panel__crumb-text h3{margin:0;overflow:hidden;color:var(--color-text);font-size:15px;font-weight:700;line-height:21px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hw-panel__crumb-text p{margin:2px 0 0;color:var(--color-text-muted);font-size:12px;line-height:17px}.hw-panel__start{width:100%;margin-top:14px}.hw-roster{margin:14px 0 0;padding:0;list-style:none}.hw-roster li+li{margin-top:6px}.hw-roster__row{width:100%;min-height:52px;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;touch-action:manipulation}.hw-roster__row:disabled{background:var(--color-surface-muted);cursor:default}.hw-roster__name{overflow:hidden;color:var(--color-text);font-size:13px;font-weight:600;line-height:18px;white-space:nowrap;text-overflow:ellipsis}.hw-roster__row:disabled .hw-roster__name{color:var(--color-text-muted)}.hw-roster__meta{display:flex;align-items:center;margin-top:4px}.hw-roster__time{margin-left:8px;color:var(--color-text-faint);font-size:11px;line-height:15px}.hw-roster__time:first-child{margin-left:0}.hw-status{display:inline-block;padding:1px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;line-height:16px}.hw-status--submitted{background:var(--tag-slide-bg);color:var(--tag-slide-fg)}.hw-status--marked{background:var(--color-success-bg);color:var(--color-success)}.hw-status--missing{background:var(--tag-neutral-bg);color:var(--tag-neutral-fg)}.hw-nav{position:absolute;z-index:var(--z-toolbar);top:12px;left:calc(50% + var(--board-inset-left, 0px) / 2 - var(--board-inset-right, 0px) / 2);-webkit-transform:translateX(-50%);transform:translate(-50%);max-width:calc(100% - var(--board-inset-left, 0px) - var(--board-inset-right, 0px) - 24px);height:64px;display:flex;align-items:center;padding:0 8px;border:1px solid var(--color-border-rail);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-float);font-family:var(--font-display);touch-action:manipulation}.hw-nav__step,.hw-nav__close{flex:0 0 auto;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-body)}.hw-nav__step:disabled{color:var(--color-text-disabled)}.hw-nav__close{margin-left:4px;border-left:1px solid var(--color-border);border-radius:0}.hw-nav__who{min-width:240px;max-width:420px;flex:0 1 auto;display:flex;flex-direction:column;margin:0 8px}.hw-nav__who strong{overflow:hidden;color:var(--color-text-strong);font-size:16px;font-weight:700;line-height:22px;white-space:nowrap;text-overflow:ellipsis}.hw-nav__who span{overflow:hidden;color:var(--color-text-muted);font-size:12px;line-height:17px;white-space:nowrap;text-overflow:ellipsis}.hw-nav__count{flex:0 0 auto;margin:0 4px;color:var(--color-text-muted);font-size:13px;font-weight:700;line-height:18px;white-space:nowrap}.hw-nav__strip{position:relative;flex:0 1 auto;min-width:0;display:flex;margin:0 4px}.hw-nav__items{position:relative;flex:1 1 auto;min-width:0;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x}.hw-nav__more{position:absolute;top:50%;width:44px;height:48px;margin-top:-24px;padding:0;display:flex;align-items:center;border:0;color:var(--color-text-body);touch-action:manipulation}.hw-nav__more--start{left:0;justify-content:flex-start;background:linear-gradient(to right,var(--color-surface) 45%,rgba(255,255,255,0))}.hw-nav__more--end{right:0;justify-content:flex-end;background:linear-gradient(to left,var(--color-surface) 45%,rgba(255,255,255,0))}.hw-nav__more-glyph{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-chip);border-radius:var(--radius-pill);background:var(--color-surface)}.hw-nav__item{flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid var(--color-border-chip);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-body);font-size:13px;font-weight:600;white-space:nowrap}.hw-nav__item+.hw-nav__item{margin-left:6px}.hw-nav__item.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.hw-link{position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:var(--color-surface)}.hw-link__frame{flex:1 1 auto;width:100%;min-height:0;border:0}.hw-link__hint{flex:0 0 auto;margin:0;padding:8px 16px;color:var(--color-text-muted);font-size:12px;line-height:17px}.hw-link__url{overflow-wrap:break-word;word-break:break-all}.hw-tabs{margin-top:0;margin-bottom:16px}.hw-stats{margin-top:12px;padding:10px 12px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface-muted)}.hw-stats__line{margin:0;color:var(--color-text-body);font-size:12px;line-height:17px}.hw-stats__line strong{color:var(--color-text);font-weight:700}.hw-stats__bars{display:flex;align-items:flex-end;margin-top:10px}.hw-stats__band{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center}.hw-stats__band+.hw-stats__band{margin-left:8px}.hw-stats__count{color:var(--color-text-body);font-size:11px;font-weight:700;line-height:14px}.hw-stats__track{position:relative;width:100%;height:48px;margin-top:2px;border-radius:4px;background:var(--color-surface-sunken);overflow:hidden}.hw-stats__fill{position:absolute;left:0;right:0;bottom:0;border-radius:4px 4px 0 0}.hw-stats__label{margin-top:4px;color:var(--color-text-muted);font-size:11px;line-height:14px;white-space:nowrap}.quiz-rail{position:absolute;z-index:var(--z-toolbar);width:var(--rail-width);display:flex;flex-direction:column;align-items:center;padding:16px 0 20px;border:1px solid var(--color-border-rail);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-rail);touch-action:pan-y}.quiz-rail--floating,.quiz-rail--docked{top:calc(50% - var(--board-inset-bottom, 0px) / 2);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.quiz-rail--floating{right:calc(var(--board-inset-right, 0px) + 12px)}.quiz-rail--docked{right:calc(var(--panel-width) + var(--quiz-results-width) + 12px)}.quiz-rail__handle{flex:0 0 auto;width:44px;height:44px;margin-top:-8px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);line-height:1}.quiz-rail--docked .quiz-rail__handle{display:none}.quiz-rail--dragging .quiz-rail__handle{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-primary)}.quiz-rail__item{flex:0 0 auto;width:69px;min-height:75px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:#4b5563;font-family:var(--font-sans);text-align:center;cursor:pointer;touch-action:manipulation}.quiz-rail__item+.quiz-rail__item{margin-top:8px}.quiz-rail__icon{flex:0 0 auto;width:40px;height:32px;display:flex;align-items:center;justify-content:center}.quiz-rail__label{margin-top:6px;color:#0e121a;font-size:14px;font-weight:500;line-height:16.8px}.quiz-rail__item:active{color:var(--color-text)}.quiz-rail__item--active{background:var(--color-surface-sunken);color:#004ce3}.quiz-rail__item--active .quiz-rail__label{color:#004ce3}.quiz-rail__item:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.quiz-rail__item:focus:not(:focus-visible){outline:none}.shell{--quiz-results-width: 300px;--quiz-rail-lane: calc(var(--rail-width) + 12px)}.shell.shell--quiz-results{--board-inset-right: calc(var(--panel-width) + var(--quiz-results-width) + var(--quiz-rail-lane))}.quiz-results{position:absolute;z-index:var(--z-chrome);width:var(--quiz-results-width);display:flex;flex-direction:column;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-panel);overflow:hidden}.quiz-results--floating{top:var(--rail-float-left);left:calc(var(--rail-width) + var(--rail-float-left));max-height:calc(100% - var(--board-inset-bottom, 0px) - var(--rail-float-left));border-radius:var(--radius-md);touch-action:pan-x pan-y}.quiz-results--docked{top:0;bottom:0;right:var(--panel-width);border-top:0;border-bottom:0;border-right:1px solid var(--color-border)}.quiz-results__header{flex:0 0 auto;position:relative;display:flex;align-items:flex-start;padding:12px 10px 10px 14px;border-bottom:1px solid var(--color-border)}.quiz-results__handle{flex:0 0 auto;width:44px;height:44px;margin:-8px 2px 0 -8px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);line-height:1}.quiz-results--docked .quiz-results__handle{display:none}.quiz-results--dragging .quiz-results__handle{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-primary)}.quiz-results__heading{flex:1 1 auto;min-width:0}.quiz-results__title{color:var(--color-text);font-size:15px;font-weight:700}.quiz-results__subtitle{margin-top:1px;color:var(--color-text-muted);font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-results__dock,.quiz-results__close{flex:0 0 auto;width:40px;height:40px;margin-top:-8px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);line-height:1;cursor:pointer;touch-action:manipulation}.quiz-results__dock{margin-left:2px}.quiz-results__dock[aria-pressed=true]{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:#004ce3}.quiz-results__close{margin-right:-6px}.quiz-results__handle:focus,.quiz-results__dock:focus,.quiz-results__close:focus{outline:2px solid var(--color-primary);outline-offset:-3px}.quiz-results__handle:focus:not(:focus-visible),.quiz-results__dock:focus:not(:focus-visible),.quiz-results__close:focus:not(:focus-visible){outline:none}.quiz-results__scroll{flex:1 1 auto;padding:2px 14px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.quiz-results__block{padding:10px 0 2px;border-bottom:1px solid var(--color-separator)}.quiz-results__block:last-child{border-bottom:0}.quiz-results__block-title{margin:0 0 6px;color:var(--color-text);font-size:12px;font-weight:700}.quiz-results__block-title--sub{margin-top:10px}.quiz-results__empty{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.4}.quiz-results__stat{margin:0}.quiz-results__stat-value{color:var(--color-text);font-size:19px;font-weight:700}.quiz-results__stat-total{color:var(--color-text-muted);font-size:13px;font-weight:600}.quiz-results__meter{height:7px;margin-top:7px;border-radius:var(--radius-pill);background:#f2f0f1;overflow:hidden}.quiz-results__meter-fill{display:block;height:100%;border-radius:var(--radius-pill);background:#4bca81}.quiz-results__ranks{margin:0;padding:0;list-style:none}.quiz-results__rank-row{display:flex;align-items:center;padding:4px 0}.quiz-results__rank-row+.quiz-results__rank-row{border-top:1px solid var(--color-border-faint)}.quiz-results__rank-badge{flex:0 0 auto;width:18px;height:18px;margin-right:8px;border-radius:var(--radius-xs);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center}.quiz-results__rank-name{flex:1 1 auto;min-width:0;color:var(--color-text-body);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-results__rank-meta{flex:0 0 auto;margin-left:8px;text-align:right}.quiz-results__rank-score{display:block;color:var(--color-text);font-size:11px;font-weight:700}.quiz-results__rank-time{display:block;color:var(--color-text-muted);font-size:10px}.quiz-results__donut-row{display:flex;align-items:center;padding-bottom:4px}.quiz-results__donut{flex:0 0 auto;width:76px;height:76px;margin-right:12px}.quiz-results__donut-svg{display:block}.quiz-results__legend{flex:1 1 auto;min-width:0;margin:0;padding:0;list-style:none}.quiz-results__legend-row{display:flex;align-items:center;padding:1px 0}.quiz-results__legend-dot{flex:0 0 auto;width:8px;height:8px;margin-right:7px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px rgba(16,24,40,.1)}.quiz-results__legend-title{flex:1 1 auto;min-width:0;color:var(--color-text-body);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-results__legend-count{flex:0 0 auto;margin-left:8px;color:var(--color-text);font-size:11px;font-weight:700}.quiz-results__wrong+.quiz-results__wrong{margin-top:9px}.quiz-results__wrong-title{color:var(--color-text-body);font-size:11px;line-height:1.35}.quiz-results__wrong-figures{display:flex;align-items:baseline;justify-content:space-between;margin-top:3px}.quiz-results__wrong-count,.quiz-results__wrong-percent{color:var(--color-danger-alt);font-size:14px;font-weight:700}.quiz-results__wrong-track{height:7px;margin-top:3px;border-radius:var(--radius-pill);background:var(--color-danger-bg);overflow:hidden}.quiz-results__wrong-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-danger-alt)}.quiz-results__wrong-captions{display:flex;justify-content:space-between;margin-top:2px}.quiz-results__caption{color:var(--color-text-muted);font-size:10px}.quiz-results__chips{margin:0 0 4px}.quiz-results__chip-track{padding:2px}.quiz-results__chip{flex:0 0 auto;min-width:64px;min-height:44px;margin:0 0 0 6px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-body);font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}.quiz-results__chip:first-child{margin-left:0}.quiz-results__chip--active{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);background:var(--color-surface-sunken);color:var(--color-primary)}.quiz-results__chip:focus{outline:2px solid var(--color-primary);outline-offset:2px}.quiz-results__chip:focus:not(:focus-visible){outline:none}.quiz-results__stem{margin:0;color:var(--color-text-body);font-size:11px;line-height:1.4}.quiz-results__option{display:flex;align-items:flex-start;padding:3px 0}.quiz-results__option-badge{flex:0 0 auto;width:18px;height:18px;margin-right:8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-body);font-size:10px;font-weight:700;line-height:16px;text-align:center}.quiz-results__option-badge--correct{border-color:#4bca81;background:#4bca81;color:#fff}.quiz-results__option-body{flex:1 1 auto;min-width:0}.quiz-results__option-head{display:flex;align-items:baseline}.quiz-results__option-text{flex:1 1 auto;min-width:0;color:var(--color-text-body);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-results__option-count{flex:0 0 auto;margin-left:8px;color:var(--color-text-muted);font-size:10px;font-weight:600}.quiz-results__option-track{display:block;height:5px;margin-top:3px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden}.quiz-results__option-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-border-strong)}.quiz-results__option-fill--correct{background:#4bca81}.quiz-results__option-percent{flex:0 0 auto;width:34px;margin-left:8px;color:var(--color-danger-alt);font-size:11px;font-weight:700;text-align:right}.quiz-results__option-percent--correct{color:#4bca81}.quiz-results__block--timing{display:flex;justify-content:space-between;padding-bottom:8px}.quiz-results__timing{flex:1 1 50%;min-width:0}.quiz-results__timing .quiz-results__caption{display:block}.quiz-results__timing+.quiz-results__timing{margin-left:12px;text-align:right}.quiz-results__timing-name{display:block;margin-top:2px;color:var(--color-text-body);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-results__timing-clock{display:block;color:var(--color-text);font-size:13px;font-weight:700}.exam-html img.exam-formula{display:inline-block;width:auto;height:auto;max-height:2.2em;vertical-align:middle}.exam-html img.exam-figure{display:block;max-width:100%;max-height:160px;margin:4px 0}.exam-html p{margin:0}.quiz-results__actions{display:flex;justify-content:flex-start;margin-bottom:12px}.quiz-results__rank-open{width:100%;display:flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.quiz-results__rank-open:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.quiz-results__rank-hint{margin-left:8px;color:var(--color-primary);font-size:11px;font-weight:600;white-space:nowrap}.exam-sheet__nav{display:flex;align-items:center;margin-bottom:12px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.exam-sheet__step{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-body)}.exam-sheet__step:disabled{color:var(--color-text-disabled)}.exam-sheet__who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;margin:0 4px}.exam-sheet__who strong{overflow:hidden;color:var(--color-text-strong);font-size:14px;font-weight:700;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.exam-sheet__who span{overflow:hidden;color:var(--color-text-muted);font-size:11px;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.exam-sheet__back{margin-bottom:8px}.exam-sheet__row{padding:10px 0;border-top:1px solid var(--color-border-faint)}.exam-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.exam-sheet__no{color:var(--color-text-strong);font-size:12px;font-weight:700}.exam-sheet__verdict{padding:1px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.exam-sheet__verdict--correct{background:var(--color-success-bg);color:var(--color-success)}.exam-sheet__verdict--wrong{background:var(--color-danger-bg);color:var(--color-danger)}.exam-sheet__verdict--blank{background:var(--color-canvas);color:var(--color-text-muted)}.exam-sheet__stem{color:var(--color-text-body);font-size:12px;line-height:1.5}.exam-sheet__options{margin:6px 0 0;padding:0;list-style:none}.exam-sheet__option{display:flex;align-items:center;min-height:28px;padding:2px 6px;border-radius:var(--radius-xs);color:var(--color-text-body);font-size:12px}.exam-sheet__option+.exam-sheet__option{margin-top:2px}.exam-sheet__option--correct{background:var(--color-success-bg)}.exam-sheet__option--wrong{background:var(--color-danger-bg)}.exam-sheet__label{flex:0 0 auto;width:22px;font-weight:700}.exam-sheet__mark{flex:0 0 auto;margin-left:auto;padding-left:8px;font-size:11px;font-weight:700;white-space:nowrap}.exam-sheet__mark--correct{color:var(--color-success)}.exam-sheet__mark--wrong{color:var(--color-danger)}.exam-sheet__typed{margin-top:6px;font-size:12px;line-height:1.5}.exam-sheet__typed strong{margin-right:4px;color:var(--color-text-muted);font-weight:600}.exam-sheet__list{margin:0;padding:0;list-style:none}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Be Vietnam Pro", "Inter", "Segoe UI", Roboto, Arial, sans-serif;--color-bg: #F1F5F9;--color-page: #F4F6FA;--color-surface: #ffffff;--color-surface-muted: #F9FAFB;--color-surface-subtle: #FAFAFA;--color-surface-sunken: #F3F4F6;--color-surface-form: #F8FAFD;--color-canvas: #F2F2F2;--color-canvas-dot: #D7DBE0;--color-artboard: #ffffff;--color-thumb-bg: #EEF1F6;--color-border: #E5E7EB;--color-border-faint: #F1F5F9;--color-border-soft: #E2E8F0;--color-border-form: #DCE5F0;--color-border-chip: #E0E7F0;--color-border-strong: #CBD5E1;--color-border-rail: #D9DBE0;--color-separator: #F1F5F9;--color-text: #111827;--color-text-strong: #101828;--color-text-ink: #1E2939;--color-text-slate: #1E293B;--color-text-secondary: #4A5565;--color-text-body: #364153;--color-text-muted: #6B7280;--color-text-muted-alt: #6A7282;--color-text-slate-muted: #64748B;--color-text-faint: #99A1AF;--color-text-disabled: #9CA3AF;--color-placeholder: #9CA3AF;--color-mark: #98a2b3;--tag-slide-fg: #0044C8;--tag-slide-bg: #E5EDFF;--tag-video-fg: #0D9488;--tag-video-bg: #D1FAE5;--tag-test-fg: #EA580C;--tag-test-bg: #FFF4E5;--tag-homework-fg: #8449F0;--tag-homework-bg: #EBE1FF;--tag-neutral-fg: #475569;--tag-neutral-bg: #F1F5F9;--tile-video-bg: #F0FDFA;--tile-slide-bg: #FFF7ED;--tile-test-bg: #EFF6FF;--tile-homework-bg: #F0EAFC;--unit-slide-fg: var(--tag-slide-fg);--unit-slide-bg: var(--tag-slide-bg);--unit-video-fg: var(--tag-video-fg);--unit-video-bg: var(--tag-video-bg);--unit-test-fg: var(--tag-test-fg);--unit-test-bg: var(--tag-test-bg);--chip-bg: #F3F4F6;--color-primary: #0044C8;--color-primary-deep: #1E40AF;--color-primary-action: #2563EB;--color-primary-strong: #1D4ED8;--color-primary-soft: #EFF6FF;--color-primary-tint: #F0F6FF;--color-primary-100: #E5EDFF;--color-primary-200: #DBEAFE;--color-primary-border: #BFDBFE;--color-link: #60A5FA;--color-success: #16A34A;--color-present: #0BAA65;--color-success-bg: #D9F8E6;--color-teal: #10BEA7;--color-teal-deep: #20AA98;--color-teal-bg: #D9F8F6;--color-warning: #F5C400;--color-warning-border: #E9AF27;--color-warning-bg: #FEF3C7;--color-orange: #FF7F07;--color-orange-alt: #F97316;--color-orange-bg: #FFF7ED;--color-danger: #DB2424;--color-danger-alt: #EF4444;--color-danger-bg: #FEE2E2;--color-live: #EF4444;--color-donut-track: #D1D5DB;--color-toolbar-active-bg: #F3F4F6;--color-yt-button: #DC2626;--color-yt-play: #E7000B;--color-yt-glyph: #FB2C36;--color-ai-header: #1E40AF;--color-ai-glow: #6366F1;--color-ai-card-bg: #FAFAFF;--color-ai-card-border: #EDE9FE;--color-icon-strong: #374151;--color-icon-accent: #3B82F6;--color-icon-faint: #99A1AF;--color-icon-disabled: #9CA3AF;--login-brand-bg: #004CE3;--login-decor: #1A62FF;--login-action: #2F54EB;--login-title: #1D39C4;--login-subtitle: #C6DBFF;--login-input-border: #D9D9D9;--login-placeholder: #8C8C8C;--shadow-card: 0 1px 4px rgba(0, 0, 0, .06);--shadow-thumb: 0 1px 2px rgba(0, 0, 0, .15);--shadow-rail: 0 5px 13px rgba(0, 0, 0, .05);--shadow-panel: 0 12px 32px rgba(0, 0, 0, .05);--shadow-toolbar: 0 8px 24px rgba(0, 0, 0, .08);--shadow-login-card: 0 8px 24px rgba(0, 0, 0, .05);--shadow-home-card: 0 10px 30px rgba(0, 0, 0, .04);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .18);--shadow-modal-lg: 0 24px 64px rgba(0, 0, 0, .2);--shadow-fab: 0 0 6px rgba(99, 102, 241, .05), 0 4.6px 22.5px rgba(99, 102, 241, .49);--shadow-float: 0 12px 32px rgba(16, 24, 40, .18);--color-scrim: rgba(15, 23, 42, .45);--scrim-blur: 8px;--radius-xs: 4px;--radius-tile: 6px;--radius-sm: 8px;--radius-tool: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-pill-sm: 20px;--radius-doc: 22px;--radius-pill: 999px;--topbar-height: 55px;--rail-width: 85px;--rail-item-height: 69px;--rail-float-top: 63px;--rail-float-left: 8px;--rail-panel-width: 300px;--rail-panel-gap: 12px;--rail-item-size: 64px;--panel-width: 272px;--panel-card-width: 240px;--panel-gap: 16px;--panel-padding: 16px;--panel-toggle-width: 40px;--widget-width: 118px;--widget-height: 171px;--toolbar-height: 60px;--toolbar-width: 714px;--filmstrip-bar: #F3F3F3;--filmstrip-bar-clear: rgba(243, 243, 243, 0);--filmstrip-thumb-width: 164px;--filmstrip-thumb-height: 104px;--filmstrip-gap: 8px;--touch-target: 56px;--fab-size: 56px;--keyboard-inset: 0px;--device-bottom-inset: 0px;--toolbar-bottom: calc(40px + var(--device-bottom-inset));--filmstrip-bottom: calc(var(--toolbar-bottom) + var(--toolbar-height) + 12px);--filmstrip-bar-height: calc(var(--filmstrip-thumb-height) + 4px);--board-clearance: 28px;--board-inset-left: var(--rail-width);--board-inset-right: calc(var(--panel-gap) + var(--panel-width) + var(--panel-gap));--board-inset-bottom: calc(var(--toolbar-bottom) + var(--toolbar-height) + var(--board-clearance));--media-gap: 12px;--media-inset-top: var(--media-gap);--media-inset-left: calc(var(--rail-float-left) + var(--rail-width) + var(--media-gap));--media-inset-right: calc(8px + var(--widget-width) + var(--media-gap));--z-canvas: 0;--z-media: 5;--z-chrome: 10;--z-toolbar: 20;--z-popover: 30;--z-scrim: 35;--z-pane: 36;--z-modal: 40}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);font-size:16px;line-height:1.4;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none}h1,h2,h3,h4,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;margin:0;padding:0;border:0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none;align-items:stretch}svg{display:block}img{max-width:100%;display:block}.shell{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg);--board-inset-right: var(--panel-width)}.shell__topbar,.logbook-widget,.fab,.suggestion{touch-action:manipulation}.shell__topbar{position:relative;z-index:var(--z-chrome);flex:0 0 auto;height:var(--topbar-height);display:flex;align-items:center;padding:0 32px;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.topbar__class{display:flex;align-items:center;margin-left:21px;color:var(--color-text);font-size:16.47px;line-height:19.93px;font-weight:700}.topbar__back{position:relative;flex:0 0 auto;width:20px;height:16px;padding:0;color:var(--color-icon-strong);display:flex;align-items:center;justify-content:center}.topbar__back:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:var(--radius-sm)}.topbar__back:active{color:var(--color-text)}.topbar__caret{margin-left:6px;color:var(--color-text-muted)}.topbar__divider{flex:0 0 auto;width:1px;height:18px;margin:0 18px;background:var(--color-border)}.topbar__lesson{display:flex;align-items:center;min-width:0}.topbar__lesson-icon{margin-right:10px;color:var(--color-icon-accent)}.topbar__lesson-title{color:var(--color-text);font-size:16.47px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__spacer{flex:1 1 auto}.topbar__status{flex:0 0 auto;height:23px;display:flex;align-items:center;margin-left:12px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text);font-size:12px;font-weight:500}.topbar__status-dot{flex:0 0 6px;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--color-live)}.topbar__timer{flex:0 0 auto;display:flex;align-items:center;margin-left:18px;color:var(--color-text);font-size:13px;font-weight:600}.topbar__timer svg{flex:0 0 auto;margin-right:6px;color:var(--color-icon-strong)}.topbar__timer-value{font-variant-numeric:tabular-nums}.shell__body{position:relative;flex:1 1 auto;overflow:hidden}.shell__canvas{position:absolute;top:0;left:0;right:0;bottom:0;z-index:var(--z-canvas);background:var(--color-canvas);background-image:radial-gradient(var(--color-canvas-dot) 1px,transparent 1px);background-size:20px 20px;background-position:0 0;touch-action:none;overflow:hidden}.shell__left{position:absolute;z-index:var(--z-chrome);top:0;left:0;bottom:0;width:var(--rail-width);pointer-events:none}.shell__left>*{pointer-events:auto}.shell--rail-panel{--board-inset-left: calc(var(--rail-width) + var(--rail-panel-width));--media-inset-left: calc(var(--rail-width) + var(--rail-panel-width) + var(--media-gap))}.shell:not(.shell--panel-collapsed){--media-inset-right: var(--board-inset-right)}.pane-scrim{position:fixed;z-index:var(--z-scrim);top:var(--topbar-height);right:0;bottom:0;left:0;background:transparent;touch-action:manipulation}.shell--rail-panel .shell__left{z-index:var(--z-pane)}.rail-panel{position:absolute;top:0;bottom:0;left:var(--rail-width);width:var(--rail-panel-width);border-left:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden}.rail{display:flex;flex-direction:column;align-items:center;background:var(--color-surface);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.rail--floating{position:absolute;top:var(--rail-float-left);left:var(--rail-float-left);width:var(--rail-width);padding:16px 0 20px;border:1px solid var(--color-border-rail);border-radius:var(--radius-md);box-shadow:var(--shadow-rail)}.rail--docked{width:100%;height:100%;padding:16px 8px;border-right:1px solid var(--color-border)}.rail__handle{flex:0 0 auto;width:44px;height:44px;margin-top:-8px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);line-height:1}.rail--docked .rail__handle{display:none}.rail--dragging .rail__handle{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-primary)}.rail__item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;color:#4b5563;text-align:center}.rail--floating .rail__item{width:var(--rail-width);min-height:75px;margin-top:8px;padding:10px 4px}.rail--docked .rail__item{width:69px;min-height:67px;margin-top:12px;padding:8px 4px;border-radius:var(--radius-sm)}.rail--floating .rail__item:first-of-type,.rail--docked .rail__item:first-of-type{margin-top:0}.rail__icon{flex:0 0 auto;width:40px;height:32px;display:flex;align-items:center;justify-content:center}.rail__item:active{color:var(--color-text)}.rail--docked .rail__item--active{background:var(--color-surface-sunken);color:#004ce3}.rail__label{margin-top:6px;font-weight:500}.rail--floating .rail__label{color:#0e121a;font-size:14px;line-height:16.8px}.rail--docked .rail__label{color:#4b5563;font-size:11px;line-height:1.3}.rail--docked .rail__item--active .rail__label{color:#004ce3;font-weight:700}.assistant{position:absolute;bottom:14px;left:13px;display:flex;align-items:flex-end}.fab{position:relative;flex:0 0 auto;width:var(--fab-size);height:var(--fab-size);border-radius:50%;background:var(--color-primary-deep);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(99,102,241,.12),var(--shadow-fab)}.fab svg{width:22px;height:22px}.fab:active{background:var(--color-primary)}.modal.ai-modal{width:688px;max-width:calc(100vw - 48px);height:calc(100vh - 48px - var(--keyboard-inset));max-height:600px;margin-bottom:var(--keyboard-inset)}.ai-modal .modal__body{padding:16px 20px}.ai-modal .modal__header{align-items:center;min-height:0;padding:12px 20px;border-bottom:0;background:var(--color-primary)}.ai-modal .modal__icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:12px;border-radius:10px;background:rgba(255,255,255,.18);color:#fff}.ai-modal .modal__title{color:#fff;font-size:16px;font-weight:700;line-height:1.25}.ai-modal .modal__description{margin-top:2px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.3}.ai-modal .modal__close{width:40px;height:40px;margin:0 -8px 0 auto;color:rgba(255,255,255,.9);font-size:24px}.ai-modal .modal__close:active{background:rgba(255,255,255,.16)}.ai-modal .modal__actions{min-height:0;display:block;padding:12px 16px}.ai-modal .modal__actions>*+*{margin-left:0}.ai-modal__greeting{display:inline-block;max-width:66%;padding:14px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:15px;line-height:1.5;white-space:pre-line}.ai-modal__section{margin:12px 0 8px;color:var(--color-text-faint);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.ai-card{max-width:66%;margin-bottom:12px;padding:18px 20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-muted)}.ai-card h3{margin-bottom:12px;font-size:16px;font-weight:700;line-height:1.3}.ai-card ol{padding-left:22px;list-style:decimal}.ai-card li{padding-left:4px;font-size:15px;line-height:24px}.ai-card li+li{margin-top:4px}.ai-card p{font-size:15px;line-height:24px}.ai-modal__apply-row{display:flex;justify-content:flex-end;margin-top:16px}.ai-modal .ai-modal__apply{display:inline-flex;align-items:center;height:40px;min-height:0;padding:0 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;white-space:nowrap}.ai-modal .ai-modal__apply svg{margin-right:8px}.ai-modal__composer{padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ai-modal__prompt{width:100%;height:36px;padding:0 4px;border:0;background:transparent;color:var(--color-text);font:inherit;font-size:15px}.ai-modal__prompt:disabled{color:var(--color-text-faint);-webkit-text-fill-color:var(--color-text-faint);opacity:1}.ai-modal__prompt::-webkit-input-placeholder{color:var(--color-text-faint)}.ai-modal__prompt::placeholder{color:var(--color-text-faint)}.ai-modal__tools{display:flex;align-items:center}.ai-modal__tool{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:default}.ai-modal__tool:disabled{color:var(--color-text-faint);opacity:1}.ai-modal__tools .ai-modal__tool+.ai-modal__tool{margin-left:4px}.ai-modal__tools .ai-modal__tool+.ai-modal__tool--right{margin-left:auto}.ai-modal__disclaimer{margin-top:10px;color:var(--color-text-faint);font-size:12px;line-height:1.4;text-align:center}.ai-modal__empty{max-width:66%;margin-top:12px;padding:20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:15px;line-height:1.5}.ai-modal__empty button{margin-top:12px}.ai-modal__hint{max-width:66%;margin-top:8px;color:var(--color-text-muted);font-size:12px;line-height:1.4}.suggestion{width:288px;margin-left:12px;padding:12px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-panel)}.suggestion__head{display:flex;align-items:center;margin-bottom:10px}.suggestion__title{margin-left:8px;font-size:14px;font-weight:600}.suggestion__close{margin-left:auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-faint)}.suggestion__body{display:flex;align-items:flex-start}.suggestion__thumb{flex:0 0 auto;width:96px;height:62px;border-radius:var(--radius-sm);background:var(--color-surface-muted);border:1px solid var(--color-border)}.suggestion__meta{margin-left:10px;min-width:0}.suggestion__name{font-size:14px;font-weight:600}.suggestion__sub{margin-top:2px;font-size:12px;color:var(--color-text-muted)}.suggestion__tag{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:var(--radius-sm);background:#e7f8ef;color:#067647;font-size:11px;font-weight:600}.suggestion__cta{margin-top:12px;min-height:40px;padding:0 16px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.suggestion__cta svg{margin-left:8px}.material-tray{position:absolute;z-index:var(--z-chrome);top:var(--panel-gap);left:var(--board-inset-left);right:var(--board-inset-right);max-height:calc(100% - var(--panel-gap) * 2);padding:18px 20px 20px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.material-tray__head{display:flex;align-items:flex-start;margin-bottom:16px}.material-tray__title{flex:1 1 auto;color:var(--color-primary);font-size:18px;font-weight:700}.material-tray__subtitle{margin-top:4px;color:var(--color-text-muted);font-size:13px}.material-tray__close{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:-6px -8px 0 12px;border-radius:var(--radius-sm);color:var(--color-icon-strong);touch-action:manipulation}.material-tray__close:active{background:var(--color-surface-muted)}.material-tray__error strong{display:block;font-size:14px}.material-tray__error p{margin:4px 0 12px;color:var(--color-text-muted);font-size:13px}.material-grid{display:flex;flex-wrap:wrap;margin:-8px}.material-grid__cell{flex:0 0 25%;max-width:25%;padding:8px}.material-card{display:block;width:100%;text-align:left;touch-action:manipulation}.material-card:disabled{cursor:default;opacity:.65}.material-card__thumb{position:relative;display:block;height:0;padding-bottom:56.25%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.material-card__play{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(15,23,42,.55);color:#fff}.material-card__name{display:block;margin-top:10px;overflow:hidden;font-size:13px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.material-card__meta{display:flex;align-items:center;margin-top:6px}.material-card__sub{min-width:0;flex:1 1 auto;overflow:hidden;color:var(--color-text-muted);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.material-card__blocked{display:block;margin-top:5px;color:var(--color-text-faint);font-size:11px}.material-badge{flex:0 0 auto;margin-left:8px;padding:3px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:700;white-space:nowrap}.material-badge--slide{background:var(--tag-slide-bg);color:var(--tag-slide-fg)}.material-badge--video{background:var(--tag-video-bg);color:var(--tag-video-fg)}.material-badge--assessment{background:var(--tag-test-bg);color:var(--tag-test-fg)}.material-badge--other{background:var(--tag-neutral-bg);color:var(--tag-neutral-fg)}.panel{position:absolute;z-index:var(--z-pane);top:0;right:0;bottom:0;width:var(--panel-width);padding:var(--panel-padding);border-left:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-panel);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.panel__header{position:relative;margin-bottom:var(--panel-gap);text-align:center}.panel__close{position:absolute;top:-8px;right:-8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-faint);font-size:20px;line-height:1;touch-action:manipulation}.panel__close:active{background:var(--color-surface-muted)}.panel__title{color:var(--color-text);font-size:12px;font-weight:700}.panel__subtitle{margin-top:2px;color:var(--color-text-muted);font-size:11px;font-weight:400}.shell--filmstrip{--board-inset-bottom: calc(var(--filmstrip-bottom) + var(--filmstrip-bar-height) + var(--board-clearance))}.shell--panel-collapsed{--board-inset-right: var(--panel-gap)}.shell--panel-collapsed .panel{display:none}.card{width:var(--panel-card-width);max-width:100%;padding:14px;margin-bottom:var(--panel-gap);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.card:last-child{margin-bottom:0}.card__title{font-size:14px;font-weight:600}.card__subtitle{margin-top:2px;font-size:11px;color:var(--color-text-muted)}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between}.card-link{min-height:40px;margin:-8px -8px 0 8px;padding:0 8px;color:var(--color-link);font-size:11px;font-weight:600}.card-empty-copy{margin-top:14px;color:var(--color-text-muted);font-size:13px}.logbook-widget{position:absolute;z-index:var(--z-chrome);top:8px;right:8px;width:var(--widget-width);min-height:var(--widget-height);padding:14px;display:flex;flex-wrap:wrap;align-content:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-panel);text-align:center}.logbook-widget__handle{flex:0 0 auto;align-self:center;width:44px;height:44px;margin:-8px auto 0;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);line-height:1}.logbook-widget--dragging .logbook-widget__handle{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-primary)}.logbook-widget__title{flex:0 0 100%;color:var(--color-text);font-size:12px;font-weight:700;text-transform:uppercase}.logbook-widget__subtitle{flex:0 0 100%;margin-top:2px;color:var(--color-text-muted);font-size:11px;font-weight:400}.logbook-widget__mini{flex:0 0 90px;min-height:60px;margin:16px auto 0;padding:8px 6px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.logbook-widget__mini-label{flex:0 0 100%;color:var(--color-text);font-size:14px;font-weight:500}.logbook-widget__mini-value{flex:0 0 100%;margin-top:2px;color:var(--color-text-muted);font-size:11px;font-weight:400}.logbook-widget__caret{flex:0 0 100%;display:flex;justify-content:center;margin-top:14px;color:var(--color-icon-strong)}.logbook-widget:active{border-color:var(--color-border-strong)}.panel__end{display:block;width:100%;min-height:44px;margin-top:4px;color:var(--color-link);font-size:11px;font-weight:600;text-align:center;touch-action:manipulation}.panel-rows{margin-top:12px}.panel-row+.panel-row{margin-top:10px}.panel-row__label{display:block;font-size:12px;font-weight:700}.panel-row__value{display:block;margin-top:3px;color:var(--color-text-muted);font-size:12px;line-height:1.4}.panel-row__value--empty{color:var(--color-text-faint)}.card__heading{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;display:flex;align-items:center}.card__heading--praise{color:#067647}.card__heading--violation{color:var(--color-danger)}.card__count{margin-left:8px;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:11px;line-height:20px;text-align:center}.attendance{margin-top:12px;display:flex;align-items:center}.attendance__chart{position:relative;flex:0 0 auto;width:64px;height:64px}.attendance__value{fill:currentColor;font-weight:700}.attendance__legend{margin-left:14px;font-size:11px}.attendance__legend li{display:flex;align-items:center;margin-bottom:4px;color:var(--color-text-muted)}.attendance__dot{width:7px;height:7px;margin-right:7px;border-radius:50%}.attendance-modal,.logbook-editor-modal{width:720px}.violation-form-modal,.reminder-form-modal{width:600px}.attendance-modal .modal__header,.violation-form-modal .modal__header,.reminder-form-modal .modal__header{min-height:0;padding-bottom:6px;border-bottom:0}.attendance-modal .modal__title,.violation-form-modal .modal__title,.reminder-form-modal .modal__title{font-size:18px}.attendance-modal .modal__description,.violation-form-modal .modal__description,.reminder-form-modal .modal__description{font-size:12px}.field-label{display:block;margin:16px 0 6px;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.field-label:first-child{margin-top:0}.field-select{width:100%;min-height:44px;padding:0 36px 0 12px;border:1px solid var(--color-border-strong);border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-size:13px;-webkit-appearance:none;appearance:none;touch-action:manipulation}.check-box-list{max-height:132px;padding:8px 10px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.check-row{min-height:44px;display:flex;align-items:center;cursor:pointer}.check-row input{flex:0 0 16px;width:16px;height:16px;margin:0 10px 0 0;accent-color:var(--color-primary)}.check-row span{min-width:0;color:var(--color-text);font-size:13px}.field-textarea{position:relative}.field-textarea textarea{width:100%;min-height:64px;padding:10px 12px 24px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fff;font-size:13px;resize:vertical;user-select:text;-webkit-user-select:text}.field-textarea__count{position:absolute;right:12px;bottom:9px;color:var(--color-text-faint);font-size:11px}.attendance-tools{margin-bottom:12px}.attendance-mark-all{position:relative;display:block;min-height:36px;margin:0 0 10px auto;padding:0 14px;border:1px solid #a9e5c4;border-radius:999px;background:#dcfae6;color:#067647;font-size:13px;font-weight:700;touch-action:manipulation}.attendance-search{position:relative}.attendance-search__icon{position:absolute;top:50%;left:14px;margin-top:-8px;color:var(--color-text-faint)}.attendance-search input{width:100%;height:44px;padding:0 14px 0 38px;border:1px solid var(--color-border-strong);border-radius:10px;font-size:13px;user-select:text;-webkit-user-select:text}.attendance-list{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.attendance-row{min-height:72px;display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--color-border)}.attendance-row:last-child{border-bottom:0}.attendance-row__avatar{flex:0 0 36px;width:36px;height:36px;margin-right:10px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:14px;font-weight:700;line-height:36px;text-align:center}.attendance-row__student{min-width:0;flex:1 1 auto}.attendance-row__student strong{display:block;font-size:13px;font-weight:700}.attendance-row__student small{display:block;margin-top:1px;color:var(--color-text-muted);font-size:11px}.attendance-row__student em{display:block;margin-top:2px;color:#b54708;font-size:11px;font-style:normal}.attendance-row__primary{flex:0 0 auto;display:flex;margin-left:8px}.attendance-row__detail{flex:0 0 196px;margin-left:10px;text-align:right}.attendance-row__caption{display:block;margin-bottom:3px;font-size:10px;font-weight:700}.attendance-row__caption.is-present{color:#067647}.attendance-row__caption.is-absent{color:#b54708}.attendance-row__secondary{display:flex;justify-content:flex-end}.attendance-row__primary .attendance-pill,.attendance-row__secondary .attendance-pill{margin-left:6px}.attendance-pill{position:relative;min-height:32px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-muted);font-size:12px;font-weight:700;white-space:nowrap;touch-action:manipulation}.attendance-mark-all:after,.attendance-pill:after,.violation-form__mode:after{content:"";position:absolute;top:50%;left:0;right:0;height:44px;margin-top:-22px}.attendance-pill.is-present{border-color:#a9e5c4;background:#dcfae6;color:#067647}.attendance-pill.is-absent{border-color:#f5c99b;background:#ffead5;color:#b54708}.attendance-footer-counts{display:flex;align-items:center;flex-wrap:wrap;margin-right:auto;color:var(--color-text-muted);font-size:12px}.attendance-footer-counts span{display:flex;align-items:center;margin-right:14px}.attendance-footer-counts strong{margin-right:4px;color:var(--color-text)}.attendance-footer-counts__dot{flex:0 0 8px;width:8px;height:8px;margin-right:6px;border-radius:50%}.end-period-copy{color:var(--color-text-muted)}.logbook-card__body{margin-top:14px}.logbook-card__body>span{display:block;color:var(--color-text-muted);font-size:11px;font-weight:700}.logbook-card__body>strong{display:block;margin-top:4px;font-size:13px}.logbook-card__body p{margin-top:9px;color:var(--color-text-muted);font-size:12px;line-height:1.4}.card-links{flex:0 0 auto;display:flex;align-items:flex-start;margin-left:8px}.card-links .card-link{margin:-8px 0 0}.card-links .card-link+.card-link{margin-left:2px}.card-link:disabled{color:var(--color-text-faint);cursor:default}.logbook-editor label{display:block;margin-bottom:16px}.logbook-editor label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:700}.logbook-editor input,.logbook-editor textarea{width:100%;min-height:50px;padding:12px;border:1px solid var(--color-border-strong);border-radius:9px;background:#fff;user-select:text;-webkit-user-select:text}.logbook-editor textarea{resize:vertical}.logbook-editor__assessment{display:flex;align-items:flex-start}.logbook-editor__assessment label:first-child{flex:0 0 130px;margin-right:14px}.logbook-editor__assessment label:last-child{flex:1 1 auto}.conduct-group{margin-top:12px}.conduct-group__head{display:flex;align-items:center}.conduct-group__dot{flex:0 0 8px;width:8px;height:8px;margin-right:7px;border-radius:50%}.conduct-group__dot--commendation{background:#12b76a}.conduct-group__dot--violation{background:var(--color-danger)}.conduct-group__label{flex:1 1 auto;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px}.conduct-group .card-empty-copy{margin-top:6px;font-size:12px}.conduct-list{margin-top:6px}.conduct-list li{display:flex;align-items:flex-start;padding:8px 0;border-top:1px solid var(--color-border)}.conduct-list li>div{min-width:0;flex:1 1 auto}.conduct-list strong,.conduct-list p{font-size:12px}.conduct-list p{margin-top:2px;color:var(--color-text-muted)}.conduct-list time{margin-left:8px;color:var(--color-text-faint);font-size:11px}.violation-form__modes{display:flex}.violation-form__mode{position:relative;flex:1 1 50%;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);font-size:13px;font-weight:700;touch-action:manipulation}.violation-form__mode+.violation-form__mode{margin-left:8px}.violation-form__mode-box{flex:0 0 16px;width:16px;height:16px;margin-right:8px;border:1px solid var(--color-border-strong);border-radius:4px;background:#fff;font-size:11px;line-height:14px;text-align:center}.violation-form__mode.is-commendation.is-active{border-color:#16a34a;background:#16a34a;color:#fff}.violation-form__mode.is-commendation.is-active .violation-form__mode-box{border-color:#fff;color:#16a34a}.violation-form__mode.is-violation.is-active{border-color:#dc2626;background:#dc2626;color:#fff}.violation-form__mode.is-violation.is-active .violation-form__mode-box{border-color:#fff;color:#dc2626}.reminder-form__other{width:100%;min-height:44px;margin-top:8px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fff;font-size:13px;user-select:text;-webkit-user-select:text}.homework-suggest{margin-top:10px;padding:10px;border:1px solid #dbe4ff;border-radius:8px;background:#f5f8ff}.homework-suggest__head{display:flex;align-items:center;color:var(--color-primary);font-size:12px;font-weight:700}.homework-suggest__head span{margin-right:6px}.homework-suggest__empty{margin-top:8px;color:var(--color-text-muted);font-size:12px}.homework-suggest__list{max-height:150px;margin-top:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.homework-item{min-height:44px;display:flex;align-items:center;margin-bottom:6px;padding:6px 8px;border-radius:6px;background:#fff;cursor:pointer}.homework-item:last-child{margin-bottom:0}.homework-item input{flex:0 0 16px;width:16px;height:16px;margin:0 8px 0 0;accent-color:var(--color-primary)}.homework-item__icon{flex:0 0 24px;margin-right:8px}.homework-item__text{min-width:0;flex:1 1 auto}.homework-item__text strong{display:block;font-size:12px;font-weight:700}.homework-item__text small{display:block;margin-top:1px;color:var(--color-text-muted);font-size:10px}.entry{padding:9px 0;border-top:1px solid var(--color-border);display:flex;align-items:flex-start}.entry__main{flex:1 1 auto;min-width:0}.entry__name{font-size:13px;font-weight:700}.entry__note{margin-top:1px;font-size:12px;color:var(--color-text-muted)}.entry__time{margin-left:10px;font-size:12px;color:var(--color-text-faint)}.card__more{width:100%;min-height:40px;margin-top:4px;border-top:1px solid var(--color-border);color:var(--color-primary);font-size:13px;font-weight:600}.shell__loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:14px}.notfound{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted)}.notfound__code{font-size:44px;font-weight:700;color:var(--color-text)}.notfound__link{margin-top:16px;min-height:var(--touch-target);padding:0 24px;line-height:var(--touch-target);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;touch-action:manipulation}@media (max-width: 1100px){:root{--panel-width: 260px}.suggestion{display:none}}.rail-panel{border-left-color:var(--color-separator)}.rail--docked{padding-bottom:calc(var(--fab-size) + 24px)}.rail-panel{bottom:calc(var(--keyboard-inset, 0px) + var(--device-bottom-inset, 0px))}.assistant{bottom:14px;bottom:calc(14px + var(--keyboard-inset, 0px) + var(--device-bottom-inset, 0px))}.panel{right:env(safe-area-inset-right)}.panel{padding-bottom:calc(var(--panel-padding) + var(--keyboard-inset, 0px) + var(--device-bottom-inset, 0px))}.field-textarea__count,.conduct-list time,.entry__time,.suggestion__close,.attendance-search__icon{color:var(--color-text-muted)}.modal-layer{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--touch-target) 24px calc(var(--touch-target) + var(--device-bottom-inset, 0px));background:var(--color-scrim);touch-action:manipulation}.modal{width:560px;max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-separator);box-shadow:var(--shadow-float)}.modal__header{flex:0 0 auto;display:flex;align-items:flex-start;min-height:72px;padding:20px 20px 14px 24px;border-bottom:1px solid var(--color-border)}.modal__heading{min-width:0}.modal__title{font-size:20px;line-height:1.3}.modal__description{margin-top:4px;color:var(--color-text-muted);font-size:14px}.modal__close{flex:0 0 auto;width:var(--touch-target);height:var(--touch-target);margin:-12px -8px -8px auto;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:28px}.modal__close:active{background:var(--color-surface-muted)}.modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.modal__actions{flex:0 0 auto;min-height:72px;display:flex;align-items:center;justify-content:flex-end;padding:10px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.modal__actions>*+*{margin-left:12px}.modal-action{min-height:var(--touch-target);padding:0 14px;font-weight:600}.modal-action--quiet{margin-right:auto;color:var(--color-text-muted)}.toast{position:fixed;z-index:calc(var(--z-modal) + 1);top:calc(var(--topbar-height) + 12px);right:24px;max-width:520px;min-height:56px;display:flex;align-items:center;padding:8px 8px 8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-float);touch-action:manipulation}.toast__icon{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-right:10px;border-radius:50%;background:var(--color-success);color:#fff;font-weight:800}.toast--error .toast__icon{background:var(--color-danger)}.toast--warning .toast__icon{background:var(--color-warning, #f59e0b)}.toast__message{min-width:0;font-size:14px}.toast__retry{min-height:44px;margin-left:18px;padding:0 12px;color:var(--color-primary);font-weight:700}.toast__close{width:44px;height:44px;margin-left:4px;color:var(--color-text-muted);font-size:24px}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--color-text-muted)}.empty-state--compact{min-height:130px;padding:20px}.empty-state__mark{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--chip-bg);color:var(--color-text-faint);font-size:24px;line-height:1}.empty-state__title{margin-top:14px;font-weight:700;color:var(--color-text)}.empty-state__description{max-width:440px;margin-top:6px;font-size:14px}.empty-state__action{margin-top:16px}.spinner{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted)}.spinner__ring{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner--small .spinner__ring{width:24px;height:24px}.spinner--large .spinner__ring{width:48px;height:48px}.spinner__label{margin-top:10px;font-size:14px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.auth-gate-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:30px;background:var(--color-bg);text-align:center}.auth-gate-state h1{font-size:26px}.auth-gate-state p{margin:10px 0 20px;color:var(--color-text-muted)}.offline-banner{position:fixed;z-index:2000;top:0;left:50%;width:auto;max-width:calc(100% - 32px);padding:10px 18px;border-radius:0 0 12px 12px;background:#9b2c2c;color:#fff;font-size:14px;font-weight:700;text-align:center;transform:translate(-50%);box-shadow:0 4px 16px rgba(0,0,0,.18)}.section-label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.h-scroll{position:relative}.h-scroll__track{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x}.h-scroll__track::-webkit-scrollbar{width:0;height:0;display:none}.h-scroll__track>*{flex:0 0 auto;white-space:nowrap}.h-scroll__fade{position:absolute;z-index:1;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,rgba(255,255,255,0),var(--color-surface));pointer-events:none}.empty-state__description{font-size:13px}.primary-button,.secondary-button,.danger-button{min-height:var(--touch-target);padding:0 22px;border-radius:10px;font-weight:700;touch-action:manipulation}.primary-button{background:var(--color-primary);color:#fff}.primary-button:disabled{opacity:.5;cursor:default}.secondary-button{border:1px solid var(--color-border-strong);background:#fff}.danger-button{background:#fee4e2;color:#b42318}.board-media-overlay{position:absolute;z-index:var(--z-media);top:var(--media-inset-top);right:var(--media-inset-right);bottom:var(--board-inset-bottom);left:var(--media-inset-left);display:flex;align-items:center;justify-content:center;pointer-events:none}.board-media-overlay__card{position:relative;width:100%;height:100%;display:flex;flex-direction:column;border-radius:14px;background:#101828;box-shadow:var(--shadow-float);overflow:hidden;pointer-events:auto}.board-media-overlay--fitted .board-media-overlay__card{flex:0 0 auto}.board-media-overlay--card .board-media-overlay__card{width:560px;max-width:100%;height:auto;max-height:100%;background:var(--color-surface)}.board-media-overlay__bar{flex:0 0 auto;height:48px;display:flex;align-items:center;padding:0 2px 0 16px;background:#1d2939;color:#fff}.board-media-overlay__bar strong{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-media-overlay__bar button{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:#fff;touch-action:manipulation}.board-media-overlay__bar button:active{background:rgba(255,255,255,.16)}.board-media-overlay__body{position:relative;flex:1 1 auto;min-height:0}.board-media-overlay--card .board-media-overlay__body{flex:0 1 auto;overflow-y:auto}.board-media-overlay--fitted .board-media-overlay__card{overflow:visible}.board-media-overlay--fitted .board-media-overlay__bar{border-top-left-radius:inherit;border-top-right-radius:inherit}.board-media-overlay--fitted .board-media-overlay__body{overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.board-media-overlay__bar--movable{cursor:move;touch-action:none}.board-media-overlay__bar--movable:focus{outline:2px solid var(--color-primary, #2e90fa);outline-offset:-2px}.board-media-overlay__resize{position:absolute;z-index:3;right:-16px;bottom:-16px;width:32px;height:32px;border:2px solid #ffffff;border-radius:50%;background:#1d2939;box-shadow:var(--shadow-float);cursor:nwse-resize;touch-action:none}.board-media-overlay__resize svg{position:absolute;top:5px;left:5px;width:18px;height:18px}.board-media-overlay__resize:focus{outline:2px solid var(--color-primary, #2e90fa);outline-offset:2px}.board-media-overlay--moving .board-media-overlay__body,.board-media-overlay--resizing .board-media-overlay__body{pointer-events:none}.board-media-overlay__card:-webkit-full-screen{width:100%!important;height:100%!important;border-radius:0}.board-media-overlay__card:fullscreen{width:100%!important;height:100%!important;border-radius:0}.youtube-overlay__frame{position:absolute;top:0;right:0;bottom:0;left:0}.youtube-overlay__frame iframe{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;border:0;background:#101828}.youtube-overlay__loading,.youtube-overlay__error{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.youtube-overlay__error{flex-direction:column}.youtube-overlay__error button{margin-top:14px;background:#fff}.hls-video{position:absolute;top:0;right:0;bottom:0;left:0}.hls-video video{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:#000;object-fit:contain}.hls-video__loading,.hls-video__error{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.hls-video__error{flex-direction:column;background:rgba(16,24,40,.86)}.hls-video__error p{margin-top:6px;max-width:32ch;color:rgba(255,255,255,.78)}.hls-video__error button{margin-top:14px;background:#fff;color:var(--color-text)}.hls-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;background:#000;touch-action:manipulation}.hls-poster__play{position:absolute;top:50%;left:50%;width:155px;height:155px;margin:-78px 0 0 -78px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary);color:#fff}.upload-card{padding:20px;color:var(--color-text)}.upload-card__head{display:flex;align-items:center}.upload-card__mark{flex:0 0 56px;width:56px;height:56px;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-primary)}.upload-card__meta{min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.upload-card__meta strong{overflow:hidden;font-size:16px;line-height:22px;white-space:nowrap;text-overflow:ellipsis}.upload-card__meta span{color:var(--color-text-muted);font-size:13px;line-height:18px}.upload-card__audio{display:block;width:100%;margin-top:18px}.upload-card__note{margin-top:16px;color:var(--color-text-muted);font-size:14px;line-height:20px}.upload-card__note--error{color:var(--color-danger)}.upload-pdf{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#f2f4f7}.upload-pdf__stage{position:relative;flex:1 1 auto;min-height:0;margin:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.upload-pdf__stage canvas{display:block;background:#fff;box-shadow:var(--shadow-thumb)}.upload-pdf__state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);text-align:center}.upload-pdf__state--error{color:var(--color-danger)}.upload-pdf__pager{flex:0 0 auto;height:56px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--color-border);background:var(--color-surface);font-weight:600}.upload-pdf__pager button{width:44px;height:44px;margin:0 12px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);touch-action:manipulation}.upload-pdf__pager button:disabled{opacity:.35}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px}.image-overlay img{max-width:100%;max-height:100%;object-fit:contain}.image-overlay--fitted{padding:0;background:#fff}.image-overlay--fitted img{width:100%;height:100%}.shell .wb-toolbar{width:var(--toolbar-width);min-width:-webkit-min-content;min-width:min-content;height:var(--toolbar-height);padding:10px 16px;-webkit-justify-content:space-between;justify-content:space-between;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-toolbar)}.wb-toolbar .wb-toolbar__divider{width:1px;height:24px;margin:0;background:var(--color-border)}.wb-toolbar .wb-btn{width:40px;height:40px;margin:0;border-radius:var(--radius-tool);color:var(--color-icon-strong)}.wb-toolbar .wb-btn:after{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px}.wb-toolbar .wb-btn+.wb-btn{margin-left:8px}.wb-toolbar .wb-btn+.wb-btn--danger{margin-left:16px}.wb-toolbar .wb-btn svg{width:20px;height:20px}.wb-toolbar .wb-btn.is-active{background:var(--color-toolbar-active-bg);color:var(--color-primary-deep)}.wb-toolbar .wb-btn__ink{bottom:5px;width:16px;height:3px;margin-left:-8px}.wb-toolbar .wb-btn--round{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-pill-sm)}.wb-toolbar .wb-btn--round svg{width:18px;height:18px}.wb-toolbar .wb-btn--danger{color:var(--color-danger)}.wb-toolbar .wb-btn--danger.wb-btn--round{border-color:var(--color-border)}.wb-toolbar .wb-btn--zoom{width:20px;height:20px;border:0;border-radius:0;background:transparent}.wb-toolbar .wb-btn--zoom svg{width:20px;height:20px}.wb-toolbar .wb-btn--zoom+.wb-btn--zoom{margin-left:12px}.wb-pages{position:relative;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:80px;height:40px;padding:0;border:0;border-radius:var(--radius-tool);background:var(--color-surface-sunken);color:var(--color-icon-strong);cursor:pointer;outline:none;touch-action:manipulation}.wb-pages:after{content:"";position:absolute;top:50%;left:0;right:0;height:48px;margin-top:-24px}.wb-pages svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.wb-pages__label{margin-left:6px;font-size:12px;font-weight:500;color:var(--color-text)}.wb-pages.is-active,.wb-pages.is-active .wb-pages__label{color:var(--color-primary-deep)}.wb-toolbar .wb-pager{height:36px;margin:0 0 0 16px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill-sm);background:var(--color-surface-muted)}.wb-toolbar .wb-pager__btn{position:relative;width:14px;height:14px;color:var(--color-icon-strong)}.wb-toolbar .wb-pager__btn:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.wb-toolbar .wb-pager__btn svg{width:14px;height:14px}.wb-toolbar .wb-pager__label{min-width:0;margin:0 16px;padding:0;font-size:12px;font-weight:500;color:var(--color-text)}.wb-toolbar .wb-popover{bottom:72px}@media (max-width: 1440px){.shell{--toolbar-width: 663px}.shell .wb-toolbar{padding:10px 12px}.wb-toolbar .wb-btn{width:36px;height:36px}.wb-toolbar .wb-btn+.wb-btn{margin-left:6px}.wb-toolbar .wb-btn+.wb-btn--danger{margin-left:10px}.wb-toolbar .wb-btn--round{width:36px;height:36px}.wb-toolbar .wb-btn--zoom{width:20px;height:20px}.wb-pages{width:72px}.wb-toolbar .wb-pager{min-width:100px;margin-left:10px;padding:0 12px}.wb-toolbar .wb-pager__label{margin:0 10px}}.filmstrip{position:absolute;z-index:var(--z-toolbar);bottom:112px;bottom:var(--filmstrip-bottom);bottom:calc(var(--filmstrip-bottom) + env(safe-area-inset-bottom));left:calc(50% + var(--board-inset-left, 0px) / 2 - var(--board-inset-right, 0px) / 2);max-width:calc(100% - var(--board-inset-left, 0px) - var(--board-inset-right, 0px) - 16px);-webkit-transform:translateX(-50%);transform:translate(-50%);padding:2px 0;border-radius:var(--radius-sm);background:var(--filmstrip-bar);background:rgba(243,243,243,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.filmstrip__track{display:-webkit-box;display:-webkit-flex;display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x}.filmstrip__track::-webkit-scrollbar{display:none}.filmstrip__cell{position:relative;flex:0 0 auto;margin-right:var(--filmstrip-gap)}.filmstrip__cell:last-child{margin-right:0}.filmstrip__item{display:block;width:var(--filmstrip-thumb-width);height:var(--filmstrip-thumb-height);padding:0;border:2px solid transparent;border-radius:var(--radius-tile);background:transparent;cursor:pointer;outline:none;touch-action:manipulation}.filmstrip__item.is-active{border-color:var(--color-primary-deep);box-shadow:0 0 0 2px var(--color-primary-200)}.filmstrip__frame{position:relative;display:block;width:160px;height:100px;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface);box-shadow:0 2px 6.4px rgba(12,64,103,.18)}.filmstrip__frame img{width:100%;height:100%;max-width:none;object-fit:cover}.filmstrip__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:8px 10px;text-align:center}.filmstrip__placeholder--slide{background:var(--tile-slide-bg);color:var(--tag-slide-fg)}.filmstrip__placeholder--video{background:var(--tile-video-bg);color:var(--tag-video-fg)}.filmstrip__placeholder--quiz{background:var(--tile-test-bg);color:var(--tag-test-fg)}.filmstrip__placeholder--blank{background:var(--color-canvas);color:var(--color-text-muted);border:1px dashed var(--color-border-strong)}.filmstrip__glyph{display:block}.filmstrip__caption{display:block;margin-top:6px;overflow:hidden;color:var(--color-text-body);font-size:11px;line-height:1.3;max-height:29px}.filmstrip__remove{position:absolute;top:0;right:0;z-index:1;width:40px;height:40px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.filmstrip__remove-dot{position:absolute;top:6px;right:6px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);color:var(--color-text-muted);box-shadow:0 1px 3px rgba(12,64,103,.2)}.filmstrip__remove:hover .filmstrip__remove-dot,.filmstrip__remove:active .filmstrip__remove-dot{background:var(--color-surface-sunken);color:var(--color-text)}.filmstrip__remove:focus{outline:none}.filmstrip__remove:focus .filmstrip__remove-dot{box-shadow:0 0 0 2px var(--color-primary)}.filmstrip__frame--add{border-style:dashed;background:var(--color-canvas);box-shadow:none}.filmstrip__frame--add .filmstrip__placeholder{color:var(--color-primary-deep)}.filmstrip__fade{position:absolute;top:0;width:119px;height:108px;opacity:0;pointer-events:none;transition:opacity .18s ease}.filmstrip__fade.is-on{opacity:1}.filmstrip__fade--start{left:0;background:linear-gradient(to right,var(--filmstrip-bar) 0%,var(--filmstrip-bar-clear) 100%)}.filmstrip__fade--end{right:0;background:linear-gradient(to left,var(--filmstrip-bar) 0%,var(--filmstrip-bar-clear) 100%)}@media (prefers-reduced-motion: reduce){.filmstrip__fade{transition:none}}.filmstrip__nav{position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;padding:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border:1px solid var(--color-border-strong);border-radius:28px;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-float);cursor:pointer;touch-action:manipulation}.filmstrip__nav--start{left:4px}.filmstrip__nav--end{right:4px}.filmstrip__nav:hover,.filmstrip__nav:active{background:var(--color-surface-sunken)}.filmstrip__nav-glyph{display:block;height:22px}.filmstrip__nav-count{display:block;margin-top:1px;color:var(--color-text-muted);font-size:12px;font-weight:700;line-height:1}.filmstrip__nav:focus{outline:2px solid var(--color-primary);outline-offset:2px}.filmstrip__nav:focus:not(:focus-visible){outline:none}.modal-layer{-webkit-backdrop-filter:blur(var(--scrim-blur));backdrop-filter:blur(var(--scrim-blur))}.modal.page-delete-modal{width:479px;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}.page-delete-modal .modal__header{min-height:0;padding:24px 24px 16px;border-bottom:1px solid var(--color-border-faint)}.page-delete-modal .modal__title{font-size:16px;font-weight:700}.page-delete-modal .modal__close{width:27px;height:27px;margin:0 0 0 auto;border-radius:var(--radius-sm);font-size:18px;line-height:1}.page-delete-modal .modal__body{padding:20px 24px}.page-delete__copy{font-family:var(--font-display);font-size:16px;font-weight:400;color:var(--color-text-strong)}.page-delete-modal .modal__actions{min-height:0;padding:12px 24px;border-top:0}.page-delete-modal .modal__actions>*+*{margin-left:12px}.page-delete__cancel,.page-delete__confirm{min-width:49px;height:40px;padding:0 14px;border-radius:var(--radius-md);font-size:14px;font-weight:600;touch-action:manipulation}.page-delete__cancel{background:transparent;color:var(--color-text-body)}.page-delete__cancel:active{background:var(--color-surface-sunken)}.page-delete__confirm{min-width:69px;background:var(--color-danger);color:#fff}.page-delete__confirm:active{background:#b91c1c}.page-delete-modal .page-delete__confirm.page-delete__confirm--neutral{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.libpanel{--lib-accent: #004CE3}.libpanel__head{flex:0 0 auto;display:flex;align-items:flex-start;padding:20px 20px 0}.libpanel__head h2{min-width:0;flex:1 1 auto;color:var(--color-text);font-family:var(--font-sans);font-size:18px;font-weight:700;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.libpanel__dock{position:relative;flex:0 0 20px;width:20px;height:22px;display:flex;align-items:center;justify-content:center;margin-left:12px;color:var(--color-text)}.libpanel__dock:after,.libpanel__back:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.libpanel__head--course{flex-direction:column;align-items:stretch}.libpanel__crumb{display:flex;align-items:center}.libpanel__back{position:relative;flex:0 0 18px;width:18px;height:22px;display:flex;align-items:center;justify-content:center;margin-right:8px;color:var(--color-text-secondary)}.libpanel__head--course h2{font-weight:800}.libpanel__crumb-meta{height:40px;display:flex;align-items:center;padding-left:27px;color:var(--color-text-disabled);font-size:13px;font-weight:500}.libpanel__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.libpanel__head--course+.libpanel__body{padding-top:0}.lib-heading{margin-bottom:10px;color:#909090;font-size:12px;font-weight:700;line-height:15px;text-transform:uppercase}.lib-divider{height:1px;margin:20px 0;background:var(--color-border-faint)}.lib-empty{padding:24px 12px;color:var(--color-text-muted);font-size:12px;text-align:center}.lib-spacer{height:20px}.lib-search{position:relative;height:36px;margin-bottom:20px}.lib-search__icon{position:absolute;top:10px;left:12px;width:16px;height:16px;color:var(--color-placeholder)}.lib-search input{width:100%;height:36px;padding:0 12px 0 36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:13px;user-select:text;-webkit-user-select:text}.lib-search input::-webkit-input-placeholder{color:var(--color-placeholder)}.lib-search input::placeholder{color:var(--color-placeholder)}.lib-search input:focus{border-color:var(--lib-accent, #004CE3);outline:none}.lib-chips{margin-bottom:20px}.lib-chips button{position:relative;flex:0 0 auto;height:27px;margin-right:8px;padding:0 12px;border:0;border-radius:var(--radius-pill);background:var(--chip-bg);color:#4b5563;font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:27px;white-space:nowrap;touch-action:manipulation}.lib-chips button:after{content:"";position:absolute;top:50%;left:0;right:0;height:44px;margin-top:-22px}.lib-chips button.is-active{background:var(--lib-accent, #004CE3);color:#fff;font-weight:600}.lib-tabs{display:flex;padding-bottom:8px}.lib-tabs button{position:relative;margin-right:12px;color:var(--color-text-disabled);font-family:var(--font-sans);font-size:12px;font-weight:700;line-height:15px;text-transform:uppercase;white-space:nowrap;touch-action:manipulation}.lib-tabs button:last-child{margin-right:0}.lib-tabs button.is-active{color:var(--lib-accent, #004CE3)}.lib-tabs button.is-active:before{content:"";position:absolute;right:0;bottom:-4px;left:0;height:2px;border-radius:2px 2px 0 0;background:var(--lib-accent, #004CE3)}.lib-tabs button:after{content:"";position:absolute;top:50%;left:-6px;right:-6px;height:44px;margin-top:-22px}.lib-row{position:relative;width:calc(100% + 12px);min-height:60px;display:flex;align-items:center;margin:0 -6px;padding:12px 6px;border-radius:var(--radius-tool);text-align:left;touch-action:manipulation}.lib-row:active{background:var(--color-surface-muted)}.lib-row.is-selected{background:var(--color-primary-100);box-shadow:inset 0 0 0 1px var(--color-primary-border),inset 4px 0 0 0 var(--color-primary)}.lib-row.is-selected .lib-row__name{color:var(--color-primary);font-weight:600}.lib-row[draggable=true]{cursor:grab}.lib-row__tile{flex:0 0 36px;width:36px;height:36px;margin-right:16px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.lib-row__tile--slide{background:var(--tile-slide-bg);color:var(--tag-test-fg)}.lib-row__tile--video{background:var(--tile-video-bg);color:var(--tag-video-fg)}.lib-row__tile--assessment{background:var(--tile-test-bg);color:var(--tag-slide-fg)}.lib-row__tile--other{background:var(--tile-homework-bg);color:var(--tag-homework-fg)}.lib-row__main{min-width:0;flex:1 1 auto}.lib-row__name{display:block;overflow:hidden;color:var(--color-text);font-size:14px;font-weight:600;line-height:17px;white-space:nowrap;text-overflow:ellipsis}.lib-row__meta{display:block;margin-top:2px;overflow:hidden;color:var(--color-text-muted);font-size:11px;line-height:15px;white-space:nowrap;text-overflow:ellipsis}.lib-hit{position:relative;width:calc(100% + 12px);min-height:52px;display:flex;align-items:center;margin:0 -6px;padding:10px 6px;border-radius:var(--radius-tool);text-align:left;touch-action:manipulation}.lib-hit:active{background:var(--color-surface-muted)}.lib-hit.is-selected{background:var(--color-primary-100);box-shadow:inset 0 0 0 1px var(--color-primary-border),inset 4px 0 0 0 var(--color-primary)}.lib-hit.is-selected .lib-hit__name{color:var(--color-primary);font-weight:600}.lib-hit[draggable=true]{cursor:grab}.lib-hit__tile{flex:0 0 32px;width:32px;height:32px;margin-right:12px;border-radius:var(--radius-tile);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;line-height:10px;text-transform:none}.lib-hit__tile--slide{background:var(--color-primary-soft);color:var(--tag-slide-fg)}.lib-hit__tile--video{background:var(--tile-video-bg);color:var(--tag-video-fg)}.lib-hit__tile--assessment{background:var(--color-orange-bg);color:var(--tag-test-fg)}.lib-hit__tile--other{background:var(--chip-bg);color:var(--color-text-muted)}.lib-hit__main{min-width:0;flex:1 1 auto}.lib-hit__name{display:block;overflow:hidden;color:var(--color-text);font-size:12px;font-weight:600;line-height:15px;white-space:nowrap;text-overflow:ellipsis}.lib-hit__meta{display:flex;align-items:center;margin-top:1px;font-size:10px;line-height:12px}.lib-hit__course{min-width:0;overflow:hidden;color:#4b5563;white-space:nowrap;text-overflow:ellipsis}.lib-hit__dot{flex:0 0 3px;width:3px;height:3px;margin:0 6px;border-radius:50%;background:var(--color-placeholder)}.lib-hit__fact{flex:0 0 auto;color:var(--color-placeholder)}.lib-courses .h-scroll__track{padding:4px 0 8px}.lib-course{flex:0 0 224px;width:224px;margin-right:10px;padding:0;border:1px solid var(--color-border-faint);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden;text-align:left;white-space:normal;touch-action:manipulation;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.lib-course__cover{flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:center;height:120px;background:#e8eef9;background-image:linear-gradient(135deg,#e8eef9,#f3edff)}.lib-course__glyph{display:flex;color:var(--color-text-faint);opacity:.55}.lib-course__kebab{position:absolute;top:12px;right:12px;width:23px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-faint)}.lib-course__body{display:block;padding:16px;font-family:var(--font-display)}.lib-course__name{display:block;overflow:hidden;color:var(--color-text-ink);font-size:14px;font-weight:600;line-height:19px;white-space:nowrap;text-overflow:ellipsis}.lib-course__count{display:flex;align-items:center;margin-top:8px;color:var(--color-text-faint);font-size:12px;line-height:16px}.lib-course__count svg{flex:0 0 auto;margin-right:6px}.lib-chapter{display:block}.lib-chapter+.lib-chapter{margin-top:12px}.lib-chapter__title{color:var(--color-text);font-size:14px;font-weight:600;line-height:17px}.lib-dropzone{position:fixed;z-index:var(--z-popover);top:var(--topbar-height);right:var(--board-inset-right);bottom:0;left:var(--board-inset-left);display:flex;align-items:center;justify-content:center;padding:18px}.lib-dropzone__ring{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-primary);border-radius:var(--radius-lg);background:rgba(0,68,200,.06);color:var(--color-primary);font-size:14px;font-weight:600}.up-pane__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.up-pane__pick{width:100%;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--lib-accent, #004CE3);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:700;line-height:20px;touch-action:manipulation}.up-pane__pick svg{margin-right:8px}.up-pane__pick:active{background:var(--color-primary-deep)}.up-pane__pick:disabled{opacity:.7;cursor:default}.up-pane__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.up-pane__error{margin-top:8px;color:var(--color-danger);font-size:12px;line-height:16px}.up-tabs{display:flex;margin-top:20px;border-bottom:1px solid var(--color-border-faint)}.up-tabs button{position:relative;margin-right:16px;padding:4px 0 10px;color:var(--color-text-disabled);font-family:var(--font-display);font-size:12px;font-weight:600;line-height:16px;white-space:nowrap;touch-action:manipulation}.up-tabs button:last-child{margin-right:0}.up-tabs button.is-active{color:var(--color-text)}.up-tabs button.is-active:before{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:var(--lib-accent, #004CE3)}.up-tabs button:after{content:"";position:absolute;top:50%;left:-8px;right:-8px;height:44px;margin-top:-22px}.up-empty{padding:48px 16px;font-family:var(--font-display);text-align:center}.up-empty__mark{width:55px;height:55px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-surface-sunken);color:#bbc3d2}.up-empty__title{margin-top:12px;color:var(--color-text-body);font-size:14px;font-weight:600;line-height:20px}.up-empty__hint{color:var(--color-text-faint);font-size:12px;line-height:16px}.up-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:20px}.up-grid__tile{position:relative;height:80px;padding:0;border:1px solid #ffffff;border-radius:var(--radius-md);background:var(--color-thumb-bg);box-shadow:var(--shadow-thumb);overflow:hidden;touch-action:manipulation}.up-grid__tile img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.up-grid__tile.is-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--color-primary);border-radius:var(--radius-md);pointer-events:none}.up-list{margin-top:16px;font-family:var(--font-display)}.up-list li+li{margin-top:8px}.up-list__row{position:relative;width:100%;min-height:56px;display:flex;align-items:center;padding:8px 12px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;touch-action:manipulation}.up-list__row.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.up-list__mark{flex:0 0 36px;width:36px;height:36px;margin-right:10px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted)}.up-list__text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.up-list__name{overflow:hidden;color:var(--color-text);font-size:13px;font-weight:600;line-height:18px;white-space:nowrap;text-overflow:ellipsis}.up-list__meta{color:var(--color-text-faint);font-size:11px;line-height:15px}.yt-pane__field{position:relative;height:39px}.yt-pane__field>svg{position:absolute;z-index:1;top:13px;left:12px;color:var(--color-text-faint);pointer-events:none}.yt-pane__field input{width:100%;height:39px;padding:0 12px 0 33px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:var(--font-display);font-size:12px;user-select:text;-webkit-user-select:text}.yt-pane__field input::-webkit-input-placeholder{color:var(--color-text-faint)}.yt-pane__field input::placeholder{color:var(--color-text-faint)}.yt-pane__field input:focus{border-color:var(--lib-accent, #004CE3);outline:none}.yt-pane__hint{padding:6px 4px 0;color:var(--color-text-faint);font-family:var(--font-display);font-size:10px;line-height:15px}.yt-pane__error{margin-top:6px;color:var(--color-danger);font-size:12px;line-height:16px}.yt-pane__insert{width:100%;height:36px;margin-top:12px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-yt-button);color:#fff;font-family:var(--font-display);font-size:12px;font-weight:600;line-height:16px;touch-action:manipulation}.yt-pane__insert svg{margin-right:7px}.yt-pane__insert:active{background:#b91c1c}.yt-pane__insert:disabled{opacity:.5;cursor:default}.yt-empty{padding:40px 0 20px;color:var(--color-text-faint);font-family:var(--font-display);font-size:11px;line-height:17px;text-align:center}.yt-list{margin-top:32px}.yt-list__heading{color:var(--color-text-muted-alt);font-family:var(--font-display);font-size:10px;font-weight:600;line-height:15px;text-transform:uppercase}.yt-card{display:block;width:100%;margin-top:12px;padding:0;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;text-align:left;touch-action:manipulation}.yt-card__thumb{position:relative;display:block;height:176px;background:#111}.yt-card__thumb img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover}.yt-card__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.3)}.yt-card__play{position:absolute;top:50%;left:50%;width:39px;height:39px;margin:-20px 0 0 -20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-yt-play);color:#fff}.yt-card__url{display:flex;align-items:center;height:30px;padding:0 8px;background:var(--color-surface-subtle)}.yt-card__url>svg{flex:0 0 auto;margin-right:6px;color:var(--color-yt-glyph)}.yt-card__url>span{min-width:0;flex:1 1 auto;overflow:hidden;color:var(--color-text-muted-alt);font-family:var(--font-display);font-size:10px;line-height:15px;white-space:nowrap;text-overflow:ellipsis}.board-media-overlay--bare .board-media-overlay__card{border-radius:var(--radius-md);background:#000}.board-media-overlay--bare .board-media-overlay__bar{background:#101828}.yt-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;background:#000;touch-action:manipulation}.yt-poster img{width:100%;height:100%;max-width:none;object-fit:contain}.yt-poster__play{position:absolute;top:50%;left:50%;width:155px;height:155px;margin:-78px 0 0 -78px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-yt-play);color:#fff}.use-lecture-layer{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-scrim);-webkit-backdrop-filter:blur(var(--scrim-blur));backdrop-filter:blur(var(--scrim-blur));touch-action:manipulation}.use-lecture{width:479px;max-width:100%;padding-bottom:24px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-modal);font-family:var(--font-display)}.use-lecture__head{position:relative;min-height:67px;display:flex;align-items:flex-start;padding:24px 24px 20px}.use-lecture__head:after{content:"";position:absolute;right:24px;bottom:0;left:24px;height:1px;background:var(--color-border-faint)}.use-lecture__head h2{min-width:0;flex:1 1 auto;color:var(--color-text-strong);font-size:16px;font-weight:700;line-height:24px}.use-lecture__close{position:relative;flex:0 0 27px;width:27px;height:27px;display:flex;align-items:center;justify-content:center;margin-left:12px;border-radius:var(--radius-sm);color:var(--color-text-faint)}.use-lecture__close:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.use-lecture__close:active{background:var(--color-surface-muted)}.use-lecture__body{padding:20px 24px}.use-lecture__body p{color:var(--color-text-strong);font-size:16px;line-height:24px}.use-lecture__body strong{font-weight:700}.use-lecture__foot{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 0}.use-lecture__skip{min-width:49px;height:40px;padding:0 4px;border-radius:var(--radius-md);color:var(--color-text-muted-alt);font-family:var(--font-display);font-size:14px;font-weight:500;touch-action:manipulation}.use-lecture__skip:active{background:var(--color-surface-muted)}.use-lecture__confirm{min-width:106px;height:40px;padding:10px 20px;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:600;touch-action:manipulation}.use-lecture__confirm:active{background:var(--color-primary-deep)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.7"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.quiz-embed-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.quiz-embed-panel{position:relative;width:90vw;max-width:900px;height:80vh;max-height:700px;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.quiz-embed-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.quiz-embed-panel__header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.quiz-embed-panel__close{width:32px;height:32px;border:none;background:transparent;font-size:24px;line-height:1;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.quiz-embed-panel__close:hover{background:#f3f4f6;color:#111827}.quiz-embed-panel__body{flex:1;position:relative;overflow:hidden}.quiz-embed-iframe{width:100%;height:100%;border:none;background:#fff}.quiz-embed-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:10}.quiz-embed-loading span{font-size:16px;color:#6b7280}.quiz-embed-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:20}.quiz-embed-overlay--error{background:rgba(254,242,242,.95);color:#dc2626;font-weight:500;padding:16px;text-align:center}@media (max-width: 640px){.quiz-embed-panel{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}}.quiz-embed-bridge-warning{position:absolute;z-index:21;top:12px;right:12px;left:12px;display:flex;align-items:center;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);font-size:12px;line-height:17px}.quiz-embed-bridge-warning__text{min-width:0;flex:1 1 auto;margin-right:8px}.quiz-embed-bridge-warning__close{flex:0 0 24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--color-danger);font-size:16px;line-height:1;touch-action:manipulation}.quiz-embed-bridge-warning__close:active{background:rgba(220,38,38,.15)}.question-bank-warning{display:flex;align-items:center;padding:12px 16px;border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-text-body);font-size:13px;line-height:18px}.question-bank-warning>span{min-width:0;flex:1 1 auto;margin-right:12px}.question-bank-warning .secondary-button{flex:0 0 auto;min-height:32px;padding:0 14px;font-size:12px}.question-bank-warning .secondary-button+.secondary-button{margin-left:8px}.kho-loading{margin:0;padding:32px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.qb-toolbar{position:sticky;z-index:var(--z-chrome);top:0;margin:-16px -16px 16px;padding:14px 16px 12px;border-bottom:1px solid var(--color-border-faint);background:var(--color-surface);box-shadow:0 4px 16px -10px rgba(15,23,42,.08)}.qb-toolbar__row{display:flex;align-items:center;flex-wrap:wrap}.qb-toolbar__facets{display:flex;align-items:center;flex-wrap:wrap;margin-left:12px}.qb-search{position:relative;flex:1 1 320px;min-width:240px;height:44px;display:flex;align-items:center;padding:0 12px 0 40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color .12s ease,box-shadow .12s ease}.qb-search:hover{border-color:var(--color-border-strong)}.qb-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.qb-search--filled{border-color:var(--color-primary)}.qb-search__icon{position:absolute;top:50%;left:14px;margin-top:-9px;display:flex;align-items:center;color:var(--color-text-faint)}.qb-search:focus-within .qb-search__icon{color:var(--color-primary)}.qb-search input{min-width:0;flex:1 1 auto;width:100%;height:100%;padding:0;border:0;background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1;outline:none;-webkit-appearance:none}.qb-search input::-webkit-search-decoration,.qb-search input::-webkit-search-cancel-button,.qb-search input::-webkit-search-results-button,.qb-search input::-webkit-search-results-decoration{display:none}.qb-search input::placeholder{color:var(--color-placeholder)}.qb-search__clear{flex:0 0 22px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-left:8px;border-radius:50%;background:var(--color-surface-muted);color:var(--color-text-muted);touch-action:manipulation}.qb-search__clear:hover,.qb-search__clear:active{background:var(--color-border-strong);color:var(--color-text)}.qb-search__shortcut{flex:0 0 auto;margin-left:8px;padding:2px 6px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-muted);color:var(--color-text-faint);font-family:var(--font-sans);font-size:11px;font-weight:600;line-height:1;letter-spacing:.4px}.qb-toolbar__facets>.qb-facet+.qb-facet{margin-left:8px}.qb-facet{position:relative}.qb-facet__trigger{list-style:none;cursor:pointer;height:44px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-body);font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:1;white-space:nowrap;touch-action:manipulation;transition:border-color .12s ease,background .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.qb-facet__trigger::-webkit-details-marker{display:none}.qb-facet__trigger::marker{display:none}.qb-facet__trigger:hover{border-color:var(--color-border-strong)}.qb-facet[open] .qb-facet__trigger{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-deep)}.qb-facet--active .qb-facet__trigger{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-deep)}.qb-facet__label{margin-right:8px}.qb-facet__chevron{display:flex;align-items:center;color:var(--color-text-faint);transition:transform .12s ease}.qb-facet[open] .qb-facet__chevron{transform:rotate(180deg);color:var(--color-primary)}.qb-facet__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;padding:6px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-float);z-index:var(--z-chrome)}.qb-facet__item{width:100%;display:flex;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-body);font-family:var(--font-sans);font-size:13px;font-weight:500;text-align:left;touch-action:manipulation}.qb-facet__item:hover,.qb-facet__item:active{background:var(--color-surface-muted);color:var(--color-text)}.qb-facet__item.is-active{background:var(--color-primary-soft);color:var(--color-primary-deep);font-weight:600}.qb-facet__dot{flex:0 0 14px;width:14px;height:14px;margin-right:10px;border:1.5px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface)}.qb-facet__dot--on{border-color:var(--color-primary);background:radial-gradient(circle at center,var(--color-primary) 0 4px,transparent 5px)}.qb-active-filters{display:flex;align-items:center;flex-wrap:wrap;margin-top:10px}.qb-active-filters__pill{display:inline-flex;align-items:center;height:28px;margin:0 8px 4px 0;padding:0 4px 0 10px;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-deep);font-family:var(--font-sans);font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.qb-active-filters__pill-label{overflow:hidden;text-overflow:ellipsis}.qb-active-filters__pill-remove{flex:0 0 20px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-left:4px;border-radius:50%;color:var(--color-primary-deep);touch-action:manipulation}.qb-active-filters__pill-remove:hover,.qb-active-filters__pill-remove:active{background:var(--color-primary);color:#fff}.qb-toolbar__footer{display:flex;align-items:center;margin-top:10px}.qb-toolbar__count{min-width:0;flex:1 1 auto;display:flex;align-items:center;flex-wrap:wrap;color:var(--color-text-muted);font-size:13px;font-weight:500}.qb-toolbar__count-total{font-weight:600;color:var(--color-text)}.qb-toolbar__count-shown{display:inline-flex;align-items:center;margin-left:10px;padding-left:10px;border-left:1px solid var(--color-border-faint);color:var(--color-text-body)}.qb-toolbar__count-dot{width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.qb-toolbar__clear{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-body);font-family:var(--font-sans);font-size:12px;font-weight:600;touch-action:manipulation;transition:border-color .12s ease,color .12s ease,background .12s ease}.qb-toolbar__clear>span{margin-left:6px}.qb-toolbar__clear:hover,.qb-toolbar__clear:active{border-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger)}.question-bank-bulk-bar{position:sticky;z-index:var(--z-chrome);bottom:16px;display:flex;align-items:center;margin-top:16px;padding:12px 16px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float)}.question-bank-bulk-bar__count{min-width:0;flex:1 1 auto;margin-right:12px;color:var(--color-text);font-size:14px;font-weight:600}.question-bank-bulk-bar .secondary-button,.question-bank-bulk-bar .primary-button{flex:0 0 auto;min-height:36px;padding:0 16px;font-size:13px}.question-bank-bulk-bar__actions{display:flex;align-items:center}.question-bank-bulk-bar__actions>*+*{margin-left:8px}.question-bank-list>*+*{margin-top:12px}.question-bank-row{padding:16px;border:1px solid var(--color-border-faint);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.question-bank-row.is-highlighted{border-color:var(--color-primary-border);background:var(--color-primary-tint)}.question-bank-row.is-selected{border-color:var(--color-primary-200);background:var(--color-primary-soft)}.question-bank-row__head{display:flex;align-items:flex-start}.question-bank-row__check{flex:0 0 20px;width:20px;height:22px;display:flex;align-items:center;margin-right:10px}.question-bank-row__check input,.question-editor__correct input{width:18px;height:18px;margin:0;padding:0;border:0;border-radius:var(--radius-xs);background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-placeholder);-webkit-appearance:none;appearance:none;cursor:pointer}.question-bank-row__check input:checked,.question-editor__correct input:checked{box-shadow:none;background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.2 4.8 8.6 9.6 3.4' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 14px 14px no-repeat}.question-bank-row__check input:focus-visible,.question-editor__correct input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.question-bank-row__main{min-width:0;flex:1 1 auto}.question-bank-row__actions{flex:0 0 auto;display:flex;align-items:center;margin-left:8px}.question-bank-row__actions>*+*{margin-left:4px}.question-bank-row__action{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted)}.question-bank-row__action:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.question-bank-row__action:hover,.question-bank-row__action:active{background:var(--color-surface-muted);color:var(--color-text)}.question-bank-row__action--danger:hover,.question-bank-row__action--danger:active{background:var(--color-danger-bg);color:var(--color-danger)}.question-bank-row__action[disabled]{opacity:.3;cursor:default}.question-bank-row__action[disabled]:hover,.question-bank-row__action[disabled]:active{background:none;color:var(--color-text-muted)}.question-bank-row__toggle{position:relative;flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-left:4px;border-radius:var(--radius-sm);color:var(--color-text-muted)}.question-bank-row__toggle:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px}.question-bank-row__toggle:hover,.question-bank-row__toggle:active{background:var(--color-surface-muted)}.question-bank-row__toggle.is-open svg{transform:rotate(180deg)}.question-bank-row__expanded{margin-top:12px;padding-left:30px}.question-bank-row__hint{color:var(--color-text-muted);font-size:13px}.question-bank-row__badges{display:flex;flex-wrap:wrap;align-items:center}.question-bank-badge{height:22px;margin:0 8px 4px 0;padding:0 10px;border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--color-text-secondary);font-size:11px;font-weight:600;line-height:22px;white-space:nowrap}.question-bank-badge--ai{background:var(--color-primary-100);color:var(--tag-slide-fg)}.question-bank-badge--manual{background:var(--tag-homework-bg);color:var(--tag-homework-fg)}.question-bank-badge--level-1{background:var(--tag-video-bg);color:var(--tag-video-fg)}.question-bank-badge--level-2{background:var(--tag-test-bg);color:var(--tag-test-fg)}.question-bank-badge--level-3{background:var(--color-danger-bg);color:var(--color-danger)}.question-bank-badge--lesson{background:var(--color-surface-sunken);color:var(--color-text-body)}.question-bank-row__content{margin-top:8px;color:var(--color-text);font-size:14px;line-height:20px;user-select:text;-webkit-user-select:text}.question-bank-row__content>*+*{margin-top:6px}.question-bank-row__content p{margin:0}.question-bank-row__options{margin:12px 0 0;padding:0;list-style:none}.question-bank-option{display:flex;align-items:flex-start;padding:6px 0}.question-bank-option__mark{flex:0 0 22px;width:22px;height:22px;margin-right:10px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:11px;font-weight:700}.question-bank-option.is-correct .question-bank-option__mark{background:var(--color-success-bg);color:var(--color-success)}.question-bank-option__content{min-width:0;flex:1 1 auto;color:var(--color-text-body);font-size:13px;line-height:22px;user-select:text;-webkit-user-select:text}.question-bank-option.is-correct .question-bank-option__content{color:var(--color-text);font-weight:600}.question-bank-row__explanation{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-primary-tint);color:var(--color-primary-deep);font-size:13px;line-height:19px}.question-bank-row__explanation-label{display:block;margin-bottom:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.question-bank-badge--attach{display:inline-flex;align-items:center;border:1px dashed var(--color-border-strong);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);touch-action:manipulation}.question-bank-badge--attach:hover,.question-bank-badge--attach:active{border-color:var(--color-primary-border);color:var(--color-primary)}.question-bank-badge__text{margin-left:6px}.question-bank-badge--lesson{display:inline-flex;align-items:center;padding:0 4px 0 0}.question-bank-badge__button{max-width:260px;overflow:hidden;padding:0 6px;color:var(--tag-homework-fg);font-family:var(--font-sans);font-size:11px;font-weight:600;line-height:22px;white-space:nowrap;text-overflow:ellipsis;touch-action:manipulation}.question-bank-badge__clear{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--color-text-muted);font-size:13px;line-height:1;touch-action:manipulation}.question-bank-badge__clear:hover,.question-bank-badge__clear:active{background:var(--color-border-strong);color:var(--color-text)}.question-bank-bulk-bar__label{margin-left:6px}.modal.question-editor{width:620px}.question-editor__body>*+*{margin-top:16px}.question-editor__field{display:block}.question-editor__label-row{display:flex;align-items:baseline}.question-editor__label{display:block;margin-bottom:6px;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.question-editor__preview-toggle{margin:0 0 6px auto;color:var(--color-primary);font-family:var(--font-sans);font-size:12px;font-weight:600;touch-action:manipulation}.question-editor__textarea{width:100%;min-height:68px;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:13px;line-height:19px;resize:vertical;user-select:text;-webkit-user-select:text}.question-editor__textarea:focus{border-color:var(--color-primary);outline:none}.question-editor__preview{min-height:68px;padding:10px 12px;border:1px solid var(--color-border-faint);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);font-size:13px;line-height:19px;user-select:text;-webkit-user-select:text}.question-editor__hint{margin-top:4px;color:var(--color-text-faint);font-size:11px;line-height:16px}.question-editor__chips,.question-editor__chips button{margin-bottom:0}.question-editor__options{margin:0;padding:0;list-style:none}.question-editor__option{display:flex;align-items:center}.question-editor__option+.question-editor__option{margin-top:8px}.question-editor__correct{flex:0 0 24px;width:24px;height:36px;display:flex;align-items:center;margin-right:8px}.question-editor__option-input{min-width:0;flex:1 1 auto;height:36px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:13px;user-select:text;-webkit-user-select:text}.question-editor__option-input:focus{border-color:var(--color-primary);outline:none}.question-editor__remove{flex:0 0 32px;width:32px;height:36px;display:flex;align-items:center;justify-content:center;margin-left:8px;border-radius:var(--radius-sm);color:var(--color-text-muted);touch-action:manipulation}.question-editor__remove:hover:not(:disabled),.question-editor__remove:active:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.question-editor__remove:disabled{color:var(--color-border-strong);cursor:default}.question-editor__add{min-height:32px;display:inline-flex;align-items:center;margin-top:10px;padding:0 12px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-body);font-family:var(--font-sans);font-size:12px;font-weight:600;touch-action:manipulation}.question-editor__add>span{margin-left:6px}.question-editor__add:hover,.question-editor__add:active{border-color:var(--color-primary-border);color:var(--color-primary)}.question-editor__lesson{display:flex;align-items:center}.question-editor__lesson .secondary-button{display:inline-flex;align-items:center;min-height:36px;padding:0 14px}.question-editor__lesson-label{max-width:320px;margin-left:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.question-editor__detach{margin-left:12px;color:var(--color-text-muted);font-family:var(--font-sans);font-size:12px;font-weight:600;touch-action:manipulation}.question-editor__detach:hover,.question-editor__detach:active{color:var(--color-danger)}.question-editor__error{margin-top:12px;color:var(--color-danger);font-size:12px;line-height:17px}.question-confirm__note{color:var(--color-text-body);font-size:13px;line-height:19px}.modal.lesson-picker{width:560px}.lesson-picker__search{margin-bottom:12px}.lesson-picker__scope{display:block;margin-bottom:12px}.lesson-picker__scope-label{display:block;margin-bottom:6px;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.lesson-picker__scope select{width:100%;height:41px;padding:0 38px 0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2399A1AF' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:var(--color-text-ink);font-family:var(--font-display);font-size:14px}.lesson-picker__scope select:focus{border-color:var(--color-primary);outline:none}.lesson-picker__tree{padding-bottom:4px}.lesson-picker__row{width:100%;display:block;padding:10px 12px;border-radius:var(--radius-sm);text-align:left;touch-action:manipulation}.lesson-picker__row:hover,.lesson-picker__row:active{background:var(--color-surface-muted)}.lesson-picker__row.is-selected{background:var(--color-primary-soft)}.lesson-picker__name{display:block;overflow:hidden;color:var(--color-text);font-size:13px;font-weight:600;line-height:18px;white-space:nowrap;text-overflow:ellipsis}.lesson-picker__row.is-selected .lesson-picker__name{color:var(--color-primary-deep)}.lesson-picker__path{display:block;margin-top:2px;overflow:hidden;color:var(--color-text-faint);font-size:11px;line-height:15px;white-space:nowrap;text-overflow:ellipsis}.question-bank-note{margin-bottom:12px;color:var(--color-text-muted);font-size:13px}.question-bank-setup{display:flex;flex-direction:column;align-items:flex-start;padding:16px;color:var(--color-text-body);font-size:14px}.question-bank-setup>*+*{margin-top:12px}.qb-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-text-body);font-size:13px}.qb-pager>*{margin:4px 0}.qb-pager__pages{display:flex;flex-wrap:wrap;align-items:center}.qb-pager__pages>*{margin:0 3px}.qb-pager__page,.qb-pager__step{min-width:40px;height:40px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-body);font-family:var(--font-sans);font-size:13px;font-weight:600;touch-action:manipulation}.qb-pager__page.is-active{display:inline-flex;align-items:center;justify-content:center;border-color:var(--color-primary);background:var(--color-primary);color:#fff}.qb-pager__page:disabled,.qb-pager__step:disabled{opacity:.45}.qb-pager__gap{padding:0 4px;color:var(--color-text-muted)}.qb-pager__size{display:inline-flex;align-items:center}.qb-pager__size select{height:40px;margin-left:8px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:13px}.question-bank-other{padding:14px 20px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted)}.question-bank-list>*+.question-bank-other{margin-top:12px}.question-bank-other__type{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:12px;font-weight:600}.question-bank-other__text{margin-top:8px;overflow:hidden;color:var(--color-text-muted);font-size:15px;line-height:22px;white-space:nowrap;text-overflow:ellipsis}.question-bank-other__hint{display:block;margin-top:4px;color:var(--color-text-faint);font-size:12px}.question-bank-badge--view{background:var(--color-surface-sunken);color:var(--color-text-body)}.question-bank-row__content table{margin:6px 0;border-collapse:collapse;font-size:13px}.question-bank-row__content td,.question-bank-row__content th{padding:4px 8px;border:1px solid var(--color-border)}.question-bank-blank{display:inline-block;min-width:56px;margin:0 2px;padding:0 6px 0 0;border-bottom:2px solid var(--color-border-strong);line-height:20px;vertical-align:baseline;white-space:nowrap}.question-bank-blank__no{display:inline-block;min-width:18px;height:18px;margin-right:6px;padding:0 4px;border-radius:9px;background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:18px;text-align:center;vertical-align:1px}.question-bank-blank.is-filled{border-bottom-color:var(--color-success);color:var(--color-success);font-weight:600;white-space:normal}.question-bank-blank.is-filled .question-bank-blank__no{background:var(--color-success-bg);color:var(--color-success)}.question-bank-blank-key{margin-top:10px;color:var(--color-text-body);font-size:13px;line-height:22px}.question-bank-blank-key__label{margin-right:8px;color:var(--color-success);font-weight:700}.question-bank-blank-key__item{display:inline-block;margin-right:14px;color:var(--color-text);font-weight:600}.question-bank-verdict{flex:0 0 auto;min-width:48px;margin-left:12px;padding:0 8px;border-radius:var(--radius-pill);color:var(--color-text-faint);font-size:12px;font-weight:600;line-height:22px;text-align:center}.question-bank-verdict.is-true{background:var(--color-success-bg);color:var(--color-success)}.question-bank-verdict.is-false{background:var(--color-danger-bg);color:var(--color-danger)}.question-bank-children{margin:0;padding:0;list-style:none}.question-bank-child{padding:10px 0 10px 12px;border-left:3px solid var(--color-border)}.question-bank-child+.question-bank-child{margin-top:10px}.question-bank-child>.question-bank-row__content{margin-top:4px}.question-bank-child__label{color:var(--color-text-muted);font-size:12px;font-weight:700}.question-bank-row__view-foot{display:flex;flex-wrap:wrap;align-items:center;margin-top:12px}.question-bank-reveal{margin-right:12px;padding:0 16px;font-size:14px}.question-bank-row__admin-note{color:var(--color-text-faint);font-size:12px}.question-bank-row__admin-note--collapsed{margin-top:6px;padding-left:30px}
