.modal-mask[data-v-4f15a421]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card[data-v-4f15a421]{background:var(--bg);border-radius:12px;width:360px;max-width:100%;padding:24px;position:relative;box-shadow:0 12px 36px #0000002e}.close-btn[data-v-4f15a421]{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--fg-muted);line-height:1;padding:4px 8px}.close-btn[data-v-4f15a421]:hover{color:var(--fg)}h2[data-v-4f15a421]{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--fg)}.state-block[data-v-4f15a421]{padding:28px 0;text-align:center;color:var(--fg)}.state-block.ok[data-v-4f15a421]{color:var(--success);font-weight:500}.state-block.ok .welcome[data-v-4f15a421]{margin-top:8px;font-size:14px;color:var(--success)}.state-block .error[data-v-4f15a421]{color:var(--danger);margin-bottom:12px}.primary[data-v-4f15a421]{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px}.primary[data-v-4f15a421]:hover{filter:brightness(.95)}.login-flow[data-v-4f15a421]{display:flex;flex-direction:column;gap:14px}.qr-wrap[data-v-4f15a421]{display:flex;flex-direction:column;align-items:center;gap:8px}.qr[data-v-4f15a421]{width:200px;height:200px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);object-fit:contain}.qr-hint[data-v-4f15a421]{font-size:12px;color:var(--fg-muted);text-align:center;line-height:1.5}.code-wrap[data-v-4f15a421]{padding:12px 14px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.code-label[data-v-4f15a421]{font-size:12px;color:var(--fg-muted);margin-bottom:6px}.code-row[data-v-4f15a421]{display:flex;align-items:center;gap:12px;justify-content:space-between}.code[data-v-4f15a421]{font-size:26px;font-weight:600;letter-spacing:4px;font-family:var(--mono);color:var(--accent)}.copy-btn[data-v-4f15a421]{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--fg);white-space:nowrap}.copy-btn[data-v-4f15a421]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.steps[data-v-4f15a421]{padding-left:20px;margin:0;font-size:13px;color:var(--fg);line-height:1.9}.steps strong[data-v-4f15a421]{color:var(--accent);font-family:var(--mono);letter-spacing:1px}.status-line[data-v-4f15a421]{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--fg-muted)}.dot[data-v-4f15a421]{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%}.dot.pulse[data-v-4f15a421]{animation:pulse-4f15a421 1.4s ease-in-out infinite}@keyframes pulse-4f15a421{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.overlay[data-v-561fffaa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal[data-v-561fffaa]{width:100%;max-width:520px;max-height:90vh;background:var(--bg);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003}.modal-head[data-v-561fffaa]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2[data-v-561fffaa]{margin:0;font-size:17px;font-weight:600;color:var(--fg)}.x[data-v-561fffaa]{background:none;border:none;font-size:24px;line-height:1;color:var(--fg-muted);cursor:pointer;padding:0 4px}.x[data-v-561fffaa]:hover{color:var(--fg)}.modal-body[data-v-561fffaa]{overflow-y:auto;padding:4px 20px 20px}.sec[data-v-561fffaa]{padding:16px 0 4px}.sec-title[data-v-561fffaa]{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--fg)}.sec-hint[data-v-561fffaa]{margin:0 0 12px;font-size:12px;color:var(--fg-muted);line-height:1.5}.row[data-v-561fffaa]{display:flex;gap:8px;align-items:center}input[type=text][data-v-561fffaa],input[type=number][data-v-561fffaa],input[data-v-561fffaa]:not([type]){flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;box-sizing:border-box;min-width:0}input[data-v-561fffaa]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4a90e226}.score-input[data-v-561fffaa]{max-width:110px;flex:0 1 110px}.score-suffix[data-v-561fffaa]{color:var(--fg-muted);font-size:13px}.btn[data-v-561fffaa]{padding:9px 16px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap}.btn[data-v-561fffaa]:hover{background:var(--bg-soft)}.btn[data-v-561fffaa]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-561fffaa]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500}.btn.primary[data-v-561fffaa]:hover{background:#3a7fd0;border-color:#3a7fd0}.btn.link[data-v-561fffaa]{background:none;border:none;color:var(--accent);padding:4px 6px;font-size:13px}.btn.link[data-v-561fffaa]:hover{background:none;text-decoration:underline}.msg[data-v-561fffaa]{margin:8px 0 0;font-size:13px;color:var(--fg-muted)}.msg.ok[data-v-561fffaa]{color:var(--success)}.msg.err[data-v-561fffaa]{color:var(--danger)}.divider[data-v-561fffaa]{border:none;border-top:1px dashed var(--border);margin:4px 0}.selected-school[data-v-561fffaa]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--accent-soft);border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.ss-body[data-v-561fffaa]{display:flex;flex-direction:column;gap:2px;min-width:0}.ss-name[data-v-561fffaa]{font-weight:600;color:var(--fg);font-size:14px}.ss-meta[data-v-561fffaa]{font-size:12px;color:var(--fg-muted)}.school-list[data-v-561fffaa]{list-style:none;padding:0;margin:8px 0 0;border:1px solid var(--border);border-radius:8px;max-height:260px;overflow-y:auto}.school-list li[data-v-561fffaa]{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.school-list li[data-v-561fffaa]:last-child{border-bottom:none}.school-list li[data-v-561fffaa]:hover{background:var(--bg-soft)}.sl-name[data-v-561fffaa]{font-weight:500;color:var(--fg);font-size:14px}.sl-meta[data-v-561fffaa]{font-size:12px;color:var(--fg-muted);display:flex;gap:4px}@media (max-width: 480px){.modal[data-v-561fffaa]{max-height:100vh;border-radius:0}.row[data-v-561fffaa]{flex-wrap:wrap}.row>input[data-v-561fffaa]{flex:1 1 100%}.row>.btn[data-v-561fffaa]{flex:1 1 auto}.score-input[data-v-561fffaa]{flex:1 1 100px}}.overlay[data-v-b27f7944]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal[data-v-b27f7944]{width:100%;max-width:520px;max-height:90vh;background:var(--bg);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003}.modal-head[data-v-b27f7944]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2[data-v-b27f7944]{margin:0;font-size:17px;font-weight:600;color:var(--fg)}.x[data-v-b27f7944]{background:none;border:none;font-size:24px;line-height:1;color:var(--fg-muted);cursor:pointer;padding:0 4px}.x[data-v-b27f7944]:hover{color:var(--fg)}.modal-body[data-v-b27f7944]{overflow-y:auto;padding:16px 20px 20px}.balance-card[data-v-b27f7944]{background:linear-gradient(135deg,#4a90e2,#5aa3f0);color:#fff;padding:16px 20px;border-radius:10px;display:flex;flex-direction:column;gap:4px}.bc-label[data-v-b27f7944]{font-size:12px;opacity:.85}.bc-value[data-v-b27f7944]{font-size:28px;font-weight:600;line-height:1.2}.redeem[data-v-b27f7944]{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft)}.redeem-row[data-v-b27f7944]{display:flex;gap:8px}.redeem-input[data-v-b27f7944]{flex:1;min-width:0;padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.redeem-btn[data-v-b27f7944]{flex:0 0 auto;padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:#4a90e2;border:none;border-radius:6px;cursor:pointer}.redeem-btn[data-v-b27f7944]:hover{background:#3f82d0}.redeem-btn[data-v-b27f7944]:disabled{opacity:.5;cursor:not-allowed}.redeem-msg[data-v-b27f7944]{margin:8px 0 0;font-size:12px;line-height:1.5}.redeem-msg.ok[data-v-b27f7944]{color:var(--success)}.redeem-msg.err[data-v-b27f7944]{color:var(--danger)}.buy-toggle[data-v-b27f7944]{margin-top:12px;width:100%;padding:8px;font-size:13px;font-weight:500;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer}.buy-toggle[data-v-b27f7944]:hover{background:var(--bg-soft)}.buy-panel[data-v-b27f7944]{margin-top:12px}.buy-tabs[data-v-b27f7944]{display:flex;gap:8px;margin-bottom:12px}.buy-tab[data-v-b27f7944]{flex:1;padding:7px;font-size:13px;color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer}.buy-tab.active[data-v-b27f7944]{color:#fff;background:#4a90e2;border-color:#4a90e2;font-weight:500}.tier-btns[data-v-b27f7944]{display:flex;gap:8px}.tier-btn[data-v-b27f7944]{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;padding:10px 6px;font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.tier-btn.active[data-v-b27f7944]{border-color:#4a90e2;box-shadow:0 0 0 1px #4a90e2 inset}.tier-btn[data-v-b27f7944]:disabled{opacity:.5;cursor:not-allowed}.tier-price[data-v-b27f7944]{font-weight:600}.tier-face[data-v-b27f7944]{font-size:11px;color:var(--fg-muted)}.pay-box[data-v-b27f7944]{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.pay-qr[data-v-b27f7944]{width:200px;max-width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;padding:4px}.pay-tip[data-v-b27f7944]{margin:0;font-size:12px;color:var(--fg-muted);line-height:1.6;text-align:center}.pay-tip b[data-v-b27f7944]{color:var(--fg);font-weight:600}.pay-tip .qq[data-v-b27f7944]{color:#4a90e2;letter-spacing:.5px}.credit-note[data-v-b27f7944]{margin:0 0 10px;font-size:12px;color:var(--fg-muted);line-height:1.5}.gen-box[data-v-b27f7944]{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:8px;background:var(--bg)}.gen-label[data-v-b27f7944]{font-size:12px;color:var(--success);font-weight:600;margin-bottom:8px}.gen-code[data-v-b27f7944]{display:flex;align-items:center;gap:8px}.gen-code code[data-v-b27f7944]{flex:1;min-width:0;font-size:15px;font-weight:600;letter-spacing:1px;color:var(--fg);background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:8px 10px;overflow-x:auto;white-space:nowrap}.gen-copy[data-v-b27f7944]{flex:0 0 auto;padding:8px 14px;font-size:13px;color:#fff;background:#4a90e2;border:none;border-radius:6px;cursor:pointer}.gen-copy[data-v-b27f7944]:hover{background:#3f82d0}.gen-tip[data-v-b27f7944]{margin:8px 0 0;font-size:11px;color:var(--fg-muted);line-height:1.5}.invite[data-v-b27f7944]{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft)}.invite-head[data-v-b27f7944]{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.invite-title[data-v-b27f7944]{font-size:14px;font-weight:600;color:var(--fg)}.invite-sub[data-v-b27f7944]{font-size:12px;color:var(--fg-muted);line-height:1.5}.invite-body[data-v-b27f7944]{display:flex;gap:14px;align-items:center}.invite-qr[data-v-b27f7944]{width:96px;height:96px;flex:0 0 96px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:4px}.invite-right[data-v-b27f7944]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.invite-link[data-v-b27f7944]{font-size:12px;color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-copy[data-v-b27f7944]{align-self:flex-start;padding:7px 16px;font-size:13px;font-weight:500;color:#fff;background:#4a90e2;border:none;border-radius:6px;cursor:pointer}.invite-copy[data-v-b27f7944]:hover{background:#3f82d0}.invite-stats[data-v-b27f7944]{font-size:12px;color:var(--fg-muted)}.invite-stats b[data-v-b27f7944]{color:var(--success);font-weight:600}.invite-welcome[data-v-b27f7944]{margin:10px 0 0;font-size:12px;color:var(--success);line-height:1.5}.invite-welcome b[data-v-b27f7944]{font-weight:600}.invite-use[data-v-b27f7944]{margin:10px 0 0;font-size:12px;color:var(--fg-muted);line-height:1.5}.invite-tip[data-v-b27f7944]{margin:6px 0 0;font-size:11px;color:var(--fg-muted);line-height:1.5}@media (max-width: 480px){.invite-body[data-v-b27f7944]{flex-direction:column;align-items:stretch}.invite-qr[data-v-b27f7944]{align-self:center}}.logs-head[data-v-b27f7944]{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 10px;font-size:14px;font-weight:600;color:var(--fg)}.logs-total[data-v-b27f7944]{font-weight:400;font-size:12px;color:var(--fg-muted)}.msg[data-v-b27f7944]{margin:12px 0 0;font-size:13px;color:var(--fg-muted);text-align:center;padding:16px 0}.msg.err[data-v-b27f7944]{color:var(--danger)}.msg.empty[data-v-b27f7944]{color:var(--fg-muted)}.log-list[data-v-b27f7944]{list-style:none;padding:0;margin:0}.log-item[data-v-b27f7944]{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.log-item[data-v-b27f7944]:last-child{border-bottom:none}.li-top[data-v-b27f7944]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.li-type[data-v-b27f7944]{color:var(--fg);font-weight:500}.li-amount[data-v-b27f7944]{font-weight:600;font-size:15px}.li-amount.pos[data-v-b27f7944]{color:var(--success)}.li-amount.neg[data-v-b27f7944]{color:var(--danger)}.li-mid[data-v-b27f7944]{font-size:13px;color:var(--fg-muted)}.li-remark[data-v-b27f7944]{color:var(--fg-muted)}.li-bot[data-v-b27f7944]{display:flex;justify-content:space-between;font-size:11px;color:var(--fg-muted)}.li-time[data-v-b27f7944],.li-balance[data-v-b27f7944]{color:var(--fg-muted)}.pager[data-v-b27f7944]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.btn[data-v-b27f7944]{padding:6px 14px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:13px;cursor:pointer}.btn[data-v-b27f7944]:hover{background:var(--bg-soft)}.btn[data-v-b27f7944]:disabled{opacity:.45;cursor:not-allowed}.pager-info[data-v-b27f7944]{font-size:13px;color:var(--fg-muted)}@media (max-width: 480px){.modal[data-v-b27f7944]{max-height:100vh;border-radius:0}}.install-btn[data-v-10b36432]{display:inline-flex;align-items:center;gap:5px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;padding:6px 10px;border-radius:6px;font-size:13px;font-family:inherit;white-space:nowrap;margin-right:10px}.install-btn[data-v-10b36432]:hover{color:var(--accent);border-color:var(--accent)}.install-btn svg[data-v-10b36432]{flex-shrink:0}@media (max-width: 768px){.install-label[data-v-10b36432]{display:none}.install-btn[data-v-10b36432]{padding:6px 8px;margin-right:8px}}.theme-toggle[data-v-e36cf520]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--fg-muted);margin-right:8px}.theme-toggle[data-v-e36cf520]:hover{color:var(--fg);background:var(--accent-soft)}.wall[data-v-d4c38f1c]{display:flex;justify-content:center;align-items:flex-start;padding:48px 20px}.wall-card[data-v-d4c38f1c]{max-width:520px;width:100%;text-align:center;padding:36px 28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,#eef4ff,#f6f9ff 60%,#fff);box-shadow:var(--shadow-sm)}.wall-title[data-v-d4c38f1c]{margin:0 0 12px;font-size:22px;font-weight:700;color:#16213a}.wall-lede[data-v-d4c38f1c]{margin:0 0 22px;color:#4a5568;font-size:14px;line-height:1.8}.wall-btn[data-v-d4c38f1c]{border:none;cursor:pointer;padding:11px 26px;border-radius:10px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;font-family:inherit}.wall-btn[data-v-d4c38f1c]:hover{filter:brightness(1.05)}.wall-free[data-v-d4c38f1c]{margin-top:28px;padding-top:20px;border-top:1px dashed var(--border)}.wall-free-label[data-v-d4c38f1c]{display:block;margin-bottom:12px;font-size:12.5px;color:var(--fg-muted)}.wall-free-links[data-v-d4c38f1c]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.wall-chip[data-v-d4c38f1c]{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-size:12.5px;color:var(--fg-muted);text-decoration:none}.wall-chip[data-v-d4c38f1c]:hover{color:var(--accent);border-color:var(--accent)}.app-shell[data-v-a3703a2f]{--topbar-height: 64px;display:flex;flex-direction:column;min-height:100vh}.topbar[data-v-a3703a2f]{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid var(--border);min-height:var(--topbar-height);background:var(--bg);position:sticky;top:0;z-index:100;gap:16px}.logo[data-v-a3703a2f]{font-weight:600;color:var(--fg);text-decoration:none}.nav[data-v-a3703a2f]{display:flex;align-items:center;gap:16px;flex:1;justify-content:flex-end}.nav-home[data-v-a3703a2f],.nav-trigger[data-v-a3703a2f]{color:var(--fg-muted);text-decoration:none;font-size:14px;padding:4px 2px;border:none;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0;background:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:3px}.nav-home[data-v-a3703a2f]:hover,.nav-trigger[data-v-a3703a2f]:hover{color:var(--fg)}.nav-home.router-link-active[data-v-a3703a2f]{color:var(--accent);border-bottom-color:var(--accent)}.nav-home.router-link-active[data-v-a3703a2f]:not(.router-link-exact-active){color:var(--fg-muted);border-bottom-color:transparent}.nav-trigger.is-active[data-v-a3703a2f]{color:var(--accent);border-bottom-color:var(--accent)}.nav-trigger.is-open[data-v-a3703a2f]{color:var(--fg)}.nav-caret[data-v-a3703a2f]{font-size:10px;opacity:.6}.nav-group[data-v-a3703a2f]{position:relative;display:inline-flex;flex-shrink:0}.nav-menu[data-v-a3703a2f]{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:152px;padding:4px 0;z-index:30;box-shadow:0 6px 18px #0000001a}.nav-menu-item[data-v-a3703a2f]{display:block;padding:8px 14px;font-size:13px;color:var(--fg-muted);text-decoration:none;white-space:nowrap}.nav-menu-item[data-v-a3703a2f]:hover{background:var(--bg-soft);color:var(--fg)}.nav-menu-item.router-link-active[data-v-a3703a2f]{color:var(--accent)}.nav-ext[data-v-a3703a2f]{font-size:10px;opacity:.45;margin-left:5px;vertical-align:1px}.nav-backdrop[data-v-a3703a2f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:transparent}.user-area[data-v-a3703a2f]{display:flex;align-items:center;gap:8px}.login-btn[data-v-a3703a2f]{background:var(--accent);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px}.login-btn[data-v-a3703a2f]:hover{filter:brightness(.95)}.user-menu[data-v-a3703a2f]{position:relative}.guest-more-btn[data-v-a3703a2f]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:6px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--fg-muted);font-size:18px;line-height:1}.guest-more-btn[data-v-a3703a2f]:hover{color:var(--fg);background:var(--accent-soft)}.user-btn[data-v-a3703a2f]{background:var(--bg-soft);border:1px solid var(--border);padding:6px 12px;border-radius:6px;font-size:13px;color:var(--fg);display:flex;align-items:center;gap:4px}.user-btn[data-v-a3703a2f]:hover{background:var(--accent-soft)}.caret[data-v-a3703a2f]{font-size:10px;opacity:.6}.user-dropdown[data-v-a3703a2f]{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;min-width:140px;box-shadow:0 4px 12px #00000014;overflow:hidden}.dd-item[data-v-a3703a2f]{display:block;width:100%;padding:8px 12px;font-size:13px;text-align:left;border:none;background:none;color:var(--fg)}.dd-info[data-v-a3703a2f]{color:var(--fg-muted)}.dd-divider[data-v-a3703a2f]{height:1px;background:var(--border);margin:0}.dd-action[data-v-a3703a2f]{cursor:pointer}.dd-action[data-v-a3703a2f]:hover{background:var(--bg-soft)}.dd-logout[data-v-a3703a2f]{color:var(--fg-muted)}.dd-logout[data-v-a3703a2f]:hover{color:var(--fg)}.dd-credits[data-v-a3703a2f]{display:flex;justify-content:space-between;align-items:center}.dd-credits-hint[data-v-a3703a2f]{font-size:11px;color:var(--fg-muted);opacity:.7}.dd-credits:hover .dd-credits-hint[data-v-a3703a2f]{opacity:1}.dd-feedback[data-v-a3703a2f]{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--fg)}.dd-tag[data-v-a3703a2f]{font-size:11px;color:var(--success);background:var(--success-soft);padding:1px 7px;border-radius:9px}.dd-tag-soft[data-v-a3703a2f]{color:var(--fg-muted);background:var(--bg-soft)}.dd-theme[data-v-a3703a2f]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:13px;color:var(--fg)}.dd-theme[data-v-a3703a2f] .theme-toggle{width:30px;height:30px;margin-right:0}.group-modal-mask[data-v-a3703a2f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.group-modal[data-v-a3703a2f]{position:relative;width:min(340px,92vw);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:22px 22px 18px;text-align:center;box-shadow:0 12px 40px #00000040}.group-modal-close[data-v-a3703a2f]{position:absolute;top:8px;right:10px;border:none;background:none;cursor:pointer;font-size:22px;line-height:1;color:var(--fg-muted)}.group-modal-close[data-v-a3703a2f]:hover{color:var(--fg)}.group-modal-title[data-v-a3703a2f]{margin:0 0 14px;font-size:16px;font-weight:600;color:var(--fg)}.group-modal-qr[data-v-a3703a2f]{width:200px;height:200px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff}.group-modal-hint[data-v-a3703a2f]{margin:12px 0 14px;font-size:12.5px;color:var(--fg-muted);line-height:1.5}.group-modal-num[data-v-a3703a2f]{display:flex;align-items:center;justify-content:center;gap:8px}.group-num-label[data-v-a3703a2f]{font-size:12px;color:var(--fg-muted)}.group-num-val[data-v-a3703a2f]{font-size:16px;font-weight:700;letter-spacing:.5px;color:var(--fg);font-variant-numeric:tabular-nums}.group-num-copy[data-v-a3703a2f]{font-size:12px;padding:3px 10px;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:var(--bg-soft);color:var(--accent)}.group-num-copy[data-v-a3703a2f]:hover{border-color:var(--accent)}.dot[data-v-a3703a2f]{display:inline-block;width:7px;height:7px;background:var(--danger);border-radius:50%}.dot-btn[data-v-a3703a2f]{position:relative;top:-6px;margin-left:-2px}.dot-inline[data-v-a3703a2f]{margin-left:3px;vertical-align:middle}.app-boot-loading[data-v-a3703a2f]{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40vh;color:var(--fg-muted);font-size:14px}.app-boot-spinner[data-v-a3703a2f]{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:app-boot-spin-a3703a2f .7s linear infinite}@keyframes app-boot-spin-a3703a2f{to{transform:rotate(360deg)}}.page[data-v-a3703a2f]{flex:1;max-width:880px;margin:0 auto;padding:24px 16px;width:100%}.page--full[data-v-a3703a2f]{max-width:none;padding:0}.shell--immersive[data-v-a3703a2f]{min-height:100vh}.shell--immersive .page[data-v-a3703a2f]{height:100vh;max-width:none;padding:0}.footer[data-v-a3703a2f]{display:flex;flex-direction:column;gap:8px;align-items:center;padding:16px;color:var(--fg-muted);font-size:13px;border-top:1px solid var(--border)}.footer-row[data-v-a3703a2f]{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:baseline}.footer a[data-v-a3703a2f]{color:var(--fg-muted);text-decoration:none}.footer a[data-v-a3703a2f]:hover{color:var(--fg)}@media (max-width: 768px){.topbar[data-v-a3703a2f]{padding:12px 16px;gap:8px}.nav[data-v-a3703a2f]{gap:12px}}.streak-banner[data-v-f1a74969]{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-bottom:12px;background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-soft);border-radius:10px;font-size:14px;cursor:pointer;transition:background .15s}.streak-banner[data-v-f1a74969]:hover{background:#fde68a}.banner-icon[data-v-f1a74969]{font-size:18px;line-height:1}.banner-text[data-v-f1a74969]{flex:1;font-weight:600}.banner-cta[data-v-f1a74969]{font-size:13px;opacity:.9;white-space:nowrap}.banner-close[data-v-f1a74969]{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--warn);font-size:18px;line-height:1;cursor:pointer;border-radius:4px;opacity:.6}.banner-close[data-v-f1a74969]:hover{opacity:1;background:#b4530926}@media (max-width: 600px){.banner-cta[data-v-f1a74969]{display:none}.banner-text[data-v-f1a74969]{font-size:13px}}.tone-tag[data-v-dfba267c]{display:inline-block;padding:1px 8px;background:var(--accent-soft);color:var(--accent);border-radius:10px;font-size:11px;font-weight:500;margin-left:6px}.digest-dot[data-v-dfba267c]{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;font-size:0;line-height:0;margin-left:4px}.overlay[data-v-945b3e03]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.dialog[data-v-945b3e03]{background:var(--bg);border-radius:12px;width:100%;max-width:480px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0003}.dlg-head[data-v-945b3e03]{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px 10px;gap:12px}.dlg-title[data-v-945b3e03]{font-size:18px;margin:0}.dlg-sub[data-v-945b3e03]{font-size:12px;color:var(--fg-muted);margin:4px 0 0;line-height:1.5}.x[data-v-945b3e03]{border:none;background:none;font-size:24px;line-height:1;color:var(--fg-muted);cursor:pointer;padding:0 4px}.x[data-v-945b3e03]:hover{color:var(--fg)}.dlg-body[data-v-945b3e03]{overflow-y:auto;padding:4px 18px 8px}.block[data-v-945b3e03]{margin:12px 0}.block-label[data-v-945b3e03]{font-size:12px;color:var(--fg-muted);margin-bottom:6px}.presets[data-v-945b3e03]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset[data-v-945b3e03]{text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.preset[data-v-945b3e03]:hover{border-color:var(--accent);background:var(--accent-soft)}.preset-title[data-v-945b3e03]{font-size:13px;font-weight:600}.preset-desc[data-v-945b3e03]{font-size:11px;color:var(--fg-muted)}.divider[data-v-945b3e03]{display:flex;align-items:center;text-align:center;color:var(--fg-muted);font-size:12px;margin:14px 0 4px}.divider[data-v-945b3e03]:before,.divider[data-v-945b3e03]:after{content:"";flex:1;height:1px;background:var(--border)}.divider span[data-v-945b3e03]{padding:0 10px}.chips[data-v-945b3e03]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-945b3e03]{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px}.chip[data-v-945b3e03]:hover{border-color:var(--accent)}.chip.active[data-v-945b3e03]{background:var(--accent);border-color:var(--accent);color:#fff}.radios[data-v-945b3e03]{display:flex;flex-wrap:wrap;gap:12px}.radio[data-v-945b3e03]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:13px}.hint[data-v-945b3e03]{font-size:12px;margin:10px 0 0;line-height:1.5}.hint.warn[data-v-945b3e03]{color:var(--danger)}.link[data-v-945b3e03]{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline;font-size:inherit}.dlg-foot[data-v-945b3e03]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px 16px;border-top:1px solid var(--border)}.btn[data-v-945b3e03]{padding:8px 18px;border-radius:8px;font-size:14px;cursor:pointer;border:1px solid var(--border);background:var(--bg)}.btn.ghost[data-v-945b3e03]{color:var(--fg-muted)}.btn.ghost[data-v-945b3e03]:hover{color:var(--fg);border-color:var(--fg-muted)}.btn.primary[data-v-945b3e03]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.primary[data-v-945b3e03]:disabled{background:var(--border);border-color:var(--border);cursor:not-allowed}.btn.primary[data-v-945b3e03]:not(:disabled):hover{filter:brightness(.95)}@media (max-width: 480px){.presets[data-v-945b3e03]{grid-template-columns:1fr}}.starter[data-v-7e5d728d]{border-color:var(--accent)}.starter-head[data-v-7e5d728d]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title[data-v-7e5d728d]{margin:0;font-size:18px;display:flex;align-items:center;gap:9px}.section-title[data-v-7e5d728d]:before{content:"";width:4px;height:17px;border-radius:2px;background:var(--accent);flex-shrink:0}.starter-lede[data-v-7e5d728d]{margin:6px 0 0;color:var(--fg-muted);font-size:13px;line-height:1.6}.starter-skip[data-v-7e5d728d]{flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--fg-muted);font-size:12.5px;padding:2px 4px;text-decoration:underline}.starter-skip[data-v-7e5d728d]:hover{color:var(--fg)}.starter-subjects[data-v-7e5d728d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ss-label[data-v-7e5d728d]{font-size:12px;color:var(--fg-muted)}.ss-chips[data-v-7e5d728d]{display:flex;flex-wrap:wrap;gap:6px}.ss-chip[data-v-7e5d728d]{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg)}.ss-chip[data-v-7e5d728d]:hover{border-color:var(--accent)}.ss-chip.active[data-v-7e5d728d]{background:var(--accent);border-color:var(--accent);color:#fff}.starter-steps[data-v-7e5d728d]{display:flex;flex-direction:column;gap:8px}.starter-step[data-v-7e5d728d]{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;color:var(--fg);text-align:left;text-decoration:none;font:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}.starter-step[data-v-7e5d728d]:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px #2c6cff26}.starter-step[data-v-7e5d728d]:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.step-no[data-v-7e5d728d]{flex-shrink:0;width:24px;height:24px;border-radius:999px;background:var(--accent-soft, #eef4ff);color:var(--accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.step-body[data-v-7e5d728d]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.step-title[data-v-7e5d728d]{font-size:14px;font-weight:600}.step-desc[data-v-7e5d728d]{font-size:12px;color:var(--fg-muted);line-height:1.5}.step-cta[data-v-7e5d728d]{flex-shrink:0;font-size:13px;font-weight:600;color:var(--accent)}.starter-err[data-v-7e5d728d]{margin:10px 0 0;font-size:12.5px;color:var(--danger)}@media (max-width: 480px){.step-desc[data-v-7e5d728d]{display:none}}.today[data-v-6631dc0d]{border-color:var(--accent)}.today-rows[data-v-6631dc0d]{display:flex;flex-direction:column;gap:8px}.today-row[data-v-6631dc0d]{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;color:var(--fg);text-align:left;text-decoration:none;font:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}.today-row[data-v-6631dc0d]:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px #2c6cff26}.today-act[data-v-6631dc0d]{flex-shrink:0;min-width:64px;text-align:center;font-size:12px;font-weight:600;color:var(--accent);padding:3px 10px;border-radius:999px;background:var(--accent-soft, #eef4ff)}.today-act-due[data-v-6631dc0d]{color:var(--warn);background:var(--warn-soft)}.today-act-weak[data-v-6631dc0d]{color:var(--danger);background:var(--danger-soft)}.today-main[data-v-6631dc0d]{font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-meta[data-v-6631dc0d]{font-size:12px;color:var(--fg-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-arrow[data-v-6631dc0d]{color:var(--accent);font-size:16px;flex-shrink:0}.today-more[data-v-6631dc0d]{display:inline-block;margin-top:10px;font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}.today-more[data-v-6631dc0d]:hover{text-decoration:underline}.hero[data-v-6631dc0d]{position:relative;padding:30px 28px;margin-bottom:16px;background:radial-gradient(120% 140% at 100% 0%,#e3edff,#e3edff00 55%),linear-gradient(135deg,#eef4ff,#f6f9ff 60%,#fff);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.hero-badge[data-v-6631dc0d]{display:inline-block;margin-bottom:12px;padding:3px 12px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:12px;font-weight:600}.hero-title[data-v-6631dc0d]{margin:0 0 8px;font-size:27px;font-weight:700;color:#16213a;letter-spacing:-.01em}.hero-lede[data-v-6631dc0d]{margin:0;color:#4a5568;font-size:14px;line-height:1.7;max-width:640px}.hero-stats[data-v-6631dc0d]{display:flex;flex-wrap:wrap;gap:28px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(37,99,235,.12)}.hero-stat[data-v-6631dc0d]{display:flex;flex-direction:column;gap:2px}.hero-stat-num[data-v-6631dc0d]{font-size:22px;font-weight:700;color:var(--accent);line-height:1.1;font-variant-numeric:tabular-nums}.hero-stat-lbl[data-v-6631dc0d]{font-size:12px;color:var(--fg-muted)}.guest-hero[data-v-6631dc0d]{position:relative;padding:36px 30px;margin-bottom:16px;background:radial-gradient(120% 140% at 100% 0%,#e3edff,#e3edff00 55%),linear-gradient(135deg,#eef4ff,#f6f9ff 60%,#fff);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.guest-badge[data-v-6631dc0d]{display:inline-block;margin-bottom:12px;padding:3px 12px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:12px;font-weight:600}.guest-title[data-v-6631dc0d]{margin:0 0 10px;font-size:28px;font-weight:700;color:#16213a;letter-spacing:-.01em;line-height:1.25}.guest-lede[data-v-6631dc0d]{margin:0 0 20px;color:#4a5568;font-size:14px;line-height:1.7;max-width:660px}.guest-cta[data-v-6631dc0d]{display:inline-block;padding:12px 26px;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,var(--accent) 0%,#1d54e6 100%);color:#fff;font-size:15px;font-weight:700;box-shadow:0 4px 14px #2c6cff52;transition:transform .15s,box-shadow .15s}.guest-cta[data-v-6631dc0d]:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2c6cff66}.guest-teaser-hint[data-v-6631dc0d]{margin:22px 0 10px;font-size:13px;color:var(--fg-muted)}.guest-teasers[data-v-6631dc0d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.guest-teaser[data-v-6631dc0d]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#ffffffb3;text-decoration:none;color:var(--fg);transition:border-color .15s,transform .15s,box-shadow .15s}.guest-teaser[data-v-6631dc0d]:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.gt-title[data-v-6631dc0d]{font-weight:600;font-size:15px}.gt-sub[data-v-6631dc0d]{font-size:12.5px;color:var(--fg-muted);line-height:1.5}.ov-row[data-v-6631dc0d]{display:flex;width:100%}.ov-cell[data-v-6631dc0d]{flex:1;min-width:0;padding:0 20px;border-left:1px solid var(--border)}.ov-cell[data-v-6631dc0d]:first-child{padding-left:0;border-left:0}.ov-num[data-v-6631dc0d]{font-size:26px;font-weight:700;color:var(--accent);line-height:1.15;font-variant-numeric:tabular-nums}.ov-den[data-v-6631dc0d]{font-size:15px;font-weight:600;color:var(--fg-muted)}.ov-unit[data-v-6631dc0d]{font-size:14px;font-weight:600}.ov-good[data-v-6631dc0d]{color:var(--success)}.ov-warn[data-v-6631dc0d]{color:var(--warn)}.ov-streak[data-v-6631dc0d]{color:var(--streak)}.ov-lbl[data-v-6631dc0d]{font-size:13px;color:var(--fg-muted);margin-top:4px}.ov-breakdown[data-v-6631dc0d]{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:12px;line-height:1.35;color:var(--fg-muted)}.section-title[data-v-6631dc0d]{margin:0 0 12px;font-size:18px;display:flex;align-items:center;gap:9px}.section-title[data-v-6631dc0d]:before{content:"";width:4px;height:17px;border-radius:2px;background:var(--accent);flex-shrink:0}.section-intro[data-v-6631dc0d]{margin:-2px 0 16px;color:var(--fg-muted);font-size:13px}.quick-grid[data-v-6631dc0d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.quick-card[data-v-6631dc0d]{display:flex;flex-direction:column;gap:6px;padding:16px 16px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);text-decoration:none;color:var(--fg);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s,box-shadow .15s}.quick-card[data-v-6631dc0d]:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-title[data-v-6631dc0d]{font-weight:600;font-size:15px}.quick-sub[data-v-6631dc0d]{font-size:12.5px;color:var(--fg-muted);line-height:1.5}.entry.highlight[data-v-6631dc0d]{border-color:var(--accent);background:var(--accent-soft, #eef4ff)}.entry-hub[data-v-6631dc0d]{border-style:dashed;align-items:center;grid-column:1 / -1}.entry-hub .entry-title[data-v-6631dc0d]{color:var(--accent)}.entry-hub-arrow[data-v-6631dc0d]{color:var(--accent);font-size:18px;flex-shrink:0}.friend-slot[data-v-6631dc0d]{margin-bottom:16px}.err[data-v-6631dc0d]{color:var(--danger)}.mode-links[data-v-6631dc0d]{display:none;gap:12px;margin-bottom:16px}@media (min-width: 1100px){.mode-links[data-v-6631dc0d]{display:grid;grid-template-columns:1fr 1fr}}.mode-link[data-v-6631dc0d]{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.mode-link[data-v-6631dc0d]:hover{transform:translateY(-1px)}.ml-body[data-v-6631dc0d]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ml-title[data-v-6631dc0d]{font-size:14px;font-weight:700}.ml-sub[data-v-6631dc0d]{font-size:12px}.ml-arrow[data-v-6631dc0d]{font-size:18px;flex-shrink:0}.mode-link.chart[data-v-6631dc0d]{background:linear-gradient(135deg,#161033,#2a1f55)}.mode-link.chart[data-v-6631dc0d]:hover{box-shadow:0 4px 16px #2a1f5566;border-color:#a98bff}.mode-link.chart .ml-title[data-v-6631dc0d]{color:#c4b3ff}.mode-link.chart .ml-sub[data-v-6631dc0d]{color:#a99fd0}.mode-link.chart .ml-arrow[data-v-6631dc0d]{color:#a98bff}.mode-link.cockpit[data-v-6631dc0d]{background:linear-gradient(135deg,#0e1f3d,#18305a)}.mode-link.cockpit[data-v-6631dc0d]:hover{box-shadow:0 4px 16px #10244c59;border-color:#5ce0ff}.mode-link.cockpit .ml-title[data-v-6631dc0d]{color:#8fe0ff}.mode-link.cockpit .ml-sub[data-v-6631dc0d]{color:#9fb6d8}.mode-link.cockpit .ml-arrow[data-v-6631dc0d]{color:#5ce0ff}@media (max-width: 480px){.entries[data-v-6631dc0d]{grid-template-columns:1fr}.quick-grid[data-v-6631dc0d]{grid-template-columns:repeat(2,1fr)}.hero[data-v-6631dc0d]{padding:24px 18px}.hero-title[data-v-6631dc0d]{font-size:22px}.guest-hero[data-v-6631dc0d]{padding:26px 18px}.guest-title[data-v-6631dc0d]{font-size:22px}.guest-cta[data-v-6631dc0d]{width:100%;text-align:center}.guest-teasers[data-v-6631dc0d]{grid-template-columns:1fr}.hero-stats[data-v-6631dc0d]{gap:16px 22px}.ov-row[data-v-6631dc0d]{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.ov-cell[data-v-6631dc0d]{padding:0;border-left:0}.today-meta[data-v-6631dc0d]{display:none}}.cause-picker[data-v-9bf1cddb]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cause-label[data-v-9bf1cddb]{font-size:13px;color:var(--fg-muted)}.cause-hint[data-v-9bf1cddb]{font-size:12px;color:var(--fg-muted);opacity:.75}.cause-chip[data-v-9bf1cddb]{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font:inherit;font-size:13px}.cause-chip[data-v-9bf1cddb]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cause-chip.on[data-v-9bf1cddb]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.cause-chip[data-v-9bf1cddb]:disabled{opacity:.5;cursor:default}.compact .cause-chip[data-v-9bf1cddb]{padding:2px 10px;font-size:12px}.ask-sel-float[data-v-2e02b5d7]{position:fixed;z-index:1200;transform:translate(-50%,-100%);padding:6px 14px;border-radius:999px;background:var(--accent);color:#fff;border:1px solid var(--accent);font-size:13px;line-height:1;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00000038;white-space:nowrap;-webkit-user-select:none;user-select:none}.ask-sel-float.below[data-v-2e02b5d7]{transform:translate(-50%)}.ask-sel-float[data-v-2e02b5d7]:hover{filter:brightness(.95)}.ask-sel-float[data-v-2e02b5d7]:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--accent)}.ask-sel-float.below[data-v-2e02b5d7]:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--accent)}.drill-feedback[data-v-10648553]{margin-top:16px;position:relative}.card[data-v-10648553]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px 18px}.card.guide[data-v-10648553],.card.disabled[data-v-10648553]{background:var(--bg-soft);text-align:center;padding:24px 18px}h3[data-v-10648553]{margin:0 0 6px;font-size:16px;color:var(--fg)}.subtitle[data-v-10648553]{margin:0 0 14px;font-size:13px;color:var(--fg-muted)}.hint[data-v-10648553]{font-size:13px;color:var(--fg-muted);margin:0}.login-btn[data-v-10648553]{margin-top:12px;padding:8px 24px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.row[data-v-10648553],.comment-row[data-v-10648553]{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.row-label[data-v-10648553]{display:inline-block;min-width:40px;color:var(--fg-muted);font-size:14px;padding-top:4px}.stars[data-v-10648553]{display:flex;gap:4px}.star[data-v-10648553]{background:none;border:none;cursor:pointer;color:var(--border);font-size:22px;padding:0 2px;transition:color .15s}.star.on[data-v-10648553],.star[data-v-10648553]:hover{color:#f9a825}.comment-row[data-v-10648553]{align-items:stretch}.comment-row textarea[data-v-10648553]{flex:1;border:1px solid var(--border);border-radius:4px;padding:8px;font-size:13px;font-family:inherit;resize:vertical;outline:none}.comment-row textarea[data-v-10648553]:focus{border-color:var(--accent)}.meta[data-v-10648553]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.counter[data-v-10648553]{font-size:12px;color:var(--fg-muted)}.counter.over[data-v-10648553]{color:var(--danger)}.submit-btn[data-v-10648553]{width:100%;padding:9px 0;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .15s}.submit-btn[data-v-10648553]:disabled{background:#bbb;cursor:not-allowed}.submit-btn[data-v-10648553]:not(:disabled):hover{background:#1565c0}.toast[data-v-10648553]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#282828eb;color:#fff;padding:10px 20px;border-radius:4px;font-size:14px;z-index:100}@media (max-width: 480px){.card[data-v-10648553]{padding:14px}.row[data-v-10648553],.comment-row[data-v-10648553]{gap:8px}}.fb-att[data-v-a9a47981]{margin-top:6px}.att-hint[data-v-a9a47981]{font-size:12px;color:var(--fg-muted);margin:0}.att-grid[data-v-a9a47981]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.att-thumb[data-v-a9a47981]{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-soft);flex-shrink:0}.att-thumb.is-err[data-v-a9a47981]{border-color:#e5848b}.att-thumb img[data-v-a9a47981],.att-thumb video[data-v-a9a47981]{width:100%;height:100%;object-fit:cover;display:block}.att-fallback[data-v-a9a47981]{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:var(--fg-muted)}.att-mask[data-v-a9a47981]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:11px;text-align:center;padding:4px}.att-err-mask[data-v-a9a47981]{background:#b42832b3}.att-del[data-v-a9a47981]{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:11px;cursor:pointer;padding:0}.att-del[data-v-a9a47981]:hover{background:#000c}.att-add[data-v-a9a47981]{border:1px dashed var(--border);background:var(--bg);color:var(--fg-muted);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.att-add[data-v-a9a47981]:hover{border-color:var(--accent);color:var(--accent)}.att-tip[data-v-a9a47981]{font-size:11px;color:var(--fg-muted);margin-left:8px}.att-input[data-v-a9a47981]{display:none}.qfb[data-v-5778c538]{margin-top:6px}.link-btn-feedback[data-v-5778c538]{background:none;border:none;color:var(--fg-muted);font-size:13px;padding:4px 0;cursor:pointer}.link-btn-feedback[data-v-5778c538]:hover{color:var(--accent)}.qfb-panel[data-v-5778c538]{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:6px}.fb-types[data-v-5778c538]{display:flex;flex-wrap:wrap;gap:12px 16px;margin:0 0 12px}.fb-type[data-v-5778c538]{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.fb-textarea[data-v-5778c538]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;min-height:64px;background:var(--bg);box-sizing:border-box}.fb-public[data-v-5778c538]{display:flex;align-items:flex-start;gap:7px;margin-top:10px;font-size:12.5px;color:var(--fg-muted);line-height:1.5;cursor:pointer}.fb-public input[data-v-5778c538]{margin-top:2px;flex-shrink:0}.fb-actions[data-v-5778c538]{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.fb-error[data-v-5778c538]{font-size:13px;color:var(--danger);margin:12px 0 0}.fb-success[data-v-5778c538]{font-size:14px;color:var(--success);margin:12px 0 0;font-weight:500}.fb-hint[data-v-5778c538]{font-size:13px;color:var(--fg-muted);margin:12px 0 0}.btn-ghost[data-v-5778c538]{background:transparent}.fnav[data-v-8217a624]{display:none}@media (min-width: 1200px){.fnav[data-v-8217a624]:not(.suppressed){display:block}}.fnav-fab[data-v-8217a624]{position:fixed;top:38%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;z-index:30;box-shadow:0 2px 10px #00000014;transition:color .15s,border-color .15s,box-shadow .15s,opacity .15s}.fnav-fab.prev[data-v-8217a624]{left:calc(50% - var(--fnav-offset))}.fnav-fab.next[data-v-8217a624]{right:calc(50% - var(--fnav-offset))}.fnav-fab svg[data-v-8217a624]{width:24px;height:24px}.fnav-fab[data-v-8217a624]:hover:not(:disabled){color:var(--accent);border-color:var(--accent);box-shadow:0 4px 14px #2c6cff2e}.fnav-fab[data-v-8217a624]:disabled{opacity:.3;cursor:default;box-shadow:none}.fnav-fab[data-v-8217a624]:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;line-height:1;padding:5px 9px;border-radius:6px;background:var(--fg);color:var(--bg);opacity:0;pointer-events:none;transition:opacity .15s}.fnav-fab[data-v-8217a624]:hover:not(:disabled):after{opacity:.92}.scratch.overlay[data-v-b5ca5a67]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.scratch.overlay .scratch-canvas[data-v-b5ca5a67]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:auto;touch-action:none;cursor:crosshair}.scratch.overlay .scratch-canvas.pass-through[data-v-b5ca5a67]{pointer-events:none}.scratch.overlay .scratch-bar[data-v-b5ca5a67]{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:3;pointer-events:auto;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:999px;box-shadow:0 6px 20px #1018282e;padding:6px 10px;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}.scratch.panel[data-v-b5ca5a67]{position:fixed;top:0;right:0;bottom:0;z-index:120;display:flex;flex-direction:column;background-color:var(--bg);background-image:radial-gradient(rgba(100,116,139,.28) 1px,transparent 1.4px);background-size:22px 22px;border-left:1px solid var(--border);box-shadow:-8px 0 28px #10182829;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .scratch.panel[data-v-b5ca5a67]{background-image:radial-gradient(rgba(160,170,190,.22) 1px,transparent 1.4px)}.scratch.panel .resize-handle[data-v-b5ca5a67]{position:absolute;left:-4px;top:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;z-index:2}.scratch.panel .scratch-canvas[data-v-b5ca5a67]{flex:1 1 auto;width:100%;min-height:0;display:block;touch-action:none;cursor:crosshair}.scratch.panel .scratch-bar[data-v-b5ca5a67]{flex:0 0 auto;padding:8px 12px;border-bottom:1px solid var(--border)}.scratch-bar[data-v-b5ca5a67]{display:flex;align-items:center;gap:8px}.scratch-canvas.erasing[data-v-b5ca5a67]{cursor:cell}.sb-title[data-v-b5ca5a67]{font-size:13px;font-weight:600;color:var(--fg);padding:0 2px;white-space:nowrap}.sb-sep[data-v-b5ca5a67]{width:1px;height:18px;background:var(--border)}.sb-mode[data-v-b5ca5a67]{font-size:13px;font-weight:600;line-height:1;padding:7px 12px;border-radius:8px;background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.sb-mode.moving[data-v-b5ca5a67]{background:var(--bg-soft);border-color:var(--border);color:var(--fg)}.sb-color[data-v-b5ca5a67]{width:22px;height:22px;border-radius:50%;cursor:pointer;padding:0;background:var(--swatch);border:2px solid var(--bg);box-shadow:0 0 0 1px var(--border);transition:transform .12s,box-shadow .12s}.sb-color[data-v-b5ca5a67]:hover{transform:scale(1.12)}.sb-color.on[data-v-b5ca5a67]{box-shadow:0 0 0 2px var(--accent);transform:scale(1.12)}.sb-btn[data-v-b5ca5a67]{font-size:13px;line-height:1;padding:7px 11px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sb-btn[data-v-b5ca5a67]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sb-btn.on[data-v-b5ca5a67]{background:var(--accent);border-color:var(--accent);color:#fff}.sb-btn[data-v-b5ca5a67]:disabled{opacity:.4;cursor:default}.sb-btn.close[data-v-b5ca5a67]:hover{border-color:var(--danger);color:var(--danger)}.mci[data-v-5ba39bb7]{margin:8px 0 0}.mci-toggle[data-v-5ba39bb7]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;font-size:13px}.mci-toggle[data-v-5ba39bb7]:hover{background:var(--bg-soft)}.mci-toggle.open[data-v-5ba39bb7]{border-radius:8px 8px 0 0;border-bottom-color:transparent}.mci-label[data-v-5ba39bb7]{font-size:11px;font-weight:700;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.mci-name[data-v-5ba39bb7]{font-weight:700;color:var(--fg)}.mci-tier[data-v-5ba39bb7]{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px}.mci-tier.tier-high[data-v-5ba39bb7]{background:var(--success-soft);color:var(--success)}.mci-tier.tier-mid[data-v-5ba39bb7]{background:var(--warn-soft);color:var(--warn)}.mci-tier.tier-low[data-v-5ba39bb7]{background:var(--bg-soft);color:var(--fg-muted)}.mci-tier.tier-rare[data-v-5ba39bb7]{background:var(--purple-soft);color:var(--purple)}.mci-caret[data-v-5ba39bb7]{margin-left:auto;font-size:12px;color:var(--fg-muted)}.mci-panel[data-v-5ba39bb7]{border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;padding:12px 14px;background:var(--bg)}.mci-core[data-v-5ba39bb7]{font-size:14px;line-height:1.7;color:var(--fg)}.mci-core[data-v-5ba39bb7] table{border-collapse:collapse;margin:8px 0;font-size:13px;width:100%}.mci-core[data-v-5ba39bb7] th,.mci-core[data-v-5ba39bb7] td{border:1px solid var(--border);padding:5px 8px;text-align:left}.mci-core[data-v-5ba39bb7] th{background:var(--bg-soft)}.mci-more[data-v-5ba39bb7]{margin-top:8px;background:none;border:none;padding:0;color:var(--accent);font-size:13px;cursor:pointer}.mci-body[data-v-5ba39bb7]{margin-top:8px;font-size:13px;line-height:1.75;color:var(--fg-muted)}.mci-links[data-v-5ba39bb7]{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mci-chip[data-v-5ba39bb7]{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--fg-muted);text-decoration:none;background:var(--bg)}.mci-chip[data-v-5ba39bb7]:hover{border-color:var(--fg);color:var(--fg)}.comment-section[data-v-e16a4f7a]{margin-top:28px}.cs-title[data-v-e16a4f7a]{font-size:17px;font-weight:700;margin:0 0 4px}.cs-total[data-v-e16a4f7a]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-left:4px}.cs-note[data-v-e16a4f7a]{font-size:12px;color:var(--fg-muted);margin:0 0 14px}.cs-gate[data-v-e16a4f7a]{text-align:center;padding:28px 20px;background:var(--bg-soft);border:1px dashed var(--border);border-radius:10px}.cs-gate p[data-v-e16a4f7a]{font-size:13px;color:var(--fg-muted);margin:0 0 12px}.cs-hint[data-v-e16a4f7a]{color:var(--fg-muted);font-size:13px;padding:16px 0;text-align:center}.cs-err[data-v-e16a4f7a]{color:var(--danger, #dc2626);font-size:13px;padding:12px 0}.cs-list[data-v-e16a4f7a]{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:16px}.cs-item[data-v-e16a4f7a]{border-top:1px solid var(--border);padding-top:14px}.cs-meta[data-v-e16a4f7a]{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:4px}.cs-name[data-v-e16a4f7a]{font-weight:600;color:var(--fg)}.cs-replyto[data-v-e16a4f7a],.cs-time[data-v-e16a4f7a]{color:var(--fg-muted)}.cs-content[data-v-e16a4f7a]{font-size:14px;line-height:1.6;color:var(--fg)}.cs-deleted[data-v-e16a4f7a]{font-size:13px;color:var(--fg-muted);font-style:italic;padding:4px 0}.cs-acts[data-v-e16a4f7a]{display:flex;gap:14px;margin-top:6px}.cs-act[data-v-e16a4f7a]{background:none;border:none;padding:0;cursor:pointer;font-size:12px;color:var(--fg-muted)}.cs-act[data-v-e16a4f7a]:hover{color:var(--accent)}.cs-act.on[data-v-e16a4f7a]{color:#e0245e}.cs-reply-box[data-v-e16a4f7a]{margin-top:10px}.cs-replies[data-v-e16a4f7a]{list-style:none;margin:10px 0 0;padding:10px 0 0 14px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:12px}.cs-reply[data-v-e16a4f7a]{font-size:13px}.cs-edit[data-v-e16a4f7a]{margin-top:6px}.session-progress-bar[data-v-776fea8a]{position:sticky;top:var(--topbar-height, 64px);z-index:50;background:linear-gradient(135deg,#eef4ff,#fff);border-bottom:1px solid var(--accent);padding:8px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-16px -16px 16px}.spb-info[data-v-776fea8a]{display:flex;align-items:center;gap:8px;font-size:13px;flex:1;min-width:0}.spb-tag[data-v-776fea8a]{background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;flex-shrink:0}.spb-title[data-v-776fea8a]{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spb-count[data-v-776fea8a]{color:var(--accent);font-weight:500;flex-shrink:0}.spb-bar[data-v-776fea8a]{flex:1 0 120px;height:6px;background:var(--border);border-radius:999px;overflow:hidden;min-width:80px}.spb-fill[data-v-776fea8a]{height:100%;background:var(--accent);transition:width .3s}.spb-exit[data-v-776fea8a]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--fg-muted);flex-shrink:0}.spb-exit[data-v-776fea8a]:hover{color:var(--danger);border-color:var(--danger)}.q-split[data-v-776fea8a]{display:flex;justify-content:center;align-items:flex-start;gap:24px}.q-split>.qpage[data-v-776fea8a]{flex:1 1 auto;max-width:900px;min-width:0;margin:0}.qpage[data-v-776fea8a]{max-width:900px;margin:0 auto}@media (min-width: 1025px){.q-split[data-v-776fea8a]:not(.notes-open){width:min(1040px,calc(100vw - 64px));margin-left:calc(50% - (min(1040px,calc(100vw - 64px))/2))}.q-split.notes-open[data-v-776fea8a]{width:min(1280px,calc(100vw - 64px));margin-left:calc(50% - (min(1280px,calc(100vw - 64px))/2))}}.source-badge[data-v-776fea8a]{display:inline-flex;align-items:center;padding:3px 10px;min-height:24px;border-radius:999px;font-size:12px;font-weight:600;flex-shrink:0;white-space:nowrap}.source-badge.sb-real[data-v-776fea8a]{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}.source-badge.sb-drill[data-v-776fea8a]{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(44,108,255,.25)}.source-badge.sb-custom[data-v-776fea8a]{background:#efeafc;color:#6b46c1;border:1px solid rgba(107,70,193,.3)}.qhead[data-v-776fea8a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--fg-muted);gap:12px;flex-wrap:wrap}.qhead-right[data-v-776fea8a]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}.qmeta[data-v-776fea8a]{font-size:13px}.ctx-crumb[data-v-776fea8a]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;min-height:26px;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:12px;font-weight:500;max-width:50%;overflow:hidden}.ctx-crumb .ctx-type[data-v-776fea8a]{font-size:10px;padding:1px 6px;border-radius:999px;background:#2c6cff2e;font-weight:600;flex-shrink:0}.ctx-crumb .ctx-label[data-v-776fea8a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qactions[data-v-776fea8a]{display:inline-flex;gap:6px;align-items:center}.ask-btn[data-v-776fea8a]{padding:5px 12px;min-height:30px;border-radius:999px;cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);font-size:13px;line-height:1;transition:filter .15s}.ask-btn[data-v-776fea8a]:hover{filter:brightness(.95)}.icon-btn[data-v-776fea8a]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;min-height:30px;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--fg-muted);font-size:13px;cursor:pointer;line-height:1;transition:all .15s}.icon-btn[data-v-776fea8a]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-btn[data-v-776fea8a]:disabled{opacity:.5;cursor:default}.icon-btn.fav-btn[data-v-776fea8a]{font-size:16px;padding:4px 12px}.icon-btn.fav-btn.active[data-v-776fea8a]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.icon-btn.note-btn.active[data-v-776fea8a]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-btn.scratch-btn.active[data-v-776fea8a]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.icon-btn.mastered-btn[data-v-776fea8a]{font-size:12px;padding:4px 10px}.icon-btn.mastered-btn.active[data-v-776fea8a]{background:var(--success-soft);border-color:var(--success);color:var(--success);font-weight:600}.icon-btn.skip-btn[data-v-776fea8a]{font-size:12px;padding:4px 10px}.icon-btn.skip-btn.active[data-v-776fea8a]{background:var(--bg-soft, rgba(120,120,120,.12));border-color:var(--fg-muted);color:var(--fg-muted);font-weight:600}.icon-btn.group-btn[data-v-776fea8a]{font-size:12px;padding:4px 10px;max-width:140px}.icon-btn.group-btn[data-v-776fea8a]:not(.active){border-style:dashed}.icon-btn.group-btn.active[data-v-776fea8a]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn);font-weight:600}.group-edit[data-v-776fea8a]{position:relative;display:inline-flex;align-items:center}.group-input[data-v-776fea8a]{width:120px;padding:5px 10px;min-height:30px;border:1px solid var(--accent);border-radius:999px;font-size:12px;color:var(--fg);outline:none}.group-suggest[data-v-776fea8a]{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:100%;max-width:200px;margin:0;padding:4px;list-style:none;background:var(--bg, #fff);border:1px solid var(--border, rgba(0,0,0,.12));border-radius:8px;box-shadow:0 6px 20px #0000001f}.group-suggest-item[data-v-776fea8a]{padding:5px 10px;border-radius:6px;font-size:12px;color:var(--fg);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-suggest-item[data-v-776fea8a]:hover{background:var(--accent-soft);color:var(--accent)}.note-ic[data-v-776fea8a]{font-size:14px}.icon-btn.timer-btn[data-v-776fea8a]{font-size:13px;padding:4px 10px}.icon-btn.timer-btn.active[data-v-776fea8a]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.timer-ic[data-v-776fea8a]{font-size:13px}.timer-elapsed[data-v-776fea8a]{font-variant-numeric:tabular-nums;font-weight:500}.verdict-elapsed[data-v-776fea8a]{margin-left:8px;font-size:13px;font-weight:400;opacity:.75;font-variant-numeric:tabular-nums}.link-btn[data-v-776fea8a]{background:none;border:none;color:var(--accent);padding:0}.stat-bar[data-v-776fea8a]{background:var(--accent-soft);color:var(--accent);padding:10px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.stem[data-v-776fea8a] p:first-child{margin-top:0}.opt[data-v-776fea8a]{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 18px;margin-bottom:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);text-align:left;min-height:44px}.opt[data-v-776fea8a]:hover:not([disabled]){border-color:var(--accent)}.opt.selected[data-v-776fea8a]{border-color:var(--accent);background:var(--accent-soft)}.opt[data-v-776fea8a]:disabled{opacity:1;color:var(--fg)}.opt.correct[data-v-776fea8a]{border-color:var(--success);background:var(--success-soft)}.opt.wrong[data-v-776fea8a]{border-color:var(--danger);background:var(--danger-soft)}.opt-key[data-v-776fea8a]{display:inline-block;min-width:24px;font-weight:600}.opt-text[data-v-776fea8a]{flex:1;font-size:15px}.answer-actions[data-v-776fea8a]{display:flex;gap:8px;margin-top:8px;align-items:stretch}.answer-actions .submit[data-v-776fea8a]{flex:1;margin-top:0}.btn-dontknow[data-v-776fea8a]{flex:0 0 auto;background:transparent;border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap}.btn-dontknow[data-v-776fea8a]:hover:not(:disabled){background:var(--bg-soft);color:var(--fg)}.verdict[data-v-776fea8a]{font-weight:600}.verdict.ok[data-v-776fea8a]{background:var(--success-soft);border-color:var(--success);color:var(--success)}.verdict.bad[data-v-776fea8a]{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.verdict.dk[data-v-776fea8a]{background:var(--bg-soft);border-color:var(--border);color:var(--fg);font-weight:500}.replay-bar[data-v-776fea8a]{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin-bottom:10px;background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px;font-size:13px;color:var(--fg-muted);gap:12px;flex-wrap:wrap}.replay-info[data-v-776fea8a]{font-weight:500}.replay-reset[data-v-776fea8a]{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 12px;font-size:12px;cursor:pointer;color:var(--fg)}.replay-reset[data-v-776fea8a]:hover{border-color:var(--accent);color:var(--accent)}.last-answer-wrap[data-v-776fea8a]{margin-bottom:12px}.last-answer-hint[data-v-776fea8a]{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px;font-size:13px;color:var(--fg-muted);gap:12px;flex-wrap:wrap}.lah-info[data-v-776fea8a]{font-weight:500}.lah-ok[data-v-776fea8a]{color:var(--success)}.lah-bad[data-v-776fea8a]{color:var(--danger)}.lah-score[data-v-776fea8a]{color:var(--accent)}.lah-eval[data-v-776fea8a]{color:var(--fg-muted)}.lah-btn[data-v-776fea8a]{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 12px;font-size:12px;cursor:pointer;color:var(--fg)}.lah-btn[data-v-776fea8a]:hover{border-color:var(--accent);color:var(--accent)}.answer-history-panel[data-v-776fea8a]{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000000f}.answer-history-state[data-v-776fea8a]{margin:0;padding:8px 10px;font-size:13px;color:var(--fg-muted)}.answer-history-state.error[data-v-776fea8a]{color:var(--danger)}.answer-history-row[data-v-776fea8a]{display:grid;grid-template-columns:72px minmax(88px,1fr) 96px 80px;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:var(--fg);font:inherit;font-size:13px;text-align:left;cursor:pointer}.answer-history-row[data-v-776fea8a]:hover{background:var(--bg-soft)}.ah-no[data-v-776fea8a]{color:var(--fg-muted)}.ah-result[data-v-776fea8a]{font-weight:600}.ah-result.ok[data-v-776fea8a]{color:var(--success)}.ah-result.bad[data-v-776fea8a]{color:var(--danger)}.ah-result.neutral[data-v-776fea8a]{color:var(--accent)}.ah-time[data-v-776fea8a],.ah-duration[data-v-776fea8a]{color:var(--fg-muted);text-align:right;white-space:nowrap}@media (max-width: 640px){.answer-history-row[data-v-776fea8a]{grid-template-columns:64px 1fr}.ah-time[data-v-776fea8a],.ah-duration[data-v-776fea8a]{text-align:left}}.sub[data-v-776fea8a]{margin:0 0 12px;font-size:16px}.md[data-v-776fea8a] p:first-child{margin-top:0}.anchors[data-v-776fea8a]{display:flex;flex-wrap:wrap;gap:12px}.anchor-btn[data-v-776fea8a]{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--fg);background:var(--bg)}.anchor-btn[data-v-776fea8a]:hover{border-color:var(--accent)}.anchor-icon[data-v-776fea8a]{font-size:18px}.video-wrap[data-v-776fea8a]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden}.video-wrap iframe[data-v-776fea8a]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.anchor-cap[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);margin:8px 0 0}.kp-chips[data-v-776fea8a]{margin-bottom:16px}.kp-chips-cap[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);margin:0 0 8px}.kp-chips-row[data-v-776fea8a]{display:flex;flex-wrap:wrap;gap:8px}.kp-chip[data-v-776fea8a]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:13px;text-decoration:none;color:var(--accent);border:1px solid var(--accent);background:transparent}.kp-chip[data-v-776fea8a]:hover{background:var(--accent);color:#fff}.blog-links[data-v-776fea8a]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.blog-links-cap[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);margin:0 0 2px}.blog-link[data-v-776fea8a]{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--fg);background:var(--bg);font-size:14px}.blog-link[data-v-776fea8a]:hover{border-color:var(--accent)}.blog-link .blog-title[data-v-776fea8a]{flex:1}.qsrc[data-v-776fea8a]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.qsrc-cap[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);margin:0 0 2px}.qsrc-item[data-v-776fea8a]{display:flex;align-items:baseline;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--fg);background:var(--bg);font-size:14px}.qsrc-item[data-v-776fea8a]:hover{border-color:var(--accent)}.qsrc-text[data-v-776fea8a]{flex:1;line-height:1.5}.qsrc-page[data-v-776fea8a]{margin-left:6px;color:var(--accent);font-weight:600}.qsrc-head[data-v-776fea8a]{display:block;font-size:12px;color:var(--fg-muted);margin-top:2px}.qsrc-contribute[data-v-776fea8a]{display:inline-block;margin-top:2px;font-size:13px;color:var(--accent);text-decoration:none}.qsrc-contribute[data-v-776fea8a]:hover{text-decoration:underline}.qnav[data-v-776fea8a]{display:flex;gap:12px;justify-content:space-between;margin-top:16px}.qnav .btn[data-v-776fea8a]{flex:1}.err[data-v-776fea8a]{color:var(--danger)}.see-exp-wrap[data-v-776fea8a]{margin-bottom:16px}.see-exp-btn[data-v-776fea8a]{width:100%;min-height:48px;padding:12px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:12px;font-size:15px;font-weight:500;cursor:pointer}.see-exp-btn[data-v-776fea8a]:hover{background:var(--accent-soft)}.see-exp-caret[data-v-776fea8a]{font-size:12px}@media (max-width: 1199px){.qnav[data-v-776fea8a]{position:fixed;left:0;right:0;bottom:0;margin:0;gap:10px;z-index:40;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);box-shadow:0 -2px 10px #0000000f}.qpage[data-v-776fea8a]{padding-bottom:76px}.toast[data-v-776fea8a]{bottom:88px}}.subq-list[data-v-776fea8a]{list-style:none;padding:12px 16px;margin:16px 0 0;background:var(--bg-soft);border-radius:6px;font-size:14px}.subq-list li[data-v-776fea8a]{padding:4px 0;display:flex;justify-content:space-between}.subq-score[data-v-776fea8a]{color:var(--fg-muted);font-size:13px}.comp-prompt[data-v-776fea8a]{text-align:center;padding:24px}.comp-prompt .hint[data-v-776fea8a]{color:var(--fg-muted);margin:0 0 16px;font-size:14px}.comp-answer-card .ca-head[data-v-776fea8a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.comp-answer-card .sub[data-v-776fea8a]{margin:0}.ca-tools[data-v-776fea8a]{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ver-wrap[data-v-776fea8a]{position:relative}.ca-tool-btn[data-v-776fea8a]{font:inherit;font-size:12px;padding:4px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer}.ca-tool-btn[data-v-776fea8a]:hover{border-color:var(--accent);color:var(--accent)}.ver-backdrop[data-v-776fea8a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.ver-pop[data-v-776fea8a]{position:absolute;top:calc(100% + 6px);left:0;z-index:21;min-width:240px;max-width:320px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 8px 24px #0000001f}.vp-hint[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:2px 4px 6px}.vp-row[data-v-776fea8a]{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:12px;padding:7px 8px;border:none;border-radius:7px;background:none;cursor:pointer;color:var(--fg)}.vp-row[data-v-776fea8a]:hover{background:var(--bg-soft)}.vp-no[data-v-776fea8a]{font-weight:600}.vp-score[data-v-776fea8a]{color:var(--warn)}.vp-time[data-v-776fea8a]{margin-left:auto;color:var(--fg-muted)}.vp-more[data-v-776fea8a]{display:block;width:100%;text-align:left;font:inherit;font-size:12px;padding:7px 8px;margin-top:4px;border:none;border-top:1px solid var(--border);background:none;color:var(--accent);cursor:pointer;border-radius:0 0 7px 7px}.vp-more[data-v-776fea8a]:hover{background:var(--bg-soft)}.ai-grade-row[data-v-776fea8a]{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.ai-grade-btn[data-v-776fea8a]{font:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.ai-grade-btn[data-v-776fea8a]:disabled{opacity:.5;cursor:not-allowed}.ai-grade-note[data-v-776fea8a]{font-size:12px;color:var(--fg-muted)}.ai-grade-err[data-v-776fea8a]{font-size:12px;color:var(--danger);margin:8px 0 0}.photo-grade[data-v-776fea8a]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:10px}.photo-grade-head[data-v-776fea8a]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photo-add-btn[data-v-776fea8a]{font-size:13px;font-weight:600;padding:7px 14px;border-radius:8px;cursor:pointer;border:1px dashed var(--accent);color:var(--accent);background:var(--accent-soft)}.photo-add-btn.disabled[data-v-776fea8a]{opacity:.5;cursor:not-allowed}.photo-grade-note[data-v-776fea8a]{font-size:12px;color:var(--fg-muted)}.photo-thumbs[data-v-776fea8a]{display:flex;gap:10px;flex-wrap:wrap}.photo-thumb[data-v-776fea8a]{position:relative;width:84px;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.photo-thumb img[data-v-776fea8a]{width:100%;height:100%;object-fit:cover}.photo-del[data-v-776fea8a]{position:absolute;top:2px;right:2px;width:20px;height:20px;line-height:18px;border-radius:50%;border:none;background:#0000008c;color:#fff;cursor:pointer;font-size:14px}.photo-grade-btn[data-v-776fea8a]{align-self:flex-start}.ai-grade-head[data-v-776fea8a]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.ai-grade-score[data-v-776fea8a]{font-size:18px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.ai-grade-tip[data-v-776fea8a]{font-size:12px;color:var(--fg-muted)}.ai-grade-changed[data-v-776fea8a]{font-size:12px;color:var(--warn);margin:0 0 10px}.ai-fb-list[data-v-776fea8a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ai-fb-row[data-v-776fea8a]{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5}.ai-fb-part[data-v-776fea8a]{flex-shrink:0;font-weight:600;color:var(--fg)}.ai-fb-hit[data-v-776fea8a]{flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px}.g-full[data-v-776fea8a]{background:var(--success-soft);color:var(--success)}.g-partial[data-v-776fea8a]{background:var(--warn-soft);color:var(--warn)}.g-none[data-v-776fea8a]{background:var(--danger-soft);color:var(--danger)}.ai-fb-comment[data-v-776fea8a]{flex:1;min-width:0;color:var(--fg)}.ai-suggestion[data-v-776fea8a]{font-size:13px;color:var(--fg);margin:12px 0 0;line-height:1.5}.ai-suggestion-label[data-v-776fea8a]{font-weight:600;color:var(--accent);margin-right:4px}.ai-recognized[data-v-776fea8a]{margin:10px 0 0;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.ai-recognized-label[data-v-776fea8a]{font-size:12px;font-weight:600;color:var(--fg-muted)}.ai-recognized-body[data-v-776fea8a]{font-size:13px;color:var(--fg);margin:6px 0 0;line-height:1.6;white-space:pre-wrap;word-break:break-word}.ai-recognized-tip[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:6px 0 0;line-height:1.4}.ai-suggestion-body[data-v-776fea8a]{display:inline}.ai-suggestion-body[data-v-776fea8a] p{display:inline;margin:0}.ai-suggestion-body[data-v-776fea8a] p:not(:first-child){display:block;margin-top:6px}.ai-grade-disclaimer[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:8px 0 0}.ca-status[data-v-776fea8a]{font-size:12px;color:var(--fg-muted)}.ca-status.err[data-v-776fea8a]{color:var(--danger)}.ca-textarea[data-v-776fea8a]{width:100%;box-sizing:border-box;min-height:140px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier New,PingFang SC,Microsoft YaHei,monospace;font-size:14px;line-height:1.6;tab-size:4;-moz-tab-size:4}.ca-textarea[data-v-776fea8a]:focus{outline:none;border-color:var(--accent)}.ca-textarea[data-v-776fea8a]:disabled{background:var(--bg-soft);color:var(--fg-muted)}.ca-login[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:8px 0 0}.ca-diagram-tools[data-v-776fea8a]{display:flex;gap:6px;margin-bottom:8px}.ca-preview[data-v-776fea8a]{width:100%;box-sizing:border-box;min-height:140px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:14px}.ca-preview-raw[data-v-776fea8a]{white-space:pre-wrap;word-break:break-word;line-height:1.6}.self-eval .eval-opts[data-v-776fea8a]{display:flex;flex-direction:column;gap:10px;margin:12px 0}.eval-opt[data-v-776fea8a]{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 18px;border:1px solid var(--border);border-radius:10px;background:var(--bg);text-align:left;cursor:pointer}.eval-opt[data-v-776fea8a]:hover{border-color:var(--accent)}.eval-opt.selected[data-v-776fea8a]{border-color:var(--accent);background:var(--accent-soft)}.eval-icon[data-v-776fea8a]{font-size:22px;line-height:1}.eval-text[data-v-776fea8a]{flex:1;display:flex;flex-direction:column;gap:4px}.eval-text small[data-v-776fea8a]{color:var(--fg-muted);font-size:12px}.difficulty[data-v-776fea8a]{color:var(--warn);letter-spacing:1px}.source-origin[data-v-776fea8a]{color:var(--text-muted, #888)}.note-pane[data-v-776fea8a]{flex:0 0 340px;position:sticky;top:96px;max-height:calc(100vh - 112px);display:flex;flex-direction:column;background:var(--bg);border:1px solid #fde68a;border-radius:12px;padding:14px 16px;box-sizing:border-box}.note-pane-head[data-v-776fea8a]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.note-pane-head .sub[data-v-776fea8a]{margin:0;flex-shrink:0;white-space:nowrap}.note-pane-tools[data-v-776fea8a]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.note-tool[data-v-776fea8a]{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--fg-muted);flex-shrink:0}.note-tool[data-v-776fea8a]:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.note-tool.on[data-v-776fea8a]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.note-tool[data-v-776fea8a]:disabled{color:#ccc;cursor:not-allowed}.note-tool.fmt[data-v-776fea8a]{width:28px;padding:3px 0;text-align:center;font-size:13px;line-height:1.4}.note-tool.fmt b[data-v-776fea8a]{font-weight:700}.note-tool.fmt mark[data-v-776fea8a]{background:#fef08a;color:inherit;padding:0 2px;border-radius:2px}.note-preview[data-v-776fea8a] mark{background:#fef08a;padding:0 2px;border-radius:2px}.note-pane-close[data-v-776fea8a]{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--fg-muted);flex-shrink:0}.note-pane-close[data-v-776fea8a]:hover{color:var(--accent);border-color:var(--accent)}.note-loading[data-v-776fea8a]{color:var(--fg-muted);font-size:13px;margin:0}.note-preview[data-v-776fea8a]{flex:1;overflow:auto;min-height:120px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:14px}.note-preview[data-v-776fea8a] img{display:block;max-width:100%;height:auto;margin:8px 0;border-radius:6px;border:1px solid var(--border)}.note-preview[data-v-776fea8a] img[src^="cbimg:"]{visibility:hidden;min-height:1.2em}.note-image-input[data-v-776fea8a]{display:none}.diagram-modal-mask[data-v-776fea8a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006;display:flex;align-items:center;justify-content:center;padding:24px}.diagram-modal[data-v-776fea8a]{width:min(1100px,96vw);height:min(720px,92vh);background:var(--bg);border-radius:12px;overflow:hidden;box-shadow:0 12px 48px #00000040}@media (max-width: 820px){.diagram-modal-mask[data-v-776fea8a]{padding:0}.diagram-modal[data-v-776fea8a]{width:100vw;height:100vh;border-radius:0}}.note-textarea[data-v-776fea8a]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;line-height:1.6;resize:vertical;flex:1 1 auto;min-height:200px;background:var(--bg);color:var(--fg);box-sizing:border-box}@media (max-width: 1024px){.q-split[data-v-776fea8a]{flex-wrap:wrap}.note-pane[data-v-776fea8a]{flex-basis:100%;position:static;max-height:none;margin-top:16px}.note-pane .note-textarea[data-v-776fea8a]{min-height:140px}.q-split.notes-open .qpage[data-v-776fea8a]{padding-bottom:0}.q-split.notes-open .note-pane[data-v-776fea8a]{margin-bottom:76px}}@media (max-width: 1279px){.q-split.notes-open .qnumber-rail[data-v-776fea8a]{display:none}}.note-textarea[data-v-776fea8a]:focus{outline:none;border-color:var(--accent)}.note-meta[data-v-776fea8a]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--fg-muted);margin-top:8px;gap:12px}.note-count.over[data-v-776fea8a]{color:var(--danger);font-weight:600}.note-status[data-v-776fea8a]{font-variant-numeric:tabular-nums}.note-warn[data-v-776fea8a]{font-size:12px;color:var(--danger);margin:6px 0 0}.toast[data-v-776fea8a]{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:200;padding:10px 18px;border-radius:999px;background:#0f172ad9;color:#fff;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000026;pointer-events:none}.opt-dist .dist-row[data-v-776fea8a]{display:flex;align-items:center;gap:12px;padding:6px 0}.opt-dist .dist-key[data-v-776fea8a]{width:22px;font-weight:600;color:var(--fg-muted);font-size:14px}.opt-dist .dist-bar[data-v-776fea8a]{flex:1;height:14px;background:var(--bg-soft);border-radius:999px;overflow:hidden;position:relative}.opt-dist .dist-fill[data-v-776fea8a]{height:100%;background:var(--border);transition:width .4s ease-out;border-radius:999px}.opt-dist .dist-fill.correct[data-v-776fea8a]{background:var(--success)}.opt-dist .dist-fill.wrong[data-v-776fea8a]{background:var(--danger)}.opt-dist .dist-meta[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);min-width:92px;text-align:right}.opt-dist .dist-count[data-v-776fea8a]{color:var(--fg-muted)}@media (max-width: 480px){.opt-dist .dist-meta[data-v-776fea8a]{min-width:72px;font-size:12px}.opt-dist .dist-count[data-v-776fea8a]{display:none}}.option-reasons[data-v-776fea8a]{padding:0;overflow:hidden}.option-reasons summary[data-v-776fea8a]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:14px 16px;cursor:pointer;list-style:none;color:var(--fg);font-weight:600}.option-reasons summary[data-v-776fea8a]::-webkit-details-marker{display:none}.option-reasons summary[data-v-776fea8a]:after{content:"▾";color:var(--fg-muted);font-size:13px;transition:transform .16s ease}.option-reasons[open] summary[data-v-776fea8a]:after{transform:rotate(180deg)}.option-reasons-count[data-v-776fea8a]{margin-left:auto;color:var(--fg-muted);font-size:13px;font-weight:500}.option-reasons-list[data-v-776fea8a]{border-top:1px solid var(--border);padding:4px 16px 16px}.option-reason[data-v-776fea8a]{padding:14px 0;border-bottom:1px solid var(--border)}.option-reason[data-v-776fea8a]:last-child{border-bottom:0;padding-bottom:0}.option-reason-head[data-v-776fea8a]{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.option-reason-key[data-v-776fea8a]{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-soft);color:var(--fg-muted);font-weight:700;font-size:13px}.option-reason-text[data-v-776fea8a]{min-width:0;color:var(--fg);font-size:14px;line-height:1.65}.option-reason-body[data-v-776fea8a]{padding-left:36px;color:var(--fg-muted)}@media (max-width: 520px){.option-reasons summary[data-v-776fea8a]{padding:13px 14px}.option-reasons-list[data-v-776fea8a]{padding:2px 14px 14px}.option-reason-body[data-v-776fea8a]{padding-left:0}}.feedback-section[data-v-776fea8a]{margin-top:8px}.group-modal-mask[data-v-776fea8a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:20px}.group-modal[data-v-776fea8a]{position:relative;width:100%;max-width:360px;background:var(--bg);border-radius:14px;padding:24px 20px 20px;box-shadow:0 20px 60px #00000040;text-align:center}.group-modal-close[data-v-776fea8a]{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;line-height:1;color:var(--fg-muted);cursor:pointer}.group-modal-close[data-v-776fea8a]:hover{color:var(--fg)}.group-modal-tip[data-v-776fea8a]{font-size:14px;color:var(--success);margin:8px 0 16px;font-weight:500}.group-modal-qr[data-v-776fea8a]{width:200px;height:200px;border-radius:8px;border:1px solid var(--border);display:block;margin:0 auto}.group-modal-hint[data-v-776fea8a]{font-size:13px;color:var(--fg-muted);margin:10px 0 12px}.group-modal-text[data-v-776fea8a]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:12px;resize:vertical;background:var(--bg-soft);color:var(--fg)}.qnumber-rail[data-v-776fea8a]{position:fixed;top:96px;right:16px;bottom:16px;width:40px;display:flex;flex-direction:column;gap:4px;padding:6px 4px;overflow-y:auto;background:#ffffffeb;border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 6px #0000000a;z-index:10;scrollbar-width:thin}.qnumber-rail[data-v-776fea8a]::-webkit-scrollbar{width:4px}.qnumber-rail[data-v-776fea8a]::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.qnum[data-v-776fea8a]{position:relative;flex-shrink:0;width:30px;height:26px;border:none;background:transparent;color:var(--fg-muted);font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:4px;padding:0}.qnum.done-round[data-v-776fea8a]:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1.5px #fff}.qnum[data-v-776fea8a]:hover{background:var(--bg-soft);color:var(--fg)}.qnum.correct[data-v-776fea8a]{background:var(--success-soft);color:var(--success)}.qnum.wrong[data-v-776fea8a]{background:var(--danger-soft);color:var(--danger)}.qnum.dontknow[data-v-776fea8a]{background:var(--bg-soft);color:var(--fg-muted)}.qnum.correct[data-v-776fea8a]:hover{background:#bbf7d0}.qnum.wrong[data-v-776fea8a]:hover{background:#fecaca}.qnum.dontknow[data-v-776fea8a]:hover{background:var(--border)}.qnum.active[data-v-776fea8a]{background:var(--accent-soft);color:var(--accent);font-weight:600;outline:2px solid var(--accent);outline-offset:-2px}.qnum.active.correct[data-v-776fea8a]{background:var(--success-soft);color:var(--success)}.qnum.active.wrong[data-v-776fea8a]{background:var(--danger-soft);color:var(--danger)}@media (max-width: 1199px){.qnumber-rail[data-v-776fea8a]{position:static;width:auto;flex-direction:row;bottom:auto;margin:0 0 12px;padding:6px;overflow-x:auto;overflow-y:hidden}}.cause-tip[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:8px 0 0}.wb-card[data-v-776fea8a]{background:var(--bg-soft)}.wb-row[data-v-776fea8a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.wb-state[data-v-776fea8a]{font-size:14px;color:var(--fg-muted)}.wb-state.on[data-v-776fea8a]{color:var(--accent);font-weight:600}.wb-btn[data-v-776fea8a]{flex-shrink:0;padding:8px 16px;min-height:36px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);transition:filter .15s,color .15s,border-color .15s,background .15s}.wb-btn[data-v-776fea8a]:hover:not(:disabled){filter:brightness(.94)}.wb-btn.on[data-v-776fea8a]{background:var(--bg);color:var(--fg-muted);border-color:var(--border);filter:none}.wb-btn.on[data-v-776fea8a]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.wb-btn[data-v-776fea8a]:disabled{opacity:.5;cursor:default}.wb-tip[data-v-776fea8a]{font-size:12px;color:var(--fg-muted);margin:8px 0 0}.wrong-book[data-v-5fb04e5c]{max-width:880px;margin:0 auto}.header-row[data-v-5fb04e5c]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:16px;flex-wrap:wrap}.title[data-v-5fb04e5c]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-5fb04e5c]{font-size:13px;color:var(--fg-muted);margin:0}.redo-all-btn[data-v-5fb04e5c]{white-space:nowrap}.header-actions[data-v-5fb04e5c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-resume[data-v-5fb04e5c]{white-space:nowrap;background:var(--accent-soft, #eef4ff);border:1px solid var(--accent);color:var(--accent);font-weight:600}.btn-resume[data-v-5fb04e5c]:hover{background:var(--accent);color:#fff}.time-filter[data-v-5fb04e5c],.type-filter[data-v-5fb04e5c]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tf-chip[data-v-5fb04e5c]{padding:5px 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font:inherit;font-size:13px}.tf-chip[data-v-5fb04e5c]:hover{border-color:var(--accent);color:var(--accent)}.tf-chip.on[data-v-5fb04e5c]{border-color:var(--accent);background:var(--accent-soft, #eef4ff);color:var(--accent);font-weight:600}.tf-n[data-v-5fb04e5c]{font-variant-numeric:tabular-nums;opacity:.75}.cause-filter[data-v-5fb04e5c]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.cf-chip[data-v-5fb04e5c]{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font:inherit;font-size:13px}.cf-chip[data-v-5fb04e5c]:hover{border-color:var(--accent);color:var(--accent)}.cf-chip.on[data-v-5fb04e5c]{border-color:var(--accent);background:var(--accent-soft, #eef4ff);color:var(--accent);font-weight:600}.cf-n[data-v-5fb04e5c]{font-variant-numeric:tabular-nums;opacity:.75}.tabs-row[data-v-5fb04e5c]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.fav-link[data-v-5fb04e5c]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;min-height:32px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--fg-muted);text-decoration:none;transition:all .15s}.fav-link[data-v-5fb04e5c]:hover{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.fav-link-icon[data-v-5fb04e5c]{font-size:14px;line-height:1;color:var(--warn)}.fav-mark[data-v-5fb04e5c]{color:var(--warn);font-size:13px}.tabs[data-v-5fb04e5c]{display:inline-flex;padding:4px;background:var(--bg-soft);border-radius:10px;border:1px solid var(--border)}.tab[data-v-5fb04e5c]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;font-size:14px;color:var(--fg-muted);cursor:pointer;border-radius:7px;transition:all .15s;font-weight:500}.tab[data-v-5fb04e5c]:hover:not(.active){color:var(--fg)}.tab.active[data-v-5fb04e5c]{background:var(--bg);color:var(--fg);font-weight:600;box-shadow:0 1px 3px #00000014}.tab-count[data-v-5fb04e5c]{display:inline-block;min-width:22px;padding:1px 7px;background:var(--border);color:var(--fg-muted);border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600}.tab.active .tab-count[data-v-5fb04e5c]{background:var(--accent-soft);color:var(--accent)}.loading[data-v-5fb04e5c],.err[data-v-5fb04e5c]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-5fb04e5c]{color:var(--danger)}.empty-card[data-v-5fb04e5c]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-5fb04e5c]{font-size:40px;margin-bottom:12px}.empty-title[data-v-5fb04e5c]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-5fb04e5c]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-5fb04e5c]{margin-top:16px}.groups[data-v-5fb04e5c]{display:flex;flex-direction:column;gap:24px}.group-head[data-v-5fb04e5c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;flex-wrap:wrap}.group-actions[data-v-5fb04e5c]{display:inline-flex;align-items:center;gap:8px}.group-title[data-v-5fb04e5c]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.g-subject[data-v-5fb04e5c]{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-soft);color:var(--fg)}.tone-ds[data-v-5fb04e5c]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-5fb04e5c]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-5fb04e5c]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-5fb04e5c]{background:var(--success-soft);color:var(--success)}.g-chapter[data-v-5fb04e5c]{font-size:15px;font-weight:600;color:var(--fg)}.g-count[data-v-5fb04e5c]{color:var(--fg-muted);font-size:13px}.btn-small[data-v-5fb04e5c]{padding:6px 12px;min-height:32px;font-size:13px;border-radius:6px}.btn-ghost[data-v-5fb04e5c]{background:transparent;border:1px solid var(--border);color:var(--fg)}.btn-ghost[data-v-5fb04e5c]:hover{border-color:var(--accent);color:var(--accent)}.list[data-v-5fb04e5c]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.row[data-v-5fb04e5c]{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s}.row-cause[data-v-5fb04e5c]{flex-basis:100%;display:flex;align-items:center;gap:8px;padding-left:58px}.row-cause-label[data-v-5fb04e5c]{font-size:12px;color:var(--fg-muted)}.row[data-v-5fb04e5c]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0d}.row-badge[data-v-5fb04e5c]{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.wc-mild[data-v-5fb04e5c]{background:var(--warn-soft);color:var(--warn)}.wc-warm[data-v-5fb04e5c]{background:var(--danger-soft);color:var(--danger)}.wc-hot[data-v-5fb04e5c]{background:var(--danger);color:#fff}.row-main[data-v-5fb04e5c]{flex:1;min-width:0;text-align:left;cursor:pointer;background:none;border:none;padding:0;color:var(--fg);font:inherit}.row-main:hover .row-stem[data-v-5fb04e5c]{color:var(--accent)}.row-meta[data-v-5fb04e5c]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-muted);margin-bottom:4px;flex-wrap:wrap}.streak-hint[data-v-5fb04e5c]{display:inline-block;padding:1px 8px;background:var(--success-soft);color:var(--success);border-radius:999px;font-size:11px;font-weight:600}.review-due[data-v-5fb04e5c]{display:inline-block;padding:1px 8px;background:var(--bg-soft);color:var(--fg-muted);border-radius:999px;font-size:11px;font-weight:600}.review-due-hot[data-v-5fb04e5c]{background:var(--danger-soft);color:var(--danger)}.today-reviewed[data-v-5fb04e5c]{display:inline-block;padding:1px 8px;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:11px;font-weight:600}.dk-tag[data-v-5fb04e5c]{display:inline-block;padding:1px 8px;background:var(--bg-soft);color:var(--fg-muted);border-radius:999px;font-size:11px;font-weight:600}.row-stem[data-v-5fb04e5c]{font-size:14px;line-height:1.5;color:var(--fg);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.row-action[data-v-5fb04e5c]{flex-shrink:0}@media (max-width: 600px){.row[data-v-5fb04e5c]{flex-wrap:wrap}.row-badge[data-v-5fb04e5c]{width:36px;height:36px;font-size:12px}.row-action[data-v-5fb04e5c]{width:100%;margin-top:4px}.header-row .redo-all-btn[data-v-5fb04e5c]{width:100%}}.prog-page[data-v-9a076855]{padding:20px 24px 60px}.page-head[data-v-9a076855]{margin-bottom:22px}.page-title[data-v-9a076855]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-9a076855]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.state[data-v-9a076855]{color:var(--fg-muted);padding:60px 0;text-align:center}.state-mini[data-v-9a076855]{color:var(--fg-muted);padding:20px 0;text-align:center;font-size:12px}.err[data-v-9a076855]{color:var(--danger)}.empty-card[data-v-9a076855]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-9a076855]{font-size:40px;margin-bottom:12px}.empty-title[data-v-9a076855]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-9a076855]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-9a076855]{margin-top:16px}.source-bar[data-v-9a076855]{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.src-label[data-v-9a076855]{font-size:13px;color:var(--fg-muted);font-weight:500}.src-seg[data-v-9a076855]{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--bg)}.src-btn[data-v-9a076855]{padding:5px 14px;border:none;background:var(--bg);cursor:pointer;font-size:12px;color:var(--fg-muted);font-family:inherit;border-right:1px solid var(--border)}.src-btn[data-v-9a076855]:last-child{border-right:none}.src-btn[data-v-9a076855]:hover{background:var(--bg-soft)}.src-btn.on[data-v-9a076855]{background:var(--accent);color:#fff}.src-hint[data-v-9a076855]{font-size:11px;color:var(--fg-muted)}.kpi-row[data-v-9a076855]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.kpi-dim[data-v-9a076855]{opacity:.5;transition:opacity .15s}.kpi-card[data-v-9a076855]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-9a076855]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-9a076855]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-blue[data-v-9a076855]:before{background:var(--accent)}.kpi-blue .kpi-num[data-v-9a076855]{color:var(--accent)}.kpi-green[data-v-9a076855]:before{background:var(--success)}.kpi-green .kpi-num[data-v-9a076855]{color:var(--success)}.kpi-orange[data-v-9a076855]:before{background:var(--warn)}.kpi-orange .kpi-num[data-v-9a076855]{color:var(--warn)}.kpi-red[data-v-9a076855]:before{background:var(--danger)}.kpi-red .kpi-num[data-v-9a076855]{color:var(--danger)}.kpi-purple[data-v-9a076855]:before{background:var(--purple)}.kpi-purple .kpi-num[data-v-9a076855]{color:var(--purple)}.kpi-num[data-v-9a076855]{font-size:32px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-unit[data-v-9a076855]{font-size:16px;font-weight:500;color:var(--fg-muted)}.kpi-label[data-v-9a076855]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-9a076855]{font-size:11px;color:var(--fg-muted)}.link-foot[data-v-9a076855]{color:var(--accent);text-decoration:none}.link-foot[data-v-9a076855]:hover{text-decoration:underline}.dual-grid[data-v-9a076855]{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel[data-v-9a076855]{background:var(--bg);border-radius:12px;padding:18px 20px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008}.panel-head[data-v-9a076855]{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}.panel-title[data-v-9a076855]{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.panel-sub[data-v-9a076855]{font-size:12px;color:var(--fg-muted)}.radar-wrap[data-v-9a076855]{display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 0}.radar-svg[data-v-9a076855]{display:block;flex-shrink:0}.axis-label[data-v-9a076855]{font-size:12px;fill:var(--fg-muted);font-weight:500}.radar-legend[data-v-9a076855]{display:flex;flex-direction:column;gap:8px}.legend-btn[data-v-9a076855]{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid;cursor:pointer;font-size:12px;transition:all .15s}.legend-btn.off[data-v-9a076855]{opacity:.5}.legend-btn.off[data-v-9a076855]:hover{opacity:.8}.legend-dot[data-v-9a076855]{width:8px;height:8px;border-radius:50%}.legend-mini[data-v-9a076855]{font-size:10px;opacity:.85;font-family:SF Mono,Consolas,monospace}.cal-wrap[data-v-9a076855]{padding:4px 0}.cal-months[data-v-9a076855]{position:relative;height:18px;margin-left:28px;margin-bottom:4px;font-size:10px;color:var(--fg-muted)}.cal-month-label[data-v-9a076855]{position:absolute}.cal-body[data-v-9a076855]{display:flex;gap:4px}.cal-weekdays[data-v-9a076855]{display:grid;grid-template-rows:repeat(7,12px);gap:2px;font-size:9px;color:var(--fg-muted);align-content:start;padding-top:0}.cal-grid[data-v-9a076855]{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);gap:2px}.cal-cell[data-v-9a076855]{width:12px;height:12px;border-radius:2px;background:var(--bg-soft)}.cal-cell.lvl-0[data-v-9a076855]{background:#ebedf0}.cal-cell.lvl-1[data-v-9a076855]{background:#c6e48b}.cal-cell.lvl-2[data-v-9a076855]{background:#7bc96f}.cal-cell.lvl-3[data-v-9a076855]{background:#239a3b}.cal-cell.lvl-4[data-v-9a076855]{background:#196127}.cal-legend[data-v-9a076855]{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--fg-muted);margin-top:12px;justify-content:flex-end}.cal-legend .cal-cell[data-v-9a076855]{width:10px;height:10px}.kp-list[data-v-9a076855]{list-style:none;padding:0;margin:0}.kp-row[data-v-9a076855]{display:grid;grid-template-columns:30px 1fr auto 120px 50px 60px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.kp-row[data-v-9a076855]:last-child{border-bottom:0}.kp-rank[data-v-9a076855]{font-size:12px;font-weight:700;color:var(--fg-muted);text-align:center}.kp-name[data-v-9a076855]{font-weight:500;color:var(--fg)}.kp-subj-pill[data-v-9a076855]{display:inline-block;padding:1px 8px;font-size:10px;border:1px solid;border-radius:999px;background:var(--bg);white-space:nowrap}.kp-rate-bar[data-v-9a076855]{height:6px;background:var(--bg-soft);border-radius:999px;overflow:hidden;position:relative}.kp-rate-fill[data-v-9a076855]{display:block;height:100%;border-radius:999px;transition:width .4s}.kp-rate-text[data-v-9a076855]{font-size:11px;font-weight:600;text-align:right;color:var(--fg-muted)}.kp-sample[data-v-9a076855]{font-size:10px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;text-align:right}.subj-tabs[data-v-9a076855]{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.subj-tab[data-v-9a076855]{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:12px;color:var(--fg-muted)}.subj-tab.active[data-v-9a076855]{color:#fff}.ch-list[data-v-9a076855]{list-style:none;padding:0;margin:0}.ch-row[data-v-9a076855]{padding:12px 0;border-bottom:1px solid var(--border)}.ch-row[data-v-9a076855]:last-child{border-bottom:0}.ch-row-head[data-v-9a076855]{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}.ch-name[data-v-9a076855]{font-size:13px;color:var(--fg);font-weight:500}.ch-meta[data-v-9a076855]{display:flex;gap:12px;font-size:12px}.ch-num[data-v-9a076855]{color:var(--fg-muted);font-family:SF Mono,Consolas,monospace}.ch-rate[data-v-9a076855]{font-weight:500}.ch-bar[data-v-9a076855]{height:6px;border-radius:999px;overflow:hidden;background:var(--bg-soft);position:relative}.ch-bar-bg[data-v-9a076855]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-soft)}.ch-bar-correct[data-v-9a076855]{position:absolute;top:0;left:0;height:100%;background:var(--success)}.ch-bar-wrong[data-v-9a076855]{position:absolute;top:0;height:100%;background:var(--danger)}.empty[data-v-9a076855]{color:var(--fg-muted);padding:20px;text-align:center;font-size:13px}.weekly-panel[data-v-9a076855]{margin-bottom:16px}.wk-overview[data-v-9a076855]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.wk-stat[data-v-9a076855]{background:var(--bg-soft);border-radius:10px;padding:12px 14px;text-align:center}.wk-num[data-v-9a076855]{font-size:24px;font-weight:700;color:var(--fg);line-height:1.1}.wk-unit[data-v-9a076855]{font-size:14px;font-weight:600;color:var(--fg-muted)}.wk-lbl[data-v-9a076855]{font-size:12px;color:var(--fg-muted);margin-top:4px}.wk-section-label[data-v-9a076855]{font-size:13px;font-weight:600;color:var(--fg);margin:4px 0 10px}.wk-subjects[data-v-9a076855]{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.wk-subj[data-v-9a076855]{display:grid;grid-template-columns:72px 1fr 52px 48px;align-items:center;gap:10px}.wk-subj-name[data-v-9a076855]{font-size:13px;font-weight:600}.wk-subj-rate[data-v-9a076855]{font-size:12px;font-weight:600;text-align:right;color:var(--fg)}.wk-subj-rate.untouched[data-v-9a076855]{color:var(--fg-muted);font-weight:400}.wk-subj-sample[data-v-9a076855]{font-size:10px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;text-align:right}.wk-weak-list[data-v-9a076855]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.wk-weak-row[data-v-9a076855]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wk-weak-count[data-v-9a076855]{font-size:12px;color:var(--danger);margin-left:auto;white-space:nowrap}.wk-weak-link[data-v-9a076855]{font-size:12px;color:var(--accent);text-decoration:none;white-space:nowrap}.wk-weak-link[data-v-9a076855]:hover{text-decoration:underline}.wk-weak-empty[data-v-9a076855],.wk-empty[data-v-9a076855]{font-size:13px;color:var(--fg-muted);padding:8px 0}@media (max-width: 720px){.wk-overview[data-v-9a076855]{grid-template-columns:repeat(2,1fr)}.wk-weak-count[data-v-9a076855]{margin-left:0}}@media (max-width: 1100px){.kpi-row[data-v-9a076855]{grid-template-columns:repeat(3,1fr)}.dual-grid[data-v-9a076855]{grid-template-columns:1fr}}@media (max-width: 720px){.kpi-row[data-v-9a076855]{grid-template-columns:repeat(2,1fr)}.kp-row[data-v-9a076855]{grid-template-columns:26px 1fr 50px 50px}.kp-rate-bar[data-v-9a076855],.kp-subj-pill[data-v-9a076855]{display:none}}.title[data-v-45e9b5b0]{font-size:22px;margin:0 0 12px}.subject-tabs[data-v-45e9b5b0]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.hub-strip[data-v-45e9b5b0]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.hub-label[data-v-45e9b5b0]{font-size:12px;color:var(--fg-muted);flex-shrink:0}.hub-chip[data-v-45e9b5b0]{padding:3px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft, #f7f8fa);font-size:12.5px;color:var(--fg-muted);text-decoration:none;white-space:nowrap;transition:color .15s,border-color .15s}.hub-chip[data-v-45e9b5b0]:hover{color:var(--accent);border-color:var(--accent)}.hub-ext[data-v-45e9b5b0]{font-size:10px;opacity:.5;margin-left:3px}.tab[data-v-45e9b5b0]{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:14px}.tab[data-v-45e9b5b0]:hover{border-color:var(--accent)}.tab.active[data-v-45e9b5b0]{background:var(--accent);border-color:var(--accent);color:#fff}.layout[data-v-45e9b5b0]{display:grid;grid-template-columns:240px 1fr;gap:16px}@media (max-width: 768px){.layout[data-v-45e9b5b0]{grid-template-columns:1fr}}.ch-list[data-v-45e9b5b0]{display:flex;flex-direction:column;gap:8px}.ch[data-v-45e9b5b0]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:left}.ch.active[data-v-45e9b5b0]{border-color:var(--accent);background:var(--accent-soft)}.ch-name[data-v-45e9b5b0]{font-weight:600}.ch-meta[data-v-45e9b5b0]{font-size:13px;color:var(--fg-muted);margin-top:4px}.q-list[data-v-45e9b5b0]{display:flex;flex-direction:column;gap:12px}.q-row[data-v-45e9b5b0]{display:block;text-decoration:none;color:var(--fg)}.q-meta[data-v-45e9b5b0]{display:flex;justify-content:space-between;font-size:12px;color:var(--fg-muted);margin-bottom:6px}.q-meta-right[data-v-45e9b5b0]{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.status.s-correct[data-v-45e9b5b0]{color:var(--success)}.status.s-wrong[data-v-45e9b5b0]{color:var(--danger)}.ratio[data-v-45e9b5b0]{font-variant-numeric:tabular-nums;padding:0 6px;border-radius:4px;background:var(--bg-soft, #f0f1f3);color:var(--fg-muted);font-size:11px;font-weight:600}.q-stem[data-v-45e9b5b0]{font-size:15px;margin-bottom:6px}.q-userstat[data-v-45e9b5b0]{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--fg-muted);margin-bottom:6px;flex-wrap:wrap}.spark[data-v-45e9b5b0]{display:inline-flex;gap:2px;align-items:center}.spark .dot[data-v-45e9b5b0]{width:7px;height:7px;border-radius:2px;display:inline-block}.spark .dot.ok[data-v-45e9b5b0]{background:var(--success)}.spark .dot.no[data-v-45e9b5b0]{background:var(--danger)}.memo-tag[data-v-45e9b5b0]{padding:0 6px;border-radius:4px;background:var(--warn-soft);color:var(--warn);font-size:11px;white-space:nowrap}.lastat[data-v-45e9b5b0]{white-space:nowrap}.q-tags .tag[data-v-45e9b5b0]{font-size:12px;color:var(--fg-muted);margin-right:8px}.empty[data-v-45e9b5b0]{color:var(--fg-muted);text-align:center;padding:24px}.filter-bar[data-v-45e9b5b0]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.filter-row[data-v-45e9b5b0]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-label[data-v-45e9b5b0]{color:var(--fg-muted);width:32px;flex-shrink:0}.year-chips[data-v-45e9b5b0]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-45e9b5b0]{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:12px}.chip[data-v-45e9b5b0]:hover{border-color:var(--accent)}.chip.active[data-v-45e9b5b0]{background:var(--accent);border-color:var(--accent);color:#fff}.chip-mini[data-v-45e9b5b0]{padding:3px 8px;border:1px dashed var(--border);border-radius:999px;background:var(--bg-soft);cursor:pointer;font-size:12px;color:var(--fg-muted)}.chip-mini[data-v-45e9b5b0]:hover{color:var(--accent);border-color:var(--accent)}.chip-mini.active[data-v-45e9b5b0]{color:var(--accent);border-style:solid}.type-radios[data-v-45e9b5b0]{display:flex;gap:12px}.radio[data-v-45e9b5b0],.preset[data-v-45e9b5b0]{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.reset[data-v-45e9b5b0]{margin-left:auto;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;font-size:12px;color:var(--fg-muted)}.reset[data-v-45e9b5b0]:hover{color:var(--accent);border-color:var(--accent)}.filter-summary[data-v-45e9b5b0]{color:var(--fg-muted);font-size:12px;padding-top:4px;border-top:1px dashed var(--border)}.filter-save-hint[data-v-45e9b5b0]{color:var(--fg-muted);font-size:12px;opacity:.72}.qtype-badge[data-v-45e9b5b0]{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:11px;background:var(--accent-soft);color:var(--accent)}.qtype-badge.t-comprehensive[data-v-45e9b5b0]{background:var(--warn-soft);color:var(--warn)}.link-btn[data-v-45e9b5b0]{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline;font-size:inherit}.filter-bottom[data-v-45e9b5b0]{display:flex;align-items:center;gap:12px;padding-top:4px;border-top:1px dashed var(--border)}.batch-toggle[data-v-45e9b5b0]{margin-left:auto;padding:4px 12px;border:1px solid var(--accent);border-radius:999px;background:var(--bg);cursor:pointer;font-size:12px;color:var(--accent)}.batch-toggle[data-v-45e9b5b0]:hover{background:var(--accent-soft, #eef4ff)}.batch-toggle.active[data-v-45e9b5b0]{background:var(--accent);color:#fff}.q-selectable[data-v-45e9b5b0]{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer}.q-selectable.selected[data-v-45e9b5b0]{border-color:var(--accent);background:var(--accent-soft, #eef4ff)}.q-check[data-v-45e9b5b0]{margin-top:4px;flex-shrink:0;cursor:pointer}.q-body[data-v-45e9b5b0]{flex:1;min-width:0}.session-bar[data-v-45e9b5b0]{position:sticky;bottom:0;margin:16px -16px -16px;padding:12px 16px;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000000d;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;z-index:10}.sb-info[data-v-45e9b5b0]{font-size:13px}.sb-info strong[data-v-45e9b5b0]{color:var(--accent);font-size:16px}.sb-pool[data-v-45e9b5b0]{color:var(--fg-muted);margin-left:6px}.sb-actions[data-v-45e9b5b0]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sb-link[data-v-45e9b5b0]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.sb-opt[data-v-45e9b5b0]{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.sb-limit input[data-v-45e9b5b0]{width:64px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:13px}.sb-go[data-v-45e9b5b0]{padding:8px 18px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.sb-go[data-v-45e9b5b0]:disabled{background:#ccc;cursor:not-allowed}.sb-go[data-v-45e9b5b0]:not(:disabled):hover{filter:brightness(.95)}@media (max-width: 600px){.session-bar[data-v-45e9b5b0]{flex-direction:column;align-items:stretch}.sb-actions[data-v-45e9b5b0]{justify-content:flex-end}}.title[data-v-88925291]{font-size:22px;margin:0 0 12px}.subject-tabs[data-v-88925291]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab[data-v-88925291]{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:14px}.tab[data-v-88925291]:hover{border-color:var(--accent)}.tab.active[data-v-88925291]{background:var(--accent);border-color:var(--accent);color:#fff}.years[data-v-88925291]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.yr[data-v-88925291]{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:14px;display:inline-flex;align-items:baseline;gap:4px}.yr[data-v-88925291]:hover{border-color:var(--accent)}.yr.active[data-v-88925291]{background:var(--accent);border-color:var(--accent);color:#fff}.yr .cnt[data-v-88925291]{font-size:12px;opacity:.7}.list[data-v-88925291]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.row[data-v-88925291]{display:block;text-decoration:none;color:var(--fg)}.meta[data-v-88925291]{display:flex;justify-content:space-between;font-size:12px;color:var(--fg-muted);margin-bottom:6px}.status.s-correct[data-v-88925291]{color:var(--success)}.status.s-wrong[data-v-88925291]{color:var(--danger)}.stem[data-v-88925291]{font-size:15px}.empty[data-v-88925291]{color:var(--fg-muted);text-align:center;padding:24px 0}.panorama[data-v-51ce016a]{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height, 64px));min-height:0}.head[data-v-51ce016a]{padding:16px 24px 0;flex:0 0 auto}.title[data-v-51ce016a]{font-size:20px;margin:0 0 4px;font-weight:600}.lede[data-v-51ce016a]{color:var(--fg-muted);margin:0 0 12px;font-size:13px}.subject-tabs[data-v-51ce016a]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab[data-v-51ce016a]{padding:5px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg)}.tab[data-v-51ce016a]:hover:not(.disabled){border-color:var(--accent)}.tab.active[data-v-51ce016a]{background:var(--accent);border-color:var(--accent);color:#fff}.tab .kp-badge[data-v-51ce016a]{font-size:11px;color:var(--fg-muted);margin-left:4px;background:var(--bg-soft);padding:1px 6px;border-radius:999px}.tab.active .kp-badge[data-v-51ce016a]{color:#ffffffd9;background:#ffffff2e}.state[data-v-51ce016a]{padding:24px;color:var(--fg-muted)}.err[data-v-51ce016a]{color:var(--danger)}.layout[data-v-51ce016a]{flex:1;display:flex;min-height:0;border-top:1px solid var(--border)}.sidebar[data-v-51ce016a]{flex:0 0 260px;border-right:1px solid var(--border);background:var(--bg-soft);display:flex;flex-direction:column;min-height:0}.sidebar-head[data-v-51ce016a]{padding:12px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}.sidebar-head h3[data-v-51ce016a]{margin:0 0 4px;font-size:14px;font-weight:600}.sidebar-head .meta[data-v-51ce016a]{font-size:11px;color:var(--fg-muted);margin-bottom:8px;line-height:1.4}.sidebar-head .search[data-v-51ce016a]{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:12px}.sidebar-head .search[data-v-51ce016a]:focus{outline:none;border-color:var(--accent)}.tree[data-v-51ce016a]{flex:1;overflow-y:auto;padding:4px 0}.ch-node[data-v-51ce016a]{margin-bottom:2px}.ch-row[data-v-51ce016a]{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--fg);text-align:left}.ch-row[data-v-51ce016a]:hover{background:var(--bg-soft)}.ch-row .caret[data-v-51ce016a]{font-size:10px;transform:rotate(0);transition:transform .15s;color:var(--fg-muted);display:inline-block;width:10px}.ch-row .caret.open[data-v-51ce016a]{transform:rotate(90deg)}.ch-row .ch-name[data-v-51ce016a]{flex:1}.ch-row .ch-count[data-v-51ce016a]{font-size:11px;color:var(--fg-muted)}.ch-node.ch-0 .ch-row[data-v-51ce016a]{border-left:3px solid #4d8cff}.ch-node.ch-1 .ch-row[data-v-51ce016a]{border-left:3px solid #22b466}.ch-node.ch-2 .ch-row[data-v-51ce016a]{border-left:3px solid #dc9000}.ch-node.ch-3 .ch-row[data-v-51ce016a]{border-left:3px solid #aa4cc8}.kp-list[data-v-51ce016a]{list-style:none;margin:0;padding:0 0 4px}.kp-list .kp-item[data-v-51ce016a]{display:flex;align-items:center}.kp-list .kp-row[data-v-51ce016a]{flex:1;min-width:0;padding:4px 8px 4px 32px;background:transparent;border:none;cursor:pointer;font-size:12px;color:var(--fg-muted);text-align:left;line-height:1.4}.kp-list .kp-row[data-v-51ce016a]:hover{background:var(--bg-soft);color:var(--fg)}.kp-list .kp-row.focused[data-v-51ce016a]{background:#2c6cff1f;color:var(--accent);font-weight:500}.kp-list .kp-detail-link[data-v-51ce016a]{flex:none;padding:0 12px 0 6px;font-size:11px;color:var(--accent);text-decoration:none;white-space:nowrap;opacity:0;transition:opacity .12s}.kp-list .kp-item:hover .kp-detail-link[data-v-51ce016a]{opacity:1}.kp-list .kp-detail-link[data-v-51ce016a]:hover{text-decoration:underline}.matrix-area[data-v-51ce016a]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.legend[data-v-51ce016a]{display:flex;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12px;color:var(--fg-muted);flex:0 0 auto;flex-wrap:wrap}.legend .lg-group[data-v-51ce016a]{display:inline-flex;align-items:center;gap:6px}.legend .lg-label[data-v-51ce016a]{color:var(--fg);font-weight:500;margin-right:2px}.legend .lg-divider[data-v-51ce016a]{width:1px;height:16px;background:var(--border)}.legend .lg-cell[data-v-51ce016a]{display:inline-block;width:14px;height:14px;border:1px solid rgba(0,0,0,.08);border-radius:3px}.legend .lg-cell.d1[data-v-51ce016a]{background:#d6e8ff}.legend .lg-cell.d2[data-v-51ce016a]{background:#7eb1ff}.legend .lg-cell.d3[data-v-51ce016a]{background:#2c6cff}.legend .lg-item[data-v-51ce016a]{display:inline-flex;align-items:center;gap:4px}.legend .lg-dot[data-v-51ce016a]{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.legend .lg-dot.s-correct[data-v-51ce016a]{background:#22b466}.legend .lg-dot.s-partial[data-v-51ce016a]{background:#f59e0b}.legend .lg-dot.s-wrong[data-v-51ce016a]{background:#ef4444}.legend .lg-tip[data-v-51ce016a]{opacity:.6;font-size:11px}.legend .lg-tip-end[data-v-51ce016a]{margin-left:auto}.matrix-wrap[data-v-51ce016a]{flex:1;overflow:auto;padding:12px 16px 16px;min-height:0}.matrix[data-v-51ce016a]{border-collapse:separate;border-spacing:2px;table-layout:fixed}.chapter-row .ch-head[data-v-51ce016a]{font-size:12px;font-weight:600;padding:8px 4px;text-align:center;white-space:nowrap;border-radius:4px;position:sticky;top:0;z-index:2}.chapter-row .ch-head.ch-0[data-v-51ce016a]{background:#e8f0ff;color:#2c5fb8}.chapter-row .ch-head.ch-1[data-v-51ce016a]{background:#e3f5ec;color:#1f8a51}.chapter-row .ch-head.ch-2[data-v-51ce016a]{background:#fdf0d9;color:#a86c00}.chapter-row .ch-head.ch-3[data-v-51ce016a]{background:#f5e8fa;color:#7e3aa0}.year-cell[data-v-51ce016a]{position:sticky;left:0;z-index:1;background:var(--bg);font-size:12px;font-weight:500;color:var(--fg-muted);padding:0 12px 0 4px;text-align:right;min-width:48px}.corner[data-v-51ce016a]{position:sticky;left:0;top:0;z-index:3;background:var(--bg);min-width:48px}.cell[data-v-51ce016a]{position:relative;width:28px;height:28px;background:#f0f2f5;border:1px solid rgba(0,0,0,.06);border-radius:3px;transition:transform .1s,box-shadow .1s;padding:0}.cell.d1[data-v-51ce016a]{background:#d6e8ff;border-color:#2c6cff2e}.cell.d2[data-v-51ce016a]{background:#7eb1ff;border-color:#2c6cff59}.cell.d3[data-v-51ce016a]{background:#2c6cff;border-color:#2c6cff80}.cell.has-q[data-v-51ce016a]{cursor:pointer}.cell.has-q[data-v-51ce016a]:hover{transform:scale(1.15);z-index:1;position:relative;box-shadow:0 2px 8px #00000026}.status-dot[data-v-51ce016a]{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 1px #ffffffb3}.status-dot.s-correct[data-v-51ce016a]{background:#22b466}.status-dot.s-partial[data-v-51ce016a]{background:#f59e0b}.status-dot.s-wrong[data-v-51ce016a]{background:#ef4444}.cell.ch-start[data-v-51ce016a]{margin-left:4px}.cell.col-focus[data-v-51ce016a]{outline:2px solid var(--accent);outline-offset:-1px;z-index:1;position:relative}.hover-card[data-v-51ce016a]{position:absolute;background:#1a1a1a;color:#fff;padding:10px 12px;border-radius:8px;font-size:12px;pointer-events:none;box-shadow:0 6px 22px #00000047;z-index:100;width:320px}.hover-card.place-above[data-v-51ce016a]{transform:translate(-50%,-100%)}.hover-card.place-below[data-v-51ce016a]{transform:translate(-50%)}.hover-title[data-v-51ce016a]{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.hover-count[data-v-51ce016a]{font-size:11px;font-weight:500;background:#ffffff26;color:#ffffffe6;padding:1px 7px;border-radius:999px;margin-left:auto}.hover-previews[data-v-51ce016a]{display:flex;flex-direction:column;gap:8px}.hover-preview[data-v-51ce016a]{border-left:2px solid rgba(255,255,255,.18);padding-left:8px}.hp-slug[data-v-51ce016a]{font-family:monospace;font-size:10px;color:#ffffff8c;margin-bottom:3px}.hp-stem[data-v-51ce016a]{font-size:12px;line-height:1.5;color:#f0f0f0}.hp-options[data-v-51ce016a]{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.hp-options li[data-v-51ce016a]{font-size:11px;line-height:1.45;color:#ffffffc7;display:flex;gap:5px}.hp-okey[data-v-51ce016a]{flex:0 0 auto;font-weight:600;color:#fffffff2}.hp-loading[data-v-51ce016a]{font-size:11px;color:#ffffff80;font-style:italic}.hover-tip[data-v-51ce016a]{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#fff9}.picker-card[data-v-51ce016a]{position:absolute;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #0000002e;z-index:110;width:340px;max-width:calc(100vw - 24px);overflow:hidden}.picker-card.place-below[data-v-51ce016a]{transform:translate(-50%)}.picker-card.place-above[data-v-51ce016a]{transform:translate(-50%,-100%)}.picker-head[data-v-51ce016a]{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-soft);display:flex;flex-direction:column;gap:2px}.picker-title[data-v-51ce016a]{font-size:13px;font-weight:600;color:var(--fg)}.picker-meta[data-v-51ce016a]{font-size:11px;color:var(--fg-muted)}.picker-list[data-v-51ce016a]{list-style:none;margin:0;padding:4px 0;max-height:60vh;overflow-y:auto}.picker-item[data-v-51ce016a]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left;border-top:1px solid var(--border)}.picker-list li:first-child .picker-item[data-v-51ce016a]{border-top:none}.picker-item[data-v-51ce016a]:hover{background:#2c6cff0f}.picker-item-main[data-v-51ce016a]{flex:1;min-width:0}.picker-slug[data-v-51ce016a]{font-family:monospace;font-size:11px;color:var(--fg-muted);margin-bottom:3px}.picker-item:hover .picker-slug[data-v-51ce016a]{color:var(--accent)}.picker-stem[data-v-51ce016a]{font-size:12.5px;line-height:1.5;color:var(--fg)}.picker-options[data-v-51ce016a]{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.picker-options li[data-v-51ce016a]{font-size:11px;line-height:1.45;color:var(--fg-muted);display:flex;gap:5px}.pk-okey[data-v-51ce016a]{flex:0 0 auto;font-weight:600;color:var(--fg)}.picker-loading[data-v-51ce016a]{font-size:11px;color:var(--fg-muted);font-style:italic}.picker-arrow[data-v-51ce016a]{font-size:18px;color:var(--fg-muted);line-height:1.2;flex:0 0 auto}.picker-item:hover .picker-arrow[data-v-51ce016a]{color:var(--accent)}@media (max-width: 768px){.layout[data-v-51ce016a]{flex-direction:column}.sidebar[data-v-51ce016a]{flex:0 0 auto;max-height:240px;border-right:none;border-bottom:1px solid var(--border)}}.strategy-page[data-v-8fc6a505]{padding:20px 24px 60px}.page-head[data-v-8fc6a505]{margin-bottom:20px}.page-title[data-v-8fc6a505]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-8fc6a505]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.subject-tabs[data-v-8fc6a505]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tab[data-v-8fc6a505]{padding:7px 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg-muted);transition:all .15s}.tab[data-v-8fc6a505]:hover{border-color:var(--fg-muted);color:var(--fg)}.tab.active[data-v-8fc6a505]{background:var(--accent, #2c6cff);border-color:var(--accent, #2c6cff);color:#fff}.state[data-v-8fc6a505]{color:var(--fg-muted);padding:40px 0;text-align:center}.err[data-v-8fc6a505]{color:var(--danger)}.kpi-row[data-v-8fc6a505]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:28px}.kpi-card[data-v-8fc6a505]{background:var(--bg);border-radius:12px;padding:18px 20px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s}.kpi-card[data-v-8fc6a505]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.kpi-num[data-v-8fc6a505]{font-size:32px;font-weight:700;line-height:1;margin-bottom:6px;color:var(--fg)}.kpi-label[data-v-8fc6a505]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-8fc6a505]{font-size:11px;color:var(--fg-muted)}.kpi-high[data-v-8fc6a505]{background:linear-gradient(135deg,#fff5f5,#fff 50%)}.kpi-high .kpi-num[data-v-8fc6a505]{color:var(--danger)}.kpi-mid[data-v-8fc6a505]{background:linear-gradient(135deg,#fffaf0,#fff 50%)}.kpi-mid .kpi-num[data-v-8fc6a505]{color:var(--warn)}.kpi-low[data-v-8fc6a505]{background:linear-gradient(135deg,#f0f6ff,#fff 50%)}.kpi-low .kpi-num[data-v-8fc6a505]{color:var(--accent)}.kpi-rare[data-v-8fc6a505]{background:linear-gradient(135deg,#fafafa,#fff 50%)}.kpi-rare .kpi-num[data-v-8fc6a505]{color:var(--fg-muted)}.kpi-total[data-v-8fc6a505]{background:linear-gradient(135deg,#f5fff8,#fff 50%)}.kpi-total .kpi-num[data-v-8fc6a505]{color:var(--success)}.tier-section[data-v-8fc6a505]{border-radius:14px;padding:22px 24px;margin-bottom:18px;border:1px solid var(--border)}.tier-banner[data-v-8fc6a505]{display:flex;align-items:center;gap:14px;margin-bottom:16px}.tier-badge[data-v-8fc6a505]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.tier-title-block[data-v-8fc6a505]{flex:1;min-width:0}.tier-title[data-v-8fc6a505]{margin:0 0 2px;font-size:18px;font-weight:600}.tier-count[data-v-8fc6a505]{font-size:12px;color:var(--fg-muted);font-weight:400;margin-left:8px;padding:2px 10px;background:var(--bg);border-radius:999px;border:1px solid var(--border)}.tier-desc[data-v-8fc6a505]{margin:0;font-size:13px;color:var(--fg-muted)}.empty-block[data-v-8fc6a505]{background:var(--bg);border-radius:8px;padding:32px;text-align:center;color:var(--fg-muted);font-size:13px}.kp-table[data-v-8fc6a505]{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.kp-table thead th[data-v-8fc6a505]{text-align:left;padding:11px 14px;font-size:12px;font-weight:500;color:var(--fg-muted);background:var(--bg-soft);border-bottom:1px solid var(--border)}.kp-table tbody td[data-v-8fc6a505]{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px}.kp-row[data-v-8fc6a505]:hover{background:var(--bg-soft)}.kp-row:last-child td[data-v-8fc6a505]{border-bottom:0}.col-name[data-v-8fc6a505]{min-width:180px}.kp-name[data-v-8fc6a505]{font-weight:600;color:var(--fg);font-size:14px}.kp-name-link[data-v-8fc6a505]{display:inline-block;text-decoration:none;cursor:pointer}.kp-name-link[data-v-8fc6a505]:hover{color:var(--accent);text-decoration:underline}.kp-chapter[data-v-8fc6a505]{font-size:11px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;margin-top:2px}.col-subject[data-v-8fc6a505]{width:110px}.subj-pill[data-v-8fc6a505]{display:inline-block;padding:2px 10px;font-size:11px;border:1px solid;border-radius:999px;background:var(--bg);white-space:nowrap}.col-num[data-v-8fc6a505]{width:80px;text-align:center;white-space:nowrap}.num[data-v-8fc6a505]{font-weight:600;color:var(--fg);font-size:14px}.num-strong[data-v-8fc6a505]{color:var(--accent);font-size:15px}.num-zero[data-v-8fc6a505]{color:var(--border);font-weight:400}.unit[data-v-8fc6a505]{font-size:11px;color:var(--fg-muted);margin-left:1px}.col-years[data-v-8fc6a505]{max-width:380px}.year-chip[data-v-8fc6a505]{display:inline-block;font-size:10px;padding:2px 6px;background:var(--bg-soft);color:var(--fg-muted);border-radius:3px;margin:1px 3px 1px 0;font-family:SF Mono,Consolas,monospace}.year-empty[data-v-8fc6a505]{color:var(--border);font-size:12px}.col-actions[data-v-8fc6a505]{width:140px;text-align:right;white-space:nowrap}.action-btn[data-v-8fc6a505]{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:3px 9px;border-radius:4px;text-decoration:none;border:1px solid var(--accent, #2c6cff);color:var(--accent, #2c6cff);background:var(--bg);margin-left:4px}.action-btn[data-v-8fc6a505]:hover{background:var(--accent, #2c6cff);color:#fff}.action-icon[data-v-8fc6a505]{font-size:9px}.action-video[data-v-8fc6a505]{border-color:var(--warn);color:var(--warn)}.action-video[data-v-8fc6a505]:hover{background:var(--warn);color:#fff}.action-oj[data-v-8fc6a505]{border-color:var(--success);color:var(--success)}.action-oj[data-v-8fc6a505]:hover{background:var(--success);color:#fff}@media (max-width: 920px){.col-years[data-v-8fc6a505]{display:none}.col-num[data-v-8fc6a505]:nth-of-type(5){display:none}.kp-table[data-v-8fc6a505]{font-size:12px}}.qmatrix[data-v-7ae3d3ab]{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height, 64px));min-height:0}.head[data-v-7ae3d3ab]{padding:14px 24px 0;flex:0 0 auto}.head-row[data-v-7ae3d3ab]{display:flex;align-items:center;justify-content:space-between;gap:12px}.head-actions[data-v-7ae3d3ab]{display:flex;align-items:center;gap:8px;flex:0 0 auto}.select-cta[data-v-7ae3d3ab]{flex:0 0 auto;min-width:76px;font-size:13px;font-weight:600;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.select-cta[data-v-7ae3d3ab]:hover{border-color:var(--accent);color:var(--accent)}.select-cta.active[data-v-7ae3d3ab]{color:#fff;background:var(--accent);border-color:var(--accent)}.paper-cta[data-v-7ae3d3ab]{flex:0 0 auto;font-size:13px;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(29,78,216,.25);border-radius:6px;padding:6px 12px;cursor:pointer;transition:background .12s,border-color .12s}.paper-cta[data-v-7ae3d3ab]:hover{background:#dde8ff;border-color:#1d4ed880}.title[data-v-7ae3d3ab]{font-size:20px;margin:0 0 4px;font-weight:600}.lede[data-v-7ae3d3ab]{color:var(--fg);font-size:13px;margin:0 0 12px}.lede .muted[data-v-7ae3d3ab]{color:var(--fg-muted);margin-left:6px}.state[data-v-7ae3d3ab]{padding:24px;color:var(--fg-muted)}.err[data-v-7ae3d3ab]{color:var(--danger)}.layout[data-v-7ae3d3ab]{flex:1;display:flex;min-height:0;border-top:1px solid var(--border)}.sidebar[data-v-7ae3d3ab]{flex:0 0 280px;border-right:1px solid var(--border);background:var(--bg-soft);display:flex;flex-direction:column;min-height:0}.sidebar-head[data-v-7ae3d3ab]{padding:12px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}.sidebar-head h3[data-v-7ae3d3ab]{margin:0 0 4px;font-size:14px;font-weight:600}.sidebar-head .meta[data-v-7ae3d3ab]{font-size:11px;color:var(--fg-muted);margin-bottom:8px}.sidebar-head .search[data-v-7ae3d3ab]{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:12px}.sidebar-head .search[data-v-7ae3d3ab]:focus{outline:none;border-color:var(--accent)}.tree[data-v-7ae3d3ab]{flex:1;overflow-y:auto;padding:4px 0}.subj-node[data-v-7ae3d3ab]{margin-bottom:4px}.subj-row[data-v-7ae3d3ab]{display:flex;align-items:center;gap:2px;width:100%;padding-right:8px}.subj-node.sj-ds .subj-row[data-v-7ae3d3ab]{border-left:4px solid #4d8cff}.subj-node.sj-co .subj-row[data-v-7ae3d3ab]{border-left:4px solid #aa4cc8}.subj-node.sj-os .subj-row[data-v-7ae3d3ab]{border-left:4px solid #22b466}.subj-node.sj-cn .subj-row[data-v-7ae3d3ab]{border-left:4px solid #ee8b1b}.subj-row.focused[data-v-7ae3d3ab]{background:#1d4ed814}.caret-btn[data-v-7ae3d3ab]{background:transparent;border:none;cursor:pointer;padding:7px 2px 7px 8px;display:flex;align-items:center}.subj-name-btn[data-v-7ae3d3ab]{flex:1;display:flex;align-items:center;gap:6px;padding:7px 4px;background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--fg);text-align:left}.subj-name-btn[data-v-7ae3d3ab]:hover{background:var(--bg-soft);border-radius:4px}.subj-row.focused .subj-name-btn[data-v-7ae3d3ab]{color:var(--accent)}.subj-name-btn .subj-name[data-v-7ae3d3ab]{flex:1}.subj-name-btn .subj-count[data-v-7ae3d3ab]{font-size:11px;color:var(--fg-muted);font-weight:400}.subj-drill-btn[data-v-7ae3d3ab]{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(29,78,216,.25);border-radius:5px;padding:3px 9px;cursor:pointer;transition:background .12s,border-color .12s}.subj-drill-btn[data-v-7ae3d3ab]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.subj-body[data-v-7ae3d3ab]{padding-left:4px}.ch-row[data-v-7ae3d3ab]{display:flex;align-items:center;gap:4px;width:100%;padding:4px 12px 4px 20px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--fg);text-align:left}.ch-row[data-v-7ae3d3ab]:hover{background:var(--bg-soft)}.ch-row .ch-name[data-v-7ae3d3ab]{flex:1}.ch-row .ch-count[data-v-7ae3d3ab]{font-size:10px;color:var(--fg-muted)}.caret[data-v-7ae3d3ab]{font-size:9px;transform:rotate(0);transition:transform .15s;color:var(--fg-muted);display:inline-block;width:10px}.caret.open[data-v-7ae3d3ab]{transform:rotate(90deg)}.kp-list[data-v-7ae3d3ab]{list-style:none;margin:0;padding:0 0 4px}.kp-list .kp-row[data-v-7ae3d3ab]{display:block;width:100%;padding:3px 12px 3px 40px;background:transparent;border:none;cursor:pointer;font-size:12px;color:var(--fg-muted);text-align:left;line-height:1.4}.kp-list .kp-row[data-v-7ae3d3ab]:hover{background:var(--bg-soft);color:var(--fg)}.kp-list .kp-row.focused[data-v-7ae3d3ab]{background:#2c6cff24;color:var(--accent);font-weight:500}.grid-area[data-v-7ae3d3ab]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.legend[data-v-7ae3d3ab]{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border);font-size:12px;color:var(--fg-muted);flex:0 0 auto}.lg-group[data-v-7ae3d3ab]{display:inline-flex;align-items:center;gap:8px}.lg-label[data-v-7ae3d3ab]{color:var(--fg);font-weight:500;margin-right:2px}.lg-divider[data-v-7ae3d3ab]{width:1px;height:16px;background:var(--border)}.lg-item[data-v-7ae3d3ab]{display:inline-flex;align-items:center;gap:4px}.lg-cell[data-v-7ae3d3ab]{display:inline-block;width:14px;height:14px;border:1px solid rgba(0,0,0,.08);border-radius:3px}.lg-dot[data-v-7ae3d3ab]{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.lg-dot.s-correct[data-v-7ae3d3ab]{background:#22b466}.lg-dot.s-wrong[data-v-7ae3d3ab]{background:#ef4444}.lg-tip[data-v-7ae3d3ab]{opacity:.6;font-size:11px}.lg-tip-end[data-v-7ae3d3ab]{margin-left:auto;opacity:1;display:inline-flex;align-items:center;gap:6px}.kp-drill-btn[data-v-7ae3d3ab]{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(29,78,216,.25);border-radius:5px;padding:3px 9px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.kp-drill-btn[data-v-7ae3d3ab]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.clear-focus[data-v-7ae3d3ab]{background:transparent;border:none;cursor:pointer;font-size:14px;color:var(--fg-muted);padding:0 4px;margin-left:4px}.clear-focus[data-v-7ae3d3ab]:hover{color:var(--danger)}.grid-wrap[data-v-7ae3d3ab]{flex:1;overflow:auto;padding:12px 16px 76px;min-height:0}.grid-table[data-v-7ae3d3ab]{border-collapse:separate;border-spacing:2px;table-layout:fixed}.idx-head[data-v-7ae3d3ab]{font-size:10.5px;font-weight:500;color:var(--fg-muted);padding:4px 0;text-align:center;width:28px;position:sticky;top:0;z-index:4;background:var(--bg)}.corner[data-v-7ae3d3ab]{position:sticky;top:0;left:0;z-index:5;background:var(--bg);min-width:48px}.year-cell[data-v-7ae3d3ab]{position:sticky;left:0;z-index:4;background:var(--bg);font-size:12px;font-weight:500;color:var(--fg-muted);padding:0 12px 0 4px;text-align:right;min-width:48px}.cell-td[data-v-7ae3d3ab]{padding:0}.cell[data-v-7ae3d3ab]{width:28px;height:28px;border:1px solid rgba(0,0,0,.06);border-radius:3px;position:relative;transition:transform .1s,box-shadow .1s,opacity .1s;cursor:pointer}.cell.empty[data-v-7ae3d3ab]{background:transparent;border:1px dashed rgba(0,0,0,.05);cursor:default}.cell.sj-ds[data-v-7ae3d3ab]{background:#cfe1ff;border-color:#2c6cff40}.cell.sj-co[data-v-7ae3d3ab]{background:#ead4f4;border-color:#aa4cc84d}.cell.sj-os[data-v-7ae3d3ab]{background:#cfeed8;border-color:#22b46647}.cell.sj-cn[data-v-7ae3d3ab]{background:#fde2c0;border-color:#dc90004d}.cell.sj-ds.done[data-v-7ae3d3ab]{background:#5d9bff}.cell.sj-co.done[data-v-7ae3d3ab]{background:#b676d4}.cell.sj-os.done[data-v-7ae3d3ab]{background:#4cc176}.cell.sj-cn.done[data-v-7ae3d3ab]{background:#f5a44a}.cell.selectable[data-v-7ae3d3ab]{cursor:pointer}.cell.selectable[data-v-7ae3d3ab]:hover{transform:scale(1.08)}.cell.selected[data-v-7ae3d3ab]{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px #1d4ed82e}.select-mark[data-v-7ae3d3ab]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffd1;color:var(--accent);font-size:13px;font-weight:800;line-height:1;box-shadow:inset 0 0 0 1px #1d4ed840}.cell:not(.selected) .select-mark[data-v-7ae3d3ab]{background:#ffffff73;color:transparent}.cell[data-v-7ae3d3ab]:not(.empty):hover{transform:scale(1.18);z-index:3;position:relative;box-shadow:0 2px 10px #0000002e}.cell.highlight[data-v-7ae3d3ab]{outline:2px solid var(--accent);outline-offset:-1px;z-index:1;position:relative}.cell.dim[data-v-7ae3d3ab]{opacity:.28}.status-dot[data-v-7ae3d3ab]{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 1px #ffffffb3}.status-dot.s-correct[data-v-7ae3d3ab]{background:#22b466}.status-dot.s-wrong[data-v-7ae3d3ab]{background:#ef4444}.legend .lg-cell.sj-ds[data-v-7ae3d3ab]{background:#cfe1ff}.legend .lg-cell.sj-co[data-v-7ae3d3ab]{background:#ead4f4}.legend .lg-cell.sj-os[data-v-7ae3d3ab]{background:#cfeed8}.legend .lg-cell.sj-cn[data-v-7ae3d3ab]{background:#fde2c0}.hover-card[data-v-7ae3d3ab]{position:absolute;transform:translate(-50%);background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0000002e;padding:12px 14px;font-size:13px;min-width:280px;max-width:380px;z-index:100;pointer-events:auto}.hover-head[data-v-7ae3d3ab]{display:flex;align-items:center;gap:8px;margin-bottom:8px;border-bottom:1px solid var(--border);padding-bottom:6px}.hover-tag[data-v-7ae3d3ab]{font-size:11px;padding:2px 8px;border-radius:999px;color:#fff;font-weight:500}.hover-tag.sj-ds[data-v-7ae3d3ab]{background:#5d9bff}.hover-tag.sj-co[data-v-7ae3d3ab]{background:#aa4cc8}.hover-tag.sj-os[data-v-7ae3d3ab]{background:#22b466}.hover-tag.sj-cn[data-v-7ae3d3ab]{background:#ee8b1b}.hover-num[data-v-7ae3d3ab]{font-weight:600;color:var(--fg)}.hover-score[data-v-7ae3d3ab]{font-size:11px;color:var(--fg-muted)}.hover-close[data-v-7ae3d3ab]{margin-left:auto;background:none;border:none;cursor:pointer;font-size:18px;line-height:1;color:var(--fg-muted);padding:0 2px}.hover-close[data-v-7ae3d3ab]:hover{color:var(--fg)}.hover-stem[data-v-7ae3d3ab]{color:var(--fg);line-height:1.5;margin-bottom:8px;font-size:12.5px;max-height:80px;overflow:hidden}.hover-topics[data-v-7ae3d3ab]{font-size:11.5px;color:var(--fg-muted);margin-bottom:8px;line-height:1.5}.hover-topics .topic-label[data-v-7ae3d3ab]{color:var(--fg);font-weight:500;margin-right:4px}.hover-stats[data-v-7ae3d3ab]{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--fg-muted);border-top:1px solid var(--border);padding-top:6px}.hover-status[data-v-7ae3d3ab]{font-weight:500}.hover-status.s-correct[data-v-7ae3d3ab]{color:#22b466}.hover-status.s-wrong[data-v-7ae3d3ab]{color:#ef4444}.hover-status.s-untouched[data-v-7ae3d3ab],.hover-wrate[data-v-7ae3d3ab]{color:var(--fg-muted)}.hover-open-btn[data-v-7ae3d3ab]{margin-left:auto;font-size:12px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background .12s}.hover-open-btn[data-v-7ae3d3ab]:hover{background:#1641b8}.selection-bar[data-v-7ae3d3ab]{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:18px;min-height:54px;max-width:min(720px,calc(100vw - 32px));padding:10px 12px 10px 18px;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-shadow:0 12px 36px #0000002e}.selection-info[data-v-7ae3d3ab]{color:var(--fg);font-size:14px;white-space:nowrap}.selection-info strong[data-v-7ae3d3ab]{color:var(--accent);font-size:16px}.selection-order[data-v-7ae3d3ab]{margin-left:8px;color:var(--fg-muted);font-size:12px}.selection-actions[data-v-7ae3d3ab]{display:flex;align-items:center;gap:8px}.selection-link[data-v-7ae3d3ab],.selection-go[data-v-7ae3d3ab]{height:34px;padding:0 12px;border-radius:6px;font-size:13px;cursor:pointer;white-space:nowrap}.selection-link[data-v-7ae3d3ab]{color:var(--fg-muted);background:transparent;border:1px solid var(--border)}.selection-link[data-v-7ae3d3ab]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.selection-go[data-v-7ae3d3ab]{color:#fff;background:var(--accent);border:1px solid var(--accent);font-weight:600}.selection-go[data-v-7ae3d3ab]:hover:not(:disabled){background:#1641b8}.selection-link[data-v-7ae3d3ab]:disabled,.selection-go[data-v-7ae3d3ab]:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 768px){.layout[data-v-7ae3d3ab]{flex-direction:column}.sidebar[data-v-7ae3d3ab]{flex:0 0 auto;max-height:240px;border-right:none;border-bottom:1px solid var(--border)}.head-row[data-v-7ae3d3ab]{align-items:flex-start}.head-actions[data-v-7ae3d3ab]{flex-wrap:wrap;justify-content:flex-end}.selection-bar[data-v-7ae3d3ab]{left:12px;right:12px;bottom:12px;transform:none;justify-content:space-between;max-width:none}}@media (max-width: 520px){.selection-bar[data-v-7ae3d3ab]{align-items:stretch;flex-direction:column;gap:8px}.selection-actions[data-v-7ae3d3ab]{justify-content:flex-end}}.dash-page[data-v-2dafbfa5]{padding:20px 24px 60px}.page-head[data-v-2dafbfa5]{margin-bottom:24px}.page-title[data-v-2dafbfa5]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-2dafbfa5]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.state[data-v-2dafbfa5]{color:var(--fg-muted);padding:60px 0;text-align:center}.err[data-v-2dafbfa5]{color:#dc4444}.kpi-row[data-v-2dafbfa5]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi-card[data-v-2dafbfa5]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-2dafbfa5]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-2dafbfa5]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-blue[data-v-2dafbfa5]:before{background:#2c6cff}.kpi-green[data-v-2dafbfa5]:before{background:#2cb67d}.kpi-red[data-v-2dafbfa5]:before{background:#dc4444}.kpi-orange[data-v-2dafbfa5]:before{background:#ee8b1b}.kpi-purple[data-v-2dafbfa5]:before{background:#9b6dff}.kpi-num[data-v-2dafbfa5]{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-blue .kpi-num[data-v-2dafbfa5]{color:#2c6cff}.kpi-green .kpi-num[data-v-2dafbfa5]{color:#2cb67d}.kpi-red .kpi-num[data-v-2dafbfa5]{color:#dc4444}.kpi-orange .kpi-num[data-v-2dafbfa5]{color:#ee8b1b}.kpi-purple .kpi-num[data-v-2dafbfa5]{color:#9b6dff}.kpi-unit[data-v-2dafbfa5]{font-size:18px;font-weight:500;margin-left:2px}.kpi-label[data-v-2dafbfa5]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-2dafbfa5]{font-size:11px;color:var(--fg-muted)}.main-grid[data-v-2dafbfa5]{display:grid;grid-template-columns:1fr 320px;gap:18px}.panel[data-v-2dafbfa5]{background:var(--bg);border-radius:12px;padding:20px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008}.panel-head[data-v-2dafbfa5]{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.panel-title[data-v-2dafbfa5]{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.panel-sub[data-v-2dafbfa5]{font-size:12px;color:var(--fg-muted)}.top-table[data-v-2dafbfa5]{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.top-table thead th[data-v-2dafbfa5]{text-align:left;padding:10px 8px;font-size:11px;font-weight:500;color:var(--fg-muted);background:var(--bg-soft);border-bottom:1px solid var(--border)}.top-table thead th[data-v-2dafbfa5]:first-child{border-top-left-radius:6px}.top-table thead th[data-v-2dafbfa5]:last-child{border-top-right-radius:6px}.top-table tbody td[data-v-2dafbfa5]{padding:12px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.top-table tbody tr[data-v-2dafbfa5]:hover{background:var(--bg-soft)}.top-table tbody tr:last-child td[data-v-2dafbfa5]{border-bottom:0}.col-rank[data-v-2dafbfa5]{width:50px;text-align:center}.rank-badge[data-v-2dafbfa5]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:700;background:var(--bg-soft);color:var(--fg-muted)}.rank-1[data-v-2dafbfa5]{background:linear-gradient(135deg,#ffd966,#ffb74d);color:#fff;box-shadow:0 2px 6px #ffb44d4d}.rank-2[data-v-2dafbfa5]{background:linear-gradient(135deg,#d8d8d8,#bbb);color:#fff;box-shadow:0 2px 6px #b4b4b44d}.rank-3[data-v-2dafbfa5]{background:linear-gradient(135deg,#d9a26a,#b88450);color:#fff;box-shadow:0 2px 6px #b884504d}.col-name[data-v-2dafbfa5]{min-width:160px}.kp-name[data-v-2dafbfa5]{font-weight:600;color:var(--fg);font-size:13px}.kp-name-link[data-v-2dafbfa5]{display:inline-block;text-decoration:none;cursor:pointer}.kp-name-link[data-v-2dafbfa5]:hover{color:var(--accent);text-decoration:underline}.kp-chapter[data-v-2dafbfa5]{font-size:10px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;margin-top:2px}.col-subject[data-v-2dafbfa5]{width:100px}.subj-pill[data-v-2dafbfa5]{display:inline-block;padding:2px 9px;font-size:11px;border:1px solid;border-radius:999px;background:var(--bg);white-space:nowrap}.col-num[data-v-2dafbfa5]{width:60px;text-align:center;white-space:nowrap}.num[data-v-2dafbfa5]{font-weight:600;color:var(--fg);font-size:13px}.num-strong[data-v-2dafbfa5]{color:#2c6cff;font-size:14px}.unit[data-v-2dafbfa5]{font-size:10px;color:var(--fg-muted);margin-left:1px}.col-tier[data-v-2dafbfa5]{width:80px;text-align:center}.tier-tag[data-v-2dafbfa5]{display:inline-block;padding:1px 7px;font-size:10px;background:var(--danger-soft);color:var(--danger);border-radius:3px;font-weight:500;margin-bottom:2px}.year-count[data-v-2dafbfa5]{display:block;font-size:10px;color:var(--fg-muted)}.col-strip[data-v-2dafbfa5]{min-width:280px}.year-strip[data-v-2dafbfa5]{display:flex;gap:2px;flex-wrap:nowrap}.year-cell[data-v-2dafbfa5]{flex:1;min-width:14px;height:22px;display:flex;align-items:center;justify-content:center;font-size:9px;font-family:SF Mono,Consolas,monospace;border-radius:3px;cursor:default}.year-cell.tested[data-v-2dafbfa5]{background:#2c6cff;color:#fff}.year-cell.tested[data-v-2dafbfa5]:hover{background:#1a56db}.year-cell.untested[data-v-2dafbfa5]{background:#f5f5f5;color:#ccc}.col-actions[data-v-2dafbfa5]{width:90px;text-align:right;white-space:nowrap}.action-btn[data-v-2dafbfa5]{display:inline-block;font-size:10px;padding:3px 8px;border-radius:3px;text-decoration:none;border:1px solid;margin-left:3px}.action-viz[data-v-2dafbfa5]{border-color:#2c6cff;color:#2c6cff;background:var(--bg)}.action-viz[data-v-2dafbfa5]:hover{background:#2c6cff;color:#fff}.action-video[data-v-2dafbfa5]{border-color:#ee8b1b;color:#ee8b1b;background:var(--bg)}.action-video[data-v-2dafbfa5]:hover{background:#ee8b1b;color:#fff}.action-oj[data-v-2dafbfa5]{border-color:#2cb67d;color:#2cb67d;background:var(--bg)}.action-oj[data-v-2dafbfa5]:hover{background:#2cb67d;color:#fff}.side-col[data-v-2dafbfa5]{display:flex;flex-direction:column;gap:14px}.panel-narrow[data-v-2dafbfa5]{padding:16px 18px}.coverage-bar[data-v-2dafbfa5]{width:100%;height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden;margin-bottom:12px}.coverage-fill[data-v-2dafbfa5]{height:100%;background:linear-gradient(90deg,#2cb67d,#2c6cff);border-radius:999px;transition:width .4s}.coverage-stats[data-v-2dafbfa5]{display:flex;flex-direction:column;gap:8px}.cov-row[data-v-2dafbfa5]{display:flex;align-items:center;gap:8px;font-size:12px}.cov-dot[data-v-2dafbfa5]{width:8px;height:8px;border-radius:50%}.cov-dot-yes[data-v-2dafbfa5]{background:#2cb67d}.cov-dot-no[data-v-2dafbfa5]{background:var(--border)}.cov-label[data-v-2dafbfa5]{flex:1;color:var(--fg-muted)}.cov-val[data-v-2dafbfa5]{font-weight:600;color:var(--fg)}.never-list[data-v-2dafbfa5]{list-style:none;padding:0;margin:0;max-height:380px;overflow-y:auto}.never-list li[data-v-2dafbfa5]{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.never-list li[data-v-2dafbfa5]:last-child{border-bottom:0}.subj-tag[data-v-2dafbfa5]{width:4px;height:14px;border-radius:2px;flex-shrink:0}.never-name[data-v-2dafbfa5]{flex:1;color:var(--fg)}.never-sub[data-v-2dafbfa5]{font-size:10px;color:var(--fg-muted)}@media (max-width: 1100px){.main-grid[data-v-2dafbfa5]{grid-template-columns:1fr}.kpi-row[data-v-2dafbfa5]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.kpi-row[data-v-2dafbfa5]{grid-template-columns:repeat(2,1fr)}.col-strip[data-v-2dafbfa5],.col-tier[data-v-2dafbfa5]{display:none}}.wall-page[data-v-fde7b7ce]{padding:20px 24px 60px}.page-head[data-v-fde7b7ce]{margin-bottom:24px}.page-title[data-v-fde7b7ce]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-fde7b7ce]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6;max-width:920px}.state[data-v-fde7b7ce]{color:var(--fg-muted);padding:60px 0;text-align:center}.err[data-v-fde7b7ce]{color:var(--danger)}.lb-entry[data-v-fde7b7ce]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(90deg,#f7faff,#fff);text-decoration:none;transition:border-color .15s}.lb-entry[data-v-fde7b7ce]:hover{border-color:var(--accent)}.lb-entry-text[data-v-fde7b7ce]{display:flex;flex-direction:column;gap:3px}.lb-entry-title[data-v-fde7b7ce]{font-size:15px;font-weight:600;color:#1a1a1a}.lb-entry-sub[data-v-fde7b7ce]{font-size:13px;color:#777}.lb-entry-arrow[data-v-fde7b7ce]{font-size:20px;color:var(--accent);flex:0 0 auto}.kpi-row[data-v-fde7b7ce]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi-card[data-v-fde7b7ce]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-fde7b7ce]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-fde7b7ce]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-red[data-v-fde7b7ce]:before{background:var(--danger)}.kpi-orange[data-v-fde7b7ce]:before{background:var(--warn)}.kpi-blue[data-v-fde7b7ce]:before{background:var(--accent)}.kpi-purple[data-v-fde7b7ce]:before{background:var(--purple)}.kpi-green[data-v-fde7b7ce]:before{background:var(--success)}.kpi-num[data-v-fde7b7ce]{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-red .kpi-num[data-v-fde7b7ce]{color:var(--danger)}.kpi-orange .kpi-num[data-v-fde7b7ce]{color:var(--warn)}.kpi-blue .kpi-num[data-v-fde7b7ce]{color:var(--accent)}.kpi-purple .kpi-num[data-v-fde7b7ce]{color:var(--purple)}.kpi-green .kpi-num[data-v-fde7b7ce]{color:var(--success)}.kpi-unit[data-v-fde7b7ce]{font-size:18px;font-weight:500;margin-left:2px}.kpi-label[data-v-fde7b7ce]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-fde7b7ce]{font-size:11px;color:var(--fg-muted)}.kpi-row-mini[data-v-fde7b7ce]{display:flex;gap:4px;margin-bottom:8px}.mini-pill[data-v-fde7b7ce]{padding:4px 10px;min-width:32px;text-align:center;color:#fff;border-radius:6px;font-weight:700;font-size:14px}.control-bar[data-v-fde7b7ce]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.tab-group[data-v-fde7b7ce]{display:flex;gap:12px}.big-tab[data-v-fde7b7ce]{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:10px;background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:all .15s;text-align:left}.big-tab[data-v-fde7b7ce]:hover{border-color:var(--accent)}.big-tab.active[data-v-fde7b7ce]{border-color:var(--accent);box-shadow:0 0 0 2px #2c6cff1a}.big-tab-icon[data-v-fde7b7ce]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-soft);color:var(--fg-muted);font-size:18px;flex-shrink:0}.big-tab.active .big-tab-icon[data-v-fde7b7ce]{background:var(--accent);color:#fff}.big-tab-text[data-v-fde7b7ce]{display:flex;flex-direction:column}.big-tab-title[data-v-fde7b7ce]{font-size:14px;font-weight:600;color:var(--fg)}.big-tab-sub[data-v-fde7b7ce]{font-size:11px;color:var(--fg-muted)}.subj-tabs[data-v-fde7b7ce]{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.subj-tab[data-v-fde7b7ce]{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:12px;color:var(--fg-muted);display:inline-flex;align-items:center;gap:6px}.subj-tab[data-v-fde7b7ce]:hover{border-color:var(--accent);color:var(--fg)}.subj-tab.active[data-v-fde7b7ce]{background:var(--accent, #2c6cff);border-color:var(--accent, #2c6cff);color:#fff}.subj-count[data-v-fde7b7ce]{padding:0 6px;font-size:10px;background:#0000000f;border-radius:999px}.subj-tab.active .subj-count[data-v-fde7b7ce]{background:#ffffff40;color:#fff}.list-panel[data-v-fde7b7ce]{background:var(--bg);border-radius:12px;padding:8px 0;border:1px solid var(--border);box-shadow:0 1px 3px #00000008}.hq-list[data-v-fde7b7ce]{list-style:none;padding:0;margin:0}.hq-item[data-v-fde7b7ce]{display:grid;grid-template-columns:60px 1fr 80px;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);transition:background .15s}.hq-item[data-v-fde7b7ce]:last-child{border-bottom:0}.hq-item[data-v-fde7b7ce]:hover{background:var(--bg-soft)}.rank-col[data-v-fde7b7ce]{display:flex;justify-content:center;padding-top:2px}.rank-badge[data-v-fde7b7ce]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:13px;font-weight:700;background:var(--bg-soft);color:var(--fg-muted)}.rank-1[data-v-fde7b7ce]{background:linear-gradient(135deg,#ffd966,#ffb74d);color:#fff;box-shadow:0 2px 6px #ffb44d66}.rank-2[data-v-fde7b7ce]{background:linear-gradient(135deg,#d8d8d8,#bbb);color:#fff;box-shadow:0 2px 6px #b4b4b466}.rank-3[data-v-fde7b7ce]{background:linear-gradient(135deg,#d9a26a,#b88450);color:#fff;box-shadow:0 2px 6px #b8845066}.main-col[data-v-fde7b7ce]{min-width:0}.title-line[data-v-fde7b7ce]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.subj-pill[data-v-fde7b7ce]{display:inline-block;padding:2px 9px;font-size:11px;border:1px solid;border-radius:999px;background:var(--bg);white-space:nowrap;font-weight:500}.year-tag[data-v-fde7b7ce]{font-size:12px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace}.diff-stars[data-v-fde7b7ce]{display:inline-flex;align-items:center;gap:4px}.diff-text[data-v-fde7b7ce]{font-size:11px;color:var(--fg-muted);padding:1px 7px;background:var(--danger-soft);border-radius:3px;color:var(--danger);font-weight:500}.stars[data-v-fde7b7ce]{color:var(--warn);font-size:11px;letter-spacing:1px}.kp-tag[data-v-fde7b7ce]{font-size:11px;color:var(--accent);padding:1px 8px;background:var(--accent-soft);border-radius:3px}.chapter-tag[data-v-fde7b7ce]{font-size:11px;color:var(--fg-muted)}.score-tag[data-v-fde7b7ce]{font-size:11px;color:var(--success);padding:1px 8px;border:1px solid var(--success-soft);border-radius:3px}.stem[data-v-fde7b7ce]{margin:0 0 8px;font-size:13px;color:var(--fg);line-height:1.6}.rate-line[data-v-fde7b7ce]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.rate-bar[data-v-fde7b7ce]{flex:1;min-width:200px;max-width:320px;height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden}.rate-fill[data-v-fde7b7ce]{height:100%;border-radius:999px;transition:width .4s}.rate-num[data-v-fde7b7ce]{font-weight:700;min-width:48px}.rate-band[data-v-fde7b7ce]{font-size:10px;padding:1px 6px;border:1px solid;border-radius:3px;font-weight:500}.sample[data-v-fde7b7ce]{color:var(--fg-muted);font-size:11px}.action-col[data-v-fde7b7ce]{display:flex;justify-content:flex-end;align-items:center;padding-top:4px}.go-btn[data-v-fde7b7ce]{display:inline-block;padding:6px 14px;border-radius:6px;background:var(--bg-soft);color:var(--accent);font-size:12px;font-weight:500;text-decoration:none;border:1px solid var(--border);white-space:nowrap}.go-btn[data-v-fde7b7ce]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.empty[data-v-fde7b7ce]{padding:48px 24px;text-align:center;color:var(--fg-muted);font-size:13px}.footer-hint[data-v-fde7b7ce]{padding:12px 20px;font-size:12px;color:var(--fg-muted);text-align:center;border-top:1px solid var(--border);margin:0}@media (max-width: 1100px){.kpi-row[data-v-fde7b7ce]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.kpi-row[data-v-fde7b7ce]{grid-template-columns:repeat(2,1fr)}}.rot-page[data-v-8fb8ce8d]{padding:20px 24px 60px}.page-head[data-v-8fb8ce8d]{margin-bottom:24px}.page-title[data-v-8fb8ce8d]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-8fb8ce8d]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6;max-width:920px}.state[data-v-8fb8ce8d]{color:var(--fg-muted);padding:60px 0;text-align:center}.err[data-v-8fb8ce8d]{color:#dc4444}.kpi-row[data-v-8fb8ce8d]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi-card[data-v-8fb8ce8d]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-8fb8ce8d]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-8fb8ce8d]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-red[data-v-8fb8ce8d]:before{background:#dc4444}.kpi-red .kpi-num[data-v-8fb8ce8d]{color:#dc4444}.kpi-orange[data-v-8fb8ce8d]:before{background:#ee8b1b}.kpi-orange .kpi-num[data-v-8fb8ce8d]{color:#ee8b1b}.kpi-green[data-v-8fb8ce8d]:before{background:#2cb67d}.kpi-green .kpi-num[data-v-8fb8ce8d]{color:#2cb67d}.kpi-blue[data-v-8fb8ce8d]:before{background:#2c6cff}.kpi-blue .kpi-num[data-v-8fb8ce8d]{color:#2c6cff}.kpi-gray[data-v-8fb8ce8d]:before{background:#888}.kpi-gray .kpi-num[data-v-8fb8ce8d]{color:#888}.kpi-num[data-v-8fb8ce8d]{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-label[data-v-8fb8ce8d]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-8fb8ce8d]{font-size:11px;color:var(--fg-muted)}.control-bar[data-v-8fb8ce8d]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.subj-tabs[data-v-8fb8ce8d]{display:flex;gap:6px;flex-wrap:wrap}.subj-tab[data-v-8fb8ce8d]{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg-muted);transition:all .15s}.subj-tab[data-v-8fb8ce8d]:hover{border-color:#2c6cff;color:var(--fg)}.subj-tab.active[data-v-8fb8ce8d]{background:var(--accent, #2c6cff);border-color:var(--accent, #2c6cff);color:#fff}.legend[data-v-8fb8ce8d]{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:12px;color:var(--fg-muted)}.legend-title[data-v-8fb8ce8d]{color:var(--fg-muted);font-weight:500}.legend-item[data-v-8fb8ce8d]{display:inline-flex;align-items:center;gap:5px}.legend-cell[data-v-8fb8ce8d]{display:inline-block;width:14px;height:14px;border-radius:3px}.legend-cell.deep[data-v-8fb8ce8d]{background:#2c6cff}.legend-cell.mid[data-v-8fb8ce8d]{background:#2c6cff73}.legend-cell.empty[data-v-8fb8ce8d]{background:#f0f0f0}.band-section[data-v-8fb8ce8d]{border-radius:14px;padding:22px 24px;margin-bottom:18px;border:1px solid var(--border)}.band-banner[data-v-8fb8ce8d]{display:flex;align-items:center;gap:14px;margin-bottom:16px}.band-icon[data-v-8fb8ce8d]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;flex-shrink:0}.band-text[data-v-8fb8ce8d]{flex:1}.band-title[data-v-8fb8ce8d]{margin:0 0 2px;font-size:18px;font-weight:600}.band-count[data-v-8fb8ce8d]{font-size:12px;color:#888;font-weight:400;margin-left:8px;padding:2px 10px;background:#fff;border-radius:999px;border:1px solid #eee}.band-sub[data-v-8fb8ce8d]{margin:0;font-size:13px;color:#666}.kp-grid[data-v-8fb8ce8d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.kp-card[data-v-8fb8ce8d]{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid #f0f0f0;border-left:3px solid;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:10px}.kp-card[data-v-8fb8ce8d]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000000f}.kp-head[data-v-8fb8ce8d]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.kp-name-block[data-v-8fb8ce8d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.kp-name[data-v-8fb8ce8d]{font-size:14px;font-weight:600;color:#1a1a1a}.subj-pill[data-v-8fb8ce8d]{display:inline-block;padding:1px 8px;font-size:10px;border:1px solid;border-radius:999px;background:#fff;white-space:nowrap}.kp-chapter[data-v-8fb8ce8d]{font-size:10px;color:#aaa;font-family:SF Mono,Consolas,monospace}.kp-stat-line[data-v-8fb8ce8d]{display:flex;gap:6px;flex-wrap:wrap}.stat-pill[data-v-8fb8ce8d]{font-size:11px;padding:2px 9px;border-radius:4px;background:#f5f7fa;color:#666}.stat-pill b[data-v-8fb8ce8d]{color:#1a1a1a;font-weight:600}.gap-pill[data-v-8fb8ce8d]{background:#fff;border:1px solid;font-weight:500}.year-strip[data-v-8fb8ce8d]{display:flex;gap:2px}.year-cell[data-v-8fb8ce8d]{flex:1;min-width:14px;height:22px;display:flex;align-items:center;justify-content:center;font-size:9px;font-family:SF Mono,Consolas,monospace;border-radius:3px;cursor:default;color:#fff;font-weight:500}.year-cell.untested[data-v-8fb8ce8d]{background:#f0f0f0;color:#ccc}.year-cell.now[data-v-8fb8ce8d]{box-shadow:0 0 0 1.5px #1a1a1a;font-weight:700}.year-cell.now.untested[data-v-8fb8ce8d]{box-shadow:0 0 0 1.5px #dc4444;color:#dc4444}.kp-actions[data-v-8fb8ce8d]{display:flex;gap:6px}.action-btn[data-v-8fb8ce8d]{display:inline-block;font-size:11px;padding:3px 10px;border-radius:4px;text-decoration:none;border:1px solid #2c6cff;color:#2c6cff;background:#fff}.action-btn[data-v-8fb8ce8d]:hover{background:#2c6cff;color:#fff}.more-hint[data-v-8fb8ce8d]{padding:12px 0 0;font-size:12px;color:#aaa;text-align:center;margin:0}@media (max-width: 1100px){.kpi-row[data-v-8fb8ce8d]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.kpi-row[data-v-8fb8ce8d]{grid-template-columns:repeat(2,1fr)}.kp-grid[data-v-8fb8ce8d]{grid-template-columns:1fr}}.yb-page[data-v-36859da5]{padding:20px 24px 60px}.page-head[data-v-36859da5]{margin-bottom:16px}.page-title[data-v-36859da5]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-36859da5]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6;max-width:920px}.year-bar[data-v-36859da5]{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:22px;background:var(--bg);padding:10px 14px;border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008}.year-chip[data-v-36859da5]{padding:5px 12px;border-radius:6px;border:1px solid transparent;background:var(--bg-soft);cursor:pointer;font-size:12px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;transition:all .12s}.year-chip[data-v-36859da5]:hover{background:var(--bg-soft);color:var(--fg)}.year-chip.active[data-v-36859da5]{background:var(--accent);color:#fff;font-weight:600}.state[data-v-36859da5]{color:var(--fg-muted);padding:60px 0;text-align:center}.err[data-v-36859da5]{color:var(--danger)}.kpi-row[data-v-36859da5]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.kpi-card[data-v-36859da5]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-36859da5]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-36859da5]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-blue[data-v-36859da5]:before{background:var(--accent)}.kpi-blue .kpi-num[data-v-36859da5]{color:var(--accent)}.kpi-green[data-v-36859da5]:before{background:var(--success)}.kpi-green .kpi-num[data-v-36859da5]{color:var(--success)}.kpi-purple[data-v-36859da5]:before{background:var(--purple)}.kpi-purple .kpi-num[data-v-36859da5]{color:var(--purple)}.kpi-red[data-v-36859da5]:before{background:var(--danger)}.kpi-red .kpi-num[data-v-36859da5]{color:var(--danger)}.kpi-orange[data-v-36859da5]:before{background:var(--warn)}.kpi-orange .kpi-num[data-v-36859da5]{color:var(--warn)}.kpi-num[data-v-36859da5]{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-label[data-v-36859da5]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-36859da5]{font-size:11px;color:var(--fg-muted)}.kpi-row-mini[data-v-36859da5]{display:flex;gap:4px;margin-bottom:8px}.mini-pill[data-v-36859da5]{padding:4px 10px;min-width:32px;text-align:center;color:#fff;border-radius:6px;font-weight:700;font-size:14px}.main-grid[data-v-36859da5]{display:grid;grid-template-columns:1fr 320px;gap:18px}.panel[data-v-36859da5]{background:var(--bg);border-radius:12px;padding:18px 20px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008}.panel-head[data-v-36859da5]{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.panel-title[data-v-36859da5]{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.panel-sub[data-v-36859da5]{font-size:12px;color:var(--fg-muted)}.legend[data-v-36859da5]{display:flex;gap:12px;margin-left:auto;font-size:11px;color:var(--fg-muted)}.leg-item[data-v-36859da5]{display:inline-flex;align-items:center;gap:4px}.leg-dot[data-v-36859da5]{display:inline-block;width:10px;height:10px;border-radius:50%}.leg-correct[data-v-36859da5]{background:var(--success)}.leg-wrong[data-v-36859da5]{background:var(--danger)}.leg-na[data-v-36859da5]{background:var(--border)}.leg-empty[data-v-36859da5]{background:var(--bg-soft);border:1px dashed var(--border)}.board[data-v-36859da5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px;padding:6px 4px}.slot[data-v-36859da5]{display:flex;flex-direction:column;align-items:center;gap:4px}.slot-num[data-v-36859da5]{font-size:10px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace}.cell[data-v-36859da5]{position:relative;width:100%;height:56px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .12s,box-shadow .12s}.cell[data-v-36859da5]:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.cell-letter[data-v-36859da5]{font-size:11px;font-weight:700;color:#00000080}.cell-score[data-v-36859da5]{font-size:13px;font-weight:700;color:#1a1a1a;margin-top:2px}.cell-status[data-v-36859da5]{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--border)}.st-correct .cell-status[data-v-36859da5]{background:var(--success)}.st-wrong .cell-status[data-v-36859da5]{background:var(--danger)}.subj-ds[data-v-36859da5]{border-color:#2c6cff4d}.subj-os[data-v-36859da5]{border-color:#2cb67d4d}.subj-co[data-v-36859da5]{border-color:#9b6dff4d}.subj-cn[data-v-36859da5]{border-color:#ee8b1b4d}.cell-empty[data-v-36859da5]{background:var(--bg-soft);border:1px dashed var(--border);color:var(--fg-muted);cursor:default;font-size:14px}.cell-empty[data-v-36859da5]:hover{transform:none;box-shadow:none}.side-col[data-v-36859da5]{display:flex;flex-direction:column;gap:14px}.panel-narrow[data-v-36859da5]{padding:14px 16px}.kp-list[data-v-36859da5]{list-style:none;padding:0;margin:0;max-height:360px;overflow-y:auto}.kp-list li[data-v-36859da5]{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.kp-list li[data-v-36859da5]:last-child{border-bottom:0}.kp-tag[data-v-36859da5]{font-size:10px;padding:1px 7px;border-radius:3px;font-weight:600;flex-shrink:0}.tag-new[data-v-36859da5]{background:var(--danger-soft);color:var(--danger)}.tag-recur[data-v-36859da5]{background:var(--warn-soft);color:var(--warn)}.kp-count[data-v-36859da5]{font-size:11px;padding:2px 7px;background:var(--accent-soft);color:var(--accent);border-radius:3px;font-weight:600;flex-shrink:0}.kp-name[data-v-36859da5]{flex:1;color:var(--fg)}.kp-sub[data-v-36859da5]{font-size:11px;flex-shrink:0}.kp-prev[data-v-36859da5]{font-size:10px;color:var(--fg-muted);flex-shrink:0;font-family:SF Mono,Consolas,monospace}.hover-card[data-v-36859da5]{position:fixed;transform:translate(-50%);background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #00000026;padding:12px 14px;max-width:360px;min-width:240px;z-index:100;pointer-events:none}.hover-head[data-v-36859da5]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hover-tag[data-v-36859da5]{color:#fff;font-size:11px;padding:2px 8px;border-radius:999px;font-weight:500}.hover-meta[data-v-36859da5]{font-size:11px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace}.hover-stem[data-v-36859da5]{margin:0 0 6px;font-size:12px;color:var(--fg);line-height:1.5}.hover-foot[data-v-36859da5]{font-size:10px;color:var(--fg-muted)}@media (max-width: 1100px){.main-grid[data-v-36859da5]{grid-template-columns:1fr}.kpi-row[data-v-36859da5]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.kpi-row[data-v-36859da5]{grid-template-columns:repeat(2,1fr)}}.ch-page[data-v-aa4d2c09]{padding:20px 24px 60px}.page-head[data-v-aa4d2c09]{margin-bottom:24px}.page-title[data-v-aa4d2c09]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--fg)}.page-lede[data-v-aa4d2c09]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6;max-width:920px}.state[data-v-aa4d2c09]{color:var(--fg-muted);padding:60px 0;text-align:center}.err[data-v-aa4d2c09]{color:var(--danger)}.kpi-row[data-v-aa4d2c09]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi-card[data-v-aa4d2c09]{background:var(--bg);border-radius:12px;padding:20px 22px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card[data-v-aa4d2c09]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.kpi-card[data-v-aa4d2c09]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.kpi-blue[data-v-aa4d2c09]:before{background:var(--accent)}.kpi-blue .kpi-num[data-v-aa4d2c09]{color:var(--accent)}.kpi-orange[data-v-aa4d2c09]:before{background:var(--warn)}.kpi-orange .kpi-num[data-v-aa4d2c09]{color:var(--warn)}.kpi-red[data-v-aa4d2c09]:before{background:var(--danger)}.kpi-red .kpi-num[data-v-aa4d2c09]{color:var(--danger)}.kpi-gray[data-v-aa4d2c09]:before{background:var(--fg-muted)}.kpi-gray .kpi-num[data-v-aa4d2c09]{color:var(--fg-muted)}.kpi-purple[data-v-aa4d2c09]:before{background:var(--purple)}.kpi-purple .kpi-num[data-v-aa4d2c09]{color:var(--purple)}.kpi-num[data-v-aa4d2c09]{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px;color:var(--fg)}.kpi-label[data-v-aa4d2c09]{font-size:13px;color:var(--fg-muted);font-weight:500;margin-bottom:4px}.kpi-foot[data-v-aa4d2c09]{font-size:11px;color:var(--fg-muted)}.control-bar[data-v-aa4d2c09]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.subj-tabs[data-v-aa4d2c09]{display:flex;gap:6px;flex-wrap:wrap}.subj-tab[data-v-aa4d2c09]{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg-muted);transition:all .15s}.subj-tab[data-v-aa4d2c09]:hover{border-color:var(--accent);color:var(--fg)}.subj-tab.active[data-v-aa4d2c09]{background:var(--accent);border-color:var(--accent);color:#fff}.card-grid[data-v-aa4d2c09]{display:grid;grid-template-columns:repeat(auto-fill,minmax(640px,1fr));gap:16px}.ch-card[data-v-aa4d2c09]{background:var(--bg);border-radius:12px;padding:22px 24px;border:1px solid var(--border);box-shadow:0 1px 3px #00000008;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:12px;position:relative}.ch-card[data-v-aa4d2c09]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.ch-head[data-v-aa4d2c09]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ch-title-row[data-v-aa4d2c09]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.ch-name[data-v-aa4d2c09]{margin:0;font-size:20px;font-weight:700;color:var(--fg)}.subj-pill[data-v-aa4d2c09]{display:inline-block;padding:2px 10px;font-size:11px;border:1px solid;border-radius:999px;background:var(--bg);white-space:nowrap}.ch-code[data-v-aa4d2c09]{font-size:11px;color:var(--fg-muted);font-family:SF Mono,Consolas,monospace;flex-shrink:0}.ch-oneliner[data-v-aa4d2c09]{margin:0;font-size:14.5px;font-weight:600;color:var(--fg-muted);line-height:1.45}.badge-row[data-v-aa4d2c09]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge[data-v-aa4d2c09]{font-size:12px;padding:3px 10px;border-radius:4px;background:var(--bg-soft);color:var(--fg-muted)}.badge b[data-v-aa4d2c09]{color:var(--fg);font-weight:700}.trend-tag[data-v-aa4d2c09]{font-size:12px;padding:3px 10px;border-radius:999px;font-weight:600;line-height:1.2}.chart-wrap[data-v-aa4d2c09]{position:relative}.chart[data-v-aa4d2c09]{display:block;width:100%;height:80px;overflow:visible}.chart-dot[data-v-aa4d2c09]{cursor:pointer;transition:r .1s}.chart-dot[data-v-aa4d2c09]:hover{r:4}.x-tick[data-v-aa4d2c09]{font-size:9px;fill:var(--fg-muted);font-family:SF Mono,Consolas,monospace}.tooltip[data-v-aa4d2c09]{position:absolute;z-index:5;background:#1a1a1a;color:#fff;font-size:11px;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;transform:translate(-50%,-130%);box-shadow:0 2px 8px #00000026}.tooltip b[data-v-aa4d2c09]{color:#fff}.kp-row[data-v-aa4d2c09]{display:flex;gap:6px;flex-wrap:wrap}.kp-pill[data-v-aa4d2c09]{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg-soft);color:var(--fg-muted);border:1px solid var(--border)}.kp-rank-1[data-v-aa4d2c09]{background:#fff5e8;color:#c46810;border-color:#ffe2c4;font-weight:600}.kp-rank-2[data-v-aa4d2c09]{background:#fff8e5;color:#b88600;border-color:#ffeebd}.kp-rank-3[data-v-aa4d2c09]{background:#f7f4ff;color:#6e4ec7;border-color:#ece4ff}.ch-body[data-v-aa4d2c09]{font-size:14px;line-height:1.7;color:var(--fg-muted);border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.ch-cards-link[data-v-aa4d2c09]{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--fg);text-decoration:none;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft)}.ch-cards-link[data-v-aa4d2c09]:hover{border-color:var(--fg);background:var(--bg-soft)}.ch-body[data-v-aa4d2c09] p{margin:0 0 10px}.ch-body[data-v-aa4d2c09] p:last-child{margin-bottom:0}.ch-body[data-v-aa4d2c09] strong{color:var(--fg);font-weight:700}.ch-body[data-v-aa4d2c09] blockquote{margin:12px 0 4px;padding:10px 14px;background:#fffaeb;border-left:4px solid #ee8b1b;border-radius:0 6px 6px 0;color:#664d1f;font-size:13.5px}.ch-body[data-v-aa4d2c09] blockquote p{margin:0}.ch-body[data-v-aa4d2c09] blockquote strong{color:#5a3e0d}.ch-body[data-v-aa4d2c09] code{font-family:SF Mono,Consolas,monospace;font-size:12.5px;background:#f5f5f5;padding:1px 5px;border-radius:3px;color:#c46810}@media (max-width: 1100px){.kpi-row[data-v-aa4d2c09]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.ch-page[data-v-aa4d2c09]{padding:16px 14px 40px}.kpi-row[data-v-aa4d2c09]{grid-template-columns:repeat(2,1fr)}.card-grid[data-v-aa4d2c09]{grid-template-columns:1fr}.ch-card[data-v-aa4d2c09]{padding:18px}.ch-name[data-v-aa4d2c09]{font-size:18px}}.page[data-v-8e882907]{max-width:1100px;margin:0 auto;padding:8px 0 32px}.title-row[data-v-8e882907]{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px;flex-wrap:wrap}.title[data-v-8e882907]{font-size:28px;font-weight:700;margin:0;letter-spacing:-.01em}.overview-link[data-v-8e882907]{font-size:13px;color:var(--accent);text-decoration:none;padding:6px 12px;border:1px solid rgba(44,108,255,.25);border-radius:999px;background:#2c6cff0f;transition:all .15s}.overview-link[data-v-8e882907]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.lede[data-v-8e882907]{color:var(--fg-muted);font-size:14px;margin:0 0 20px;line-height:1.65;max-width:720px}.search-box[data-v-8e882907]{position:relative;margin-bottom:14px}.search-input[data-v-8e882907]{width:100%;padding:14px 18px;font-size:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg);box-sizing:border-box;box-shadow:0 1px 3px #0000000a;transition:border-color .15s,box-shadow .15s}.search-input[data-v-8e882907]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2c6cff1f}.match-count[data-v-8e882907]{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--fg-muted);background:#ffffffe6;padding:2px 6px;border-radius:4px}.subject-tabs[data-v-8e882907]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}.tab[data-v-8e882907]{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px;transition:all .15s}.tab[data-v-8e882907]:hover{border-color:var(--accent);color:var(--accent)}.tab.active[data-v-8e882907]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px #2c6cff40}.groups[data-v-8e882907]{display:flex;flex-direction:column;gap:28px}.group-title[data-v-8e882907]{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:10px;font-weight:600;padding-left:10px;border-left:3px solid var(--accent)}.subject-tag[data-v-8e882907]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.subject-tag.s-ds[data-v-8e882907]{background:#e0f2fe;color:#0369a1}.subject-tag.s-os[data-v-8e882907]{background:#fef3c7;color:#b45309}.subject-tag.s-co[data-v-8e882907]{background:#f3e8ff;color:#7e22ce}.subject-tag.s-cn[data-v-8e882907]{background:#dcfce7;color:#15803d}.subject-tag.s-algo[data-v-8e882907]{background:#fce7f3;color:#be185d}.group-count[data-v-8e882907]{font-size:12px;color:var(--fg-muted);font-weight:400;margin-left:auto}.kp-grid[data-v-8e882907]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.kp-card[data-v-8e882907]{position:relative;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;display:flex;flex-direction:column;gap:8px;font:inherit;color:var(--fg);transition:transform .15s,box-shadow .15s,border-color .15s}.kp-card[data-v-8e882907]:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #2c6cff1f}.kp-card-head[data-v-8e882907]{display:flex;align-items:center;gap:8px}.kp-dot[data-v-8e882907]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kp-dot.d-ds[data-v-8e882907]{background:#0369a1}.kp-dot.d-os[data-v-8e882907]{background:#b45309}.kp-dot.d-co[data-v-8e882907]{background:#7e22ce}.kp-dot.d-cn[data-v-8e882907]{background:#15803d}.kp-name[data-v-8e882907]{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--fg)}.kp-name[data-v-8e882907] mark{background:#fde68a;padding:0 2px;border-radius:2px}.kp-meta[data-v-8e882907]{display:flex;flex-wrap:wrap;gap:4px}.signal[data-v-8e882907]{font-size:11px;padding:2px 7px;border-radius:999px;font-weight:500;line-height:1.5}.signal-q[data-v-8e882907]{background:#eff6ff;color:#1d4ed8}.signal-drill[data-v-8e882907]{background:#fef3c7;color:#a16207}.signal-viz[data-v-8e882907]{background:#f0fdf4;color:#15803d}.signal.mastery[data-v-8e882907]{font-weight:600}.signal.m-strong[data-v-8e882907]{background:#f0fdf4;color:#15803d}.signal.m-steady[data-v-8e882907]{background:#ecfeff;color:#0e7490}.signal.m-attention[data-v-8e882907]{background:#fff7ed;color:#c2410c}.signal.m-unfamiliar[data-v-8e882907]{background:#fef2f2;color:#b91c1c}.signal-empty[data-v-8e882907]{background:var(--bg-soft);color:var(--fg-muted);font-style:italic}.kp-id[data-v-8e882907]{font-size:10.5px;color:var(--fg-muted);font-family:ui-monospace,JetBrains Mono,monospace;opacity:.7}.loading[data-v-8e882907],.empty[data-v-8e882907],.err[data-v-8e882907]{text-align:center;padding:48px 16px;color:var(--fg-muted)}.err[data-v-8e882907]{color:var(--danger)}.result-section-title[data-v-8e882907]{font-size:16px;font-weight:600;margin:28px 0 14px;display:flex;align-items:center;gap:8px}.result-section-title[data-v-8e882907]:first-child{margin-top:0}.result-count[data-v-8e882907]{font-size:11px;color:#fff;background:var(--accent);padding:2px 9px;border-radius:999px;font-weight:600}.result-hint[data-v-8e882907]{font-size:12px;color:var(--fg-muted);font-weight:400}.blog-section[data-v-8e882907]{margin-top:8px}.blog-card[data-v-8e882907]{display:block;text-decoration:none;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.blog-card[data-v-8e882907]:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 12px #2c6cff14}.blog-meta[data-v-8e882907]{display:flex;align-items:center;gap:8px;margin-bottom:5px}.blog-cat[data-v-8e882907]{font-size:11px;color:var(--fg-muted);font-family:ui-monospace,monospace}.blog-title[data-v-8e882907]{font-size:15px;font-weight:600;margin-bottom:5px;line-height:1.4}.blog-title[data-v-8e882907] mark{background:#fde68a;padding:0 2px;border-radius:2px}.blog-desc[data-v-8e882907]{font-size:13px;color:var(--fg-muted);line-height:1.55;margin-bottom:8px}.blog-kw[data-v-8e882907]{display:flex;flex-wrap:wrap;gap:4px}.kw-tag[data-v-8e882907]{font-size:11px;background:var(--bg-soft);color:var(--fg-muted);padding:2px 7px;border-radius:4px}.more-hint[data-v-8e882907]{color:var(--fg-muted);font-size:12px;text-align:center;padding:14px}@media (max-width: 640px){.title[data-v-8e882907]{font-size:22px}.lede[data-v-8e882907]{font-size:13px}.search-input[data-v-8e882907]{padding:12px 14px;font-size:15px}.kp-grid[data-v-8e882907]{grid-template-columns:1fr}}.page[data-v-1394dc2c]{max-width:1100px;margin:0 auto}.breadcrumb[data-v-1394dc2c]{font-size:13px;color:var(--fg-muted);margin-bottom:8px}.breadcrumb a[data-v-1394dc2c]{color:var(--accent);text-decoration:none}.breadcrumb a[data-v-1394dc2c]:hover{text-decoration:underline}.sep[data-v-1394dc2c]{margin:0 6px;color:var(--fg-muted)}.header[data-v-1394dc2c]{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.kp-title[data-v-1394dc2c]{font-size:24px;margin:0 0 4px}.kp-id[data-v-1394dc2c]{font-family:ui-monospace,monospace;color:var(--fg-muted);font-size:12px;margin-bottom:8px}.kp-stats[data-v-1394dc2c]{font-size:13px;color:var(--fg-muted);display:flex;gap:4px;align-items:center;flex-wrap:wrap}.kp-stats .dot[data-v-1394dc2c]{color:var(--border)}.kp-stats .has-viz[data-v-1394dc2c]{color:var(--accent)}.kp-stats .has-blog[data-v-1394dc2c]{color:#be185d}.drill-cta[data-v-1394dc2c]{display:inline-block;margin-top:12px;padding:8px 16px;background:linear-gradient(90deg,#4caf50,#66bb6a);color:#fff;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .15s,box-shadow .15s}.drill-cta[data-v-1394dc2c]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf5040}.layout[data-v-1394dc2c]{display:grid;grid-template-columns:1fr 240px;gap:16px}@media (max-width: 768px){.layout[data-v-1394dc2c]{grid-template-columns:1fr}}.card[data-v-1394dc2c]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:12px}.section-title[data-v-1394dc2c]{font-size:15px;margin:0 0 10px;font-weight:600}.viz-card[data-v-1394dc2c]{background:var(--accent-soft);border-color:var(--accent)}.viz-link[data-v-1394dc2c]{display:block;text-decoration:none;color:var(--fg)}.viz-label[data-v-1394dc2c]{font-weight:500;margin-bottom:4px}.viz-url[data-v-1394dc2c]{font-size:12px;color:var(--accent);font-family:ui-monospace,monospace}.year-row[data-v-1394dc2c]{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.year-row[data-v-1394dc2c]:first-of-type{border-top:0}.year-label[data-v-1394dc2c]{flex-shrink:0;width:56px;font-weight:600;font-size:13px;color:var(--fg-muted);padding-top:4px}.year-questions[data-v-1394dc2c]{flex:1;display:flex;flex-direction:column;gap:6px}.q-link[data-v-1394dc2c]{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--fg);font-size:13px}.q-link[data-v-1394dc2c]:hover{background:var(--accent-soft)}.q-meta[data-v-1394dc2c]{font-size:12px;color:var(--fg-muted)}.qtype[data-v-1394dc2c]{padding:0 5px;border-radius:3px;font-size:11px;margin-left:4px}.qtype.t-choice[data-v-1394dc2c]{background:#e0f2fe;color:#0369a1}.qtype.t-comprehensive[data-v-1394dc2c]{background:#fef3e7;color:#b06b00}.slug-fallback[data-v-1394dc2c]{font-family:ui-monospace,monospace}.q-stem[data-v-1394dc2c]{color:var(--fg-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status[data-v-1394dc2c]{font-size:11px}.status.s-correct[data-v-1394dc2c]{color:var(--success)}.status.s-wrong[data-v-1394dc2c]{color:var(--danger)}.sibling-list[data-v-1394dc2c]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.sib-btn[data-v-1394dc2c]{text-align:left;width:100%;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;font:inherit;color:var(--fg);font-size:13px}.sib-btn[data-v-1394dc2c]:hover{background:var(--accent-soft);border-color:var(--accent)}.loading[data-v-1394dc2c],.empty[data-v-1394dc2c],.err[data-v-1394dc2c]{text-align:center;padding:32px;color:var(--fg-muted)}.err[data-v-1394dc2c]{color:var(--danger)}.err a[data-v-1394dc2c]{color:var(--accent)}.reading-hint[data-v-1394dc2c]{font-size:11px;color:var(--fg-muted);font-weight:400;margin-left:6px}.blog-link[data-v-1394dc2c]{display:block;text-decoration:none;color:var(--fg);padding:8px 10px;border-radius:6px;border-bottom:1px dashed var(--border)}.blog-link[data-v-1394dc2c]:last-child{border-bottom:0}.blog-link[data-v-1394dc2c]:hover{background:var(--accent-soft)}.bl-title[data-v-1394dc2c]{font-size:14px;margin-bottom:4px}.bl-desc[data-v-1394dc2c]{font-size:12px;color:var(--fg-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bl-subject[data-v-1394dc2c]{font-size:11px;padding:2px 6px;border-radius:4px;margin-right:6px}.bl-subject.s-ds[data-v-1394dc2c]{background:#e0f2fe;color:#0369a1}.bl-subject.s-os[data-v-1394dc2c]{background:#fef3c7;color:#b45309}.bl-subject.s-co[data-v-1394dc2c]{background:#f3e8ff;color:#7e22ce}.bl-subject.s-cn[data-v-1394dc2c]{background:#dcfce7;color:#15803d}.bl-subject.s-algo[data-v-1394dc2c]{background:#fce7f3;color:#be185d}.page[data-v-387c8ca3]{max-width:1100px;margin:0 auto;padding:8px 0 40px}.state[data-v-387c8ca3]{text-align:center;padding:80px 16px;color:var(--fg-muted)}.state.err[data-v-387c8ca3]{color:var(--danger)}.hero[data-v-387c8ca3]{margin-bottom:24px}.hero h1[data-v-387c8ca3]{font-size:28px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.hero .lede[data-v-387c8ca3]{color:var(--fg-muted);font-size:14px;line-height:1.65;margin:0 0 16px;max-width:720px}.philosophy[data-v-387c8ca3]{background:linear-gradient(135deg,#f0f9ff,#fef3f2);border:1px solid rgba(44,108,255,.15);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;gap:6px}.phil-row[data-v-387c8ca3]{display:flex;align-items:baseline;gap:10px;font-size:13.5px;line-height:1.5}.phil-icon[data-v-387c8ca3]{font-size:14px;flex-shrink:0}.phil-text[data-v-387c8ca3]{color:#334155}.phil-text strong[data-v-387c8ca3]{color:#1a1a1a}.subject-tabs[data-v-387c8ca3]{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab[data-v-387c8ca3]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:13px;transition:all .15s;min-width:96px}.tab-label[data-v-387c8ca3]{font-weight:600;font-size:14px}.tab-meta[data-v-387c8ca3]{font-size:11px;color:var(--fg-muted);font-family:ui-monospace,monospace}.tab-pending[data-v-387c8ca3]{color:var(--fg-muted);font-style:italic}.tab[data-v-387c8ca3]:hover{border-color:var(--accent)}.tab.active[data-v-387c8ca3]{background:var(--accent);border-color:var(--accent);color:#fff}.tab.active .tab-meta[data-v-387c8ca3]{color:#ffffffd9}.subject-stat[data-v-387c8ca3]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:24px}.stat-grid[data-v-387c8ca3]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.stat-box[data-v-387c8ca3]{text-align:center;padding:8px 4px}.stat-num[data-v-387c8ca3]{font-size:26px;font-weight:700;line-height:1.1;color:var(--fg);font-variant-numeric:tabular-nums}.stat-target[data-v-387c8ca3]{font-size:14px;color:var(--fg-muted);font-weight:500}.stat-pct[data-v-387c8ca3]{color:var(--accent)}.stat-lbl[data-v-387c8ca3]{font-size:12px;color:var(--fg-muted);margin-top:4px}.subject-bar[data-v-387c8ca3]{height:6px;background:var(--bg-soft);border-radius:3px;overflow:hidden}.subject-bar-fill[data-v-387c8ca3]{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);transition:width .4s ease}.chapter[data-v-387c8ca3]{margin-bottom:28px}.chapter-title[data-v-387c8ca3]{font-size:16px;font-weight:600;margin:0 0 12px;display:flex;align-items:baseline;gap:10px;padding-left:10px;border-left:3px solid var(--accent)}.ch-name[data-v-387c8ca3]{color:var(--fg)}.ch-code[data-v-387c8ca3]{font-size:12px;color:var(--fg-muted);font-family:ui-monospace,monospace;font-weight:400}.ch-count[data-v-387c8ca3]{font-size:12px;color:var(--fg-muted);font-weight:400;margin-left:auto}.kp-list[data-v-387c8ca3]{display:flex;flex-direction:column;gap:8px}.kp-row[data-v-387c8ca3]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.kp-row[data-v-387c8ca3]:hover{border-color:var(--accent);box-shadow:0 2px 8px #2c6cff14}.kp-row.kp-done[data-v-387c8ca3]{background:linear-gradient(to right,#f0fdf4,#fff);border-color:#bbf7d0}.kp-head[data-v-387c8ca3]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.kp-tier[data-v-387c8ca3]{font-size:16px;flex-shrink:0;line-height:1}.kp-name-btn[data-v-387c8ca3]{background:none;border:none;padding:0;font:inherit;font-size:15px;font-weight:600;color:var(--fg);cursor:pointer;text-align:left}.kp-name-btn[data-v-387c8ca3]:hover{color:var(--accent);text-decoration:underline}.kp-id[data-v-387c8ca3]{font-size:11px;color:var(--fg-muted);font-family:ui-monospace,monospace;opacity:.75}.kp-status[data-v-387c8ca3]{margin-left:auto;font-size:11px;padding:2px 9px;border-radius:999px;font-weight:500;flex-shrink:0}.status-not_started[data-v-387c8ca3]{background:var(--bg-soft);color:var(--fg-muted)}.status-in_progress[data-v-387c8ca3]{background:var(--warn-soft);color:var(--warn)}.status-completed[data-v-387c8ca3]{background:var(--success-soft);color:var(--success)}.status-saturated[data-v-387c8ca3]{background:var(--purple-soft);color:var(--purple)}.kp-data[data-v-387c8ca3]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 0 8px}.kp-cell[data-v-387c8ca3]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.cell-num[data-v-387c8ca3]{font-size:18px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.2}.cell-target[data-v-387c8ca3]{font-size:12px;color:var(--fg-muted);font-weight:500}.cell-lbl[data-v-387c8ca3]{font-size:11px;color:var(--fg-muted)}.cell-hard .cell-num[data-v-387c8ca3]{color:var(--warn)}.stars[data-v-387c8ca3]{display:flex;gap:1px;line-height:1}.star[data-v-387c8ca3]{font-size:13px;color:var(--border)}.star.on[data-v-387c8ca3]{color:var(--warn)}.kp-bar[data-v-387c8ca3]{height:4px;background:var(--bg-soft);border-radius:2px;overflow:hidden;margin:6px 0 10px}.kp-bar-fill[data-v-387c8ca3]{height:100%;border-radius:2px;transition:width .4s ease}.bar-tier-core[data-v-387c8ca3]{background:linear-gradient(90deg,#dc2626,#ef4444)}.bar-tier-important[data-v-387c8ca3]{background:linear-gradient(90deg,#d97706,#f59e0b)}.bar-tier-basic[data-v-387c8ca3]{background:linear-gradient(90deg,#16a34a,#4ade80)}.bar-tier-cold[data-v-387c8ca3]{background:linear-gradient(90deg,#6b7280,#9ca3af)}.kp-foot[data-v-387c8ca3]{display:flex;align-items:center;gap:12px}.kp-note[data-v-387c8ca3]{font-size:12.5px;color:var(--fg-muted);line-height:1.4;flex:1}.kp-note.empty[data-v-387c8ca3]{opacity:.4}.drill-btn[data-v-387c8ca3]{flex-shrink:0;font-size:12px;padding:5px 12px;border:1px solid #bbf7d0;border-radius:999px;background:var(--success-soft);color:var(--success);cursor:pointer;font-weight:500;transition:all .15s}.drill-btn[data-v-387c8ca3]:hover{background:#166534;color:#fff;border-color:#166534}.not-started[data-v-387c8ca3]{text-align:center;padding:60px 16px;color:var(--fg-muted)}.not-started .lede[data-v-387c8ca3]{font-size:13px;margin-top:8px}@media (max-width: 720px){.hero h1[data-v-387c8ca3]{font-size:22px}.stat-grid[data-v-387c8ca3],.kp-data[data-v-387c8ca3]{grid-template-columns:repeat(2,1fr)}.ch-count[data-v-387c8ca3]{display:none}.kp-foot[data-v-387c8ca3]{flex-direction:column;align-items:stretch;gap:8px}.drill-btn[data-v-387c8ca3]{align-self:flex-start}}.drill-view[data-v-618d8cbb]{max-width:960px;margin:0 auto;padding:16px 20px 48px}.crumb[data-v-618d8cbb]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-muted);margin-bottom:14px}.crumb-link[data-v-618d8cbb]{color:var(--fg-muted);cursor:pointer;text-decoration:none}.crumb-link[data-v-618d8cbb]:hover{color:var(--accent)}.crumb-sep[data-v-618d8cbb]{opacity:.5}.crumb-current[data-v-618d8cbb]{color:var(--fg);font-weight:500}.hero[data-v-618d8cbb]{background:linear-gradient(135deg,#f0f9ff,#fef3f2);border:1px solid rgba(44,108,255,.12);border-radius:12px;padding:20px 22px;margin-bottom:24px}.title[data-v-618d8cbb]{font-size:24px;font-weight:700;margin:0 0 10px;color:var(--fg);letter-spacing:-.01em}.hero-meta[data-v-618d8cbb]{display:flex;align-items:baseline;gap:8px;font-size:13.5px;color:var(--fg-muted);margin-bottom:10px}.meta-item b[data-v-618d8cbb]{color:var(--fg);font-weight:700;font-variant-numeric:tabular-nums}.meta-wrong b[data-v-618d8cbb]{color:var(--danger)}.meta-sep[data-v-618d8cbb]{opacity:.4}.progress-bar[data-v-618d8cbb]{height:6px;background:#0000000f;border-radius:3px;overflow:hidden;margin-bottom:14px}.progress-fill[data-v-618d8cbb]{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);transition:width .4s ease}.diff-dist[data-v-618d8cbb]{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.diff-row[data-v-618d8cbb]{display:grid;grid-template-columns:36px 1fr 28px;gap:8px;align-items:center;font-size:11.5px;font-family:ui-monospace,monospace}.diff-row.diff-empty[data-v-618d8cbb]{opacity:.35}.diff-label[data-v-618d8cbb]{color:var(--fg-muted)}.diff-bar[data-v-618d8cbb]{height:8px;background:#0000000d;border-radius:2px;overflow:hidden}.diff-fill[data-v-618d8cbb]{display:block;height:100%;border-radius:2px;transition:width .4s ease}.diff-count[data-v-618d8cbb]{color:var(--fg);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.cta-row[data-v-618d8cbb]{display:flex;gap:8px;flex-wrap:wrap}.cta[data-v-618d8cbb]{padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;transition:all .15s}.cta[data-v-618d8cbb]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cta[data-v-618d8cbb]:disabled{opacity:.5;cursor:not-allowed}.cta-primary[data-v-618d8cbb]{background:var(--accent);color:#fff;border-color:var(--accent)}.cta-primary[data-v-618d8cbb]:hover:not(:disabled){filter:brightness(.93);color:#fff}.cta-toggle.active[data-v-618d8cbb]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.state[data-v-618d8cbb]{text-align:center;padding:60px 16px;color:var(--fg-muted)}.state.error[data-v-618d8cbb]{color:#c2410c}.state .hint[data-v-618d8cbb]{font-size:13px;margin-top:8px;color:var(--fg-muted)}.bucket[data-v-618d8cbb]{margin-bottom:28px}.bucket-head[data-v-618d8cbb]{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:600;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.bucket-emoji[data-v-618d8cbb]{font-size:16px}.bucket-label[data-v-618d8cbb]{color:var(--fg)}.bucket-diff[data-v-618d8cbb]{font-size:11.5px;color:var(--fg-muted);font-family:ui-monospace,monospace;font-weight:400}.bucket-count[data-v-618d8cbb]{margin-left:auto;font-size:12px;color:var(--fg-muted);font-weight:400}.card-grid[data-v-618d8cbb]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.qcard[data-v-618d8cbb]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .1s,box-shadow .15s,border-color .15s;box-shadow:0 1px 2px #00000008}.qcard[data-v-618d8cbb]:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 4px 12px #2c6cff1a}.qcard-correct[data-v-618d8cbb]{background:linear-gradient(to right,var(--success-soft),var(--bg));border-color:#bbf7d0}.qcard-wrong[data-v-618d8cbb]{background:linear-gradient(to right,var(--danger-soft),var(--bg));border-color:#fecaca}.qcard-head[data-v-618d8cbb]{display:flex;align-items:center;gap:8px}.diff-pill[data-v-618d8cbb]{color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;font-family:ui-monospace,monospace;line-height:1.3;flex-shrink:0}.q-idx[data-v-618d8cbb]{font-family:ui-monospace,monospace;font-size:12px;color:var(--fg-muted)}.status-badge[data-v-618d8cbb]{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:999px;font-weight:500}.badge-correct[data-v-618d8cbb]{background:var(--success-soft);color:var(--success)}.badge-wrong[data-v-618d8cbb]{background:var(--danger-soft);color:var(--danger)}.badge-feedback[data-v-618d8cbb]{background:var(--warn-soft);color:var(--warn);margin-left:4px}.qcard-stem[data-v-618d8cbb]{margin:0;font-size:13.5px;color:var(--fg);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}@media (max-width: 768px){.drill-view[data-v-618d8cbb]{padding:12px 14px 40px}.hero[data-v-618d8cbb]{padding:16px}.title[data-v-618d8cbb]{font-size:20px}.card-grid[data-v-618d8cbb]{grid-template-columns:1fr}.bucket-head[data-v-618d8cbb]{font-size:14px}.cta-row[data-v-618d8cbb]{gap:6px}.cta[data-v-618d8cbb]{padding:7px 12px;font-size:12.5px}}.drill-page[data-v-8e0f2eb6]{max-width:1200px;margin:0 auto;padding:16px 20px 48px}.state[data-v-8e0f2eb6]{text-align:center;padding:80px 16px;color:var(--fg-muted)}.state.err[data-v-8e0f2eb6]{color:#c2410c}.hero[data-v-8e0f2eb6]{background:linear-gradient(135deg,#f0f9ff,#fef3f2);border:1px solid rgba(44,108,255,.12);border-radius:12px;padding:24px 24px 20px;margin-bottom:20px}.hero-inner[data-v-8e0f2eb6]{max-width:100%}.title[data-v-8e0f2eb6]{font-size:22px;font-weight:700;margin:0 0 6px;color:var(--fg);letter-spacing:-.01em}.lede[data-v-8e0f2eb6]{color:var(--fg-muted);font-size:13.5px;line-height:1.6;margin:0 0 16px}.stat-grid[data-v-8e0f2eb6]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card[data-v-8e0f2eb6]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;text-align:center;transition:transform .1s,box-shadow .15s}.stat-card.stat-cta[data-v-8e0f2eb6]{cursor:pointer;border-color:var(--accent);background:var(--accent-soft)}.stat-card.stat-cta[data-v-8e0f2eb6]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2c6cff1f}.stat-num[data-v-8e0f2eb6]{font-size:26px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.15}.stat-num-small[data-v-8e0f2eb6]{font-size:15px;color:var(--accent);font-weight:600}.stat-num-cta[data-v-8e0f2eb6]{font-size:15px;color:var(--accent)}.stat-lbl[data-v-8e0f2eb6]{font-size:12px;color:var(--fg-muted);margin-top:4px}.control-bar[data-v-8e0f2eb6]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.subject-tabs[data-v-8e0f2eb6]{display:flex;gap:8px;flex-wrap:wrap}.tab[data-v-8e0f2eb6]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:13px;transition:all .15s;min-width:100px}.tab-label[data-v-8e0f2eb6]{font-weight:600;font-size:14px}.tab-meta[data-v-8e0f2eb6]{font-size:11px;color:var(--fg-muted);font-family:ui-monospace,monospace}.tab-pending[data-v-8e0f2eb6]{font-size:11px;color:var(--fg-muted);font-style:italic}.tab[data-v-8e0f2eb6]:hover{border-color:var(--accent)}.tab.active[data-v-8e0f2eb6]{background:var(--accent);border-color:var(--accent);color:#fff}.tab.active .tab-meta[data-v-8e0f2eb6],.tab.active .tab-pending[data-v-8e0f2eb6]{color:#ffffffd9}.sort-bar[data-v-8e0f2eb6]{display:flex;align-items:center;gap:6px}.sort-lbl[data-v-8e0f2eb6]{font-size:12px;color:var(--fg-muted)}.sort-select[data-v-8e0f2eb6]{font-size:13px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.coming-soon[data-v-8e0f2eb6]{display:flex;justify-content:center;padding:40px 0}.coming-card[data-v-8e0f2eb6]{background:var(--bg);border:1px dashed var(--border);border-radius:12px;padding:40px 32px;text-align:center;max-width:480px}.coming-icon[data-v-8e0f2eb6]{font-size:40px;margin-bottom:10px}.coming-title[data-v-8e0f2eb6]{font-size:18px;margin:0 0 12px;color:var(--fg)}.coming-text[data-v-8e0f2eb6]{color:var(--fg-muted);font-size:13.5px;line-height:1.65;margin:0 0 18px}.coming-cta[data-v-8e0f2eb6]{padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:13.5px;cursor:pointer;font-weight:500}.coming-cta[data-v-8e0f2eb6]:hover{filter:brightness(.95)}.kp-grid[data-v-8e0f2eb6]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;animation:fadeIn-8e0f2eb6 .2s ease}@keyframes fadeIn-8e0f2eb6{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kp-card[data-v-8e0f2eb6]{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000a;transition:transform .1s,box-shadow .15s,border-color .15s}.kp-card[data-v-8e0f2eb6]:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 4px 12px #2c6cff1a}.kp-card.kp-empty[data-v-8e0f2eb6]{opacity:.55;background:var(--bg-soft)}.kp-card.kp-empty[data-v-8e0f2eb6]:hover{transform:none;border-color:var(--border);box-shadow:0 1px 3px #0000000a}.kp-card.tier-core[data-v-8e0f2eb6]{border-left:3px solid var(--danger)}.kp-card.tier-important[data-v-8e0f2eb6]{border-left:3px solid var(--warn)}.kp-card.tier-basic[data-v-8e0f2eb6]{border-left:3px solid var(--success)}.kp-card.tier-cold[data-v-8e0f2eb6],.kp-card.tier-unknown[data-v-8e0f2eb6]{border-left:3px solid var(--fg-muted)}.card-head[data-v-8e0f2eb6]{display:flex;align-items:center;gap:8px}.tier-badge[data-v-8e0f2eb6]{font-size:14px;line-height:1;flex-shrink:0}.kp-name[data-v-8e0f2eb6]{background:none;border:none;padding:0;font:inherit;font-size:15px;font-weight:600;color:var(--fg);cursor:pointer;text-align:left;flex:1;line-height:1.3;word-break:break-word}.kp-name[data-v-8e0f2eb6]:hover{color:var(--accent);text-decoration:underline}.empty-badge[data-v-8e0f2eb6]{font-size:11px;background:var(--bg-soft);color:var(--fg-muted);padding:2px 8px;border-radius:999px;flex-shrink:0}.user-progress[data-v-8e0f2eb6]{font-size:11.5px;color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-shrink:0;line-height:1.4}.user-progress-done[data-v-8e0f2eb6]{color:var(--success);font-weight:600}.card-body[data-v-8e0f2eb6]{flex:1;display:flex;flex-direction:column;gap:8px}.metric-row[data-v-8e0f2eb6]{display:flex;gap:16px;align-items:baseline}.metric[data-v-8e0f2eb6]{display:flex;align-items:baseline;gap:4px}.metric-num[data-v-8e0f2eb6]{font-size:18px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.metric-num.metric-hard[data-v-8e0f2eb6]{color:#c2410c}.metric-lbl[data-v-8e0f2eb6]{font-size:11.5px;color:var(--fg-muted)}.kp-note[data-v-8e0f2eb6]{font-size:12px;color:var(--fg-muted);margin:0;line-height:1.45}.card-foot[data-v-8e0f2eb6]{margin-top:auto;padding-top:4px}.drill-cta[data-v-8e0f2eb6]{width:100%;padding:7px 12px;font-size:13px;font-weight:500;border:1px solid #bbf7d0;border-radius:6px;background:var(--success-soft);color:var(--success);cursor:pointer;transition:all .15s}.drill-cta[data-v-8e0f2eb6]:hover{background:#166534;color:#fff;border-color:#166534}.drill-cta.drill-cta-disabled[data-v-8e0f2eb6]{border-color:var(--border);background:var(--bg);color:var(--fg-muted)}.drill-cta.drill-cta-disabled[data-v-8e0f2eb6]:hover{background:var(--bg-soft);color:var(--fg);border-color:var(--border)}@media (max-width: 1024px){.kp-grid[data-v-8e0f2eb6]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.drill-page[data-v-8e0f2eb6]{padding:12px 14px 40px}.hero[data-v-8e0f2eb6]{padding:18px 16px 14px}.title[data-v-8e0f2eb6]{font-size:18px}.stat-grid[data-v-8e0f2eb6]{grid-template-columns:repeat(2,1fr);gap:8px}.stat-num[data-v-8e0f2eb6]{font-size:22px}.kp-grid[data-v-8e0f2eb6]{grid-template-columns:1fr}.control-bar[data-v-8e0f2eb6]{gap:8px}.tab[data-v-8e0f2eb6]{min-width:80px;padding:6px 12px}}.mc-wrap[data-v-1d13b713]{max-width:860px;margin:0 auto;padding:20px 16px 60px}.mc-head h1[data-v-1d13b713]{font-size:24px;font-weight:800;margin:0 0 6px;color:var(--fg)}.mc-sub[data-v-1d13b713]{color:var(--fg-muted);font-size:13px;line-height:1.6;margin:0 0 14px}.mc-tabs[data-v-1d13b713]{display:flex;gap:8px;flex-wrap:wrap}.mc-tab[data-v-1d13b713]{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);padding:6px 14px;border-radius:999px;cursor:pointer;font-size:13px}.mc-tab.active[data-v-1d13b713]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.mc-state[data-v-1d13b713]{color:var(--fg-muted);font-size:14px;padding:30px 0;text-align:center}.mc-err[data-v-1d13b713]{color:var(--danger)}.mc-count[data-v-1d13b713]{color:var(--fg-muted);font-size:12px;margin:10px 0 8px}.mc-count-sub[data-v-1d13b713]{color:var(--fg-muted)}.mc-filter[data-v-1d13b713]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 0}.mc-filter-label[data-v-1d13b713]{font-size:12px;color:var(--fg-muted)}.mc-filter-chip[data-v-1d13b713]{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);padding:4px 12px;border-radius:999px;cursor:pointer;font-size:12px}.mc-filter-chip[data-v-1d13b713]:hover{border-color:var(--fg-muted)}.mc-filter-chip.active[data-v-1d13b713]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.mc-chapter[data-v-1d13b713]{margin:22px 0 0;scroll-margin-top:70px}.mc-chapter-head[data-v-1d13b713]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.mc-chapter-title[data-v-1d13b713]{font-size:15px;font-weight:700;color:var(--fg);margin:0;padding-left:9px;border-left:3px solid var(--fg)}.mc-study-btn[data-v-1d13b713]{flex-shrink:0;font-size:12px;font-weight:600;color:var(--fg);text-decoration:none;padding:5px 12px;border:1px solid var(--fg);border-radius:999px}.mc-study-btn[data-v-1d13b713]:hover{background:var(--fg);color:var(--bg)}.mc-due[data-v-1d13b713]{display:inline-block;margin:4px 0 12px;padding:8px 16px;background:var(--fg);color:var(--bg);border-radius:999px;font-size:13px;font-weight:600;text-decoration:none}.mc-due b[data-v-1d13b713]{font-size:15px}.mc-due[data-v-1d13b713]:hover{background:var(--fg)}.mc-warn[data-v-1d13b713]{display:inline-block;margin:4px 0 12px 8px;padding:8px 16px;background:var(--bg-soft);color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:600;text-decoration:none}.mc-warn b[data-v-1d13b713]{font-size:15px;color:var(--fg)}.mc-warn[data-v-1d13b713]:hover{background:var(--bg-soft)}.mc-card[data-v-1d13b713]{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin:0 0 12px;background:var(--bg);scroll-margin-top:70px;transition:box-shadow .3s,border-color .3s}.mc-card-hl[data-v-1d13b713]{border-color:var(--fg);box-shadow:0 0 0 3px #1a1a1a1f}.mc-card-head[data-v-1d13b713]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.mc-name[data-v-1d13b713]{font-size:15px;font-weight:700;color:var(--fg)}.mc-tag[data-v-1d13b713]{font-size:11px;padding:1px 7px;border-radius:4px;background:var(--bg-soft);color:var(--fg-muted);font-weight:600}.mc-type[data-v-1d13b713]{background:var(--purple-soft);color:var(--purple)}.tier-high[data-v-1d13b713]{background:var(--danger-soft);color:var(--danger)}.tier-mid[data-v-1d13b713]{background:var(--warn-soft);color:var(--warn)}.tier-low[data-v-1d13b713]{background:#e0f2fe;color:#0369a1}.tier-rare[data-v-1d13b713]{background:var(--bg-soft);color:var(--fg-muted)}.mc-core[data-v-1d13b713]{background:var(--bg-soft);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.7;color:var(--fg)}.mc-core[data-v-1d13b713] p{margin:0 0 6px}.mc-core[data-v-1d13b713] p:last-child{margin-bottom:0}.mc-core[data-v-1d13b713] ul{margin:4px 0;padding-left:20px}.mc-core[data-v-1d13b713] li{margin:3px 0}.mc-core[data-v-1d13b713] strong{color:var(--danger);font-weight:700}.mc-core[data-v-1d13b713] table{border-collapse:collapse;margin:8px 0;font-size:13px;width:100%}.mc-core[data-v-1d13b713] th,.mc-core[data-v-1d13b713] td{border:1px solid var(--border);padding:4px 8px;text-align:left}.mc-core[data-v-1d13b713] th{background:var(--bg-soft)}.mc-core[data-v-1d13b713] code{background:var(--bg-soft);padding:1px 4px;border-radius:3px;font-size:12px}.mc-toggle[data-v-1d13b713]{margin-top:10px;border:none;background:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0}.mc-body[data-v-1d13b713]{margin-top:8px;font-size:13px;line-height:1.75;color:var(--fg-muted);border-top:1px dashed var(--border);padding-top:10px}.mc-body[data-v-1d13b713] p{margin:0 0 8px}.mc-body[data-v-1d13b713] strong{color:var(--fg)}.mc-body[data-v-1d13b713] ul{padding-left:20px}.mc-body[data-v-1d13b713] blockquote{margin:8px 0;padding:6px 12px;background:var(--warn-soft);border-left:3px solid var(--warn);color:var(--warn);border-radius:0 6px 6px 0}.mc-body[data-v-1d13b713] blockquote p{margin:0}.mc-body[data-v-1d13b713] code{background:var(--bg-soft);padding:1px 4px;border-radius:3px}.mc-links[data-v-1d13b713]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.mc-links-label[data-v-1d13b713]{font-size:12px;color:var(--fg-muted)}.mc-chip[data-v-1d13b713]{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--bg-soft);color:var(--fg-muted);text-decoration:none;border:1px solid var(--border)}.mc-chip[data-v-1d13b713]:hover{background:var(--bg-soft)}.mc-chip-viz[data-v-1d13b713]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}.mc-chip-blog[data-v-1d13b713]{background:var(--success-soft);color:var(--success);border-color:var(--success-soft)}.notes-page[data-v-d5b82162]{max-width:880px;margin:0 auto}.header-row[data-v-d5b82162]{margin-bottom:16px}.title[data-v-d5b82162]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-d5b82162]{font-size:13px;color:var(--fg-muted);margin:0}.tab-row[data-v-d5b82162]{display:flex;gap:8px;margin-bottom:14px}.tab-btn[data-v-d5b82162]{padding:6px 16px;border-radius:999px;font-size:13px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted)}.tab-btn.on[data-v-d5b82162]{border-color:var(--accent);color:var(--accent);font-weight:600;background:#38bdf80f}.g-pub[data-v-d5b82162]{padding:1px 7px;border-radius:999px;font-size:11px;background:var(--warn-soft);color:var(--warn)}.loading[data-v-d5b82162],.err[data-v-d5b82162]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-d5b82162]{color:var(--danger)}.empty-card[data-v-d5b82162]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-d5b82162]{font-size:40px;margin-bottom:12px}.empty-title[data-v-d5b82162]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-d5b82162]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-d5b82162]{margin-top:16px}.list[data-v-d5b82162]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.tb-groups[data-v-d5b82162]{display:flex;flex-direction:column;gap:20px}.tb-group-head[data-v-d5b82162]{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.tb-book-title[data-v-d5b82162]{font-size:15px;font-weight:700;color:var(--fg)}.tb-book-count[data-v-d5b82162]{font-size:12px;color:var(--fg-muted);margin-left:auto}.row[data-v-d5b82162]{padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s}.row[data-v-d5b82162]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0d}.row-main[data-v-d5b82162]{width:100%;text-align:left;cursor:pointer;background:none;border:none;padding:0;color:var(--fg);font:inherit;display:flex;flex-direction:column;gap:6px}.row-main:hover .row-stem[data-v-d5b82162]{color:var(--accent)}.row-meta[data-v-d5b82162]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-muted);flex-wrap:wrap}.g-subject[data-v-d5b82162]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bg-soft);color:var(--fg)}.tone-ds[data-v-d5b82162]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-d5b82162]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-d5b82162]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-d5b82162]{background:var(--success-soft);color:var(--success)}.g-chapter[data-v-d5b82162],.g-source[data-v-d5b82162]{color:var(--fg-muted)}.g-time[data-v-d5b82162]{margin-left:auto}.row-stem[data-v-d5b82162]{font-size:13px;color:var(--fg-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.row-note[data-v-d5b82162]{padding:8px 10px;background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:0 6px 6px 0;font-size:14px;line-height:1.6;color:var(--fg);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.favs-page[data-v-d8192fc6]{max-width:880px;margin:0 auto}.header-row[data-v-d8192fc6]{margin-bottom:16px}.title[data-v-d8192fc6]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-d8192fc6]{font-size:13px;color:var(--fg-muted);margin:0}.loading[data-v-d8192fc6],.err[data-v-d8192fc6]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-d8192fc6]{color:var(--danger)}.empty-card[data-v-d8192fc6]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-d8192fc6]{font-size:40px;margin-bottom:12px}.empty-title[data-v-d8192fc6]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-d8192fc6]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-d8192fc6]{margin-top:16px}.sub-empty[data-v-d8192fc6]{padding:32px 20px}.group-bar[data-v-d8192fc6]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.group-chip[data-v-d8192fc6]{padding:5px 12px;border-radius:999px;cursor:pointer;background:var(--bg);border:1px solid var(--border);color:var(--fg-muted);font-size:13px;line-height:1;transition:all .15s}.group-chip[data-v-d8192fc6]:hover{border-color:var(--accent);color:var(--accent)}.group-chip.on[data-v-d8192fc6]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn);font-weight:600}.group-chip.none[data-v-d8192fc6]{font-style:italic}.chip-count[data-v-d8192fc6]{opacity:.6;font-size:11px;margin-left:2px}.group-rename[data-v-d8192fc6]{padding:5px 10px;border-radius:999px;cursor:pointer;background:transparent;border:1px dashed var(--border);color:var(--fg-muted);font-size:12px;line-height:1;transition:all .15s;margin-left:4px}.group-rename[data-v-d8192fc6]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.group-rename[data-v-d8192fc6]:disabled{opacity:.5;cursor:default}.list[data-v-d8192fc6]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.row[data-v-d8192fc6]{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s}.row[data-v-d8192fc6]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0d}.row-main[data-v-d8192fc6]{flex:1;min-width:0;text-align:left;cursor:pointer;background:none;border:none;padding:0;color:var(--fg);font:inherit;display:flex;flex-direction:column;gap:4px}.row-main:hover .row-stem[data-v-d8192fc6]{color:var(--accent)}.row-meta[data-v-d8192fc6]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-muted);flex-wrap:wrap}.g-subject[data-v-d8192fc6]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bg-soft);color:var(--fg)}.g-tag[data-v-d8192fc6]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--warn-soft);color:var(--warn)}.tone-ds[data-v-d8192fc6]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-d8192fc6]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-d8192fc6]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-d8192fc6]{background:var(--success-soft);color:var(--success)}.g-chapter[data-v-d8192fc6],.g-source[data-v-d8192fc6]{color:var(--fg-muted)}.g-time[data-v-d8192fc6]{margin-left:auto}.row-stem[data-v-d8192fc6]{font-size:14px;line-height:1.5;color:var(--fg);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.btn-small[data-v-d8192fc6]{padding:6px 12px;min-height:32px;font-size:13px;border-radius:6px}.row-action[data-v-d8192fc6]{flex-shrink:0;background:var(--warn-soft);border:1px solid var(--warn);color:var(--warn)}.row-action[data-v-d8192fc6]:hover:not(:disabled){background:var(--warn-soft);border-color:var(--warn)}.row-action[data-v-d8192fc6]:disabled{opacity:.5;cursor:default}.load-more-row[data-v-d8192fc6]{display:flex;justify-content:center;margin-top:14px}.load-more-btn[data-v-d8192fc6]{background:var(--bg);border:1px solid var(--border);color:var(--fg)}.load-more-btn[data-v-d8192fc6]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.load-more-btn[data-v-d8192fc6]:disabled{opacity:.6;cursor:default}@media (max-width: 600px){.row[data-v-d8192fc6]{flex-wrap:wrap}.row-action[data-v-d8192fc6]{width:100%}}.mastered-page[data-v-f0ad9dc9]{max-width:880px;margin:0 auto}.header-row[data-v-f0ad9dc9]{margin-bottom:16px}.title[data-v-f0ad9dc9]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-f0ad9dc9]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.6}.tabs[data-v-f0ad9dc9]{display:flex;gap:8px;margin-top:12px}.tab[data-v-f0ad9dc9]{padding:6px 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:13px}.tab[data-v-f0ad9dc9]:hover{border-color:var(--accent);color:var(--accent)}.tab.active[data-v-f0ad9dc9]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.loading[data-v-f0ad9dc9],.err[data-v-f0ad9dc9]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-f0ad9dc9]{color:var(--danger)}.empty-card[data-v-f0ad9dc9]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-f0ad9dc9]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-f0ad9dc9]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-f0ad9dc9]{margin-top:16px}.list[data-v-f0ad9dc9]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.row[data-v-f0ad9dc9]{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s}.row[data-v-f0ad9dc9]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0d}.row-main[data-v-f0ad9dc9]{flex:1;min-width:0;text-align:left;cursor:pointer;background:none;border:none;padding:0;color:var(--fg);font:inherit;display:flex;flex-direction:column;gap:4px}.row-main:hover .row-stem[data-v-f0ad9dc9]{color:var(--accent)}.row-meta[data-v-f0ad9dc9]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-muted);flex-wrap:wrap}.g-subject[data-v-f0ad9dc9]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bg-soft);color:var(--fg)}.tone-ds[data-v-f0ad9dc9]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-f0ad9dc9]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-f0ad9dc9]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-f0ad9dc9]{background:var(--success-soft);color:var(--success)}.g-chapter[data-v-f0ad9dc9],.g-source[data-v-f0ad9dc9]{color:var(--fg-muted)}.g-time[data-v-f0ad9dc9]{margin-left:auto}.row-stem[data-v-f0ad9dc9]{font-size:14px;line-height:1.5;color:var(--fg);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.btn-small[data-v-f0ad9dc9]{padding:6px 12px;min-height:32px;font-size:13px;border-radius:6px}.row-action[data-v-f0ad9dc9]{flex-shrink:0;background:var(--success-soft);border:1px solid var(--success);color:var(--success)}.row-action[data-v-f0ad9dc9]:hover:not(:disabled){background:var(--success-soft);border-color:var(--success)}.row-action[data-v-f0ad9dc9]:disabled{opacity:.5;cursor:default}.load-more-row[data-v-f0ad9dc9]{display:flex;justify-content:center;margin-top:14px}.load-more-btn[data-v-f0ad9dc9]{background:var(--bg);border:1px solid var(--border);color:var(--fg)}.load-more-btn[data-v-f0ad9dc9]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}@media (max-width: 600px){.row[data-v-f0ad9dc9]{flex-wrap:wrap}.row-action[data-v-f0ad9dc9]{width:100%}}.my-feedback[data-v-adb99ea3]{max-width:680px;margin:0 auto}.fb-header[data-v-adb99ea3]{display:flex;justify-content:space-between;align-items:center;gap:12px}.title[data-v-adb99ea3]{font-size:20px;font-weight:600;margin:0 0 4px;color:var(--fg)}.fb-header-btns[data-v-adb99ea3]{display:flex;gap:8px;align-items:center;flex-shrink:0}.board-link[data-v-adb99ea3]{font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap;padding:6px 4px}.board-link[data-v-adb99ea3]:hover{text-decoration:underline}.inline-link[data-v-adb99ea3]{color:var(--accent)}.new-fb-btn[data-v-adb99ea3]{flex-shrink:0;border:1px solid var(--accent);color:var(--accent);background:var(--bg);border-radius:8px;padding:6px 14px;font-size:13px;text-decoration:none;white-space:nowrap}.new-fb-btn[data-v-adb99ea3]:hover{background:var(--accent);color:#fff}.sub[data-v-adb99ea3]{color:var(--fg-muted);font-size:13px;margin:0 0 20px}.msg[data-v-adb99ea3]{font-size:14px;color:var(--fg-muted);text-align:center;padding:32px 0}.msg.err[data-v-adb99ea3]{color:var(--danger)}.fb-list[data-v-adb99ea3]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.fb-card[data-v-adb99ea3]{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.fb-card.handled[data-v-adb99ea3]{border-color:var(--success-soft);background:var(--success-soft)}.fb-head[data-v-adb99ea3]{display:flex;justify-content:space-between;align-items:center}.fb-type[data-v-adb99ea3]{font-size:13px;font-weight:600;color:var(--fg)}.fb-status[data-v-adb99ea3]{font-size:12px;padding:2px 8px;border-radius:10px}.fb-status.pending[data-v-adb99ea3]{color:var(--warn);background:var(--warn-soft)}.fb-status.handled[data-v-adb99ea3]{color:var(--success);background:var(--success-soft)}.fb-q[data-v-adb99ea3]{font-size:12px;color:var(--accent);text-decoration:none}.fb-q[data-v-adb99ea3]:hover{text-decoration:underline}.fb-general[data-v-adb99ea3]{color:var(--fg-muted)}.fb-content[data-v-adb99ea3]{margin:0;font-size:14px;color:var(--fg);line-height:1.5;white-space:pre-wrap}.fb-atts[data-v-adb99ea3]{display:flex;flex-wrap:wrap;gap:8px}.fb-att-item[data-v-adb99ea3]{width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-soft);display:block}.fb-att-item img[data-v-adb99ea3],.fb-att-item video[data-v-adb99ea3]{width:100%;height:100%;object-fit:cover;display:block}.fb-att-loading[data-v-adb99ea3]{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--fg-muted)}.fb-att-video[data-v-adb99ea3]{width:128px;height:72px;object-fit:contain;background:#000}.fb-att-play[data-v-adb99ea3]{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--accent);cursor:pointer}.fb-att-play[data-v-adb99ea3]:disabled{color:var(--fg-muted);cursor:default}.fb-reply[data-v-adb99ea3]{display:flex;gap:6px;align-items:flex-start;background:var(--success-soft);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--success);line-height:1.5}.reply-ic[data-v-adb99ea3]{opacity:.7}.reply-text[data-v-adb99ea3]{flex:1;white-space:pre-wrap}.fb-followup[data-v-adb99ea3]{display:flex;gap:8px;align-items:flex-start;background:var(--bg-soft);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--fg);line-height:1.5}.follow-ic[data-v-adb99ea3]{flex-shrink:0;font-size:11px;font-weight:600;color:var(--accent);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.follow-text[data-v-adb99ea3]{flex:1;white-space:pre-wrap}.fb-follow-action[data-v-adb99ea3]{display:flex;flex-direction:column;gap:8px}.follow-toggle[data-v-adb99ea3]{align-self:flex-start;background:none;border:none;cursor:pointer;color:var(--fg-muted);font-size:12px;padding:0}.follow-toggle[data-v-adb99ea3]:hover{color:var(--accent)}.follow-input[data-v-adb99ea3]{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.5}.follow-input[data-v-adb99ea3]:focus{outline:none;border-color:var(--accent)}.follow-btns[data-v-adb99ea3]{display:flex;gap:8px;justify-content:flex-end}.follow-btn[data-v-adb99ea3]{border-radius:6px;padding:5px 14px;font-size:13px;cursor:pointer;border:1px solid var(--border)}.follow-btn.ghost[data-v-adb99ea3]{background:var(--bg);color:var(--fg-muted)}.follow-btn.primary[data-v-adb99ea3]{background:var(--accent);border-color:var(--accent);color:#fff}.follow-btn.primary[data-v-adb99ea3]:disabled{opacity:.5;cursor:default}.fb-foot[data-v-adb99ea3]{display:flex;gap:6px;font-size:11px;color:var(--fg-muted)}.review[data-v-6022ada5]{max-width:880px;margin:0 auto}.header-row[data-v-6022ada5]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px;flex-wrap:wrap}.title[data-v-6022ada5]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-6022ada5]{font-size:13px;color:var(--fg-muted);margin:0;max-width:640px;line-height:1.6}.review-all-btn[data-v-6022ada5]{white-space:nowrap}.loading[data-v-6022ada5],.err[data-v-6022ada5]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-6022ada5]{color:var(--danger)}.filter-bar[data-v-6022ada5]{margin-bottom:18px}.tabs[data-v-6022ada5]{display:inline-flex;gap:6px;flex-wrap:wrap;background:var(--bg-soft);padding:4px;border-radius:10px}.tab[data-v-6022ada5]{border:none;background:transparent;cursor:pointer;padding:6px 14px;border-radius:7px;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg-muted);display:inline-flex;align-items:center;gap:6px}.tab[data-v-6022ada5]:hover{color:var(--fg)}.tab.active[data-v-6022ada5]{background:var(--bg);color:var(--fg);box-shadow:0 1px 3px #0f172a14}.tab-n[data-v-6022ada5]{display:inline-block;min-width:18px;padding:0 5px;background:#0f172a14;border-radius:999px;font-size:11px;line-height:16px;text-align:center}.tab.active .tab-n[data-v-6022ada5]{background:var(--accent);color:#fff}.comp-hint[data-v-6022ada5]{font-size:12px;color:var(--fg-muted);margin:10px 2px 0;line-height:1.5}.filter-empty[data-v-6022ada5]{color:var(--fg-muted);text-align:center;padding:32px 0;font-size:14px}.type-tag[data-v-6022ada5]{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600}.type-tag.comprehensive[data-v-6022ada5]{background:var(--warn-soft);color:var(--warn)}.type-tag.choice[data-v-6022ada5]{background:var(--purple-soft);color:var(--purple)}.empty-card[data-v-6022ada5]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-6022ada5]{font-size:40px;margin-bottom:12px}.empty-title[data-v-6022ada5]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-6022ada5]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.6}.login-card .login-btn[data-v-6022ada5]{margin-top:16px}.empty-link[data-v-6022ada5]{color:var(--accent);text-decoration:none}.empty-link[data-v-6022ada5]:hover{text-decoration:underline}.groups[data-v-6022ada5]{display:flex;flex-direction:column;gap:24px}.group-head[data-v-6022ada5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;flex-wrap:wrap}.group-title[data-v-6022ada5]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.group-actions[data-v-6022ada5]{display:inline-flex;align-items:center;gap:8px}.g-subject[data-v-6022ada5]{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-soft);color:var(--fg)}.tone-ds[data-v-6022ada5]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-6022ada5]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-6022ada5]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-6022ada5]{background:var(--success-soft);color:var(--success)}.g-chapter[data-v-6022ada5]{font-size:15px;font-weight:600;color:var(--fg)}.g-count[data-v-6022ada5]{color:var(--fg-muted);font-size:13px}.btn-small[data-v-6022ada5]{padding:6px 12px;min-height:32px;font-size:13px;border-radius:6px}.btn-ghost[data-v-6022ada5]{background:transparent;border:1px solid var(--border);color:var(--fg)}.btn-ghost[data-v-6022ada5]:hover{border-color:var(--accent);color:var(--accent)}.list[data-v-6022ada5]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.row[data-v-6022ada5]{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s}.row[data-v-6022ada5]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0d}.row-badge[data-v-6022ada5]{flex-shrink:0;width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:var(--warn)}.row-badge-dot[data-v-6022ada5]{font-size:14px;line-height:1}.row-main[data-v-6022ada5]{flex:1;min-width:0;text-align:left;cursor:pointer;background:none;border:none;padding:0;color:var(--fg);font:inherit}.row-main:hover .row-stem[data-v-6022ada5]{color:var(--accent)}.row-meta[data-v-6022ada5]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-muted);margin-bottom:4px;flex-wrap:wrap}.streak-hint[data-v-6022ada5]{display:inline-block;padding:1px 8px;background:var(--success-soft);color:var(--success);border-radius:999px;font-size:11px;font-weight:600}.row-stem[data-v-6022ada5]{font-size:14px;line-height:1.5;color:var(--fg);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 600px){.row[data-v-6022ada5]{flex-wrap:wrap}.header-row .review-all-btn[data-v-6022ada5]{width:100%}}.feed[data-v-2a17bf0c]{list-style:none;padding:0;margin:0}.feed-item[data-v-2a17bf0c]{padding:12px 0;border-bottom:1px solid var(--border)}.line[data-v-2a17bf0c]{display:flex;align-items:baseline;gap:8px}.text[data-v-2a17bf0c]{flex:1;color:var(--fg);font-size:14px}.time[data-v-2a17bf0c]{color:var(--fg-muted);font-size:12px}.actions[data-v-2a17bf0c]{display:flex;gap:8px;margin-top:6px}.like[data-v-2a17bf0c],.cmt[data-v-2a17bf0c]{background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px}.like[data-v-2a17bf0c]:hover,.cmt[data-v-2a17bf0c]:hover{background:var(--bg-soft)}.like.liked[data-v-2a17bf0c]{color:var(--accent);cursor:default}.like[data-v-2a17bf0c]:disabled{cursor:default}.cta[data-v-2a17bf0c]{background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:10px;font-size:12px;text-decoration:none;margin-left:auto}.cta[data-v-2a17bf0c]:hover{background:#d6e8fa}.comments[data-v-2a17bf0c]{list-style:none;padding:8px 0 0 12px;margin:8px 0 0;border-left:2px solid var(--border)}.comment[data-v-2a17bf0c]{font-size:13px;color:var(--fg-muted);padding:2px 0}.comment strong[data-v-2a17bf0c]{color:var(--fg);margin-right:6px;font-weight:500}.comment-form[data-v-2a17bf0c]{display:flex;gap:8px;margin-top:8px;align-items:center}.comment-form input[data-v-2a17bf0c]{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px}.btn[data-v-2a17bf0c]{padding:6px 12px;border:1px solid var(--border);background:var(--bg);border-radius:4px;font-size:13px;cursor:pointer}.btn[data-v-2a17bf0c]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-2a17bf0c]{background:var(--accent);color:#fff;border-color:var(--accent)}.empty[data-v-2a17bf0c]{color:var(--fg-muted);font-size:14px;padding:16px 0;text-align:center}.feed-item.is-digest[data-v-2a17bf0c]{background:linear-gradient(135deg,#f4f8fd,#fff);border:1px solid #d6e4f5;border-radius:10px;padding:14px 16px;margin:8px 0;border-bottom:1px solid #d6e4f5}.digest-head[data-v-2a17bf0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.digest-tag[data-v-2a17bf0c]{font-weight:600;color:var(--accent);font-size:14px}.digest-stats[data-v-2a17bf0c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.digest-cell[data-v-2a17bf0c]{text-align:center;padding:6px 4px}.digest-num[data-v-2a17bf0c]{font-size:22px;font-weight:600;color:#2b5d99}.digest-lbl[data-v-2a17bf0c]{font-size:12px;color:var(--fg-muted);margin-top:2px}.digest-foot[data-v-2a17bf0c]{margin-top:12px;color:var(--fg-muted);font-size:12px;font-style:italic;text-align:center;padding-top:8px;border-top:1px dashed #d6e4f5}.invite-block[data-v-462e38df]{padding:8px 0}.card-art[data-v-462e38df]{background:linear-gradient(135deg,#4a90e2,#5fa3ec);color:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 4px 16px #4a90e226}.card-art-title[data-v-462e38df]{font-size:20px;font-weight:600;margin-bottom:4px}.card-art-sub[data-v-462e38df]{font-size:13px;opacity:.85;margin-bottom:16px}.card-art-body p[data-v-462e38df]{margin:0 0 12px;font-size:15px}.card-art-body ul[data-v-462e38df]{list-style:none;padding:0;margin:0 0 16px;font-size:13px;opacity:.95}.card-art-body li[data-v-462e38df]{margin-bottom:4px}.card-art-footer[data-v-462e38df]{font-size:12px;opacity:.8;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.meta-row[data-v-462e38df]{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.expire[data-v-462e38df]{color:var(--fg-muted);font-size:12px}.link[data-v-462e38df]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.url-row[data-v-462e38df]{margin:8px 0}.url[data-v-462e38df]{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--fg-muted);background:var(--bg-soft)}.actions[data-v-462e38df]{display:flex;gap:8px}.btn[data-v-462e38df]{flex:1;padding:8px 16px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:14px;cursor:pointer}.btn.primary[data-v-462e38df]{background:var(--accent);color:#fff;border-color:var(--accent)}.tip[data-v-462e38df]{font-size:12px;color:var(--fg-muted);margin:8px 0 0}.landed[data-v-1eb4035a]{padding:16px 20px}.section-title[data-v-1eb4035a]{font-size:15px;font-weight:500;margin:0 0 12px;color:var(--fg)}.all-landed-card[data-v-1eb4035a]{background:linear-gradient(135deg,#f6c878,#f5a623);color:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 4px 16px #f5a6232e;margin-bottom:16px}.all-title[data-v-1eb4035a]{font-size:22px;font-weight:600;margin-bottom:12px}.all-names[data-v-1eb4035a]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.name-chip[data-v-1eb4035a]{background:#ffffff38;padding:4px 12px;border-radius:14px;font-size:13px}.name-chip small[data-v-1eb4035a]{opacity:.85;margin-left:4px}.all-foot[data-v-1eb4035a]{font-size:13px;opacity:.92;padding:8px 0 12px;border-top:1px solid rgba(255,255,255,.25);margin-top:4px}.all-landed-card .btn.primary[data-v-1eb4035a]{background:#fff;color:#d68538;border:none}.claim-row[data-v-1eb4035a]{padding:8px 0}.claim-form[data-v-1eb4035a]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.claim-form input[data-v-1eb4035a]{flex:1;min-width:200px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px}.my-landed[data-v-1eb4035a]{color:var(--fg-muted);font-size:14px;padding:8px 0}.my-landed .witnessed[data-v-1eb4035a]{color:#f5a623;font-weight:500}.btn-unclaim[data-v-1eb4035a]{margin-left:10px;padding:2px 10px;font-size:12px;color:var(--fg-muted);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.btn-unclaim[data-v-1eb4035a]:hover{color:var(--danger);border-color:var(--danger)}.btn-unclaim[data-v-1eb4035a]:disabled{opacity:.5;cursor:not-allowed}.landed-list[data-v-1eb4035a]{list-style:none;padding:0;margin:12px 0}.landed-item[data-v-1eb4035a]{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--border);font-size:14px;flex-wrap:wrap}.name[data-v-1eb4035a]{color:var(--fg);font-weight:500}.school[data-v-1eb4035a]{color:var(--fg-muted);font-size:13px}.witness-count[data-v-1eb4035a]{color:var(--fg-muted);font-size:12px;margin-left:auto}.witnessed-tag[data-v-1eb4035a]{background:#fff3da;color:#d68538;padding:1px 8px;border-radius:8px;font-size:11px}.my-witness[data-v-1eb4035a]{color:var(--accent);font-size:12px}.btn[data-v-1eb4035a]{padding:6px 14px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:13px;cursor:pointer}.btn.primary[data-v-1eb4035a]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.small[data-v-1eb4035a]{padding:3px 10px;font-size:12px}.btn[data-v-1eb4035a]:disabled{opacity:.5;cursor:not-allowed}.quote[data-v-1eb4035a]{color:#6d5b9a;font-size:12px;padding:10px 14px;background:var(--purple-soft);border-left:3px solid #b9a6e8;border-radius:4px;margin:12px 0 0;font-style:italic}.err[data-v-1eb4035a]{color:var(--danger);font-size:12px;margin:4px 0 0}.page[data-v-2b15d085]{max-width:720px;margin:0 auto;padding:16px}.hero[data-v-2b15d085]{padding:16px 0}.hero-row[data-v-2b15d085]{display:flex;align-items:center;gap:12px}.group-name[data-v-2b15d085]{font-size:22px;font-weight:600;margin:0;color:var(--fg)}.tone-tag[data-v-2b15d085]{display:inline-block;padding:2px 10px;background:var(--accent-soft);color:var(--accent);border-radius:12px;font-size:12px;font-weight:500}.goal[data-v-2b15d085]{color:var(--fg-muted);margin:8px 0 4px;font-size:14px}.tone-hint[data-v-2b15d085]{color:var(--fg-muted);font-size:12px;margin:0}.quote[data-v-2b15d085]{color:var(--fg-muted);font-style:italic;padding:12px 16px;background:var(--bg-soft);border-left:3px solid var(--accent);margin:8px 0 16px;font-size:14px}.card[data-v-2b15d085]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:12px}.aggregate[data-v-2b15d085]{text-align:center;padding:24px}.agg-num[data-v-2b15d085]{font-size:36px;font-weight:600;color:var(--accent)}.agg-lbl[data-v-2b15d085]{color:var(--fg-muted);font-size:14px;margin-top:4px}.agg-sub[data-v-2b15d085]{color:var(--fg-muted);font-size:12px;margin-top:4px}.goal-progress[data-v-2b15d085]{padding:16px 20px}.goal-head[data-v-2b15d085]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.goal-title[data-v-2b15d085]{font-weight:500;color:var(--fg);font-size:14px}.goal-percent[data-v-2b15d085]{font-size:18px;font-weight:600;color:var(--accent)}.goal-bar[data-v-2b15d085]{height:8px;background:var(--bg-soft);border-radius:4px;overflow:hidden}.goal-bar-fill[data-v-2b15d085]{height:100%;background:linear-gradient(90deg,#4a90e2,#5fa3ec);transition:width .4s ease}.goal-sub[data-v-2b15d085]{color:var(--fg-muted);font-size:13px;margin-top:8px}.goal-self[data-v-2b15d085]{color:var(--fg-muted);font-size:12px;margin-top:2px}.section-title[data-v-2b15d085]{font-size:15px;font-weight:500;margin:0 0 12px;color:var(--fg)}.member-list[data-v-2b15d085]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.member[data-v-2b15d085]{padding:6px 12px;background:var(--bg-soft);border-radius:16px;font-size:13px;display:flex;align-items:center;gap:6px}.member.dormant[data-v-2b15d085]{background:#f3f0fa;opacity:.85}.member.dormant .nickname[data-v-2b15d085]{color:#6d5b9a}.nickname[data-v-2b15d085]{color:var(--fg)}.role-tag[data-v-2b15d085]{background:#ffe8d6;color:#d68538;padding:1px 6px;border-radius:8px;font-size:11px}.me-tag[data-v-2b15d085]{background:var(--accent);color:#fff;padding:1px 6px;border-radius:8px;font-size:11px}.alumni-tag[data-v-2b15d085]{background:#e6dbfb;color:#6d5b9a;padding:1px 6px;border-radius:8px;font-size:11px}.dormant-hint[data-v-2b15d085]{color:#6d5b9a;font-size:12px;margin:12px 0 0;font-style:italic}.btn[data-v-2b15d085]{padding:8px 16px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:14px;cursor:pointer}.btn[data-v-2b15d085]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-2b15d085]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.small[data-v-2b15d085]{padding:4px 10px;font-size:12px}.btn.danger[data-v-2b15d085]{color:var(--danger);border-color:var(--danger);background:var(--bg)}.link[data-v-2b15d085]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.settings[data-v-2b15d085]{margin-top:12px}.setting-row[data-v-2b15d085]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.setting-row.danger[data-v-2b15d085]{border-bottom:none}.setting-label[data-v-2b15d085]{color:var(--fg-muted);font-size:14px}.setting-actions[data-v-2b15d085]{display:flex;gap:4px}.meta-note[data-v-2b15d085]{color:var(--fg-muted);font-size:12px;margin:4px 0 0}.err[data-v-2b15d085]{color:var(--danger)}.err-card p[data-v-2b15d085]{margin:0 0 12px}.need-login[data-v-2b15d085]{text-align:center;padding:24px}.need-login p[data-v-2b15d085]{margin:0 0 12px;color:var(--fg-muted)}.overlay[data-v-2b15d085]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-2b15d085]{background:var(--bg);border-radius:12px;padding:24px;min-width:320px;max-width:90vw}.modal h3[data-v-2b15d085]{margin:0 0 16px}.field[data-v-2b15d085]{display:block;margin-bottom:12px}.field .label[data-v-2b15d085]{display:block;font-size:13px;color:var(--fg-muted);margin-bottom:4px}.field input[data-v-2b15d085]{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px}.modal-actions[data-v-2b15d085]{display:flex;gap:8px;justify-content:flex-end}.page[data-v-55441890]{max-width:720px;margin:0 auto;padding:24px 16px}.hero[data-v-55441890]{padding:28px 24px;margin-bottom:16px;background:linear-gradient(135deg,#eef4ff,#f5f9ff 60%,#fff);border:1px solid var(--border);border-radius:12px}.title[data-v-55441890]{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--fg)}.lede[data-v-55441890]{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.7}.card[data-v-55441890]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:24px}.field[data-v-55441890]{display:block;margin-bottom:20px}.field .label[data-v-55441890]{display:block;font-size:14px;color:var(--fg);font-weight:500}.label-row[data-v-55441890]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.counter[data-v-55441890]{font-size:12px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.counter.near[data-v-55441890]{color:var(--warn)}.optional[data-v-55441890]{color:var(--fg-muted);font-weight:400;font-size:12px}.legend-hint[data-v-55441890]{display:block;color:var(--fg-muted);font-size:12px;font-weight:400;margin-top:2px}input[type=text][data-v-55441890],input[data-v-55441890]:not([type]){width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--bg);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}input[data-v-55441890]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4a90e226}.tones[data-v-55441890]{border:none;padding:0;margin-bottom:20px}.tones .label[data-v-55441890]{margin-bottom:10px}.tone-card[data-v-55441890]{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;cursor:pointer;background:var(--bg);transition:border-color .15s,background .15s,transform .1s;position:relative}.tone-card[data-v-55441890]:hover{border-color:#b8d2f0}.tone-card.selected[data-v-55441890]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #4a90e21a}.tone-card input[type=radio][data-v-55441890]{position:absolute;opacity:0;pointer-events:none}.tone-icon[data-v-55441890]{flex-shrink:0;font-size:24px;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border-radius:50%}.tone-card.selected .tone-icon[data-v-55441890]{background:var(--accent-soft)}.tone-body[data-v-55441890]{flex:1;display:flex;flex-direction:column;min-width:0}.tone-name[data-v-55441890]{font-weight:600;color:var(--fg);font-size:14px;display:flex;align-items:center;gap:6px}.tone-badge[data-v-55441890]{display:inline-block;padding:1px 8px;background:var(--accent);color:#fff;border-radius:10px;font-size:11px;font-weight:500}.tone-desc[data-v-55441890]{color:var(--fg-muted);font-size:13px;margin-top:4px;line-height:1.5}.tone-check[data-v-55441890]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:50%;color:#fff;font-size:12px;font-weight:700;transition:all .15s}.tone-card.selected .tone-check[data-v-55441890]{background:var(--accent);border-color:var(--accent)}.actions[data-v-55441890]{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.btn[data-v-55441890]{padding:9px 20px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.btn[data-v-55441890]:hover{background:var(--bg-soft)}.btn[data-v-55441890]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-55441890]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500;min-width:120px}.btn.primary[data-v-55441890]:hover{background:#3a7fd0;border-color:#3a7fd0}.err[data-v-55441890]{color:var(--danger);font-size:13px;margin:0 0 8px;padding:8px 12px;background:var(--danger-soft);border-radius:6px}.note[data-v-55441890]{color:var(--fg-muted);font-size:12px;margin:14px 0 0;text-align:center}.need-login p[data-v-55441890]{margin:0 0 12px;color:var(--fg-muted)}@media (max-width: 480px){.page[data-v-55441890]{padding:16px 12px}.hero[data-v-55441890]{padding:22px 18px}.title[data-v-55441890]{font-size:20px}.card[data-v-55441890]{padding:18px}.tone-card[data-v-55441890]{padding:12px;gap:10px}.tone-icon[data-v-55441890]{width:36px;height:36px;font-size:22px}.actions[data-v-55441890]{flex-direction:column-reverse}.actions .btn[data-v-55441890]{width:100%}}.page[data-v-29867649]{max-width:600px;margin:0 auto;padding:24px 16px}.title[data-v-29867649]{font-size:22px;font-weight:600;margin:0 0 16px}.card[data-v-29867649]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px}.err-card[data-v-29867649]{color:var(--fg-muted)}.err[data-v-29867649]{color:var(--danger);margin:0 0 12px}.lede[data-v-29867649]{margin:0 0 16px;font-size:16px;color:var(--fg)}.meta[data-v-29867649]{margin:0 0 16px}.meta div[data-v-29867649]{display:flex;gap:12px;padding:6px 0;border-bottom:1px dashed var(--border);font-size:14px}.meta dt[data-v-29867649]{width:70px;color:var(--fg-muted);flex-shrink:0}.meta dd[data-v-29867649]{margin:0;color:var(--fg)}.quote[data-v-29867649]{color:var(--fg-muted);font-style:italic;padding:12px 16px;background:var(--bg-soft);border-left:3px solid var(--accent);margin:0 0 16px;font-size:14px}.actions[data-v-29867649]{display:flex;justify-content:flex-end;gap:8px}.btn[data-v-29867649]{padding:8px 16px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:14px;cursor:pointer}.btn[data-v-29867649]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-29867649]{background:var(--accent);color:#fff;border-color:var(--accent)}.need-login[data-v-29867649]{padding:12px 16px;background:var(--warn-soft);border-radius:6px}.need-login p[data-v-29867649]{margin:0 0 8px;color:var(--fg-muted);font-size:14px}.rhythm-page[data-v-b0c520f1]{max-width:880px;margin:0 auto}.header-row[data-v-b0c520f1]{margin-bottom:16px}.title[data-v-b0c520f1]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-b0c520f1]{font-size:13px;color:var(--fg-muted);margin:0}.loading[data-v-b0c520f1],.err[data-v-b0c520f1]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-b0c520f1]{color:var(--danger)}.card[data-v-b0c520f1]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:12px}.section-title[data-v-b0c520f1]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 4px;color:var(--fg)}.section-intro[data-v-b0c520f1]{font-size:13px;color:var(--fg-muted);margin:0 0 12px}.empty-card[data-v-b0c520f1]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-b0c520f1]{font-size:40px;margin-bottom:12px}.empty-title[data-v-b0c520f1]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-b0c520f1]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-b0c520f1]{margin-top:16px}.toggle-list[data-v-b0c520f1]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.toggle-row[data-v-b0c520f1]{display:flex;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--bg-soft)}.toggle-row[data-v-b0c520f1]:last-child{border-bottom:none}.t-body[data-v-b0c520f1]{flex:1;min-width:0}.t-title[data-v-b0c520f1]{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--fg)}.t-hint[data-v-b0c520f1]{font-size:12px;color:var(--fg-muted);line-height:1.5}.toggle[data-v-b0c520f1]{flex-shrink:0;width:42px;height:24px;border-radius:999px;background:var(--border);border:none;cursor:pointer;padding:0;transition:background .18s;position:relative}.toggle.on[data-v-b0c520f1]{background:var(--accent)}.toggle[data-v-b0c520f1]:disabled{opacity:.6;cursor:wait}.toggle-dot[data-v-b0c520f1]{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:999px;background:var(--bg);transition:transform .18s;box-shadow:0 1px 2px #00000026}.toggle.on .toggle-dot[data-v-b0c520f1]{transform:translate(18px)}.silenced-hint[data-v-b0c520f1]{margin:12px 0 0;padding:8px 10px;background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:0 6px 6px 0;font-size:12px;line-height:1.5;color:var(--warn)}.mastery-head[data-v-b0c520f1]{margin-bottom:8px}.dot[data-v-b0c520f1]{display:inline-block;width:10px;height:10px;border-radius:999px}.tone-attention[data-v-b0c520f1]{background:var(--warn)}.tone-steady[data-v-b0c520f1]{background:var(--accent)}.tone-strong[data-v-b0c520f1]{background:var(--success)}.tone-unfamiliar[data-v-b0c520f1]{background:var(--fg-muted)}.count[data-v-b0c520f1]{margin-left:auto;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-soft);color:var(--fg-muted);font-weight:600}.kp-list[data-v-b0c520f1]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.kp-row[data-v-b0c520f1]{padding:0}.kp-main[data-v-b0c520f1]{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;padding:8px 10px;cursor:pointer;border-radius:8px;transition:background .12s;font:inherit;color:var(--fg);text-align:left}.kp-main[data-v-b0c520f1]:hover{background:var(--bg-soft)}.kp-subject[data-v-b0c520f1]{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.kp-name[data-v-b0c520f1]{font-size:14px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-stats[data-v-b0c520f1]{font-size:12px;color:var(--fg-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.kp-time[data-v-b0c520f1]{font-size:11px;color:var(--fg-muted);flex-shrink:0}.tone-ds[data-v-b0c520f1]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-b0c520f1]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-b0c520f1]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-b0c520f1]{background:var(--success-soft);color:var(--success)}.kp-empty[data-v-b0c520f1]{font-size:13px;color:var(--fg-muted);padding:8px 4px;margin:0}.kp-more[data-v-b0c520f1]{font-size:12px;color:var(--fg-muted);padding:6px 4px 0;margin:0}.push-list[data-v-b0c520f1]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.push-row[data-v-b0c520f1]{padding:10px 12px;background:var(--bg-soft);border-radius:8px;display:flex;flex-direction:column;gap:4px}.push-meta[data-v-b0c520f1]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-muted)}.push-time[data-v-b0c520f1]{color:var(--fg-muted)}.push-opened[data-v-b0c520f1]{color:var(--success)}.st-badge[data-v-b0c520f1]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600}.st-sent[data-v-b0c520f1]{background:var(--success-soft);color:var(--success)}.st-failed[data-v-b0c520f1]{background:var(--danger-soft);color:var(--danger)}.st-skipped[data-v-b0c520f1]{background:var(--bg-soft);color:var(--fg-muted)}.push-title[data-v-b0c520f1]{font-size:14px;font-weight:600;color:var(--fg)}.push-desc[data-v-b0c520f1]{font-size:13px;color:var(--fg-muted);line-height:1.5}.report-page[data-v-b9267379]{max-width:720px;margin:0 auto;padding:24px 16px 48px}.head h1[data-v-b9267379]{font-size:22px;margin:0 0 4px;color:var(--fg)}.subtitle[data-v-b9267379]{font-size:13px;color:var(--fg-muted);margin:0 0 16px}.loading[data-v-b9267379],.err[data-v-b9267379]{color:var(--fg-muted);text-align:center;padding:24px 0}.err[data-v-b9267379]{color:var(--danger)}.month-tabs[data-v-b9267379]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.month-tab[data-v-b9267379]{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:13px}.month-tab.active[data-v-b9267379]{border-color:var(--fg);color:var(--fg);font-weight:600}.tab-dot[data-v-b9267379]{color:#4caf7d;font-size:9px;vertical-align:2px;margin-left:2px}.empty-card[data-v-b9267379]{background:var(--bg);border:1px dashed var(--border);border-radius:12px;padding:32px 16px;text-align:center;color:var(--fg-muted)}.cost-note[data-v-b9267379]{font-size:13px;margin:8px 0 16px}.cost-note strong[data-v-b9267379]{color:var(--fg)}.btn-primary[data-v-b9267379]{padding:8px 20px;border-radius:8px;border:none;cursor:pointer;background:var(--fg);color:var(--bg);font-size:14px}.btn-primary[data-v-b9267379]:disabled{opacity:.6;cursor:wait}.motto[data-v-b9267379]{text-align:center;color:var(--fg-muted);font-size:13px;margin:8px 0 16px}.card[data-v-b9267379]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.card h2[data-v-b9267379]{font-size:15px;margin:0 0 12px;color:var(--fg)}.hint[data-v-b9267379]{font-size:12px;color:var(--fg-muted);font-weight:400;margin-left:6px}.wall[data-v-b9267379]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat[data-v-b9267379]{background:var(--bg-soft);border-radius:10px;padding:12px;text-align:center}.num[data-v-b9267379]{font-size:24px;font-weight:700;color:var(--fg)}.label[data-v-b9267379]{font-size:12px;color:var(--fg-muted);margin-top:2px}.delta[data-v-b9267379]{font-size:12px;color:var(--fg-muted);margin-top:4px}.subjects[data-v-b9267379]{margin-top:14px;display:grid;gap:6px}.subj-row[data-v-b9267379]{display:flex;justify-content:space-between;font-size:13px}.subj-name[data-v-b9267379]{color:var(--fg)}.subj-meta[data-v-b9267379]{color:var(--fg-muted)}.diag-text[data-v-b9267379]{font-size:14px;line-height:1.8;color:var(--fg);margin:0}.kp-block+.kp-block[data-v-b9267379]{margin-top:16px}.kp-row[data-v-b9267379]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;background:var(--bg-soft);margin-bottom:6px;text-decoration:none}.kp-name[data-v-b9267379]{color:var(--fg);font-size:14px}.kp-meta[data-v-b9267379]{color:var(--fg-muted);font-size:12px}.plan-seg[data-v-b9267379]{padding:12px 0;border-top:1px solid var(--border)}.plan-seg[data-v-b9267379]:first-of-type{border-top:none;padding-top:0}.plan-title[data-v-b9267379]{font-size:14px;font-weight:600;color:var(--fg)}.plan-desc[data-v-b9267379]{font-size:13px;color:var(--fg-muted);margin:4px 0 8px}.plan-kps[data-v-b9267379]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.plan-kp[data-v-b9267379]{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg);text-decoration:none}.plan-link[data-v-b9267379]{font-size:13px;text-decoration:none}.footnote[data-v-b9267379]{text-align:center;font-size:12px;color:var(--fg-muted);margin-top:8px}.diag-page[data-v-931320a3]{max-width:880px;margin:0 auto}.header-row[data-v-931320a3]{margin-bottom:16px}.title[data-v-931320a3]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-931320a3]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.loading[data-v-931320a3],.err[data-v-931320a3]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-931320a3]{color:var(--danger)}.card[data-v-931320a3]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:12px}.section-title[data-v-931320a3]{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--fg)}.section-intro[data-v-931320a3]{font-size:13px;color:var(--fg-muted);margin:0 0 12px;line-height:1.5}.empty-card[data-v-931320a3]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-931320a3]{font-size:40px;margin-bottom:12px}.empty-title[data-v-931320a3]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-931320a3]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.login-btn[data-v-931320a3]{margin-top:16px}.summary-card[data-v-931320a3]{background:var(--bg-soft);border-style:solid}.summary[data-v-931320a3]{font-size:14px;line-height:1.6;margin:0;color:var(--fg)}.goal-card.reached[data-v-931320a3]{background:var(--success-soft);border-color:var(--success-soft)}.goal-top[data-v-931320a3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.goal-headline[data-v-931320a3]{display:flex;align-items:baseline;gap:10px}.goal-title[data-v-931320a3]{font-size:16px;font-weight:600;color:var(--fg)}.goal-count[data-v-931320a3]{font-size:14px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.goal-count.done[data-v-931320a3]{color:var(--success)}.goal-chips[data-v-931320a3]{display:flex;align-items:center;gap:4px}.goal-chips-label[data-v-931320a3]{font-size:12px;color:var(--fg-muted);margin-right:2px}.goal-chip[data-v-931320a3]{font:inherit;font-size:12px;min-width:30px;padding:3px 9px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}.goal-chip[data-v-931320a3]:hover{background:var(--bg-soft)}.goal-chip.active[data-v-931320a3]{background:var(--accent);color:#fff;border-color:var(--accent)}.goal-bar[data-v-931320a3]{height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden;margin-bottom:12px}.goal-fill[data-v-931320a3]{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.goal-card.reached .goal-fill[data-v-931320a3]{background:var(--success)}.goal-copy[data-v-931320a3]{font-size:13px;line-height:1.6;color:var(--fg);margin:0 0 12px}.kp-cards[data-v-931320a3]{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.kp-card[data-v-931320a3]{margin-bottom:0}.kp-head[data-v-931320a3]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.kp-subject[data-v-931320a3]{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.kp-name[data-v-931320a3]{font-size:16px;font-weight:600;color:var(--fg);flex:1;min-width:0}.kp-acc[data-v-931320a3]{flex-shrink:0;font-size:12px;font-weight:600;color:var(--warn);background:var(--warn-soft);padding:2px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.kp-self[data-v-931320a3]{flex-shrink:0;font-size:12px;font-weight:600;color:var(--danger);background:var(--danger-soft);padding:2px 8px;border-radius:999px}.sr-entry[data-v-931320a3]{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg-soft);border-style:solid}.sr-entry-text[data-v-931320a3]{display:flex;flex-direction:column;gap:3px;min-width:0}.sr-entry-title[data-v-931320a3]{font-size:14px;font-weight:600;color:var(--fg)}.sr-entry-sub[data-v-931320a3]{font-size:12px;color:var(--fg-muted);line-height:1.5}.sr-entry .btn-act[data-v-931320a3]{flex-shrink:0}.kp-copy[data-v-931320a3]{font-size:14px;line-height:1.6;color:var(--fg);margin:0 0 10px}.kp-stats-row[data-v-931320a3]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-muted);margin-bottom:10px;font-variant-numeric:tabular-nums}.dot-sep[data-v-931320a3]{color:var(--border)}.stat-exam[data-v-931320a3]{color:var(--warn);font-weight:600}.kp-blogs[data-v-931320a3]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.blogs-label[data-v-931320a3]{font-size:12px;color:var(--fg-muted)}.blog-link[data-v-931320a3]{font-size:12px;color:var(--accent);text-decoration:none;background:var(--bg-soft);padding:4px 10px;border-radius:999px}.blog-link[data-v-931320a3]:hover{text-decoration:underline}.kp-actions[data-v-931320a3]{display:flex;gap:8px}.btn-act[data-v-931320a3]{font:inherit;font-size:13px;padding:7px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer}.btn-act[data-v-931320a3]:hover{background:var(--bg-soft)}.btn-act.primary[data-v-931320a3]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-act.primary[data-v-931320a3]:hover{opacity:.92;background:var(--accent)}.btn-rec[data-v-931320a3]{font:inherit;font-size:14px;font-weight:600;padding:10px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer}.btn-rec[data-v-931320a3]:disabled{opacity:.6;cursor:wait}.btn-rec.ghost[data-v-931320a3]{background:none;color:var(--fg-muted);border:1px solid var(--border);font-weight:500;margin-top:10px;font-size:13px;padding:7px 16px}.btn-rec.ghost[data-v-931320a3]:hover{background:var(--bg-soft)}.rec-hint[data-v-931320a3]{font-size:12px;color:var(--fg-muted);margin:0 0 8px;line-height:1.5}.rec-actions[data-v-931320a3]{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.rec-actions .btn-rec.ghost[data-v-931320a3]{margin-top:0}.rec-list[data-v-931320a3]{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:4px}.rec-main[data-v-931320a3]{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;padding:9px 10px;cursor:pointer;border-radius:8px;transition:background .12s;font:inherit;color:var(--fg);text-align:left}.rec-main[data-v-931320a3]:hover{background:var(--bg-soft)}.rec-reason[data-v-931320a3]{flex-shrink:0;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.r-weak[data-v-931320a3]{background:var(--danger-soft);color:var(--danger)}.r-steady[data-v-931320a3]{background:var(--accent-soft);color:var(--accent)}.r-strong[data-v-931320a3]{background:var(--success-soft);color:var(--success)}.r-check[data-v-931320a3]{background:var(--warn-soft);color:var(--warn)}.rec-subject[data-v-931320a3]{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.rec-stem[data-v-931320a3]{font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-exam[data-v-931320a3]{flex-shrink:0;font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-soft);padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.rec-done[data-v-931320a3]{flex-shrink:0;font-size:11px;color:var(--fg-muted)}.tone-ds[data-v-931320a3]{background:var(--accent-soft);color:var(--accent)}.tone-os[data-v-931320a3]{background:var(--warn-soft);color:var(--warn)}.tone-co[data-v-931320a3]{background:var(--purple-soft);color:var(--purple)}.tone-cn[data-v-931320a3]{background:var(--success-soft);color:var(--success)}.kp-empty[data-v-931320a3]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.sr-page[data-v-84f4c81e]{max-width:880px;margin:0 auto;padding-bottom:76px}.header-row[data-v-84f4c81e]{margin-bottom:16px}.title[data-v-84f4c81e]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-84f4c81e]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.6}.loading[data-v-84f4c81e],.err[data-v-84f4c81e]{color:var(--fg-muted);text-align:center;padding:24px 0}.err[data-v-84f4c81e]{color:var(--danger)}.card[data-v-84f4c81e]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:12px}.subj-title[data-v-84f4c81e]{font-size:16px;font-weight:600;margin:0 0 12px;color:var(--fg)}.chapter-list[data-v-84f4c81e]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.chapter-row[data-v-84f4c81e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--bg-soft);flex-wrap:wrap}.chapter-row[data-v-84f4c81e]:first-child{border-top:none}.chapter-info[data-v-84f4c81e]{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1}.chapter-name[data-v-84f4c81e]{font-size:14px;color:var(--fg)}.chapter-kp[data-v-84f4c81e]{font-size:12px;color:var(--fg-muted);flex-shrink:0}.opts[data-v-84f4c81e]{display:flex;gap:6px;flex-shrink:0}.opt[data-v-84f4c81e]{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer;transition:all .12s}.opt[data-v-84f4c81e]:hover{background:var(--bg-soft)}.opt.active.opt-solid[data-v-84f4c81e]{background:var(--success-soft);color:var(--success);border-color:#6ee7b7;font-weight:600}.opt.active.opt-learned[data-v-84f4c81e]{background:var(--accent-soft);color:var(--accent);border-color:#93c5fd;font-weight:600}.opt.active.opt-untouched[data-v-84f4c81e]{background:var(--danger-soft);color:var(--danger);border-color:#fca5a5;font-weight:600}.sticky-bar[data-v-84f4c81e]{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:880px;margin:0 auto;padding:12px 18px;background:var(--bg);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bar-status[data-v-84f4c81e]{font-size:13px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.bar-actions[data-v-84f4c81e]{display:flex;gap:8px}.empty-card[data-v-84f4c81e]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-84f4c81e]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-84f4c81e]{font-size:13px;color:var(--fg-muted);margin:0 0 16px;line-height:1.5}.btn-act[data-v-84f4c81e]{font:inherit;font-size:13px;padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer}.btn-act[data-v-84f4c81e]:hover{background:var(--bg-soft)}.btn-act.primary[data-v-84f4c81e]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-act.primary[data-v-84f4c81e]:hover{opacity:.92}.btn-act.primary[data-v-84f4c81e]:disabled{opacity:.5;cursor:default}.qa[data-v-b9ee4396]{--fg: #2d2d2d;--fg-muted: #8a8a8a;--bg-soft: #f4f4f4;--border: #e5e5e5;--accent: #1a1a1a;--accent-soft: #ececec}:root[data-theme=dark] .qa[data-v-b9ee4396]{--fg: #e6e6ea;--fg-muted: #9a9aa6;--bg: #1e1e22;--bg-soft: #26262b;--border: #34343c;--accent: #e6e6ea;--accent-soft: #333338}.qa[data-v-b9ee4396]{display:flex;height:calc(100vh - var(--topbar-height, 64px))}.qa-side[data-v-b9ee4396]{width:240px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px;gap:8px;background:var(--bg-soft)}.new-btn[data-v-b9ee4396]{border:1px solid var(--border);background:var(--bg);color:var(--fg);padding:8px;border-radius:8px;font-size:13px;cursor:pointer}.new-btn[data-v-b9ee4396]:hover{background:var(--accent-soft)}.sess-list[data-v-b9ee4396]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sess-item[data-v-b9ee4396]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--fg-muted)}.sess-item[data-v-b9ee4396]:hover,.sess-item.active[data-v-b9ee4396]{background:var(--accent-soft);color:var(--fg)}.sess-title[data-v-b9ee4396]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sess-actions[data-v-b9ee4396]{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.sess-act[data-v-b9ee4396]{border:none;background:none;color:var(--fg-muted);cursor:pointer;font-size:11px;line-height:1;padding:2px 3px;opacity:0}.sess-item:hover .sess-act[data-v-b9ee4396]{opacity:.65}.sess-act[data-v-b9ee4396]:hover{opacity:1;color:var(--accent)}.sess-del[data-v-b9ee4396]{border:none;background:none;color:var(--fg-muted);cursor:pointer;font-size:16px;line-height:1;opacity:0}.sess-item:hover .sess-del[data-v-b9ee4396]{opacity:.7}.sess-del[data-v-b9ee4396]:hover{opacity:1;color:#e5484d}.sess-rename[data-v-b9ee4396]{flex:1;min-width:0;font-size:13px;padding:3px 5px;border:1px solid var(--accent);border-radius:5px;outline:none;color:var(--fg)}.sess-empty[data-v-b9ee4396]{font-size:12px;color:var(--fg-muted);text-align:center;margin-top:24px}.qa-main[data-v-b9ee4396]{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.to-bottom-btn[data-v-b9ee4396]{position:absolute;left:50%;transform:translate(-50%);bottom:92px;z-index:5;width:36px;height:36px;border-radius:50%;background:var(--bg);color:var(--fg);border:1px solid var(--border);box-shadow:0 2px 10px #0000001f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,transform .12s}.to-bottom-btn[data-v-b9ee4396]:hover{background:var(--bg-soft)}.qa-head[data-v-b9ee4396]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.side-toggle[data-v-b9ee4396]{display:none;border:none;background:none;font-size:18px;cursor:pointer;color:var(--fg-muted)}.head-title[data-v-b9ee4396]{font-weight:600;font-size:15px}.ctx-bar[data-v-b9ee4396]{padding:8px 16px;font-size:12px;color:var(--fg-muted);background:var(--accent-soft);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-bar strong[data-v-b9ee4396]{color:var(--fg)}.ctx-back[data-v-b9ee4396]{margin-left:10px;padding:0;border:none;background:none;font:inherit;cursor:pointer;color:var(--accent);text-decoration:none;white-space:nowrap}.ctx-back[data-v-b9ee4396]:hover{text-decoration:underline}.ctx-hint[data-v-b9ee4396]{opacity:.7;margin-left:8px}.sess-tag[data-v-b9ee4396]{display:inline-block;font-size:10px;line-height:1;padding:2px 4px;margin-right:5px;border-radius:4px;background:var(--accent);color:var(--bg);vertical-align:middle}.q-preview[data-v-b9ee4396]{border-bottom:1px solid var(--border);background:var(--bg)}.q-preview-head[data-v-b9ee4396]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 16px;border:none;background:transparent;color:var(--fg);font:inherit;cursor:pointer;text-align:left}.q-preview-head[data-v-b9ee4396]:hover{background:var(--bg-soft)}.q-preview-title[data-v-b9ee4396]{font-size:13px;font-weight:600}.q-preview-meta[data-v-b9ee4396]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fg-muted)}.q-preview-action[data-v-b9ee4396]{font-size:12px;color:var(--fg-muted)}.q-preview-body[data-v-b9ee4396]{max-height:min(34vh,280px);overflow:auto;padding:2px 16px 12px;border-top:1px solid var(--border)}.q-preview-state[data-v-b9ee4396]{margin:8px 0 0;font-size:13px;color:var(--fg-muted)}.q-preview-state.error[data-v-b9ee4396]{color:#e5484d}.q-preview-stem[data-v-b9ee4396]{font-size:13px;line-height:1.65;color:var(--fg)}.q-preview-stem[data-v-b9ee4396] p{margin:0 0 8px}.q-preview-options[data-v-b9ee4396]{list-style:none;display:grid;gap:6px;padding:0;margin:10px 0 0}.q-preview-options li[data-v-b9ee4396]{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);font-size:13px;line-height:1.55}.q-preview-key[data-v-b9ee4396]{font-weight:700;color:var(--fg)}.q-preview-option[data-v-b9ee4396]{min-width:0}.q-preview-option[data-v-b9ee4396] p{margin:0}.qa-scroll[data-v-b9ee4396]{flex:1;overflow-y:auto;padding:8px 0 24px}.thread[data-v-b9ee4396]{max-width:768px;margin:0 auto;padding:16px 24px 8px}.qa-welcome[data-v-b9ee4396]{max-width:600px;margin:9vh auto 0;text-align:center;color:var(--fg-muted);padding:0 20px}.qa-welcome h2[data-v-b9ee4396]{color:var(--fg);font-size:26px;font-weight:600;margin-bottom:8px}.qa-welcome .sub[data-v-b9ee4396]{font-size:14px;margin-bottom:18px}.qa-welcome .hint[data-v-b9ee4396]{font-size:13px;line-height:1.75;margin-bottom:24px}.samples[data-v-b9ee4396]{display:flex;flex-direction:column;gap:10px;max-width:460px;margin:0 auto}.samples-hint[data-v-b9ee4396]{font-size:12px;color:var(--fg-muted);margin:0 0 2px;text-align:left}.sample[data-v-b9ee4396]{border:1px solid var(--border);background:var(--bg);color:var(--fg);padding:12px 16px;border-radius:14px;font-size:14px;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.sample[data-v-b9ee4396]:hover{background:var(--bg-soft);border-color:var(--fg-muted)}.mode-entry[data-v-b9ee4396]{max-width:460px;margin:18px auto 0}.mode-card[data-v-b9ee4396]{display:flex;flex-direction:column;gap:4px;width:100%;border:1px solid var(--border);background:var(--accent-soft);color:var(--fg);padding:14px 16px;border-radius:14px;text-align:left;cursor:pointer;transition:border-color .12s}.mode-card[data-v-b9ee4396]:hover{border-color:var(--accent)}.mode-title[data-v-b9ee4396]{font-size:14px;font-weight:600}.mode-desc[data-v-b9ee4396]{font-size:12px;color:var(--fg-muted);line-height:1.6}.mode-exit[data-v-b9ee4396]{margin-top:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);padding:6px 14px;border-radius:10px;font-size:13px;cursor:pointer}.mode-exit[data-v-b9ee4396]:hover{border-color:var(--fg-muted)}.mode-bar[data-v-b9ee4396]{display:flex;align-items:center;gap:10px}.mode-exit-inline[data-v-b9ee4396]{border:none;background:transparent;color:var(--accent);cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.msg[data-v-b9ee4396]{display:flex;margin-bottom:28px}.msg.user[data-v-b9ee4396]{justify-content:flex-end}.msg.assistant[data-v-b9ee4396]{justify-content:flex-start}.msg-col[data-v-b9ee4396]{display:flex;flex-direction:column;min-width:0}.msg.assistant .msg-col[data-v-b9ee4396]{width:100%}.msg.user .msg-col[data-v-b9ee4396]{max-width:80%}.user-bubble[data-v-b9ee4396]{background:var(--bg-soft);color:var(--fg);padding:10px 16px;border-radius:18px;font-size:15px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.ai-text[data-v-b9ee4396]{font-size:15px;line-height:1.78;color:var(--fg)}.thinking[data-v-b9ee4396]{color:var(--fg-muted);font-style:italic;font-size:15px}.thinking .dots[data-v-b9ee4396]{animation:blink-b9ee4396 1.2s infinite}@keyframes blink-b9ee4396{0%,to{opacity:.3}50%{opacity:1}}.md[data-v-b9ee4396] p{margin:0 0 14px}.md[data-v-b9ee4396] p:last-child{margin-bottom:0}.md[data-v-b9ee4396] ul,.md[data-v-b9ee4396] ol{margin:0 0 14px;padding-left:24px}.md[data-v-b9ee4396] li{margin:5px 0}.md[data-v-b9ee4396] li>ul,.md[data-v-b9ee4396] li>ol{margin:5px 0 0}.md[data-v-b9ee4396] h1,.md[data-v-b9ee4396] h2,.md[data-v-b9ee4396] h3,.md[data-v-b9ee4396] h4{margin:22px 0 10px;font-weight:600;line-height:1.4}.md[data-v-b9ee4396] h1{font-size:19px}.md[data-v-b9ee4396] h2{font-size:17px}.md[data-v-b9ee4396] h3,.md[data-v-b9ee4396] h4{font-size:16px}.md[data-v-b9ee4396] strong{font-weight:600}.md[data-v-b9ee4396] pre{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:14px 0;overflow-x:auto;font-size:13px}.md[data-v-b9ee4396] :not(pre)>code{background:var(--bg-soft);border-radius:5px;padding:1px 5px;font-size:.92em}.md[data-v-b9ee4396] table{border-collapse:collapse;margin:14px 0;font-size:14px}.md[data-v-b9ee4396] th,.md[data-v-b9ee4396] td{border:1px solid var(--border);padding:6px 12px}.md[data-v-b9ee4396] th{background:var(--bg-soft)}.md[data-v-b9ee4396] blockquote{margin:14px 0;padding:2px 14px;border-left:3px solid var(--border);color:var(--fg-muted)}.fb-row[data-v-b9ee4396]{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.fb-btn[data-v-b9ee4396]{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);font-size:12px;padding:4px 11px;border-radius:999px;cursor:pointer;line-height:1;transition:all .12s}.fb-btn[data-v-b9ee4396]:hover{border-color:var(--accent);color:var(--accent)}.fb-btn.on[data-v-b9ee4396]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fb-btn.bad[data-v-b9ee4396]:hover{border-color:#e5484d;color:#e5484d}.fb-btn.bad.on[data-v-b9ee4396]{background:#e5484d1a;border-color:#e5484d;color:#e5484d}.fb-thanks[data-v-b9ee4396]{font-size:12px;color:var(--fg-muted)}.qa-input[data-v-b9ee4396]{padding:4px 24px 16px}.err[data-v-b9ee4396]{color:#e5484d;font-size:12px;margin:0 auto 6px;max-width:768px;text-align:center}.notice[data-v-b9ee4396]{color:#8a6d1a;background:#d4a0171f;border:1px solid rgba(212,160,23,.32);font-size:13px;margin:0 auto 8px;padding:8px 12px;border-radius:8px;max-width:768px;text-align:center}:root[data-theme=dark] .notice[data-v-b9ee4396]{color:#e8c766}.lowinfo-hint[data-v-b9ee4396]{max-width:768px;margin:0 auto 8px;padding:8px 14px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;font-size:12.5px;color:var(--fg-muted);line-height:1.6;text-align:center}.li-btn[data-v-b9ee4396]{border:1px solid #e5484d;background:var(--bg);color:#e5484d;font-size:12px;padding:2px 9px;border-radius:999px;cursor:pointer;line-height:1.4;margin:0 2px}.li-btn[data-v-b9ee4396]:hover{background:#e5484d1a}.composer[data-v-b9ee4396]{display:flex;align-items:flex-end;gap:8px;max-width:768px;margin:0 auto;border:1px solid var(--border);border-radius:26px;padding:7px 7px 7px 18px;background:var(--bg);box-shadow:0 2px 12px #0000000d;transition:border-color .12s,box-shadow .12s}.composer[data-v-b9ee4396]:focus-within{border-color:var(--accent);box-shadow:0 2px 16px #00000014}.ta[data-v-b9ee4396]{flex:1;resize:none;border:none;outline:none;background:transparent;padding:8px 0;font-size:15px;font-family:inherit;line-height:1.5;max-height:180px;min-height:24px;color:var(--fg)}.send-btn[data-v-b9ee4396]{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--bg);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s}.send-btn[data-v-b9ee4396]:hover:not(:disabled){filter:brightness(1.6)}.send-btn[data-v-b9ee4396]:disabled{background:var(--border);color:var(--fg-muted);cursor:not-allowed}.disclaimer[data-v-b9ee4396]{font-size:11px;color:var(--fg-muted);text-align:center;margin:10px auto 0;max-width:768px}@media (max-width: 768px){.q-preview-body[data-v-b9ee4396]{max-height:28vh}.q-preview-head[data-v-b9ee4396]{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:12px}.q-preview-body[data-v-b9ee4396]{padding-inline:12px}.qa-side[data-v-b9ee4396]{position:absolute;left:0;top:58px;bottom:0;z-index:20;transform:translate(-100%);transition:transform .2s;box-shadow:2px 0 8px #0000001a}.qa-side.open[data-v-b9ee4396]{transform:translate(0)}.side-toggle[data-v-b9ee4396]{display:block}}.share-page[data-v-eac57914]{max-width:880px;margin:0 auto}.header-row[data-v-eac57914]{margin-bottom:16px}.title[data-v-eac57914]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-eac57914]{font-size:13px;color:var(--fg-muted);margin:0}.loading[data-v-eac57914],.err[data-v-eac57914]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-eac57914]{color:var(--danger)}.empty-card[data-v-eac57914]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-icon[data-v-eac57914]{font-size:40px;margin-bottom:12px}.empty-title[data-v-eac57914]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-eac57914]{font-size:13px;color:var(--fg-muted);margin:0}.login-card .login-btn[data-v-eac57914]{margin-top:16px}.controls[data-v-eac57914]{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.seg[data-v-eac57914]{display:inline-flex;background:var(--bg-soft);border-radius:8px;padding:2px}.seg-btn[data-v-eac57914]{background:transparent;border:none;padding:6px 14px;cursor:pointer;font-size:13px;color:var(--fg-muted);border-radius:6px;transition:background .15s,color .15s}.seg-btn.active[data-v-eac57914]{background:var(--bg);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #0000000f}.seg-btn[data-v-eac57914]:disabled{cursor:wait}.toggle-row[data-v-eac57914]{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-row input[data-v-eac57914]{cursor:pointer}.save-btn[data-v-eac57914]{margin-left:auto}.card-scaler[data-v-eac57914]{--share-scale: .36;position:relative;width:calc(1080px * var(--share-scale));height:calc(1920px * var(--share-scale));margin:0 auto;overflow:hidden;border-radius:24px;box-shadow:0 8px 32px #0f172a2e}@media (max-width: 480px){.card-scaler[data-v-eac57914]{--share-scale: .3}}.share-card[data-v-eac57914]{position:absolute;top:0;left:0;width:1080px;height:1920px;transform:scale(var(--share-scale));transform-origin:top left;background:radial-gradient(ellipse at top right,#2d8aff 0%,transparent 50%),radial-gradient(ellipse at bottom left,#003a7d 0%,transparent 60%),linear-gradient(180deg,#1191ff,#0a74e0);color:#fff;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden;display:flex;flex-direction:column;padding:72px 72px 56px;box-sizing:border-box}.deco[data-v-eac57914]{position:absolute;pointer-events:none}.deco-tl[data-v-eac57914]{top:0;left:0;width:480px;height:480px}.deco-br[data-v-eac57914]{bottom:0;right:0;width:540px;height:540px}.sc-head[data-v-eac57914]{text-align:center;margin-bottom:36px;position:relative}.sc-nick[data-v-eac57914]{font-size:36px;font-weight:500;opacity:.92;letter-spacing:1px}.sc-tag[data-v-eac57914]{font-size:68px;font-weight:800;margin-top:18px;letter-spacing:6px;text-shadow:0 4px 16px rgba(0,0,0,.12)}.sc-date[data-v-eac57914]{display:inline-block;margin-top:16px;padding:8px 22px;font-size:26px;letter-spacing:4px;background:#ffffff24;border-radius:999px}.sc-hero[data-v-eac57914]{text-align:center;margin-bottom:32px;position:relative}.sc-hero-num[data-v-eac57914]{display:inline-flex;align-items:flex-end;justify-content:center;gap:16px;line-height:1}.sc-num[data-v-eac57914]{font-size:260px;font-weight:800;line-height:.9;letter-spacing:-8px;color:#fff;text-shadow:0 0 24px rgba(255,217,181,.55),0 8px 24px rgba(10,80,200,.45),0 2px 0 rgba(255,255,255,.15)}.sc-num-unit[data-v-eac57914]{font-size:80px;font-weight:500;padding-bottom:24px;opacity:.92}.sc-hero-sub[data-v-eac57914]{font-size:42px;margin-top:16px;font-weight:500;opacity:.94;letter-spacing:2px}.sc-hero-sub strong[data-v-eac57914]{color:#ffd9b5;font-weight:700}.sc-side-row[data-v-eac57914]{display:flex;gap:20px;margin-bottom:28px;position:relative}.sc-side-cell[data-v-eac57914]{flex:1;padding:24px 20px;text-align:center;background:#ffffff24;border-radius:24px;border:1px solid rgba(255,255,255,.18)}.sc-side-num[data-v-eac57914]{font-size:76px;font-weight:700;line-height:1;color:#fff}.sc-side-lbl[data-v-eac57914]{font-size:26px;margin-top:10px;opacity:.88;letter-spacing:2px}.sc-block[data-v-eac57914]{background:#fffffff7;color:#1a1a1a;border-radius:28px;padding:28px 36px;margin-bottom:20px;position:relative;box-shadow:0 4px 16px #0000000f}.sc-block-title[data-v-eac57914]{font-size:32px;font-weight:700;margin-bottom:18px;color:#1a1a1a;letter-spacing:2px}.sc-ring-wrap[data-v-eac57914]{display:flex;align-items:center;gap:28px}.sc-ring[data-v-eac57914]{width:240px;height:240px;flex-shrink:0}.sc-ring-legend[data-v-eac57914]{flex:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.sc-ring-legend li[data-v-eac57914]{display:flex;align-items:center;gap:14px;font-size:28px}.sc-leg-dot[data-v-eac57914]{width:18px;height:18px;border-radius:5px;flex-shrink:0}.sc-leg-lbl[data-v-eac57914]{color:#1a1a1a;font-weight:500;flex:1}.sc-leg-num[data-v-eac57914]{font-weight:700;color:#1a1a1a;font-size:32px}.sc-kps[data-v-eac57914]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.sc-kp-row[data-v-eac57914]{display:flex;align-items:center;gap:20px;font-size:30px}.sc-kp-rank[data-v-eac57914]{width:46px;height:46px;border-radius:50%;background:#f07018;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:26px;flex-shrink:0}.sc-kp-name[data-v-eac57914]{flex:1;font-weight:500;color:#1a1a1a}.sc-kp-num[data-v-eac57914]{color:#6b7280;font-weight:600;font-size:28px}.sc-foot[data-v-eac57914]{margin-top:auto;text-align:center;padding-top:20px;position:relative}.sc-mood[data-v-eac57914]{display:inline-block;padding:10px 30px;font-size:32px;font-weight:600;letter-spacing:6px;background:linear-gradient(90deg,#f9923a,#f07018);border-radius:999px;margin-bottom:18px;box-shadow:0 4px 16px #f0701852}.sc-brand[data-v-eac57914]{font-size:24px;opacity:.55;letter-spacing:3px;color:#fff}.papers-page[data-v-bf6158ad]{max-width:880px;margin:0 auto}.header-row[data-v-bf6158ad]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.title[data-v-bf6158ad]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-bf6158ad]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5;max-width:620px}.loading[data-v-bf6158ad],.err[data-v-bf6158ad]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-bf6158ad]{color:var(--danger)}.block-section[data-v-bf6158ad]{margin-bottom:20px}.block-title[data-v-bf6158ad]{font-size:15px;font-weight:600;margin:0 0 10px;color:var(--fg)}.empty-card[data-v-bf6158ad]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-card.slim[data-v-bf6158ad]{padding:24px 20px}.empty-card.slim .empty-hint[data-v-bf6158ad]{margin:0}.empty-title[data-v-bf6158ad]{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--fg)}.empty-hint[data-v-bf6158ad]{font-size:13px;color:var(--fg-muted);margin:0 0 16px;line-height:1.5}.toolbar[data-v-bf6158ad]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.filter-tabs[data-v-bf6158ad]{display:flex;gap:6px;flex-wrap:wrap}.filter-chip[data-v-bf6158ad]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:13px;color:var(--fg-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .12s}.filter-chip[data-v-bf6158ad]:hover{color:var(--fg);border-color:var(--fg-muted)}.filter-chip.active[data-v-bf6158ad]{color:#fff;background:var(--accent);border-color:var(--accent)}.chip-num[data-v-bf6158ad]{font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}.sort-box[data-v-bf6158ad]{display:inline-flex;align-items:center;gap:6px}.sort-label[data-v-bf6158ad]{font-size:13px;color:var(--fg-muted)}.sort-select[data-v-bf6158ad]{font-size:13px;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:5px 8px;cursor:pointer}.paper-list[data-v-bf6158ad]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.paper-card[data-v-bf6158ad]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.paper-card.shared[data-v-bf6158ad]{background:var(--accent-soft, #eef4ff);border-color:var(--accent)}.pc-main[data-v-bf6158ad]{flex:1;min-width:200px;cursor:pointer}.pc-name[data-v-bf6158ad]{font-size:16px;font-weight:600;color:var(--fg);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.share-badge[data-v-bf6158ad]{font-size:11px;font-weight:500;color:var(--accent);background:var(--accent-soft, #eef4ff);padding:1px 8px;border-radius:999px}.pc-meta[data-v-bf6158ad]{font-size:12px;color:var(--fg-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dot[data-v-bf6158ad]{color:var(--border)}.pc-score[data-v-bf6158ad]{color:var(--warn);font-variant-numeric:tabular-nums}.pc-rate[data-v-bf6158ad]{font-weight:600;font-variant-numeric:tabular-nums;padding:0 6px;border-radius:4px}.pc-rate.rate-good[data-v-bf6158ad]{color:var(--success);background:var(--success-soft)}.pc-rate.rate-mid[data-v-bf6158ad]{color:var(--warn);background:var(--warn-soft)}.pc-rate.rate-low[data-v-bf6158ad]{color:var(--danger);background:var(--danger-soft)}.pc-progress[data-v-bf6158ad]{color:var(--accent);font-variant-numeric:tabular-nums}.pc-attempt[data-v-bf6158ad]{color:var(--fg-muted);font-variant-numeric:tabular-nums}.pc-attempt.todo[data-v-bf6158ad]{color:var(--accent)}.pc-actions[data-v-bf6158ad]{display:flex;gap:8px;flex-wrap:wrap}.btn-act[data-v-bf6158ad]{font:inherit;font-size:13px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer}.btn-act[data-v-bf6158ad]:hover{background:var(--bg-soft)}.btn-act.primary[data-v-bf6158ad]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-act.primary[data-v-bf6158ad]:hover{opacity:.92}.btn-act.danger[data-v-bf6158ad]{color:var(--danger)}.btn-act.danger[data-v-bf6158ad]:hover{background:var(--danger-soft);border-color:var(--danger)}.btn[data-v-bf6158ad]{font:inherit;font-size:14px;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn-primary[data-v-bf6158ad]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500}.btn-primary[data-v-bf6158ad]:hover{opacity:.92}.btn-primary[data-v-bf6158ad]:disabled{background:var(--border);border-color:var(--border);cursor:not-allowed}.full[data-v-bf6158ad]{width:100%;margin-top:14px}.overlay[data-v-bf6158ad]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.dialog[data-v-bf6158ad]{background:var(--bg);border-radius:12px;width:100%;max-width:440px;box-shadow:0 12px 40px #0003}.dlg-head[data-v-bf6158ad]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px}.dlg-title[data-v-bf6158ad]{font-size:17px;margin:0}.x[data-v-bf6158ad]{border:none;background:none;font-size:24px;line-height:1;color:var(--fg-muted);cursor:pointer}.dlg-body[data-v-bf6158ad]{padding:4px 18px 18px}.dlg-sub[data-v-bf6158ad]{font-size:12px;color:var(--fg-muted);margin:0 0 14px;line-height:1.5}.block-label[data-v-bf6158ad]{font-size:12px;color:var(--fg-muted);margin-bottom:6px}.radios[data-v-bf6158ad]{display:flex;gap:16px}.radio[data-v-bf6158ad]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:14px}.group-pick[data-v-bf6158ad]{margin-top:10px}.select[data-v-bf6158ad]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px}.hint[data-v-bf6158ad]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.link[data-v-bf6158ad]{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline;font:inherit}.danger-link[data-v-bf6158ad]{display:block;margin-top:14px;color:var(--danger);font-size:13px}.link-box[data-v-bf6158ad]{display:flex;gap:8px;margin-top:12px}.link-input[data-v-bf6158ad]{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--fg-muted);background:var(--bg-soft)}.builder-page[data-v-4dd4a60a]{max-width:760px;margin:0 auto;padding-bottom:32px}.header-row[data-v-4dd4a60a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.title[data-v-4dd4a60a]{font-size:22px;margin:0;font-weight:700}.link-back[data-v-4dd4a60a],.link-clear[data-v-4dd4a60a]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.card[data-v-4dd4a60a]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px}.section-title[data-v-4dd4a60a]{font-size:16px;font-weight:600;margin:0 0 4px}.section-intro[data-v-4dd4a60a]{font-size:12px;color:var(--fg-muted);margin:0 0 12px;line-height:1.5}.field[data-v-4dd4a60a]{margin-bottom:10px}.field-label[data-v-4dd4a60a]{display:block;font-size:12px;color:var(--fg-muted);margin-bottom:4px}.text-input[data-v-4dd4a60a]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;box-sizing:border-box}.name-combo[data-v-4dd4a60a]{position:relative}.name-menu[data-v-4dd4a60a]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;margin:0;padding:4px;list-style:none;max-height:234px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f}.name-menu-head[data-v-4dd4a60a]{padding:4px 8px 6px;font-size:11px;color:var(--fg-muted);position:sticky;top:0;background:var(--bg)}.name-opt[data-v-4dd4a60a]{padding:8px 10px;font-size:14px;color:var(--fg);border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-opt[data-v-4dd4a60a]:hover{background:var(--accent-soft, #eef4ff);color:var(--accent)}.field-row[data-v-4dd4a60a]{display:flex;align-items:center;gap:16px}.num-input[data-v-4dd4a60a]{width:56px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font-size:13px}.block[data-v-4dd4a60a]{margin:10px 0}.block-label[data-v-4dd4a60a]{font-size:12px;color:var(--fg-muted);margin-bottom:6px}.block-hint[data-v-4dd4a60a]{font-size:11px;color:var(--fg-muted);opacity:.8;font-weight:400}.chips[data-v-4dd4a60a]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-4dd4a60a]{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px}.chip[data-v-4dd4a60a]:hover{border-color:var(--accent)}.chip.active[data-v-4dd4a60a]{background:var(--accent);border-color:var(--accent);color:#fff}.radios[data-v-4dd4a60a]{display:flex;flex-wrap:wrap;gap:12px}.radio[data-v-4dd4a60a]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:13px}.draw-row[data-v-4dd4a60a]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.draw-row.no-border[data-v-4dd4a60a]{margin-top:4px;padding-top:0;border-top:none}.tag-easy[data-v-4dd4a60a]{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft, #eef4ff);padding:1px 8px;border-radius:999px;vertical-align:middle}.card-408[data-v-4dd4a60a]{border-color:var(--accent)}.gen-btns[data-v-4dd4a60a]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gen-hint[data-v-4dd4a60a]{font-size:12px;color:var(--fg-muted);margin:10px 0 0}.divider-or[data-v-4dd4a60a]{display:flex;align-items:center;text-align:center;color:var(--fg-muted);font-size:12px;margin:16px 0 12px}.divider-or[data-v-4dd4a60a]:before,.divider-or[data-v-4dd4a60a]:after{content:"";flex:1;height:1px;background:var(--border)}.divider-or span[data-v-4dd4a60a]{padding:0 12px}.modal-mask[data-v-4dd4a60a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:20px;display:flex;align-items:center;justify-content:center;background:#00000061}.start-modal[data-v-4dd4a60a]{width:min(420px,92vw);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:0 12px 40px #00000038}.modal-title[data-v-4dd4a60a]{font-size:18px;margin:0 0 8px;font-weight:700;color:var(--fg)}.modal-main[data-v-4dd4a60a]{margin:0 0 10px;font-size:14px;color:var(--fg);line-height:1.5}.modal-facts[data-v-4dd4a60a]{margin:0 0 10px;padding-left:18px;color:var(--fg-muted);font-size:13px;line-height:1.7}.modal-note[data-v-4dd4a60a]{margin:0 0 16px;font-size:12px;color:var(--fg-muted);line-height:1.6}.modal-actions[data-v-4dd4a60a]{display:flex;justify-content:flex-end;gap:10px}.tray-head[data-v-4dd4a60a]{display:flex;align-items:center;justify-content:space-between}.tray-stat[data-v-4dd4a60a]{font-size:12px;color:var(--fg-muted);margin:4px 0 8px;font-variant-numeric:tabular-nums}.tray-note[data-v-4dd4a60a]{font-size:12px;line-height:1.5;color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:7px 10px;margin:0 0 8px}.tray-empty[data-v-4dd4a60a]{font-size:13px;color:var(--fg-muted);margin:8px 0}.tray-list[data-v-4dd4a60a]{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.tray-item[data-v-4dd4a60a]{display:flex;align-items:center;gap:8px;font-size:13px}.ti-subject[data-v-4dd4a60a]{flex-shrink:0;font-size:11px;color:var(--fg-muted)}.ti-type[data-v-4dd4a60a]{flex-shrink:0;font-size:11px;padding:1px 6px;border-radius:4px;background:var(--accent-soft, #eef4ff);color:var(--accent)}.ti-type.comprehensive[data-v-4dd4a60a]{background:var(--warn-soft);color:var(--warn)}.ti-stem[data-v-4dd4a60a]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ti-remove[data-v-4dd4a60a]{flex-shrink:0;border:none;background:none;color:var(--fg-muted);font-size:18px;cursor:pointer;line-height:1}.ti-remove[data-v-4dd4a60a]:hover{color:var(--danger)}.msg[data-v-4dd4a60a]{font-size:13px;color:var(--danger);margin:8px 0}.foot[data-v-4dd4a60a]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-4dd4a60a]{font:inherit;font-size:14px;padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn.ghost[data-v-4dd4a60a]{color:var(--fg-muted)}.btn.ghost[data-v-4dd4a60a]:hover{color:var(--fg)}.btn.primary[data-v-4dd4a60a]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.primary[data-v-4dd4a60a]:disabled{background:var(--border);border-color:var(--border);cursor:not-allowed}.btn.primary[data-v-4dd4a60a]:not(:disabled):hover{opacity:.92}.empty-card[data-v-4dd4a60a]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-4dd4a60a]{font-size:16px;font-weight:600;margin:0 0 12px}.exam-page[data-v-94f26bd2]{max-width:760px;margin:0 auto;padding-bottom:32px}.loading[data-v-94f26bd2],.err[data-v-94f26bd2]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-94f26bd2]{color:var(--danger)}.empty-card[data-v-94f26bd2]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-94f26bd2]{font-size:16px;font-weight:600;margin:0 0 8px}.empty-sub[data-v-94f26bd2]{font-size:13px;color:var(--fg-muted);margin:0 0 14px;line-height:1.5}.exam-head[data-v-94f26bd2],.result-head[data-v-94f26bd2]{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg, #fff);padding:10px 0;margin-bottom:8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.exam-head[data-v-94f26bd2]{position:sticky;top:0;z-index:20}.result-sticky[data-v-94f26bd2]{position:sticky;top:0;z-index:20;background:var(--bg, #fff);margin-bottom:12px;border-bottom:1px solid var(--border)}.result-sticky .result-head[data-v-94f26bd2]{margin-bottom:0;border-bottom:0;padding-bottom:6px}.result-sticky .num-strip[data-v-94f26bd2]{margin-bottom:0;padding:4px 0 10px}.rh-left[data-v-94f26bd2]{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.result-back[data-v-94f26bd2]{flex:none;border:1px solid var(--border);background:var(--bg, #fff);color:var(--fg);font-size:13px;font-weight:600;padding:5px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}.result-back[data-v-94f26bd2]:hover{border-color:var(--accent);color:var(--accent)}.paper-name[data-v-94f26bd2]{font-size:18px;margin:0;font-weight:700}.review-at[data-v-94f26bd2]{font-size:12px;font-weight:500;color:var(--fg-muted);margin-left:8px}.eh-meta[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted)}.eh-right[data-v-94f26bd2]{display:flex;align-items:center;gap:12px}.timer[data-v-94f26bd2]{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;color:var(--fg)}.timer.urgent[data-v-94f26bd2]{color:var(--danger)}.draft-on[data-v-94f26bd2]{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.exam-hint[data-v-94f26bd2]{margin:8px 0 0;padding:8px 12px;font-size:12px;line-height:1.6;color:var(--fg-muted);background:var(--accent-soft, #eef4ff);border-radius:8px}.num-strip[data-v-94f26bd2]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.num[data-v-94f26bd2]{position:relative;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;font-size:13px;font-variant-numeric:tabular-nums}.num-fav[data-v-94f26bd2]{position:absolute;top:-5px;right:-4px;font-size:11px;line-height:1;color:#f0b429;text-shadow:0 0 1px var(--bg),0 0 1px var(--bg);pointer-events:none}.num[data-v-94f26bd2]:hover{border-color:var(--accent)}.num.done[data-v-94f26bd2]{background:var(--accent-soft, #eef4ff);border-color:var(--accent);color:var(--accent)}.num.marked[data-v-94f26bd2]{border-color:var(--warn, #d97706);box-shadow:inset 0 0 0 2px #d977063d}.num:not(.state-correct):not(.state-wrong):not(.state-skip):not(.state-comp).marked[data-v-94f26bd2]{background:var(--warn-soft, #fff7d6);color:var(--warn, #9a6700);font-weight:700}.num.active[data-v-94f26bd2]{outline:2px solid var(--accent);outline-offset:1px}.num.state-correct[data-v-94f26bd2]{background:var(--success-soft);border-color:var(--success);color:var(--success)}.num.state-wrong[data-v-94f26bd2]{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:700}.num.state-skip[data-v-94f26bd2]{background:var(--bg-soft);color:var(--fg-muted)}.num.state-comp[data-v-94f26bd2]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.num-nav-action[data-v-94f26bd2]{font:inherit;font-size:12px;padding:6px 12px;border:1px solid var(--danger);border-radius:6px;background:var(--bg);color:var(--danger);cursor:pointer;margin-left:auto}.num-nav-action[data-v-94f26bd2]:hover{background:var(--danger-soft)}.num-nav-action.mark[data-v-94f26bd2]{border-color:var(--warn, #d97706);color:var(--warn, #9a6700);margin-left:0}.num-nav-action.mark[data-v-94f26bd2]:hover{background:var(--warn-soft, #fff7d6)}.card.review[data-v-94f26bd2]{scroll-margin-top:150px}.card[data-v-94f26bd2],.q-card[data-v-94f26bd2]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:12px}.q-meta[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted);margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qtype[data-v-94f26bd2]{padding:1px 8px;border-radius:4px;background:var(--accent-soft, #eef4ff);color:var(--accent)}.qtype.comprehensive[data-v-94f26bd2]{background:var(--warn-soft);color:var(--warn)}.review-mark-btn[data-v-94f26bd2],.review-mark-badge[data-v-94f26bd2]{border:1px solid var(--warn, #d97706);border-radius:999px;background:var(--bg);color:var(--warn, #9a6700);font-size:12px}.review-mark-btn[data-v-94f26bd2]{padding:2px 9px;cursor:pointer}.review-mark-btn.on[data-v-94f26bd2],.review-mark-badge[data-v-94f26bd2]{background:var(--warn-soft, #fff7d6);font-weight:600}.review-mark-badge[data-v-94f26bd2]{padding:1px 8px}.exam-feedback[data-v-94f26bd2]{margin-top:12px}.options[data-v-94f26bd2]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.opt[data-v-94f26bd2]{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font:inherit}.opt.chosen[data-v-94f26bd2]{border-color:var(--accent);background:var(--accent-soft, #eef4ff)}.opt.correct[data-v-94f26bd2]{border-color:var(--success, #16a34a);background:var(--success-soft)}.opt.wrong[data-v-94f26bd2]{border-color:var(--danger);background:var(--danger-soft)}.opt-key[data-v-94f26bd2]{flex-shrink:0;font-weight:700}.opt-text[data-v-94f26bd2]{flex:1;min-width:0}.comp-note[data-v-94f26bd2]{font-size:13px;color:var(--fg-muted);margin-top:12px;padding:10px;background:var(--bg-soft);border-radius:8px}.comp-answer[data-v-94f26bd2]{margin-top:12px}.ca-textarea[data-v-94f26bd2]{width:100%;box-sizing:border-box;min-height:120px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:14px;line-height:1.6}.ca-textarea[data-v-94f26bd2]:focus{outline:none;border-color:var(--accent)}.my-answer[data-v-94f26bd2]{margin-top:12px;padding:10px 12px;background:var(--bg-soft);border-radius:8px}.ma-label[data-v-94f26bd2]{font-size:12px;font-weight:600;color:var(--fg-muted);margin-bottom:4px}.ma-text[data-v-94f26bd2]{font-size:14px;line-height:1.6}.ca-tools[data-v-94f26bd2]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.ca-tool-btn[data-v-94f26bd2]{padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.ca-tool-btn[data-v-94f26bd2]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ca-tool-btn.on[data-v-94f26bd2]{border-color:var(--accent);background:var(--accent-soft, #eef4ff);color:var(--accent)}.ca-tool-btn[data-v-94f26bd2]:disabled{opacity:.5;cursor:not-allowed}.ca-preview[data-v-94f26bd2]{min-height:120px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-soft);font-size:14px;line-height:1.6}.ca-preview-raw[data-v-94f26bd2]{white-space:pre-wrap;word-break:break-word}.diagram-modal-mask[data-v-94f26bd2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006;display:flex;align-items:center;justify-content:center;padding:24px}.diagram-modal[data-v-94f26bd2]{width:min(1100px,96vw);height:min(720px,92vh);background:var(--bg);border-radius:12px;overflow:hidden;box-shadow:0 12px 48px #00000040}@media (max-width: 820px){.diagram-modal-mask[data-v-94f26bd2]{padding:0}.diagram-modal[data-v-94f26bd2]{width:100vw;height:100vh;border-radius:0}}.qnav[data-v-94f26bd2]{display:flex;justify-content:space-between;gap:10px}.qnav-right[data-v-94f26bd2]{display:flex;gap:10px;align-items:center}.summary[data-v-94f26bd2]{background:var(--bg-soft)}.sum-line[data-v-94f26bd2]{font-size:15px;margin-bottom:6px}.sum-line strong[data-v-94f26bd2]{color:var(--accent)}.sum-line.time[data-v-94f26bd2]{font-size:13px;color:var(--fg-muted)}.sum-line.time strong[data-v-94f26bd2]{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.sum-score[data-v-94f26bd2]{font-size:20px;font-weight:700;margin-bottom:6px}.sum-score strong[data-v-94f26bd2]{color:var(--warn)}.sum-line.comp[data-v-94f26bd2]{font-size:13px;color:var(--fg-muted)}.pending[data-v-94f26bd2]{color:var(--danger)}.sum-hint[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted);margin:6px 0 0}.score-toggle[data-v-94f26bd2]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--fg-muted);cursor:pointer}.rh-right[data-v-94f26bd2]{display:flex;align-items:center;gap:8px;flex-shrink:0}.layout-seg[data-v-94f26bd2]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.layout-seg .seg-btn[data-v-94f26bd2]{background:none;border:0;padding:4px 12px;font-size:12px;color:var(--fg-muted);cursor:pointer}.layout-seg .seg-btn.on[data-v-94f26bd2]{background:var(--accent);color:#fff}.kp-links[data-v-94f26bd2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.kp-links-label[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted)}.kp-chip[data-v-94f26bd2]{font-size:12px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;color:var(--accent);text-decoration:none;background:var(--bg, #fff)}.kp-chip[data-v-94f26bd2]:hover{border-color:var(--accent);background:var(--accent);color:#fff}.paged-nav[data-v-94f26bd2]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.paged-nav .pn-btn[data-v-94f26bd2]{background:none;border:1px solid var(--border);border-radius:8px;padding:7px 16px;font-size:13px;color:var(--fg);cursor:pointer}.paged-nav .pn-btn[data-v-94f26bd2]:disabled{opacity:.4;cursor:default}.paged-nav .pn-pos[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted)}.sum-total[data-v-94f26bd2]{font-size:22px;font-weight:700;margin:4px 0 8px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.sum-total strong[data-v-94f26bd2]{color:var(--accent);font-variant-numeric:tabular-nums}.est-tag[data-v-94f26bd2]{font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-soft);padding:1px 7px;border-radius:999px;align-self:center}.sum-total-note[data-v-94f26bd2]{font-size:12px;font-weight:400;color:var(--fg-muted)}.grade-all-row[data-v-94f26bd2]{display:flex;align-items:center;gap:10px;margin:4px 0 2px;flex-wrap:wrap}.ai-grade-row[data-v-94f26bd2]{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.ai-grade-btn[data-v-94f26bd2]{font:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.ai-grade-btn[data-v-94f26bd2]:disabled{opacity:.5;cursor:not-allowed}.ai-grade-note[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted)}.ai-grade-err[data-v-94f26bd2]{font-size:12px;color:var(--danger);margin:8px 0 0}.ai-grade-modal-mask[data-v-94f26bd2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a6b}.ai-grade-modal[data-v-94f26bd2]{width:min(440px,100%);background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:18px 20px;box-shadow:0 18px 48px #0f172a38}.ai-grade-modal h2[data-v-94f26bd2]{margin:0 0 10px;font-size:18px;line-height:1.4}.ai-grade-modal p[data-v-94f26bd2]{margin:0;font-size:14px;line-height:1.7;color:var(--fg)}.ai-grade-modal strong[data-v-94f26bd2]{color:var(--accent);font-variant-numeric:tabular-nums}.ai-grade-modal-note[data-v-94f26bd2]{margin-top:8px!important;color:var(--fg-muted)!important;font-size:13px!important}.ai-grade-modal-actions[data-v-94f26bd2]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.ai-grade-card[data-v-94f26bd2]{margin-top:12px;padding:12px 14px;background:var(--accent-soft, #eef4ff);border:1px solid var(--accent);border-radius:10px}.ai-grade-head[data-v-94f26bd2]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.ai-grade-score[data-v-94f26bd2]{font-size:18px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.ai-grade-tip[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted)}.ai-fb-list[data-v-94f26bd2]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ai-fb-row[data-v-94f26bd2]{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5}.ai-fb-part[data-v-94f26bd2]{flex-shrink:0;font-weight:600;color:var(--fg)}.ai-fb-hit[data-v-94f26bd2]{flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px}.g-full[data-v-94f26bd2]{background:var(--success-soft);color:var(--success)}.g-partial[data-v-94f26bd2]{background:var(--warn-soft);color:var(--warn)}.g-none[data-v-94f26bd2]{background:var(--danger-soft);color:var(--danger)}.ai-fb-comment[data-v-94f26bd2]{flex:1;min-width:0;color:var(--fg)}.ai-suggestion[data-v-94f26bd2]{font-size:13px;color:var(--fg);margin:12px 0 0;line-height:1.5}.comp-head[data-v-94f26bd2]{font-size:14px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.depk-tag[data-v-94f26bd2]{font-size:11px;font-weight:500;color:var(--fg-muted);background:var(--bg-soft);padding:1px 8px;border-radius:999px}.comp-roster[data-v-94f26bd2]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.comp-row[data-v-94f26bd2]{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:4px 0}.comp-row.me .comp-name[data-v-94f26bd2]{font-weight:700;color:var(--accent)}.comp-flag.done[data-v-94f26bd2]{color:var(--success, #16a34a);font-size:13px}.comp-flag.pending[data-v-94f26bd2]{color:var(--fg-muted);font-size:13px}.comp-count[data-v-94f26bd2]{font-size:14px;color:var(--fg);margin:0}.fav-btn[data-v-94f26bd2]{margin-left:auto;flex-shrink:0;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:12px;line-height:1.6}.fav-btn[data-v-94f26bd2]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fav-btn.active[data-v-94f26bd2]{border-color:#f0b429;color:#b7791f;background:#fffaf0}.fav-btn[data-v-94f26bd2]:disabled{opacity:.5;cursor:default}.fav-group-btn[data-v-94f26bd2]{flex-shrink:0;max-width:132px;padding:2px 10px;border:1px dashed var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:12px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-group-btn[data-v-94f26bd2]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fav-group-btn.active[data-v-94f26bd2]{border-style:solid;border-color:var(--warn);color:var(--warn);background:var(--warn-soft);font-weight:600}.fav-group-btn[data-v-94f26bd2]:disabled{opacity:.5;cursor:default}.fav-group-edit[data-v-94f26bd2]{position:relative;flex-shrink:0;display:inline-flex;align-items:center}.fav-group-input[data-v-94f26bd2]{width:116px;box-sizing:border-box;padding:3px 10px;border:1px solid var(--accent);border-radius:999px;background:var(--bg);color:var(--fg);font:inherit;font-size:12px;line-height:1.6;outline:none}.fav-group-input[data-v-94f26bd2]:disabled{opacity:.6}.fav-group-suggest[data-v-94f26bd2]{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:100%;max-width:200px;margin:0;padding:4px;list-style:none;background:var(--bg, #fff);border:1px solid var(--border, rgba(0,0,0,.12));border-radius:8px;box-shadow:0 6px 20px #0000001f}.fav-group-suggest-item[data-v-94f26bd2]{padding:5px 10px;border-radius:6px;font-size:12px;color:var(--fg);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-group-suggest-item[data-v-94f26bd2]:hover{background:var(--accent-soft);color:var(--accent)}.note-btn[data-v-94f26bd2]{flex-shrink:0;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:12px;line-height:1.6}.note-btn[data-v-94f26bd2]:hover{border-color:var(--accent);color:var(--accent)}.note-btn.active[data-v-94f26bd2]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, #eef4ff)}.note-pane[data-v-94f26bd2]{margin-top:12px}.mastered-btn[data-v-94f26bd2],.skip-btn[data-v-94f26bd2]{flex-shrink:0;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);cursor:pointer;font-size:12px;line-height:1.6}.mastered-btn[data-v-94f26bd2]:disabled,.skip-btn[data-v-94f26bd2]:disabled{opacity:.5;cursor:default}.mastered-btn[data-v-94f26bd2]:hover:not(:disabled){border-color:var(--success);color:var(--success)}.mastered-btn.active[data-v-94f26bd2]{border-color:var(--success);color:var(--success);background:var(--success-soft, #e9f7ef);font-weight:600}.skip-btn[data-v-94f26bd2]:hover:not(:disabled){border-color:var(--fg-muted);color:var(--fg)}.skip-btn.active[data-v-94f26bd2]{border-color:var(--fg-muted);color:var(--fg-muted);background:var(--bg-soft, rgba(120,120,120,.1));font-weight:600}.note-textarea[data-v-94f26bd2]{width:100%;box-sizing:border-box;resize:vertical;min-height:64px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--fg);font:inherit;font-size:14px;line-height:1.6}.note-textarea[data-v-94f26bd2]:focus{outline:none;border-color:var(--accent);background:var(--bg)}.note-status[data-v-94f26bd2]{margin-top:4px;font-size:12px;color:var(--fg-muted)}.note-status .err[data-v-94f26bd2]{color:var(--danger)}.q-time[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.verdict[data-v-94f26bd2]{padding:1px 8px;border-radius:4px;font-weight:600}.verdict.ok[data-v-94f26bd2]{color:var(--success, #16a34a)}.verdict.no[data-v-94f26bd2]{color:var(--danger)}.verdict.skip[data-v-94f26bd2]{color:var(--fg-muted)}.comp-eval[data-v-94f26bd2]{margin-top:12px;padding:10px 12px;background:var(--bg-soft);border-radius:8px}.eval-label[data-v-94f26bd2]{font-size:12px;color:var(--fg-muted);margin-bottom:6px}.eval-btns[data-v-94f26bd2]{display:flex;gap:8px}.eval-btn[data-v-94f26bd2]{padding:5px 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px}.eval-btn.on[data-v-94f26bd2]{background:var(--accent);border-color:var(--accent);color:#fff}.reason[data-v-94f26bd2]{margin-top:12px;padding:10px 12px;background:var(--danger-soft);border-radius:8px}.reason-label[data-v-94f26bd2]{font-size:12px;font-weight:600;color:var(--danger);margin-bottom:4px}.exp[data-v-94f26bd2]{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.exp summary[data-v-94f26bd2]{cursor:pointer;font-size:13px;color:var(--accent);font-weight:600}.exp[open] summary[data-v-94f26bd2]{margin-bottom:10px}.exp-body[data-v-94f26bd2]{padding:12px 14px;background:var(--bg-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.toast[data-v-94f26bd2]{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:200;padding:10px 18px;border-radius:999px;background:#0f172ad9;color:#fff;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000026;pointer-events:none}.result-foot[data-v-94f26bd2]{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.btn[data-v-94f26bd2]{font:inherit;font-size:14px;padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn.ghost[data-v-94f26bd2]{color:var(--fg-muted)}.btn.ghost[data-v-94f26bd2]:disabled{opacity:.4;cursor:not-allowed}.btn.ghost[data-v-94f26bd2]:not(:disabled):hover{color:var(--fg)}.btn.ghost.on[data-v-94f26bd2]{color:var(--accent);border-color:var(--accent);font-weight:600}.btn.primary[data-v-94f26bd2]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.primary[data-v-94f26bd2]:disabled{background:var(--border);border-color:var(--border);cursor:not-allowed}.btn.primary[data-v-94f26bd2]:not(:disabled):hover{opacity:.92}.btn.warn[data-v-94f26bd2]{color:var(--warn, #9a6700);border-color:var(--warn, #d97706);background:var(--warn-soft, #fff7d6)}.btn.warn[data-v-94f26bd2]:hover{filter:brightness(.98)}.join-page[data-v-04acbf1e]{max-width:480px;margin:32px auto}.loading[data-v-04acbf1e]{color:var(--fg-muted);text-align:center;padding:32px 0}.card[data-v-04acbf1e]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px 22px;text-align:center}.from[data-v-04acbf1e]{font-size:13px;color:var(--accent);margin:0 0 8px}.name[data-v-04acbf1e]{font-size:22px;margin:0 0 10px;font-weight:700}.big[data-v-04acbf1e]{font-size:18px;font-weight:600;margin:0 0 8px}.meta[data-v-04acbf1e]{font-size:13px;color:var(--fg-muted);margin:0 0 4px}.depk[data-v-04acbf1e]{font-size:12px;color:var(--fg-muted);margin:0 0 20px}.sub[data-v-04acbf1e]{font-size:13px;color:var(--fg-muted);margin:0 0 16px;line-height:1.5}.denied[data-v-04acbf1e]{color:var(--danger)}.btn[data-v-04acbf1e]{font:inherit;font-size:14px;padding:9px 20px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn.primary[data-v-04acbf1e]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.primary[data-v-04acbf1e]:disabled{background:var(--border);border-color:var(--border)}.big-btn[data-v-04acbf1e]{font-size:15px;padding:11px 28px}.ans-page[data-v-26f63407]{max-width:820px;margin:0 auto}.header-row[data-v-26f63407]{margin-bottom:16px}.title[data-v-26f63407]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-26f63407]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.loading[data-v-26f63407],.err[data-v-26f63407]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-26f63407]{color:var(--danger)}.empty-card[data-v-26f63407]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-26f63407]{font-size:16px;font-weight:600;margin:0 0 6px}.empty-hint[data-v-26f63407]{font-size:13px;color:var(--fg-muted);margin:0 0 16px;line-height:1.5}.btn[data-v-26f63407]{font:inherit;font-size:14px;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn-primary[data-v-26f63407]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500}.count-line[data-v-26f63407]{font-size:12px;color:var(--fg-muted);margin:0 0 10px}.ans-list[data-v-26f63407]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ans-card[data-v-26f63407]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .12s}.ans-card[data-v-26f63407]:hover{border-color:var(--accent)}.ac-top[data-v-26f63407]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ac-meta[data-v-26f63407]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-muted);flex-wrap:wrap}.ac-subject[data-v-26f63407]{color:var(--accent)}.ac-grade[data-v-26f63407]{margin-left:auto;font-size:12px;color:var(--warn);background:var(--warn-soft);padding:2px 9px;border-radius:999px;font-weight:600;white-space:nowrap}.ac-grade-none[data-v-26f63407]{color:var(--fg-muted);background:var(--bg-soft);font-weight:500}.ac-stem[data-v-26f63407]{font-size:14px;color:var(--fg);margin-bottom:4px}.ac-content[data-v-26f63407]{font-size:13px;color:var(--fg-muted);line-height:1.5}.ac-content-empty[data-v-26f63407]{font-style:italic;opacity:.7}.ac-foot[data-v-26f63407]{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12px;color:var(--fg-muted)}.af-date[data-v-26f63407]{margin-left:auto}.detail-page[data-v-99afb975]{max-width:820px;margin:0 auto}.back-link[data-v-99afb975]{background:none;border:none;color:var(--fg-muted);font:inherit;font-size:13px;cursor:pointer;padding:0;margin-bottom:14px}.back-link[data-v-99afb975]:hover{color:var(--accent)}.loading[data-v-99afb975],.err[data-v-99afb975]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-99afb975]{color:var(--danger)}.empty-card[data-v-99afb975]{text-align:center;padding:48px 20px;background:var(--bg-soft);border-radius:12px;border:1px dashed var(--border)}.empty-title[data-v-99afb975]{font-size:16px;font-weight:600;margin:0 0 12px}.btn[data-v-99afb975]{font:inherit;font-size:14px;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.btn-primary[data-v-99afb975]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500}.head[data-v-99afb975]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px}.head-meta[data-v-99afb975]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--fg-muted);margin-bottom:8px;flex-wrap:wrap}.hm-subject[data-v-99afb975]{color:var(--accent)}.hm-score[data-v-99afb975]{background:var(--bg-soft);padding:1px 8px;border-radius:999px}.head-stem[data-v-99afb975]{font-size:14px;color:var(--fg);line-height:1.6;margin:0 0 14px;white-space:pre-wrap}.go-btn[data-v-99afb975]{display:inline-block}.block[data-v-99afb975]{margin-bottom:18px}.block-title[data-v-99afb975]{font-size:15px;font-weight:700;margin:0 0 10px}.block-title .count[data-v-99afb975]{font-size:12px;font-weight:500;color:var(--fg-muted);margin-left:6px}.muted[data-v-99afb975]{font-size:13px;color:var(--fg-muted);line-height:1.6;margin:0}.answer-box[data-v-99afb975]{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--fg);white-space:pre-wrap;word-break:break-word;max-height:360px;overflow-y:auto}.ver-list[data-v-99afb975]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.ver-card[data-v-99afb975]{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.ver-head[data-v-99afb975]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ver-no[data-v-99afb975]{font-size:13px;font-weight:600}.ver-score[data-v-99afb975]{font-size:12px;color:var(--warn);background:var(--warn-soft);padding:2px 9px;border-radius:999px;font-weight:600}.ver-time[data-v-99afb975]{margin-left:auto;font-size:12px;color:var(--fg-muted)}.ver-answer[data-v-99afb975]{margin-bottom:10px;max-height:240px}.ver-photos[data-v-99afb975]{margin-bottom:10px}.photo-tag[data-v-99afb975]{display:inline-block;font-size:11px;color:var(--fg-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:1px 9px;margin-bottom:8px}.photo-grid[data-v-99afb975]{display:flex;flex-wrap:wrap;gap:8px}.photo-thumb[data-v-99afb975]{display:block;width:110px;height:110px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-soft)}.photo-thumb img[data-v-99afb975]{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb.loading[data-v-99afb975]{display:flex;align-items:center;justify-content:center;cursor:default}.photo-ph[data-v-99afb975]{font-size:12px;color:var(--fg-muted)}.ai-recognized[data-v-99afb975]{margin:0 0 10px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.ai-recognized-label[data-v-99afb975]{font-size:12px;font-weight:600;color:var(--fg-muted)}.ai-recognized-body[data-v-99afb975]{font-size:13px;color:var(--fg);margin:6px 0 0;line-height:1.6;white-space:pre-wrap;word-break:break-word}.fb-list[data-v-99afb975]{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.fb-row[data-v-99afb975]{display:flex;align-items:baseline;gap:8px;font-size:13px}.fb-part[data-v-99afb975]{font-weight:600;min-width:34px}.fb-hit[data-v-99afb975]{font-size:11px;padding:1px 7px;border-radius:999px;white-space:nowrap}.fb-hit.g-full[data-v-99afb975]{color:var(--success);background:var(--success-soft)}.fb-hit.g-partial[data-v-99afb975]{color:var(--warn);background:var(--warn-soft)}.fb-hit.g-none[data-v-99afb975]{color:var(--danger);background:var(--danger-soft)}.fb-comment[data-v-99afb975]{color:var(--fg-muted);line-height:1.5}.fb-suggestion[data-v-99afb975]{font-size:13px;color:var(--fg);background:var(--bg-soft);border-radius:8px;padding:8px 12px;margin:0 0 10px;line-height:1.5}.ver-foot[data-v-99afb975]{display:flex;justify-content:flex-end}.ver-continue[data-v-99afb975]{font-size:13px;padding:6px 14px}.ver-continue[data-v-99afb975]:hover{border-color:var(--accent);color:var(--accent)}.disclaimer[data-v-99afb975]{font-size:12px;color:var(--fg-muted);margin:12px 0 0;line-height:1.5}.re-page[data-v-49a3a79c]{max-width:880px;margin:0 auto}.header-row[data-v-49a3a79c]{margin-bottom:16px}.title[data-v-49a3a79c]{font-size:24px;margin:0 0 4px;font-weight:700}.subtitle[data-v-49a3a79c]{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5;max-width:620px}.loading[data-v-49a3a79c],.err[data-v-49a3a79c]{color:var(--fg-muted);text-align:center;padding:32px 0}.err[data-v-49a3a79c]{color:var(--danger)}.year-grid[data-v-49a3a79c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.year-card[data-v-49a3a79c]{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:left}.year-card.done[data-v-49a3a79c],.year-card[data-v-49a3a79c]:hover{border-color:var(--accent)}.yc-main[data-v-49a3a79c]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;cursor:pointer}.yc-year[data-v-49a3a79c]{font-size:22px;font-weight:700;color:var(--fg)}.yc-meta[data-v-49a3a79c]{font-size:12px;color:var(--fg-muted)}.yc-attempt[data-v-49a3a79c]{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.yc-actions[data-v-49a3a79c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.yc-go[data-v-49a3a79c]{font:inherit;font-size:13px;color:var(--accent);background:none;border:none;padding:0;cursor:pointer}.yc-go[data-v-49a3a79c]:hover{text-decoration:underline}.yc-review[data-v-49a3a79c]{font:inherit;font-size:12px;color:var(--fg-muted);background:none;border:1px solid var(--border);border-radius:999px;padding:2px 10px;cursor:pointer}.yc-review[data-v-49a3a79c]:hover{border-color:var(--accent);color:var(--accent)}.hero[data-v-5111b6e6]{padding:26px 28px;margin-bottom:16px;background:linear-gradient(135deg,#eef4ff,#f6f9ff 60%,#fff);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}.hero-title[data-v-5111b6e6]{margin:0 0 8px;font-size:24px;font-weight:700;color:#16213a}.hero-lede[data-v-5111b6e6]{margin:0;color:#4a5568;font-size:14px;line-height:1.7;max-width:640px}.section-title[data-v-5111b6e6]{margin:0 0 12px;font-size:18px;display:flex;align-items:center;gap:9px}.section-title[data-v-5111b6e6]:before{content:"";width:4px;height:17px;border-radius:2px;background:var(--accent);flex-shrink:0}.section-intro[data-v-5111b6e6]{margin:-2px 0 16px;color:var(--fg-muted);font-size:13px}.login-hint[data-v-5111b6e6]{padding:18px 20px;border:1px dashed var(--border);border-radius:12px;color:var(--fg-muted);font-size:13.5px;line-height:1.7;background:var(--bg-soft, #f7f8fa)}.login-hint .link-btn[data-v-5111b6e6]{border:none;background:none;padding:0;cursor:pointer;color:var(--accent);font-weight:600;font-size:inherit;font-family:inherit}.login-hint .link-btn[data-v-5111b6e6]:hover{text-decoration:underline}.guide-grid[data-v-5111b6e6]{display:flex;flex-direction:column;gap:10px}.guide-row[data-v-5111b6e6]{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dashed var(--border)}.guide-row[data-v-5111b6e6]:last-child{border-bottom:0}.guide-tag[data-v-5111b6e6]{flex-shrink:0;min-width:110px;font-size:12px;font-weight:600;color:var(--accent);padding:3px 10px;border-radius:999px;background:var(--accent-soft, #eef4ff);text-align:center}.guide-text[data-v-5111b6e6]{font-size:13px;color:var(--fg-muted);line-height:1.7}.guide-text a[data-v-5111b6e6]{color:var(--accent);font-weight:600;text-decoration:none}.guide-text a[data-v-5111b6e6]:hover{text-decoration:underline}@media (max-width: 480px){.entries[data-v-5111b6e6]{grid-template-columns:1fr}.guide-row[data-v-5111b6e6]{flex-direction:column;gap:6px}.guide-tag[data-v-5111b6e6]{min-width:0;align-self:flex-start}}.lb-page[data-v-208d925d]{padding:20px 24px 60px;max-width:720px;margin:0 auto}.page-head[data-v-208d925d]{margin-bottom:20px}.page-title[data-v-208d925d]{font-size:26px;font-weight:700;margin:0 0 6px}.page-lede[data-v-208d925d]{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.state-card[data-v-208d925d]{text-align:center;padding:48px 24px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px}.state-title[data-v-208d925d]{font-size:16px;font-weight:600;margin:0 0 8px}.state-hint[data-v-208d925d]{color:var(--fg-muted);font-size:14px;margin:0 0 16px;line-height:1.6}.state-hint.pad[data-v-208d925d]{padding:32px 0}.row-btns[data-v-208d925d]{display:flex;gap:10px;justify-content:center}.btn[data-v-208d925d]{padding:8px 18px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:14px}.btn-primary[data-v-208d925d]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn[data-v-208d925d]:hover{opacity:.9}.btn[data-v-208d925d]:disabled{opacity:.5;cursor:default}.consent[data-v-208d925d]{background:var(--accent-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:16px}.consent-text[data-v-208d925d]{margin:0 0 10px;font-size:13px;color:var(--fg);line-height:1.5}.consent-acts[data-v-208d925d]{display:flex;flex-wrap:wrap;gap:8px}.btn-sm[data-v-208d925d]{padding:5px 12px;border:1px solid var(--border);border-radius:7px;background:var(--bg);cursor:pointer;font-size:13px}.btn-sm.primary[data-v-208d925d]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-sm.quiet[data-v-208d925d]{color:var(--fg-muted)}.btn-sm[data-v-208d925d]:disabled{opacity:.5;cursor:default}.chooser[data-v-208d925d]{max-width:560px;margin:8px auto 0}.chooser-title[data-v-208d925d]{font-size:18px;font-weight:600;margin:0 0 4px}.chooser-sub[data-v-208d925d]{color:var(--fg-muted);font-size:13px;margin:0 0 18px}.opt-list[data-v-208d925d]{display:flex;flex-direction:column;gap:12px}.opt[data-v-208d925d]{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}.opt[data-v-208d925d]:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.opt[data-v-208d925d]:disabled{opacity:.6;cursor:default}.opt.cur[data-v-208d925d]{border-color:var(--accent)}.opt-quiet[data-v-208d925d]{background:var(--bg-soft)}.opt-name[data-v-208d925d]{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.cur-tag[data-v-208d925d]{font-size:11px;font-weight:500;color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.opt-desc[data-v-208d925d]{font-size:13px;color:var(--fg-muted);line-height:1.5}.err-line[data-v-208d925d]{color:var(--danger);font-size:13px;margin-top:12px}.link-back[data-v-208d925d]{margin-top:18px;background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.meta-bar[data-v-208d925d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.meta-participants[data-v-208d925d]{font-size:13px;color:var(--fg-muted)}.meta-mode[data-v-208d925d]{font-size:13px;color:var(--accent);background:none;border:none;cursor:pointer;padding:4px 0}.meta-mode[data-v-208d925d]:hover{text-decoration:underline}.metric-tabs[data-v-208d925d]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.metric-tab[data-v-208d925d]{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer;font-size:13px;color:var(--fg-muted)}.metric-tab.active[data-v-208d925d]{background:#111;color:#fff;border-color:#111}.period-tabs[data-v-208d925d]{display:inline-flex;gap:4px;margin-bottom:14px;background:var(--bg-soft);padding:3px;border-radius:8px}.period-tab[data-v-208d925d]{padding:4px 14px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;color:var(--fg-muted)}.period-tab.active[data-v-208d925d]{background:var(--bg);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #00000014}.period-note[data-v-208d925d]{font-size:12px;color:var(--fg-muted);margin-bottom:14px}.board-caption[data-v-208d925d]{font-size:12px;color:var(--fg-muted);line-height:1.6;margin:-4px 0 14px;padding:8px 12px;background:var(--bg-soft);border-radius:8px}.list-panel[data-v-208d925d]{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.toponly-note[data-v-208d925d]{font-size:12px;color:var(--fg-muted);padding:12px 16px 0;margin:0}.lb-list[data-v-208d925d]{list-style:none;margin:0;padding:8px}.lb-row[data-v-208d925d]{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px}.lb-row+.lb-row[data-v-208d925d]{border-top:1px solid var(--border)}.lb-row.me[data-v-208d925d]{background:var(--accent-soft)}.rk[data-v-208d925d]{flex:0 0 32px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg-muted);font-size:15px}.rk-1[data-v-208d925d]{color:#c79a2b}.rk-2[data-v-208d925d]{color:#8a99a8}.rk-3[data-v-208d925d]{color:#b07a4a}.nm[data-v-208d925d]{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0}.nm>span[data-v-208d925d]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anon[data-v-208d925d]{color:var(--fg-muted);font-style:italic}.me-tag[data-v-208d925d]{flex:0 0 auto;font-size:11px;color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.sc[data-v-208d925d]{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg)}.my-rank[data-v-208d925d]{padding:14px 16px;border-top:1px solid var(--border);font-size:14px;color:var(--fg-muted);background:var(--bg-soft)}.my-rank b[data-v-208d925d]{color:var(--accent);font-size:16px}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
