.back-to-top[data-v-3d754cf5]{position:fixed;right:22px;bottom:26px;z-index:900;width:56px;height:56px;border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:linear-gradient(135deg,#fff,#f0f4ff);border:2px solid rgba(108,99,255,.35);box-shadow:0 6px 18px #6c63ff47;transition:transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.back-to-top[data-v-3d754cf5]:hover{transform:translateY(-3px);box-shadow:0 10px 24px #6c63ff66}.back-to-top[data-v-3d754cf5]:active{transform:scale(.94)}.rocket[data-v-3d754cf5]{font-size:24px;line-height:1;display:inline-block;transform:rotate(-45deg);animation:rocket-idle-3d754cf5 2s ease-in-out infinite}.btt-text[data-v-3d754cf5]{font-size:10px;color:#6c63ff;font-weight:700;margin-top:1px;letter-spacing:1px}.flame[data-v-3d754cf5]{position:absolute;bottom:-4px;left:50%;transform:translate(-50%) scale(.6);font-size:16px;opacity:0;pointer-events:none}@keyframes rocket-idle-3d754cf5{0%,to{transform:rotate(-45deg) translate(0)}50%{transform:rotate(-45deg) translate(2px,-2px)}}.back-to-top.launching .rocket[data-v-3d754cf5]{animation:rocket-launch-3d754cf5 .65s ease-in forwards}.back-to-top.launching .flame[data-v-3d754cf5]{animation:flame-burst-3d754cf5 .5s ease-out forwards}@keyframes rocket-launch-3d754cf5{0%{transform:rotate(-45deg) translate(0);opacity:1}25%{transform:rotate(-45deg) translate(3px,3px)}to{transform:rotate(-45deg) translate(44px,-44px);opacity:0}}@keyframes flame-burst-3d754cf5{0%{opacity:0;transform:translate(-50%) scale(.4)}30%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%) scale(.5) translateY(10px)}}.rocket-pop-enter-active[data-v-3d754cf5]{transition:opacity .25s,transform .25s cubic-bezier(.34,1.56,.64,1)}.rocket-pop-leave-active[data-v-3d754cf5]{transition:opacity .2s,transform .2s}.rocket-pop-enter-from[data-v-3d754cf5],.rocket-pop-leave-to[data-v-3d754cf5]{opacity:0;transform:translateY(16px) scale(.6)}@media (max-width: 640px){.back-to-top[data-v-3d754cf5]{right:14px;bottom:18px;width:48px;height:48px}.rocket[data-v-3d754cf5]{font-size:20px}.btt-text[data-v-3d754cf5]{font-size:9px}}.pm-mask[data-v-f57f47e1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#080c1ebd;display:flex;align-items:center;justify-content:center;padding:12px}.pm-box[data-v-f57f47e1]{width:min(1000px,96vw);height:min(92vh,1000px);background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000073}.pm-bar[data-v-f57f47e1]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#1e2a55;color:#fff;flex-shrink:0}.pm-name[data-v-f57f47e1]{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-actions[data-v-f57f47e1]{display:flex;gap:8px;flex-shrink:0}.pm-btn[data-v-f57f47e1]{background:#ffffff24;color:#fff;border:none;border-radius:7px;padding:6px 12px;font-size:13px;cursor:pointer;text-decoration:none;line-height:1.2}.pm-btn[data-v-f57f47e1]:hover{background:#ffffff42}.pm-close[data-v-f57f47e1]{background:#ff5a5ad9}.pm-close[data-v-f57f47e1]:hover{background:#ff5a5a}.pm-body[data-v-f57f47e1]{flex:1;min-height:0;overflow:auto;background:#e8e8ec;display:flex;flex-direction:column;align-items:center;padding:12px}.pm-status[data-v-f57f47e1]{flex:1;display:flex;align-items:center;justify-content:center;color:#555;font-size:14px}.pm-err[data-v-f57f47e1]{color:#b00;padding:0 20px;text-align:center}.pm-pages[data-v-f57f47e1]{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.pm-canvas[data-v-f57f47e1]{background:#fff;box-shadow:0 2px 8px #0000001f;max-width:100%;height:auto}.pm-fade-enter-active[data-v-f57f47e1],.pm-fade-leave-active[data-v-f57f47e1]{transition:opacity .18s ease}.pm-fade-enter-from[data-v-f57f47e1],.pm-fade-leave-to[data-v-f57f47e1]{opacity:0}.sv-track[data-v-bfb998e0]{position:relative;height:50px;border-radius:999px;background:#eef3fb;border:2px dashed #cdddf5;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;margin:2px 0 12px;transition:border-color .25s ease,background .25s ease}.sv-track.ok[data-v-bfb998e0]{background:#e6f9ee;border:2px solid #7fd8a5}.sv-track.shaking[data-v-bfb998e0]{animation:sv-shake-bfb998e0 .4s ease}@keyframes sv-shake-bfb998e0{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.sv-fill[data-v-bfb998e0]{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#ffd6e8,#cfe3ff,#d9f7e6);transition:none}.sv-track.ok .sv-fill[data-v-bfb998e0]{background:linear-gradient(90deg,#b8f0cd,#8fe6b0)}.sv-text[data-v-bfb998e0]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#8fa3c2;pointer-events:none;letter-spacing:1px}.sv-text-ok[data-v-bfb998e0]{color:#2e9e4f;font-weight:700}.sv-handle[data-v-bfb998e0]{position:absolute;left:3px;top:3px;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #4a90e259;display:flex;align-items:center;justify-content:center;cursor:grab;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .2s ease}.sv-handle.dragging[data-v-bfb998e0]{transition:none;cursor:grabbing;box-shadow:0 4px 14px #4a90e280}.sv-emoji[data-v-bfb998e0]{font-size:22px;line-height:1;animation:sv-twinkle-bfb998e0 1.6s ease-in-out infinite}.sv-track.ok .sv-emoji[data-v-bfb998e0]{animation:sv-pop-bfb998e0 .45s ease}@keyframes sv-twinkle-bfb998e0{0%,to{transform:scale(1)}50%{transform:scale(1.15) rotate(8deg)}}@keyframes sv-pop-bfb998e0{0%{transform:scale(.4)}60%{transform:scale(1.35)}to{transform:scale(1)}}.login-links[data-v-2c4da7ad]{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:14px;font-size:14px}.login-links a[data-v-2c4da7ad]{color:var(--primary, #4a90e2);text-decoration:none;cursor:pointer}.login-links a[data-v-2c4da7ad]:hover{text-decoration:underline}.login-links-sep[data-v-2c4da7ad]{color:#ccc}.app-version[data-v-2c4da7ad]{margin-top:10px;text-align:center;font-size:11px;color:#aaa;letter-spacing:.3px}.forgot-tip[data-v-2c4da7ad]{margin:4px 0 8px;font-size:14px;line-height:1.7;color:#555;text-align:left}.login-overlay[data-v-2c4da7ad]{flex-direction:column}.icp-footer[data-v-2c4da7ad]{margin-top:22px;text-align:center;font-size:12px;color:#222}.icp-link[data-v-2c4da7ad]{color:#222;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.icp-link[data-v-2c4da7ad]:hover{color:#000;text-decoration:underline}.icp-icon[data-v-2c4da7ad]{color:#222;flex-shrink:0}.modal-overlay[data-v-2c4da7ad]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card[data-v-2c4da7ad]{background:#fff;border-radius:14px;padding:26px 24px;width:100%;max-width:340px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;gap:12px}.modal-card h2[data-v-2c4da7ad]{margin:0 0 4px;font-size:20px;text-align:center;color:#333}.modal-hint[data-v-2c4da7ad]{min-height:18px;font-size:13px;color:#e23b3b;text-align:center}.modal-hint.ok[data-v-2c4da7ad]{color:#2e9e4f}.reg-divider[data-v-2c4da7ad]{display:flex;align-items:center;color:#b3b9c6;font-size:12px;margin:2px 0}.reg-divider[data-v-2c4da7ad]:before,.reg-divider[data-v-2c4da7ad]:after{content:"";flex:1;height:1px;background:#eef0f4}.reg-divider span[data-v-2c4da7ad]{padding:0 10px}.reg-gender[data-v-2c4da7ad]{display:flex;gap:10px}.gender-opt[data-v-2c4da7ad]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1.5px solid #e3e8f0;border-radius:999px;padding:7px 16px;font-size:14px;background:#fff;transition:all .15s ease;-webkit-user-select:none;user-select:none;flex:1;justify-content:center}.gender-opt .gr-input[data-v-2c4da7ad]{position:absolute;opacity:0;width:0;height:0}.gender-opt .g-icon[data-v-2c4da7ad]{font-size:16px}.gender-opt.princess.active[data-v-2c4da7ad]{background:#ffe3ef;border-color:#ff8fbf;color:#d6336c}.gender-opt.prince.active[data-v-2c4da7ad]{background:#dcebff;border-color:#6aa8ff;color:#1c6dd0}.modal-actions[data-v-2c4da7ad]{display:flex;gap:10px;margin-top:4px}.modal-actions .btn[data-v-2c4da7ad]{flex:1}.login-oauth[data-v-2c4da7ad]{margin-top:18px}.login-oauth-sep[data-v-2c4da7ad]{display:flex;align-items:center;color:#bbb;font-size:13px;margin:6px 0 12px}.login-oauth-sep[data-v-2c4da7ad]:before,.login-oauth-sep[data-v-2c4da7ad]:after{content:"";flex:1;height:1px;background:#ececec}.login-oauth-sep span[data-v-2c4da7ad]{padding:0 12px}.login-oauth-btns[data-v-2c4da7ad]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.oauth-btn[data-v-2c4da7ad]{padding:10px 16px;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#fff;transition:all .2s ease}.oauth-btn.wx[data-v-2c4da7ad]{background:#07c160}.oauth-btn.qq[data-v-2c4da7ad]{background:#12b7f5}.oauth-btn.dev[data-v-2c4da7ad]{background:#8a7bff}.oauth-btn[data-v-2c4da7ad]:hover{opacity:.92;transform:translateY(-1px)}@media (max-width: 768px){.login-overlay[data-v-2c4da7ad]{padding:12px}.login-card[data-v-2c4da7ad]{padding:24px 18px}.login-input[data-v-2c4da7ad]{font-size:15px;padding:12px 14px}.btn[data-v-2c4da7ad]{min-height:44px}.oauth-btn[data-v-2c4da7ad]{min-height:44px;flex:1}.modal-overlay[data-v-2c4da7ad]{padding:16px}.modal-card[data-v-2c4da7ad]{width:calc(100vw - 32px);max-width:420px;max-height:90vh;overflow-y:auto;padding:20px 18px}}@media (max-width: 640px){.login-card[data-v-2c4da7ad]{padding:20px 16px}.login-card h1[data-v-2c4da7ad]{font-size:20px}.login-sub[data-v-2c4da7ad]{font-size:13px}.modal-card[data-v-2c4da7ad]{width:calc(100vw - 32px);max-width:100%;padding:18px 16px}.modal-card h2[data-v-2c4da7ad]{font-size:18px}.reg-gender[data-v-2c4da7ad]{flex-direction:column}.gender-opt[data-v-2c4da7ad],.modal-actions .btn[data-v-2c4da7ad]{min-height:44px}}.nav-tab,.nav-tab:hover,.nav-tab.router-link-active,.nav-tab.router-link-exact-active{text-decoration:none!important}.nav-tab.router-link-active,.nav-tab.router-link-exact-active{background:#fff;color:var(--primary-dark, #34568f);border-color:#fff;box-shadow:0 4px 12px #0003;font-weight:800}.nav-tab.admin-tab{background:#ffc40038;color:#fff3cd;font-weight:700}.nav-tab.admin-tab.router-link-active,.nav-tab.admin-tab.router-link-exact-active{background:#ffce3a;color:#5a4500;border-color:#ffce3a}.nav-tab-group{border:1px solid rgba(255,255,255,.45);background:#ffffff24;color:#fff;font-family:var(--font-main);font-size:15px;font-weight:700;border-radius:999px;padding:8px 18px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.nav-tab-group:hover,.nav-tab-group.active{background:#fff;color:var(--primary-dark, #34568f);border-color:#fff;box-shadow:0 4px 12px #0003;font-weight:800}.nav-group-wrap{position:relative}.nav-tab-group .caret{transition:transform .15s ease}.nav-group-wrap:hover .nav-tab-group .caret,.nav-group-wrap.open .nav-tab-group .caret{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:232px;display:none;grid-template-columns:repeat(2,minmax(116px,1fr));gap:8px;padding:12px;background:#fff;border:1px solid #eef1f7;border-radius:16px;box-shadow:0 16px 40px #1f2d502e;z-index:200}.nav-group-wrap:hover .nav-dropdown,.nav-group-wrap.open .nav-dropdown{display:grid}.nav-dropdown:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}.nav-drop-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#f6f8fc;color:#2b3a55;text-decoration:none!important;font-size:14px;font-weight:700;font-family:var(--font-main);transition:all .15s ease}.nav-drop-item .nd-ico{font-size:18px;line-height:1}.nav-drop-item:hover{background:#eaefff;transform:translateY(-1px)}.nav-drop-item.router-link-active,.nav-drop-item.router-link-exact-active{background:var(--primary, #4a6fb5);color:#fff;box-shadow:0 4px 12px #4a6fb559}.drawer-cat{background:#f6f8fc;border:1px solid #eef1f7;border-radius:16px;padding:10px 12px 12px;margin-bottom:10px}.drawer-cat-head{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--primary-dark, #34568f);margin-bottom:8px}.drawer-cat-body{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.drawer-cat-body .drawer-link{background:#fff;padding:11px 12px;font-size:14px}.drawer-cat-body .drawer-link:hover{background:#eaefff}.drawer-cat-body .drawer-link.router-link-active,.drawer-cat-body .drawer-link.router-link-exact-active{background:var(--primary, #4a6fb5);color:#fff}.drawer-admin-entry{margin-top:4px}.user-area{position:relative;margin-left:auto}.user-btn{display:inline-flex;align-items:center;gap:4px;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:700;font-family:var(--font-main);cursor:pointer;white-space:nowrap;transition:all .15s ease}.user-btn:hover,.user-btn.open{background:#fff;color:var(--primary-dark, #34568f)}.caret{font-size:11px;line-height:1}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000002e;padding:6px;z-index:200}.user-menu-item{display:flex;align-items:center;width:100%;text-align:left;background:transparent;border:none;border-radius:8px;padding:10px 14px;font-size:14px;color:#2b3a55;font-family:var(--font-main);cursor:pointer;transition:background .15s ease}.user-menu-item:hover{background:#f3f6fc}.user-menu-item.danger{color:#e23b3b}.user-menu-item.danger:hover{background:#fdeaea}.child-dropdown{position:relative;flex-wrap:nowrap}.child-cur-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.45);background:#ffffff2e;color:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;font-family:var(--font-main);cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;transition:all .15s ease}.child-cur-btn:hover,.child-cur-btn.open{background:#fff;color:var(--primary-dark, #34568f)}.child-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:150px;max-height:60vh;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000002e;padding:6px;z-index:200}.child-menu-item{display:flex;align-items:center;width:100%;text-align:left;background:transparent;border:none;border-radius:8px;padding:10px 12px;font-size:14px;color:#2b3a55;font-family:var(--font-main);cursor:pointer;transition:background .15s ease;white-space:nowrap}.child-menu-item:hover{background:#f3f6fc}.child-menu-item.active{color:var(--primary-dark, #34568f);font-weight:800}.child-menu-item.add{color:#5a8a4a;font-weight:700}.cm-check{display:inline-block;width:18px;color:#4a6fb5;font-weight:800}.child-menu-divider{border-top:1px solid #eef1f7;margin:4px 6px}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;background:#ffffff2e;border:1px solid rgba(255,255,255,.45);border-radius:10px;cursor:pointer;flex-shrink:0}.hamburger-btn span{display:block;height:2.5px;width:100%;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}.hamburger-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-drawer{position:fixed;top:58px;left:0;right:0;background:#fff;border-radius:0 0 16px 16px;box-shadow:0 12px 32px #00000038;padding:12px 16px 16px;z-index:150;max-height:calc(100vh - 70px);overflow-y:auto}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:140}.drawer-section{padding:6px 0}.drawer-section+.drawer-section{border-top:1px solid #eef1f7;margin-top:6px;padding-top:12px}.drawer-section-title{font-size:13px;color:#8a94a6;margin-bottom:8px;font-weight:700}.drawer-link{display:block;padding:12px 14px;border-radius:10px;font-size:15px;font-weight:700;color:#2b3a55;text-decoration:none!important;transition:background .15s ease}.drawer-link:active,.drawer-link:hover{background:#f3f6fc}.drawer-link.router-link-active,.drawer-link.router-link-exact-active{background:var(--primary, #4a6fb5);color:#fff}.drawer-link.admin-link{color:#a07800}.drawer-link.admin-link.router-link-active,.drawer-link.admin-link.router-link-exact-active{background:#ffce3a;color:#5a4500}.drawer-children .child-pill{background:#eef2fa;color:#2b3a55;margin:0 6px 6px 0}.drawer-children .child-pill.active{background:var(--primary, #4a6fb5);color:#fff}.drawer-children .child-add-btn{background:#eef2fa;color:#2b3a55}.drawer-enter-active,.drawer-leave-active{transition:opacity .2s ease,transform .2s ease}.drawer-enter-from,.drawer-leave-to{opacity:0;transform:translateY(-10px)}@media (max-width: 1200px){.child-cur-btn{max-width:120px;padding:5px 12px;font-size:13px}}@media (max-width: 640px){.hamburger-btn{display:flex}.navbar .navbar-tabs,.navbar .child-switcher{display:none}.user-area{margin-left:auto;margin-right:10px}.user-btn{padding:7px 12px}.user-btn-text{display:none}.brand-text{font-size:15px}}@media (max-width: 380px){.brand-text{font-size:13px}}.points-badge{position:relative;display:inline-flex;align-items:center;gap:4px;margin-left:14px;background:linear-gradient(135deg,#ffd54a,#ff9d2e);color:#5a3b00;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;font-family:var(--font-main);cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #ff9d2e59;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.points-badge:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ff9d2e80}.points-num{font-variant-numeric:tabular-nums;min-width:1ch;text-align:center}.gain-fx{position:absolute;top:-6px;left:50%;transform:translate(-50%);color:#ff5a5a;font-size:15px;font-weight:900;text-shadow:0 1px 3px rgba(255,255,255,.9);pointer-events:none;white-space:nowrap}.gainfx-enter-active{animation:gainfly 1.2s ease-out forwards}.gainfx-leave-active{opacity:0}@keyframes gainfly{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}20%{opacity:1;transform:translate(-50%,-2px) scale(1.1)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}@media (max-width: 640px){.points-badge{margin-left:10px;padding:5px 10px;font-size:13px}}.checkin-widget[data-v-8863ca34]{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eafaf0,#e3f6ef);border:1px solid #bfe6cf;border-radius:16px;padding:12px 16px;margin-bottom:18px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.checkin-widget[data-v-8863ca34]:hover{transform:translateY(-2px);box-shadow:0 8px 18px #3f6d112e}.cw-partner[data-v-8863ca34]{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#e1f5ee;font-size:26px;line-height:1}.cw-body[data-v-8863ca34]{flex:1;min-width:0}.cw-title[data-v-8863ca34]{font-size:15px;font-weight:800;color:#27500a}.cw-title b[data-v-8863ca34]{font-size:18px}.cw-sub[data-v-8863ca34]{font-size:12px;color:#5a7a4a;margin-top:2px}.cw-arrow[data-v-8863ca34]{font-size:22px;color:#3b6d11;flex-shrink:0}.blocks-section[data-v-8863ca34]{margin:0 0 20px}.blocks-grid[data-v-8863ca34]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.block-card[data-v-8863ca34]{display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:16px;cursor:pointer;text-align:left;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.block-card[data-v-8863ca34]:hover{transform:translateY(-3px);box-shadow:0 10px 24px #4a6fb529;border-color:#cdd9ef}.block-card[data-v-8863ca34]:active{transform:translateY(-1px)}.block-icon[data-v-8863ca34]{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}.block-name[data-v-8863ca34]{font-size:16px;font-weight:800;color:#2b3a55}.block-desc[data-v-8863ca34]{font-size:12px;color:#8a94a6;line-height:1.4}@media (max-width: 640px){.blocks-grid[data-v-8863ca34]{grid-template-columns:repeat(2,1fr);gap:10px}.block-card[data-v-8863ca34]{padding:13px;border-radius:14px}.block-icon[data-v-8863ca34]{width:42px;height:42px;font-size:23px;border-radius:12px}.block-name[data-v-8863ca34]{font-size:14px}.block-desc[data-v-8863ca34]{font-size:11px}}.unit-card.review[data-v-8863ca34]{cursor:pointer;border-left:4px solid #8a7bff}.entry-actions[data-v-8863ca34]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex-shrink:0}.game-entry-btn[data-v-8863ca34]{position:relative;background:linear-gradient(135deg,#fde68a,#fb923c,#f43f5e);border:3px solid #fff;border-radius:22px;padding:14px 22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#5a3b00;font-weight:800;box-shadow:0 8px 20px #f43f5e59,inset 0 2px #ffffff80;transition:transform .2s,box-shadow .2s;font-family:inherit;overflow:visible}.game-entry-btn[data-v-8863ca34]:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px #f43f5e73,inset 0 2px #ffffff80}.game-entry-btn[data-v-8863ca34]:active{transform:translateY(-1px) scale(.99)}.game-emoji[data-v-8863ca34]{font-size:42px;line-height:1;animation:bounce-8863ca34 1.4s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.game-text[data-v-8863ca34]{font-size:13px;text-align:center;line-height:1.2;letter-spacing:1px}.game-sparkle[data-v-8863ca34]{position:absolute;font-size:18px;pointer-events:none;animation:sparkle-8863ca34 1.6s ease-in-out infinite}.game-sparkle.s2[data-v-8863ca34]{font-size:14px;animation-delay:.8s}.game-sparkle[data-v-8863ca34]:nth-child(2){top:-4px;right:-4px}.game-sparkle.s2[data-v-8863ca34]{bottom:-4px;left:-4px}.exam-entry-btn[data-v-8863ca34]{position:relative;background:linear-gradient(135deg,#a29bfe,#6c5ce7);border:3px solid #fff;border-radius:22px;padding:14px 22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-weight:800;box-shadow:0 8px 20px #6c5ce759,inset 0 2px #fff6;transition:transform .2s,box-shadow .2s;font-family:inherit}.exam-entry-btn[data-v-8863ca34]:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px #6c5ce773,inset 0 2px #fff6}.exam-entry-btn[data-v-8863ca34]:active{transform:translateY(-1px) scale(.99)}.exam-emoji[data-v-8863ca34]{font-size:42px;line-height:1;animation:bounce-8863ca34 1.4s ease-in-out infinite}.exam-text[data-v-8863ca34]{font-size:13px;text-align:center;line-height:1.2;letter-spacing:1px}.progress-entry-btn[data-v-8863ca34]{position:relative;background:linear-gradient(135deg,#ff9a56,#ff6b35);border:3px solid #fff;border-radius:22px;padding:14px 22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-weight:800;box-shadow:0 8px 20px #ff6b3559,inset 0 2px #fff6;transition:transform .2s,box-shadow .2s;font-family:inherit}.progress-entry-btn[data-v-8863ca34]:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px #ff6b3573,inset 0 2px #fff6}.progress-entry-btn[data-v-8863ca34]:active{transform:translateY(-1px) scale(.99)}.progress-emoji[data-v-8863ca34]{font-size:42px;line-height:1;animation:bounce-8863ca34 1.4s ease-in-out infinite}.progress-text[data-v-8863ca34]{font-size:13px;text-align:center;line-height:1.2;letter-spacing:1px}@keyframes sparkle-8863ca34{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}}@keyframes bounce-8863ca34{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 640px){.entry-actions[data-v-8863ca34]{gap:8px;justify-content:flex-end}.exam-entry-btn[data-v-8863ca34]{padding:10px 14px}.exam-emoji[data-v-8863ca34]{font-size:30px}.game-entry-btn[data-v-8863ca34]{padding:10px 14px}.game-emoji[data-v-8863ca34]{font-size:30px}.progress-entry-btn[data-v-8863ca34]{padding:10px 14px}.progress-emoji[data-v-8863ca34]{font-size:30px}}.daily-card[data-v-8863ca34]{background:linear-gradient(135deg,#fffdf5,#fff6ef);border:1px solid #ffe2c2;border-radius:16px;padding:16px 18px;margin-bottom:18px;box-shadow:0 6px 18px #ff9d2e1f}.daily-head[data-v-8863ca34]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.daily-title[data-v-8863ca34]{font-size:17px;font-weight:800;color:#b5651d}.daily-date[data-v-8863ca34]{font-size:13px;color:#9a8b7a}.daily-pill[data-v-8863ca34]{margin-left:auto;font-size:13px;font-weight:700;color:#b5651d;background:#fff0dc;border:1px solid #ffd9a8;border-radius:999px;padding:3px 12px}.daily-pill.full[data-v-8863ca34]{color:#fff;background:#4caf50;border-color:#4caf50}.daily-refresh[data-v-8863ca34]{margin-left:auto;font-size:13px;font-weight:700;color:#b5651d;background:#fff;border:1px solid #ffd9a8;border-radius:999px;padding:4px 12px;cursor:pointer;transition:background .15s ease,transform .1s ease}.daily-refresh[data-v-8863ca34]:hover:not(:disabled){background:#fff3e2}.daily-refresh[data-v-8863ca34]:active:not(:disabled){transform:scale(.96)}.daily-refresh[data-v-8863ca34]:disabled{opacity:.5;cursor:not-allowed}.daily-loading[data-v-8863ca34]{font-size:14px;color:#9a8b7a;padding:6px 0}.daily-task[data-v-8863ca34]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #f1e6d8;margin-bottom:8px;transition:background .2s ease}.daily-task.done[data-v-8863ca34]{background:#f1fbf0;border-color:#cdeccb}.dt-check[data-v-8863ca34]{font-size:20px;flex-shrink:0}.dt-body[data-v-8863ca34]{flex:1;min-width:0}.dt-title[data-v-8863ca34]{font-size:14px;font-weight:700;color:#4a4036;margin-bottom:6px}.daily-task.done .dt-title[data-v-8863ca34]{color:#4caf50}.dt-bar[data-v-8863ca34]{height:7px;background:#f0e8dd;border-radius:999px;overflow:hidden}.dt-bar-fill[data-v-8863ca34]{height:100%;background:linear-gradient(90deg,#ffb347,#ff8c42);border-radius:999px;transition:width .4s ease}.daily-task.done .dt-bar-fill[data-v-8863ca34]{background:linear-gradient(90deg,#7ed87e,#4caf50)}.dt-count[data-v-8863ca34]{font-size:13px;color:#9a8b7a;font-variant-numeric:tabular-nums;flex-shrink:0}.dt-swap[data-v-8863ca34]{flex-shrink:0;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(90deg,#ffb347,#ff8c42);border:none;border-radius:999px;padding:4px 10px;cursor:pointer;transition:filter .15s ease,transform .1s ease}.dt-swap[data-v-8863ca34]:hover:not(:disabled){filter:brightness(1.05)}.dt-swap[data-v-8863ca34]:active:not(:disabled){transform:scale(.96)}.dt-swap[data-v-8863ca34]:disabled{opacity:.5;cursor:not-allowed}.dt-go[data-v-8863ca34]{flex-shrink:0;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#5b8def,#2b6cb0);border:none;border-radius:999px;padding:4px 10px;cursor:pointer;margin-left:4px;transition:filter .15s ease,transform .1s ease}.dt-go[data-v-8863ca34]:hover{filter:brightness(1.05)}.dt-go[data-v-8863ca34]:active{transform:scale(.96)}.daily-banner[data-v-8863ca34]{margin-top:4px;padding:10px 12px;border-radius:12px;text-align:center;background:#fff7d6;border:1px dashed #ffce3a;color:#a07800;font-weight:800;font-size:14px;animation:pop-8863ca34 .5s ease}@keyframes pop-8863ca34{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.plan-card[data-v-8863ca34]{background:linear-gradient(135deg,#f3faff,#eef6ff);border:1px solid #cfe3fb;border-radius:16px;padding:16px 18px;margin-bottom:18px;box-shadow:0 6px 18px #4a6fb51f}.plan-head[data-v-8863ca34]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.plan-title[data-v-8863ca34]{font-size:17px;font-weight:800;color:#2b6cb0}.plan-date[data-v-8863ca34]{font-size:13px;color:#7a92b0}.plan-edit[data-v-8863ca34]{margin-left:auto;font-size:13px;font-weight:700;color:#2b6cb0;background:#fff;border:1px solid #bcd8f7;border-radius:999px;padding:4px 12px;cursor:pointer;transition:background .15s ease,transform .1s ease}.plan-edit[data-v-8863ca34]:hover{background:#eaf3ff}.plan-edit[data-v-8863ca34]:active{transform:scale(.96)}.plan-loading[data-v-8863ca34],.plan-empty[data-v-8863ca34]{font-size:14px;color:#7a92b0;padding:6px 0}.plan-list[data-v-8863ca34]{display:flex;flex-direction:column;gap:8px}.plan-item[data-v-8863ca34]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e6eefb;border-left:4px solid #9bbce8}.plan-item.lvl-2[data-v-8863ca34]{border-left-color:#4caf50}.plan-item.lvl-3[data-v-8863ca34]{border-left-color:#2e9e5b;background:#f1fbf0}.plan-idx[data-v-8863ca34]{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#e3eefc;color:#2b6cb0;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.plan-subject[data-v-8863ca34]{font-size:12px;font-weight:700;color:#2b6cb0;background:#e3eefc;border-radius:6px;padding:2px 8px;flex-shrink:0}.plan-content[data-v-8863ca34]{flex:1;min-width:0;font-size:14px;color:#3a4456;font-weight:600}.plan-mins[data-v-8863ca34]{font-size:12px;color:#7a92b0;flex-shrink:0}.plan-judge[data-v-8863ca34]{font-size:12px;font-weight:700;flex-shrink:0;padding:2px 8px;border-radius:999px}.plan-judge.j0[data-v-8863ca34]{color:#9a8b7a;background:#f3eee6}.plan-judge.j1[data-v-8863ca34]{color:#b5651d;background:#fff0dc}.plan-judge.j2[data-v-8863ca34]{color:#2e9e5b;background:#e6f7ec}.plan-judge.j3[data-v-8863ca34]{color:#1f7a45;background:#d7f3e0}@media (max-width: 640px){.plan-card[data-v-8863ca34]{padding:14px}.plan-content[data-v-8863ca34]{font-size:13px}}@media (max-width: 640px){.daily-card[data-v-8863ca34]{padding:14px}.dt-title[data-v-8863ca34]{font-size:13px}}.explain-wrap[data-v-cedbeb8f]{max-width:1000px}.explain-tabs[data-v-cedbeb8f]{display:flex;gap:12px;margin:6px 0 20px}.explain-tab[data-v-cedbeb8f]{padding:14px 28px;border:2px solid var(--primary-light, #dbe4f3);background:var(--bg-card, #fff);color:var(--text-secondary, #4a5568);border-radius:14px;font-size:17px;font-weight:800;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000f}.explain-tab[data-v-cedbeb8f]:hover{border-color:var(--primary, #4a7fd4);transform:translateY(-1px)}.explain-tab.active[data-v-cedbeb8f]{background:linear-gradient(135deg,#5b8def,#4a7fd4);color:#fff;border-color:transparent;box-shadow:0 6px 16px #4a7fd459;transform:translateY(-1px)}.unit-list-bar[data-v-cedbeb8f]{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 18px}.unit-chip[data-v-cedbeb8f]{padding:9px 16px;border:2px solid var(--primary-light, #dbe4f3);background:var(--bg-card, #fff);color:var(--text-secondary, #4a5568);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.unit-chip[data-v-cedbeb8f]:hover{border-color:var(--primary, #4a7fd4);transform:translateY(-1px)}.unit-chip.active[data-v-cedbeb8f]{background:var(--primary, #4a7fd4);color:#fff;border-color:var(--primary, #4a7fd4)}.unit-chip.review[data-v-cedbeb8f]{background:linear-gradient(135deg,#fff9e6,#fff5f0);border-color:#f0d9a8;color:#8a6d3b}.unit-chip.review.active[data-v-cedbeb8f]{background:linear-gradient(135deg,#ffb74d,#ff9800);color:#fff;border-color:#ff9800}.unit-original-bar[data-v-cedbeb8f]{display:flex;align-items:center;gap:12px;margin:0 0 16px}.original-btn[data-v-cedbeb8f]{padding:9px 18px;font-size:14px;font-weight:700;border-radius:12px;background:#f6f9ff;border:1.5px solid #cfe0fb;color:#34568f;cursor:pointer;transition:all .2s ease}.original-btn[data-v-cedbeb8f]:hover:not(:disabled){background:#e9f1ff;border-color:var(--primary, #4a7fd4)}.original-btn[data-v-cedbeb8f]:disabled{opacity:.6;cursor:default}.original-hint[data-v-cedbeb8f]{font-size:13px}.review-detail[data-v-cedbeb8f]{margin-top:4px}.review-section[data-v-cedbeb8f]{background:var(--bg-card, #fff);border-radius:14px;padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-sm, 0 1px 4px rgba(0,0,0,.06));border-left:4px solid #ffb74d}.review-section-title[data-v-cedbeb8f]{font-weight:800;color:#5a4a2a;margin-bottom:10px;font-size:17px;display:flex;align-items:center;gap:8px}.review-no[data-v-cedbeb8f]{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;background:#ffe7c2;color:#a9690a;border-radius:8px;font-size:14px}.module-vocab-section[data-v-cedbeb8f]{background:#f8faff;border-radius:14px;padding:16px 18px 18px;margin-bottom:18px;border:1px solid #e3ecf9;border-left:4px solid #5b8def}.module-vocab-title[data-v-cedbeb8f]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:var(--primary-dark, #34568f);margin-bottom:12px}.module-vocab-title .vocab-pill[data-v-cedbeb8f]{background:#e8f0ff;color:#34568f;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}@media (max-width: 1200px){.explain-wrap[data-v-cedbeb8f]{max-width:100%}.explain-tabs[data-v-cedbeb8f]{gap:10px}.explain-tab[data-v-cedbeb8f]{padding:12px 22px;font-size:16px}.review-section[data-v-cedbeb8f]{padding:16px 18px}.module-vocab-section[data-v-cedbeb8f]{padding:14px 16px}}@media (max-width: 768px){.explain-wrap[data-v-cedbeb8f]{padding:0 2px}.explain-tabs[data-v-cedbeb8f]{gap:8px}.explain-tab[data-v-cedbeb8f]{flex:1 1 0;padding:12px 10px;font-size:15px;text-align:center;min-height:44px}.unit-list-bar[data-v-cedbeb8f]{gap:8px;margin:4px 0 14px}.unit-chip[data-v-cedbeb8f]{padding:8px 12px;font-size:13px}.review-section[data-v-cedbeb8f]{padding:14px;margin-bottom:12px;border-left-width:3px}.review-section-title[data-v-cedbeb8f]{font-size:15px}.module-vocab-section[data-v-cedbeb8f]{padding:12px 14px}.module-vocab-title[data-v-cedbeb8f]{font-size:14px}.unit-original-bar[data-v-cedbeb8f]{gap:10px;margin:0 0 12px}.original-btn[data-v-cedbeb8f]{padding:8px 14px;font-size:13px}}@media (max-width: 640px){.explain-tab[data-v-cedbeb8f]{font-size:14px;padding:10px 8px}.unit-chip[data-v-cedbeb8f]{font-size:12px;padding:7px 10px}.review-section[data-v-cedbeb8f]{padding:12px}.review-no[data-v-cedbeb8f]{min-width:22px;height:22px;font-size:12px}}@media (max-width: 1200px){.exercise-container[data-v-081bfc48]{padding:0 4px}.exercise-card[data-v-081bfc48]{padding:24px}}@media (max-width: 768px){.exercise-card[data-v-081bfc48]{padding:16px}.exercise-question[data-v-081bfc48]{font-size:16px;margin-bottom:14px}.exercise-option[data-v-081bfc48]{min-height:44px;padding:12px 14px;font-size:15px}.fill-input[data-v-081bfc48]{padding:12px 14px;font-size:16px}.exercise-feedback[data-v-081bfc48]{padding:12px;font-size:14px}.exercise-actions[data-v-081bfc48]{flex-wrap:wrap;gap:10px}.exercise-actions .btn[data-v-081bfc48]{flex:1 1 auto;min-height:44px}.exercise-progress[data-v-081bfc48]{gap:10px;margin-bottom:16px}.unit-selector[data-v-081bfc48],.module-tabs[data-v-081bfc48]{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}}.vocab-swap[data-v-081bfc48]{display:flex;align-items:center;gap:12px;margin:4px 0 16px;flex-wrap:wrap}.vocab-swap .vocab-swap-hint[data-v-081bfc48]{font-size:13px;color:#888}.cloze-passage[data-v-081bfc48]{font-size:16px;line-height:2.1}.cloze-blank-wrap[data-v-081bfc48]{display:inline-flex;align-items:center;gap:6px;vertical-align:baseline;margin:0 2px}.cloze-input[data-v-081bfc48]{width:96rpx;min-width:72px;height:34px;padding:0 8px;text-align:center;border:2rpx solid #d6d9e6;border-radius:8rpx;font-size:15px;color:#2f3542;background:#fff;box-sizing:border-box}.cloze-input[data-v-081bfc48]:focus{border-color:#7c5cff;outline:none}.cloze-input.correct[data-v-081bfc48]{border-color:#2f9e57;background:#eafaf0}.cloze-input.wrong[data-v-081bfc48]{border-color:#e25555;background:#fdecec}.cloze-hint-bar[data-v-081bfc48]{display:flex;justify-content:flex-end;margin:14px 0 8px}.cloze-hint-toggle[data-v-081bfc48]{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;background:#f3efff;color:var(--primary, #6C5CE7);border:2px solid #D9CCFF;transition:all .18s ease}.cloze-hint-toggle[data-v-081bfc48]:hover{background:#ece4ff;border-color:var(--primary, #6C5CE7);transform:translateY(-1px)}.cloze-hint-toggle.active[data-v-081bfc48]{background:var(--primary, #6C5CE7);color:#fff;border-color:var(--primary, #6C5CE7)}.cloze-hint-list[data-v-081bfc48]{display:grid;gap:10px;margin-top:4px}.cloze-hint-item[data-v-081bfc48]{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;background:#fff8e1;border-left:4px solid #F59E0B;border-radius:10px;font-size:14px;line-height:1.65;color:#5d4e37}.cloze-hint-item .hint-idx[data-v-081bfc48]{flex-shrink:0;min-width:64px;font-weight:700;color:#b45309;padding:1px 10px;background:#ffedd5;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.cloze-hint-item .hint-text[data-v-081bfc48]{flex:1}.cloze-hint-enter-active[data-v-081bfc48],.cloze-hint-leave-active[data-v-081bfc48]{transition:opacity .2s ease,transform .2s ease}.cloze-hint-enter-from[data-v-081bfc48],.cloze-hint-leave-to[data-v-081bfc48]{opacity:0;transform:translateY(-6px)}.cloze-fb[data-v-081bfc48]{margin:6px 0;padding:8px 10px;border-radius:8rpx;font-size:14px}.cloze-fb.correct[data-v-081bfc48]{background:#eafaf0;color:#1f7a45}.cloze-fb.wrong[data-v-081bfc48]{background:#fdecec;color:#b23b3b}.cloze-fb-point[data-v-081bfc48]{opacity:.7;margin-left:4px}.cloze-fb-analysis[data-v-081bfc48]{margin-top:2px;font-size:12px;opacity:.85}@media (max-width: 640px){.exercise-card[data-v-081bfc48]{padding:12px}.exercise-question[data-v-081bfc48]{font-size:15px}.exercise-option[data-v-081bfc48]{font-size:14px;padding:12px}.result-score[data-v-081bfc48]{font-size:28px}}.ach-page[data-v-757c17d9]{padding:4px 2px 40px}.ach-hero[data-v-757c17d9]{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:linear-gradient(135deg,#6a5acd,#8e7bff);border-radius:18px;padding:22px 24px;color:#fff;box-shadow:0 10px 28px #6a5acd4d;margin-bottom:22px}.hero-points[data-v-757c17d9]{text-align:center;min-width:140px}.hp-num[data-v-757c17d9]{font-size:34px;font-weight:900;letter-spacing:1px}.hp-label[data-v-757c17d9]{font-size:13px;opacity:.9;margin-top:2px}.hero-stats[data-v-757c17d9]{display:flex;gap:14px;flex:1;flex-wrap:wrap;justify-content:flex-end}.hs-item[data-v-757c17d9]{background:#ffffff29;border-radius:14px;padding:12px 18px;text-align:center;min-width:110px}.hs-num[data-v-757c17d9]{font-size:24px;font-weight:800}.hs-label[data-v-757c17d9]{font-size:12px;opacity:.92;margin-top:2px}.section-title[data-v-757c17d9]{font-size:18px;font-weight:800;color:#3a3357;margin:18px 0 12px}.badge-wall[data-v-757c17d9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.badge-cat[data-v-757c17d9]{background:#fff;border:1px solid #ece8f7;border-radius:16px;padding:14px 16px;box-shadow:0 4px 14px #6a5acd0f}.cat-head[data-v-757c17d9]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cat-emoji[data-v-757c17d9]{font-size:22px}.cat-name[data-v-757c17d9]{font-size:15px;font-weight:800;color:#3a3357}.cat-cur[data-v-757c17d9]{margin-left:auto;font-size:12px;color:#9a93b5;background:#f3f0fb;border-radius:999px;padding:2px 10px}.levels[data-v-757c17d9]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.level-chip[data-v-757c17d9]{border-radius:12px;padding:10px 6px;text-align:center;border:1px solid #eee;background:#faf9fd;transition:transform .15s ease}.level-chip.unlocked[data-v-757c17d9]{border-color:transparent;color:#fff;box-shadow:0 4px 12px #0000001f}.level-chip.unlocked.lv1[data-v-757c17d9]{background:linear-gradient(135deg,#8ec5ff,#4a90e2)}.level-chip.unlocked.lv2[data-v-757c17d9]{background:linear-gradient(135deg,#7ee0a8,#34b27b)}.level-chip.unlocked.lv3[data-v-757c17d9]{background:linear-gradient(135deg,#ffd166,#f5a623)}.level-chip.unlocked.lv4[data-v-757c17d9]{background:linear-gradient(135deg,#ff9a9e,#d6336c)}.level-chip.locked[data-v-757c17d9]{filter:grayscale(1);opacity:.6}.lv-top[data-v-757c17d9]{display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:4px}.lv-emoji[data-v-757c17d9]{font-size:18px}.lv-name[data-v-757c17d9]{font-size:12px;font-weight:800}.level-chip.locked .lv-name[data-v-757c17d9]{color:#888}.lv-cond[data-v-757c17d9]{font-size:11px;opacity:.92;margin-bottom:3px}.lv-bonus[data-v-757c17d9]{font-size:11px;font-weight:700;opacity:.95}.lv-progress[data-v-757c17d9]{margin-top:5px}.lp-bar[data-v-757c17d9]{height:5px;background:#0000001f;border-radius:999px;overflow:hidden}.level-chip.unlocked .lp-bar[data-v-757c17d9]{background:#ffffff4d}.lp-fill[data-v-757c17d9]{height:100%;background:#ffce3a;border-radius:999px}.lp-text[data-v-757c17d9]{display:block;font-size:10px;margin-top:2px;opacity:.9}.ledger[data-v-757c17d9]{background:#fff;border:1px solid #ece8f7;border-radius:16px;overflow:hidden}.ledger-empty[data-v-757c17d9]{padding:28px;text-align:center;color:#9a93b5;font-size:14px}.ledger-row[data-v-757c17d9]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f3f0fb;font-size:14px}.ledger-row[data-v-757c17d9]:last-child{border-bottom:none}.lr-reason[data-v-757c17d9]{flex:1;color:#4a4458}.lr-points[data-v-757c17d9]{font-weight:800;color:#34b27b;font-variant-numeric:tabular-nums}.lr-points.minus[data-v-757c17d9]{color:#e74c3c}.lr-time[data-v-757c17d9]{font-size:12px;color:#b3aec4;white-space:nowrap}.mall-entry[data-v-757c17d9]{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:20px;padding:14px 18px;cursor:pointer;background:linear-gradient(135deg,#fff3e0,#ffe0c2);border:1px solid #ffd9a8;border-radius:16px;text-align:left;font-family:var(--font-main);transition:transform .15s ease,box-shadow .15s ease}.mall-entry[data-v-757c17d9]:hover{transform:translateY(-1px);box-shadow:0 8px 20px #ff9d2e40}.me-icon[data-v-757c17d9]{font-size:28px}.me-text[data-v-757c17d9]{display:flex;flex-direction:column;flex:1}.me-title[data-v-757c17d9]{font-size:16px;font-weight:800;color:#b5651d}.me-sub[data-v-757c17d9]{font-size:13px;color:#c98a4b;margin-top:1px}.me-arrow[data-v-757c17d9]{font-size:26px;color:#d2691e;font-weight:800}.fresh-mask[data-v-757c17d9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e468c;display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}.fresh-modal[data-v-757c17d9]{background:#fff;border-radius:20px;padding:26px 24px;max-width:360px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.fm-confetti[data-v-757c17d9]{font-size:26px;margin-bottom:8px}.fm-title[data-v-757c17d9]{font-size:20px;font-weight:900;color:#6a5acd;margin-bottom:16px}.fm-badge[data-v-757c17d9]{display:flex;align-items:center;gap:12px;justify-content:center;background:linear-gradient(135deg,#fff7e6,#ffeccf);border:1px solid #ffd9a8;border-radius:14px;padding:12px 14px;margin-bottom:10px}.fm-emoji[data-v-757c17d9]{font-size:30px}.fm-info[data-v-757c17d9]{text-align:left}.fm-name[data-v-757c17d9]{font-weight:800;color:#b5651d;font-size:15px}.fm-bonus[data-v-757c17d9]{font-size:13px;color:#34b27b;font-weight:700}.fm-btn[data-v-757c17d9]{margin-top:14px;width:100%;border:none;border-radius:12px;padding:12px;background:linear-gradient(135deg,#8e7bff,#6a5acd);color:#fff;font-size:15px;font-weight:800;font-family:var(--font-main);cursor:pointer}.fm-btn[data-v-757c17d9]:hover{filter:brightness(1.05)}.pop-enter-active[data-v-757c17d9],.pop-leave-active[data-v-757c17d9]{transition:opacity .25s ease,transform .25s ease}.pop-enter-from[data-v-757c17d9],.pop-leave-to[data-v-757c17d9]{opacity:0;transform:scale(.92)}.loading[data-v-757c17d9]{display:flex;align-items:center;gap:10px;padding:30px;color:#9a93b5}.spinner[data-v-757c17d9]{width:20px;height:20px;border:3px solid #e3ddf3;border-top-color:#8e7bff;border-radius:50%;animation:spin-757c17d9 .8s linear infinite}@keyframes spin-757c17d9{to{transform:rotate(360deg)}}.empty-state[data-v-757c17d9]{text-align:center;padding:40px 20px;color:#9a93b5}.empty-icon[data-v-757c17d9]{font-size:40px;margin-bottom:8px}@media (max-width: 640px){.ach-hero[data-v-757c17d9]{padding:18px;gap:12px}.hp-num[data-v-757c17d9]{font-size:28px}.hero-stats[data-v-757c17d9]{justify-content:center}.hs-item[data-v-757c17d9]{min-width:92px;padding:10px 12px}.badge-wall[data-v-757c17d9]{grid-template-columns:1fr}.levels[data-v-757c17d9]{grid-template-columns:repeat(2,1fr)}.section-title[data-v-757c17d9]{font-size:16px}}.parent-card[data-v-b5053e7b]{background:#fff;border:1px solid #e7e2f0;border-radius:16px;padding:18px 20px;margin-bottom:16px;box-shadow:0 4px 14px #0000000a}.parent-card h3[data-v-b5053e7b]{font-size:16px;margin:0 0 14px;color:#2b3a55}.week-cal[data-v-b5053e7b]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-cell[data-v-b5053e7b]{border-radius:12px;padding:10px 4px;text-align:center;background:#f6f4fb;border:1px solid #ece8f7}.cal-cell.learned[data-v-b5053e7b]{background:#e8f8ee;border-color:#c7eccf}.cal-cell.today[data-v-b5053e7b]{box-shadow:0 0 0 2px #4a6fb5 inset}.cal-week[data-v-b5053e7b]{font-size:12px;color:#8a83a3;font-weight:700}.cal-mark[data-v-b5053e7b]{font-size:20px;margin:4px 0}.cal-date[data-v-b5053e7b]{font-size:11px;color:#a59ec0}.week-summary[data-v-b5053e7b]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px}.ws-item[data-v-b5053e7b]{text-align:center;background:#faf9fd;border-radius:12px;padding:12px 6px}.ws-num[data-v-b5053e7b]{font-size:22px;font-weight:800;color:#2b3a55}.ws-points .ws-num[data-v-b5053e7b]{color:#c98a00}.ws-label[data-v-b5053e7b]{font-size:12px;color:#8a83a3;margin-top:4px}.reward-grid[data-v-b5053e7b]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rg-item[data-v-b5053e7b]{text-align:center;background:linear-gradient(135deg,#f7f3ff,#fff7ef);border:1px solid #efe8fb;border-radius:12px;padding:14px 6px}.rg-num[data-v-b5053e7b]{font-size:22px;font-weight:800;color:#6a5acd}.rg-label[data-v-b5053e7b]{font-size:12px;color:#8a83a3;margin-top:4px;line-height:1.3}.recent-badges[data-v-b5053e7b]{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.allowance-card[data-v-b5053e7b]{border-color:#ffe2b8;background:linear-gradient(180deg,#fffdf8,#fff7ea)}.rate-tag[data-v-b5053e7b]{font-size:12px;font-weight:600;color:#b9770e;background:#fff0d6;border:1px solid #ffd79a;border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:middle}.allow-summary[data-v-b5053e7b]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:14px}.as-item[data-v-b5053e7b]{text-align:center;background:#fff;border:1px solid #ffe2b8;border-radius:12px;padding:16px 6px}.as-num[data-v-b5053e7b]{font-size:28px;font-weight:800;color:#2b3a55}.as-yuan .as-num[data-v-b5053e7b]{color:#e08e00}.as-label[data-v-b5053e7b]{font-size:12px;color:#8a83a3;margin-top:6px}.allow-note[data-v-b5053e7b]{font-size:12.5px;color:#9a7b3f;background:#fff6e6;border:1px dashed #ffd79a;border-radius:10px;padding:10px 12px;margin-top:12px;line-height:1.6}.rb-title[data-v-b5053e7b]{font-size:13px;color:#8a83a3;font-weight:700}.rb-chip[data-v-b5053e7b]{background:#fff3d6;border:1px solid #ffe0a0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;color:#b5651d}.rb-chip em[data-v-b5053e7b]{font-style:normal;font-weight:500;color:#c79a5a;margin-left:4px}.rb-empty[data-v-b5053e7b]{margin-top:12px;font-size:13px;color:#9a93b5}.subj-dist[data-v-b5053e7b]{margin-top:14px}.sd-title[data-v-b5053e7b]{font-size:13px;color:#8a83a3;font-weight:700;margin-bottom:8px}.sd-row[data-v-b5053e7b]{display:flex;align-items:center;gap:10px;margin-bottom:7px}.sd-name[data-v-b5053e7b]{width:72px;font-size:13px;color:#3a3357;flex-shrink:0}.sd-bar[data-v-b5053e7b]{flex:1;height:8px;background:#eef1f7;border-radius:999px;overflow:hidden}.sd-fill[data-v-b5053e7b]{display:block;height:100%;background:linear-gradient(90deg,#4a6fb5,#6fa0e0);border-radius:999px}.sd-num[data-v-b5053e7b]{width:56px;text-align:right;font-size:12px;color:#7a8194;flex-shrink:0}.trend-legend[data-v-b5053e7b]{display:flex;gap:16px;font-size:12px;margin-bottom:8px;flex-wrap:wrap}.lg-total[data-v-b5053e7b]{color:#4a6fb5}.lg-correct[data-v-b5053e7b]{color:#34b27b}.lg-max[data-v-b5053e7b]{color:#9a93b5}.trend-svg[data-v-b5053e7b]{width:100%;height:auto;background:#faf9fd;border-radius:12px;border:1px solid #efe8f7}.trend-empty[data-v-b5053e7b]{font-size:13px;color:#9a93b5;text-align:center;margin-top:8px}.rep-table[data-v-b5053e7b]{width:100%;border-collapse:collapse;font-size:14px}.rep-table th[data-v-b5053e7b],.rep-table td[data-v-b5053e7b]{text-align:left;padding:10px 12px;border-bottom:1px solid #f1eef8}.rep-table th[data-v-b5053e7b]{color:#8a83a3;font-weight:700;font-size:13px}.rep-table td[data-v-b5053e7b]{color:#3a3357}.rep-empty[data-v-b5053e7b]{text-align:center;color:#9a93b5}.rate-pill[data-v-b5053e7b]{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;font-size:13px}.rate-pill.good[data-v-b5053e7b]{background:#e8f8ee;color:#2f9e57}.rate-pill.mid[data-v-b5053e7b]{background:#fff6e0;color:#c98a00}.rate-pill.low[data-v-b5053e7b]{background:#fdeaea;color:#d64545}.game-tag[data-v-b5053e7b]{font-size:13px;font-weight:700}.g-passed[data-v-b5053e7b]{color:#2f9e57}.g-in_progress[data-v-b5053e7b]{color:#c98a00}.g-failed[data-v-b5053e7b]{color:#d64545}.g-locked[data-v-b5053e7b]{color:#aaa}.loading[data-v-b5053e7b]{display:flex;align-items:center;gap:10px;padding:30px;color:#9a93b5}.spinner[data-v-b5053e7b]{width:20px;height:20px;border:3px solid #e3ddf3;border-top-color:#8e7bff;border-radius:50%;animation:spin-b5053e7b .8s linear infinite}@keyframes spin-b5053e7b{to{transform:rotate(360deg)}}.empty-state[data-v-b5053e7b]{text-align:center;padding:40px 20px;color:#9a93b5}.empty-icon[data-v-b5053e7b]{font-size:40px;margin-bottom:8px}.pr-card[data-v-b5053e7b]{border-color:#dfe7ff;background:linear-gradient(180deg,#fbfcff,#f5f8ff)}.preset-card[data-v-b5053e7b]{border-color:#d3ecdf;background:linear-gradient(180deg,#f6fcf9,#eefaf3)}.preset-est[data-v-b5053e7b]{color:#888;font-size:12px;font-weight:400}.pr-toolbar[data-v-b5053e7b]{display:flex;gap:10px;margin-bottom:14px}.pr-btn[data-v-b5053e7b]{border:1px solid #cdd6f0;background:#fff;color:#3a4a7a;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s}.pr-btn[data-v-b5053e7b]:hover{border-color:#8e7bff;color:#5b4bd6}.pr-add[data-v-b5053e7b]{background:linear-gradient(135deg,#5b8def,#7d6bff);color:#fff;border:none}.pr-add[data-v-b5053e7b]:hover{color:#fff;filter:brightness(1.05)}.pr-adhoc[data-v-b5053e7b]{background:#fff}.pr-wild[data-v-b5053e7b]{background:linear-gradient(135deg,#8e7bff,#a96bff);color:#fff;border:none}.pr-wild[data-v-b5053e7b]:hover{color:#fff;filter:brightness(1.05)}.pr-wild[data-v-b5053e7b]:disabled{opacity:.45;cursor:not-allowed;filter:none}.pr-group[data-v-b5053e7b]{margin-bottom:14px}.pr-group-title[data-v-b5053e7b]{font-size:13px;font-weight:800;color:#5b5378;margin:10px 0 8px}.pr-reward[data-v-b5053e7b]{color:#2f9e57}.pr-penalty[data-v-b5053e7b]{color:#d64545}.pr-rule[data-v-b5053e7b]{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e7ecf7;border-radius:12px;padding:10px 12px;margin-bottom:8px}.pr-rule.off[data-v-b5053e7b]{opacity:.5}.pr-rule-main[data-v-b5053e7b]{min-width:0}.pr-rule-name[data-v-b5053e7b]{font-size:14px;font-weight:700;color:#2b3a55}.pr-rule-meta[data-v-b5053e7b]{font-size:12px;color:#8a83a3;margin-top:2px}.pr-rule-ops[data-v-b5053e7b]{display:flex;align-items:center;gap:8px;flex-shrink:0}.pr-mini[data-v-b5053e7b]{border:1px solid #d8def0;background:#fff;color:#4a5578;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:.15s}.pr-mini[data-v-b5053e7b]:hover{border-color:#8e7bff}.pr-mini[data-v-b5053e7b]:disabled{opacity:.4;cursor:not-allowed}.pr-apply[data-v-b5053e7b]{background:#e8f8ee;color:#2f9e57;border-color:#c7eccf}.pr-apply-p[data-v-b5053e7b]{background:#fdeaea;color:#d64545;border-color:#f3c9c9}.pr-edit[data-v-b5053e7b]{color:#6a5acd}.pr-del[data-v-b5053e7b]{color:#d64545;border-color:#f3c9c9}.pr-switch[data-v-b5053e7b]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#8a83a3;cursor:pointer}.pr-history[data-v-b5053e7b]{margin-top:14px;border-top:1px dashed #e3e0ee;padding-top:10px}.pr-hist-row[data-v-b5053e7b]{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #f3f1f9;font-size:13px}.pr-hist-reason[data-v-b5053e7b]{flex:1;color:#3a3357;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-hist-pts[data-v-b5053e7b]{font-weight:800;min-width:56px;text-align:right}.pr-hist-pts.up[data-v-b5053e7b]{color:#2f9e57}.pr-hist-pts.down[data-v-b5053e7b]{color:#d64545}.pr-hist-time[data-v-b5053e7b]{color:#a59ec0;font-size:12px;min-width:120px;text-align:right}.pr-undo[data-v-b5053e7b]{color:#b9770e}.pr-modal-mask[data-v-b5053e7b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e193273;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.pr-modal[data-v-b5053e7b]{background:#fff;border-radius:16px;padding:22px;width:360px;max-width:100%;box-shadow:0 20px 60px #00000040}.pr-modal-title[data-v-b5053e7b]{font-size:16px;font-weight:800;color:#2b3a55;margin-bottom:14px}.pr-modal-body[data-v-b5053e7b]{text-align:center;margin-bottom:14px}.pr-modal-rule[data-v-b5053e7b]{font-size:15px;font-weight:700;color:#3a3357;margin-bottom:8px}.pr-modal-pts[data-v-b5053e7b]{font-size:30px;font-weight:800}.pr-modal-pts.up[data-v-b5053e7b]{color:#2f9e57}.pr-modal-pts.down[data-v-b5053e7b]{color:#d64545}.pr-note[data-v-b5053e7b]{width:100%;box-sizing:border-box;border:1px solid #e0dcf0;border-radius:10px;padding:8px 10px;font-size:13px;resize:none;height:60px;margin-bottom:14px;font-family:inherit}.pr-modal-ops[data-v-b5053e7b]{display:flex;justify-content:flex-end;gap:10px}.pr-confirm[data-v-b5053e7b]{background:linear-gradient(135deg,#5b8def,#7d6bff);color:#fff;border:none}.pr-confirm[data-v-b5053e7b]:hover{color:#fff;filter:brightness(1.05)}.pr-form label[data-v-b5053e7b]{display:block;font-size:12px;color:#8a83a3;font-weight:700;margin:10px 0 5px}.pr-form input[type=text][data-v-b5053e7b],.pr-form input[data-v-b5053e7b]:not([type]),.pr-form select[data-v-b5053e7b],.pr-form input[type=number][data-v-b5053e7b]{width:100%;box-sizing:border-box;border:1px solid #e0dcf0;border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit}.pr-seg[data-v-b5053e7b]{display:flex;gap:8px}.pr-seg button[data-v-b5053e7b]{flex:1;border:1px solid #d8def0;background:#fff;color:#4a5578;border-radius:10px;padding:9px;font-size:13px;font-weight:700;cursor:pointer}.pr-seg button.on[data-v-b5053e7b]{background:#6a5acd;color:#fff;border-color:#6a5acd}.pr-inline[data-v-b5053e7b]{display:flex!important;align-items:center;gap:6px;margin-top:12px}.pr-toast[data-v-b5053e7b]{position:fixed;left:50%;bottom:60px;transform:translate(-50%);background:#2b3a55f2;color:#fff;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:700;z-index:2000;box-shadow:0 8px 24px #00000040}.pr-modal-subtitle[data-v-b5053e7b]{font-size:12px;font-weight:500;color:#8a83a3;margin-left:8px}.pr-wild-period[data-v-b5053e7b]{font-size:13px;color:#3a3357;background:#faf7ff;border:1px dashed #d4c6f5;border-radius:10px;padding:10px 12px;line-height:1.6}.pr-wild-period.pr-wild-empty[data-v-b5053e7b]{color:#999;background:#f5f4f9;border-style:dashed}.pr-wild-pno[data-v-b5053e7b]{color:#6a5acd;font-weight:800;margin:0 3px}.pr-wild-meta[data-v-b5053e7b]{display:block;font-size:12px;color:#8a83a3;margin-top:4px}.pr-wild-err[data-v-b5053e7b]{font-size:13px;color:#d64545;background:#fdeaea;border-radius:8px;padding:8px 10px;margin:8px 0 0}@media (max-width: 640px){.week-summary[data-v-b5053e7b]{grid-template-columns:repeat(3,1fr)}.reward-grid[data-v-b5053e7b]{grid-template-columns:repeat(2,1fr)}.week-cal[data-v-b5053e7b]{gap:5px}.cal-mark[data-v-b5053e7b]{font-size:16px}.rep-table[data-v-b5053e7b]{table-layout:fixed}.rep-table th[data-v-b5053e7b],.rep-table td[data-v-b5053e7b]{padding:8px;font-size:13px;word-break:break-word}.parent-card[data-v-b5053e7b]{padding:14px}.pr-rule[data-v-b5053e7b]{flex-direction:column;align-items:stretch;gap:8px}.pr-rule-ops[data-v-b5053e7b],.pr-hist-row[data-v-b5053e7b]{flex-wrap:wrap}.pr-hist-time[data-v-b5053e7b]{min-width:auto}}.profile-wrap[data-v-ea5bc462]{max-width:720px;margin:0 auto}.page-title[data-v-ea5bc462]{font-size:24px;margin:4px 0 18px}.card[data-v-ea5bc462]{background:var(--bg-card, #fff);border-radius:var(--radius-md, 14px);padding:20px 22px;box-shadow:var(--shadow-sm);margin-bottom:18px}.card-title[data-v-ea5bc462]{font-size:17px;margin:0 0 14px}.info-row[data-v-ea5bc462]{display:flex;gap:16px;align-items:center}.avatar[data-v-ea5bc462]{font-size:46px}.info-name[data-v-ea5bc462]{font-size:18px;font-weight:800}.info-name-row[data-v-ea5bc462]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nick-input[data-v-ea5bc462]{flex:0 1 220px}.info-sub[data-v-ea5bc462]{color:#7a8194;font-size:14px;margin-top:2px}.wx-status-line[data-v-ea5bc462]{display:flex;align-items:center;gap:6px}.wx-dot[data-v-ea5bc462]{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.wx-dot.on[data-v-ea5bc462]{background:#09bb07}.wx-dot.off[data-v-ea5bc462]{background:#c4c9d4}.wx-on[data-v-ea5bc462]{color:#09bb07;font-weight:600}.wx-off[data-v-ea5bc462]{color:#9aa3b5}.wx-tag-mini[data-v-ea5bc462]{font-size:11px;color:#e67e22;background:#fff3e0;border-radius:8px;padding:1px 7px;margin-left:2px}.child-list[data-v-ea5bc462]{display:flex;flex-direction:column;gap:10px}.child-item[data-v-ea5bc462]{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f6f8fc;border-radius:10px;padding:10px 14px}.child-info[data-v-ea5bc462]{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.child-name[data-v-ea5bc462]{font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.g-badge[data-v-ea5bc462]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:14px}.g-badge.princess[data-v-ea5bc462]{background:#ffe3ef}.g-badge.prince[data-v-ea5bc462]{background:#dcebff}.child-meta[data-v-ea5bc462]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.meta-tag[data-v-ea5bc462]{font-size:12px;color:#6b7280;background:#eef1f7;border-radius:10px;padding:2px 9px}.child-actions[data-v-ea5bc462]{display:flex;gap:8px;flex-shrink:0}.child-add[data-v-ea5bc462]{display:flex;gap:8px;margin-top:12px}.child-edit-input[data-v-ea5bc462]{flex:1;padding:8px 12px;border:1px solid #d9dfee;border-radius:8px;font-size:14px}.child-edit-form[data-v-ea5bc462]{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.form-line[data-v-ea5bc462]{display:flex;align-items:center;gap:10px}.fl-label[data-v-ea5bc462]{width:40px;color:#6b7280;font-size:13px;flex-shrink:0}.gender-radios[data-v-ea5bc462]{display:flex;gap:10px}.gender-opt[data-v-ea5bc462]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1.5px solid #d9dfee;border-radius:999px;padding:5px 14px;font-size:13px;background:#fff;transition:all .15s ease;-webkit-user-select:none;user-select:none}.gender-opt .gr-input[data-v-ea5bc462]{position:absolute;opacity:0;width:0;height:0}.gender-opt .g-icon[data-v-ea5bc462]{font-size:15px}.gender-opt.princess.active[data-v-ea5bc462]{background:#ffe3ef;border-color:#ff8fbf;color:#d6336c}.gender-opt.prince.active[data-v-ea5bc462]{background:#dcebff;border-color:#6aa8ff;color:#1c6dd0}.age-line[data-v-ea5bc462]{font-size:13px}.age-val[data-v-ea5bc462]{font-weight:700;color:#4a90e2}.grade-select[data-v-ea5bc462]{background:#fff;cursor:pointer}.grade-tag[data-v-ea5bc462]{color:#8a5cf6;background:#f1ecff}.btn-mini[data-v-ea5bc462]{padding:6px 14px;border:1px solid #d9dfee;background:#fff;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease}.btn-mini[data-v-ea5bc462]:hover{border-color:var(--primary, #4a90e2)}.btn-mini.ok[data-v-ea5bc462]{background:var(--primary, #4a90e2);color:#fff;border-color:var(--primary, #4a90e2)}.btn-mini.danger[data-v-ea5bc462]{color:#e23b3b;border-color:#f1b5b5}.btn-mini[data-v-ea5bc462]:disabled{opacity:.6;cursor:not-allowed}.form-col[data-v-ea5bc462]{display:flex;flex-direction:column;gap:10px;max-width:360px}.row-actions[data-v-ea5bc462]{display:flex;align-items:center;gap:12px}.hint[data-v-ea5bc462]{font-size:13px;color:#e23b3b}.hint.ok[data-v-ea5bc462]{color:#2e9e4f}.bind-list[data-v-ea5bc462]{display:flex;flex-direction:column;gap:10px}.bind-item[data-v-ea5bc462]{display:flex;align-items:center;gap:14px;background:#f6f8fc;border-radius:10px;padding:12px 16px}.bind-name[data-v-ea5bc462]{font-size:15px;font-weight:700;width:90px}.bind-status[data-v-ea5bc462]{font-size:14px;color:#9aa3b5;flex:1}.bind-status.on[data-v-ea5bc462]{color:#2e9e4f;font-weight:700}.bind-tag[data-v-ea5bc462]{font-size:11px;color:#e67e22;background:#fff3e0;border-radius:8px;padding:1px 7px;margin-left:6px}.bind-actions[data-v-ea5bc462]{display:flex;gap:8px}.muted[data-v-ea5bc462]{color:#9aa3b5;font-size:14px;padding:6px 0}.small[data-v-ea5bc462]{font-size:13px}@media (max-width: 1200px){.profile-wrap[data-v-ea5bc462]{padding:0 12px}.card[data-v-ea5bc462]{padding:18px}}@media (max-width: 768px){.profile-wrap[data-v-ea5bc462]{padding:0 12px}.card[data-v-ea5bc462]{padding:16px 14px}.info-row[data-v-ea5bc462]{flex-direction:column;align-items:flex-start;gap:10px}.child-item[data-v-ea5bc462]{flex-direction:column;align-items:stretch;gap:10px}.child-actions[data-v-ea5bc462]{justify-content:flex-start}.child-add[data-v-ea5bc462]{flex-direction:column}.child-add .child-edit-input[data-v-ea5bc462],.child-add .btn-mini[data-v-ea5bc462],.child-edit-input[data-v-ea5bc462]{width:100%}.form-col[data-v-ea5bc462]{max-width:100%}.login-input[data-v-ea5bc462]{width:100%}.row-actions[data-v-ea5bc462]{flex-direction:column;align-items:stretch}.row-actions .btn[data-v-ea5bc462]{width:100%;min-height:44px}.btn-mini[data-v-ea5bc462]{min-height:44px}.bind-item[data-v-ea5bc462]{flex-direction:column;align-items:stretch;gap:8px}.bind-name[data-v-ea5bc462]{width:auto}.bind-actions[data-v-ea5bc462]{justify-content:flex-start}.bind-actions .btn-mini[data-v-ea5bc462]{min-height:44px}.gender-radios[data-v-ea5bc462]{flex-wrap:wrap}.gender-opt[data-v-ea5bc462]{flex:1;justify-content:center;min-height:44px}}@media (max-width: 640px){.page-title[data-v-ea5bc462]{font-size:20px}.card[data-v-ea5bc462]{padding:14px 12px;border-radius:12px}.card-title[data-v-ea5bc462]{font-size:15px}.info-name[data-v-ea5bc462]{font-size:16px}.info-sub[data-v-ea5bc462]{font-size:13px}.child-name[data-v-ea5bc462]{font-size:14px}.btn-mini[data-v-ea5bc462]{font-size:13px}}.card[data-v-79eeb216]{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 18px #0000000f}.card-title[data-v-79eeb216]{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:16px;margin-bottom:12px}.acct-table[data-v-79eeb216]{width:100%;border-collapse:collapse;font-size:14px}.acct-table th[data-v-79eeb216],.acct-table td[data-v-79eeb216]{padding:10px 8px;text-align:left;border-bottom:1px solid #f0f0f0}.acct-table th[data-v-79eeb216]{color:#999;font-weight:600;background:#fafafa}.ops[data-v-79eeb216]{white-space:nowrap}.link[data-v-79eeb216]{background:none;border:none;color:#4a7cff;cursor:pointer;margin-right:8px;font-size:13px;padding:0}.link.danger[data-v-79eeb216]{color:#e74c3c}.link[data-v-79eeb216]:hover{text-decoration:underline}.badge[data-v-79eeb216]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge-on[data-v-79eeb216]{background:#e8f8f0;color:#27ae60}.badge-off[data-v-79eeb216]{background:#fdeaea;color:#e74c3c}.muted[data-v-79eeb216]{color:#999;font-size:13px}.desc[data-v-79eeb216]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soldout[data-v-79eeb216]{color:#e74c3c;font-weight:700}.empty[data-v-79eeb216]{padding:20px 0;text-align:center}.btn[data-v-79eeb216]{border:1px solid #d6def0;background:#fff;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px}.btn[data-v-79eeb216]:hover{background:#f5f8ff}.btn.primary[data-v-79eeb216]{background:#4a7cff;color:#fff;border-color:#4a7cff}.btn.primary[data-v-79eeb216]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-79eeb216]{border-color:transparent;color:#999}.modal-mask[data-v-79eeb216]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:60}.modal[data-v-79eeb216]{background:#fff;width:520px;max-width:92vw;border-radius:14px;padding:18px}.modal-title[data-v-79eeb216]{display:flex;align-items:center;justify-content:space-between;font-weight:700;margin-bottom:12px}.form-row[data-v-79eeb216]{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:14px}.form-row label[data-v-79eeb216]{width:78px;color:#666;flex-shrink:0;text-align:right}.form-row input[type=text][data-v-79eeb216],.form-row input[type=number][data-v-79eeb216]{flex:1;padding:7px 10px;border-radius:8px;border:1px solid #d6def0;font-size:14px}.modal-foot[data-v-79eeb216]{display:flex;justify-content:flex-end;margin-top:12px}.table-scroll[data-v-79eeb216]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}.table-scroll .acct-table[data-v-79eeb216]{min-width:720px}@media (max-width: 768px){.table-scroll .acct-table[data-v-79eeb216]{min-width:720px}.ops[data-v-79eeb216]{white-space:normal}.ops .link[data-v-79eeb216]{display:inline-flex;align-items:center;min-height:36px;margin:2px 10px 2px 0}.form-row[data-v-79eeb216]{flex-direction:column;align-items:stretch;gap:6px}.form-row label[data-v-79eeb216]{width:auto;text-align:left}.form-row input[type=text][data-v-79eeb216],.form-row input[type=number][data-v-79eeb216]{width:100%;flex:none}}.admin-page[data-v-9845e675]{max-width:1080px;margin:0 auto;padding:20px 16px 48px}.admin-header h1[data-v-9845e675]{margin:0 0 4px;font-size:24px}.admin-header .sub[data-v-9845e675]{margin:0 0 16px;color:#888;font-size:14px}.tabs[data-v-9845e675]{display:flex;gap:8px;margin-bottom:16px}.tab[data-v-9845e675]{border:1px solid #d6def0;background:#fff;border-radius:10px;padding:8px 18px;cursor:pointer;font-size:14px;color:#555}.tab.active[data-v-9845e675]{background:#4a7cff;color:#fff;border-color:#4a7cff}.card[data-v-9845e675]{background:#fff;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 4px 18px #0000000f}.card-title[data-v-9845e675]{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:16px;margin-bottom:12px}.sub2[data-v-9845e675]{font-size:14px;margin:16px 0 8px;color:#555}.table-scroll[data-v-9845e675]{overflow-x:auto;border-radius:12px;border:1px solid #eef0f5}.acct-table[data-v-9845e675]{width:100%;border-collapse:collapse;font-size:14px;min-width:680px}.acct-table thead[data-v-9845e675]{background:linear-gradient(180deg,#f8f9fc,#f2f4f9);border-bottom:2px solid #e4e7ef}.acct-table th[data-v-9845e675]{padding:12px 14px;text-align:left;font-weight:600;font-size:12px;color:#8892a8;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.acct-table tbody tr[data-v-9845e675]{transition:background .15s ease;border-bottom:1px solid #f3f4f8}.acct-table tbody tr[data-v-9845e675]:hover{background:#fafbfd}.acct-table tbody tr.row-disabled[data-v-9845e675]{opacity:.5}.acct-table td[data-v-9845e675]{padding:14px;vertical-align:middle;color:#3a3f4d}.col-id[data-v-9845e675]{width:48px;font-family:SF Mono,Consolas,monospace;font-size:13px;color:#a0a8b8}.col-user[data-v-9845e675]{min-width:100px;max-width:140px}.col-meta[data-v-9845e675]{width:120px}.col-wx[data-v-9845e675]{width:90px}.col-stats[data-v-9845e675]{width:110px}.col-time[data-v-9845e675]{width:150px;font-size:13px}.col-ops[data-v-9845e675]{width:80px}.user-main[data-v-9845e675]{font-weight:600;font-size:14px;color:#2c3150;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-sub[data-v-9845e675]{font-size:12px;color:#99a0b4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag[data-v-9845e675]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.4}.tag-admin[data-v-9845e675]{background:#fef3e6;color:#b86200}.tag-user[data-v-9845e675]{background:#eef3fe;color:#36c}.tag-on[data-v-9845e675]{background:#eafff2;color:#0a8a50}.tag-off[data-v-9845e675]{background:#fef0ef;color:#cf3828}.wx-tag[data-v-9845e675]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;background:#ecfdf3;color:#09bb07;font-size:12px;font-weight:600}.wx-icon-text[data-v-9845e675]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#09bb07;color:#fff;font-size:11px;font-weight:700;flex-shrink:0;line-height:18px}.stat-num[data-v-9845e675]{font-weight:700;color:#4a7cff;font-size:13px}.action-menu[data-v-9845e675]{position:relative}.menu-trigger[data-v-9845e675]{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid #dce1ee;border-radius:8px;background:#fff;cursor:pointer;font-size:13px;color:#555;transition:all .15s ease}.menu-trigger[data-v-9845e675]:hover{border-color:#4a7cff;color:#4a7cff;box-shadow:0 2px 8px #4a7cff1f}.menu-dropdown[data-v-9845e675]{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:170px;background:#fff;border:1px solid #e4e8f0;border-radius:10px;box-shadow:0 8px 28px #0000001f;padding:6px 0;animation:menuIn-9845e675 .15s ease}@keyframes menuIn-9845e675{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.menu-item[data-v-9845e675]{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:none;font-size:13px;color:#444;cursor:pointer;text-align:left;transition:background .12s}.menu-item[data-v-9845e675]:hover{background:#f5f7fb}.mi-icon[data-v-9845e675]{font-size:15px;width:20px;text-align:center;flex-shrink:0}.item-warn[data-v-9845e675]{color:#d97706}.item-warn[data-v-9845e675]:hover{background:#fffbeb}.item-ok[data-v-9845e675]{color:#059669}.item-ok[data-v-9845e675]:hover{background:#ecfdf5}.item-danger[data-v-9845e675]{color:#dc2626;font-weight:600}.item-danger[data-v-9845e675]:hover{background:#fef2f2}.menu-divider[data-v-9845e675]{border:none;border-top:1px solid #eee;margin:4px 0}.muted[data-v-9845e675]{color:#999;font-size:13px}.empty[data-v-9845e675]{padding:20px 0;text-align:center}.chips[data-v-9845e675]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-9845e675]{background:#f3f6ff;color:#4a7cff;padding:5px 12px;border-radius:16px;font-size:13px}.chip.unit[data-v-9845e675]{background:#f0fbf4;color:#27ae60}.menu-perm[data-v-9845e675]{display:flex;flex-wrap:wrap;gap:10px 18px}.menu-perm-item[data-v-9845e675]{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;background:#f7f9ff;border:1px solid #e6ecf7;border-radius:10px;padding:6px 12px}.menu-perm-item input[data-v-9845e675]{margin:0}.btn[data-v-9845e675]{border:1px solid #d6def0;background:#fff;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px}.btn[data-v-9845e675]:hover{background:#f5f8ff}.btn.primary[data-v-9845e675]{background:#4a7cff;color:#fff;border-color:#4a7cff}.btn.primary[data-v-9845e675]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-9845e675]{border-color:transparent;color:#999}.btn[data-v-9845e675]:disabled{opacity:.6;cursor:not-allowed}.attach-toolbar[data-v-9845e675]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.field[data-v-9845e675]{display:flex;align-items:center;gap:6px;font-size:14px}.field select[data-v-9845e675]{padding:6px 10px;border-radius:8px;border:1px solid #d6def0}.file-input[data-v-9845e675]{font-size:13px}.title-input[data-v-9845e675]{padding:6px 10px;border-radius:8px;border:1px solid #d6def0;font-size:13px;width:160px}.form-row[data-v-9845e675]{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:14px}.form-row label[data-v-9845e675]{width:78px;color:#666;flex-shrink:0;text-align:right}.form-row input[type=text][data-v-9845e675],.form-row select[data-v-9845e675]{flex:1;padding:7px 10px;border-radius:8px;border:1px solid #d6def0;font-size:14px}.form-row input[type=file][data-v-9845e675]{font-size:13px;flex:1}.form-row.form-inline[data-v-9845e675]{flex-wrap:wrap;gap:14px}.form-row .chk[data-v-9845e675]{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#555}.tree-gap[data-v-9845e675]{color:#b9c0d0;margin-right:4px}.switch[data-v-9845e675]{position:relative;display:inline-block;width:40px;height:22px}.switch input[data-v-9845e675]{opacity:0;width:0;height:0}.switch .slider[data-v-9845e675]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:22px;transition:.2s}.switch .slider[data-v-9845e675]:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider[data-v-9845e675]{background:#27ae60}.switch input:checked+.slider[data-v-9845e675]:before{transform:translate(18px)}.modal-mask[data-v-9845e675]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.modal[data-v-9845e675]{background:#fff;width:560px;max-width:92vw;max-height:84vh;border-radius:14px;padding:18px;display:flex;flex-direction:column}.modal-title[data-v-9845e675]{display:flex;align-items:center;justify-content:space-between;font-weight:700;margin-bottom:12px}.pool-list[data-v-9845e675]{overflow-y:auto;flex:1;border:1px solid #eee;border-radius:10px;padding:6px}.pool-item[data-v-9845e675]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:8px}.pool-item[data-v-9845e675]:hover{background:#f7f9ff}.pool-left[data-v-9845e675],.pool-tail[data-v-9845e675]{display:flex;align-items:center;gap:8px}.pool-item input[data-v-9845e675]{margin:0}.pool-name[data-v-9845e675]{font-size:14px}.modal-foot[data-v-9845e675]{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.progress-box[data-v-9845e675]{margin-top:14px;padding-top:12px;border-top:1px dashed #e6ecf7}.progress-track[data-v-9845e675]{height:10px;border-radius:6px;background:#eef1f7;overflow:hidden}.progress-fill[data-v-9845e675]{height:100%;border-radius:6px;background:#4a7cff;transition:width .25s ease}.progress-fill.rendering[data-v-9845e675]{background:#8a6cff}.progress-fill.done[data-v-9845e675]{background:#27ae60}.progress-fill.error[data-v-9845e675]{background:#e74c3c}.progress-text[data-v-9845e675]{margin-top:8px;font-size:13px;font-weight:600;color:#555}.progress-err[data-v-9845e675]{color:#e74c3c}.progress-detail[data-v-9845e675]{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;font-size:12px}@media (max-width: 1200px){.admin-page[data-v-9845e675]{padding:18px 12px 40px}.card[data-v-9845e675]{padding:16px;margin-bottom:16px}.card-title[data-v-9845e675]{margin-bottom:10px}}@media (max-width: 768px){.tabs[data-v-9845e675]{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs[data-v-9845e675]::-webkit-scrollbar{display:none}.tab[data-v-9845e675]{flex-shrink:0}.table-scroll[data-v-9845e675]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}.table-scroll .acct-table[data-v-9845e675]{min-width:640px}.col-ops[data-v-9845e675]{width:auto;min-width:60px}.form-row[data-v-9845e675]{flex-direction:column;align-items:stretch;gap:6px}.form-row label[data-v-9845e675]{width:auto;text-align:left}.form-row input[type=text][data-v-9845e675],.form-row select[data-v-9845e675],.form-row input[type=file][data-v-9845e675]{width:100%;flex:none}.modal[data-v-9845e675]{width:calc(100vw - 32px);max-width:92vw;max-height:90vh;padding:16px}.btn[data-v-9845e675]{min-height:40px}}@media (max-width: 640px){.admin-page[data-v-9845e675]{padding:14px 10px 32px}.admin-header h1[data-v-9845e675]{font-size:20px}.admin-header .sub[data-v-9845e675]{font-size:13px}.card[data-v-9845e675]{padding:14px 12px;border-radius:12px}.card-title[data-v-9845e675]{font-size:15px}.sub2[data-v-9845e675],.acct-table[data-v-9845e675]{font-size:13px}.acct-table th[data-v-9845e675],.acct-table td[data-v-9845e675]{padding:8px 6px}.muted[data-v-9845e675]{font-size:12px}}.game-page[data-v-ead290b4]{padding:0 4px}.game-header[data-v-ead290b4]{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#ffd166,#ff9b3d);color:#5a3b00;border-radius:18px;padding:22px 26px;box-shadow:0 6px 18px #ff9b3d40;margin-bottom:16px}.game-header h1[data-v-ead290b4]{margin:0 0 4px;font-size:24px}.game-header .muted[data-v-ead290b4]{margin:0;font-size:14px;opacity:.85}.game-stats[data-v-ead290b4]{display:flex;gap:18px}.game-stats .stat[data-v-ead290b4]{background:#ffffffb3;border-radius:12px;padding:10px 18px;text-align:center;min-width:90px}.game-stats .stat-num[data-v-ead290b4]{font-size:22px;font-weight:800}.game-stats .stat-lab[data-v-ead290b4]{font-size:12px;opacity:.8}.overall-bar[data-v-ead290b4]{height:12px;background:#0000000f;border-radius:99px;overflow:hidden;margin-bottom:24px}.overall-bar-fill[data-v-ead290b4]{height:100%;background:linear-gradient(90deg,#f9c74f,#f8961e);border-radius:99px;transition:width .5s ease}.map-track[data-v-ead290b4]{display:flex;flex-direction:column;gap:18px;padding:8px 0 24px}.map-node-wrap[data-v-ead290b4]{position:relative}.track-line[data-v-ead290b4]{position:absolute;left:36px;top:100%;width:4px;height:18px;background:#00000014;z-index:0}.track-line.passed[data-v-ead290b4]{background:linear-gradient(180deg,#f8961e,#f9c74f)}.map-node[data-v-ead290b4]{display:flex;align-items:center;gap:16px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 4px 14px #00000014;cursor:pointer;transition:transform .18s,box-shadow .18s;position:relative;z-index:1}.map-node[data-v-ead290b4]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.map-node.status-locked[data-v-ead290b4]{opacity:.6;cursor:not-allowed}.map-node.status-locked[data-v-ead290b4]:hover{transform:none}.map-node.status-passed[data-v-ead290b4]{background:linear-gradient(135deg,#fff8e1,#ffefc1);border:2px solid #f9c74f}.node-icon[data-v-ead290b4]{width:64px;height:64px;border-radius:50%;flex:0 0 auto;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:32px}.map-node.status-passed .node-icon[data-v-ead290b4]{background:linear-gradient(135deg,#ffe082,#f9a825);animation:passedSpin-ead290b4 .6s ease}.map-node.status-unlocked:not(.boss) .node-icon[data-v-ead290b4]{background:linear-gradient(135deg,#b3e5fc,#4fc3f7);animation:bounce-ead290b4 1.4s ease-in-out infinite}.map-node.status-unlocked.boss .node-icon[data-v-ead290b4]{background:linear-gradient(135deg,#ff8a80,#e53935);animation:bounce-ead290b4 1.4s ease-in-out infinite}.map-node.status-locked .node-icon[data-v-ead290b4]{background:#e5e7eb}.node-body[data-v-ead290b4]{flex:1;min-width:0}.node-title[data-v-ead290b4]{font-size:17px;font-weight:800;color:#2c3e50;margin-bottom:4px}.node-sub[data-v-ead290b4]{font-size:13px;color:#6b7280}.boss-tag[data-v-ead290b4]{display:inline-block;padding:2px 8px;border-radius:99px;background:#ffe0e0;color:#b71c1c;font-weight:700;font-size:12px}.node-score[data-v-ead290b4]{margin-top:6px;font-size:13px;color:#b45309;font-weight:700}.node-locked[data-v-ead290b4]{font-size:13px;color:#9ca3af;margin-top:4px}.node-tried[data-v-ead290b4]{margin-top:6px;font-size:13px;color:#1d7a47;font-weight:700}.node-arrow[data-v-ead290b4]{font-size:24px;color:#9ca3af;transition:transform .2s,color .2s}.map-node.status-unlocked .node-arrow[data-v-ead290b4]{color:#4fc3f7;transform:translate(0)}.map-node:hover.status-unlocked .node-arrow[data-v-ead290b4]{transform:translate(4px)}.map-node.status-passed .node-arrow[data-v-ead290b4]{color:#f59e0b}.all-done-card[data-v-ead290b4]{text-align:center;padding:30px 20px;background:linear-gradient(135deg,#fceabb,#f8b500);border-radius:20px;margin-top:24px;color:#5a3b00}.all-done-card h2[data-v-ead290b4]{margin:0 0 8px}.emoji-bounce[data-v-ead290b4]{font-size:56px;animation:emojiBounce-ead290b4 1s ease infinite}.loading[data-v-ead290b4],.empty-state[data-v-ead290b4]{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon[data-v-ead290b4]{font-size:48px;margin-bottom:12px}.empty-text[data-v-ead290b4]{margin-bottom:12px}.spinner[data-v-ead290b4]{width:36px;height:36px;border:4px solid rgba(0,0,0,.08);border-top-color:#f59e0b;border-radius:50%;margin:0 auto 10px;animation:spin-ead290b4 .9s linear infinite}.btn.primary[data-v-ead290b4]{background:#f59e0b;color:#fff;border:none;padding:8px 20px;border-radius:8px;cursor:pointer;font-weight:700}@keyframes spin-ead290b4{to{transform:rotate(360deg)}}@keyframes bounce-ead290b4{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes passedSpin-ead290b4{0%{transform:scale(.6) rotate(-180deg)}to{transform:scale(1) rotate(0)}}@keyframes emojiBounce-ead290b4{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}@media (max-width: 1200px){.game-header[data-v-ead290b4]{padding:18px 22px}.game-stats[data-v-ead290b4]{gap:14px}.stat[data-v-ead290b4]{padding:9px 14px}.overall-bar[data-v-ead290b4]{margin-bottom:20px}.map-track[data-v-ead290b4]{gap:16px}.map-node[data-v-ead290b4]{padding:14px 18px}}@media (max-width: 768px){.game-header[data-v-ead290b4]{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px}.game-header h1[data-v-ead290b4]{font-size:20px}.game-header .muted[data-v-ead290b4]{font-size:13px}.game-stats[data-v-ead290b4]{width:100%;justify-content:space-between;gap:10px}.stat[data-v-ead290b4]{flex:1;min-width:0;padding:10px 12px}.stat-num[data-v-ead290b4]{font-size:18px}.map-track[data-v-ead290b4]{gap:12px;padding:6px 0 18px}.map-node[data-v-ead290b4]{gap:12px;padding:12px 14px;min-height:40px}.node-icon[data-v-ead290b4]{width:48px;height:48px;font-size:26px}.track-line[data-v-ead290b4]{left:34px;height:12px}.node-title[data-v-ead290b4]{font-size:15px}.node-sub[data-v-ead290b4],.node-score[data-v-ead290b4],.node-locked[data-v-ead290b4]{font-size:12px}.all-done-card[data-v-ead290b4]{padding:22px 16px}.all-done-card h2[data-v-ead290b4]{font-size:20px}.emoji-bounce[data-v-ead290b4]{font-size:44px}}@media (max-width: 640px){.game-header[data-v-ead290b4]{padding:14px}.game-stats .stat-lab[data-v-ead290b4]{font-size:11px}.map-node[data-v-ead290b4]{gap:10px;padding:12px}.node-icon[data-v-ead290b4]{width:44px;height:44px;font-size:22px}.node-arrow[data-v-ead290b4]{font-size:20px}}.level-page[data-v-7d1547e9]{padding-bottom:40px}.level-header[data-v-7d1547e9]{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff5d4,#ffd97a);border-radius:16px;padding:14px 18px;margin-bottom:16px;box-shadow:0 4px 14px #00000014}.back-btn[data-v-7d1547e9]{background:#fff;border:2px solid #f59e0b;color:#b45309;border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer}.level-title h1[data-v-7d1547e9]{margin:0 0 4px;font-size:20px;color:#5a3b00}.trial-badge[data-v-7d1547e9],.full-badge[data-v-7d1547e9],.boss-badge[data-v-7d1547e9]{display:inline-block;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:700}.trial-badge[data-v-7d1547e9]{background:#d1fae5;color:#065f46}.full-badge[data-v-7d1547e9]{background:#fde68a;color:#92400e}.boss-badge[data-v-7d1547e9]{background:#ffd0d0;color:#b71c1c}.replay-banner[data-v-7d1547e9]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:1px solid #bfdbfe;border-radius:14px;padding:12px 16px;margin-bottom:16px}.rb-info[data-v-7d1547e9]{display:flex;align-items:center;gap:8px}.rb-emoji[data-v-7d1547e9]{font-size:22px}.rb-text[data-v-7d1547e9]{font-size:14px;color:#1e40af;font-weight:600}.rb-actions[data-v-7d1547e9]{display:flex;align-items:center;gap:10px}.rb-limit[data-v-7d1547e9]{font-size:13px;font-weight:700;color:#047857;background:#d1fae5;border-radius:999px;padding:4px 12px}.rb-limit.full[data-v-7d1547e9]{color:#b45309;background:#fef3c7}.replay-btn[data-v-7d1547e9]{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;padding:9px 18px;font-weight:800;cursor:pointer}.replay-btn[data-v-7d1547e9]:disabled{opacity:.6;cursor:not-allowed}.replay-btn[data-v-7d1547e9]:hover:not(:disabled){filter:brightness(1.05)}.progress-row[data-v-7d1547e9]{display:flex;align-items:center;gap:14px;margin-bottom:24px}.progress-label[data-v-7d1547e9]{font-weight:700;color:#6b7280;min-width:50px}.progress-bar[data-v-7d1547e9]{flex:1;height:14px;background:#0000000f;border-radius:99px;overflow:hidden}.progress-bar-fill[data-v-7d1547e9]{height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:99px;transition:width .4s ease}.progress-num[data-v-7d1547e9]{font-weight:700;color:#047857;min-width:60px;text-align:right}.section-title[data-v-7d1547e9]{font-size:18px;font-weight:800;color:#1f2937;margin:18px 0 12px}.question-grid[data-v-7d1547e9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.question-card[data-v-7d1547e9]{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 4px 12px #00000014;border:2px solid transparent;transition:border-color .2s,transform .18s}.question-card.correct[data-v-7d1547e9]{border-color:#34d399;background:linear-gradient(180deg,#ecfdf5,#fff)}.question-card.wrong[data-v-7d1547e9]{border-color:#f87171;background:linear-gradient(180deg,#fef2f2,#fff)}.question-card[data-v-7d1547e9]:hover{transform:translateY(-2px)}.q-head[data-v-7d1547e9]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:#6b7280}.q-idx[data-v-7d1547e9]{font-weight:800;color:#4b5563;background:#f3f4f6;padding:2px 8px;border-radius:99px}.q-type[data-v-7d1547e9]{font-weight:600}.q-actions[data-v-7d1547e9]{margin-left:auto;display:flex;gap:4px}.q-btn[data-v-7d1547e9]{width:28px;height:28px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;padding:0}.q-btn[data-v-7d1547e9]:hover:not(:disabled){background:#f9fafb}.q-btn[data-v-7d1547e9]:disabled{opacity:.4;cursor:not-allowed}.module-tag[data-v-7d1547e9]{padding:2px 8px;border-radius:99px;font-size:11px}.module-tag.m-listening[data-v-7d1547e9]{background:#fee2e2;color:#b91c1c}.module-tag.m-speaking[data-v-7d1547e9]{background:#ccfbf1;color:#0f766e}.module-tag.m-reading[data-v-7d1547e9]{background:#dbeafe;color:#1d4ed8}.module-tag.m-writing[data-v-7d1547e9]{background:#ffedd5;color:#c2410c}.q-prompt[data-v-7d1547e9]{font-size:18px;font-weight:800;color:#1f2937;padding:6px 0 10px;word-break:break-word;min-height:32px}.q-zh[data-v-7d1547e9]{font-size:14px;font-weight:600;color:#7c3aed;background:#f5f3ff;border-radius:8px;padding:5px 10px;margin-bottom:8px;display:inline-block}.q-options[data-v-7d1547e9]{display:flex;flex-direction:column;gap:8px}.q-opt[data-v-7d1547e9]{text-align:left;padding:10px 14px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;transition:all .15s}.q-opt[data-v-7d1547e9]:hover:not(:disabled){border-color:#6366f1;background:#eef2ff}.q-opt[data-v-7d1547e9]:disabled{cursor:not-allowed}.q-opt.opt-correct[data-v-7d1547e9]{background:#d1fae5;border-color:#34d399;color:#065f46}.q-opt.opt-wrong[data-v-7d1547e9]{background:#fee2e2;border-color:#f87171;color:#991b1b}.q-opt.opt-dim[data-v-7d1547e9]{opacity:.45}.q-fill[data-v-7d1547e9]{display:flex;gap:8px}.q-fill input[data-v-7d1547e9]{flex:1;padding:10px 12px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;min-width:0}.q-fill input[data-v-7d1547e9]:focus{outline:none;border-color:#6366f1}.q-fill input[data-v-7d1547e9]:disabled{opacity:.6}.q-feedback[data-v-7d1547e9]{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600}.q-feedback.ok[data-v-7d1547e9]{background:#d1fae5;color:#065f46}.q-feedback.bad[data-v-7d1547e9]{background:#fee2e2;color:#991b1b}.q-feedback .explain[data-v-7d1547e9]{display:inline-block;margin-top:4px;font-weight:500;font-size:13px;color:#7f1d1d}.answer-summary[data-v-7d1547e9]{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px;padding:14px 18px;background:#fff;border:2px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 12px #0000000f}.summary-item[data-v-7d1547e9]{padding:7px 14px;border-radius:99px;font-size:15px;font-weight:700}.correct-count[data-v-7d1547e9]{color:#047857;background:#d1fae5}.wrong-count[data-v-7d1547e9]{color:#b91c1c;background:#fee2e2}.score-count[data-v-7d1547e9]{color:#b45309;background:#fef3c7}.result-counts[data-v-7d1547e9]{display:flex;justify-content:center;gap:12px;margin:10px 0}.result-counts span[data-v-7d1547e9]{padding:6px 12px;border-radius:99px;font-weight:700}.finish-row[data-v-7d1547e9]{text-align:center;margin-top:18px}.finish-btn[data-v-7d1547e9]{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-size:18px;padding:14px 36px;border:none;border-radius:14px;cursor:pointer;font-weight:800;box-shadow:0 6px 18px #f59e0b59;transition:transform .18s}.finish-btn[data-v-7d1547e9]:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.finish-btn[data-v-7d1547e9]:hover:not(:disabled){transform:translateY(-2px)}.commit-word[data-v-7d1547e9]{color:#ff3b3b;font-weight:900;font-size:22px;letter-spacing:1px;margin-left:6px;text-shadow:0 1px 2px rgba(0,0,0,.12)}.finish-hint[data-v-7d1547e9]{margin-top:8px;color:#b45309;font-size:13px;font-weight:600}.btn[data-v-7d1547e9]{padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-weight:600}.btn.primary[data-v-7d1547e9]{background:#6366f1;color:#fff;border-color:#6366f1}.btn.primary[data-v-7d1547e9]:hover:not(:disabled){background:#4f46e5}.modal-mask[data-v-7d1547e9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-7d1547e9 .2s}.modal-card[data-v-7d1547e9]{background:#fff;border-radius:16px;padding:24px;min-width:320px;max-width:460px;text-align:center;box-shadow:0 20px 40px #00000040}.modal-card h3[data-v-7d1547e9]{margin:0 0 12px;color:#1f2937}.modal-card p[data-v-7d1547e9]{color:#4b5563;margin:0 0 18px;line-height:1.6}.modal-card.celebration[data-v-7d1547e9]{background:linear-gradient(180deg,#fff8e1,#fff)}.modal-card.celebration h2[data-v-7d1547e9]{color:#b45309;margin:8px 0 16px}.big-emoji[data-v-7d1547e9]{font-size:64px;animation:emojiPop-7d1547e9 .5s ease}.score-line[data-v-7d1547e9]{font-size:16px;color:#4b5563;margin:12px 0 20px}.score-line b[data-v-7d1547e9]{color:#f59e0b;font-size:20px}.finish-actions[data-v-7d1547e9]{display:flex;gap:12px;justify-content:center}.loading[data-v-7d1547e9],.empty-state[data-v-7d1547e9]{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon[data-v-7d1547e9]{font-size:48px;margin-bottom:12px}.spinner[data-v-7d1547e9]{width:36px;height:36px;border:4px solid rgba(0,0,0,.08);border-top-color:#f59e0b;border-radius:50%;margin:0 auto 10px;animation:spin-7d1547e9 .9s linear infinite}@keyframes spin-7d1547e9{to{transform:rotate(360deg)}}@keyframes fadeIn-7d1547e9{0%{opacity:0}to{opacity:1}}@keyframes emojiPop-7d1547e9{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width: 1200px){.question-grid[data-v-7d1547e9]{grid-template-columns:repeat(2,1fr);gap:12px}.level-header[data-v-7d1547e9]{padding:12px 16px}.progress-row[data-v-7d1547e9]{gap:12px;margin-bottom:20px}}@media (max-width: 768px){.level-header[data-v-7d1547e9]{flex-wrap:wrap;gap:10px;padding:12px 14px}.back-btn[data-v-7d1547e9]{min-height:40px;padding:8px 12px;font-size:14px}.level-title[data-v-7d1547e9]{flex:1 1 100%;min-width:0}.level-title h1[data-v-7d1547e9]{font-size:18px}.progress-row[data-v-7d1547e9]{gap:10px;margin-bottom:16px;flex-wrap:wrap}.progress-label[data-v-7d1547e9],.progress-num[data-v-7d1547e9]{min-width:auto}.question-grid[data-v-7d1547e9]{grid-template-columns:1fr;gap:12px}.question-card[data-v-7d1547e9]{padding:14px}.q-head[data-v-7d1547e9]{flex-wrap:wrap;font-size:11px}.q-actions[data-v-7d1547e9]{flex-shrink:0}.q-prompt[data-v-7d1547e9]{font-size:16px}.q-opt[data-v-7d1547e9]{min-height:44px;padding:12px 14px;font-size:15px}.q-fill[data-v-7d1547e9]{flex-wrap:wrap}.q-fill input[data-v-7d1547e9]{flex:1 1 100%}.q-fill .btn[data-v-7d1547e9]{width:100%;min-height:44px}.q-btn[data-v-7d1547e9]{width:40px;height:40px;font-size:16px}.answer-summary[data-v-7d1547e9]{padding:12px 14px;gap:8px}.summary-item[data-v-7d1547e9]{font-size:14px;padding:6px 12px}.finish-btn[data-v-7d1547e9]{width:100%;font-size:16px;padding:14px 20px}.modal-card[data-v-7d1547e9]{width:calc(100vw - 32px);max-width:none;max-height:90vh;overflow-y:auto;padding:20px 16px}.finish-actions[data-v-7d1547e9]{flex-wrap:wrap}.finish-actions .btn[data-v-7d1547e9]{flex:1 1 auto;min-height:44px}}@media (max-width: 640px){.level-title h1[data-v-7d1547e9]{font-size:16px}.section-title[data-v-7d1547e9]{font-size:16px;margin:14px 0 10px}.q-prompt[data-v-7d1547e9]{font-size:15px}.question-card[data-v-7d1547e9]{padding:12px}.finish-btn[data-v-7d1547e9]{font-size:15px;padding:12px 16px}.modal-card[data-v-7d1547e9]{width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;padding:18px 14px}}.exam-wrap[data-v-ecfc9f72]{max-width:880px;margin:0 auto}.exam-panel[data-v-ecfc9f72]{background:#fff;border-radius:16px;padding:36px 28px;box-shadow:0 10px 30px #6c5ce71a;border:1px solid #efeaff;text-align:center}.start-emoji[data-v-ecfc9f72]{font-size:64px;animation:bounce-ecfc9f72 2s infinite}.exam-start h1[data-v-ecfc9f72]{font-size:30px;margin:8px 0 4px;color:#2d2a4a}.start-sub[data-v-ecfc9f72]{color:#7a7596;margin-bottom:22px;font-size:15px}.start-rules[data-v-ecfc9f72]{list-style:none;padding:0;margin:0 auto 28px;max-width:460px;text-align:left;display:grid;gap:12px}.start-rules li[data-v-ecfc9f72]{background:#f7f5ff;border-left:4px solid var(--primary, #6c5ce7);border-radius:10px;padding:12px 16px;font-size:14px;color:#4a4668;line-height:1.5}.start-rules b[data-v-ecfc9f72]{color:var(--primary, #6c5ce7)}.exam-err[data-v-ecfc9f72]{margin-top:16px;color:#e25555;font-size:14px}.btn-lg[data-v-ecfc9f72]{border:none;border-radius:12px;padding:14px 30px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;transition:transform .12s ease,filter .15s ease,box-shadow .15s ease}.btn-primary[data-v-ecfc9f72]{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;box-shadow:0 8px 20px #6c5ce74d}.btn-primary[data-v-ecfc9f72]:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.04)}.btn-primary[data-v-ecfc9f72]:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary[data-v-ecfc9f72]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-ecfc9f72]{background:#f0edff;color:var(--primary, #6c5ce7)}.btn-secondary[data-v-ecfc9f72]:hover{filter:brightness(.97)}.btn-secondary[data-v-ecfc9f72]:active{transform:scale(.98)}.btn-ghost[data-v-ecfc9f72]{background:transparent;color:#7a7596;border:1px solid #e3def5;box-shadow:none}.btn-ghost[data-v-ecfc9f72]:hover{background:#f7f5ff;color:var(--primary, #6c5ce7)}.bank-pop[data-v-ecfc9f72]{display:inline-block;margin:0 auto 18px;padding:10px 18px;border-radius:999px;background:#fff3e0;color:#8a5a00;font-weight:800;font-size:14px;border:1px solid #ffe1b0}.bank-pop b[data-v-ecfc9f72]{color:#b9770e}.cap-pop[data-v-ecfc9f72]{display:inline-block;margin:0 auto 18px;padding:10px 18px;border-radius:999px;background:#eef2ff;color:#3a4bb0;font-weight:800;font-size:14px;border:1px solid #d6defb}.exam-sticky[data-v-ecfc9f72]{position:sticky;top:0;z-index:20;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ece8ff;border-radius:14px;padding:12px 16px;margin-bottom:18px;box-shadow:0 6px 18px #6c5ce71a}.sticky-row[data-v-ecfc9f72]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sticky-title[data-v-ecfc9f72]{font-weight:800;color:#2d2a4a;font-size:15px}.sticky-count[data-v-ecfc9f72]{font-size:13px;color:#7a7596}.sticky-count b[data-v-ecfc9f72]{color:var(--primary, #6c5ce7);font-size:16px}.sticky-bar[data-v-ecfc9f72]{height:8px;background:#efeaff;border-radius:999px;overflow:hidden}.sticky-fill[data-v-ecfc9f72]{height:100%;background:linear-gradient(90deg,#a29bfe,#6c5ce7);border-radius:999px;transition:width .3s ease}.exam-body[data-v-ecfc9f72]{padding-bottom:10px}.exam-sec[data-v-ecfc9f72]{background:#fff;border-radius:16px;padding:18px 20px;margin-bottom:18px;border:1px solid #efeaff;box-shadow:0 6px 18px #6c5ce70f}.sec-head[data-v-ecfc9f72]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.sec-dot[data-v-ecfc9f72]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sec-name[data-v-ecfc9f72]{font-size:18px;font-weight:800;color:#2d2a4a}.sec-meta[data-v-ecfc9f72]{margin-left:auto;font-size:12px;color:#9a96b5}.q-list[data-v-ecfc9f72]{display:grid;gap:14px}.q-card[data-v-ecfc9f72]{background:#fbfaff;border:1px solid #efeaff;border-radius:12px;padding:14px 16px}.q-top[data-v-ecfc9f72]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.q-no[data-v-ecfc9f72]{font-size:12px;font-weight:800;color:#fff;background:var(--primary, #6c5ce7);border-radius:6px;padding:2px 8px}.q-tag[data-v-ecfc9f72]{font-size:11px;font-weight:700;color:#6c5ce7;background:#efeaff;border-radius:999px;padding:2px 8px}.q-prompt[data-v-ecfc9f72]{font-size:16px;font-weight:700;color:#2d2a4a;margin-bottom:12px;line-height:1.5}.q-opts[data-v-ecfc9f72]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.q-opt[data-v-ecfc9f72]{display:flex;align-items:center;gap:8px;text-align:left;background:#fff;border:2px solid #e7e3f5;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;color:#3a3658;transition:all .15s ease;font-family:inherit}.q-opt[data-v-ecfc9f72]:hover{border-color:#c9bffb;background:#f7f5ff}.q-opt.sel[data-v-ecfc9f72]{border-color:var(--primary, #6c5ce7);background:#efeaff;font-weight:700}.opt-label[data-v-ecfc9f72]{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#ece8ff;color:#6c5ce7;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}.q-opt.sel .opt-label[data-v-ecfc9f72]{background:var(--primary, #6c5ce7);color:#fff}.opt-text[data-v-ecfc9f72]{flex:1;word-break:break-word}.cloze-block[data-v-ecfc9f72]{background:#fbfaff;border:1px solid #efeaff;border-radius:12px;padding:16px}.cloze-passage[data-v-ecfc9f72]{font-size:16px;line-height:2.2;color:#2d2a4a}.cloze-slot[data-v-ecfc9f72]{display:inline-block;vertical-align:baseline;margin:0 2px}.cloze-input[data-v-ecfc9f72]{min-width:80px;width:90px;height:34px;padding:0 8px;text-align:center;border:2px solid #d6d9e6;border-radius:8px;font-size:15px;color:#2f3542;background:#fff;font-family:inherit}.cloze-input[data-v-ecfc9f72]:focus{border-color:#7c5cff;outline:none}.cloze-input.filled[data-v-ecfc9f72]{border-color:var(--primary, #6c5ce7);background:#f7f5ff;font-weight:700}.exam-submit-bar[data-v-ecfc9f72]{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px 0 24px}.submit-hint[data-v-ecfc9f72]{font-size:13px;color:#e0913b;background:#fff7e6;border:1px solid #ffe1b0;border-radius:999px;padding:4px 14px}.result-emoji[data-v-ecfc9f72]{font-size:60px;animation:pop-ecfc9f72 .5s ease}.result-score[data-v-ecfc9f72]{font-size:48px;font-weight:900;color:var(--primary, #6c5ce7);line-height:1.1;margin:6px 0}.result-max[data-v-ecfc9f72]{font-size:22px;color:#b8b2d6;font-weight:700;margin-left:4px}.result-verdict[data-v-ecfc9f72]{font-size:20px;font-weight:800;margin-bottom:14px}.result-verdict.pass[data-v-ecfc9f72]{color:#2f9e57}.result-verdict.fail[data-v-ecfc9f72]{color:#e0913b}.result-extra[data-v-ecfc9f72]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin-bottom:18px;font-size:14px;color:#5a5678}.result-extra b[data-v-ecfc9f72]{color:var(--primary, #6c5ce7)}.badge-pop[data-v-ecfc9f72]{display:inline-block;margin:0 auto 18px;padding:10px 20px;border-radius:999px;background:linear-gradient(135deg,#fff3c4,#ffd76b);color:#8a5a00;font-weight:800;font-size:15px;box-shadow:0 6px 16px #ffc1074d;animation:pop-ecfc9f72 .5s ease}.sec-rates[data-v-ecfc9f72]{display:grid;gap:12px;max-width:520px;margin:0 auto 24px}.rate-row[data-v-ecfc9f72]{display:flex;align-items:center;gap:12px}.rate-name[data-v-ecfc9f72]{flex-shrink:0;width:36px;font-weight:800;color:#4a4668;text-align:right}.rate-bar[data-v-ecfc9f72]{flex:1;height:10px;background:#efeaff;border-radius:999px;overflow:hidden}.rate-fill[data-v-ecfc9f72]{height:100%;border-radius:999px;transition:width .5s ease}.rate-val[data-v-ecfc9f72]{flex-shrink:0;width:110px;font-size:13px;color:#7a7596;font-variant-numeric:tabular-nums}.result-actions[data-v-ecfc9f72]{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}@keyframes pop-ecfc9f72{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce-ecfc9f72{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 640px){.exam-panel[data-v-ecfc9f72]{padding:24px 16px}.q-opts[data-v-ecfc9f72]{grid-template-columns:1fr}.q-prompt[data-v-ecfc9f72]{font-size:15px}.cloze-passage[data-v-ecfc9f72]{font-size:15px;line-height:2.1}.result-score[data-v-ecfc9f72]{font-size:40px}.result-actions .btn-lg[data-v-ecfc9f72]{flex:1 1 auto}}.eh-wrap[data-v-5b536607]{max-width:880px;margin:0 auto}.eh-head[data-v-5b536607]{display:flex;align-items:center;gap:12px;margin-bottom:18px}.eh-head h1[data-v-5b536607]{font-size:22px;color:#2d2a4a;margin:0;flex:1}.eh-back[data-v-5b536607]{border:none;background:#f0edff;color:var(--primary, #6c5ce7);border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer;font-family:inherit}.eh-new[data-v-5b536607]{border:none;background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;border-radius:10px;padding:8px 16px;font-weight:800;cursor:pointer;font-family:inherit}.eh-no2[data-v-5b536607]{font-size:13px;color:#9a96b5}.eh-loading[data-v-5b536607],.empty-state[data-v-5b536607]{text-align:center;padding:60px 20px;color:#9a96b5}.empty-emoji[data-v-5b536607]{font-size:56px}.empty-text[data-v-5b536607]{margin-top:12px;font-size:15px}.eh-cards[data-v-5b536607]{display:grid;gap:14px}.eh-card[data-v-5b536607]{display:flex;align-items:stretch;gap:14px;background:#fff;border:1px solid #efeaff;border-left:4px solid #d6d2f5;border-radius:14px;padding:16px;cursor:pointer;box-shadow:0 6px 18px #6c5ce70f;transition:transform .12s ease,box-shadow .15s ease}.eh-card[data-v-5b536607]:hover{transform:translateY(-2px);box-shadow:0 10px 24px #6c5ce71f}.eh-card.pass[data-v-5b536607]{border-left-color:#4caf50}.eh-card.fail[data-v-5b536607]{border-left-color:#e0913b}.eh-card-left[data-v-5b536607]{flex-shrink:0;text-align:center;padding-right:14px;border-right:1px dashed #ece8ff;min-width:92px}.eh-score[data-v-5b536607]{font-size:30px;font-weight:900;color:var(--primary, #6c5ce7);line-height:1}.eh-max[data-v-5b536607]{font-size:14px;color:#b8b2d6;font-weight:700}.eh-verdict[data-v-5b536607]{margin-top:6px;font-size:13px;font-weight:800}.eh-verdict.pass[data-v-5b536607]{color:#2f9e57}.eh-verdict.fail[data-v-5b536607]{color:#e0913b}.eh-card-main[data-v-5b536607]{flex:1;min-width:0}.eh-card-top[data-v-5b536607]{display:flex;justify-content:space-between;font-size:12px;color:#9a96b5;margin-bottom:4px}.eh-no[data-v-5b536607]{font-weight:800;color:#5a5678}.eh-headline[data-v-5b536607]{font-size:15px;font-weight:700;color:#2d2a4a;margin-bottom:8px;line-height:1.5}.eh-tags[data-v-5b536607]{display:flex;flex-wrap:wrap;gap:6px}.eh-tag[data-v-5b536607]{font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px}.eh-tag.weak[data-v-5b536607]{background:#fdecec;color:#c0392b}.eh-tag.strong[data-v-5b536607]{background:#e8f7ee;color:#2f9e57}.eh-tag.bank[data-v-5b536607]{background:#fff3e0;color:#b9770e}.eh-arrow[data-v-5b536607]{align-self:center;font-size:28px;color:#cfc9ee}.eh-overview[data-v-5b536607]{text-align:center;background:#fff;border:1px solid #efeaff;border-radius:16px;padding:24px;box-shadow:0 8px 24px #6c5ce714;margin-bottom:16px}.eh-overview.pass[data-v-5b536607]{border-top:4px solid #4caf50}.eh-overview.fail[data-v-5b536607]{border-top:4px solid #e0913b}.ov-score[data-v-5b536607]{font-size:46px;font-weight:900;color:var(--primary, #6c5ce7);line-height:1}.ov-max[data-v-5b536607]{font-size:20px;color:#b8b2d6;font-weight:700;margin-left:4px}.ov-verdict[data-v-5b536607]{font-size:20px;font-weight:800;margin:6px 0 10px}.ov-verdict.pass[data-v-5b536607]{color:#2f9e57}.ov-verdict.fail[data-v-5b536607]{color:#e0913b}.ov-extra[data-v-5b536607]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:14px;color:#5a5678}.ov-extra b[data-v-5b536607]{color:var(--primary, #6c5ce7)}.ov-date[data-v-5b536607]{margin-top:8px;font-size:12px;color:#9a96b5}.eh-summary[data-v-5b536607]{background:linear-gradient(135deg,#fbf8ff,#f3efff);border:1px solid #e9e3ff;border-radius:14px;padding:16px 18px;margin-bottom:16px}.sum-title[data-v-5b536607]{font-size:13px;font-weight:800;color:var(--primary, #6c5ce7);margin-bottom:8px}.sum-headline[data-v-5b536607]{font-size:16px;font-weight:800;color:#2d2a4a;line-height:1.5;margin-bottom:8px}.sum-advice[data-v-5b536607]{font-size:14px;color:#5a5678;line-height:1.6}.sum-tags[data-v-5b536607]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sum-tag[data-v-5b536607]{font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px}.sum-tag.strong[data-v-5b536607]{background:#e8f7ee;color:#2f9e57}.sum-tag.weak[data-v-5b536607]{background:#fdecec;color:#c0392b}.eh-sec[data-v-5b536607]{background:#fff;border:1px solid #efeaff;border-radius:14px;padding:16px;margin-bottom:14px}.sec-head[data-v-5b536607]{display:flex;align-items:center;gap:8px;margin-bottom:14px}.sec-dot[data-v-5b536607]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sec-name[data-v-5b536607]{font-size:17px;font-weight:800;color:#2d2a4a}.sec-score[data-v-5b536607]{font-size:13px;color:#7a7596}.sec-rate[data-v-5b536607]{margin-left:auto;font-size:13px;font-weight:800}.sec-rate.ok[data-v-5b536607]{color:#2f9e57}.sec-rate.bad[data-v-5b536607]{color:#e25555}.q-analysis[data-v-5b536607]{display:grid;gap:12px}.qa-card[data-v-5b536607]{border:1px solid #efeaff;border-radius:12px;padding:12px 14px;background:#fbfaff}.qa-card.wrong[data-v-5b536607]{border-color:#f6caca;background:#fef7f7}.qa-top[data-v-5b536607]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.qa-no[data-v-5b536607]{font-size:12px;font-weight:800;color:#fff;background:var(--primary, #6c5ce7);border-radius:6px;padding:2px 8px}.qa-tag[data-v-5b536607]{font-size:11px;font-weight:700;color:#6c5ce7;background:#efeaff;border-radius:999px;padding:2px 8px}.qa-mark[data-v-5b536607]{margin-left:auto;font-weight:900;font-size:16px}.qa-mark.ok[data-v-5b536607]{color:#2f9e57}.qa-mark.no[data-v-5b536607]{color:#e25555}.qa-prompt[data-v-5b536607]{font-size:15px;font-weight:700;color:#2d2a4a;margin-bottom:10px;line-height:1.5}.qa-opts[data-v-5b536607]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.qa-opt[data-v-5b536607]{font-size:13px;color:#3a3658;background:#fff;border:1px solid #e7e3f5;border-radius:8px;padding:7px 10px}.qa-opt.is-correct[data-v-5b536607]{border-color:#4caf50;background:#eefaf1;font-weight:700;color:#1e7e3a}.qa-opt.is-wrong[data-v-5b536607]{border-color:#e25555;background:#fdecec;color:#991b1b;text-decoration:line-through}.opt-lab[data-v-5b536607]{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:5px;background:#ece8ff;color:#6c5ce7;font-weight:800;font-size:11px;margin-right:6px}.qa-ans[data-v-5b536607]{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#5a5678}.ans-line b.ok[data-v-5b536607]{color:#2f9e57}.ans-line b.no[data-v-5b536607]{color:#e25555}.cloze-passage[data-v-5b536607]{font-size:16px;line-height:2.4;color:#2d2a4a}.cloze-inline[data-v-5b536607]{display:inline-flex;flex-direction:column;align-items:center;vertical-align:baseline;margin:0 4px;padding:2px 8px;border-radius:8px;font-size:14px}.cloze-inline.ok[data-v-5b536607]{background:#eefaf1;border:1px solid #bfe6c9}.cloze-inline.no[data-v-5b536607]{background:#fdecec;border:1px solid #f3b9b9}.ci-idx[data-v-5b536607]{font-size:10px;color:#9a96b5}.ci-pick[data-v-5b536607]{font-weight:800}.cloze-inline.no .ci-pick[data-v-5b536607]{color:#c0392b;text-decoration:line-through}.cloze-inline.ok .ci-pick[data-v-5b536607]{color:#1e7e3a}.ci-correct[data-v-5b536607]{font-size:11px;color:#2f9e57;font-weight:700}.eh-detail-actions[data-v-5b536607]{display:flex;gap:14px;justify-content:center;margin:18px 0 24px;flex-wrap:wrap}.btn-lg[data-v-5b536607]{border:none;border-radius:12px;padding:13px 28px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}.btn-primary[data-v-5b536607]{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;box-shadow:0 8px 20px #6c5ce74d}.btn-secondary[data-v-5b536607]{background:#f0edff;color:var(--primary, #6c5ce7)}@media (max-width: 640px){.qa-opts[data-v-5b536607]{grid-template-columns:1fr}.cloze-passage[data-v-5b536607]{font-size:15px;line-height:2.2}}.mall-page[data-v-422a7c85]{padding:4px 2px 40px}.mall-hero[data-v-422a7c85]{background:linear-gradient(135deg,#ff9a3c,#ff6f61);border-radius:18px;padding:22px 24px;color:#fff;box-shadow:0 10px 28px #ff6f614d;margin-bottom:18px}.mh-num[data-v-422a7c85]{font-size:34px;font-weight:900;letter-spacing:1px}.mh-label[data-v-422a7c85]{font-size:13px;opacity:.92;margin-top:2px}.mh-tip[data-v-422a7c85]{font-size:13px;opacity:.95;margin:12px 0 0}.tabs[data-v-422a7c85]{display:flex;gap:8px;margin-bottom:16px}.tab[data-v-422a7c85]{border:1px solid #ffd9c2;background:#fff;border-radius:10px;padding:8px 18px;cursor:pointer;font-size:14px;color:#d2691e;font-weight:700}.tab.active[data-v-422a7c85]{background:#ff7a45;color:#fff;border-color:#ff7a45}.coupon-grid[data-v-422a7c85]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.coupon-card[data-v-422a7c85]{background:#fff;border:1px solid #ffe3d3;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 14px #ff7a4514;position:relative;overflow:hidden}.coupon-card[data-v-422a7c85]:before{content:"";position:absolute;left:-10px;top:50%;width:20px;height:20px;background:#fff7f2;border-radius:50%;transform:translateY(-50%)}.cc-top[data-v-422a7c85]{display:flex;align-items:center;justify-content:space-between;gap:8px}.cc-title[data-v-422a7c85]{font-size:16px;font-weight:800;color:#5a3b00}.cc-cost[data-v-422a7c85]{background:linear-gradient(135deg,#ffd54a,#ff9d2e);color:#5a3b00;border-radius:999px;padding:3px 12px;font-weight:800;font-size:14px;white-space:nowrap}.cc-desc[data-v-422a7c85]{font-size:13px;color:#9a8a7a;min-height:34px;line-height:1.4}.cc-stock[data-v-422a7c85]{margin-top:auto}.stock-tag[data-v-422a7c85]{font-size:12px;color:#27ae60;background:#e8f8f0;border-radius:999px;padding:2px 10px}.stock-tag.unlimited[data-v-422a7c85]{background:#eef4ff;color:#4a7cff}.stock-tag.soldout[data-v-422a7c85]{background:#fdeaea;color:#e74c3c}.cc-btn[data-v-422a7c85]{margin-top:6px;border:none;border-radius:12px;padding:10px;background:linear-gradient(135deg,#ff9a3c,#ff6f61);color:#fff;font-size:14px;font-weight:800;font-family:var(--font-main);cursor:pointer}.cc-btn[data-v-422a7c85]:hover:not(:disabled){filter:brightness(1.05)}.cc-btn.disabled[data-v-422a7c85],.cc-btn[data-v-422a7c85]:disabled{background:#e9e4dd;color:#aaa;cursor:not-allowed}.section-title[data-v-422a7c85]{font-size:18px;font-weight:800;color:#5a3b00;margin:6px 0 12px}.bag-empty[data-v-422a7c85]{color:#b3a89a;font-size:14px;padding:18px;text-align:center;background:#fff7f2;border-radius:14px}.bag-list[data-v-422a7c85]{display:flex;flex-direction:column;gap:10px}.bag-item[data-v-422a7c85]{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #ffe3d3;border-radius:14px;padding:14px 16px}.bag-item .bi-main[data-v-422a7c85]{flex:1}.bi-title[data-v-422a7c85]{font-size:15px;font-weight:800;color:#5a3b00}.bi-desc[data-v-422a7c85]{font-size:13px;color:#9a8a7a;margin-top:2px}.bi-btn[data-v-422a7c85]{border:none;border-radius:10px;padding:8px 18px;background:linear-gradient(135deg,#ff9a3c,#ff6f61);color:#fff;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap}.bi-btn[data-v-422a7c85]:disabled{background:#e9e4dd;color:#aaa;cursor:not-allowed}.bi-used[data-v-422a7c85]{font-size:12px;color:#b3a89a;white-space:nowrap}.bag-list.used .bag-item[data-v-422a7c85]{border-style:dashed;opacity:.85}.loading[data-v-422a7c85]{display:flex;align-items:center;gap:10px;padding:30px;color:#b3a89a}.spinner[data-v-422a7c85]{width:20px;height:20px;border:3px solid #ffe3d3;border-top-color:#ff7a45;border-radius:50%;animation:spin-422a7c85 .8s linear infinite}@keyframes spin-422a7c85{to{transform:rotate(360deg)}}.empty-state[data-v-422a7c85]{text-align:center;padding:40px 20px;color:#b3a89a}.empty-icon[data-v-422a7c85]{font-size:40px;margin-bottom:8px}@media (max-width: 640px){.mall-hero[data-v-422a7c85]{padding:18px}.mh-num[data-v-422a7c85]{font-size:28px}.coupon-grid[data-v-422a7c85]{grid-template-columns:1fr}.section-title[data-v-422a7c85]{font-size:16px}}.sp-wrap[data-v-191aa47b]{max-width:720px;margin:0 auto;padding:20px 16px 48px}.sp-head[data-v-191aa47b]{margin-bottom:18px}.head-top[data-v-191aa47b]{display:flex;align-items:center;gap:12px;margin-bottom:6px}.head-icon[data-v-191aa47b]{font-size:26px;line-height:1}.head-title h1[data-v-191aa47b]{font-size:20px;font-weight:700;margin:0;color:#1a1f36;letter-spacing:-.3px}.head-date[data-v-191aa47b]{font-size:13px;color:#7b8599;margin:1px 0 0}.head-desc[data-v-191aa47b]{font-size:13px;color:#8892a6;margin:0;line-height:1.55}.sp-tabs[data-v-191aa47b]{display:flex;gap:10px;margin-bottom:16px;position:relative;z-index:20}.sp-tabs button[data-v-191aa47b]{flex:1;padding:11px 0;border-radius:11px;font-size:14px;font-weight:700;border:1px solid #e3e7f0;background:#fff;color:#5a6178;cursor:pointer;transition:all .2s}.sp-tabs button[data-v-191aa47b]:hover{background:#f3f6fc}.sp-tabs button.active[data-v-191aa47b]{background:linear-gradient(135deg,#3d5e9c,#4a6fb5);color:#fff;border-color:transparent;box-shadow:0 2px 8px #3d5e9c40}.sp-tabs button.active.refreshing[data-v-191aa47b]{opacity:.85}.spin[data-v-191aa47b]{display:inline-block;animation:spspin-191aa47b .7s linear infinite;font-weight:700;margin-right:4px}@keyframes spspin-191aa47b{to{transform:rotate(360deg)}}.main-card[data-v-191aa47b]{background:#fff;border-radius:16px;border:1px solid #eef1f7;overflow:hidden;box-shadow:0 2px 14px #283c780d;margin-bottom:14px}.card-header[data-v-191aa47b]{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#4a6fb5,#6fa0e0)}.card-header[data-v-191aa47b]:not(.has-items){background:linear-gradient(135deg,#9aacca,#b8c8de)}.ch-label[data-v-191aa47b]{color:#fff;font-size:14px;font-weight:600}.ch-stats[data-v-191aa47b]{color:#ffffffe0;font-size:12.5px;font-weight:500}.card-body[data-v-191aa47b]{padding:18px 20px}.empty-state[data-v-191aa47b]{text-align:center;padding:36px 0 28px}.empty-icon[data-v-191aa47b]{font-size:42px;margin-bottom:10px}.empty-state p[data-v-191aa47b]{color:#5a6178;font-size:15px;font-weight:600;margin:0 0 4px}.empty-hint[data-v-191aa47b]{color:#99a0b4!important;font-size:13px!important;font-weight:400!important}.subject-group[data-v-191aa47b]{margin-bottom:18px}.subject-group[data-v-191aa47b]:last-child{margin-bottom:0}.sg-header[data-v-191aa47b]{display:flex;align-items:center;gap:9px;margin-bottom:10px}.sg-icon[data-v-191aa47b]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.sg-name[data-v-191aa47b]{font-size:15px;font-weight:800;letter-spacing:-.2px}.sg-badge[data-v-191aa47b]{font-size:11px;font-weight:500;color:#99a0b4;background:#f0f2f7;padding:2px 9px;border-radius:10px}.sg-items[data-v-191aa47b]{display:flex;flex-direction:column;gap:8px}.sg-item[data-v-191aa47b]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;border-left:3.5px solid #4a6fb5;background:#f7faff;transition:background .15s}.sg-item[data-v-191aa47b]:hover{background:#f0f5ff}.sgi-content[data-v-191aa47b]{font-size:14.5px;color:#222;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgi-right[data-v-191aa47b]{display:flex;align-items:center;gap:8px;flex-shrink:0}.sgi-est[data-v-191aa47b]{color:#99a0b4;font-size:12.5px;white-space:nowrap}.sgi-del[data-v-191aa47b]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12.5px;font-weight:600;padding:2px 6px;border-radius:5px;transition:background .15s}.sgi-del[data-v-191aa47b]:hover{background:#fef0ee}.sgi-del[data-v-191aa47b]:disabled{opacity:.4;cursor:not-allowed}.sgi-judge[data-v-191aa47b]{display:flex;align-items:center;gap:6px}.lv-tag[data-v-191aa47b]{padding:3px 10px;border-radius:7px;font-size:12px;font-weight:700}.lv1[data-v-191aa47b]{background:#eef1f7;color:#5a6278}.lv2[data-v-191aa47b]{background:#e6f4ea;color:#27ae60}.lv3[data-v-191aa47b]{background:#fdf0e3;color:#e67e22}.sgi-pts[data-v-191aa47b]{color:#4a6fb5;font-size:12px;font-weight:700}.sgi-unjudged[data-v-191aa47b]{color:#b0b8c8;font-size:12px}.judge-btn[data-v-191aa47b]{border:1px solid #dfe3ec;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;color:#5a6178;transition:all .15s}.judge-btn[data-v-191aa47b]:hover{transform:translateY(-1px)}.jb1[data-v-191aa47b]:hover{border-color:#b9c0cf;background:#f3f5fa}.jb2[data-v-191aa47b]:hover{border-color:#9bd9b0;background:#e9f8ee;color:#27ae60}.jb3[data-v-191aa47b]:hover{border-color:#f3c48a;background:#fdf3e7;color:#e67e22}.judge-btn[data-v-191aa47b]:disabled{opacity:.45;cursor:not-allowed;transform:none}.points-section[data-v-191aa47b]{margin-bottom:16px}.ps-label[data-v-191aa47b]{font-size:13px;color:#5a6178;margin-bottom:6px}.ps-label b[data-v-191aa47b]{color:#1a1f36;font-size:17px;font-weight:800}.ps-track[data-v-191aa47b]{height:9px;background:#eef1f7;border-radius:999px;overflow:hidden}.ps-fill[data-v-191aa47b]{height:100%;background:linear-gradient(90deg,#4a6fb5,#6fa0e0);border-radius:999px;transition:width .35s ease}.judge-footer[data-v-191aa47b]{text-align:center;padding:10px 0 2px}.jf-pending[data-v-191aa47b]{color:#e67e22;font-size:13px;font-weight:600}.jf-done[data-v-191aa47b]{color:#27ae60;font-size:13px;font-weight:600}.card-footer[data-v-191aa47b]{padding:16px 20px;border-top:1px solid #f0f2f7;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-submit[data-v-191aa47b]{padding:12px 28px;border-radius:11px;border:none;background:linear-gradient(135deg,#4a6fb5,#6fa0e0);color:#fff;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 2px 10px #4a6fb540;transition:all .2s}.btn-submit[data-v-191aa47b]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #4a6fb559}.btn-submit[data-v-191aa47b]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.cf-hint[data-v-191aa47b]{color:#99a0b4;font-size:12.5px}.add-card[data-v-191aa47b]{background:#fff;border-radius:14px;border:1px solid #eef1f7;padding:18px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 10px #283c780f}.ac-row[data-v-191aa47b]{display:flex;gap:10px;align-items:center}.ac-row-main[data-v-191aa47b]{flex-wrap:nowrap}.ac-row-actions[data-v-191aa47b]{flex-wrap:wrap}.inp-sel[data-v-191aa47b]{border:1px solid #dfe3ec;border-radius:10px;padding:11px 14px;font-size:14.5px;font-family:inherit;outline:none;background:#fff;color:#333;cursor:pointer;min-width:100px;flex-shrink:0}.inp-sel[data-v-191aa47b]:focus{border-color:#4a6fb5;box-shadow:0 0 0 3px #4a6fb51a}.inp-txt[data-v-191aa47b]{flex:1;min-width:0;border:1px solid #dfe3ec;border-radius:10px;padding:11px 16px;font-size:14.5px;font-family:inherit;outline:none}.inp-txt[data-v-191aa47b]:focus{border-color:#4a6fb5;box-shadow:0 0 0 3px #4a6fb51a}.inp-num[data-v-191aa47b]{width:82px;border:1px solid #dfe3ec;border-radius:10px;padding:11px 8px;font-size:14px;font-family:inherit;outline:none;text-align:center;flex-shrink:0}.inp-num[data-v-191aa47b]:focus{border-color:#4a6fb5}.btn-add[data-v-191aa47b]{padding:11px 22px;border-radius:10px;border:none;background:#4a6fb5;color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.btn-add[data-v-191aa47b]:hover{background:#3d5e9c}.btn-add[data-v-191aa47b]:disabled{opacity:.55;cursor:not-allowed}.btn-fav[data-v-191aa47b]{padding:11px 16px;border-radius:10px;border:1px solid #f0d79a;background:#fff7e6;color:#b9770e;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.btn-fav[data-v-191aa47b]:hover{background:#ffefcf}.btn-fav[data-v-191aa47b]:disabled{opacity:.5;cursor:not-allowed}.ac-presets[data-v-191aa47b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;margin-top:11px}.acp-label[data-v-191aa47b]{font-size:12.5px;color:#99a0b4;font-weight:700;flex-shrink:0}.acp-chip[data-v-191aa47b]{border:1px solid #dbe3f3;background:#f4f8ff;color:#3d5e9c;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-chip[data-v-191aa47b]:hover{background:#e6efff;border-color:#4a6fb5;transform:translateY(-1px)}.acp-hint[data-v-191aa47b]{font-size:12.5px;color:#aab2c4}.acp-min[data-v-191aa47b]{margin-left:5px;font-size:11px;color:#7a8ab5;font-weight:400}.hist-filter[data-v-191aa47b]{margin-bottom:12px}.inp-month[data-v-191aa47b]{border:1px solid #dfe3ec;border-radius:9px;padding:8px 12px;font-size:14px;font-family:inherit;outline:none}.hist-list[data-v-191aa47b]{list-style:none;margin:0;padding:0}.hist-row[data-v-191aa47b]{display:flex;align-items:center;gap:12px;padding:13px 8px;border-bottom:1px solid #f3f5fa;cursor:pointer;border-radius:8px;transition:background .15s}.hist-row[data-v-191aa47b]:hover{background:#f8faff}.hr-date[data-v-191aa47b]{font-weight:700;color:#1a1f36;font-size:14px;width:110px;flex-shrink:0}.hr-status[data-v-191aa47b]{font-size:12px;padding:3px 10px;border-radius:7px;background:#f3f5fa;color:#99a0b4;font-weight:600}.hr-status.done[data-v-191aa47b]{background:#e6f4ea;color:#27ae60}.hr-meta[data-v-191aa47b]{flex:1;color:#7a8194;font-size:13px}.hr-pts[data-v-191aa47b]{font-weight:800;color:#4a6fb5;font-size:14px}.hr-arrow[data-v-191aa47b]{color:#c2c8d6;font-size:14px}.hist-empty[data-v-191aa47b]{text-align:center;color:#99a0b4;padding:28px 0;font-size:14px}.modal-mask[data-v-191aa47b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142d73;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal[data-v-191aa47b]{background:#fff;border-radius:18px;width:100%;max-width:580px;max-height:86vh;overflow-y:auto;box-shadow:0 12px 48px #141e3c33}.modal-head[data-v-191aa47b]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 0}.modal-head h3[data-v-191aa47b]{margin:0;color:#1a1f36;font-size:17px;font-weight:700}.modal-close[data-v-191aa47b]{border:none;background:none;font-size:18px;cursor:pointer;color:#99a0b4;padding:4px 8px;border-radius:6px;transition:background .15s}.modal-close[data-v-191aa47b]:hover{background:#f3f5fa}.modal-body[data-v-191aa47b]{padding:16px 20px 20px}@media (max-width: 640px){.sp-wrap[data-v-191aa47b]{padding:14px 12px 40px}.card-header[data-v-191aa47b],.card-body[data-v-191aa47b],.card-footer[data-v-191aa47b]{padding-left:14px;padding-right:14px}.sgi-content[data-v-191aa47b]{white-space:normal;overflow-wrap:anywhere}.sg-item[data-v-191aa47b]{flex-wrap:wrap}.ac-row-main[data-v-191aa47b]{flex-direction:column;align-items:stretch}.ac-row-main .inp-sel[data-v-191aa47b]{width:100%;min-width:0}.ac-row-actions[data-v-191aa47b]{flex-direction:row;justify-content:flex-start;gap:8px}.inp-num[data-v-191aa47b]{width:70px;flex-shrink:0}.btn-add[data-v-191aa47b],.btn-fav[data-v-191aa47b]{flex:1}.add-card[data-v-191aa47b]{gap:10px;padding:14px 16px}.btn-submit[data-v-191aa47b]{width:100%}.modal[data-v-191aa47b]{max-height:90vh}.acp-chip[data-v-191aa47b]{max-width:160px}}.eb-wrap[data-v-dcb162db]{max-width:920px;margin:0 auto;padding:18px 16px 60px}.eb-nav[data-v-dcb162db]{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-dcb162db]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back svg[data-v-dcb162db]{transition:transform .2s ease}.nav-back[data-v-dcb162db]:hover{background:linear-gradient(135deg,#4a6fb5,#6a8cff);color:#fff;border-color:transparent;box-shadow:0 4px 12px #4a6fb54d;transform:translateY(-1px)}.nav-back:hover svg[data-v-dcb162db]{transform:translate(-2px)}.nav-back[data-v-dcb162db]:active{transform:translateY(0)}.nav-title[data-v-dcb162db]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-dcb162db]{margin:0;font-size:20px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-dcb162db]{font-size:22px}.eb-sub[data-v-dcb162db]{margin:0 0 16px}.muted[data-v-dcb162db]{color:#99a0b4}.small[data-v-dcb162db]{font-size:12px}.eb-units[data-v-dcb162db]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.eb-units button[data-v-dcb162db]{border:1px solid #e3e7f0;background:#fff;color:#5a6178;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.eb-units button.active[data-v-dcb162db]{background:#4a6fb5;color:#fff;border-color:#4a6fb5}.eb-state[data-v-dcb162db]{text-align:center;color:#99a0b4;padding:40px 0}.eb-state.empty p[data-v-dcb162db]{margin:4px 0}.eb-section[data-v-dcb162db]{margin-bottom:22px}.eb-section-title[data-v-dcb162db]{display:flex;align-items:center;gap:10px;margin:6px 0 12px}.badge[data-v-dcb162db]{padding:3px 12px;border-radius:999px;font-size:13px;font-weight:800}.badge.ready[data-v-dcb162db]{background:#e6f0ff;color:#2f6bd8}.badge.story[data-v-dcb162db]{background:#fdeede;color:#d9802a}.eb-page[data-v-dcb162db]{background:#fff;border:1px solid #eef1f7;border-radius:14px;padding:14px;margin-bottom:18px;box-shadow:0 2px 10px #283c780a}.eb-page-meta[data-v-dcb162db]{margin-bottom:8px}.pgno[data-v-dcb162db]{color:#5a6178;font-size:13px;font-weight:700}.eb-page-imgbox[data-v-dcb162db]{width:100%;display:flex;align-items:center;justify-content:center;min-height:200px;background:#f7f9fc;border-radius:10px;overflow:hidden}.eb-page-imgbox img[data-v-dcb162db]{width:100%;height:auto;display:block}.eb-img-loading[data-v-dcb162db]{padding:40px}.spinner[data-v-dcb162db]{width:28px;height:28px;border:3px solid #dfe3ec;border-top-color:#4a6fb5;border-radius:50%;animation:spin-dcb162db .8s linear infinite;margin:0 auto}.spinner.sm[data-v-dcb162db]{width:18px;height:18px;border-width:2px}@keyframes spin-dcb162db{to{transform:rotate(360deg)}}@media (max-width: 640px){.eb-wrap[data-v-dcb162db]{padding:14px 12px 48px}.eb-page-imgbox[data-v-dcb162db]{min-height:160px}}.ccp-wrap[data-v-a8d057f9]{display:flex;flex-direction:column;min-height:0}.ccp-head[data-v-a8d057f9]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eef2fa;background:linear-gradient(135deg,#f8faff,#f0f4ff)}.ccp-title[data-v-a8d057f9]{display:flex;align-items:center;gap:10px}.ccp-icon[data-v-a8d057f9]{font-size:22px}.ccp-t1[data-v-a8d057f9]{font-size:15px;font-weight:800;color:#1a1a2e}.ccp-t2[data-v-a8d057f9]{font-size:12px;color:#8892a8;margin-top:1px}.ccp-head-actions[data-v-a8d057f9]{display:flex;gap:8px}.ccp-state[data-v-a8d057f9]{display:flex;align-items:center;gap:10px;justify-content:center;padding:40px;color:#a0aec0}.spinner[data-v-a8d057f9]{display:inline-block;width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin-a8d057f9 .6s linear infinite}@keyframes spin-a8d057f9{to{transform:rotate(360deg)}}.ccp-body[data-v-a8d057f9]{padding:16px 18px;overflow-y:auto;flex:1}.ccp-point[data-v-a8d057f9]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fff7ed,#fff1f2);border:1px solid #fed7aa;border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:13px;color:#9a3412;line-height:1.5}.ccp-point-ico[data-v-a8d057f9]{font-size:18px}.ccp-point b[data-v-a8d057f9]{color:#c2410c;font-weight:800}.ccp-point-max[data-v-a8d057f9]{color:#b45309}.ccp-sec[data-v-a8d057f9]{margin-bottom:20px}.ccp-sec-title[data-v-a8d057f9]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:#334155;margin-bottom:10px}.ccp-sec-no[data-v-a8d057f9]{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.ccp-sec-hint[data-v-a8d057f9]{font-size:11px;font-weight:400;color:#a0aec0;margin-left:auto}.ccp-q[data-v-a8d057f9]{margin-bottom:12px}.ccp-q-word[data-v-a8d057f9]{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.ccp-q-idx[data-v-a8d057f9]{color:#c0c8d8;font-size:13px;min-width:18px}.ccp-word[data-v-a8d057f9]{font-size:17px;color:#1a1a2e;letter-spacing:.3px}.ccp-phon[data-v-a8d057f9]{font-size:12px;color:#8892a8;font-style:italic}.ccp-zh[data-v-a8d057f9]{font-size:15px;color:#334155;font-weight:600}.ccp-input[data-v-a8d057f9]{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;background:#fafbff;box-sizing:border-box;line-height:1.6}.ccp-input[data-v-a8d057f9]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14}.ccp-input.ok[data-v-a8d057f9]{border-color:#34d399;background:#f6fdf9;box-shadow:0 0 0 3px #34d3991f}.ccp-input.bad[data-v-a8d057f9]{border-color:#f87171;background:#fef6f6;box-shadow:0 0 0 3px #f871711f}.ccp-q-actions[data-v-a8d057f9]{margin-top:6px}.ccp-q-feedback[data-v-a8d057f9]{display:flex;align-items:center;gap:10px;margin-top:8px;padding:7px 12px;border-radius:8px;font-size:13px}.ccp-q-feedback.ok[data-v-a8d057f9]{background:#f6fdf9;border:1px solid #bbf7d0;color:#15803d}.ccp-q-feedback.bad[data-v-a8d057f9]{background:#fef6f6;border:1px solid #fecaca;color:#b91c1c}.ccp-q-fb-judge[data-v-a8d057f9]{font-weight:700}.ccp-q-fb-expected[data-v-a8d057f9]{margin-left:auto;color:#666}.ccp-q-feedback.ok .ccp-q-fb-expected[data-v-a8d057f9]{color:#166534}.ccp-q-feedback.bad .ccp-q-fb-expected[data-v-a8d057f9]{color:#991b1b}.ccp-actions[data-v-a8d057f9]{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.ccp-btn[data-v-a8d057f9]{padding:8px 16px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.ccp-btn-sm[data-v-a8d057f9]{padding:5px 12px;font-size:12px}.ccp-btn-ghost[data-v-a8d057f9]{background:#f5f7fc;color:#667}.ccp-btn-ghost[data-v-a8d057f9]:hover{background:#eef1f7}.ccp-btn-accent[data-v-a8d057f9]{background:linear-gradient(135deg,#eef3ff,#dbe8ff);color:#4454a8;border-color:#c5d2fa;font-weight:700}.ccp-btn-accent[data-v-a8d057f9]:hover{background:linear-gradient(135deg,#dbe8ff,#c5d2fa);box-shadow:0 4px 12px #4454a826}.ccp-btn-primary[data-v-a8d057f9]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.ccp-btn-primary[data-v-a8d057f9]:hover{box-shadow:0 4px 12px #667eea4d}.ccp-btn.ccp-btn-check[data-v-a8d057f9]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;font-size:12px;padding:5px 12px}.ccp-btn.ccp-btn-check[data-v-a8d057f9]:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d}.ccp-btn[data-v-a8d057f9]:disabled{opacity:.5;cursor:not-allowed}.ccp-result-head[data-v-a8d057f9]{display:flex;align-items:center;gap:16px;border-radius:14px;padding:16px 20px;margin-bottom:16px;color:#fff}.ccp-result-head.good[data-v-a8d057f9]{background:linear-gradient(135deg,#34d399,#10b981)}.ccp-result-head.mid[data-v-a8d057f9]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.ccp-result-head.low[data-v-a8d057f9]{background:linear-gradient(135deg,#f87171,#ef4444)}.ccp-score[data-v-a8d057f9]{font-size:34px;font-weight:800;line-height:1}.ccp-score span[data-v-a8d057f9]{font-size:16px}.ccp-score-detail[data-v-a8d057f9]{font-size:13px;line-height:1.7}.ccp-score-detail b[data-v-a8d057f9]{font-size:16px}.ccp-score-sub[data-v-a8d057f9]{opacity:.92}.ccp-point-got[data-v-a8d057f9]{font-weight:800;opacity:1}.ccp-point-got-off[data-v-a8d057f9]{font-weight:600;opacity:.75}.ccp-bank[data-v-a8d057f9]{color:#d85c7a;font-weight:700}.ccp-bank-off[data-v-a8d057f9]{color:#2a8;font-weight:600}.ccp-hist-compare[data-v-a8d057f9]{background:linear-gradient(135deg,#f0f4ff,#e6ecff);border:1.5px solid #c5d2fa;border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 2px 12px #4454a80f}.ccp-hc-title[data-v-a8d057f9]{font-size:15px;font-weight:800;color:#334155;margin-bottom:14px}.ccp-hc-row[data-v-a8d057f9]{display:flex;gap:8px}.ccp-hc-cell[data-v-a8d057f9]{flex:1;text-align:center;background:#fff;border:1px solid #e6ecff;border-radius:10px;padding:10px 4px}.ccp-hc-val[data-v-a8d057f9]{font-size:20px;font-weight:800;color:#334155;line-height:1.1}.ccp-hc-val.good[data-v-a8d057f9]{color:#2a9d6f}.ccp-hc-val.mid[data-v-a8d057f9]{color:#e08a1e}.ccp-hc-val.low[data-v-a8d057f9]{color:#d85c7a}.ccp-hc-lab[data-v-a8d057f9]{font-size:11px;color:#97a0b8;margin-top:4px}.ccp-hc-trend[data-v-a8d057f9]{margin-top:10px;text-align:center;font-size:13px;font-weight:700}.ccp-hc-trend .up[data-v-a8d057f9]{color:#2a9d6f}.ccp-hc-trend .down[data-v-a8d057f9]{color:#d85c7a}.ccp-hc-trend .flat[data-v-a8d057f9]{color:#97a0b8}.ccp-detail[data-v-a8d057f9]{display:flex;flex-direction:column;gap:10px}.ccp-d-item[data-v-a8d057f9]{border:1px solid #eef1f7;border-radius:12px;padding:12px 14px;background:#fff;border-left:4px solid #cbd5e0}.ccp-d-item.ok[data-v-a8d057f9]{border-left-color:#34d399;background:#f6fdf9}.ccp-d-item.bad[data-v-a8d057f9]{border-left-color:#f87171;background:#fef6f6}.ccp-d-top[data-v-a8d057f9]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ccp-d-tag[data-v-a8d057f9]{font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;color:#fff}.tag-enzh[data-v-a8d057f9]{background:#2563a8}.tag-zhen[data-v-a8d057f9]{background:#8a2a9a}.tag-spell[data-v-a8d057f9]{background:#d97706}.ccp-d-judge[data-v-a8d057f9]{margin-left:auto;font-size:12px;font-weight:700}.ccp-d-item.ok .ccp-d-judge[data-v-a8d057f9]{color:#10b981}.ccp-d-item.bad .ccp-d-judge[data-v-a8d057f9]{color:#ef4444}.ccp-d-a[data-v-a8d057f9],.ccp-d-e[data-v-a8d057f9]{font-size:13px;line-height:1.6;color:#555}.ccp-d-al[data-v-a8d057f9]{color:#999;font-weight:600}.ccp-d-q[data-v-a8d057f9]{font-size:13px;line-height:1.6;color:#334155;font-weight:600;margin-bottom:4px;padding:4px 8px;background:#f0f4ff;border-radius:6px}.ccp-d-e[data-v-a8d057f9]{color:#2563a8}.ccp-history[data-v-a8d057f9]{border-top:2px solid #e2e8f0;background:linear-gradient(180deg,#f8faff,#fff);padding:16px 18px;max-height:300px;overflow-y:auto}.ccp-h-head[data-v-a8d057f9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ccp-h-title-text[data-v-a8d057f9]{font-size:15px;font-weight:800;color:#334155}.ccp-h-empty[data-v-a8d057f9]{font-size:13px;color:#a0aec0;padding:16px 0;text-align:center}.ccp-h-item[data-v-a8d057f9]{padding:10px 0;border-bottom:1px dashed #e2e8f0}.ccp-h-item[data-v-a8d057f9]:last-child{border-bottom:none}.ccp-h-bar[data-v-a8d057f9]{display:flex;align-items:center;gap:12px}.ccp-h-acc[data-v-a8d057f9]{font-size:14px;font-weight:800}.ccp-h-acc.good[data-v-a8d057f9]{color:#10b981}.ccp-h-acc.mid[data-v-a8d057f9]{color:#f59e0b}.ccp-h-acc.low[data-v-a8d057f9]{color:#ef4444}.ccp-h-meta[data-v-a8d057f9]{font-size:12px;color:#888}.ccp-h-unit[data-v-a8d057f9]{font-size:12px;color:#8892a8}.ccp-h-time[data-v-a8d057f9]{margin-left:auto;font-size:12px;color:#aaa}.ccp-slide-enter-active[data-v-a8d057f9],.ccp-slide-leave-active[data-v-a8d057f9]{transition:all .25s ease}.ccp-slide-enter-from[data-v-a8d057f9],.ccp-slide-leave-to[data-v-a8d057f9]{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}@media (max-width: 640px){.ccp-word[data-v-a8d057f9]{font-size:16px}}.ev-wrap[data-v-93110096]{max-width:820px;margin:0 auto;padding:18px 16px 60px}.ev-nav[data-v-93110096]{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-93110096]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back svg[data-v-93110096]{transition:transform .2s ease}.nav-back[data-v-93110096]:hover{background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;border-color:transparent;box-shadow:0 4px 12px #00b8944d;transform:translateY(-1px)}.nav-back:hover svg[data-v-93110096]{transform:translate(-2px)}.nav-back[data-v-93110096]:active{transform:translateY(0)}.nav-title[data-v-93110096]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-93110096]{margin:0;font-size:20px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-93110096]{font-size:22px}.ev-sub[data-v-93110096]{margin:0 0 16px}.muted[data-v-93110096]{color:#99a0b4}.small[data-v-93110096]{font-size:12px}.ev-units[data-v-93110096]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.ev-units button[data-v-93110096]{border:1px solid #e3e7f0;background:#fff;color:#5a6178;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.ev-units button.active[data-v-93110096]{background:#4a6fb5;color:#fff;border-color:#4a6fb5}.ev-state[data-v-93110096]{text-align:center;color:#99a0b4;padding:36px 0}.ev-state.empty p[data-v-93110096]{margin:4px 0}.ev-toolbar[data-v-93110096]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ev-toolbar-btns[data-v-93110096]{display:flex;gap:8px}.btn[data-v-93110096]{border:none;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.btn.primary[data-v-93110096]{background:#4a6fb5;color:#fff}.btn.primary[data-v-93110096]:hover{background:#3d5e9c}.btn.primary[data-v-93110096]:disabled{opacity:.55;cursor:not-allowed}.btn.challenge[data-v-93110096]{background:linear-gradient(135deg,#f59e0b,#ef7d1a);color:#fff}.btn.challenge[data-v-93110096]:hover{background:linear-gradient(135deg,#e8890b,#e0701a)}.btn.challenge[data-v-93110096]:disabled{opacity:.55;cursor:not-allowed}.btn.ghost[data-v-93110096]{background:#eef1f7;color:#5a6178}.btn.warn[data-v-93110096]{background:#fbe9e7;color:#d9534f}.btn[data-v-93110096]:disabled{opacity:.55;cursor:not-allowed}.challenge-modal[data-v-93110096]{padding:0;max-width:680px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.word-list[data-v-93110096]{list-style:none;margin:0;padding:0}.word[data-v-93110096]{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #eef1f7;border-radius:12px;margin-bottom:10px}.word.done[data-v-93110096]{border-color:#cfe9d6;background:#f4fbf6}.w-main[data-v-93110096]{flex:1}.w-word[data-v-93110096]{font-size:16px;font-weight:800;color:#2c3150}.w-phon[data-v-93110096]{font-weight:400;color:#99a0b4;font-size:13px;margin-left:6px}.w-mean[data-v-93110096]{color:#5a6178;font-size:14px;margin-top:2px}.w-toggle[data-v-93110096]{border:1px solid #dfe3ec;background:#fff;color:#5a6178;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0}.w-toggle.on[data-v-93110096]{background:#27ae60;color:#fff;border-color:#27ae60}.w-toggle[data-v-93110096]:disabled{opacity:.5;cursor:not-allowed}.modal-mask[data-v-93110096]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3c66;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.modal[data-v-93110096]{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:18px}.modal-head[data-v-93110096]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h3[data-v-93110096]{margin:0;color:#2c3150}.modal-head .x[data-v-93110096]{border:none;background:none;font-size:18px;cursor:pointer;color:#99a0b4}.test-progress[data-v-93110096]{color:#99a0b4;font-size:13px;margin-bottom:8px}.test-card[data-v-93110096]{background:#f7f9fc;border-radius:12px;padding:22px;text-align:center;margin-bottom:14px}.t-word[data-v-93110096]{font-size:26px;font-weight:800;color:#2c3150}.t-phon[data-v-93110096]{font-weight:400;color:#99a0b4;font-size:15px;margin-left:8px}.t-mean[data-v-93110096]{font-size:18px;color:#4a6fb5;margin-top:10px}.t-hint[data-v-93110096]{margin-top:10px;font-size:13px}.test-actions[data-v-93110096]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.test-summary[data-v-93110096]{text-align:center;padding:14px 0 18px}.test-summary .big[data-v-93110096]{font-size:40px;font-weight:800;color:#4a6fb5}.spinner[data-v-93110096]{width:26px;height:26px;border:3px solid #dfe3ec;border-top-color:#4a6fb5;border-radius:50%;animation:spin-93110096 .8s linear infinite;margin:0 auto}@keyframes spin-93110096{to{transform:rotate(360deg)}}@media (max-width: 640px){.ev-wrap[data-v-93110096]{padding:14px 12px 48px}.word[data-v-93110096]{padding:10px;gap:10px}.w-toggle[data-v-93110096]{padding:6px 12px}.test-card[data-v-93110096]{padding:18px 14px}.t-word[data-v-93110096]{font-size:22px}}.ec-wrap[data-v-33008de3]{max-width:820px;margin:0 auto;padding:18px 16px 60px}.ec-nav[data-v-33008de3]{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-33008de3]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back svg[data-v-33008de3]{transition:transform .2s ease}.nav-back[data-v-33008de3]:hover{background:linear-gradient(135deg,#e17055,#d63031);color:#fff;border-color:transparent;box-shadow:0 4px 12px #e170554d;transform:translateY(-1px)}.nav-back:hover svg[data-v-33008de3]{transform:translate(-2px)}.nav-back[data-v-33008de3]:active{transform:translateY(0)}.nav-title[data-v-33008de3]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-33008de3]{margin:0;font-size:20px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-33008de3]{font-size:22px}.ec-sub[data-v-33008de3]{margin:0 0 16px}.muted[data-v-33008de3]{color:#99a0b4}.small[data-v-33008de3]{font-size:12px}.ec-upload[data-v-33008de3]{background:#f7f9fc;border:1px solid #eef1f7;border-radius:12px;padding:14px;margin-bottom:18px}.ec-upload-title[data-v-33008de3]{font-weight:700;color:#2c3150;margin-bottom:10px}.ec-form[data-v-33008de3]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inp[data-v-33008de3]{border:1px solid #dfe3ec;border-radius:9px;padding:9px 11px;font-size:14px;font-family:inherit;outline:none}.inp[data-v-33008de3]:focus{border-color:#4a6fb5}.inp.grow[data-v-33008de3]{flex:1;min-width:180px}.file[data-v-33008de3]{font-size:13px}.btn[data-v-33008de3]{border:none;border-radius:9px;padding:9px 14px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.btn.primary[data-v-33008de3]{background:#4a6fb5;color:#fff}.btn.primary[data-v-33008de3]:hover{background:#3d5e9c}.btn.primary[data-v-33008de3]:disabled{opacity:.55;cursor:not-allowed}.btn.ghost[data-v-33008de3]{background:#eef1f7;color:#5a6178}.btn[data-v-33008de3]:disabled{opacity:.55;cursor:not-allowed}.ec-state[data-v-33008de3]{text-align:center;color:#99a0b4;padding:36px 0}.ec-state.empty p[data-v-33008de3]{margin:4px 0}.cw-list[data-v-33008de3]{list-style:none;margin:0;padding:0}.cw[data-v-33008de3]{display:flex;align-items:center;gap:12px;padding:13px;background:#fff;border:1px solid #eef1f7;border-radius:12px;margin-bottom:10px}.cw-main[data-v-33008de3]{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cw-week[data-v-33008de3]{background:#eef3fb;color:#3d5e9c;border-radius:7px;padding:3px 10px;font-size:13px;font-weight:700;flex-shrink:0}.cw-title[data-v-33008de3]{color:#2c3150;font-size:15px;font-weight:600}.cw-date[data-v-33008de3]{font-size:12px}.cw-actions[data-v-33008de3]{display:flex;align-items:center;gap:10px;flex-shrink:0}.link[data-v-33008de3]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:13px;padding:0}.link.danger[data-v-33008de3]:hover{text-decoration:underline}.modal-mask[data-v-33008de3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3c80;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.modal[data-v-33008de3]{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;padding:16px}.modal.pdf[data-v-33008de3]{height:88vh}.modal-head[data-v-33008de3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal-head h3[data-v-33008de3]{margin:0;color:#2c3150}.modal-head .x[data-v-33008de3]{border:none;background:none;font-size:18px;cursor:pointer;color:#99a0b4}.pdf-frame[data-v-33008de3]{flex:1;width:100%;border:1px solid #eef1f7;border-radius:10px}.spinner[data-v-33008de3]{width:26px;height:26px;border:3px solid #dfe3ec;border-top-color:#4a6fb5;border-radius:50%;animation:spin-33008de3 .8s linear infinite;margin:0 auto}@keyframes spin-33008de3{to{transform:rotate(360deg)}}@media (max-width: 640px){.ec-wrap[data-v-33008de3]{padding:14px 12px 48px}.ec-form[data-v-33008de3]{gap:8px}.inp.grow[data-v-33008de3]{min-width:0;flex:1 1 100%}.cw[data-v-33008de3]{flex-wrap:wrap}}.modal-mask[data-v-8e95b944]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.modal[data-v-8e95b944]{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:92vh;display:flex;flex-direction:column}.modal-head[data-v-8e95b944]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eee}.modal-title[data-v-8e95b944]{font-weight:700}.x[data-v-8e95b944]{border:none;background:none;font-size:18px;cursor:pointer;color:#999}.modal-body[data-v-8e95b944]{padding:16px 18px;overflow:auto}.modal-foot[data-v-8e95b944]{display:flex;gap:10px;padding:12px 18px;border-top:1px solid #eee;justify-content:flex-end}.pt-tip[data-v-8e95b944]{font-size:12.5px;color:#888;line-height:1.6;background:#faf8ff;border-left:3px solid #b9a6ff;padding:8px 12px;border-radius:6px;margin-bottom:14px}.form-grid[data-v-8e95b944]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.fld[data-v-8e95b944]{display:flex;flex-direction:column;font-size:12px;color:#666;gap:4px}.fld.block[data-v-8e95b944]{margin-bottom:4px}.fld select[data-v-8e95b944],.fld input[data-v-8e95b944]{padding:8px;border:1px solid #e0e0e6;border-radius:8px;font-size:14px}.raw-input[data-v-8e95b944]{width:100%;padding:10px;border:1px solid #d8d8e0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit;line-height:1.6;box-sizing:border-box}.raw-input[data-v-8e95b944]:focus{outline:none;border-color:#6a5cff}.char-count[data-v-8e95b944]{font-size:12px;color:#1a9e5a;margin-top:4px}.char-count.bad[data-v-8e95b944]{color:#e08600}.btn[data-v-8e95b944]{padding:9px 16px;border:none;border-radius:10px;background:#eef0f5;color:#333;cursor:pointer;font-weight:600;font-size:14px}.btn.primary[data-v-8e95b944]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff}.btn[data-v-8e95b944]:disabled{opacity:.5;cursor:not-allowed}.eh-wrap[data-v-c94cc2f8] *,.eh-wrap[data-v-c94cc2f8] *:before,.eh-wrap[data-v-c94cc2f8] *:after{box-sizing:border-box}.eh-wrap[data-v-c94cc2f8]{width:100%;max-width:900px;margin:0 auto;padding:16px}.hero[data-v-c94cc2f8]{position:relative;border-radius:20px;overflow:hidden;margin-bottom:20px}.hero-bg[data-v-c94cc2f8]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#2193b0,#4a6fb5 55%,#6a8cff)}.hero-content[data-v-c94cc2f8]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:24px 20px 20px;gap:16px}.hero-left[data-v-c94cc2f8]{flex:1;min-width:0}.hero-badge[data-v-c94cc2f8]{display:inline-block;background:#fff3;color:#fff;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:1px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-bottom:10px}.hero-title[data-v-c94cc2f8]{margin:0;font-size:26px;color:#fff;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.15)}.hero-sub[data-v-c94cc2f8]{margin:8px 0 0;display:flex;gap:8px;flex-wrap:wrap}.hero-tag[data-v-c94cc2f8]{background:#ffffff40;color:#fff;padding:3px 12px;border-radius:14px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-stats[data-v-c94cc2f8]{display:flex;align-items:center;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:12px 16px;flex-shrink:0}.stat-item[data-v-c94cc2f8]{text-align:center;padding:0 10px}.stat-num[data-v-c94cc2f8]{font-size:26px;font-weight:800;color:#fff;line-height:1.1}.stat-unit[data-v-c94cc2f8]{font-size:14px;opacity:.8}.stat-label[data-v-c94cc2f8]{font-size:11px;color:#fffc;margin-top:2px}.stat-highlight .stat-num[data-v-c94cc2f8]{color:#a8ffdc;text-shadow:0 0 12px rgba(168,255,220,.4)}.stat-pending .stat-num[data-v-c94cc2f8]{color:#ffd93d}.stat-divider[data-v-c94cc2f8]{width:1px;height:30px;background:#fff3;flex-shrink:0}.grade-bar[data-v-c94cc2f8]{background:#fff;border:1px solid #e8ecf4;border-radius:14px;margin-bottom:20px}.gb-inner[data-v-c94cc2f8]{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:nowrap;overflow:hidden}.gb-icon[data-v-c94cc2f8]{font-size:18px;flex-shrink:0}.gb-sel[data-v-c94cc2f8]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;flex-shrink:0}.gb-sel[data-v-c94cc2f8]:focus{border-color:#4a6fb5;box-shadow:0 0 0 3px #4a6fb51f}.gb-hint[data-v-c94cc2f8]{font-size:12px;color:#aaa;margin-left:auto;white-space:nowrap;flex-shrink:0}.gb-paste[data-v-c94cc2f8]{padding:6px 12px;border:1px solid #6a5cff;background:#fff;color:#6a5cff;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.gb-paste[data-v-c94cc2f8]:hover{background:#6a5cff;color:#fff}.quick-actions[data-v-c94cc2f8]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.qa-card[data-v-c94cc2f8]{display:flex;align-items:center;gap:12px;border-radius:16px;padding:16px 18px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1.5px solid transparent}.qa-card[data-v-c94cc2f8]:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.qa-challenge[data-v-c94cc2f8]{background:linear-gradient(135deg,#f0f4ff,#eef3ff);border-color:#c5d2fa}.qa-challenge[data-v-c94cc2f8]:hover{border-color:#a5b8fa}.qa-errors[data-v-c94cc2f8]{background:linear-gradient(135deg,#fff5f5,#fef0f0);border-color:#fbc5c5}.qa-errors[data-v-c94cc2f8]:hover{border-color:#f9a0a0}.qa-icon[data-v-c94cc2f8]{font-size:28px;flex-shrink:0}.qa-body[data-v-c94cc2f8]{flex:1;min-width:0}.qa-title[data-v-c94cc2f8]{font-size:15px;font-weight:800;color:#1a1a2e;margin-bottom:2px}.qa-desc[data-v-c94cc2f8]{font-size:11px;color:#8892a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-arrow[data-v-c94cc2f8]{font-size:13px;font-weight:700;color:#667eea;flex-shrink:0;white-space:nowrap;transition:transform .2s}.qa-card:hover .qa-arrow[data-v-c94cc2f8]{transform:translate(3px)}@media (max-width: 640px){.quick-actions[data-v-c94cc2f8]{grid-template-columns:1fr}.qa-desc[data-v-c94cc2f8]{white-space:normal}}.section-label[data-v-c94cc2f8]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sl-line[data-v-c94cc2f8]{flex:1;height:1px;background:linear-gradient(90deg,transparent,#e0e5ef,transparent);min-width:0}.sl-text[data-v-c94cc2f8]{font-size:13px;font-weight:700;color:#8892a8;letter-spacing:2px;white-space:nowrap}.card-grid.primary[data-v-c94cc2f8]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.mod-card[data-v-c94cc2f8]{position:relative;background:#fff;border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border:1px solid #eee;min-width:0}.mod-card[data-v-c94cc2f8]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.mod-glow[data-v-c94cc2f8]{position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;opacity:.08;filter:blur(30px);transition:opacity .3s;pointer-events:none}.mod-card:hover .mod-glow[data-v-c94cc2f8]{opacity:.15}.mod-book .mod-glow[data-v-c94cc2f8]{background:#4a6fb5}.mod-vocab .mod-glow[data-v-c94cc2f8]{background:#00b894}.mod-cw .mod-glow[data-v-c94cc2f8]{background:#e17055}.mod-top[data-v-c94cc2f8]{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 0;gap:8px}.mod-icon-wrap[data-v-c94cc2f8]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001f;flex-shrink:0}.mod-icon-wrap svg[data-v-c94cc2f8]{width:36px;height:36px}.mod-progress[data-v-c94cc2f8]{flex-shrink:0}.mp-ring[data-v-c94cc2f8]{position:relative;width:40px;height:40px}.mp-ring svg[data-v-c94cc2f8]{width:100%;height:100%;transform:rotate(-90deg)}.mp-pct[data-v-c94cc2f8]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff}.mp-pill[data-v-c94cc2f8]{background:#4a6fb51f;color:#4a6fb5;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;white-space:nowrap}.mod-body[data-v-c94cc2f8]{padding:12px 18px 0;min-width:0}.mod-title[data-v-c94cc2f8]{margin:0;font-size:17px;font-weight:800;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-desc[data-v-c94cc2f8]{margin:4px 0 0;font-size:12px;color:#8892a8;line-height:1.3}.mod-tags[data-v-c94cc2f8]{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.mtag[data-v-c94cc2f8]{font-size:10px;padding:2px 8px;border-radius:20px;background:#f4f6fc;color:#6b7394;font-weight:500;white-space:nowrap}.mod-footer[data-v-c94cc2f8]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 16px;border-top:1px solid #f5f7fc;margin-top:10px}.mod-count[data-v-c94cc2f8]{font-size:12px;color:#8892a8;font-weight:500;white-space:nowrap}.mod-go[data-v-c94cc2f8]{font-size:14px;font-weight:700;color:#4a6fb5;transition:transform .2s;flex-shrink:0}.mod-card:hover .mod-go[data-v-c94cc2f8]{transform:translate(3px)}.card-grid.secondary[data-v-c94cc2f8]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.sub-card[data-v-c94cc2f8]{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eef1f7;border-radius:14px;padding:14px;cursor:pointer;transition:all .2s ease;min-width:0}.sub-card[data-v-c94cc2f8]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f;border-color:#dce2f0}.sc-icon[data-v-c94cc2f8]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.sc-gold[data-v-c94cc2f8]{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.sc-red[data-v-c94cc2f8]{background:linear-gradient(135deg,#fab1a0,#e17055)}.sc-blue[data-v-c94cc2f8]{background:linear-gradient(135deg,#74b9ff,#0984e3)}.sc-purple[data-v-c94cc2f8]{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.sc-challenge[data-v-c94cc2f8]{border-color:#e5e0fb}.sc-challenge[data-v-c94cc2f8]:hover{border-color:#c7bef5;box-shadow:0 6px 20px #6c5ce71f}.sc-info[data-v-c94cc2f8]{flex:1;min-width:0}.sc-title[data-v-c94cc2f8]{margin:0;font-size:14px;font-weight:700;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-desc[data-v-c94cc2f8]{margin:2px 0 0;font-size:11px;color:#a0aec0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-arrow[data-v-c94cc2f8]{font-size:18px;color:#cbd5e0;font-weight:700;transition:transform .2s;flex-shrink:0}.sub-card:hover .sc-arrow[data-v-c94cc2f8]{transform:translate(3px);color:#4a6fb5}@media (max-width: 860px){.card-grid.primary[data-v-c94cc2f8],.card-grid.secondary[data-v-c94cc2f8]{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content[data-v-c94cc2f8]{padding:20px;gap:12px}.hero-stats[data-v-c94cc2f8]{padding:10px 14px}.stat-item[data-v-c94cc2f8]{padding:0 8px}.stat-num[data-v-c94cc2f8]{font-size:22px}}@media (max-width: 768px){.card-grid.primary[data-v-c94cc2f8],.card-grid.secondary[data-v-c94cc2f8]{grid-template-columns:1fr}.hero-content[data-v-c94cc2f8]{flex-direction:column;align-items:flex-start;padding:18px}.hero-stats[data-v-c94cc2f8]{width:100%;justify-content:space-around}.hero-title[data-v-c94cc2f8]{font-size:22px}.stat-num[data-v-c94cc2f8]{font-size:24px}.gb-hint[data-v-c94cc2f8]{display:none}}@media (max-width: 480px){.eh-wrap[data-v-c94cc2f8]{padding:10px}.hero[data-v-c94cc2f8]{border-radius:16px}.gb-inner[data-v-c94cc2f8]{flex-wrap:wrap}.gb-hint[data-v-c94cc2f8]{display:block;width:100%;margin-left:0;margin-top:4px}}.mh-wrap[data-v-fb97ace6]{max-width:880px;margin:0 auto;padding:16px}.mh-head[data-v-fb97ace6]{margin-bottom:18px}.head-top[data-v-fb97ace6]{display:flex;align-items:center;gap:12px}.head-icon[data-v-fb97ace6]{font-size:38px}.head-title h1[data-v-fb97ace6]{margin:0;font-size:24px}.head-sub[data-v-fb97ace6]{margin:4px 0 0;font-size:14px;color:#444}.grade-tag[data-v-fb97ace6]{margin-left:8px;background:#eef3ff;color:#3a6;padding:2px 8px;border-radius:10px;font-size:12px}.grade-tag.muted[data-v-fb97ace6]{background:#f0f0f0;color:#999}.head-desc[data-v-fb97ace6]{margin:10px 0 0;color:#666;font-size:13px}.mh-entries[data-v-fb97ace6]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:22px}.grade-bar[data-v-fb97ace6]{background:#fff;border:1px solid #e8ecf4;border-radius:14px;margin-bottom:20px}.gb-inner[data-v-fb97ace6]{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:nowrap;overflow:hidden}.gb-icon[data-v-fb97ace6]{font-size:18px;flex-shrink:0}.gb-sel[data-v-fb97ace6]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;flex-shrink:0}.gb-sel[data-v-fb97ace6]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.gb-hint[data-v-fb97ace6]{font-size:12px;color:#aaa;margin-left:auto;white-space:nowrap;flex-shrink:0}.gb-paste[data-v-fb97ace6]{padding:6px 12px;border:1px solid #6a5cff;background:#fff;color:#6a5cff;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.gb-paste[data-v-fb97ace6]:hover{background:#6a5cff;color:#fff}.entry-card[data-v-fb97ace6]{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #0000000a}.entry-card[data-v-fb97ace6]:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3c5aa01f;border-color:#cdd9f5}.ec-icon[data-v-fb97ace6]{font-size:30px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf1ff,#f3e9ff);border-radius:12px}.ec-main[data-v-fb97ace6]{flex:1}.ec-title[data-v-fb97ace6]{font-size:17px;font-weight:700}.ec-desc[data-v-fb97ace6]{font-size:13px;color:#777;margin-top:2px}.ec-arrow[data-v-fb97ace6]{font-size:26px;color:#bbb}.card[data-v-fb97ace6]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px}.card-title-row[data-v-fb97ace6]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card-title[data-v-fb97ace6]{margin:0;font-size:17px}.unit-add[data-v-fb97ace6]{display:flex;gap:8px;margin-bottom:12px}.u-input[data-v-fb97ace6]{flex:1;padding:9px 12px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.unit-list[data-v-fb97ace6]{display:flex;flex-direction:column;gap:8px}.unit-item[data-v-fb97ace6]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8faff;border-radius:10px}.ui-main[data-v-fb97ace6]{display:flex;align-items:center;gap:8px}.ui-name[data-v-fb97ace6]{font-weight:600}.ui-grade[data-v-fb97ace6]{font-size:12px;color:#3a6;background:#eaf6ee;padding:2px 8px;border-radius:10px}.ui-del[data-v-fb97ace6]{border:none;background:#fff0f0;color:#d44;padding:5px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ui-del[data-v-fb97ace6]:hover{background:#ffe0e0}.empty-unit[data-v-fb97ace6]{padding:14px;text-align:center}.muted[data-v-fb97ace6]{color:#999}.small[data-v-fb97ace6]{font-size:12px}.btn[data-v-fb97ace6]{padding:9px 16px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px}.btn-primary[data-v-fb97ace6]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-fb97ace6]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.head-title h1[data-v-fb97ace6]{font-size:20px}.head-icon[data-v-fb97ace6]{font-size:32px}}.mk-wrap[data-v-95af957d]{max-width:880px;margin:0 auto;padding:16px}.mk-head[data-v-95af957d]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mk-head h1[data-v-95af957d]{font-size:20px;margin:0}.back[data-v-95af957d]{border:none;background:#f0f3f8;color:#555;padding:6px 12px;border-radius:8px;cursor:pointer}.toolbar[data-v-95af957d]{display:flex;gap:10px;margin-bottom:14px;align-items:center}.sel[data-v-95af957d],.inp[data-v-95af957d]{padding:8px 10px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.sel[data-v-95af957d]{min-width:160px}.btn[data-v-95af957d]{padding:8px 14px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px}.btn-primary[data-v-95af957d]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-95af957d]:disabled{opacity:.5;cursor:not-allowed}.card[data-v-95af957d]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px;margin-bottom:14px}.form-line[data-v-95af957d]{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.form-line label[data-v-95af957d]{width:48px;color:#666;font-size:14px;padding-top:8px;flex-shrink:0}.inp[data-v-95af957d]{flex:1}.ta[data-v-95af957d]{resize:vertical}.img-row[data-v-95af957d]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.img-pick[data-v-95af957d]{border:1px dashed #c2cddd;border-radius:9px;padding:10px 14px;cursor:pointer;color:#5a7;background:#f7fbf8;font-size:13px}.thumb[data-v-95af957d]{position:relative;width:70px;height:70px;border-radius:9px;overflow:hidden;border:1px solid #eee}.thumb img[data-v-95af957d]{width:100%;height:100%;object-fit:cover}.thumb-x[data-v-95af957d]{position:absolute;top:2px;right:2px;border:none;background:#0000008c;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1}.form-actions[data-v-95af957d]{display:flex;gap:10px;justify-content:flex-end}.know-list[data-v-95af957d]{display:flex;flex-direction:column;gap:12px}.know-item[data-v-95af957d]{background:#fff;border:1px solid #eaeef5;border-radius:12px;padding:14px}.ki-head[data-v-95af957d]{display:flex;align-items:center;gap:8px}.ki-unit[data-v-95af957d]{font-size:12px;color:#3a6;background:#eaf6ee;padding:2px 8px;border-radius:10px;flex-shrink:0}.ki-title[data-v-95af957d]{font-weight:700;flex:1}.ki-del[data-v-95af957d]{border:none;background:#fff0f0;color:#d44;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ki-content[data-v-95af957d]{margin:8px 0;color:#444;white-space:pre-wrap}.ki-imgs[data-v-95af957d]{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ki-img[data-v-95af957d]{width:90px;height:90px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid #eee}.ki-time[data-v-95af957d]{font-size:12px;margin-top:6px}.empty[data-v-95af957d]{padding:30px;text-align:center}.muted[data-v-95af957d]{color:#999}.lightbox[data-v-95af957d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:999;cursor:zoom-out}.lightbox img[data-v-95af957d]{max-width:92%;max-height:92%;border-radius:8px}@media (max-width: 640px){.toolbar[data-v-95af957d]{flex-wrap:wrap}.sel[data-v-95af957d]{min-width:0;flex:1 1 100%}}.me-wrap[data-v-c5862faa]{max-width:880px;margin:0 auto;padding:16px}.me-head[data-v-c5862faa]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.me-head h1[data-v-c5862faa]{font-size:20px;margin:0;flex:1}.back[data-v-c5862faa]{border:none;background:#f0f3f8;color:#555;padding:6px 12px;border-radius:8px;cursor:pointer}.add-btn[data-v-c5862faa]{flex-shrink:0}.card[data-v-c5862faa]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px;margin-bottom:14px}.card.mini[data-v-c5862faa]{padding:12px}.form-grid[data-v-c5862faa]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fl[data-v-c5862faa]{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.fl label[data-v-c5862faa]{width:52px;color:#666;font-size:14px;padding-top:8px;flex-shrink:0}.inp[data-v-c5862faa]{flex:1;padding:8px 10px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.inp.sm[data-v-c5862faa]{width:90px;flex:none}.ta[data-v-c5862faa]{resize:vertical}.img-row[data-v-c5862faa]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.img-pick[data-v-c5862faa]{border:1px dashed #c2cddd;border-radius:9px;padding:10px 14px;cursor:pointer;color:#5a7;background:#f7fbf8;font-size:13px}.thumb[data-v-c5862faa]{position:relative;width:64px;height:64px;border-radius:9px;overflow:hidden;border:1px solid #eee}.thumb img[data-v-c5862faa]{width:100%;height:100%;object-fit:cover}.thumb-x[data-v-c5862faa]{position:absolute;top:2px;right:2px;border:none;background:#0000008c;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:12px}.form-actions[data-v-c5862faa]{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.btn[data-v-c5862faa]{padding:8px 14px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px}.btn.sm[data-v-c5862faa]{padding:6px 12px;font-size:13px}.btn-primary[data-v-c5862faa]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-c5862faa]:disabled{opacity:.5;cursor:not-allowed}.exam-list[data-v-c5862faa]{display:flex;flex-direction:column;gap:10px}.exam-card[data-v-c5862faa]{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eaeef5;border-radius:12px;padding:14px;cursor:pointer}.exam-card[data-v-c5862faa]:hover{border-color:#cdd9f5}.ec-title[data-v-c5862faa]{font-weight:700}.ec-meta[data-v-c5862faa]{font-size:12px;display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.ec-right[data-v-c5862faa]{margin-left:auto;display:flex;align-items:center;gap:8px}.ec-del[data-v-c5862faa]{border:none;background:#fff0f0;color:#d44;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ec-arrow[data-v-c5862faa]{font-size:22px;color:#bbb}.detail .sec[data-v-c5862faa]{font-size:16px;margin:16px 0 8px}.meta-row[data-v-c5862faa]{display:flex;gap:12px;flex-wrap:wrap}.pages[data-v-c5862faa]{display:flex;flex-direction:column;gap:10px}.page-img[data-v-c5862faa]{width:100%;border-radius:10px;border:1px solid #eee;cursor:zoom-in}.sec-row[data-v-c5862faa]{display:flex;align-items:center;justify-content:space-between}.sec-row .sec[data-v-c5862faa]{margin-bottom:0}.err-list[data-v-c5862faa]{display:flex;flex-direction:column;gap:10px}.err-item[data-v-c5862faa]{background:#fafbff;border:1px solid #eef1f8;border-radius:10px;padding:12px}.er-top[data-v-c5862faa]{display:flex;gap:10px;align-items:flex-start}.er-img[data-v-c5862faa]{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:zoom-in}.er-img img[data-v-c5862faa]{width:100%;height:100%;object-fit:cover}.er-q[data-v-c5862faa]{flex:1;white-space:pre-wrap}.er-master[data-v-c5862faa]{border:1px solid #d8dee9;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;font-size:13px;flex-shrink:0}.er-master.on[data-v-c5862faa]{background:#eaf6ee;color:#2a8;border-color:#bfe3c8}.er-meta[data-v-c5862faa]{font-size:12px;display:flex;gap:12px;align-items:center;margin-top:6px;flex-wrap:wrap}.link[data-v-c5862faa]{border:none;background:none;color:#4a90e2;cursor:pointer;font-size:12px;padding:0}.anl[data-v-c5862faa]{margin-top:8px;border-top:1px dashed #e2e6f0;padding-top:8px}.anl-item[data-v-c5862faa]{display:flex;gap:8px;margin-bottom:6px;align-items:flex-start}.anl-tag[data-v-c5862faa]{font-size:11px;padding:1px 7px;border-radius:8px;flex-shrink:0}.anl-tag.child[data-v-c5862faa]{background:#eef3ff;color:#5a7}.anl-tag.parent[data-v-c5862faa]{background:#fff4e8;color:#e08}.anl-content[data-v-c5862faa]{flex:1;white-space:pre-wrap}.anl-add[data-v-c5862faa]{display:flex;gap:6px;margin-top:6px}.anl-add .inp[data-v-c5862faa]{flex:1}.empty[data-v-c5862faa]{padding:30px;text-align:center}.muted[data-v-c5862faa]{color:#999}.small[data-v-c5862faa]{font-size:12px}.lightbox[data-v-c5862faa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:999;cursor:zoom-out}.lightbox img[data-v-c5862faa]{max-width:92%;max-height:92%;border-radius:8px}@media (max-width: 640px){.form-grid[data-v-c5862faa]{grid-template-columns:1fr}}.er-wrap[data-v-f99d5cd8]{max-width:880px;margin:0 auto;padding:16px}.er-head[data-v-f99d5cd8]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.er-head h1[data-v-f99d5cd8]{font-size:20px;margin:0;flex:1}.back[data-v-f99d5cd8]{border:none;background:#f0f3f8;color:#555;padding:6px 12px;border-radius:8px;cursor:pointer}.add-btn[data-v-f99d5cd8]{flex-shrink:0}.card[data-v-f99d5cd8]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px;margin-bottom:14px}.stats .st-grid[data-v-f99d5cd8]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.st[data-v-f99d5cd8]{text-align:center;background:#f8faff;border-radius:10px;padding:10px}.st b[data-v-f99d5cd8]{font-size:22px;display:block}.st span[data-v-f99d5cd8]{font-size:12px;color:#888}.st.ok b[data-v-f99d5cd8]{color:#2a8}.st.no b[data-v-f99d5cd8]{color:#d44}.st-sub[data-v-f99d5cd8]{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.st-label[data-v-f99d5cd8]{font-size:13px;color:#666}.chip[data-v-f99d5cd8]{font-size:12px;background:#eef3ff;color:#5a7;padding:2px 8px;border-radius:10px}.filters[data-v-f99d5cd8]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.sel[data-v-f99d5cd8]{padding:8px 10px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.form-grid[data-v-f99d5cd8]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fl[data-v-f99d5cd8]{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.fl label[data-v-f99d5cd8]{width:44px;color:#666;font-size:14px;padding-top:8px;flex-shrink:0}.inp[data-v-f99d5cd8]{flex:1;padding:8px 10px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.inp.sm[data-v-f99d5cd8]{width:90px;flex:none}.ta[data-v-f99d5cd8]{resize:vertical}.img-row[data-v-f99d5cd8]{display:flex;gap:8px;flex-wrap:wrap;flex:1}.img-pick[data-v-f99d5cd8]{border:1px dashed #c2cddd;border-radius:9px;padding:10px 14px;cursor:pointer;color:#5a7;background:#f7fbf8;font-size:13px}.thumb[data-v-f99d5cd8]{position:relative;width:64px;height:64px;border-radius:9px;overflow:hidden;border:1px solid #eee}.thumb img[data-v-f99d5cd8]{width:100%;height:100%;object-fit:cover}.thumb-x[data-v-f99d5cd8]{position:absolute;top:2px;right:2px;border:none;background:#0000008c;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:12px}.form-actions[data-v-f99d5cd8]{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.btn[data-v-f99d5cd8]{padding:8px 14px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px}.btn.sm[data-v-f99d5cd8]{padding:6px 12px;font-size:13px}.btn-primary[data-v-f99d5cd8]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-f99d5cd8]:disabled{opacity:.5;cursor:not-allowed}.err-list[data-v-f99d5cd8]{display:flex;flex-direction:column;gap:10px}.err-item[data-v-f99d5cd8]{background:#fafbff;border:1px solid #eef1f8;border-radius:10px;padding:12px}.er-top[data-v-f99d5cd8]{display:flex;gap:10px;align-items:flex-start}.er-src[data-v-f99d5cd8]{font-size:11px;padding:2px 8px;border-radius:8px;flex-shrink:0;margin-top:2px}.er-src.homework[data-v-f99d5cd8]{background:#eef3ff;color:#5a7}.er-src.exam[data-v-f99d5cd8]{background:#fff4e8;color:#e08}.er-img[data-v-f99d5cd8]{width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:zoom-in}.er-img img[data-v-f99d5cd8]{width:100%;height:100%;object-fit:cover}.er-q[data-v-f99d5cd8]{flex:1;white-space:pre-wrap}.er-ans[data-v-f99d5cd8]{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;padding:6px 10px;background:#f7f9fc;border-radius:8px}.er-a[data-v-f99d5cd8]{font-size:13px;line-height:1.5}.er-a.wrong[data-v-f99d5cd8]{color:#e0506a}.er-a.right[data-v-f99d5cd8]{color:#2563a8;font-weight:600}.er-master[data-v-f99d5cd8]{border:1px solid #d8dee9;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;font-size:13px;flex-shrink:0}.er-master.on[data-v-f99d5cd8]{background:#eaf6ee;color:#2a8;border-color:#bfe3c8}.er-meta[data-v-f99d5cd8]{font-size:12px;display:flex;gap:12px;align-items:center;margin-top:6px;flex-wrap:wrap}.link[data-v-f99d5cd8]{border:none;background:none;color:#4a90e2;cursor:pointer;font-size:12px;padding:0}.anl[data-v-f99d5cd8]{margin-top:8px;border-top:1px dashed #e2e6f0;padding-top:8px}.anl-item[data-v-f99d5cd8]{display:flex;gap:8px;margin-bottom:6px;align-items:flex-start}.anl-tag[data-v-f99d5cd8]{font-size:11px;padding:1px 7px;border-radius:8px;flex-shrink:0}.anl-tag.child[data-v-f99d5cd8]{background:#eef3ff;color:#5a7}.anl-tag.parent[data-v-f99d5cd8]{background:#fff4e8;color:#e08}.anl-content[data-v-f99d5cd8]{flex:1;white-space:pre-wrap}.anl-add[data-v-f99d5cd8]{display:flex;gap:6px;margin-top:6px}.anl-add .inp[data-v-f99d5cd8]{flex:1}.empty[data-v-f99d5cd8]{padding:30px;text-align:center}.muted[data-v-f99d5cd8]{color:#999}.small[data-v-f99d5cd8]{font-size:12px}.lightbox[data-v-f99d5cd8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:999;cursor:zoom-out}.lightbox img[data-v-f99d5cd8]{max-width:92%;max-height:92%;border-radius:8px}@media (max-width: 640px){.stats .st-grid[data-v-f99d5cd8]{grid-template-columns:repeat(2,1fr)}.form-grid[data-v-f99d5cd8]{grid-template-columns:1fr}.er-top[data-v-f99d5cd8]{flex-wrap:wrap}}.mh-wrap[data-v-7e37d246] *,.mh-wrap[data-v-7e37d246] *:before,.mh-wrap[data-v-7e37d246] *:after{box-sizing:border-box}.mh-wrap[data-v-7e37d246]{width:100%;max-width:900px;margin:0 auto;padding:16px}.hero[data-v-7e37d246]{position:relative;border-radius:20px;overflow:hidden;margin-bottom:20px}.hero-bg[data-v-7e37d246]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)}.hero-content[data-v-7e37d246]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:24px 20px 20px;gap:16px}.hero-left[data-v-7e37d246]{flex:1;min-width:0}.hero-badge[data-v-7e37d246]{display:inline-block;background:#fff3;color:#fff;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:1px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-bottom:10px}.hero-title[data-v-7e37d246]{margin:0;font-size:26px;color:#fff;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.15)}.hero-sub[data-v-7e37d246]{margin:8px 0 0;display:flex;gap:8px;flex-wrap:wrap}.hero-tag[data-v-7e37d246]{background:#ffffff40;color:#fff;padding:3px 12px;border-radius:14px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-stats[data-v-7e37d246]{display:flex;align-items:center;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:12px 16px;flex-shrink:0}.stat-item[data-v-7e37d246]{text-align:center;padding:0 10px}.stat-num[data-v-7e37d246]{font-size:26px;font-weight:800;color:#fff;line-height:1.1}.stat-label[data-v-7e37d246]{font-size:11px;color:#fffc;margin-top:2px}.stat-highlight .stat-num[data-v-7e37d246]{color:#a8ffdc;text-shadow:0 0 12px rgba(168,255,220,.4)}.stat-pending .stat-num[data-v-7e37d246]{color:#ffd93d}.stat-divider[data-v-7e37d246]{width:1px;height:30px;background:#fff3;flex-shrink:0}.grade-bar[data-v-7e37d246]{background:#fff;border:1px solid #e8ecf4;border-radius:14px;margin-bottom:20px}.gb-inner[data-v-7e37d246]{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:nowrap;overflow:hidden}.gb-icon[data-v-7e37d246]{font-size:18px;flex-shrink:0}.gb-sel[data-v-7e37d246]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;flex-shrink:0}.gb-sel[data-v-7e37d246]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.gb-hint[data-v-7e37d246]{font-size:12px;color:#aaa;margin-left:auto;white-space:nowrap;flex-shrink:0}.gb-paste[data-v-7e37d246]{padding:6px 12px;border:1px solid #6a5cff;background:#fff;color:#6a5cff;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.gb-paste[data-v-7e37d246]:hover{background:#6a5cff;color:#fff}.quick-actions[data-v-7e37d246]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.qa-card[data-v-7e37d246]{display:flex;align-items:center;gap:12px;border-radius:16px;padding:16px 18px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1.5px solid transparent}.qa-card[data-v-7e37d246]:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.qa-challenge[data-v-7e37d246]{background:linear-gradient(135deg,#f5f0ff,#ede6ff);border-color:#d4c5fa}.qa-challenge[data-v-7e37d246]:hover{border-color:#c0aef5}.qa-errors[data-v-7e37d246]{background:linear-gradient(135deg,#fff5f5,#fef0f0);border-color:#fbc5c5}.qa-errors[data-v-7e37d246]:hover{border-color:#f9a0a0}.qa-icon[data-v-7e37d246]{font-size:28px;flex-shrink:0}.qa-body[data-v-7e37d246]{flex:1;min-width:0}.qa-title[data-v-7e37d246]{font-size:15px;font-weight:800;color:#1a1a2e;margin-bottom:2px}.qa-desc[data-v-7e37d246]{font-size:11px;color:#8892a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-arrow[data-v-7e37d246]{font-size:13px;font-weight:700;color:#6c5ce7;flex-shrink:0;white-space:nowrap;transition:transform .2s}.qa-card:hover .qa-arrow[data-v-7e37d246]{transform:translate(3px)}@media (max-width: 640px){.quick-actions[data-v-7e37d246]{grid-template-columns:1fr}.qa-desc[data-v-7e37d246]{white-space:normal}}.section-label[data-v-7e37d246]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sl-line[data-v-7e37d246]{flex:1;height:1px;background:linear-gradient(90deg,transparent,#e0e5ef,transparent);min-width:0}.sl-text[data-v-7e37d246]{font-size:13px;font-weight:700;color:#8892a8;letter-spacing:2px;white-space:nowrap}.card-grid.primary[data-v-7e37d246]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.mod-card[data-v-7e37d246]{position:relative;background:#fff;border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border:1px solid #eee;min-width:0}.mod-card[data-v-7e37d246]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.mod-glow[data-v-7e37d246]{position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;opacity:.08;filter:blur(30px);transition:opacity .3s;pointer-events:none}.mod-card:hover .mod-glow[data-v-7e37d246]{opacity:.15}.mod-recite .mod-glow[data-v-7e37d246]{background:#6c5ce7}.mod-basic .mod-glow[data-v-7e37d246]{background:#00b894}.mod-essay .mod-glow[data-v-7e37d246]{background:#e17055}.mod-top[data-v-7e37d246]{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 0;gap:8px}.mod-icon-wrap[data-v-7e37d246]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001f;flex-shrink:0}.mod-icon-wrap svg[data-v-7e37d246]{width:36px;height:36px}.mod-progress[data-v-7e37d246]{flex-shrink:0}.mp-ring[data-v-7e37d246]{position:relative;width:40px;height:40px}.mp-ring svg[data-v-7e37d246]{width:100%;height:100%;transform:rotate(-90deg)}.mp-pct[data-v-7e37d246]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#6c5ce7}.mod-body[data-v-7e37d246]{padding:12px 18px 0;min-width:0}.mod-title[data-v-7e37d246]{margin:0;font-size:17px;font-weight:800;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-desc[data-v-7e37d246]{margin:4px 0 0;font-size:12px;color:#8892a8;line-height:1.3}.mod-tags[data-v-7e37d246]{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.mtag[data-v-7e37d246]{font-size:10px;padding:2px 8px;border-radius:20px;background:#f4f6fc;color:#6b7394;font-weight:500;white-space:nowrap}.mod-footer[data-v-7e37d246]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 16px;border-top:1px solid #f5f7fc;margin-top:10px}.mod-count[data-v-7e37d246]{font-size:12px;color:#8892a8;font-weight:500;white-space:nowrap}.mod-go[data-v-7e37d246]{font-size:14px;font-weight:700;color:#667eea;transition:transform .2s;flex-shrink:0}.mod-card:hover .mod-go[data-v-7e37d246]{transform:translate(3px)}.card-grid.secondary[data-v-7e37d246]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.sub-card[data-v-7e37d246]{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eef1f7;border-radius:14px;padding:14px;cursor:pointer;transition:all .2s ease;min-width:0}.sub-card[data-v-7e37d246]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f;border-color:#dce2f0}.sc-icon[data-v-7e37d246]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.sc-gold[data-v-7e37d246]{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.sc-red[data-v-7e37d246]{background:linear-gradient(135deg,#fab1a0,#e17055)}.sc-blue[data-v-7e37d246]{background:linear-gradient(135deg,#74b9ff,#0984e3)}.sc-purple[data-v-7e37d246]{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.sc-challenge[data-v-7e37d246]{border-color:#e5e0fb}.sc-challenge[data-v-7e37d246]:hover{border-color:#c7bef5;box-shadow:0 6px 20px #6c5ce71f}.sc-info[data-v-7e37d246]{flex:1;min-width:0}.sc-title[data-v-7e37d246]{margin:0;font-size:14px;font-weight:700;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-desc[data-v-7e37d246]{margin:2px 0 0;font-size:11px;color:#a0aec0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-arrow[data-v-7e37d246]{font-size:18px;color:#cbd5e0;font-weight:700;transition:transform .2s;flex-shrink:0}.sub-card:hover .sc-arrow[data-v-7e37d246]{transform:translate(3px);color:#667eea}.unit-section[data-v-7e37d246]{background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:20px}.us-head[data-v-7e37d246]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.us-title[data-v-7e37d246]{margin:0;font-size:16px;font-weight:700;color:#2d3436;white-space:nowrap}.us-hint[data-v-7e37d246]{font-size:12px;color:#a0aec0;white-space:nowrap}.us-add-row[data-v-7e37d246]{display:flex;gap:8px;margin-bottom:14px}.us-input[data-v-7e37d246]{flex:1;min-width:0;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;transition:border-color .2s;background:#fafbfe}.us-input[data-v-7e37d246]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.us-loading[data-v-7e37d246],.us-empty[data-v-7e37d246]{text-align:center;color:#a0aec0;font-size:13px;padding:14px}.unit-list[data-v-7e37d246]{display:flex;flex-direction:column;gap:8px}.unit-chip[data-v-7e37d246]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:10px;transition:background .15s}.unit-chip[data-v-7e37d246]:hover{background:#f1f5f9}.uc-name[data-v-7e37d246]{font-weight:600;font-size:14px;color:#334155}.uc-grade[data-v-7e37d246]{font-size:11px;color:#667eea;background:#eef2ff;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.uc-del[data-v-7e37d246]{margin-left:auto;border:none;background:none;color:#ccc;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:6px;transition:all .15s;flex-shrink:0}.uc-del[data-v-7e37d246]:hover{background:#fef2f2;color:#e74c3c}.btn-sm[data-v-7e37d246]{padding:8px 16px;font-size:13px}.btn[data-v-7e37d246]{padding:9px 16px;border-radius:10px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s;flex-shrink:0}.btn-primary[data-v-7e37d246]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.btn-primary[data-v-7e37d246]:hover{box-shadow:0 4px 12px #667eea59}.btn-primary[data-v-7e37d246]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 860px){.card-grid.primary[data-v-7e37d246],.card-grid.secondary[data-v-7e37d246]{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content[data-v-7e37d246]{padding:20px;gap:12px}.hero-stats[data-v-7e37d246]{padding:10px 14px}.stat-item[data-v-7e37d246]{padding:0 8px}.stat-num[data-v-7e37d246]{font-size:22px}}@media (max-width: 768px){.card-grid.primary[data-v-7e37d246],.card-grid.secondary[data-v-7e37d246]{grid-template-columns:1fr}.hero-content[data-v-7e37d246]{flex-direction:column;align-items:flex-start;padding:18px}.hero-stats[data-v-7e37d246]{width:100%;justify-content:space-around}.hero-title[data-v-7e37d246]{font-size:22px}.stat-num[data-v-7e37d246]{font-size:24px}.gb-hint[data-v-7e37d246]{display:none}}@media (max-width: 480px){.mh-wrap[data-v-7e37d246]{padding:10px}.hero[data-v-7e37d246]{border-radius:16px}.gb-inner[data-v-7e37d246]{flex-wrap:wrap}.gb-hint[data-v-7e37d246]{display:block;width:100%;margin-left:0;margin-top:4px}}.ccp-wrap[data-v-5de2f777]{display:flex;flex-direction:column;min-height:0}.ccp-head[data-v-5de2f777]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eef2fa;background:linear-gradient(135deg,#f8faff,#f0f4ff)}.ccp-title[data-v-5de2f777]{display:flex;align-items:center;gap:10px}.ccp-icon[data-v-5de2f777]{font-size:22px}.ccp-t1[data-v-5de2f777]{font-size:15px;font-weight:800;color:#1a1a2e}.ccp-t2[data-v-5de2f777]{font-size:12px;color:#8892a8;margin-top:1px}.ccp-head-actions[data-v-5de2f777]{display:flex;gap:8px}.ccp-state[data-v-5de2f777]{display:flex;align-items:center;gap:10px;justify-content:center;padding:40px;color:#a0aec0}.spinner[data-v-5de2f777]{display:inline-block;width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin-5de2f777 .6s linear infinite}@keyframes spin-5de2f777{to{transform:rotate(360deg)}}.ccp-body[data-v-5de2f777]{padding:16px 18px;overflow-y:auto;flex:1}.ccp-point[data-v-5de2f777]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fff7ed,#fff1f2);border:1px solid #fed7aa;border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:13px;color:#9a3412;line-height:1.5}.ccp-point-ico[data-v-5de2f777]{font-size:18px}.ccp-point b[data-v-5de2f777]{color:#c2410c;font-weight:800}.ccp-point-max[data-v-5de2f777]{color:#b45309}.ccp-sec[data-v-5de2f777]{margin-bottom:20px}.ccp-sec-title[data-v-5de2f777]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:#334155;margin-bottom:10px}.ccp-sec-no[data-v-5de2f777]{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.ccp-sec-hint[data-v-5de2f777]{font-size:11px;font-weight:400;color:#a0aec0;margin-left:auto}.ccp-poem[data-v-5de2f777]{display:flex;flex-direction:column;gap:6px}.ccp-line[data-v-5de2f777]{display:flex;align-items:center;gap:8px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,serif;font-size:16px;line-height:1.8;color:#2d2d2d;padding:4px 0}.ccp-line-idx[data-v-5de2f777]{color:#c0c8d8;font-size:13px;min-width:18px;font-family:system-ui,sans-serif}.ccp-line-text[data-v-5de2f777]{letter-spacing:.5px}.ccp-line.blank[data-v-5de2f777]{gap:8px}.ccp-blank-input[data-v-5de2f777]{flex:1;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,serif;font-size:16px;padding:6px 12px;border:1px dashed #c0c8d8;border-radius:8px;background:#fbfcfe;outline:none;transition:border-color .15s}.ccp-blank-input[data-v-5de2f777]:focus{border-color:#667eea;border-style:solid;box-shadow:0 0 0 3px #667eea14}.ccp-check-btn[data-v-5de2f777]{padding:3px 12px;border:1px solid #c5d2fa;border-radius:8px;background:linear-gradient(135deg,#eef3ff,#dbe8ff);color:#4454a8;cursor:pointer;font-size:12px;font-weight:600;margin-left:8px;transition:all .15s;white-space:nowrap;flex-shrink:0}.ccp-check-btn[data-v-5de2f777]:hover{background:linear-gradient(135deg,#dbe8ff,#c5d2fa);box-shadow:0 2px 8px #4454a826}.ccp-line.blank[data-v-5de2f777]{flex-wrap:wrap;align-items:center}.ccp-check-fb[data-v-5de2f777]{margin-top:6px;margin-left:26px;font-size:12.5px;padding:5px 10px;border-radius:8px;line-height:1.5}.ccp-check-fb.ok[data-v-5de2f777]{color:#1a9e5a;background:#e6f7ec;border-left:3px solid #34d399}.ccp-check-fb.bad[data-v-5de2f777]{color:#d85c7a;background:#fef6f6;border-left:3px solid #f87171}.ccp-check-exp[data-v-5de2f777]{display:block;color:#888;font-weight:400;margin-top:2px}.ccp-q[data-v-5de2f777]{margin-bottom:12px}.ccp-q-text[data-v-5de2f777]{font-size:14px;color:#334155;line-height:1.7;margin-bottom:6px;font-weight:600}.ccp-ta[data-v-5de2f777]{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;background:#fafbff;resize:vertical;font-family:inherit;box-sizing:border-box;line-height:1.6}.ccp-ta[data-v-5de2f777]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14}.ccp-actions[data-v-5de2f777]{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.ccp-btn[data-v-5de2f777]{padding:8px 16px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.ccp-btn-sm[data-v-5de2f777]{padding:5px 12px;font-size:12px}.ccp-btn-ghost[data-v-5de2f777]{background:#f5f7fc;color:#667}.ccp-btn-ghost[data-v-5de2f777]:hover{background:#eef1f7}.ccp-btn-accent[data-v-5de2f777]{background:linear-gradient(135deg,#eef3ff,#dbe8ff);color:#4454a8;border-color:#c5d2fa;font-weight:700}.ccp-btn-accent[data-v-5de2f777]:hover{background:linear-gradient(135deg,#dbe8ff,#c5d2fa);box-shadow:0 4px 12px #4454a826}.ccp-btn-primary[data-v-5de2f777]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.ccp-btn-primary[data-v-5de2f777]:hover{box-shadow:0 4px 12px #667eea4d}.ccp-btn[data-v-5de2f777]:disabled{opacity:.5;cursor:not-allowed}.ccp-result-head[data-v-5de2f777]{display:flex;align-items:center;gap:16px;border-radius:14px;padding:16px 20px;margin-bottom:16px;color:#fff}.ccp-result-head.good[data-v-5de2f777]{background:linear-gradient(135deg,#34d399,#10b981)}.ccp-result-head.mid[data-v-5de2f777]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.ccp-result-head.low[data-v-5de2f777]{background:linear-gradient(135deg,#f87171,#ef4444)}.ccp-score[data-v-5de2f777]{font-size:34px;font-weight:800;line-height:1}.ccp-score span[data-v-5de2f777]{font-size:16px}.ccp-score-detail[data-v-5de2f777]{font-size:13px;line-height:1.7}.ccp-score-detail b[data-v-5de2f777]{font-size:16px}.ccp-score-sub[data-v-5de2f777]{opacity:.92}.ccp-point-got[data-v-5de2f777]{font-weight:800;opacity:1}.ccp-point-got-off[data-v-5de2f777]{font-weight:600;opacity:.75}.ccp-bank[data-v-5de2f777]{color:#d85c7a;font-weight:700}.ccp-bank-off[data-v-5de2f777]{color:#2a8;font-weight:600}.ccp-hist-compare[data-v-5de2f777]{background:linear-gradient(135deg,#f0f4ff,#e6ecff);border:1.5px solid #c5d2fa;border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 2px 12px #4454a80f}.ccp-hc-title[data-v-5de2f777]{font-size:15px;font-weight:800;color:#334155;margin-bottom:14px}.ccp-hc-row[data-v-5de2f777]{display:flex;gap:8px}.ccp-hc-cell[data-v-5de2f777]{flex:1;text-align:center;background:#fff;border:1px solid #e6ecff;border-radius:10px;padding:10px 4px}.ccp-hc-val[data-v-5de2f777]{font-size:20px;font-weight:800;color:#334155;line-height:1.1}.ccp-hc-val.good[data-v-5de2f777]{color:#2a9d6f}.ccp-hc-val.mid[data-v-5de2f777]{color:#e08a1e}.ccp-hc-val.low[data-v-5de2f777]{color:#d85c7a}.ccp-hc-lab[data-v-5de2f777]{font-size:11px;color:#97a0b8;margin-top:4px}.ccp-hc-trend[data-v-5de2f777]{margin-top:10px;text-align:center;font-size:13px;font-weight:700}.ccp-hc-trend .up[data-v-5de2f777]{color:#2a9d6f}.ccp-hc-trend .down[data-v-5de2f777]{color:#d85c7a}.ccp-hc-trend .flat[data-v-5de2f777]{color:#97a0b8}.ccp-detail[data-v-5de2f777]{display:flex;flex-direction:column;gap:10px}.ccp-d-item[data-v-5de2f777]{border:1px solid #eef1f7;border-radius:12px;padding:12px 14px;background:#fff;border-left:4px solid #cbd5e0}.ccp-d-item.ok[data-v-5de2f777]{border-left-color:#34d399;background:#f6fdf9}.ccp-d-item.bad[data-v-5de2f777]{border-left-color:#f87171;background:#fef6f6}.ccp-d-top[data-v-5de2f777]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ccp-d-tag[data-v-5de2f777]{font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;color:#fff}.tag-blank[data-v-5de2f777]{background:#667eea}.tag-note[data-v-5de2f777]{background:#8a2a9a}.tag-summary[data-v-5de2f777]{background:#2563a8}.tag-gist[data-v-5de2f777]{background:#0d9488}.ccp-d-judge[data-v-5de2f777]{margin-left:auto;font-size:12px;font-weight:700}.ccp-d-item.ok .ccp-d-judge[data-v-5de2f777]{color:#10b981}.ccp-d-item.bad .ccp-d-judge[data-v-5de2f777]{color:#ef4444}.ccp-d-q[data-v-5de2f777]{font-size:13px;line-height:1.6;color:#334155;font-weight:600;margin-bottom:4px;padding:4px 8px;background:#f0f4ff;border-radius:6px}.ccp-d-a[data-v-5de2f777],.ccp-d-e[data-v-5de2f777]{font-size:13px;line-height:1.6;color:#555}.ccp-d-al[data-v-5de2f777]{color:#999;font-weight:600}.ccp-d-e[data-v-5de2f777]{color:#2563a8}.ccp-history[data-v-5de2f777]{border-top:2px solid #e2e8f0;background:linear-gradient(180deg,#f8faff,#fff);padding:16px 18px;max-height:300px;overflow-y:auto}.ccp-h-head[data-v-5de2f777]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ccp-h-title-text[data-v-5de2f777]{font-size:15px;font-weight:800;color:#334155}.ccp-h-empty[data-v-5de2f777]{font-size:13px;color:#a0aec0;padding:16px 0;text-align:center}.ccp-h-item[data-v-5de2f777]{padding:10px 0;border-bottom:1px dashed #e2e8f0}.ccp-h-item[data-v-5de2f777]:last-child{border-bottom:none}.ccp-h-bar[data-v-5de2f777]{display:flex;align-items:center;gap:12px}.ccp-h-acc[data-v-5de2f777]{font-size:14px;font-weight:800}.ccp-h-acc.good[data-v-5de2f777]{color:#10b981}.ccp-h-acc.mid[data-v-5de2f777]{color:#f59e0b}.ccp-h-acc.low[data-v-5de2f777]{color:#ef4444}.ccp-h-meta[data-v-5de2f777]{font-size:12px;color:#888}.ccp-h-time[data-v-5de2f777]{margin-left:auto;font-size:12px;color:#aaa}.ccp-slide-enter-active[data-v-5de2f777],.ccp-slide-leave-active[data-v-5de2f777]{transition:all .25s ease}.ccp-slide-enter-from[data-v-5de2f777],.ccp-slide-leave-to[data-v-5de2f777]{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}@media (max-width: 640px){.ccp-line[data-v-5de2f777],.ccp-blank-input[data-v-5de2f777]{font-size:15px}}.cr-wrap[data-v-f3f90429]{max-width:820px;margin:0 auto;padding:16px}.cr-nav[data-v-f3f90429]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-f3f90429]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back svg[data-v-f3f90429]{transition:transform .2s ease}.nav-back[data-v-f3f90429]:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.nav-back:hover svg[data-v-f3f90429]{transform:translate(-2px)}.nav-back[data-v-f3f90429]:active{transform:translateY(0);box-shadow:0 2px 6px #667eea40}.nav-title[data-v-f3f90429]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-f3f90429]{margin:0;font-size:19px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-f3f90429]{font-size:22px}.nav-grade[data-v-f3f90429]{display:flex;gap:8px}.ng-sel[data-v-f3f90429]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.ng-sel[data-v-f3f90429]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.stat-bar[data-v-f3f90429]{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#f8faff,#f0f4ff);border:1px solid #e6ecfa;border-radius:14px;padding:12px 18px;margin-bottom:12px;flex-wrap:wrap}.sb-progress[data-v-f3f90429]{display:flex;align-items:center;gap:10px;flex:1;min-width:160px}.sb-track[data-v-f3f90429]{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;max-width:200px}.sb-fill[data-v-f3f90429]{height:100%;background:linear-gradient(90deg,#667eea,#a855f7);border-radius:4px;transition:width .4s ease}.sb-text[data-v-f3f90429]{font-size:13px;color:#555;white-space:nowrap}.sb-text b[data-v-f3f90429]{color:#667eea;font-size:16px}.sb-levels[data-v-f3f90429]{display:flex;gap:6px}.sl-chip[data-v-f3f90429]{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600}.sl-chip i[data-v-f3f90429]{width:6px;height:6px;border-radius:50%;display:inline-block}.sl-you[data-v-f3f90429]{background:#eef9f0;color:#2a9d5c}.sl-you i[data-v-f3f90429]{background:#2a9d5c}.sl-liang[data-v-f3f90429]{background:#eef4ff;color:#4a90e2}.sl-liang i[data-v-f3f90429]{background:#4a90e2}.sl-zhong[data-v-f3f90429]{background:#fef9ee;color:#e6a000}.sl-zhong i[data-v-f3f90429]{background:#e6a000}.sl-cha[data-v-f3f90429]{background:#fef0f0;color:#e74c3c}.sl-cha i[data-v-f3f90429]{background:#e74c3c}.sb-pending[data-v-f3f90429]{margin-left:auto;border:none;background:linear-gradient(135deg,#fff4e0,#ffe8c0);color:#c07800;padding:6px 14px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.sb-pending[data-v-f3f90429]:hover{transform:translateY(-1px);box-shadow:0 3px 10px #c0780026}.pending-drawer[data-v-f3f90429]{background:#fffbf0;border:1px solid #f0e6c8;border-radius:12px;padding:10px 16px;margin-bottom:14px}.pd-item[data-v-f3f90429]{padding:5px 0;font-size:14px;color:#666;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .15s}.pd-item[data-v-f3f90429]:hover{color:#c07800}.pd-dot[data-v-f3f90429]{width:6px;height:6px;border-radius:50%;background:#e6a000;flex-shrink:0}.add-panel[data-v-f3f90429]{background:#fff;border:1px solid #e6ecfa;border-radius:16px;padding:20px;margin-bottom:14px;box-shadow:0 2px 12px #667eea0f}.ap-head[data-v-f3f90429]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ap-title[data-v-f3f90429]{font-size:16px;font-weight:700;color:#333}.ap-close[data-v-f3f90429]{border:none;background:none;font-size:18px;color:#aaa;cursor:pointer;padding:4px;border-radius:6px}.ap-close[data-v-f3f90429]:hover{background:#f5f5f5;color:#666}.ap-grid[data-v-f3f90429]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.ap-field[data-v-f3f90429]{margin-bottom:10px}.ap-field label[data-v-f3f90429]{display:block;font-size:12px;font-weight:600;color:#777;margin-bottom:4px}.ap-half[data-v-f3f90429],.ap-third[data-v-f3f90429]{min-width:0}.ap-field input[data-v-f3f90429],.ap-field select[data-v-f3f90429],.ap-field textarea[data-v-f3f90429]{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;background:#fafbff;transition:border-color .15s;box-sizing:border-box;font-family:inherit}.ap-field input[data-v-f3f90429]:focus,.ap-field select[data-v-f3f90429]:focus,.ap-field textarea[data-v-f3f90429]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14}.ap-field textarea[data-v-f3f90429]{resize:vertical;line-height:1.5}.ap-actions[data-v-f3f90429]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.fab-add[data-v-f3f90429]{display:block;width:100%;padding:10px;border:2px dashed #d0d8e8;border-radius:12px;background:none;color:#8892a8;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:14px;transition:all .15s}.fab-add[data-v-f3f90429]:hover{border-color:#667eea;color:#667eea;background:#f8faff}.state-msg[data-v-f3f90429]{text-align:center;padding:40px 20px;color:#a0aec0}.empty-state .empty-icon[data-v-f3f90429]{font-size:48px;margin-bottom:10px}.empty-state p[data-v-f3f90429]{margin:4px 0}.empty-hint[data-v-f3f90429]{font-size:13px!important}.spinner[data-v-f3f90429]{display:inline-block;width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin-f3f90429 .6s linear infinite;margin-bottom:8px}@keyframes spin-f3f90429{to{transform:rotate(360deg)}}.recite-list[data-v-f3f90429]{display:flex;flex-direction:column;gap:8px}.recite-group[data-v-f3f90429]{margin-bottom:4px}.rg-label[data-v-f3f90429]{font-size:13px;font-weight:800;color:#667eea;letter-spacing:1px;margin:14px 0 6px;padding-left:10px;border-left:3px solid #667eea}.recite-card[data-v-f3f90429]{background:#fff;border:1px solid #eef1f7;border-radius:14px;overflow:hidden;transition:box-shadow .2s,border-color .2s}.rc-open[data-v-f3f90429]{box-shadow:0 4px 20px #0000000f;border-color:#dce4f0}.rc-head[data-v-f3f90429]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .15s}.rc-head[data-v-f3f90429]:hover{background:#fafbff}.rc-left[data-v-f3f90429]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.rc-cat[data-v-f3f90429]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0;letter-spacing:.5px}.cat-古诗[data-v-f3f90429]{background:linear-gradient(135deg,#fef9e7,#fdeaa3);color:#946200}.cat-文言文[data-v-f3f90429]{background:linear-gradient(135deg,#eef7ff,#d4e8fd);color:#2563a8}.cat-成语[data-v-f3f90429]{background:linear-gradient(135deg,#eef9f0,#d4f0dc);color:#2a8a4a}.cat-名言[data-v-f3f90429]{background:linear-gradient(135deg,#fdf4ff,#f5d8fe);color:#8a2a9a}.cat-现代文[data-v-f3f90429]{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);color:#555}.cat-other[data-v-f3f90429]{background:#f0f0f0;color:#888}.rc-title[data-v-f3f90429]{font-weight:700;font-size:15px;color:#1a1a2e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-right[data-v-f3f90429]{display:flex;align-items:center;gap:8px;flex-shrink:0}.rc-status[data-v-f3f90429]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px}.st-done[data-v-f3f90429]{background:#eef9f0;color:#2a9d5c}.st-doing[data-v-f3f90429]{background:#fef9e7;color:#c07800}.st-none[data-v-f3f90429]{background:#f5f5f5;color:#aaa}.rc-arrow[data-v-f3f90429]{font-size:18px;color:#ccc;transition:transform .2s}.rc-body[data-v-f3f90429]{padding:4px 16px 16px;border-top:1px solid #f5f7fc}.detail-block[data-v-f3f90429]{background:#fbfcfe;border:1px solid #f0f3f9;border-radius:12px;margin-top:12px;overflow:hidden}.db-header[data-v-f3f90429]{display:flex;align-items:center;gap:6px;padding:10px 14px 0}.db-icon[data-v-f3f90429]{font-size:15px}.db-label[data-v-f3f90429]{font-size:12px;font-weight:700;color:#8892a8;letter-spacing:1px;text-transform:uppercase}.db-count[data-v-f3f90429]{margin-left:auto;font-size:11px;color:#bbb;font-weight:400}.db-poem[data-v-f3f90429]{background:linear-gradient(180deg,#fefefe,#faf8f5);border-color:#f0ece4}.poem-body[data-v-f3f90429]{padding:16px 18px 18px}.poem-text[data-v-f3f90429]{margin:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,serif;font-size:17px;line-height:2;color:#2d2d2d;white-space:pre-wrap;word-break:break-word;letter-spacing:.5px;text-indent:0}.db-trans[data-v-f3f90429]{background:#f8fbff;border-color:#e8f0fe}.trans-body[data-v-f3f90429]{padding:12px 14px 14px;font-size:14.5px;line-height:1.85;color:#4a5568}.db-notes[data-v-f3f90429]{background:#fefdf8;border-color:#f5edd8}.notes-list[data-v-f3f90429]{padding:8px 14px 12px;display:flex;flex-direction:column;gap:2px}.note-item[data-v-f3f90429]{display:flex;align-items:baseline;gap:6px;padding:5px 8px;border-radius:8px;transition:background .1s}.note-item[data-v-f3f90429]:hover{background:#e6b4500f}.note-term[data-v-f3f90429]{font-weight:700;color:#c07800;font-size:14px;flex-shrink:0;position:relative}.note-term[data-v-f3f90429]:after{content:"：";color:#c07800}.note-def[data-v-f3f90429]{font-size:14px;color:#555;line-height:1.6}.db-summary[data-v-f3f90429]{background:linear-gradient(135deg,#faf5ff,#f8f0fe);border-color:#ede4f8}.summary-body[data-v-f3f90429]{font-size:14.5px;line-height:1.85;color:#4a3f6b;position:relative;padding:12px 14px 14px 20px}.summary-body[data-v-f3f90429]:before{content:'"';position:absolute;left:4px;top:6px;font-size:32px;color:#d0c0e8;font-family:Georgia,serif;line-height:1}.progress-card[data-v-f3f90429]{margin-top:14px;background:#fff;border:1px solid #e8ecf4;border-radius:14px;overflow:hidden}.pc-head[data-v-f3f90429]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#f8faff,#f0f4ff);border-bottom:1px solid #eef2fa}.pc-icon[data-v-f3f90429]{font-size:16px}.pc-title[data-v-f3f90429]{font-size:14px;font-weight:700;color:#334155}.pc-child[data-v-f3f90429]{margin-left:auto;font-size:12px;color:#667eea;background:#eef2ff;padding:2px 10px;border-radius:10px;font-weight:600}.pc-grid[data-v-f3f90429]{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px}.pc-field[data-v-f3f90429]{display:flex;flex-direction:column;gap:4px}.pc-field.pc-full[data-v-f3f90429]{grid-column:1 / -1}.pc-field label[data-v-f3f90429]{font-size:11px;font-weight:600;color:#8892a8;text-transform:uppercase;letter-spacing:.5px}.status-toggles[data-v-f3f90429],.dict-toggles[data-v-f3f90429]{display:flex;gap:6px}.st-toggle[data-v-f3f90429],.dt-toggle[data-v-f3f90429]{flex:1;padding:7px 0;border:1px solid #e2e8f0;border-radius:9px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.st-toggle[data-v-f3f90429]:hover,.dt-toggle[data-v-f3f90429]:hover{border-color:#c0cce0}.st-toggle.active[data-v-f3f90429]{border-color:transparent;color:#fff}.stt-未背.active[data-v-f3f90429]{background:#cbd5e0}.stt-背诵中.active[data-v-f3f90429]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.stt-已背.active[data-v-f3f90429]{background:linear-gradient(135deg,#34d399,#10b981)}.dt-toggle.active[data-v-f3f90429]{border-color:#667eea;background:#eef2ff;color:#667eea}.pc-sel[data-v-f3f90429]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;font-size:14px;background:#fff;outline:none;cursor:pointer}.pc-sel[data-v-f3f90429]:focus{border-color:#667eea}.pc-inp[data-v-f3f90429]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:9px;font-size:14px;outline:none;background:#fff}.pc-inp[data-v-f3f90429]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14}.pc-actions[data-v-f3f90429]{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f5f7fc;justify-content:flex-end;background:#fafbfd}.btn[data-v-f3f90429]{padding:8px 16px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-sm[data-v-f3f90429]{padding:7px 14px;font-size:12px}.btn-ghost[data-v-f3f90429]{background:#f5f7fc;color:#666}.btn-ghost[data-v-f3f90429]:hover{background:#eef1f7}.btn-primary[data-v-f3f90429]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;font-weight:600}.btn-primary[data-v-f3f90429]:hover{box-shadow:0 4px 12px #667eea4d}.btn-primary[data-v-f3f90429]:disabled{opacity:.5;cursor:not-allowed}.btn-danger[data-v-f3f90429]{background:#fef2f2;color:#e74c3c;border-color:#fecaca}.btn-danger[data-v-f3f90429]:hover{background:#fee2e2}.fade-enter-active[data-v-f3f90429],.fade-leave-active[data-v-f3f90429]{transition:all .2s ease}.fade-enter-from[data-v-f3f90429],.fade-leave-to[data-v-f3f90429]{opacity:0;transform:translateY(-8px)}.slide-enter-active[data-v-f3f90429],.slide-leave-active[data-v-f3f90429]{transition:all .25s ease}.slide-enter-from[data-v-f3f90429],.slide-leave-to[data-v-f3f90429]{opacity:0;max-height:0;padding:0;margin:0;overflow:hidden}.expand-enter-active[data-v-f3f90429]{transition:all .3s ease;overflow:hidden}.expand-leave-active[data-v-f3f90429]{transition:all .2s ease;overflow:hidden}.expand-enter-from[data-v-f3f90429],.expand-leave-to[data-v-f3f90429]{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0}.rc-challenge-cta[data-v-f3f90429]{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border:1px solid #ddd6fe;cursor:pointer;transition:all .15s}.rc-challenge-cta[data-v-f3f90429]:hover{transform:translateY(-1px);box-shadow:0 6px 18px #667eea2e}.rc-cta-icon[data-v-f3f90429]{font-size:24px}.rc-cta-main[data-v-f3f90429]{display:flex;flex-direction:column;flex:1}.rc-cta-main b[data-v-f3f90429]{font-size:14.5px;color:#5b21b6}.rc-cta-main small[data-v-f3f90429]{font-size:11.5px;color:#7c6fb0;margin-top:2px}.rc-cta-arrow[data-v-f3f90429]{font-size:22px;color:#7c3aed;font-weight:700}.rc-challenge-cta.done[data-v-f3f90429]{background:linear-gradient(135deg,#f4fcf6,#eafaf0);border-color:#b7ebc8;box-shadow:0 2px 10px #2ea05a14}.rc-challenge-cta.done[data-v-f3f90429]:hover{box-shadow:0 6px 18px #2ea05a29;transform:translateY(-1px)}.rc-challenge-cta.done .rc-cta-main b[data-v-f3f90429]{color:#1d7a47}.rc-challenge-cta.done .rc-cta-arrow[data-v-f3f90429]{color:#2a9d6f}.rc-cta-badge[data-v-f3f90429]{font-size:11px;font-weight:700;color:#1d7a47;background:#d9f5e3;padding:3px 10px;border-radius:20px;white-space:nowrap;align-self:center}.rc-cta-badge.undone[data-v-f3f90429]{color:#8a93a6;background:#eef1f6;font-weight:600}.challenge-overlay[data-v-f3f90429]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182880;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.challenge-dialog[data-v-f3f90429]{width:100%;max-width:620px;max-height:88vh;background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000004d}.challenge-dialog[data-v-f3f90429]>*{flex:1;min-height:0}@media (max-width: 640px){.cr-nav[data-v-f3f90429]{flex-wrap:wrap}.nav-grade[data-v-f3f90429]{order:3;width:100%;margin-top:8px}.stat-bar[data-v-f3f90429]{flex-direction:column;align-items:stretch;gap:10px}.sb-track[data-v-f3f90429]{max-width:none}.sb-levels[data-v-f3f90429]{flex-wrap:wrap}.sb-pending[data-v-f3f90429]{margin-left:0;text-align:center}.ap-grid[data-v-f3f90429],.pc-grid[data-v-f3f90429]{grid-template-columns:1fr}.pc-field.pc-full[data-v-f3f90429]{grid-column:auto}.poem-text[data-v-f3f90429]{font-size:15.5px;line-height:1.9}}.cb-wrap[data-v-13cb200a]{max-width:880px;margin:0 auto;padding:16px}.cb-head[data-v-13cb200a]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cb-head h1[data-v-13cb200a]{font-size:20px;margin:0}.back[data-v-13cb200a]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.back svg[data-v-13cb200a]{transition:transform .2s ease}.back[data-v-13cb200a]:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.back:hover svg[data-v-13cb200a]{transform:translate(-2px)}.back[data-v-13cb200a]:active{transform:translateY(0)}.toolbar[data-v-13cb200a]{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.gs-sel[data-v-13cb200a],.sel[data-v-13cb200a]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}.gs-sel[data-v-13cb200a]:focus,.sel[data-v-13cb200a]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.sel[data-v-13cb200a]{min-width:110px}.btn[data-v-13cb200a]{padding:8px 14px;border-radius:9px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:14px}.btn-primary[data-v-13cb200a]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-13cb200a]:disabled{opacity:.5;cursor:not-allowed}.btn-add[data-v-13cb200a]{background:#eaf6ee;color:#3a6;border-color:#cfe9d6}.card[data-v-13cb200a]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:16px;margin-bottom:14px}.form-line[data-v-13cb200a]{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.form-line label[data-v-13cb200a]{width:48px;color:#666;font-size:14px;padding-top:8px;flex-shrink:0}.inp[data-v-13cb200a]{flex:1;padding:8px 10px;border:1px solid #d8dee9;border-radius:9px;font-size:14px}.ta[data-v-13cb200a]{resize:vertical}.form-actions[data-v-13cb200a]{display:flex;gap:10px;justify-content:flex-end}.kb-list[data-v-13cb200a]{display:flex;flex-direction:column;gap:12px}.kb-item[data-v-13cb200a]{background:#fff;border:1px solid #eaeef5;border-radius:12px;padding:14px}.ki-head[data-v-13cb200a]{display:flex;align-items:center;gap:8px}.ki-cat[data-v-13cb200a]{font-size:12px;color:#3a6;background:#eaf6ee;padding:2px 8px;border-radius:10px;flex-shrink:0}.ki-title[data-v-13cb200a]{font-weight:700;flex:1}.ki-acts[data-v-13cb200a]{display:flex;gap:6px}.ki-edit[data-v-13cb200a]{border:none;background:#eef3ff;color:#46a;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ki-del[data-v-13cb200a]{border:none;background:#fff0f0;color:#d44;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ki-del[data-v-13cb200a]:hover{background:#ffe0e0}.ki-content[data-v-13cb200a]{margin:8px 0;color:#444;white-space:pre-wrap}.ki-content.eg[data-v-13cb200a]{color:#666;font-size:13px}.ki-notes[data-v-13cb200a]{margin-top:6px;background:#f8faff;border-radius:8px;padding:8px 10px}.kn[data-v-13cb200a]{font-size:13px;color:#555;padding:2px 0}.empty[data-v-13cb200a]{padding:30px;text-align:center}.muted[data-v-13cb200a]{color:#999}@media (max-width: 640px){.toolbar[data-v-13cb200a]{flex-wrap:wrap}.sel[data-v-13cb200a]{flex:1 1 100%}}.ce-wrap[data-v-32f2454a]{max-width:860px;margin:0 auto;padding:16px}.ce-wrap [data-v-32f2454a]{box-sizing:border-box}.hero-bar[data-v-32f2454a]{display:flex;align-items:center;gap:14px;margin-bottom:16px}.hero-info h1[data-v-32f2454a]{font-size:22px;margin:0;color:#1a1a2e;font-weight:800}.hero-info .hero-sub[data-v-32f2454a]{margin:4px 0 0;font-size:13px;color:#8892a8}.hero-sub b[data-v-32f2454a]{color:#e17055}.back[data-v-32f2454a]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a;flex-shrink:0}.back svg[data-v-32f2454a]{transition:transform .2s ease}.back[data-v-32f2454a]:hover{background:linear-gradient(135deg,#e17055,#d63031);color:#fff;border-color:transparent;box-shadow:0 4px 12px #e170554d;transform:translateY(-1px)}.back:hover svg[data-v-32f2454a]{transform:translate(-2px)}.toolbar[data-v-32f2454a]{display:flex;align-items:center;gap:8px;margin-bottom:14px}.toolbar-filters[data-v-32f2454a]{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.gs-sel[data-v-32f2454a],.sel[data-v-32f2454a]{padding:7px 11px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;outline:none;transition:border-color .2s}.gs-sel[data-v-32f2454a]:focus,.sel[data-v-32f2454a]:focus{border-color:#e17055;box-shadow:0 0 0 3px #e1705514}.sel[data-v-32f2454a]{min-width:110px}.btn[data-v-32f2454a]{padding:7px 14px;border-radius:10px;border:1px solid #d8dee9;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}.btn-primary[data-v-32f2454a]{background:linear-gradient(135deg,#e17055,#d63031);color:#fff;border-color:transparent}.btn-primary[data-v-32f2454a]:disabled{opacity:.5;cursor:not-allowed}.btn-add[data-v-32f2454a]{background:linear-gradient(135deg,#fff5f0,#ffe8e0);color:#e17055;border-color:#f5d5c8;font-weight:600}.btn-add[data-v-32f2454a]:hover{box-shadow:0 3px 10px #e1705526}.card[data-v-32f2454a]{background:#fff;border:1px solid #eaeef5;border-radius:14px;padding:18px;margin-bottom:14px}.form-line[data-v-32f2454a]{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.form-line label[data-v-32f2454a]{width:56px;color:#666;font-size:13px;padding-top:8px;flex-shrink:0}.inp[data-v-32f2454a]{flex:1;min-width:0;padding:8px 11px;border:1px solid #d8dee9;border-radius:9px;font-size:13px;outline:none;transition:border-color .2s}.inp[data-v-32f2454a]:focus{border-color:#e17055;box-shadow:0 0 0 3px #e1705514}.ta[data-v-32f2454a]{resize:vertical;min-height:60px}.form-actions[data-v-32f2454a]{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.state-box[data-v-32f2454a]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;color:#a0aec0}.state-box p[data-v-32f2454a]{margin:0;font-size:15px}.state-box .sub[data-v-32f2454a]{font-size:13px;margin-top:4px}.spinner[data-v-32f2454a]{width:28px;height:28px;border:3px solid #eef1f7;border-top-color:#e17055;border-radius:50%;animation:spin-32f2454a .7s linear infinite}@keyframes spin-32f2454a{to{transform:rotate(360deg)}}.essay-list[data-v-32f2454a]{display:flex;flex-direction:column;gap:10px}.essay-card[data-v-32f2454a]{background:#fff;border:1px solid #eaeef5;border-radius:14px;overflow:hidden;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.essay-card[data-v-32f2454a]:hover{border-color:#d0d8e8;box-shadow:0 3px 12px #0000000d}.essay-card.expanded[data-v-32f2454a]{border-color:#e17055;box-shadow:0 4px 20px #e170551a}.ec-summary[data-v-32f2454a]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;min-height:52px}.ec-left[data-v-32f2454a]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ec-right[data-v-32f2454a]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ec-cat[data-v-32f2454a]{font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;white-space:nowrap;flex-shrink:0;letter-spacing:.5px}.cat-ren[data-v-32f2454a]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.cat-shi[data-v-32f2454a]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.cat-jing[data-v-32f2454a]{background:linear-gradient(135deg,#fff8e1,#ffecb3);color:#f57f17}.cat-xiang[data-v-32f2454a]{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2}.cat-ying[data-v-32f2454a]{background:linear-gradient(135deg,#fbe9e7,#ffccbc);color:#e64a19}.cat-other[data-v-32f2454a]{background:#f4f6fc;color:#6b7394}.ec-title[data-v-32f2454a]{font-size:15px;font-weight:700;color:#2d3436;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-meta[data-v-32f2454a]{font-size:12px;color:#a0aec0;white-space:nowrap}.ec-time[data-v-32f2454a]{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#90a4ae;background:#f0f4f8;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.ec-stats[data-v-32f2454a]{font-size:11px;color:#b0bec5;background:#f5f7fa;padding:2px 8px;border-radius:10px;white-space:nowrap}.ec-arrow[data-v-32f2454a]{color:#cbd5e0;transition:transform .25s ease;flex-shrink:0}.ec-arrow.rotated[data-v-32f2454a]{transform:rotate(180deg);color:#e17055}.ec-preview[data-v-32f2454a]{padding:0 16px 12px;font-size:13px;color:#8892a8;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ec-detail[data-v-32f2454a]{border-top:1px solid #f0f2f7;padding:16px;background:linear-gradient(180deg,#fafbff,#fff)}.detail-section[data-v-32f2454a]{margin-bottom:14px}.detail-section[data-v-32f2454a]:last-child{margin-bottom:0}.ds-head[data-v-32f2454a]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:700;color:#4a5568}.ds-count[data-v-32f2454a]{font-size:11px;font-weight:400;color:#a0aec0;background:#f4f6fc;padding:1px 8px;border-radius:10px;margin-left:4px}.ds-body[data-v-32f2454a]{font-size:14px;line-height:1.8;color:#444}.content-body[data-v-32f2454a]{white-space:pre-wrap;padding:14px 16px;background:#fefefe;border:1px solid #f0ece6;border-radius:10px;font-family:PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:.3px;max-height:360px;overflow-y:auto}.words-body[data-v-32f2454a]{display:flex;flex-wrap:wrap;gap:6px}.word-tag[data-v-32f2454a]{font-size:12px;background:linear-gradient(135deg,#fff9e6,#ffeeba);color:#856404;padding:4px 10px;border-radius:10px;border:1px solid #f0e4b0;font-weight:500}.tech-body[data-v-32f2454a]{padding:12px 14px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:10px;color:#5b21b6;font-size:13px;border-left:3px solid #6C5CE7}.detail-actions[data-v-32f2454a]{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px dashed #eef1f7}.btn-edit[data-v-32f2454a]{background:#eef3ff;color:#46a;border-color:transparent}.btn-edit[data-v-32f2454a]:hover{background:#dbe4ff}.btn-del[data-v-32f2454a]{background:#fff5f5;color:#d44;border-color:transparent}.btn-del[data-v-32f2454a]:hover{background:#ffe0e0}.expand-enter-active[data-v-32f2454a],.expand-leave-active[data-v-32f2454a]{transition:all .3s ease;overflow:hidden}.expand-enter-from[data-v-32f2454a],.expand-leave-to[data-v-32f2454a]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.expand-enter-to[data-v-32f2454a],.expand-leave-from[data-v-32f2454a]{opacity:1;max-height:600px}@media (max-width: 760px){.toolbar[data-v-32f2454a]{flex-wrap:wrap}.btn-add-full[data-v-32f2454a]{margin-left:auto}}@media (max-width: 640px){.ce-wrap[data-v-32f2454a]{padding:10px}.hero-bar[data-v-32f2454a]{flex-wrap:wrap}.toolbar[data-v-32f2454a]{flex-direction:column;align-items:stretch;gap:8px}.toolbar-filters[data-v-32f2454a]{gap:6px}.gs-sel[data-v-32f2454a],.sel[data-v-32f2454a]{font-size:13px;padding:7px 9px}.sel[data-v-32f2454a]{flex:1;min-width:0}.btn-add-full[data-v-32f2454a]{width:100%;justify-content:center;padding:9px 16px;border-radius:12px;font-size:14px}.ec-summary[data-v-32f2454a]{flex-wrap:wrap;padding:12px}.ec-right[data-v-32f2454a]{width:100%;margin-top:4px;justify-content:space-between}.content-body[data-v-32f2454a]{max-height:260px}}.ch-wrap[data-v-bf57f044]{max-width:820px;margin:0 auto;padding:16px}.ch-nav[data-v-bf57f044]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-bf57f044]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back[data-v-bf57f044]:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px #667eea4d}.nav-title[data-v-bf57f044]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-bf57f044]{margin:0;font-size:19px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-bf57f044]{font-size:22px}.nav-grade[data-v-bf57f044]{display:flex;gap:8px}.ng-sel[data-v-bf57f044]{padding:7px 12px;border:1px solid #d8dee9;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.ng-sel[data-v-bf57f044]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.ch-intro[data-v-bf57f044]{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #e5e0fb;border-radius:14px;padding:14px 16px;margin-bottom:16px}.ch-intro-icon[data-v-bf57f044]{font-size:22px;flex-shrink:0;margin-top:1px}.ch-intro p[data-v-bf57f044]{margin:0;font-size:13.5px;line-height:1.7;color:#5b5570}.ch-intro b[data-v-bf57f044]{color:#6d28d9}.state-msg[data-v-bf57f044]{text-align:center;padding:40px 20px;color:#a0aec0}.empty-state .empty-icon[data-v-bf57f044]{font-size:48px;margin-bottom:10px}.empty-state p[data-v-bf57f044]{margin:4px 0}.empty-hint[data-v-bf57f044]{font-size:13px!important}.spinner[data-v-bf57f044]{display:inline-block;width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin-bf57f044 .6s linear infinite;margin-bottom:8px}@keyframes spin-bf57f044{to{transform:rotate(360deg)}}.ch-list[data-v-bf57f044]{display:flex;flex-direction:column;gap:10px}.ch-card[data-v-bf57f044]{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eef1f7;border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .15s}.ch-card[data-v-bf57f044]:hover{box-shadow:0 4px 18px #667eea1a;border-color:#d8def0;transform:translateY(-1px)}.ch-card.done[data-v-bf57f044]{border-color:#b7ebc8;background:linear-gradient(135deg,#f4fcf6,#eafaf0);box-shadow:0 2px 10px #2ea05a14}.ch-card.done[data-v-bf57f044]:hover{box-shadow:0 4px 18px #2ea05a29;border-color:#8fd9a8;transform:translateY(-1px)}.ch-card.done .ch-card-arrow[data-v-bf57f044]{color:#2a9d6f}.ch-card-left[data-v-bf57f044]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ch-cat[data-v-bf57f044]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0;letter-spacing:.5px}.cat-古诗[data-v-bf57f044]{background:linear-gradient(135deg,#fef9e7,#fdeaa3);color:#946200}.cat-文言文[data-v-bf57f044]{background:linear-gradient(135deg,#eef7ff,#d4e8fd);color:#2563a8}.cat-成语[data-v-bf57f044]{background:linear-gradient(135deg,#eef9f0,#d4f0dc);color:#2a8a4a}.cat-名言[data-v-bf57f044]{background:linear-gradient(135deg,#fdf4ff,#f5d8fe);color:#8a2a9a}.cat-现代文[data-v-bf57f044]{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);color:#555}.cat-other[data-v-bf57f044]{background:#f0f0f0;color:#888}.ch-card-main[data-v-bf57f044]{min-width:0}.ch-title[data-v-bf57f044]{font-weight:700;font-size:15px;color:#1a1a2e}.ch-meta[data-v-bf57f044]{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.ch-src[data-v-bf57f044]{font-size:12px;color:#999}.ch-badge[data-v-bf57f044]{font-size:11px;color:#7c3aed;background:#f3effe;padding:2px 8px;border-radius:10px;font-weight:600}.ch-card-arrow[data-v-bf57f044]{font-size:13px;font-weight:700;color:#7c3aed;flex-shrink:0}.ch-done-badge[data-v-bf57f044]{font-size:11px;color:#1d7a47;background:#d9f5e3;padding:2px 8px;border-radius:10px;font-weight:700}.ch-undone-badge[data-v-bf57f044]{font-size:11px;color:#8a93a6;background:#eef1f6;padding:2px 8px;border-radius:10px;font-weight:600}.challenge-overlay[data-v-bf57f044]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182880;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.challenge-dialog[data-v-bf57f044]{width:100%;max-width:620px;max-height:88vh;background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000004d}.challenge-dialog[data-v-bf57f044]>*{flex:1;min-height:0}.fade-enter-active[data-v-bf57f044],.fade-leave-active[data-v-bf57f044]{transition:all .2s ease}.fade-enter-from[data-v-bf57f044],.fade-leave-to[data-v-bf57f044]{opacity:0}@media (max-width: 640px){.ch-nav[data-v-bf57f044]{flex-wrap:wrap}.nav-grade[data-v-bf57f044]{order:3;width:100%;margin-top:8px}}.ch-wrap[data-v-9adbd9ba]{max-width:820px;margin:0 auto;padding:16px}.ch-nav[data-v-9adbd9ba]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0f3f8}.nav-back[data-v-9adbd9ba]{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);color:#4a5568;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.nav-back[data-v-9adbd9ba]:hover{background:linear-gradient(135deg,#f59e0b,#ef7d1a);color:#fff;border-color:transparent;box-shadow:0 4px 12px #f59e0b4d}.nav-title[data-v-9adbd9ba]{display:flex;align-items:center;gap:8px;flex:1}.nav-title h1[data-v-9adbd9ba]{margin:0;font-size:19px;font-weight:800;color:#1a1a2e}.nav-icon[data-v-9adbd9ba]{font-size:22px}.ch-intro[data-v-9adbd9ba]{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#fff7ed,#fff1dc);border:1px solid #fde6c8;border-radius:14px;padding:14px 16px;margin-bottom:16px}.ch-intro-icon[data-v-9adbd9ba]{font-size:22px;flex-shrink:0;margin-top:1px}.ch-intro p[data-v-9adbd9ba]{margin:0;font-size:13.5px;line-height:1.7;color:#8a5a1a}.ch-intro b[data-v-9adbd9ba]{color:#c0392b}.state-msg[data-v-9adbd9ba]{text-align:center;padding:40px 20px;color:#a0aec0}.empty-state .empty-icon[data-v-9adbd9ba]{font-size:48px;margin-bottom:10px}.empty-state p[data-v-9adbd9ba]{margin:4px 0}.empty-hint[data-v-9adbd9ba]{font-size:13px!important}.spinner[data-v-9adbd9ba]{display:inline-block;width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#f59e0b;border-radius:50%;animation:spin-9adbd9ba .6s linear infinite;margin-bottom:8px}@keyframes spin-9adbd9ba{to{transform:rotate(360deg)}}.ch-list[data-v-9adbd9ba]{display:flex;flex-direction:column;gap:10px}.ch-card[data-v-9adbd9ba]{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eef1f7;border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .15s}.ch-card[data-v-9adbd9ba]:hover{box-shadow:0 4px 18px #f59e0b1f;border-color:#fde6c8;transform:translateY(-1px)}.ch-card-left[data-v-9adbd9ba]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ch-cat[data-v-9adbd9ba]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0;letter-spacing:.5px;background:linear-gradient(135deg,#fff1dc,#fde6c8);color:#c0392b}.ch-card-main[data-v-9adbd9ba]{min-width:0}.ch-title[data-v-9adbd9ba]{font-weight:700;font-size:15px;color:#1a1a2e}.ch-meta[data-v-9adbd9ba]{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.ch-badge[data-v-9adbd9ba]{font-size:11px;color:#b06a18;background:#fff5e6;padding:2px 8px;border-radius:10px;font-weight:600}.ch-card-arrow[data-v-9adbd9ba]{font-size:13px;font-weight:700;color:#ef7d1a;flex-shrink:0}.ch-card.done[data-v-9adbd9ba]{border-color:#b7ebc8;background:linear-gradient(135deg,#f4fcf6,#eafaf0);box-shadow:0 2px 10px #2ea05a14}.ch-card.done[data-v-9adbd9ba]:hover{box-shadow:0 4px 18px #2ea05a29;border-color:#8fd9a8;transform:translateY(-1px)}.ch-card.done .ch-card-arrow[data-v-9adbd9ba]{color:#2a9d6f}.ch-done-badge[data-v-9adbd9ba]{font-size:11px;color:#1d7a47;background:#d9f5e3;padding:2px 8px;border-radius:10px;font-weight:700}.ch-undone-badge[data-v-9adbd9ba]{font-size:11px;color:#8a93a6;background:#eef1f6;padding:2px 8px;border-radius:10px;font-weight:600}.challenge-overlay[data-v-9adbd9ba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182880;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.challenge-dialog[data-v-9adbd9ba]{width:100%;max-width:680px;max-height:90vh;background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000004d}.challenge-dialog[data-v-9adbd9ba]>*{flex:1;min-height:0}.fade-enter-active[data-v-9adbd9ba],.fade-leave-active[data-v-9adbd9ba]{transition:all .2s ease}.fade-enter-from[data-v-9adbd9ba],.fade-leave-to[data-v-9adbd9ba]{opacity:0}@media (max-width: 640px){.ch-nav[data-v-9adbd9ba]{flex-wrap:wrap}}.progress-wrap[data-v-26bffbf9]{max-width:800px;margin:0 auto;padding:16px}.progress-header[data-v-26bffbf9]{background:linear-gradient(135deg,#ff9a56,#ff6b35);border-radius:var(--radius-md);padding:24px 28px;color:#fff;margin-bottom:20px;box-shadow:var(--shadow-md)}.progress-title[data-v-26bffbf9]{margin:0 0 14px;font-size:20px;font-weight:700;letter-spacing:1px}.overall-bar-wrap[data-v-26bffbf9]{display:flex;align-items:center;gap:12px}.overall-bar-track[data-v-26bffbf9]{flex:1;height:22px;background:#ffffff52;border-radius:11px;overflow:hidden}.overall-bar-fill[data-v-26bffbf9]{height:100%;background:#fff;border-radius:11px;transition:width .6s ease;min-width:2px}.overall-pct[data-v-26bffbf9]{font-size:22px;font-weight:800;min-width:52px;text-align:right}.overall-sub[data-v-26bffbf9]{margin:10px 0 0;font-size:13px;opacity:.88}.unit-progress-card[data-v-26bffbf9]{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden;border:1px solid rgba(108,92,231,.08)}.upc-head[data-v-26bffbf9]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(135deg,#00b894,#00a381);color:#fff}.upc-title-row[data-v-26bffbf9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upc-idx[data-v-26bffbf9]{font-weight:800;font-size:15px}.upc-name[data-v-26bffbf9]{font-weight:700;font-size:15px}.upc-sub[data-v-26bffbf9]{font-size:13px;opacity:.85}.upc-badge[data-v-26bffbf9]{background:#ffffff40;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700}.upc-bar-wrap[data-v-26bffbf9]{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#f0fff4}.upc-bar-track[data-v-26bffbf9]{flex:1;height:12px;background:#d1f2e5;border-radius:6px;overflow:hidden}.upc-bar-fill[data-v-26bffbf9]{height:100%;background:linear-gradient(90deg,#00b894,#55efc4);border-radius:6px;transition:width .5s ease;min-width:2px}.upc-pct[data-v-26bffbf9]{font-size:14px;font-weight:700;color:#00b894;min-width:36px;text-align:right}.upc-sections[data-v-26bffbf9]{padding:8px 0}.upc-sec-row[data-v-26bffbf9]{display:flex;align-items:center;padding:10px 18px;border-bottom:1px solid #f5f5f5;transition:background .15s}.upc-sec-row[data-v-26bffbf9]:last-child{border-bottom:none}.upc-sec-row[data-v-26bffbf9]:hover{background:var(--bg-hover)}.upc-sec-icon[data-v-26bffbf9]{min-width:28px;text-align:center}.sec-check[data-v-26bffbf9]{font-size:18px}.sec-check.done[data-v-26bffbf9]{color:#00b894}.sec-check.partial[data-v-26bffbf9]{color:#fdcb6e}.sec-check.todo[data-v-26bffbf9]{color:#dcdde1}.upc-sec-body[data-v-26bffbf9]{flex:1;min-width:0;font-size:14px;color:var(--text-main);line-height:1.4}.upc-sec-label[data-v-26bffbf9]{font-weight:700;color:var(--text-secondary);white-space:nowrap}.upc-sec-preview[data-v-26bffbf9]{color:var(--text-main);word-break:break-all}.upc-sec-points[data-v-26bffbf9]{font-size:13px;font-weight:700;color:#fdcb6e;white-space:nowrap;margin-left:8px}@media (max-width: 768px){.progress-wrap[data-v-26bffbf9]{padding:10px}.progress-header[data-v-26bffbf9]{padding:18px 16px}.progress-title[data-v-26bffbf9]{font-size:17px}.overall-pct[data-v-26bffbf9]{font-size:19px;min-width:44px}.upc-head[data-v-26bffbf9]{padding:12px 14px;flex-direction:column;align-items:flex-start;gap:6px}.upc-badge[data-v-26bffbf9]{align-self:flex-end;position:relative;top:-28px}.upc-sec-row[data-v-26bffbf9]{padding:10px 14px}.upc-sec-body[data-v-26bffbf9]{font-size:13px}.upc-sec-preview[data-v-26bffbf9]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media (max-width: 480px){.progress-header[data-v-26bffbf9]{padding:14px 12px}.progress-title[data-v-26bffbf9]{font-size:15px}.overall-bar-track[data-v-26bffbf9]{height:18px}.overall-pct[data-v-26bffbf9]{font-size:17px}.upc-sec-label[data-v-26bffbf9]{display:block;margin-bottom:2px}.upc-sec-points[data-v-26bffbf9]{font-size:12px}}.materials-page[data-v-bdca8ee9]{max-width:920px;margin:0 auto;padding:16px}.mp-head[data-v-bdca8ee9]{margin-bottom:14px}.mp-title[data-v-bdca8ee9]{font-size:22px;font-weight:800}.mp-sub[data-v-bdca8ee9]{color:#888;font-size:13px;margin-top:4px}.mp-tabs[data-v-bdca8ee9]{display:flex;gap:10px;margin-bottom:14px}.mp-tab[data-v-bdca8ee9]{padding:8px 16px;border-radius:20px;background:#f0f1f5;color:#555;cursor:pointer;font-weight:600}.mp-tab.active[data-v-bdca8ee9]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff}.card[data-v-bdca8ee9]{background:#fff;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px #0000000d}.card-title[data-v-bdca8ee9]{font-weight:700;margin-bottom:12px;font-size:15px}.form-grid[data-v-bdca8ee9]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fld[data-v-bdca8ee9]{display:flex;flex-direction:column;font-size:12px;color:#666;gap:4px}.fld select[data-v-bdca8ee9],.fld input[data-v-bdca8ee9]{padding:8px;border:1px solid #e0e0e6;border-radius:8px;font-size:14px}.fld.block[data-v-bdca8ee9]{margin-top:4px}.file-row[data-v-bdca8ee9]{display:flex;align-items:center;gap:10px;margin:12px 0}.file-name[data-v-bdca8ee9]{color:#333;font-size:13px}.file-hint[data-v-bdca8ee9]{color:#aaa;font-size:12px}.upload-actions[data-v-bdca8ee9]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gen-hint[data-v-bdca8ee9]{color:#9b6bff;font-size:13px}.btn[data-v-bdca8ee9]{padding:9px 16px;border:none;border-radius:10px;background:#eef0f5;color:#333;cursor:pointer;font-weight:600;font-size:14px}.btn.primary[data-v-bdca8ee9]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff}.btn.ghost[data-v-bdca8ee9]{background:#fff;border:1px solid #d8d8e0}.btn.sm[data-v-bdca8ee9]{padding:6px 12px;font-size:13px}.btn.xs[data-v-bdca8ee9]{padding:3px 8px;font-size:12px}.btn.danger[data-v-bdca8ee9]{background:#fdecea;color:#e74c3c}.btn.danger[data-v-bdca8ee9]:hover{background:#fbd5d1}.btn.warn[data-v-bdca8ee9]{background:#fff3e0;color:#e08600}.btn[data-v-bdca8ee9]:disabled{opacity:.5;cursor:not-allowed}.tag[data-v-bdca8ee9]{display:inline-block;padding:2px 8px;border-radius:6px;background:#f0f1f5;color:#666;font-size:12px;margin-right:6px}.tag-draft[data-v-bdca8ee9]{background:#fff3e0;color:#e08600}.tag-on[data-v-bdca8ee9]{background:#e6f7ec;color:#1a9e5a}.tag-ai[data-v-bdca8ee9]{background:#f3e8ff;color:#7c3aed}.tag-manual[data-v-bdca8ee9]{background:#e0f2fe;color:#0284c7}.tag-pending[data-v-bdca8ee9]{background:#f0f1f5;color:#888}.tag-src[data-v-bdca8ee9]{background:#e8f5e9;color:#2e7d32}.tag-parser[data-v-bdca8ee9],.tag-error[data-v-bdca8ee9]{background:#fdecea;color:#c0392b}.parser-msg.err[data-v-bdca8ee9]{color:#c0392b}.warn-banner[data-v-bdca8ee9]{display:block;width:100%;background:#fff7e6;border:1px solid #ffd591;color:#ad6800;padding:8px 12px;border-radius:8px;margin-top:4px}.warn-banner .btn[data-v-bdca8ee9]{margin-left:10px;vertical-align:middle}.filter-bar[data-v-bdca8ee9]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;background:#f9f9fb;border-radius:10px}.filter-label[data-v-bdca8ee9]{font-size:13px;color:#888;font-weight:600}.filter-chip[data-v-bdca8ee9]{padding:5px 12px;border-radius:16px;background:#fff;border:1px solid #e0e0e6;color:#555;font-size:13px;cursor:pointer;transition:.15s}.filter-chip[data-v-bdca8ee9]:hover{border-color:#6a5cff;color:#6a5cff}.filter-chip.active[data-v-bdca8ee9]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff;border-color:transparent}.draft-list[data-v-bdca8ee9]{display:flex;flex-direction:column;gap:10px}.draft-item[data-v-bdca8ee9]{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #eee;border-radius:10px}.di-title[data-v-bdca8ee9]{font-weight:600}.di-meta[data-v-bdca8ee9]{margin-top:6px}.di-actions[data-v-bdca8ee9]{display:flex;align-items:center;gap:8px}.loading[data-v-bdca8ee9],.empty-state[data-v-bdca8ee9]{text-align:center;padding:30px;color:#999}.empty-icon[data-v-bdca8ee9]{font-size:30px}.spinner[data-v-bdca8ee9]{width:22px;height:22px;border:3px solid #ddd;border-top-color:#9b6bff;border-radius:50%;animation:spin-bdca8ee9 1s linear infinite;margin:0 auto 8px}@keyframes spin-bdca8ee9{to{transform:rotate(360deg)}}.prompt-card[data-v-bdca8ee9]{border:1px dashed #b9a6ff}.pt-note[data-v-bdca8ee9]{font-weight:400;font-size:12px;color:#9b6bff;margin-left:8px}.prompt-actions[data-v-bdca8ee9]{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.prompt-text[data-v-bdca8ee9]{background:#f7f7fb;border:1px solid #e6e6ef;border-radius:10px;padding:14px;font-size:12.5px;line-height:1.65;color:#333;white-space:pre-wrap;word-break:break-word;max-height:460px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.prompt-tip[data-v-bdca8ee9]{margin-top:10px;font-size:12.5px;color:#888;line-height:1.7;background:#faf8ff;border-left:3px solid #b9a6ff;padding:8px 12px;border-radius:6px}.mode-switch-row[data-v-bdca8ee9]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:4px 0 14px}.ms-opt[data-v-bdca8ee9]{border:2px solid #e6e6ee;border-radius:12px;padding:12px;cursor:pointer;transition:.15s;background:#fff}.ms-opt.on[data-v-bdca8ee9]{border-color:#6a5cff;background:#f6f4ff;box-shadow:0 2px 10px #6a5cff1f}.ms-ico[data-v-bdca8ee9]{font-size:22px}.ms-t[data-v-bdca8ee9]{font-weight:700;margin-top:4px}.ms-d[data-v-bdca8ee9]{font-size:12px;color:#888;margin-top:2px;line-height:1.5}.modal-mask[data-v-bdca8ee9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-bdca8ee9]{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column}.modal.wide[data-v-bdca8ee9]{max-width:960px}.modal-head[data-v-bdca8ee9]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eee}.modal-title[data-v-bdca8ee9]{font-weight:700}.x[data-v-bdca8ee9]{border:none;background:none;font-size:18px;cursor:pointer;color:#999}.modal-foot[data-v-bdca8ee9]{display:flex;gap:10px;padding:12px 18px;border-top:1px solid #eee;justify-content:flex-end}.review-meta[data-v-bdca8ee9]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px;background:#f9f9fb;border-bottom:1px solid #eee}.parser-msg[data-v-bdca8ee9]{font-size:12px;color:#c0392b;width:100%}.review-body[data-v-bdca8ee9]{display:grid;grid-template-columns:280px 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.review-tree[data-v-bdca8ee9]{border-right:1px solid #eee;display:flex;flex-direction:column;overflow:hidden}.rt-head[data-v-bdca8ee9]{padding:10px 12px;font-weight:700;font-size:13px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.rt-tools[data-v-bdca8ee9]{display:flex;gap:6px}.rt-scroll[data-v-bdca8ee9]{overflow-y:auto;flex:1;min-height:0;padding:8px}.rt-group[data-v-bdca8ee9]{margin-bottom:10px}.rt-group-head[data-v-bdca8ee9]{display:flex;align-items:center;gap:6px;font-size:12px;color:#555;font-weight:700;padding:4px 2px}.rt-unit[data-v-bdca8ee9]{flex:1}.rt-count[data-v-bdca8ee9]{background:#eee;border-radius:10px;padding:0 6px;font-size:11px}.rt-item[data-v-bdca8ee9]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}.rt-item[data-v-bdca8ee9]:hover{background:#f4f3ff}.rt-item.sel[data-v-bdca8ee9]{background:#ece9ff}.rt-item.edited[data-v-bdca8ee9]{background:#fff8e1}.rt-type[data-v-bdca8ee9]{font-size:11px;padding:1px 6px;border-radius:5px;color:#fff;background:#888;flex:0 0 auto}.bt-vocab[data-v-bdca8ee9]{background:#7c3aed}.bt-text[data-v-bdca8ee9]{background:#0b78d0}.bt-translation[data-v-bdca8ee9]{background:#3a6df0}.bt-annotation[data-v-bdca8ee9]{background:#d97706}.bt-summary[data-v-bdca8ee9]{background:#8b5cf6}.bt-knowledge[data-v-bdca8ee9]{background:#1a9e5a}.bt-exercise[data-v-bdca8ee9]{background:#e0457b}.bt-model_essay[data-v-bdca8ee9]{background:#d6336c}.bt-exam[data-v-bdca8ee9]{background:#c0392b}.bt-question[data-v-bdca8ee9]{background:#e8590c}.bt-general[data-v-bdca8ee9]{background:#6b7280}.rt-title[data-v-bdca8ee9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-detail[data-v-bdca8ee9]{padding:14px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:0}.review-detail.empty[data-v-bdca8ee9]{color:#aaa;align-items:center;justify-content:center;font-size:14px}.rd-h[data-v-bdca8ee9]{font-weight:700;margin-bottom:4px}.rd-row[data-v-bdca8ee9]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edit-text[data-v-bdca8ee9]{width:100%;padding:9px 10px;border:1px solid #d8d8e0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit;margin-top:4px;box-sizing:border-box}.edit-text[data-v-bdca8ee9]:focus,.fld input[data-v-bdca8ee9]:focus,.fld select[data-v-bdca8ee9]:focus{outline:none;border-color:#6a5cff}.rd-note[data-v-bdca8ee9]{font-size:12px;color:#e08600}.sm-page[data-v-467a552f]{max-width:960px;margin:0 auto;padding:0 16px 32px}.hero[data-v-467a552f]{position:relative;border-radius:20px;overflow:hidden;margin-bottom:24px;box-shadow:0 8px 32px #6a5cff2e}.hero-bg[data-v-467a552f]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#6a5cff,#9b6bff,#c084fc)}.hero-bg[data-v-467a552f]:after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff14}.hero-content[data-v-467a552f]{position:relative;display:flex;align-items:center;justify-content:space-between;padding:28px 28px 24px;gap:20px}.hero-left[data-v-467a552f]{flex:1;min-width:0}.hero-badge[data-v-467a552f]{display:inline-block;background:#fff3;color:#fff;font-size:13px;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-title[data-v-467a552f]{color:#fff;font-size:24px;font-weight:800;margin:0 0 8px;line-height:1.3}.hero-sub[data-v-467a552f]{color:#fffc;font-size:14px;margin:0;line-height:1.5}.hero-stats[data-v-467a552f]{display:flex;align-items:center;gap:0;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:16px 20px;flex-shrink:0}.stat-item[data-v-467a552f]{text-align:center;padding:0 16px}.stat-num[data-v-467a552f]{color:#fff;font-size:26px;font-weight:800;line-height:1.2}.stat-num .stat-unit[data-v-467a552f]{font-size:14px;font-weight:600;opacity:.7}.stat-label[data-v-467a552f]{color:#ffffffbf;font-size:12px;margin-top:2px}.stat-highlight .stat-num[data-v-467a552f]{color:#a5f3fc}.stat-pending .stat-num[data-v-467a552f]{color:#fde68a}.stat-divider[data-v-467a552f]{width:1px;height:36px;background:#fff3}.admin-mgr-bar[data-v-467a552f]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(135deg,#fff7e6,#fff2cc);border:1px solid #fde08a;border-left:5px solid #f59e0b;border-radius:14px;padding:14px 18px;margin-bottom:20px}.amb-info[data-v-467a552f]{display:flex;flex-direction:column;gap:2px;min-width:0}.amb-left[data-v-467a552f]{font-size:14px;font-weight:800;color:#b45309}.amb-tip[data-v-467a552f]{font-size:13px;color:#92400e;opacity:.85}.amb-btn[data-v-467a552f]{flex-shrink:0;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #f59e0b59;white-space:nowrap}.amb-btn[data-v-467a552f]:hover{filter:brightness(1.05)}.tab-bar[data-v-467a552f]{display:flex;gap:10px;margin-bottom:22px;padding:6px;background:#f7f8fc;border-radius:16px;box-shadow:inset 0 2px 4px #0000000a}.tab-pill[data-v-467a552f]{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:12px;cursor:pointer;font-weight:600;font-size:14px;color:#666;transition:all .25s ease;-webkit-user-select:none;user-select:none;flex:1;justify-content:center}.tab-pill[data-v-467a552f]:hover{background:#6a5cff0f;color:#333}.tab-pill.active[data-v-467a552f]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff;box-shadow:0 4px 16px #6a5cff59}.tab-emoji[data-v-467a552f]{font-size:17px}.tab-name[data-v-467a552f]{font-weight:700}.tab-badge[data-v-467a552f]{font-size:11px;font-weight:700;background:#0000000f;color:#888;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.tab-pill.active .tab-badge[data-v-467a552f]{background:#ffffff40;color:#fff}.tab-badge.has-count[data-v-467a552f]{background:#eab30833;color:#d97706}.tab-pill.active .tab-badge.has-count[data-v-467a552f]{background:#ffffff4d;color:#fef08a}.empty-state[data-v-467a552f]{text-align:center;padding:56px 20px}.empty-icon-wrap[data-v-467a552f]{margin-bottom:12px}.empty-icon-big[data-v-467a552f]{font-size:52px;display:inline-block;animation:float-467a552f 3s ease-in-out infinite}@keyframes float-467a552f{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-title[data-v-467a552f]{font-size:18px;font-weight:700;color:#444;margin-bottom:6px}.empty-desc[data-v-467a552f]{font-size:14px;color:#999}.loading-state[data-v-467a552f]{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:#999;font-size:15px}.card-list[data-v-467a552f]{display:flex;flex-direction:column;gap:14px}.mat-card[data-v-467a552f]{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;background:#fff;border:1px solid #eee}.mat-card[data-v-467a552f]:hover{transform:translateY(-3px);box-shadow:0 12px 36px #0000001a}.mat-card:hover .card-glow[data-v-467a552f]{opacity:1}.card-accent[data-v-467a552f]{position:absolute;left:0;top:0;bottom:0;width:5px;transition:width .25s ease}.mat-card:hover .card-accent[data-v-467a552f]{width:7px}.card-语文 .card-accent[data-v-467a552f]{background:linear-gradient(180deg,#e0457b,#f472b6)}.card-数学 .card-accent[data-v-467a552f]{background:linear-gradient(180deg,#0b78d0,#38bdf8)}.card-英语 .card-accent[data-v-467a552f]{background:linear-gradient(180deg,#8b5cf6,#a78bfa)}.card-其他 .card-accent[data-v-467a552f]{background:linear-gradient(180deg,#6b7280,#9ca3af)}.card-glow[data-v-467a552f]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.card-语文 .card-glow[data-v-467a552f]{background:radial-gradient(400px circle at 0 50%,rgba(224,69,123,.07),transparent 70%)}.card-数学 .card-glow[data-v-467a552f]{background:radial-gradient(400px circle at 0 50%,rgba(11,120,208,.07),transparent 70%)}.card-英语 .card-glow[data-v-467a552f]{background:radial-gradient(400px circle at 0 50%,rgba(139,92,246,.07),transparent 70%)}.card-其他 .card-glow[data-v-467a552f]{background:radial-gradient(400px circle at 0 50%,rgba(107,114,128,.05),transparent 70%)}.card-body[data-v-467a552f]{padding:20px 20px 16px 22px}.card-top[data-v-467a552f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-subject[data-v-467a552f]{font-size:12px;font-weight:800;padding:3px 12px;border-radius:8px;color:#fff;letter-spacing:.5px}.subj-语文[data-v-467a552f]{background:linear-gradient(135deg,#e0457b,#ec4899)}.subj-数学[data-v-467a552f]{background:linear-gradient(135deg,#0b78d0,#3b82f6)}.subj-英语[data-v-467a552f]{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.subj-其他[data-v-467a552f]{background:linear-gradient(135deg,#6b7280,#9ca3af)}.card-tags[data-v-467a552f]{display:flex;gap:6px}.tag[data-v-467a552f]{display:inline-block;padding:2px 10px;border-radius:6px;background:#f3f4f6;color:#666;font-size:12px;font-weight:600}.tag-grade[data-v-467a552f]{background:#eff6ff;color:#2563eb}.tag-term[data-v-467a552f]{background:#fdf4ff;color:#c026d3}.card-title[data-v-467a552f]{font-size:17px;font-weight:700;color:#1f2937;margin:0 0 14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-bottom[data-v-467a552f]{display:flex;align-items:center;justify-content:space-between}.card-stats[data-v-467a552f]{display:flex;align-items:center;gap:8px}.cs-item[data-v-467a552f]{font-size:13px;color:#6b7280}.cs-item b[data-v-467a552f]{color:#374151;font-weight:700}.cs-dot[data-v-467a552f]{width:3px;height:3px;border-radius:50%;background:#d1d5db}.card-action[data-v-467a552f]{font-size:13px;font-weight:700;color:#6a5cff;white-space:nowrap;transition:transform .2s ease}.mat-card:hover .card-action[data-v-467a552f]{transform:translate(3px)}.spinner[data-v-467a552f]{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#6a5cff;border-radius:50%;animation:spin-467a552f .8s linear infinite}@keyframes spin-467a552f{to{transform:rotate(360deg)}}@media (max-width: 600px){.hero-content[data-v-467a552f]{flex-direction:column;align-items:flex-start;padding:20px}.hero-stats[data-v-467a552f]{width:100%;justify-content:space-around}.hero-title[data-v-467a552f]{font-size:20px}.tab-bar[data-v-467a552f]{flex-wrap:wrap}.tab-pill[data-v-467a552f]{flex:1 1 45%}.card-body[data-v-467a552f]{padding:16px 14px 14px 16px}.card-title[data-v-467a552f]{font-size:15px}}.modal-mask[data-v-85b47d51]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal[data-v-85b47d51]{background:#fff;border-radius:16px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column}.modal-head[data-v-85b47d51]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eee}.modal-title[data-v-85b47d51]{font-weight:700}.x[data-v-85b47d51]{border:none;background:none;font-size:18px;cursor:pointer;color:#999}.modal-body[data-v-85b47d51]{padding:16px 18px;overflow:auto}.mode-bar[data-v-85b47d51]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f7f8fc;border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.mode-label[data-v-85b47d51]{font-size:13px;color:#666;font-weight:600}.mode-switch[data-v-85b47d51]{font-size:12px}.mode-switch span[data-v-85b47d51]{padding:4px 10px;border-radius:6px;background:#e7e8ef;color:#777;cursor:pointer;margin-right:4px}.mode-switch span.on[data-v-85b47d51]{background:#6a5cff;color:#fff}.qr-points[data-v-85b47d51]{margin-left:auto;color:#6a5cff;font-weight:700}.shuffle-btn[data-v-85b47d51]{margin-left:8px}.muted[data-v-85b47d51]{color:#999;font-size:12px}.qgroup[data-v-85b47d51]{margin-bottom:26px}.qgroup[data-v-85b47d51]:last-child{margin-bottom:0}.qgroup-head[data-v-85b47d51]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff;border-radius:10px;margin-bottom:14px}.qgroup-title[data-v-85b47d51]{font-weight:800;font-size:15px}.qgroup-count[data-v-85b47d51]{font-size:12px;background:#ffffff40;border-radius:10px;padding:1px 8px}.qcard[data-v-85b47d51]{border:1px solid #eee;border-radius:12px;padding:14px;margin-bottom:12px}.qc-q[data-v-85b47d51]{font-weight:600;margin-bottom:8px;display:flex;gap:8px;align-items:flex-start}.qc-no[data-v-85b47d51]{flex:0 0 auto}.qc-text[data-v-85b47d51]{flex:1;line-height:1.5}.from-k[data-v-85b47d51]{font-size:12px;color:#8b5cf6;background:#f3e8ff;padding:2px 8px;border-radius:6px;margin-bottom:8px;display:inline-block}.qtype[data-v-85b47d51]{font-size:11px;padding:2px 6px;border-radius:5px;background:#eef;color:#556;flex:0 0 auto}.qt-judge[data-v-85b47d51]{background:#fef0e6;color:#e08600}.qt-fill[data-v-85b47d51],.qt-cloze[data-v-85b47d51]{background:#e6f7ec;color:#1a9e5a}.qt-annotate[data-v-85b47d51]{background:#fff4e6;color:#d97706}.qt-summarize[data-v-85b47d51]{background:#f3e8ff;color:#8b5cf6}.qt-make[data-v-85b47d51]{background:#e6f5ff;color:#0b78d0}.qt-translate[data-v-85b47d51]{background:#eaf0ff;color:#3a6df0}.qt-solve[data-v-85b47d51]{background:#ffeef2;color:#e0457b}.qt-open[data-v-85b47d51]{background:#eaf0ff;color:#3a6df0}.opts[data-v-85b47d51]{display:flex;flex-wrap:wrap;gap:8px}.opt[data-v-85b47d51]{padding:8px 12px;border:1px solid #d8d8e0;border-radius:8px;cursor:pointer;font-size:14px;background:#fff}.opt.fill[data-v-85b47d51]{border-radius:16px}.opt.sel[data-v-85b47d51]{border-color:#6a5cff;background:#f0eeff}.opt.ok[data-v-85b47d51]{border-color:#1a9e5a;background:#e6f7ec}.opt.bad[data-v-85b47d51]{border-color:#e74c3c;background:#fdecea}.opt.correct-mark[data-v-85b47d51]{border-color:#1a9e5a;box-shadow:0 0 0 2px #1a9e5a inset}.free-area[data-v-85b47d51]{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.free-input[data-v-85b47d51]{width:100%;padding:10px;border:1px solid #d8d8e0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.free-input[data-v-85b47d51]:focus{outline:none;border-color:#6a5cff}.open-opts[data-v-85b47d51]{flex-direction:column;align-items:flex-start}.open-ref[data-v-85b47d51]{margin-top:8px;padding:8px 10px;background:#f5f8ff;border:1px dashed #b9ccf5;border-radius:8px;font-size:13px;color:#333;width:100%}.open-ref-ans[data-v-85b47d51]{color:#3a6df0;font-weight:600}.qp-exp[data-v-85b47d51]{color:#888;font-size:12px;margin-top:2px}.qc-fb[data-v-85b47d51]{margin-top:8px;font-size:13px;padding:6px 8px;border-radius:8px}.qc-fb.ok[data-v-85b47d51]{color:#1a9e5a;background:#e6f7ec}.qc-fb.bad[data-v-85b47d51]{color:#e74c3c;background:#fdecea}.qc-exp[data-v-85b47d51]{display:block;color:#777;margin-top:2px;font-size:12px}.qc-one-btn-wrap[data-v-85b47d51]{margin-top:6px;text-align:right}.one-btn[data-v-85b47d51]{padding:5px 14px;font-size:12px;background:linear-gradient(135deg,#eef3ff,#dbe8ff);color:#4454a8;border:1px solid #c5d2fa}.one-btn[data-v-85b47d51]:hover{background:linear-gradient(135deg,#dbe8ff,#c5d2fa)}.quiz-foot[data-v-85b47d51]{display:flex;align-items:center;gap:12px;margin-top:12px}.btn[data-v-85b47d51]{padding:9px 16px;border:none;border-radius:10px;background:#eef0f5;color:#333;cursor:pointer;font-weight:600;font-size:14px}.btn.primary[data-v-85b47d51]{background:linear-gradient(135deg,#6a5cff,#9b6bff);color:#fff}.btn[data-v-85b47d51]:disabled{opacity:.5;cursor:not-allowed}.quiz-result[data-v-85b47d51]{margin-top:14px;padding:12px;background:#f7f8fc;border-radius:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qr-score[data-v-85b47d51]{font-weight:700;font-size:16px}.empty-state[data-v-85b47d51]{text-align:center;padding:30px;color:#999}.md-page[data-v-344c6756]{max-width:820px;margin:0 auto;padding:0 16px 32px}.md-nav[data-v-344c6756]{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-top:4px}.back-btn[data-v-344c6756]{display:inline-flex;align-items:center;gap:2px;border:none;background:#f0f1f5;color:#555;border-radius:10px;padding:7px 14px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.back-btn[data-v-344c6756]:hover{background:#e4e5ea;color:#333}.back-arrow[data-v-344c6756]{font-size:20px;font-weight:300}.nav-breadcrumb[data-v-344c6756]{font-size:13px;color:#999}.bc-item[data-v-344c6756]{cursor:pointer;transition:color .2s}.bc-item[data-v-344c6756]:hover{color:#6a5cff}.bc-sep[data-v-344c6756]{margin:0 6px;color:#ccc}.bc-current[data-v-344c6756]{color:#444;font-weight:600}.empty-state[data-v-344c6756]{text-align:center;padding:56px 20px}.empty-icon-wrap[data-v-344c6756]{margin-bottom:12px}.empty-icon-big[data-v-344c6756]{font-size:52px;display:inline-block;animation:float-344c6756 3s ease-in-out infinite}@keyframes float-344c6756{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-title[data-v-344c6756]{font-size:18px;font-weight:700;color:#444;margin-bottom:6px}.empty-desc[data-v-344c6756]{font-size:14px;color:#999}.loading-state[data-v-344c6756]{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:#999;font-size:15px}.spinner[data-v-344c6756]{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#6a5cff;border-radius:50%;animation:spin-344c6756 .8s linear infinite}@keyframes spin-344c6756{to{transform:rotate(360deg)}}.title-card[data-v-344c6756]{position:relative;border-radius:20px;overflow:hidden;margin-bottom:20px;box-shadow:0 8px 32px #00000014}.tc-glow[data-v-344c6756]{position:absolute;top:0;right:0;bottom:0;left:0}.tc-语文 .tc-glow[data-v-344c6756]{background:linear-gradient(135deg,#e0457b,#f9a8d4)}.tc-数学 .tc-glow[data-v-344c6756]{background:linear-gradient(135deg,#0b78d0,#7dd3fc)}.tc-英语 .tc-glow[data-v-344c6756]{background:linear-gradient(135deg,#8b5cf6,#c4b5fd)}.tc-其他 .tc-glow[data-v-344c6756]{background:linear-gradient(135deg,#6b7280,#d1d5db)}.tc-body[data-v-344c6756]{position:relative;padding:26px 28px 22px}.tc-top[data-v-344c6756]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tc-subject[data-v-344c6756]{font-size:12px;font-weight:800;padding:4px 14px;border-radius:10px;color:#fff;letter-spacing:.5px}.subj-语文[data-v-344c6756],.subj-数学[data-v-344c6756],.subj-英语[data-v-344c6756],.subj-其他[data-v-344c6756]{background:#ffffff40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tc-tags[data-v-344c6756]{display:flex;gap:6px}.tag[data-v-344c6756]{display:inline-block;padding:3px 10px;border-radius:8px;font-size:12px;font-weight:700;color:#fff}.tag-grade[data-v-344c6756]{background:#ffffff38}.tag-term[data-v-344c6756]{background:#ffffff29}.tc-title[data-v-344c6756]{color:#fff;font-size:22px;font-weight:800;margin:0 0 16px;line-height:1.35;text-shadow:0 2px 8px rgba(0,0,0,.12)}.tc-stats[data-v-344c6756]{display:flex;gap:20px}.tc-stat[data-v-344c6756]{display:flex;align-items:center;gap:6px;color:#ffffffe6}.tc-stat-icon[data-v-344c6756]{font-size:16px}.tc-stat-num[data-v-344c6756]{font-size:20px;font-weight:800}.tc-stat-label[data-v-344c6756]{font-size:12px;opacity:.8}.action-row[data-v-344c6756]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.action-btn[data-v-344c6756]{display:flex;align-items:center;gap:10px;border:none;border-radius:16px;padding:16px 20px;cursor:pointer;transition:all .25s ease}.btn-view[data-v-344c6756]{background:#fff;border:2px solid #e5e7eb;box-shadow:0 2px 8px #0000000a}.btn-view[data-v-344c6756]:hover{border-color:#6a5cff;box-shadow:0 4px 16px #6a5cff26;transform:translateY(-2px)}.btn-quiz[data-v-344c6756]{background:linear-gradient(135deg,#6a5cff,#9b6bff);box-shadow:0 4px 16px #6a5cff4d;color:#fff}.btn-quiz[data-v-344c6756]:hover{box-shadow:0 8px 28px #6a5cff73;transform:translateY(-2px)}.btn-icon[data-v-344c6756]{font-size:22px}.btn-text[data-v-344c6756]{font-size:15px;font-weight:800;flex:1}.btn-view .btn-text[data-v-344c6756]{color:#374151}.btn-quiz .btn-text[data-v-344c6756]{color:#fff}.btn-hint[data-v-344c6756]{font-size:12px;opacity:.6;white-space:nowrap}.section-card[data-v-344c6756]{background:#fff;border:1px solid #eee;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 2px 12px #00000008}.sec-head[data-v-344c6756]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.sec-icon[data-v-344c6756]{font-size:18px}.sec-title[data-v-344c6756]{font-size:17px;font-weight:800;color:#1f2937}.summary-box[data-v-344c6756]{background:linear-gradient(135deg,#fafbff,#f5f3ff);border:1px solid #ede9fe;border-radius:14px;padding:16px 18px;color:#444;font-size:14.5px;line-height:1.75;margin-bottom:10px;white-space:pre-wrap}.coverage-badge[data-v-344c6756]{display:inline-block;padding:4px 14px;border-radius:10px;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:600;margin-bottom:14px}.kp-list[data-v-344c6756]{display:flex;flex-direction:column;gap:10px}.kp-card[data-v-344c6756]{display:flex;gap:12px;align-items:flex-start;background:#fafbfc;border:1px solid #f0f1f5;border-radius:14px;padding:14px 16px;transition:background .2s}.kp-card[data-v-344c6756]:hover{background:#f5f3ff}.kp-idx[data-v-344c6756]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6a5cff,#a78bfa);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.kp-body[data-v-344c6756]{flex:1;min-width:0}.kp-title[data-v-344c6756]{font-weight:700;font-size:14.5px;color:#1f2937;margin-bottom:4px}.kp-content[data-v-344c6756]{color:#555;font-size:13.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.muted-box[data-v-344c6756]{color:#aaa;font-size:13px;padding:12px 0}.q-grid[data-v-344c6756]{display:flex;flex-wrap:wrap;gap:8px}.q-chip[data-v-344c6756]{font-size:12px;font-weight:700;padding:5px 14px;border-radius:10px;background:#f3f4f6;color:#6b7280}.qt-judge[data-v-344c6756]{background:#fef3c7;color:#b45309}.qt-fill[data-v-344c6756],.qt-cloze[data-v-344c6756]{background:#d1fae5;color:#047857}.qt-choice[data-v-344c6756]{background:#dbeafe;color:#1d4ed8}.qt-annotate[data-v-344c6756]{background:#fef3c7;color:#b45309}.qt-summarize[data-v-344c6756]{background:#ede9fe;color:#7c3aed}.qt-make[data-v-344c6756]{background:#e0f2fe;color:#0369a1}.qt-translate[data-v-344c6756]{background:#eff6ff;color:#2563eb}.qt-solve[data-v-344c6756]{background:#fce7f3;color:#be185d}.qt-open[data-v-344c6756]{background:#e0f2fe;color:#0369a1}@media (max-width: 600px){.action-row[data-v-344c6756]{grid-template-columns:1fr}.tc-body[data-v-344c6756]{padding:20px}.tc-title[data-v-344c6756]{font-size:19px}.section-card[data-v-344c6756]{padding:16px}}.ket-ring[data-v-98b0dbf9]{position:relative;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.ket-ring-val[data-v-98b0dbf9]{position:relative;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ket-ring-val small[data-v-98b0dbf9]{font-size:.6em}.writing-page[data-v-1b0b76df]{max-width:1040px;margin:0 auto;padding:26px 18px 40px}.page-head[data-v-1b0b76df]{display:flex;align-items:center;gap:14px;margin-bottom:22px}.back[data-v-1b0b76df]{width:38px;height:38px;flex:none;border:1px solid var(--ket-line);background:#fff;color:var(--ket-ink-2);font-size:18px;font-weight:700;border-radius:12px;cursor:pointer;transition:all .15s}.back[data-v-1b0b76df]:hover{background:var(--ket-primary-soft);color:var(--ket-primary);border-color:#cfe0fb}.head-txt[data-v-1b0b76df]{flex:1;min-width:0}.head-txt h2[data-v-1b0b76df]{margin:0;color:var(--ket-ink);font-size:24px;font-weight:800;letter-spacing:.3px}.sub[data-v-1b0b76df]{color:var(--ket-muted);margin:3px 0 0;font-size:13px}.head-stat[data-v-1b0b76df]{text-align:right;flex:none}.hs-num[data-v-1b0b76df]{font-size:26px;font-weight:800;color:var(--ket-primary)}.hs-label[data-v-1b0b76df]{display:block;font-size:12px;color:var(--ket-muted);margin-top:2px}.state[data-v-1b0b76df]{text-align:center;padding:70px 0;color:var(--ket-muted)}.state-ic[data-v-1b0b76df]{font-size:46px;margin-bottom:10px}.spinner[data-v-1b0b76df]{width:34px;height:34px;margin:0 auto 12px;border:3px solid #dfe5f5;border-top-color:var(--ket-primary);border-radius:50%;animation:spin-1b0b76df .8s linear infinite}@keyframes spin-1b0b76df{to{transform:rotate(360deg)}}.unit-grid[data-v-1b0b76df]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.unit-card[data-v-1b0b76df]{background:var(--ket-surface);border-radius:var(--ket-r-lg);overflow:hidden;box-shadow:var(--ket-shadow);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;border:1px solid var(--ket-line);display:flex;flex-direction:column;outline:none}.unit-card[data-v-1b0b76df]:hover,.unit-card[data-v-1b0b76df]:focus-visible{transform:translateY(-5px);box-shadow:var(--ket-shadow-md);border-color:#cfe0fb}.unit-card:hover .go-arrow[data-v-1b0b76df]{color:var(--ket-primary);transform:translate(3px)}.unit-cover[data-v-1b0b76df]{position:relative;height:120px;padding:16px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.cover-emoji[data-v-1b0b76df]{font-size:30px;line-height:1;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.cover-no[data-v-1b0b76df]{font-size:26px;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.2)}.cover-flag[data-v-1b0b76df]{position:absolute;top:14px;right:14px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--ket-r-pill);background:#ffffffeb;color:#555}.cover-flag.full[data-v-1b0b76df]{color:#1f7a45}.cover-flag.half[data-v-1b0b76df]{color:#b5651d}.cover-flag.none[data-v-1b0b76df]{color:#9a3b3b}.cover-ring[data-v-1b0b76df]{position:absolute;right:14px;bottom:14px;line-height:0}.unit-body[data-v-1b0b76df]{padding:15px 16px 6px;flex:1}.unit-title[data-v-1b0b76df]{font-size:16px;font-weight:800;color:var(--ket-ink);line-height:1.4;margin:0 0 7px;min-height:44px}.unit-theme[data-v-1b0b76df]{display:inline-block;font-size:12px;color:var(--ket-ink-2);background:#f3f6fc;border:1px solid #e8edf8;padding:3px 9px;border-radius:var(--ket-r-pill)}.unit-progress[data-v-1b0b76df]{display:flex;align-items:center;gap:9px;margin-top:13px}.bar[data-v-1b0b76df]{flex:1;height:8px;background:var(--ket-line);border-radius:var(--ket-r-pill);overflow:hidden}.bar-fill[data-v-1b0b76df]{height:100%;background:var(--ket-primary-grad-h);border-radius:var(--ket-r-pill);transition:width .4s ease}.bar-text[data-v-1b0b76df]{font-size:11px;color:var(--ket-muted);white-space:nowrap}.unit-foot[data-v-1b0b76df]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--ket-line)}.train[data-v-1b0b76df]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ket-muted);background:#f6f8fc;border:1px solid #eceff6;padding:4px 9px;border-radius:var(--ket-r-pill)}.train .t-ic[data-v-1b0b76df]{font-size:13px}.train.done[data-v-1b0b76df]{color:var(--ket-ok);background:var(--ket-ok-soft);border-color:#c7eccf}.go-arrow[data-v-1b0b76df]{margin-left:auto;font-size:13px;font-weight:700;color:#b6bdcc;transition:all .15s}@media (max-width: 640px){.writing-page[data-v-1b0b76df]{padding:18px 13px 32px}.head-txt h2[data-v-1b0b76df]{font-size:21px}.unit-grid[data-v-1b0b76df]{grid-template-columns:repeat(2,1fr);gap:13px}.unit-cover[data-v-1b0b76df]{height:100px}.cover-no[data-v-1b0b76df]{font-size:20px}.unit-title[data-v-1b0b76df]{font-size:14px;min-height:38px}}.ket-btn[data-v-8dae8b05]{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;cursor:pointer;border:none;transition:all .15s;font-family:var(--ket-font-base);border-radius:var(--ket-r-md);padding:10px 18px;font-size:var(--ket-fs-md);color:#fff;background:var(--ket-primary-grad);box-shadow:var(--ket-shadow-primary)}.ket-btn.md[data-v-8dae8b05]{padding:12px 22px;font-size:var(--ket-fs-lg)}.ket-btn.sm[data-v-8dae8b05]{padding:8px 14px;font-size:var(--ket-fs-base)}.ket-btn.outline[data-v-8dae8b05]{background:#fff;color:var(--ket-primary);border:1px solid var(--ket-primary);box-shadow:none}.ket-btn.ghost[data-v-8dae8b05]{background:transparent;color:var(--ket-ink-2);box-shadow:none}.ket-btn.block[data-v-8dae8b05]{width:100%}.ket-btn[data-v-8dae8b05]:hover:not(.is-disabled):not(:disabled){transform:translateY(-1px)}.ket-btn.outline[data-v-8dae8b05]:hover{background:var(--ket-primary-soft)}.ket-btn.primary[data-v-8dae8b05]:hover{box-shadow:0 9px 22px #5a6cf057}.ket-btn.is-disabled[data-v-8dae8b05],.ket-btn[data-v-8dae8b05]:disabled{background:#c2ccdd;box-shadow:none;cursor:not-allowed;color:#fff}.ket-btn.outline.is-disabled[data-v-8dae8b05],.ket-btn.outline[data-v-8dae8b05]:disabled{background:#fff;color:#b6bdcc;border-color:var(--ket-line)}.ket-card[data-v-741f144c]{background:var(--ket-surface);border:1px solid var(--ket-line);border-radius:var(--ket-r-lg);box-shadow:var(--ket-shadow)}.ket-card.soft[data-v-741f144c]{background:var(--ket-surface-2)}.ket-card.hover[data-v-741f144c]{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ket-card.hover[data-v-741f144c]:hover{transform:translateY(-5px);box-shadow:var(--ket-shadow-md);border-color:#cfe0fb}.ket-tabs[data-v-bc7ff323]{display:flex;gap:8px}.ket-tabs.vertical[data-v-bc7ff323]{flex-direction:column}.ket-tab[data-v-bc7ff323]{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ket-line);background:#fff;color:var(--ket-ink-2);font-weight:700;padding:8px 14px;border-radius:var(--ket-r-pill);font-size:var(--ket-fs-base);cursor:pointer;transition:all .15s;font-family:var(--ket-font-base);white-space:nowrap}.ket-tab[data-v-bc7ff323]:hover{border-color:#cdd9ef}.ket-tab.on[data-v-bc7ff323]{background:var(--ket-primary-grad);color:#fff;border-color:var(--ket-primary-600)}.ket-tab.is-disabled[data-v-bc7ff323]{opacity:.5;cursor:not-allowed}.kt-badge[data-v-bc7ff323]{margin-left:auto;font-size:var(--ket-fs-xs);font-weight:800;background:#ff6b6b;color:#fff;min-width:18px;height:18px;border-radius:var(--ket-r-pill);display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.kt-tab.on .kt-badge[data-v-bc7ff323],.ket-tab.on .kt-badge[data-v-bc7ff323]{background:#ffffff4d}.wunit-page[data-v-0c2210cb]{max-width:1140px;margin:0 auto;padding:22px 18px 40px}.wunit-layout[data-v-0c2210cb]{display:flex;gap:22px;align-items:flex-start}.wunit-side[data-v-0c2210cb]{width:268px;flex:none;position:sticky;top:18px;display:flex;flex-direction:column;gap:14px}.wunit-main[data-v-0c2210cb]{flex:1;min-width:0}.side-back[data-v-0c2210cb]{align-self:flex-start;border:1px solid var(--ket-line);background:#fff;color:var(--ket-ink-2);font-weight:700;padding:7px 13px;border-radius:10px;cursor:pointer;transition:all .15s;font-size:13px}.side-back[data-v-0c2210cb]:hover{background:#eef2fb;color:var(--ket-primary);border-color:#cfe0fb}.side-hero[data-v-0c2210cb]{background:linear-gradient(135deg,#6a8dff,#5a6cf0);border-radius:20px;padding:18px 18px 20px;color:#fff;box-shadow:0 10px 26px #5a6cf047;display:flex;flex-direction:column;gap:6px}.sh-badge[data-v-0c2210cb]{align-self:flex-start;font-size:11px;font-weight:800;background:#ffffff38;padding:3px 10px;border-radius:999px}.sh-title[data-v-0c2210cb]{margin:4px 0 0;font-size:19px;font-weight:800;line-height:1.35}.sh-theme[data-v-0c2210cb]{margin:0;font-size:13px;color:#ffffffdb}.sh-ring[data-v-0c2210cb]{align-self:center;margin:10px 0 2px;line-height:0}.sh-mlabel[data-v-0c2210cb]{align-self:center;font-size:11px;color:#fffc}.sh-res[data-v-0c2210cb]{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.sh-chip[data-v-0c2210cb]{flex:1;min-width:0;text-align:center;font-size:11px;font-weight:700;padding:5px 4px;border-radius:9px;background:#ffffff29;color:#ffffffb3}.sh-chip.on[data-v-0c2210cb]{background:#ffffffeb;color:#2e7d4f}.sh-stats[data-v-0c2210cb]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.shs[data-v-0c2210cb]{background:#ffffff24;border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:2px}.shs-tx[data-v-0c2210cb]{font-size:11px;color:#ffffffd1}.shs b[data-v-0c2210cb]{font-size:14px;color:#fff}.shs.wrong[data-v-0c2210cb]{background:#ffffff38}.shs.wrong b[data-v-0c2210cb]{color:#ffe1a8}.side-nav[data-v-0c2210cb]{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--ket-line);border-radius:18px;padding:10px;box-shadow:var(--ket-shadow)}.side-nav button[data-v-0c2210cb]{display:flex;align-items:center;gap:11px;border:none;background:transparent;color:var(--ket-ink-2);font-weight:700;padding:11px 13px;border-radius:12px;cursor:pointer;font-size:14px;transition:all .15s;position:relative}.side-nav button .nav-ic[data-v-0c2210cb]{font-size:18px;line-height:1}.side-nav button[data-v-0c2210cb]:hover{background:#f3f6fc;color:var(--ket-ink)}.side-nav button.on[data-v-0c2210cb]{background:linear-gradient(135deg,#6a8dff,#5a6cf0);color:#fff;box-shadow:0 6px 16px #5a6cf04d}.side-nav .nav-badge[data-v-0c2210cb]{margin-left:auto;font-size:11px;font-weight:800;background:#ff6b6b;color:#fff;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px}.side-nav button.on .nav-badge[data-v-0c2210cb]{background:#ffffff4d}.panel[data-v-0c2210cb]{background:#fff;border-radius:20px;padding:24px;box-shadow:var(--ket-shadow);min-height:420px;border:1px solid var(--ket-line)}.tab-body[data-v-0c2210cb]{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.hint[data-v-0c2210cb]{color:var(--ket-ink-2);font-size:14px;margin:0}.warn[data-v-0c2210cb]{color:#c0392b;font-size:13px;margin:0}.ans-imgs[data-v-0c2210cb]{display:flex;flex-direction:column;gap:12px;width:100%}.ans-img[data-v-0c2210cb]{width:100%;border-radius:12px;border:1px solid var(--ket-line)}.ans-source[data-v-0c2210cb]{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:30px 0;text-align:center}.ans-source-ic[data-v-0c2210cb]{font-size:42px}.ans-source-title[data-v-0c2210cb]{font-size:16px;font-weight:700;color:var(--ket-ink);margin:0}.ans-source .sub[data-v-0c2210cb]{font-size:13px;color:var(--ket-ink-2);margin:0 0 6px;max-width:420px}.coming[data-v-0c2210cb]{text-align:center;width:100%;padding:44px 0;color:var(--ket-muted)}.coming-icon[data-v-0c2210cb]{font-size:42px;margin-bottom:8px}.coming-title[data-v-0c2210cb]{font-size:16px;font-weight:700;color:var(--ket-ink);margin:0 0 6px}.coming .sub[data-v-0c2210cb]{font-size:13px;margin:0}.essay-body[data-v-0c2210cb]{align-items:stretch}.essay-card[data-v-0c2210cb]{background:#fafbff;border:1px solid var(--ket-line);border-radius:14px;padding:14px 16px}.essay-head[data-v-0c2210cb]{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ket-ink);margin-bottom:10px;cursor:default}.essay-head .essay-ic[data-v-0c2210cb]{font-size:18px}.essay-title[data-v-0c2210cb]{font-size:15px}.essay-desc[data-v-0c2210cb]{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.7;color:#334155;font-family:inherit}.essay-req[data-v-0c2210cb]{margin-top:12px;background:#fff;border:1px solid #e8ecf8;border-radius:10px;padding:12px}.req-title[data-v-0c2210cb]{font-size:13px;font-weight:800;color:var(--ket-primary);margin-bottom:6px}.essay-req pre[data-v-0c2210cb]{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.7;color:#555;font-family:inherit}.checklist[data-v-0c2210cb]{display:flex;flex-direction:column;gap:8px}.check-item[data-v-0c2210cb]{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#334155;cursor:pointer}.check-item input[data-v-0c2210cb]{margin-top:3px;accent-color:var(--ket-primary)}.model-card .essay-head[data-v-0c2210cb]{cursor:pointer}.model-card .toggle[data-v-0c2210cb]{margin-left:auto;font-size:12px;color:var(--ket-primary);font-weight:600}.model-essay[data-v-0c2210cb]{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.8;color:#334155;background:#fff;padding:12px;border-radius:10px;border:1px dashed #d5dbe9;font-family:Georgia,Times New Roman,serif}.essay-ta[data-v-0c2210cb]{width:100%;padding:12px;border:1px solid #d5dbe9;border-radius:10px;font-size:14px;line-height:1.7;font-family:inherit;resize:vertical;box-sizing:border-box;min-height:160px}.essay-ta[data-v-0c2210cb]:focus{outline:none;border-color:var(--ket-primary);box-shadow:0 0 0 3px #5b6cff1f}.essay-ta[data-v-0c2210cb]:disabled{background:#f4f6fb;color:#8a90a6}.essay-stats[data-v-0c2210cb]{font-size:12px;color:var(--ket-ink-2);margin-top:6px}.recite-body[data-v-0c2210cb]{align-items:stretch}.recite-card[data-v-0c2210cb]{background:#fafbff;border:1px solid var(--ket-line);border-radius:14px;padding:16px}.recite-mode[data-v-0c2210cb]{display:flex;gap:8px;margin-bottom:14px}.recite-mode button[data-v-0c2210cb]{padding:6px 12px;border:1px solid var(--ket-line);background:#fff;border-radius:8px;font-size:13px;font-weight:700;color:var(--ket-ink-2);cursor:pointer;transition:all .15s}.recite-mode button.on[data-v-0c2210cb]{background:var(--ket-primary);color:#fff;border-color:var(--ket-primary)}.cloze-wrap[data-v-0c2210cb]{display:flex;flex-direction:column;gap:10px}.cloze-line[data-v-0c2210cb]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:2;font-size:15px;color:var(--ket-ink)}.cloze-text[data-v-0c2210cb]{font-family:Georgia,Times New Roman,serif}.cloze-input[data-v-0c2210cb]{width:90px;padding:6px 8px;border:1px solid #d5dbe9;border-radius:8px;font-size:14px;text-align:center;transition:all .15s}.cloze-answer[data-v-0c2210cb]{display:inline-block;min-width:70px;padding:6px 10px;border-radius:8px;text-align:center;font-size:14px;font-weight:700;color:#9aa3bd;background:#f1f4fa;border:1px dashed #d8dfee}.cloze-input[data-v-0c2210cb]:focus{outline:none;border-color:var(--ket-primary);box-shadow:0 0 0 3px #5b6cff1f}.cloze-input.ok[data-v-0c2210cb]{border-color:#34d399;background:#f6fdf9}.cloze-input.bad[data-v-0c2210cb]{border-color:#f87171;background:#fef6f6}.check-btn-sm[data-v-0c2210cb]{padding:5px 8px;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s}.check-btn-sm[data-v-0c2210cb]:hover:not(:disabled){box-shadow:0 3px 9px #667eea52}.check-btn-sm[data-v-0c2210cb]:disabled{opacity:.5;cursor:not-allowed}.recite-fb[data-v-0c2210cb]{font-size:13px;font-weight:800}.recite-fb.ok[data-v-0c2210cb]{color:#34d399}.recite-fb.bad[data-v-0c2210cb]{color:#f87171}.full-wrap[data-v-0c2210cb]{margin-bottom:10px}.fill-body[data-v-0c2210cb]{align-items:stretch}.train-bar[data-v-0c2210cb]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f8faff;border:1px solid #e8edf8;border-radius:12px;padding:10px 14px;margin-bottom:14px}.tb-best[data-v-0c2210cb]{font-size:13px;font-weight:700;color:var(--ket-primary)}.tb-switch[data-v-0c2210cb]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#b5651d;cursor:pointer}.tb-switch input[data-v-0c2210cb]{accent-color:#f08c2e;width:15px;height:15px}.score-point[data-v-0c2210cb]{margin-left:auto;font-size:14px;font-weight:800;color:#d97706;background:#fff7e6;border:1px solid #f5d9a0;padding:3px 10px;border-radius:999px}.q-group[data-v-0c2210cb]{margin-bottom:18px}.q-group-title[data-v-0c2210cb]{display:flex;align-items:center;gap:8px;margin:6px 2px 12px;font-size:14px;font-weight:800;color:#34406b;padding-bottom:6px;border-bottom:2px solid #e7ecf6}.qg-name[data-v-0c2210cb]{letter-spacing:.5px}.qg-count[data-v-0c2210cb]{font-size:12px;font-weight:700;color:var(--ket-primary);background:#eef5ff;padding:1px 9px;border-radius:999px}.score-banner[data-v-0c2210cb]{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eaf3ff,#f3fff8);border:1px solid #c7eccf;border-radius:12px;padding:12px 16px;margin-bottom:14px}.score-num[data-v-0c2210cb]{font-size:22px;font-weight:800;color:var(--ket-ok)}.score-meta[data-v-0c2210cb]{font-size:14px;color:var(--ket-ink-2);font-weight:700}.q-card[data-v-0c2210cb]{background:#fafbff;border:1px solid var(--ket-line);border-radius:12px;padding:14px 16px}.q-head[data-v-0c2210cb]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.q-no[data-v-0c2210cb]{width:24px;height:24px;border-radius:50%;background:var(--ket-primary);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.q-type[data-v-0c2210cb]{font-size:12px;font-weight:700;color:var(--ket-primary);background:#eef5ff;padding:2px 8px;border-radius:999px}.q-stem[data-v-0c2210cb]{font-size:15px;color:var(--ket-ink);line-height:1.7;margin-bottom:10px}.q-input[data-v-0c2210cb]{flex:1;min-width:0;padding:10px 12px;border:1px solid #d5dbe9;border-radius:10px;font-size:15px;color:var(--ket-ink);background:#fff;transition:all .15s}.q-input[data-v-0c2210cb]:focus{outline:none;border-color:var(--ket-primary);box-shadow:0 0 0 3px #5b6cff1f}.q-input[data-v-0c2210cb]:disabled{background:#f4f6fb;color:#8a90a6}.q-input.ok[data-v-0c2210cb]{border-color:#34d399;background:#f6fdf9}.q-input.bad[data-v-0c2210cb]{border-color:#f87171;background:#fef6f6}.q-row[data-v-0c2210cb]{display:flex;gap:10px;align-items:center;width:100%;max-width:520px}.check-btn[data-v-0c2210cb]{padding:9px 14px;border:none;border-radius:9px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.check-btn[data-v-0c2210cb]:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d}.check-btn[data-v-0c2210cb]:disabled{opacity:.5;cursor:not-allowed}.q-feedback[data-v-0c2210cb]{margin-top:10px;padding:8px 12px;border-radius:9px;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.q-feedback.ok[data-v-0c2210cb]{background:#f6fdf9;border:1px solid #bbf7d0;color:#15803d}.q-feedback.bad[data-v-0c2210cb]{background:#fef6f6;border:1px solid #fecaca;color:#b91c1c}.fb-judge[data-v-0c2210cb]{font-weight:800}.fb-expected[data-v-0c2210cb]{margin-left:auto;color:#666}.q-feedback.ok .fb-expected[data-v-0c2210cb]{color:#166534}.q-feedback.bad .fb-expected[data-v-0c2210cb]{color:#991b1b}.fb-exp[data-v-0c2210cb]{width:100%;color:var(--ket-ink-2);background:#f8f9fc;padding:6px 9px;border-radius:7px;margin-top:4px}.q-res[data-v-0c2210cb]{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.res-ok[data-v-0c2210cb]{font-size:13px;font-weight:800;padding:3px 8px;border-radius:999px}.res-ok.yes[data-v-0c2210cb]{color:#1f7a45;background:#d7f3e0}.res-ok.no[data-v-0c2210cb]{color:#9a3b3b;background:#ffe8e8}.res-answer[data-v-0c2210cb]{font-size:13px;color:var(--ket-primary);font-weight:700}.res-exp[data-v-0c2210cb]{width:100%;font-size:13px;color:var(--ket-ink-2);background:#f8f9fc;padding:8px 10px;border-radius:8px}.act-bar[data-v-0c2210cb]{display:flex;gap:10px;margin-top:6px}@media (max-width: 860px){.wunit-layout[data-v-0c2210cb]{flex-direction:column;gap:14px}.wunit-side[data-v-0c2210cb]{width:100%;position:static;flex-direction:column}.side-hero[data-v-0c2210cb]{flex-direction:row;flex-wrap:wrap;align-items:center}.sh-badge[data-v-0c2210cb]{order:-1}.sh-title[data-v-0c2210cb]{flex:1;min-width:120px}.sh-ring[data-v-0c2210cb]{order:5;margin:0 0 0 auto;width:72px;height:72px}.sh-ring[data-v-0c2210cb]:before{width:56px;height:56px}.sh-ring-val[data-v-0c2210cb]{font-size:19px}.sh-mlabel[data-v-0c2210cb]{display:none}.sh-res[data-v-0c2210cb],.sh-stats[data-v-0c2210cb]{flex-basis:100%}.side-nav[data-v-0c2210cb]{flex-direction:row;overflow-x:auto;padding:8px;gap:6px}.side-nav button[data-v-0c2210cb]{flex:none;white-space:nowrap;padding:9px 12px}.panel[data-v-0c2210cb]{padding:18px 14px;min-height:auto}}@media (max-width: 480px){.wunit-page[data-v-0c2210cb]{padding:14px 12px 30px}}.growth-page[data-v-56241a47]{max-width:820px;margin:0 auto;padding:16px 14px 40px}.loading[data-v-56241a47]{display:flex;align-items:center;gap:10px;color:#6b7a99;padding:30px;justify-content:center}.spinner[data-v-56241a47]{width:22px;height:22px;border:3px solid #dde4f2;border-top-color:#4a6fb5;border-radius:50%;animation:spin-56241a47 .8s linear infinite}@keyframes spin-56241a47{to{transform:rotate(360deg)}}.empty-state[data-v-56241a47]{text-align:center;color:#e07b7b;padding:40px}.empty-icon[data-v-56241a47]{font-size:32px}.section-title[data-v-56241a47]{font-size:16px;font-weight:700;color:#2b3a55;margin:22px 0 10px}.ach-hero[data-v-56241a47]{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#5b7fd6,#7e9be0);color:#fff;border-radius:16px;padding:18px 20px;flex-wrap:wrap}.hero-points .hp-num[data-v-56241a47]{font-size:26px;font-weight:800}.hero-points .hp-label[data-v-56241a47]{font-size:12px;opacity:.9}.hero-stats[data-v-56241a47]{display:flex;gap:18px;margin-left:auto}.hs-item[data-v-56241a47]{text-align:center}.hs-num[data-v-56241a47]{font-size:20px;font-weight:700}.hs-label[data-v-56241a47]{font-size:11px;opacity:.9}.module-bars[data-v-56241a47]{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 2px 10px #283c640f}.mbar-row[data-v-56241a47]{display:flex;align-items:center;gap:10px;margin:8px 0}.mbar-label[data-v-56241a47]{width:92px;font-size:13px;color:#445;flex-shrink:0}.mbar-track[data-v-56241a47]{flex:1;height:12px;background:#eef2fa;border-radius:8px;overflow:hidden}.mbar-fill[data-v-56241a47]{height:100%;border-radius:8px;transition:width .3s}.mbar-fill.pos[data-v-56241a47]{background:linear-gradient(90deg,#4a6fb5,#7e9be0)}.mbar-fill.neg[data-v-56241a47]{background:linear-gradient(90deg,#e07b7b,#f0a0a0)}.mbar-val[data-v-56241a47]{width:56px;text-align:right;font-size:13px;font-weight:600;color:#2b3a55}.mbar-val.neg[data-v-56241a47]{color:#e07b7b}.err-dist[data-v-56241a47]{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.ed-card[data-v-56241a47]{background:#fff;border-radius:12px;padding:12px 6px;text-align:center;box-shadow:0 2px 8px #283c640f}.ed-num[data-v-56241a47]{font-size:20px;font-weight:800;color:#4a6fb5}.ed-label[data-v-56241a47]{font-size:12px;color:#6b7a99;margin-top:2px}.mastery-box[data-v-56241a47]{display:flex;align-items:center;gap:18px;background:#fff;border-radius:14px;padding:16px;box-shadow:0 2px 10px #283c640f}.m-ring[data-v-56241a47]{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-ring[data-v-56241a47]:after{content:"";position:absolute;width:64px;height:64px;background:#fff;border-radius:50%}.m-rate[data-v-56241a47]{position:relative;font-size:18px;font-weight:800;color:#2b3a55;z-index:1}.m-line[data-v-56241a47]{font-size:15px;font-weight:600;color:#2b3a55}.m-sub[data-v-56241a47]{font-size:12px;color:#6b7a99;margin-top:2px}.unit-list[data-v-56241a47]{margin-top:10px;background:#fff;border-radius:12px;padding:6px 14px;box-shadow:0 2px 8px #283c640f}.unit-row[data-v-56241a47]{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f3f9;font-size:14px}.unit-row[data-v-56241a47]:last-child{border-bottom:none}.u-name[data-v-56241a47]{color:#2b3a55}.u-rate[data-v-56241a47]{font-weight:700;color:#4a6fb5}.filters[data-v-56241a47]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.fbtn[data-v-56241a47]{border:1px solid #dde4f2;background:#fff;color:#445;border-radius:20px;padding:6px 14px;font-size:13px;cursor:pointer}.fbtn.active[data-v-56241a47]{background:#4a6fb5;color:#fff;border-color:#4a6fb5}.fsep[data-v-56241a47]{width:1px;height:20px;background:#dde4f2;margin:0 4px}.err-list[data-v-56241a47]{display:flex;flex-direction:column;gap:8px}.err-item[data-v-56241a47]{display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 2px 8px #283c640d}.src-badge[data-v-56241a47]{font-size:11px;padding:2px 8px;border-radius:10px;flex-shrink:0;color:#fff}.src-math[data-v-56241a47]{background:#45b7d1}.src-exercise[data-v-56241a47]{background:#9b59b6}.src-writing[data-v-56241a47]{background:#ffa07a}.ei-main[data-v-56241a47]{flex:1;min-width:0}.ei-meta[data-v-56241a47]{font-size:12px;color:#6b7a99}.ei-q[data-v-56241a47]{font-size:14px;color:#2b3a55;margin:2px 0;word-break:break-word}.ei-ans[data-v-56241a47]{font-size:13px;color:#27ae60}.ei-master[data-v-56241a47]{font-size:12px;flex-shrink:0;padding:2px 8px;border-radius:10px}.ei-master.done[data-v-56241a47]{background:#e6f7ee;color:#27ae60}.ei-master.todo[data-v-56241a47]{background:#fff3e0;color:#e08e0b}.ei-master.unknown[data-v-56241a47]{background:#f0f3f9;color:#6b7a99}.hint[data-v-56241a47]{color:#6b7a99;font-size:13px;padding:10px 4px}.checkin-page[data-v-fb2fd3e2]{max-width:720px;margin:0 auto;padding:8px 14px 40px}.topbar[data-v-fb2fd3e2]{display:flex;align-items:center;gap:10px;padding:10px 2px 12px}.back[data-v-fb2fd3e2]{width:36px;height:36px;border-radius:50%;border:1px solid #e3e8f0;background:#fff;font-size:24px;line-height:1;color:#2b3a55;cursor:pointer}.top-title[data-v-fb2fd3e2]{font-size:18px;font-weight:800;color:#2b3a55}.top-spacer[data-v-fb2fd3e2]{flex:1}.album-btn[data-v-fb2fd3e2]{border:1px solid #ffce3a;background:#fff8e6;color:#b5651d;font-weight:700;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:13px}.detail-btn[data-v-fb2fd3e2]{border-color:#b9a4f0;background:#f5f1ff;color:#7b6cd9}.state[data-v-fb2fd3e2]{text-align:center;color:#8a94a6;padding:40px 0}.state.err[data-v-fb2fd3e2]{color:#e23b3b}.info-strip[data-v-fb2fd3e2]{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff3e0,#ffe6ef);border:1px solid #ffd9c2;border-radius:18px;padding:14px;margin-bottom:14px}.cat-box[data-v-fb2fd3e2]{width:56px;height:56px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 8px #00000014}.cat-emoji[data-v-fb2fd3e2]{font-size:34px;line-height:1}.cat-1 .cat-emoji[data-v-fb2fd3e2]{transform:scale(1.05)}.cat-2 .cat-emoji[data-v-fb2fd3e2]{transform:scale(1.15)}.cat-3 .cat-emoji[data-v-fb2fd3e2]{transform:scale(1.25)}.info-meta[data-v-fb2fd3e2]{flex:1;min-width:0}.cat-name[data-v-fb2fd3e2]{font-size:15px;font-weight:800;color:#5a3a1a}.cat-name b[data-v-fb2fd3e2]{font-size:20px;color:#e8730c}.info-sub[data-v-fb2fd3e2]{font-size:12px;color:#9a7b5a;margin-top:2px}.sync-btn[data-v-fb2fd3e2]{border:none;border-radius:999px;background:linear-gradient(90deg,#ffb347,#ff8c42);color:#fff;font-weight:700;padding:9px 14px;cursor:pointer;font-size:13px;white-space:nowrap}.sync-btn[data-v-fb2fd3e2]:disabled{opacity:.6}.sync-wrap[data-v-fb2fd3e2]{position:relative;display:inline-block;flex-shrink:0}.sync-badge[data-v-fb2fd3e2]{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#ff4757,#ff2e63);color:#fff;font-size:11px;font-weight:800;border-radius:10px;line-height:20px;text-align:center;border:2px solid #fff;box-shadow:0 3px 8px #ff475766;animation:badge-pop-fb2fd3e2 .35s ease}@keyframes badge-pop-fb2fd3e2{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.puzzle-wrap[data-v-fb2fd3e2]{margin-bottom:14px}.puzzle-board[data-v-fb2fd3e2]{display:grid;gap:3px;background:#2b2f36;border-radius:14px;padding:3px;box-shadow:0 6px 18px #00000026;overflow:hidden}.pz-cell[data-v-fb2fd3e2]{position:relative;aspect-ratio:1;border-radius:4px;background-color:#3a3f47;overflow:hidden;transition:transform .3s ease}.pz-cell.locked[data-v-fb2fd3e2]{background:#444b55}.lock-mask[data-v-fb2fd3e2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1e2228d1;font-size:16px}.pz-cell.selectable[data-v-fb2fd3e2]{cursor:pointer;outline:2px dashed #ffce3a}.pz-cell.selectable[data-v-fb2fd3e2]:hover{background:#555c66}.just-unlocked[data-v-fb2fd3e2]{animation:pop-fb2fd3e2 .9s ease;z-index:2}@keyframes pop-fb2fd3e2{0%{transform:scale(.2) rotate(-12deg);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.new-badge[data-v-fb2fd3e2]{position:absolute;top:2px;right:2px;background:#ff4757;color:#fff;font-size:9px;font-weight:800;padding:1px 4px;border-radius:4px;z-index:3}.puzzle-progress[data-v-fb2fd3e2]{display:flex;align-items:center;gap:10px;margin-top:10px}.pp-bar[data-v-fb2fd3e2]{flex:1;height:10px;background:#eef1f7;border-radius:99px;overflow:hidden}.pp-bar i[data-v-fb2fd3e2]{display:block;height:100%;background:linear-gradient(90deg,#ffb347,#ff8c42);border-radius:99px;transition:width .4s ease}.pp-text[data-v-fb2fd3e2]{font-size:13px;color:#8a94a6;white-space:nowrap}.pp-text b[data-v-fb2fd3e2]{color:#2b3a55;font-size:15px}.no-period[data-v-fb2fd3e2]{text-align:center;background:#fff;border:1px dashed #d8dee8;border-radius:16px;padding:30px 16px;color:#8a94a6}.np-emoji[data-v-fb2fd3e2]{font-size:44px}.wild-card[data-v-fb2fd3e2]{background:#fff;border:1px solid #efe6d8;border-radius:16px;padding:14px;margin-bottom:14px}.wc-head[data-v-fb2fd3e2]{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:#5a3a1a;margin-bottom:10px}.wc-head .dup[data-v-fb2fd3e2]{color:#8a94a6;font-weight:600}.wc-actions[data-v-fb2fd3e2]{display:flex;gap:10px;flex-wrap:wrap}.wc-btn[data-v-fb2fd3e2]{border:none;border-radius:999px;background:linear-gradient(90deg,#a18cd1,#7b6cd9);color:#fff;font-weight:700;padding:9px 14px;cursor:pointer;font-size:13px}.wc-btn[data-v-fb2fd3e2]:disabled{opacity:.45;cursor:not-allowed}.wc-btn.ghost[data-v-fb2fd3e2]{background:#fff;border:1px solid #7b6cd9;color:#7b6cd9}.wc-btn.ghost.active[data-v-fb2fd3e2]{background:#7b6cd9;color:#fff}.wc-tip[data-v-fb2fd3e2]{font-size:12px;color:#7b6cd9;margin:8px 0 0}.guide-card[data-v-fb2fd3e2]{background:linear-gradient(135deg,#f3f7ff,#eef6ff);border:1px solid #d8e6ff;border-radius:16px;padding:14px 16px;margin-bottom:14px}.guide-title[data-v-fb2fd3e2]{font-size:15px;font-weight:800;color:#2b3a55;margin-bottom:10px}.guide-list[data-v-fb2fd3e2]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.guide-list li[data-v-fb2fd3e2]{display:flex;justify-content:space-between;font-size:13px;color:#4a5568;background:#fff;border-radius:8px;padding:7px 10px}.guide-list em[data-v-fb2fd3e2]{font-style:normal;font-weight:700;color:#1e88e5}.guide-note[data-v-fb2fd3e2]{font-size:12px;color:#7a8a6a;margin:10px 0 0}.history-card[data-v-fb2fd3e2]{background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:14px}.sc-title[data-v-fb2fd3e2]{font-size:14px;font-weight:800;color:#2b3a55;margin-bottom:10px}.album-mask[data-v-fb2fd3e2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.album-panel[data-v-fb2fd3e2]{background:#fff;border-radius:18px;width:100%;max-width:560px;max-height:86vh;overflow:auto;padding:16px}.album-head[data-v-fb2fd3e2]{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:800;color:#2b3a55;margin-bottom:12px}.album-head .x[data-v-fb2fd3e2]{border:none;background:#f1f3f7;width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer}.album-empty[data-v-fb2fd3e2]{text-align:center;color:#8a94a6;padding:30px 0}.album-grid[data-v-fb2fd3e2]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.album-item[data-v-fb2fd3e2]{border:1px solid #eef1f7;border-radius:12px;overflow:hidden}.album-item img[data-v-fb2fd3e2]{width:100%;aspect-ratio:6/7;object-fit:cover;display:block}.album-cap[data-v-fb2fd3e2]{font-size:13px;font-weight:700;color:#2b3a55;padding:6px 8px 0}.album-date[data-v-fb2fd3e2]{font-size:11px;color:#8a94a6;padding:0 8px 8px}.detail-sub[data-v-fb2fd3e2]{font-style:normal;font-size:12px;font-weight:600;color:#8a94a6}.detail-list[data-v-fb2fd3e2]{display:flex;flex-direction:column;gap:8px}.detail-item[data-v-fb2fd3e2]{display:flex;align-items:center;gap:10px;border:1px solid #eef1f7;border-radius:12px;padding:10px 12px;background:#fafbfe}.di-left[data-v-fb2fd3e2]{width:92px;flex-shrink:0}.di-date[data-v-fb2fd3e2]{font-size:13px;font-weight:700;color:#2b3a55}.di-time[data-v-fb2fd3e2]{font-size:11px;color:#8a94a6;margin-top:1px}.di-mid[data-v-fb2fd3e2]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.di-src[data-v-fb2fd3e2]{display:inline-block;align-self:flex-start;font-size:12px;font-weight:700;color:#fff;border-radius:999px;padding:2px 10px}.di-src.src-checkin[data-v-fb2fd3e2]{background:#ff8c42}.di-src.src-bonus[data-v-fb2fd3e2]{background:#e8730c}.di-src.src-challenge[data-v-fb2fd3e2]{background:#1e88e5}.di-src.src-word[data-v-fb2fd3e2]{background:#43a047}.di-src.src-recite[data-v-fb2fd3e2]{background:#8e24aa}.di-src.src-wild[data-v-fb2fd3e2]{background:#7b6cd9}.di-src.src-grant[data-v-fb2fd3e2]{background:#e91e63}.di-reason[data-v-fb2fd3e2]{font-size:11px;color:#8a94a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.di-right[data-v-fb2fd3e2]{text-align:right;flex-shrink:0}.di-num[data-v-fb2fd3e2]{display:block;font-size:14px;font-weight:800;color:#e8730c}.di-cards[data-v-fb2fd3e2]{display:block;font-size:11px;color:#8a94a6;margin-top:2px}.album-foot[data-v-fb2fd3e2]{text-align:center;font-size:11px;color:#b0b8c6;margin-top:12px}.celebrate-mask[data-v-fb2fd3e2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.celebrate-box[data-v-fb2fd3e2]{background:linear-gradient(135deg,#fff,#fff3e0);border-radius:22px;padding:26px 22px;text-align:center;width:100%;max-width:360px;box-shadow:0 10px 30px #0000004d}.confetti[data-v-fb2fd3e2]{font-size:30px;letter-spacing:4px;animation:shake-fb2fd3e2 .8s infinite}@keyframes shake-fb2fd3e2{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.cb-title[data-v-fb2fd3e2]{font-size:22px;font-weight:900;color:#e8730c;margin:10px 0 4px}.cb-sub[data-v-fb2fd3e2]{font-size:14px;color:#5a3a1a;font-weight:700;margin-bottom:6px}.cb-points[data-v-fb2fd3e2]{font-size:16px;color:#d4380d;font-weight:800;margin-bottom:6px}.cb-tip[data-v-fb2fd3e2]{font-size:13px;color:#9a7b5a;margin-bottom:16px}.cb-btn[data-v-fb2fd3e2]{display:block;width:100%;border:none;border-radius:999px;background:linear-gradient(90deg,#ffb347,#ff8c42);color:#fff;font-weight:800;padding:12px;font-size:16px;cursor:pointer;margin-bottom:8px}.cb-link[data-v-fb2fd3e2]{border:none;background:transparent;color:#8a94a6;font-size:13px;cursor:pointer}@media (max-width: 640px){.guide-list[data-v-fb2fd3e2],.album-grid[data-v-fb2fd3e2]{grid-template-columns:1fr}}.pa-page[data-v-05d1c7ae]{max-width:760px;margin:0 auto;padding:8px 14px 40px}.topbar[data-v-05d1c7ae]{display:flex;align-items:center;gap:10px;padding:10px 2px 14px}.back[data-v-05d1c7ae]{width:36px;height:36px;border-radius:50%;border:1px solid #e3e8f0;background:#fff;font-size:24px;line-height:1;color:#2b3a55;cursor:pointer}.top-title[data-v-05d1c7ae]{font-size:18px;font-weight:800;color:#2b3a55}.state[data-v-05d1c7ae]{text-align:center;color:#8a94a6;padding:20px 0}.state.err[data-v-05d1c7ae]{color:#e23b3b}.block[data-v-05d1c7ae]{background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:16px;margin-bottom:16px}.block h3[data-v-05d1c7ae]{font-size:16px;color:#2b3a55;margin:0 0 8px}.hint[data-v-05d1c7ae]{font-size:12px;color:#8a94a6;margin:0 0 12px}.upload-form[data-v-05d1c7ae],.holiday-form[data-v-05d1c7ae],.grant-form[data-v-05d1c7ae]{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.upload-form input[data-v-05d1c7ae],.holiday-form input[data-v-05d1c7ae],.grant-form input[data-v-05d1c7ae],.grant-form select[data-v-05d1c7ae]{border:1px solid #d8dee8;border-radius:8px;padding:8px 10px;font-size:13px}.grant-form select[data-v-05d1c7ae]{min-width:110px}.primary[data-v-05d1c7ae]{border:none;border-radius:8px;background:linear-gradient(90deg,#7b6cd9,#5b4fc9);color:#fff;font-weight:700;padding:8px 14px;cursor:pointer;font-size:13px}.primary[data-v-05d1c7ae]:disabled{opacity:.5}.period-list[data-v-05d1c7ae]{display:flex;flex-direction:column;gap:10px}.period-item[data-v-05d1c7ae]{display:flex;align-items:center;gap:12px;border:1px solid #f0f2f7;border-radius:12px;padding:8px}.thumb[data-v-05d1c7ae]{width:54px;height:63px;object-fit:cover;border-radius:6px;background:#eee}.p-meta[data-v-05d1c7ae]{flex:1;min-width:0}.p-title[data-v-05d1c7ae]{font-size:14px;font-weight:700;color:#2b3a55}.p-sub[data-v-05d1c7ae]{font-size:12px;color:#8a94a6}.p-actions[data-v-05d1c7ae]{display:flex;gap:6px}.mini[data-v-05d1c7ae]{border:1px solid #d8dee8;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}.mini.danger[data-v-05d1c7ae]{color:#e23b3b;border-color:#f3c2c2}.holiday-list[data-v-05d1c7ae]{display:flex;flex-direction:column;gap:8px}.holiday-item[data-v-05d1c7ae]{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#4a5568;background:#f7f9fc;border-radius:8px;padding:8px 10px}.grant-msg[data-v-05d1c7ae]{font-size:13px;color:#2e7d32;margin:8px 0 0}.dayplan[data-v-f6c5138b]{padding:4px 2px 20px}.summary-bar[data-v-f6c5138b]{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eef3fb,#e7f0ff);border:1px solid #dde6f5;border-radius:14px;padding:12px 16px;margin-bottom:14px}.sum-done[data-v-f6c5138b]{font-size:24px;font-weight:800;color:#2f8f4e}.sum-sep[data-v-f6c5138b]{font-size:15px;color:#8a94a6}.sum-label[data-v-f6c5138b]{font-size:13px;color:#8a94a6;margin-left:2px}.sum-progress[data-v-f6c5138b]{flex:1}.sum-track[data-v-f6c5138b]{height:8px;background:#dde6f5;border-radius:999px;overflow:hidden}.sum-fill[data-v-f6c5138b]{height:100%;background:linear-gradient(90deg,#4a6fb5,#6fa8ff);border-radius:999px;transition:width .3s ease}.sum-unit[data-v-f6c5138b]{font-size:13px;color:#34568f;background:#fff;border:1px solid #dde6f5;border-radius:999px;padding:4px 10px}.sum-unit b[data-v-f6c5138b]{color:#c0392b}.dp-state[data-v-f6c5138b]{text-align:center;color:#8a94a6;padding:30px 0}.dp-state.err[data-v-f6c5138b]{color:#e23b3b}.dp-state.empty[data-v-f6c5138b]{padding:60px 20px;background:#f6f8fc;border-radius:14px;margin-top:8px}.subj-card[data-v-f6c5138b]{background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:12px 14px;margin-bottom:12px;box-shadow:0 2px 8px #1f2d500a}.subj-head[data-v-f6c5138b]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.subj-icon[data-v-f6c5138b]{font-size:18px}.subj-name[data-v-f6c5138b]{font-weight:800;color:#2b3a55;font-size:16px}.subj-count[data-v-f6c5138b]{font-size:12px;color:#8a94a6;margin-left:2px}.subj-add[data-v-f6c5138b],.subj-del[data-v-f6c5138b]{margin-left:auto;width:28px;height:28px;border-radius:8px;border:1px solid #e3e9f3;background:#f6f8fc;color:#4a6fb5;font-weight:800;cursor:pointer;font-size:15px}.subj-del[data-v-f6c5138b]{margin-left:6px;color:#d05a5a;background:#fdeaea;border-color:#f3d6d6}.subj-empty[data-v-f6c5138b]{color:#aab2c0;font-size:13px;padding:6px 2px}.item-row[data-v-f6c5138b]{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;border-top:1px dashed #eef1f7}.item-row.done .item-content[data-v-f6c5138b]{color:#2f8f4e;text-decoration:line-through;opacity:.8}.chk[data-v-f6c5138b]{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:2px solid #c2cede;background:#fff;cursor:pointer;color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}.chk.on[data-v-f6c5138b]{background:#2f8f4e;border-color:#2f8f4e}.item-main[data-v-f6c5138b]{flex:1;min-width:0}.item-content[data-v-f6c5138b]{font-size:15px;color:#2b3a55;font-weight:600;word-break:break-word}.item-note[data-v-f6c5138b]{font-size:12px;color:#8a94a6;margin-top:2px}.item-lognote[data-v-f6c5138b]{font-size:12px;color:#6a5a2b;background:#fff7e0;border:1px solid #f3e3b0;border-radius:8px;padding:3px 8px;margin-top:4px;word-break:break-word}.note-edit[data-v-f6c5138b]{margin-top:6px;background:#f6f8fc;border:1px solid #dde6f5;border-radius:10px;padding:8px}.note-area[data-v-f6c5138b],.review-area[data-v-f6c5138b]{width:100%;box-sizing:border-box;border:1px solid #dde6f5;border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;resize:vertical;color:#2b3a55}.note-btns[data-v-f6c5138b]{display:flex;gap:8px;margin-top:6px}.nb-ok[data-v-f6c5138b],.nb-cancel[data-v-f6c5138b]{border:none;border-radius:8px;padding:5px 12px;font-weight:700;cursor:pointer;font-size:13px}.nb-ok[data-v-f6c5138b]{background:#4a6fb5;color:#fff}.nb-cancel[data-v-f6c5138b]{background:#eef1f7;color:#66708a}.rec-box[data-v-f6c5138b]{margin-top:6px;background:#f6f9ff;border:1px solid #dce6f7;border-radius:10px;padding:8px 10px}.rec-box.dake[data-v-f6c5138b]{background:#fff6f0;border-color:#f3ddc8}.rec-box.jisuan[data-v-f6c5138b]{background:#f0f7ff;border-color:#cfe0f7}.rec-row[data-v-f6c5138b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rec-row+.rec-row[data-v-f6c5138b]{margin-top:6px}.rec-label[data-v-f6c5138b]{font-size:12px;color:#66708a;font-weight:700}.rec-sep[data-v-f6c5138b]{font-size:12px;color:#8a94a6}.seg[data-v-f6c5138b]{display:inline-flex;border:1px solid #d9e0ec;border-radius:8px;overflow:hidden}.seg button[data-v-f6c5138b]{border:0;background:#fff;color:#66708a;padding:4px 14px;font-size:13px;font-weight:700;cursor:pointer}.seg button+button[data-v-f6c5138b]{border-left:1px solid #e3e9f3}.seg button.on[data-v-f6c5138b]{background:#4a6fb5;color:#fff}.rec-box.dake .seg button.on[data-v-f6c5138b]{background:#d9822b}.rec-num[data-v-f6c5138b]{width:72px;border:1px solid #d9e0ec;border-radius:8px;padding:4px 8px;font-size:13px}.rec-streak[data-v-f6c5138b]{margin-top:6px;font-size:12px;color:#34568f}.rec-streak b[data-v-f6c5138b]{color:#c0392b;font-size:13px}.item-actions[data-v-f6c5138b]{flex-shrink:0;display:flex;gap:6px}.ia-btn[data-v-f6c5138b]{font-size:12px;border-radius:8px;padding:4px 8px;border:1px solid #e3e9f3;background:#f6f8fc;color:#66708a;cursor:pointer}.ia-btn.note[data-v-f6c5138b]{padding:4px 7px}.ia-btn.note.on[data-v-f6c5138b]{background:#fff3d6;border-color:#f0dca0;color:#a07800}.ia-btn.skip[data-v-f6c5138b]:hover{background:#fff4e0;color:#b9791b;border-color:#f0dcb0}.ia-btn.del[data-v-f6c5138b]{color:#d05a5a}.ia-btn.del[data-v-f6c5138b]:hover{background:#fdeaea;border-color:#f3d6d6;color:#b13d3d}.ia-btn.edit[data-v-f6c5138b]{color:#4a6fb5;padding:4px 7px}.ia-btn.edit[data-v-f6c5138b]:hover{background:#e7eef9;color:#34568f;border-color:#c8d4ec}.add-item-form[data-v-f6c5138b]{background:#f6f8fc;border-radius:12px;padding:10px;margin-top:6px}.ai-input[data-v-f6c5138b]{width:100%;box-sizing:border-box;border:1px solid #dde6f5;border-radius:8px;padding:7px 10px;font-size:14px;margin-bottom:6px}.ai-note[data-v-f6c5138b]{background:#fff}.ai-rpt[data-v-f6c5138b]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:#66708a;margin-bottom:6px}.ai-rpt select[data-v-f6c5138b]{border:1px solid #dde6f5;border-radius:8px;padding:5px 8px}.ai-days[data-v-f6c5138b]{width:120px;border:1px solid #dde6f5;border-radius:8px;padding:5px 8px}.ai-hint[data-v-f6c5138b]{font-size:12px;color:#a07800;background:#fff7e6;border:1px solid #f0dca0;border-radius:6px;padding:2px 8px}.ai-btns[data-v-f6c5138b]{display:flex;gap:8px}.ai-ok[data-v-f6c5138b],.ai-cancel[data-v-f6c5138b]{border:none;border-radius:8px;padding:7px 14px;font-weight:700;cursor:pointer}.ai-ok[data-v-f6c5138b]{background:#4a6fb5;color:#fff}.ai-cancel[data-v-f6c5138b]{background:#eef1f7;color:#66708a}.item-edit-form[data-v-f6c5138b]{background:#f3f0ff;border:1px solid #d8d0f0;border-radius:12px;padding:10px;margin:6px 0 6px 34px}.ief-label[data-v-f6c5138b]{font-size:12px;color:#6a5acd;font-weight:700;margin-bottom:6px;word-break:break-word}.ief-input[data-v-f6c5138b]{width:100%;box-sizing:border-box;border:1px solid #d8d0f0;border-radius:8px;padding:7px 10px;font-size:14px;margin-bottom:6px;background:#fff}.ief-note[data-v-f6c5138b]{background:#fff}.ief-rpt[data-v-f6c5138b]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:#66708a;margin-bottom:6px}.ief-rpt select[data-v-f6c5138b]{border:1px solid #d8d0f0;border-radius:8px;padding:5px 8px}.ief-days[data-v-f6c5138b]{width:120px;border:1px solid #d8d0f0;border-radius:8px;padding:5px 8px}.ief-hint[data-v-f6c5138b]{font-size:12px;color:#a07800;background:#fff7e6;border:1px solid #f0dca0;border-radius:6px;padding:2px 8px}.ief-btns[data-v-f6c5138b]{display:flex;gap:8px}.ief-ok[data-v-f6c5138b],.ief-cancel[data-v-f6c5138b]{border:none;border-radius:8px;padding:7px 14px;font-weight:700;cursor:pointer}.ief-ok[data-v-f6c5138b]{background:#6a5acd;color:#fff}.ief-cancel[data-v-f6c5138b]{background:#eef1f7;color:#66708a}.presets[data-v-f6c5138b]{margin-top:8px}.presets-head[data-v-f6c5138b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.presets-title[data-v-f6c5138b]{font-size:13px;color:#8a94a6}.presets-add[data-v-f6c5138b]{border:1px dashed #f0c870;background:#fff7e6;color:#a07800;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer}.presets-add[data-v-f6c5138b]:hover{background:#ffeec2}.preset-chips[data-v-f6c5138b]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.preset-chip[data-v-f6c5138b]{display:inline-flex;align-items:center;gap:0;background:#fff7e6;border:1px solid #ffe2a8;border-radius:999px;padding:0;overflow:hidden;font-size:13px;font-weight:700;color:#a07800}.preset-chip[data-v-f6c5138b]:hover{background:#ffeec2}.pc-name[data-v-f6c5138b]{background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:6px 6px 6px 12px}.pc-act[data-v-f6c5138b]{border:0;background:transparent;cursor:pointer;width:22px;height:26px;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#b3895d}.pc-act.edit[data-v-f6c5138b]:hover{background:#f6ddb1;color:#6a4f1b}.pc-act.del[data-v-f6c5138b]{color:#c9826b;border-left:1px solid #f0dcb0}.pc-act.del[data-v-f6c5138b]:hover{background:#fbe1d8;color:#b94a2a}.preset-empty[data-v-f6c5138b]{color:#aab2c0;font-size:13px}.preset-edit[data-v-f6c5138b]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#f6f8fc;border:1px solid #dde6f5;border-radius:12px;padding:8px 10px;width:100%;box-sizing:border-box}.pe-subj[data-v-f6c5138b]{border:1px solid #dde6f5;border-radius:8px;padding:5px 8px;font-size:13px;background:#fff}.pe-input[data-v-f6c5138b]{flex:1;min-width:120px;border:1px solid #dde6f5;border-radius:8px;padding:6px 10px;font-size:13px}.pe-ok[data-v-f6c5138b],.pe-cancel[data-v-f6c5138b]{border:none;border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer;font-size:13px}.pe-ok[data-v-f6c5138b]{background:#4a6fb5;color:#fff}.pe-cancel[data-v-f6c5138b]{background:#eef1f7;color:#66708a}.add-subj[data-v-f6c5138b]{display:flex;gap:8px;margin-top:14px}.as-input[data-v-f6c5138b]{flex:1;border:1px solid #dde6f5;border-radius:10px;padding:9px 12px;font-size:14px}.as-btn[data-v-f6c5138b]{border:none;border-radius:10px;padding:9px 16px;background:#4a6fb5;color:#fff;font-weight:700;cursor:pointer}.review-card[data-v-f6c5138b]{margin-top:16px;background:linear-gradient(135deg,#fbf7ff,#f1f4ff);border:1px solid #e4e2f5;border-radius:16px;padding:14px}.review-head[data-v-f6c5138b]{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:800;color:#4a3f7a;margin-bottom:8px}.review-saved[data-v-f6c5138b]{font-size:12px;font-weight:700;color:#2f8f4e}.review-area[data-v-f6c5138b]{background:#fff}.review-actions[data-v-f6c5138b]{display:flex;justify-content:flex-end;margin-top:8px}.rv-save[data-v-f6c5138b]{border:none;border-radius:10px;padding:8px 18px;background:#6a5acd;color:#fff;font-weight:700;cursor:pointer;font-size:14px}.rv-save[data-v-f6c5138b]:disabled{opacity:.6;cursor:default}.calendar[data-v-be3a455b]{padding:4px 2px 16px}.cal-head[data-v-be3a455b]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.cal-nav[data-v-be3a455b]{width:32px;height:32px;border-radius:8px;border:1px solid #e3e9f3;background:#f6f8fc;color:#4a6fb5;font-size:18px;font-weight:800;cursor:pointer}.cal-title[data-v-be3a455b]{font-size:17px;font-weight:800;color:#2b3a55}.cal-stat[data-v-be3a455b]{margin-left:auto;font-size:13px;color:#66708a}.cal-stat b[data-v-be3a455b]{color:#4a6fb5}.cal-weekdays[data-v-be3a455b]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:#aab2c0;margin-bottom:6px}.cal-grid[data-v-be3a455b]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell[data-v-be3a455b]{position:relative;aspect-ratio:1 / 1;border:1px solid #eef1f7;border-radius:12px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;transition:.15s}.cal-cell.blank[data-v-be3a455b]{background:transparent;border:none;cursor:default}.cal-cell[data-v-be3a455b]:hover:not(.blank):not(.future){box-shadow:0 4px 12px #4a6fb52e;transform:translateY(-1px)}.cal-day[data-v-be3a455b]{font-size:14px;font-weight:700;color:#2b3a55}.cal-dot[data-v-be3a455b]{width:10px;height:10px;border-radius:50%;background:#dde6f5}.cal-frac[data-v-be3a455b]{font-size:10px;color:#aab2c0}.cal-review[data-v-be3a455b]{position:absolute;top:3px;right:4px;font-size:11px;opacity:.85}.cal-cell.st-full[data-v-be3a455b]{background:#e9f8ee;border-color:#bfe9cc}.cal-cell.st-full .cal-dot[data-v-be3a455b]{background:#2f8f4e}.cal-cell.st-partial[data-v-be3a455b]{background:#fff7e6;border-color:#ffe2a8}.cal-cell.st-partial .cal-dot[data-v-be3a455b]{background:#f0a500}.cal-cell.st-none[data-v-be3a455b]{background:#fff}.cal-cell.st-none .cal-dot[data-v-be3a455b]{background:#ff7676}.cal-cell.st-empty[data-v-be3a455b]{background:#f6f8fc;border-style:dashed}.cal-cell.st-empty .cal-dot[data-v-be3a455b]{background:#dde6f5}.cal-cell.today[data-v-be3a455b]{outline:2px solid #4a6fb5}.cal-cell.future[data-v-be3a455b]{cursor:default;opacity:.55;background:#fafbfd}.cal-legend[data-v-be3a455b]{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#8a94a6}.cal-legend i.lg[data-v-be3a455b]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.cal-legend .st-full[data-v-be3a455b]{background:#2f8f4e}.cal-legend .st-partial[data-v-be3a455b]{background:#f0a500}.cal-legend .st-none[data-v-be3a455b]{background:#ff7676}.cal-legend .st-empty[data-v-be3a455b]{background:#dde6f5}.detail-mask[data-v-d8ad0e13]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3773;display:flex;align-items:flex-end;justify-content:center;z-index:500}.detail-panel[data-v-d8ad0e13]{width:100%;max-width:640px;max-height:88vh;background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:slideUp-d8ad0e13 .22s ease}@media (min-width: 640px){.detail-mask[data-v-d8ad0e13]{align-items:center}.detail-panel[data-v-d8ad0e13]{border-radius:18px}}@keyframes slideUp-d8ad0e13{0%{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}.dp-head[data-v-d8ad0e13]{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid #eef1f7}.dp-title[data-v-d8ad0e13]{font-size:17px;font-weight:800;color:#2b3a55}.dp-close[data-v-d8ad0e13]{margin-left:auto;width:32px;height:32px;border-radius:8px;border:none;background:#f0f2f7;color:#66708a;font-size:16px;cursor:pointer}.dp-body[data-v-d8ad0e13]{padding:14px 16px;overflow-y:auto}.daily-page[data-v-59824f66]{padding-bottom:20px;overflow-x:hidden;min-width:0}.topbar[data-v-59824f66]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.back[data-v-59824f66]{width:34px;height:34px;border-radius:10px;border:1px solid #e3e9f3;background:#f6f8fc;color:#4a6fb5;font-size:20px;cursor:pointer}.top-title[data-v-59824f66]{font-size:18px;font-weight:800;color:#2b3a55}.ket-unit[data-v-59824f66]{margin-left:auto;font-size:13px;color:#66708a;display:flex;align-items:center;gap:6px}.ket-unit select[data-v-59824f66]{border:1px solid #dde6f5;border-radius:8px;padding:5px 8px;font-weight:700;color:#34568f}.tabs[data-v-59824f66]{display:flex;gap:8px;margin-bottom:14px}.tab[data-v-59824f66]{flex:1 1 0;min-width:0;box-sizing:border-box;text-align:center;border:1px solid #d6def0;background:#fff;color:#4a6fb5;border-radius:12px;padding:11px 6px;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab.active[data-v-59824f66]{background:#4a6fb5;color:#fff;border-color:#4a6fb5;box-shadow:0 4px 12px #4a6fb54d}.peipao[data-v-4b5bb5ac]{max-width:960px;margin:0 auto;padding:8px 4px 40px}.pp-head[data-v-4b5bb5ac]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pp-title[data-v-4b5bb5ac]{font-size:20px;font-weight:600;margin:0;color:#1f2937}.pp-sub[data-v-4b5bb5ac]{font-size:13px;color:#64748b;margin:4px 0 0}.pp-refresh[data-v-4b5bb5ac]{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}.pp-refresh[data-v-4b5bb5ac]:disabled{opacity:.6;cursor:default}.pp-empty[data-v-4b5bb5ac]{margin-top:40px;text-align:center;color:#64748b}.pp-empty-tip[data-v-4b5bb5ac]{font-size:12px;color:#94a3b8}.pp-block[data-v-4b5bb5ac]{margin-top:22px}.pp-h2[data-v-4b5bb5ac]{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 10px}.pp-stats[data-v-4b5bb5ac]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pp-stat[data-v-4b5bb5ac]{background:#f8fafc;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.pp-stat-label[data-v-4b5bb5ac]{font-size:12px;color:#64748b}.pp-stat-value[data-v-4b5bb5ac]{font-size:22px;font-weight:600;color:#1f2937}.pp-bar[data-v-4b5bb5ac]{height:6px;border-radius:4px;background:#e2e8f0;overflow:hidden}.pp-bar i[data-v-4b5bb5ac]{display:block;height:100%;background:#378add}.pp-weeks[data-v-4b5bb5ac]{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.pp-week[data-v-4b5bb5ac]{position:relative;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px 8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all .15s}.pp-week[data-v-4b5bb5ac]:hover{border-color:#b5d4f4}.pp-week.current[data-v-4b5bb5ac]{border:2px solid #378add;background:#e6f1fb;padding:9px 7px 11px}.pp-week.done[data-v-4b5bb5ac]{background:#f0f9f4;border-color:#c0dd97}.pp-week-no[data-v-4b5bb5ac]{font-size:14px;font-weight:600;color:#1f2937}.pp-week-date[data-v-4b5bb5ac]{font-size:11px;color:#94a3b8}.pp-week-theme[data-v-4b5bb5ac]{font-size:11px;color:#475569;line-height:1.3}.pp-week-dot[data-v-4b5bb5ac]{width:8px;height:8px;border-radius:50%;background:#cbd5e1;margin-top:4px}.pp-week.doing .pp-week-dot[data-v-4b5bb5ac]{background:#ef9f27}.pp-week.done .pp-week-dot[data-v-4b5bb5ac]{background:#639922}.pp-week.current .pp-week-dot[data-v-4b5bb5ac]{background:#378add}.pp-week-prog[data-v-4b5bb5ac]{position:absolute;right:8px;bottom:8px;font-size:11px;color:#94a3b8}.pp-current[data-v-4b5bb5ac]{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:16px 18px}.pp-current-head[data-v-4b5bb5ac]{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pp-current-title[data-v-4b5bb5ac]{font-size:16px;font-weight:600;color:#1f2937}.pp-current-date[data-v-4b5bb5ac]{font-size:13px;color:#64748b}.pp-current-line[data-v-4b5bb5ac]{font-size:13px;color:#475569;margin:10px 0 0}.pp-current-meta[data-v-4b5bb5ac]{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;color:#475569}.pp-current-points[data-v-4b5bb5ac]{color:#185fa5}.pp-enter[data-v-4b5bb5ac]{margin-top:14px;border:none;background:#378add;color:#fff;border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer}.pp-enter[data-v-4b5bb5ac]:hover{background:#185fa5}@media (max-width: 720px){.pp-stats[data-v-4b5bb5ac]{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-weeks[data-v-4b5bb5ac]{grid-template-columns:repeat(4,minmax(0,1fr))}}.ppw[data-v-98beb118]{max-width:1000px;margin:0 auto;padding:8px 4px 48px}.ppw-top[data-v-98beb118]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ppw-back[data-v-98beb118]{border:none;background:none;color:#378add;font-size:13px;cursor:pointer;padding:0}.ppw-head[data-v-98beb118]{display:flex;align-items:baseline;gap:12px}.ppw-title[data-v-98beb118]{font-size:18px;font-weight:600;color:#1f2937}.ppw-date[data-v-98beb118]{font-size:13px;color:#64748b}.ppw-progress[data-v-98beb118]{display:flex;align-items:center;gap:10px;margin-top:14px}.ppw-progress-label[data-v-98beb118]{font-size:12px;color:#64748b}.ppw-bar[data-v-98beb118]{flex:1;max-width:340px;height:8px;border-radius:5px;background:#e2e8f0;overflow:hidden}.ppw-bar i[data-v-98beb118]{display:block;height:100%;background:#378add}.ppw-progress-val[data-v-98beb118]{font-size:12px;color:#64748b}.ppw-mock[data-v-98beb118]{font-size:13px;color:#475569;margin:10px 0 0}.ppw-tabs[data-v-98beb118]{display:flex;gap:8px;margin:18px 0 12px;flex-wrap:wrap}.ppw-tab[data-v-98beb118]{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:7px 16px;font-size:13px;color:#475569;cursor:pointer}.ppw-tab.active[data-v-98beb118]{border-color:#378add;background:#e6f1fb;color:#0c447c}.ppw-tab-count[data-v-98beb118]{font-size:11px;color:#94a3b8;margin-left:4px}.ppw-grid[data-v-98beb118]{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.ppw-empty[data-v-98beb118]{color:#94a3b8;font-size:13px;padding:24px 0}.ppw-item[data-v-98beb118]{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:12px}.ppw-item.done[data-v-98beb118]{border-color:#c0dd97;background:#f7fbf1}.ppw-item-head[data-v-98beb118]{display:flex;align-items:center;justify-content:space-between;gap:10px}.ppw-item-title[data-v-98beb118]{font-size:14px;font-weight:600;color:#1f2937}.ppw-item-status[data-v-98beb118]{font-size:11px;padding:2px 8px;border-radius:10px;background:#f1f5f9;color:#64748b}.ppw-item-status.st-1[data-v-98beb118]{background:#faeeda;color:#854f0b}.ppw-item-status.st-2[data-v-98beb118]{background:#eaf3de;color:#3b6d11}.ppw-item-content[data-v-98beb118]{font-size:13px;color:#475569;line-height:1.7;margin-top:8px;white-space:pre-wrap}.ppw-opts[data-v-98beb118]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ppw-opt[data-v-98beb118]{text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:8px 12px;font-size:13px;color:#334155;cursor:pointer}.ppw-opt.picked[data-v-98beb118]{border-color:#378add;background:#e6f1fb}.ppw-opt.right[data-v-98beb118]{border-color:#639922;background:#eaf3de}.ppw-input[data-v-98beb118],.ppw-textarea[data-v-98beb118]{width:100%;box-sizing:border-box;margin-top:10px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px;font-family:inherit}.ppw-textarea[data-v-98beb118]{min-height:72px;resize:vertical}.ppw-result[data-v-98beb118]{margin-top:10px;font-size:13px;padding:8px 12px;border-radius:8px}.ppw-result.ok[data-v-98beb118]{background:#eaf3de;color:#3b6d11}.ppw-result.no[data-v-98beb118]{background:#fcebeb;color:#a32d2d}.ppw-result.plain[data-v-98beb118]{background:#f1f5f9;color:#475569}.ppw-speak-actions[data-v-98beb118]{display:flex;gap:10px;margin-top:10px}.ppw-speak[data-v-98beb118]{margin-top:10px;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.ppw-speak-head[data-v-98beb118]{display:flex;align-items:center;gap:10px}.ppw-level[data-v-98beb118]{font-size:12px;font-weight:600;padding:2px 10px;border-radius:10px}.ppw-level.lv-full[data-v-98beb118]{background:#eaf3de;color:#3b6d11}.ppw-level.lv-high[data-v-98beb118]{background:#e6f1fb;color:#185fa5}.ppw-level.lv-base[data-v-98beb118]{background:#faeeda;color:#854f0b}.ppw-speak-score[data-v-98beb118]{font-size:13px;color:#475569}.ppw-speak-fb[data-v-98beb118]{font-size:13px;color:#334155;line-height:1.7;margin:8px 0 0}.ppw-speak-missing[data-v-98beb118]{font-size:12px;color:#a32d2d;margin:6px 0 0}.ppw-speak-improved[data-v-98beb118]{font-size:12px;color:#185fa5;margin:6px 0 0;line-height:1.6}.ppw-model[data-v-98beb118]{margin-top:10px;padding:10px 12px;border-left:3px solid #378add;background:#fff;border-radius:6px}.ppw-model-tag[data-v-98beb118]{font-size:11px;color:#0c447c;background:#e6f1fb;padding:1px 8px;border-radius:8px}.ppw-model-text[data-v-98beb118]{font-size:13px;color:#1f2937;line-height:1.7;margin:6px 0 0;white-space:pre-wrap}.ppw-item-actions[data-v-98beb118]{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.ppw-btn[data-v-98beb118]{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}.ppw-btn.primary[data-v-98beb118]{border-color:#378add;background:#378add;color:#fff}.ppw-btn.primary[data-v-98beb118]:disabled{opacity:.5;cursor:default}.ppw-rate[data-v-98beb118]{display:inline-flex;align-items:center;gap:2px}.ppw-rate-label[data-v-98beb118]{font-size:12px;color:#94a3b8;margin-right:4px}.ppw-star[data-v-98beb118]{border:none;background:none;font-size:18px;line-height:1;color:#cbd5e1;cursor:pointer;padding:0 1px}.ppw-star.on[data-v-98beb118]{color:#ef9f27}.ppw-side[data-v-98beb118]{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:14px}.ppw-side-title[data-v-98beb118]{font-size:13px;font-weight:600;color:#1f2937;margin:0 0 10px}.ppw-att-empty[data-v-98beb118]{font-size:12px;color:#94a3b8}.ppw-att[data-v-98beb118]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #f1f5f9}.ppw-att[data-v-98beb118]:first-of-type{border-top:none}.ppw-att-name[data-v-98beb118]{font-size:12px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ppw-att-btn[data-v-98beb118]{border:none;background:none;color:#378add;font-size:12px;cursor:pointer;white-space:nowrap}@media (max-width: 720px){.ppw-grid[data-v-98beb118]{grid-template-columns:minmax(0,1fr)}}:root{--primary: #6C5CE7;--primary-light: #A29BFE;--primary-dark: #5849C2;--secondary: #00CEC9;--accent: #FD79A8;--warning: #FDCB6E;--success: #00B894;--danger: #FF7675;--listening: #FF6B6B;--speaking: #4ECDC4;--reading: #45B7D1;--writing: #FFA07A;--bg-main: #F8F9FF;--bg-card: #FFFFFF;--bg-hover: #F0F0FF;--text-main: #2D3436;--text-secondary: #636E72;--text-light: #B2BEC3;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 2px 8px rgba(108, 92, 231, .08);--shadow-md: 0 4px 16px rgba(108, 92, 231, .12);--shadow-lg: 0 8px 32px rgba(108, 92, 231, .16);--font-main: "Comic Sans MS", "Noto Sans SC", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background:linear-gradient(135deg,#f8f9ff,#fff5f5);color:var(--text-main);min-height:100vh;-webkit-font-smoothing:antialiased}.navbar{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:0 24px;min-height:64px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:20px;font-weight:700;cursor:pointer}.navbar-brand .logo{font-size:32px}.navbar-tabs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;gap:6px;z-index:1}.navbar-left{display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:2}.nav-tab{padding:11px 20px;color:#ffffffd9;border:2px solid transparent;background:#ffffff14;border-radius:12px;cursor:pointer;font-size:15px;font-family:var(--font-main);transition:all .2s ease;font-weight:700;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.nav-tab:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.nav-tab.active{background:#fff;color:var(--primary-dark, #34568f);border-color:#fff;box-shadow:0 4px 12px #0003;font-weight:800}.main-content{max-width:1200px;margin:0 auto;padding:24px;min-height:calc(100vh - 64px)}.page{display:none;animation:fadeIn .4s ease}.page.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-lg);padding:32px;color:#fff;margin-bottom:24px;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between}.welcome-card h1{font-size:28px;margin-bottom:8px}.welcome-card p{font-size:15px;opacity:.9}.welcome-emoji{font-size:64px;animation:bounce 2s infinite}.game-entry-btn{position:relative;background:linear-gradient(135deg,#fde68a,#fb923c,#f43f5e);border:3px solid #fff;border-radius:22px;padding:14px 22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#5a3b00;font-weight:800;box-shadow:0 8px 20px #f43f5e59,inset 0 2px #ffffff80;transition:transform .2s,box-shadow .2s;font-family:inherit;overflow:visible}.game-entry-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px #f43f5e73,inset 0 2px #ffffff80}.game-entry-btn:active{transform:translateY(-1px) scale(.99)}.game-emoji{font-size:42px;line-height:1;animation:bounce 1.4s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.game-text{font-size:13px;text-align:center;line-height:1.2;letter-spacing:1px}.game-sparkle{position:absolute;font-size:18px;pointer-events:none;animation:sparkle 1.6s ease-in-out infinite}.game-sparkle.s2{font-size:14px;animation-delay:.8s}.game-sparkle:nth-child(2){top:-4px;right:-4px}.game-sparkle.s2{bottom:-4px;left:-4px}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card .stat-icon{font-size:40px;margin-bottom:8px}.stat-card .stat-number{font-size:32px;font-weight:700;color:var(--primary)}.stat-card .stat-label{font-size:14px;color:var(--text-secondary);margin-top:4px}.module-progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}@media (max-width: 600px){.module-progress-grid{grid-template-columns:1fr}}.module-card{background:var(--bg-card);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);border-left:5px solid;transition:transform .3s ease}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.module-card.listening{border-left-color:var(--listening)}.module-card.speaking{border-left-color:var(--speaking)}.module-card.reading{border-left-color:var(--reading)}.module-card.writing{border-left-color:var(--writing)}.module-card .module-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.module-card .module-icon{font-size:28px}.module-card .module-name{font-size:18px;font-weight:700}.progress-bar{width:100%;height:12px;background:#f0f0f0;border-radius:6px;overflow:hidden;margin:8px 0}.progress-bar-fill{height:100%;border-radius:6px;transition:width .6s ease}.module-card.listening .progress-bar-fill{background:var(--listening)}.module-card.speaking .progress-bar-fill{background:var(--speaking)}.module-card.reading .progress-bar-fill{background:var(--reading)}.module-card.writing .progress-bar-fill{background:var(--writing)}.module-stats{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.module-stats span{display:flex;align-items:center;gap:4px}.section-title{font-size:22px;font-weight:700;margin:24px 0 16px;display:flex;align-items:center;gap:8px}.unit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.unit-card{background:var(--bg-card);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s ease;border:2px solid transparent;min-width:0}.unit-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:var(--shadow-md)}.unit-card.review{background:linear-gradient(135deg,#fff9e6,#fff5f0)}.unit-card .unit-number{display:inline-block;background:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:8px}.unit-card.review .unit-number{background:var(--warning);color:var(--text-main)}.unit-card .unit-title{font-size:17px;font-weight:700;margin-bottom:4px}.unit-card .unit-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.unit-card .unit-modules{display:flex;gap:8px;flex-wrap:wrap}.unit-module-tag{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.unit-module-tag.has-content{opacity:1}.unit-module-tag.no-content{opacity:.3}.tag-listening{background:#ffe0e0;color:var(--listening)}.tag-speaking{background:#d0f5f0;color:var(--speaking)}.tag-reading{background:#d0efff;color:var(--reading)}.tag-writing{background:#ffe8d0;color:var(--writing)}.tag-vocabulary{background:#f3e8ff;color:#7c3aed}.module-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.module-tab{padding:14px 26px;border:2px solid var(--primary-light);background:var(--bg-card);border-radius:14px;cursor:pointer;font-size:17px;font-family:var(--font-main);font-weight:800;color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.module-tab:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px);color:var(--primary)}.module-tab:disabled{opacity:.45;cursor:not-allowed}.module-tab.active.listening{background:var(--listening);color:#fff}.module-tab.active.speaking{background:var(--speaking);color:#fff}.module-tab.active.reading{background:var(--reading);color:#fff}.module-tab.active.writing{background:var(--writing);color:#fff}.module-tab.active.vocabulary{background:#7c3aed;color:#fff}.module-tab.vocabulary:not(.active){background:#f9f5ff}.module-tab .count-badge{background:#ffffff4d;padding:2px 8px;border-radius:10px;font-size:12px}.module-tab:not(.active) .count-badge{background:var(--bg-hover)}.unit-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.unit-select-item{padding:9px 18px;background:var(--bg-card);border:2px solid var(--primary-light);border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;color:var(--text-secondary);transition:all .2s ease;box-shadow:var(--shadow-sm);text-align:center;line-height:1.3}.unit-select-item:hover{border-color:var(--primary);transform:translateY(-1px);color:var(--primary)}.unit-select-item.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #667eea59;transform:translateY(-1px)}.knowledge-card{background:var(--bg-card);border-radius:var(--radius-md);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-sm);border-left:4px solid var(--primary)}.knowledge-card .knowledge-title{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--primary-dark);display:flex;align-items:center;gap:8px}.knowledge-card .knowledge-content{font-size:15px;line-height:1.75;color:var(--text-main)}.knowledge-card .knowledge-content p{margin:0 0 10px}.knowledge-card .knowledge-content p:last-child{margin-bottom:0}.knowledge-card .knowledge-content strong{color:var(--primary)}.knowledge-card .knowledge-title{flex-wrap:wrap;justify-content:space-between}.knowledge-master-btn{margin-left:auto;flex-shrink:0;padding:5px 14px;border-radius:999px;border:2px solid #d0d0d0;background:#f8f8f8;color:#888;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s ease;font-family:inherit;line-height:1.4}.knowledge-master-btn:hover{border-color:var(--primary);color:var(--primary);background:#f0eaff;transform:scale(1.03)}.knowledge-master-btn.mastered{border-color:#22c55e;background:#f0fdf4;color:#16a34a}.knowledge-master-btn.mastered:hover{background:#dcfce7;transform:scale(1.03)}.knowledge-card.mastered{border-left-color:#22c55e;background:#ffffffb3}.model-essay-card{background:linear-gradient(135deg,#fff9e6,#fff5f0);border-left:4px solid #FF8C00;border:2px solid #FFD700;position:relative;overflow:hidden}.model-essay-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,transparent 50%,rgba(255,215,0,.1) 50%)}.essay-badge{display:inline-block;background:linear-gradient(135deg,#ff8c00,orange);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-left:8px;vertical-align:middle;white-space:nowrap}.essay-title{background:#ff8c001a;border-radius:8px;padding:10px 16px;margin-bottom:12px;font-size:16px;font-weight:700;color:#cc7000;border-left:3px solid #FF8C00}.essay-content{background:#ffffffb3;border-radius:10px;padding:16px 20px!important;border:1px dashed #FFB347;font-size:15.5px!important;line-height:1.85!important;letter-spacing:.3px}.essay-content p{margin:0 0 10px}.essay-content p:last-child{margin-bottom:0}.exercise-container{max-width:700px;margin:0 auto}.exercise-progress{display:flex;align-items:center;gap:12px;margin-bottom:20px}.exercise-progress-bar{flex:1;height:10px;background:#f0f0f0;border-radius:5px;overflow:hidden}.exercise-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);border-radius:5px;transition:width .4s ease}.exercise-count{font-size:14px;font-weight:600;color:var(--text-secondary)}.exercise-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md);margin-bottom:20px}.exercise-question{font-size:18px;font-weight:600;margin-bottom:20px;line-height:1.6}.exercise-options{display:flex;flex-direction:column;gap:12px}.exercise-option{padding:14px 20px;background:var(--bg-hover);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;font-family:var(--font-main);transition:all .2s ease;display:flex;align-items:center;gap:12px}.exercise-option:hover{border-color:var(--primary-light);background:#edebff}.exercise-option.selected{border-color:var(--primary);background:#edebff}.exercise-option.correct{border-color:var(--success);background:#e0f8f0}.exercise-option.wrong{border-color:var(--danger);background:#ffe8e8}.option-label{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.exercise-option.correct .option-label{background:var(--success);color:#fff}.exercise-option.wrong .option-label{background:var(--danger);color:#fff}.fill-input{width:100%;padding:12px 16px;border:2px solid var(--primary-light);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font-main);outline:none;transition:border-color .3s ease}.fill-input:focus{border-color:var(--primary)}.fill-input.correct{border-color:var(--success);background:#e0f8f0}.fill-input.wrong{border-color:var(--danger);background:#ffe8e8}.exercise-feedback{margin-top:16px;padding:16px;border-radius:var(--radius-sm);font-size:15px;display:none}.exercise-feedback.show{display:block;animation:fadeIn .3s ease}.exercise-feedback.correct{background:#e0f8f0;color:var(--success)}.exercise-feedback.wrong{background:#ffe8e8;color:var(--danger)}.exercise-actions{display:flex;gap:12px;margin-top:20px}.btn{padding:12px 28px;border:none;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font-main);font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{background:var(--text-light);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-hover);color:var(--text-main)}.btn-secondary:hover{background:#e0deff}.btn-success{background:var(--success);color:#fff}.exercise-result{text-align:center;padding:40px}.result-emoji{font-size:72px;margin-bottom:16px}.result-score{font-size:36px;font-weight:700;color:var(--primary);margin-bottom:8px}.result-message{font-size:18px;color:var(--text-secondary);margin-bottom:24px}.keypoint-card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:12px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:12px;border-left:4px solid var(--warning)}.keypoint-icon{font-size:24px;flex-shrink:0}.keypoint-text{font-size:15px;line-height:1.7;color:var(--text-main);white-space:pre-wrap;word-break:break-word}.keypoint-text .kp-title{display:block;color:var(--primary);font-size:16px;font-weight:700;margin-bottom:4px}.memorize-card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:10px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;transition:all .2s ease}.memorize-card:hover{box-shadow:var(--shadow-md)}.memorize-type{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.type-vocabulary{background:#ffe0e0;color:#e74c3c}.type-sentence{background:#d0f5f0;color:#00a085}.type-grammar{background:#fff3cd;color:#856404}.type-phrase{background:#d0efff;color:#2e86de}.type-skill{background:#f0e6ff;color:#6c5ce7}.memorize-content{flex:1}.memorize-en{font-size:16px;font-weight:600;color:var(--text-main)}.memorize-zh{font-size:14px;color:var(--text-secondary);margin-top:2px}.memorize-toggle{width:44px;height:26px;background:#ddd;border-radius:13px;cursor:pointer;position:relative;flex-shrink:0;transition:background .3s ease}.memorize-toggle:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .3s ease;box-shadow:0 2px 4px #0003}.memorize-toggle.mastered{background:var(--success)}.memorize-toggle.mastered:after{left:20px}.memorize-card.mastered{opacity:.6}.memorize-card.mastered .memorize-en{text-decoration:line-through}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-chip{padding:6px 16px;background:var(--bg-card);border:2px solid transparent;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm)}.filter-chip.active{background:var(--primary);color:#fff}.filter-chip:hover{border-color:var(--primary-light)}.parent-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.parent-card h3{font-size:18px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.progress-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.overview-item{text-align:center;padding:16px;background:var(--bg-hover);border-radius:var(--radius-md)}.overview-item .overview-number{font-size:28px;font-weight:700;color:var(--primary)}.overview-item .overview-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.weak-area-list{display:flex;flex-direction:column;gap:8px}.weak-area-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff5f5;border-radius:var(--radius-sm);border-left:4px solid var(--danger)}.weak-area-item .weak-icon{font-size:20px}.weak-area-item .weak-text{flex:1;font-size:14px}.weak-area-item .weak-rate{font-size:14px;font-weight:700;color:var(--danger)}.empty-state{text-align:center;padding:60px 20px}.empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state .empty-text{font-size:16px;color:var(--text-light)}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(100px);background:var(--primary);color:#fff;padding:12px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;box-shadow:var(--shadow-lg);z-index:1000;opacity:0;transition:all .4s ease}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning);color:var(--text-main)}@media (max-width: 1200px){.navbar{padding:8px 16px;flex-wrap:wrap;height:auto;row-gap:6px}.navbar-tabs{position:static;transform:none;width:100%;order:10;justify-content:flex-start;flex-wrap:wrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.navbar-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:8px 14px;font-size:14px;white-space:nowrap;flex-shrink:0}}@media (max-width: 768px){.navbar{padding:8px 12px}.navbar-brand{font-size:17px}.navbar-brand .logo{font-size:24px}.navbar-left{gap:10px}.nav-tab{padding:6px 12px;font-size:13px}.main-content{padding:16px}.welcome-card{flex-direction:column;text-align:center;gap:16px}.welcome-emoji{font-size:48px}.exercise-card{padding:20px}}.vocab-summary-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#f9f5ff,#f0e7ff);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.vocab-summary-info{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;font-weight:600}.vocab-count{color:#7c3aed}.vocab-categories{color:#666}.vocab-mastered{color:#10b981}.vocab-filter-bar{display:flex;gap:8px}.vocab-filter-btn{padding:6px 16px;border:2px solid #E0D0FF;background:#fff;border-radius:20px;cursor:pointer;font-size:13px;font-family:var(--font-main);font-weight:600;color:#666;transition:all .3s ease}.vocab-filter-btn.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.vocab-filter-btn:hover{transform:translateY(-1px)}.vocab-category-section{margin-bottom:24px}.vocab-category-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #F0E7FF}.vocab-category-icon{font-size:18px}.vocab-category-name{font-size:17px;font-weight:700;color:#7c3aed}.vocab-category-count{font-size:13px;color:#999;background:#f3e8ff;padding:2px 10px;border-radius:10px}.vocab-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.vocab-item{position:relative;background:var(--bg-card);border:2px solid #F0E7FF;border-radius:var(--radius-sm);padding:14px 16px;transition:all .3s ease;box-shadow:var(--shadow-sm)}.vocab-item:hover{transform:translateY(-2px);border-color:#d0b8ff;box-shadow:var(--shadow-md)}.vocab-item.mastered{background:#f0fdf4;border-color:#bbf7d0}.vocab-item.mastered .vocab-item-en{text-decoration:line-through;opacity:.6}.vocab-item-en{font-size:16px;font-weight:700;color:#7c3aed;margin-bottom:4px;word-break:break-word}.vocab-item-zh{font-size:14px;color:#555;margin-bottom:8px}.vocab-item-modules{display:flex;gap:4px;flex-wrap:wrap}.vocab-module-tag{font-size:10px;padding:2px 6px;border-radius:8px;font-weight:600}.vocab-master-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;font-size:14px;background:#f0f0f0;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.vocab-master-btn:hover{transform:scale(1.2)}.vocab-master-btn.mastered{background:#10b981}#app-root{display:none}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6c5ce7,#00cec9);padding:20px}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 36px;width:100%;max-width:380px;text-align:center;animation:pop-in .4s ease}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.login-logo{font-size:56px;margin-bottom:8px}.login-card h1{font-size:22px;color:var(--primary-dark);margin-bottom:6px}.login-sub{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.login-input{width:100%;padding:12px 16px;margin-bottom:14px;border:2px solid #E8E8F5;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font-main);transition:border-color .2s ease;box-sizing:border-box}.login-input:focus{outline:none;border-color:var(--primary)}.login-hint{color:var(--danger);font-size:13px;min-height:18px;margin:4px 0 10px}.login-foot{margin-top:16px;font-size:12px;color:var(--text-light)}.btn-block{width:100%;margin-top:8px}.child-switcher{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.child-label{color:#fff;font-size:13px;opacity:.9;margin-right:2px}.child-pill{border:none;background:#ffffff38;color:#fff;padding:5px 14px;border-radius:20px;font-size:13px;cursor:pointer;font-family:var(--font-main);transition:all .2s ease}.child-pill:hover{background:#ffffff59}.child-pill.active{background:#fff;color:var(--primary-dark);font-weight:700}.child-add-btn{border:none;background:#ffffff38;color:#fff;width:26px;height:26px;border-radius:50%;font-size:16px;cursor:pointer;line-height:1}.child-add-btn:hover{background:#fff6}.logout-btn{border:2px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;cursor:pointer;font-family:var(--font-main);white-space:nowrap}.logout-btn:hover{background:#ffffff2e}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px;color:var(--text-secondary)}.spinner{width:36px;height:36px;border:4px solid var(--bg-hover);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-summary{background:var(--bg-card);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:16px;color:var(--text-secondary);font-size:14px;box-shadow:var(--shadow-sm)}.error-list{display:flex;flex-direction:column;gap:14px}.error-card{background:var(--bg-card);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-sm);border-left:5px solid var(--danger)}.error-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.error-mod{font-weight:700;color:var(--primary-dark)}.error-count{font-size:13px;color:var(--danger);font-weight:600}.error-question{font-size:15px;font-weight:600;margin-bottom:8px;line-height:1.5}.error-answer{font-size:14px;margin-bottom:6px;color:var(--success)}.error-explain{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}.error-actions{display:flex;gap:10px}.btn-sm{padding:7px 16px;font-size:13px}.rv-mark{background:#fff3cd;color:#8a6d00;padding:0 4px;border-radius:4px;font-weight:600}.rv-p{font-size:14.5px;line-height:1.9;color:#2c3344;margin:0 0 10px;word-break:break-word}.rv-subhead{font-size:15.5px;font-weight:800;color:#c05621;margin:16px 0 8px;padding-left:10px;border-left:4px solid #ffb74d}.rv-tip{background:linear-gradient(135deg,#eef6ff,#f3f0ff);border:1px solid #d6e2f7;border-radius:10px;padding:10px 14px;margin:10px 0}.rv-tip-h{font-size:12.5px;font-weight:700;color:#4a7fd4;margin-bottom:4px}.rv-tip-b{font-size:14px;line-height:1.8;color:#2c3344;word-break:break-word}.rv-example{background:#fafbfd;border:1px solid #eef1f6;border-left:4px solid #4ECDC4;border-radius:10px;padding:10px 14px;margin:10px 0}.rv-en{font-size:14.5px;font-weight:600;color:#1f3a5f;line-height:1.7;word-break:break-word}.rv-zh{font-size:14px;color:#4a5568;line-height:1.7;margin-top:4px;word-break:break-word}.rv-table-wrap{overflow-x:auto;margin:12px 0}.rv-table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--bg-card, #fff);border-radius:10px;overflow:hidden}.rv-table th,.rv-table td{border:1px solid #eef1f6;padding:8px 12px;text-align:left;line-height:1.6}.rv-table thead th{background:#fff3e0;color:#a9690a;font-weight:700}.rv-table tbody tr:nth-child(2n){background:#fbfcfe}.rv-td-en{font-family:Consolas,Menlo,monospace;color:#1f3a5f;font-weight:600;white-space:nowrap}@media (max-width: 1200px){.main-content{padding:20px}.unit-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.vocab-items-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.module-tab{padding:11px 18px;font-size:15px}}@media (max-width: 768px){.section-title{font-size:19px;margin:18px 0 12px}.welcome-card{padding:22px 18px}.welcome-card h1{font-size:22px}.game-entry-btn{padding:10px 18px}.game-emoji{font-size:34px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px 10px}.stat-card .stat-icon{font-size:30px}.stat-card .stat-number{font-size:24px}.unit-list{grid-template-columns:1fr;gap:12px}.unit-card{padding:16px}.module-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;gap:8px}.module-tabs::-webkit-scrollbar{display:none}.module-tab{padding:10px 14px;font-size:14px;flex-shrink:0;min-height:42px}.unit-selector{gap:8px}.unit-select-item{padding:9px 14px;font-size:14px;min-height:40px}.knowledge-card{padding:16px;margin-bottom:14px}.knowledge-card .knowledge-title{font-size:16px;margin-bottom:10px}.knowledge-card .knowledge-content{font-size:14.5px;line-height:1.7}.knowledge-card .knowledge-content p{margin-bottom:8px}.essay-content{padding:12px 14px!important;font-size:14.5px!important}.knowledge-master-btn{padding:6px 12px;font-size:12.5px}.exercise-question{font-size:16px}.exercise-option{padding:12px 14px;min-height:44px}.exercise-actions{flex-wrap:wrap}.exercise-actions .btn{flex:1 1 auto;min-height:44px}.btn{min-height:40px}.exercise-result{padding:24px 12px}.result-emoji{font-size:56px}.result-score{font-size:30px}.vocab-summary-bar{padding:12px 14px}.vocab-summary-info{gap:12px;font-size:13px}.vocab-items-grid{grid-template-columns:repeat(2,1fr);gap:10px}.vocab-item{padding:12px}.vocab-master-btn{width:34px;height:34px}.keypoint-card{padding:12px 14px}.keypoint-text{font-size:14px}.memorize-card{padding:12px 14px;gap:10px;flex-wrap:wrap}.memorize-en{font-size:15px}.memorize-toggle{width:48px;height:28px}.memorize-toggle:after{width:24px;height:24px}.memorize-toggle.mastered:after{left:22px}.error-card{padding:14px}.error-head{flex-wrap:wrap;gap:6px}.error-actions{flex-wrap:wrap}.error-actions .btn{min-height:40px}.parent-card{padding:16px}.progress-overview{grid-template-columns:repeat(2,1fr);gap:10px}.overview-item{padding:12px 8px}.overview-item .overview-number{font-size:22px}.toast{max-width:calc(100vw - 32px);padding:10px 20px;font-size:14px;text-align:center}.login-card{padding:28px 22px}}@media (max-width: 640px){.main-content{padding:12px;min-height:calc(100vh - 56px)}.welcome-card h1{font-size:20px}.vocab-items-grid{grid-template-columns:1fr}.vocab-summary-bar{flex-direction:column;align-items:flex-start}.memorize-card .memorize-content{flex:1 1 60%;min-width:0}.stat-card .stat-label{font-size:12px}.exercise-card{padding:16px 14px}.filter-chip{padding:8px 14px;min-height:36px}}img,video,canvas,svg{max-width:100%;height:auto;display:block}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scroll-x>table{width:100%;border-collapse:collapse}input,select,textarea{font-family:var(--font-main)}@media (max-width: 768px){input,select,textarea{font-size:16px!important}.btn:not(.sm),.module-tab,.unit-select-item,.filter-chip,.nav-link,.memorize-toggle,.vocab-master-btn,input[type=submit],input[type=button]{min-height:44px}}@media (max-width: 480px){.card,.parent-card,.knowledge-card,.unit-card,.exercise-card,.error-card,.memorize-card{padding:12px}.main-content{padding:10px}.section-title{font-size:17px;margin:14px 0 10px}}:root{--ket-primary: #5b6cff;--ket-primary-600: #5a6cf0;--ket-primary-500: #6a8dff;--ket-primary-700: #4a5cdb;--ket-primary-soft: #eef5ff;--ket-primary-grad: linear-gradient(135deg, #6a8dff, #5a6cf0);--ket-primary-grad-h: linear-gradient(90deg, #7c9bff, #5a6cf0);--ket-ink: #1f2540;--ket-ink-2: #5b6276;--ket-muted: #8a90a6;--ket-bg: #f5f7fb;--ket-surface: #ffffff;--ket-surface-2: #fafbff;--ket-surface-3: #f8faff;--ket-ok: #2e9e5b;--ket-ok-soft: #eafaf0;--ket-bad: #ef4444;--ket-bad-soft: #fef6f6;--ket-warn: #f59e0b;--ket-warn-soft: #fff7e6;--ket-line: #eef1f7;--ket-line-2: #e8edf8;--ket-line-strong: #d5dbe9;--ket-shadow-sm: 0 2px 8px rgba(40, 60, 120, .06);--ket-shadow: 0 6px 22px rgba(40, 60, 120, .07);--ket-shadow-md: 0 10px 26px rgba(90, 108, 240, .18);--ket-shadow-primary: 0 6px 16px rgba(90, 108, 240, .26);--ket-r-sm: 8px;--ket-r-md: 12px;--ket-r-lg: 20px;--ket-r-pill: 999px;--ket-sp-1: 4px;--ket-sp-2: 8px;--ket-sp-3: 12px;--ket-sp-4: 16px;--ket-sp-5: 20px;--ket-sp-6: 24px;--ket-fs-xs: 11px;--ket-fs-sm: 12px;--ket-fs-base: 13px;--ket-fs-md: 14px;--ket-fs-lg: 15px;--ket-fs-xl: 16px;--ket-fs-2xl: 19px;--ket-fs-3xl: 24px;--ket-cover-1: linear-gradient(135deg, #6a8dff, #5a6cf0);--ket-cover-2: linear-gradient(135deg, #7c5cff, #9b6bff);--ket-cover-3: linear-gradient(135deg, #23b6a4, #1fa3c7);--ket-cover-4: linear-gradient(135deg, #ff9a56, #ff6b6b);--ket-cover-5: linear-gradient(135deg, #3ec6a0, #2bb673);--ket-cover-6: linear-gradient(135deg, #f7a23b, #f1785b);--ket-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--ket-font-serif: "Georgia", "Times New Roman", serif}
