.page-title[data-v-ea76e751]{margin:8px 0 16px;font-size:24px}.stats[data-v-ea76e751]{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.stat[data-v-ea76e751]{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;display:flex}.stat b[data-v-ea76e751]{color:var(--primary);font-size:20px}.stat span[data-v-ea76e751]{color:var(--muted);font-size:12px}.actions[data-v-ea76e751]{flex-direction:column;gap:10px;display:flex}.center[data-v-ea76e751]{text-align:center}.question[data-v-d27ff55c]{flex-direction:column;gap:14px;display:flex}.stem[data-v-d27ff55c]{margin:0;font-size:17px;font-weight:500;line-height:1.7}.material[data-v-d27ff55c]{border:1px solid var(--border);color:#334155;background:#f8fafc;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.7}.material summary[data-v-d27ff55c]{cursor:pointer;color:var(--text);font-weight:600}.material-para[data-v-d27ff55c]{margin:8px 0}.q-img[data-v-d27ff55c]{border-radius:8px;max-width:100%;height:auto;display:block}.options[data-v-d27ff55c]{flex-direction:column;gap:8px;display:flex}.option[data-v-d27ff55c]{text-align:left;border:1.5px solid var(--border);color:var(--text);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:15px;line-height:1.6;display:flex}.option .letter[data-v-d27ff55c]{color:var(--primary);flex-shrink:0;font-weight:700}.option.selected[data-v-d27ff55c]{border-color:var(--primary);background:var(--primary-soft)}.option.correct[data-v-d27ff55c]{border-color:var(--green);background:#ecfdf5}.option.wrong[data-v-d27ff55c]{border-color:var(--red);background:#fef2f2}.opt-img[data-v-d27ff55c]{max-width:220px;height:auto}.explanation[data-v-d27ff55c]{border-top:1px dashed var(--border);padding-top:12px}.ans-line[data-v-d27ff55c]{align-items:center;gap:10px;margin:0 0 8px;display:flex}.ans[data-v-d27ff55c]{font-weight:600}.exp-text[data-v-d27ff55c]{color:#334155;margin:0;font-size:15px;line-height:1.8}.b-green[data-v-d27ff55c]{color:#065f46;background:#d1fae5}.b-red[data-v-d27ff55c]{color:#991b1b;background:#fee2e2}.surface[data-v-e2191a72]{pointer-events:none;overflow:hidden}.surface.fit[data-v-e2191a72]{position:relative}.layer-canvas[data-v-e2191a72]{touch-action:none;pointer-events:auto;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:0}.layer-canvas.pass[data-v-e2191a72],.ink-canvas[data-v-e2191a72]{pointer-events:none}.toolbar[data-v-e2191a72]{z-index:5;pointer-events:auto;border:1px solid var(--border);background:#fffffff7;border-radius:14px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0000001f}.toolbar.pen-down[data-v-e2191a72]{pointer-events:none}.tb-row[data-v-e2191a72]{align-items:center;gap:6px;display:flex}.tool-btn[data-v-e2191a72]{border:1px solid var(--border);color:var(--text);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:8px;padding:6px 10px;font-size:13px}.tool-btn.on[data-v-e2191a72]{background:var(--primary);border-color:var(--primary);color:#fff}.tool-btn[data-v-e2191a72]:disabled{opacity:.5}.tb-sep[data-v-e2191a72]{background:var(--border);width:1px;height:20px;margin:0 2px}.tb-spacer[data-v-e2191a72]{flex:1}.brush-select[data-v-e2191a72]{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;max-width:132px;padding:5px 8px;font-size:13px}.color-dot[data-v-e2191a72]{border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.color-dot.selected[data-v-e2191a72]{border-color:#0f172a;box-shadow:inset 0 0 0 2px #fff}.zoom-pct[data-v-e2191a72]{text-align:center;min-width:42px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.quiz[data-v-6ba97a25]{height:100%}.page-title[data-v-6ba97a25]{margin:8px 0 16px;font-size:22px}.field-group[data-v-6ba97a25]{margin-bottom:12px}select[data-v-6ba97a25]{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-size:15px}.shuffle[data-v-6ba97a25]{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:14px;display:flex}.quiz-run[data-v-6ba97a25]{flex-direction:column;height:100%;display:flex}.run-bar[data-v-6ba97a25]{border-bottom:1px solid var(--border);z-index:10;background:#fff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.run-bar.blocked[data-v-6ba97a25],.layers-panel.blocked[data-v-6ba97a25]{pointer-events:none}.bar-btn[data-v-6ba97a25]{padding:7px 12px;font-size:13px}.bar-btn[data-v-6ba97a25]:disabled{opacity:.45}.bar-progress[data-v-6ba97a25]{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.scope-tag[data-v-6ba97a25]{color:var(--muted);background:#f1f5f9;border-radius:999px;padding:3px 10px;font-size:12px}.score[data-v-6ba97a25]{gap:8px;margin-left:auto;font-size:14px;font-weight:600;display:flex}.ok[data-v-6ba97a25]{color:var(--green)}.no[data-v-6ba97a25]{color:var(--red)}.notes-btn.on[data-v-6ba97a25]{background:#fef9c3;border-color:#fde047}.q-scale[data-v-6ba97a25]{align-items:center;gap:6px;display:flex}.q-label[data-v-6ba97a25]{font-size:12px}.zoom-pct[data-v-6ba97a25]{text-align:center;min-width:42px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.stage[data-v-6ba97a25]{flex:1;min-height:0;position:relative;overflow:hidden}.world[data-v-6ba97a25]{transform-origin:0 0;grid-template-columns:1.15fr 1fr;display:grid;position:absolute;inset:0}.question-panel[data-v-6ba97a25]{background:#fff;padding:16px;overflow:auto}.question-zoom[data-v-6ba97a25]{transform-origin:0 0}.scratch-panel[data-v-6ba97a25]{border-left:1px solid var(--border);background:linear-gradient(#fbfdff,#fbfdff) padding-box padding-box,repeating-linear-gradient(0deg,#0000,#0000 27px,#dbe3ec 27px 28px),repeating-linear-gradient(90deg,#0000,#0000 27px,#dbe3ec 27px 28px);position:relative}.scratch-title[data-v-6ba97a25]{color:#94a3b8;letter-spacing:2px;margin:0;font-size:12px;position:absolute;top:10px;left:14px}.draw-surface[data-v-6ba97a25]{z-index:1;position:absolute;inset:0}.layers-panel[data-v-6ba97a25]{z-index:2;border:1px solid var(--border);background:#fffffff2;border-radius:12px;min-width:132px;padding:8px;position:absolute;top:12px;right:12px;box-shadow:0 2px 12px #00000014}.lp-head[data-v-6ba97a25]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.lp-head b[data-v-6ba97a25]{font-size:13px}.lp-add[data-v-6ba97a25]{background:var(--primary-soft);color:var(--primary);border:none;border-radius:8px;padding:4px 8px;font-size:12px}.lp-item[data-v-6ba97a25]{width:100%;color:var(--text);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.lp-item.active[data-v-6ba97a25]{background:var(--primary-soft)}.lp-name[data-v-6ba97a25]{text-align:left;flex:1}.lp-eye[data-v-6ba97a25]{font-size:13px;line-height:1}.lp-eye.off[data-v-6ba97a25]{opacity:.55}.done[data-v-6ba97a25]{text-align:center;padding:40px 20px}.done h1[data-v-6ba97a25]{margin:0 0 12px}.big[data-v-6ba97a25]{margin:6px 0;font-size:18px}.done-btns[data-v-6ba97a25]{justify-content:center;gap:10px;margin-top:20px;display:flex}@media (width<=900px){.world[data-v-6ba97a25]{grid-template-rows:1.25fr 1fr;grid-template-columns:1fr}.scratch-panel[data-v-6ba97a25]{border-left:none;border-top:1px solid var(--border)}}.head[data-v-e7f46a4c]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.page-title[data-v-e7f46a4c]{margin:8px 0;font-size:22px}.crumb[data-v-e7f46a4c]{color:var(--muted);margin:0 0 10px;font-size:13px}.grid[data-v-e7f46a4c]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.item[data-v-e7f46a4c]{text-align:left;width:100%;color:var(--text);flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;display:flex}.item span[data-v-e7f46a4c]{color:var(--muted);font-size:12px}.row[data-v-e7f46a4c]{text-align:left;width:100%;color:var(--text);justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.row-main[data-v-e7f46a4c]{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.row-meta[data-v-e7f46a4c]{flex-shrink:0;gap:4px;display:flex}.detail-actions[data-v-e7f46a4c]{align-items:center;gap:10px;margin-top:14px;display:flex}.strokes-block[data-v-e7f46a4c]{margin-top:14px}.strokes-title[data-v-e7f46a4c]{margin:0 0 6px}.b-red[data-v-e7f46a4c]{color:#991b1b;background:#fee2e2}.b-green[data-v-e7f46a4c]{color:#065f46;background:#d1fae5}.b-gray[data-v-e7f46a4c]{color:#64748b;background:#f1f5f9}.page-title[data-v-4645a497]{margin:8px 0 16px;font-size:22px}.field-group[data-v-4645a497]{margin-bottom:12px}.line[data-v-4645a497]{margin:0 0 6px;font-size:15px}.ok[data-v-4645a497]{color:#16a34a;font-weight:600}.off[data-v-4645a497]{color:var(--red);font-weight:600}.pair-link[data-v-4645a497]{word-break:break-all;-webkit-user-select:all;user-select:all;background:#f1f5f9;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.qr-wrap[data-v-4645a497]{justify-content:center;margin:12px 0 4px;display:flex}.qr-wrap img[data-v-4645a497]{background:#fff;border-radius:8px;width:200px;height:200px;padding:8px;box-shadow:0 1px 6px #0000001f}.btn-row[data-v-4645a497]{gap:10px;margin-top:4px;display:flex}.btn-row .btn[data-v-4645a497]{flex:1}.sync-row[data-v-4645a497]{margin-top:12px}.btn[data-v-4645a497]:disabled{opacity:.55}.status[data-v-4645a497]{color:var(--primary);margin:8px 0 0;font-size:14px}.btn-col[data-v-4645a497]{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.file-label[data-v-4645a497]{cursor:pointer}.danger[data-v-4645a497]{color:var(--red);border-color:#fecaca}.app[data-v-e0af53d6]{flex-direction:column;height:100dvh;display:flex}.content[data-v-e0af53d6]{flex:1;padding:16px 16px 12px;overflow-y:auto}.content.no-pad[data-v-e0af53d6]{padding:0;overflow:hidden}.error-banner[data-v-e0af53d6]{color:#991b1b;background:#fee2e2;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.loading[data-v-e0af53d6]{text-align:center;color:#64748b;padding-top:80px;font-size:15px}.tabbar[data-v-e0af53d6]{padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;display:flex}.tabbar button[data-v-e0af53d6]{color:#64748b;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:12px;display:flex}.tabbar button.active[data-v-e0af53d6]{color:#2563eb;background:#eff6ff}.tab-icon[data-v-e0af53d6]{font-size:20px;line-height:1}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#2563eb;--primary-soft:#eff6ff;--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--green:#059669;--red:#dc2626}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button{cursor:pointer;font-family:inherit}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:16px}.card-title{margin:0 0 12px;font-size:15px;font-weight:600}.btn{border:1px solid var(--border);color:var(--text);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;display:inline-flex}.btn:active{opacity:.8}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-block{width:100%}.muted{color:var(--muted);font-size:13px}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}input[type=text],input[type=password],input[type=url]{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-size:15px}label.field{color:var(--muted);margin:0 0 4px;font-size:13px;display:block}
