:root {
    --link: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
    --theme-color-fg: black;
    --theme-color-bg: white;
    --theme-image-filter: invert(0%);
    --theme-filter-dark: invert(0%);
    --theme-filter-light: invert(100%);
}

@media (prefers-color-scheme: dark) {
    :root {
        --link: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAQ0lEQVQI122Nyw3AIAzFHNRBGI3uP4R7oIhXUV+iOJ9XBDpr8wWgivszBXCoQ0NOBSGXinN7qP3THn0GLdn44Tp34QFyyjQcMhJ1zwAAAABJRU5ErkJggg==);
        --theme-color-fg: #A1A1A1;
        --theme-color-bg: #1A1A1A;
        --theme-image-filter: invert(100%);
        --theme-filter-dark: invert(100%);
        --theme-filter-light: invert(0%);
    }
}

@keyframes roll {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

body {
    background-color: var(--theme-color-bg);
    color: var(--theme-color-fg);
    font-family: 'IBM Plex Sans Thai Looped';
    margin: 0;
}

header {
    height: 50px;
    padding: 10px;
}

header a {
    text-decoration: none;
    color: var(--theme-color-fg);
}

header>a>* {
    vertical-align: middle;
    font-size: xx-large;
}

header img {
    filter: var(--theme-image-filter);
    height: 100%;
}

header img:hover {
    border-radius: 25%;
    animation-name: roll;
    animation-duration: 1s;
}

main {
    width: calc(100% - 40px);
    height: 100vh;
    padding-left: 20px;
    padding-right: 20px;
}

main p {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-align: justify;
    max-width: 800px;
    border-radius: 5px;
    padding: 10px;
    margin: auto;
}

#about {
    --about-mouse-x: 0px;
    --about-mouse-y: 0px;
    -webkit-box-shadow: var(--about-mouse-x) var(--about-mouse-y) 8px var(--theme-color-fg);
    box-shadow: var(--about-mouse-x) var(--about-mouse-y) 8px var(--theme-color-fg);
}

footer {
    text-align: center;
}

footer a {
    text-decoration: none;
    color: var(--theme-color-fg);
}