:root {
    --background-color: #fafafa;
    --text-color: #404040;
    --border-color: #00000024;
    --control-color: #5c5c5c;
    --hover-color: #efefef;
    --active-color: #e2e2e2;
    --backdrop-color: #00000024;

    --button-background-color: #4585ff;
    --button-text-color: #ffffff;

    --scrollbar-color: #a9a9a9;

    --alert-color: #ffffff;
    --success-color: #42a175;
    --error-color: #dc3545;

    --region-text-color: #404040;
    --region-border-color: #00000024;

    --outline-color: transparent;
    --cursor-color: #ff0000;

    --channel-0: #e8e8e8;
    --channel-1: #ffc8c8;
    --channel-2: #c8ebff;
    --channel-3: #d2ffd2;
    --channel-4: #0000001a;

    --font-bold: "Poppins 500", Arial, Helvetica, sans-serif;

    color-scheme: light;
}

:root[data-theme="dark"] {
    --background-color: #303030;
    --text-color: #f2f2f2;
    --border-color: #ffffff48;
    --control-color: #ededed;
    --hover-color: #404040;
    --active-color: #505050;
    --backdrop-color: #00000080;

    --outline-color: #ffffff48;

    --channel-4: #f1f1f144;

    color-scheme: dark;
}

@font-face {
    font-family: "Poppins 400";
    src: url("../fonts/poppins-400.woff2");
    font-display: swap;
}

@font-face {
    font-family: "Poppins 500";
    src: url("../fonts/poppins-500.woff2");
    font-display: swap;
}

* {
    font-family: "Poppins 400", Arial, Helvetica, sans-serif;
    margin: 0;
    box-sizing: border-box;
}

body {
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--background-color);
    color: var(--text-color);
}

input {
    accent-color: var(--button-background-color);
}

.select {
    width: 100%;
    padding: 0.3rem;
    outline: none;
    background-color: var(--background-color);
    border: 0.5px solid var(--border-color);
    border-radius: 0.25rem;
}

.input {
    width: 100%;
    padding: 0.325rem 0.5rem;
    border-radius: 0.25rem;
}

.select:disabled,
.input:disabled {
    background-color: var(--hover-color);
    color: var(--text-color);
    border-color: var(--border-color);
    opacity: 0.75;
}

.hr {
    border-bottom: 0.5px solid var(--border-color);
    margin: 0.35rem 0;
}

.vr {
    border-right: 0.5px solid var(--border-color);
    margin: 0 0.75rem;
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}
