.fb-item[data-v-4670405d]{padding:12px 0;border-bottom:1px solid #f0f0f0}.fb-item[data-v-4670405d]:last-child{border-bottom:none}.fb-head[data-v-4670405d]{display:flex;align-items:center;gap:10px}.fb-name[data-v-4670405d]{font-weight:600;color:#333}.fb-time[data-v-4670405d]{font-size:12px;color:#bbb}.fb-like[data-v-4670405d]{font-size:12px;color:#999}.fb-content[data-v-4670405d]{margin-top:6px;color:#444;white-space:pre-wrap;word-break:break-word;line-height:1.6}.fb-empty[data-v-4670405d]{text-align:center;color:#999;padding:30px}.page-title[data-v-70eb7a83]{font-size:20px;color:#2f7cf6;font-weight:500}.page-subtitle[data-v-70eb7a83]{font-size:13px;color:#999;margin:4px 0 0}.card-header[data-v-70eb7a83]{margin-bottom:6px}.maint-btn[data-v-70eb7a83]{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:2px 12px;border:1px solid #ffe58f;border-radius:12px;background:#fffbe6;cursor:pointer;font-size:12px;color:#d48806;font-weight:400;vertical-align:middle}.maint-btn[data-v-70eb7a83]:hover{background:#fff1b8}.maint-panel[data-v-70eb7a83]{margin:0 0 16px;padding:14px 16px;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;font-size:13px;line-height:1.8;color:#666}.maint-panel h4[data-v-70eb7a83]{margin:0 0 6px;color:#d48806;font-size:13px}.maint-panel p[data-v-70eb7a83]{margin:2px 0}.maint-panel hr[data-v-70eb7a83]{border:none;border-top:1px dashed #ffe58f;margin:8px 0}.maint-panel code[data-v-70eb7a83]{background:#fff;border:1px solid #f0d9a0;border-radius:3px;padding:0 4px;color:#c0392b;font-family:Consolas,Monaco,monospace;font-size:12px}.cat-grid[data-v-70eb7a83]{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.cat-card[data-v-70eb7a83]{background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #f0f0f0}.cat-card[data-v-70eb7a83]:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.cat-tab[data-v-70eb7a83]{height:6px;width:40%;margin-left:16px;border-radius:0 0 4px 4px}.cat-body[data-v-70eb7a83]{padding:18px 20px}.cat-top[data-v-70eb7a83]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cat-icon[data-v-70eb7a83]{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.cat-icon svg[data-v-70eb7a83]{width:22px;height:22px}.cat-name[data-v-70eb7a83]{font-size:16px;font-weight:600}.cat-desc[data-v-70eb7a83]{font-size:12px;color:#999;margin-top:2px}.cat-stats[data-v-70eb7a83]{display:flex;gap:16px;padding-top:12px;border-top:1px solid #f5f5f5}.cat-stat[data-v-70eb7a83]{font-size:12px;color:#999}.cat-stat strong[data-v-70eb7a83]{display:block;font-size:18px;color:#333;font-weight:600}.cat-stat strong.green[data-v-70eb7a83]{color:#52c41a}.sub-header[data-v-70eb7a83]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cat-title[data-v-70eb7a83]{font-size:18px;font-weight:600}.sub-filters[data-v-70eb7a83]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.paper-list[data-v-70eb7a83]{display:flex;flex-direction:column;gap:8px}.paper-row[data-v-70eb7a83]{background:#fff;border:1px solid #ececec;border-radius:8px;padding:10px 14px;cursor:pointer;transition:all .15s}.paper-row[data-v-70eb7a83]:hover{border-color:#1890ff;box-shadow:0 2px 8px rgba(24,144,255,.1)}.pr-line1[data-v-70eb7a83]{display:flex;align-items:center;gap:8px}.pr-title[data-v-70eb7a83]{font-size:14px;font-weight:600;color:#222}.lock-badge[data-v-70eb7a83]{font-size:11px;padding:1px 7px;border-radius:3px;background:#fff7e6;color:#d46b08;border:1px solid #ffd591;font-weight:500}.pr-id[data-v-70eb7a83]{font-size:11px;font-weight:600;padding:1px 9px;border-radius:999px;border:1px solid #d9d9d9;background:#fafafa;color:#8c8c8c;cursor:pointer;line-height:1.6;transition:all .2s}.pr-id[data-v-70eb7a83]:hover{border-color:#8c8c8c;background:#f0f0f0;color:#333}.pr-year[data-v-70eb7a83]{font-size:11px;padding:1px 6px;border-radius:3px;background:#f0f0f0;color:#666;font-weight:500}.pr-src[data-v-70eb7a83]{font-size:11px;padding:1px 7px;border-radius:3px;background:#e6f7ff;color:#1890ff;font-weight:500}.pr-line1-right[data-v-70eb7a83]{margin-left:auto;display:flex;align-items:center;gap:10px}.stars-inline[data-v-70eb7a83]{display:inline-block;height:20px}.pr-cut[data-v-70eb7a83]{display:flex;gap:5px}.cut-badge[data-v-70eb7a83]{padding:1px 7px;border-radius:3px;font-weight:600;font-size:11px}.cut-badge.c1[data-v-70eb7a83]{background:#fff1f0;color:#f5222d}.cut-badge.c2[data-v-70eb7a83]{background:#fff7e6;color:#fa8c16}.pr-line2[data-v-70eb7a83]{display:flex;align-items:center;gap:12px;margin-top:4px}.pr-problems[data-v-70eb7a83]{display:flex;flex-wrap:wrap;gap:5px}.pr-pb[data-v-70eb7a83]{font-size:11px;padding:2px 7px;border-radius:4px;background:#fafafa;border:1px solid #f0f0f0;color:#555}.pr-pb b[data-v-70eb7a83]{color:#1890ff;margin-right:3px;font-weight:600}.session-badge[data-v-70eb7a83]{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:11px;font-size:12px;font-weight:500;line-height:1.4}.session-count[data-v-70eb7a83]{font-size:14px;font-weight:700}.session-has[data-v-70eb7a83]{background:#fffbe6;color:#d48806;border:1px solid #ffe58f}.session-none[data-v-70eb7a83]{background:#f5f5f5;color:#bbb;border:1px solid #eee}.fb-badge[data-v-70eb7a83]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:11px;font-size:12px;font-weight:500;line-height:1.4;background:#f9f0ff;color:#722ed1;border:1px solid #d3adf7}.pr-meta[data-v-70eb7a83]{font-size:11px;color:#bbb}.dot-unused[data-v-70eb7a83]{background:#52c41a}.dot-unused[data-v-70eb7a83],.dot-used[data-v-70eb7a83]{width:7px;height:7px;border-radius:50%;display:inline-block}.dot-used[data-v-70eb7a83]{background:#faad14}.pr-meta-line[data-v-70eb7a83]{font-size:11px;color:#bbb;display:flex;gap:12px}.meta-badge[data-v-70eb7a83]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;line-height:1.4}.badge-acm[data-v-70eb7a83]{background:#e6f7ff;color:#1890ff}.badge-oi[data-v-70eb7a83]{background:#f9f0ff;color:#722ed1}.badge-pending[data-v-70eb7a83]{background:#fff7e6;color:#fa8c16}.badge-running[data-v-70eb7a83]{background:#f6ffed;color:#52c41a}.badge-ended[data-v-70eb7a83]{background:#f5f5f5;color:#999}.running-dot[data-v-70eb7a83]{width:6px;height:6px;border-radius:50%;background:#52c41a;animation:badge-pulse-70eb7a83 1.5s infinite}@keyframes badge-pulse-70eb7a83{0%,to{opacity:1}50%{opacity:.25}}.pr-actions[data-v-70eb7a83]{display:flex;gap:3px;margin-left:auto;flex-wrap:wrap;align-items:center}.pr-actions .el-button--mini[data-v-70eb7a83]{padding:4px 6px;margin-left:0}.pr-actions .el-button--mini i[data-v-70eb7a83]{font-size:12px}.vis-toggle[data-v-70eb7a83]{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#888;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vis-switch[data-v-70eb7a83]{width:28px;height:16px;border-radius:8px;background:#ccc;position:relative;transition:background .2s}.vis-switch[data-v-70eb7a83]:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s}.vis-toggle.on .vis-switch[data-v-70eb7a83]{background:#52c41a}.vis-toggle.on .vis-switch[data-v-70eb7a83]:after{left:14px}.detail-title[data-v-70eb7a83]{font-size:20px;font-weight:600;margin:8px 0 6px}.detail-meta[data-v-70eb7a83]{gap:8px}.detail-meta[data-v-70eb7a83],.toolbar[data-v-70eb7a83]{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar[data-v-70eb7a83]{justify-content:space-between;gap:10px}.toolbar-left[data-v-70eb7a83],.toolbar-right[data-v-70eb7a83]{display:flex;align-items:center;gap:8px}.tb-label[data-v-70eb7a83]{font-size:13px;color:#666}.rank-num[data-v-70eb7a83]{font-weight:600;color:#666}.rank-num.top[data-v-70eb7a83]{color:#fa8c16;font-weight:700}.stu-name[data-v-70eb7a83]{font-weight:500}.total-score[data-v-70eb7a83]{font-weight:700;color:#1890ff}.pb-cell[data-v-70eb7a83]{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}.pb-time[data-v-70eb7a83]{font-size:11px;color:#999;margin-top:2px}.pb-score[data-v-70eb7a83]{display:inline-block;min-width:42px;padding:2px 8px;border-radius:4px;font-weight:600;font-size:13px}.pb-score.high[data-v-70eb7a83]{background:#d9f7be;color:#389e0d}.pb-score.mid[data-v-70eb7a83]{background:#fffbe6;color:#d48806}.pb-score.low[data-v-70eb7a83]{background:#fff1f0;color:#cf1322}.pb-score.zero[data-v-70eb7a83]{background:#f5f5f5;color:#bbb}.empty-state[data-v-70eb7a83]{text-align:center;padding:40px 0;color:#999}