.pet-panel[data-v-4482bd83]{position:fixed;top:0;left:0;width:200px;padding:10px 12px;background:var(--card-bg);border-radius:12px;box-shadow:0 10px 24px #0000001f;font-size:12px;color:var(--text-primary);pointer-events:auto}.pet-panel-title[data-v-4482bd83]{font-weight:700;margin-bottom:6px}.pet-panel-graduation[data-v-4482bd83]{margin-bottom:6px;font-weight:600;color:#ca8a04}.pet-panel-xp[data-v-4482bd83]{margin-bottom:6px}.pet-panel-progress[data-v-4482bd83]{height:8px;background:var(--border-color);border-radius:999px;overflow:hidden;margin-bottom:8px}.pet-panel-progress-bar[data-v-4482bd83]{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399)}.pet-panel-streak[data-v-4482bd83]{font-weight:600;color:#f97316}.pet-panel-quests[data-v-4482bd83]{margin-top:10px;border-top:1px solid var(--border-color);padding-top:8px}.pet-panel-section-title[data-v-4482bd83]{font-weight:700;margin-bottom:6px}.pet-panel-quests-status[data-v-4482bd83]{color:var(--text-secondary);font-size:11px}.pet-panel-quest-list[data-v-4482bd83]{display:flex;flex-direction:column;gap:6px}.pet-panel-quest[data-v-4482bd83]{display:flex;justify-content:space-between;gap:8px;align-items:center}.pet-panel-quest-main[data-v-4482bd83]{display:flex;flex-direction:column;gap:2px;min-width:0}.pet-panel-quest-title[data-v-4482bd83]{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pet-panel-quest-meta[data-v-4482bd83]{display:flex;gap:6px;color:var(--text-secondary);font-size:11px}.pet-panel-quest-reward[data-v-4482bd83]{color:#16a34a;font-weight:600}.pet-panel-quest-action[data-v-4482bd83]{flex-shrink:0}.pet-panel-quest-claim[data-v-4482bd83]{border:none;padding:4px 8px;border-radius:999px;background:#f59e0b;color:var(--text-on-primary);font-size:11px;cursor:pointer}.pet-panel-quest-claim[data-v-4482bd83]:disabled{opacity:.6;cursor:not-allowed}.pet-panel-quest-claimed[data-v-4482bd83]{font-size:11px;color:#10b981;font-weight:600}.pet-panel-quest-progress[data-v-4482bd83]{font-size:11px;color:var(--text-secondary)}.pet-panel-quests-error[data-v-4482bd83]{margin-top:6px;color:#ef4444;font-size:11px}.pet-sprite[data-v-d2bafe5b]{position:fixed;top:0;left:0;width:56px;height:56px;border-radius:50%;background:#ffffffe6;box-shadow:0 10px 20px #0000001f;display:flex;align-items:center;justify-content:center;cursor:grab;z-index:1001;transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1);transition:transform .12s ease;-webkit-user-select:none;user-select:none;touch-action:none}.pet-sprite.dragging[data-v-d2bafe5b]{cursor:grabbing;transition:none}.pet-sprite.pulse[data-v-d2bafe5b]{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1.05)}.pet-sprite.pet-bounce[data-v-d2bafe5b]{animation:pet-bounce-d2bafe5b .3s ease}.pet-sprite.pet-evolve[data-v-d2bafe5b]{animation:pet-evolve-d2bafe5b .4s ease}.pet-sprite.pet-graduate[data-v-d2bafe5b]{animation:pet-graduate-d2bafe5b .4s ease}.pet-sprite-image[data-v-d2bafe5b]{width:42px;height:42px;object-fit:contain}.pet-sprite-emoji[data-v-d2bafe5b]{font-size:28px}.pet-graduation-badge[data-v-d2bafe5b]{position:absolute;top:-6px;right:-4px;font-size:16px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.pet-speech-bubble[data-v-d2bafe5b]{position:fixed;z-index:1002;max-width:220px;padding:8px 12px;border-radius:16px;background:#202020eb;color:var(--text-on-primary);font-size:14px;line-height:1.4;box-shadow:0 8px 18px #0000002e;pointer-events:none}@keyframes pet-bounce-d2bafe5b{0%{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1)}30%{transform:translate3d(var(--pet-sprite-x),calc(var(--pet-sprite-y) - 10px),0) scale(1.06)}60%{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(.98)}to{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1)}}@keyframes pet-evolve-d2bafe5b{0%{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1);filter:brightness(1)}40%{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1.1) rotate(8deg);filter:brightness(1.3)}70%{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1.05) rotate(-6deg);filter:brightness(1.15)}to{transform:translate3d(var(--pet-sprite-x),var(--pet-sprite-y),0) scale(1);filter:brightness(1)}}@keyframes pet-graduate-d2bafe5b{0%{transform:translate(var(--pet-sprite-x),var(--pet-sprite-y)) scale(1);filter:drop-shadow(0 0 0 rgba(255,215,0,0))}40%{transform:translate(var(--pet-sprite-x),var(--pet-sprite-y)) scale(1.08) rotate(-6deg);filter:drop-shadow(0 0 12px rgba(255,215,0,.8))}80%{transform:translate(var(--pet-sprite-x),var(--pet-sprite-y)) scale(1.03) rotate(4deg);filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}to{transform:translate(var(--pet-sprite-x),var(--pet-sprite-y)) scale(1);filter:drop-shadow(0 0 0 rgba(255,215,0,0))}}@font-face{font-family:AlibabaPuHuiTi;src:url(/assets/AlibabaPuHuiTi-3-65-Medium-DQU-DIIV.woff2) format("woff2"),url(/assets/AlibabaPuHuiTi-3-65-Medium-BmK6APuT.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}:root{--primary-color: #4a78f5;--text-on-primary: #ffffff;--text-primary: #333;--text-secondary: #666;--bg: #f4f6fb;--surface: #ffffff;--card-bg: #ffffff;--surface-muted: #f8fafc;--border-color: #e5e7eb;--border-radius-small: 10px;--border-radius-medium: 8px;--border-radius-large: 16px;--card-shadow: 0 6px 20px rgba(0, 0, 0, .05);--hero-bg: linear-gradient(135deg, #e9f1ff 0%, #f9ecff 100%);--hero-glow-1: rgba(196, 207, 255, .9);--hero-glow-2: rgba(255, 194, 232, .9);--hero-glow-3: rgba(214, 209, 255, .7);--hero-card-bg: rgba(255, 255, 255, .85);--hero-card-border: rgba(0, 0, 0, .06);--hero-pill-bg: rgba(241, 194, 243, .55);--hero-pill-border: rgba(241, 194, 243, .95);--hero-input-bg: rgba(255, 255, 255, .94);--hero-input-border: rgba(241, 194, 243, .9);--hero-hint-bg: rgba(255, 255, 255, .72);--hero-skeleton: linear-gradient(90deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .08), rgba(0, 0, 0, .04));--code-bg: #111827;--code-bg-alt: #0f172a;--code-text: #e5e7eb;--code-border: rgba(255, 255, 255, .2);--canvas-bg: #ffffff;--overlay-bg: rgba(255, 255, 255, .82);--success-bg: #e6f7ec;--success-text: #1a7f45;--error-bg: #ffecec;--error-text: #d64545;--input: #111827}:root[data-theme=dark]{--input: #e5e7eb;--primary-color: #7aa2ff;--text-on-primary: #0b1120;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--bg: #0f172a;--surface: #111827;--card-bg: #111827;--surface-muted: #0b1220;--border-color: #1f2937;--card-shadow: 0 6px 20px rgba(15, 23, 42, .6);--hero-bg: linear-gradient(135deg, #0b1220 0%, #1b0f2a 100%);--hero-glow-1: rgba(37, 62, 112, .65);--hero-glow-2: rgba(120, 52, 100, .5);--hero-glow-3: rgba(72, 64, 140, .5);--hero-card-bg: rgba(15, 23, 42, .88);--hero-card-border: rgba(148, 163, 184, .18);--hero-pill-bg: rgba(59, 130, 246, .2);--hero-pill-border: rgba(59, 130, 246, .35);--hero-input-bg: rgba(15, 23, 42, .85);--hero-input-border: rgba(122, 162, 255, .4);--hero-hint-bg: rgba(15, 23, 42, .75);--hero-skeleton: linear-gradient(90deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .12), rgba(255, 255, 255, .05));--code-bg: #0b1220;--code-bg-alt: #0b1220;--code-text: #e5e7eb;--code-border: rgba(148, 163, 184, .35);--canvas-bg: #0b1220;--overlay-bg: rgba(15, 23, 42, .82);--success-bg: rgba(22, 101, 52, .25);--success-text: #86efac;--error-bg: rgba(153, 27, 27, .25);--error-text: #fca5a5}body,html,#app{font-family:AlibabaPuHuiTi,Noto Sans TC,Noto Sans SC,PingFang TC,Microsoft JhengHei,sans-serif;background:var(--bg);color:var(--text-primary)}.app-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:2rem 1rem 3rem;background:var(--bg);color:var(--text-primary)}.fade-enter-active,.fade-leave-active{transition:opacity .4s,transform .4s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(10px)}.review-page[data-v-2a8bc378]{padding:1rem;max-width:900px;margin:0 auto}.card[data-v-2a8bc378]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin-bottom:.75rem}.actions[data-v-2a8bc378]{display:flex;gap:.5rem}.error[data-v-2a8bc378]{color:#c00}.danger[data-v-2a8bc378]{background:#a61b1b;color:#fff}.admin-quests-page[data-v-22f4bc8e]{width:min(1200px,95vw);display:flex;flex-direction:column;gap:20px}.admin-header[data-v-22f4bc8e]{display:flex;justify-content:space-between;align-items:center;gap:16px}.muted[data-v-22f4bc8e]{color:var(--text-secondary);margin:0}.layout[data-v-22f4bc8e]{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:960px){.layout[data-v-22f4bc8e]{grid-template-columns:1fr 1fr}.layout section[data-v-22f4bc8e]:nth-child(3){grid-column:span 2}}.card[data-v-22f4bc8e]{background:var(--card-bg);border-radius:16px;padding:16px;box-shadow:var(--card-shadow)}.card-header[data-v-22f4bc8e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.template-list[data-v-22f4bc8e]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.template-list li[data-v-22f4bc8e]{border:1px solid var(--border-color);border-radius:12px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;position:relative}.template-list li.active[data-v-22f4bc8e]{border-color:var(--primary-color);background:var(--surface-muted)}.template-list .title[data-v-22f4bc8e]{font-weight:600}.template-list .meta[data-v-22f4bc8e]{font-size:12px;color:var(--text-secondary);display:flex;gap:8px;flex-wrap:wrap}.form-grid[data-v-22f4bc8e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:8px}.form-grid label[data-v-22f4bc8e]{display:flex;flex-direction:column;font-size:12px;gap:4px;color:var(--text-primary)}.form-grid input[data-v-22f4bc8e],.form-grid select[data-v-22f4bc8e]{padding:6px 8px;border-radius:8px;border:1px solid var(--border-color)}.actions[data-v-22f4bc8e]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.ghost[data-v-22f4bc8e]{border:1px solid var(--border-color);background:var(--surface);padding:6px 10px;border-radius:8px;cursor:pointer}.primary[data-v-22f4bc8e]{border:none;background:var(--primary-color);color:var(--text-on-primary);padding:6px 12px;border-radius:8px;cursor:pointer}.danger[data-v-22f4bc8e]{border:none;background:var(--error-bg);color:var(--error-text);padding:4px 10px;border-radius:8px;cursor:pointer}.error[data-v-22f4bc8e]{color:var(--error-text);margin-top:8px}.search-bar[data-v-22f4bc8e]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.search-bar input[data-v-22f4bc8e]{padding:6px 8px;border-radius:8px;border:1px solid var(--border-color)}.split[data-v-22f4bc8e]{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:960px){.split[data-v-22f4bc8e]{grid-template-columns:1fr 1fr}}.problem-list[data-v-22f4bc8e]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.problem-list li[data-v-22f4bc8e]{border:1px dashed var(--border-color);border-radius:10px;padding:8px;display:flex;justify-content:space-between;gap:8px;align-items:center}.problem-list .meta[data-v-22f4bc8e]{display:block;font-size:12px;color:var(--text-secondary)}.records-page[data-v-f83e5940]{width:100%;max-width:900px;margin:0 auto}.records-header[data-v-f83e5940]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background-color:var(--surface);border-radius:16px;box-shadow:var(--card-shadow);margin-bottom:2rem}.header-actions[data-v-f83e5940]{display:flex;gap:.75rem;align-items:center}.title[data-v-f83e5940]{margin:0;font-size:1.8rem;color:var(--text-primary)}.back-button[data-v-f83e5940]{background:var(--surface-muted);border:1px solid var(--border-color);color:var(--primary-color);padding:.55rem 1.4rem;border-radius:999px;font-weight:600;cursor:pointer;transition:all .25s ease}.back-button[data-v-f83e5940]:hover{background:var(--primary-color);color:var(--text-on-primary)}.records-content[data-v-f83e5940]{background:var(--surface);padding:2rem;border-radius:16px;box-shadow:var(--card-shadow)}.no-records[data-v-f83e5940]{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.records-grid[data-v-f83e5940]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.record-card[data-v-f83e5940]{border:1px solid var(--border-color);border-radius:var(--border-radius-large);padding:1.5rem;background:var(--card-bg);display:flex;flex-direction:column;position:relative;cursor:pointer}.record-card.loading[data-v-f83e5940]{opacity:.7}.paper-name[data-v-f83e5940]{margin:0 0 1.5rem;font-size:1.25rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:1rem}.details[data-v-f83e5940]{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.detail-item[data-v-f83e5940]{display:flex;flex-direction:column;align-items:center;flex:1}.label[data-v-f83e5940]{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.value[data-v-f83e5940]{font-weight:700;font-size:1.5rem}.value.score[data-v-f83e5940]{color:var(--primary-color)}.value.accuracy[data-v-f83e5940]{color:#34c759}.record-footer[data-v-f83e5940]{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--text-secondary)}.wrong-meta[data-v-f83e5940]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.tag[data-v-f83e5940]{background:var(--surface-muted);color:var(--primary-color);padding:.25rem .6rem;border-radius:999px;font-weight:600}.muted[data-v-f83e5940]{color:var(--text-secondary)}.footer-actions[data-v-f83e5940]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.review-button[data-v-f83e5940]{background:var(--primary-color);border:none;color:var(--text-on-primary);padding:.5rem 1.1rem;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s ease}.action-buttons[data-v-f83e5940]{display:flex;gap:.4rem}.review-button[data-v-f83e5940]:disabled{opacity:.6;cursor:not-allowed}.review-button[data-v-f83e5940]:not(:disabled):hover{background:var(--primary-color);box-shadow:0 8px 16px #4a78f54d}.loading-mask[data-v-f83e5940]{position:absolute;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary-color);border-radius:var(--border-radius-large)}.theme-toggle-button[data-v-35e666c0]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.theme-toggle-button[data-v-35e666c0]:hover{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.theme-toggle-button__icon[data-v-35e666c0]{font-size:1rem}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0;background:transparent}.field[data-v-f8abad5f]{display:flex;align-items:center;padding:10px 16px;flex:1;position:relative}.eye-btn[data-v-f8abad5f]{background:none;border:none;cursor:pointer;font-size:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s;-webkit-user-select:none;user-select:none}.eye-btn[data-v-f8abad5f]:hover{opacity:1}.field input[data-v-f8abad5f]{flex:1;min-width:0}.logo-img[data-v-f8abad5f]{height:40px;width:auto}.hero[data-v-f8abad5f]{position:fixed;inset:0;width:100vw;height:100vh;padding:48px 40px 80px;background:var(--hero-bg);display:flex;justify-content:center;align-items:flex-start;overflow:hidden;z-index:0}@media(max-width:768px){.hero[data-v-f8abad5f]{position:relative;height:auto;min-height:100vh;overflow-y:auto;align-items:flex-start}}.hero[data-v-f8abad5f]:before{content:"";position:absolute;inset:-40%;background:radial-gradient(75% 75% at 10% 15%,var(--hero-glow-1),rgba(0,0,0,0) 80%),radial-gradient(80% 80% at 85% 70%,var(--hero-glow-2),rgba(0,0,0,0) 80%),radial-gradient(90% 90% at 50% 120%,var(--hero-glow-3),rgba(0,0,0,0) 85%);z-index:0}.hero-inner[data-v-f8abad5f]{width:min(100%,1180px);display:flex;flex-direction:column;gap:40px;position:relative;z-index:1}.brand[data-v-f8abad5f]{display:flex;justify-content:space-between;align-items:center}.logo[data-v-f8abad5f]{font-weight:800;font-size:26px;letter-spacing:.2px}.brand-actions[data-v-f8abad5f]{display:flex;gap:12px}.ghost[data-v-f8abad5f]{color:var(--text-primary);background:var(--hero-card-bg);border:1px solid var(--border-color);padding:8px 18px;border-radius:999px;text-decoration:none}.layout[data-v-f8abad5f]{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}.hero-content[data-v-f8abad5f]{max-width:740px;text-align:left}.headline[data-v-f8abad5f]{font-size:clamp(32px,4vw,30px);margin:0;letter-spacing:-.5px}.sub[data-v-f8abad5f]{margin:18px 0 32px;color:var(--text-secondary);font-size:18px}.login-bar[data-v-f8abad5f]{background:var(--hero-input-bg);display:flex;align-items:center;gap:16px;padding:14px;border-radius:999px;border:3px solid var(--hero-input-border);box-shadow:0 14px 40px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.field[data-v-f8abad5f]{display:flex;align-items:center;padding:10px 16px;flex:1}.field input[data-v-f8abad5f]{width:100%;border:none;outline:none;font-size:18px;background:transparent;color:var(--input)}.icon[data-v-f8abad5f]{margin-right:10px;font-size:20px}.divider[data-v-f8abad5f]{width:1px;height:32px;background:var(--border-color)}.cta[data-v-f8abad5f]{border:none;color:var(--text-on-primary);background:var(--primary-color);padding:14px 28px;border-radius:999px;font-weight:700;font-size:17px;cursor:pointer;white-space:nowrap}.cta[data-v-f8abad5f]:disabled{opacity:.7;cursor:not-allowed}.error[data-v-f8abad5f]{color:#e53935;margin-top:16px}.hint[data-v-f8abad5f]{margin-top:18px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--hero-hint-bg);border:1px solid var(--hero-card-border);color:var(--text-primary);font-weight:600;width:fit-content}.spark[data-v-f8abad5f]{font-size:18px}.news[data-v-f8abad5f]{background:var(--hero-card-bg);border:1px solid var(--hero-card-border);border-radius:22px;box-shadow:0 18px 46px #00000014;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:340px}.news-head[data-v-f8abad5f]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 4px 14px}.news-title[data-v-f8abad5f]{margin:0;font-size:18px;letter-spacing:-.2px}.news-link[data-v-f8abad5f]{color:var(--text-primary);text-decoration:none;font-weight:800;font-size:13px;opacity:.8}.news-link[data-v-f8abad5f]:hover{opacity:1}.news-grid[data-v-f8abad5f]{display:grid;gap:12px}.news-card[data-v-f8abad5f]{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px;border-radius:18px;text-decoration:none;color:inherit;border:1px solid var(--hero-card-border);background:var(--hero-card-bg);transition:transform .16s ease,box-shadow .16s ease}.news-card[data-v-f8abad5f]:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0000001a}.thumb[data-v-f8abad5f]{border-radius:14px;background:var(--surface-muted);border:1px solid var(--hero-card-border);background-size:cover;background-position:center;display:grid;place-items:center;height:72px}.thumb-fallback[data-v-f8abad5f]{font-size:22px}.meta-top[data-v-f8abad5f]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.date[data-v-f8abad5f]{font-size:12px;color:var(--text-secondary)}.pill[data-v-f8abad5f]{font-size:11px;font-weight:900;padding:4px 8px;border-radius:999px;background:var(--hero-pill-bg);border:1px solid var(--hero-pill-border)}.t[data-v-f8abad5f]{font-weight:900;font-size:14px;line-height:1.2;margin-bottom:6px}.d[data-v-f8abad5f]{font-size:12px;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-skeleton[data-v-f8abad5f]{display:grid;gap:12px;padding:4px}.skeleton-card[data-v-f8abad5f]{height:92px;border-radius:18px;background:var(--hero-skeleton);background-size:240% 100%;animation:shimmer-f8abad5f 1.15s ease-in-out infinite}@keyframes shimmer-f8abad5f{0%{background-position:0% 0}to{background-position:100% 0}}.news-error[data-v-f8abad5f]{margin:0;padding:10px 6px;color:#d32f2f;font-weight:700}.news-empty[data-v-f8abad5f]{border-radius:18px;border:1px dashed var(--hero-card-border);background:var(--hero-card-bg);padding:18px 14px;text-align:center}.empty-emoji[data-v-f8abad5f]{font-size:28px;margin-bottom:6px}.empty-title[data-v-f8abad5f]{font-weight:900;margin-bottom:6px}.empty-desc[data-v-f8abad5f]{font-size:12px;color:var(--text-secondary);line-height:1.35}.empty-desc code[data-v-f8abad5f]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800}@media(max-width:980px){.hero[data-v-f8abad5f]{padding:32px 22px 44px}.layout[data-v-f8abad5f]{grid-template-columns:1fr}.hero-content[data-v-f8abad5f]{text-align:center;margin:0 auto}.hint[data-v-f8abad5f]{margin-left:auto;margin-right:auto}}@media(max-width:900px){.login-bar[data-v-f8abad5f]{flex-direction:column;align-items:stretch;border-radius:24px;gap:12px}.divider[data-v-f8abad5f]{display:none}.field[data-v-f8abad5f]{justify-content:center}.cta[data-v-f8abad5f]{width:100%}}.python-playground[data-v-90e53557]{display:flex;flex-direction:column;gap:1rem;width:min(1200px,100%);background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px #00000014;min-height:0;overflow:visible}.toolbar[data-v-90e53557]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.toolbar h2[data-v-90e53557]{margin:0;font-size:1.4rem;color:var(--text-primary)}button[data-v-90e53557]{border:none;border-radius:8px;padding:.55rem 1.2rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}button.primary[data-v-90e53557]{background:var(--primary-color);color:var(--text-on-primary);box-shadow:0 6px 16px #2563eb4d}button.ghost[data-v-90e53557]{background:var(--surface-muted);color:var(--text-primary)}button[data-v-90e53557]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.workspace[data-v-90e53557]{display:flex;flex-direction:column;gap:1.25rem;min-height:0;min-height:640px;height:auto;flex:1;overflow:visible}.editor-section[data-v-90e53557]{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1}.editor-pane[data-v-90e53557]{min-height:360px;min-width:0;flex:1 1 auto;height:auto;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.result-section[data-v-90e53557]{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:0 0 240px;min-width:0;max-height:260px;overflow:hidden}.result-toolbar[data-v-90e53557]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;position:sticky;top:0;z-index:10;background:#fff}.result-tabs[data-v-90e53557]{display:flex;gap:.5rem}.result-actions[data-v-90e53557]{display:flex;gap:.75rem}.tab[data-v-90e53557]{background:var(--surface-muted);color:var(--text-primary);border-radius:999px;padding:.45rem 1rem;font-weight:600}.tab.active[data-v-90e53557]{background:var(--primary-color);color:var(--text-on-primary)}.result-content[data-v-90e53557]{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.console[data-v-90e53557],.canvas-pane[data-v-90e53557]{background:var(--code-bg);border-radius:12px;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;min-height:0;flex:1;min-width:0;overflow:auto}.pane-title[data-v-90e53557]{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.console-output[data-v-90e53557]{flex:1;margin:0;min-height:0;overflow:auto;white-space:pre-wrap;color:var(--code-text);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.85rem}.canvas-pane[data-v-90e53557]{background:var(--code-bg-alt);min-height:0;flex:1 1 auto;overflow:auto}.turtle-canvas[data-v-90e53557]{position:relative;flex:1;width:100%;height:100%;min-height:360px;background:#fff;border-radius:8px;overflow:hidden}.turtle-canvas[data-v-90e53557] canvas{display:block}@media(max-width:1100px){.workspace[data-v-90e53557]{height:70vh;flex-direction:column}.result-section[data-v-90e53557]{flex-basis:220px;max-height:240px}.editor-pane[data-v-90e53557]{min-height:360px}}.answer-sheet[data-v-306a2b1b]{width:300px;border:1px solid var(--border-color);background:var(--card-bg);display:flex;flex-direction:column;border-radius:16px;box-shadow:0 8px 26px #0000000f}.card-header[data-v-306a2b1b]{padding:1rem;border-bottom:1px solid var(--border-color)}.header-line[data-v-306a2b1b]{display:flex;justify-content:space-between;align-items:center;font-weight:700}.muted[data-v-306a2b1b]{color:var(--text-secondary);font-weight:600}.card-body[data-v-306a2b1b]{display:flex;flex-direction:column;gap:18px;padding:1.2rem;overflow-y:auto}.section-group[data-v-306a2b1b]{display:flex;flex-direction:column;gap:12px}.section-group+.section-group[data-v-306a2b1b]{border-top:1px solid var(--border-color);padding-top:14px}.section-header[data-v-306a2b1b]{font-weight:700;color:var(--text-primary);font-size:.95rem}.section-grid[data-v-306a2b1b]{display:flex;flex-wrap:wrap;gap:12px}.question-number[data-v-306a2b1b]{width:42px;height:42px;border:1px solid var(--border-color);cursor:pointer;background-color:var(--surface-muted);color:var(--text-primary);border-radius:10px;font-weight:600;transition:all .2s ease}.question-number[data-v-306a2b1b]:hover{transform:translateY(-2px)}.question-number.active[data-v-306a2b1b]{border:2px solid var(--primary-color);color:var(--primary-color)}.question-number.answered[data-v-306a2b1b]{background-color:#eaf7f0;border-color:#cbe8d8}.question-number.correct[data-v-306a2b1b]{background-color:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.question-number.wrong[data-v-306a2b1b]{background-color:#dc3545;color:var(--text-on-primary);border-color:#dc3545}.question-number.flagged[data-v-306a2b1b]{outline:2px solid #ffb74d}.card-footer[data-v-306a2b1b]{padding:1.2rem;margin-top:auto;border-top:1px solid var(--border-color)}.submit-button[data-v-306a2b1b]{width:100%;padding:.8rem;font-size:1.05rem;font-weight:700;cursor:pointer;background-color:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:10px}.submit-button[data-v-306a2b1b]:disabled{cursor:not-allowed;opacity:.6}.submit-overlay[data-v-8a69a18a]{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:all;background:#090f22a3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-card[data-v-8a69a18a]{width:min(420px,92vw);border-radius:20px;background:linear-gradient(145deg,#0e1a3f,#182d6d);box-shadow:0 24px 48px #00000059;color:#fff;text-align:center;padding:2rem 1.6rem}.overlay-logo[data-v-8a69a18a]{width:88px;height:88px;margin-bottom:1rem;animation:spin-8a69a18a 2.4s linear infinite,floatPulse-8a69a18a 1.6s ease-in-out infinite}.progress-text[data-v-8a69a18a],.error-text[data-v-8a69a18a]{margin:.25rem 0 0;font-size:1.05rem;font-weight:600}.error-text[data-v-8a69a18a]{color:#ffd4d4}.overlay-actions[data-v-8a69a18a]{margin-top:1rem;display:flex;gap:.7rem;justify-content:center}.overlay-button[data-v-8a69a18a]{border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:.5rem .9rem;background:#ffffff1a;color:#fff;font-weight:700;cursor:pointer}.overlay-button.primary[data-v-8a69a18a]{background:#43d1ff;border-color:transparent;color:#11204d}@keyframes spin-8a69a18a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatPulse-8a69a18a{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.08)}}.quiz-page[data-v-05f7f8e9]{width:100%}.quiz-shell[data-v-05f7f8e9]{position:relative;display:grid;grid-template-columns:280px minmax(720px,1fr) clamp(320px,24vw,380px);gap:24px;width:min(1800px,100%);margin:0 auto;padding:16px 24px;min-height:90vh}.quiz-shell--blocked[data-v-05f7f8e9]{pointer-events:none}.floating-theme-toggle[data-v-05f7f8e9]{position:fixed;left:22px;bottom:22px;z-index:1200}.submit-confirm-backdrop[data-v-05f7f8e9]{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f172a73;padding:16px;pointer-events:auto}.submit-confirm-modal[data-v-05f7f8e9]{width:min(420px,100%);border-radius:14px;border:1px solid var(--border-color);background:var(--surface);box-shadow:0 14px 40px #0f172a38;padding:20px;pointer-events:auto}.submit-confirm-modal h3[data-v-05f7f8e9]{margin:0 0 10px}.submit-confirm-modal p[data-v-05f7f8e9]{margin:0;color:var(--text-secondary);line-height:1.5}.submit-confirm-actions[data-v-05f7f8e9]{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}.ai-grading-toggle-card[data-v-05f7f8e9]{margin-top:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.ai-grading-toggle-card--enabled[data-v-05f7f8e9]{border-color:color-mix(in srgb,var(--primary-color) 50%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 12%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 18%,transparent)}.ai-grading-toggle-main[data-v-05f7f8e9]{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-grading-toggle-copy h4[data-v-05f7f8e9]{margin:0;font-size:.96rem}.ai-grading-toggle-copy p[data-v-05f7f8e9]{margin:6px 0 0;font-size:.9rem}.ai-grading-toggle-right[data-v-05f7f8e9]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-grading-status-badge[data-v-05f7f8e9]{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;font-weight:700}.ai-grading-status-badge--enabled[data-v-05f7f8e9]{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 13%,var(--surface))}.ai-switch[data-v-05f7f8e9]{position:relative;display:inline-flex;width:44px;height:24px}.ai-switch input[data-v-05f7f8e9]{opacity:0;width:0;height:0}.ai-switch-slider[data-v-05f7f8e9]{position:absolute;inset:0;border-radius:999px;border:1px solid var(--border-color);background:var(--surface);transition:background-color .2s ease,border-color .2s ease}.ai-switch-slider[data-v-05f7f8e9]:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:var(--text-secondary);transition:transform .2s ease,background-color .2s ease}.ai-switch input:checked+.ai-switch-slider[data-v-05f7f8e9]{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 25%,var(--surface))}.ai-switch input:checked+.ai-switch-slider[data-v-05f7f8e9]:before{transform:translate(20px);background:var(--primary-color)}.nav-left[data-v-05f7f8e9]{background:var(--surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 6px 20px #0000000f;height:fit-content}.nav-left ul[data-v-05f7f8e9]{list-style:none;margin:0;padding:12px}.nav-left li[data-v-05f7f8e9]{padding:10px 12px;border-radius:10px;color:var(--text-secondary);cursor:pointer}.nav-left li.active[data-v-05f7f8e9],.nav-left li[data-v-05f7f8e9]:hover{background:var(--surface-muted);color:var(--primary-color)}.content-main[data-v-05f7f8e9]{background:var(--surface);border-radius:16px;box-shadow:0 8px 26px #0000000f;border:1px solid var(--border-color);min-height:100%;overflow:hidden;min-width:0}.loading[data-v-05f7f8e9]{padding:40px}.content-wrapper[data-v-05f7f8e9]{display:flex;flex-direction:column;height:100%}.empty-state[data-v-05f7f8e9]{align-items:center;justify-content:center;padding:48px 24px}.empty-message[data-v-05f7f8e9]{text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px}.empty-actions[data-v-05f7f8e9]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.top-bar[data-v-05f7f8e9]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.back[data-v-05f7f8e9]{border:none;background:var(--surface);border-radius:10px;padding:6px 10px;cursor:pointer;box-shadow:0 2px 6px #0000000f;font-size:20px}.title[data-v-05f7f8e9]{font-weight:700}.meta[data-v-05f7f8e9]{display:flex;align-items:center;gap:16px}.timer-chip[data-v-05f7f8e9]{font-weight:600;color:var(--primary-color)}.progress[data-v-05f7f8e9]{display:flex;align-items:center;gap:10px}.bar[data-v-05f7f8e9]{width:160px;height:6px;background:var(--border-color);border-radius:6px;overflow:hidden}.bar span[data-v-05f7f8e9]{display:block;height:100%;background:var(--primary-color)}.question-card[data-v-05f7f8e9]{flex:1;padding:24px 28px 32px;display:flex;flex-direction:column;gap:18px}.q-head[data-v-05f7f8e9]{display:flex;justify-content:space-between;align-items:center}.q-index[data-v-05f7f8e9]{font-weight:700;color:var(--text-primary)}.flag[data-v-05f7f8e9]{border:none;background:var(--surface-muted);color:#f90;padding:6px 12px;border-radius:12px;cursor:pointer;font-weight:600}.flag.on[data-v-05f7f8e9]{background:#f90;color:var(--text-on-primary)}.question-text[data-v-05f7f8e9]{font-size:1.05rem;line-height:1.8;white-space:pre-wrap;font-weight:500}.text-segment[data-v-05f7f8e9]{white-space:pre-wrap}.inline-blank input[data-v-05f7f8e9]{min-width:120px;padding:6px 10px;border:1px solid var(--border-color);border-radius:8px;margin:0 8px}.media-gallery[data-v-05f7f8e9]{margin:10px 0 18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.media-frame[data-v-05f7f8e9]{border-radius:12px;border:1px solid var(--border-color);background:var(--surface);overflow:hidden;padding:6px}.media-image[data-v-05f7f8e9]{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;border-radius:8px}.question-gallery .media-frame[data-v-05f7f8e9]{width:min(100%,820px);max-height:480px}.options[data-v-05f7f8e9]{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.option[data-v-05f7f8e9]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}.option[data-v-05f7f8e9]:hover{background:var(--surface-muted);border-color:var(--primary-color)}.option input[type=radio][data-v-05f7f8e9],.option input[type=checkbox][data-v-05f7f8e9]{accent-color:var(--primary-color)}.key[data-v-05f7f8e9]{font-weight:700;color:var(--text-primary);width:28px;display:inline-block}.content[data-v-05f7f8e9]{flex:1;min-width:0;color:var(--text-primary)}.option-text[data-v-05f7f8e9]{white-space:pre-wrap;word-break:break-word}.option-code[data-v-05f7f8e9]{margin:0;padding:10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-muted);white-space:pre-wrap;overflow-x:auto;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.95rem;line-height:1.6}.option-gallery[data-v-05f7f8e9]{justify-content:flex-start;overflow:visible}.option-gallery .media-frame[data-v-05f7f8e9]{width:min(100%,760px);min-width:0;max-height:280px;flex:0 1 auto}.option-gallery .media-frame--wide[data-v-05f7f8e9]{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.option-gallery .media-frame--wide[data-v-05f7f8e9]::-webkit-scrollbar{height:6px}.option-gallery .media-frame--wide[data-v-05f7f8e9]::-webkit-scrollbar-track{background:transparent}.option-gallery .media-frame--wide[data-v-05f7f8e9]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border-color) 72%,transparent);border-radius:999px}.option-gallery .media-frame--wide .media-image[data-v-05f7f8e9]{width:auto;max-width:none;min-width:100%;max-height:260px}.option-image[data-v-05f7f8e9]{min-height:120px}.fill-code-box[data-v-05f7f8e9]{margin-top:12px;display:grid;gap:16px}.scratch-upload[data-v-05f7f8e9]{margin-top:12px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface);padding:12px 14px;display:grid;gap:12px}.scratch-header[data-v-05f7f8e9]{display:flex;align-items:center;justify-content:space-between;gap:10px}.scratch-status[data-v-05f7f8e9]{font-size:.9rem;color:#7a5af8}.scratch-instructions ol[data-v-05f7f8e9]{margin:0;padding-left:18px;color:var(--text-primary);line-height:1.6}.scratch-upload-area[data-v-05f7f8e9]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px dashed var(--border-color);background:var(--surface-muted);color:var(--primary-color);font-weight:600;cursor:pointer;width:fit-content}.scratch-upload-area input[data-v-05f7f8e9]{display:none}.scratch-upload-area.disabled[data-v-05f7f8e9]{opacity:.6;cursor:not-allowed}.scratch-upload-info[data-v-05f7f8e9]{font-size:.9rem;color:var(--text-secondary)}.scratch-upload-error[data-v-05f7f8e9]{font-size:.9rem;color:var(--error-text)}.code-template[data-v-05f7f8e9]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px}.template-title[data-v-05f7f8e9]{font-weight:600;color:var(--text-primary);margin-bottom:8px}.code-template pre[data-v-05f7f8e9],.code-preview pre[data-v-05f7f8e9]{margin:0;white-space:pre-wrap;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.95rem;color:var(--text-primary)}.code-preview[data-v-05f7f8e9]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px}.code-preview pre[data-v-05f7f8e9]{-webkit-user-select:text;user-select:text}.fill-blanks[data-v-05f7f8e9]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface);padding:12px 14px}.blank-empty[data-v-05f7f8e9]{color:var(--text-secondary)}.blank-list[data-v-05f7f8e9]{display:grid;gap:12px}.blank-item[data-v-05f7f8e9]{display:grid;gap:6px}.blank-label[data-v-05f7f8e9]{font-weight:600;color:var(--text-primary)}.blank-desc[data-v-05f7f8e9]{display:block;font-weight:400;color:var(--text-secondary);margin-top:2px}.blank-item input[data-v-05f7f8e9]{border-radius:10px;border:1px solid var(--border-color);padding:8px 10px;font-size:.95rem}.programming-box textarea[data-v-05f7f8e9]{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border-color);font-size:15px;resize:vertical}.program-timer[data-v-05f7f8e9]{margin-bottom:8px;font-weight:600;color:var(--text-primary)}.generate-tests-button[data-v-05f7f8e9]{margin:.5rem 0;align-self:flex-start;background:#2563eb;border:none;color:#fff;border-radius:8px;padding:.45rem .8rem;font-weight:600;cursor:pointer}.generate-tests-button[data-v-05f7f8e9]:disabled{opacity:.6;cursor:not-allowed}.generate-tests-success[data-v-05f7f8e9]{margin:.25rem 0 .5rem;color:#166534;font-size:.9rem}.generate-tests-error[data-v-05f7f8e9]{margin:.25rem 0 .5rem;color:#b91c1c;font-size:.9rem}.judge-result-box[data-v-05f7f8e9]{margin-top:.5rem;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;background:var(--surface-muted)}.judge-fail-detail pre[data-v-05f7f8e9]{margin:.5rem 0 0;max-height:220px;overflow:auto}.analysis-box[data-v-05f7f8e9]{margin-top:18px;padding:16px;border:1px solid var(--border-color);background:var(--surface-muted);border-radius:12px;white-space:pre-line}.analysis-box p[data-v-05f7f8e9]{margin:6px 0}.media-section-title[data-v-05f7f8e9]{margin-top:8px;margin-bottom:6px;font-weight:700;color:var(--text-primary)}.answer-gallery[data-v-05f7f8e9],.analysis-gallery[data-v-05f7f8e9]{justify-content:flex-start;margin-top:8px}.answer-gallery .media-frame[data-v-05f7f8e9]{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-width:0;max-height:none}.answer-gallery .media-image[data-v-05f7f8e9]{width:auto;max-width:100%;height:auto;max-height:620px;object-fit:contain;margin:0 auto}.analysis-gallery .media-frame[data-v-05f7f8e9]{width:min(100%,720px);max-height:380px}.audio-box[data-v-05f7f8e9]{display:flex;flex-direction:column;gap:8px}.topic-generator[data-v-05f7f8e9]{margin:12px 0 18px;padding:14px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg-soft)}.topic-generator-row[data-v-05f7f8e9]{display:flex;gap:10px}.topic-generator-row input[data-v-05f7f8e9]{flex:1}.topic-generator-counts[data-v-05f7f8e9]{display:flex;gap:12px;margin-top:10px}.topic-generator-counts input[data-v-05f7f8e9]{width:72px;margin-left:6px}.topic-generator-list[data-v-05f7f8e9]{margin-top:10px;padding-left:20px}.topic-generator-error[data-v-05f7f8e9]{color:#d64b4b;margin-top:8px}.topic-generator-paper-id[data-v-05f7f8e9]{margin-top:8px;font-weight:600}.topic-search-summary[data-v-05f7f8e9],.topic-search-empty[data-v-05f7f8e9]{margin-top:8px}.topic-search-results[data-v-05f7f8e9]{margin-top:10px;padding-left:0;list-style:none;display:grid;gap:10px}.topic-search-item[data-v-05f7f8e9]{border:1px solid var(--border-color);border-radius:8px;padding:10px;background:var(--surface)}.topic-search-head[data-v-05f7f8e9]{display:flex;gap:6px;align-items:center}.topic-search-text[data-v-05f7f8e9]{margin:6px 0}.topic-tag-list[data-v-05f7f8e9]{display:flex;flex-wrap:wrap;gap:6px}.tag-chip[data-v-05f7f8e9]{border:1px solid var(--border-color);border-radius:999px;padding:2px 8px;cursor:pointer;background:var(--surface-muted)}.tag-empty[data-v-05f7f8e9]{color:var(--text-secondary);font-size:.9rem}.topic-edit-row[data-v-05f7f8e9]{margin-top:8px;display:flex;gap:8px}.topic-edit-row input[data-v-05f7f8e9]{flex:1}.start-topic-paper[data-v-05f7f8e9]{margin-top:8px}.topic-batch-panel[data-v-05f7f8e9]{margin-top:12px;border-top:1px dashed var(--border-color);padding-top:10px}.batch-result[data-v-05f7f8e9]{margin-top:8px}.audio-error[data-v-05f7f8e9]{margin:0;color:var(--error-text);font-size:.85rem}.ai-grading-box[data-v-05f7f8e9]{margin-top:18px;padding:16px;border:1px solid var(--border-color);background:var(--surface-muted);border-radius:12px}.ai-grading-box h4[data-v-05f7f8e9]{margin:0 0 12px;font-size:1.05rem;color:var(--text-primary)}.ai-score-row[data-v-05f7f8e9]{display:flex;justify-content:space-between;color:var(--text-primary);margin-bottom:6px;gap:12px}.ai-score-row strong[data-v-05f7f8e9]{color:var(--primary-color)}.ai-score-grid[data-v-05f7f8e9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.ai-score-item[data-v-05f7f8e9]{background:var(--surface);border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}.ai-feedback[data-v-05f7f8e9]{margin-top:8px;color:var(--text-primary)}.ai-feedback p[data-v-05f7f8e9]{margin:6px 0 0;white-space:pre-wrap}.ai-breakdown[data-v-05f7f8e9]{margin-top:12px}.ai-breakdown ul[data-v-05f7f8e9]{margin:6px 0 0;padding-left:18px}.ai-breakdown li[data-v-05f7f8e9]{margin-bottom:10px}.breakdown-title[data-v-05f7f8e9]{display:flex;justify-content:space-between;gap:12px}.ai-breakdown p[data-v-05f7f8e9]{margin:4px 0 0;white-space:pre-wrap;color:var(--text-secondary)}.ai-placeholder[data-v-05f7f8e9]{margin:0;color:var(--text-secondary)}.correct-answer[data-v-05f7f8e9]{color:var(--primary-color);font-weight:700}.wrong-answer[data-v-05f7f8e9]{color:var(--error-text);font-weight:700}.controls[data-v-05f7f8e9]{display:flex;gap:10px;margin-top:18px}.ghost[data-v-05f7f8e9]{background:var(--surface);border:1px solid var(--border-color);padding:10px 14px;border-radius:10px;color:var(--text-primary);cursor:pointer}:root[data-theme=dark]{color:#fff}.ghost[data-v-05f7f8e9]:disabled{opacity:.6;cursor:not-allowed}.aside-right[data-v-05f7f8e9]{align-self:start}.score-card[data-v-05f7f8e9]{border:1px solid var(--border-color);background:var(--surface);border-radius:16px;box-shadow:0 8px 26px #0000000f;padding:16px 18px;margin-bottom:16px}.score-row[data-v-05f7f8e9]{display:flex;align-items:center;justify-content:space-between;font-size:1rem;color:var(--text-secondary)}.score-row+.score-row[data-v-05f7f8e9]{margin-top:10px}.score-row strong[data-v-05f7f8e9]{font-size:1.2rem;color:var(--primary-color)}.score-row .accuracy[data-v-05f7f8e9]{color:var(--success-text)}.grading-status-text[data-v-05f7f8e9]{margin:12px 0 0;font-size:.9rem;color:var(--text-secondary)}@media(max-width:1100px){.quiz-shell[data-v-05f7f8e9]{grid-template-columns:1fr}.aside-right[data-v-05f7f8e9]{order:-1;margin-bottom:20px}.nav-left[data-v-05f7f8e9]{display:none}}.option-ai-tools[data-v-05f7f8e9]{margin:12px 0;display:flex;gap:10px;align-items:center}.tool-success[data-v-05f7f8e9]{color:#1f8b4c;font-size:13px}.tool-error[data-v-05f7f8e9]{color:#c0392b;font-size:13px}.option-explanation[data-v-05f7f8e9]{margin-top:6px;color:#555;font-size:13px;line-height:1.5}.option-explanation-editor[data-v-05f7f8e9]{margin-top:8px;display:grid;gap:8px}.option-explanation-editor label[data-v-05f7f8e9]{display:grid;gap:4px;font-size:12px;color:#555}.option-explanation-editor textarea[data-v-05f7f8e9]{width:100%;min-height:56px;resize:vertical;border:1px solid var(--border-color);border-radius:8px;padding:6px 8px;font-size:13px;color:var(--text-primary);background:var(--surface)}@media(max-width:640px){.question-gallery .media-frame[data-v-05f7f8e9],.answer-gallery .media-frame[data-v-05f7f8e9],.analysis-gallery .media-frame[data-v-05f7f8e9],.option-gallery .media-frame[data-v-05f7f8e9]{width:100%;min-width:100%}}.selection-page[data-v-0dd9bae4]{width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;min-height:340px}.selection-nav[data-v-0dd9bae4]{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:24px;padding:1.1rem 2rem;margin-bottom:1.8rem;box-shadow:0 12px 30px #00000012;border:1px solid var(--border-color)}.nav-brand[data-v-0dd9bae4]{display:flex;align-items:center;gap:1.6rem}.nav-logo[data-v-0dd9bae4]{font-size:1.8rem;font-weight:700;letter-spacing:.4px}.nav-links[data-v-0dd9bae4]{display:flex;gap:1.1rem;color:var(--text-secondary);font-weight:500}.nav-links span[data-v-0dd9bae4]{padding:.45rem .9rem;border-radius:999px;transition:background .2s ease,color .2s ease;cursor:pointer}.nav-links span[data-v-0dd9bae4]:hover{background:#4a78f51f;color:var(--primary-color)}.nav-actions[data-v-0dd9bae4]{display:flex;align-items:center;gap:.75rem}.nav-icon-button[data-v-0dd9bae4]{border:none;background:var(--surface-muted);padding:.45rem .6rem;border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 14px #6a6bff2e}.nav-icon-button[data-v-0dd9bae4]:hover{transform:translateY(-1px);box-shadow:0 10px 18px #6a6bff38}.icon-avatar[data-v-0dd9bae4]{font-size:1.2rem;color:var(--primary-color)}.nav-button[data-v-0dd9bae4]{background:var(--surface-muted);border:1px solid var(--border-color);color:var(--primary-color);padding:.55rem 1.4rem;border-radius:999px;font-weight:600;cursor:pointer;transition:all .25s ease}.nav-button[data-v-0dd9bae4]:hover{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color);box-shadow:0 10px 24px #4a78f540}.selection-container[data-v-0dd9bae4]{width:100%;background:var(--surface);padding:0;border-radius:18px;box-shadow:0 12px 40px #0000000f;border:1px solid var(--border-color);display:flex;flex-direction:column;animation:fadeIn-0dd9bae4 .5s ease}.stage-top[data-v-0dd9bae4]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.breadcrumbs[data-v-0dd9bae4]{margin-left:auto;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.crumb[data-v-0dd9bae4]{cursor:pointer}.crumb.active[data-v-0dd9bae4]{color:var(--text-primary);font-weight:600;cursor:default}.stage-body[data-v-0dd9bae4]{padding:2rem 1.5rem 2.5rem;text-align:center}.stage-body h2[data-v-0dd9bae4]{margin:0 0 2.2rem;font-size:2rem;font-weight:700;color:var(--text-primary)}.subject-cards-grid[data-v-0dd9bae4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;justify-content:center}.subject-card[data-v-0dd9bae4]{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px #0000000f;transition:all .25s ease;cursor:pointer;display:flex;flex-direction:column;min-height:340px}.completion-badge[data-v-0dd9bae4]{position:absolute;top:14px;left:14px;background:#34c759;color:var(--text-on-primary);padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.4px;box-shadow:0 6px 18px #34c7593d;pointer-events:none}.subject-card[data-v-0dd9bae4]:hover{transform:translateY(-6px);box-shadow:0 16px 36px #0000001f;border-color:var(--primary-color)}.card-image-container[data-v-0dd9bae4]{height:180px;background:var(--surface-muted);display:flex;justify-content:center;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.subject-logo[data-v-0dd9bae4]{max-height:120px;max-width:80%;object-fit:contain}.card-content[data-v-0dd9bae4]{padding:1.5rem;text-align:left;flex-grow:1}.card-content h3[data-v-0dd9bae4]{margin:0 0 .5rem;font-size:1.4rem;color:var(--text-primary)}.card-content p[data-v-0dd9bae4]{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.card-footer[data-v-0dd9bae4]{background:var(--surface-muted);color:var(--text-primary);padding:.9rem 1.2rem;font-weight:600;font-size:1.05rem;text-align:center;border-top:1px solid var(--border-color);margin-top:auto}.back-button[data-v-0dd9bae4]{margin:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-weight:500;font-size:1rem;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.back-button[data-v-0dd9bae4]:hover{color:var(--primary-color)}@media(max-width:900px){.selection-nav[data-v-0dd9bae4]{flex-wrap:wrap;row-gap:.75rem;padding:1rem 1.4rem}.nav-links[data-v-0dd9bae4]{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.6rem}.nav-actions[data-v-0dd9bae4]{order:2;width:100%;justify-content:flex-end}.stage-top[data-v-0dd9bae4]{align-items:flex-start}}@keyframes fadeIn-0dd9bae4{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.teacher-page[data-v-e55b808d]{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:1rem}.teacher-header[data-v-e55b808d]{background:var(--surface);border-radius:20px;padding:1.5rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 12px 32px #0000000f}.header-left[data-v-e55b808d]{display:flex;gap:1rem;align-items:center}.avatar[data-v-e55b808d]{width:56px;height:56px;border-radius:50%;background:var(--surface-muted);display:grid;place-items:center;font-size:1.8rem}h1[data-v-e55b808d]{margin:.2rem 0;font-size:1.8rem}.muted[data-v-e55b808d]{color:var(--text-secondary);margin:.2rem 0}.eyebrow[data-v-e55b808d]{text-transform:uppercase;letter-spacing:1px;font-size:.75rem;color:var(--primary-color);margin:0}.header-actions[data-v-e55b808d]{display:flex;gap:.5rem}.filters-card[data-v-e55b808d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;background:var(--surface);border-radius:16px;padding:1rem 1.2rem;box-shadow:0 10px 24px #0000000a}.field[data-v-e55b808d]{display:flex;flex-direction:column;gap:.35rem}.field label[data-v-e55b808d]{font-weight:600}.field select[data-v-e55b808d],.field input[data-v-e55b808d]{padding:.6rem .7rem;border:1px solid var(--border-color);border-radius:10px;font-size:1rem}.field.hint[data-v-e55b808d]{background:var(--surface-muted);border:1px dashed var(--border-color);padding:.8rem;border-radius:12px}.cards-grid[data-v-e55b808d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.card[data-v-e55b808d]{background:var(--card-bg);border-radius:16px;padding:1.2rem 1.4rem;box-shadow:0 12px 28px #0000000d;display:flex;flex-direction:column;gap:.8rem}.card-header[data-v-e55b808d]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.badge[data-v-e55b808d]{background:var(--surface-muted);color:var(--primary-color);padding:.3rem .75rem;border-radius:999px;font-weight:700}.names-textarea[data-v-e55b808d]{width:100%;border-radius:12px;border:1px solid var(--border-color);padding:.8rem;font-size:1rem;min-height:120px;resize:vertical}.inline-fields[data-v-e55b808d]{display:flex;gap:1rem;align-items:flex-end}.inline-fields .field[data-v-e55b808d]{flex:1}button.primary[data-v-e55b808d]{background:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:12px;padding:.75rem 1rem;font-weight:700;cursor:pointer;min-width:150px}button.ghost[data-v-e55b808d]{border:1px solid var(--border-color);background:var(--surface-muted);color:var(--primary-color);border-radius:12px;padding:.65rem .9rem;cursor:pointer}button[data-v-e55b808d]:disabled{opacity:.6;cursor:not-allowed}.student-list[data-v-e55b808d]{display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto;padding-right:.4rem}.student-row[data-v-e55b808d]{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.65rem;border:1px solid var(--border-color);border-radius:12px}.score-chip[data-v-e55b808d]{background:var(--surface-muted);color:var(--primary-color);padding:.35rem .65rem;border-radius:10px;font-weight:700}.student-record-controls[data-v-e55b808d]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.checkbox-inline[data-v-e55b808d]{display:flex;gap:.4rem;align-items:center}.student-search-input[data-v-e55b808d]{min-width:220px;padding:.6rem .7rem;border:1px solid var(--border-color);border-radius:10px}.search-msg[data-v-e55b808d]{color:var(--error-text);margin:0}.student-records-grid[data-v-e55b808d]{display:grid;grid-template-columns:320px 1fr;gap:1rem}.student-picker[data-v-e55b808d]{border:1px solid var(--border-color);border-radius:12px;padding:.6rem;max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:.45rem}.student-picker-row[data-v-e55b808d]{border:1px solid var(--border-color);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.student-picker-row.active[data-v-e55b808d]{background:var(--surface-muted);outline:2px solid var(--primary-color)}.student-record-list[data-v-e55b808d]{border:1px solid var(--border-color);border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.8rem}.summary-chips[data-v-e55b808d]{display:flex;flex-wrap:wrap;gap:.5rem}.records-table[data-v-e55b808d]{display:flex;flex-direction:column;gap:.4rem}.table-head[data-v-e55b808d],.table-row[data-v-e55b808d]{display:grid;grid-template-columns:1.2fr 1.4fr .8fr 1.4fr;gap:.5rem;padding:.7rem;border-bottom:1px solid var(--border-color)}.record-detail-head[data-v-e55b808d],.record-detail-row[data-v-e55b808d]{grid-template-columns:1.3fr .8fr .8fr 1.1fr auto;align-items:center}.table-head[data-v-e55b808d]{background:var(--surface-muted);font-weight:700}.clickable-row[data-v-e55b808d]{cursor:pointer}.notice[data-v-e55b808d]{padding:.9rem 1rem;border-radius:12px;font-weight:600}.notice.success[data-v-e55b808d]{background:var(--success-bg);color:var(--success-text)}.notice.error[data-v-e55b808d]{background:var(--error-bg);color:var(--error-text)}@media(max-width:900px){.student-records-grid[data-v-e55b808d]{grid-template-columns:1fr}}@media(max-width:720px){.inline-fields[data-v-e55b808d]{flex-direction:column}.table-head[data-v-e55b808d],.table-row[data-v-e55b808d],.record-detail-head[data-v-e55b808d],.record-detail-row[data-v-e55b808d]{grid-template-columns:repeat(2,1fr)}}.selection-page[data-v-62ddb251]{width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;min-height:340px}.selection-nav[data-v-62ddb251]{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:24px;padding:1.1rem 2rem;margin-bottom:1.8rem;box-shadow:0 12px 30px #00000012;border:1px solid var(--border-color)}.nav-brand[data-v-62ddb251]{display:flex;align-items:center;gap:1.6rem}.nav-logo[data-v-62ddb251]{font-size:1.8rem;font-weight:700;letter-spacing:.4px}.nav-links[data-v-62ddb251]{display:flex;gap:1.1rem;color:var(--text-secondary);font-weight:500}.nav-links span[data-v-62ddb251]{padding:.45rem .9rem;border-radius:999px;transition:background .2s ease,color .2s ease;cursor:pointer}.nav-links span[data-v-62ddb251]:hover,.nav-links .active[data-v-62ddb251]{background:#4a78f51f;color:var(--primary-color)}.nav-actions[data-v-62ddb251]{display:flex;align-items:center;gap:.75rem}.nav-button[data-v-62ddb251]{background:var(--surface-muted);border:1px solid var(--border-color);color:var(--primary-color);padding:.55rem 1.4rem;border-radius:999px;font-weight:600;cursor:pointer;transition:all .25s ease}.nav-button[data-v-62ddb251]:hover{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color);box-shadow:0 10px 24px #4a78f540}.selection-container[data-v-62ddb251]{width:100%;background:var(--surface);padding:0;border-radius:18px;box-shadow:0 12px 40px #0000000f;border:1px solid var(--border-color);display:flex;flex-direction:column;animation:fadeIn .5s ease}.stage-top[data-v-62ddb251]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.breadcrumbs[data-v-62ddb251]{color:var(--text-secondary);font-weight:600}.filter-buttons[data-v-62ddb251]{display:flex;flex-wrap:wrap;gap:.5rem}.filter-button[data-v-62ddb251]{border:1px solid var(--border-color);background:var(--surface-muted);color:var(--text-secondary);border-radius:999px;padding:.35rem .9rem;cursor:pointer;transition:all .2s ease}.filter-button.active[data-v-62ddb251],.filter-button[data-v-62ddb251]:hover{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.stage-body[data-v-62ddb251]{padding:2rem 1.5rem 2.5rem;text-align:center}.stage-body h2[data-v-62ddb251]{margin:0 0 1.5rem;font-size:2rem;font-weight:700;color:var(--text-primary)}.empty-state[data-v-62ddb251]{color:var(--text-secondary);padding:1rem 0}.subject-cards-grid[data-v-62ddb251]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;justify-content:center}.subject-card[data-v-62ddb251]{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px #0000000f;transition:all .25s ease;cursor:pointer;display:flex;flex-direction:column;min-height:240px}.subject-card[data-v-62ddb251]:hover{transform:translateY(-6px);box-shadow:0 16px 36px #0000001f;border-color:var(--primary-color)}.card-image-container[data-v-62ddb251]{height:140px;background:var(--surface-muted);display:flex;justify-content:center;align-items:center;padding:1rem}.subject-logo[data-v-62ddb251]{height:80px;width:80px;object-fit:contain}.card-content[data-v-62ddb251]{padding:0 1.2rem 1rem;flex:1}.card-content h3[data-v-62ddb251]{margin:.6rem 0 .4rem;font-size:1.1rem;color:var(--text-primary)}.card-content p[data-v-62ddb251]{margin:0;color:var(--text-secondary)}.card-footer[data-v-62ddb251]{padding:.9rem 1.2rem;background:var(--surface-muted);color:var(--primary-color);font-weight:700;border-top:1px solid var(--border-color)}
