Thanks! That was my original version but I preferred something a bit more subtle.
If anyone wanted to try this you can use this userscript:
Bunpro SRS Card Border Highlight
// ==UserScript==
// @name Bunpro SRS Card Border Highlight
// @namespace https://greasyfork.org/users/230700
// @version 1.0.0
// @description Add a coloured highlight to Bunpro grammar cards by SRS stage
// @author Ambo100
// @match *://bunpro.jp/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const STYLE_ID = 'ambo-bunpro-srs-card-border-css-only';
if (document.getElementById(STYLE_ID)) return;
const style = document.createElement('style');
style.id = STYLE_ID;
style.textContent = `
/* Base card styling */
li[id^="grammar_point-id-"] a.group,
li[id^="related-content-"] button.group {
border-left: 4px solid transparent !important;
border-radius: 0 !important;
}
/* Unlearned: no real Bunpro SRS badge present */
li[id^="grammar_point-id-"]:not(:has(span[class*="bg-srs-"] svg[data-name="BUNPRO"])) a.group,
li[id^="related-content-"]:not(:has(span[class*="bg-srs-"] svg[data-name="BUNPRO"])) button.group {
border-left-color: #4b5563 !important;
}
/* Beginner */
li[id^="grammar_point-id-"]:has(span[class*="bg-srs-beginner"] svg[data-name="BUNPRO"]) a.group,
li[id^="related-content-"]:has(span[class*="bg-srs-beginner"] svg[data-name="BUNPRO"]) button.group {
border-left-color: #8a8a8a !important;
}
/* Adept */
li[id^="grammar_point-id-"]:has(span[class*="bg-srs-adept"] svg[data-name="BUNPRO"]) a.group,
li[id^="related-content-"]:has(span[class*="bg-srs-adept"] svg[data-name="BUNPRO"]) button.group {
border-left-color: #3b82f6 !important;
}
/* Seasoned */
li[id^="grammar_point-id-"]:has(span[class*="bg-srs-seasoned"] svg[data-name="BUNPRO"]) a.group,
li[id^="related-content-"]:has(span[class*="bg-srs-seasoned"] svg[data-name="BUNPRO"]) button.group {
border-left-color: #22c55e !important;
}
/* Expert */
li[id^="grammar_point-id-"]:has(span[class*="bg-srs-expert"] svg[data-name="BUNPRO"]) a.group,
li[id^="related-content-"]:has(span[class*="bg-srs-expert"] svg[data-name="BUNPRO"]) button.group {
border-left-color: #a855f7 !important;
}
/* Master */
li[id^="grammar_point-id-"]:has(span[class*="bg-srs-master"] svg[data-name="BUNPRO"]) a.group,
li[id^="related-content-"]:has(span[class*="bg-srs-master"] svg[data-name="BUNPRO"]) button.group {
border-left-color: #f59e0b !important;
}
`;
document.head.appendChild(style);
})();