.camp-take[data-v-f452f56a]{width:100%}.camp-take.is-coding[data-v-f452f56a]{flex-direction:column;height:100%;min-height:0;display:flex}.camp-take.is-coding[data-v-f452f56a] .coding-workbench{flex:1;min-height:0}.center-box[data-v-f452f56a]{align-items:center;gap:var(--student-space-md);padding:calc(60px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));text-align:center;flex-direction:column;display:flex}.loading-text[data-v-f452f56a],.empty-text[data-v-f452f56a]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.big-emoji[data-v-f452f56a]{font-size:calc(48px * var(--ui-scale,1))}.wb-cleared[data-v-f452f56a]{padding:1px calc(8px * var(--ui-scale,1));border-radius:calc(9px * var(--ui-scale,1));color:#4c8c2b;font-size:calc(12px * var(--ui-scale,1));background:#f0f9eb;flex-shrink:0;font-weight:800}.wb-view-result[data-v-f452f56a]{min-height:calc(30px * var(--ui-scale,1));padding:0 calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #b3d8ff;border-radius:calc(15px * var(--ui-scale,1));color:#3373cc;font-size:calc(13px * var(--ui-scale,1));font-weight:800;font-family:var(--student-font-family-title,inherit);cursor:pointer;background:#ecf5ff}.wb-view-result[data-v-f452f56a]:hover{background:#d9ecff}.wb-tip[data-v-f452f56a],.wb-actions-tip[data-v-f452f56a]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#909399)}.wb-submit[data-v-f452f56a]{height:calc(40px * var(--ui-scale,1));padding:0 calc(18px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));color:#fff;font-size:calc(15px * var(--ui-scale,1));font-weight:800;font-family:var(--student-font-family-title,inherit);cursor:pointer;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff4d;background:linear-gradient(135deg,#4c97ff,#3373cc);border:none;flex-shrink:0;transition:transform .15s,box-shadow .2s,opacity .2s}.wb-submit[data-v-f452f56a]:hover:not(:disabled){box-shadow:0 calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #4c97ff66;transform:translateY(-1px)}.wb-submit[data-v-f452f56a]:active:not(:disabled){transform:scale(.97)}.wb-submit[data-v-f452f56a]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (width<=899px){.wb-tip[data-v-f452f56a]{display:none}}.plain-wrap[data-v-f452f56a]{width:100%;max-width:calc(720px * var(--ui-scale,1));margin:0 auto}.question-card[data-v-f452f56a]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);padding:var(--student-space-lg);margin-bottom:var(--student-space-lg)}.question-head[data-v-f452f56a]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-bottom:var(--student-space-sm);display:flex}.qtype-tag[data-v-f452f56a]{background:var(--student-color-primary);color:#fff;padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));white-space:nowrap;font-weight:700}.qtitle[data-v-f452f56a]{font-size:calc(18px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title)}.hint-text[data-v-f452f56a]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted)}.action-row[data-v-f452f56a]{justify-content:space-between;gap:calc(10px * var(--ui-scale,1));margin-top:var(--student-space-lg);display:flex}.kid-btn[data-v-f452f56a]{border-radius:var(--student-border-radius-btn);padding:calc(10px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));font-size:calc(16px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);cursor:pointer;border:none;transition:transform .15s}.kid-btn[data-v-f452f56a]:active{transform:scale(.96)}.kid-btn[data-v-f452f56a]:disabled{opacity:.5;cursor:not-allowed}.kid-btn-lg[data-v-f452f56a]{padding:calc(12px * var(--ui-scale,1)) calc(26px * var(--ui-scale,1));font-size:calc(17px * var(--ui-scale,1))}.kid-btn-primary[data-v-f452f56a]{background:var(--student-color-primary);color:#fff}.kid-btn-success[data-v-f452f56a]{background:var(--student-color-success);color:#fff}.kid-btn-save[data-v-f452f56a]{background:var(--student-color-accent,#ff8c1a);color:#fff}.kid-btn-back[data-v-f452f56a]{background:var(--student-color-bg-warm);color:var(--student-color-text-primary);border:calc(2px * var(--ui-scale,1)) solid #dcdfe6}.save-work-box[data-v-f452f56a]{border:calc(2px * var(--ui-scale,1)) dashed #ffcc80;border-radius:calc(14px * var(--ui-scale,1));padding:var(--student-space-md);margin:var(--student-space-md) 0;background:linear-gradient(135deg,#fff8e6 0%,#fff3d6 100%)}.save-work-tip[data-v-f452f56a]{font-size:calc(14px * var(--ui-scale,1));color:#e65100;margin-bottom:var(--student-space-sm);font-weight:700;line-height:1.6}.save-work-actions[data-v-f452f56a]{justify-content:center;align-items:center;gap:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.saved-tip[data-v-f452f56a]{font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-success);font-weight:800;font-family:var(--student-font-family-title)}.page-hint[data-v-9a9a1aba]{align-items:center;gap:calc(8px * var(--ui-scale,1));min-height:calc(36px * var(--ui-scale,1));max-height:calc(40px * var(--ui-scale,1));margin:calc(12px * var(--ui-scale,1)) 0 calc(16px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d9e3f2);border-radius:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-family:var(--student-font-family-title);font-size:calc(13.5px * var(--ui-scale,1));background:#f7f9fe;font-weight:500;line-height:1.4;display:flex}.page-hint--warn[data-v-9a9a1aba]{background:var(--student-color-bg-warm,#fff7e0);color:#b98a2e;border-color:#f0d9b5}.page-hint--success[data-v-9a9a1aba]{background:var(--student-color-success-light,#e8f8ee);color:#3f9e63;border-color:#b7e4c7}.page-hint__icon[data-v-9a9a1aba]{width:calc(16px * var(--ui-scale,1));height:calc(16px * var(--ui-scale,1));font-size:calc(16px * var(--ui-scale,1));opacity:.9;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.page-hint__text[data-v-9a9a1aba]{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.qph[data-v-69e7941a]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.qph__brand[data-v-69e7941a]{align-items:center;gap:calc(6px * var(--ui-scale,1));flex:none;display:inline-flex}.qph__brand-icon[data-v-69e7941a]{font-size:calc(22px * var(--ui-scale,1));line-height:1}.qph__title[data-v-69e7941a]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);white-space:nowrap;margin:0;font-weight:900}.qph .qph__hint[data-v-69e7941a]{min-width:0;min-height:0;max-height:none;padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-color:var(--qph-tint);background:var(--qph-tint);color:var(--qph-deep);font-size:calc(12.5px * var(--ui-scale,1));flex:0 auto;margin:0}.qph__stats[data-v-69e7941a]{justify-content:flex-end;align-items:center;gap:calc(6px * var(--ui-scale,1));flex-wrap:wrap;margin-left:auto;display:flex}.qph-chip[data-v-69e7941a]{--chip-line:var(--qph-tone);--chip-tint:var(--qph-tint);--chip-ink:var(--qph-deep);align-items:center;gap:calc(5px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(11px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--chip-line);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));background:var(--chip-tint);font-family:var(--student-font-family-body);white-space:nowrap;transition:transform var(--student-transition-fast,.2s ease);display:inline-flex}.qph-chip--lists[data-v-69e7941a]{--chip-line:var(--student-color-danger,#ff6680);--chip-tint:var(--student-tint-lists,#ffecef);--chip-ink:var(--student-deep-lists,#cc3d5c)}.qph-chip--operators[data-v-69e7941a]{--chip-line:var(--student-color-success,#59c059);--chip-tint:var(--student-tint-operators,#ebf7eb);--chip-ink:var(--student-deep-operators,#389438)}.qph-chip--motion[data-v-69e7941a]{--chip-line:var(--student-color-primary,#4c97ff);--chip-tint:var(--student-tint-motion,#e5f0ff);--chip-ink:var(--student-deep-motion,#3373cc)}.qph-chip--looks[data-v-69e7941a]{--chip-line:var(--student-block-looks,#96f);--chip-tint:var(--student-tint-looks,#f3ecff);--chip-ink:var(--student-deep-looks,#714eb6)}.qph-chip--data[data-v-69e7941a]{--chip-line:var(--student-color-accent,#ff8c1a);--chip-tint:var(--student-tint-data,#fff1e3);--chip-ink:var(--student-deep-data,#b35f00)}.qph-chip--pen[data-v-69e7941a]{--chip-line:var(--student-block-pen,#0fbd8c);--chip-tint:var(--student-tint-pen,#e2f7f1);--chip-ink:var(--student-deep-pen,#0b8e69)}.qph-chip--control[data-v-69e7941a]{--chip-line:var(--student-block-control,#ffab19);--chip-tint:var(--student-tint-control,#fff5e3);--chip-ink:var(--student-deep-control,#a8690a)}.qph-chip--events[data-v-69e7941a]{--chip-line:var(--student-block-events,#ffbf00);--chip-tint:var(--student-tint-events,#fff7e0);--chip-ink:var(--student-deep-events,#9c7a00)}.qph-chip__icon[data-v-69e7941a]{font-size:calc(12px * var(--ui-scale,1));line-height:1}.qph-chip__num[data-v-69e7941a]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--chip-ink);font-weight:800;line-height:1.2}.qph-chip__unit[data-v-69e7941a]{margin-left:calc(2px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));opacity:.8;font-style:normal;font-weight:700}.qph-chip__label[data-v-69e7941a]{font-size:calc(11px * var(--ui-scale,1));color:var(--chip-ink);font-weight:700}.qph-chip.is-primary[data-v-69e7941a]{padding:calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1))}.qph-chip.is-primary .qph-chip__num[data-v-69e7941a]{font-size:calc(20px * var(--ui-scale,1))}.qph-chip.is-primary .qph-chip__label[data-v-69e7941a]{font-size:calc(12px * var(--ui-scale,1))}.qph-chip.is-zero[data-v-69e7941a]:not(.is-primary){opacity:.4;filter:grayscale(.55)}button.qph-chip[data-v-69e7941a]{cursor:pointer}button.qph-chip[data-v-69e7941a]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}button.qph-chip[data-v-69e7941a]:active{transform:translateY(0)}button.qph-chip[data-v-69e7941a]:focus-visible{outline:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);outline-offset:calc(2px * var(--ui-scale,1))}@media (width<=899px){.qph[data-v-69e7941a]{gap:calc(6px * var(--ui-scale,1))}.qph .qph__hint[data-v-69e7941a]{display:none}.qph__stats[data-v-69e7941a]{gap:calc(5px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));margin-left:0}.qph__title[data-v-69e7941a]{font-size:calc(18px * var(--ui-scale,1))}}.weak-bar[data-v-a2018456]{margin-bottom:var(--student-space-md,16px);border-radius:var(--student-border-radius-card,16px);background:#fff8e6;border:2px solid #ffe0a3;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.weak-bar__label[data-v-a2018456]{font-family:var(--student-font-family-title);color:#e65100;white-space:nowrap;font-size:14px;font-weight:800}.weak-bar__chips[data-v-a2018456]{flex-wrap:wrap;gap:8px;display:flex}.weak-chip[data-v-a2018456]{cursor:pointer;font-family:var(--student-font-family-title);color:#e65100;background:#fff;border:2px solid #ffcc80;border-radius:14px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.weak-chip[data-v-a2018456]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff98003d}.weak-chip.active[data-v-a2018456]{color:#fff;background:#ff9800;border-color:#ff9800}.weak-chip__acc[data-v-a2018456]{opacity:.85;font-size:12px}.weak-chip__go[data-v-a2018456]{font-size:12px}.quest-card[data-v-4475cfb6]{background:var(--student-color-bg-card,#fff);border:2px solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,16px);flex-direction:column;gap:8px;padding:14px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:relative}.quest-card[data-v-4475cfb6]:hover{box-shadow:var(--student-shadow-hover,0 8px 20px #4c97ff29);transform:translateY(-3px)}.quest-card.is-passed[data-v-4475cfb6]{border-color:var(--student-color-success,#59c059)}.quest-card__corner[data-v-4475cfb6]{color:#fff;font-family:var(--student-font-family-title);background:linear-gradient(135deg,#ff9800,#ff7043);border-radius:12px;padding:2px 10px;font-size:11px;font-weight:800;position:absolute;top:-8px;right:-6px;box-shadow:0 3px 8px #ff704359}.quest-card__top[data-v-4475cfb6]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quest-card__title[data-v-4475cfb6]{color:var(--student-color-text-primary);font-size:15px;font-weight:800;font-family:var(--student-font-family-title);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;line-height:1.35;display:-webkit-box;overflow:hidden}.quest-card__kp[data-v-4475cfb6]{background:var(--student-color-bg-warm,#f7f9fc);border-radius:10px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.quest-card__kp-label[data-v-4475cfb6]{color:var(--student-color-primary,#4c97ff);flex-shrink:0;font-weight:800}.quest-card__kp-name[data-v-4475cfb6]{color:var(--student-color-text-secondary,#666);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.quest-card__diff[data-v-4475cfb6]{align-items:center;gap:6px;display:flex}.quest-card__stars[data-v-4475cfb6]{color:#ffb300;letter-spacing:1px;font-size:14px}.quest-card__diff-text[data-v-4475cfb6]{font-family:var(--student-font-family-title);color:var(--student-color-text-secondary);font-size:12px;font-weight:700}.quest-card__meta[data-v-4475cfb6]{color:var(--student-color-text-muted,#999);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.quest-card__foot[data-v-4475cfb6]{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.code-practice-page[data-v-8d749788]{padding:var(--student-space-md);background:var(--student-color-bg-warm);min-height:100vh}.filter-bar[data-v-8d749788]{gap:var(--student-space-sm);margin-bottom:var(--student-space-md);flex-wrap:wrap;align-items:center;display:flex}.filter-select[data-v-8d749788]{width:calc(150px * var(--ui-scale,1))}.filter-select-kp[data-v-8d749788]{width:calc(190px * var(--ui-scale,1))}.filter-reset[data-v-8d749788]{padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(20px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card,#fff);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);cursor:pointer;font-weight:700;transition:all .2s}.filter-reset[data-v-8d749788]:hover{border-color:var(--student-color-primary);color:var(--student-color-primary)}.filter-count[data-v-8d749788]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-left:auto;font-weight:700}.quest-grid[data-v-8d749788]{grid-template-columns:repeat(auto-fill, minmax(calc(250px * var(--ui-scale,1)), 1fr));gap:var(--student-space-md);display:grid}.quest-subject[data-v-8d749788]{font-size:calc(11px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));color:#3f51b5;white-space:nowrap;background:#e8eaf6;font-weight:800}.quest-subject.subject-python[data-v-8d749788]{color:#2e7d32;background:#e8f5e9}.quest-subject.subject-scratch[data-v-8d749788]{color:#5e35b1;background:#ede7f6}.quest-subject.subject-robot[data-v-8d749788]{color:#1565c0;background:#e3f2fd}.quest-subject.subject-csp[data-v-8d749788]{color:#e65100;background:#fff3e0}.quest-subject.subject-other[data-v-8d749788]{color:#455a64;background:#eceff1}.quest-type-tag[data-v-8d749788]{font-size:calc(11px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));color:#e65100;white-space:nowrap;background:#fff3e0;font-weight:700}.quest-status[data-v-8d749788]{font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));font-weight:800}.status-pass[data-v-8d749788]{color:var(--student-color-success,#59c059)}.status-doing[data-v-8d749788]{color:var(--student-color-accent,#ff8c1a)}.status-new[data-v-8d749788]{color:var(--student-color-primary,#4c97ff)}.quest-btn[data-v-8d749788]{padding:calc(7px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(20px * var(--ui-scale,1)));background:var(--student-color-success,#59c059);color:#fff;font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;border:none;flex-shrink:0;font-weight:800;transition:transform .15s,box-shadow .2s}.quest-btn[data-v-8d749788]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #59c05959;transform:translateY(-1px)scale(1.04)}.quest-btn[data-v-8d749788]:active{transform:scale(.96)}.quest-btn.is-done[data-v-8d749788]{background:var(--student-color-bg-warm,#f1f4f9);color:var(--student-color-text-secondary);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2)}.empty-state[data-v-8d749788]{text-align:center;padding:calc(48px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1))}.empty-icon[data-v-8d749788]{font-size:calc(48px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1))}.empty-text[data-v-8d749788]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-family:var(--student-font-family-title);margin-bottom:calc(16px * var(--ui-scale,1))}.empty-btn[data-v-8d749788]{padding:calc(10px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(20px * var(--ui-scale,1)));background:var(--student-color-primary,#4c97ff);color:#fff;font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:800;transition:transform .15s}.empty-btn[data-v-8d749788]:active{transform:scale(.96)}.loading-area[data-v-8d749788]{padding:calc(20px * var(--ui-scale,1))}.courseware-teach[data-v-491a8605]{outline:none;flex-direction:column;height:100%;display:flex}.courseware-teach.is-fullscreen[data-v-491a8605]{background:#1a1a1a;height:100%}.cw-title-bar[data-v-491a8605]{background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:36px;margin-bottom:6px;padding:6px 12px;display:flex;box-shadow:0 1px 4px #0000000f}.cw-title-text[data-v-491a8605]{color:#303133;text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-size:14px;font-weight:600;overflow:hidden}.cat-usage-note[data-v-491a8605]{color:#909399;align-items:center;gap:4px;margin-left:8px;font-size:12px;display:flex}.cw-toolbar[data-v-491a8605]{z-index:100;background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;padding:6px 10px;display:flex;box-shadow:0 1px 4px #0000000f}.cw-toolbar.toolbar-floating[data-v-491a8605]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#fffffff2;border-radius:0;margin:0;transition:all .3s;position:absolute;left:0;right:0;box-shadow:0 2px 12px #00000026}.cw-toolbar.toolbar-floating.toolbar-top[data-v-491a8605]{top:0}.cw-toolbar.toolbar-floating.toolbar-bottom[data-v-491a8605]{top:auto;bottom:0}.courseware-teach.is-fullscreen[data-v-491a8605]{z-index:9998;position:fixed;inset:0}.is-fullscreen .cw-viewer[data-v-491a8605]{margin-top:40px}.tb-left[data-v-491a8605],.tb-center[data-v-491a8605],.tb-right[data-v-491a8605],.tb-nav[data-v-491a8605]{align-items:center;gap:4px;display:flex}.tb-left[data-v-491a8605]{flex-shrink:0}.tb-center[data-v-491a8605]{flex:1;justify-content:center;min-width:0}.tb-right[data-v-491a8605]{flex-shrink:0}.tb-nav[data-v-491a8605]{flex-shrink:0;margin-left:auto}.tool-group[data-v-491a8605]{gap:2px;display:flex}.color-palette[data-v-491a8605]{align-items:center;gap:4px;display:flex}.color-dot[data-v-491a8605]{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:all .2s}.color-dot.active[data-v-491a8605]{border-color:#303133;transform:scale(1.2)}.color-dot[data-v-491a8605]:hover{transform:scale(1.15)}.stroke-panel[data-v-491a8605],.font-panel[data-v-491a8605]{align-items:center;gap:4px;display:flex}.width-label[data-v-491a8605]{color:#909399;white-space:nowrap;font-size:12px}.page-info[data-v-491a8605]{color:#909399;font-size:13px}.cw-viewer[data-v-491a8605]{flex:1;align-items:stretch;gap:6px;min-height:0;display:flex;overflow:hidden}.cw-thumbnails[data-v-491a8605]{background:#fff;border-radius:8px;flex-shrink:0;width:120px;padding:6px;overflow-y:auto}.thumb-item[data-v-491a8605]{text-align:center;cursor:pointer;color:#606266;border:1px solid #e4e7ed;border-radius:4px;margin-bottom:3px;padding:8px;font-size:12px;transition:all .2s}.thumb-item[data-v-491a8605]:hover{background:#ecf5ff}.thumb-item.active[data-v-491a8605]{color:#409eff;background:#ecf5ff;border-color:#409eff}.thumb-page[data-v-491a8605]{font-weight:600}.cw-main[data-v-491a8605]{background:#f0f2f5;border-radius:8px;flex:1;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:auto}.cw-main.code-editor-mode[data-v-491a8605],.cw-main.stretch-mode[data-v-491a8605]{justify-content:flex-start;align-items:stretch;overflow:hidden}.is-fullscreen .cw-main[data-v-491a8605]{background:#1a1a1a;border-radius:0}.is-fullscreen .cw-main.code-editor-mode[data-v-491a8605]{background:#fff}.black-screen[data-v-491a8605]{color:#666;background:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.black-screen p[data-v-491a8605]{font-size:18px}.black-screen .hint[data-v-491a8605]{color:#444;margin-top:8px;font-size:14px}.cos-preview-wrap[data-v-491a8605]{width:100%;height:100%;position:relative}.cos-iframe[data-v-491a8605]{border:none;width:100%;height:100%}.cos-unavailable[data-v-491a8605],.cos-loading[data-v-491a8605]{background:#fff;border-radius:8px;flex:1;justify-content:center;align-items:center;display:flex}.annot-mode-wrap[data-v-491a8605]{transform-origin:50%;transition:transform .2s}.slide-with-canvas[data-v-491a8605]{background:#fff;border:1px solid #e4e7ed;border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.is-fullscreen .slide-with-canvas[data-v-491a8605]{border:none;border-radius:0}.slide-cos-image[data-v-491a8605]{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.slide-file[data-v-491a8605]{text-align:center;padding:40px}.cw-category-tabs[data-v-491a8605]{background:#fff;border-radius:8px;gap:0;margin-bottom:6px;padding:0 8px;display:flex;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.cw-cat-tab[data-v-491a8605]{color:#606266;cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:4px;padding:10px 16px;font-size:13px;transition:all .2s;display:flex}.cw-cat-tab[data-v-491a8605]:hover{color:#409eff}.cw-cat-tab.active[data-v-491a8605]{color:#409eff;border-bottom-color:#409eff;font-weight:600}.ci-preview-container[data-v-491a8605]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.webpage-container[data-v-491a8605]{background:#fff;justify-content:flex-start;align-items:stretch;width:100%;height:100%;display:flex}.webpage-frame-wrap[data-v-491a8605]{width:100%;height:100%;position:relative}.webpage-iframe[data-v-491a8605]{background:#fff;border:none;width:100%;height:100%;display:block}.ci-preview-unavailable[data-v-491a8605]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.image-popup-container[data-v-491a8605]{justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex}.image-display[data-v-491a8605]{cursor:pointer;justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.poster-image[data-v-491a8605]{object-fit:contain;cursor:zoom-in;border-radius:8px;max-width:100%;max-height:100%;transition:transform .2s;box-shadow:0 4px 12px #00000026}.poster-image[data-v-491a8605]:hover{transform:scale(1.02)}.image-unavailable[data-v-491a8605]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.folder-view-container[data-v-491a8605]{width:100%;height:100%;padding:20px;overflow-y:auto}.folder-file-list[data-v-491a8605]{flex-direction:column;gap:8px;display:flex}.folder-file-item[data-v-491a8605]{cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;box-shadow:0 1px 4px #0000000f}.folder-file-item[data-v-491a8605]:hover{background:#ecf5ff;box-shadow:0 2px 8px #0000001f}.file-info[data-v-491a8605]{flex-direction:column;flex:1;gap:4px;display:flex}.file-title[data-v-491a8605]{color:#303133;font-size:14px;font-weight:500}.file-meta[data-v-491a8605]{align-items:center;gap:8px;display:flex}.file-size[data-v-491a8605]{color:#909399;font-size:12px}.folder-empty[data-v-491a8605]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.code-editor-container[data-v-491a8605]{background:#fff;border-radius:8px;flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden}.code-editor-container.code-editor-fullscreen[data-v-491a8605]{border-radius:0;height:100%}.code-editor-body[data-v-491a8605]{flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden}.code-editor-main[data-v-491a8605]{flex:1;min-height:0;display:flex;overflow:hidden}.code-editor-save-bar[data-v-491a8605]{background:#f5f7fa;border-top:1px solid #e4e7ed;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.code-editor-fullscreen .code-editor-body[data-v-491a8605]{flex:1;min-width:0;min-height:0}.code-loading[data-v-491a8605]{flex:1;justify-content:center;align-items:center;display:flex}.code-file-title-inline[data-v-491a8605]{color:#303133;text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-right:6px;font-size:13px;font-weight:600;overflow:hidden}.laser-dot[data-v-491a8605]{pointer-events:none;z-index:10;background:#f56c6c99;border-radius:50%;width:16px;height:16px;animation:.5s ease-out forwards laserFade-491a8605;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 20px 4px #f56c6c66}@keyframes laserFade-491a8605{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.krc[data-v-a3550c53]{align-items:center;gap:calc(12px * var(--ui-scale,1));text-align:left;width:100%;padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-block-pen,#0fbd8c);border-radius:var(--student-border-radius-card,16px);background:linear-gradient(135deg, var(--student-tint-pen,#e2f7f1) 0%, var(--student-color-bg-card,#fff) 85%);box-shadow:var(--student-shadow-card,0 4px 16px #00000014);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.krc[data-v-a3550c53]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 8px 24px #0fbd8c40)}.krc[data-v-a3550c53]:active{transform:scale(.985)}.krc.is-hot[data-v-a3550c53]{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #0fbd8c47}.is-hot .krc__icon[data-v-a3550c53]{animation:1.6s ease-in-out infinite krc-bounce-a3550c53}@keyframes krc-bounce-a3550c53{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-3px * var(--ui-scale,1)))}}.krc__icon[data-v-a3550c53]{font-size:calc(26px * var(--ui-scale,1));flex-shrink:0;line-height:1}.krc__texts[data-v-a3550c53]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;display:flex}.krc__title[data-v-a3550c53]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800;line-height:1.4}.krc__sub[data-v-a3550c53]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666)}.krc__badge[data-v-a3550c53]{font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));white-space:nowrap;border-radius:999px;flex-shrink:0;font-weight:800}.krc__badge--hot[data-v-a3550c53]{background:var(--student-color-accent,#ff8c1a);color:#fff}.krc__badge--new[data-v-a3550c53],.krc__badge--idle[data-v-a3550c53]{border:calc(1.5px * var(--ui-scale,1)) solid var(--student-block-pen,#0fbd8c);color:var(--student-block-pen,#0fbd8c);background:#fff}.krc__badge--done[data-v-a3550c53]{background:var(--student-color-success,#59c059);color:#fff}.krc--banner[data-v-a3550c53]{gap:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));box-shadow:none}.krc--banner[data-v-a3550c53]:hover{box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0fbd8c40}.krc--banner.is-hot[data-v-a3550c53]{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #0fbd8c38}.krc--banner .krc__icon[data-v-a3550c53]{font-size:calc(24px * var(--ui-scale,1))}.krc--banner .krc__title[data-v-a3550c53]{font-size:calc(14px * var(--ui-scale,1))}.core-content[data-v-9ae7e9a1]{gap:calc(14px * var(--ui-scale,1));flex-direction:column;display:flex}.core-block[data-v-9ae7e9a1]{background:var(--student-color-bg-warm,#fffdf7);border:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border,#d9e3f2);border-radius:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1))}.core-block--key[data-v-9ae7e9a1]{background:var(--student-tint-events,#fff7e0);border-color:var(--student-deep-events,#9c7a00)}.core-block--summary[data-v-9ae7e9a1]{background:var(--student-color-primary-lightest,#e5f0ff);border-color:var(--student-color-primary-light,#79aeff)}.block-head[data-v-9ae7e9a1]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.block-emoji[data-v-9ae7e9a1]{font-size:calc(16px * var(--ui-scale,1))}.block-title[data-v-9ae7e9a1]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.block-count[data-v-9ae7e9a1]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.kp-chips[data-v-9ae7e9a1]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.kp-chip[data-v-9ae7e9a1]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(7px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary-light,#79aeff);border-radius:var(--student-border-radius-btn,999px);color:var(--student-color-text-primary,#333);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;background:#fff;font-weight:600;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.kp-chip[data-v-9ae7e9a1]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.04);background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff4d;border-color:#0000}.kp-dot[data-v-9ae7e9a1]{width:calc(7px * var(--ui-scale,1));height:calc(7px * var(--ui-scale,1));background:var(--student-color-success,#59c059);border-radius:50%}.kp-go[data-v-9ae7e9a1]{font-size:calc(11px * var(--ui-scale,1));opacity:.75}.block-text[data-v-9ae7e9a1]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);white-space:pre-wrap;word-break:break-word;line-height:1.85}.block-empty[data-v-9ae7e9a1]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin:0}.core-placeholder[data-v-9ae7e9a1]{text-align:center;padding:calc(18px * var(--ui-scale,1)) 0}.ph-emoji[data-v-9ae7e9a1]{font-size:calc(34px * var(--ui-scale,1))}.ph-title[data-v-9ae7e9a1]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-top:calc(6px * var(--ui-scale,1));font-weight:700}.ph-desc[data-v-9ae7e9a1]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(4px * var(--ui-scale,1))}.courseware-section[data-v-7929ac0f]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.cw-list[data-v-7929ac0f]{gap:calc(10px * var(--ui-scale,1));flex-direction:column;display:flex}.cw-row[data-v-7929ac0f]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(14px * var(--ui-scale,1));transition:all .2s;display:flex}.cw-row[data-v-7929ac0f]:hover{border-color:var(--student-color-primary,#4c97ff);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #4c97ff29}.cw-row--locked[data-v-7929ac0f]{opacity:.72;background:var(--student-color-bg-page,#f7f9fc)}.cw-icon[data-v-7929ac0f]{width:calc(42px * var(--ui-scale,1));height:calc(42px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cw-icon--pdf[data-v-7929ac0f]{background:#ffe3e3}.cw-icon--ppt[data-v-7929ac0f]{background:#fff1e3}.cw-icon--image[data-v-7929ac0f]{background:#e6f7ee}.cw-icon--video[data-v-7929ac0f]{background:#ede7ff}.cw-icon--locked[data-v-7929ac0f]{background:#eceff3}.cw-main[data-v-7929ac0f]{flex:1;min-width:0}.cw-name[data-v-7929ac0f]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cw-meta[data-v-7929ac0f]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(3px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);flex-wrap:wrap;display:flex}.cw-tag[data-v-7929ac0f]{padding:calc(1px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary,#4c97ff);border-radius:999px;font-weight:600}.cw-note[data-v-7929ac0f]{margin-top:calc(3px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cw-actions[data-v-7929ac0f]{gap:calc(8px * var(--ui-scale,1));flex-shrink:0;display:flex}.cw-btn[data-v-7929ac0f]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));padding:calc(7px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,999px);cursor:pointer;border:none;font-weight:700;line-height:1.4;text-decoration:none;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.cw-btn[data-v-7929ac0f]:hover{transform:scale(1.06)}.cw-btn[data-v-7929ac0f]:active{transform:scale(.95)}.cw-btn--ghost[data-v-7929ac0f]{color:var(--student-color-primary,#4c97ff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary-light,#79aeff);background:#fff}.cw-btn--primary[data-v-7929ac0f]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff4d}.locked-head[data-v-7929ac0f]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);font-weight:700;display:flex}.locked-hint[data-v-7929ac0f]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(-4px * var(--ui-scale,1))}.cw-empty[data-v-7929ac0f]{text-align:center;padding:calc(18px * var(--ui-scale,1)) 0}.ce-emoji[data-v-7929ac0f]{font-size:calc(34px * var(--ui-scale,1))}.ce-title[data-v-7929ac0f]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-top:calc(6px * var(--ui-scale,1));font-weight:700}.ce-desc[data-v-7929ac0f]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(4px * var(--ui-scale,1))}.homework-section[data-v-39076aeb]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.hw-bar[data-v-39076aeb]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);flex-wrap:wrap;display:flex}.hw-bar--locked[data-v-39076aeb]{background:#eceff3}.hw-bar--submitted[data-v-39076aeb]{background:var(--student-tint-events,#fff7e0)}.hw-bar--graded[data-v-39076aeb]{background:var(--student-color-success-light,#ebf7eb)}.hw-state-emoji[data-v-39076aeb]{font-size:calc(16px * var(--ui-scale,1))}.hw-state-text[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.hw-due[data-v-39076aeb]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666)}.hw-block[data-v-39076aeb]{background:var(--student-color-bg-page,#f7f9fc);border-radius:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1))}.hw-block--wait[data-v-39076aeb]{background:var(--student-tint-events,#fff7e0)}.hw-block--graded[data-v-39076aeb]{background:var(--student-color-success-light,#ebf7eb)}.hw-block-title[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-bottom:calc(6px * var(--ui-scale,1));font-weight:700}.hw-block-body[data-v-39076aeb]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);word-break:break-word;line-height:1.8}.hw-template-name[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.hw-line[data-v-39076aeb]{margin-top:calc(2px * var(--ui-scale,1))}.hw-line--muted[data-v-39076aeb]{color:var(--student-color-text-muted,#999)}.hw-score-row[data-v-39076aeb]{align-items:baseline;gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));display:flex}.hw-score[data-v-39076aeb]{align-items:baseline;gap:calc(2px * var(--ui-scale,1));color:var(--student-color-success,#59c059);display:flex}.score-num[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(28px * var(--ui-scale,1));font-weight:800}.score-unit[data-v-39076aeb]{font-size:calc(13px * var(--ui-scale,1))}.hw-comment[data-v-39076aeb]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);white-space:pre-wrap;line-height:1.8}.hw-time[data-v-39076aeb]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.hw-empty[data-v-39076aeb]{text-align:center;padding:calc(14px * var(--ui-scale,1)) 0}.he-emoji[data-v-39076aeb]{font-size:calc(32px * var(--ui-scale,1))}.he-title[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-top:calc(4px * var(--ui-scale,1));font-weight:700}.he-desc[data-v-39076aeb]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(4px * var(--ui-scale,1))}.hw-actions[data-v-39076aeb]{align-items:center;gap:calc(12px * var(--ui-scale,1));display:flex}.hw-btn[data-v-39076aeb]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,999px);cursor:pointer;border:none;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.hw-btn[data-v-39076aeb]:hover{transform:scale(1.06)}.hw-btn[data-v-39076aeb]:active{transform:scale(.95)}.hw-btn--primary[data-v-39076aeb]{background:var(--student-color-success,#59c059);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #59c05959}.hw-late[data-v-39076aeb]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a)}.exercise-panel[data-v-5d2d7365]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.ex-idle[data-v-5d2d7365]{align-items:center;gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.ex-stats[data-v-5d2d7365]{gap:calc(20px * var(--ui-scale,1));display:flex}.ex-stat[data-v-5d2d7365]{flex-direction:column;align-items:center;display:flex}.stat-num[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-primary,#4c97ff);font-weight:800}.stat-label[data-v-5d2d7365]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.ex-empty[data-v-5d2d7365]{text-align:center}.ee-emoji[data-v-5d2d7365]{font-size:calc(32px * var(--ui-scale,1))}.ee-title[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-top:calc(4px * var(--ui-scale,1));font-weight:700}.ee-desc[data-v-5d2d7365]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(4px * var(--ui-scale,1))}.ex-play[data-v-5d2d7365]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.ex-progress[data-v-5d2d7365]{align-items:center;gap:calc(10px * var(--ui-scale,1));display:flex}.prog-track[data-v-5d2d7365]{height:calc(10px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);border-radius:999px;flex:1;overflow:hidden}.prog-fill[data-v-5d2d7365]{background:var(--student-color-success,#59c059);border-radius:999px;height:100%;transition:width .4s}.prog-text[data-v-5d2d7365]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);white-space:nowrap;font-weight:700}.q-title[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700;line-height:1.7}.q-desc[data-v-5d2d7365]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);line-height:1.8}.opt-list[data-v-5d2d7365]{gap:calc(8px * var(--ui-scale,1));margin-top:calc(10px * var(--ui-scale,1));flex-direction:column;display:flex}.opt-btn[data-v-5d2d7365]{align-items:flex-start;gap:calc(10px * var(--ui-scale,1));padding:calc(11px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));min-height:calc(48px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(12px * var(--ui-scale,1));text-align:left;cursor:pointer;background:#fff;transition:all .18s;display:flex}.opt-btn[data-v-5d2d7365]:hover:not(:disabled){border-color:var(--student-color-primary-light,#79aeff);background:var(--student-color-primary-lightest,#e5f0ff)}.opt-btn.picked[data-v-5d2d7365]{border-color:var(--student-color-primary,#4c97ff);background:var(--student-color-primary-lightest,#e5f0ff)}.opt-btn[data-v-5d2d7365]:disabled{cursor:not-allowed;opacity:.85}.opt-key[data-v-5d2d7365]{width:calc(26px * var(--ui-scale,1));height:calc(26px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.opt-text[data-v-5d2d7365]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);word-break:break-word;line-height:1.6}.unsupported[data-v-5d2d7365]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.ex-feedback[data-v-5d2d7365]{border-radius:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1))}.ex-feedback.is-right[data-v-5d2d7365]{background:var(--student-color-success-light,#ebf7eb)}.ex-feedback.is-wrong[data-v-5d2d7365]{background:var(--student-color-accent-dark-light,#fff1e3)}.ex-feedback.is-pending[data-v-5d2d7365]{background:var(--student-color-warning-light,#fff8e1)}.fb-head[data-v-5d2d7365]{align-items:center;gap:calc(6px * var(--ui-scale,1));display:flex}.fb-emoji[data-v-5d2d7365]{font-size:calc(18px * var(--ui-scale,1))}.fb-text[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.fb-exp[data-v-5d2d7365]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);line-height:1.8}.fb-mistake[data-v-5d2d7365]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a)}.ex-actions[data-v-5d2d7365]{gap:calc(10px * var(--ui-scale,1));display:flex}.ex-done[data-v-5d2d7365]{text-align:center}.done-emoji[data-v-5d2d7365]{font-size:calc(42px * var(--ui-scale,1))}.done-title[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-top:calc(6px * var(--ui-scale,1));font-weight:800}.done-score[data-v-5d2d7365]{margin-top:calc(4px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666)}.done-score b[data-v-5d2d7365]{color:var(--student-color-success,#59c059);font-size:calc(18px * var(--ui-scale,1))}.done-mistake[data-v-5d2d7365]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a)}.done-actions[data-v-5d2d7365]{justify-content:center;gap:calc(10px * var(--ui-scale,1));margin-top:calc(14px * var(--ui-scale,1));display:flex}.ex-btn[data-v-5d2d7365]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));min-height:calc(44px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,999px);cursor:pointer;border:none;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.ex-btn[data-v-5d2d7365]:hover:not(:disabled){transform:scale(1.06)}.ex-btn[data-v-5d2d7365]:active:not(:disabled){transform:scale(.95)}.ex-btn[data-v-5d2d7365]:disabled{opacity:.55;cursor:not-allowed}.ex-btn--primary[data-v-5d2d7365]{background:var(--student-color-success,#59c059);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #59c05959}.ex-btn--ghost[data-v-5d2d7365]{color:var(--student-color-text-secondary,#666);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:#fff}.course-detail-page[data-v-26a9807f]{width:100%;padding:var(--student-space-md,16px)}.back-btn[data-v-26a9807f]{color:var(--student-color-text-secondary,#666);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;margin-bottom:calc(10px * var(--ui-scale,1));background:0 0;border:none;padding:0}.back-btn[data-v-26a9807f]:hover{color:var(--student-color-primary,#4c97ff)}.detail-header[data-v-26a9807f]{justify-content:space-between;align-items:flex-start;gap:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border-radius:var(--student-border-radius-card,16px);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);box-shadow:var(--student-shadow-card,0 4px 16px #00000014);padding:calc(16px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:flex}.header-left[data-v-26a9807f]{flex:1;min-width:0}.lesson-no[data-v-26a9807f]{font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-primary,#4c97ff);background:var(--student-color-primary-lightest,#e5f0ff);padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));border-radius:999px;font-weight:700;display:inline-block}.lesson-title[data-v-26a9807f]{margin:0 0 calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);align-items:center;gap:calc(8px * var(--ui-scale,1));font-weight:800;line-height:1.35;display:flex}.course-icon[data-v-26a9807f]{font-size:calc(26px * var(--ui-scale,1))}.meta-row[data-v-26a9807f]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);flex-wrap:wrap;display:flex}.dot[data-v-26a9807f]{color:var(--student-color-text-muted,#bbb)}.course-row[data-v-26a9807f]{margin-top:calc(4px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.header-right[data-v-26a9807f]{flex-shrink:0}.attend-badge[data-v-26a9807f]{align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));min-width:calc(88px * var(--ui-scale,1));flex-direction:column;display:flex}.attend-badge.is-attended[data-v-26a9807f]{background:var(--student-color-success-light,#ebf7eb);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-success,#59c059)}.attend-badge.is-pending[data-v-26a9807f]{background:var(--student-tint-events,#fff7e0);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-deep-events,#9c7a00)}.badge-emoji[data-v-26a9807f]{font-size:calc(18px * var(--ui-scale,1))}.badge-text[data-v-26a9807f]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800}.section[data-v-26a9807f]{background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,16px);padding:calc(16px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1))}.section-title[data-v-26a9807f]{align-items:center;gap:calc(8px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-bottom:calc(14px * var(--ui-scale,1));padding-left:calc(10px * var(--ui-scale,1));border-left:calc(4px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);font-weight:800;display:flex}.section-sub[data-v-26a9807f]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);font-weight:500}.viewer-close-btn[data-v-26a9807f]{top:calc(8px * var(--ui-scale,1));right:calc(12px * var(--ui-scale,1));z-index:9999;width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));color:#fff;cursor:pointer;background:#00000059;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute}.viewer-close-btn[data-v-26a9807f]:hover{background:#0009}.courseware-viewer-dialog .el-dialog__body{flex-direction:column!important;padding:0!important;display:flex!important;position:absolute!important;inset:0!important;overflow:hidden!important}.courseware-viewer-dialog .el-dialog__header{display:none!important}.courseware-viewer-dialog .el-dialog{border-radius:0!important;margin:0!important;padding:0!important}.courseware-viewer-dialog .courseware-teach{flex:1!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}.courseware-viewer-dialog .courseware-teach .cw-viewer{flex:1!important;min-height:0!important}.course-gear-card[data-v-39d4f302]{align-items:center;gap:var(--student-space-md,calc(16px * var(--ui-scale,1)));padding:var(--student-space-md,calc(16px * var(--ui-scale,1)));background:var(--student-color-bg-card,#fff);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #00000014);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.course-gear-card[data-v-39d4f302]:hover{transform:translateY(calc(-4px * var(--ui-scale,1))) scale(1.01);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1)) #42a5f533)}.gear-icon[data-v-39d4f302]{width:calc(52px * var(--ui-scale,1));height:calc(52px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-emoji[data-v-39d4f302]{font-size:calc(26px * var(--ui-scale,1))}.gear-body[data-v-39d4f302]{flex:1;min-width:0}.gear-title[data-v-39d4f302]{font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.gear-sub[data-v-39d4f302]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(2px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.sub-chip[data-v-39d4f302]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-primary,#4c97ff);background:var(--student-color-primary-lightest,#e5f0ff);padding:calc(1px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:999px;font-weight:600}.sub-text[data-v-39d4f302]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666)}.gear-progress[data-v-39d4f302]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(8px * var(--ui-scale,1));display:flex}.bar-track[data-v-39d4f302]{height:calc(10px * var(--ui-scale,1));border-radius:calc(5px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);flex:1;overflow:hidden}.bar-fill[data-v-39d4f302]{border-radius:calc(5px * var(--ui-scale,1));background:var(--student-color-success,#59c059);height:100%;transition:width .6s;position:relative}.bar-lightning[data-v-39d4f302]{right:calc(4px * var(--ui-scale,1));top:calc(-2px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));position:absolute}.bar-text[data-v-39d4f302]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);min-width:calc(42px * var(--ui-scale,1));font-weight:700}.gear-meta[data-v-39d4f302]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-top:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.meta-lesson[data-v-39d4f302]{color:var(--student-color-text-primary,#333);text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-weight:600;overflow:hidden}.meta-lesson--muted[data-v-39d4f302]{color:var(--student-color-text-muted,#aaa);font-weight:500}.meta-hours[data-v-39d4f302]{color:var(--student-color-text-muted,#999)}.gear-status[data-v-39d4f302]{align-items:center;gap:calc(4px * var(--ui-scale,1));flex-direction:column;flex-shrink:0;display:flex}.gear-btn[data-v-39d4f302]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(9px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,999px);cursor:pointer;white-space:nowrap;border:none;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.gear-btn[data-v-39d4f302]:hover{transform:scale(1.08)}.gear-btn[data-v-39d4f302]:active{transform:scale(.95)}.gear-btn-primary[data-v-39d4f302]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff4d}.gear-locked[data-v-39d4f302]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);font-weight:700}.master-tag[data-v-39d4f302]{font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));color:var(--student-deep-events,#9c7a00);background:var(--student-tint-events,#fff7e0);padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,999px);font-weight:700}.course-list-page[data-v-e0f97581]{width:100%;padding:var(--student-space-md)}.page-hero[data-v-e0f97581]{text-align:center;padding:var(--student-space-md) 0 var(--student-space-sm)}.hero-subtitle[data-v-e0f97581]{font-family:var(--student-font-family-title);font-size:var(--font-size-lg);color:var(--student-color-text-primary);margin:0;font-weight:700}.hero-desc[data-v-e0f97581]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:calc(4px * var(--ui-scale,1)) 0 0}.nav-capsules[data-v-e0f97581]{gap:var(--student-space-sm);margin-bottom:var(--student-space-lg);flex-wrap:wrap;justify-content:center;display:flex}.capsule-btn[data-v-e0f97581]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-card);color:var(--student-color-text-secondary);cursor:pointer;align-items:center;gap:calc(6px * var(--ui-scale,1));font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.capsule-btn[data-v-e0f97581]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.05);border-color:var(--student-color-primary);color:var(--student-color-primary)}.capsule-btn.active[data-v-e0f97581]{background:linear-gradient(135deg, var(--student-color-primary), var(--student-color-primary));color:var(--student-color-bg-card);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #42a5f54d;border-color:#0000}.capsule-icon[data-v-e0f97581]{font-size:calc(16px * var(--ui-scale,1))}.capsule-tip[data-v-e0f97581]{font-size:calc(11px * var(--ui-scale,1));opacity:.75}.course-list[data-v-e0f97581]{gap:var(--student-space-md);flex-direction:column;display:flex}.empty-state[data-v-e0f97581]{text-align:center;padding:calc(40px * var(--ui-scale,1)) 0}.empty-panda[data-v-e0f97581]{width:calc(120px * var(--ui-scale,1));height:calc(120px * var(--ui-scale,1));object-fit:contain;border-radius:calc(20px * var(--ui-scale,1))}.empty-text[data-v-e0f97581]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:var(--student-space-md)}.records-page[data-v-55d62a49]{width:100%;padding:var(--space-md)}.page-header[data-v-55d62a49]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:var(--space-lg);display:flex}.page-title[data-v-55d62a49]{text-align:center;font-family:var(--student-font-family-title);font-size:var(--font-size-2xl);color:var(--student-color-primary);flex:1;margin:0;font-weight:700}.filter-section[data-v-55d62a49]{margin-bottom:var(--space-lg)}.filter-row[data-v-55d62a49]{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.compact-date-range[data-v-55d62a49]{width:calc(280px * var(--ui-scale,1))!important}.compact-date-range[data-v-55d62a49] .el-input__inner{font-size:calc(14px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));line-height:calc(36px * var(--ui-scale,1))}.reset-btn[data-v-55d62a49]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-card);cursor:pointer;font-weight:600;transition:all .2s}.reset-btn[data-v-55d62a49]:hover{border-color:var(--student-color-accent);background:var(--student-color-bg-warm)}.timeline[data-v-55d62a49]{flex-direction:column;gap:0;display:flex}.timeline-item[data-v-55d62a49]{gap:var(--space-md);display:flex;position:relative}.timeline-dot[data-v-55d62a49]{width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1));margin-top:calc(8px * var(--ui-scale,1));background:var(--student-color-border,#d9e3f2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dot-icon[data-v-55d62a49]{font-size:calc(14px * var(--ui-scale,1))}.timeline-line[data-v-55d62a49]{left:calc(15px * var(--ui-scale,1));top:calc(40px * var(--ui-scale,1));bottom:calc(-8px * var(--ui-scale,1));width:calc(2px * var(--ui-scale,1));background:var(--student-color-border,#d9e3f2);position:absolute}.timeline-item:last-child .timeline-line[data-v-55d62a49]{display:none}.record-card[data-v-55d62a49]{padding:var(--space-md);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card);margin-bottom:var(--space-md);flex:1;transition:all .2s}.record-card[data-v-55d62a49]:hover{border-color:var(--student-color-primary);box-shadow:var(--student-shadow-card)}.record-card.card-done[data-v-55d62a49]{background:var(--student-color-bg-warm);border-color:var(--student-color-success)}.record-card.card-absent[data-v-55d62a49]{border-color:var(--student-color-danger);background:#ffebee}.card-header[data-v-55d62a49]{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.record-title[data-v-55d62a49]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:600}.status-chip[data-v-55d62a49]{font-size:calc(12px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-weight:600}.card-body[data-v-55d62a49]{gap:var(--space-lg);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin-bottom:calc(4px * var(--ui-scale,1));display:flex}.card-date[data-v-55d62a49]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.empty-state[data-v-55d62a49]{text-align:center;padding:calc(40px * var(--ui-scale,1)) 0}.empty-panda[data-v-55d62a49]{width:calc(100px * var(--ui-scale,1));height:calc(100px * var(--ui-scale,1));object-fit:contain;border-radius:calc(18px * var(--ui-scale,1))}.empty-text[data-v-55d62a49]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:var(--space-md)}.pagination-wrap[data-v-55d62a49]{margin-top:var(--space-lg);justify-content:center;display:flex}.dot-success[data-v-55d62a49]{background:var(--student-color-success)}.dot-accent[data-v-55d62a49]{background:var(--student-color-accent)}.dot-danger[data-v-55d62a49]{background:var(--student-color-danger)}.dot-primary[data-v-55d62a49]{background:var(--student-color-primary)}.dot-default[data-v-55d62a49]{background:var(--student-color-text-muted)}.chip-success[data-v-55d62a49]{background:var(--student-color-bg-warm);color:var(--student-color-success)}.chip-accent[data-v-55d62a49]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark)}.chip-danger[data-v-55d62a49]{color:var(--student-color-danger);background:#ffebee}.chip-primary[data-v-55d62a49]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.chip-default[data-v-55d62a49]{background:var(--student-color-bg-page);color:var(--student-color-text-muted)}.timetable-page[data-v-ab6aa476]{width:100%;padding:var(--student-space-md)}.page-header[data-v-ab6aa476]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:var(--student-space-lg);display:flex}.page-title[data-v-ab6aa476]{text-align:center;font-family:var(--student-font-family-title);font-size:var(--student-font-size-2xl);color:var(--student-color-primary);flex:1;margin:0;font-weight:700}.view-capsules[data-v-ab6aa476]{gap:var(--student-space-sm);margin-bottom:var(--student-space-md);justify-content:center;display:flex}.capsule-btn[data-v-ab6aa476]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-card);color:var(--student-color-text-secondary);cursor:pointer;font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.capsule-btn[data-v-ab6aa476]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.05);border-color:var(--student-color-primary)}.capsule-btn.active[data-v-ab6aa476]{background:var(--student-color-primary);color:var(--student-color-bg-card);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff4d;border-color:#0000}.date-nav[data-v-ab6aa476]{justify-content:center;align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:var(--student-space-lg);display:flex}.date-range[data-v-ab6aa476]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));min-width:calc(160px * var(--ui-scale,1));text-align:center;color:var(--student-color-text-primary);font-weight:600}.today-btn[data-v-ab6aa476]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-warm);color:var(--student-color-accent-dark);cursor:pointer;font-weight:600;transition:all .2s}.today-btn[data-v-ab6aa476]:hover{background:var(--student-color-accent);color:var(--student-color-text-primary)}.week-grid[data-v-ab6aa476]{gap:calc(8px * var(--ui-scale,1));grid-template-columns:repeat(7,1fr);display:grid}.day-column[data-v-ab6aa476]{border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card);overflow:hidden}.day-column.today[data-v-ab6aa476]{border-color:var(--student-color-accent);background:var(--student-color-bg-warm)}.day-header[data-v-ab6aa476]{text-align:center;padding:calc(10px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));background:var(--student-color-bg-warm);font-family:var(--student-font-family-title)}.day-column.today .day-header[data-v-ab6aa476]{background:linear-gradient(135deg, var(--student-color-primary), var(--student-color-primary));color:var(--student-color-bg-card)}.day-name[data-v-ab6aa476]{font-weight:600;font-size:calc(14px * var(--ui-scale,1));display:block}.day-date[data-v-ab6aa476]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.day-column.today .day-date[data-v-ab6aa476]{color:var(--student-color-bg-card)}.day-badge[data-v-ab6aa476]{font-size:calc(14px * var(--ui-scale,1))}.day-schedules[data-v-ab6aa476]{padding:calc(8px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));min-height:calc(120px * var(--ui-scale,1))}.sticker-item[data-v-ab6aa476]{padding:calc(8px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:var(--student-color-bg-warm);border:1px solid var(--student-color-accent);font-size:calc(12px * var(--ui-scale,1));align-items:flex-start;gap:calc(6px * var(--ui-scale,1));display:flex}.sticker-item.completed[data-v-ab6aa476]{opacity:.6;background:var(--student-color-border,#d9e3f2);border-color:#bdbdbd}.sticker-item.upcoming[data-v-ab6aa476]{border-color:var(--student-color-primary);background:var(--student-color-primary-light)}.sticker-item.cancelled[data-v-ab6aa476]{opacity:.4}.sticker-icon[data-v-ab6aa476]{font-size:calc(16px * var(--ui-scale,1));flex-shrink:0}.sticker-content[data-v-ab6aa476]{flex:1;min-width:0}.sticker-name[data-v-ab6aa476]{font-weight:600;font-size:calc(13px * var(--ui-scale,1))}.sticker-time[data-v-ab6aa476]{color:var(--student-color-primary);font-weight:500;font-size:calc(11px * var(--ui-scale,1))}.sticker-room[data-v-ab6aa476]{color:var(--student-color-text-secondary);font-size:calc(11px * var(--ui-scale,1))}.sticker-tag[data-v-ab6aa476]{flex-shrink:0}.no-sticker[data-v-ab6aa476]{text-align:center;color:var(--student-color-text-muted);font-size:calc(12px * var(--ui-scale,1));padding:calc(20px * var(--ui-scale,1)) 0}.month-list[data-v-ab6aa476]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.month-item[data-v-ab6aa476]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card);display:flex}.month-item.completed[data-v-ab6aa476]{background:var(--student-color-border,#d9e3f2);opacity:.6}.month-item.upcoming[data-v-ab6aa476]{border-color:var(--student-color-primary);background:var(--student-color-primary-light)}.month-date-sticker[data-v-ab6aa476]{text-align:center;min-width:calc(48px * var(--ui-scale,1));background:var(--student-color-bg-warm);border-radius:calc(12px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1))}.date-num[data-v-ab6aa476]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:700;display:block}.date-weekday[data-v-ab6aa476]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.month-info[data-v-ab6aa476]{gap:calc(8px * var(--ui-scale,1));flex:1;align-items:flex-start;display:flex}.info-icon[data-v-ab6aa476]{font-size:calc(20px * var(--ui-scale,1))}.info-main[data-v-ab6aa476]{flex:1}.schedule-name[data-v-ab6aa476]{font-weight:600;font-size:calc(15px * var(--ui-scale,1))}.schedule-detail[data-v-ab6aa476]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.empty-state[data-v-ab6aa476]{text-align:center;padding:calc(40px * var(--ui-scale,1)) 0}.empty-panda[data-v-ab6aa476]{width:calc(100px * var(--ui-scale,1));height:calc(100px * var(--ui-scale,1));object-fit:contain;border-radius:calc(18px * var(--ui-scale,1))}.empty-text[data-v-ab6aa476]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:var(--student-space-md)}.task-card[data-v-26769a32]{height:calc(200px * var(--ui-scale,1));padding:calc(40px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border-radius:calc(16px * var(--ui-scale,1));border:1px solid #e8ecf3;flex-direction:column;justify-content:space-between;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:flex;position:relative;overflow:hidden}.task-card[data-v-26769a32]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 6px 16px #575e751f}.tc-bar[data-v-26769a32]{width:calc(4px * var(--ui-scale,1));background:#c3cad6;position:absolute;top:0;bottom:0;left:0}.st-in_progress .tc-bar[data-v-26769a32]{background:var(--student-color-primary,#4c97ff)}.st-completed .tc-bar[data-v-26769a32]{background:var(--student-color-success,#59c059)}.st-closed .tc-bar[data-v-26769a32]{background:#c3cad6}.task-card.is-urgent .tc-bar[data-v-26769a32]{background:var(--student-color-danger,#ff6680)}.tc-state[data-v-26769a32]{top:calc(10px * var(--ui-scale,1));left:calc(14px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));padding:0 calc(8px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));color:#5a6272;background:#f1f3f8;align-items:center;font-weight:700;display:inline-flex;position:absolute}.st-in_progress .tc-state[data-v-26769a32]{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.st-completed .tc-state[data-v-26769a32]{background:var(--student-tint-operators,#ebf7eb);color:var(--student-deep-operators,#389438)}.task-card.is-urgent .tc-state[data-v-26769a32]{background:var(--student-tint-lists,#ffecef);color:var(--student-deep-lists,#cc3d5c)}.tc-title-row[data-v-26769a32]{align-items:center;gap:calc(8px * var(--ui-scale,1));min-width:0;display:flex}.tc-icon[data-v-26769a32]{width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:#f6f8fc;border:1px solid #e8ecf3;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tc-title[data-v-26769a32]{min-width:0;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-weight:700;line-height:1.35;overflow:hidden}.tc-pill[data-v-26769a32]{height:calc(24px * var(--ui-scale,1));padding:0 calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc);font-size:calc(12px * var(--ui-scale,1));white-space:nowrap;flex-shrink:0;align-items:center;font-weight:700;display:inline-flex}.tc-pill.urgent[data-v-26769a32]{background:var(--student-tint-lists,#ffecef);color:var(--student-deep-lists,#cc3d5c);animation:1.2s ease-in-out infinite tc-urgent-blink-26769a32}@keyframes tc-urgent-blink-26769a32{0%,to{opacity:1}50%{opacity:.72}}.tc-chips[data-v-26769a32]{align-items:center;gap:calc(6px * var(--ui-scale,1));flex-wrap:nowrap;display:flex;overflow:hidden}.tc-chip[data-v-26769a32]{height:calc(24px * var(--ui-scale,1));padding:0 calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));white-space:nowrap;flex-shrink:0;align-items:center;font-weight:600;display:inline-flex}.chip-quiz[data-v-26769a32]{color:#8a6100;background:#fff6d9}.chip-neutral[data-v-26769a32],.chip-available[data-v-26769a32]{color:#5a6272;background:#f1f3f8}.chip-in_progress[data-v-26769a32]{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.chip-completed[data-v-26769a32]{background:var(--student-tint-operators,#ebf7eb);color:var(--student-deep-operators,#389438)}.chip-closed[data-v-26769a32]{color:#9aa2b2;background:#f1f3f8}.tc-score-row[data-v-26769a32]{align-items:baseline;gap:calc(8px * var(--ui-scale,1));min-width:0;display:flex}.tc-score-full[data-v-26769a32]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);font-weight:600}.tc-score-got[data-v-26769a32]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:600}.tc-score-got b[data-v-26769a32]{font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800}.tc-score-acc[data-v-26769a32]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-deep-operators,#389438);font-weight:600}.tc-retake-link[data-v-26769a32]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);cursor:pointer;white-space:nowrap;background:0 0;border:none;margin-left:auto;padding:0;font-weight:700}.tc-retake-link[data-v-26769a32]:hover{text-decoration:underline}.tc-action[data-v-26769a32]{justify-content:flex-end;display:flex}.tc-btn[data-v-26769a32]{height:calc(36px * var(--ui-scale,1));padding:0 calc(20px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s;display:inline-flex}.tc-btn[data-v-26769a32]:hover{transform:translateY(calc(-1px * var(--ui-scale,1)))}.tc-btn[data-v-26769a32]:active{transform:translateY(0)scale(.97)}.tc-btn-start[data-v-26769a32]{background:var(--student-color-success,#59c059);color:#fff;box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #59c05952}.tc-btn-continue[data-v-26769a32]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #4c97ff52}.tc-btn-review[data-v-26769a32]{color:var(--student-color-text-secondary,#818697);background:#fff;border:1px solid #d5dbe6}.tc-btn-review[data-v-26769a32]:hover{color:var(--student-color-text-primary,#333);border-color:#b9c2d0}.tc-closed-tag[data-v-26769a32]{height:calc(36px * var(--ui-scale,1));padding:0 calc(18px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:#9aa2b2;font-size:calc(13px * var(--ui-scale,1));background:#f1f3f8;align-items:center;font-weight:600;display:inline-flex}.exam-entry[data-v-4436c518]{width:100%;min-height:calc(100vh - calc(160px * var(--ui-scale,1)));position:relative}.ee-head[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));min-height:calc(48px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.ee-head-main[data-v-4436c518]{align-items:baseline;gap:calc(10px * var(--ui-scale,1));min-width:0;display:flex}.ee-title[data-v-4436c518]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);white-space:nowrap;margin:0;font-weight:800}.ee-desc[data-v-4436c518]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ee-head-actions[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-left:auto;display:flex}.ee-line-btn[data-v-4436c518]{align-items:center;gap:calc(4px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));padding:0 calc(16px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d5dbe6);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary);font-family:var(--student-font-family-title);font-size:calc(13.5px * var(--ui-scale,1));cursor:pointer;white-space:nowrap;font-weight:700;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.ee-line-btn[data-v-4436c518]:hover{border-color:var(--student-color-primary,#4c97ff);color:var(--student-deep-motion,#3373cc);transform:translateY(calc(-1px * var(--ui-scale,1)))}.ee-line-btn.active[data-v-4436c518]{border-color:var(--student-color-primary,#4c97ff);background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.ee-toolbar[data-v-4436c518]{align-items:center;gap:calc(12px * var(--ui-scale,1));min-height:calc(40px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));display:flex}.ee-seg[data-v-4436c518]{width:calc(240px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:#eef1f6;flex-shrink:0;display:flex}.ee-seg-item[data-v-4436c518]{height:calc(30px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-family:var(--student-font-family-title);font-size:calc(13.5px * var(--ui-scale,1));cursor:pointer;background:0 0;border:none;flex:1;font-weight:700;transition:background .2s,color .2s,box-shadow .2s}.ee-seg-item[data-v-4436c518]:hover{color:var(--student-color-text-primary)}.ee-seg-item.active[data-v-4436c518]{background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #575e7529;font-weight:800}.ee-practice-flag[data-v-4436c518]{font-family:var(--student-font-family-title);font-size:calc(13.5px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.ee-toolbar-right[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-left:auto;display:flex}.ee-count[data-v-4436c518]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);white-space:nowrap;font-weight:700}.ee-refresh[data-v-4436c518]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d5dbe6);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary);font-size:calc(18px * var(--ui-scale,1));cursor:pointer;justify-content:center;align-items:center;line-height:1;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.ee-refresh[data-v-4436c518]:hover:not(:disabled){border-color:var(--student-color-primary,#4c97ff);color:var(--student-deep-motion,#3373cc);transform:rotate(30deg)}.ee-refresh[data-v-4436c518]:disabled{cursor:wait;opacity:.55}.ee-notice[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1));width:100%;min-height:calc(40px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-tint-lists,#ffecef);border-radius:calc(12px * var(--ui-scale,1));border:1px solid #ff668047;display:flex}.ee-notice-icon[data-v-4436c518]{font-size:calc(20px * var(--ui-scale,1));line-height:1}.ee-notice-text[data-v-4436c518]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-deep-lists,#cc3d5c);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ee-notice-text b[data-v-4436c518]{font-weight:800}.ee-notice-go[data-v-4436c518]{padding:calc(4px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-deep-lists,#cc3d5c);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-weight:800}.ee-notice-go[data-v-4436c518]:hover{text-decoration:underline}.ee-notice-close[data-v-4436c518]{width:calc(24px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));color:var(--student-deep-lists,#cc3d5c);font-size:calc(16px * var(--ui-scale,1));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.ee-notice-close[data-v-4436c518]:hover{opacity:1;background:#ff668024}.ee-skel[data-v-4436c518]{height:calc(200px * var(--ui-scale,1));padding:calc(40px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border-radius:calc(16px * var(--ui-scale,1));border:1px solid #e8ecf3;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}.ee-skel-bar[data-v-4436c518]{height:calc(16px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));background:linear-gradient(90deg,#eef1f6 25%,#f7f9fc 50%,#eef1f6 75%) 0 0/200% 100%;animation:1.2s linear infinite ee-skel-shimmer-4436c518}.ee-skel-bar.w30[data-v-4436c518]{width:30%}.ee-skel-bar.w40[data-v-4436c518]{width:40%}.ee-skel-bar.w60[data-v-4436c518]{width:60%}.ee-skel-bar.w80[data-v-4436c518]{width:80%}@keyframes ee-skel-shimmer-4436c518{0%{background-position:200% 0}to{background-position:-200% 0}}.ee-content[data-v-4436c518]{scroll-margin-top:calc(88px * var(--ui-scale,1))}.dungeon-grid[data-v-4436c518]{grid-template-columns:repeat(auto-fill, minmax(calc(300px * var(--ui-scale,1)), 1fr));gap:calc(16px * var(--ui-scale,1));display:grid}.config-list[data-v-4436c518]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.config-item[data-v-4436c518]{align-items:center;gap:calc(14px * var(--ui-scale,1));padding:var(--student-space-md);border-radius:var(--student-border-radius-card);background:var(--student-color-bg-card);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-success);transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:flex}.config-item[data-v-4436c518]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(6px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1)) #59c0592e}.config-icon[data-v-4436c518]{width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));font-size:calc(24px * var(--ui-scale,1));background:var(--student-color-success-light);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.config-left[data-v-4436c518]{flex:1;min-width:0}.config-title[data-v-4436c518]{font-family:var(--student-font-family-title);font-weight:700;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(6px * var(--ui-scale,1))}.config-meta[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.config-actions[data-v-4436c518]{align-items:center;gap:calc(8px * var(--ui-scale,1));flex-shrink:0;display:flex}.config-disabled-tag[data-v-4436c518]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);color:#757575;font-size:calc(14px * var(--ui-scale,1));background:#e0e0e0;font-weight:600;display:inline-flex}.chip-difficulty[data-v-4436c518]{color:#2e7d32;background:#e8f5e9}.meta-chip[data-v-4436c518]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:600;display:inline-flex}.chip-score[data-v-4436c518]{background:var(--student-color-primary-lightest);color:var(--student-color-primary-dark)}.dungeon-btn[data-v-4436c518]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:inline-flex}.dungeon-btn[data-v-4436c518]:hover{transform:scale(1.05)}.dungeon-btn[data-v-4436c518]:active{transform:scale(.95)}.btn-start[data-v-4436c518]{background:var(--student-color-success);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #59c0594d}.btn-emoji[data-v-4436c518]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.confirm-dialog[data-v-4436c518] .el-dialog{border-radius:calc(24px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid #ffe3b8;overflow:hidden;box-shadow:0 18px 44px #575e7538}.confirm-dialog[data-v-4436c518] .el-dialog__header{padding:calc(20px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) 0}.confirm-dialog[data-v-4436c518] .el-dialog__body{padding:calc(10px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1))}.confirm-dialog[data-v-4436c518] .el-dialog__footer{padding:calc(6px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1))}.confirm-header[data-v-4436c518]{align-items:center;gap:calc(7px * var(--ui-scale,1));text-align:center;flex-direction:column;display:flex}.confirm-icon[data-v-4436c518]{width:calc(64px * var(--ui-scale,1));height:calc(64px * var(--ui-scale,1));font-size:calc(32px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid #ffd666;box-shadow:0 calc(5px * var(--ui-scale,1)) 0 #ffc44066;background:linear-gradient(135deg,#fff3d6,#ffe7b8);border-radius:50%;justify-content:center;align-items:center;line-height:1;animation:.45s cubic-bezier(.34,1.56,.64,1) confirm-bounce-in-4436c518;display:flex}@keyframes confirm-bounce-in-4436c518{0%{opacity:0;transform:scale(.4)rotate(-14deg)}to{opacity:1;transform:scale(1)rotate(0)}}.confirm-title[data-v-4436c518]{font-family:var(--student-font-family-title);font-size:calc(21px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800}.confirm-tip[data-v-4436c518]{padding:calc(5px * var(--ui-scale,1)) calc(15px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) dashed #ffd666;font-family:var(--student-font-family-title);font-size:calc(13.5px * var(--ui-scale,1));color:#8a6100;background:#fff8e1;font-weight:700;line-height:1.5}.confirm-info-card[data-v-4436c518]{margin-top:calc(16px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) dashed #bbd8ff;border-radius:calc(18px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));background:#f7faff}.confirm-info-row[data-v-4436c518]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(11px * var(--ui-scale,1)) 0;border-bottom:calc(1.5px * var(--ui-scale,1)) dashed #d9e8ff;display:flex}.confirm-info-row[data-v-4436c518]:last-child{border-bottom:none}.confirm-info-icon[data-v-4436c518]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));font-size:calc(17px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #d9e8ff;background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-info-label[data-v-4436c518]{width:calc(64px * var(--ui-scale,1));font-size:calc(13.5px * var(--ui-scale,1));color:var(--student-color-text-muted);flex-shrink:0;font-weight:700}.confirm-info-value[data-v-4436c518]{min-width:0;font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);flex:1;font-weight:700;line-height:1.45}.confirm-dialog .confirm-cancel[data-v-4436c518],.confirm-dialog .confirm-go[data-v-4436c518]{font-family:var(--student-font-family-title);border-radius:calc(999px * var(--ui-scale,1));font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s,border-color .2s}.confirm-dialog .confirm-cancel[data-v-4436c518]{padding:calc(10px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#e5e8ef);color:var(--student-color-text-secondary);font-size:calc(14px * var(--ui-scale,1));background:#fff}.confirm-dialog .confirm-cancel[data-v-4436c518]:hover,.confirm-dialog .confirm-cancel[data-v-4436c518]:focus{color:#8a6100;transform:translateY(calc(-1px * var(--ui-scale,1)));background:#fff8e1;border-color:#ffd666}.confirm-dialog .confirm-go[data-v-4436c518]{padding:calc(10px * var(--ui-scale,1)) calc(26px * var(--ui-scale,1));background:linear-gradient(180deg, #6ed472, var(--student-color-success,#59c059));color:#fff;font-size:calc(15px * var(--ui-scale,1));box-shadow:0 calc(4px * var(--ui-scale,1)) 0 var(--student-color-success-dark,#389438), 0 calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1)) #59c05959;border:none}.confirm-dialog .confirm-go[data-v-4436c518]:hover,.confirm-dialog .confirm-go[data-v-4436c518]:focus{background:linear-gradient(180deg, #67cc6b, var(--student-color-success,#59c059));transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.03);box-shadow:0 calc(6px * var(--ui-scale,1)) 0 var(--student-color-success-dark,#389438), 0 calc(12px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1)) #59c05966}.confirm-dialog .confirm-go[data-v-4436c518]:active{transform:translateY(calc(3px * var(--ui-scale,1)));box-shadow:0 calc(1px * var(--ui-scale,1)) 0 var(--student-color-success-dark,#389438), 0 calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #59c0594d}@media (width<=899px){.ee-seg[data-v-4436c518]{flex:1;width:auto}.dungeon-grid[data-v-4436c518]{grid-template-columns:1fr}.config-item[data-v-4436c518]{flex-wrap:wrap}.config-actions[data-v-4436c518]{justify-content:flex-end;width:100%}.ee-notice-text[data-v-4436c518]{white-space:normal}}.exam-history[data-v-a2c4f5ed]{padding:var(--student-space-md,calc(16px * var(--ui-scale,1)))}.eh-loading[data-v-a2c4f5ed]{min-height:240px}.eh-all-btn[data-v-a2c4f5ed]{padding:calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);background:var(--student-color-bg-warm,#fff7e0);color:var(--student-color-accent-dark,#b35f00);font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(13.5px * var(--ui-scale,1));cursor:pointer;white-space:nowrap;align-items:center;margin-left:auto;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.eh-all-btn[data-v-a2c4f5ed]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.eh-all-btn[data-v-a2c4f5ed]:active{transform:scale(.95)}.eh-list[data-v-a2c4f5ed]{gap:calc(10px * var(--ui-scale,1));flex-direction:column;display:flex}.eh-card[data-v-a2c4f5ed]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);transition:transform .2s,box-shadow .2s;display:flex}.eh-card[data-v-a2c4f5ed]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.eh-card.is-in_progress[data-v-a2c4f5ed]{border-color:var(--student-color-primary,#4c97ff);background:var(--student-tint-motion,#e5f0ff)}.eh-card.is-submitted[data-v-a2c4f5ed]{border-color:var(--student-color-accent,#ff8c1a);background:var(--student-tint-data,#fff1e3)}.eh-card.is-graded[data-v-a2c4f5ed]{border-color:var(--student-deep-operators,#389438);background:var(--student-tint-operators,#ebf7eb)}.eh-emoji[data-v-a2c4f5ed]{font-size:calc(28px * var(--ui-scale,1));flex-shrink:0;line-height:1}.eh-main[data-v-a2c4f5ed]{flex:1;min-width:0}.eh-title-row[data-v-a2c4f5ed]{align-items:center;gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.eh-title[data-v-a2c4f5ed]{font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.eh-no[data-v-a2c4f5ed]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-deep-motion,#3373cc);background:var(--student-tint-motion,#e5f0ff);border-radius:calc(10px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));font-weight:700}.eh-meta[data-v-a2c4f5ed]{gap:calc(12px * var(--ui-scale,1));margin-top:calc(4px * var(--ui-scale,1));font-size:calc(12.5px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);flex-wrap:wrap;display:flex}.eh-score[data-v-a2c4f5ed]{text-align:right;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);flex-shrink:0}.eh-score-value[data-v-a2c4f5ed]{font-size:calc(24px * var(--ui-scale,1));font-weight:800}.eh-score-value.is-high[data-v-a2c4f5ed]{color:var(--student-deep-operators,#389438)}.eh-score-value.is-mid[data-v-a2c4f5ed]{color:var(--student-color-accent-dark,#b35f00)}.eh-score-value.is-low[data-v-a2c4f5ed]{color:var(--student-color-danger,#ef5350)}.eh-score-total[data-v-a2c4f5ed]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-left:calc(2px * var(--ui-scale,1))}.eh-score-hidden[data-v-a2c4f5ed]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);font-weight:700}.eh-action[data-v-a2c4f5ed]{flex-shrink:0}.eh-btn[data-v-a2c4f5ed]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(9px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.eh-btn[data-v-a2c4f5ed]:hover{transform:scale(1.05)}.eh-btn[data-v-a2c4f5ed]:active{transform:scale(.95)}.eh-btn-continue[data-v-a2c4f5ed]{background:var(--student-color-primary,#4c97ff);color:#fff}.eh-btn-review[data-v-a2c4f5ed]{background:var(--student-color-bg-warm,#fff7e0);color:var(--student-color-accent-dark,#b35f00);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a)}.eh-pagination[data-v-a2c4f5ed]{margin-top:calc(16px * var(--ui-scale,1));justify-content:center;display:flex}@media (width<=640px){.eh-card[data-v-a2c4f5ed]{flex-wrap:wrap}.eh-score[data-v-a2c4f5ed]{text-align:left}.eh-action[data-v-a2c4f5ed]{justify-content:flex-end;width:100%;display:flex}}.homework-editor-page[data-v-608c9b91]{height:calc(100vh - calc(56px * var(--ui-scale,1)));background:#f0f2f5;flex-direction:column;display:flex}.homework-header[data-v-608c9b91]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:#fff;border-bottom:1px solid #e4e7ed;flex-shrink:0;display:flex}.homework-title[data-v-608c9b91]{font-size:calc(16px * var(--ui-scale,1));flex:1;font-weight:600}.homework-editor-body[data-v-608c9b91]{flex:1;min-height:0;display:flex;overflow:hidden}.homework-editor-body[data-v-608c9b91]>*{flex:1;min-width:0}.homework-editor-page.editor-immersive[data-v-608c9b91]{z-index:1000;width:100vw;height:100dvh;position:fixed;top:0;left:0}.immersive-toggle[data-v-608c9b91]{right:calc(16px * var(--ui-scale,1));bottom:calc(16px * var(--ui-scale,1));z-index:1100;align-items:center;gap:calc(4px * var(--ui-scale,1));min-height:calc(38px * var(--ui-scale,1));padding:0 calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #ffffff80;border-radius:calc(10px * var(--ui-scale,1));color:#fff;font-size:calc(14px * var(--ui-scale,1));cursor:pointer;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #0003;background:#2d3748d1;font-family:inherit;font-weight:600;transition:background .15s,transform .15s;display:inline-flex;position:fixed}.immersive-toggle[data-v-608c9b91]:hover{background:#1e2838eb;transform:translateY(-1px)}.flip[data-v-ede2d09e]{perspective:1600px;width:100%;min-height:var(--v5e7a6004);transition:transform var(--student-transition-fast,.2s ease)}.flip.is-interactive[data-v-ede2d09e]{cursor:pointer}.flip.is-interactive[data-v-ede2d09e]:hover{transform:translateY(-4px)}.flip.is-interactive:hover .flip__face--front[data-v-ede2d09e]{box-shadow:var(--student-shadow-hover,0 8px 20px #4c97ff29)}.flip.is-interactive[data-v-ede2d09e]:active{transform:translateY(-1px)scale(.995)}.flip.is-interactive:active .flip__face--front[data-v-ede2d09e]{box-shadow:var(--student-shadow-press,0 2px 6px #4c97ff33)}.flip__inner[data-v-ede2d09e]{width:100%;min-height:var(--v5e7a6004);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.flip.is-flipped .flip__inner[data-v-ede2d09e]{transform:rotateY(180deg)}.flip.is-flipped .flip__face--front[data-v-ede2d09e],.flip:not(.is-flipped) .flip__face--back[data-v-ede2d09e]{pointer-events:none}.flip__face[data-v-ede2d09e]{backface-visibility:hidden;box-sizing:border-box;background:linear-gradient(#fffdf8, #fff) padding-box, linear-gradient(155deg, var(--kp-tone2,var(--student-tint-pen,#e2f7f1)), #fff 62%, var(--kp-tint,var(--student-color-primary-lightest,#e5f0ff))) border-box;border:2px solid #0000;border-radius:20px;flex-direction:column;padding:16px 22px;display:flex;position:absolute;inset:0;box-shadow:0 10px 26px #3d466121}.flip__face--front[data-v-ede2d09e]{background:linear-gradient(160deg, var(--kp-tint,var(--student-tint-pen,#e2f7f1)) 0%, var(--student-color-bg-card,#fff) 78%) padding-box, linear-gradient(155deg, var(--kp-tone2,var(--student-tint-pen,#e2f7f1)), #fff 62%, var(--kp-tint,var(--student-color-primary-lightest,#e5f0ff))) border-box;text-align:center;justify-content:center;align-items:center}.flip__face--back[data-v-ede2d09e]{justify-content:flex-start;padding:14px 20px;transform:rotateY(180deg)}.flip__deco-layer[data-v-ede2d09e]{z-index:0;pointer-events:none;border-radius:18px;position:absolute;inset:0;overflow:hidden}.flip__deco[data-v-ede2d09e]{z-index:0;aspect-ratio:1;width:clamp(150px,22%,300px);height:auto;color:var(--kp-tone,var(--student-block-pen,#0fbd8c));opacity:.3;pointer-events:none;animation:6.5s ease-in-out infinite flip-deco-float-ede2d09e;position:absolute;bottom:-12px;right:-16px}.flip__deco--back[data-v-ede2d09e]{opacity:.15}@keyframes flip-deco-float-ede2d09e{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.flip__front[data-v-ede2d09e]{z-index:1;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}.flip__front-scroll[data-v-ede2d09e]{scrollbar-width:auto;scrollbar-color:var(--student-color-primary-light,#79aeff) transparent;flex-direction:column;width:100%;height:100%;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.flip__front-inner[data-v-ede2d09e]{flex-direction:column;justify-content:center;align-items:center;width:100%;margin:auto 0;display:flex}.flip__front-scroll[data-v-ede2d09e]::-webkit-scrollbar{width:12px}.flip__front-scroll[data-v-ede2d09e]::-webkit-scrollbar-track{background:var(--student-color-primary-lightest,#e5f0ff);border-radius:999px}.flip__front-scroll[data-v-ede2d09e]::-webkit-scrollbar-thumb{background:var(--student-color-primary-light,#79aeff);background-clip:content-box;border:3px solid #0000;border-radius:999px}.flip__front-scroll[data-v-ede2d09e]::-webkit-scrollbar-thumb:hover{background:var(--student-color-primary,#4c97ff);background-clip:content-box}.flip__back-inner[data-v-ede2d09e]{width:100%}.flip__more[data-v-ede2d09e]{pointer-events:none;background:linear-gradient(#fffdf800 0%,#fffdf8 70%);border-radius:0 0 20px 20px;justify-content:center;align-items:flex-end;height:64px;padding-bottom:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.flip__more-pill[data-v-ede2d09e]{background:var(--kp-tone,var(--student-block-pen,#0fbd8c));box-shadow:0 6px 16px var(--kp-glow,#0fbd8c66);border-radius:999px;align-items:center;gap:6px;padding:6px 16px;display:inline-flex}.flip__more-text[data-v-ede2d09e]{color:#fff;font-size:13px;font-weight:800}.flip__more-arrow[data-v-ede2d09e]{color:#fff;font-size:15px;font-weight:900;animation:1.2s ease-in-out infinite flip-more-bounce-ede2d09e}@keyframes flip-more-bounce-ede2d09e{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.flip__back-scroll[data-v-ede2d09e]{z-index:1;scrollbar-width:auto;scrollbar-color:var(--student-color-primary-light,#79aeff) transparent;width:100%;height:100%;padding-right:6px;position:relative;overflow-y:auto}.flip__back-scroll[data-v-ede2d09e]::-webkit-scrollbar{width:12px}.flip__back-scroll[data-v-ede2d09e]::-webkit-scrollbar-track{background:var(--student-color-primary-lightest,#e5f0ff);border-radius:999px}.flip__back-scroll[data-v-ede2d09e]::-webkit-scrollbar-thumb{background:var(--student-color-primary-light,#79aeff);background-clip:content-box;border:3px solid #0000;border-radius:999px}.flip__back-scroll[data-v-ede2d09e]::-webkit-scrollbar-thumb:hover{background:var(--student-color-primary,#4c97ff);background-clip:content-box}@media (width<=640px){.flip__face[data-v-ede2d09e]{border-radius:16px;padding:14px}.flip__more[data-v-ede2d09e]{border-radius:0 0 16px 16px}}@media (prefers-reduced-motion:reduce){.flip__more-arrow[data-v-ede2d09e],.flip__deco[data-v-ede2d09e]{animation:none}}.kp-memo[data-v-7f5ff41e]{width:100%;max-width:min(100%,940px);margin:0 auto}.kp-memo__empty[data-v-7f5ff41e]{text-align:center;color:var(--student-color-text-secondary,#7a8699);margin:0;padding:20px 12px;font-size:15px}.kp-memo__layer[data-v-7f5ff41e]{background:#fffdf8;border:1px solid #ece7d8;border-left:5px solid #d8d2c0;border-radius:14px;margin:0 0 10px;padding:10px 12px;position:relative;box-shadow:0 2px 6px #3d46610d}.kp-memo[data-v-7f5ff41e] .markdown-body strong{color:#e07b39;background:linear-gradient(#0000 62%,#ffe1c7 62%);border-radius:3px;padding:0 2px}.kp-memo__head[data-v-7f5ff41e]{color:var(--student-color-text-primary,#3d4661);align-items:center;gap:6px;margin:0 0 6px;font-size:13.5px;font-weight:800;display:flex}.kp-memo__icon[data-v-7f5ff41e]{font-size:15px;line-height:1}.kp-memo__tag[data-v-7f5ff41e]{color:var(--student-color-primary-dark,#3373cc);background:#4c97ff1f;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11.5px;font-weight:700}.kp-memo__layer--answer[data-v-7f5ff41e]{border-color:#cfe0ff;border-left-color:var(--student-color-primary,#4c97ff);background:#eef5ff}.kp-memo__layer--answer .kp-memo__title[data-v-7f5ff41e]{color:var(--student-color-primary-dark,#3373cc)}.kp-memo__layer--answer[data-v-7f5ff41e] .markdown-body{font-size:17px;line-height:1.7}.kp-memo__layer--answer[data-v-7f5ff41e] .markdown-body p{margin:0 0 6px}.kp-memo__layer--code[data-v-7f5ff41e]{background:#f4f8fd;border-color:#e0ebf7 #e0ebf7 #e0ebf7 #79aeff}.kp-memo__layer--scene[data-v-7f5ff41e]{background:#f7f9fc;border-color:#e6e9f0 #e6e9f0 #e6e9f0 #c3cad6}.kp-memo__layer--hook[data-v-7f5ff41e]{background:#fef7e6;border-color:#f3e4c0 #f3e4c0 #f3e4c0 #ffc94d;border-radius:20px 24px 18px 26px/24px 18px 26px 20px;box-shadow:0 3px 10px #e07b3914}.kp-memo__layer--hook[data-v-7f5ff41e]:after{content:"✨";opacity:.8;font-size:13px;position:absolute;top:8px;right:10px}.kp-memo__layer--pitfall[data-v-7f5ff41e]{background:#fff5f5;border-color:#ffccc7 #ffccc7 #ffccc7 #ff8c8c}.kp-memo__layer--pitfall .kp-memo__title[data-v-7f5ff41e]{color:#cf3a3a}.kp-memo__layer--quiz[data-v-7f5ff41e]{background:#f5f7fa;border-color:#e2e8f0 #e2e8f0 #e2e8f0 #9aa6b8}.kp-memo__pre[data-v-7f5ff41e]{background:#f6f9fd;border:1.5px solid #dbe5f3;border-radius:10px;margin:0 0 8px;padding:9px 12px;overflow-x:auto}.kp-memo__pre code[data-v-7f5ff41e],.kp-memo__code pre code[data-v-7f5ff41e]{color:#3d4661;white-space:pre-wrap;word-break:break-all;font-family:Nunito,Courier New,monospace;font-size:14px;line-height:1.7}.kp-memo__code[data-v-7f5ff41e]{background:#f6f9fd;border:1.5px solid #dbe5f3;border-radius:10px;margin:0 0 8px;overflow:hidden}.kp-memo__code summary[data-v-7f5ff41e]{color:var(--student-color-primary-dark,#3373cc);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px;font-size:13.5px;font-weight:800;list-style:none;display:flex}.kp-memo__code summary[data-v-7f5ff41e]::-webkit-details-marker{display:none}.kp-memo__code summary[data-v-7f5ff41e]:after{content:"▾";color:var(--student-color-primary,#4c97ff);margin-left:auto}.kp-memo__code[open] summary[data-v-7f5ff41e]{border-bottom:1px solid #dbe5f3}.kp-memo__code[open] summary[data-v-7f5ff41e]:after{content:"▴"}.kp-memo__code pre[data-v-7f5ff41e]{margin:0;padding:9px 12px;overflow-x:auto}.kp-memo__reveal[data-v-7f5ff41e]{width:100%;color:var(--student-color-primary-dark,#3373cc);cursor:pointer;background:#4c97ff24;border:none;border-radius:10px;margin-top:4px;padding:10px 12px;font-size:15px;font-weight:700;transition:transform .1s,background .15s;display:block}.kp-memo__reveal[data-v-7f5ff41e]:hover{background:#4c97ff38}.kp-memo__reveal[data-v-7f5ff41e]:active{transform:scale(.98)}.arena[data-v-50ab7594]{--kp-tone:var(--student-block-pen,#0fbd8c);--kp-tint:var(--student-tint-pen,#e2f7f1);--kp-deep:var(--student-deep-pen,#0b8e69);width:100%;max-width:calc(1200px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-sizing:border-box;margin:0 auto}.arena--session[data-v-50ab7594]{padding-top:calc(2px * var(--ui-scale,1))}.arena__how[data-v-50ab7594]{min-height:calc(30px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary,#818697);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease);flex:none;font-weight:700}.arena__how[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--kp-tone);color:var(--kp-deep)}.arena__how[data-v-50ab7594]:active{transform:translateY(0)}.arena__tip[data-v-50ab7594]{padding:calc(30px * var(--ui-scale,1)) 0;text-align:center;color:var(--student-color-text-secondary,#818697)}.arena__tip--sm[data-v-50ab7594]{padding:calc(12px * var(--ui-scale,1)) 0;font-size:calc(13px * var(--ui-scale,1))}.arena__tip-emoji[data-v-50ab7594]{margin-bottom:calc(6px * var(--ui-scale,1));font-size:calc(30px * var(--ui-scale,1));display:block}.arena__clear[data-v-50ab7594]{margin-bottom:calc(16px * var(--ui-scale,1));padding:calc(20px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid var(--student-color-success-light,#ebf7eb);border-radius:calc(18px * var(--ui-scale,1));text-align:center;background:linear-gradient(150deg,#ebf7eb,#fffdf6)}.arena__clear-emoji[data-v-50ab7594]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(34px * var(--ui-scale,1))}.arena__clear-title[data-v-50ab7594]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-success,#389438);margin:0;font-weight:900}.arena__clear-sub[data-v-50ab7594]{margin:calc(4px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.themes[data-v-50ab7594]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin:0 0 calc(14px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) dashed var(--student-color-border,#d9e3f2);border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);flex-wrap:wrap;display:flex}.themes__label[data-v-50ab7594]{margin-right:calc(2px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:800}.themes__opt[data-v-50ab7594]{align-items:center;gap:calc(6px * var(--ui-scale,1));min-height:calc(32px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);font-family:inherit;font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);cursor:pointer;font-weight:800;transition:transform .12s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.themes__opt[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--sw)}.themes__opt[data-v-50ab7594]:active{transform:scale(.96)}.themes__opt[data-v-50ab7594]:focus-visible{outline:calc(3px * var(--ui-scale,1)) solid var(--sw);outline-offset:2px}.themes__opt.is-active[data-v-50ab7594]{border-color:var(--sw);background:var(--sw-tint);box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) var(--sw-glow)}.themes__dot[data-v-50ab7594]{width:calc(13px * var(--ui-scale,1));height:calc(13px * var(--ui-scale,1));background:var(--sw);box-shadow:inset 0 calc(-2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) #00000024;border-radius:50%}.themes__check[data-v-50ab7594]{color:var(--sw);font-weight:900}.deck-group[data-v-50ab7594]{margin-bottom:calc(14px * var(--ui-scale,1))}.deck-group__title[data-v-50ab7594]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin:0 0 calc(8px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));background:var(--kp-tint);font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--kp-deep);font-weight:800;display:inline-flex}.deck-group__emoji[data-v-50ab7594]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.deck-group__count[data-v-50ab7594]{font-family:var(--student-font-family-body);font-size:calc(11px * var(--ui-scale,1));opacity:.75;font-weight:700}.deck-grid[data-v-50ab7594]{grid-template-columns:repeat(auto-fill, minmax(calc(210px * var(--ui-scale,1)), 1fr));gap:calc(12px * var(--ui-scale,1));display:grid}.deck[data-v-50ab7594]{gap:calc(6px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));background:var(--student-color-bg-card,#fff);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a);cursor:pointer;text-align:left;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease), border-color var(--student-transition-fast,.2s ease);flex-direction:column;display:flex;position:relative}.deck[data-v-50ab7594]:hover{transform:translateY(calc(-3px * var(--ui-scale,1)));border-color:var(--kp-tone);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.deck[data-v-50ab7594]:active{box-shadow:var(--student-shadow-press,0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33);transform:translateY(-1px)}.deck.is-due[data-v-50ab7594]{border-color:var(--kp-tone);background:linear-gradient(160deg, var(--kp-tint) 0%, var(--student-color-bg-card,#fff) 72%)}.deck.is-idle[data-v-50ab7594]{border-color:var(--student-tint-operators,#ebf7eb);background:var(--student-color-bg-card,#fff)}.deck.is-idle[data-v-50ab7594]:hover{border-color:var(--kp-tone)}.deck__name[data-v-50ab7594]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:800;line-height:1.35}.deck__tag[data-v-50ab7594]{padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-size:calc(11.5px * var(--ui-scale,1));font-weight:800;display:inline-block}.deck__tag--due[data-v-50ab7594]{background:var(--student-tint-lists,#ffecef);color:var(--student-deep-lists,#cc3d5c)}.deck__tag--new[data-v-50ab7594]{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.deck__tag--done[data-v-50ab7594]{background:var(--student-tint-operators,#ebf7eb);color:var(--student-deep-operators,#389438)}.deck__bar[data-v-50ab7594]{height:calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tint);display:block;overflow:hidden}.deck__bar-fill[data-v-50ab7594]{border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tone);height:100%;transition:width var(--student-transition-fast,.2s ease);display:block}.deck__sub[data-v-50ab7594]{font-size:calc(11.5px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.session[data-v-50ab7594]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a);display:flex}.session__track[data-v-50ab7594]{min-width:calc(70px * var(--ui-scale,1));height:calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tint);box-shadow:inset 0 calc(2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) #1f2d3d14;flex:1;overflow:hidden}.session__counts[data-v-50ab7594]{flex:none;margin:0}.session__now[data-v-50ab7594]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);white-space:nowrap;font-weight:800}.session__quit[data-v-50ab7594]{min-height:calc(36px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary,#575e75);font-size:calc(13.5px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), border-color var(--student-transition-fast,.2s ease);flex:none;font-weight:800}.session__quit[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--student-color-text-secondary,#818697)}.session__quit[data-v-50ab7594]:active{transform:translateY(0)}.session__fill[data-v-50ab7594]{border-radius:calc(999px * var(--ui-scale,1));background:linear-gradient(90deg, var(--kp-tone), var(--kp-deep));height:100%;box-shadow:0 0 0 calc(2px * var(--ui-scale,1)) #fff9 inset;transition:width .25s;display:block}.card__kp[data-v-50ab7594]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.card__mascot[data-v-50ab7594]{margin-top:calc(8px * var(--ui-scale,1));font-size:calc(40px * var(--ui-scale,1));line-height:1;animation:2.4s ease-in-out infinite mascot-bob-50ab7594}@keyframes mascot-bob-50ab7594{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-5px * var(--ui-scale,1)))}}.card__title[data-v-50ab7594]{margin:calc(8px * var(--ui-scale,1)) 0 calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title,inherit);font-size:calc(30px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);font-weight:900;line-height:1.25}.card__hint[data-v-50ab7594]{margin:0 0 calc(14px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.front__qtype[data-v-50ab7594]{margin:calc(10px * var(--ui-scale,1)) 0 calc(4px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-tint-events,#fff7e0);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);align-self:center;font-weight:800}.front__question[data-v-50ab7594]{margin:calc(4px * var(--ui-scale,1)) 0 calc(10px * var(--ui-scale,1));font-family:var(--student-font-family-title,inherit);font-size:calc(24px * var(--ui-scale,1));text-align:center;color:var(--student-color-text-primary,#3d4661);font-weight:900;line-height:1.4}.front__code[data-v-50ab7594]{width:100%;margin:0 0 calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));text-align:left;background:#2f3542;overflow-x:auto}.front__code code[data-v-50ab7594]{font-family:Nunito,Courier New,monospace;font-size:calc(16px * var(--ui-scale,1));color:#f5f6fa;white-space:pre-wrap;word-break:break-all;line-height:1.9}.front__blank[data-v-50ab7594]{min-width:calc(52px * var(--ui-scale,1));padding:0 calc(8px * var(--ui-scale,1));margin:0 calc(2px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));letter-spacing:calc(2px * var(--ui-scale,1));color:#fff;text-align:center;background:#4c97ffd9;font-weight:900;display:inline-block}.front__hint[data-v-50ab7594]{margin:0 0 calc(12px * var(--ui-scale,1));font-size:calc(14.5px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.card__badge[data-v-50ab7594]{padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:800}.card__badge.is-new[data-v-50ab7594]{background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary-dark,#3373cc)}.card__badge.is-review[data-v-50ab7594]{background:var(--student-color-accent-dark-light,#fff1e3);color:var(--student-color-accent-dark,#b35f00)}.card__tap[data-v-50ab7594]{margin-top:calc(16px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tone);color:var(--student-color-bg-card,#fff);font-size:calc(14px * var(--ui-scale,1));box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) var(--kp-glow,#0fbd8c52);font-weight:800;animation:1.8s ease-in-out infinite tap-pulse-50ab7594}@keyframes tap-pulse-50ab7594{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.card__tip[data-v-50ab7594]{margin:calc(18px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.card__back-head[data-v-50ab7594]{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.card__back-title[data-v-50ab7594]{align-items:center;gap:calc(5px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tint);font-size:calc(14px * var(--ui-scale,1));color:var(--kp-deep);font-weight:800;display:inline-flex}.card__back-panda[data-v-50ab7594]{font-size:calc(14px * var(--ui-scale,1));line-height:1}.card__back-actions[data-v-50ab7594]{align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.card__flip-back[data-v-50ab7594]{min-height:calc(32px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--kp-tone);border-radius:calc(999px * var(--ui-scale,1));background:var(--kp-tint);color:var(--kp-deep);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);font-weight:800}.card__flip-back[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) var(--kp-glow,#0fbd8c47)}.card__flip-back[data-v-50ab7594]:active{transform:translateY(0)}.card__mastered[data-v-50ab7594]{padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-tint-events,#fff7e0);font-size:calc(12px * var(--ui-scale,1));flex:none}.card__empty[data-v-50ab7594]{padding:calc(30px * var(--ui-scale,1)) 0;text-align:center;color:var(--student-color-text-secondary,#818697)}.card__empty-emoji[data-v-50ab7594]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(32px * var(--ui-scale,1))}.card__desc[data-v-50ab7594]{margin-top:calc(8px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1))}.exam__tag[data-v-50ab7594]{margin:calc(10px * var(--ui-scale,1)) 0 calc(4px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-accent-dark-light,#fff1e3);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-accent-dark,#b35f00);font-weight:800}.exam__stem[data-v-50ab7594]{margin:calc(10px * var(--ui-scale,1)) 0 calc(14px * var(--ui-scale,1));font-size:calc(19px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);font-weight:900;line-height:1.5}.exam__options[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(2,1fr);width:100%;display:grid}.exam__opt[data-v-50ab7594]{align-items:center;gap:calc(10px * var(--ui-scale,1));min-height:calc(52px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);cursor:pointer;text-align:left;font-size:calc(15px * var(--ui-scale,1));transition:transform var(--student-transition-fast,.2s ease), border-color var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);display:flex}.exam__opt[data-v-50ab7594]:hover:not(:disabled){transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--student-color-primary,#4c97ff);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.exam__opt[data-v-50ab7594]:active:not(:disabled){box-shadow:var(--student-shadow-press,0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33);transform:translateY(0)}.exam__opt.is-picked[data-v-50ab7594]{border-color:var(--student-color-primary,#4c97ff);background:var(--student-color-primary-lightest,#e5f0ff)}.exam__opt.is-right[data-v-50ab7594]{border-color:var(--student-color-success,#59c059);background:var(--student-color-success-light,#ebf7eb)}.exam__opt.is-no[data-v-50ab7594]{border-color:var(--student-color-accent,#ff8c1a);background:var(--student-color-accent-dark-light,#fff1e3)}.exam__opt[data-v-50ab7594]:disabled{cursor:default}.exam__key[data-v-50ab7594]{width:calc(26px * var(--ui-scale,1));height:calc(26px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary-dark,#3373cc);font-weight:900;font-size:calc(13px * var(--ui-scale,1));flex:none;place-items:center;display:grid}.exam__text[data-v-50ab7594]{font-weight:700}.exam__feedback[data-v-50ab7594]{margin:calc(14px * var(--ui-scale,1)) 0 0;font-size:calc(14px * var(--ui-scale,1));font-weight:800}.exam__feedback.is-ok[data-v-50ab7594]{color:var(--student-color-success,#389438)}.exam__feedback.is-no[data-v-50ab7594]{color:var(--student-color-accent-dark,#b35f00)}.exam__confirm[data-v-50ab7594]{margin-top:calc(14px * var(--ui-scale,1));min-height:calc(48px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(26px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(15px * var(--ui-scale,1));cursor:pointer;box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff4d;transition:transform var(--student-transition-fast,.2s ease);border:none;font-weight:800}.exam__confirm[data-v-50ab7594]:hover:not(:disabled){transform:translateY(calc(-2px * var(--ui-scale,1)))}.exam__confirm[data-v-50ab7594]:active:not(:disabled){box-shadow:var(--student-shadow-press,0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33);transform:translateY(0)}.exam__confirm[data-v-50ab7594]:disabled{opacity:.5;cursor:not-allowed}.exam__hint[data-v-50ab7594]{margin:calc(14px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.exam-result[data-v-50ab7594]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.exam-result.is-ok[data-v-50ab7594]{background:var(--student-color-success-light,#ebf7eb);color:var(--student-color-success,#389438)}.exam-result.is-no[data-v-50ab7594]{background:var(--student-color-accent-dark-light,#fff1e3);color:var(--student-color-accent-dark,#b35f00)}.exam-result.is-idle[data-v-50ab7594]{background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-text-secondary,#818697)}.arena[data-v-50ab7594] .markdown-body{font-size:calc(16.5px * var(--ui-scale,1));line-height:1.72}.arena[data-v-50ab7594] .markdown-body h2{margin:calc(12px * var(--ui-scale,1)) 0 calc(6px * var(--ui-scale,1));padding-left:calc(8px * var(--ui-scale,1));border-left-width:calc(3px * var(--ui-scale,1));font-size:calc(17px * var(--ui-scale,1))}.arena[data-v-50ab7594] .markdown-body h2:first-child{margin-top:0}.arena[data-v-50ab7594] .markdown-body h3{margin:calc(10px * var(--ui-scale,1)) 0 calc(6px * var(--ui-scale,1));padding-left:calc(10px * var(--ui-scale,1));font-size:calc(16.5px * var(--ui-scale,1))}.arena[data-v-50ab7594] .markdown-body p,.arena[data-v-50ab7594] .markdown-body ul,.arena[data-v-50ab7594] .markdown-body ol{margin:0 0 calc(8px * var(--ui-scale,1))}.arena[data-v-50ab7594] .markdown-body pre{margin:0 0 calc(8px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1))}.arena[data-v-50ab7594] .markdown-body img{margin:calc(8px * var(--ui-scale,1)) 0}.grades[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));margin-top:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(4,1fr);display:grid}.grade[data-v-50ab7594]{justify-content:center;align-items:center;gap:calc(3px * var(--ui-scale,1));min-height:calc(62px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(18px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a);cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);flex-direction:column;display:flex;position:relative}.grade__emoji[data-v-50ab7594]{font-size:calc(22px * var(--ui-scale,1));line-height:1.1}.grade__label[data-v-50ab7594]{font-size:calc(13px * var(--ui-scale,1));font-weight:800}.grade.is-picked[data-v-50ab7594]{transform:translateY(calc(2px * var(--ui-scale,1))) scale(.99);box-shadow:var(--student-shadow-press,0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33)}.grade__flag[data-v-50ab7594]{top:calc(-10px * var(--ui-scale,1));padding:1px calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(11px * var(--ui-scale,1));font-weight:800;position:absolute}.grade[data-v-50ab7594]:hover:not(:disabled){transform:translateY(calc(-3px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.grade[data-v-50ab7594]:active:not(:disabled){box-shadow:var(--student-shadow-press,0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33);transform:translateY(-1px)scale(.98)}.grade[data-v-50ab7594]:disabled{opacity:.6;cursor:wait}.grade--again[data-v-50ab7594]{color:var(--student-color-text-secondary,#818697);background:#f3f5f9;border-color:#e4e9f2}.grade--hard[data-v-50ab7594]{border-color:var(--student-color-accent-dark-light,#fff1e3);background:var(--student-color-accent-dark-light,#fff1e3);color:var(--student-color-accent-dark,#b35f00)}.grade--good[data-v-50ab7594]{border-color:var(--student-color-success,#59c059);background:var(--student-color-success,#59c059);color:#fff;box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #59c05959}.grade--good .grade__emoji[data-v-50ab7594]{font-size:calc(26px * var(--ui-scale,1))}.grade--good .grade__label[data-v-50ab7594]{font-size:calc(14px * var(--ui-scale,1))}.grade--easy[data-v-50ab7594]{border-color:var(--student-color-primary-lightest,#e5f0ff);background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary-dark,#3373cc)}.grade.is-default[data-v-50ab7594]{transform:translateY(calc(-4px * var(--ui-scale,1))) scale(1.02);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.grade.is-default .grade__label[data-v-50ab7594]{font-size:calc(14px * var(--ui-scale,1))}.grade--good.is-default .grade__flag[data-v-50ab7594]{color:var(--student-deep-operators,#389438);background:#fff}.toast[data-v-50ab7594]{left:50%;bottom:calc(28px * var(--ui-scale,1));z-index:80;align-items:center;gap:calc(8px * var(--ui-scale,1));max-width:min(92vw, calc(420px * var(--ui-scale,1)));padding:calc(10px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29);font-size:calc(14px * var(--ui-scale,1));pointer-events:none;font-weight:800;display:flex;position:fixed;transform:translate(-50%)}.toast__icon[data-v-50ab7594]{font-size:calc(18px * var(--ui-scale,1))}.toast--ok[data-v-50ab7594]{color:var(--student-color-success,#389438)}.toast--info[data-v-50ab7594]{color:var(--student-color-primary-dark,#3373cc)}.toast-pop-enter-active[data-v-50ab7594],.toast-pop-leave-active[data-v-50ab7594]{transition:opacity .22s,transform .22s}.toast-pop-enter-from[data-v-50ab7594],.toast-pop-leave-to[data-v-50ab7594]{opacity:0;transform:translateX(-50%) translateY(calc(10px * var(--ui-scale,1)))}.intro[data-v-50ab7594]{z-index:70;padding:calc(20px * var(--ui-scale,1));background:#1f2d3d59;place-items:center;display:grid;position:fixed;inset:0}.intro__box[data-v-50ab7594]{width:min(calc(400px * var(--ui-scale,1)), 100%);padding:calc(24px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:calc(22px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:0 calc(12px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1)) #1f2d3d33;text-align:center}.intro__mascot[data-v-50ab7594]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(40px * var(--ui-scale,1));animation:2.4s ease-in-out infinite mascot-bob-50ab7594}.intro__title[data-v-50ab7594]{margin:0 0 calc(16px * var(--ui-scale,1));font-family:var(--student-font-family-title,inherit);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);font-weight:900}.intro__steps[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));margin:0 0 calc(14px * var(--ui-scale,1));text-align:left;flex-direction:column;padding:0;list-style:none;display:flex}.intro__steps li[data-v-50ab7594]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:700;display:flex}.intro__step-icon[data-v-50ab7594]{font-size:calc(20px * var(--ui-scale,1));flex:none}.intro__tip[data-v-50ab7594]{margin:0 0 calc(18px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.intro__actions[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));display:flex}.intro__btn[data-v-50ab7594]{min-height:calc(48px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-text-secondary,#818697);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease);border:none;flex:1;font-weight:800}.intro__btn--primary[data-v-50ab7594]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff4d}.intro__btn[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.intro__btn[data-v-50ab7594]:active{transform:translateY(0)}.done[data-v-50ab7594]{padding:calc(24px * var(--ui-scale,1)) 0 calc(32px * var(--ui-scale,1));text-align:center}.done__mascot[data-v-50ab7594]{font-size:calc(52px * var(--ui-scale,1));margin:0;line-height:1;animation:2.4s ease-in-out infinite mascot-bob-50ab7594}.done__title[data-v-50ab7594]{margin:calc(10px * var(--ui-scale,1)) 0 calc(16px * var(--ui-scale,1));font-family:var(--student-font-family-title,inherit);font-size:calc(22px * var(--ui-scale,1));font-weight:900}.done__grid[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));max-width:calc(620px * var(--ui-scale,1));margin:0 auto calc(18px * var(--ui-scale,1));grid-template-columns:repeat(4,1fr);display:grid}.done__grid.is-triple[data-v-50ab7594]{max-width:calc(480px * var(--ui-scale,1));grid-template-columns:repeat(3,1fr)}.done__cell[data-v-50ab7594]{align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(18px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a);flex-direction:column;display:flex}.done__cell-icon[data-v-50ab7594]{font-size:calc(18px * var(--ui-scale,1))}.done__cell b[data-v-50ab7594]{font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);font-weight:900}.done__cell-label[data-v-50ab7594]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700}.done__text[data-v-50ab7594]{margin:0 0 calc(20px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.done__actions[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));justify-content:center;display:flex}.done__btn[data-v-50ab7594]{min-height:calc(48px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(28px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary,#818697);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);font-weight:800}.done__btn--primary[data-v-50ab7594]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff4d;border-color:#0000}.done__btn[data-v-50ab7594]:hover{transform:translateY(calc(-3px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.done__btn[data-v-50ab7594]:active{transform:translateY(-1px)}.confirm[data-v-50ab7594]{z-index:60;padding:calc(20px * var(--ui-scale,1));background:#1f2d3d59;place-items:center;display:grid;position:fixed;inset:0}.confirm__box[data-v-50ab7594]{width:min(calc(340px * var(--ui-scale,1)), 100%);padding:calc(22px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);text-align:center;box-shadow:0 calc(12px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1)) #1f2d3d33}.confirm__emoji[data-v-50ab7594]{margin:0 0 calc(8px * var(--ui-scale,1));font-size:calc(34px * var(--ui-scale,1))}.confirm__text[data-v-50ab7594]{margin:0 0 calc(18px * var(--ui-scale,1));font-weight:800}.confirm__actions[data-v-50ab7594]{gap:calc(10px * var(--ui-scale,1));display:flex}.confirm__btn[data-v-50ab7594]{min-height:calc(48px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary,#818697);cursor:pointer;transition:transform var(--student-transition-fast,.2s ease);flex:1;font-weight:800}.confirm__btn--primary[data-v-50ab7594]{background:var(--student-color-primary,#4c97ff);color:#fff;border-color:#0000}.confirm__btn[data-v-50ab7594]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.confirm__btn[data-v-50ab7594]:active{transform:translateY(0)}.deck[data-v-50ab7594]:focus-visible,.session__quit[data-v-50ab7594]:focus-visible,.grade[data-v-50ab7594]:focus-visible,.exam__opt[data-v-50ab7594]:focus-visible,.exam__confirm[data-v-50ab7594]:focus-visible,.arena__how[data-v-50ab7594]:focus-visible,.done__btn[data-v-50ab7594]:focus-visible,.confirm__btn[data-v-50ab7594]:focus-visible,.intro__btn[data-v-50ab7594]:focus-visible{outline:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);outline-offset:calc(2px * var(--ui-scale,1))}@media (width<=899px){.arena[data-v-50ab7594]{padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1))}.card__title[data-v-50ab7594]{font-size:calc(24px * var(--ui-scale,1))}.exam__stem[data-v-50ab7594]{font-size:calc(17px * var(--ui-scale,1))}.exam__options[data-v-50ab7594]{grid-template-columns:1fr}.grades[data-v-50ab7594]{grid-template-columns:repeat(2,1fr)}.done__grid[data-v-50ab7594],.done__grid.is-triple[data-v-50ab7594]{grid-template-columns:repeat(2,1fr);max-width:none}}@media (prefers-reduced-motion:reduce){.card__mascot[data-v-50ab7594],.intro__mascot[data-v-50ab7594],.done__mascot[data-v-50ab7594],.card__tap[data-v-50ab7594]{animation:none}}.learning-path[data-v-2653c602]{padding:var(--student-space-md);padding-bottom:calc(150px * var(--ui-scale,1));gap:var(--student-space-md);flex-direction:column;width:100%;display:flex}.page-hero[data-v-2653c602]{text-align:center;padding:var(--student-space-sm) 0 0}.hero-title[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0 0 calc(2px * var(--ui-scale,1));font-weight:800}.hero-subtitle[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:var(--font-size-base);color:var(--student-color-text-secondary);margin:0;font-weight:600}.status-bar[data-v-2653c602]{justify-content:space-between;align-items:center;gap:var(--student-space-md);background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);flex-wrap:wrap;display:flex}.status-chips[data-v-2653c602]{align-items:center;gap:var(--student-space-sm);flex-wrap:wrap;display:flex}.status-chip[data-v-2653c602]{align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.status-divider[data-v-2653c602]{width:1px;height:calc(30px * var(--ui-scale,1));background:var(--student-color-border)}.chip-emoji[data-v-2653c602]{font-size:calc(22px * var(--ui-scale,1));line-height:1}.chip-texts[data-v-2653c602]{flex-direction:column;display:flex}.chip-texts b[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800;line-height:1.3}.chip-sub[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted)}.continue-btn[data-v-2653c602]{padding:calc(12px * var(--ui-scale,1)) calc(28px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);background:linear-gradient(135deg, var(--student-color-success), #58b368);color:var(--student-color-bg-card);font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));cursor:pointer;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #34c75959;border:none;font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.continue-btn[data-v-2653c602]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.03)}.continue-btn[data-v-2653c602]:active{transform:scale(.97)}.week-goal-card[data-v-2653c602]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card)}.week-goal-head[data-v-2653c602]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.week-goal-icon[data-v-2653c602]{font-size:calc(18px * var(--ui-scale,1))}.week-goal-title[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.week-goal-count[data-v-2653c602]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin-left:auto}.week-goal-count b[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-success);font-weight:800}.detail-toggle[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);color:var(--student-color-primary);cursor:pointer;background:0 0;border:none;padding:0}.detail-toggle[data-v-2653c602]:hover{text-decoration:underline}.week-goal-track[data-v-2653c602]{height:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-warm);border-radius:calc(8px * var(--ui-scale,1));position:relative}.week-goal-fill[data-v-2653c602]{border-radius:calc(8px * var(--ui-scale,1));background:linear-gradient(90deg, var(--student-color-primary), var(--student-color-success));height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.week-goal-star[data-v-2653c602]{top:calc(-8px * var(--ui-scale,1));font-size:calc(16px * var(--ui-scale,1));transition:left .6s;position:absolute}.week-goal-tip[data-v-2653c602]{margin:calc(8px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.week-detail[data-v-2653c602]{margin-top:calc(10px * var(--ui-scale,1));padding-top:calc(10px * var(--ui-scale,1));border-top:1px solid var(--student-color-border);gap:calc(6px * var(--ui-scale,1));max-height:calc(220px * var(--ui-scale,1));flex-direction:column;display:flex;overflow-y:auto}.week-detail-item[data-v-2653c602]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));display:flex}.wd-dot[data-v-2653c602]{color:var(--student-color-text-muted)}.wd-dot.is-mastered[data-v-2653c602]{color:var(--student-color-accent-dark)}.wd-name[data-v-2653c602]{color:var(--student-color-text-primary);flex:1}.detail-fade-enter-active[data-v-2653c602]{transition:opacity .25s}.detail-fade-enter-from[data-v-2653c602]{opacity:0}.path-layout[data-v-2653c602]{grid-template-columns:1fr calc(320px * var(--ui-scale,1));gap:var(--student-space-md);align-items:start;display:grid}.map-panel[data-v-2653c602]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));box-shadow:var(--student-shadow-card)}.map-panel-header[data-v-2653c602]{justify-content:space-between;align-items:center;gap:var(--student-space-sm);margin-bottom:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.map-panel-title[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800}.filter-group[data-v-2653c602]{gap:calc(6px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.filter-btn[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card);color:var(--student-color-text-secondary);cursor:pointer;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.filter-btn[data-v-2653c602]:hover{border-color:var(--student-color-primary);color:var(--student-color-primary);transform:translateY(-1px)scale(1.05)}.filter-btn.active[data-v-2653c602]{background:linear-gradient(135deg, var(--student-color-primary), #1e88e5);color:var(--student-color-bg-card);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #42a5f54d;border-color:#0000}.map-scroll[data-v-2653c602]{min-height:calc(200px * var(--ui-scale,1));max-height:calc(620px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1));overflow-y:auto}.map-trail[data-v-2653c602]{flex-direction:column;display:flex}.map-row[data-v-2653c602]{align-items:flex-start;display:flex}.map-h-link[data-v-2653c602]{min-width:calc(20px * var(--ui-scale,1));height:0;margin-top:calc(34px * var(--ui-scale,1));border-top:calc(4px * var(--ui-scale,1)) dotted var(--student-color-border);flex:1;position:relative}.map-h-link.is-lit[data-v-2653c602]{border-top-color:var(--student-color-accent)}.h-arrow[data-v-2653c602]{top:calc(-9px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-primary);background:var(--student-color-bg-card);padding:0 calc(2px * var(--ui-scale,1));line-height:1;position:absolute;left:50%;transform:translate(-50%)}.map-return[data-v-2653c602]{height:calc(40px * var(--ui-scale,1));padding-left:calc(4px * var(--ui-scale,1));align-items:center;display:flex}.ret-arrow[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-primary);line-height:1}.ret-line[data-v-2653c602]{border-top:calc(4px * var(--ui-scale,1)) dotted var(--student-color-border);height:0;margin-left:calc(4px * var(--ui-scale,1));flex:1}.ret-line.is-lit[data-v-2653c602]{border-top-color:var(--student-color-accent)}.map-node-wrap[data-v-2653c602]{width:calc(112px * var(--ui-scale,1));align-items:center;gap:calc(3px * var(--ui-scale,1));cursor:pointer;flex-direction:column;flex-shrink:0;transition:opacity .25s;display:flex;position:relative}.map-node-wrap.is-dimmed[data-v-2653c602]{opacity:.3;filter:grayscale(.9)}.node-circle[data-v-2653c602]{width:calc(60px * var(--ui-scale,1));height:calc(60px * var(--ui-scale,1));font-size:calc(26px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(3px * var(--ui-scale,1)) solid var(--student-color-border);box-shadow:var(--student-shadow-card);border-radius:50%;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.map-node-wrap:hover .node-circle[data-v-2653c602]{transform:scale(1.12)}.st-mastered .node-circle[data-v-2653c602]{background:var(--student-color-success-light,#e2f7f1);border-color:var(--student-color-success)}.node-star[data-v-2653c602]{top:calc(-8px * var(--ui-scale,1));left:calc(-6px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));position:absolute}.node-check[data-v-2653c602]{right:calc(-2px * var(--ui-scale,1));bottom:calc(-2px * var(--ui-scale,1));width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));background:var(--student-color-success);color:var(--student-color-bg-card);font-size:calc(12px * var(--ui-scale,1));border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute}.st-weak .node-circle[data-v-2653c602]{border-color:var(--student-color-accent-dark);background:var(--student-tint-data,#fff4e5)}.node-warn[data-v-2653c602]{right:calc(-2px * var(--ui-scale,1));bottom:calc(-2px * var(--ui-scale,1));width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));background:var(--student-color-accent-dark);color:var(--student-color-bg-card);font-size:calc(13px * var(--ui-scale,1));border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute}.st-unlearned .node-circle[data-v-2653c602]{border-color:var(--student-color-border);filter:grayscale();opacity:.8;background:#f2f4f8}.node-lock[data-v-2653c602]{right:calc(-4px * var(--ui-scale,1));bottom:calc(-4px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));position:absolute}.st-learned .node-circle[data-v-2653c602]{border-color:var(--student-color-primary)}.st-practiced .node-circle[data-v-2653c602]{border-color:var(--student-color-accent)}.is-current .node-circle[data-v-2653c602]{border-color:var(--student-color-primary);animation:1.8s ease-in-out infinite current-glow-2653c602}@keyframes current-glow-2653c602{0%,to{box-shadow:0 0 #4c97ff73}50%{box-shadow:0 0 0 calc(10px * var(--ui-scale,1)) #4c97ff00}}.node-panda[data-v-2653c602]{top:calc(-36px * var(--ui-scale,1));width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));object-fit:contain;z-index:2;animation:2s ease-in-out infinite panda-bob-2653c602;position:absolute;left:50%;transform:translate(-50%)}@keyframes panda-bob-2653c602{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translateX(-50%) translateY(calc(-5px * var(--ui-scale,1)))}}.current-badge[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-bg-card);background:var(--student-color-primary);border-radius:calc(10px * var(--ui-scale,1));padding:1px calc(8px * var(--ui-scale,1));font-weight:800;line-height:1.5}.is-targeting .node-circle[data-v-2653c602]{animation:.6s ease-in-out 4 target-blink-2653c602}@keyframes target-blink-2653c602{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.node-label[data-v-2653c602]{align-items:flex-start;gap:calc(3px * var(--ui-scale,1));width:calc(108px * var(--ui-scale,1));justify-content:center;display:flex}.node-theme[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));flex-shrink:0;line-height:1.4}.node-name[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);text-align:center;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.is-current .node-name[data-v-2653c602]{color:var(--student-color-primary);font-weight:800}.map-legend[data-v-2653c602]{gap:calc(14px * var(--ui-scale,1));margin:calc(10px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.map-legend span[data-v-2653c602]{align-items:center;gap:calc(5px * var(--ui-scale,1));display:inline-flex}.lg[data-v-2653c602]{display:inline-block}.lg-done[data-v-2653c602]{width:calc(18px * var(--ui-scale,1));border-top:calc(4px * var(--ui-scale,1)) solid var(--student-color-accent);height:0}.lg-now[data-v-2653c602]{width:calc(14px * var(--ui-scale,1));height:calc(14px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary);border-radius:50%}.lg-weak[data-v-2653c602]{width:calc(14px * var(--ui-scale,1));height:calc(14px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid var(--student-color-accent-dark);border-radius:50%}.lg-lock[data-v-2653c602]{width:calc(14px * var(--ui-scale,1));height:calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);background:#f2f4f8;border-radius:50%}.legend-tip[data-v-2653c602]{color:var(--student-color-primary);font-weight:700}.medal-wall[data-v-2653c602]{margin-top:calc(14px * var(--ui-scale,1));padding-top:calc(12px * var(--ui-scale,1));border-top:1px solid var(--student-color-border)}.medal-grid[data-v-2653c602]{gap:calc(8px * var(--ui-scale,1));margin-top:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(8,1fr);display:grid}.medal-cell[data-v-2653c602]{align-items:center;gap:calc(3px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-warm);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);filter:grayscale();opacity:.5;text-align:center;flex-direction:column;display:flex}.medal-cell.is-earned[data-v-2653c602]{filter:none;opacity:1;border-color:var(--student-color-accent-dark);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #e6a23c40}.medal-img[data-v-2653c602]{width:calc(30px * var(--ui-scale,1));height:calc(30px * var(--ui-scale,1));object-fit:contain;display:block}.medal-img.placeholder[data-v-2653c602]{background:var(--student-color-bg-warm,#fafbff);border:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border);color:var(--student-color-text-muted);font-size:calc(13px * var(--ui-scale,1));border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.medal-name[data-v-2653c602]{font-size:calc(10px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700;line-height:1.2}.medal-lv[data-v-2653c602]{font-size:calc(9px * var(--ui-scale,1));color:var(--student-color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2;overflow:hidden}.medal-cell.is-earned .medal-lv[data-v-2653c602]{font-weight:700}.medal-lv.rarity-rare[data-v-2653c602]{color:#4a90d9}.medal-lv.rarity-epic[data-v-2653c602]{color:#9b59d0}.medal-lv.rarity-legendary[data-v-2653c602]{color:#e6a23c}.medal-lv.rarity-mythic[data-v-2653c602]{color:#e05a9b}.medal-more[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-primary);cursor:pointer;padding:calc(2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));background:0 0;border:none;margin-left:auto}.medal-more[data-v-2653c602]:hover{text-decoration:underline}.medal-error[data-v-2653c602]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:var(--student-color-bg-warm);font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);display:flex}.medal-retry[data-v-2653c602]{border-radius:calc(8px * var(--ui-scale,1));background:var(--student-color-primary);color:#fff;font-size:calc(12px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));cursor:pointer;border:none}.side-panel[data-v-2653c602]{gap:var(--student-space-md);flex-direction:column;display:flex}.side-card[data-v-2653c602]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));box-shadow:var(--student-shadow-card)}.side-card-title[data-v-2653c602]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800;display:flex}.side-count[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);background:var(--student-color-bg-warm);padding:1px calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));margin-left:auto;font-weight:700}.side-card-sub[data-v-2653c602]{margin:calc(4px * var(--ui-scale,1)) 0 calc(8px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.side-empty[data-v-2653c602]{padding:calc(14px * var(--ui-scale,1)) 0 calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);text-align:center}.weak-list[data-v-2653c602]{gap:calc(10px * var(--ui-scale,1));max-height:calc(460px * var(--ui-scale,1));flex-direction:column;display:flex;overflow-y:auto}.weak-card[data-v-2653c602]{padding:calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-tint-data,#fff4e5);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-accent-dark)}.weak-head[data-v-2653c602]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(2px * var(--ui-scale,1));display:flex}.weak-name[data-v-2653c602]{min-width:0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:800;overflow:hidden}.weak-flag[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-bg-card);background:var(--student-color-accent-dark);border-radius:calc(10px * var(--ui-scale,1));padding:1px calc(8px * var(--ui-scale,1));flex-shrink:0;font-weight:700}.weak-meta[data-v-2653c602]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-bottom:calc(8px * var(--ui-scale,1))}.weak-actions[data-v-2653c602]{gap:calc(8px * var(--ui-scale,1));display:flex}.wa-btn[data-v-2653c602]{padding:calc(6px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;flex:1;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.wa-review[data-v-2653c602]{border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary);background:var(--student-color-bg-card);color:var(--student-color-primary)}.wa-practice[data-v-2653c602]{background:var(--student-color-accent-dark);color:var(--student-color-bg-card);border:none}.wa-btn[data-v-2653c602]:hover{transform:scale(1.04)}.wa-btn[data-v-2653c602]:active{transform:scale(.96)}.side-more[data-v-2653c602]{width:100%;margin-top:calc(10px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);color:var(--student-color-primary);cursor:pointer;background:0 0;border:none;display:block}.side-more[data-v-2653c602]:hover{text-decoration:underline}.kp-mask[data-v-2653c602]{z-index:1000;padding:calc(16px * var(--ui-scale,1));background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kp-dialog[data-v-2653c602]{width:100%;max-width:calc(420px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);box-shadow:0 calc(12px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1)) #0000002e;overflow:hidden}.kp-dialog-head[data-v-2653c602]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-bottom:1px solid var(--student-color-border);display:flex}.kp-dialog-icon[data-v-2653c602]{font-size:calc(28px * var(--ui-scale,1));line-height:1}.kp-dialog-title[data-v-2653c602]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800}.kp-dialog-sub[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.kp-close[data-v-2653c602]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto}.kp-dialog-body[data-v-2653c602]{padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1))}.kp-row[data-v-2653c602]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.kp-label[data-v-2653c602]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);width:calc(48px * var(--ui-scale,1));flex-shrink:0}.kp-value[data-v-2653c602]{align-items:center;gap:calc(8px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));display:flex}.kp-stars[data-v-2653c602]{color:var(--student-color-accent-dark);letter-spacing:1px}.kp-acc-track[data-v-2653c602]{width:calc(120px * var(--ui-scale,1));height:calc(8px * var(--ui-scale,1));background:var(--student-color-bg-warm);border-radius:calc(5px * var(--ui-scale,1));overflow:hidden}.kp-acc-fill[data-v-2653c602]{border-radius:calc(5px * var(--ui-scale,1));height:100%;display:block}.acc-high[data-v-2653c602]{background:var(--student-color-success)}.acc-medium[data-v-2653c602]{background:var(--student-color-accent-dark)}.acc-low[data-v-2653c602]{background:var(--student-color-danger)}.kp-reason[data-v-2653c602]{margin:calc(6px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);line-height:1.6}.kp-card-cell[data-v-2653c602]{flex-wrap:wrap}.kp-card-state[data-v-2653c602]{font-size:calc(13px * var(--ui-scale,1));font-weight:600}.kp-card-state.is-new[data-v-2653c602]{color:var(--student-block-pen,#0fbd8c)}.kp-card-state.is-due[data-v-2653c602]{color:var(--student-color-accent,#ff8c1a);font-weight:800}.kp-card-state.is-scheduled[data-v-2653c602]{color:var(--student-color-text-secondary);font-weight:500}.kp-card-open[data-v-2653c602]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-block-pen,#0fbd8c);background:var(--student-tint-pen,#e2f7f1);color:var(--student-block-pen,#0fbd8c);font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;border-radius:999px;font-weight:800;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.kp-card-open[data-v-2653c602]:hover{background:var(--student-block-pen,#0fbd8c);color:#fff;transform:translateY(calc(-1px * var(--ui-scale,1)));box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #0fbd8c4d}.kp-dialog-actions[data-v-2653c602]{gap:calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-top:1px solid var(--student-color-border);display:flex}.kp-btn[data-v-2653c602]{padding:calc(9px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;flex:1;font-weight:700}.kp-btn-ghost[data-v-2653c602]{border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);background:var(--student-color-bg-card);color:var(--student-color-text-secondary)}.kp-btn-primary[data-v-2653c602]{background:var(--student-color-primary);color:var(--student-color-bg-card);border:none}.kp-btn-note[data-v-2653c602]{border:calc(1.5px * var(--ui-scale,1)) solid var(--student-deep-looks,#714eb6);background:var(--student-color-bg-card);color:var(--student-deep-looks,#714eb6)}.kp-btn[data-v-2653c602]:disabled{cursor:not-allowed;opacity:.7}.kp-dialog--note[data-v-2653c602]{max-width:calc(520px * var(--ui-scale,1))}.kp-note-body[data-v-2653c602]{max-height:56vh;padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));overflow-y:auto}.kp-note-empty[data-v-2653c602]{padding:calc(26px * var(--ui-scale,1)) 0;text-align:center;color:var(--student-color-text-muted)}.kp-note-empty__emoji[data-v-2653c602]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(32px * var(--ui-scale,1))}.kp-note-empty__desc[data-v-2653c602]{margin:calc(8px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));line-height:1.6}.status-tag[data-v-2653c602]{font-size:calc(12px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-weight:700}.tag-mastered[data-v-2653c602]{background:var(--student-tint-operators);color:var(--student-color-success)}.tag-weak[data-v-2653c602]{background:var(--student-tint-data);color:var(--student-deep-data)}.tag-learned[data-v-2653c602]{background:var(--student-tint-events);color:var(--student-deep-events)}.tag-practiced[data-v-2653c602]{background:var(--student-tint-looks);color:var(--student-deep-looks)}.tag-unlearned[data-v-2653c602]{background:var(--student-tint-motion);color:var(--student-color-primary)}.back-to-current[data-v-2653c602]{right:calc(24px * var(--ui-scale,1));bottom:calc(130px * var(--ui-scale,1));z-index:998;align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary);border-radius:calc(22px * var(--ui-scale,1));background:var(--student-color-bg-card);color:var(--student-color-primary);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0000001a);font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed}.back-to-current[data-v-2653c602]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.04)}.back-to-current[data-v-2653c602]:active{transform:scale(.96)}.btc-icon[data-v-2653c602]{font-size:calc(15px * var(--ui-scale,1))}.fade-enter-active[data-v-2653c602],.fade-leave-active[data-v-2653c602]{transition:opacity .2s}.fade-enter-from[data-v-2653c602],.fade-leave-to[data-v-2653c602]{opacity:0}@media (width<=1199px){.path-layout[data-v-2653c602]{grid-template-columns:1fr}.medal-grid[data-v-2653c602]{grid-template-columns:repeat(4,1fr)}}@media (width<=899px){.status-bar[data-v-2653c602]{flex-direction:column;align-items:stretch}.status-divider[data-v-2653c602]{display:none}.continue-btn[data-v-2653c602]{width:100%}.map-node-wrap[data-v-2653c602]{width:calc(88px * var(--ui-scale,1))}.node-label[data-v-2653c602]{width:calc(84px * var(--ui-scale,1))}.back-to-current[data-v-2653c602]{bottom:calc(124px * var(--ui-scale,1));right:calc(16px * var(--ui-scale,1))}}.bug-monster[data-v-fecec88a]{filter:drop-shadow(0 calc(2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) #0000001f);justify-content:center;align-items:center;line-height:0;display:inline-flex}.bug-monster.is-animated.is-thinking[data-v-fecec88a]{animation:1.6s ease-in-out infinite bm-float-fecec88a}.bm-thoughts[data-v-fecec88a]{animation:1.6s ease-in-out infinite bm-blink-fecec88a}@keyframes bm-float-fecec88a{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(calc(-4px * var(--ui-scale,1))) scale(1.04)}}@keyframes bm-blink-fecec88a{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.bug-monster.is-animated.is-thinking[data-v-fecec88a],.bm-thoughts[data-v-fecec88a]{animation:none}}.bug-card[data-v-56c02819]{align-items:center;gap:var(--student-space-sm,calc(8px * var(--ui-scale,1)));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:flex;position:relative}.bug-card[data-v-56c02819]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1)) #42a5f52e)}.bug-unfixed[data-v-56c02819]{background:linear-gradient(135deg,#fff5f5,#fff);border-color:#ffcdd2}.bug-fixed[data-v-56c02819]{border-color:var(--student-color-success,#59c059);padding-right:calc(34px * var(--ui-scale,1));background:linear-gradient(135deg,#eef8ee,#fff)}.bug-monster-corner[data-v-56c02819]{top:calc(-8px * var(--ui-scale,1));left:calc(-8px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #0000001f;z-index:1;border-radius:50%;display:inline-flex;position:absolute}.bug-body[data-v-56c02819]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;display:flex}.bug-title[data-v-56c02819]{align-items:baseline;gap:calc(8px * var(--ui-scale,1));min-width:0;font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);cursor:pointer;margin:0;font-weight:700;line-height:1.4;display:flex}.bug-title__text[data-v-56c02819]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bug-title:hover .bug-title__text[data-v-56c02819]{color:var(--student-color-primary,#4c97ff)}.bug-title--code .bug-title__text[data-v-56c02819]{font-family:var(--font-family-monospace,"Consolas", "Menlo", monospace);font-size:calc(13.5px * var(--ui-scale,1));letter-spacing:0;background:var(--student-color-bg-page,#f5f7fa);border-radius:calc(6px * var(--ui-scale,1));padding:0 calc(6px * var(--ui-scale,1));font-weight:600}.bug-title--offline .bug-title__text[data-v-56c02819]{color:var(--student-color-text-muted,#999);font-weight:600}.bug-title--offline:hover .bug-title__text[data-v-56c02819]{color:var(--student-color-text-secondary,#818697)}.bug-title__offline[data-v-56c02819]{padding:calc(1px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-page,#f0f2f5);color:var(--student-color-text-muted,#999);font-size:calc(11px * var(--ui-scale,1));white-space:nowrap;flex-shrink:0;font-weight:500}.bug-card--offline[data-v-56c02819]{background:#fafafa;border-color:#e6e6e6}.bug-card--offline[data-v-56c02819]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #0000000f}.bug-card--offline .bug-monster-corner[data-v-56c02819]{filter:grayscale(.7);opacity:.75}.bug-tags[data-v-56c02819]{gap:calc(6px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.bug-tag[data-v-56c02819]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(9px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:600;display:inline-flex}.tag-knowledge[data-v-56c02819]{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.tag-count[data-v-56c02819],.tag-knowledge_gap[data-v-56c02819]{background:var(--student-tint-lists,#ffecef);color:var(--student-deep-lists,#cc3d5c)}.tag-careless[data-v-56c02819]{background:var(--student-tint-control,#fff5e3);color:var(--student-deep-control,#a8690a)}.tag-misread[data-v-56c02819]{background:var(--student-tint-sensing,#ebf5fa);color:var(--student-deep-sensing,#23719b)}.tag-progress[data-v-56c02819]{background:var(--student-tint-control,#fff5e3);color:var(--student-deep-control,#a8690a)}.bug-actions[data-v-56c02819]{align-items:center;gap:calc(8px * var(--ui-scale,1));flex-shrink:0;display:flex}.bug-btn[data-v-56c02819]{justify-content:center;align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;white-space:nowrap;border:none;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:inline-flex}.bug-btn[data-v-56c02819]:hover{transform:scale(1.05)}.bug-btn[data-v-56c02819]:active{transform:scale(.95)}.bug-btn[data-v-56c02819]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary[data-v-56c02819]{color:#fff;background:var(--student-color-primary,#4c97ff);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #42a5f54d}.bug-fixed .btn-primary[data-v-56c02819]{background:var(--student-color-success,#59c059);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #59c0594d}.btn-ghost[data-v-56c02819]{color:var(--student-color-accent-dark,#b35f00);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);background:0 0}.btn-more[data-v-56c02819]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);background:0 0;border:1px solid #e0e0e0;padding:0;line-height:1}.btn-more[data-v-56c02819]:hover{color:var(--student-color-primary,#4c97ff);border-color:var(--student-color-primary,#4c97ff)}.bug-fixed-check[data-v-56c02819]{top:calc(8px * var(--ui-scale,1));right:calc(10px * var(--ui-scale,1));opacity:.9;display:inline-flex;position:absolute}@media (width<=899px){.bug-card[data-v-56c02819]{padding-right:calc(30px * var(--ui-scale,1));flex-wrap:wrap}.bug-actions[data-v-56c02819]{justify-content:flex-end;width:100%}.bug-title[data-v-56c02819]{flex-wrap:wrap}.bug-title__text[data-v-56c02819]{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.mistake-book-game[data-v-40003d87]{padding:var(--student-space-md);width:100%;min-height:calc(100vh - calc(80px * var(--ui-scale,1)));position:relative}.bug-progress[data-v-40003d87]{gap:calc(3px * var(--ui-scale,1));min-width:calc(120px * var(--ui-scale,1));flex-direction:column;display:inline-flex}.bug-progress__bar[data-v-40003d87]{height:calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-tint-lists,#ffecef);overflow:hidden}.bug-progress__fill[data-v-40003d87]{border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-success,#59c059);height:100%;transition:width .5s;display:block}.bug-progress__text[data-v-40003d87]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700}.reason-distribution[data-v-40003d87]{gap:var(--student-space-sm);margin-bottom:var(--student-space-md);flex-wrap:wrap;display:flex}.reason-chip[data-v-40003d87]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:var(--student-font-size-sm);background:var(--student-color-bg-page);color:var(--student-color-text-secondary);font-weight:600;display:inline-flex}.reason-chip.danger[data-v-40003d87]{color:var(--student-color-danger);background:#ffebee}.reason-chip.warning[data-v-40003d87]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark)}.reason-chip.info[data-v-40003d87]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.reason-emoji[data-v-40003d87]{font-size:calc(16px * var(--ui-scale,1))}.filter-bar[data-v-40003d87]{gap:var(--student-space-md);margin-bottom:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.capsule-group[data-v-40003d87]{gap:var(--student-space-sm);display:flex}.capsule-btn[data-v-40003d87]{padding:calc(5px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #e0e0e0;background:var(--student-color-bg-card);color:var(--student-color-text-muted);font-size:var(--student-font-size-sm);cursor:pointer;font-weight:500;font-family:var(--student-font-family-title);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.capsule-btn[data-v-40003d87]:hover{border-color:var(--student-color-primary);color:var(--student-color-primary);transform:translateY(-1px)}.capsule-btn.active[data-v-40003d87]{background:var(--student-color-primary);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #42a5f547;border-color:#0000;font-weight:700}.capsule-btn.danger.active[data-v-40003d87]{background:linear-gradient(135deg, var(--student-color-danger), var(--student-color-danger));box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #ef53504d}.capsule-btn.success.active[data-v-40003d87]{background:linear-gradient(135deg, var(--student-color-success), var(--student-color-success));box-shadow:0 calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #66bb6a4d}.capsule-btn.muted.active[data-v-40003d87]{background:var(--student-color-text-muted,#9aa0ab);box-shadow:none}.offline-empty[data-v-40003d87]{padding:calc(36px * var(--ui-scale,1)) 0;text-align:center;font-family:var(--student-font-family-title);font-size:var(--student-font-size-base);color:var(--student-color-text-muted,#999);margin:0;font-weight:600}.bug-list[data-v-40003d87]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.empty-illustration[data-v-40003d87]{padding:calc(40px * var(--ui-scale,1)) 0;align-items:center;gap:calc(16px * var(--ui-scale,1));flex-direction:column;display:flex}.empty-text[data-v-40003d87]{font-family:var(--student-font-family-title);font-size:var(--student-font-size-lg);color:var(--student-color-success);text-align:center;font-weight:700}.pagination-wrap[data-v-40003d87]{margin-top:calc(20px * var(--ui-scale,1));justify-content:center;display:flex}.mistake-dialog[data-v-40003d87] .el-dialog__body{padding-top:calc(10px * var(--ui-scale,1));padding-bottom:calc(10px * var(--ui-scale,1))}.dialog-actions[data-v-40003d87]{justify-content:center;gap:calc(12px * var(--ui-scale,1));display:flex}.dialog-actions .btn-center[data-v-40003d87]{min-width:calc(104px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-family:var(--student-font-family-title);font-weight:700}.scan-body[data-v-40003d87]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.scan-overview[data-v-40003d87]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.scan-chip[data-v-40003d87]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-page,#f5f7fa);color:var(--student-color-text-secondary,#666);font-weight:700;display:inline-flex}.scan-chip.chip-knowledge[data-v-40003d87]{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.scan-chip.chip-count[data-v-40003d87]{background:var(--student-tint-lists,#ffecef);color:var(--student-deep-lists,#cc3d5c)}.scan-block[data-v-40003d87]{padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-page,#f7f9fc)}.scan-h5[data-v-40003d87]{margin:0 0 calc(8px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.scan-stem[data-v-40003d87]{font-size:calc(15px * var(--ui-scale,1));line-height:1.7}.scan-options[data-v-40003d87]{margin-top:calc(8px * var(--ui-scale,1));gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.scan-option[data-v-40003d87]{padding:calc(6px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:1px solid var(--student-color-border,#d9e3f2)}.scan-answer[data-v-40003d87]{padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));color:#7ee787;font-family:var(--font-family-monospace,"Consolas", monospace);font-size:calc(14px * var(--ui-scale,1));word-break:break-all;background:#1e1e1e;font-weight:700}.scan-expl[data-v-40003d87]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#555);line-height:1.8}.scan-expl[data-v-40003d87] code{padding:calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border-radius:calc(6px * var(--ui-scale,1));background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc);font-family:var(--font-family-monospace,"Consolas", monospace)}.scan-offline[data-v-40003d87]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin:0;font-weight:600}.reason-cards[data-v-40003d87]{gap:calc(10px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) 0;flex-direction:column;display:flex}.reason-card[data-v-40003d87]{align-items:center;gap:calc(12px * var(--ui-scale,1));width:100%;min-height:calc(64px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card,#fff);cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.reason-card[data-v-40003d87]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--student-color-primary,#4c97ff)}.reason-card.active[data-v-40003d87]{border-color:var(--student-color-primary,#4c97ff);background:var(--student-tint-motion,#e5f0ff);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff33}.reason-card__icon[data-v-40003d87]{width:calc(38px * var(--ui-scale,1));height:calc(38px * var(--ui-scale,1));background:var(--student-color-bg-page,#f5f7fa);color:var(--student-color-primary,#4c97ff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.reason-card.active .reason-card__icon[data-v-40003d87]{background:var(--student-color-primary,#4c97ff);color:#fff}.reason-card__text[data-v-40003d87]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex}.reason-card__text b[data-v-40003d87]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333)}.reason-card__text i[data-v-40003d87]{font-style:normal;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999)}.reason-card__check[data-v-40003d87]{width:calc(24px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}@media (width<=899px){.filter-bar[data-v-40003d87]{flex-direction:column}.capsule-group[data-v-40003d87]{flex-wrap:wrap}}.teacher-panel[data-v-40003d87]{margin-bottom:var(--student-space-md)}.teacher-hint[data-v-40003d87]{padding:var(--student-space-lg) 0}.class-cards-section[data-v-40003d87],.student-cards-section[data-v-40003d87]{margin-bottom:var(--student-space-sm)}.class-cards[data-v-40003d87],.student-cards[data-v-40003d87]{gap:calc(10px * var(--ui-scale,1));padding-bottom:calc(4px * var(--ui-scale,1));display:flex}.class-card[data-v-40003d87]{flex:0 0 calc(170px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #e0e0e0;border-radius:calc(10px * var(--ui-scale,1));cursor:pointer;background:var(--student-color-bg-card);transition:all .2s}.class-card[data-v-40003d87]:hover{border-color:var(--el-color-primary-light-5);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #0000000f}.class-card.active[data-v-40003d87]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.class-card-header[data-v-40003d87]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));display:flex}.class-card-icon[data-v-40003d87]{color:var(--el-color-primary);flex-shrink:0}.class-card-name[data-v-40003d87]{font-size:calc(14px * var(--ui-scale,1));color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.class-card.active .class-card-name[data-v-40003d87]{color:var(--el-color-primary)}.class-card-meta[data-v-40003d87]{align-items:center;gap:calc(6px * var(--ui-scale,1));display:flex}.class-card-count[data-v-40003d87]{font-size:calc(12px * var(--ui-scale,1));color:var(--text-secondary)}.student-card[data-v-40003d87]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #e0e0e0;border-radius:calc(24px * var(--ui-scale,1));cursor:pointer;background:var(--student-color-bg-card);flex:none;transition:all .2s;display:flex}.student-card[data-v-40003d87]:hover{border-color:var(--el-color-primary-light-5);background:var(--el-color-primary-light-9)}.student-card.active[data-v-40003d87]{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.student-card.active .student-name[data-v-40003d87]{color:var(--el-color-primary);font-weight:600}.student-avatar[data-v-40003d87]{background:var(--el-color-primary-light-7);color:var(--el-color-primary);font-weight:600;font-size:calc(13px * var(--ui-scale,1));flex-shrink:0}.student-name[data-v-40003d87]{font-size:calc(13px * var(--ui-scale,1));color:var(--text-primary);white-space:nowrap}.workspace[data-v-74865e8f]{max-width:900px;margin:auto;padding:24px}p[data-v-74865e8f]{color:#667085;line-height:1.7}article[data-v-74865e8f]{background:#fff;border:1px solid #d9e3f2;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:16px;display:flex}button[data-v-74865e8f]{color:#245f9c;font:inherit;cursor:pointer;background:#edf6ff;border:1px solid #a8cdf8;border-radius:10px;padding:10px 14px}.pet-guide-page[data-v-d649da8b]{padding:calc(16px * var(--ui-scale,1));height:100%;overflow-y:auto}.guide-tabs[data-v-d649da8b]{justify-content:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(20px * var(--ui-scale,1));display:flex}.guide-tab[data-v-d649da8b]{padding:calc(8px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));cursor:pointer;font-size:calc(14px * var(--ui-scale,1));background:#fff;border:1px solid #e0e0e0;transition:all .2s}.guide-tab.active[data-v-d649da8b]{color:#fff;background:#409eff;border-color:#409eff}.species-bar[data-v-d649da8b]{gap:calc(8px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) 0;margin-bottom:calc(16px * var(--ui-scale,1));display:flex;overflow-x:auto}.species-item[data-v-d649da8b]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid transparent;cursor:pointer;min-width:calc(72px * var(--ui-scale,1));flex-direction:column;transition:all .2s;display:flex}.species-item[data-v-d649da8b]:hover{background:#f5f5f5}.species-item.active[data-v-d649da8b]{background:#ecf5ff;border-color:#409eff}.species-item.adopted img[data-v-d649da8b]{filter:none}.species-item:not(.adopted) img[data-v-d649da8b]{filter:grayscale()opacity(.5)}.species-item img[data-v-d649da8b]{width:calc(48px * var(--ui-scale,1));height:calc(48px * var(--ui-scale,1));object-fit:contain}.species-name[data-v-d649da8b]{font-size:calc(12px * var(--ui-scale,1))}.species-rarity[data-v-d649da8b]{font-size:calc(10px * var(--ui-scale,1));padding:1px calc(6px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));color:#fff}.rarity-n[data-v-d649da8b]{background:#909399}.rarity-r[data-v-d649da8b]{background:#67c23a}.rarity-sr[data-v-d649da8b]{background:#e6a23c}.rarity-ssr[data-v-d649da8b]{background:#f56c6c}.species-detail[data-v-d649da8b]{grid-template-columns:calc(280px * var(--ui-scale,1)) 1fr;gap:calc(24px * var(--ui-scale,1));padding:calc(20px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:#fff;display:grid}.detail-left[data-v-d649da8b]{text-align:center;position:relative}.detail-rarity-tag[data-v-d649da8b]{color:#666;border-radius:calc(12px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));background:#f0f0f0;display:inline-block}.detail-img[data-v-d649da8b]{width:calc(140px * var(--ui-scale,1));height:calc(140px * var(--ui-scale,1));object-fit:contain}.detail-name[data-v-d649da8b]{margin:calc(8px * var(--ui-scale,1)) 0;font-size:calc(18px * var(--ui-scale,1))}.detail-personality[data-v-d649da8b]{color:#409eff;font-size:calc(14px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) 0;border-radius:calc(12px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:#ecf5ff;display:inline-block}.detail-desc[data-v-d649da8b]{color:#666;font-size:calc(13px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) 0}.detail-owned[data-v-d649da8b]{justify-content:center;align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));background:#f0f9eb;display:flex}.detail-right h4[data-v-d649da8b]{margin-bottom:calc(12px * var(--ui-scale,1))}.stage-grid[data-v-d649da8b]{gap:calc(12px * var(--ui-scale,1));grid-template-columns:repeat(4,1fr);display:grid}.stage-card[data-v-d649da8b]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:#f5f5f5;flex-direction:column;display:flex;position:relative}.stage-card.unlocked[data-v-d649da8b]{background:#e8f5e9}.stage-card.current[data-v-d649da8b]{border:calc(2px * var(--ui-scale,1)) solid gold;background:#fff3cd}.stage-current-tag[data-v-d649da8b]{top:calc(-8px * var(--ui-scale,1));color:#fff;font-size:calc(10px * var(--ui-scale,1));padding:1px calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));white-space:nowrap;background:#ff9800;position:absolute;left:50%;transform:translate(-50%)}.stage-img[data-v-d649da8b]{width:calc(56px * var(--ui-scale,1));height:calc(56px * var(--ui-scale,1));object-fit:contain}.stage-img.locked[data-v-d649da8b]{filter:grayscale()brightness(.4)}.stage-label[data-v-d649da8b]{font-size:calc(11px * var(--ui-scale,1));color:#666;font-weight:700}.stage-name[data-v-d649da8b]{font-size:calc(11px * var(--ui-scale,1));color:#666;text-align:center}.badge-intro[data-v-d649da8b]{border-radius:calc(12px * var(--ui-scale,1));padding:calc(16px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));text-align:center;background:linear-gradient(135deg,#fff8e1,#ffe082)}.badge-intro-title[data-v-d649da8b]{font-size:calc(16px * var(--ui-scale,1));color:#f57f17;margin-bottom:calc(4px * var(--ui-scale,1));font-weight:600}.badge-intro-desc[data-v-d649da8b]{font-size:calc(13px * var(--ui-scale,1));color:#795548}.badge-grid[data-v-d649da8b]{gap:calc(12px * var(--ui-scale,1));grid-template-columns:repeat(5,1fr);display:grid}.badge-card[data-v-d649da8b]{border-radius:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));text-align:center;align-items:center;gap:calc(4px * var(--ui-scale,1));background:#fff;border:1px solid #e0e0e0;flex-direction:column;display:flex}.badge-card.earned[data-v-d649da8b]{box-shadow:0 0 calc(12px * var(--ui-scale,1)) #ffd70033;border-color:gold}.badge-rarity[data-v-d649da8b]{font-size:calc(10px * var(--ui-scale,1));padding:1px calc(6px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));color:#fff}.badge-img-wrap[data-v-d649da8b]{position:relative}.badge-img[data-v-d649da8b]{width:calc(64px * var(--ui-scale,1));height:calc(64px * var(--ui-scale,1));object-fit:contain}.badge-img.grayscale[data-v-d649da8b]{filter:grayscale()opacity(.4)}.badge-lock[data-v-d649da8b]{top:calc(-4px * var(--ui-scale,1));right:calc(-4px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));position:absolute}.badge-name[data-v-d649da8b]{font-size:calc(13px * var(--ui-scale,1));font-weight:500}.badge-earned-text[data-v-d649da8b]{color:#67c23a;font-size:calc(12px * var(--ui-scale,1))}.badge-progress-text[data-v-d649da8b]{font-size:calc(11px * var(--ui-scale,1));color:#999}.badge-card .el-progress[data-v-d649da8b]{width:100%}@media (width<=899px){.species-detail[data-v-d649da8b]{grid-template-columns:1fr}.stage-grid[data-v-d649da8b],.badge-grid[data-v-d649da8b]{grid-template-columns:repeat(2,1fr)}}.pet-interaction[data-v-262145b3]{padding:calc(16px * var(--ui-scale,1));height:100%;overflow-y:auto}.top-bar[data-v-262145b3]{align-items:center;gap:calc(16px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:flex}.back-btn[data-v-262145b3]{padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));color:#fff;font-size:calc(14px * var(--ui-scale,1));cursor:pointer;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;font-weight:600}.interaction-tabs[data-v-262145b3]{gap:calc(10px * var(--ui-scale,1));display:flex}.itab[data-v-262145b3]{padding:calc(8px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));cursor:pointer;font-size:calc(14px * var(--ui-scale,1));background:#fff;border:1px solid #e0e0e0;transition:all .2s}.itab.active[data-v-262145b3]{color:#fff;background:#409eff;border-color:#409eff}.tab-pane[data-v-262145b3]{border-radius:calc(16px * var(--ui-scale,1));padding:calc(16px * var(--ui-scale,1));background:#fff}.search-bar[data-v-262145b3]{gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));display:flex}.search-result[data-v-262145b3]{border-radius:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));background:#f9f9f9}.search-item[data-v-262145b3]{padding:calc(6px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.search-name[data-v-262145b3]{font-size:calc(14px * var(--ui-scale,1))}.friends-head[data-v-262145b3]{margin-bottom:calc(10px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.friends-head h3[data-v-262145b3]{font-size:calc(15px * var(--ui-scale,1));margin:0}.friends-count[data-v-262145b3]{font-size:calc(12px * var(--ui-scale,1));color:#999}.friends-grid[data-v-262145b3]{grid-template-columns:repeat(auto-fill, minmax(calc(180px * var(--ui-scale,1)), 1fr));gap:calc(12px * var(--ui-scale,1));display:grid}.friend-card[data-v-262145b3]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));cursor:pointer;border:1px solid #e0e0e0;transition:all .2s;display:flex}.friend-card[data-v-262145b3]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #409eff26;border-color:#409eff}.friend-pet-img[data-v-262145b3]{width:calc(52px * var(--ui-scale,1));height:calc(52px * var(--ui-scale,1));object-fit:contain}.friend-pet-img.empty[data-v-262145b3]{font-size:calc(36px * var(--ui-scale,1));justify-content:center;align-items:center;display:flex}.friend-info[data-v-262145b3]{flex-direction:column;flex:1;min-width:0;display:flex}.friend-name[data-v-262145b3]{font-size:calc(14px * var(--ui-scale,1));font-weight:600}.friend-pet-name[data-v-262145b3]{font-size:calc(12px * var(--ui-scale,1));color:#666}.friend-count[data-v-262145b3]{font-size:calc(12px * var(--ui-scale,1));color:#999}.empty-state[data-v-262145b3]{text-align:center;padding:calc(40px * var(--ui-scale,1)) 0;color:#999}.empty-icon[data-v-262145b3]{font-size:calc(48px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:block}.empty-sub[data-v-262145b3]{font-size:calc(12px * var(--ui-scale,1));color:#bbb}.rank-toggle[data-v-262145b3]{gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));display:flex}.rank-btn[data-v-262145b3]{padding:calc(6px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));cursor:pointer;font-size:calc(13px * var(--ui-scale,1));background:#fff;border:1px solid #e0e0e0}.rank-btn.active[data-v-262145b3]{color:#fff;background:#409eff;border-color:#409eff}.rank-list[data-v-262145b3]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.rank-item[data-v-262145b3]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:#f9f9f9;display:flex}.rank-item.me[data-v-262145b3]{background:#ecf5ff;border:1px solid #409eff}.rank-no[data-v-262145b3]{width:calc(28px * var(--ui-scale,1));text-align:center;color:#999;font-weight:700}.rank-no.gold[data-v-262145b3]{color:#f7ba2a}.rank-no.silver[data-v-262145b3]{color:#9e9e9e}.rank-no.bronze[data-v-262145b3]{color:#c47f17}.rank-pet-img[data-v-262145b3]{width:calc(40px * var(--ui-scale,1));height:calc(40px * var(--ui-scale,1));object-fit:contain}.rank-emoji[data-v-262145b3]{font-size:calc(26px * var(--ui-scale,1))}.rank-info[data-v-262145b3]{flex-direction:column;flex:1;display:flex}.rank-name[data-v-262145b3]{font-size:calc(14px * var(--ui-scale,1))}.me-tag[data-v-262145b3]{font-size:calc(10px * var(--ui-scale,1));color:#fff;padding:1px calc(6px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));margin-left:calc(4px * var(--ui-scale,1));background:#409eff}.rank-pet[data-v-262145b3]{font-size:calc(12px * var(--ui-scale,1));color:#666}.rank-exp[data-v-262145b3]{font-size:calc(13px * var(--ui-scale,1));color:#409eff;font-weight:600}.feed-post-bar[data-v-262145b3]{gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(14px * var(--ui-scale,1));flex-direction:column;display:flex}.feed-list[data-v-262145b3]{gap:calc(10px * var(--ui-scale,1));flex-direction:column;display:flex}.feed-item[data-v-262145b3]{gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:#f9f9f9;display:flex}.feed-avatar[data-v-262145b3]{font-size:calc(30px * var(--ui-scale,1));flex-shrink:0}.feed-body[data-v-262145b3]{flex:1}.feed-author[data-v-262145b3]{font-size:calc(13px * var(--ui-scale,1));font-weight:600}.feed-content[data-v-262145b3]{margin:calc(6px * var(--ui-scale,1)) 0;font-size:calc(14px * var(--ui-scale,1));color:#333}.feed-foot[data-v-262145b3]{justify-content:space-between;align-items:center;display:flex}.feed-time[data-v-262145b3]{font-size:calc(11px * var(--ui-scale,1));color:#999}.like-btn[data-v-262145b3]{cursor:pointer;font-size:calc(13px * var(--ui-scale,1));color:#f56c6c;background:0 0;border:none}.visit-view[data-v-262145b3]{gap:calc(14px * var(--ui-scale,1));flex-direction:column;display:flex}.visit-room[data-v-262145b3]{height:calc(220px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:linear-gradient(#fdf5ed 0%,#fbe9d7 100%) 0 0/cover;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.visit-pet-area[data-v-262145b3]{padding-bottom:calc(12px * var(--ui-scale,1));align-items:center;gap:calc(6px * var(--ui-scale,1));z-index:2;flex-direction:column;display:flex}.visit-pet-img[data-v-262145b3]{width:calc(120px * var(--ui-scale,1));height:calc(120px * var(--ui-scale,1));object-fit:contain;filter:drop-shadow(0 calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #0003)}.visit-pet-bubble[data-v-262145b3]{border-radius:calc(14px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #00000026;background:#fff}.visit-no-pet[data-v-262145b3]{color:#666;font-size:calc(14px * var(--ui-scale,1));padding-bottom:calc(20px * var(--ui-scale,1))}.visited-tip[data-v-262145b3]{color:#b45309;border-radius:calc(8px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));background:#fff8e1}.visit-actions[data-v-262145b3]{gap:calc(10px * var(--ui-scale,1));display:flex}.v-action[data-v-262145b3]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #e0e0e0;cursor:pointer;font-size:calc(13px * var(--ui-scale,1));background:#fff;flex-direction:column;flex:1;transition:all .2s;display:flex}.v-action.selected[data-v-262145b3]{background:#ecf5ff;border-color:#409eff}.v-icon[data-v-262145b3]{font-size:calc(24px * var(--ui-scale,1))}@media (width<=899px){.top-bar[data-v-262145b3]{flex-direction:column;align-items:stretch}.friends-grid[data-v-262145b3]{grid-template-columns:1fr}}.pet-park[data-v-01796e6a]{padding:calc(12px * var(--ui-scale,1));gap:calc(12px * var(--ui-scale,1));flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.main-flex[data-v-01796e6a]{gap:calc(12px * var(--ui-scale,1));flex:1;min-height:0;display:flex;overflow:hidden}.left-panel[data-v-01796e6a]{width:calc(200px * var(--ui-scale,1));gap:calc(10px * var(--ui-scale,1));flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.center-area[data-v-01796e6a]{gap:calc(16px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.center-panel[data-v-01796e6a]{flex:1;min-width:0;min-height:0}.right-panel[data-v-01796e6a]{width:calc(320px * var(--ui-scale,1));gap:calc(10px * var(--ui-scale,1));flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.companions-section[data-v-01796e6a]{margin-bottom:0}.section-header[data-v-01796e6a]{margin-bottom:calc(8px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.section-title[data-v-01796e6a]{font-size:calc(14px * var(--ui-scale,1));font-weight:600}.slot-count[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#999}.slot-list-vertical[data-v-01796e6a]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.slot[data-v-01796e6a]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #e0e0e0;cursor:pointer;background:#f9f9f9;transition:all .2s;display:flex;position:relative}.slot[data-v-01796e6a]:hover{border-color:#409eff}.slot.filled[data-v-01796e6a]{background:#fff;border-color:#67c23a}.slot.primary[data-v-01796e6a]{box-shadow:0 0 calc(8px * var(--ui-scale,1)) #ffd70066;border-color:gold}.slot-img[data-v-01796e6a]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));object-fit:contain;flex-shrink:0}.slot-info[data-v-01796e6a]{flex-direction:column;flex:1;min-width:0;display:flex}.slot-name[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));color:#333;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-lv[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));color:#999}.slot-hp-bar[data-v-01796e6a]{width:calc(40px * var(--ui-scale,1));height:calc(4px * var(--ui-scale,1));border-radius:calc(2px * var(--ui-scale,1));background:#ddd;flex-shrink:0;overflow:hidden}.slot-hp-fill[data-v-01796e6a]{border-radius:calc(2px * var(--ui-scale,1));background:#67c23a;height:100%;transition:width .3s}.slot-empty[data-v-01796e6a]{font-size:calc(20px * var(--ui-scale,1))}.slot-empty-text[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));color:#409eff}.slot-img-locked[data-v-01796e6a]{filter:grayscale()opacity(.6)}.slot-lock[data-v-01796e6a]{top:calc(4px * var(--ui-scale,1));right:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));position:absolute}.slot-name-locked[data-v-01796e6a]{color:#999}.slot-adopt-text[data-v-01796e6a]{color:#409eff;font-weight:600}.coin-display[data-v-01796e6a]{align-items:center;gap:calc(4px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));cursor:pointer;background:linear-gradient(135deg,#fff8e1,#ffe082);justify-content:center;transition:all .2s;display:flex}.coin-display[data-v-01796e6a]:hover{transform:scale(1.03)}.coin-num[data-v-01796e6a]{font-size:calc(16px * var(--ui-scale,1));color:#f57f17;font-weight:700}.coin-label[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#795548}.visit-btn[data-v-01796e6a]{margin-top:calc(10px * var(--ui-scale,1));width:100%;padding:calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));color:#fff;font-size:calc(15px * var(--ui-scale,1));cursor:pointer;justify-content:center;align-items:center;gap:calc(8px * var(--ui-scale,1));background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;font-weight:600;transition:all .2s;display:flex}.visit-btn[data-v-01796e6a]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4facfe66}.visit-icon[data-v-01796e6a]{font-size:calc(20px * var(--ui-scale,1))}.center-panel[data-v-01796e6a],.room-section[data-v-01796e6a]{border-radius:calc(20px * var(--ui-scale,1));min-height:0;box-shadow:inset 0 0 calc(30px * var(--ui-scale,1)) #b48c6414;background-color:#0000;background-image:radial-gradient(circle at 20% 30%,#ffdce666 0%,#0000 35%),radial-gradient(circle at 80% 70%,#ffdce666 0%,#0000 35%),linear-gradient(#fdf5ed 0%,#fbe9d7 100%);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;display:flex;position:relative;overflow:hidden}.room-window[data-v-01796e6a]{top:calc(30px * var(--ui-scale,1));height:clamp(calc(160px * var(--ui-scale,1)), 28%, calc(300px * var(--ui-scale,1)));object-fit:contain;opacity:.95;z-index:2;pointer-events:none;width:auto;max-width:60%;position:absolute;left:50%;transform:translate(-50%)}.room-floor[data-v-01796e6a]{z-index:1;pointer-events:none;background:linear-gradient(#f5dcbe80 0%,#dcb48cb3 100%);height:40%;position:absolute;bottom:0;left:0;right:0}.room-floor[data-v-01796e6a]:before{content:"";background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(38px * var(--ui-scale,1)), #b4825a2e calc(38px * var(--ui-scale,1)), #b4825a2e calc(40px * var(--ui-scale,1)));position:absolute;inset:0}.room-top-bar[data-v-01796e6a]{padding:calc(12px * var(--ui-scale,1));z-index:3;justify-content:space-between;align-items:flex-start;display:flex}.quick-actions[data-v-01796e6a]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.qa-btn[data-v-01796e6a]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));cursor:pointer;font-size:calc(12px * var(--ui-scale,1));color:#fff;border:none;transition:all .2s;display:flex}.qa-icon[data-v-01796e6a]{font-size:calc(14px * var(--ui-scale,1))}.qa-signin[data-v-01796e6a]{background:#67c23a}.qa-message[data-v-01796e6a]{background:#9b59b6}.qa-diary[data-v-01796e6a]{background:#e91e8c}.qa-decor[data-v-01796e6a]{background:#00bcd4}.qa-btn[data-v-01796e6a]:hover{opacity:.85;transform:translateX(calc(2px * var(--ui-scale,1)))}.qa-btn.disabled[data-v-01796e6a]{opacity:.5;cursor:not-allowed}.exp-card[data-v-01796e6a]{align-items:center;gap:calc(8px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:#ffffffe6;display:flex}.lv-badge[data-v-01796e6a]{color:#fff;width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));font-weight:700;font-size:calc(13px * var(--ui-scale,1));background:#9b59ff;border-radius:50%;justify-content:center;align-items:center;display:flex}.exp-info[data-v-01796e6a]{gap:calc(2px * var(--ui-scale,1));min-width:calc(120px * var(--ui-scale,1));flex-direction:column;display:flex}.exp-top[data-v-01796e6a]{justify-content:space-between;align-items:center;display:flex}.exp-label[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));color:#999}.exp-help[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#409eff;cursor:pointer;width:calc(16px * var(--ui-scale,1));height:calc(16px * var(--ui-scale,1));border:1px solid #409eff;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex}.exp-text[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));color:#666}.pet-area[data-v-01796e6a]{z-index:3;flex:1;justify-content:center;align-items:flex-end;padding-bottom:8%;display:flex}.pet-display[data-v-01796e6a]{align-items:center;gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex;position:relative}.pet-status-tag[data-v-01796e6a]{top:calc(-16px * var(--ui-scale,1));color:#fff;border-radius:calc(12px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #ffd70066;z-index:4;background:linear-gradient(135deg,gold,#ffb300);font-weight:600;position:absolute}.pet-img[data-v-01796e6a]{width:clamp(calc(180px * var(--ui-scale,1)), 28vh, calc(280px * var(--ui-scale,1)));height:clamp(calc(180px * var(--ui-scale,1)), 28vh, calc(280px * var(--ui-scale,1)));object-fit:contain;filter:drop-shadow(0 calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #00000040);cursor:pointer;transition:transform .3s}.pet-img[data-v-01796e6a]:hover{transform:scale(1.08) translateY(calc(-4px * var(--ui-scale,1)))}.pet-bubble[data-v-01796e6a]{border-radius:calc(16px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #00000026;background:#fff}.pet-status-text[data-v-01796e6a]{top:calc(-30px * var(--ui-scale,1));right:calc(-10px * var(--ui-scale,1));max-width:calc(170px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:#4a9a3f;text-align:center;border:calc(2px * var(--ui-scale,1)) solid #67c23a73;border-radius:calc(12px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #0000001f;z-index:4;background:#fffffff2;line-height:1.4;animation:3s ease-in-out infinite status-float-01796e6a;position:absolute}.pet-status-text[data-v-01796e6a]:after{content:"";left:calc(14px * var(--ui-scale,1));bottom:calc(-7px * var(--ui-scale,1));border:calc(6px * var(--ui-scale,1)) solid transparent;border-top-color:#fffffff2;border-bottom:0;position:absolute}@keyframes status-float-01796e6a{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-4px * var(--ui-scale,1)))}}.no-pet[data-v-01796e6a]{align-items:center;gap:calc(12px * var(--ui-scale,1));cursor:pointer;flex-direction:column;display:flex}.no-pet-icon[data-v-01796e6a]{font-size:calc(56px * var(--ui-scale,1));animation:2s infinite bounce-01796e6a}.no-pet-text[data-v-01796e6a]{color:#666;font-size:calc(14px * var(--ui-scale,1))}@keyframes bounce-01796e6a{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-10px * var(--ui-scale,1)))}}.bottom-actions[data-v-01796e6a]{justify-content:space-between;gap:calc(14px * var(--ui-scale,1));padding:0 calc(4px * var(--ui-scale,1));z-index:5;flex-shrink:0;display:flex}.action-btn[data-v-01796e6a]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid transparent;cursor:pointer;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #0000000f;flex:1;transition:all .2s;display:flex;position:relative}.action-btn[data-v-01796e6a]:hover:not(:disabled){transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0000001f}.action-btn[data-v-01796e6a]:disabled{opacity:.5;cursor:not-allowed}.action-pat[data-v-01796e6a]{color:#2c5fa8;background:#e8f3ff;border-color:#b3d8ff}.action-pat .action-icon-wrap[data-v-01796e6a]{color:#2c5fa8;background:#b3d8ff}.action-pat[data-v-01796e6a]:hover:not(:disabled){border-color:#5a9ee8}.action-feed[data-v-01796e6a]{color:#b35900;background:#fff5e6;border-color:#ffd699}.action-feed .action-icon-wrap[data-v-01796e6a]{color:#b35900;background:#ffd699}.action-feed[data-v-01796e6a]:hover:not(:disabled){border-color:#ffb84d}.action-bag[data-v-01796e6a]{color:#6a3fa3;background:#f3e6ff;border-color:#d4b3ff}.action-bag .action-icon-wrap[data-v-01796e6a]{color:#6a3fa3;background:#d4b3ff}.action-bag[data-v-01796e6a]:hover:not(:disabled){border-color:#a880e8}.action-icon-wrap[data-v-01796e6a]{width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.action-icon[data-v-01796e6a]{font-size:calc(22px * var(--ui-scale,1))}.action-badge[data-v-01796e6a]{top:calc(-4px * var(--ui-scale,1));right:calc(-4px * var(--ui-scale,1));color:#fff;min-width:calc(18px * var(--ui-scale,1));height:calc(18px * var(--ui-scale,1));padding:0 calc(4px * var(--ui-scale,1));font-size:calc(10px * var(--ui-scale,1));background:#ff4d6d;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute}.action-text[data-v-01796e6a]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;align-items:flex-start;display:flex}.action-label[data-v-01796e6a]{font-size:calc(16px * var(--ui-scale,1));font-weight:700;line-height:1.2}.action-sub[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));opacity:.7}.right-panel .panel-card[data-v-01796e6a]{border-radius:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #0000000f;background:#fff}.panel-title[data-v-01796e6a]{font-size:calc(14px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));justify-content:space-between;align-items:center;font-weight:600;display:flex}.panel-sub[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#409eff;font-weight:400}.task-count[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#999;font-weight:400}.stage-list[data-v-01796e6a]{gap:calc(6px * var(--ui-scale,1));grid-template-columns:repeat(4,1fr);display:grid}.stage-item[data-v-01796e6a]{padding:calc(6px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));cursor:pointer;background:#f5f5f5;flex-direction:column;align-items:center;transition:all .2s;display:flex}.stage-item[data-v-01796e6a]:hover{background:#e8f4ff}.stage-item.current[data-v-01796e6a]{box-shadow:0 0 calc(8px * var(--ui-scale,1)) #ffd70066;background:#fff3cd}.stage-item.unlocked[data-v-01796e6a]:not(.current){background:#e8f5e9}.stage-thumb[data-v-01796e6a]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));object-fit:contain}.stage-thumb.locked[data-v-01796e6a]{filter:grayscale()brightness(.5)}.stage-lock[data-v-01796e6a]{font-size:calc(18px * var(--ui-scale,1));color:#ccc;line-height:calc(36px * var(--ui-scale,1))}.stage-lv[data-v-01796e6a]{font-size:calc(9px * var(--ui-scale,1));color:#666;font-weight:700}.stage-name[data-v-01796e6a]{font-size:calc(9px * var(--ui-scale,1));color:#666;text-align:center}.stat-row[data-v-01796e6a]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));display:flex}.stat-icon[data-v-01796e6a]{font-size:calc(16px * var(--ui-scale,1))}.stat-label[data-v-01796e6a]{width:calc(36px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:#666}.stat-row .el-progress[data-v-01796e6a]{flex:1}.stat-val[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));color:#67c23a;width:calc(80px * var(--ui-scale,1))}.stat-multiplier[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:gold;width:calc(30px * var(--ui-scale,1));text-align:right;font-weight:700}.task-list[data-v-01796e6a]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.task-item[data-v-01796e6a]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));background:#f9f9f9;display:flex}.task-info[data-v-01796e6a]{flex-direction:column;flex:1;display:flex}.task-title[data-v-01796e6a]{font-size:calc(13px * var(--ui-scale,1))}.task-progress[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));color:#999}.task-reward[data-v-01796e6a]{gap:calc(4px * var(--ui-scale,1));display:flex}.reward-tag[data-v-01796e6a]{font-size:calc(10px * var(--ui-scale,1));padding:1px calc(4px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1))}.reward-tag.xp[data-v-01796e6a]{color:#856404;background:#fff3cd}.reward-tag.mood[data-v-01796e6a]{color:#721c24;background:#f8d7da}.adopt-grid[data-v-01796e6a]{gap:calc(14px * var(--ui-scale,1));grid-template-columns:repeat(3,1fr);display:grid}.adopt-card[data-v-01796e6a]{border-radius:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));text-align:center;border:1px solid #e0e0e0;transition:all .2s}.adopt-card[data-v-01796e6a]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #409eff26;border-color:#409eff}.adopt-card.owned[data-v-01796e6a]{border-color:#67c23a}.adopt-img[data-v-01796e6a]{width:calc(80px * var(--ui-scale,1));height:calc(80px * var(--ui-scale,1));object-fit:contain}.adopt-info[data-v-01796e6a]{justify-content:center;align-items:center;gap:calc(6px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) 0;display:flex}.adopt-name[data-v-01796e6a]{font-weight:600}.adopt-desc[data-v-01796e6a]{font-size:calc(12px * var(--ui-scale,1));color:#666;margin:calc(8px * var(--ui-scale,1)) 0;min-height:calc(32px * var(--ui-scale,1))}.adopt-bottom[data-v-01796e6a]{justify-content:space-between;align-items:center;display:flex}.adopt-price[data-v-01796e6a]{color:#ff9800;font-weight:600}.adopt-form[data-v-01796e6a]{text-align:center}.adopt-form-img[data-v-01796e6a]{width:calc(100px * var(--ui-scale,1));height:calc(100px * var(--ui-scale,1));object-fit:contain}.adopt-form-name[data-v-01796e6a]{font-size:calc(16px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) 0 calc(4px * var(--ui-scale,1));font-weight:600}.adopt-form-personality[data-v-01796e6a]{color:#409eff;font-size:calc(13px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1))}.feed-list[data-v-01796e6a]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.feed-empty[data-v-01796e6a]{text-align:center;padding:calc(24px * var(--ui-scale,1));color:#999}.feed-item[data-v-01796e6a]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:#f9f9f9;display:flex}.feed-item[data-v-01796e6a]:hover{background:#f0f9ff}.feed-img[data-v-01796e6a]{width:calc(48px * var(--ui-scale,1));height:calc(48px * var(--ui-scale,1));object-fit:contain}.feed-info[data-v-01796e6a]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex}.feed-name[data-v-01796e6a]{font-weight:500;font-size:calc(14px * var(--ui-scale,1))}.feed-stats[data-v-01796e6a]{gap:calc(4px * var(--ui-scale,1));display:flex}.stat-tag[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));color:#666;padding:1px calc(5px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));background:#fff}.item-count[data-v-01796e6a]{font-size:calc(14px * var(--ui-scale,1));color:#409eff;font-weight:600}.decor-all[data-v-01796e6a]{max-height:calc(500px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1));overflow-y:auto}.decor-group[data-v-01796e6a]{margin-bottom:calc(20px * var(--ui-scale,1))}.decor-group-title[data-v-01796e6a]{font-size:calc(14px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));color:#333;align-items:center;gap:calc(4px * var(--ui-scale,1));font-weight:600;display:flex}.decor-grid[data-v-01796e6a]{gap:calc(8px * var(--ui-scale,1));grid-template-columns:repeat(6,1fr);display:grid}.decor-card[data-v-01796e6a]{border-radius:calc(10px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1));cursor:pointer;border:1px solid #e0e0e0;transition:all .2s;position:relative;overflow:hidden}.decor-card[data-v-01796e6a]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #409eff1a;border-color:#409eff}.decor-card.equipped[data-v-01796e6a]{border-color:#67c23a;border-width:calc(2px * var(--ui-scale,1))}.decor-img[data-v-01796e6a]{width:100%;height:calc(80px * var(--ui-scale,1));object-fit:contain;margin-bottom:calc(4px * var(--ui-scale,1));display:block}.decor-name[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));text-align:center;color:#333;display:block}.decor-check[data-v-01796e6a]{top:calc(6px * var(--ui-scale,1));left:calc(6px * var(--ui-scale,1));color:#fff;width:calc(16px * var(--ui-scale,1));height:calc(16px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));background:#67c23a;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute}.decor-price-badge[data-v-01796e6a]{bottom:calc(22px * var(--ui-scale,1));right:calc(6px * var(--ui-scale,1));color:gold;border-radius:calc(10px * var(--ui-scale,1));padding:1px calc(6px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));align-items:center;gap:calc(2px * var(--ui-scale,1));background:#50321ed9;font-weight:600;display:flex;position:absolute}.decor-tip[data-v-01796e6a]{text-align:center;font-size:calc(12px * var(--ui-scale,1));color:#999;margin-top:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));background:#f5f5f5}.diary-tabs[data-v-01796e6a]{gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));display:flex}.diary-tab[data-v-01796e6a]{padding:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));cursor:pointer;font-size:calc(13px * var(--ui-scale,1));background:#fff;border:1px solid #e0e0e0;transition:all .2s}.diary-tab.active[data-v-01796e6a]{color:#fff;background:#409eff;border-color:#409eff}.tab-count[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));opacity:.8;margin-left:calc(2px * var(--ui-scale,1))}.diary-timeline[data-v-01796e6a]{max-height:calc(350px * var(--ui-scale,1));overflow-y:auto}.diary-event[data-v-01796e6a]{gap:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) 0;border-bottom:1px solid #f0f0f0;display:flex}.diary-icon[data-v-01796e6a]{font-size:calc(20px * var(--ui-scale,1));flex-shrink:0}.diary-content[data-v-01796e6a]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;display:flex}.diary-summary[data-v-01796e6a]{font-size:calc(13px * var(--ui-scale,1));color:#333}.diary-time[data-v-01796e6a]{font-size:calc(11px * var(--ui-scale,1));color:#999}.help-content p[data-v-01796e6a]{margin:calc(8px * var(--ui-scale,1)) 0;font-size:calc(13px * var(--ui-scale,1));line-height:1.6}.stage-preview[data-v-01796e6a]{text-align:center}.stage-preview-img[data-v-01796e6a]{width:calc(200px * var(--ui-scale,1));height:calc(200px * var(--ui-scale,1));object-fit:contain}.stage-preview p[data-v-01796e6a]{color:#999;font-size:calc(13px * var(--ui-scale,1));margin-top:calc(8px * var(--ui-scale,1))}@media (width<=1199px){.left-panel[data-v-01796e6a]{width:calc(160px * var(--ui-scale,1))}.right-panel[data-v-01796e6a]{width:calc(280px * var(--ui-scale,1))}}@media (width<=899px){.pet-park[data-v-01796e6a]{overflow-y:auto}.left-panel[data-v-01796e6a],.right-panel[data-v-01796e6a]{width:100%}.adopt-grid[data-v-01796e6a]{grid-template-columns:repeat(2,1fr)}.decor-grid[data-v-01796e6a]{grid-template-columns:repeat(3,1fr)}.stage-list[data-v-01796e6a]{grid-template-columns:repeat(4,1fr)}}.practice-center[data-v-b9a89bf6]{background:var(--student-color-bg-warm);min-height:100vh}.pc-topbar[data-v-b9a89bf6]{align-items:center;gap:calc(16px * var(--ui-scale,1));height:calc(64px * var(--ui-scale,1));padding:0 var(--student-space-md);background:var(--student-color-bg-card,#fff);border-bottom:1px solid var(--student-color-border,#e8ecf3);display:flex}.pc-brand[data-v-b9a89bf6]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);white-space:nowrap;flex-shrink:0;font-weight:800;display:inline-flex}.pc-brand-icon[data-v-b9a89bf6]{font-size:calc(20px * var(--ui-scale,1));line-height:1}.pc-tabs[data-v-b9a89bf6]{align-items:center;gap:calc(8px * var(--ui-scale,1));scrollbar-width:none;margin-left:auto;display:flex;overflow-x:auto}.pc-tabs[data-v-b9a89bf6]::-webkit-scrollbar{display:none}.pc-tab[data-v-b9a89bf6]{align-items:center;gap:calc(6px * var(--ui-scale,1));height:calc(40px * var(--ui-scale,1));padding:0 calc(16px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;font-weight:700;transition:background .2s,color .2s,transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative}.pc-tab[data-v-b9a89bf6]:hover{background:var(--student-tint-motion,#e5f0ff);color:var(--student-deep-motion,#3373cc)}.pc-tab[data-v-b9a89bf6]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);outline-offset:calc(2px * var(--ui-scale,1))}.pc-tab.active[data-v-b9a89bf6]{background:var(--student-color-primary,#4c97ff);border-color:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff52;font-weight:800}.pc-tab-emoji[data-v-b9a89bf6]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.pc-tab-badge[data-v-b9a89bf6]{top:calc(-6px * var(--ui-scale,1));right:calc(-2px * var(--ui-scale,1));min-width:calc(18px * var(--ui-scale,1));height:calc(18px * var(--ui-scale,1));padding:0 calc(4px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-danger,#ff6680);color:#fff;font-family:var(--student-font-family-title);font-size:calc(11px * var(--ui-scale,1));box-sizing:content-box;border:2px solid #fff;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex;position:absolute}.pc-body[data-v-b9a89bf6]{padding:var(--student-space-md)}@media (width<=899px){.pc-topbar[data-v-b9a89bf6]{gap:calc(10px * var(--ui-scale,1))}.pc-brand-name[data-v-b9a89bf6]{display:none}}.practice-exercise[data-v-bf555b02]{--practice-chrome:calc(88px * var(--ui-scale,1));padding:var(--student-space-md);box-sizing:border-box;width:100%;height:calc(100vh - var(--practice-chrome));height:calc(100dvh - var(--practice-chrome));min-height:calc(520px * var(--ui-scale,1));flex-direction:column;display:flex;overflow:hidden}.loading-state[data-v-bf555b02]{justify-content:center;align-items:center;gap:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);flex-direction:column;flex:1;display:flex}.loading-text[data-v-bf555b02]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));margin:0;font-weight:600}.btn-submit-training[data-v-bf555b02]{min-height:calc(48px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn)!important;font-weight:700!important;font-family:var(--student-font-family-title)!important;font-size:calc(16px * var(--ui-scale,1))!important;padding:0 calc(24px * var(--ui-scale,1))!important}.btn-submit-training.is-final[data-v-bf555b02]{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #59c05959;transform:scale(1.02)}.practice-split-layout[data-v-bf555b02]{gap:calc(16px * var(--ui-scale,1));flex:1;min-height:0;display:flex}.split-left[data-v-bf555b02]{width:calc(264px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);box-shadow:var(--student-shadow-card);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.left-header[data-v-bf555b02]{padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-bottom:1px solid var(--student-color-border);gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.left-title[data-v-bf555b02]{font-family:var(--student-font-family-title);font-weight:700;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-block[data-v-bf555b02]{padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-bottom:1px solid var(--student-color-border);background:var(--student-color-bg-warm)}.progress-line[data-v-bf555b02]{justify-content:space-between;align-items:baseline;gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.progress-strong[data-v-bf555b02]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.progress-hint[data-v-bf555b02]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:600}.progress-bar[data-v-bf555b02] .el-progress-bar__outer{border-radius:calc(8px * var(--ui-scale,1));background:#fff}.question-nav-list[data-v-bf555b02]{padding:calc(8px * var(--ui-scale,1));flex:1;overflow-y:auto}.question-nav-item[data-v-bf555b02]{align-items:flex-start;gap:calc(10px * var(--ui-scale,1));width:100%;padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid transparent;text-align:left;cursor:pointer;background:0 0;font-family:inherit;transition:all .2s;display:flex}.question-nav-item[data-v-bf555b02]:hover{background:var(--student-color-primary-lightest,#ecf5ff);border-color:var(--student-color-primary,#4c97ff)}.question-nav-item.active[data-v-bf555b02]{background:var(--student-color-primary-lightest,#ecf5ff);border-color:var(--student-color-primary,#4c97ff);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff26}.question-nav-item.programming .nav-index[data-v-bf555b02]{background:var(--student-color-danger,#ff6680);color:#fff}.nav-index[data-v-bf555b02]{width:calc(28px * var(--ui-scale,1));height:calc(28px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(13px * var(--ui-scale,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.nav-info[data-v-bf555b02]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;display:flex}.nav-title[data-v-bf555b02]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.3;overflow:hidden}.nav-preview[data-v-bf555b02]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.nav-meta[data-v-bf555b02]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-top:calc(2px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));display:flex}.nav-type[data-v-bf555b02]{padding:1px calc(6px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));background:var(--student-color-bg-warm);color:var(--student-color-text-secondary);font-weight:600}.nav-check[data-v-bf555b02]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-success);font-weight:700}.nav-todo[data-v-bf555b02]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.left-footer[data-v-bf555b02]{padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-top:1px solid var(--student-color-border);text-align:center}.left-footer-hint[data-v-bf555b02]{margin:calc(6px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);line-height:1.4}.kid-btn[data-v-bf555b02]{border-radius:var(--student-border-radius-btn);padding:calc(10px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);cursor:pointer;white-space:nowrap;transition:transform .15s}.kid-btn[data-v-bf555b02]:active{transform:scale(.96)}.kid-btn-back[data-v-bf555b02]{background:var(--student-color-primary-lightest);color:var(--student-color-primary-dark,#3373cc);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary)}.kid-btn-back[data-v-bf555b02]:hover{background:#d9ecff}.kid-btn-pause[data-v-bf555b02]{background:var(--student-color-bg-card);width:100%;color:var(--student-color-text-secondary);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border)}.kid-btn-pause[data-v-bf555b02]:hover{border-color:var(--student-color-primary);color:var(--student-color-primary-dark,#3373cc)}.split-right[data-v-bf555b02]{background:var(--student-color-bg-card,#fff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);min-width:0;box-shadow:var(--student-shadow-card);flex-direction:column;flex:1;display:flex;overflow:hidden}.answer-editor[data-v-bf555b02]{flex-direction:column;flex:1;min-height:0;display:flex}.answer-scroll[data-v-bf555b02]{min-height:0;padding:calc(20px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex;overflow-y:auto}.answer-inner[data-v-bf555b02]{width:100%;max-width:calc(860px * var(--ui-scale,1));gap:calc(12px * var(--ui-scale,1));flex-direction:column;margin:auto;display:flex}.question-head[data-v-bf555b02]{align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.question-seq[data-v-bf555b02]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:700}.question-title[data-v-bf555b02]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700;line-height:1.5}.answer-nav[data-v-bf555b02]{justify-content:space-between;align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border-top:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);background:var(--student-color-bg-warm);flex-shrink:0;display:flex}.nav-btn[data-v-bf555b02]{min-height:calc(48px * var(--ui-scale,1));font-size:calc(16px * var(--ui-scale,1))!important;font-weight:700!important;font-family:var(--student-font-family-title)!important;border-radius:var(--student-border-radius-btn)!important;padding:0 calc(22px * var(--ui-scale,1))!important}.nav-center[data-v-bf555b02]{text-align:center;flex:1}.nav-center-text[data-v-bf555b02]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.result-scroll[data-v-bf555b02]{min-height:0;padding:calc(20px * var(--ui-scale,1));flex:1;overflow-y:auto}.result-summary[data-v-bf555b02]{text-align:center;padding:var(--student-space-md)}.mistake-progress-tip[data-v-bf555b02]{margin-top:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-tint-control,#fff5e3);color:var(--student-deep-control,#a8690a);font-size:calc(14px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title,inherit);display:inline-block}.score-correct[data-v-bf555b02]{font-size:calc(32px * var(--ui-scale,1));color:var(--student-color-success);font-weight:700}.score-total[data-v-bf555b02]{font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-text-muted)}.my-wrong-answer[data-v-bf555b02]{margin-bottom:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) dashed #ffcc80;border-radius:calc(14px * var(--ui-scale,1));background:linear-gradient(135deg,#fff8e6 0%,#fff3d6 100%)}.my-wrong-title[data-v-bf555b02]{font-weight:800;font-family:var(--student-font-family-title,inherit);color:#e65100;margin-bottom:calc(4px * var(--ui-scale,1))}.my-wrong-body[data-v-bf555b02]{color:var(--student-color-text-primary,#303133);word-break:break-word;font-weight:700;line-height:1.7}.my-wrong-tip[data-v-bf555b02]{margin-top:calc(4px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#909399)}.self-judge[data-v-bf555b02]{margin-top:calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-warm,#f8f9fa)}.self-judge-title[data-v-bf555b02]{font-weight:800;font-family:var(--student-font-family-title,inherit);margin-bottom:calc(8px * var(--ui-scale,1))}.self-judge-actions[data-v-bf555b02]{justify-content:center;gap:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.answer-review[data-v-bf555b02]{margin-bottom:var(--student-space-sm);padding:var(--student-space-sm);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(12px * var(--ui-scale,1))}.answer-header[data-v-bf555b02]{align-items:center;gap:var(--student-space-sm);margin-bottom:var(--student-space-sm);display:flex}.answer-header.correct[data-v-bf555b02]{color:var(--student-color-success)}.answer-header.wrong[data-v-bf555b02]{color:var(--student-color-danger)}.answer-header.pending[data-v-bf555b02]{color:var(--student-color-warning,#b8860b)}.answer-index[data-v-bf555b02]{font-weight:700}.answer-body[data-v-bf555b02]{font-size:var(--student-font-size-base);line-height:var(--student-line-height-base);padding-left:calc(20px * var(--ui-scale,1))}.explanation[data-v-bf555b02]{background:var(--student-color-bg-warm);padding:var(--student-space-sm);border-radius:calc(8px * var(--ui-scale,1));margin-top:calc(4px * var(--ui-scale,1))}.code-block[data-v-bf555b02]{background:var(--student-color-bg-warm);border:1px solid var(--student-color-border);border-radius:calc(8px * var(--ui-scale,1));padding:var(--student-space-sm);font-family:Consolas,Courier New,monospace;font-size:calc(13px * var(--ui-scale,1));max-height:calc(220px * var(--ui-scale,1));white-space:pre-wrap;word-break:break-all;overflow:auto}.judge-note[data-v-bf555b02]{margin-top:calc(4px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-success);font-weight:600}@media (width<=1199px){.split-left[data-v-bf555b02]{width:calc(220px * var(--ui-scale,1))}.nav-btn[data-v-bf555b02]{padding:0 calc(14px * var(--ui-scale,1))!important;font-size:calc(15px * var(--ui-scale,1))!important}}@media (width<=899px){.practice-exercise[data-v-bf555b02]{height:auto;min-height:0;overflow:visible}.practice-split-layout[data-v-bf555b02]{flex-direction:column;min-height:0}.split-left[data-v-bf555b02]{width:100%;max-height:calc(260px * var(--ui-scale,1))}.split-right[data-v-bf555b02]{min-height:calc(460px * var(--ui-scale,1))}.answer-nav[data-v-bf555b02]{flex-wrap:wrap}.nav-center[data-v-bf555b02]{flex-basis:100%;order:3}}.page-content:has(.practice-exercise){overflow-y:hidden!important}.practice-history[data-v-74da0e57]{padding:calc(16px * var(--ui-scale,1));width:100%}.empty-state[data-v-74da0e57]{padding:calc(40px * var(--ui-scale,1));text-align:center}.pagination-wrap[data-v-74da0e57]{margin-top:calc(16px * var(--ui-scale,1));justify-content:center;display:flex}.detail-content[data-v-74da0e57]{padding:calc(8px * var(--ui-scale,1))}.detail-summary h3[data-v-74da0e57]{margin-bottom:calc(12px * var(--ui-scale,1))}.detail-scores[data-v-74da0e57]{gap:calc(20px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));display:flex}.detail-time[data-v-74da0e57]{color:var(--student-color-text-muted);font-size:calc(13px * var(--ui-scale,1))}.detail-answer[data-v-74da0e57]{padding:calc(10px * var(--ui-scale,1));border:1px solid var(--student-color-bg-card);border-radius:calc(6px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1))}.detail-answer.correct[data-v-74da0e57]{border-left:calc(3px * var(--ui-scale,1)) solid var(--student-color-success)}.detail-answer.wrong[data-v-74da0e57]{border-left:calc(3px * var(--ui-scale,1)) solid var(--student-color-danger)}.detail-answer.pending[data-v-74da0e57]{border-left:calc(3px * var(--ui-scale,1)) solid var(--student-color-warning,#b8860b)}.detail-answer-header[data-v-74da0e57]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(6px * var(--ui-scale,1));display:flex}.detail-answer-title[data-v-74da0e57]{font-weight:500}.detail-answer-body[data-v-74da0e57]{font-size:calc(13px * var(--ui-scale,1));padding-left:calc(24px * var(--ui-scale,1));line-height:1.8}.explanation[data-v-74da0e57]{background:var(--student-color-bg-warm);padding:calc(8px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));margin-top:calc(4px * var(--ui-scale,1))}.accuracy-high[data-v-74da0e57]{color:var(--student-color-success)}.accuracy-mid[data-v-74da0e57]{color:var(--student-color-accent-dark)}.accuracy-low[data-v-74da0e57]{color:var(--student-color-danger)}.text-accent-dark[data-v-74da0e57]{color:var(--student-color-accent-dark)}.recommendations[data-v-964ec0d8]{padding:calc(16px * var(--ui-scale,1));width:100%}.page-header[data-v-964ec0d8]{margin-bottom:calc(12px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.header-left[data-v-964ec0d8]{gap:calc(4px * var(--ui-scale,1));flex-direction:column;display:flex}.page-title[data-v-964ec0d8]{font-size:calc(20px * var(--ui-scale,1));color:var(--el-text-color-primary);margin:0;font-weight:600}.page-subtitle[data-v-964ec0d8]{font-size:calc(13px * var(--ui-scale,1));color:var(--el-text-color-secondary)}.goal-tabs[data-v-964ec0d8]{margin-bottom:calc(12px * var(--ui-scale,1))}.goal-tabs .el-tabs__item[data-v-964ec0d8]{font-size:calc(14px * var(--ui-scale,1))}.profile-card[data-v-964ec0d8]{margin-bottom:calc(16px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));background:linear-gradient(135deg,#f5f7fa 0%,#e8eef5 100%)}.profile-card .el-card__body[data-v-964ec0d8]{padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1))}.profile-row[data-v-964ec0d8]{gap:calc(24px * var(--ui-scale,1));flex-wrap:wrap;align-items:center;display:flex}.profile-item[data-v-964ec0d8]{gap:calc(4px * var(--ui-scale,1));min-width:calc(120px * var(--ui-scale,1));flex-direction:column;display:flex}.profile-label[data-v-964ec0d8]{font-size:calc(12px * var(--ui-scale,1));color:var(--el-text-color-secondary)}.level-progress[data-v-964ec0d8]{width:calc(140px * var(--ui-scale,1))}.streak-display[data-v-964ec0d8]{gap:calc(8px * var(--ui-scale,1));align-items:center;display:flex}.streak-correct[data-v-964ec0d8]{color:#67c23a;font-weight:600;font-size:calc(14px * var(--ui-scale,1))}.streak-wrong[data-v-964ec0d8]{color:#f56c6c;font-weight:600;font-size:calc(14px * var(--ui-scale,1))}.streak-neutral[data-v-964ec0d8]{color:var(--el-text-color-secondary);font-size:calc(13px * var(--ui-scale,1))}.card-list[data-v-964ec0d8]{gap:calc(12px * var(--ui-scale,1));min-height:calc(200px * var(--ui-scale,1));flex-direction:column;display:flex}.rec-card[data-v-964ec0d8]{border-radius:calc(8px * var(--ui-scale,1))}.card-header[data-v-964ec0d8]{margin-bottom:calc(8px * var(--ui-scale,1));justify-content:space-between;align-items:flex-start;gap:calc(8px * var(--ui-scale,1));display:flex}.card-title-row[data-v-964ec0d8]{align-items:center;gap:calc(6px * var(--ui-scale,1));flex:1;min-width:0;display:flex}.rec-type-tag[data-v-964ec0d8],.review-tag[data-v-964ec0d8],.subject-tag[data-v-964ec0d8]{flex-shrink:0}.theme-tag[data-v-964ec0d8]{color:#67c23a;background-color:#f0f9eb;border-color:#e1f3d8;flex-shrink:0}.card-title[data-v-964ec0d8]{font-size:calc(15px * var(--ui-scale,1));color:var(--el-text-color-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.card-tags[data-v-964ec0d8]{gap:calc(6px * var(--ui-scale,1));flex-shrink:0;display:flex}.card-kp[data-v-964ec0d8]{align-items:center;gap:calc(4px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--el-text-color-secondary);margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.card-metrics[data-v-964ec0d8]{gap:calc(16px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.metric-item[data-v-964ec0d8]{align-items:center;gap:calc(8px * var(--ui-scale,1));min-width:calc(140px * var(--ui-scale,1));display:flex}.metric-label[data-v-964ec0d8]{font-size:calc(12px * var(--ui-scale,1));color:var(--el-text-color-secondary);white-space:nowrap}.metric-bar[data-v-964ec0d8]{width:calc(90px * var(--ui-scale,1))}.card-score[data-v-964ec0d8]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));display:flex}.score-label[data-v-964ec0d8]{font-size:calc(13px * var(--ui-scale,1));color:var(--el-text-color-secondary);white-space:nowrap}.score-bar[data-v-964ec0d8]{flex:1}.card-reasons[data-v-964ec0d8]{gap:calc(6px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.reason-tag[data-v-964ec0d8]{white-space:normal;max-width:100%;height:auto;padding:calc(4px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));line-height:1.4}.card-actions[data-v-964ec0d8]{padding-top:calc(8px * var(--ui-scale,1));border-top:1px solid var(--el-border-color-lighter);justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.action-left[data-v-964ec0d8]{align-items:center;gap:calc(12px * var(--ui-scale,1));display:flex}.feedback-group[data-v-964ec0d8]{gap:calc(4px * var(--ui-scale,1));display:flex}.feedback-group .el-button[data-v-964ec0d8]{font-size:calc(14px * var(--ui-scale,1));width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1))}.software-download[data-v-37ae6fe7]{padding:calc(24px * var(--ui-scale,1))}.page-hero[data-v-37ae6fe7]{align-items:center;gap:calc(14px * var(--ui-scale,1));margin-bottom:calc(20px * var(--ui-scale,1));display:flex}.hero-icon[data-v-37ae6fe7]{font-size:calc(44px * var(--ui-scale,1));line-height:1}.hero-title[data-v-37ae6fe7]{font-family:var(--student-font-family-title);font-size:calc(26px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.hero-subtitle[data-v-37ae6fe7]{margin:calc(4px * var(--ui-scale,1)) 0 0;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.list-wrap[data-v-37ae6fe7]{min-height:calc(200px * var(--ui-scale,1))}.card-grid[data-v-37ae6fe7]{grid-template-columns:repeat(auto-fill, minmax(calc(280px * var(--ui-scale,1)), 1fr));gap:calc(18px * var(--ui-scale,1));display:grid}.software-card[data-v-37ae6fe7]{gap:calc(8px * var(--ui-scale,1));padding:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary-light);border-radius:var(--student-border-radius-card);box-shadow:var(--student-shadow-card);flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.software-card[data-v-37ae6fe7]:hover{transform:translateY(calc(-4px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover)}.card-top[data-v-37ae6fe7]{justify-content:space-between;align-items:center;display:flex}.card-icon[data-v-37ae6fe7]{font-size:calc(34px * var(--ui-scale,1));line-height:1}.card-name[data-v-37ae6fe7]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);word-break:break-all;margin:0;font-weight:800}.card-meta[data-v-37ae6fe7]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.meta-chip[data-v-37ae6fe7]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-accent-dark);background:var(--student-color-bg-warm);border-radius:calc(20px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-weight:700}.card-desc[data-v-37ae6fe7]{min-height:calc(44px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin:0;line-height:1.5}.btn-big[data-v-37ae6fe7]{min-height:calc(44px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn)!important;font-family:var(--student-font-family-title)!important;font-size:calc(17px * var(--ui-scale,1))!important;font-weight:700!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}.btn-big[data-v-37ae6fe7]:hover{transform:scale(1.04)!important}.btn-big[data-v-37ae6fe7]:active{transform:scale(.96)!important}.btn-download[data-v-37ae6fe7]{width:100%;margin-top:calc(4px * var(--ui-scale,1));background:var(--student-color-success)!important;border-color:var(--student-color-success)!important;color:#fff!important}.card-count[data-v-37ae6fe7]{text-align:center;font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:0}.empty-state[data-v-37ae6fe7]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(48px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(2px * var(--ui-scale,1)) dashed var(--student-color-border);border-radius:var(--student-border-radius-card);flex-direction:column;display:flex}.empty-emoji[data-v-37ae6fe7]{font-size:calc(56px * var(--ui-scale,1))}.empty-text[data-v-37ae6fe7]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin:0;font-weight:700}.chat-bubble[data-v-3fe14790]{gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));max-width:85%;animation:.3s ease-out bubble-in-3fe14790;display:flex}@keyframes bubble-in-3fe14790{0%{opacity:0;transform:translateY(calc(8px * var(--ui-scale,1)))}to{opacity:1;transform:translateY(0)}}.bubble-student[data-v-3fe14790]{flex-direction:row-reverse;align-self:flex-end}.bubble-ai[data-v-3fe14790]{align-self:flex-start}.bubble-avatar[data-v-3fe14790]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));box-shadow:var(--student-shadow-card,0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #00000014);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.bubble-content[data-v-3fe14790]{padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));font-size:calc(15px * var(--ui-scale,1));line-height:var(--student-line-height-base,1.6);min-width:0;position:relative}.bubble-student .bubble-content[data-v-3fe14790]{background:var(--color-info,#409eff);color:#fff;border-bottom-right-radius:calc(4px * var(--ui-scale,1))}.bubble-ai .bubble-content[data-v-3fe14790]{background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary,#333);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-bottom-left-radius:calc(4px * var(--ui-scale,1))}.bubble-text[data-v-3fe14790]{word-break:break-word}.bubble-cursor[data-v-3fe14790]{width:calc(8px * var(--ui-scale,1));height:1em;margin-left:calc(2px * var(--ui-scale,1));vertical-align:text-bottom;background:var(--student-color-primary,#4c97ff);border-radius:calc(2px * var(--ui-scale,1));animation:.8s step-end infinite cursor-blink-3fe14790;display:inline-block}@keyframes cursor-blink-3fe14790{0%,to{opacity:1}50%{opacity:0}}.bubble-time[data-v-3fe14790]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);margin-top:calc(6px * var(--ui-scale,1));text-align:right;opacity:.42;transition:opacity .2s}.chat-bubble:hover .bubble-time[data-v-3fe14790]{opacity:1}.bubble-student .bubble-time[data-v-3fe14790]{color:#ffffffd9}.bubble-failed[data-v-3fe14790]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(8px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));background:var(--student-color-danger-light,#ffecef);border:1px dashed var(--student-color-danger,#ff6680);display:flex}.bubble-failed__text[data-v-3fe14790]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-danger,#ff6680);font-weight:700}.bubble-failed__retry[data-v-3fe14790]{padding:calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-danger,#ff6680);color:#fff;font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:800}.bubble-failed__retry[data-v-3fe14790]:active{transform:scale(.95)}.bubble-loading-dots[data-v-3fe14790]{gap:calc(6px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) 0;display:flex}.bubble-loading-dots span[data-v-3fe14790]{width:calc(8px * var(--ui-scale,1));height:calc(8px * var(--ui-scale,1));background:var(--student-color-accent,#ff8c1a);border-radius:50%;animation:1.4s ease-in-out infinite dot-bounce-3fe14790}.bubble-loading-dots span[data-v-3fe14790]:nth-child(2){animation-delay:.2s}.bubble-loading-dots span[data-v-3fe14790]:nth-child(3){animation-delay:.4s}@keyframes dot-bounce-3fe14790{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.bubble-text[data-v-3fe14790] p{margin:0 0 calc(8px * var(--ui-scale,1))}.bubble-text[data-v-3fe14790] p:last-child{margin-bottom:0}.bubble-text[data-v-3fe14790] ul,.bubble-text[data-v-3fe14790] ol{margin:0 0 calc(8px * var(--ui-scale,1));padding-left:calc(20px * var(--ui-scale,1))}.bubble-text[data-v-3fe14790] li{margin:calc(3px * var(--ui-scale,1)) 0}.bubble-text[data-v-3fe14790] strong{font-weight:800}.bubble-text[data-v-3fe14790] h1,.bubble-text[data-v-3fe14790] h2,.bubble-text[data-v-3fe14790] h3,.bubble-text[data-v-3fe14790] h4{margin:calc(10px * var(--ui-scale,1)) 0 calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);font-weight:800;line-height:1.5}.bubble-text[data-v-3fe14790] .chat-section{margin:calc(10px * var(--ui-scale,1)) 0;border-radius:calc(12px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d9e3f2);padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));background:#f7faff}.bubble-text[data-v-3fe14790] .chat-section:first-child{margin-top:calc(2px * var(--ui-scale,1))}.bubble-text[data-v-3fe14790] .chat-section:last-child{margin-bottom:0}.bubble-text[data-v-3fe14790] .chat-section__head{margin-bottom:calc(6px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);border-left:calc(4px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);font-weight:800;display:inline-block}.bubble-text[data-v-3fe14790] .chat-section__body p:last-child{margin-bottom:0}.bubble-text[data-v-3fe14790] .chat-code{margin:calc(8px * var(--ui-scale,1)) 0;border-radius:calc(10px * var(--ui-scale,1));background:#f5f7fa;border:1px solid #e1e7f0;overflow:hidden}.bubble-text[data-v-3fe14790] .chat-code__head{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:#eaeff7;border-bottom:1px solid #e1e7f0;display:flex}.bubble-text[data-v-3fe14790] .chat-code__lang{font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:calc(11px * var(--ui-scale,1));letter-spacing:.4px;color:#7a8699;text-transform:uppercase;font-weight:700}.bubble-text[data-v-3fe14790] .chat-code__copy{padding:calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);color:var(--student-color-primary-dark,#3373cc);font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;background:#fff;font-weight:800;transition:background-color .15s,color .15s}.bubble-text[data-v-3fe14790] .chat-code__copy:hover{background:var(--student-color-primary-lightest,#e5f0ff)}.bubble-text[data-v-3fe14790] .chat-code__copy.is-done{background:var(--student-color-success,#59c059);border-color:var(--student-color-success,#59c059);color:#fff}.bubble-text[data-v-3fe14790] .bubble-code{padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:calc(13px * var(--ui-scale,1));white-space:pre;tab-size:4;background:0 0;margin:0;line-height:1.7;overflow-x:auto}.bubble-text[data-v-3fe14790] .bubble-code code{font-family:inherit;display:block}.bubble-text[data-v-3fe14790] .chat-code__line{padding-left:2.6em;display:block;position:relative}.bubble-text[data-v-3fe14790] .chat-code__line:before{content:attr(data-ln);text-align:right;color:#aab4c4;width:2em;font-size:calc(12px * var(--ui-scale,1));-webkit-user-select:none;user-select:none;position:absolute;left:0}.bubble-text[data-v-3fe14790] .bubble-inline-code{padding:calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:calc(13px * var(--ui-scale,1));color:#b33a63;background:#eef2f8}.bubble-image-wrap[data-v-3fe14790]{max-width:calc(280px * var(--ui-scale,1))}.bubble-image[data-v-3fe14790]{border-radius:calc(12px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);cursor:zoom-in;width:100%;display:block}.bubble-image-caption[data-v-3fe14790]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666)}.concept-card[data-v-166ca220]{gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));align-self:flex-start;max-width:85%;animation:.3s ease-out concept-in-166ca220;display:flex}@keyframes concept-in-166ca220{0%{opacity:0;transform:translateY(calc(8px * var(--ui-scale,1)))}to{opacity:1;transform:translateY(0)}}.concept-card__avatar[data-v-166ca220]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));box-shadow:var(--student-shadow-card,0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #00000014);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.concept-card__main[data-v-166ca220]{border:calc(2px * var(--ui-scale,1)) solid #ffd98a;border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));border-bottom-left-radius:calc(4px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);background:#fffdf6;min-width:0}.concept-card__title[data-v-166ca220]{font-family:var(--student-font-family-title,"Nunito", sans-serif);font-size:calc(16px * var(--ui-scale,1));color:#8a5a00;margin-bottom:calc(10px * var(--ui-scale,1));font-weight:800}.concept-card__stage[data-v-166ca220]{align-items:flex-end;gap:calc(14px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) dashed #ffc46b;background:#fff6e2;display:flex}.concept-panda[data-v-166ca220]{border-radius:calc(18px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:#fff;flex-shrink:0}.boxes[data-v-166ca220]{gap:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.boxes__item[data-v-166ca220]{width:calc(74px * var(--ui-scale,1));flex-direction:column;align-items:center;display:flex}.boxes__lid[data-v-166ca220]{width:calc(66px * var(--ui-scale,1));height:calc(8px * var(--ui-scale,1));border-radius:calc(5px * var(--ui-scale,1)) calc(5px * var(--ui-scale,1)) 0 0;border:calc(2.5px * var(--ui-scale,1)) solid #c97f22;background:#e8a33d;border-bottom:none}.boxes__body[data-v-166ca220]{width:calc(74px * var(--ui-scale,1));height:calc(50px * var(--ui-scale,1));border-radius:0 0 calc(10px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border:calc(2.5px * var(--ui-scale,1)) solid #c97f22;box-shadow:inset 0 calc(-4px * var(--ui-scale,1)) 0 #c97f222e;background:#ffe7b8;justify-content:center;align-items:center;display:flex}.boxes__value[data-v-166ca220]{font-size:calc(17px * var(--ui-scale,1));color:#7a4a12;font-family:Nunito,Courier New,monospace;font-weight:800}.boxes__label[data-v-166ca220]{margin-top:calc(4px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:#4c97ff;border:calc(1.5px * var(--ui-scale,1)) solid #9cc4ff;border-radius:calc(999px * var(--ui-scale,1));padding:1px calc(8px * var(--ui-scale,1));background:#e5f0ff;font-weight:800}.concept-card__desc[data-v-166ca220]{margin-top:calc(10px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#4a5570);font-weight:600;line-height:1.6}.concept-card__code[data-v-166ca220]{margin-top:calc(8px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:#3d4661;white-space:pre-wrap;background:#f5f7fa;font-family:Nunito,Courier New,monospace;line-height:1.6}@media (width<=899px){.concept-card[data-v-166ca220]{max-width:95%}.concept-card__stage[data-v-166ca220]{gap:calc(8px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1))}.boxes[data-v-166ca220]{gap:calc(8px * var(--ui-scale,1))}.boxes__item[data-v-166ca220],.boxes__body[data-v-166ca220]{width:calc(62px * var(--ui-scale,1))}.boxes__lid[data-v-166ca220]{width:calc(56px * var(--ui-scale,1))}.boxes__value[data-v-166ca220]{font-size:calc(15px * var(--ui-scale,1))}}.ai-assistant-page[data-v-d8916d8b]{padding:var(--student-space-md);background:var(--student-color-bg-warm);min-height:100vh}.page-hero[data-v-d8916d8b]{text-align:center;padding:var(--student-space-md) 0 var(--student-space-sm)}.page-subtitle[data-v-d8916d8b]{font-family:var(--student-font-family-title);font-size:var(--font-size-lg);color:var(--student-color-text-primary);margin:0;font-weight:700}.assistant-layout[data-v-d8916d8b]{gap:calc(16px * var(--ui-scale,1));height:calc(100vh - calc(140px * var(--ui-scale,1)));display:flex}.chat-area[data-v-d8916d8b]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);min-width:0;padding:calc(16px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex}.chat-messages[data-v-d8916d8b]{padding:calc(8px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-empty[data-v-d8916d8b]{text-align:center;padding:calc(24px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1))}.empty-panda[data-v-d8916d8b]{margin-bottom:calc(12px * var(--ui-scale,1));border-radius:calc(28px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);box-shadow:0 calc(6px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1)) #00000014;background:#fff;animation:3s ease-in-out infinite float-d8916d8b;display:inline-block;overflow:hidden}@keyframes float-d8916d8b{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-6px * var(--ui-scale,1)))}}.empty-text[data-v-d8916d8b]{font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:600;font-family:var(--student-font-family-title);margin:0}.empty-hint[data-v-d8916d8b]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin:calc(8px * var(--ui-scale,1)) 0 0}.whisper[data-v-d8916d8b]{align-items:center;gap:calc(8px * var(--ui-scale,1));max-width:calc(520px * var(--ui-scale,1));margin:calc(18px * var(--ui-scale,1)) auto 0;padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) dashed #ffc46b;text-align:left;background:#fff6e2;display:flex}.whisper__emoji[data-v-d8916d8b]{font-size:calc(20px * var(--ui-scale,1));flex-shrink:0;line-height:1.2}.whisper__text[data-v-d8916d8b]{font-size:calc(13px * var(--ui-scale,1));color:#8a5a00;flex:1;margin:0;font-weight:600;line-height:1.6}.whisper__next[data-v-d8916d8b]{padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #f2b705;color:#a8690a;font-family:var(--student-font-family-title);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;background:#fff;flex-shrink:0;font-weight:800}.whisper__next[data-v-d8916d8b]:hover{background:#fff1e3}.whisper__next[data-v-d8916d8b]:active{transform:scale(.95)}.scene-chip[data-v-d8916d8b]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) 0;padding:calc(4px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary);align-self:flex-start;display:inline-flex}.scene-chip-text[data-v-d8916d8b]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-primary-dark);font-weight:800;font-family:var(--student-font-family-title)}.scene-chip-hint[data-v-d8916d8b]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.scene-chip-close[data-v-d8916d8b]{width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-size:calc(11px * var(--ui-scale,1));cursor:pointer;background:0 0;border:none;border-radius:50%;line-height:1}.scene-chip-close[data-v-d8916d8b]:hover{background:#0000000f}.quick-actions[data-v-d8916d8b]{gap:calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.quick-btn-wrap[data-v-d8916d8b]{display:inline-flex}.quick-btn[data-v-d8916d8b]{align-items:center;gap:calc(6px * var(--ui-scale,1));min-height:calc(42px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--q-color);background:var(--q-bg);color:var(--q-color);font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;font-weight:800;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-flex}.quick-btn[data-v-d8916d8b]:hover:not(:disabled){transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #0000001f}.quick-btn[data-v-d8916d8b]:active:not(:disabled){transform:scale(.96)}.quick-btn[data-v-d8916d8b]:disabled{cursor:not-allowed}.quick-btn--locked[data-v-d8916d8b]{opacity:.45;filter:grayscale(.35);box-shadow:none!important;transform:none!important}.quick-btn__icon[data-v-d8916d8b]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.quick-btn__label[data-v-d8916d8b]{white-space:nowrap}.quick-btn__spinner[data-v-d8916d8b]{width:calc(14px * var(--ui-scale,1));height:calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid currentColor;border-top-color:#0000;border-radius:50%;animation:.7s linear infinite quick-spin-d8916d8b}@keyframes quick-spin-d8916d8b{to{transform:rotate(360deg)}}.quick-btn--active[data-v-d8916d8b]{background:var(--q-color);color:#fff;box-shadow:0 0 0 calc(3px * var(--ui-scale,1)) #0000000f, 0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #00000024;transform:translateY(-1px)}.quick-btn--active .quick-btn__icon[data-v-d8916d8b]{animation:.6s quick-bounce-d8916d8b}@keyframes quick-bounce-d8916d8b{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-4px * var(--ui-scale,1)))}}.chat-input-area[data-v-d8916d8b]{padding:calc(8px * var(--ui-scale,1)) 0 0}.chat-status[data-v-d8916d8b]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin:0 0 calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600;display:flex}.chat-status__dot[data-v-d8916d8b]{width:calc(7px * var(--ui-scale,1));height:calc(7px * var(--ui-scale,1));background:var(--student-color-accent);border-radius:50%;animation:1.2s ease-in-out infinite status-pulse-d8916d8b}@keyframes status-pulse-d8916d8b{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.chat-input[data-v-d8916d8b]{border-radius:calc(24px * var(--ui-scale,1))!important}.chat-input[data-v-d8916d8b] .el-input__wrapper{border-radius:calc(24px * var(--ui-scale,1)) 0 0 calc(24px * var(--ui-scale,1))!important;border:calc(1.5px * var(--ui-scale,1)) solid #dcdfe6!important;box-shadow:none!important;font-size:calc(15px * var(--ui-scale,1))!important;padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1))!important}.chat-input[data-v-d8916d8b] .el-input-group__append{overflow:hidden;border-radius:0 calc(24px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1)) 0!important}.send-btn[data-v-d8916d8b]{min-width:calc(104px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));font-weight:800;background:var(--student-color-primary)!important;border-color:var(--student-color-primary)!important}.send-btn[data-v-d8916d8b]:disabled{background:#c9d3e2!important;border-color:#c9d3e2!important}.side-panel[data-v-d8916d8b]{width:calc(258px * var(--ui-scale,1));flex-direction:column;flex-shrink:0;min-height:0;display:flex}.history-section[data-v-d8916d8b]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);min-height:0;padding:calc(14px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex}.section-header[data-v-d8916d8b]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700;font-family:var(--student-font-family-title);margin-bottom:calc(10px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.header-action[data-v-d8916d8b]{padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));color:var(--student-color-text-muted);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;background:0 0;border:none}.header-action[data-v-d8916d8b]:hover{background:var(--student-color-danger-light);color:var(--student-color-danger)}.history-list[data-v-d8916d8b]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.history-item[data-v-d8916d8b]{padding:calc(8px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));cursor:pointer;gap:calc(3px * var(--ui-scale,1));border:1px solid #e0e0e0;flex-direction:column;transition:all .2s;display:flex}.history-item[data-v-d8916d8b]:hover{background:var(--student-color-primary-lightest);border-color:var(--student-color-primary)}.history-item.active[data-v-d8916d8b]{background:var(--student-color-primary-lightest);border-color:var(--student-color-primary);border-width:calc(2px * var(--ui-scale,1))}.history-preview[data-v-d8916d8b]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-meta[data-v-d8916d8b]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted);justify-content:space-between;display:flex}.history-empty[data-v-d8916d8b]{padding:calc(20px * var(--ui-scale,1));color:var(--student-color-text-muted);font-size:calc(13px * var(--ui-scale,1));text-align:center;flex:1;justify-content:center;align-items:center;line-height:1.8;display:flex}.new-conv-btn[data-v-d8916d8b]{width:100%;margin-top:calc(10px * var(--ui-scale,1));flex-shrink:0;font-family:var(--student-font-family-title)!important}.topic-list[data-v-d8916d8b]{gap:calc(10px * var(--ui-scale,1));min-height:calc(96px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.topic-item[data-v-d8916d8b]{padding:calc(10px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);background:var(--student-color-primary-lightest);color:var(--student-color-primary-dark);font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;font-weight:800;transition:transform .15s,background-color .15s}.topic-item[data-v-d8916d8b]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));background:#fff}.topic-item[data-v-d8916d8b]:active{transform:scale(.96)}@media (width<=1199px){.side-panel[data-v-d8916d8b]{width:calc(220px * var(--ui-scale,1))}}@media (width<=899px){.assistant-layout[data-v-d8916d8b]{flex-direction:column;height:auto}.side-panel[data-v-d8916d8b]{width:100%;min-height:calc(180px * var(--ui-scale,1))}}.student-dashboard[data-v-685cdbab]{padding:var(--student-space-2xl) var(--student-space-xl);width:100%}.stats-row[data-v-685cdbab]{gap:var(--student-space-lg);margin-bottom:var(--student-space-xl);grid-template-columns:repeat(4,1fr);display:grid}.stat-card[data-v-685cdbab]{padding:var(--student-space-xl);background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:1px solid var(--student-border-color);box-shadow:var(--student-shadow-card);position:relative;overflow:hidden}.stat-value[data-v-685cdbab]{font-size:var(--student-font-size-2xl);font-weight:var(--student-font-weight-bold);color:var(--student-color-text-primary);line-height:1.2}.stat-label[data-v-685cdbab]{font-size:var(--student-font-size-sm);color:var(--student-color-text-secondary);margin-top:var(--student-space-xs)}.stat-icon[data-v-685cdbab]{right:calc(12px * var(--ui-scale,1));top:calc(12px * var(--ui-scale,1));width:calc(40px * var(--ui-scale,1));height:calc(40px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-size:calc(20px * var(--ui-scale,1));justify-content:center;align-items:center;display:flex;position:absolute}.stat-icon-primary[data-v-685cdbab]{background:var(--student-color-primary-lightest);color:var(--student-color-primary)}.stat-icon-success[data-v-685cdbab]{background:var(--student-color-success-light);color:var(--student-color-success)}.stat-icon-danger[data-v-685cdbab]{background:var(--student-color-danger-light);color:var(--student-color-danger)}.stat-icon-warning[data-v-685cdbab]{background:var(--student-color-accent-dark-light);color:var(--student-color-accent-dark)}.middle-section[data-v-685cdbab]{grid-template-columns:1fr calc(360px * var(--ui-scale,1));gap:var(--student-space-lg);margin-bottom:var(--student-space-xl);display:grid}.mastery-card[data-v-685cdbab]{min-width:0}.action-card[data-v-685cdbab]{height:fit-content}.mistake-num[data-v-685cdbab]{color:var(--student-color-danger);font-weight:var(--student-font-weight-semibold)}.action-list[data-v-685cdbab]{gap:var(--student-space-md);flex-direction:column;display:flex}.action-item[data-v-685cdbab]{align-items:center;gap:var(--student-space-md);padding:var(--student-space-md);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-warm);transition:background var(--student-transition-fast);display:flex}.action-item[data-v-685cdbab]:hover{background:var(--student-color-primary-lightest)}.action-info[data-v-685cdbab]{flex:1;min-width:0}.action-title[data-v-685cdbab]{font-size:var(--student-font-size-base);font-weight:var(--student-font-weight-medium);color:var(--student-color-text-primary);margin-bottom:calc(2px * var(--ui-scale,1))}.action-reason[data-v-685cdbab]{font-size:var(--student-font-size-xs);color:var(--student-color-text-secondary);line-height:1.4}.empty-actions[data-v-685cdbab]{padding:var(--student-space-xl) 0}.bottom-stats-card[data-v-685cdbab]{margin-bottom:var(--student-space-xl)}.bottom-stats[data-v-685cdbab]{justify-content:space-around;align-items:center;display:flex}.bottom-stat[data-v-685cdbab]{text-align:center;flex:1}.bottom-value[data-v-685cdbab]{font-size:var(--student-font-size-xl);font-weight:var(--student-font-weight-bold);color:var(--student-color-text-primary);line-height:1.2}.bottom-label[data-v-685cdbab]{font-size:var(--student-font-size-sm);color:var(--student-color-text-secondary);margin-top:var(--student-space-xs)}.bottom-divider[data-v-685cdbab]{width:1px;height:calc(40px * var(--ui-scale,1));background:var(--student-border-color);flex-shrink:0}@media (width<=1199px){.middle-section[data-v-685cdbab]{grid-template-columns:1fr}}@media (width<=899px){.stats-row[data-v-685cdbab]{grid-template-columns:repeat(2,1fr)}.bottom-stats[data-v-685cdbab]{gap:var(--student-space-lg);flex-wrap:wrap}.bottom-divider[data-v-685cdbab]{display:none}.bottom-stat[data-v-685cdbab]{flex:40%}}.celebration-overlay[data-v-9aa91cd5]{z-index:9999;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.particles[data-v-9aa91cd5]{position:absolute;inset:0;overflow:hidden}.particle-stars[data-v-9aa91cd5]{top:calc(-20px * var(--ui-scale,1));font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a);animation:2s ease-in forwards star-fall-9aa91cd5;position:absolute}@keyframes star-fall-9aa91cd5{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.particle-confetti[data-v-9aa91cd5]{top:calc(-10px * var(--ui-scale,1));border-radius:calc(3px * var(--ui-scale,1));animation:2.5s ease-in forwards confetti-fall-9aa91cd5;position:absolute}@keyframes confetti-fall-9aa91cd5{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:.9;transform:translateY(50vh)rotate(360deg)scale(.8)}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.4)}}.particle-fireworks[data-v-9aa91cd5]{border-radius:50%;animation:1.5s ease-out forwards firework-burst-9aa91cd5;position:absolute}@keyframes firework-burst-9aa91cd5{0%{opacity:1;transform:scale(0)}30%{opacity:.9;transform:scale(1.5)}to{opacity:0;transform:scale(.2)}}.celebration-text[data-v-9aa91cd5]{z-index:1;align-items:center;gap:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(3px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);border-radius:calc(24px * var(--ui-scale,1));padding:calc(16px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1));box-shadow:0 calc(8px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1)) #00000026;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);display:flex;position:relative}.celebration-emoji[data-v-9aa91cd5]{font-size:calc(32px * var(--ui-scale,1))}.celebration-msg[data-v-9aa91cd5]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:700}.celebration-fade-enter-active[data-v-9aa91cd5]{transition:opacity .3s}.celebration-fade-leave-active[data-v-9aa91cd5]{transition:opacity .5s}.celebration-fade-enter-from[data-v-9aa91cd5],.celebration-fade-leave-to[data-v-9aa91cd5]{opacity:0}.typing-today-card[data-v-e8301ed0]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-typing,#ebf7eb);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);cursor:pointer;transition:all .2s;display:flex}.typing-today-card[data-v-e8301ed0]:hover{box-shadow:var(--student-shadow-hover);transform:translateY(-1px)}.ttc-left[data-v-e8301ed0]{font-size:calc(28px * var(--ui-scale,1))}.ttc-body[data-v-e8301ed0]{flex:1;min-width:0}.ttc-title[data-v-e8301ed0]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:700}.ttc-sub[data-v-e8301ed0]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);margin-top:calc(2px * var(--ui-scale,1));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ttc-right[data-v-e8301ed0]{align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.ttc-stars[data-v-e8301ed0]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a);white-space:nowrap;font-weight:600}.ttc-arrow[data-v-e8301ed0]{font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:300}.student-home[data-v-f6752480]{width:100%;padding:var(--student-space-md);padding-bottom:calc(110px * var(--ui-scale,1))}.panel[data-v-f6752480]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:var(--student-space-md);margin-bottom:var(--student-space-lg)}.panel-head[data-v-f6752480]{justify-content:space-between;align-items:center;gap:var(--student-space-sm);margin-bottom:var(--student-space-md);display:flex}.panel-title[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:700}.panel-link[data-v-f6752480]{padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-warm);color:var(--student-color-primary);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;font-weight:700;transition:transform .15s,background .15s}.panel-link[data-v-f6752480]:hover{background:var(--student-color-primary-light);transform:scale(1.04)}.greeting-area[data-v-f6752480]{align-items:center;gap:var(--student-space-md);padding:var(--student-space-md) var(--student-space-md);background:var(--student-color-bg-warm);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);margin-bottom:var(--student-space-lg);display:flex}.greeting-weather[data-v-f6752480]{font-size:calc(40px * var(--ui-scale,1));line-height:1}.greeting-text[data-v-f6752480]{flex:1}.greeting-title[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0 0 calc(2px * var(--ui-scale,1)) 0;font-weight:700}.greeting-sub[data-v-f6752480]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin:0}.greet-chips[data-v-f6752480]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin-top:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.streak-badge[data-v-f6752480],.greet-chip[data-v-f6752480]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-size:calc(13px * var(--ui-scale,1));font-weight:600;display:inline-flex}.streak-badge[data-v-f6752480]{background:var(--student-color-accent);color:var(--student-color-text-primary)}.chip-clean[data-v-f6752480]{background:var(--student-tint-operators);color:var(--student-color-success)}.greeting-mascot[data-v-f6752480]{box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #0000001a;border-radius:50%}.panel-create[data-v-f6752480]{border-color:var(--student-color-primary);background:linear-gradient(180deg, var(--student-color-bg-warm) 0%, var(--student-color-bg-card) 60%)}.create-grid[data-v-f6752480]{gap:var(--student-space-md);grid-template-columns:repeat(3,1fr);display:grid}.create-card[data-v-f6752480]{align-items:flex-start;gap:calc(4px * var(--ui-scale,1));padding:calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);cursor:pointer;text-align:left;flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.create-card[data-v-f6752480]:hover{transform:translateY(calc(-3px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover)}.create-card[data-v-f6752480]:active{transform:scale(.98)}.create-card.scratch[data-v-f6752480]{background:var(--student-tint-looks)}.create-card.python[data-v-f6752480]{background:var(--student-tint-pen)}.create-card.science[data-v-f6752480]{background:var(--student-tint-sensing)}.create-emoji[data-v-f6752480]{font-size:calc(34px * var(--ui-scale,1));line-height:1.1}.create-name[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800}.create-desc[data-v-f6752480]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.create-go[data-v-f6752480]{margin-top:calc(6px * var(--ui-scale,1));font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-primary);font-weight:700}.recent-works[data-v-f6752480]{align-items:center;gap:var(--student-space-sm);margin-top:var(--student-space-md);padding-top:var(--student-space-sm);border-top:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border);display:flex}.recent-label[data-v-f6752480]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);flex-shrink:0;font-weight:600}.recent-list[data-v-f6752480]{gap:calc(10px * var(--ui-scale,1));flex:1;display:flex;overflow-x:auto}.recent-item[data-v-f6752480]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-card);cursor:pointer;flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.recent-item[data-v-f6752480]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.recent-thumb[data-v-f6752480]{width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));object-fit:cover;background:var(--student-color-bg-warm)}.recent-thumb-ph[data-v-f6752480]{font-size:calc(18px * var(--ui-scale,1));justify-content:center;align-items:center;display:inline-flex}.recent-title[data-v-f6752480]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary);max-width:calc(90px * var(--ui-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.recent-more[data-v-f6752480]{padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);background:var(--student-color-primary);color:var(--student-color-bg-card);font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;border:none;flex-shrink:0;font-weight:700}.recent-more[data-v-f6752480]:hover{transform:scale(1.04)}.task-list[data-v-f6752480]{gap:var(--student-space-sm);flex-direction:column;display:flex}.task-row[data-v-f6752480]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);background:var(--student-color-bg-card);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.task-row[data-v-f6752480]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover)}.task-icon[data-v-f6752480]{width:calc(38px * var(--ui-scale,1));height:calc(38px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-icon-primary[data-v-f6752480]{background:var(--student-color-primary-light)}.task-icon-accent[data-v-f6752480]{background:var(--student-color-bg-warm)}.task-main[data-v-f6752480]{flex:1;min-width:0}.task-title[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.task-sub[data-v-f6752480]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-badge[data-v-f6752480]{padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));flex-shrink:0;font-weight:600}.task-badge-primary[data-v-f6752480]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.task-badge-accent[data-v-f6752480]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark)}.task-btn[data-v-f6752480]{padding:calc(7px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-bg-card);cursor:pointer;border:none;flex-shrink:0;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.task-btn[data-v-f6752480]:hover{transform:scale(1.05)}.task-btn[data-v-f6752480]:active{transform:scale(.95)}.task-btn-primary[data-v-f6752480]{background:var(--student-color-primary)}.task-btn-accent[data-v-f6752480]{background:var(--student-color-success)}.expand-btn[data-v-f6752480]{width:100%;padding:calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);color:var(--student-color-primary);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;background:0 0;font-weight:600;transition:all .2s;display:block}.expand-btn[data-v-f6752480]:hover{background:var(--student-color-primary-light);border-color:var(--student-color-primary)}.panel-fix[data-v-f6752480]{border-color:var(--student-color-danger)}.fix-body[data-v-f6752480]{align-items:center;gap:var(--student-space-md);display:flex}.fix-monster[data-v-f6752480]{font-size:calc(34px * var(--ui-scale,1));line-height:1}.fix-info[data-v-f6752480]{flex:1}.fix-line[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.fix-line strong[data-v-f6752480]{color:var(--student-color-danger)}.fix-tip[data-v-f6752480]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:calc(2px * var(--ui-scale,1))}.fix-actions[data-v-f6752480]{gap:calc(8px * var(--ui-scale,1));flex-shrink:0;display:flex}.fix-btn[data-v-f6752480]{padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.fix-btn[data-v-f6752480]:hover{transform:scale(1.05)}.fix-btn[data-v-f6752480]:active{transform:scale(.95)}.fix-btn-danger[data-v-f6752480]{background:var(--student-color-danger);color:var(--student-color-bg-card);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #ef53504d}.fix-btn-weak[data-v-f6752480]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-accent)}.bottom-row[data-v-f6752480]{gap:var(--student-space-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.bottom-row .panel[data-v-f6752480]{margin-bottom:0}.stat-grid[data-v-f6752480]{grid-template-columns:repeat(auto-fit, minmax(calc(96px * var(--ui-scale,1)), 1fr));gap:var(--student-space-sm);display:grid}.stat-chip[data-v-f6752480]{padding:var(--student-space-sm) var(--student-space-sm);border-radius:var(--student-border-radius-card);background:var(--student-color-bg-warm);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);cursor:pointer;flex-direction:column;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.stat-chip[data-v-f6752480]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.stat-value[data-v-f6752480]{font-family:var(--student-font-family-title);font-size:calc(22px * var(--ui-scale,1));color:var(--chip-color);font-weight:800;line-height:1.2}.stat-unit[data-v-f6752480]{font-size:calc(12px * var(--ui-scale,1));margin-left:1px}.stat-label[data-v-f6752480]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:calc(2px * var(--ui-scale,1))}.activity-list[data-v-f6752480]{flex-direction:column;display:flex}.activity-item[data-v-f6752480]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) 0;border-bottom:1px solid var(--student-color-border);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;transition:background .15s;display:flex}.activity-item[data-v-f6752480]:last-child{border-bottom:none}.activity-item[data-v-f6752480]:hover{background:var(--student-color-bg-warm);border-radius:calc(8px * var(--ui-scale,1));padding-left:calc(6px * var(--ui-scale,1))}.activity-icon[data-v-f6752480]{font-size:calc(16px * var(--ui-scale,1));width:calc(22px * var(--ui-scale,1));text-align:center;flex-shrink:0}.activity-type-badge[data-v-f6752480]{padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));flex-shrink:0;font-weight:600}.badge-attendance[data-v-f6752480]{background:var(--student-color-bg-warm);color:var(--student-color-success)}.badge-practice[data-v-f6752480]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.badge-work_review[data-v-f6752480]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark)}.badge-exam[data-v-f6752480]{background:var(--student-tint-lists);color:var(--student-color-danger)}.badge-coin[data-v-f6752480]{background:var(--student-color-bg-warm);color:var(--student-color-accent-dark)}.activity-title[data-v-f6752480]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.activity-time[data-v-f6752480]{color:var(--student-color-text-secondary);font-size:calc(13px * var(--ui-scale,1));flex-shrink:0}.empty-mini[data-v-f6752480]{text-align:center;padding:var(--student-space-md)}.empty-mini-text[data-v-f6752480]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:0}@media (width<=899px){.bottom-row[data-v-f6752480],.create-grid[data-v-f6752480]{grid-template-columns:1fr}.fix-body[data-v-f6752480]{flex-wrap:wrap}.task-sub[data-v-f6752480]{display:none}}.offline-panel[data-v-995d0293]{border:1px solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card,white);border-radius:16px;margin-top:24px;padding:20px}.offline-panel h3[data-v-995d0293]{margin:0 0 12px}.offline-panel p[data-v-995d0293]{margin:8px 0;font-size:14px;line-height:1.7}.offline-row[data-v-995d0293]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;display:flex}button[data-v-995d0293]{color:#245f9c;cursor:pointer;font:inherit;background:#edf6ff;border:1px solid #a8cdf8;border-radius:10px;padding:10px 14px}button[data-v-995d0293]:disabled{opacity:.55;cursor:default}progress[data-v-995d0293]{width:100%}.adventurer-card[data-v-f6e9c216]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary);padding:calc(20px * var(--ui-scale,1));gap:calc(20px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);align-items:stretch;display:flex}.identity[data-v-f6e9c216]{flex:0 0 calc(180px * var(--ui-scale,1));align-items:center;gap:calc(10px * var(--ui-scale,1));padding-right:calc(20px * var(--ui-scale,1));border-right:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);flex-direction:column;display:flex}.avatar-wrap[data-v-f6e9c216],.avatar-anchor[data-v-f6e9c216]{width:calc(104px * var(--ui-scale,1));height:calc(104px * var(--ui-scale,1));position:relative}.avatar-circle[data-v-f6e9c216]{width:calc(104px * var(--ui-scale,1));height:calc(104px * var(--ui-scale,1));background:var(--student-color-primary-lightest);border:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff40;border-radius:50%;overflow:hidden}.avatar-circle img[data-v-f6e9c216]{object-fit:cover;object-position:50% 32%;width:100%;height:100%;transform:scale(1.15)}.frame-ring[data-v-f6e9c216]{inset:calc(-5px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1));pointer-events:none;-webkit-mask-composite:xor;border-radius:50%;position:absolute;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.frame-img[data-v-f6e9c216]{inset:calc(-10px * var(--ui-scale,1));width:calc(124px * var(--ui-scale,1));height:calc(124px * var(--ui-scale,1));object-fit:contain;pointer-events:none;position:absolute}.frame-mark[data-v-f6e9c216]{top:calc(-6px * var(--ui-scale,1));right:calc(-4px * var(--ui-scale,1));width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));box-shadow:0 1px calc(4px * var(--ui-scale,1)) #0003;font-size:calc(12px * var(--ui-scale,1));pointer-events:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.frame-bronze[data-v-f6e9c216]{background:linear-gradient(135deg,#f0bd8d,#a05a2c 45%,#f7dcc0)}.frame-silver[data-v-f6e9c216]{background:linear-gradient(135deg,#f3f6fa,#97a5b4 45%,#eef2f7)}.frame-gold[data-v-f6e9c216]{background:linear-gradient(135deg,#ffeaa5,#dfa20e 45%,#fff6d6)}.frame-diamond[data-v-f6e9c216]{background:conic-gradient(from 20deg,#ff9a9e,#ffd3a5,#c2ffd8,#a1c4fd,#e2b5ff,#ff9a9e)}.level-badge[data-v-f6e9c216]{right:calc(-4px * var(--ui-scale,1));bottom:calc(-4px * var(--ui-scale,1));min-width:calc(46px * var(--ui-scale,1));height:calc(28px * var(--ui-scale,1));padding:0 calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(3px * var(--ui-scale,1)) solid #fff;justify-content:center;align-items:center;gap:calc(2px * var(--ui-scale,1));color:#fff;font-family:var(--student-font-family-title);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #0000002e;font-weight:800;display:flex;position:absolute}.badge-cap[data-v-f6e9c216]{font-size:calc(11px * var(--ui-scale,1));opacity:.9}.badge-num[data-v-f6e9c216]{font-size:calc(15px * var(--ui-scale,1));line-height:1}.name-row[data-v-f6e9c216]{align-items:center;gap:calc(6px * var(--ui-scale,1));text-align:center;flex-direction:column;display:flex}.name-text[data-v-f6e9c216]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800}.title-pill[data-v-f6e9c216]{padding:calc(3px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:#fff;font-size:calc(13px * var(--ui-scale,1));white-space:nowrap;font-weight:700}.equipped-title[data-v-f6e9c216]{padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #f2b53c;color:#8a5800;font-size:calc(14px * var(--ui-scale,1));white-space:nowrap;max-width:calc(170px * var(--ui-scale,1));text-overflow:ellipsis;background:linear-gradient(135deg,#ffe9b0,#ffd25e);font-weight:700;overflow:hidden}.subject-row[data-v-f6e9c216]{gap:calc(6px * var(--ui-scale,1));flex-wrap:wrap;justify-content:center;display:flex}.subject-badge[data-v-f6e9c216]{width:calc(30px * var(--ui-scale,1));height:calc(30px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) #00000026;cursor:default;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.subject-badge[data-v-f6e9c216]:hover{transform:scale(1.25)}.subject-empty[data-v-f6e9c216]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);text-align:center;margin:0}.showcase-badges[data-v-f6e9c216]{gap:calc(8px * var(--ui-scale,1));cursor:pointer;border-radius:calc(999px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));justify-content:center;transition:background .2s;display:flex}.showcase-badges[data-v-f6e9c216]:hover{background:var(--student-color-primary-lightest)}.showcase-badges[data-v-f6e9c216]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);outline-offset:calc(2px * var(--ui-scale,1))}.showcase-badge[data-v-f6e9c216]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative}.showcase-badges:hover .showcase-badge[data-v-f6e9c216]{transform:scale(1.1)}.showcase-emoji[data-v-f6e9c216]{font-size:calc(17px * var(--ui-scale,1));line-height:1}.showcase-img[data-v-f6e9c216]{width:calc(24px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));object-fit:contain;display:block}.showcase-lv[data-v-f6e9c216]{bottom:calc(-5px * var(--ui-scale,1));right:calc(-7px * var(--ui-scale,1));padding:0 calc(3px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:1px solid var(--student-color-border);font-size:calc(10px * var(--ui-scale,1));font-weight:800;line-height:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);background:#fff;position:absolute}.badge-bronze[data-v-f6e9c216]{border-color:#c98a52}.badge-silver[data-v-f6e9c216]{border-color:#a8b4c2}.badge-gold[data-v-f6e9c216]{border-color:#eab028}.badge-diamond[data-v-f6e9c216]{border-color:#c77dff}.showcase-empty[data-v-f6e9c216]{color:var(--student-color-text-muted);font-size:calc(14px * var(--ui-scale,1));background:0 0;border-style:dashed;font-weight:700}.growth[data-v-f6e9c216]{flex-direction:column;flex:1;min-width:0;display:flex}.level-head[data-v-f6e9c216]{justify-content:space-between;align-items:flex-end;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(10px * var(--ui-scale,1));display:flex}.level-main[data-v-f6e9c216]{align-items:baseline;gap:calc(2px * var(--ui-scale,1));display:flex}.level-cap[data-v-f6e9c216]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-primary-dark);font-weight:800}.level-num[data-v-f6e9c216]{font-family:var(--student-font-family-title);font-size:calc(44px * var(--ui-scale,1));color:var(--student-color-primary);font-weight:800;line-height:1}.level-side[data-v-f6e9c216]{align-items:flex-end;gap:calc(2px * var(--ui-scale,1));flex-direction:column;display:flex}.level-target[data-v-f6e9c216]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.level-xp[data-v-f6e9c216]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:800}.xp-bar[data-v-f6e9c216]{height:calc(18px * var(--ui-scale,1));background:var(--student-color-primary-lightest);border-radius:calc(999px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);overflow:hidden}.xp-fill[data-v-f6e9c216]{background:var(--student-color-accent);border-radius:calc(999px * var(--ui-scale,1));height:100%;transition:width .5s;position:relative}.xp-bolt[data-v-f6e9c216]{right:calc(6px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));position:absolute;top:50%;transform:translateY(-50%)}.xp-foot[data-v-f6e9c216]{margin:calc(8px * var(--ui-scale,1)) 0 0;justify-content:space-between;align-items:center;gap:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.xp-count[data-v-f6e9c216]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.xp-hint[data-v-f6e9c216]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:700}.stat-tiles[data-v-f6e9c216]{padding-top:calc(14px * var(--ui-scale,1));gap:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(4,minmax(0,1fr));margin-top:auto;display:grid}.tile[data-v-f6e9c216]{background:var(--student-color-primary-lightest);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));align-items:center;gap:calc(2px * var(--ui-scale,1));flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.tile[data-v-f6e9c216]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.tile-hero[data-v-f6e9c216]{background:var(--student-color-accent-dark-light);border-color:var(--student-color-accent)}.tile-icon[data-v-f6e9c216]{font-size:calc(18px * var(--ui-scale,1));line-height:1.2}.tile-value[data-v-f6e9c216]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-primary-dark);font-weight:800;line-height:1.2}.tile-hero .tile-value[data-v-f6e9c216]{color:var(--student-color-accent-dark)}.tile-label[data-v-f6e9c216]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);text-align:center;font-weight:600}.tile-coin[data-v-f6e9c216]{cursor:pointer}.tile-coin[data-v-f6e9c216]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);outline-offset:calc(2px * var(--ui-scale,1))}@media (width<=899px){.adventurer-card[data-v-f6e9c216]{flex-direction:column}.identity[data-v-f6e9c216]{width:100%;padding-right:0;padding-bottom:calc(16px * var(--ui-scale,1));border-right:none;border-bottom:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);flex:none}.stat-tiles[data-v-f6e9c216]{grid-template-columns:repeat(2,minmax(0,1fr))}}.ach-section[data-v-7e47d44b]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card)}.sec-head[data-v-7e47d44b]{align-items:baseline;gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.sec-title[data-v-7e47d44b]{font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.sec-sub[data-v-7e47d44b]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:0}.cat-pills[data-v-7e47d44b]{gap:calc(8px * var(--ui-scale,1));margin-top:calc(10px * var(--ui-scale,1));padding-bottom:calc(4px * var(--ui-scale,1));display:flex;overflow-x:auto}.pill[data-v-7e47d44b]{border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fafbff);color:var(--student-color-text-secondary);font-size:calc(13px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));cursor:pointer;flex-shrink:0;font-weight:700;transition:all .2s}.pill.active[data-v-7e47d44b]{background:var(--student-color-primary);border-color:var(--student-color-primary);color:#fff}.ach-error[data-v-7e47d44b]{margin-top:calc(12px * var(--ui-scale,1));align-items:center;gap:calc(10px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);display:flex}.retry-btn[data-v-7e47d44b]{border-radius:calc(10px * var(--ui-scale,1));background:var(--student-color-primary);color:#fff;font-size:calc(13px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700}.ach-loading[data-v-7e47d44b]{min-height:calc(120px * var(--ui-scale,1))}.medal-grid[data-v-7e47d44b]{margin-top:calc(12px * var(--ui-scale,1));grid-template-columns:repeat(auto-fill, minmax(calc(230px * var(--ui-scale,1)), 1fr));gap:calc(10px * var(--ui-scale,1));display:grid}.medal-card[data-v-7e47d44b]{align-items:center;gap:calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(14px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));cursor:pointer;background:#fffdf5;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.medal-card[data-v-7e47d44b]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #00000014}.medal-card.locked[data-v-7e47d44b]{background:var(--student-color-bg-warm,#fafbff);filter:grayscale(.9);opacity:.75}.medal-card.maxed[data-v-7e47d44b]{border-color:#ffb13c}.medal-img[data-v-7e47d44b]{width:calc(46px * var(--ui-scale,1));height:calc(46px * var(--ui-scale,1));object-fit:contain;flex-shrink:0;display:block}.medal-img.placeholder[data-v-7e47d44b]{background:var(--student-color-bg-warm,#fafbff);border:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border);color:var(--student-color-text-muted);font-size:calc(18px * var(--ui-scale,1));border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.medal-info[data-v-7e47d44b]{flex:1;min-width:0}.medal-title[data-v-7e47d44b]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);align-items:center;gap:calc(4px * var(--ui-scale,1));font-weight:800;display:flex}.max-flag[data-v-7e47d44b]{font-size:calc(9px * var(--ui-scale,1));color:#fff;border-radius:calc(6px * var(--ui-scale,1));padding:1px calc(5px * var(--ui-scale,1));background:linear-gradient(135deg,#ffb13c,#ff66b3);font-weight:800}.medal-cond[data-v-7e47d44b]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin-top:calc(2px * var(--ui-scale,1));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lvl-dots[data-v-7e47d44b]{gap:calc(4px * var(--ui-scale,1));margin-top:calc(5px * var(--ui-scale,1));display:flex}.lvl-img[data-v-7e47d44b]{width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));object-fit:contain;transition:filter .2s,opacity .2s;display:block}.lvl-img.on[data-v-7e47d44b]{filter:none;opacity:1}.lvl-img.off[data-v-7e47d44b]{filter:grayscale();opacity:.4}.wear-btn[data-v-7e47d44b]{border-radius:calc(999px * var(--ui-scale,1));color:#4a2800;font-size:calc(12px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));cursor:pointer;background:linear-gradient(135deg,#ffb13c,#ff8c1a);border:none;flex-shrink:0;font-weight:800;transition:transform .2s}.wear-btn[data-v-7e47d44b]:hover{transform:scale(1.06)}.empty-hint[data-v-7e47d44b]{text-align:center;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);padding:calc(18px * var(--ui-scale,1)) 0;grid-column:1/-1}.honors-center[data-v-92a2b3f6]{gap:calc(20px * var(--ui-scale,1));flex-direction:column;display:flex}.progress-strip[data-v-92a2b3f6]{gap:calc(12px * var(--ui-scale,1));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.strip-card[data-v-92a2b3f6]{align-items:center;gap:calc(10px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);display:flex}.strip-emoji[data-v-92a2b3f6]{font-size:calc(26px * var(--ui-scale,1));line-height:1}.strip-texts[data-v-92a2b3f6]{flex-direction:column;min-width:0;display:flex}.strip-texts b[data-v-92a2b3f6]{font-family:var(--student-font-family-title);font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:800;line-height:1.2}.strip-texts span[data-v-92a2b3f6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.pct-strip[data-v-92a2b3f6]{justify-content:center}.pct-ring[data-v-92a2b3f6]{width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pct-num[data-v-92a2b3f6]{font-family:var(--student-font-family-title);font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-primary);background:var(--student-color-bg-card);width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.wearing-section[data-v-92a2b3f6]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card)}.sec-head[data-v-92a2b3f6]{align-items:baseline;gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.sec-title[data-v-92a2b3f6]{font-family:var(--student-font-family-title);font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.sec-sub[data-v-92a2b3f6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:0}.wearing-row[data-v-92a2b3f6]{margin-top:calc(10px * var(--ui-scale,1));gap:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.wear-slot[data-v-92a2b3f6]{align-items:center;gap:calc(3px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border);background:var(--student-color-bg-warm,#fafbff);cursor:pointer;min-height:calc(86px * var(--ui-scale,1));flex-direction:column;justify-content:center;font-family:inherit;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.wear-slot[data-v-92a2b3f6]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.wear-slot.filled[data-v-92a2b3f6]{border-style:solid;border-color:var(--student-color-accent);background:#fff8ec}.wear-emoji[data-v-92a2b3f6]{font-size:calc(26px * var(--ui-scale,1));line-height:1}.wear-emoji.dim[data-v-92a2b3f6]{opacity:.35}.wear-img[data-v-92a2b3f6]{width:calc(30px * var(--ui-scale,1));height:calc(30px * var(--ui-scale,1));object-fit:contain;flex-shrink:0;display:block}.wear-name[data-v-92a2b3f6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.wear-name.dim[data-v-92a2b3f6]{color:var(--student-color-text-muted);font-weight:500}.wear-label[data-v-92a2b3f6]{font-size:calc(10px * var(--ui-scale,1));color:var(--student-color-text-muted);border-radius:calc(8px * var(--ui-scale,1));padding:0 calc(6px * var(--ui-scale,1));background:#0000000a}.wear-tip[data-v-92a2b3f6]{margin:calc(8px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}@media (width<=899px){.progress-strip[data-v-92a2b3f6],.wearing-row[data-v-92a2b3f6]{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-profile[data-v-8b16ffd7]{padding:0 0 calc(24px * var(--ui-scale,1));width:100%}.profile-header[data-v-8b16ffd7]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(20px * var(--ui-scale,1));display:flex}.header-icon[data-v-8b16ffd7]{font-size:calc(36px * var(--ui-scale,1))}.header-title[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.header-sub[data-v-8b16ffd7]{margin:calc(2px * var(--ui-scale,1)) 0 0;font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.page-tabs[data-v-8b16ffd7]{gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:flex}.page-tab[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));padding:calc(9px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);background:var(--student-color-bg-card);color:var(--student-color-text-secondary);cursor:pointer;align-items:center;gap:calc(6px * var(--ui-scale,1));font-weight:800;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.page-tab[data-v-8b16ffd7]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.page-tab.active[data-v-8b16ffd7]{background:var(--student-color-primary);border-color:var(--student-color-primary);color:#fff;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #4c97ff59}.page-tab.honors-tab.active[data-v-8b16ffd7]{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #ff8c1a59;background:linear-gradient(135deg,#ffb13c,#ff8c1a);border-color:#ff8c1a}.tab-emoji[data-v-8b16ffd7]{font-size:calc(17px * var(--ui-scale,1))}.tab-panel-honors[data-v-8b16ffd7]{min-height:calc(200px * var(--ui-scale,1))}.section-header[data-v-8b16ffd7]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(14px * var(--ui-scale,1));display:flex}.section-icon[data-v-8b16ffd7]{font-size:calc(22px * var(--ui-scale,1))}.section-title[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.growth-section[data-v-8b16ffd7]{margin-top:calc(24px * var(--ui-scale,1))}.streak-card[data-v-8b16ffd7]{background:var(--student-color-accent-dark-light);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent);border-radius:var(--student-border-radius-card);padding:calc(16px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));align-items:center;gap:calc(16px * var(--ui-scale,1));display:flex}.streak-flame[data-v-8b16ffd7]{font-size:calc(40px * var(--ui-scale,1));line-height:1}.streak-main[data-v-8b16ffd7]{flex-shrink:0}.streak-value[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(40px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:800;line-height:1}.streak-unit[data-v-8b16ffd7]{font-size:calc(18px * var(--ui-scale,1));margin-left:calc(2px * var(--ui-scale,1))}.streak-label[data-v-8b16ffd7]{margin-top:calc(2px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.streak-side[data-v-8b16ffd7]{flex:1;min-width:0}.streak-hint[data-v-8b16ffd7]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.streak-bar[data-v-8b16ffd7]{height:calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-accent);border-radius:calc(999px * var(--ui-scale,1));background:#fff;overflow:hidden}.streak-fill[data-v-8b16ffd7]{background:var(--student-color-accent);border-radius:calc(999px * var(--ui-scale,1));height:100%;transition:width .5s}.streak-scale[data-v-8b16ffd7]{margin:calc(4px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.mini-grid[data-v-8b16ffd7]{margin-top:calc(14px * var(--ui-scale,1));gap:calc(12px * var(--ui-scale,1));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mini-card[data-v-8b16ffd7]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);padding:calc(14px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));align-items:center;gap:calc(2px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);flex-direction:column;display:flex}.mini-icon[data-v-8b16ffd7]{font-size:calc(24px * var(--ui-scale,1))}.mini-value[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-primary-dark);font-weight:800}.mini-unit[data-v-8b16ffd7]{font-size:calc(13px * var(--ui-scale,1));margin-left:calc(2px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.mini-label[data-v-8b16ffd7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.mini-sub[data-v-8b16ffd7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.tools-section[data-v-8b16ffd7]{margin-top:calc(28px * var(--ui-scale,1))}.tool-list[data-v-8b16ffd7]{background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:var(--student-border-radius-card);margin:0;padding:0;list-style:none;overflow:hidden}.tool-list li+li[data-v-8b16ffd7]{border-top:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border)}.tool-row[data-v-8b16ffd7]{align-items:center;gap:calc(14px * var(--ui-scale,1));width:100%;padding:calc(14px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));text-align:left;cursor:pointer;transition:background var(--student-transition-fast);background:0 0;border:none;font-family:inherit;display:flex}.tool-row[data-v-8b16ffd7]:hover{background:var(--student-color-primary-lightest)}.tool-row[data-v-8b16ffd7]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);outline-offset:calc(-2px * var(--ui-scale,1))}.tool-row-static[data-v-8b16ffd7]{cursor:default}.tool-row-static[data-v-8b16ffd7]:hover{background:0 0}.tool-emoji[data-v-8b16ffd7]{font-size:calc(22px * var(--ui-scale,1));flex-shrink:0}.tool-main[data-v-8b16ffd7]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;display:flex}.tool-name[data-v-8b16ffd7]{font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.tool-desc[data-v-8b16ffd7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.tool-arrow[data-v-8b16ffd7]{font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-muted)}.size-seg[data-v-8b16ffd7]{gap:calc(2px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1));background:var(--student-color-bg-page);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(999px * var(--ui-scale,1));flex-shrink:0;display:inline-flex}.size-seg__btn[data-v-8b16ffd7]{min-width:calc(44px * var(--ui-scale,1));min-height:calc(40px * var(--ui-scale,1));padding:0 calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-family:inherit;font-size:calc(14px * var(--ui-scale,1));cursor:pointer;transition:background var(--student-transition-fast), color var(--student-transition-fast);background:0 0;border:none;font-weight:700}.size-seg__btn[data-v-8b16ffd7]:hover{color:var(--student-color-primary-dark)}.size-seg__btn.is-active[data-v-8b16ffd7]{background:var(--student-color-primary);color:#fff}.size-seg__btn[data-v-8b16ffd7]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary);outline-offset:1px}.upgrade-row[data-v-8b16ffd7]{margin-top:calc(12px * var(--ui-scale,1));align-items:center;gap:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.upgrade-note[data-v-8b16ffd7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.about-tip[data-v-8b16ffd7]{margin:calc(10px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-success)}.about-tip.err[data-v-8b16ffd7]{color:var(--student-color-danger)}.readonly-grid[data-v-8b16ffd7]{gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(18px * var(--ui-scale,1));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ro-item[data-v-8b16ffd7]{gap:calc(4px * var(--ui-scale,1));background:var(--student-color-primary-lightest);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));flex-direction:column;display:flex}.ro-label[data-v-8b16ffd7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.ro-value[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);word-break:break-all;font-weight:800}.self-grid[data-v-8b16ffd7]{gap:calc(14px * var(--ui-scale,1));grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;display:grid}.self-item[data-v-8b16ffd7]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.self-label[data-v-8b16ffd7]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.fill[data-v-8b16ffd7]{width:100%}.gender-group[data-v-8b16ffd7]{width:100%;display:flex}.gender-group[data-v-8b16ffd7] .el-radio-button__inner{font-size:calc(14px * var(--ui-scale,1));font-weight:700}.gender-group[data-v-8b16ffd7] .el-radio-button{flex:1}.gender-group[data-v-8b16ffd7] .el-radio-button__inner{width:100%}.dialog-footer[data-v-8b16ffd7]{justify-content:flex-end;gap:calc(8px * var(--ui-scale,1));display:flex}.comp-tip[data-v-8b16ffd7]{margin:0 0 calc(14px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600}.comp-grid[data-v-8b16ffd7]{gap:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.comp-span[data-v-8b16ffd7]{grid-column:1/-1}.comp-group-title[data-v-8b16ffd7]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);padding-bottom:calc(6px * var(--ui-scale,1));border-bottom:calc(1.5px * var(--ui-scale,1)) dashed var(--student-color-border);font-weight:800}.pv-error[data-v-8b16ffd7]{margin:calc(10px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-danger)}.pe-field[data-v-8b16ffd7]{gap:calc(6px * var(--ui-scale,1));flex-direction:column;display:flex}.pe-label[data-v-8b16ffd7]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700}.btn-gamified[data-v-8b16ffd7]{border-radius:var(--student-border-radius-btn)!important;font-family:var(--student-font-family-title)!important;font-weight:700!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}.btn-gamified[data-v-8b16ffd7]:hover{transform:scale(1.04)!important}.btn-gamified[data-v-8b16ffd7]:active{transform:scale(.96)!important}.btn-primary[data-v-8b16ffd7]{background:var(--student-color-primary);color:#fff;border-color:var(--student-color-primary)!important}.btn-block[data-v-8b16ffd7]{width:100%}.btn-mini[data-v-8b16ffd7]{background:var(--student-color-primary-lightest);font-size:calc(14px * var(--ui-scale,1));flex-shrink:0;border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary)!important;color:var(--student-color-primary-dark)!important}@media (width<=899px){.mini-grid[data-v-8b16ffd7],.self-grid[data-v-8b16ffd7],.readonly-grid[data-v-8b16ffd7],.comp-grid[data-v-8b16ffd7]{grid-template-columns:1fr}.streak-card[data-v-8b16ffd7]{flex-wrap:wrap}}.typing-history[data-v-a25b8717]{padding:calc(16px * var(--ui-scale,1));padding-bottom:calc(120px * var(--ui-scale,1));max-width:calc(960px * var(--ui-scale,1));margin:0 auto}.th-header[data-v-a25b8717]{align-items:center;gap:calc(10px * var(--ui-scale,1));display:flex}.back-btn[data-v-a25b8717]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary,#575e75);font-size:calc(16px * var(--ui-scale,1));cursor:pointer;font-weight:700}.th-title[data-v-a25b8717]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin:0;font-weight:700}.overview-card[data-v-a25b8717]{margin-top:calc(12px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-typing,#ebf7eb);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2)}.ov-stats[data-v-a25b8717]{gap:calc(10px * var(--ui-scale,1));grid-template-columns:repeat(4,1fr);display:grid}.ov-stat[data-v-a25b8717]{align-items:center;gap:calc(8px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border-radius:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));display:flex}.ov-icon[data-v-a25b8717]{font-size:calc(22px * var(--ui-scale,1))}.ov-num[data-v-a25b8717]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-accent-dark,#b35f00);font-variant-numeric:tabular-nums;font-weight:800}.ov-label[data-v-a25b8717]{line-height:1.3;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);flex-direction:column;display:flex}.ov-label i[data-v-a25b8717]{font-style:normal;font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.ov-trend[data-v-a25b8717]{margin-top:calc(10px * var(--ui-scale,1))}.trend-svg[data-v-a25b8717]{width:100%;height:calc(64px * var(--ui-scale,1));display:block}.trend-bar[data-v-a25b8717]{fill:var(--student-color-primary-light,#79aeff)}.trend-bar.today[data-v-a25b8717]{fill:var(--student-color-accent,#ff8c1a)}.trend-day[data-v-a25b8717]{font-size:calc(11px * var(--ui-scale,1));fill:var(--student-color-text-muted,#818697)}.trend-cap[data-v-a25b8717]{margin:calc(4px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.toolbar[data-v-a25b8717]{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));margin:calc(14px * var(--ui-scale,1)) 0 calc(10px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.tabs[data-v-a25b8717]{gap:calc(6px * var(--ui-scale,1));display:flex}.tab[data-v-a25b8717]{padding:calc(7px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);background:var(--student-color-bg-card,#fff);color:var(--student-color-text-secondary,#818697);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;font-weight:700}.tab.on[data-v-a25b8717]{background:var(--student-color-primary,#4c97ff);border-color:var(--student-color-primary,#4c97ff);color:#fff}.sorts[data-v-a25b8717]{gap:calc(6px * var(--ui-scale,1));display:flex}.sort-chip[data-v-a25b8717]{padding:calc(5px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-text-secondary,#818697);font-size:calc(13px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700}.sort-chip.on[data-v-a25b8717]{background:var(--student-color-accent-dark-light,#fff1e3);color:var(--student-color-accent-dark,#b35f00)}.time-group[data-v-a25b8717]{margin-top:calc(6px * var(--ui-scale,1))}.g-head[data-v-a25b8717]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin:calc(10px * var(--ui-scale,1)) 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);font-weight:700;display:flex}.g-head[data-v-a25b8717]:after{content:"";height:calc(2px * var(--ui-scale,1));background:var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));opacity:.6;flex:1}.history-card[data-v-a25b8717]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);display:flex}.history-card.gold-card[data-v-a25b8717]{background:linear-gradient(90deg, var(--student-color-bg-warm,#fff7e0) 0%, #fff 55%);border-color:var(--student-color-accent,#ff8c1a)}.history-card.failed[data-v-a25b8717]{opacity:.75}.hc-main[data-v-a25b8717]{flex:1;min-width:0}.hc-title-row[data-v-a25b8717]{align-items:center;gap:calc(6px * var(--ui-scale,1));min-width:0;display:flex}.hc-kind[data-v-a25b8717]{width:calc(26px * var(--ui-scale,1));height:calc(26px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hc-kind--level[data-v-a25b8717]{background:var(--student-color-primary-lightest,#e5f0ff)}.hc-kind--speed[data-v-a25b8717]{background:var(--student-color-bg-warm,#fff7e0)}.hc-name[data-v-a25b8717]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.hc-stage[data-v-a25b8717]{padding:calc(1px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary-dark,#3373cc);font-size:calc(11px * var(--ui-scale,1));flex-shrink:0;font-weight:700}.hc-best[data-v-a25b8717]{padding:calc(1px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-accent-dark-light,#fff1e3);color:var(--student-color-accent-dark,#b35f00);font-size:calc(11px * var(--ui-scale,1));flex-shrink:0;font-weight:700}.hc-sub[data-v-a25b8717]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-top:calc(3px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.hc-chip[data-v-a25b8717]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);white-space:nowrap;font-weight:700}.hc-acc.good[data-v-a25b8717]{color:var(--student-color-success,#59c059)}.hc-acc.warn[data-v-a25b8717]{color:var(--student-color-accent-dark,#b35f00)}.hc-retry[data-v-a25b8717]{color:var(--student-color-text-muted,#818697)}.hc-score[data-v-a25b8717]{align-items:baseline;gap:calc(3px * var(--ui-scale,1));flex-shrink:0;display:flex}.hc-cpm[data-v-a25b8717]{font-size:calc(26px * var(--ui-scale,1));font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.hc-cpm.fast[data-v-a25b8717]{color:var(--student-color-success,#59c059)}.hc-cpm.ok[data-v-a25b8717]{color:var(--student-color-primary,#4c97ff)}.hc-cpm.slow[data-v-a25b8717]{color:var(--student-color-text-muted,#818697)}.hc-cpm-unit[data-v-a25b8717]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.hc-stars[data-v-a25b8717]{gap:calc(2px * var(--ui-scale,1));flex-shrink:0;display:flex}.hc-stars .star[data-v-a25b8717]{font-size:calc(17px * var(--ui-scale,1));opacity:.22;filter:grayscale()}.hc-stars .star.on[data-v-a25b8717]{opacity:1;filter:none;text-shadow:0 0 calc(6px * var(--ui-scale,1)) #ffb3008c}.hc-time[data-v-a25b8717]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);font-variant-numeric:tabular-nums;flex-shrink:0;align-self:flex-start}.more-btn[data-v-a25b8717]{margin:calc(16px * var(--ui-scale,1)) auto 0;padding:calc(10px * var(--ui-scale,1)) calc(28px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary,#4c97ff);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;font-weight:700;display:block}.more-btn[data-v-a25b8717]:disabled{opacity:.6;cursor:wait}.seen-tip[data-v-a25b8717]{text-align:center;margin:calc(8px * var(--ui-scale,1)) 0 0;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.end-tip[data-v-a25b8717]{text-align:center;margin:calc(18px * var(--ui-scale,1)) 0 calc(4px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.empty[data-v-a25b8717]{text-align:center;padding:calc(48px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-size:calc(16px * var(--ui-scale,1))}.empty-emoji[data-v-a25b8717]{font-size:calc(48px * var(--ui-scale,1));margin:0 0 calc(8px * var(--ui-scale,1))}.empty-btn[data-v-a25b8717]{margin-top:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(28px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-success,#59c059);color:#fff;font-size:calc(16px * var(--ui-scale,1));cursor:pointer;border:none;font-weight:700}@media (width<=899px){.ov-stats[data-v-a25b8717]{grid-template-columns:repeat(2,1fr)}}@media (width<=599px){.history-card[data-v-a25b8717]{flex-wrap:wrap}.hc-main[data-v-a25b8717]{flex-basis:100%}.hc-score[data-v-a25b8717]{order:2}.hc-stars[data-v-a25b8717]{order:3;margin-left:auto}.hc-time[data-v-a25b8717]{order:1;margin-left:auto}.toolbar[data-v-a25b8717]{flex-direction:column;align-items:stretch}.tabs[data-v-a25b8717],.sorts[data-v-a25b8717]{flex-wrap:wrap}}.vk[data-v-dbf2d9ea]{width:100%;max-width:calc(800px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1));pointer-events:none;margin:0 auto}.vk__body[data-v-dbf2d9ea]{gap:calc(3px * var(--ui-scale,1));flex-direction:column;align-items:center;display:flex;position:relative}.vk__hand-overlay[data-v-dbf2d9ea]{opacity:.85;z-index:0;pointer-events:none;width:18%;height:92%;position:absolute;top:4%}.vk__hand-overlay svg[data-v-dbf2d9ea]{width:100%;height:100%}.vk__hand-overlay--left[data-v-dbf2d9ea]{left:0}.vk__hand-overlay--right[data-v-dbf2d9ea]{right:0;transform:scaleX(-1)}.vk__row[data-v-dbf2d9ea]{gap:calc(3px * var(--ui-scale,1));justify-content:center;display:flex}.vk__row--offset-1[data-v-dbf2d9ea]{padding-left:calc(20px * var(--ui-scale,1))}.vk__row--offset-2[data-v-dbf2d9ea]{padding-left:calc(40px * var(--ui-scale,1))}.vk__row--offset-3[data-v-dbf2d9ea]{padding-left:calc(60px * var(--ui-scale,1))}.vk__row--space[data-v-dbf2d9ea]{margin-top:calc(2px * var(--ui-scale,1))}.vk__key[data-v-dbf2d9ea]{z-index:1;min-width:calc(36px * var(--ui-scale,1));min-height:calc(44px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid transparent;border-radius:calc(8px * var(--ui-scale,1));font-family:Nunito,Courier New,monospace;font-size:calc(16px * var(--ui-scale,1));color:#fff;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;font-weight:700;transition:background-color .15s,box-shadow .15s;display:inline-flex;position:relative}.vk__key-shifted[data-v-dbf2d9ea]{font-size:calc(11px * var(--ui-scale,1));opacity:.75;margin-top:calc(-2px * var(--ui-scale,1));font-weight:500}.vk__key--space-color[data-v-dbf2d9ea]{background:var(--student-keyboard-space,#ff9f1a);min-width:calc(200px * var(--ui-scale,1))}.vk__key--space[data-v-dbf2d9ea]{min-height:calc(40px * var(--ui-scale,1))}.vk__key--highlight[data-v-dbf2d9ea]{box-shadow:0 0 0 calc(3px * var(--ui-scale,1)) #ffbf0059;animation:1.4s ease-in-out infinite vk-breathe-dbf2d9ea;border-color:var(--student-char-current,#ffbf00)!important}@keyframes vk-breathe-dbf2d9ea{0%,to{box-shadow:0 0 0 calc(3px * var(--ui-scale,1)) #ffbf0059}50%{box-shadow:0 0 calc(14px * var(--ui-scale,1)) calc(5px * var(--ui-scale,1)) #ffbf0073}}.vk__key--pressed[data-v-dbf2d9ea]{transform:scale(.94) translateY(calc(2px * var(--ui-scale,1)));filter:brightness(.85)}.vk__key--active-hand[data-v-dbf2d9ea]{filter:brightness(1.08)}.vk__key-bump[data-v-dbf2d9ea]{width:calc(14px * var(--ui-scale,1));height:calc(3px * var(--ui-scale,1));border-radius:calc(2px * var(--ui-scale,1));box-shadow:0 1px calc(2px * var(--ui-scale,1)) #0003;background:#ffffffb3;margin-top:1px;display:block}.vk__key-finger[data-v-dbf2d9ea]{font-size:calc(9px * var(--ui-scale,1));opacity:.75;color:#fff;text-shadow:0 1px calc(2px * var(--ui-scale,1)) #00000026;white-space:nowrap;margin-top:1px;font-weight:600;line-height:1;display:block}.vk__legend[data-v-dbf2d9ea]{justify-content:center;gap:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) 0;flex-wrap:wrap;display:flex}.vk__legend-item[data-v-dbf2d9ea]{align-items:center;gap:calc(5px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700;display:inline-flex}.vk__legend-dot[data-v-dbf2d9ea]{width:calc(12px * var(--ui-scale,1));height:calc(12px * var(--ui-scale,1));box-shadow:0 1px calc(3px * var(--ui-scale,1)) #00000026;border-radius:50%;display:inline-block}.vk__hands[data-v-dbf2d9ea]{padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) 0;justify-content:space-between;display:flex}.vk__hand[data-v-dbf2d9ea]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:600;display:flex}.vk__hand--right[data-v-dbf2d9ea]{flex-direction:row-reverse}.vk__hand-emoji[data-v-dbf2d9ea]{font-size:calc(20px * var(--ui-scale,1))}.vk__hand-text[data-v-dbf2d9ea]{white-space:nowrap}@media (prefers-reduced-motion:reduce){.vk__key--highlight[data-v-dbf2d9ea]{box-shadow:0 0 0 calc(3px * var(--ui-scale,1)) #ffbf0059;animation:none}.vk__key[data-v-dbf2d9ea]{transition:none}}.typing-learn[data-v-815518d4]{padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1));max-width:calc(860px * var(--ui-scale,1));margin:0 auto}.entry-tip[data-v-815518d4]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(48px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));flex-direction:column;display:flex}.entry-tip__emoji[data-v-815518d4]{font-size:calc(40px * var(--ui-scale,1));margin:0}.entry-tip__text[data-v-815518d4]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin:0;font-weight:700}.entry-btn[data-v-815518d4]{padding:calc(10px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary,#4c97ff);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;font-weight:700}.learn-header[data-v-815518d4]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));display:flex}.back-btn[data-v-815518d4]{border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(12px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);cursor:pointer;background:0 0;flex-shrink:0;font-weight:700}.learn-title-wrap[data-v-815518d4]{align-items:center;gap:calc(10px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.learn-title[data-v-815518d4]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin:0;font-weight:800}.learn-badge[data-v-815518d4]{padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fff7e0);border:1px solid var(--student-color-accent,#ff8c1a);color:var(--student-color-accent-dark,#b35f00);font-size:calc(12px * var(--ui-scale,1));white-space:nowrap;font-weight:700}.summary-card[data-v-815518d4]{align-items:flex-start;gap:calc(10px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-typing,#ebf7eb);border-radius:calc(16px * var(--ui-scale,1));display:flex}.summary-emoji[data-v-815518d4]{font-size:calc(26px * var(--ui-scale,1));line-height:1.2}.summary-text[data-v-815518d4]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin:0;font-weight:700;line-height:1.6}.learn-section[data-v-815518d4]{padding:calc(16px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a)}.section-title[data-v-815518d4]{margin:0 0 calc(4px * var(--ui-scale,1));font-size:calc(17px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:800}.section-sub[data-v-815518d4]{margin:0 0 calc(12px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.hands-map[data-v-815518d4]{gap:calc(16px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.hand-col[data-v-815518d4]{flex:1 1 calc(320px * var(--ui-scale,1));min-width:calc(280px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-page,#e9f1fc)}.hand-col__title[data-v-815518d4]{font-size:calc(14px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:800}.hand-col__title--left[data-v-815518d4]{color:#4c97ff}.hand-col__title--right[data-v-815518d4]{text-align:right;color:#43b649}.finger-row[data-v-815518d4]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) 0;border-radius:calc(8px * var(--ui-scale,1));display:flex}.finger-row--active[data-v-815518d4]{background:#ffbf0024}.finger-row__label[data-v-815518d4]{width:calc(52px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));flex-shrink:0;font-weight:800}.finger-row__keys[data-v-815518d4]{gap:calc(4px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.key-chip[data-v-815518d4]{min-width:calc(26px * var(--ui-scale,1));height:calc(26px * var(--ui-scale,1));padding:0 calc(6px * var(--ui-scale,1));border-radius:calc(7px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d9e3f2);color:var(--student-color-text-primary,#575e75);font-family:Nunito,Courier New,monospace;font-size:calc(13px * var(--ui-scale,1));background:#fff;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.key-chip--learn[data-v-815518d4]{color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #0000001f}.learn-keys-line[data-v-815518d4]{align-items:center;gap:calc(6px * var(--ui-scale,1));margin:calc(12px * var(--ui-scale,1)) 0 0;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);flex-wrap:wrap;font-weight:700;display:flex}.demo-actions[data-v-815518d4]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-top:calc(12px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.demo-btn[data-v-815518d4]{padding:calc(10px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(15px * var(--ui-scale,1));cursor:pointer;font-weight:800;transition:transform .15s,box-shadow .2s}.demo-btn[data-v-815518d4]:hover:not(:disabled){box-shadow:var(--student-shadow-hover)}.demo-btn[data-v-815518d4]:active:not(:disabled){transform:scale(.96)}.demo-btn[data-v-815518d4]:disabled{opacity:.5;cursor:not-allowed;border-color:var(--student-color-border,#d9e3f2);background:var(--student-color-bg-page,#e9f1fc);color:var(--student-color-text-muted,#818697)}.demo-progress[data-v-815518d4]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700}.steps[data-v-815518d4]{gap:calc(10px * var(--ui-scale,1));flex-direction:column;display:flex}.step-card[data-v-815518d4]{gap:calc(10px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-page,#e9f1fc);display:flex}.step-index[data-v-815518d4]{width:calc(24px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(13px * var(--ui-scale,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.step-body[data-v-815518d4]{flex:1;min-width:0}.step-title[data-v-815518d4]{font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin-bottom:calc(2px * var(--ui-scale,1));font-weight:800}.step-icon[data-v-815518d4]{margin-right:calc(4px * var(--ui-scale,1))}.step-text[data-v-815518d4]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);margin:0;line-height:1.7}.tips[data-v-815518d4]{padding-left:calc(20px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);margin:0;line-height:1.9}.learn-footer[data-v-815518d4]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-top:calc(20px * var(--ui-scale,1));flex-direction:column;display:flex}.next-btn[data-v-815518d4]{width:100%;max-width:calc(420px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid #59c059;color:#fff;font-size:calc(17px * var(--ui-scale,1));cursor:pointer;background:#59c059;font-weight:800;transition:transform .15s,box-shadow .2s}.next-btn[data-v-815518d4]:hover:not(:disabled){box-shadow:0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #59c05947}.next-btn[data-v-815518d4]:active:not(:disabled){transform:scale(.97)}.next-btn[data-v-815518d4]:disabled{background:var(--student-color-bg-page,#e9f1fc);border-color:var(--student-color-border,#d9e3f2);color:var(--student-color-text-muted,#818697);cursor:not-allowed}.ghost-btn[data-v-815518d4]{padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);color:var(--student-color-text-secondary,#818697);font-size:calc(14px * var(--ui-scale,1));cursor:pointer;background:0 0;font-weight:700}@media (width<=899px){.hand-col[data-v-815518d4]{min-width:100%}.finger-row__label[data-v-815518d4]{width:calc(48px * var(--ui-scale,1))}}@media (prefers-reduced-motion:reduce){.demo-btn[data-v-815518d4],.next-btn[data-v-815518d4]{transition:none}}.typing-level-map[data-v-f227eae5]{padding:calc(16px * var(--ui-scale,1))}.page-hero[data-v-f227eae5]{margin-bottom:calc(16px * var(--ui-scale,1))}.page-title[data-v-f227eae5]{margin:0 0 calc(4px * var(--ui-scale,1));font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:700}.page-subtitle[data-v-f227eae5]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);margin:0}.overview-bar[data-v-f227eae5]{gap:calc(24px * var(--ui-scale,1));padding:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-typing,#ebf7eb);border-radius:calc(16px * var(--ui-scale,1));margin-bottom:calc(20px * var(--ui-scale,1));display:flex}.overview-item[data-v-f227eae5]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-size:calc(16px * var(--ui-scale,1));font-weight:600;display:flex}.overview-icon[data-v-f227eae5]{font-size:calc(20px * var(--ui-scale,1))}.overview-actions[data-v-f227eae5]{gap:calc(8px * var(--ui-scale,1));margin-left:auto;display:flex}.overview-link[data-v-f227eae5]{padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:1px solid var(--student-color-border,#d9e3f2);color:var(--student-color-text-primary,#575e75);font-size:calc(13px * var(--ui-scale,1));white-space:nowrap;font-weight:600;text-decoration:none;transition:all .2s}.overview-link[data-v-f227eae5]:hover{background:var(--student-color-primary,#4c97ff);color:#fff}.weak-bar[data-v-f227eae5]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));margin-bottom:calc(20px * var(--ui-scale,1));background:var(--student-color-danger-light,#ffecef);border-radius:calc(12px * var(--ui-scale,1));border:1px solid var(--student-color-danger,#ff6680);flex-wrap:wrap;display:flex}.weak-bar-label[data-v-f227eae5]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);white-space:nowrap;font-weight:600}.weak-chips[data-v-f227eae5]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.weak-chip[data-v-f227eae5]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:1px solid var(--student-color-danger,#ff6680);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-danger,#ff6680);font-family:Courier New,monospace;font-weight:700;display:inline-flex}.weak-chip-count[data-v-f227eae5]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);font-weight:500}.levels-grid[data-v-f227eae5]{grid-template-columns:repeat(auto-fill, minmax(calc(160px * var(--ui-scale,1)), 1fr));gap:calc(12px * var(--ui-scale,1));display:grid}.level-card[data-v-f227eae5]{padding:calc(14px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);cursor:pointer;min-height:calc(120px * var(--ui-scale,1));transition:all .2s;position:relative}.level-card[data-v-f227eae5]:hover:not(.locked){box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29);transform:translateY(calc(-2px * var(--ui-scale,1)))}.level-card.locked[data-v-f227eae5]{opacity:.55;cursor:not-allowed}.level-card.learn-card[data-v-f227eae5]{border-style:dashed}.level-header[data-v-f227eae5]{margin-bottom:calc(6px * var(--ui-scale,1));justify-content:space-between;align-items:center;display:flex}.level-num[data-v-f227eae5]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697)}.level-kind-badge[data-v-f227eae5]{font-size:calc(18px * var(--ui-scale,1))}.level-name[data-v-f227eae5]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin-bottom:calc(4px * var(--ui-scale,1));font-weight:600}.level-stage[data-v-f227eae5]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);margin-bottom:calc(6px * var(--ui-scale,1))}.level-stars[data-v-f227eae5]{margin:calc(4px * var(--ui-scale,1)) 0}.star[data-v-f227eae5]{opacity:.3;font-size:calc(14px * var(--ui-scale,1))}.star.filled[data-v-f227eae5]{opacity:1}.level-cpm[data-v-f227eae5]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-success,#59c059)}.lock-overlay[data-v-f227eae5]{top:calc(8px * var(--ui-scale,1));right:calc(10px * var(--ui-scale,1));font-size:calc(18px * var(--ui-scale,1));position:absolute}.leaderboard-bar[data-v-f227eae5]{padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fff7e0);border-radius:calc(12px * var(--ui-scale,1));border:1px solid var(--student-color-accent,#ff8c1a)}.leaderboard-label[data-v-f227eae5]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(8px * var(--ui-scale,1));font-weight:600;display:block}.leaderboard-list[data-v-f227eae5]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.leaderboard-item[data-v-f227eae5]{align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card);font-size:calc(14px * var(--ui-scale,1));display:flex}.leaderboard-rank[data-v-f227eae5]{font-size:calc(16px * var(--ui-scale,1))}.leaderboard-name[data-v-f227eae5]{color:var(--student-color-text-primary);font-weight:600}.leaderboard-val[data-v-f227eae5]{color:var(--student-color-accent);font-weight:600}@media (prefers-reduced-motion:reduce){.level-card[data-v-f227eae5]{transition:none}.level-card[data-v-f227eae5]:hover:not(.locked){transform:none}.overview-link[data-v-f227eae5]:hover{background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary,#575e75)}}.char-strip[data-v-db46769c]{width:100%;padding:calc(18px * var(--ui-scale,1)) 0;overflow:hidden}.char-strip__scroll[data-v-db46769c]{gap:calc(12px * var(--ui-scale,1));scroll-behavior:smooth;padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto hidden}.char-strip__scroll[data-v-db46769c]::-webkit-scrollbar{display:none}.char-block[data-v-db46769c]{min-width:calc(64px * var(--ui-scale,1));height:calc(72px * var(--ui-scale,1));font-size:calc(34px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-family:Nunito,Courier New,monospace;font-weight:700;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.char-block--pending[data-v-db46769c]{background:var(--student-color-bg-page,#e9f1fc);color:var(--student-color-text-secondary,#818697);border:calc(2px * var(--ui-scale,1)) solid #c9d6ec}.char-block--space[data-v-db46769c]{min-width:calc(110px * var(--ui-scale,1));font-size:calc(18px * var(--ui-scale,1));letter-spacing:calc(2px * var(--ui-scale,1));text-indent:calc(2px * var(--ui-scale,1));font-weight:800}.char-block--correct[data-v-db46769c]{color:var(--student-color-text-primary,#4a5570);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-success,#59c059);background:#fff}.char-block--current[data-v-db46769c]{background:var(--student-color-success,#43b649);color:#fff;border:calc(3px * var(--ui-scale,1)) solid #2e9e38;box-shadow:0 calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #43b64959;transform:scale(1.08)}.char-block--breathing[data-v-db46769c]{animation:1.4s ease-in-out infinite char-breathe-db46769c}@keyframes char-breathe-db46769c{0%,to{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #43b64959, 0 0 0 0 #43b64959}50%{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1)) #43b64959, 0 0 0 calc(8px * var(--ui-scale,1)) #43b64929}}.char-block--error[data-v-db46769c]{background:var(--student-char-error,#ff6680);color:#fff;border:calc(2px * var(--ui-scale,1)) solid var(--student-color-danger,#ff6680);box-shadow:0 0 0 calc(3px * var(--ui-scale,1)) #ff66804d}.char-block--shake[data-v-db46769c]{animation:.35s ease-in-out char-shake-db46769c}@keyframes char-shake-db46769c{0%,to{transform:translate(0)}20%{transform:translateX(calc(-6px * var(--ui-scale,1)))}40%{transform:translateX(calc(6px * var(--ui-scale,1)))}60%{transform:translateX(calc(-4px * var(--ui-scale,1)))}80%{transform:translateX(calc(3px * var(--ui-scale,1)))}}.text-flow[data-v-7c212597]{width:100%;min-width:0;padding-right:calc(12px * var(--ui-scale,1));position:relative}.text-flow__scroll[data-v-7c212597]{max-height:calc(280px * var(--ui-scale,1));scrollbar-width:thin;padding:calc(4px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));font-family:Cascadia Code,Consolas,JetBrains Mono,Courier New,monospace;font-size:calc(20px * var(--ui-scale,1));font-weight:600;line-height:calc(42px * var(--ui-scale,1));letter-spacing:calc(1.2px * var(--ui-scale,1));white-space:pre-wrap;word-break:break-word;color:var(--student-color-text-secondary,#818697);position:relative;overflow-y:auto}.text-flow__scroll[data-v-7c212597]::-webkit-scrollbar{width:calc(6px * var(--ui-scale,1))}.text-flow__scroll[data-v-7c212597]::-webkit-scrollbar-thumb{background:var(--student-color-border,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1))}.text-flow__progress[data-v-7c212597]{top:calc(8px * var(--ui-scale,1));bottom:calc(8px * var(--ui-scale,1));width:calc(4px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:#e8eef8;position:absolute;right:0;overflow:hidden}.text-flow__progress-fill[data-v-7c212597]{background:var(--student-color-primary,#4c97ff);border-radius:calc(999px * var(--ui-scale,1));width:100%;transition:height .25s}.tf-char[data-v-7c212597]{border-radius:calc(5px * var(--ui-scale,1));padding:0 calc(1px * var(--ui-scale,1));transition:background-color .12s,color .12s}.tf-char--pending[data-v-7c212597]{color:#9aa3b8}.tf-char--typed[data-v-7c212597]{color:#3a4054;font-weight:700}.tf-char--newline[data-v-7c212597]{color:#a9b1c4;padding:0 calc(4px * var(--ui-scale,1));margin:0 calc(1px * var(--ui-scale,1));background:#eef2f9;font-weight:700}.tf-char--typed.tf-char--newline[data-v-7c212597]{color:#c4cbdc;background:0 0}.tf-char--typed.tf-char--wrong[data-v-7c212597]{color:var(--student-color-danger,#ff6680);-webkit-text-decoration:underline wavy var(--student-color-danger,#ff6680);text-decoration:underline wavy var(--student-color-danger,#ff6680);text-underline-offset:calc(3px * var(--ui-scale,1))}.tf-char--current[data-v-7c212597]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff59;font-size:1.12em;font-weight:700}.tf-char--current-error[data-v-7c212597]{background:var(--student-color-danger,#ff6680);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #ff668059;animation:.3s tf-shake-7c212597}@keyframes tf-shake-7c212597{0%,to{transform:translate(0)}25%{transform:translateX(calc(-2px * var(--ui-scale,1)))}60%{transform:translateX(calc(2px * var(--ui-scale,1)))}}@media (prefers-reduced-motion:reduce){.tf-char[data-v-7c212597]{transition:none}.tf-char--current-error[data-v-7c212597]{animation:none}.text-flow__progress-fill[data-v-7c212597]{transition:none}}.finger-guide[data-v-0f0e37a0]{align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff1a);font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);flex-direction:column;width:fit-content;max-width:100%;margin:0 auto;display:flex}.fg-now[data-v-0f0e37a0]{align-items:center;gap:calc(6px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);min-height:calc(24px * var(--ui-scale,1));font-weight:600;display:flex}.fg-now__dot[data-v-0f0e37a0]{width:calc(12px * var(--ui-scale,1));height:calc(12px * var(--ui-scale,1));box-shadow:0 0 0 calc(2px * var(--ui-scale,1)) #ffffffe6;border-radius:50%;flex-shrink:0}.fg-now__key[data-v-0f0e37a0]{min-width:calc(26px * var(--ui-scale,1));padding:1px calc(7px * var(--ui-scale,1));border-radius:calc(7px * var(--ui-scale,1));color:#fff;font-size:calc(15px * var(--ui-scale,1));text-align:center;box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #0000001f;font-family:Nunito,Courier New,monospace;font-weight:800;display:inline-block}.fg-now__shift[data-v-0f0e37a0]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-danger,#ff6680);font-weight:700}.fg-now__home[data-v-0f0e37a0]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.fg-now__text--idle b[data-v-0f0e37a0]{color:var(--student-color-primary,#4c97ff)}.fg-board[data-v-0f0e37a0]{align-items:stretch;gap:calc(2px * var(--ui-scale,1));flex-direction:column;display:flex}.fg-keys[data-v-0f0e37a0],.fg-hands[data-v-0f0e37a0]{grid-template-columns:repeat(10, calc(34px * var(--ui-scale,1)));gap:calc(4px * var(--ui-scale,1));justify-content:center;display:grid}.fg-key[data-v-0f0e37a0]{height:calc(34px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));color:#fff;font-size:calc(15px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #0000001f;justify-content:center;align-items:center;font-family:Nunito,Courier New,monospace;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex;position:relative}.fg-key--bump[data-v-0f0e37a0]:after{content:"";bottom:calc(3px * var(--ui-scale,1));width:calc(12px * var(--ui-scale,1));height:calc(3px * var(--ui-scale,1));border-radius:calc(2px * var(--ui-scale,1));background:#ffffffd9;position:absolute;left:50%;transform:translate(-50%)}.fg-key--dim[data-v-0f0e37a0]{opacity:.42}.fg-key--current[data-v-0f0e37a0]{opacity:1;transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.18);box-shadow:0 calc(3px * var(--ui-scale,1)) 0 #0000002e, 0 0 0 calc(3px * var(--ui-scale,1)) #fffffff2, 0 0 calc(12px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1)) #ffbf0059;z-index:2}.fg-hands[data-v-0f0e37a0]{margin-top:calc(2px * var(--ui-scale,1))}.fg-hand[data-v-0f0e37a0]{--arrow-color:#4c97ff;opacity:.5;flex-direction:column;align-items:center;gap:1px;transition:opacity .2s,transform .2s;display:flex}.fg-hand--left[data-v-0f0e37a0]{grid-column:4}.fg-hand--right[data-v-0f0e37a0]{--arrow-color:#43b649;grid-column:7}.fg-hand--active[data-v-0f0e37a0]{opacity:1;transform:translateY(calc(-2px * var(--ui-scale,1)))}.fg-hand__arrow[data-v-0f0e37a0]{width:calc(2px * var(--ui-scale,1));height:calc(16px * var(--ui-scale,1));background:repeating-linear-gradient(to bottom, var(--arrow-color) 0 calc(4px * var(--ui-scale,1)), transparent calc(4px * var(--ui-scale,1)) calc(7px * var(--ui-scale,1)));position:relative}.fg-hand__arrow[data-v-0f0e37a0]:before{content:"";top:calc(-6px * var(--ui-scale,1));border-left:calc(5px * var(--ui-scale,1)) solid transparent;border-right:calc(5px * var(--ui-scale,1)) solid transparent;border-bottom:calc(6px * var(--ui-scale,1)) solid var(--arrow-color);position:absolute;left:50%;transform:translate(-50%)}.fg-hand__paw[data-v-0f0e37a0]{width:calc(30px * var(--ui-scale,1));height:calc(30px * var(--ui-scale,1));background:var(--student-color-bg-page,#e9f1fc);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:50%;justify-content:center;align-items:center;display:flex}.fg-hand__paw svg[data-v-0f0e37a0]{width:calc(26px * var(--ui-scale,1));height:calc(26px * var(--ui-scale,1))}.fg-hand--left .fg-hand__paw[data-v-0f0e37a0]{background:#4c97ff1f;border-color:#4c97ff}.fg-hand--right .fg-hand__paw[data-v-0f0e37a0]{background:#43b6491f;border-color:#43b649}.fg-hand--active .fg-hand__paw[data-v-0f0e37a0]{animation:.7s ease-in-out infinite paw-bounce-0f0e37a0}@keyframes paw-bounce-0f0e37a0{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-4px * var(--ui-scale,1)))}}.fg-hand__label[data-v-0f0e37a0]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);white-space:nowrap;font-weight:700}.fg-legend[data-v-0f0e37a0]{justify-content:center;align-items:center;gap:calc(10px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);flex-wrap:wrap;font-weight:600;display:flex}.fg-legend__item[data-v-0f0e37a0]{align-items:center;gap:calc(3px * var(--ui-scale,1));display:inline-flex}.fg-legend__dot[data-v-0f0e37a0]{width:calc(9px * var(--ui-scale,1));height:calc(9px * var(--ui-scale,1));border-radius:50%;display:inline-block}@media (prefers-reduced-motion:reduce){.fg-key[data-v-0f0e37a0],.fg-hand[data-v-0f0e37a0]{transition:none}.fg-hand--active .fg-hand__paw[data-v-0f0e37a0]{animation:none}}.stats-bar[data-v-14f8fee0]{justify-content:center;align-items:stretch;gap:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));box-shadow:var(--student-shadow-card,0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff14);font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);display:flex}.stat-card[data-v-14f8fee0]{align-items:center;gap:calc(10px * var(--ui-scale,1));min-width:0;padding:calc(10px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-page,#f2f6fd);border:calc(2px * var(--ui-scale,1)) solid transparent;flex:1 1 0;display:flex}.stat-card--speed[data-v-14f8fee0]{background:#eaf3ff;border-color:#c7deff}.stat-card--accuracy[data-v-14f8fee0]{background:#eaf8ea;border-color:#c6eac6}.stat-card--progress[data-v-14f8fee0]{background:#fff3e0;border-color:#ffdcae}.stat-card__icon[data-v-14f8fee0]{font-size:calc(24px * var(--ui-scale,1));flex-shrink:0;line-height:1}.stat-card__body[data-v-14f8fee0]{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.stat-card__label[data-v-14f8fee0]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700}.stat-card__value[data-v-14f8fee0]{font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-text-primary,#3d4661);white-space:nowrap;font-weight:800}.stat-card__unit[data-v-14f8fee0]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);margin-left:calc(2px * var(--ui-scale,1));font-weight:700}.stat-card__body--progress[data-v-14f8fee0]{flex:1}.stat-card__value--progress[data-v-14f8fee0]{font-size:calc(22px * var(--ui-scale,1))}.stat-card__bar[data-v-14f8fee0]{width:100%;min-width:calc(80px * var(--ui-scale,1));height:calc(8px * var(--ui-scale,1));margin-top:calc(4px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:#ffffffd9;border:1px solid #0000000f;overflow:hidden}.stat-card__fill[data-v-14f8fee0]{border-radius:calc(999px * var(--ui-scale,1));height:100%;transition:width .4s,background-color .3s}.stat-card__fill--green[data-v-14f8fee0]{background:var(--student-color-success,#43b649)}.stat-card__fill--blue[data-v-14f8fee0]{background:var(--student-color-primary,#4c97ff)}.stat-card__goal[data-v-14f8fee0]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));white-space:nowrap;background:#fffc;border:1px solid #0000000f;flex-shrink:0;align-self:flex-start;margin-left:auto;font-weight:700}.stat-card__goal--met[data-v-14f8fee0]{color:#2e9e38;background:#e4f7e4;border-color:#a8dfa8}.stat-card__goal--time[data-v-14f8fee0]{color:var(--student-color-text-secondary,#818697)}@media (width<=899px){.stat-card__goal[data-v-14f8fee0]{display:none}.stat-card__goal--time[data-v-14f8fee0]{display:inline-block}}@media (prefers-reduced-motion:reduce){.stat-card__fill[data-v-14f8fee0]{transition:none}}.result-card[data-v-2e6f5baf]{align-items:center;gap:calc(16px * var(--ui-scale,1));padding:calc(32px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29);max-width:calc(420px * var(--ui-scale,1));width:100%;font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);flex-direction:column;margin:0 auto;display:flex;position:relative}.result-card__coin-notify[data-v-2e6f5baf]{top:calc(-20px * var(--ui-scale,1));align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-accent-dark-light,#fff1e3);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-accent-dark,#b35f00);white-space:nowrap;z-index:10;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.coin-notify__emoji[data-v-2e6f5baf]{font-size:calc(18px * var(--ui-scale,1))}.coin-slide-enter-active[data-v-2e6f5baf]{animation:.4s ease-out coin-pop-2e6f5baf}.coin-slide-leave-active[data-v-2e6f5baf]{animation:.3s ease-in reverse coin-pop-2e6f5baf}@keyframes coin-pop-2e6f5baf{0%{opacity:0;transform:translateX(-50%) translateY(calc(10px * var(--ui-scale,1)))}to{opacity:1;transform:translate(-50%)translateY(0)}}.result-card__coin-hint[data-v-2e6f5baf]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);margin:0;font-weight:600}.result-card__stars[data-v-2e6f5baf]{gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(4px * var(--ui-scale,1));display:flex}.result-star[data-v-2e6f5baf]{font-size:calc(40px * var(--ui-scale,1));opacity:.25;filter:grayscale();transition:opacity .3s,filter .3s}.result-star--earned[data-v-2e6f5baf]{opacity:1;filter:grayscale(0%)}.result-star--animate[data-v-2e6f5baf]{animation:.4s ease-out both star-pop-2e6f5baf}@keyframes star-pop-2e6f5baf{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.result-card__title[data-v-2e6f5baf]{font-size:calc(22px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);color:var(--student-color-text-primary,#575e75);margin:0}.result-card__level[data-v-2e6f5baf]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);margin:0}.result-card__stats[data-v-2e6f5baf]{gap:calc(12px * var(--ui-scale,1));width:100%;display:flex}.stat-item[data-v-2e6f5baf]{align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));background:var(--student-color-bg-page,#e9f1fc);border-radius:calc(12px * var(--ui-scale,1));flex-direction:column;flex:1;display:flex}.stat-item__icon[data-v-2e6f5baf]{font-size:calc(20px * var(--ui-scale,1))}.stat-item__label[data-v-2e6f5baf]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-item__value[data-v-2e6f5baf]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:700}.stat-item__value small[data-v-2e6f5baf]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);font-weight:600}.stat-item__value--good[data-v-2e6f5baf]{color:var(--student-color-success,#59c059)}.stat-item__sub[data-v-2e6f5baf]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697)}.result-card__weak[data-v-2e6f5baf]{width:100%}.weak-title[data-v-2e6f5baf]{margin:0 0 calc(8px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:600}.weak-list[data-v-2e6f5baf]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.weak-tag[data-v-2e6f5baf]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-color-danger-light,#ffecef);border:1px solid var(--student-color-danger,#ff6680);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-danger,#ff6680);font-weight:700;display:inline-flex}.weak-tag__key[data-v-2e6f5baf]{text-transform:uppercase}.weak-tag__count[data-v-2e6f5baf]{font-size:calc(12px * var(--ui-scale,1));opacity:.7;font-weight:600}.result-card__newbest[data-v-2e6f5baf]{padding:calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-accent-dark-light,#fff1e3);border:1px solid var(--student-color-accent,#ff8c1a);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-accent-dark,#b35f00);font-weight:700;animation:1.5s ease-in-out infinite alternate trophy-glow-2e6f5baf}@keyframes trophy-glow-2e6f5baf{0%{box-shadow:0 0 #ff8c1a00}to{box-shadow:0 0 calc(12px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) #ff8c1a26}}.result-card__actions[data-v-2e6f5baf]{gap:calc(12px * var(--ui-scale,1));width:100%;margin-top:calc(8px * var(--ui-scale,1));display:flex}.result-btn[data-v-2e6f5baf]{justify-content:center;align-items:center;gap:calc(6px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(16px * var(--ui-scale,1));cursor:pointer;border:none;flex:1;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.result-btn[data-v-2e6f5baf]:active{transform:scale(.96)}.result-btn--replay[data-v-2e6f5baf]{background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary,#4c97ff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff)}.result-btn--replay[data-v-2e6f5baf]:hover{box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.result-btn--next[data-v-2e6f5baf]{background:var(--student-color-success,#59c059);color:#fff}.result-btn--next[data-v-2e6f5baf]:hover{box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #59c0594d}.result-btn--next[data-v-2e6f5baf]:disabled{background:var(--student-color-border,#d9e3f2);color:var(--student-color-text-muted,#818697);cursor:not-allowed;box-shadow:none}.result-btn__icon[data-v-2e6f5baf]{font-size:calc(18px * var(--ui-scale,1))}.result-card__syncing[data-v-2e6f5baf]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);margin:0;animation:1.5s ease-in-out infinite sync-blink-2e6f5baf}@keyframes sync-blink-2e6f5baf{0%,to{opacity:1}50%{opacity:.5}}.confetti-container[data-v-2e6f5baf]{pointer-events:none;z-index:20;position:absolute;inset:0;overflow:hidden}.confetti-star[data-v-2e6f5baf]{opacity:0;animation:confetti-float-2e6f5baf var(--duration,1.5s) ease-out forwards;display:block;position:absolute}@keyframes confetti-float-2e6f5baf{0%{opacity:1;transform:translateY(0)scale(1)rotate(0)}30%{opacity:1;transform:translateY(calc(-40px * var(--ui-scale,1))) scale(1.15) rotate(45deg)}to{opacity:0;transform:translateY(calc(-120px * var(--ui-scale,1))) scale(.5) rotate(180deg)}}@media (prefers-reduced-motion:reduce){.result-star--animate[data-v-2e6f5baf],.result-card__newbest[data-v-2e6f5baf],.result-card__syncing[data-v-2e6f5baf],.result-card__coin-notify[data-v-2e6f5baf]{animation:none}.confetti-star[data-v-2e6f5baf]{animation:none;display:none}}@media (width<=899px){.result-card__stats[data-v-2e6f5baf]{flex-wrap:wrap}.stat-item[data-v-2e6f5baf]{flex:1 1 calc(50% - calc(6px * var(--ui-scale,1)))}}.mascot-bubble[data-v-1e25716e]{bottom:calc(100px * var(--ui-scale,1));right:calc(20px * var(--ui-scale,1));align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-accent,#ff8c1a);box-shadow:var(--student-shadow-hover);z-index:50;cursor:pointer;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:600;display:flex;position:fixed}.mascot-bubble__emoji[data-v-1e25716e]{font-size:calc(24px * var(--ui-scale,1))}.mascot-pop-enter-active[data-v-1e25716e]{animation:.3s pop-in-1e25716e}.mascot-pop-leave-active[data-v-1e25716e]{animation:.3s pop-out-1e25716e}@keyframes pop-in-1e25716e{0%{opacity:0;transform:translateY(calc(10px * var(--ui-scale,1))) scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pop-out-1e25716e{0%{opacity:1}to{opacity:0;transform:translateY(calc(10px * var(--ui-scale,1)))}}@media (prefers-reduced-motion:reduce){.mascot-pop-enter-active[data-v-1e25716e],.mascot-pop-leave-active[data-v-1e25716e]{animation:none}}.typing-session[data-v-39c4ffec]{min-height:100vh;padding:calc(12px * var(--ui-scale,1));padding-bottom:calc(80px * var(--ui-scale,1));flex-direction:column;display:flex;position:relative}.play-header[data-v-39c4ffec]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.back-btn[data-v-39c4ffec]{border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));cursor:pointer;color:var(--student-color-text-primary);background:0 0}.level-info[data-v-39c4ffec]{text-align:center;flex:1}.level-name[data-v-39c4ffec]{font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:700}.level-meta[data-v-39c4ffec]{margin-left:calc(10px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary-dark,#3373cc);font-size:calc(12px * var(--ui-scale,1));vertical-align:calc(2px * var(--ui-scale,1));font-weight:700;display:inline-block}.stats-pos[data-v-39c4ffec]{margin:calc(10px * var(--ui-scale,1)) 0 0;order:90}.result-overlay[data-v-39c4ffec]{padding:calc(16px * var(--ui-scale,1));z-index:250;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.result-overlay .result-card[data-v-39c4ffec]{animation:.35s cubic-bezier(.34,1.56,.64,1) both result-card-pop-39c4ffec}@keyframes result-card-pop-39c4ffec{0%{transform:scale(.75) translateY(calc(24px * var(--ui-scale,1)));opacity:0}to{opacity:1;transform:scale(1)translateY(0)}}.result-modal-enter-active[data-v-39c4ffec]{transition:opacity .25s}.result-modal-leave-active[data-v-39c4ffec]{transition:opacity .2s}.result-modal-enter-from[data-v-39c4ffec],.result-modal-leave-to[data-v-39c4ffec]{opacity:0}.result-modal-enter-active .result-card[data-v-39c4ffec]{animation:.35s cubic-bezier(.34,1.56,.64,1) both result-card-pop-39c4ffec}.result-modal-leave-active .result-card[data-v-39c4ffec]{transition:transform .2s,opacity .2s}.result-modal-leave-to .result-card[data-v-39c4ffec]{opacity:0;transform:scale(.85)}.speed-main[data-v-39c4ffec]{align-items:stretch;gap:calc(16px * var(--ui-scale,1));width:100%;max-width:calc(920px * var(--ui-scale,1));margin:calc(8px * var(--ui-scale,1)) auto 0;display:flex}.speed-textcard[data-v-39c4ffec]{background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(16px * var(--ui-scale,1));min-width:0;box-shadow:var(--student-shadow-card);padding:calc(14px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));flex:1;position:relative}.speed-side[data-v-39c4ffec]{flex:0 0 calc(150px * var(--ui-scale,1));gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.side-stat[data-v-39c4ffec]{gap:calc(4px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid transparent;border-radius:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));flex-direction:column;display:flex}.side-stat--speed[data-v-39c4ffec]{background:#eaf3ff;border-color:#c7deff}.side-stat--accuracy[data-v-39c4ffec]{background:#eaf8ea;border-color:#c6eac6}.side-stat--time[data-v-39c4ffec]{background:#fff3e0;border-color:#ffdcae}.side-stat__label[data-v-39c4ffec]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);font-weight:700}.side-stat__value[data-v-39c4ffec]{font-size:calc(30px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;line-height:1.15}.side-stat__value i[data-v-39c4ffec]{font-style:normal;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);margin-left:calc(3px * var(--ui-scale,1));font-weight:700}@media (width<=899px){.speed-main[data-v-39c4ffec]{flex-direction:column}.speed-side[data-v-39c4ffec]{flex-direction:row;flex:none}.side-stat[data-v-39c4ffec]{flex:1}}.level-stars-wrapper[data-v-39c4ffec]{align-items:center;display:inline-flex;position:relative}.star-icon[data-v-39c4ffec]{opacity:.3;margin-left:calc(4px * var(--ui-scale,1))}.star-icon.filled[data-v-39c4ffec]{opacity:1}.star-hint[data-v-39c4ffec]{margin-left:calc(6px * var(--ui-scale,1));cursor:help;align-items:center;display:inline-flex;position:relative}.star-hint__icon[data-v-39c4ffec]{font-size:calc(13px * var(--ui-scale,1));opacity:.5}.star-hint__tooltip[data-v-39c4ffec]{bottom:calc(100% + calc(8px * var(--ui-scale,1)));background:var(--student-color-bg-card,#fff);color:var(--student-color-text-primary);font-size:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);border:1px solid var(--student-color-border);white-space:nowrap;z-index:50;pointer-events:none;font-weight:600;line-height:1.6;display:none;position:absolute;left:50%;transform:translate(-50%)}.star-hint:hover .star-hint__tooltip[data-v-39c4ffec],.star-hint:focus-within .star-hint__tooltip[data-v-39c4ffec]{display:block}.play-header__actions[data-v-39c4ffec]{align-items:center;gap:calc(8px * var(--ui-scale,1));display:flex}.ctrl-btn svg[data-v-39c4ffec]{width:calc(18px * var(--ui-scale,1));height:calc(18px * var(--ui-scale,1))}.ctrl-btn[data-v-39c4ffec]{justify-content:center;align-items:center;gap:calc(5px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));padding:0 calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);cursor:pointer;font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);font-weight:700;font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);transition:transform .15s,background-color .2s,box-shadow .2s;display:inline-flex}.ctrl-btn[data-v-39c4ffec]:hover{box-shadow:var(--student-shadow-card,0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #4c97ff26)}.ctrl-btn[data-v-39c4ffec]:active{transform:scale(.95)}.ctrl-btn--pause[data-v-39c4ffec]{color:var(--student-color-primary,#4c97ff);border-color:var(--student-color-primary-light,#79aeff);background:var(--student-color-primary-lightest,#e5f0ff)}.ctrl-btn--resume[data-v-39c4ffec]{color:#2e9e38;background:#e4f7e4;border-color:#a8dfa8}.ctrl-btn--sound-on[data-v-39c4ffec]{color:#2e9e38;border-color:var(--student-color-success,#59c059);background:var(--student-color-success-light,#ebf7eb)}.ctrl-btn--sound-off[data-v-39c4ffec]{color:var(--student-color-text-muted,#818697);background:var(--student-color-bg-page,#e9f1fc);border-color:var(--student-color-border,#d9e3f2)}.ctrl-btn__text[data-v-39c4ffec]{white-space:nowrap}@media (width<=899px){.ctrl-btn__text[data-v-39c4ffec]{display:none}}.level-hint[data-v-39c4ffec]{margin:0 0 calc(6px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary,#818697);text-align:center}.keyboard-note[data-v-39c4ffec]{margin:calc(6px * var(--ui-scale,1)) 0 0;text-align:center;font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted,#818697);font-weight:600}.enter-tip[data-v-39c4ffec]{margin:calc(8px * var(--ui-scale,1)) 0 0;text-align:center;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-accent,#ff8c1a);font-weight:700}.ime-tip[data-v-39c4ffec]{margin:calc(8px * var(--ui-scale,1)) 0 0;text-align:center;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);border-radius:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:#4c97ff1a;width:fit-content;margin-left:auto;margin-right:auto;font-weight:700}.ime-tip b[data-v-39c4ffec]{color:var(--student-color-primary,#4c97ff)}.start-tip[data-v-39c4ffec]{margin:calc(10px * var(--ui-scale,1)) 0 0;text-align:center;font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-primary-dark,#3373cc);font-weight:700;animation:1.6s ease-in-out infinite tip-blink-39c4ffec}@keyframes tip-blink-39c4ffec{0%,to{opacity:1}50%{opacity:.45}}.capslock-warning[data-v-39c4ffec]{top:calc(80px * var(--ui-scale,1));background:var(--student-color-accent,#ff8c1a);color:#fff;padding:calc(10px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));z-index:100;font-weight:600;animation:.3s slideDown-39c4ffec;position:fixed;left:50%;transform:translate(-50%)}.pause-overlay[data-v-39c4ffec]{z-index:200;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pause-card[data-v-39c4ffec]{background:var(--student-color-bg-card,#fff);padding:calc(32px * var(--ui-scale,1)) calc(40px * var(--ui-scale,1));border-radius:calc(24px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);text-align:center;min-width:calc(280px * var(--ui-scale,1))}.pause-title[data-v-39c4ffec]{font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(24px * var(--ui-scale,1));font-weight:700}.pause-actions[data-v-39c4ffec]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.pause-btn-action[data-v-39c4ffec]{justify-content:center;align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid transparent;font-size:calc(16px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);font-weight:700;font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);display:flex}.pause-btn-action[data-v-39c4ffec]:active{transform:scale(.96)}.pause-btn-action--resume[data-v-39c4ffec]{background:var(--student-color-primary,#4c97ff);color:#fff;border-color:var(--student-color-primary,#4c97ff)}.pause-btn-action--resume[data-v-39c4ffec]:hover{box-shadow:var(--student-shadow-hover)}.pause-btn-action--restart[data-v-39c4ffec]{background:var(--student-color-bg-page,#e9f1fc);color:var(--student-color-text-primary);border-color:var(--student-color-border)}.pause-btn-action--restart[data-v-39c4ffec]:hover{background:var(--student-color-primary-lightest,#e5f0ff)}.pause-btn-action--exit[data-v-39c4ffec]{background:var(--student-color-bg-page,#e9f1fc);color:var(--student-color-text-secondary);border-color:var(--student-color-border)}.pause-btn-action--exit[data-v-39c4ffec]:hover{background:var(--student-color-danger-light,#ffecef);border-color:var(--student-color-danger,#ff6680);color:var(--student-color-danger,#ff6680)}.exit-overlay[data-v-39c4ffec]{z-index:300;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.exit-card[data-v-39c4ffec]{background:var(--student-color-bg-card,#fff);padding:calc(32px * var(--ui-scale,1)) calc(36px * var(--ui-scale,1));border-radius:calc(24px * var(--ui-scale,1));box-shadow:var(--student-shadow-card);text-align:center;max-width:calc(340px * var(--ui-scale,1));width:90%}.exit-emoji[data-v-39c4ffec]{font-size:calc(40px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1))}.exit-title[data-v-39c4ffec]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(6px * var(--ui-scale,1));font-weight:700}.exit-subtitle[data-v-39c4ffec]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin-bottom:calc(24px * var(--ui-scale,1))}.exit-actions[data-v-39c4ffec]{gap:calc(12px * var(--ui-scale,1));justify-content:center;display:flex}.exit-btn[data-v-39c4ffec]{padding:calc(12px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) solid transparent;font-size:calc(15px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease);font-weight:700;font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);flex:1}.exit-btn[data-v-39c4ffec]:active{transform:scale(.96)}.exit-btn--stay[data-v-39c4ffec]{background:var(--student-color-primary,#4c97ff);color:#fff;border-color:var(--student-color-primary,#4c97ff)}.exit-btn--quit[data-v-39c4ffec]{background:var(--student-color-bg-page,#e9f1fc);color:var(--student-color-text-secondary);border-color:var(--student-color-border)}.exit-btn--quit[data-v-39c4ffec]:hover{background:var(--student-color-danger-light,#ffecef);border-color:var(--student-color-danger,#ff6680);color:var(--student-color-danger,#ff6680)}.tutorial-overlay[data-v-39c4ffec]{z-index:400;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tutorial-card[data-v-39c4ffec]{background:var(--student-color-bg-card,#fff);padding:calc(36px * var(--ui-scale,1)) calc(40px * var(--ui-scale,1));border-radius:calc(28px * var(--ui-scale,1));box-shadow:var(--student-shadow-hover);text-align:center;max-width:calc(400px * var(--ui-scale,1));width:90%}.tutorial-title[data-v-39c4ffec]{font-size:calc(24px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(24px * var(--ui-scale,1));font-weight:700}.tutorial-steps[data-v-39c4ffec]{gap:calc(16px * var(--ui-scale,1));margin-bottom:calc(28px * var(--ui-scale,1));flex-direction:column;display:flex}.tutorial-step[data-v-39c4ffec]{align-items:center;gap:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-bg-page,#e9f1fc);border-radius:calc(14px * var(--ui-scale,1));text-align:left;display:flex}.tutorial-step__emoji[data-v-39c4ffec]{font-size:calc(28px * var(--ui-scale,1));flex-shrink:0}.tutorial-step__text[data-v-39c4ffec]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);font-weight:600}.tutorial-btn[data-v-39c4ffec]{padding:calc(14px * var(--ui-scale,1)) calc(40px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));background:var(--student-color-primary,#4c97ff);color:#fff;border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);font-size:calc(18px * var(--ui-scale,1));cursor:pointer;transition:transform var(--student-transition-fast,.2s ease), box-shadow var(--student-transition-fast,.2s ease);font-weight:700;font-family:var(--student-font-family-body,"Nunito", system-ui, sans-serif);justify-content:center;align-items:center;display:inline-flex}.tutorial-btn[data-v-39c4ffec]:hover{box-shadow:var(--student-shadow-hover)}.tutorial-btn[data-v-39c4ffec]:active{transform:scale(.96)}.char-strip-wrapper[data-v-39c4ffec]{position:relative}.combo-badge[data-v-39c4ffec]{top:calc(4px * var(--ui-scale,1));right:calc(12px * var(--ui-scale,1));align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-color-accent,#ff8c1a);color:#fff;font-size:calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #ff8c1a59;pointer-events:none;z-index:10;white-space:nowrap;font-weight:700;display:inline-flex;position:absolute}.combo-pop-enter-active[data-v-39c4ffec]{animation:.3s ease-out combo-pop-in-39c4ffec}.combo-pop-leave-active[data-v-39c4ffec]{animation:.2s ease-in reverse combo-pop-in-39c4ffec}@keyframes combo-pop-in-39c4ffec{0%{opacity:0;transform:scale(.6) translateY(calc(8px * var(--ui-scale,1)))}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideDown-39c4ffec{0%{opacity:0;transform:translateX(-50%) translateY(calc(-10px * var(--ui-scale,1)))}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.start-tip[data-v-39c4ffec],.capslock-warning[data-v-39c4ffec],.combo-pop-enter-active[data-v-39c4ffec],.combo-pop-leave-active[data-v-39c4ffec]{animation:none}.pause-btn-action[data-v-39c4ffec],.exit-btn[data-v-39c4ffec],.tutorial-btn[data-v-39c4ffec]{transition:none}}.typing-play-entry[data-v-c0d36c00]{padding:calc(16px * var(--ui-scale,1))}.entry-tip[data-v-c0d36c00]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(48px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));flex-direction:column;display:flex}.entry-tip__emoji[data-v-c0d36c00]{font-size:calc(40px * var(--ui-scale,1));margin:0}.entry-tip__text[data-v-c0d36c00]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary,#575e75);margin:0;font-weight:700}.entry-btn[data-v-c0d36c00]{padding:calc(10px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));background:var(--student-color-primary-lightest,#e5f0ff);color:var(--student-color-primary,#4c97ff);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;font-weight:700}.speed-test[data-v-2d5ceb3f]{padding:calc(16px * var(--ui-scale,1))}.st-header[data-v-2d5ceb3f]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-bottom:calc(8px * var(--ui-scale,1));display:flex}.back-btn[data-v-2d5ceb3f]{border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);border-radius:calc(12px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));cursor:pointer;background:0 0}.st-title[data-v-2d5ceb3f]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:700}.st-tip[data-v-2d5ceb3f]{margin:0 0 calc(16px * var(--ui-scale,1));font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary)}.lang-tabs[data-v-2d5ceb3f]{gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:flex}.lang-tab[data-v-2d5ceb3f]{padding:calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);background:var(--student-color-bg-card);font-size:calc(15px * var(--ui-scale,1));cursor:pointer;transition:all .2s}.lang-tab.active[data-v-2d5ceb3f]{background:var(--student-color-primary);color:#fff;border-color:var(--student-color-primary)}.articles-grid[data-v-2d5ceb3f]{grid-template-columns:repeat(auto-fill, minmax(calc(240px * var(--ui-scale,1)), 1fr));gap:calc(12px * var(--ui-scale,1));display:grid}.article-card[data-v-2d5ceb3f]{padding:calc(16px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border);cursor:pointer;transition:all .2s}.article-card[data-v-2d5ceb3f]:hover{box-shadow:var(--student-shadow-hover);transform:translateY(calc(-2px * var(--ui-scale,1)))}.article-title[data-v-2d5ceb3f]{font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(6px * var(--ui-scale,1));font-weight:600}.article-meta[data-v-2d5ceb3f]{gap:calc(8px * var(--ui-scale,1));font-size:calc(13px * var(--ui-scale,1));display:flex}.article-diff[data-v-2d5ceb3f]{padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:600}.diff-easy[data-v-2d5ceb3f]{background:var(--student-color-success-light,#ebf7eb);color:var(--student-color-success)}.diff-medium[data-v-2d5ceb3f]{background:var(--student-color-bg-warm,#fff7e0);color:var(--student-color-accent)}.diff-hard[data-v-2d5ceb3f]{background:var(--student-color-danger-light,#ffecef);color:var(--student-color-danger)}.article-len[data-v-2d5ceb3f]{color:var(--student-color-text-secondary)}.empty[data-v-2d5ceb3f]{text-align:center;padding:calc(40px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-size:calc(16px * var(--ui-scale,1))}@media (prefers-reduced-motion:reduce){.article-card[data-v-2d5ceb3f]:hover{transform:none}}.weekly-report[data-v-6af28ee7]{padding:calc(16px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));padding-bottom:calc(96px * var(--ui-scale,1))}.report-header[data-v-6af28ee7]{align-items:center;gap:calc(10px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:flex}.header-icon[data-v-6af28ee7]{font-size:calc(30px * var(--ui-scale,1))}.header-title[data-v-6af28ee7]{font-family:var(--student-font-family-title);font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:800}.date-range[data-v-6af28ee7]{background:var(--student-color-bg-warm);padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600}.load-tip[data-v-6af28ee7]{align-items:center;gap:calc(12px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));margin-bottom:calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);font-size:calc(14px * var(--ui-scale,1));display:flex}.load-tip-error[data-v-6af28ee7]{background:var(--student-tint-lists,#ffeded);border-color:var(--student-color-danger,#ff6680);color:var(--student-color-danger,#ff6680)}.retry-btn[data-v-6af28ee7]{padding:calc(4px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);background:var(--student-color-primary);color:var(--student-color-bg-card,#fff);font-family:var(--student-font-family-title);cursor:pointer;border:none;font-weight:700}.stat-cards[data-v-6af28ee7]{grid-template-columns:repeat(auto-fit, minmax(calc(190px * var(--ui-scale,1)), 1fr));gap:calc(14px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1));display:grid}.stat-card[data-v-6af28ee7]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);padding:calc(14px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));gap:calc(6px * var(--ui-scale,1));flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.stat-card[data-v-6af28ee7]:hover{transform:translateY(calc(-3px * var(--ui-scale,1)));box-shadow:var(--student-shadow-hover,0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0000001a)}.card-head[data-v-6af28ee7]{align-items:center;gap:calc(10px * var(--ui-scale,1));display:flex}.stat-emoji[data-v-6af28ee7]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-num[data-v-6af28ee7]{align-items:baseline;gap:calc(2px * var(--ui-scale,1));display:flex}.stat-value[data-v-6af28ee7]{font-family:var(--student-font-family-title);font-size:calc(34px * var(--ui-scale,1));font-weight:800;line-height:1.1}.stat-unit[data-v-6af28ee7]{font-size:calc(13px * var(--ui-scale,1));font-weight:700}.stat-label[data-v-6af28ee7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600}.stat-bar[data-v-6af28ee7]{height:calc(10px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fff7e0);border-radius:calc(6px * var(--ui-scale,1));margin-top:calc(2px * var(--ui-scale,1));overflow:hidden}.stat-bar-inner[data-v-6af28ee7]{background:linear-gradient(90deg, var(--student-color-primary), var(--student-color-accent));border-radius:calc(6px * var(--ui-scale,1));height:100%;transition:width .5s}.stat-foot[data-v-6af28ee7]{align-items:center;gap:calc(8px * var(--ui-scale,1));min-height:calc(20px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.foot-text[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.foot-strong[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-accent-dark);font-weight:700}.trend[data-v-6af28ee7]{padding:1px calc(8px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:700}.trend-up[data-v-6af28ee7]{background:var(--student-color-success-light,#e2f7f1);color:var(--student-color-success,#0fbd8c)}.trend-down[data-v-6af28ee7]{background:var(--student-tint-lists,#ffeded);color:var(--student-color-danger,#ff6680)}.trend-flat[data-v-6af28ee7]{background:var(--student-color-bg-warm,#fff7e0);color:var(--student-color-accent-dark,#e6a23c)}.foot-link[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);color:var(--student-color-primary);cursor:pointer;background:0 0;border:none;padding:0}.foot-link[data-v-6af28ee7]:hover{text-decoration:underline}.growth-section[data-v-6af28ee7]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);padding:calc(16px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));margin-bottom:calc(16px * var(--ui-scale,1))}.section-header[data-v-6af28ee7]{align-items:center;gap:calc(8px * var(--ui-scale,1));margin-bottom:calc(14px * var(--ui-scale,1));display:flex}.section-icon[data-v-6af28ee7]{font-size:calc(22px * var(--ui-scale,1))}.section-title[data-v-6af28ee7]{font-family:var(--student-font-family-title);font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary);margin:0;font-weight:700}.growth-grid[data-v-6af28ee7]{grid-template-columns:repeat(auto-fit, minmax(calc(260px * var(--ui-scale,1)), 1fr));gap:calc(14px * var(--ui-scale,1));display:grid}.growth-block[data-v-6af28ee7]{background:var(--student-color-bg-warm,#fffbf0);border-radius:calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1))}.block-title[data-v-6af28ee7]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(10px * var(--ui-scale,1));font-weight:700}.block-sub[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted);margin:calc(-6px * var(--ui-scale,1)) 0 calc(10px * var(--ui-scale,1))}.block-empty[data-v-6af28ee7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-muted);padding:calc(8px * var(--ui-scale,1)) 0;line-height:1.6}.kp-badges[data-v-6af28ee7]{gap:calc(8px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.kp-badge[data-v-6af28ee7]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600;display:inline-flex}.kp-badge.is-mastered[data-v-6af28ee7]{border-color:var(--student-color-accent-dark,#e6a23c);background:var(--student-color-bg-warm,#fff7e0);color:var(--student-color-accent-dark,#e6a23c)}.kp-dot[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1))}.work-snapshots[data-v-6af28ee7]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.work-snap[data-v-6af28ee7]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.work-snap[data-v-6af28ee7]:hover{transform:translateX(calc(3px * var(--ui-scale,1)))}.work-thumb[data-v-6af28ee7]{width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));object-fit:cover;background:var(--student-color-bg-warm);flex-shrink:0}.work-emoji[data-v-6af28ee7]{width:calc(44px * var(--ui-scale,1));height:calc(44px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));font-size:calc(22px * var(--ui-scale,1));background:var(--student-tint-looks,#f3ecff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.work-snap-info[data-v-6af28ee7]{flex:1;min-width:0}.work-snap-title[data-v-6af28ee7]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.work-snap-date[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted)}.block-link[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));font-weight:700;font-family:var(--student-font-family-title);color:var(--student-color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.block-link[data-v-6af28ee7]:hover{text-decoration:underline}.achievements[data-v-6af28ee7]{grid-template-columns:repeat(auto-fit, minmax(calc(84px * var(--ui-scale,1)), 1fr));gap:calc(8px * var(--ui-scale,1));display:grid}.achievement[data-v-6af28ee7]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));background:var(--student-color-bg-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);text-align:center;filter:grayscale();opacity:.55;flex-direction:column;display:flex}.achievement.is-earned[data-v-6af28ee7]{filter:none;opacity:1;border-color:var(--student-color-accent-dark,#e6a23c);background:var(--student-color-bg-warm,#fff7e0)}.ach-emoji[data-v-6af28ee7]{font-size:calc(22px * var(--ui-scale,1));line-height:1}.ach-name[data-v-6af28ee7]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:600;line-height:1.3}.next-goal[data-v-6af28ee7]{align-items:center;gap:calc(12px * var(--ui-scale,1));margin-top:calc(14px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary);background:var(--student-color-primary-light,#e3f0ff);display:flex}.next-goal-panda[data-v-6af28ee7]{width:calc(52px * var(--ui-scale,1));height:calc(52px * var(--ui-scale,1));object-fit:contain;flex-shrink:0}.next-goal-body[data-v-6af28ee7]{flex:1;min-width:0}.next-goal-title[data-v-6af28ee7]{font-family:var(--student-font-family-title);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);margin-bottom:calc(2px * var(--ui-scale,1));font-weight:700}.next-goal-desc[data-v-6af28ee7]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);line-height:1.5}.next-goal-btn[data-v-6af28ee7]{padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);background:var(--student-color-primary);color:var(--student-color-bg-card,#fff);font-family:var(--student-font-family-title);cursor:pointer;border:none;flex-shrink:0;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.next-goal-btn[data-v-6af28ee7]:hover{transform:scale(1.05)}.next-goal-btn[data-v-6af28ee7]:active{transform:scale(.95)}.panda-comment-section[data-v-6af28ee7]{background:var(--student-color-bg-card);border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary);padding:calc(16px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));align-items:center;gap:calc(16px * var(--ui-scale,1));display:flex}.panda-avatar[data-v-6af28ee7]{flex-shrink:0}.panda-comment-bubble[data-v-6af28ee7]{background:var(--student-color-bg-warm);border-radius:calc(16px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary);line-height:1.6;font-family:var(--student-font-family-title);flex:1;position:relative}.panda-comment-bubble[data-v-6af28ee7]:before{content:"";left:calc(-8px * var(--ui-scale,1));top:calc(12px * var(--ui-scale,1));border-top:calc(8px * var(--ui-scale,1)) solid transparent;border-bottom:calc(8px * var(--ui-scale,1)) solid transparent;border-right:calc(8px * var(--ui-scale,1)) solid var(--student-color-bg-warm);width:0;height:0;position:absolute}@media (width<=899px){.weekly-report[data-v-6af28ee7]{padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(96px * var(--ui-scale,1))}.stat-cards[data-v-6af28ee7]{grid-template-columns:repeat(2,1fr)}.growth-grid[data-v-6af28ee7]{grid-template-columns:1fr}.next-goal[data-v-6af28ee7]{flex-wrap:wrap}.next-goal-btn[data-v-6af28ee7]{width:100%}.panda-comment-section[data-v-6af28ee7]{text-align:center;flex-direction:column}}.works-classroom[data-v-cafd788e]{width:100%;padding:var(--space-lg) var(--space-xl)}.page-header[data-v-cafd788e]{margin-bottom:var(--space-2xl)}.page-header h2[data-v-cafd788e]{font-size:calc(24px * var(--ui-scale,1));font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--space-sm)}.subtitle[data-v-cafd788e]{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.content[data-v-cafd788e]{min-height:calc(200px * var(--ui-scale,1))}.schedule-group[data-v-cafd788e]{margin-bottom:var(--space-2xl);background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:0 1px calc(4px * var(--ui-scale,1)) #0000000a;overflow:hidden}.group-header[data-v-cafd788e]{padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg, var(--student-color-bg-warm), var(--student-color-bg-warm));border-bottom:1px solid #dcedc8;justify-content:space-between;align-items:center;display:flex}.group-title[data-v-cafd788e]{font-size:calc(16px * var(--ui-scale,1));font-weight:var(--font-weight-semibold);color:var(--student-color-success);align-items:center;gap:var(--space-sm);display:flex}.group-date[data-v-cafd788e]{font-size:var(--font-size-sm);color:var(--student-color-success)}.work-list[data-v-cafd788e]{padding:var(--space-md) 0}.work-item[data-v-cafd788e]{padding:var(--space-md) var(--space-xl);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.work-item[data-v-cafd788e]:hover{background:var(--color-gray-50)}.work-item+.work-item[data-v-cafd788e]{border-top:1px solid var(--border-color-light)}.work-info[data-v-cafd788e]{flex:1;min-width:0}.work-title[data-v-cafd788e]{font-size:calc(15px * var(--ui-scale,1));font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:calc(8px * var(--ui-scale,1))}.work-meta[data-v-cafd788e]{align-items:center;gap:var(--space-sm);margin-bottom:calc(4px * var(--ui-scale,1));display:flex}.score[data-v-cafd788e]{font-size:var(--font-size-xs);color:var(--text-secondary)}.work-time[data-v-cafd788e]{font-size:var(--font-size-xs);color:var(--text-placeholder)}.arrow[data-v-cafd788e]{color:var(--text-placeholder);font-size:calc(16px * var(--ui-scale,1));margin-left:var(--space-md);flex-shrink:0}.pagination[data-v-cafd788e]{margin-top:var(--space-xl);justify-content:center;display:flex}.works-homework[data-v-47cd800c]{width:100%;padding:var(--space-lg) var(--space-xl)}.page-header[data-v-47cd800c]{margin-bottom:var(--space-2xl)}.page-header h2[data-v-47cd800c]{font-size:calc(24px * var(--ui-scale,1));font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--space-sm)}.subtitle[data-v-47cd800c]{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.content[data-v-47cd800c]{min-height:calc(200px * var(--ui-scale,1))}.work-list[data-v-47cd800c]{gap:var(--space-md);flex-direction:column;display:flex}.work-card[data-v-47cd800c]{gap:var(--space-lg);background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 1px calc(4px * var(--ui-scale,1)) #0000000a;border-left:calc(4px * var(--ui-scale,1)) solid transparent;display:flex}.work-card[data-v-47cd800c]:hover{box-shadow:0 calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #00000014;transform:translateX(calc(4px * var(--ui-scale,1)));border-left-color:var(--color-primary)}.work-card.urgent[data-v-47cd800c]{border-left-color:var(--color-danger);background:#fff5f5}.card-left[data-v-47cd800c]{padding-top:calc(4px * var(--ui-scale,1));align-items:flex-start;display:flex}.status-badge[data-v-47cd800c]{padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));font-weight:var(--font-weight-semibold);white-space:nowrap}.status-badge.draft[data-v-47cd800c],.status-badge.returned[data-v-47cd800c]{background:var(--student-tint-data);color:var(--student-deep-data)}.status-badge.submitted[data-v-47cd800c]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.status-badge.reviewed[data-v-47cd800c]{background:var(--student-color-bg-warm);color:var(--student-color-success)}.card-body[data-v-47cd800c]{flex:1;min-width:0}.work-header[data-v-47cd800c]{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.work-title[data-v-47cd800c]{font-size:calc(16px * var(--ui-scale,1));font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.work-tags[data-v-47cd800c]{gap:calc(6px * var(--ui-scale,1));flex-shrink:0;display:flex}.work-context[data-v-47cd800c]{gap:var(--space-lg);margin-bottom:var(--space-sm);display:flex}.context-item[data-v-47cd800c]{font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:calc(4px * var(--ui-scale,1));display:flex}.work-footer[data-v-47cd800c]{padding-top:var(--space-sm);border-top:1px solid var(--border-color-light);justify-content:space-between;align-items:center;display:flex}.footer-left[data-v-47cd800c]{align-items:center;gap:var(--space-md);display:flex}.score-badge[data-v-47cd800c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1))}.score-badge.excellent[data-v-47cd800c]{background:var(--student-tint-operators);color:var(--student-deep-operators)}.score-badge.good[data-v-47cd800c]{background:var(--student-color-bg-warm);color:var(--student-color-success)}.score-badge.pass[data-v-47cd800c]{background:var(--student-color-primary-light);color:var(--student-color-primary)}.score-badge.fail[data-v-47cd800c]{color:#c62828;background:#ffebee}.submit-info[data-v-47cd800c]{font-size:var(--font-size-xs);color:var(--text-placeholder)}.pagination[data-v-47cd800c]{margin-top:var(--space-xl);justify-content:center;display:flex}.star-rating[data-v-1a8484ec]{align-items:center;gap:calc(2px * var(--ui-scale,1));display:inline-flex}.star[data-v-1a8484ec]{line-height:1;display:inline-flex}.star-filled svg[data-v-1a8484ec]{filter:drop-shadow(0 1px calc(2px * var(--ui-scale,1)) #ffd54f4d)}.star-half svg[data-v-1a8484ec]{filter:drop-shadow(0 1px calc(2px * var(--ui-scale,1)) #ffd54f33)}.masterpiece-card[data-v-cd7a9aa9]{background:var(--student-color-bg-card,#fff);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #00000014);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.masterpiece-card[data-v-cd7a9aa9]:hover{transform:translateY(calc(-4px * var(--ui-scale,1))) scale(1.02);box-shadow:var(--student-shadow-hover,0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff29)}.card-status-completed[data-v-cd7a9aa9]{border-color:var(--student-color-success,#59c059);background:var(--student-tint-operators,#ebf7eb)}.card-status-draft[data-v-cd7a9aa9]{border-color:var(--student-color-border,#d9e3f2)}.card-thumb[data-v-cd7a9aa9]{height:calc(140px * var(--ui-scale,1));position:relative;overflow:hidden}.thumb-img[data-v-cd7a9aa9]{object-fit:cover;width:100%;height:100%}.thumb-placeholder[data-v-cd7a9aa9]{width:100%;height:100%}.type-badge[data-v-cd7a9aa9]{top:calc(8px * var(--ui-scale,1));left:calc(8px * var(--ui-scale,1));font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(11px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-weight:700;position:absolute}.status-badge[data-v-cd7a9aa9]{top:calc(8px * var(--ui-scale,1));right:calc(8px * var(--ui-scale,1));color:#fff;font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(11px * var(--ui-scale,1));padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));box-shadow:0 1px calc(4px * var(--ui-scale,1)) #0003;font-weight:700;position:absolute}.card-body[data-v-cd7a9aa9]{padding:var(--student-space-md,calc(16px * var(--ui-scale,1)))}.card-title[data-v-cd7a9aa9]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(15px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin-bottom:calc(4px * var(--ui-scale,1));font-weight:700}.card-rating[data-v-cd7a9aa9]{margin-bottom:calc(6px * var(--ui-scale,1))}.card-meta[data-v-cd7a9aa9]{gap:var(--student-space-sm,calc(8px * var(--ui-scale,1)));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-muted,#999);flex-wrap:wrap;display:flex}.card-actions[data-v-cd7a9aa9]{padding:calc(8px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));gap:calc(6px * var(--ui-scale,1));min-height:calc(40px * var(--ui-scale,1));box-sizing:border-box;flex-wrap:wrap;place-content:flex-end;align-items:center;display:flex}.gallery-badge[data-v-cd7a9aa9]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(13px * var(--ui-scale,1));color:var(--student-deep-events,#9c7a00);background:var(--student-tint-events,#fff7e0);padding:calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));font-weight:700}.pending-badge[data-v-cd7a9aa9]{color:var(--student-deep-control,#a8690a);background:var(--student-tint-control,#fff5e3)}.rejected-badge[data-v-cd7a9aa9]{color:var(--student-deep-lists,#cc3d5c);background:var(--student-tint-lists,#ffecef)}.reject-reason[data-v-cd7a9aa9]{font-size:calc(12px * var(--ui-scale,1));color:#e57373;padding:calc(3px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));max-width:calc(150px * var(--ui-scale,1));text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#fff5f5;display:inline-block;overflow:hidden}.click-hint[data-v-cd7a9aa9]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(12px * var(--ui-scale,1));color:#909399;padding:calc(5px * var(--ui-scale,1)) calc(11px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));white-space:nowrap;background:#f5f7fa;font-weight:700}.action-btn[data-v-cd7a9aa9]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(12px * var(--ui-scale,1));padding:calc(5px * var(--ui-scale,1)) calc(11px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn,calc(24px * var(--ui-scale,1)));cursor:pointer;white-space:nowrap;border:none;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.action-btn[data-v-cd7a9aa9]:hover{transform:scale(1.08)}.action-btn[data-v-cd7a9aa9]:active{transform:scale(.95)}.action-view[data-v-cd7a9aa9]{background:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #4c97ff33}.action-submit[data-v-cd7a9aa9]{background:var(--student-color-accent,#ff8c1a);color:#333;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #ff8c1a33}.action-gallery[data-v-cd7a9aa9]{background:var(--student-color-accent,#ff8c1a);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #ff8c1a33}.action-publish[data-v-cd7a9aa9]{background:var(--student-color-accent,#ff8c1a);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #ff8c1a40}.action-share[data-v-cd7a9aa9]{color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #ab47bc40;background:linear-gradient(#ab47bc,#8e24aa)}.action-unpublish[data-v-cd7a9aa9]{color:#909399;background:#f5f7fa;border:1px solid #dcdfe6}.action-more[data-v-cd7a9aa9]{color:#606266;background:#f5f7fa;border:1px solid #dcdfe6}.more-item-danger[data-v-cd7a9aa9]{color:#f56c6c}.works-portfolio[data-v-ba882434]{width:100%;padding:var(--student-space-md);padding-bottom:calc(100px * var(--ui-scale,1))}.page-hero[data-v-ba882434]{text-align:center;padding:var(--student-space-sm) 0 var(--student-space-sm)}.hero-subtitle[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:var(--font-size-lg);color:var(--student-color-text-primary);margin:0;font-weight:700}.nav-capsules[data-v-ba882434]{gap:var(--student-space-sm);margin-bottom:var(--student-space-md);flex-wrap:wrap;justify-content:center;display:flex}.capsule-btn[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(18px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-btn);background:var(--student-color-bg-card);color:var(--student-color-text-secondary);cursor:pointer;align-items:center;gap:calc(6px * var(--ui-scale,1));font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.capsule-btn[data-v-ba882434]:hover{transform:translateY(calc(-2px * var(--ui-scale,1))) scale(1.05);border-color:var(--student-color-primary);color:var(--student-color-primary)}.capsule-btn.active[data-v-ba882434]{background:linear-gradient(135deg, var(--student-color-primary), var(--student-color-primary));color:var(--student-color-bg-card);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #42a5f54d;border-color:#0000}.create-bar[data-v-ba882434]{justify-content:center;align-items:center;gap:var(--student-space-sm);margin-bottom:var(--student-space-lg);padding:calc(10px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));border-radius:var(--student-border-radius-card);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border);background:linear-gradient(135deg,#f8f9ff 0%,#f0f4ff 100%);flex-wrap:wrap;display:flex}.create-bar-label[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-secondary);white-space:nowrap;font-weight:700}.create-btn[data-v-ba882434]{align-items:center;gap:calc(5px * var(--ui-scale,1));padding:calc(7px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid transparent;border-radius:var(--student-border-radius-btn);cursor:pointer;font-family:var(--student-font-family-title);font-size:calc(13px * var(--ui-scale,1));white-space:nowrap;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.create-btn[data-v-ba882434]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff33;transform:translateY(-1px)scale(1.06)}.create-btn.scratch[data-v-ba882434]{background:var(--student-tint-looks);color:#7c3aed;border-color:#c4b5fd}.create-btn.python[data-v-ba882434]{background:var(--student-tint-pen);color:#059669;border-color:#a7f3d0}.create-btn.science[data-v-ba882434]{background:var(--student-tint-sensing);color:#2563eb;border-color:#bfdbfe}.create-btn-icon[data-v-ba882434]{font-size:calc(16px * var(--ui-scale,1))}.create-btn-name[data-v-ba882434]{line-height:1}.works-content[data-v-ba882434]{min-height:calc(200px * var(--ui-scale,1))}.works-grid[data-v-ba882434]{grid-template-columns:repeat(auto-fill, minmax(calc(260px * var(--ui-scale,1)), 1fr));gap:var(--student-space-md);display:grid}.work-section[data-v-ba882434]{margin-bottom:var(--student-space-xl)}.section-title[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-primary);margin:0 0 var(--student-space-md);padding-left:calc(10px * var(--ui-scale,1));border-left:calc(4px * var(--ui-scale,1)) solid var(--student-color-primary);font-weight:700}.empty-state[data-v-ba882434]{text-align:center;padding:calc(40px * var(--ui-scale,1)) 0}.empty-illustration[data-v-ba882434]{opacity:.85}.empty-text[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-muted);margin-top:var(--student-space-md);margin-bottom:calc(4px * var(--ui-scale,1))}.empty-hint[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-secondary);margin:0}.empty-action[data-v-ba882434]{margin-top:var(--student-space-md)}.empty-go-btn[data-v-ba882434]{font-family:var(--student-font-family-title);font-size:calc(14px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1));border-radius:var(--student-border-radius-btn);background:linear-gradient(135deg, var(--student-color-primary), #64b5f6);color:#fff;cursor:pointer;border:none;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.empty-go-btn[data-v-ba882434]:hover{box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff4d;transform:scale(1.06)}.pagination-wrap[data-v-ba882434]{margin-top:var(--student-space-lg);justify-content:center;display:flex}.back-top-btn[data-v-ba882434]{bottom:calc(110px * var(--ui-scale,1));right:calc(24px * var(--ui-scale,1));z-index:998;align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:var(--student-border-radius-card);background:var(--student-color-bg-card,#fff);box-shadow:0 calc(2px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #0000001a;cursor:pointer;font-family:var(--student-font-family-title);flex-direction:column;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed}.back-top-btn[data-v-ba882434]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff33;border-color:var(--student-color-primary)}.back-top-icon[data-v-ba882434]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.back-top-label[data-v-ba882434]{font-size:calc(10px * var(--ui-scale,1));color:var(--student-color-text-secondary);font-weight:700;line-height:1}.fade-up-enter-active[data-v-ba882434]{transition:opacity .3s,transform .3s}.fade-up-leave-active[data-v-ba882434]{transition:opacity .2s,transform .2s}.fade-up-enter-from[data-v-ba882434],.fade-up-leave-to[data-v-ba882434]{opacity:0;transform:translateY(calc(10px * var(--ui-scale,1)))}.gallery-reason-dialog[data-v-ba882434] .el-dialog{border-radius:calc(20px * var(--ui-scale,1))}.gallery-reason-dialog[data-v-ba882434] .el-dialog__title{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-weight:800;font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-text-primary)}.gallery-reason-body[data-v-ba882434]{padding:calc(4px * var(--ui-scale,1)) 0}.gallery-reason-tip[data-v-ba882434]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));color:#666;margin:0 0 calc(12px * var(--ui-scale,1));line-height:1.6}.gallery-reason-input[data-v-ba882434] .el-textarea__inner{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));line-height:1.7}.gallery-reason-input[data-v-ba882434] .el-input__count{font-size:calc(12px * var(--ui-scale,1));color:#bbb}.gallery-reason-cancel[data-v-ba882434]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));font-weight:700}.gallery-reason-ok[data-v-ba882434]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(14px * var(--ui-scale,1));border-radius:calc(20px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(22px * var(--ui-scale,1));background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#0000;font-weight:700}.gallery-reason-ok[data-v-ba882434]:hover{background:linear-gradient(135deg,#ffa726,#fb8c00);border-color:#0000}.works-upload[data-v-bc4e6840]{width:100%}.works-upload h2[data-v-bc4e6840]{margin-bottom:var(--space-xl);font-size:var(--font-size-xl)}.text-muted[data-v-bc4e6840]{color:var(--student-color-text-muted)}
