/* css css-reset */
/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html,
body {
    scrollbar-gutter: stable;
}

/* Prevent font size inflation */
html {
    font-size: 16px;
    font-size: clamp(16px, calc(6px + .75vw), 26px);
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    min-height: 100%;
}

body {
    line-height: 1.5;
}

input, button, textarea, select {
    font: inherit;
    color: inherit;
    background-color: inherit;
}

p, h1, h2, h3, h4, h5, h6, input {
    overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}

p, li {
    text-wrap: pretty;
}

/* global settings */

@font-face {
    font-family: 'Proxima Nova';
    src: local('Proxima Nova'), local('ProximaNova'),
        url('/fonts/ProximaNova.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Proxima Nova';
    src: local('Proxima Nova Bold'), local('ProximaNova-Bold'),
        url('/fonts/ProximaNovaBold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

:root[data-theme='light'] {
    --color-themed: rgb(0 0 0);
    --bgcolor-themed: rgb(255 255 255);
    --box-shadow-themed: rgba(0 0 0 / 12%);
    --icon-filter: none;
    --button-border: none;
    --player-border: solid 1px rgba(136 136 136 / 25%);
}

:root[data-theme='dark'] {
    --color-themed: rgb(255 255 255);
    --bgcolor-themed: rgb(0 0 0);
    --box-shadow-themed: rgba(255 255 255 / 30%);
    --icon-filter: invert(1);
    --player-border: solid 1px var(--text-color);
}

@media (prefers-contrast: more) {
    :root[data-theme='light'] {
        --text-color-themed: rgba(85 85 85 / 100%);
    }

    :root[data-theme='dark'] {
        --text-color-themed: rgba(155 155 155 / 100%);
    }
}

:root {
    --font-family: 'Proxima Nova',arial,sans-serif;
    --font-weight: normal;
    --bgcolor: rgb(255 255 255);
    --bgcolor: var(--bgcolor-themed, light-dark(rgb(255 255 255), rgb(0 0 0)));
    --text-color: rgba(136 136 136 / 100%);
    --text-color: var(--text-color-themed, rgba(136 136 136 / 100%));

    color-scheme: light dark;
}

@media (prefers-contrast: more) {
    :root {
        --text-color: var(--text-color-themed, light-dark(rgba(85 85 85 / 100%), rgba(155 155 155 / 100%)));
    }
}

html {
    position: static;
    min-height: 100%;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
    --body-pb: 0;
    --body-pi: 0;
    --body-mbe: 1rem;

    margin-block-end: var(--body-mbe, 0);
    padding-inline: var(--body-pi, 0);
    padding-block: var(--body-pb, 0);
    color: var(--color);
    background-color: var(--bgcolor);
}

body::-webkit-scrollbar {
    display: none;
}

@media (orientation: landscape) {
    body {
        --body-mbe: 0;
        --body-pb: 1rem;
        --body-pi: 1rem;
        max-inline-size: 100vi;
        max-block-size: 100dvb;
    }

    @media (min-height: 501px) {
        body {
            --body-pb: 2rem;
        }
    }

    @media (max-height: 500px) {
        body {
            --body-pb: 0;
            --body-pi: 0;
        }
    }
}