:root {
    --tp-brand-rgb: 91, 75, 255;
    --bs-primary-rgb: var(--tp-brand-rgb);
    --bs-link-color-rgb: var(--tp-brand-rgb);
}

[data-bs-theme="light"] {
    --tp-page-accent: rgba(var(--tp-brand-rgb), .08);
}

[data-bs-theme="dark"] {
    --tp-page-accent: rgba(var(--tp-brand-rgb), .16);
}

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 85% 15%, var(--tp-page-accent), transparent 32rem),
        var(--bs-body-bg);
}

.card,
.navbar,
.dropdown-menu,
.btn {
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .card,
    .navbar,
    .dropdown-menu,
    .btn {
        transition: none;
    }
}
