.panda-logo[data-v-a9fe9d5d]{object-fit:contain;vertical-align:middle;-webkit-user-drag:none;display:inline-block}.sidebar-menu[data-v-42113db7]{width:var(--sidebar-width);background:var(--bg-sidebar);z-index:100;transition:width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.collapsed[data-v-42113db7]{width:var(--sidebar-collapsed-width)}.sidebar-logo[data-v-42113db7]{height:var(--header-height);align-items:center;gap:var(--space-sm);padding:0 var(--space-lg);border-bottom:1px solid var(--separator-color,#ffffff0f);flex-shrink:0;display:flex;position:relative}.logo-icon[data-v-42113db7]{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-text[data-v-42113db7]{font-size:calc(var(--font-size-xl) + 2px);font-weight:var(--font-weight-bold);color:var(--logo-text-color,var(--color-white));white-space:nowrap;letter-spacing:.5px;flex:1}.collapse-btn[data-v-42113db7]{color:var(--collapse-btn-color,#ffffff59);cursor:pointer;border-radius:var(--border-radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;font-size:18px;display:flex}.collapse-btn[data-v-42113db7]:hover{color:var(--collapse-btn-hover-color,var(--color-white));background:var(--collapse-btn-hover-bg,#ffffff14)}.sidebar-nav[data-v-42113db7]{padding:var(--space-sm) 0;scrollbar-width:thin;scrollbar-color:var(--nav-scrollbar-color,#ffffff1a) transparent;flex:1;overflow:hidden auto}.sidebar-nav[data-v-42113db7]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-42113db7]::-webkit-scrollbar-track{background:0 0}.sidebar-nav[data-v-42113db7]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-nav[data-v-42113db7]::-webkit-scrollbar-thumb:hover{background:#fff3}.sidebar-nav[data-v-42113db7]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px}.nav-section[data-v-42113db7]{margin-bottom:2px}.nav-section+.nav-section[data-v-42113db7]{margin-top:4px}.nav-section-items[data-v-42113db7]{transition:opacity var(--transition-base);overflow:hidden}.nav-group-label[data-v-42113db7]{padding:16px var(--space-lg) 6px;color:var(--nav-group-color,#ffffff40);text-transform:uppercase;letter-spacing:1.8px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.nav-group-label[data-v-42113db7]:hover{color:var(--nav-group-hover-color,#ffffff73)}.nav-group-label>span[data-v-42113db7]{flex:1}.nav-group-arrow[data-v-42113db7]{transition:transform var(--transition-fast);opacity:.3}.nav-group-label.collapsed .nav-group-arrow[data-v-42113db7]{transform:rotate(-90deg)}.nav-item[data-v-42113db7]{align-items:center;gap:var(--space-sm);padding:9px var(--space-lg);margin:2px var(--space-sm);color:var(--nav-item-color,#ffffff8c);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;width:calc(100% - var(--space-sm) * 2);font-size:14px;font-family:var(--font-family);text-align:left;background:0 0;border:none;border-radius:8px;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.nav-item[data-v-42113db7]:hover{color:var(--nav-item-hover-color,var(--color-white));background:var(--nav-item-hover-bg,#ffffff0f)}.nav-item.active[data-v-42113db7],.nav-item.router-link-exact-active[data-v-42113db7]{color:var(--color-white);background:var(--color-primary,#4f6ef7);font-weight:500;box-shadow:0 2px 8px #4f6ef74d}.nav-item[data-v-42113db7]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px}.nav-item-indicator[data-v-42113db7]{background:var(--color-white);opacity:0;border-radius:0 3px 3px 0;width:3px;height:0;transition:height .2s,opacity .2s;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.nav-item.active .nav-item-indicator[data-v-42113db7],.nav-item.router-link-exact-active .nav-item-indicator[data-v-42113db7]{opacity:.9;height:18px}.nav-item-icon[data-v-42113db7]{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;transition:color .2s;display:flex}.nav-item.active .nav-item-icon[data-v-42113db7]{color:var(--color-white)}.nav-item-arrow[data-v-42113db7]{opacity:.4;color:currentColor;margin-left:auto;font-size:12px;transition:transform .25s}.nav-item.expanded .nav-item-arrow[data-v-42113db7]{transform:rotate(180deg)}.nav-submenu[data-v-42113db7]{padding:2px 0 4px;animation:.2s ease-out submenuExpand-42113db7;overflow:hidden}@keyframes submenuExpand-42113db7{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.nav-sub-item[data-v-42113db7]{padding:7px var(--space-lg) 7px 52px;color:var(--nav-sub-color,#ffffff73);white-space:nowrap;margin-right:var(--space-sm);border-left:1px solid #ffffff14;border-radius:0 6px 6px 0;align-items:center;margin-left:12px;font-size:13px;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-sub-item[data-v-42113db7]:hover{color:var(--nav-sub-hover-color,#ffffffd9);background:var(--nav-sub-hover-bg,#ffffff0a)}.nav-sub-item.active[data-v-42113db7]{color:var(--color-primary-light,#7b93fa);border-left-color:var(--color-primary-light,#7b93fa);font-weight:500}.nav-sub-item[data-v-42113db7]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px}.sidebar-footer[data-v-42113db7]{border-top:1px solid var(--separator-color,#ffffff0f);flex-shrink:0}.unread-list[data-v-c6e5b83f]{max-height:60vh;overflow-y:auto}.unread-item[data-v-c6e5b83f]{border-bottom:1px solid var(--border-color,#ebeef5);padding:12px 0}.unread-item[data-v-c6e5b83f]:last-child{border-bottom:none}.item-header[data-v-c6e5b83f]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.item-time[data-v-c6e5b83f]{color:var(--text-secondary,#909399);margin-left:auto;font-size:12px}.item-title[data-v-c6e5b83f]{color:var(--text-primary,#303133);margin-bottom:4px;font-size:15px;font-weight:600}.item-content[data-v-c6e5b83f]{color:var(--text-regular,#606266);font-size:13px;line-height:1.6}.item-content.markdown[data-v-c6e5b83f] p{margin:4px 0}.item-content.markdown[data-v-c6e5b83f] ul,.item-content.markdown[data-v-c6e5b83f] ol{margin:4px 0;padding-left:20px}.item-content.markdown[data-v-c6e5b83f] code{background:#f5f7fa;border-radius:3px;padding:2px 4px;font-size:12px}.item-content.markdown[data-v-c6e5b83f] pre{background:#f5f7fa;border-radius:4px;padding:8px;overflow-x:auto}.overflow-tip[data-v-c6e5b83f]{background:var(--color-primary-lightest,#ecf5ff);color:var(--color-primary,#409eff);text-align:center;border-radius:4px;margin-top:12px;padding:8px 12px;font-size:13px}.profile-body[data-v-b0c4b740]{gap:var(--space-lg);flex-direction:column;display:flex}.avatar-block[data-v-b0c4b740]{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.avatar-box[data-v-b0c4b740]{cursor:pointer;border-radius:50%;width:72px;height:72px;position:relative;overflow:hidden}.avatar-placeholder[data-v-b0c4b740]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));font-size:28px;font-weight:var(--font-weight-semibold)}.avatar-mask[data-v-b0c4b740]{color:#fff;opacity:0;transition:opacity var(--transition-fast);background:#00000073;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.avatar-box:hover .avatar-mask[data-v-b0c4b740]{opacity:1}.avatar-tip[data-v-b0c4b740]{font-size:var(--font-size-xs);color:var(--text-secondary)}.admin-layout[data-v-22f02c52]{background:var(--bg-page);height:100vh;display:flex;overflow:hidden}[data-v-22f02c52] .sidebar-menu{--separator-color:#ffffff14;--logo-text-color:var(--color-white);--collapse-btn-color:#ffffff80;--collapse-btn-hover-color:var(--color-white);--collapse-btn-hover-bg:#ffffff1a;--nav-scrollbar-color:#ffffff26;--nav-group-color:#ffffff4d;--nav-item-color:#fff9;--nav-item-hover-color:var(--color-white);--nav-item-hover-bg:var(--bg-sidebar-hover);--nav-item-active-color:var(--color-white);--nav-item-active-bg:var(--bg-sidebar-active);--nav-sub-color:#ffffff73;--nav-sub-hover-color:#ffffffd9;--nav-sub-hover-bg:#ffffff0a;--nav-sub-active-color:var(--color-primary-light)}.main-wrapper[data-v-22f02c52]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-header[data-v-22f02c52]{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--border-color);padding:0 var(--space-xl);z-index:90;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left[data-v-22f02c52]{align-items:center;gap:var(--space-lg);display:flex}.header-search[data-v-22f02c52]{align-items:center;gap:var(--space-sm);background:var(--color-gray-50);border:1px solid var(--border-color);border-radius:var(--border-radius-round);padding:6px var(--space-lg);transition:all var(--transition-fast);width:240px;display:flex}.header-search[data-v-22f02c52]:focus-within{border-color:var(--color-primary);background:var(--color-white);box-shadow:0 0 0 3px var(--color-primary-lightest)}.search-icon[data-v-22f02c52]{color:var(--text-secondary);font-size:16px}.search-input[data-v-22f02c52]{font-size:var(--font-size-sm);color:var(--text-primary);width:100%;font-family:var(--font-family);background:0 0;border:none;outline:none}.search-input[data-v-22f02c52]::placeholder{color:var(--text-placeholder)}.header-right[data-v-22f02c52]{align-items:center;gap:var(--space-sm);display:flex}.header-badge[data-v-22f02c52]{margin-right:var(--space-xs)}.header-icon-btn[data-v-22f02c52]{width:36px;height:36px;font-size:18px;color:var(--text-secondary)!important;background:0 0!important;border:none!important}.header-icon-btn[data-v-22f02c52]:hover{background:var(--color-gray-100)!important;color:var(--color-primary)!important}.user-avatar-wrapper[data-v-22f02c52]{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-round);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-avatar-wrapper[data-v-22f02c52]:hover{background:var(--color-gray-100)}.user-avatar[data-v-22f02c52]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:32px;height:32px;color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-name[data-v-22f02c52]{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-arrow[data-v-22f02c52]{font-size:var(--font-size-xs);color:var(--text-secondary)}.page-content[data-v-22f02c52]{padding:var(--space-lg);background:var(--bg-page);flex:1;overflow-y:auto}.page-fade-enter-active[data-v-22f02c52],.page-fade-leave-active[data-v-22f02c52]{transition:opacity .2s,transform .2s}.page-fade-enter-from[data-v-22f02c52]{opacity:0;transform:translateY(8px)}.page-fade-leave-to[data-v-22f02c52]{opacity:0;transform:translateY(-8px)}.auth-layout[data-v-e6e8aa2a]{justify-content:center;align-items:center;min-height:100vh;display:flex}.page-fade-enter-active[data-v-e6e8aa2a],.page-fade-leave-active[data-v-e6e8aa2a]{transition:opacity .2s}.page-fade-enter-from[data-v-e6e8aa2a],.page-fade-leave-to[data-v-e6e8aa2a]{opacity:0}.top-nav[data-v-05f567ed]{background:var(--student-color-primary);border-bottom:calc(3px * var(--ui-scale,1)) solid var(--student-color-primary-dark);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff47;z-index:100;flex-shrink:0;position:relative}.top-nav[data-v-05f567ed]:before{content:"";pointer-events:none;background:#ffffff59;height:1px;position:absolute;inset:0 0 auto}.nav-inner[data-v-05f567ed]{width:100%;padding:0 calc(20px * var(--ui-scale,1));height:calc(60px * var(--ui-scale,1));align-items:center;gap:calc(18px * var(--ui-scale,1));display:flex}.nav-brand[data-v-05f567ed]{align-items:center;gap:calc(10px * var(--ui-scale,1));flex-shrink:0;display:flex}.brand-icon[data-v-05f567ed]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1));box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #3373cc59;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.brand-logo-img[data-v-05f567ed],.brand-icon img[data-v-05f567ed]{object-fit:cover;object-position:50% 35%;border-radius:50%;width:100%;height:100%;transform:scale(1.12)}.nav-brand:hover .brand-icon[data-v-05f567ed]{animation:.5s brand-wiggle-05f567ed}@keyframes brand-wiggle-05f567ed{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}}.brand-text[data-v-05f567ed]{font-family:var(--student-font-family-title);font-size:calc(19px * var(--ui-scale,1));letter-spacing:1px;color:#fff;text-shadow:0 1px #3373cc8c;white-space:nowrap;font-weight:800}.nav-tabs[data-v-05f567ed]{align-items:center;gap:calc(6px * var(--ui-scale,1));flex:0 auto;min-width:0;display:flex;overflow:hidden}.nav-tab[data-v-05f567ed]{align-items:center;gap:calc(7px * var(--ui-scale,1));min-height:calc(44px * var(--ui-scale,1));padding:0 calc(14px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:#ffffffe6;cursor:pointer;white-space:nowrap;font-family:var(--student-font-family-title);background:0 0;border:none;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.nav-tab[data-v-05f567ed]:hover{color:#fff;transform:translateY(calc(-2px * var(--ui-scale,1)));background:#ffffff29}.nav-tab:hover .tab-icon[data-v-05f567ed]{color:var(--tab-tone)}.nav-tab[data-v-05f567ed]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid #fff;outline-offset:calc(2px * var(--ui-scale,1))}.nav-tab.active[data-v-05f567ed]{color:var(--student-color-primary-dark);box-shadow:0 calc(3px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) #3373cc66;background:#fff;font-weight:800;transform:translateY(-1px)}.nav-tab.active .tab-icon[data-v-05f567ed]{color:var(--tab-tone)}.nav-tab.active[data-v-05f567ed]:after{content:"";bottom:calc(-9px * var(--ui-scale,1));width:calc(26px * var(--ui-scale,1));height:calc(4px * var(--ui-scale,1));border-radius:calc(4px * var(--ui-scale,1));background:var(--tab-tone);position:absolute;left:50%;transform:translate(-50%)}.tab-icon[data-v-05f567ed]{font-size:calc(22px * var(--ui-scale,1));color:#fffffff2;align-items:center;transition:color .2s;display:flex}.tab-label[data-v-05f567ed]{font-size:calc(15.5px * var(--ui-scale,1));letter-spacing:.5px}.tab-arrow[data-v-05f567ed]{font-size:calc(12px * var(--ui-scale,1));margin-left:calc(-3px * var(--ui-scale,1));transition:transform var(--transition-fast)}.nav-tab:hover .tab-arrow[data-v-05f567ed]{transform:translateY(1px)}.nav-actions[data-v-05f567ed]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding-left:calc(14px * var(--ui-scale,1));border-left:1px solid #ffffff47;flex-shrink:0;margin-left:auto;display:flex}@media (width<=1599px){.nav-inner[data-v-05f567ed]{gap:calc(12px * var(--ui-scale,1));padding:0 calc(14px * var(--ui-scale,1))}.nav-tabs[data-v-05f567ed]{gap:calc(4px * var(--ui-scale,1))}.tab-label[data-v-05f567ed]{font-size:calc(15px * var(--ui-scale,1))}.nav-actions[data-v-05f567ed]{gap:calc(8px * var(--ui-scale,1));padding-left:calc(10px * var(--ui-scale,1))}.brand-text[data-v-05f567ed]{display:none}.brand-icon[data-v-05f567ed]{width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1))}.nav-tab[data-v-05f567ed]{padding:0 calc(8px * var(--ui-scale,1));gap:calc(5px * var(--ui-scale,1))}.tab-label[data-v-05f567ed]{font-size:calc(14.5px * var(--ui-scale,1));letter-spacing:0}.tab-icon[data-v-05f567ed]{font-size:calc(20px * var(--ui-scale,1))}}@media (width<=1199px){.nav-tab[data-v-05f567ed]{padding:0 calc(10px * var(--ui-scale,1))}}.nav-more-popper.el-popper{border-radius:calc(14px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #e5f0ff;box-shadow:0 calc(8px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1)) #4c97ff38;padding:calc(6px * var(--ui-scale,1))}.nav-more-popper .el-dropdown-menu__item{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(9px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));margin:calc(2px * var(--ui-scale,1)) 0;font-size:calc(15px * var(--ui-scale,1));font-weight:600;display:flex}.nav-more-popper .el-dropdown-menu__item .more-item-icon{font-size:calc(20px * var(--ui-scale,1));align-items:center;display:flex}.nav-more-popper .el-dropdown-menu__item.is-current{color:#3373cc;background:#e5f0ff;font-weight:800}.nav-more-popper .el-popper__arrow:before{border-color:#e5f0ff}.app-tabbar[data-v-20860ab0]{height:calc(var(--tabbar-height) * var(--ui-scale,1) + env(safe-area-inset-bottom,0px));background:var(--student-color-bg-card,#fff);border-top:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);padding-bottom:env(safe-area-inset-bottom,0);flex-shrink:0;grid-template-columns:repeat(8,1fr);display:grid}.tabbar__item[data-v-20860ab0]{justify-content:center;align-items:center;gap:calc(2px * var(--ui-scale,1));min-height:var(--touch-min,calc(44px * var(--ui-scale,1)));cursor:pointer;min-width:0;color:var(--student-color-text-secondary,#818697);transition:color var(--student-transition-fast,.15s);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;padding:0;font-family:inherit;text-decoration:none;display:flex}.tabbar__item.is-active[data-v-20860ab0]{color:var(--tab-tone,var(--student-color-primary))}.tabbar__item[data-v-20860ab0]:focus-visible{outline:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);outline-offset:calc(-2px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1))}.tabbar__icon[data-v-20860ab0]{width:calc(22px * var(--ui-scale,1));height:calc(22px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));justify-content:center;align-items:center;display:flex}.tabbar__icon[data-v-20860ab0] svg{width:100%;height:100%}.tabbar__label[data-v-20860ab0]{font-size:calc(12px * var(--ui-scale,1));white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:700;line-height:1.1;overflow:hidden}.tabbar__label--short[data-v-20860ab0]{display:none}@media (width<=599px){.tabbar__label[data-v-20860ab0]{display:none}.tabbar__label--short[data-v-20860ab0]{display:block}}.install-wrap[data-v-0b69cd2d]{text-align:center;padding:calc(8px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1))}.emoji[data-v-0b69cd2d]{font-size:calc(56px * var(--ui-scale,1));margin-bottom:calc(12px * var(--ui-scale,1));line-height:1}.install-title[data-v-0b69cd2d]{font-family:var(--student-font-family-title,inherit);font-size:calc(22px * var(--ui-scale,1));color:var(--student-color-primary-dark,#1e88e5);margin:0 0 calc(10px * var(--ui-scale,1));font-weight:700}.install-desc[data-v-0b69cd2d]{font-size:calc(16px * var(--ui-scale,1));color:var(--text-regular,#4b5563);margin:0 0 calc(20px * var(--ui-scale,1));line-height:1.7}.install-steps[data-v-0b69cd2d]{text-align:left;margin:0 0 calc(16px * var(--ui-scale,1));padding-left:calc(22px * var(--ui-scale,1))}.install-steps li[data-v-0b69cd2d]{font-size:calc(16px * var(--ui-scale,1));color:var(--text-regular,#4b5563);line-height:1.9}.install-steps strong[data-v-0b69cd2d]{color:var(--student-color-primary-dark,#1e88e5)}.step-emoji[data-v-0b69cd2d]{margin-left:calc(4px * var(--ui-scale,1))}.install-tip[data-v-0b69cd2d]{font-size:calc(14px * var(--ui-scale,1));color:var(--text-secondary,#6b7280);margin:0 0 calc(18px * var(--ui-scale,1));line-height:1.7}.install-btn[data-v-0b69cd2d]{min-width:calc(200px * var(--ui-scale,1));height:calc(48px * var(--ui-scale,1));font-size:calc(17px * var(--ui-scale,1));border-radius:calc(9999px * var(--ui-scale,1));font-weight:600}.continue-tab[data-v-1de5652b]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.resume-card[data-v-1de5652b]{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));cursor:pointer;color:#fff;box-shadow:0 calc(6px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #4c97ff47;background:linear-gradient(135deg,#4c97ff,#7ee0c0);transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.resume-card[data-v-1de5652b]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.resume-text[data-v-1de5652b]{min-width:0}.resume-label[data-v-1de5652b]{font-size:calc(11px * var(--ui-scale,1));opacity:.9;margin:0;font-weight:700}.resume-title[data-v-1de5652b]{margin:calc(2px * var(--ui-scale,1)) 0 0;font-size:calc(14px * var(--ui-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.resume-sub[data-v-1de5652b]{margin:calc(4px * var(--ui-scale,1)) 0 0;font-size:calc(11px * var(--ui-scale,1));opacity:.92}.resume-arrow[data-v-1de5652b]{font-size:calc(20px * var(--ui-scale,1));flex-shrink:0;font-weight:900}.section-title[data-v-1de5652b]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);margin:0}.quick-grid[data-v-1de5652b]{gap:calc(8px * var(--ui-scale,1));grid-template-columns:repeat(3,1fr);display:grid}.quick-item[data-v-1de5652b]{align-items:center;gap:calc(4px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid var(--tone,#4c97ff);border-radius:calc(14px * var(--ui-scale,1));cursor:pointer;background:#fff;flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.quick-item[data-v-1de5652b]:hover{transform:translateY(calc(-3px * var(--ui-scale,1)));box-shadow:0 calc(6px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) #0000001a}.quick-emoji[data-v-1de5652b]{font-size:calc(20px * var(--ui-scale,1))}.quick-label[data-v-1de5652b]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800}.mini-stats[data-v-1de5652b]{align-items:center;gap:calc(10px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);padding-top:calc(6px * var(--ui-scale,1));border-top:1px dashed var(--student-color-border,#d9e3f2);flex-wrap:wrap;font-weight:700;display:flex}.mini-stats strong[data-v-1de5652b]{color:var(--student-color-text-primary,#333);font-size:calc(13px * var(--ui-scale,1))}.mini-link[data-v-1de5652b]{color:var(--student-color-primary,#4c97ff);font-size:calc(11px * var(--ui-scale,1));cursor:pointer;background:0 0;border:none;margin-left:auto;font-weight:800}.mini-link[data-v-1de5652b]:hover{text-decoration:underline}@media (width<=599px){.quick-grid[data-v-1de5652b]{grid-template-columns:repeat(2,minmax(0,1fr))}}.empty-state-component[data-v-38798f6f]{align-items:center;gap:calc(16px * var(--ui-scale,1));padding:calc(32px * var(--ui-scale,1)) calc(20px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fff7e0);border-radius:var(--student-border-radius-card,calc(16px * var(--ui-scale,1)));border:calc(2px * var(--ui-scale,1)) dashed var(--student-color-border,#d9e3f2);text-align:center;flex-direction:column;display:flex}.empty-illustration[data-v-38798f6f]{animation:3s ease-in-out infinite float-gentle-38798f6f}@keyframes float-gentle-38798f6f{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-6px * var(--ui-scale,1)))}}.empty-svg[data-v-38798f6f]{opacity:.85}.empty-img[data-v-38798f6f]{width:calc(140px * var(--ui-scale,1));height:calc(140px * var(--ui-scale,1));object-fit:contain;border-radius:calc(16px * var(--ui-scale,1))}.empty-content[data-v-38798f6f]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.empty-message[data-v-38798f6f]{font-family:var(--student-font-family-title,"Nunito", "Comic Neue", system-ui, sans-serif);font-size:calc(16px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);margin:0;font-weight:600;line-height:1.5}.empty-no_mistakes .empty-message[data-v-38798f6f]{color:var(--student-color-success,#59c059)}.empty-action[data-v-38798f6f]{font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif)!important;font-weight:600!important}.homework-center[data-v-1d2ccdd6]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.overview-row[data-v-1d2ccdd6]{gap:calc(6px * var(--ui-scale,1));grid-template-columns:repeat(3,1fr) auto;align-items:stretch;display:grid}.overview-card[data-v-1d2ccdd6]{justify-content:center;align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));cursor:pointer;border:calc(2px * var(--ui-scale,1)) solid transparent;flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.overview-card[data-v-1d2ccdd6]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.overview-card.pending[data-v-1d2ccdd6]{background:#fff4e5;border-color:#ffd79a}.overview-card.redo[data-v-1d2ccdd6]{background:#ffeef0;border-color:#ffc4ca}.overview-card.done[data-v-1d2ccdd6]{background:#eafbe7;border-color:#b7e8ad}.ov-num[data-v-1d2ccdd6]{font-size:calc(20px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:900;line-height:1.1}.ov-label[data-v-1d2ccdd6]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);font-weight:700}.ov-all[data-v-1d2ccdd6]{padding:0 calc(10px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;font-size:calc(12px * var(--ui-scale,1));cursor:pointer;white-space:nowrap;border:none;font-weight:800}.ov-all[data-v-1d2ccdd6]:hover{filter:brightness(1.06)}.filter-row[data-v-1d2ccdd6]{gap:calc(6px * var(--ui-scale,1));flex-wrap:wrap;display:flex}.filter-chip[data-v-1d2ccdd6]{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,#d9e3f2);border-radius:calc(999px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);font-size:calc(12px * var(--ui-scale,1));cursor:pointer;background:#fff;font-weight:700;transition:all .2s}.filter-chip[data-v-1d2ccdd6]:hover{border-color:var(--student-color-primary,#4c97ff)}.filter-chip.active[data-v-1d2ccdd6]{background:var(--student-color-primary,#4c97ff);border-color:var(--student-color-primary,#4c97ff);color:#fff;box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #3373cc59}.loading-tip[data-v-1d2ccdd6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);text-align:center;padding:calc(8px * var(--ui-scale,1)) 0}.block[data-v-1d2ccdd6]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.block-title[data-v-1d2ccdd6]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);margin:0}.todo-item[data-v-1d2ccdd6],.submit-item[data-v-1d2ccdd6]{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(14px * var(--ui-scale,1));background:#fff;transition:border-color .2s,box-shadow .2s;display:flex}.todo-item[data-v-1d2ccdd6]:hover,.submit-item[data-v-1d2ccdd6]:hover{border-color:var(--student-color-primary,#4c97ff);box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #4c97ff24}.todo-main[data-v-1d2ccdd6],.submit-main[data-v-1d2ccdd6]{flex:1;min-width:0}.todo-title[data-v-1d2ccdd6],.submit-title[data-v-1d2ccdd6]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:800;overflow:hidden}.todo-meta[data-v-1d2ccdd6],.submit-meta[data-v-1d2ccdd6]{margin:calc(3px * var(--ui-scale,1)) 0 0;font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);align-items:center;gap:calc(4px * var(--ui-scale,1));display:flex}.dot[data-v-1d2ccdd6]{opacity:.5}.time-urgent[data-v-1d2ccdd6]{color:#ff8f1f;font-weight:800}.time-over[data-v-1d2ccdd6]{color:#ff5b5b;font-weight:800}.time-normal[data-v-1d2ccdd6]{color:var(--student-color-text-secondary,#7a869a)}.todo-tags[data-v-1d2ccdd6]{margin-top:calc(6px * var(--ui-scale,1));gap:calc(4px * var(--ui-scale,1));display:flex}.submit-comment[data-v-1d2ccdd6]{margin:calc(6px * var(--ui-scale,1)) 0 0;font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);background:var(--student-color-bg-page,#f5f8ff);border-radius:calc(8px * var(--ui-scale,1));padding:calc(6px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));line-height:1.5}.score[data-v-1d2ccdd6]{color:var(--student-color-text-primary,#333);font-weight:800}.score.excellent[data-v-1d2ccdd6],.score.good[data-v-1d2ccdd6]{color:#52c41a}.score.fail[data-v-1d2ccdd6]{color:#ff5b5b}.go-btn[data-v-1d2ccdd6]{padding:calc(6px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));border-radius:calc(999px * var(--ui-scale,1));color:#fff;font-size:calc(12px * var(--ui-scale,1));cursor:pointer;box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #3f9e12;background:#52c41a;border:none;flex-shrink:0;font-weight:800;transition:transform .15s}.go-btn[data-v-1d2ccdd6]:hover{transform:translateY(-1px)}.go-btn[data-v-1d2ccdd6]:active{box-shadow:none;transform:translateY(1px)}.go-btn.ghost[data-v-1d2ccdd6]{color:var(--student-color-primary,#4c97ff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);box-shadow:0 calc(2px * var(--ui-scale,1)) 0 #4c97ff59;background:#fff}.redo-card[data-v-1d2ccdd6]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid #ffc4ca;border-radius:calc(14px * var(--ui-scale,1));background:#fff7f8;display:flex}.redo-num[data-v-1d2ccdd6]{align-items:baseline;gap:calc(2px * var(--ui-scale,1));color:#ff5b5b;display:flex}.redo-num strong[data-v-1d2ccdd6]{font-size:calc(24px * var(--ui-scale,1));font-weight:900}.redo-num span[data-v-1d2ccdd6]{font-size:calc(11px * var(--ui-scale,1));font-weight:700}.redo-info[data-v-1d2ccdd6]{flex:1;min-width:0}.redo-line[data-v-1d2ccdd6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin:0}.redo-line strong[data-v-1d2ccdd6]{color:#ff8f1f;font-size:calc(14px * var(--ui-scale,1))}.redo-sub[data-v-1d2ccdd6]{margin:calc(2px * var(--ui-scale,1)) 0 0;font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a)}.more-row[data-v-1d2ccdd6]{gap:calc(6px * var(--ui-scale,1));padding-top:calc(4px * var(--ui-scale,1));border-top:1px dashed var(--student-color-border,#d9e3f2);grid-template-columns:repeat(3,1fr);display:grid}.more-btn[data-v-1d2ccdd6]{align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-radius:calc(12px * var(--ui-scale,1));font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);cursor:pointer;background:#fff;flex-direction:column;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.more-btn[data-v-1d2ccdd6]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)));border-color:var(--student-color-primary,#4c97ff)}.more-emoji[data-v-1d2ccdd6]{font-size:calc(18px * var(--ui-scale,1))}.remind-switch[data-v-1d2ccdd6]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);padding:calc(2px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1)) 0;justify-content:space-between;align-items:center;font-weight:700;display:flex}@media (width<=599px){.overview-row[data-v-1d2ccdd6]{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-row>.ov-all[data-v-1d2ccdd6]{grid-column:1/-1}.more-row[data-v-1d2ccdd6]{grid-template-columns:repeat(2,minmax(0,1fr))}}.can-help-tab[data-v-7f216c1e]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.tab-tip[data-v-7f216c1e]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);margin:0;line-height:1.6}.help-list[data-v-7f216c1e]{gap:calc(8px * var(--ui-scale,1));flex-direction:column;display:flex}.help-item[data-v-7f216c1e]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1));border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);border-left:calc(5px * var(--ui-scale,1)) solid var(--tone,#4c97ff);border-radius:calc(14px * var(--ui-scale,1));cursor:pointer;text-align:left;background:#fff;transition:transform .18s,box-shadow .18s;display:flex}.help-item[data-v-7f216c1e]:hover{transform:translateX(calc(3px * var(--ui-scale,1)));box-shadow:0 calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) #00000014}.help-emoji[data-v-7f216c1e]{font-size:calc(20px * var(--ui-scale,1));flex-shrink:0}.help-text[data-v-7f216c1e]{gap:calc(2px * var(--ui-scale,1));flex-direction:column;flex:1;min-width:0;display:flex}.help-text strong[data-v-7f216c1e]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800}.help-text em[data-v-7f216c1e]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);font-style:normal}.help-arrow[data-v-7f216c1e]{color:var(--tone,#4c97ff);flex-shrink:0;font-weight:900}.section-title[data-v-7f216c1e]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);margin:0}.tip-list[data-v-7f216c1e]{padding-left:calc(18px * var(--ui-scale,1));gap:calc(6px * var(--ui-scale,1));flex-direction:column;margin:0;display:flex}.tip-list li[data-v-7f216c1e]{font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);line-height:1.6}.cheer-tab[data-v-8a877568]{gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.cheer-card[data-v-8a877568]{align-items:center;gap:calc(10px * var(--ui-scale,1));padding:calc(14px * var(--ui-scale,1));border-radius:calc(16px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #ffd79a;background:linear-gradient(135deg,#fff4e5,#ffe9f0);display:flex}.cheer-emoji[data-v-8a877568]{font-size:calc(30px * var(--ui-scale,1));flex-shrink:0}.cheer-text[data-v-8a877568]{font-size:calc(14px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);font-weight:800;line-height:1.6;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);margin:0}.cheer-stats[data-v-8a877568]{gap:calc(8px * var(--ui-scale,1));grid-template-columns:repeat(3,1fr);display:grid}.cheer-stat[data-v-8a877568]{align-items:center;gap:calc(2px * var(--ui-scale,1));padding:calc(10px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1));border-radius:calc(14px * var(--ui-scale,1));background:var(--student-color-bg-page,#f5f8ff);border:calc(1.5px * var(--ui-scale,1)) solid var(--student-color-border,#d9e3f2);flex-direction:column;display:flex}.cheer-stat strong[data-v-8a877568]{font-size:calc(18px * var(--ui-scale,1));color:var(--student-color-primary,#4c97ff);font-weight:900}.cheer-stat span[data-v-8a877568]{font-size:calc(11px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);font-weight:700}.cheer-foot[data-v-8a877568]{text-align:center;font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-text-secondary,#7a869a);margin:0}@media (width<=599px){.cheer-stats[data-v-8a877568]{grid-template-columns:repeat(2,minmax(0,1fr))}}.assistant-panel[data-v-01301947]{bottom:calc(84px * var(--ui-scale,1));width:calc(360px * var(--ui-scale,1));max-width:calc(100vw - calc(48px * var(--ui-scale,1)));max-height:min(calc(560px * var(--ui-scale,1)), 72vh);background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);border-radius:calc(20px * var(--ui-scale,1));box-shadow:0 calc(12px * var(--ui-scale,1)) calc(32px * var(--ui-scale,1)) #3373cc3d;flex-direction:column;display:flex;position:absolute;right:0;overflow:hidden}.panel-header[data-v-01301947]{justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(10px * var(--ui-scale,1));color:#fff;background:linear-gradient(135deg,#4c97ff,#6fb1ff);display:flex}.header-left[data-v-01301947]{align-items:center;gap:calc(8px * var(--ui-scale,1));min-width:0;display:flex}.header-avatar[data-v-01301947]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));padding:calc(2px * var(--ui-scale,1));background:#fff;border-radius:50%;flex-shrink:0}.header-title[data-v-01301947]{font-size:calc(15px * var(--ui-scale,1));font-weight:800;font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);margin:0}.header-sub[data-v-01301947]{margin:calc(2px * var(--ui-scale,1)) 0 0;font-size:calc(11px * var(--ui-scale,1));opacity:.9;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.panel-close[data-v-01301947]{width:calc(24px * var(--ui-scale,1));height:calc(24px * var(--ui-scale,1));color:#fff;font-size:calc(16px * var(--ui-scale,1));line-height:calc(22px * var(--ui-scale,1));cursor:pointer;background:#ffffff38;border:none;border-radius:50%;flex-shrink:0}.panel-close[data-v-01301947]:hover{background:#ffffff5c}.panel-tabs[data-v-01301947]{gap:calc(2px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1)) 0;background:var(--student-color-bg-page,#f5f8ff);border-bottom:1px solid var(--student-color-border,#d9e3f2);display:flex}.panel-tab[data-v-01301947]{padding:calc(6px * var(--ui-scale,1)) calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(12px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) 0 0;cursor:pointer;color:var(--student-color-text-secondary,#7a869a);font-size:calc(11px * var(--ui-scale,1));background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:1px;font-weight:700;transition:background .2s,color .2s;display:flex;position:relative}.panel-tab[data-v-01301947]:hover{background:#4c97ff1a}.panel-tab.active[data-v-01301947]{color:var(--student-color-primary,#4c97ff);background:#fff}.panel-tab.active[data-v-01301947]:after{content:"";width:60%;height:calc(3px * var(--ui-scale,1));border-radius:calc(3px * var(--ui-scale,1)) calc(3px * var(--ui-scale,1)) 0 0;background:linear-gradient(90deg,#4c97ff,#7ee0c0);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tab-emoji[data-v-01301947]{font-size:calc(16px * var(--ui-scale,1));line-height:1}.tab-text[data-v-01301947]{white-space:nowrap}.tab-dot[data-v-01301947]{top:calc(2px * var(--ui-scale,1));right:calc(6px * var(--ui-scale,1));min-width:calc(16px * var(--ui-scale,1));height:calc(16px * var(--ui-scale,1));padding:0 calc(4px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));color:#fff;font-size:calc(10px * var(--ui-scale,1));font-weight:800;line-height:calc(16px * var(--ui-scale,1));background:#ff5b5b;position:absolute}.panel-body[data-v-01301947]{min-height:0;padding:calc(12px * var(--ui-scale,1));flex:1;overflow-y:auto}.panda-assistant[data-v-4025f1df]{bottom:calc(28px * var(--ui-scale,1));right:calc(24px * var(--ui-scale,1));z-index:999;align-items:center;gap:calc(2px * var(--ui-scale,1));-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed}.assistant-avatar[data-v-4025f1df]{width:calc(64px * var(--ui-scale,1));height:calc(64px * var(--ui-scale,1));background:var(--student-color-bg-warm,#fff7e0);box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0000001f);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.assistant-avatar[data-v-4025f1df]:hover{transform:scale(1.08)}.assistant-avatar[data-v-4025f1df]:active{transform:scale(.94)}.avatar-img[data-v-4025f1df]{width:calc(60px * var(--ui-scale,1));height:calc(60px * var(--ui-scale,1));object-fit:contain;-webkit-user-drag:none;border-radius:50%}.assistant-badge[data-v-4025f1df]{top:calc(-2px * var(--ui-scale,1));right:calc(-2px * var(--ui-scale,1));min-width:calc(20px * var(--ui-scale,1));height:calc(20px * var(--ui-scale,1));padding:0 calc(5px * var(--ui-scale,1));border-radius:calc(10px * var(--ui-scale,1));color:#fff;font-size:calc(12px * var(--ui-scale,1));font-weight:800;line-height:calc(20px * var(--ui-scale,1));text-align:center;border:calc(2px * var(--ui-scale,1)) solid #fff;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #ff5b5b73;background:#ff5b5b;animation:.4s cubic-bezier(.34,1.56,.64,1) badge-pop-4025f1df;position:absolute}@keyframes badge-pop-4025f1df{0%{transform:scale(0)}to{transform:scale(1)}}.assistant-label[data-v-4025f1df]{font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(10px * var(--ui-scale,1));color:var(--student-color-text-secondary,#666);background:var(--student-color-bg-card,#fff);padding:calc(2px * var(--ui-scale,1)) calc(8px * var(--ui-scale,1));border-radius:calc(8px * var(--ui-scale,1));border:1px solid var(--student-color-border,#d9e3f2);box-shadow:0 1px calc(4px * var(--ui-scale,1)) #00000014;white-space:nowrap;font-weight:700;line-height:1.2}.assistant-bubble[data-v-4025f1df]{bottom:calc(92px * var(--ui-scale,1));width:calc(260px * var(--ui-scale,1));padding:calc(12px * var(--ui-scale,1)) calc(14px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(44px * var(--ui-scale,1));background:var(--student-color-bg-card,#fff);border:calc(2px * var(--ui-scale,1)) solid var(--student-color-primary,#4c97ff);border-radius:calc(16px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1));box-shadow:var(--student-shadow-card,0 calc(8px * var(--ui-scale,1)) calc(24px * var(--ui-scale,1)) #00000024);cursor:pointer;transition:transform .2s;position:absolute;right:0}.assistant-bubble[data-v-4025f1df]:hover{transform:translateY(calc(-2px * var(--ui-scale,1)))}.assistant-bubble.level-warn[data-v-4025f1df]{border-color:var(--student-color-accent-orange,#ffa726)}.assistant-bubble.level-success[data-v-4025f1df]{border-color:var(--student-color-success,#52c41a)}.bubble-emoji[data-v-4025f1df]{left:calc(12px * var(--ui-scale,1));top:calc(12px * var(--ui-scale,1));font-size:calc(20px * var(--ui-scale,1));line-height:1;position:absolute}.bubble-text[data-v-4025f1df]{font-size:calc(13px * var(--ui-scale,1));color:var(--student-color-text-primary,#333);margin:0;font-weight:600;line-height:1.6}.bubble-go[data-v-4025f1df]{margin-top:calc(6px * var(--ui-scale,1));font-size:calc(12px * var(--ui-scale,1));color:var(--student-color-primary,#4c97ff);font-weight:800;display:inline-block}.bubble-close[data-v-4025f1df]{top:calc(4px * var(--ui-scale,1));right:calc(6px * var(--ui-scale,1));width:calc(18px * var(--ui-scale,1));height:calc(18px * var(--ui-scale,1));line-height:calc(16px * var(--ui-scale,1));text-align:center;color:var(--student-color-text-secondary,#999);font-size:calc(16px * var(--ui-scale,1));cursor:pointer;background:0 0;border:none;border-radius:50%;position:absolute}.bubble-close[data-v-4025f1df]:hover{background:#0000000f}.assistant-hint[data-v-4025f1df]{bottom:calc(92px * var(--ui-scale,1));width:max-content;max-width:calc(190px * var(--ui-scale,1));padding:calc(8px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));background:var(--student-color-primary,#4c97ff);color:#fff;border-radius:calc(12px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1)) calc(4px * var(--ui-scale,1)) calc(12px * var(--ui-scale,1));box-shadow:var(--student-shadow-card,0 calc(4px * var(--ui-scale,1)) calc(16px * var(--ui-scale,1)) #0000001f);font-family:var(--student-font-family-title,"Nunito", system-ui, sans-serif);font-size:calc(13px * var(--ui-scale,1));pointer-events:none;font-weight:700;position:absolute;right:0}.mood-happy .avatar-img[data-v-4025f1df]{animation:.6s cubic-bezier(.34,1.56,.64,1) happy-bounce-4025f1df}.mood-sad .avatar-img[data-v-4025f1df]{animation:.8s ease-in-out sad-rock-4025f1df}@keyframes happy-bounce-4025f1df{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-8px * var(--ui-scale,1)))}}@keyframes sad-rock-4025f1df{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.bubble-pop-enter-active[data-v-4025f1df],.panel-pop-enter-active[data-v-4025f1df]{transition:opacity .28s,transform .28s cubic-bezier(.34,1.56,.64,1)}.bubble-pop-leave-active[data-v-4025f1df],.panel-pop-leave-active[data-v-4025f1df]{transition:opacity .18s}.bubble-pop-enter-from[data-v-4025f1df],.panel-pop-enter-from[data-v-4025f1df]{opacity:0;transform:translateY(calc(10px * var(--ui-scale,1))) scale(.92)}.bubble-pop-leave-to[data-v-4025f1df],.panel-pop-leave-to[data-v-4025f1df]{opacity:0}.hint-fade-enter-active[data-v-4025f1df]{transition:opacity .3s}.hint-fade-leave-active[data-v-4025f1df]{transition:opacity .2s}.hint-fade-enter-from[data-v-4025f1df],.hint-fade-leave-to[data-v-4025f1df]{opacity:0}.student-layout[data-v-a416c129]{background:var(--student-color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.action-btn[data-v-a416c129]{width:calc(36px * var(--ui-scale,1));height:calc(36px * var(--ui-scale,1));font-size:calc(18px * var(--ui-scale,1));color:#ffffffe6!important;background:0 0!important;border:none!important}.action-btn[data-v-a416c129]:hover{color:#fff!important;background:#ffffff2e!important}.action-btn.has-unread .el-icon[data-v-a416c129]{transform-origin:50% calc(4px * var(--ui-scale,1));animation:2.4s ease-in-out infinite bell-ring-a416c129}@keyframes bell-ring-a416c129{0%,60%,to{transform:rotate(0)}65%{transform:rotate(14deg)}70%{transform:rotate(-12deg)}75%{transform:rotate(9deg)}80%{transform:rotate(-6deg)}85%{transform:rotate(3deg)}}.user-avatar-wrapper[data-v-a416c129]{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-round);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-avatar-wrapper[data-v-a416c129]:hover{background:#ffffff2e}.user-avatar-box[data-v-a416c129]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));flex-shrink:0;position:relative}.user-avatar[data-v-a416c129]{width:calc(34px * var(--ui-scale,1));height:calc(34px * var(--ui-scale,1));border:calc(2px * var(--ui-scale,1)) solid #fffffff2;box-shadow:0 calc(2px * var(--ui-scale,1)) calc(6px * var(--ui-scale,1)) #3373cc59;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-avatar img[data-v-a416c129]{object-fit:cover;object-position:50% 32%;width:100%;height:100%;transform:scale(1.15)}.user-avatar[data-v-a416c129] .user-avatar-real{--el-avatar-bg-color:transparent;width:100%;height:100%}.user-avatar[data-v-a416c129] .user-avatar-real img{object-position:50% 50%;transform:none}.user-avatar[data-v-a416c129] .user-avatar-fallback{object-fit:cover;object-position:50% 32%;width:100%;height:100%;transform:scale(1.15)}.avatar-frame-ring[data-v-a416c129]{inset:calc(-4px * var(--ui-scale,1));padding:calc(2.5px * 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}.avatar-frame-img[data-v-a416c129]{inset:calc(-7px * var(--ui-scale,1));width:calc(48px * var(--ui-scale,1));height:calc(48px * var(--ui-scale,1));object-fit:contain;pointer-events:none;position:absolute}.avatar-frame-mark[data-v-a416c129]{right:calc(-5px * var(--ui-scale,1));bottom:calc(-5px * var(--ui-scale,1));width:calc(17px * var(--ui-scale,1));height:calc(17px * var(--ui-scale,1));box-shadow:0 1px calc(3px * var(--ui-scale,1)) #00000040;font-size:calc(10px * 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-a416c129]{background:linear-gradient(135deg,#f0bd8d,#a05a2c 45%,#f7dcc0)}.frame-silver[data-v-a416c129]{background:linear-gradient(135deg,#f3f6fa,#97a5b4 45%,#eef2f7)}.frame-gold[data-v-a416c129]{background:linear-gradient(135deg,#ffeaa5,#dfa20e 45%,#fff6d6)}.frame-diamond[data-v-a416c129]{background:conic-gradient(from 20deg,#ff9a9e,#ffd3a5,#c2ffd8,#a1c4fd,#e2b5ff,#ff9a9e)}.user-name[data-v-a416c129]{font-size:calc(15px * var(--ui-scale,1));color:#fff;letter-spacing:.5px;max-width:calc(96px * var(--ui-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}@media (width<=1599px){.user-name[data-v-a416c129]{display:none}}.page-content[data-v-a416c129]{min-height:0;padding:var(--space-md);flex-direction:column;flex:1;width:100%;display:flex;position:relative;overflow:auto}@media (width<=899px){.page-content[data-v-a416c129]{padding:var(--space-sm)}}.page-fade-enter-active[data-v-a416c129],.page-fade-leave-active[data-v-a416c129]{transition:opacity .2s,transform .2s}.page-fade-leave-active[data-v-a416c129]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.page-fade-enter-from[data-v-a416c129]{opacity:0;transform:translateY(calc(8px * var(--ui-scale,1)))}.page-fade-leave-to[data-v-a416c129]{opacity:0;transform:translateY(calc(-8px * var(--ui-scale,1)))}.student-layout[data-v-a416c129] .el-badge__content{background:var(--student-block-events);color:var(--student-color-text-primary);border:calc(1.5px * var(--ui-scale,1)) solid #fff}.teacher-layout[data-v-7b4a7e99]{background:var(--bg-page);--sidebar-width:220px;--sidebar-collapsed-width:64px;height:100vh;display:flex;overflow:hidden}[data-v-7b4a7e99] .sidebar-menu{--separator-color:var(--border-color);--logo-text-color:var(--text-primary);--collapse-btn-color:var(--text-secondary);--collapse-btn-hover-color:var(--color-primary);--collapse-btn-hover-bg:transparent;--nav-scrollbar-color:var(--color-gray-300);--nav-group-color:var(--text-secondary);--nav-item-color:var(--text-regular);--nav-item-hover-color:var(--color-primary);--nav-item-hover-bg:var(--color-primary-lightest);--nav-item-active-color:var(--color-primary);--nav-item-active-bg:var(--color-primary-lightest);--nav-sub-color:var(--text-secondary);--nav-sub-hover-color:var(--color-primary);--nav-sub-hover-bg:var(--color-primary-lightest);--nav-sub-active-color:var(--color-primary)}.main-wrapper[data-v-7b4a7e99]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-header[data-v-7b4a7e99]{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--border-color);padding:0 var(--space-xl);z-index:90;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left[data-v-7b4a7e99]{align-items:center;gap:var(--space-lg);display:flex}.header-center[data-v-7b4a7e99]{flex:1;justify-content:center;display:flex}.class-switcher[data-v-7b4a7e99]{width:200px}.header-right[data-v-7b4a7e99]{align-items:center;gap:var(--space-sm);display:flex}.header-badge[data-v-7b4a7e99]{margin-right:var(--space-xs)}.header-icon-btn[data-v-7b4a7e99]{width:36px;height:36px;font-size:18px;color:var(--text-secondary)!important;background:0 0!important;border:none!important}.header-icon-btn[data-v-7b4a7e99]:hover{background:var(--color-gray-100)!important;color:var(--color-primary)!important}.user-avatar-wrapper[data-v-7b4a7e99]{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-round);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-avatar-wrapper[data-v-7b4a7e99]:hover{background:var(--color-gray-100)}.user-avatar[data-v-7b4a7e99]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:32px;height:32px;color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-name[data-v-7b4a7e99]{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-arrow[data-v-7b4a7e99]{font-size:var(--font-size-xs);color:var(--text-secondary)}.page-content[data-v-7b4a7e99]{padding:var(--space-lg);background:var(--bg-page);flex:1;overflow-y:auto}.page-content.no-padding[data-v-7b4a7e99]{padding:0;overflow:hidden}.page-fade-enter-active[data-v-7b4a7e99],.page-fade-leave-active[data-v-7b4a7e99]{transition:opacity .2s,transform .2s}.page-fade-enter-from[data-v-7b4a7e99]{opacity:0;transform:translateY(8px)}.page-fade-leave-to[data-v-7b4a7e99]{opacity:0;transform:translateY(-8px)}
