body {
    font-family: 'Kantumruy Pro', 'Noto Serif Khmer', sans-serif;
    line-height: 1.5;
    background-color: #FFFFFF;
    color: #374151;
    transition-property: background-color, color;
    transition-duration: 200ms;
}

.dark body {
    background-color: #1A202C;
    color: #DFD0B8;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width: 100%;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

:root {
    --scrollbar-track-bg: #F8F6F4;
    --scrollbar-thumb-bg: #9EB2B2;
    --scrollbar-thumb-hover-bg: #708A8A;
}

.dark {
    --scrollbar-track-bg: #1A202C;
    --scrollbar-thumb-bg: #A9A197;
    --scrollbar-thumb-hover-bg: #7C756B;
}

.category-scroller {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 8px;
    margin-bottom: -8px;
}

.category-scroller::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}
@keyframes border-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.animated-header-border {
    position: relative;
    overflow: hidden;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--header-border-color-static);
}

.animated-header-border::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent 0%,
        transparent 10%,
        #0000FF 20%,
        #FFFF00 40%,
        #FF0000 60%,
        #FFFFFF 80%,
        #F68537 90%,
        transparent 100%
    );
    background-size: 500% 100%;
    animation: border-shimmer 8s linear infinite;
}

:root {
    --light-animation-color: gold;
    --header-border-color-static: #C4DFDF;
}

.dark {
    --light-animation-color: red;
    --header-border-color-static: #948979;
}
@media (min-width: 768px) {
    .category-scroller {
        overflow-x: hidden;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}
