.builtin-lesson[data-v-68ac598a]{min-width:0;overflow-wrap:anywhere;color:var(--hoj-theme-text-primary,#334b40)}header[data-v-68ac598a]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid #e0e9e3}h2[data-v-68ac598a]{margin:0 0 8px;font-size:20px}.lesson-summary[data-v-68ac598a],header span[data-v-68ac598a]{color:#74867d}header span[data-v-68ac598a]{font-size:12px}section[data-v-68ac598a]{padding:18px 0;border-bottom:1px solid #e6ece8}h3[data-v-68ac598a]{font-size:16px;margin:0 0 12px}h4[data-v-68ac598a]{font-size:14px;margin:12px 0}li[data-v-68ac598a],p[data-v-68ac598a]{font-size:14px;line-height:1.85}ul[data-v-68ac598a]{padding-left:24px}.builtin-question+.builtin-question[data-v-68ac598a]{margin-top:24px;padding-top:16px;border-top:1px dashed #dbe5df}pre[data-v-68ac598a]{max-width:100%;overflow:auto;padding:14px;background:var(--hoj-theme-bg-content,#f3f7f4)}.answer[data-v-68ac598a]{color:#3d7854}.builtin-lesson[data-v-68ac598a] img{max-width:100%}.builtin-lesson[data-v-68ac598a] pre{overflow:auto}.lecture-fields[data-v-5562d288] .el-form-item{margin-bottom:18px}.lecture-fields[data-v-5562d288] .el-form-item:last-child .el-textarea__inner{font-family:Consolas,monospace;font-size:13px;line-height:1.7}.lecture-editor footer[data-v-5562d288]{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;background:var(--hoj-theme-bg-content,#f5f7fa);padding-bottom:12px}.island-editor[data-v-5562d288]{display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;padding-top:12px}.lesson-catalog[data-v-5562d288]{border-right:1px solid #e0e9e3;padding-right:18px;max-height:74vh;overflow:auto}.lesson-catalog h3[data-v-5562d288]{font-size:13px;display:flex;gap:8px;color:#668472;margin:20px 0 10px}.lesson-catalog h3[data-v-5562d288]:first-child{margin-top:8px}.lesson-catalog button[data-v-5562d288]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 9px;margin-bottom:4px;background:none;border:0;border-radius:var(--hoj-ui-radius-sm,8px);text-align:left;font:inherit;font-size:12px;color:#7e8c83;cursor:pointer}.lesson-catalog button.current[data-v-5562d288]{background:#eaf3ec;color:#39694f;font-weight:600}.lecture-editor[data-v-5562d288]{min-width:0}.lecture-editor header[data-v-5562d288]{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid #e0e9e3}.lecture-editor h2[data-v-5562d288]{font-size:18px;margin:0 0 6px;color:#3c6250}.lecture-editor header span[data-v-5562d288]{font-size:12px;color:#8a978f}.lecture-fields[data-v-5562d288]{margin-top:20px}.lecture-editor footer[data-v-5562d288]{border-top:1px solid #e0e9e3;padding-top:16px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.lecture-editor footer>span[data-v-5562d288]{font-size:12px;color:#85958b}.lecture-editor footer>div[data-v-5562d288]{display:flex;flex-wrap:wrap;gap:8px}.lecture-editor footer .el-button[data-v-5562d288]{margin:0}.lecture-preview[data-v-5562d288]{min-height:460px;padding:24px 0;overflow-wrap:anywhere}.lecture-preview>p[data-v-5562d288]{color:#819186;line-height:1.8}.lecture-preview[data-v-5562d288] img{max-width:100%;height:auto}.lecture-preview[data-v-5562d288] pre{overflow:auto}@media(max-width:900px){.island-editor[data-v-5562d288]{grid-template-columns:1fr}.lesson-catalog[data-v-5562d288]{max-height:190px;border-right:0;border-bottom:1px solid #e0e9e3;display:flex;gap:18px}.lesson-catalog>div[data-v-5562d288]{min-width:150px}.lecture-editor header[data-v-5562d288]{flex-wrap:wrap}}.el-select[data-v-62430c19]{width:100%}.unlock-explanation[data-v-62430c19]{line-height:1.8;color:#829086;font-size:12px;margin:0 0 16px}.grant-list[data-v-62430c19]{margin-top:22px}.grant-list>div[data-v-62430c19]{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #e1e9e4}.grant-list span[data-v-62430c19]{flex:1;min-width:0}.grant-list strong[data-v-62430c19]{display:block;font-size:13px;font-weight:500;color:#496b56}.grant-list small[data-v-62430c19]{display:block;color:#8a978f;font-size:12px;overflow-wrap:anywhere;margin-top:6px}.grant-list p[data-v-62430c19]{text-align:center;color:#9aa69d;padding:16px;font-size:12px}.python-unlock-dialog .el-input__inner{border-radius:var(--hoj-ui-radius-sm,8px)}.python-unlock-dialog .el-button--primary{border-color:#508862;background:#508862;border-radius:var(--hoj-ui-radius-sm,8px)}.python-unlock-dialog .el-button--primary:hover{border-color:#3f7451;background:#3f7451}.python-unlock-dialog .el-button--text{color:#508862}.island-admin[data-v-f17b0d58]{padding:24px 26px;color:#304741}.island-admin-heading[data-v-f17b0d58]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px}.heading-identity[data-v-f17b0d58]{display:flex;align-items:center;gap:14px;min-width:0}.heading-identity img[data-v-f17b0d58]{width:54px;height:54px;-o-object-fit:contain;object-fit:contain}h1[data-v-f17b0d58]{font-size:22px;line-height:1.4;margin:0}.island-admin-heading p[data-v-f17b0d58]{margin:5px 0 0;color:#7a8b86;font-size:12px}.island-admin-heading p span[data-v-f17b0d58]{margin:0 8px;color:#bbc7c2}.island-metrics[data-v-f17b0d58]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #e2e9e5;padding:22px 0;margin-bottom:30px}.metric-item[data-v-f17b0d58]{display:flex;align-items:center;gap:14px;padding:4px 22px;border-right:1px solid #e2e9e5}.metric-item[data-v-f17b0d58]:first-child{padding-left:0}.metric-item[data-v-f17b0d58]:last-child{border-right:0}.metric-item>i[data-v-f17b0d58]{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:var(--hoj-ui-radius-sm,8px);font-size:21px}.metric-item.blue>i[data-v-f17b0d58]{background:#e9f0fb;color:#527aa4}.metric-item.green>i[data-v-f17b0d58]{background:#e6f1e9;color:#4b8970}.metric-item.gold>i[data-v-f17b0d58]{background:#fbf0da;color:#b28c3b}.metric-item.teal>i[data-v-f17b0d58]{background:#e3f1f0;color:#428d8c}.metric-item span[data-v-f17b0d58]{display:block;color:#778880;font-size:12px;line-height:1.5}.metric-item strong[data-v-f17b0d58]{display:block;margin-top:4px;font-size:27px;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums}.student-list-heading[data-v-f17b0d58]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.student-list-heading h2[data-v-f17b0d58]{display:flex;align-items:center;gap:9px;font-size:16px;margin:0}.student-list-heading h2 i[data-v-f17b0d58]{color:#628776}.student-list-heading>span[data-v-f17b0d58]{font-size:12px;color:#83938b}.island-filters[data-v-f17b0d58]{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.island-filters .el-input[data-v-f17b0d58]{width:260px}.island-filters .el-select[data-v-f17b0d58]{width:185px}.student-progress-table[data-v-f17b0d58]{border-top:1px solid #e5ece8}.student-identity[data-v-f17b0d58]{display:flex;align-items:center;gap:12px;min-height:54px}.student-monogram[data-v-f17b0d58]{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:var(--hoj-ui-radius-sm,8px);background:#edf3ee;color:#5d816f;font-weight:700}.student-identity strong[data-v-f17b0d58]{display:block;font-size:13px;font-weight:600;color:#3f584d;overflow-wrap:anywhere}.student-identity small[data-v-f17b0d58]{display:block;font-size:11px;line-height:1.6;color:#8a9891;overflow-wrap:anywhere}.progress-cell[data-v-f17b0d58]{max-width:170px}.progress-cell>div[data-v-f17b0d58]:first-child{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.progress-cell strong[data-v-f17b0d58]{font-size:14px;color:#3e735b}.progress-cell small[data-v-f17b0d58],.progress-cell span[data-v-f17b0d58]{font-size:11px;font-weight:400;color:#8a9991}.completion-status[data-v-f17b0d58]{display:inline-flex;align-items:center;gap:5px;color:#8b9892;font-size:12px;white-space:nowrap}.completion-status.active[data-v-f17b0d58]{color:#4d8771}.completion-status.complete[data-v-f17b0d58]{color:#a47e30}.reward-amount[data-v-f17b0d58]{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.reward-amount i[data-v-f17b0d58]{color:#b08b43}.student-list-footer[data-v-f17b0d58]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 0 4px}.student-list-footer>span[data-v-f17b0d58]{font-size:12px;color:#8a9891}.detail-zone[data-v-f17b0d58]{margin-bottom:24px}.detail-zone h3[data-v-f17b0d58]{display:flex;justify-content:space-between;align-items:center;margin:0;padding:12px 0;border-bottom:1px solid #dae7df;font-size:14px;color:#426f5d}.detail-zone h3 i[data-v-f17b0d58]{display:inline-block;width:24px}.detail-zone h3 small[data-v-f17b0d58]{font-weight:400;font-size:12px;color:#8b9b92}.detail-station[data-v-f17b0d58]{display:flex;align-items:center;gap:12px;padding:13px 0 13px 5px;border-bottom:1px solid #edf1ef}.detail-station>i[data-v-f17b0d58]{color:#b4c0b8;font-size:17px}.detail-station span[data-v-f17b0d58]{flex:1;font-size:13px}.detail-station small[data-v-f17b0d58]{color:#8c9a92;font-size:12px}.detail-station .el-icon-circle-check[data-v-f17b0d58]{color:#529575}@media(max-width:1100px){.metric-item[data-v-f17b0d58]{padding-inline:12px;gap:9px}.metric-item>i[data-v-f17b0d58]{width:34px;height:34px;font-size:18px}}@media(max-width:600px){.island-admin[data-v-f17b0d58]{padding:16px 12px}h1[data-v-f17b0d58]{font-size:19px}.island-metrics[data-v-f17b0d58]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.metric-item[data-v-f17b0d58]:nth-child(odd){padding-left:0}.metric-item[data-v-f17b0d58]:nth-child(2n){border:0}.metric-item strong[data-v-f17b0d58]{font-size:23px}.island-filters .el-input[data-v-f17b0d58],.island-filters .el-select[data-v-f17b0d58]{width:100%}.detail-station[data-v-f17b0d58]{flex-wrap:wrap}.detail-station small[data-v-f17b0d58]{padding-left:29px;width:100%}}.python-progress-dialog{max-width:calc(100vw - 28px);border-radius:var(--hoj-ui-radius-lg,16px)!important;overflow:hidden}.python-progress-dialog .el-dialog__header{padding:22px 24px 18px;border-bottom:1px solid #e5ece7}.python-progress-dialog .el-dialog__title{font-size:17px;font-weight:600}.python-progress-dialog .el-dialog__body{max-height:65vh;overflow-y:auto;padding:12px 24px 20px}