/* 成绩（grades.js、pages/grades.js，docs/specs/grades.md）。归 M2 课程中心。类名都带 gr- 前缀。 */
.gr-row { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.gr-row + .gr-row { border-top: 1px solid var(--line); }
.gr-m { flex: 1; min-width: 0; }
.gr-t { font-size: 14px; color: var(--ink); overflow-wrap: anywhere; }
.gr-c { color: var(--muted); margin-right: 8px; }
.gr-d { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; color: var(--muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.gr-s { flex: none; font-size: 15px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.gr-hide { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px;
  background: none; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.gr-hide:hover { color: var(--ink); border-color: var(--faint); }
.gr-hide span { letter-spacing: 2px; }
.gr-end { display: inline-flex; align-items: center; gap: 14px; }
.gr-all { font-size: 13px; }
.gr-note { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; }
.gr-note .ic { width: 16px; height: 16px; }
.gr-lead { margin: 6px 0 0; color: var(--muted); font-size: 13.5px; }
.page > .page-h + .gr-body { margin-top: 28px; }
.gr-back .ic { width: 18px; height: 18px; margin-left: -6px; }
@media (max-width: 759.98px) {
  .page > .page-h + .gr-body { margin-top: 22px; }
}
