:root {
    --accent-ip: #56b5ff;
    --accent-compare: #8f7eff;
    --accent-unserialize: #2bb5a8;
    --accent-json: #42b883;
    --accent-url: #3c9eff;
    --accent-b64-decode: #7aa2ff;
    --accent-timestamp: #f0a34b;
    --accent-md5: #d981ff;
    --accent-reverse: #ff8f7a;
    --accent-linklister: #47c3d2;
    --accent-domain: #4ea7ff;
    --accent-timer: #ff9f4a;
    --accent-time: #ffd166;
    --accent-qr: #53c0a6;
    --accent-render: #78a6ff;
    --accent-chat: #ba8bff;
    --accent-home: #6f8cff;
}

/* central color utility classes for cards/tools */
.color-home { --tool-accent: var(--accent-home); }
.color-ip { --tool-accent: var(--accent-ip); }
.color-compare { --tool-accent: var(--accent-compare); }
.color-unserialize { --tool-accent: var(--accent-unserialize); }
.color-json { --tool-accent: var(--accent-json); }
.color-url { --tool-accent: var(--accent-url); }
.color-b64-decode { --tool-accent: var(--accent-b64-decode); }
.color-timestamp { --tool-accent: var(--accent-timestamp); }
.color-md5 { --tool-accent: var(--accent-md5); }
.color-reverse { --tool-accent: var(--accent-reverse); }
.color-linklister { --tool-accent: var(--accent-linklister); }
.color-domain { --tool-accent: var(--accent-domain); }
.color-timer { --tool-accent: var(--accent-timer); }
.color-time { --tool-accent: var(--accent-time); }
.color-qr { --tool-accent: var(--accent-qr); }
.color-render { --tool-accent: var(--accent-render); }
.color-chat { --tool-accent: var(--accent-chat); }

/* active tool -> page accent */
body.tool-theme-home { --page-accent: var(--accent-home); }
body.tool-theme-ip { --page-accent: var(--accent-ip); }
body.tool-theme-compare { --page-accent: var(--accent-compare); }
body.tool-theme-unserialize { --page-accent: var(--accent-unserialize); }
body.tool-theme-json-format { --page-accent: var(--accent-json); }
body.tool-theme-url-encode { --page-accent: var(--accent-url); }
body.tool-theme-base64 { --page-accent: var(--accent-b64-decode); }
body.tool-theme-time-converter { --page-accent: var(--accent-timestamp); }
body.tool-theme-md5 { --page-accent: var(--accent-md5); }
body.tool-theme-reversetext { --page-accent: var(--accent-reverse); }
body.tool-theme-linklist-php { --page-accent: var(--accent-linklister); }
body.tool-theme-domain-check { --page-accent: var(--accent-domain); }
body.tool-theme-timer { --page-accent: var(--accent-timer); }
body.tool-theme-time { --page-accent: var(--accent-time); }
body.tool-theme-qr { --page-accent: var(--accent-qr); }
body.tool-theme-renderhtml { --page-accent: var(--accent-render); }
body.tool-theme-chat { --page-accent: var(--accent-chat); }
