/* Site-wide: only clickable things answer the mouse with motion; static cards stay still. */
.card:hover, .fancy-card:hover, .research-card:hover, .teaching-card:hover, .desktop-card:hover { transform: none; }

/* Surfaces follow DESIGN.md's Flat-Card Rule: white with one hairline, no gradient, no shadow,
   no coloured rail; hover may only deepen the hairline. (The homepage's cards are styled in
   its own fragment.) */
.research-card, .teaching-card, .toc-card, .toc-toggle, .course-head .course-description {
    background: var(--bg-card-light);
    box-shadow: none;
    border-color: #e6dfd4;
}
.research-card { border: 1px solid #e6dfd4; }
.research-card:hover, .teaching-card:hover { box-shadow: none; border-color: #d6cdbd; }
[data-bs-theme="dark"] .research-card, [data-bs-theme="dark"] .teaching-card,
[data-bs-theme="dark"] .toc-card, [data-bs-theme="dark"] .toc-toggle,
[data-bs-theme="dark"] .course-head .course-description {
    background: var(--bg-card-dark);
    box-shadow: none;
    border-color: #283544;
}
[data-bs-theme="dark"] .research-card:hover, [data-bs-theme="dark"] .teaching-card:hover { border-color: #36475a; }
.course-accent { display: none; }

/* Paper chips are quiet metadata, not coloured pills. */
.paper-tag { color: #5a6a7a; background: transparent; border-color: #e6dfd4; }
[data-bs-theme="dark"] .paper-tag { color: #a8b0b8; background: transparent; border-color: #36475a; }

/* Section titles start at one x on every page: the icons beside them differ in width. */
.section-subtitle > i { width: 1.75rem; flex: none; text-align: center; }

/* Anything a visitor must read meets AA (4.5:1); the old greys sat just under it. */
.role-label, .years-text, .course-level, .course-desc, .toc-toggle-hint, .appendix-items { color: #5a6a7a; }
.appendix-label { color: var(--color-primary); text-transform: none; letter-spacing: normal; font-weight: 600; }
.flow-numeral { color: var(--color-primary); }
.chinese-name { color: var(--color-accent-dark); }
[data-bs-theme="dark"] .chinese-name { color: var(--color-accent); }
