.app-loading{background:radial-gradient(circle at 24% 18%,#4f46e529,#0000 28%),radial-gradient(circle at 78% 74%,#f59e0b24,#0000 28%),linear-gradient(135deg,#f8fbff,#eef4ff);justify-content:center;align-items:center;min-height:100vh;display:flex}.app-loading-inner{text-align:center;color:#516078;font-size:14px;font-weight:800}.app-loading-spinner{border:3px solid #2563eb1f;border-top-color:#4f46e5;border-radius:50%;width:38px;height:38px;margin:0 auto 12px;animation:.8s linear infinite spin;box-shadow:0 12px 30px #4f46e529}@keyframes spin{to{transform:rotate(360deg)}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--radius-admin:10px;--radius-student:16px;--sidebar-width:240px;--sidebar-collapsed:64px;--topbar-height:64px;--min-touch-target:44px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--theme-transition:background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease}[data-theme=light],:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#2563eb;--color-primary-light:#3b82f6;--color-primary-dark:#1d4ed8;--color-primary-subtle:#eff6ff;--color-accent:#f59e0b;--color-accent-light:#fbbf24;--color-accent-subtle:#fffbeb;--color-ink:#0f172a;--color-success:#16a34a;--color-success-light:#f0fdf4;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#2563eb;--color-info-light:#eff6ff;--bg-admin:#f8fafc;--bg-admin-panel:#fff;--bg-card:#fff;--bg-elevated:#fff;--bg-glass:#ffffffc7;--bg-glass-heavy:#ffffffeb;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-disabled:#cbd5e1;--text-inverse:#f8fafc;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000012, 0 1px 3px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 2px 6px #0000000a;--shadow-xl:0 16px 48px #0000001a;--shadow-glow-primary:0 4px 16px #2563eb2e;--shadow-glow-accent:0 4px 16px #f59e0b2e;--shadow-card-hover:0 8px 28px #00000014;--shadow-student:0 8px 32px #0000004d;--shadow-student-glow:0 0 30px #6c63ff26;--gradient-brand:linear-gradient(135deg, #2563eb, #7c3aed);--gradient-brand-hover:linear-gradient(135deg, #1d4ed8, #6d28d9);--gradient-accent:linear-gradient(135deg, #f59e0b, #fbbf24);--gradient-success:linear-gradient(135deg, #16a34a, #22c55e);--gradient-danger:linear-gradient(135deg, #dc2626, #ef4444)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#6c63ff;--color-primary-light:#8b85ff;--color-primary-dark:#5550e5;--color-primary-subtle:#6c63ff1f;--color-accent:#fbbf24;--color-accent-light:#fcd34d;--color-accent-subtle:#fbbf241f;--color-ink:#e8e8f0;--color-success:#22c55e;--color-success-light:#22c55e1f;--color-warning:#fbbf24;--color-warning-light:#fbbf241f;--color-danger:#ef4444;--color-danger-light:#ef44441f;--color-info:#6c63ff;--color-info-light:#6c63ff1f;--bg-admin:#0f1120;--bg-admin-panel:#161b2e;--bg-card:#ffffff0d;--bg-elevated:#ffffff14;--bg-glass:#ffffff0f;--bg-glass-heavy:#ffffff1a;--text-primary:#e8e8f0;--text-secondary:#9ca3c0;--text-muted:#6b7090;--text-disabled:#4a4f6a;--text-inverse:#0f172a;--border-color:#ffffff14;--border-light:#ffffff0f;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #00000040, 0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d, 0 1px 3px #0003;--shadow-lg:0 8px 24px #00000059, 0 2px 6px #00000040;--shadow-xl:0 16px 48px #0006;--shadow-glow-primary:0 4px 16px #6c63ff4d;--shadow-glow-accent:0 4px 16px #fbbf2440;--shadow-card-hover:0 8px 28px #0000004d;--shadow-student:0 8px 32px #0006;--shadow-student-glow:0 0 30px #6c63ff33;--gradient-brand:linear-gradient(135deg, #6c63ff, #a78bfa);--gradient-brand-hover:linear-gradient(135deg, #5550e5, #8b5cf6);--gradient-accent:linear-gradient(135deg, #fbbf24, #fcd34d);--gradient-success:linear-gradient(135deg, #22c55e, #4ade80);--gradient-danger:linear-gradient(135deg, #ef4444, #f87171)}*,:before,:after{box-sizing:border-box}html,body,#app{background:var(--bg-admin);min-height:100%;transition:background var(--theme-transition);margin:0}body{color:var(--text-primary);transition:color var(--theme-transition);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.el-button{border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);font-weight:650}.el-button:active{transform:scale(.97)}.el-button--primary{--el-button-bg-color:var(--color-primary);--el-button-border-color:var(--color-primary);--el-button-hover-bg-color:var(--color-primary-dark);--el-button-hover-border-color:var(--color-primary-dark)}.el-button--primary:not(.is-plain):hover{box-shadow:var(--shadow-glow-primary)}.el-input__wrapper{transition:all var(--duration-fast) var(--ease-out);border-radius:var(--radius-md)!important;box-shadow:0 0 0 1px var(--border-color) inset!important;background:var(--bg-glass-heavy)!important}.el-input__wrapper:hover{box-shadow:0 0 0 1.5px var(--color-primary-light) inset!important}.el-input__wrapper.is-focus{box-shadow:0 0 0 2px var(--color-primary) inset, 0 0 0 4px #2563eb14!important}.el-input__inner{color:var(--text-primary)!important;font-weight:600!important}.el-input__inner::placeholder{color:var(--text-muted)!important;font-weight:500!important}.el-select .el-input__wrapper{border-radius:var(--radius-md)!important}.el-select-dropdown{border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;background:var(--bg-admin-panel)!important;padding:4px!important}.el-select-dropdown__item{border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);margin:2px 4px;padding:8px 12px;font-weight:600}.el-select-dropdown__item.hover{background:var(--color-primary-subtle)!important}.el-select-dropdown__item.selected{font-weight:700;color:var(--color-primary)!important}.el-dropdown-menu{border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;background:var(--bg-admin-panel)!important;padding:4px!important}.el-dropdown-menu__item{border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);margin:2px 0;padding:8px 12px;font-weight:600;color:var(--text-primary)!important}.el-dropdown-menu__item:hover{background:var(--color-primary-subtle)!important}.el-tag{border-radius:var(--radius-full);padding:0 12px;font-weight:650}.el-card{--el-card-border-radius:var(--radius-xl);border-color:var(--border-light);box-shadow:var(--shadow-xs);border:1px solid var(--border-light);transition:box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out), background var(--theme-transition);background:var(--bg-card)!important}.el-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.el-dialog{--el-dialog-border-radius:var(--radius-xl);--el-dialog-title-font-size:18px}.el-table{--el-table-border-color:var(--border-light);--el-table-header-bg-color:var(--color-primary-subtle);border-radius:var(--radius-lg);overflow:hidden}.el-table th.el-table__cell{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.el-table tr{transition:background var(--duration-fast) var(--ease-out)}.el-table tr:hover>td{background:var(--color-primary-subtle)!important}.el-pagination{--el-pagination-button-width:32px;--el-pagination-button-height:32px}.el-drawer,.el-message-box{background:var(--bg-admin-panel)!important}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.mb-3{margin-bottom:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.overflow-hidden{overflow:hidden}.rounded-3xl{border-radius:1.5rem}.border{border-width:1px}.border-none{border-style:none}.p-8{padding:2rem}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.page-loading,.page-empty,.page-error{justify-content:center;align-items:center;min-height:260px;display:flex}.page-empty,.page-error{padding:var(--space-8);text-align:center;flex-direction:column}.admin-content{min-height:calc(100vh - var(--topbar-height));animation:fadeSlideUp .35s var(--ease-out);padding:24px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-surface{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-admin);box-shadow:var(--shadow-sm)}.admin-page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.admin-page-header h1{font-size:var(--font-h1);color:var(--text-primary);margin:0;font-weight:760;line-height:1.15}.admin-page-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.student-content{max-width:1180px;min-height:100%;margin:0 auto;padding:24px}.student-card{background:var(--bg-student-panel);border:1px solid var(--border-student);border-radius:var(--radius-student);padding:var(--space-5);box-shadow:var(--shadow-student)}.student-section-title{color:var(--text-primary);margin:0 0 12px;font-size:18px;font-weight:760}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px;display:grid}.metric-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-admin);box-shadow:var(--shadow-sm);padding:18px;position:relative;overflow:hidden}.metric-card:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent));opacity:.75;height:2px;position:absolute;inset:auto 16px 0}.metric-card .metric-value{color:var(--text-primary);font-size:28px;font-weight:780;line-height:1}.metric-card .metric-label{color:var(--text-secondary);margin-top:var(--space-2);font-size:13px}.split-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;display:grid}.panel-title{color:var(--text-primary);margin:0 0 14px;font-size:15px;font-weight:720}.fi{color:#0f172a;-webkit-backdrop-filter:blur(4px);background:#ffffffbf;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.fi:hover{background:#ffffffe0;border-color:#cbd5e1}.fi:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px #2f6f731a}.fi--sel{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;width:140px;padding-right:32px}.fi--sel:hover{border-color:var(--color-primary-light)}@media (width<=768px){.metric-strip{grid-template-columns:repeat(2,1fr)}.admin-content,.student-content{padding:var(--space-4)}.split-grid{grid-template-columns:1fr}}[data-theme=dark],:root{--student-ink:#e8e8f0;--student-ink-soft:#9ca3c0;--student-muted:#6b7090;--student-bg:#0a0e1a;--student-panel:#ffffff0f;--student-panel-solid:#141827;--student-line:#ffffff0f;--student-blue:#6c63ff;--student-indigo:#8b5cf6;--student-orange:#fb923c;--student-yellow:#fbbf24;--student-mint:#34d399;--student-rose:#f472b6;--student-success:#22c55e;--student-error:#ef4444;--student-shadow:0 16px 40px #0000004d;--student-shadow-soft:0 4px 16px #0003;--student-shadow-press:inset 0 -1px 0 #ffffff0f;--student-radius:20px;--student-radius-sm:12px;--student-ease:cubic-bezier(.16, 1, .3, 1);--student-card-bg:#ffffff0d;--student-card-border:#ffffff14;--student-glass:#ffffff0a;--student-glass-border:#ffffff0f}[data-theme=light]{--student-ink:#0f172a;--student-ink-soft:#475569;--student-muted:#94a3b8;--student-bg:#f0f4ff;--student-panel:#ffffffe6;--student-panel-solid:#fff;--student-line:#0f172a14;--student-blue:#6c63ff;--student-indigo:#7c3aed;--student-orange:#ea580c;--student-yellow:#d97706;--student-mint:#16a34a;--student-rose:#db2777;--student-success:#16a34a;--student-error:#dc2626;--student-shadow:0 16px 40px #00000014;--student-shadow-soft:0 4px 16px #0000000d;--student-shadow-press:inset 0 -1px 0 #0000000f;--student-radius:20px;--student-radius-sm:12px;--student-ease:cubic-bezier(.16, 1, .3, 1);--student-card-bg:#ffffffd9;--student-card-border:#0f172a14;--student-glass:#ffffffbf;--student-glass-border:#0f172a14}.student-shell,.student-page{color:var(--student-ink)}body:has(.student-shell){height:100vh}.student-page{align-content:start;width:100%;min-height:calc(100vh - 72px);padding:clamp(18px,2.4vh,28px) clamp(24px,3.2vw,48px)}.student-content{width:100%;min-height:calc(100vh - 72px);padding:clamp(18px,2.4vh,28px) clamp(24px,3.2vw,48px);overflow:visible}.student-section{min-height:0;margin-top:0}.student-kicker{color:var(--student-blue);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800}.student-heading-lg{color:var(--student-ink);margin:0 0 6px;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.2}.student-heading-md{color:var(--student-ink);font-size:clamp(20px,2.4vw,28px);font-weight:750;line-height:1.25}.student-card{background:var(--student-card-bg);border:1px solid var(--student-card-border);border-radius:var(--student-radius);-webkit-backdrop-filter:blur(16px);transition:all .3s var(--student-ease);padding:20px 24px}.student-card:hover{background:#ffffff14;border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 32px #0003}.student-btn{cursor:pointer;transition:all .2s var(--student-ease);color:#fff;background:var(--student-blue);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #6c63ff40}.student-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6c63ff59}.student-btn:active{transform:translateY(0)scale(.98)}.student-btn--accent{background:var(--student-orange);box-shadow:0 4px 16px #fb923c40}.student-btn--ghost{background:var(--student-glass);border:1px solid var(--student-glass-border);box-shadow:none}.student-badge{background:var(--student-glass);border:1px solid var(--student-glass-border);color:var(--student-ink-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.student-badge--primary{color:#a5a0ff;background:#6c63ff1f;border-color:#6c63ff26}.student-badge--accent{color:#fb923c;background:#fb923c1f;border-color:#fb923c26}.student-badge--success{color:#34d399;background:#22c55e1f;border-color:#22c55e26}.student-badge--danger{color:#f87171;background:#ef44441f;border-color:#ef444426}.student-progress{background:#ffffff0f;border-radius:999px;width:100%;height:8px;overflow:hidden}.student-progress__fill{background:linear-gradient(90deg, var(--student-blue), var(--student-indigo));height:100%;transition:width .5s var(--student-ease);border-radius:999px}.student-grid{gap:16px;display:grid}.student-grid-2{grid-template-columns:repeat(2,1fr)}.student-grid-3{grid-template-columns:repeat(3,1fr)}.student-grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.student-grid-2,.student-grid-3,.student-grid-4{grid-template-columns:1fr}}.student-stat{background:var(--student-card-bg);border:1px solid var(--student-card-border);border-radius:var(--student-radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .3s var(--student-ease);padding:20px}.student-stat__label{color:var(--student-muted);margin-bottom:6px;font-size:12px;font-weight:600}.student-stat__value{color:var(--student-ink);font-size:28px;font-weight:800;line-height:1.1}.student-stat__icon{border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:flex}.student-skeleton{border-radius:var(--student-radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.student-empty{text-align:center;padding:48px 24px}.student-empty__icon{background:var(--student-glass);border:1px solid var(--student-glass-border);width:64px;height:64px;color:var(--student-muted);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.student-empty__text{color:var(--student-muted);font-size:15px;font-weight:500}@media (width<=980px){.student-page,.student-content{width:100%;padding:18px 16px 92px}}@media (width<=520px){.student-grid-4{grid-template-columns:repeat(2,1fr)}.student-stat__value{font-size:22px}}.student-shell{--student-radius:16px;--student-radius-sm:10px}.student-shell .student-topbar__inner{width:calc(100% - clamp(20px,3vw,48px));height:60px}.student-shell .brand-logo{height:48px;margin-top:10px}.student-shell .book-switch{border-radius:12px;gap:8px;min-height:38px;padding:0 12px}.student-shell .book-switch__icon,.student-shell .profile-face{border-radius:9px;width:28px;height:28px}.student-shell .book-switch strong,.student-shell .top-chip,.student-shell .profile-orb{font-size:12px}.student-shell .top-chip{min-height:36px;padding:0 12px}.student-shell .profile-orb{border-radius:12px;min-width:76px;height:38px;padding:0 10px}.student-shell .student-main{height:calc(100vh - 60px)}.student-page,.student-content{min-height:calc(100vh - 60px);padding:clamp(14px,1.8vh,22px) clamp(18px,2.4vw,36px)}.student-card,.student-stat{border-radius:16px;padding:16px 18px}.student-heading-lg{font-size:clamp(22px,2.4vw,30px)}.student-heading-md{font-size:clamp(18px,2vw,24px)}.student-btn{border-radius:12px;padding:10px 18px;font-size:13px}.student-grid{gap:12px}.student-stat__value{font-size:24px}.student-stat__icon{width:32px;height:32px}.student-shell :where(.home-inner){gap:22px}.student-shell :where(.home-page){padding:18px}.student-shell :where(.stats-row){gap:12px;max-width:520px}.student-shell :where(.stat-block){border-radius:14px;padding:12px 10px}.student-shell :where(.stat-num){font-size:24px}.student-shell :where(.stat-lbl){font-size:12px}.student-shell :where(.mode-grid){gap:16px;max-width:740px}.student-shell :where(.mode-grid .mode-card){max-width:164px}.student-shell :where(.done-badge){width:24px;height:24px;font-size:12px}.student-shell :where(.learn-page){min-height:calc(100vh - 60px);padding:clamp(14px,1.6vw,22px) clamp(14px,3vw,42px) 26px}.student-shell :where(.learn-hero){gap:16px;margin-bottom:14px}.student-shell :where(.learn-hero__copy h1){font-size:clamp(30px,3.6vw,50px)}.student-shell :where(.section-heading h2){font-size:clamp(22px,2.2vw,32px)}.student-shell :where(.book-action){min-width:116px;height:40px;font-size:13px}.student-shell :where(.unit-strip){min-height:34px;margin-top:10px;font-size:12px}.student-shell :where(.learn-board){grid-template-columns:minmax(360px,1.16fr) minmax(260px,.84fr);gap:16px;margin-bottom:14px}.student-shell :where(.continue-panel){border-radius:22px;gap:16px;min-height:154px;padding:22px}.student-shell :where(.continue-orb){border-radius:14px;width:44px;height:44px;top:18px;left:18px}.student-shell :where(.continue-copy){padding-top:48px}.student-shell :where(.continue-copy h2){margin:6px 0 8px;font-size:clamp(21px,2.2vw,30px)}.student-shell :where(.continue-action){min-width:82px;height:44px;font-size:14px}.student-shell :where(.progress-line){height:7px;margin-top:12px}.student-shell :where(.step-dot){width:24px;height:24px;font-size:10px}.student-shell :where(.metric-card){border-radius:18px;min-height:72px;padding:14px 60px 13px 15px}.student-shell :where(.metric-card strong){font-size:clamp(24px,2.5vw,32px)}.student-shell :where(.metric-icon){border-radius:13px;width:40px;height:40px;right:14px}.student-shell :where(.logo-stage){padding-bottom:8px}.student-shell :where(.section-heading){margin-bottom:12px}.student-shell :where(.mode-route){gap:14px}.student-shell :where(.logo-mode){border-radius:20px;min-height:188px;padding:13px 13px 15px}.student-shell :where(.logo-mode img){width:min(72%,128px)}.student-shell :where(.logo-mode__index){min-width:32px;height:28px;top:13px;right:13px}.student-shell :where(.logo-mode__body strong){font-size:16px}.student-shell :where(.logo-mode__body small){min-height:28px;font-size:11px}.student-shell :where(.pp){width:min(1180px,100vw - 64px);min-height:calc(100vh - 60px);padding:clamp(14px,1.6vw,22px) 0 26px}.student-shell :where(.pp-hero,.pp-card){border-radius:20px}.student-shell :where(.pp-hero){gap:18px;min-height:112px;margin-bottom:14px;padding:clamp(16px,1.8vw,24px)}.student-shell :where(.pp-avatar){border-radius:22px;width:68px;height:68px}.student-shell :where(.pp-avatar img){border-radius:19px}.student-shell :where(.pp-hero h1){font-size:clamp(26px,3vw,44px)}.student-shell :where(.pp-hero__stats div){border-radius:14px;min-height:64px;padding:9px}.student-shell :where(.pp-hero__stats strong){font-size:22px}.student-shell :where(.pp-primary){min-width:112px;min-height:44px;font-size:14px}.student-shell :where(.pp-main-grid){gap:14px}.student-shell :where(.pp-card){min-height:168px;padding:16px}.student-shell :where(.pp-card--badges){min-height:190px}.student-shell :where(.pp-icon){border-radius:12px;width:36px;height:36px;font-size:18px}.student-shell :where(.pp-card__hd){gap:10px;margin-bottom:12px}.student-shell :where(.pp-card__hd h2){font-size:16px}.student-shell :where(.pp-vocab-meter strong){font-size:40px}.student-shell :where(.pp-bar){height:8px;margin:14px 0}.student-shell :where(.pp-mini-grid div,.pp-assets div,.pp-target,.pp-tip){border-radius:13px;padding:10px}.student-shell :where(.pp-badge){min-height:62px}.student-shell :where(.pp-badge__img){border-radius:11px;width:38px;height:32px}.student-shell :where(.flashcard-fullpage,.study-page,.lr-wrap,.result-page){min-height:calc(100vh - 60px)}.student-shell :where(.complete-card,.relearn-card,.unit-complete-card){border-radius:24px;max-width:min(92vw,460px);padding:34px}.student-shell :where(.complete-card h2,.unit-complete-card h2){font-size:24px}.student-shell :where(.complete-icon,.relearn-icon){width:150px;height:150px;font-size:54px}.student-shell :where(.learning-report){max-width:1080px;padding:1.25rem .75rem}.student-shell :where(.report-header){margin-bottom:1.25rem}.student-shell :where(.report-title){font-size:1.6rem}.student-shell :where(.overview-cards){grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.25rem}.student-shell :where(.learning-report .stat-card){border-radius:12px;padding:1rem}.student-shell :where(.learning-report .stat-icon){font-size:2rem}.student-shell :where(.learning-report .stat-value){font-size:1.25rem}.student-shell :where(.chart-container){height:240px;padding:1rem}.student-shell :where(.time-chart){height:210px;padding:1rem}@media (width<=1080px){.student-shell :where(.learn-board){grid-template-columns:1fr}}@media (width<=820px){.student-page,.student-content{padding-left:14px;padding-right:14px}.student-shell :where(.pp){width:calc(100vw - 24px)}}:root{--wp-primary:#4f46e5;--wp-primary-light:#818cf8;--wp-primary-lightest:#eef2ff;--wp-primary-dark:#4338ca;--wp-accent:#f59e0b;--wp-accent-light:#fcd34d;--wp-accent-lightest:#fffbeb;--wp-success:#10b981;--wp-success-light:#34d399;--wp-success-lightest:#ecfdf5;--wp-danger:#ef4444;--wp-danger-light:#f87171;--wp-danger-lightest:#fef2f2;--wp-info:#3b82f6;--wp-info-light:#60a5fa;--wp-info-lightest:#eff6ff;--student-primary:#667eea;--student-primary-light:#8b5cf6;--student-secondary:#f093fb;--student-accent:#4f46e5;--student-bg:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--student-bg-light:linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);--student-panel:#fffffff2;--student-card:#fffffffa;--student-ink:#1a1a2e;--student-ink-light:#4a4a6a;--student-muted:#8b8b9a;--font-display:"Inter", "Microsoft YaHei", sans-serif;--font-body:"Inter", "Microsoft YaHei", sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000024;--shadow-glow:0 0 40px #4f46e54d;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--student-ink);background:var(--student-bg-light);line-height:1.6;overflow-x:hidden}.display-text{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(32px,5vw,64px);font-weight:800;line-height:1.1}.heading-xl{letter-spacing:-.01em;font-size:clamp(24px,3vw,40px);font-weight:800;line-height:1.2}.heading-lg{font-size:clamp(20px,2vw,32px);font-weight:700;line-height:1.3}.heading-md{font-size:18px;font-weight:600;line-height:1.4}.text-primary{color:var(--student-ink)}.text-secondary{color:var(--student-ink-light)}.text-muted{color:var(--student-muted)}.wp-card{background:var(--student-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);transition:all var(--transition-normal);border:1px solid #fff3;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000014,inset 0 1px #ffffff4d}.wp-card:before{content:"";opacity:0;width:200%;height:200%;transition:opacity var(--transition-normal);background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);position:absolute;top:-50%;left:-50%}.wp-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000001f,inset 0 1px #fff6}.wp-card:hover:before{opacity:1}.wp-button{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.wp-button:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .5s,height .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wp-button:active:before{width:300px;height:300px}.wp-button-primary{background:linear-gradient(135deg, var(--student-primary) 0%, var(--student-primary-light) 100%);color:#fff;box-shadow:0 4px 12px #667eea4d}.wp-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.wp-button-secondary{color:var(--student-primary);border:2px solid var(--student-primary-light);background:#fff}.wp-button-secondary:hover{background:var(--student-primary-lightest);transform:translateY(-1px)}.wp-button-danger{background:var(--wp-danger);color:#fff;box-shadow:0 4px 12px #ef44444d}.wp-button-success{background:var(--wp-success);color:#fff;box-shadow:0 4px 12px #10b9814d}.wp-input{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;transition:all var(--transition-fast);background:#fffc;border:2px solid #ffffff4d;padding:12px 16px;font-size:15px}.wp-input:focus{border-color:var(--student-primary);background:#fff;outline:none;box-shadow:0 0 0 4px #4f46e51a}.gradient-bg-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.gradient-bg-accent{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.gradient-bg-success{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.animate-fade-in{animation:.5s ease-out fadeIn}.animate-slide-up{animation:.6s ease-out slideUp}.animate-bounce-in{animation:.8s ease-out bounceIn}.animate-pulse{animation:2s infinite pulse}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pulse{0%{box-shadow:0 0 #4f46e566}70%{box-shadow:0 0 0 20px #4f46e500}to{box-shadow:0 0 #4f46e500}}.wp-fab{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--student-primary) 0%, var(--student-secondary) 100%);color:#fff;cursor:pointer;width:56px;height:56px;transition:all var(--transition-fast);z-index:1000;border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #667eea66}.wp-fab:hover{transform:translateY(-4px)scale(1.1);box-shadow:0 12px 32px #667eea80}.wp-spinner{border:3px solid #ffffff1a;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.wp-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.wp-badge-primary{background:var(--wp-primary-lightest);color:var(--wp-primary)}.wp-badge-success{background:var(--wp-success-lightest);color:var(--wp-success)}.wp-badge-danger{background:var(--wp-danger-lightest);color:var(--wp-danger)}.wp-progress{border-radius:var(--radius-full);background:#ffffff4d;width:100%;height:8px;position:relative;overflow:hidden}.wp-progress-bar{background:linear-gradient(90deg, var(--student-primary) 0%, var(--student-secondary) 100%);border-radius:var(--radius-full);height:100%;transition:width .5s ease-out;position:relative;overflow:hidden}.wp-progress-bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (width<=768px){.wp-button{padding:10px 20px;font-size:14px}.wp-input{padding:10px 14px;font-size:14px}.wp-fab{width:48px;height:48px;bottom:20px;right:20px}}@media (width<=480px){.display-text{font-size:28px}.heading-xl{font-size:20px}}:root{--wp-font-ui:"HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--wp-admin-bg:radial-gradient(circle at 10% 0%, #2563eb1a, transparent 26%), radial-gradient(circle at 90% 8%, #f59e0b14, transparent 24%), linear-gradient(180deg, #f7f9fd 0%, #eef3fa 100%);--wp-admin-surface:#ffffffd1;--wp-admin-surface-strong:#fffffff0;--wp-admin-border:#28385717;--wp-admin-shadow:0 18px 52px #1f2a441a;--wp-admin-shadow-soft:0 8px 26px #1f2a4412}html{scrollbar-gutter:stable}body{font-family:var(--wp-font-ui);letter-spacing:0}::selection{background:#4f46e52e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#64748b47 padding-box content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#4f46e570}.admin-shell,.admin-main{background:var(--wp-admin-bg)!important}.admin-shelf{box-shadow:12px 0 40px #1f2a440f;background:linear-gradient(#fffffff0,#ffffffc2)!important;border-right:1px solid #ffffffb8!important}.admin-sky{box-shadow:0 10px 34px #1f2a440d;background:#ffffffc2!important;border-bottom:1px solid #ffffffb8!important;height:68px!important}.admin-body{background-color:#0000;background-image:linear-gradient(#2563eb07 1px,#0000 1px),linear-gradient(90deg,#2563eb07 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:calc(100vh - 68px)}.admin-body>*{min-height:100%}.shelf-link{border:1px solid #0000;min-height:40px}.shelf-link:hover{border-color:#2563eb14;background:#2563eb14!important}.shelf-link--on{border-color:#2563eb1f;box-shadow:inset 0 1px #ffffff94;background:linear-gradient(135deg,#2563eb1f,#7c3aed1a)!important}.shelf-logo,.sky-avatar{box-shadow:0 10px 24px #2563eb3d}.sky-user,.sky-badge{border:1px solid #2563eb14;box-shadow:inset 0 1px #ffffff94}.dash,.adm,.admin-content{padding:clamp(20px,2.4vw,34px)!important}.dash-top,.adm-top,.admin-page-header{margin-bottom:clamp(14px,1.6vw,22px)!important}.dash-title,.adm-title,.admin-page-header h1{color:#0d1730!important;letter-spacing:0!important;font-size:clamp(23px,2.2vw,30px)!important;font-weight:900!important;line-height:1.05!important}.dash-desc,.admin-page-header p{font-weight:650;color:#64748b!important}.stat-row,.metric-strip{gap:clamp(14px,1.6vw,20px)!important}.stat-card,.metric-card,.chart-card,.todo-card,.admin-surface,.el-card{-webkit-backdrop-filter:blur(18px);border:1px solid var(--wp-admin-border)!important;box-shadow:var(--wp-admin-shadow-soft)!important;background:linear-gradient(#fffffff5,#ffffffc7)!important}.stat-card:hover,.metric-card:hover,.chart-card:hover,.todo-card:hover,.admin-surface:hover,.el-card:hover{transform:translateY(-3px);box-shadow:var(--wp-admin-shadow)!important;border-color:#2563eb29!important}.stat-value,.metric-value{letter-spacing:0}.stat-label,.metric-label,.el-table th.el-table__cell{letter-spacing:.06em}.work-grid,.split-grid{gap:clamp(16px,1.8vw,24px)!important}.admin-body .adm{box-sizing:border-box;min-height:calc(100vh - 68px)}.admin-body .adm-filter{border:1px solid var(--wp-admin-border);box-shadow:var(--wp-admin-shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border-radius:16px;align-items:center;gap:10px;padding:12px;display:flex;margin-bottom:14px!important}.admin-body .adm-table-wrap{border:1px solid var(--wp-admin-border)!important;box-shadow:var(--wp-admin-shadow-soft)!important;background:#ffffffdb!important;border-radius:16px!important;overflow-x:auto!important}.admin-body .adm-table-hd,.admin-body .adm-row{min-width:860px}.admin-body .adm-table-hd{color:#526174!important;letter-spacing:0!important;text-transform:none!important;background:#f8fafce6!important;padding:10px 16px!important;font-size:11px!important}.admin-body .adm-row{min-height:48px;padding:10px 16px!important}.admin-body .adm-table-body{max-height:calc(100vh - 250px)!important}.admin-body .adm-state{border:1px solid var(--wp-admin-border);min-height:260px;box-shadow:var(--wp-admin-shadow-soft);background:#ffffffb8;border-radius:16px;padding:40px 0!important}.admin-body .tbl-btn{border-radius:8px!important;min-height:32px!important;padding:5px 12px!important}.admin-body .status-tag{white-space:nowrap;border-radius:999px}.admin-body .el-dialog .el-form{gap:4px;display:grid}.admin-body .el-dialog .el-form-item{margin-bottom:14px}.todo-item{align-items:center;min-height:52px}.pill,.el-button,.wp-button,.student-btn,.pill-btn{min-height:38px;border-radius:999px!important;font-weight:800!important}.pill:hover,.el-button:hover,.wp-button:hover,.student-btn:hover,.pill-btn:hover{transform:translateY(-1px)}.el-table,.el-table__inner-wrapper{border-radius:16px!important}.el-table th.el-table__cell{background:#2563eb0e!important}.el-dialog,.el-message-box{border:1px solid var(--wp-admin-border);box-shadow:0 26px 76px #0f172a2e!important}.student-page,.student-content{letter-spacing:0}.student-card,.student-stat,.page-state,.pp-card,.wb-card,.stats-card,.task-card,.review-card,.achievement-card,.leaderboard-card,.notification-card,.reading-card{border:1px solid #ffffff42;box-shadow:0 18px 48px #151f4c24}.page-state{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1f;border-radius:24px;min-height:320px}.student-heading-lg,.student-heading-md,.student-section-title{letter-spacing:0}.login-page{font-family:var(--wp-font-ui)}.login-card{border:1px solid #ffffff57!important;box-shadow:0 28px 90px #1f2a4429!important}.input-box{min-height:48px}.tabs-bar,.input-box,.word-card{border:1px solid #3b82f61a!important}.submit-btn{min-height:52px;box-shadow:0 18px 38px #3b82f63d!important}@media (width<=980px){.admin-sky{height:62px!important}.dash,.admin-content{padding:18px!important}}@media (width<=640px){.stat-row,.metric-strip{grid-template-columns:1fr!important}.dash-title,.admin-page-header h1{font-size:24px!important}}
