.fn-overlay[data-v-369194e3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.fn-modal[data-v-369194e3]{width:100%;max-width:430px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 60px #1e224859}.fn-header[data-v-369194e3]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:18px 20px 16px}.fn-badge[data-v-369194e3]{display:inline-block;font-size:12px;background:#ffffff38;border-radius:999px;padding:2px 10px;margin-bottom:8px}.fn-header h2[data-v-369194e3]{font-size:21px;margin:0 0 2px}.fn-sub[data-v-369194e3]{margin:0;font-size:12.5px;opacity:.9}.fn-body[data-v-369194e3]{padding:14px 18px 4px}.fn-item[data-v-369194e3]{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.fn-item+.fn-item[data-v-369194e3]{border-top:1px dashed #eef0f7}.fn-ico[data-v-369194e3]{font-size:18px;line-height:1.4}.fn-item p[data-v-369194e3]{margin:0;font-size:13px;color:#555;line-height:1.65}.fn-item b[data-v-369194e3]{color:#667eea}.fn-actions[data-v-369194e3]{display:flex;gap:10px;padding:12px 18px 18px}.fn-btn[data-v-369194e3]{flex:1;border:none;border-radius:9px;padding:10px 0;font-size:13.5px;cursor:pointer;transition:opacity .15s}.fn-btn[data-v-369194e3]:hover{opacity:.88}.fn-btn-ghost[data-v-369194e3]{background:#f1f2f8;color:#666}.fn-btn-main[data-v-369194e3]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.fn-fade-enter-active[data-v-369194e3],.fn-fade-leave-active[data-v-369194e3]{transition:opacity .22s ease}.fn-fade-enter-from[data-v-369194e3],.fn-fade-leave-to[data-v-369194e3]{opacity:0}.fn-fade-enter-from .fn-modal[data-v-369194e3]{transform:translateY(14px) scale(.98)}.fn-fade-enter-active .fn-modal[data-v-369194e3]{transition:transform .22s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;background:#f5f7fa;color:#333;line-height:1.6}#app-wrapper{min-height:100vh}.top-nav{background:#fff;border-bottom:2px solid #eee;padding:.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200}.nav-brand{font-weight:700;color:#667eea;text-decoration:none;font-size:1.05rem}.nav-right{display:flex;align-items:center;gap:1rem}.nav-link{color:#555;text-decoration:none;font-size:.9rem;transition:color .2s}.nav-link:hover{color:#667eea}.nav-user{color:#888;font-size:.85rem}.nav-btn{background:none;border:1px solid #ddd;padding:.25rem .75rem;border-radius:4px;cursor:pointer;color:#888;font-size:.85rem}.nav-btn:hover{border-color:#e74c3c;color:#e74c3c}.nav-add-account{font-size:1.1rem;font-weight:700;padding:0 .3rem}.user-switcher{position:relative;display:flex;align-items:center;gap:.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .2s}.user-switcher:hover{background:#f5f5f5}.switch-arrow{font-size:.7rem;color:#aaa}.switch-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001f;min-width:200px;z-index:300;overflow:hidden}.user-switcher:hover .switch-dropdown{display:block}.switch-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.88rem;color:#444;text-decoration:none;transition:background .15s;cursor:pointer}.switch-item:hover{background:#f5f7ff}.switch-item.active{background:#eef1ff;color:#667eea;font-weight:600}.switch-role{font-size:.75rem;color:#aaa;margin-left:auto}.switch-check{color:#667eea;font-weight:700}.switch-divider{height:1px;background:#eee;margin:.25rem 0}.switch-add{color:#667eea;font-weight:600}.home-container[data-v-cb03c5d3]{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fa}.home-header[data-v-cb03c5d3]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:3rem 1rem 2.5rem}.header-top[data-v-cb03c5d3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.header-auth[data-v-cb03c5d3]{display:flex;align-items:center;gap:.75rem}.auth-user[data-v-cb03c5d3]{color:#ffffffe6;font-size:.85rem}.auth-link[data-v-cb03c5d3]{color:#ffffffd9;text-decoration:none;font-size:.85rem}.auth-link[data-v-cb03c5d3]:hover{color:#fff}.auth-btn[data-v-cb03c5d3]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.2rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}.auth-btn[data-v-cb03c5d3]:hover{background:#ffffff4d}.home-header h1[data-v-cb03c5d3]{font-size:2rem;margin-bottom:.5rem}.subtitle[data-v-cb03c5d3]{font-size:1rem;opacity:.85}.subtitle2[data-v-cb03c5d3]{font-size:.9rem;opacity:.8;margin-top:.5rem}.home-main[data-v-cb03c5d3]{flex:1;max-width:800px;margin:0 auto;padding:2.5rem 1rem;width:100%}.about-entry[data-v-cb03c5d3]{margin-top:1rem;margin-bottom:1.8rem;text-align:center;font-size:.88rem;color:#7b8194;background:#fff;border:1px dashed #d9ddf0;border-radius:10px;padding:.9rem 1rem}.about-entry-main[data-v-cb03c5d3]{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.35rem}.about-entry-title[data-v-cb03c5d3]{font-size:.98rem;font-weight:700;color:#1f2329}.about-entry-sub[data-v-cb03c5d3]{font-size:.78rem;color:#9aa3af}.about-link[data-v-cb03c5d3]{color:#4f46e5;font-weight:600;text-decoration:none;margin-left:.3rem}.about-link[data-v-cb03c5d3]:hover{text-decoration:underline}.home-footer[data-v-cb03c5d3]{text-align:center;padding:1.8rem 1rem;color:#999;font-size:.85rem;border-top:1px solid #eee;line-height:1.9}.footer-strong[data-v-cb03c5d3]{color:#666;font-weight:600;margin-bottom:.3rem}.footer-links[data-v-cb03c5d3]{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;margin:.4rem 0}.footer-links a[data-v-cb03c5d3]{color:#667eea;text-decoration:none;font-size:.84rem}.footer-links a[data-v-cb03c5d3]:hover{text-decoration:underline}.footer-dim[data-v-cb03c5d3]{color:#b6bac4;font-size:.78rem}.login-hint[data-v-cb03c5d3]{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:.75rem 1rem;border-radius:8px;text-align:center;margin-bottom:1.5rem;font-size:.95rem}.login-hint a[data-v-cb03c5d3]{color:#667eea;font-weight:700}.section-title[data-v-cb03c5d3]{text-align:center;color:#333;margin-bottom:1.5rem;font-size:1.2rem}.level-grid[data-v-cb03c5d3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.level-card[data-v-cb03c5d3]{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #0000000f;border:2px solid transparent}.level-card[data-v-cb03c5d3]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea26;border-color:#667eea}.level-badge[data-v-cb03c5d3]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;flex-shrink:0}.level-info h3[data-v-cb03c5d3]{font-size:1.1rem;color:#333;margin-bottom:.2rem}.level-info p[data-v-cb03c5d3]{font-size:.85rem;color:#999}.level-arrow[data-v-cb03c5d3]{margin-left:auto;color:#ccc;font-size:1.3rem;transition:all .2s}.level-card:hover .level-arrow[data-v-cb03c5d3]{color:#667eea;transform:translate(4px)}.about-container[data-v-aaa9de88]{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fa}.about-header[data-v-aaa9de88]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:1.6rem 1rem 2.2rem}.header-top[data-v-aaa9de88]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.back-link[data-v-aaa9de88]{color:#ffffffe6;text-decoration:none;font-size:.86rem}.back-link[data-v-aaa9de88]:hover{color:#fff;text-decoration:underline}.header-auth[data-v-aaa9de88]{display:flex;align-items:center;gap:.75rem}.auth-user[data-v-aaa9de88]{color:#ffffffe6;font-size:.85rem}.auth-link[data-v-aaa9de88]{color:#ffffffd9;text-decoration:none;font-size:.85rem}.auth-link[data-v-aaa9de88]:hover{color:#fff}.about-header h1[data-v-aaa9de88]{font-size:1.7rem;margin-bottom:.5rem;line-height:1.35}.subtitle[data-v-aaa9de88]{font-size:.95rem;opacity:.85}.cta-btn[data-v-aaa9de88]{display:inline-block;margin-top:1.1rem;background:#fff;color:#4f46e5;text-decoration:none;font-weight:700;font-size:.92rem;padding:.55rem 1.4rem;border-radius:999px;transition:all .2s;box-shadow:0 4px 14px #0000001f}.cta-btn[data-v-aaa9de88]:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000002e}.cta-btn-lg[data-v-aaa9de88]{font-size:1rem;padding:.7rem 1.8rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.about-main[data-v-aaa9de88]{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:2.5rem 1rem}.seo-section[data-v-aaa9de88]{margin-bottom:3rem}.seo-section h2[data-v-aaa9de88]{font-size:1.35rem;color:#2b2f3a;margin-bottom:.9rem;padding-left:.7rem;border-left:4px solid #667eea;line-height:1.2}.sub-h3[data-v-aaa9de88]{font-size:1rem;color:#444;margin:1.4rem 0 .7rem}.seo-text[data-v-aaa9de88]{color:#4a4f5c;line-height:1.9;font-size:.95rem;margin-bottom:.85rem}.seo-text strong[data-v-aaa9de88]{color:#4338ca}.seo-note[data-v-aaa9de88]{color:#7b8194;font-size:.86rem;line-height:1.8;margin-top:.9rem}.feat-grid[data-v-aaa9de88]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.feat-card[data-v-aaa9de88]{background:#fff;border-radius:12px;padding:1.1rem 1.2rem;box-shadow:0 2px 10px #0000000d;border:1px solid #eef0f7}.feat-icon[data-v-aaa9de88]{font-size:1.5rem;margin-bottom:.4rem}.feat-card h3[data-v-aaa9de88]{font-size:.98rem;color:#2b2f3a;margin-bottom:.35rem}.feat-card p[data-v-aaa9de88]{font-size:.84rem;color:#7b8194;line-height:1.75}.stat-grid[data-v-aaa9de88]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.stat-card[data-v-aaa9de88]{background:linear-gradient(135deg,#f7f8ff,#eef1ff);border-radius:10px;padding:.9rem 1rem;text-align:center;border:1px solid #e6e9fb}.stat-card b[data-v-aaa9de88]{display:block;font-size:1.5rem;color:#4f46e5;line-height:1.2}.stat-card span[data-v-aaa9de88]{font-size:.78rem;color:#6b7280}.period-chips[data-v-aaa9de88]{display:flex;flex-wrap:wrap;gap:.5rem}.period-chip[data-v-aaa9de88]{background:#fff;border:1px solid #e2e5f0;color:#4b5162;border-radius:999px;padding:.25rem .75rem;font-size:.82rem}.table-wrap[data-v-aaa9de88]{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d}.level-table[data-v-aaa9de88]{width:100%;border-collapse:collapse;font-size:.86rem;min-width:640px}.level-table th[data-v-aaa9de88]{background:#f4f6ff;color:#4b5162;font-weight:600;text-align:left;padding:.6rem .8rem;white-space:nowrap}.level-table td[data-v-aaa9de88]{padding:.6rem .8rem;color:#5b6072;border-top:1px solid #f0f2f8;line-height:1.7;vertical-align:top}.td-level[data-v-aaa9de88]{color:#4f46e5;font-weight:600;cursor:pointer;white-space:nowrap}.td-level[data-v-aaa9de88]:hover{text-decoration:underline}.faq-item[data-v-aaa9de88]{background:#fff;border-radius:10px;padding:.85rem 1.05rem;margin-bottom:.6rem;box-shadow:0 1px 6px #0000000a;border:1px solid #eef0f7}.faq-item summary[data-v-aaa9de88]{cursor:pointer;font-size:.93rem;font-weight:600;color:#2b2f3a;list-style:none;position:relative;padding-left:1.1rem}.faq-item summary[data-v-aaa9de88]::-webkit-details-marker{display:none}.faq-item summary[data-v-aaa9de88]:before{content:"▸";position:absolute;left:0;color:#667eea;transition:transform .2s}.faq-item[open] summary[data-v-aaa9de88]:before{transform:rotate(90deg)}.faq-item p[data-v-aaa9de88]{margin-top:.6rem;padding-left:1.1rem;font-size:.86rem;color:#6b7280;line-height:1.85}.kw-list[data-v-aaa9de88]{display:flex;flex-wrap:wrap;gap:.5rem}.kw-chip[data-v-aaa9de88]{display:inline-block;background:#fff;border:1px solid #e2e5f0;color:#4f46e5;border-radius:999px;padding:.28rem .8rem;font-size:.82rem;text-decoration:none;transition:all .2s}.kw-chip[data-v-aaa9de88]:hover{background:#eef1ff;border-color:#c7cdf7}.kw-chip-plain[data-v-aaa9de88]{color:#6b7280;cursor:default}.kw-chip-plain[data-v-aaa9de88]:hover{background:#fff;border-color:#e2e5f0}.about-cta[data-v-aaa9de88]{text-align:center;margin:2.5rem 0 1rem}.about-footer[data-v-aaa9de88]{text-align:center;padding:1.8rem 1rem;color:#999;font-size:.85rem;border-top:1px solid #eee;line-height:1.9}.footer-strong[data-v-aaa9de88]{color:#666;font-weight:600;margin-bottom:.3rem}.footer-dim[data-v-aaa9de88]{color:#b6bac4;font-size:.78rem}@media (max-width: 600px){.about-header h1[data-v-aaa9de88]{font-size:1.3rem}.about-main[data-v-aaa9de88]{padding:1.6rem .9rem}}.examlist-container[data-v-191ecb2d]{min-height:100vh;background:#f5f7fa}.examlist-header[data-v-191ecb2d]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.back-link[data-v-191ecb2d]{color:#ffffffd9;text-decoration:none;font-size:.9rem}.back-link[data-v-191ecb2d]:hover{color:#fff}.examlist-header h1[data-v-191ecb2d]{font-size:1.4rem;margin:.5rem 0 .3rem}.subtitle[data-v-191ecb2d]{font-size:.9rem;opacity:.85}.examlist-main[data-v-191ecb2d]{max-width:900px;margin:0 auto;padding:2rem 1rem}.status-box[data-v-191ecb2d]{text-align:center;padding:4rem 0;color:#666}.error-box[data-v-191ecb2d]{color:#e74c3c}.spinner[data-v-191ecb2d]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-191ecb2d .8s linear infinite;margin:0 auto 1rem}@keyframes spin-191ecb2d{to{transform:rotate(360deg)}}.retry-btn[data-v-191ecb2d]{margin-top:1rem;padding:.5rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer}.year-group[data-v-191ecb2d]{margin-bottom:2rem}.year-title[data-v-191ecb2d]{font-size:1.1rem;color:#555;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.exam-grid[data-v-191ecb2d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.exam-card[data-v-191ecb2d]{background:#fff;border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 4px #0000000d;border:1.5px solid transparent}.exam-card[data-v-191ecb2d]:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px #667eea1a}.exam-month[data-v-191ecb2d]{background:#eef1ff;color:#667eea;padding:.3rem .5rem;border-radius:6px;font-weight:700;font-size:.85rem;flex-shrink:0}.exam-info h4[data-v-191ecb2d]{font-size:.95rem;color:#333;margin-bottom:.15rem}.exam-badge[data-v-191ecb2d]{font-size:.75rem;color:#999}.exam-tags[data-v-191ecb2d]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.exam-pending[data-v-191ecb2d]{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;line-height:1.4;background:#fef3e2;color:#b45309}.exam-lang[data-v-191ecb2d]{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;line-height:1.4}.exam-lang.cpp[data-v-191ecb2d]{background:#e8eefc;color:#3b5bdb}.exam-lang.python[data-v-191ecb2d]{background:#eafaf0;color:#1a7f4b}.lang-tabs[data-v-191ecb2d]{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.lang-tab[data-v-191ecb2d]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:999px;border:1.5px solid #dfe3ee;background:#fff;color:#666;font-size:.85rem;cursor:pointer;transition:all .2s}.lang-tab[data-v-191ecb2d]:hover{border-color:#667eea;color:#667eea}.lang-tab.active[data-v-191ecb2d]{background:#667eea;border-color:#667eea;color:#fff}.lang-count[data-v-191ecb2d]{font-size:.72rem;opacity:.75}.exam-arrow[data-v-191ecb2d]{margin-left:auto;color:#ccc;transition:all .2s}.exam-card:hover .exam-arrow[data-v-191ecb2d]{color:#667eea;transform:translate(3px)}.quiz-container[data-v-5fe79b74]{min-height:100vh;background:#f5f7fa}.quiz-header[data-v-5fe79b74]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;position:sticky;top:0;z-index:100;display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.header-left[data-v-5fe79b74]{flex-shrink:0;padding-top:.2rem}.back-link[data-v-5fe79b74]{color:#ffffffe6;text-decoration:none;font-size:.9rem;transition:color .2s}.back-link[data-v-5fe79b74]:hover{color:#fff}.header-center[data-v-5fe79b74]{flex:1;min-width:0}.header-center h1[data-v-5fe79b74]{font-size:1.3rem;margin-bottom:.3rem}.title-row[data-v-5fe79b74]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.exam-desc[data-v-5fe79b74]{font-size:.82rem;opacity:.85;line-height:1.5}.answer-hint[data-v-5fe79b74]{display:inline-block;margin-top:.35rem;font-size:.78rem;color:#fff6e5;background:#ffffff2e;border-radius:4px;padding:.1rem .45rem}.lang-badge[data-v-5fe79b74]{display:inline-block;flex:0 0 auto;font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:4px;background:#ffffffe6;line-height:1.6}.lang-badge.cpp[data-v-5fe79b74]{color:#3b5bdb}.lang-badge.python[data-v-5fe79b74]{color:#1a7f4b}.header-right[data-v-5fe79b74]{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.9rem}.timer[data-v-5fe79b74]{background:#fff3;padding:.3rem .8rem;border-radius:20px;font-variant-numeric:tabular-nums}.progress[data-v-5fe79b74]{background:#fff3;padding:.3rem .8rem;border-radius:20px}.status-box[data-v-5fe79b74]{text-align:center;padding:4rem 0;color:#666}.error-box[data-v-5fe79b74]{color:#e74c3c}.spinner[data-v-5fe79b74]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-5fe79b74 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-5fe79b74{to{transform:rotate(360deg)}}.quiz-main[data-v-5fe79b74]{max-width:860px;margin:0 auto;padding:1.5rem 1rem 6rem}.question-card[data-v-5fe79b74]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 2px 8px #0000000f;border-left:4px solid transparent;transition:all .3s ease}.correct-card[data-v-5fe79b74]{border-left-color:#27ae60;background:#f0faf4}.wrong-card[data-v-5fe79b74]{border-left-color:#e74c3c;background:#fef5f5}.question-header[data-v-5fe79b74]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.question-num[data-v-5fe79b74]{background:#667eea;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.question-type[data-v-5fe79b74]{font-size:.8rem;padding:.15rem .6rem;border-radius:4px;font-weight:600}.type-single[data-v-5fe79b74]{background:#e8f4fd;color:#2980b9}.type-judge[data-v-5fe79b74]{background:#fef3e2;color:#e67e22}.question-score[data-v-5fe79b74]{margin-left:auto;color:#999;font-size:.85rem}.question-title[data-v-5fe79b74]{font-size:1rem;color:#333;line-height:1.7;margin-bottom:1rem}.options-list[data-v-5fe79b74]{display:flex;flex-direction:column;gap:.5rem}.option-item[data-v-5fe79b74]{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem 1rem;border:2px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .2s ease}.option-item[data-v-5fe79b74]:hover{border-color:#667eea;background:#f8f9ff}.option-item input[type=radio][data-v-5fe79b74]{margin-top:.25rem;accent-color:#667eea}.option-selected[data-v-5fe79b74]{border-color:#667eea;background:#eef1ff}.option-correct[data-v-5fe79b74]{border-color:#27ae60!important;background:#e6f9ee!important}.option-wrong[data-v-5fe79b74]{border-color:#e74c3c!important;background:#fde8e8!important}.option-text[data-v-5fe79b74]{font-size:.95rem;color:#444;line-height:1.6}.judge-options[data-v-5fe79b74]{display:flex;gap:1rem}.judge-btn[data-v-5fe79b74]{flex:1;padding:.8rem 1rem;text-align:center;border:2px solid #e8e8e8;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;-webkit-user-select:none;user-select:none}.judge-btn[data-v-5fe79b74]:hover{border-color:#667eea;background:#f8f9ff}.judge-selected[data-v-5fe79b74]{border-color:#667eea;background:#eef1ff;color:#667eea}.judge-correct[data-v-5fe79b74]{border-color:#27ae60!important;background:#e6f9ee!important;color:#27ae60!important}.judge-wrong[data-v-5fe79b74]{border-color:#e74c3c!important;background:#fde8e8!important;color:#e74c3c!important}.answer-feedback[data-v-5fe79b74]{margin-top:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.9rem}.feedback-correct[data-v-5fe79b74]{color:#27ae60;font-weight:600}.feedback-wrong[data-v-5fe79b74]{color:#e74c3c}.quiz-footer[data-v-5fe79b74]{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #eee;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;z-index:100;box-shadow:0 -2px 10px #0000000d}.footer-left[data-v-5fe79b74],.footer-right[data-v-5fe79b74]{display:flex;gap:.5rem}.footer-center[data-v-5fe79b74]{text-align:center}.btn[data-v-5fe79b74]{padding:.6rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn[data-v-5fe79b74]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-5fe79b74]{background:#667eea;color:#fff}.btn-primary[data-v-5fe79b74]:hover{background:#5a6fd6}.btn-reset[data-v-5fe79b74]{background:#f0f0f0;color:#666}.btn-reset[data-v-5fe79b74]:hover{background:#e4e4e4}.btn-top[data-v-5fe79b74]{background:#f0f0f0;color:#666}.btn-top[data-v-5fe79b74]:hover{background:#e4e4e4}.btn-score[data-v-5fe79b74]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;padding:.7rem 2.5rem}.btn-score[data-v-5fe79b74]:hover:not(:disabled){transform:scale(1.03);box-shadow:0 4px 15px #667eea66}.btn-home[data-v-5fe79b74]{background:#667eea;color:#fff}.btn-home[data-v-5fe79b74]:hover{background:#5a6fd6}.score-summary[data-v-5fe79b74]{display:flex;flex-direction:column;align-items:center;gap:.2rem}.score-text[data-v-5fe79b74]{font-size:1.2rem;color:#333}.score-text strong[data-v-5fe79b74]{color:#667eea;font-size:1.5rem}.score-detail[data-v-5fe79b74]{font-size:.85rem;color:#777}@media (max-width: 600px){.quiz-header[data-v-5fe79b74]{padding:1rem;flex-direction:column}.header-right[data-v-5fe79b74]{flex-direction:row;width:100%}.quiz-footer[data-v-5fe79b74]{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.footer-left[data-v-5fe79b74],.footer-right[data-v-5fe79b74]{flex:1;justify-content:center}.footer-center[data-v-5fe79b74]{order:-1;width:100%}.judge-options[data-v-5fe79b74]{flex-direction:column}}.question-title[data-v-5fe79b74] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.75rem 1rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.6;overflow-x:auto;margin:.5rem 0;white-space:pre-wrap}.question-image[data-v-5fe79b74]{max-width:100%;border-radius:8px;margin-bottom:.75rem}.analysis-section[data-v-5fe79b74]{margin-top:.75rem}.analysis-toggle[data-v-5fe79b74]{background:#f0f4ff;color:#667eea;border:1px solid #d0d8ff;padding:.35rem .85rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.analysis-toggle[data-v-5fe79b74]:hover{background:#e0e8ff}.analysis-content[data-v-5fe79b74]{margin-top:.5rem;padding:.75rem 1rem;background:#fafbfe;border-radius:8px;border:1px solid #e8ecf8}.analysis-text[data-v-5fe79b74]{font-size:.9rem;color:#444;line-height:1.7;white-space:pre-wrap}.analysis-tags[data-v-5fe79b74]{margin-top:.5rem;font-size:.8rem;color:#999}.analysis-loading[data-v-5fe79b74],.analysis-empty[data-v-5fe79b74]{font-size:.85rem;color:#999;font-style:italic}.login-container[data-v-de12d33e]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card[data-v-de12d33e]{background:#fff;border-radius:16px;padding:2.5rem 2rem;width:100%;max-width:400px;box-shadow:0 10px 40px #00000026}.login-card h2[data-v-de12d33e]{text-align:center;margin-bottom:.25rem}.subtitle[data-v-de12d33e]{text-align:center;color:#999;font-size:.9rem;margin-bottom:1.5rem}.error-msg[data-v-de12d33e]{background:#fef0f0;color:#e74c3c;padding:.6rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1rem}.form-group[data-v-de12d33e]{margin-bottom:1rem}.form-group label[data-v-de12d33e]{display:block;margin-bottom:.3rem;font-weight:600;font-size:.9rem}.form-group input[data-v-de12d33e],.form-group select[data-v-de12d33e]{width:100%;padding:.7rem .9rem;border:2px solid #e8e8e8;border-radius:8px;font-size:.95rem;transition:border-color .2s}.form-group input[data-v-de12d33e]:focus,.form-group select[data-v-de12d33e]:focus{outline:none;border-color:#667eea}.btn-submit[data-v-de12d33e]{width:100%;padding:.8rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:all .2s}.btn-submit[data-v-de12d33e]:hover:not(:disabled){transform:scale(1.02)}.btn-submit[data-v-de12d33e]:disabled{opacity:.6;cursor:not-allowed}.toggle-text[data-v-de12d33e]{text-align:center;margin-top:1rem;color:#888;font-size:.9rem}.toggle-text a[data-v-de12d33e]{color:#667eea;text-decoration:none}.back-link[data-v-de12d33e]{display:block;text-align:center;margin-top:1rem;color:#999;text-decoration:none;font-size:.9rem}.back-link[data-v-de12d33e]:hover{color:#667eea}.qc-wrap[data-v-13153e58]{margin-top:.5rem;border-top:1px dashed #e5e7eb;padding-top:.5rem}.qc-actions[data-v-13153e58]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.qc-btn[data-v-13153e58]{font:inherit;font-size:.8rem;padding:.25rem .65rem;border-radius:7px;border:1px solid #dbe2ef;background:#fff;color:#4b5b76;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.qc-btn[data-v-13153e58]:not(.qc-btn-primary):hover{background:#eef3fd;border-color:#b9cdf5;color:#2f6fed}.qc-btn[data-v-13153e58]:not(.qc-btn-primary):active{background:#e2eafb}.qc-btn[data-v-13153e58]:focus-visible{outline:2px solid #2f6fed;outline-offset:2px}.qc-btn[disabled][data-v-13153e58]{opacity:.55;cursor:not-allowed}.qc-btn-err[data-v-13153e58]{color:#b45309;border-color:#fcd9a8;background:#fffbf3}.qc-btn-err[data-v-13153e58]:not(.qc-btn-primary):hover{background:#fff4e3;border-color:#f6c98b;color:#92400e}.qc-btn-primary[data-v-13153e58]{width:100%;background:#2f6fed;color:#fff;border:0;padding:.5rem;border-radius:8px;font-weight:700;box-shadow:0 1px 2px #2f6fed47}.qc-btn-primary[data-v-13153e58]:hover:not([disabled]){background:#1a55cc;box-shadow:0 4px 12px #2f6fed61;transform:translateY(-1px)}.qc-btn-primary[data-v-13153e58]:active:not([disabled]){background:#164bb5;box-shadow:0 1px 3px #2f6fed4d;transform:translateY(0)}.qc-btn-primary[disabled][data-v-13153e58]{opacity:1;background:#a8c0ee;color:#f2f6ff;box-shadow:none;cursor:not-allowed}.qc-badge-ok[data-v-13153e58]{font-size:.78rem;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;padding:.15rem .5rem}.qc-off[data-v-13153e58]{font-size:.78rem;color:#9aa3af}.qc-ai[data-v-13153e58]{margin-top:.5rem;background:#f7f9ff;border:1px solid #dbe6ff;border-radius:9px;padding:.6rem .75rem}.qc-ai-head[data-v-13153e58]{font-size:.82rem;color:#3b5bdb;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.qc-ai-ans[data-v-13153e58]{color:#555;font-weight:400}.qc-ok[data-v-13153e58]{color:#15803d}.qc-warn[data-v-13153e58]{color:#b45309}.qc-diff[data-v-13153e58]{color:#dc2626}.qc-ai-text[data-v-13153e58]{margin:.4rem 0 .2rem;font-size:.86rem;color:#333;white-space:pre-wrap}.qc-ai-tip[data-v-13153e58]{margin:0;font-size:.72rem;color:#9aa3af}.qc-form[data-v-13153e58]{margin-top:.5rem;background:#fffbf3;border:1px solid #f6e3bd;border-radius:9px;padding:.65rem .75rem}.qc-row[data-v-13153e58]{display:flex;align-items:flex-start;gap:.5rem;margin:.4rem 0;font-size:.83rem}.qc-label[data-v-13153e58]{flex:none;width:5.6rem;color:#6b7280;padding-top:.2rem}.qc-chk[data-v-13153e58]{margin-right:.8rem}.qc-select[data-v-13153e58]{font:inherit;padding:.2rem .45rem;border:1px solid #e2c9a0;border-radius:6px;background:#fff}.qc-area[data-v-13153e58]{flex:1;font:inherit;border:1px solid #e2c9a0;border-radius:6px;padding:.35rem .5rem;resize:vertical}.qc-cur[data-v-13153e58]{color:#9aa3af;font-size:.78rem;align-self:center}.qc-note[data-v-13153e58]{font-size:.82rem;border-radius:8px;padding:.45rem .6rem;background:#f3f6fc;color:#4b5b76}.qc-note-ok[data-v-13153e58]{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.qc-note-err[data-v-13153e58]{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.qc-mask[data-v-13153e58]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#11182773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:progress}.qc-mask-box[data-v-13153e58]{background:#fff;border-radius:14px;padding:1.5rem 1.6rem;width:min(330px,86vw);text-align:center;box-shadow:0 18px 48px #0f172a4d}.qc-spinner[data-v-13153e58]{width:40px;height:40px;margin:0 auto .75rem;border-radius:50%;border:3px solid #dbe6ff;border-top-color:#2f6fed;animation:qc-spin-13153e58 .8s linear infinite}@keyframes qc-spin-13153e58{to{transform:rotate(360deg)}}.qc-mask-title[data-v-13153e58]{margin:0 0 .35rem;font-size:.94rem;font-weight:700;color:#1f2329}.qc-mask-sub[data-v-13153e58]{margin:0;font-size:.82rem;color:#4b5b76}.qc-mask-tip[data-v-13153e58]{margin:.4rem 0 0;font-size:.72rem;color:#9aa3af}@media (prefers-reduced-motion: reduce){.qc-spinner[data-v-13153e58]{animation-duration:2s}}.history-container[data-v-682dab4a]{min-height:100vh;background:#f5f7fa}.history-header[data-v-682dab4a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.history-header-row[data-v-682dab4a]{display:flex;justify-content:space-between;align-items:center}.back-link[data-v-682dab4a]{color:#ffffffd9;text-decoration:none;font-size:.9rem}.back-link[data-v-682dab4a]:hover{color:#fff}.wrongbook-link[data-v-682dab4a]{color:#fff;text-decoration:none;font-size:.85rem;padding:.4rem .85rem;border-radius:16px;background:#ffffff2e;border:1px solid rgba(255,255,255,.35)}.wrongbook-link[data-v-682dab4a]:hover{background:#ffffff4d}.history-header h1[data-v-682dab4a]{font-size:1.3rem;margin-top:.3rem}.history-main[data-v-682dab4a]{max-width:860px;margin:0 auto;padding:1.5rem 1rem}.myfiles-card[data-v-682dab4a]{background:#fff;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 6px #667eea14}.myfiles-head[data-v-682dab4a]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.5rem}.myfiles-head h2[data-v-682dab4a]{margin:0;font-size:1.05rem;color:#2c3e50}.myfiles-sub[data-v-682dab4a]{font-size:.78rem;color:#999}.myfile-row[data-v-682dab4a]{display:flex;align-items:center;gap:.6rem;border:1px solid #eef0f7;border-left:3px solid #27ae60;border-radius:8px;padding:.5rem .75rem;margin-top:.45rem;background:#fdfefe}.myfile-row.row-report[data-v-682dab4a]{border-left-color:#667eea}.myfile-icon[data-v-682dab4a]{font-size:1.1rem}.myfile-info[data-v-682dab4a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.myfile-name[data-v-682dab4a]{font-size:.85rem;color:#333;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.myfile-meta[data-v-682dab4a]{font-size:.72rem;color:#999;display:flex;align-items:center;gap:.4rem}.myfile-kind[data-v-682dab4a]{font-size:.66rem;padding:1px 7px;border-radius:9px;color:#fff}.kind-solution[data-v-682dab4a]{background:#27ae60}.kind-report[data-v-682dab4a]{background:#667eea}.kind-teaching[data-v-682dab4a]{background:#2f80ed}.myfile-row.row-teaching[data-v-682dab4a]{border-left-color:#2f80ed}.myfile-actions[data-v-682dab4a]{display:flex;gap:.35rem}.myfile-btn[data-v-682dab4a]{border:1px solid #e2e5f0;background:#fff;color:#556;border-radius:7px;padding:.25rem .55rem;font-size:.75rem;cursor:pointer}.myfile-btn[data-v-682dab4a]:hover{background:#f4f5fb}.myfile-btn[data-v-682dab4a]:disabled{opacity:.5;cursor:wait}.status-box[data-v-682dab4a],.empty-box[data-v-682dab4a]{text-align:center;padding:4rem 0;color:#666}.spinner[data-v-682dab4a]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-682dab4a .8s linear infinite;margin:0 auto 1rem}@keyframes spin-682dab4a{to{transform:rotate(360deg)}}.btn[data-v-682dab4a]{display:inline-block;margin-top:1rem;padding:.5rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600}.btn-primary[data-v-682dab4a]{background:#667eea;color:#fff}.summary-bar[data-v-682dab4a]{background:#fff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;text-align:center;color:#555;font-size:.95rem;box-shadow:0 1px 4px #0000000d}.record-list[data-v-682dab4a]{display:flex;flex-direction:column;gap:.6rem}.record-card[data-v-682dab4a]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #0000000d}.record-head[data-v-682dab4a]{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;cursor:pointer;transition:background .15s}.record-head[data-v-682dab4a]:hover{background:#fafbfe}.record-info[data-v-682dab4a]{flex:1;min-width:0}.record-info h3[data-v-682dab4a]{font-size:.95rem;color:#333}.record-date[data-v-682dab4a]{font-size:.75rem;color:#aaa}.record-score[data-v-682dab4a]{display:flex;align-items:baseline;gap:.15rem}.score-num[data-v-682dab4a]{font-size:1.4rem;font-weight:700;color:#667eea}.score-div[data-v-682dab4a]{color:#ccc}.score-max[data-v-682dab4a]{color:#999;font-size:.9rem}.record-meta[data-v-682dab4a]{display:flex;gap:.75rem;font-size:.8rem;color:#999}.record-arrow[data-v-682dab4a]{color:#ccc;font-size:.8rem;flex-shrink:0}.record-body[data-v-682dab4a]{border-top:1px solid #f0f0f0;padding:1rem 1.25rem}.detail-loading[data-v-682dab4a]{color:#999;font-size:.85rem;text-align:center;padding:1rem}.question-list[data-v-682dab4a]{display:flex;flex-direction:column;gap:.75rem}.q-card[data-v-682dab4a]{border-radius:10px;padding:1rem;border-left:4px solid transparent}.q-ok[data-v-682dab4a]{background:#f7fdf9;border-left-color:#27ae60}.q-err[data-v-682dab4a]{background:#fef9f9;border-left-color:#e74c3c}.q-top[data-v-682dab4a]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.q-num[data-v-682dab4a]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.q-num-ok[data-v-682dab4a]{background:#27ae60}.q-num-err[data-v-682dab4a]{background:#e74c3c}.q-tag[data-v-682dab4a]{font-size:.72rem;padding:.1rem .45rem;border-radius:3px;background:#eee;color:#888}.q-title[data-v-682dab4a]{font-size:.9rem;color:#444;line-height:1.65;margin-bottom:.6rem}.q-image[data-v-682dab4a]{display:block;max-width:100%;border-radius:8px;margin:.25rem 0 .6rem;border:1px solid #eee}.q-title[data-v-682dab4a] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.5rem .75rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;margin:.4rem 0;white-space:pre-wrap;text-align:left}.q-options[data-v-682dab4a]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.q-opt[data-v-682dab4a]{font-size:.82rem;padding:.3rem .65rem;border-radius:6px;border:1px solid #e8e8e8;color:#555}.opt-correct[data-v-682dab4a]{border-color:#27ae60;background:#e6f9ee;color:#27ae60}.opt-correct-chosen[data-v-682dab4a]{border-color:#27ae60;background:#d4f5e0;color:#27ae60;font-weight:700}.opt-wrong[data-v-682dab4a]{border-color:#e74c3c;background:#fde8e8;color:#e74c3c;text-decoration:line-through}.q-answers[data-v-682dab4a]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.q-ans-row[data-v-682dab4a]{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.q-ans-label[data-v-682dab4a]{color:#888;flex-shrink:0}.q-ans-val[data-v-682dab4a]{font-weight:600}.ans-ok[data-v-682dab4a]{color:#27ae60}.ans-err[data-v-682dab4a]{color:#e74c3c;text-decoration:line-through}.ans-correct[data-v-682dab4a]{color:#27ae60}.q-analysis[data-v-682dab4a]{margin-top:.25rem}.analysis-placeholder[data-v-682dab4a]{color:#aaa;font-size:.82rem;font-style:italic;padding:.4rem 0}.analysis-box[data-v-682dab4a]{background:#f5f7ff;border:1px solid #e0e4f8;border-radius:8px;padding:.75rem 1rem}.analysis-label[data-v-682dab4a]{font-weight:700;color:#667eea;font-size:.85rem;margin-bottom:.35rem}.analysis-text[data-v-682dab4a]{font-size:.85rem;color:#555;line-height:1.7;white-space:pre-wrap}.sfp-container[data-v-1e8d477f]{background:#fff;border:1px solid #e8e8f0;border-radius:14px;padding:16px 18px;margin:14px 0;box-shadow:0 2px 10px #667eea0f}.sfp-toolbar[data-v-1e8d477f]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sfp-title[data-v-1e8d477f]{margin:0;font-size:16px;color:#2c3e50}.sfp-actions[data-v-1e8d477f]{display:flex;gap:8px;flex-wrap:wrap}.sfp-btn[data-v-1e8d477f]{display:inline-flex;align-items:center;border:none;border-radius:8px;padding:8px 14px;font-size:13px;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s,transform .05s}.sfp-btn[data-v-1e8d477f]:hover{opacity:.88}.sfp-btn[data-v-1e8d477f]:active{transform:scale(.98)}.sfp-btn.disabled[data-v-1e8d477f]{opacity:.6;cursor:not-allowed}.sfp-btn input[data-v-1e8d477f]{display:none}.sfp-btn-green[data-v-1e8d477f]{background:linear-gradient(135deg,#27ae60,#2ecc71)}.sfp-btn-purple[data-v-1e8d477f]{background:linear-gradient(135deg,#667eea,#764ba2)}.sfp-btn[data-v-1e8d477f]:disabled{opacity:.6;cursor:not-allowed}.sfp-hint[data-v-1e8d477f]{font-size:12px;color:#8a92b2;background:#f7f8fd;border-radius:8px;padding:8px 12px;margin:10px 0;line-height:1.7}.sfp-hint b[data-v-1e8d477f]{color:#667eea}.sfp-status[data-v-1e8d477f]{padding:18px;text-align:center}.sfp-spinner[data-v-1e8d477f]{width:26px;height:26px;margin:0 auto;border:3px solid #e6e9f8;border-top-color:#667eea;border-radius:50%;animation:sfp-spin-1e8d477f .8s linear infinite}@keyframes sfp-spin-1e8d477f{to{transform:rotate(360deg)}}.sfp-empty[data-v-1e8d477f]{text-align:center;color:#999;font-size:13px;padding:18px 0 8px}.sfp-list[data-v-1e8d477f]{margin-top:6px}.sfp-row[data-v-1e8d477f]{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #eef0f7;border-left:3px solid #27ae60;border-radius:8px;margin-top:8px;background:#fdfefe}.sfp-row.row-report[data-v-1e8d477f]{border-left-color:#667eea}.sfp-icon[data-v-1e8d477f]{font-size:18px}.sfp-file-info[data-v-1e8d477f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sfp-name[data-v-1e8d477f]{font-size:13px;color:#333;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfp-meta[data-v-1e8d477f]{font-size:11.5px;color:#999;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sfp-kind[data-v-1e8d477f]{font-size:10.5px;padding:1px 7px;border-radius:9px;color:#fff}.kind-solution[data-v-1e8d477f]{background:#27ae60}.kind-report[data-v-1e8d477f]{background:#667eea}.sfp-file-actions[data-v-1e8d477f]{display:flex;gap:6px}.sfp-mini[data-v-1e8d477f]{border:1px solid #e2e5f0;background:#fff;color:#556;border-radius:7px;padding:5px 9px;font-size:12px;cursor:pointer;transition:background .15s}.sfp-mini[data-v-1e8d477f]:hover{background:#f4f5fb}.sfp-mini[data-v-1e8d477f]:disabled{opacity:.5;cursor:wait}.sfp-mini.sfp-danger[data-v-1e8d477f]{color:#c0392b;border-color:#f0d3d0}.sfp-mini.sfp-danger[data-v-1e8d477f]:hover{background:#fdf1f0}.sfp-msg[data-v-1e8d477f]{margin-top:10px;font-size:12.5px;border-radius:8px;padding:8px 12px}.sfp-msg.ok[data-v-1e8d477f]{background:#eefaf2;color:#218c58}.sfp-msg.error[data-v-1e8d477f]{background:#fdeeee;color:#c0392b}.teacher-container[data-v-2ec91fef]{min-height:100vh;background:#f5f7fa}.teacher-header[data-v-2ec91fef]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.back-link[data-v-2ec91fef]{color:#ffffffd9;text-decoration:none;font-size:.9rem;cursor:pointer}.back-link[data-v-2ec91fef]:hover{color:#fff}.teacher-header h1[data-v-2ec91fef]{font-size:1.3rem;margin-top:.3rem}.teacher-main[data-v-2ec91fef]{max-width:960px;margin:0 auto;padding:1.5rem 1rem}.status-box[data-v-2ec91fef],.empty-box[data-v-2ec91fef]{text-align:center;padding:4rem 0;color:#666}.spinner[data-v-2ec91fef]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-2ec91fef .8s linear infinite;margin:0 auto 1rem}@keyframes spin-2ec91fef{to{transform:rotate(360deg)}}.list-toolbar[data-v-2ec91fef]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fff;border-radius:10px;padding:.7rem 1.1rem;margin-bottom:.8rem;color:#666;font-size:.9rem;box-shadow:0 1px 4px #0000000d}.export-btn[data-v-2ec91fef]{background:#10b981;color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;cursor:pointer;transition:background .15s;white-space:nowrap}.export-btn[data-v-2ec91fef]:hover:not(:disabled){background:#059669}.export-btn[data-v-2ec91fef]:disabled{opacity:.6;cursor:not-allowed}.export-btn-blue[data-v-2ec91fef]{background:#3b82f6}.export-btn-blue[data-v-2ec91fef]:hover:not(:disabled){background:#2563eb}.export-btn-purple[data-v-2ec91fef]{background:#8b5cf6}.export-btn-purple[data-v-2ec91fef]:hover:not(:disabled){background:#7c3aed}.export-actions[data-v-2ec91fef]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}.select-all-label[data-v-2ec91fef]{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.record-check[data-v-2ec91fef]{display:flex;align-items:center;margin-right:.5rem;cursor:pointer}.record-check input[data-v-2ec91fef]{width:16px;height:16px;cursor:pointer}.detail-actions[data-v-2ec91fef]{display:flex;justify-content:flex-end;margin-bottom:.6rem}.student-list[data-v-2ec91fef]{display:flex;flex-direction:column;gap:.6rem}.student-row[data-v-2ec91fef]{background:#fff;border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 6px #0000000d;cursor:pointer;transition:all .2s}.student-row[data-v-2ec91fef]:hover{box-shadow:0 4px 16px #667eea1f;transform:translateY(-1px)}.s-avatar[data-v-2ec91fef]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.s-info[data-v-2ec91fef]{flex:1;min-width:0}.s-info h4[data-v-2ec91fef]{font-size:1rem;color:#333}.s-info span[data-v-2ec91fef]{font-size:.8rem;color:#aaa}.s-stats[data-v-2ec91fef]{display:flex;gap:1.25rem;flex-shrink:0}.s-stat[data-v-2ec91fef]{text-align:center}.s-stat b[data-v-2ec91fef]{display:block;font-size:1.1rem;color:#667eea}.s-stat small[data-v-2ec91fef]{font-size:.7rem;color:#999}.s-arrow[data-v-2ec91fef]{color:#ccc;font-size:1.2rem}.student-summary[data-v-2ec91fef]{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 6px #0000000d;margin-bottom:1rem}.summary-avatar[data-v-2ec91fef]{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.summary-text h3[data-v-2ec91fef]{font-size:1.15rem;color:#333}.summary-text p[data-v-2ec91fef]{font-size:.88rem;color:#777;margin-top:.2rem}.exam-detail-list[data-v-2ec91fef]{display:flex;flex-direction:column;gap:.75rem}.exam-card[data-v-2ec91fef]{background:#fff;border-radius:12px;box-shadow:0 1px 6px #0000000d;overflow:hidden}.exam-head[data-v-2ec91fef]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .15s}.exam-head[data-v-2ec91fef]:hover{background:#fafbfe}.exam-head-left[data-v-2ec91fef]{display:flex;align-items:center;gap:.75rem}.exam-idx[data-v-2ec91fef]{background:#eef1ff;color:#667eea;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.exam-head-left h4[data-v-2ec91fef]{font-size:.95rem;color:#333}.exam-meta[data-v-2ec91fef]{font-size:.78rem;color:#aaa}.exam-head-right[data-v-2ec91fef]{display:flex;align-items:center;gap:.75rem}.exam-score[data-v-2ec91fef]{font-size:1.2rem;font-weight:700;color:#667eea}.exam-acc[data-v-2ec91fef]{font-size:.85rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}.acc-g[data-v-2ec91fef]{background:#e6f9ee;color:#27ae60}.acc-o[data-v-2ec91fef]{background:#fef3e2;color:#e67e22}.acc-b[data-v-2ec91fef]{background:#fde8e8;color:#e74c3c}.exam-arrow[data-v-2ec91fef]{color:#ccc;font-size:.8rem}.exam-body[data-v-2ec91fef]{border-top:1px solid #f0f0f0}.q-bar[data-v-2ec91fef]{padding:.6rem 1.25rem;font-size:.85rem;color:#666;background:#fafbfe;border-bottom:1px solid #f0f0f0}.q-card[data-v-2ec91fef]{padding:.9rem 1.25rem;border-bottom:1px solid #f8f8f8}.q-card[data-v-2ec91fef]:last-child{border-bottom:none}.q-ok[data-v-2ec91fef]{background:#fafdfb}.q-err[data-v-2ec91fef]{background:#fefafa}.q-top[data-v-2ec91fef]{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.q-num[data-v-2ec91fef]{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff}.qn-ok[data-v-2ec91fef]{background:#27ae60}.qn-err[data-v-2ec91fef]{background:#e74c3c}.q-tag[data-v-2ec91fef]{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:#eee;color:#888;flex-shrink:0}.q-title[data-v-2ec91fef]{font-size:.85rem;color:#444;line-height:1.6;margin-bottom:.4rem}.q-image[data-v-2ec91fef]{display:block;max-width:100%;border-radius:8px;margin:.25rem 0 .4rem;border:1px solid #eee}.q-title[data-v-2ec91fef] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.45rem .7rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.75rem;line-height:1.55;overflow-x:auto;margin:.35rem 0;white-space:pre-wrap;text-align:left}.q-opts[data-v-2ec91fef]{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.4rem}.q-opt[data-v-2ec91fef]{font-size:.78rem;padding:.2rem .55rem;border-radius:5px;border:1px solid #e8e8e8;color:#555}.to-correct[data-v-2ec91fef]{border-color:#27ae60;background:#e6f9ee;color:#27ae60}.to-correct-chosen[data-v-2ec91fef]{border-color:#27ae60;background:#d4f5e0;color:#27ae60;font-weight:700}.to-wrong[data-v-2ec91fef]{border-color:#e74c3c;background:#fde8e8;color:#e74c3c;text-decoration:line-through}.q-ans[data-v-2ec91fef]{font-size:.82rem;color:#666;display:flex;gap:.75rem}.c-ok[data-v-2ec91fef]{color:#27ae60}.c-err[data-v-2ec91fef]{color:#e74c3c;text-decoration:line-through}.sel-check[data-v-2ec91fef]{display:flex;align-items:center;padding:0 6px;cursor:pointer}.sel-check input[data-v-2ec91fef]{width:15px;height:15px;cursor:pointer;accent-color:#667eea}.export-btn-teach[data-v-2ec91fef]{background:#eef4ff;color:#2f6fed;border:1px solid #c9dcf8}.export-btn-teach[data-v-2ec91fef]:hover:not(:disabled){background:#dfeaff}@media (max-width: 640px){.s-stats[data-v-2ec91fef]{display:none}.exam-head[data-v-2ec91fef]{flex-direction:column;align-items:flex-start;gap:.5rem}}.aec-overlay[data-v-f35cbd02]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f12238c;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}.aec-modal[data-v-f35cbd02]{background:#fff;border-radius:14px;width:min(1100px,96vw);height:86vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 18px 60px #00000040;overflow:hidden;flex:0 0 auto}.aec-head[data-v-f35cbd02]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1.1rem;border-bottom:1px solid #eef0f6;background:#f8f9ff;flex:0 0 auto}.aec-head b[data-v-f35cbd02]{color:#333;font-size:.95rem}.aec-head-actions[data-v-f35cbd02]{display:flex;gap:.5rem}.aec-btn-ghost[data-v-f35cbd02]{background:#fff;border:1px solid #ddd;color:#555;border-radius:8px;padding:.3rem .7rem;cursor:pointer;font-size:.82rem}.aec-btn-ghost[data-v-f35cbd02]:hover{border-color:#667eea;color:#667eea}.aec-btn-primary[data-v-f35cbd02]{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:.3rem .75rem;cursor:pointer;font-size:.82rem;white-space:nowrap}.aec-btn-primary[data-v-f35cbd02]:hover{background:#15803d}.aec-btn-primary[data-v-f35cbd02]:disabled{background:#9ca3af;cursor:not-allowed}.aec-body[data-v-f35cbd02]{flex:1 1 0;display:flex;min-height:0;min-width:0}.aec-left[data-v-f35cbd02]{width:55%;flex:1 1 0;display:flex;flex-direction:column;border-right:1px solid #eef0f6;min-width:0;min-height:0}.aec-pane-title[data-v-f35cbd02]{padding:.6rem 1rem;font-size:.83rem;color:#666;border-bottom:1px dashed #eef0f6;display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.aec-badge[data-v-f35cbd02]{font-size:.72rem;padding:.05rem .45rem;border-radius:999px}.aec-badge-warn[data-v-f35cbd02]{background:#fff3e0;color:#d97706}.aec-badge-ok[data-v-f35cbd02]{background:#e8f7ee;color:#16a34a}.aec-draft[data-v-f35cbd02]{flex:1 1 0;min-height:0;overflow:auto;margin:0;padding:.9rem 1rem;white-space:pre-wrap;word-break:break-word;font-size:.85rem;color:#333;line-height:1.7;background:#fcfcfe}.aec-left-foot[data-v-f35cbd02]{padding:.55rem 1rem;font-size:.78rem;color:#999;border-top:1px dashed #eef0f6;flex:0 0 auto}.aec-right[data-v-f35cbd02]{flex:1 1 0;display:flex;flex-direction:column;min-width:0;min-height:0}.aec-msgs[data-v-f35cbd02]{flex:1 1 0;min-height:0;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.55rem;background:#fafbff}.aec-msg[data-v-f35cbd02]{display:flex}.aec-msg.user[data-v-f35cbd02]{justify-content:flex-end}.aec-bubble[data-v-f35cbd02]{max-width:88%;padding:.5rem .75rem;border-radius:10px;font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.aec-msg.user .aec-bubble[data-v-f35cbd02]{background:#667eea;color:#fff}.aec-msg.assistant .aec-bubble[data-v-f35cbd02]{background:#fff;color:#333;border:1px solid #e6e9f5}.aec-thinking[data-v-f35cbd02]{color:#999;font-style:italic}.aec-input-row[data-v-f35cbd02]{display:flex;gap:.5rem;padding:.6rem .8rem;border-top:1px solid #eef0f6;align-items:flex-end;flex:0 0 auto}.aec-input[data-v-f35cbd02]{flex:1;resize:none;border:1px solid #e0e0e0;border-radius:8px;padding:.45rem .6rem;font-size:.85rem;font-family:inherit}.aec-input[data-v-f35cbd02]:focus{outline:none;border-color:#667eea}.aec-send[data-v-f35cbd02]{background:#667eea;color:#fff;border:none;border-radius:8px;padding:.5rem .9rem;cursor:pointer;font-size:.85rem;white-space:nowrap}.aec-send[data-v-f35cbd02]:disabled{opacity:.5;cursor:not-allowed}.aec-error[data-v-f35cbd02]{padding:.4rem .8rem;color:#e74c3c;font-size:.8rem}@media (max-width: 900px){.aec-body[data-v-f35cbd02]{flex-direction:column}.aec-left[data-v-f35cbd02]{width:100%;border-right:none;border-bottom:1px solid #eef0f6}.aec-draft[data-v-f35cbd02]{flex:0 0 auto;max-height:180px;overflow-y:auto}}.admin-container[data-v-7124b3e5]{min-height:100vh;background:#f5f7fa}.admin-header[data-v-7124b3e5]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.back-link[data-v-7124b3e5]{color:#ffffffd9;text-decoration:none;font-size:.9rem}.back-link[data-v-7124b3e5]:hover{color:#fff}.admin-header h1[data-v-7124b3e5]{font-size:1.3rem;margin-top:.3rem}.admin-main[data-v-7124b3e5]{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.export-btn[data-v-7124b3e5]{background:#10b981;color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;cursor:pointer;transition:background .15s;white-space:nowrap}.export-btn[data-v-7124b3e5]:hover:not(:disabled){background:#059669}.export-btn[data-v-7124b3e5]:disabled{opacity:.6;cursor:not-allowed}.stats-row[data-v-7124b3e5]{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-card[data-v-7124b3e5]{flex:1;min-width:100px;background:#fff;border-radius:10px;padding:1rem;text-align:center;box-shadow:0 1px 6px #0000000d}.stat-card b[data-v-7124b3e5]{display:block;font-size:1.5rem;color:#667eea}.stat-card span[data-v-7124b3e5]{font-size:.8rem;color:#999;margin-top:.2rem}.stat-card.clickable[data-v-7124b3e5]{cursor:pointer;transition:all .2s ease}.stat-card.clickable[data-v-7124b3e5]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #667eea2e}.filter-hint[data-v-7124b3e5]{display:flex;align-items:center;gap:.6rem;background:#eef1ff;color:#667eea;font-size:.85rem;padding:.45rem .9rem;border-radius:8px;margin-bottom:.75rem}.ka-on[data-v-7124b3e5]{color:#b45309;font-weight:700}.corr-sub-tabs[data-v-7124b3e5]{display:flex;gap:.5rem;margin-bottom:.75rem}.corr-sub-tabs button[data-v-7124b3e5]{font:inherit;font-size:.85rem;padding:.35rem .9rem;border-radius:8px;border:1px solid #dbe2ef;background:#fff;color:#4b5b76;cursor:pointer}.corr-sub-tabs button.active[data-v-7124b3e5]{background:#2f6fed;color:#fff;border-color:#2f6fed}.corr-diff .corr-new[data-v-7124b3e5]{color:#15803d;font-weight:700}.corr-old[data-v-7124b3e5]{color:#b91c1c}.corr-ok[data-v-7124b3e5]{color:#15803d}.corr-reason[data-v-7124b3e5]{max-width:22rem;font-size:.8rem;color:#555}.corr-analysis[data-v-7124b3e5]{color:#9aa3af}.corr-actions[data-v-7124b3e5]{display:flex;flex-wrap:wrap;gap:.3rem;max-width:16rem;align-content:flex-start}.corr-actions .btn-sm[data-v-7124b3e5]{text-align:center;white-space:nowrap}.corr-sub[data-v-7124b3e5]{color:#9aa3af;font-size:.75rem}.corr-title[data-v-7124b3e5]{max-width:22rem;font-size:.8rem;color:#444}.corr-mismatch[data-v-7124b3e5]{background:#fff8f6}.corr-detail-row td[data-v-7124b3e5]{background:#f8fafc;padding:.75rem .9rem}.corr-detail[data-v-7124b3e5]{display:flex;flex-direction:column;gap:.6rem}.corr-detail-grid[data-v-7124b3e5]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.corr-detail-block[data-v-7124b3e5]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .7rem;font-size:.82rem;color:#333}.corr-detail-label[data-v-7124b3e5]{font-size:.75rem;color:#9aa3af;margin-bottom:.25rem}.corr-detail-stem[data-v-7124b3e5]{margin:0;font:inherit;font-size:.82rem;white-space:pre-wrap;word-break:break-word;max-height:16rem;overflow:auto}.corr-detail-text[data-v-7124b3e5]{margin-top:.3rem;white-space:pre-wrap;word-break:break-word;max-height:14rem;overflow:auto;color:#555}.corr-detail-tip[data-v-7124b3e5]{font-size:.78rem;color:#2f6fed;background:#eef4ff;border:1px solid #d6e2fb;border-radius:8px;padding:.45rem .7rem}@media (max-width: 720px){.corr-detail-grid[data-v-7124b3e5]{grid-template-columns:1fr}}.corr-settings[data-v-7124b3e5]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.7rem .9rem;margin-bottom:.75rem}.corr-settings-row[data-v-7124b3e5]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.corr-switch[data-v-7124b3e5]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#333;cursor:pointer}.corr-switch input[data-v-7124b3e5]{width:1rem;height:1rem}.corr-limit[data-v-7124b3e5]{font-size:.85rem;color:#333;display:flex;align-items:center;gap:.35rem}.corr-limit-input[data-v-7124b3e5]{width:4.5rem;font:inherit;padding:.2rem .45rem;border:1px solid #cbd5e1;border-radius:6px}.corr-saved[data-v-7124b3e5]{font-size:.8rem;color:#15803d}.corr-settings-tip[data-v-7124b3e5]{margin-top:.4rem;font-size:.75rem;color:#9aa3af}.filter-clear[data-v-7124b3e5]{background:#fff;color:#667eea;border:1px solid #d0d8ff;border-radius:6px;font-size:.78rem;padding:.15rem .6rem;cursor:pointer}.filter-clear[data-v-7124b3e5]:hover{background:#f0f4ff}.tab-bar[data-v-7124b3e5]{display:flex;gap:.5rem;margin-bottom:1rem}.tab-bar button[data-v-7124b3e5]{padding:.5rem 1.25rem;border:none;border-radius:8px 8px 0 0;background:#e8e8e8;color:#666;font-size:.9rem;cursor:pointer;font-weight:600;transition:all .2s}.tab-bar button.active[data-v-7124b3e5]{background:#fff;color:#667eea}.status-box[data-v-7124b3e5],.empty-box[data-v-7124b3e5]{text-align:center;padding:3rem 0;color:#666}.spinner[data-v-7124b3e5]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-7124b3e5 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-7124b3e5{to{transform:rotate(360deg)}}.table-wrap[data-v-7124b3e5]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #0000000d}.data-table[data-v-7124b3e5]{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th[data-v-7124b3e5]{background:#fafbfe;padding:.7rem 1rem;text-align:left;color:#888;font-weight:600;border-bottom:1px solid #eee}.data-table td[data-v-7124b3e5]{padding:.6rem 1rem;border-bottom:1px solid #f5f5f5;color:#555}.data-table tr:hover td[data-v-7124b3e5]{background:#fafbfe}.row-clickable[data-v-7124b3e5]{cursor:pointer}.role-tag[data-v-7124b3e5]{font-size:.75rem;padding:.15rem .5rem;border-radius:4px}.role-student[data-v-7124b3e5]{background:#e8f4fd;color:#2980b9}.role-teacher[data-v-7124b3e5]{background:#fef3e2;color:#e67e22}.role-admin[data-v-7124b3e5]{background:#f0e6f6;color:#8e44ad}.td-actions[data-v-7124b3e5]{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.records-toolbar[data-v-7124b3e5]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fff;border-radius:10px;padding:.7rem 1.1rem;margin-bottom:.8rem;color:#666;font-size:.9rem;box-shadow:0 1px 4px #0000000d}.export-actions[data-v-7124b3e5]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-export[data-v-7124b3e5]{background:#10b981;color:#fff}.btn-export[data-v-7124b3e5]:hover:not(:disabled){background:#059669}.btn-pdf[data-v-7124b3e5]{background:#8b5cf6;color:#fff}.btn-pdf[data-v-7124b3e5]:hover{background:#7c3aed}.btn-export[data-v-7124b3e5]:disabled{opacity:.6;cursor:not-allowed}.th-check[data-v-7124b3e5],.td-check[data-v-7124b3e5]{width:36px;text-align:center}.th-check input[data-v-7124b3e5],.td-check input[data-v-7124b3e5]{width:15px;height:15px;cursor:pointer}.btn-sm[data-v-7124b3e5]{padding:.25rem .6rem;border:none;border-radius:4px;font-size:.78rem;cursor:pointer;transition:all .15s;text-decoration:none;display:inline-block}.btn-primary[data-v-7124b3e5]{background:#e8f4fd;color:#2980b9}.btn-primary[data-v-7124b3e5]:hover{background:#d0e8f8}.btn-del[data-v-7124b3e5]{background:#fde8e8;color:#e74c3c}.btn-del[data-v-7124b3e5]:hover{background:#f5c6c6}.btn-warn[data-v-7124b3e5]{background:#fef3e2;color:#e67e22}.btn-warn[data-v-7124b3e5]:hover{background:#fde2b8}.btn-pwd[data-v-7124b3e5]{background:#e8f4fd;color:#2980b9}.btn-pwd[data-v-7124b3e5]:hover{background:#d0e8f8}.pwd-text[data-v-7124b3e5]{font-family:Menlo,Consolas,monospace;background:#f4f6fb;border:1px solid #e2e6f0;padding:2px 7px;border-radius:5px;cursor:pointer;color:#444;font-size:12px}.pwd-none[data-v-7124b3e5]{color:#b8b8b8;font-size:12px}.coding-toolbar[data-v-7124b3e5]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:#fff;border-radius:10px;padding:.7rem 1.1rem;margin-bottom:.8rem;box-shadow:0 1px 4px #0000000d}.coding-filters[data-v-7124b3e5]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:#666;font-size:.88rem}.coding-filters select[data-v-7124b3e5]{padding:.35rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;background:#fff}.fetch-progress[data-v-7124b3e5]{color:#667eea;font-size:.85rem}.btn-fetch[data-v-7124b3e5]{background:#eef1ff;color:#667eea}.btn-fetch[data-v-7124b3e5]:hover:not(:disabled){background:#dfe5ff}.btn-fetch[data-v-7124b3e5]:disabled{opacity:.6;cursor:not-allowed}.source-panel[data-v-7124b3e5]{background:#fff;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000d}.source-head[data-v-7124b3e5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;color:#666;font-size:.9rem}.skip-chk[data-v-7124b3e5]{display:inline-flex;align-items:center;gap:.25rem;margin-left:.6rem;font-size:.82rem;color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.skip-chk input[data-v-7124b3e5]{cursor:pointer}.batch-label[data-v-7124b3e5]{font-size:.82rem;color:#555;font-weight:600}.batch-chk[data-v-7124b3e5]{display:inline-flex;align-items:center;gap:.28rem;font-size:.82rem;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#f5f6fb;border:1px solid #e6e8f5;border-radius:6px;padding:.18rem .5rem}.batch-chk input[data-v-7124b3e5]{cursor:pointer}.batch-chk-warn[data-v-7124b3e5]{background:#fff6f5;border-color:#ffd9d6;color:#cf1322}.data-table tr.tr-bad[data-v-7124b3e5]{background:#fffaf9}.data-table tr.tr-bad .vid-title[data-v-7124b3e5]{color:#a85048}input[type=checkbox][data-v-7124b3e5]:disabled{cursor:not-allowed;opacity:.45}.batch-inline-select[data-v-7124b3e5]{margin-left:.2rem;font-size:.78rem;padding:.1rem .2rem;border:1px solid #dcdfec;border-radius:4px;background:#fff;color:#333}.muted[data-v-7124b3e5]{color:#b8b8b8}.badge-ok[data-v-7124b3e5]{font-size:.76rem;color:#1a7f4b;background:#eafaf0;padding:.12rem .45rem;border-radius:4px;white-space:nowrap}.badge-incomplete[data-v-7124b3e5]{font-size:.76rem;color:#b45309;background:#fef3e2;padding:.12rem .45rem;border-radius:4px}.badge-warn[data-v-7124b3e5]{display:inline-block;margin-left:.2rem;font-size:.72rem;font-weight:600;color:#b45309;background:#fef3e2;padding:.05rem .35rem;border-radius:8px}.btn-repair[data-v-7124b3e5]{background:#fef3e2;color:#b45309}.btn-repair[data-v-7124b3e5]:hover:not(:disabled){background:#fde2b8}.btn-repair[data-v-7124b3e5]:disabled{opacity:.5;cursor:not-allowed}.btn-ai[data-v-7124b3e5]{background:#f0ecff;color:#6d4aff;font-weight:600}.btn-ai[data-v-7124b3e5]:hover:not(:disabled){background:#e2dbff}.btn-ai[data-v-7124b3e5]:disabled{opacity:.5;cursor:not-allowed}.btn-ai-regen[data-v-7124b3e5]{background:#fff1f0;color:#cf1322;font-weight:600}.btn-ai-regen[data-v-7124b3e5]:hover:not(:disabled){background:#ffe0de}.btn-ai-regen[data-v-7124b3e5]:disabled{opacity:.5;cursor:not-allowed}.source-head-actions[data-v-7124b3e5]{display:flex;gap:.5rem}.coding-list[data-v-7124b3e5]{display:flex;flex-direction:column;gap:1rem}.coding-card[data-v-7124b3e5]{background:#fff;border-radius:12px;padding:1.1rem 1.3rem;box-shadow:0 1px 6px #0000000d}.coding-card-head[data-v-7124b3e5]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.coding-card-head b[data-v-7124b3e5]{color:#333;font-size:1rem}.coding-meta[data-v-7124b3e5]{display:flex;gap:.9rem;color:#888;font-size:.8rem}.coding-card-head[data-v-7124b3e5]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px}.coding-card-head:hover b[data-v-7124b3e5]{color:#667eea}.coding-card.cc-collapsed .coding-card-head[data-v-7124b3e5]{margin-bottom:0}.coding-card.cc-collapsed[data-v-7124b3e5]{padding-top:.85rem;padding-bottom:.85rem}.cc-arrow[data-v-7124b3e5]{display:inline-block;width:1rem;color:#8b5cf6;font-weight:700}.cc-lang[data-v-7124b3e5]{margin-left:.4rem;font-size:.72rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:#eef1ff;color:#4a5bd6}.cc-lang-py[data-v-7124b3e5]{background:#e8f6ff;color:#0369a1}.cc-lang-cpp[data-v-7124b3e5]{background:#eef1ff;color:#4a5bd6}.cc-bad[data-v-7124b3e5]{background:#fff1f0;color:#cf1322}.cc-ok[data-v-7124b3e5]{color:#1a7f4b}.cc-warn[data-v-7124b3e5]{color:#b45309}.parse-failed-box[data-v-7124b3e5]{background:#fff8f6;border:1px solid #ffd6cf;border-left:4px solid #cf1322;border-radius:8px;padding:.85rem 1rem}.parse-failed-box h4[data-v-7124b3e5]{color:#cf1322!important;font-size:.95rem}.parse-failed-tip[data-v-7124b3e5]{margin:.35rem 0;font-size:.85rem;color:#6b4a45;line-height:1.7}.parse-failed-raw[data-v-7124b3e5]{margin-top:.6rem}.parse-failed-raw summary[data-v-7124b3e5]{cursor:pointer;font-size:.82rem;color:#cf1322;font-weight:600}.parse-failed-raw pre[data-v-7124b3e5]{margin-top:.5rem;max-height:320px;overflow:auto}.pdf-link[data-v-7124b3e5]{color:#8b5cf6;text-decoration:none}.pdf-link[data-v-7124b3e5]:hover{text-decoration:underline}.coding-section[data-v-7124b3e5]{margin-bottom:.9rem}.coding-section h4[data-v-7124b3e5]{margin:0 0 .35rem;font-size:.85rem;color:#667eea;display:flex;align-items:center;gap:.5rem}.coding-text[data-v-7124b3e5]{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.88rem;color:#444;line-height:1.65;font-family:inherit}.coding-code[data-v-7124b3e5]{margin:0;white-space:pre-wrap;word-break:break-all;font-size:.82rem;color:#333;line-height:1.5;background:#f6f8fc;border-radius:8px;padding:.6rem .8rem}.sample-grid[data-v-7124b3e5]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.sample-label[data-v-7124b3e5]{display:inline-block;font-size:.75rem;color:#999;margin-bottom:.2rem}.answer-editor[data-v-7124b3e5]{width:100%;box-sizing:border-box;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;color:#333;background:#f6f8fc;border:1px solid #e0e5f0;border-radius:8px;padding:.7rem .85rem;resize:vertical}.answer-editor[data-v-7124b3e5]:focus{outline:none;border-color:#667eea}.answer-actions[data-v-7124b3e5]{display:flex;align-items:center;gap:.7rem;margin-top:.5rem;flex-wrap:wrap}.save-ok[data-v-7124b3e5]{color:#10b981;font-size:.85rem}.cg-sub-tabs[data-v-7124b3e5]{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.cg-sub-tabs button[data-v-7124b3e5]{border:1px solid #ddd;background:#fff;color:#666;padding:.45rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem}.cg-sub-tabs button.active[data-v-7124b3e5]{background:#667eea;border-color:#667eea;color:#fff}.btn-ai[data-v-7124b3e5]{background:#f3e8ff!important;color:#7c3aed!important;border-color:#d8b4fe!important}.btn-video[data-v-7124b3e5]{background:#eef2ff!important;color:#4338ca!important;border-color:#c7d2fe!important}.ok-text[data-v-7124b3e5]{color:#16a34a;font-weight:600}.no-text[data-v-7124b3e5]{color:#c0c4cc}.vid-title[data-v-7124b3e5]{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vid-progress[data-v-7124b3e5]{color:#d97706;font-size:.8rem}.sb-tip[data-v-7124b3e5]{background:#fff7e8;border:1px solid #f0d9a8;color:#8a6116;border-radius:8px;padding:.5rem .9rem;font-size:.83rem;margin-bottom:.8rem}.sb-scene[data-v-7124b3e5]{background:#fff;border-radius:10px;padding:.9rem 1rem;margin-bottom:.8rem;box-shadow:0 1px 4px #0000000d}.sb-scene-head[data-v-7124b3e5]{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.sb-idx[data-v-7124b3e5]{background:#667eea;color:#fff;border-radius:6px;padding:.15rem .5rem;font-size:.8rem}.sb-type-select[data-v-7124b3e5]{padding:.25rem .4rem;border:1px solid #ddd;border-radius:6px;font-size:.82rem}.sb-title-input[data-v-7124b3e5]{flex:1;min-width:200px;padding:.3rem .5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem}.sb-body[data-v-7124b3e5]{border-top:1px dashed #eee;padding-top:.6rem}.sb-label[data-v-7124b3e5]{color:#888;font-size:.8rem;margin:.5rem 0 .3rem}.sb-line[data-v-7124b3e5]{display:flex;gap:.4rem;margin-bottom:.35rem;align-items:center}.sb-text-input[data-v-7124b3e5]{flex:1;padding:.3rem .5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.84rem}.sb-mono[data-v-7124b3e5]{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.8rem}.sb-idx-input[data-v-7124b3e5]{width:92px;padding:.3rem .5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.82rem}.sb-textarea[data-v-7124b3e5]{width:100%;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:6px;padding:.4rem .5rem;font-size:.84rem}.gl-section[data-v-7124b3e5]{margin-bottom:1rem}.gl-section b[data-v-7124b3e5]{color:#667eea;font-size:.88rem}.gl-pre[data-v-7124b3e5]{margin:.4rem 0 0;white-space:pre-wrap;word-break:break-word;background:#f6f8fc;border-radius:8px;padding:.8rem .9rem;font-size:.82rem;color:#444;line-height:1.7;max-height:260px;overflow-y:auto}.gl-note[data-v-7124b3e5]{color:#999;font-size:.78rem;border-top:1px dashed #eef0f6;padding-top:.6rem}.detail-container[data-v-d11c244c]{min-height:100vh;background:#f5f7fa}.detail-header[data-v-d11c244c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;position:sticky;top:0;z-index:100;display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.header-left[data-v-d11c244c]{flex-shrink:0;padding-top:.2rem}.back-link[data-v-d11c244c]{color:#ffffffe6;text-decoration:none;font-size:.9rem;transition:color .2s}.back-link[data-v-d11c244c]:hover{color:#fff}.header-center[data-v-d11c244c]{flex:1 1 320px;min-width:240px}.header-center h1[data-v-d11c244c]{font-size:1.3rem;margin-bottom:.3rem}.exam-desc[data-v-d11c244c]{font-size:.82rem;opacity:.85;line-height:1.5}.status-box[data-v-d11c244c]{text-align:center;padding:4rem 0;color:#666}.error-box[data-v-d11c244c]{color:#e74c3c}.spinner[data-v-d11c244c]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-d11c244c .8s linear infinite;margin:0 auto 1rem}@keyframes spin-d11c244c{to{transform:rotate(360deg)}}.detail-main[data-v-d11c244c]{max-width:860px;margin:0 auto;padding:1.5rem 1rem 4rem}.question-card[data-v-d11c244c]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 2px 8px #0000000f;border-left:4px solid #667eea;transition:all .3s ease}.question-header[data-v-d11c244c]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.question-num[data-v-d11c244c]{background:#667eea;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.question-type[data-v-d11c244c]{font-size:.8rem;padding:.15rem .6rem;border-radius:4px;font-weight:600}.type-single[data-v-d11c244c]{background:#e8f4fd;color:#2980b9}.type-judge[data-v-d11c244c]{background:#fef3e2;color:#e67e22}.question-score[data-v-d11c244c]{margin-left:auto;color:#999;font-size:.85rem}.question-title[data-v-d11c244c]{font-size:1rem;color:#333;line-height:1.7;margin-bottom:1rem}.question-title[data-v-d11c244c] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.75rem 1rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.6;overflow-x:auto;margin:.5rem 0;white-space:pre-wrap}.question-image[data-v-d11c244c]{max-width:100%;border-radius:8px;margin-bottom:.75rem}.options-list[data-v-d11c244c]{display:flex;flex-direction:column;gap:.5rem}.option-item[data-v-d11c244c]{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem 1rem;border:2px solid #e8e8e8;border-radius:8px;transition:all .2s ease;background:#fff}.option-badge[data-v-d11c244c]{width:22px;height:22px;border-radius:50%;background:#eef1ff;color:#667eea;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:.05rem}.option-text[data-v-d11c244c]{font-size:.95rem;color:#444;line-height:1.6;flex:1}.option-mark[data-v-d11c244c]{font-size:.78rem;color:#27ae60;font-weight:600;flex-shrink:0;padding-top:.15rem}.option-correct[data-v-d11c244c]{border-color:#27ae60!important;background:#e6f9ee!important}.badge-correct[data-v-d11c244c]{background:#27ae60!important;color:#fff!important}.answer-analysis[data-v-d11c244c]{margin-top:1rem;padding:.75rem 1rem;background:#fafbfe;border-radius:8px;border:1px solid #e8ecf8}.answer-line[data-v-d11c244c]{display:flex;align-items:center;gap:.3rem;margin-bottom:.5rem}.answer-label[data-v-d11c244c]{font-size:.9rem;color:#555;font-weight:600}.answer-value[data-v-d11c244c]{font-size:.95rem;color:#27ae60;font-weight:700}.analysis-content[data-v-d11c244c]{border-top:1px dashed #e0e4f0;padding-top:.6rem}.analysis-label[data-v-d11c244c]{font-size:.85rem;font-weight:600;color:#667eea;margin-bottom:.3rem}.analysis-text[data-v-d11c244c]{font-size:.9rem;color:#444;line-height:1.7;white-space:pre-wrap;margin:0}.analysis-tags[data-v-d11c244c]{margin-top:.5rem;font-size:.8rem;color:#999;margin-bottom:0}.btn[data-v-d11c244c]{padding:.6rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary[data-v-d11c244c]{background:#667eea;color:#fff}.btn-primary[data-v-d11c244c]:hover{background:#5a6fd6}@media (max-width: 600px){.detail-header[data-v-d11c244c]{padding:1rem;flex-direction:column}}.header-right[data-v-d11c244c]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto;flex:0 0 auto}.btn-ai[data-v-d11c244c]{background:#fff;color:#6d4aff;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-ai[data-v-d11c244c]:hover:not(:disabled){background:#f2eeff}.btn-ai[data-v-d11c244c]:disabled{opacity:.55;cursor:not-allowed}.btn-ai-regen[data-v-d11c244c]{background:#fff1f0;color:#cf1322;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-ai-regen[data-v-d11c244c]:hover:not(:disabled){background:#ffe0de}.btn-ai-regen[data-v-d11c244c]:disabled{opacity:.55;cursor:not-allowed}.btn-ai-ghost[data-v-d11c244c]{background:#ffffff2e;color:#fff;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.82rem;cursor:pointer}.btn-ai-ghost[data-v-d11c244c]:hover{background:#ffffff4d}.ai-progress[data-v-d11c244c]{max-width:1080px;margin:.75rem auto 0;padding:.6rem 1rem;background:#eef1ff;color:#4a5bb8;border-radius:8px;font-size:.86rem}.ai-guidelines[data-v-d11c244c]{max-width:1080px;margin:.75rem auto 0;background:#fff;border-radius:10px;padding:.9rem 1.1rem;box-shadow:0 1px 6px #0000000d}.ai-guidelines pre[data-v-d11c244c]{white-space:pre-wrap;font-size:.82rem;color:#555;line-height:1.7;margin:0}.question-ai[data-v-d11c244c]{margin-left:.5rem;font-size:.74rem;padding:.1rem .45rem;border-radius:4px}.question-ai.ai-missing[data-v-d11c244c]{background:#fef3e2;color:#b45309}.question-ai.ai-done[data-v-d11c244c]{background:#eafaf0;color:#1a7f4b}.btn-ai-sm[data-v-d11c244c]{margin-left:auto;background:#eef1ff;color:#6d4aff;border:none;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;cursor:pointer;white-space:nowrap}.btn-ai-sm[data-v-d11c244c]:hover:not(:disabled){background:#dfe0ff}.btn-ai-sm[data-v-d11c244c]:disabled{opacity:.55;cursor:not-allowed}.record-detail-container[data-v-6d74e5ce]{min-height:100vh;background:#f5f7fa}.detail-header[data-v-6d74e5ce]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.back-link[data-v-6d74e5ce]{color:#ffffffd9;text-decoration:none;font-size:.9rem}.back-link[data-v-6d74e5ce]:hover{color:#fff}.detail-header h1[data-v-6d74e5ce]{font-size:1.3rem;margin-top:.3rem}.detail-main[data-v-6d74e5ce]{max-width:860px;margin:0 auto;padding:1.5rem 1rem}.status-box[data-v-6d74e5ce],.empty-box[data-v-6d74e5ce]{text-align:center;padding:4rem 0;color:#666}.error-box[data-v-6d74e5ce]{color:#e74c3c}.spinner[data-v-6d74e5ce]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-6d74e5ce .8s linear infinite;margin:0 auto 1rem}@keyframes spin-6d74e5ce{to{transform:rotate(360deg)}}.btn[data-v-6d74e5ce]{display:inline-block;margin-top:1rem;padding:.5rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600}.btn-primary[data-v-6d74e5ce]{background:#667eea;color:#fff}.summary-card[data-v-6d74e5ce]{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 6px #0000000d}.summary-row[data-v-6d74e5ce]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.summary-user[data-v-6d74e5ce]{font-size:.95rem;font-weight:700;color:#667eea}.summary-exam[data-v-6d74e5ce]{font-size:.95rem;color:#333;font-weight:600}.summary-stats[data-v-6d74e5ce]{display:flex;gap:1rem;flex-wrap:wrap}.stat-item[data-v-6d74e5ce]{flex:1;min-width:110px;background:#fafbfe;border-radius:8px;padding:.6rem .9rem;text-align:center}.stat-item b[data-v-6d74e5ce]{display:block;font-size:1.05rem;color:#667eea}.stat-item span[data-v-6d74e5ce]{font-size:.75rem;color:#999}.question-list[data-v-6d74e5ce]{display:flex;flex-direction:column;gap:.75rem}.q-card[data-v-6d74e5ce]{border-radius:10px;padding:1rem;border-left:4px solid transparent}.q-ok[data-v-6d74e5ce]{background:#f7fdf9;border-left-color:#27ae60}.q-err[data-v-6d74e5ce]{background:#fef9f9;border-left-color:#e74c3c}.q-top[data-v-6d74e5ce]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.q-num[data-v-6d74e5ce]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.q-num-ok[data-v-6d74e5ce]{background:#27ae60}.q-num-err[data-v-6d74e5ce]{background:#e74c3c}.q-tag[data-v-6d74e5ce]{font-size:.72rem;padding:.1rem .45rem;border-radius:3px;background:#eee;color:#888}.q-result[data-v-6d74e5ce]{font-size:.8rem;font-weight:600;margin-left:auto}.q-result.ok[data-v-6d74e5ce]{color:#27ae60}.q-result.err[data-v-6d74e5ce]{color:#e74c3c}.q-title[data-v-6d74e5ce]{font-size:.9rem;color:#444;line-height:1.65;margin-bottom:.6rem}.q-image[data-v-6d74e5ce]{display:block;max-width:100%;border-radius:8px;margin:.25rem 0 .6rem;border:1px solid #eee}.q-title[data-v-6d74e5ce] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.5rem .75rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;margin:.4rem 0;white-space:pre-wrap;text-align:left}.q-options[data-v-6d74e5ce]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.q-opt[data-v-6d74e5ce]{font-size:.82rem;padding:.3rem .65rem;border-radius:6px;border:1px solid #e8e8e8;color:#555}.opt-correct[data-v-6d74e5ce]{border-color:#27ae60;background:#e6f9ee;color:#27ae60}.opt-correct-chosen[data-v-6d74e5ce]{border-color:#27ae60;background:#d4f5e0;color:#27ae60;font-weight:700}.opt-wrong[data-v-6d74e5ce]{border-color:#e74c3c;background:#fde8e8;color:#e74c3c;text-decoration:line-through}.q-answers[data-v-6d74e5ce]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.q-ans-row[data-v-6d74e5ce]{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.q-ans-label[data-v-6d74e5ce]{color:#888;flex-shrink:0}.q-ans-val[data-v-6d74e5ce]{font-weight:600}.ans-ok[data-v-6d74e5ce]{color:#27ae60}.ans-err[data-v-6d74e5ce]{color:#e74c3c;text-decoration:line-through}.ans-correct[data-v-6d74e5ce]{color:#27ae60}.q-analysis[data-v-6d74e5ce]{margin-top:.25rem}.analysis-placeholder[data-v-6d74e5ce]{color:#aaa;font-size:.82rem;font-style:italic;padding:.4rem 0}.analysis-box[data-v-6d74e5ce]{background:#f5f7ff;border:1px solid #e0e4f8;border-radius:8px;padding:.75rem 1rem}.analysis-label[data-v-6d74e5ce]{font-weight:700;color:#667eea;font-size:.85rem;margin-bottom:.35rem}.analysis-text[data-v-6d74e5ce]{font-size:.85rem;color:#555;line-height:1.7;white-space:pre-wrap;margin:0}@media (max-width: 600px){.detail-header[data-v-6d74e5ce]{padding:1rem}}.user-detail-container[data-v-e0fa4eaf]{min-height:100vh;background:#f5f7fa}.detail-header[data-v-e0fa4eaf]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.back-link[data-v-e0fa4eaf]{color:#ffffffd9;text-decoration:none;font-size:.9rem}.back-link[data-v-e0fa4eaf]:hover{color:#fff}.detail-header h1[data-v-e0fa4eaf]{font-size:1.3rem;margin-top:.3rem}.detail-main[data-v-e0fa4eaf]{max-width:960px;margin:0 auto;padding:1.5rem 1rem}.status-box[data-v-e0fa4eaf],.empty-box[data-v-e0fa4eaf]{text-align:center;padding:3rem 0;color:#666}.error-box[data-v-e0fa4eaf]{color:#e74c3c}.spinner[data-v-e0fa4eaf]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-e0fa4eaf .8s linear infinite;margin:0 auto 1rem}@keyframes spin-e0fa4eaf{to{transform:rotate(360deg)}}.btn[data-v-e0fa4eaf]{display:inline-block;margin-top:1rem;padding:.5rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600}.btn-primary[data-v-e0fa4eaf]{background:#667eea;color:#fff}.user-card[data-v-e0fa4eaf]{background:#fff;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 6px #0000000d;margin-bottom:1.25rem}.user-avatar[data-v-e0fa4eaf]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.user-info[data-v-e0fa4eaf]{flex:1;min-width:0}.user-name-row[data-v-e0fa4eaf]{display:flex;align-items:center;gap:.6rem}.user-name-row h3[data-v-e0fa4eaf]{font-size:1.15rem;color:#333}.user-meta[data-v-e0fa4eaf]{font-size:.85rem;color:#888;margin-top:.3rem}.wrongbook-link[data-v-e0fa4eaf]{display:inline-block;margin-top:.5rem;font-size:.8rem;color:#8e44ad;text-decoration:none;padding:.3rem .75rem;border-radius:14px;background:#f5ecf9;border:1px solid #d7bde2}.wrongbook-link[data-v-e0fa4eaf]:hover{background:#eadaf3}.role-tag[data-v-e0fa4eaf]{font-size:.75rem;padding:.15rem .5rem;border-radius:4px}.role-student[data-v-e0fa4eaf]{background:#e8f4fd;color:#2980b9}.role-teacher[data-v-e0fa4eaf]{background:#fef3e2;color:#e67e22}.role-admin[data-v-e0fa4eaf]{background:#f0e6f6;color:#8e44ad}.section[data-v-e0fa4eaf]{margin-bottom:1.5rem}.section-title[data-v-e0fa4eaf]{font-size:1.05rem;color:#333;margin-bottom:.75rem}.student-mini-list[data-v-e0fa4eaf]{display:flex;flex-direction:column;gap:.5rem}.student-mini-row[data-v-e0fa4eaf]{background:#fff;border-radius:10px;padding:.7rem 1rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 1px 4px #0000000d;cursor:pointer;transition:all .15s}.student-mini-row[data-v-e0fa4eaf]:hover{box-shadow:0 3px 12px #667eea1f}.s-avatar[data-v-e0fa4eaf]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.s-avatar.small[data-v-e0fa4eaf]{width:36px;height:36px;font-size:1rem}.s-mini-info[data-v-e0fa4eaf]{flex:1;min-width:0}.s-mini-info h4[data-v-e0fa4eaf]{font-size:.92rem;color:#333}.s-mini-info span[data-v-e0fa4eaf]{font-size:.78rem;color:#aaa}.s-arrow[data-v-e0fa4eaf]{color:#ccc;font-size:1.1rem}.student-summary[data-v-e0fa4eaf]{background:#fff;border-radius:10px;padding:.9rem 1.25rem;margin-bottom:1rem;text-align:center;color:#555;font-size:.92rem;box-shadow:0 1px 4px #0000000d}.student-summary b[data-v-e0fa4eaf]{color:#667eea}.exam-detail-list[data-v-e0fa4eaf]{display:flex;flex-direction:column;gap:.75rem}.exam-card[data-v-e0fa4eaf]{background:#fff;border-radius:12px;box-shadow:0 1px 6px #0000000d;overflow:hidden}.exam-head[data-v-e0fa4eaf]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .15s}.exam-head[data-v-e0fa4eaf]:hover{background:#fafbfe}.exam-head-left[data-v-e0fa4eaf]{display:flex;align-items:center;gap:.75rem}.exam-idx[data-v-e0fa4eaf]{background:#eef1ff;color:#667eea;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.exam-head-left h4[data-v-e0fa4eaf]{font-size:.95rem;color:#333}.exam-meta[data-v-e0fa4eaf]{font-size:.78rem;color:#aaa}.exam-head-right[data-v-e0fa4eaf]{display:flex;align-items:center;gap:.75rem}.exam-score[data-v-e0fa4eaf]{font-size:1.2rem;font-weight:700;color:#667eea}.exam-acc[data-v-e0fa4eaf]{font-size:.85rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}.acc-g[data-v-e0fa4eaf]{background:#e6f9ee;color:#27ae60}.acc-o[data-v-e0fa4eaf]{background:#fef3e2;color:#e67e22}.acc-b[data-v-e0fa4eaf]{background:#fde8e8;color:#e74c3c}.exam-arrow[data-v-e0fa4eaf]{color:#ccc;font-size:.8rem}.exam-body[data-v-e0fa4eaf]{border-top:1px solid #f0f0f0;padding:1rem 1.25rem}.q-bar[data-v-e0fa4eaf]{font-size:.85rem;color:#666;margin-bottom:.75rem}.q-card[data-v-e0fa4eaf]{border-radius:10px;padding:1rem;border-left:4px solid transparent;margin-bottom:.6rem}.q-card[data-v-e0fa4eaf]:last-child{margin-bottom:0}.q-ok[data-v-e0fa4eaf]{background:#f7fdf9;border-left-color:#27ae60}.q-err[data-v-e0fa4eaf]{background:#fef9f9;border-left-color:#e74c3c}.q-top[data-v-e0fa4eaf]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.q-num[data-v-e0fa4eaf]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.qn-ok[data-v-e0fa4eaf]{background:#27ae60}.qn-err[data-v-e0fa4eaf]{background:#e74c3c}.q-tag[data-v-e0fa4eaf]{font-size:.72rem;padding:.1rem .45rem;border-radius:3px;background:#eee;color:#888}.q-title[data-v-e0fa4eaf]{font-size:.9rem;color:#444;line-height:1.65;margin-bottom:.6rem}.q-image[data-v-e0fa4eaf]{display:block;max-width:100%;border-radius:8px;margin:.25rem 0 .6rem;border:1px solid #eee}.q-title[data-v-e0fa4eaf] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.5rem .75rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;margin:.4rem 0;white-space:pre-wrap;text-align:left}.q-opts[data-v-e0fa4eaf]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.q-opt[data-v-e0fa4eaf]{font-size:.82rem;padding:.3rem .65rem;border-radius:6px;border:1px solid #e8e8e8;color:#555}.to-correct[data-v-e0fa4eaf]{border-color:#27ae60;background:#e6f9ee;color:#27ae60}.to-correct-chosen[data-v-e0fa4eaf]{border-color:#27ae60;background:#d4f5e0;color:#27ae60;font-weight:700}.to-wrong[data-v-e0fa4eaf]{border-color:#e74c3c;background:#fde8e8;color:#e74c3c;text-decoration:line-through}.pwd-text[data-v-e0fa4eaf]{font-family:Menlo,Consolas,monospace;background:#f4f6fb;border:1px solid #e2e6f0;padding:1px 7px;border-radius:5px;cursor:pointer;color:#444;font-size:.8rem}.pwd-btn[data-v-e0fa4eaf]{border:1px solid #c9d4f2;background:#eef2fd;color:#3f5fbf;border-radius:5px;padding:1px 8px;font-size:.75rem;cursor:pointer}.pwd-btn[data-v-e0fa4eaf]:hover{background:#e0e7fb}.pwd-none[data-v-e0fa4eaf]{color:#b8b8b8;font-size:.75rem}.q-ans[data-v-e0fa4eaf]{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.85rem;color:#666}.c-ok[data-v-e0fa4eaf]{color:#27ae60}.c-err[data-v-e0fa4eaf]{color:#e74c3c}@media (max-width: 600px){.detail-header[data-v-e0fa4eaf]{padding:1rem}.exam-head[data-v-e0fa4eaf]{flex-direction:column;align-items:flex-start;gap:.5rem}}.wrongbook-container[data-v-f8c5145e]{min-height:100vh;background:#f5f7fa}.wb-header[data-v-f8c5145e]{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;box-shadow:0 1px 4px #0000000f;position:sticky;top:0;z-index:10}.wb-header h1[data-v-f8c5145e]{font-size:1.15rem;color:#2c3e50;flex:1}.back-link[data-v-f8c5145e]{color:#3498db;text-decoration:none;font-size:.9rem;white-space:nowrap}.btn-export[data-v-f8c5145e]{padding:.45rem .9rem;border:none;border-radius:6px;background:#27ae60;color:#fff;font-size:.85rem;cursor:pointer;white-space:nowrap}.btn-export[data-v-f8c5145e]:disabled{background:#b8e6cc;cursor:not-allowed}.btn-export.btn-pdf[data-v-f8c5145e]{background:#667eea}.btn-export.btn-pdf[data-v-f8c5145e]:disabled{background:#c3caf5}.wb-main[data-v-f8c5145e]{max-width:860px;margin:0 auto;padding:1.25rem 1rem 3rem}.status-box[data-v-f8c5145e]{text-align:center;padding:3rem 1rem;color:#888}.error-box[data-v-f8c5145e]{color:#e74c3c}.spinner[data-v-f8c5145e]{width:32px;height:32px;margin:0 auto .75rem;border:3px solid #eee;border-top-color:#3498db;border-radius:50%;animation:spin-f8c5145e .8s linear infinite}@keyframes spin-f8c5145e{to{transform:rotate(360deg)}}.btn-retry[data-v-f8c5145e]{margin-top:.75rem;padding:.45rem 1.1rem;border:none;border-radius:6px;background:#3498db;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}.empty-box[data-v-f8c5145e]{text-align:center;padding:3.5rem 1rem;background:#fff;border-radius:12px;color:#888}.wb-summary[data-v-f8c5145e]{padding:.7rem 1rem;margin-bottom:1rem;background:#fff8ec;border:1px solid #f5deb3;border-radius:8px;font-size:.88rem;color:#8a6d3b}.wb-summary b[data-v-f8c5145e]{color:#e67e22}.wb-tip[data-v-f8c5145e]{color:#b5a17e;font-size:.8rem;margin-left:.35rem}.exam-group[data-v-f8c5145e]{margin-bottom:1rem}.exam-head[data-v-f8c5145e]{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.55rem .75rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;cursor:pointer;-webkit-user-select:none;user-select:none}.exam-head[data-v-f8c5145e]:hover{background:#f8f9fc}.exam-arrow[data-v-f8c5145e]{color:#8a93a3;font-size:.85rem;width:1rem;flex-shrink:0}.exam-head h3[data-v-f8c5145e]{font-size:1rem;color:#2c3e50}.exam-wrong-badge[data-v-f8c5145e]{font-size:.75rem;padding:.12rem .5rem;border-radius:10px;background:#fdeaea;color:#e74c3c}.btn-practice[data-v-f8c5145e]{margin-left:auto;padding:.22rem .65rem;border:1px solid #667eea;border-radius:6px;background:#fff;color:#667eea;font-size:.78rem;cursor:pointer}.btn-practice[data-v-f8c5145e]:hover{background:#f5f7ff}.q-card[data-v-f8c5145e]{background:#fff;border-radius:10px;border-left:4px solid #e74c3c;padding:.9rem 1rem;margin-bottom:.75rem;box-shadow:0 1px 3px #0000000d}.q-top[data-v-f8c5145e]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.q-num[data-v-f8c5145e]{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#e74c3c;color:#fff;font-weight:700;font-size:.8rem}.q-tag[data-v-f8c5145e]{font-size:.72rem;padding:.1rem .45rem;border-radius:3px;background:#eee;color:#888}.q-wrong-count[data-v-f8c5145e]{font-size:.78rem;color:#e67e22}.q-last-time[data-v-f8c5145e]{font-size:.75rem;color:#aaa;margin-left:auto}.btn-remove[data-v-f8c5145e]{flex-shrink:0;padding:.18rem .55rem;border:1px solid #e74c3c;border-radius:5px;background:#fff;color:#e74c3c;font-size:.75rem;cursor:pointer}.btn-remove[data-v-f8c5145e]:hover{background:#fdeaea}.btn-remove[data-v-f8c5145e]:disabled{opacity:.5;cursor:not-allowed}.removed-panel[data-v-f8c5145e]{margin-bottom:1rem;background:#f5f6f8;border:1px dashed #c9ced6;border-radius:8px;padding:.5rem .75rem}.removed-toggle[data-v-f8c5145e]{border:none;background:none;cursor:pointer;font-size:.82rem;color:#7f8c9b;padding:.15rem 0}.removed-list[data-v-f8c5145e]{margin-top:.4rem;display:flex;flex-direction:column;gap:.3rem}.removed-item[data-v-f8c5145e]{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#8a93a3;background:#fff;border-radius:6px;padding:.3rem .6rem}.removed-info[data-v-f8c5145e]{white-space:nowrap}.removed-title[data-v-f8c5145e]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-restore[data-v-f8c5145e]{flex-shrink:0;padding:.15rem .55rem;border:1px solid #27ae60;border-radius:5px;background:#fff;color:#27ae60;font-size:.75rem;cursor:pointer}.btn-restore[data-v-f8c5145e]:hover{background:#e6f9ee}.q-analysis[data-v-f8c5145e]{margin-top:.6rem}.analysis-box[data-v-f8c5145e]{background:#f5f7ff;border:1px solid #e0e4f8;border-radius:8px;padding:.75rem 1rem}.analysis-label[data-v-f8c5145e]{font-weight:700;color:#667eea;font-size:.85rem;margin-bottom:.35rem}.analysis-text[data-v-f8c5145e]{font-size:.85rem;color:#555;line-height:1.7;white-space:pre-wrap;margin:0}.analysis-placeholder[data-v-f8c5145e]{font-size:.78rem;color:#b5b8c6}.q-title[data-v-f8c5145e]{font-size:.9rem;color:#444;line-height:1.65;margin-bottom:.6rem}.q-image[data-v-f8c5145e]{display:block;max-width:100%;border-radius:8px;margin:.25rem 0 .6rem;border:1px solid #eee}.q-title[data-v-f8c5145e] .code-block{display:block;background:#1e1e1e;color:#d4d4d4;padding:.5rem .75rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;margin:.4rem 0;white-space:pre-wrap;text-align:left}.q-options[data-v-f8c5145e]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.q-opt[data-v-f8c5145e]{font-size:.82rem;padding:.3rem .65rem;border-radius:6px;border:1px solid #e8e8e8;color:#555}.opt-correct[data-v-f8c5145e]{border-color:#27ae60;background:#e6f9ee;color:#27ae60}.opt-wrong[data-v-f8c5145e]{border-color:#e74c3c;background:#fdeaea;color:#e74c3c;text-decoration:line-through}.q-answers[data-v-f8c5145e]{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.83rem;color:#777;border-top:1px dashed #eee;padding-top:.55rem}.ans-err[data-v-f8c5145e]{color:#e74c3c}.ans-correct[data-v-f8c5145e]{color:#27ae60}.cg-container[data-v-764234f8]{max-width:1000px;margin:0 auto;padding:1.2rem 1.2rem 3rem}.cg-header[data-v-764234f8]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.cg-header h1[data-v-764234f8]{font-size:1.35rem;color:#333}.back-link[data-v-764234f8]{color:#667eea;text-decoration:none;font-size:.9rem}.back-link[data-v-764234f8]:hover{text-decoration:underline}.cg-sub[data-v-764234f8]{color:#999;font-size:.85rem}.cg-toolbar[data-v-764234f8]{background:#fff;border-radius:12px;padding:.8rem 1.1rem;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cg-stats[data-v-764234f8]{color:#666;font-size:.88rem}.cg-stats b[data-v-764234f8]{color:#667eea}.cg-levels[data-v-764234f8]{display:flex;gap:.4rem;flex-wrap:wrap}.level-chip[data-v-764234f8]{border:1px solid #ddd;background:#fff;color:#555;padding:.3rem .75rem;border-radius:999px;cursor:pointer;font-size:.85rem;transition:all .15s}.level-chip[data-v-764234f8]:hover{border-color:#667eea;color:#667eea}.level-chip.active[data-v-764234f8]{background:#667eea;border-color:#667eea;color:#fff}.cg-filters[data-v-764234f8]{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.88rem}.cg-filters select[data-v-764234f8]{padding:.35rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;background:#fff}.cg-list[data-v-764234f8]{display:flex;flex-direction:column;gap:1rem}.cg-card[data-v-764234f8]{background:#fff;border-radius:12px;padding:1.1rem 1.3rem;box-shadow:0 1px 6px #0000000d}.cg-card-head[data-v-764234f8]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.cg-card-head b[data-v-764234f8]{color:#333;font-size:1rem}.cg-meta[data-v-764234f8]{display:flex;gap:.9rem;color:#888;font-size:.8rem}.cg-section[data-v-764234f8]{margin-bottom:.9rem}.cg-section h4[data-v-764234f8]{margin:0 0 .35rem;font-size:.85rem;color:#667eea;display:flex;align-items:center;gap:.5rem}.cg-text[data-v-764234f8]{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.88rem;color:#444;line-height:1.65;font-family:inherit}.cg-code[data-v-764234f8]{margin:0;white-space:pre-wrap;word-break:break-all;font-size:.82rem;color:#333;line-height:1.5;background:#f6f8fc;border-radius:8px;padding:.6rem .8rem}.sample-grid[data-v-764234f8]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.sample-label[data-v-764234f8]{display:inline-block;font-size:.75rem;color:#888;margin-bottom:.2rem}.cg-answer[data-v-764234f8]{margin-top:.4rem}.answer-toggle[data-v-764234f8]{background:none;border:1px solid #e0e4f5;color:#667eea;padding:.35rem .85rem;border-radius:8px;cursor:pointer;font-size:.85rem}.answer-toggle[data-v-764234f8]:hover{background:#f0f2fd}.answer-code[data-v-764234f8]{margin-top:.5rem;background:#f6f8fc}.answer-empty[data-v-764234f8]{color:#b3b3b3;font-size:.83rem}.editorial-btn[data-v-764234f8]{background:#fff7e8;border:1px solid #f0d9a8;color:#b07a1f;padding:.15rem .6rem;border-radius:999px;cursor:pointer;font-size:.78rem;transition:background .15s}.editorial-btn[data-v-764234f8]:hover{background:#ffefd0}.cg-modal-overlay[data-v-764234f8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182873;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.2rem}.cg-modal[data-v-764234f8]{background:#fff;border-radius:14px;max-width:760px;width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0000002e}.cg-modal-head[data-v-764234f8]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid #eef0f6}.cg-modal-head b[data-v-764234f8]{color:#333;font-size:.95rem}.cg-modal-close[data-v-764234f8]{background:none;border:none;font-size:1rem;cursor:pointer;color:#999;padding:0 .2rem}.cg-modal-close[data-v-764234f8]:hover{color:#e74c3c}.cg-modal-body[data-v-764234f8]{margin:0;padding:1rem 1.2rem 1.2rem;overflow-y:auto;white-space:pre-wrap;word-break:break-word;font-size:.9rem;color:#444;line-height:1.75;font-family:inherit}.cg-modal-actions[data-v-764234f8]{display:flex;align-items:center;gap:.5rem}.video-open-btn[data-v-764234f8]{background:#667eea;border:none;color:#fff;padding:.35rem .85rem;border-radius:8px;cursor:pointer;font-size:.85rem}.video-open-btn[data-v-764234f8]:hover{background:#5568d8}.cg-video-modal[data-v-764234f8]{max-width:900px}.cg-video-wrap[data-v-764234f8]{background:#000}.cg-video[data-v-764234f8]{display:block;width:100%;max-height:66vh}.cg-video-foot[data-v-764234f8]{padding:.6rem 1.1rem;color:#999;font-size:.8rem;border-top:1px solid #eef0f6}.status-box[data-v-764234f8],.empty-box[data-v-764234f8]{text-align:center;color:#999;padding:2.5rem 0}.spinner[data-v-764234f8]{width:32px;height:32px;margin:0 auto;border:3px solid #e5e8f5;border-top-color:#667eea;border-radius:50%;animation:spin-764234f8 .8s linear infinite}@keyframes spin-764234f8{to{transform:rotate(360deg)}}@media (max-width: 640px){.sample-grid[data-v-764234f8]{grid-template-columns:1fr}.cg-toolbar[data-v-764234f8]{flex-direction:column;align-items:stretch}}
