:root {
    color-scheme: dark;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    background-color: #0f172a;
    background-image: radial-gradient(circle at top, rgba(99, 102, 241, 0.18), transparent 60%),
        radial-gradient(circle at bottom right, rgba(56, 189, 248, 0.18), transparent 55%);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

a:hover,
a:focus-visible {
    color: #e0e7ff;
}

img {
    max-width: 100%;
    display: block;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.8), rgba(59, 130, 246, 0.65));
    border-radius: 999px;
}

::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.7);
}

::selection {
    background-color: rgba(99, 102, 241, 0.35);
    color: #f8fafc;
}

.bullet-dot {
    display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
