:root {
    color-scheme: light dark;

    --menu-tooltip-layer: -10;
    --menu-layer: 100000;
    --menu-background-layer: 90000;
    --burger-layer-1: 110000;
    --burger-layer-2: 120000;
    --burger-layer-3: 130000;
    --burger-layer-4: 140000;
    --burger-layer-5: 150000;
    --mask-layer: 1050;
    --target-layer: 1030;
    --handle-layer: 1025;
    --popup-layer: 10200;
    --gallery-layer: 10300;
    --loading-layer: 1000000;

    --background-color: #FFFADF;
    --text-color: black;
    --input-background-color: #FEE4AF;
    --input-border-color: #D08856;
    --input-color: #B1693B;
    --input-hover-color: black;
    --input-hover-background-color: #DF9750;
    --input-placeholder-color: #888888;
    --tile-color: #752C0E;
    --tile-background-color: #FEE4AF;
    --tile-hover-background-color: #FEE4AF;
    --tile-hover-color: black;
    --tile-border-color: #752B0D;
    --tile2-background-color: #FFFCED;
    --tile2-border-color: #B34E24;
    --tile2-color: #BE6E42;
    --name-background-color: #BE6E42;
    --name-color: #FFFFFF;
    --name-border: #BE6E42;
    --name-hover-background-color: #ECA15E;
    --name-hover-border-color: #ECA15E;
    --name-hover-color: #742A00;
    --toolbar-border-color: #752C0E;
    --toolbar-background-color: #F8D8A4;
    --button-background-color: #FFBF80;
    --button-border-color: #752C0E;
    --button-color: #B1693B;
    --button-hover-color: #9E542C;
    --button-hover-background-color: #E8A25E;
    --button-active-color: #FF7851;
    --placeholder-color: rgba(177, 105, 59, 0.38);
    --cursor-color: #000000;
    --chat-background-color: #FFFADF;
    --chat-color: #000000;
    --popup-background-color: #FFE5B0;
    --popup-border-color: #742A00;
    --popup-color: black;
    --popup-inner-background-color: #FFF8E0;
    --popup-inner-color: #BE6E42;
    --section-border-color: #B44D21;
    --section-background-color: #F7C280;
    --rule-color: #B34E24;
    --separator-color: black;
    --section2-background-color: #FFFBE0;
    --section2-border-color: #B44D21;
    --table-border: grey;
    --group-header-border-color: #B34E24;
    --group-header-color: #B34E24;
    --header-dark-color: #FEE4AF;
    --event-minor-background-color: #FFE8C1;
    --event-death-background-color: #F0C483;
    --event-birth-background-color: #F0C483;
    --event-color: #752C0E;
    --scrollbar-inner-color: #C1C1C1;
    --scrollbar-outer-color: #FAFAFA;
}

[data-theme="dark"] {
    --background-color: #32305A;
    --text-color: #8981BB;
    --input-background-color: #232144;
    --input-border-color: #716A9C;
    --input-color: #716A9C;
    --input-hover-color: #A284EF;
    --input-hover-background-color: #8364D4;
    --input-placeholder-color: #4E4985;
    --tile-color: #716A9C;
    --tile-background-color: #232144;
    --tile-hover-background-color: #3D3A68;
    --tile-hover-color: #716A9C;
    --tile-border-color: #716A9C;
    --tile2-background-color: #423F75;
    --tile2-border-color: #232141;
    --tile2-color: #7974BD;
    --name-background-color: #514C8E;
    --name-color: #8E88D7;
    --name-border: #716A9C;
    --name-hover-background-color: #5E59A0;
    --name-hover-border-color: #716A9C;
    --name-hover-color: #9E98E7;
    --toolbar-border-color: #28193C;
    --toolbar-background-color: #4E4A68;
    --button-background-color: #362B52;
    --button-border-color: #28193C;
    --button-color: #716A9C;
    --button-hover-color: #A284EF;
    --button-hover-background-color: #8364D4;
    --button-active-color: #6046A0;
    --placeholder-color: rgba(177, 127, 250, 0.38);
    --cursor-color: #000000;
    --chat-background-color: #423F75;
    --chat-color: #A29DE6;
    --popup-background-color: #32305A;
    --popup-border-color: #28193C;
    --popup-color: #9D97E6;
    --popup-inner-background-color: #28193C;
    --popup-inner-color: #A29DE6;
    --section-border-color: #22203E;
    --section-background-color: #4E4985;
    --rule-color: #605CA4;
    --separator-color: #DDDDDD;
    --section2-background-color: #423E74;
    --section2-border-color: #232041;
    --table-border: #9D97E6;
    --group-header-border-color: #28193C;
    --group-header-color: #9D97E6;
    --header-dark-color: #28193C;
    --header-dark-background-color: #9D97E6;
    --event-minor-background-color: #33305A;
    --event-death-background-color: #4E4A86;
    --event-birth-background-color: #615CA4;
    --event-color: #9F9AE1;
    --scrollbar-inner-color: #6B66AC;
    --scrollbar-outer-color: #514D90;
}

html,body {
    margin: 0;
    padding: 0;
    height: 100dvh;
    scrollbar-color: var(--scrollbar-inner-color) var(--scrollbar-outer-color);
    scrollbar-width: thin;
    overflow: hidden;
}

body {
    background: var(--background-color);
    overscroll-behavior-y: none;
    user-select: none;
    color: var(--text-color);
}

th {
    text-align: left;
}

::placeholder {
    color: var(--input-placeholder-color);
    opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12 -18 */
    color:var(--input-placeholder-color);
}

select {
    background-color: var(--input-background-color);
}

textarea {
    background-color: var(--input-background-color);
    border: 1px solid var(--input-border-color);
}

.tile {
    color: var(--tile-color);
    width: 5em;
    min-width: 5em;
    height: 5em;
    min-height: 5em;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--tile-border-color);
    padding: 1em;
    margin: 1em;
    text-decoration: none;
    font-size: 1em;
    display: flex;
    background-color: var(--tile-background-color);
    cursor: pointer;
}

.tile div {
    display: flex;
    text-align: center;
}

.tile a {
    text-decoration: none;
    color: var(--tile-color);
}

#mainContainer {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.toolbar {
    display: flex;
    border: 1px solid var(--toolbar-border-color);
    background: var(--toolbar-background-color);
    flex-shrink: 0;
    height: 70px;
    vertical-align: middle;
}

.toolbarLogo {
    flex: 1;
    margin-left: 1em;
    background: url('../image/logos/diviinity_toolbar.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 681px;
    height: 64px;
    margin-top: 3px;
}

#mainMenu {
    position: absolute;
    left: 0;
    top: 70px;
    transform: scale(0%, 100%);
    transition: transform 500ms ease-in-out;
    transform-origin: top left;
    background-color: var(--background-color);
    height: 100%;
    z-index: var(--menu-layer);
}

.tabButtons {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    flex-shrink: 0;
}

#mainMenu.menuExpanded {
    transform: scale(100%, 100%);
}

#mainMenuBackground {
    position: absolute;
    left: 0;
    top: 70px;
    flex-shrink: 0;
    transform: scale(0%, 100%);
    transition: transform 500ms ease-in-out;
    transform-origin: top left;
    width: 200px;
    height: 100%;
    background-color: var(--background-color);
    z-index: var(--menu-background-layer);
}

#mainMenuBackground.menuExpanded {
    transform: scale(100%, 100%);
}

#mainMenuMask {
    z-index: var(--mask-layer);
    display: none;
}

#mainMenuMask.menuExpanded {
    display: flex;
}

#mainMenuButton div {
    position: relative;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: transform 500ms ease-in-out;
}

#mainMenuButton_top_bun {
    background: url('../image/burger/top_bun.png');
    width: 60px;
    height: 36px;
    z-index: var(--burger-layer-5)
}

#mainMenuButton_lettuce {
    background: url('../image/burger/lettuce.png');
    width: 45px;
    height: 20px;
    padding-left: 15px;
    margin-top: -12px;
    z-index: var(--burger-layer-4);
}

#mainMenuButton_sun {
    background: url('../image/burger/sun.png');
    width: 26px;
    height: 28px;
    padding-left: 30px;
    margin-top: -20px;
    z-index: var(--burger-layer-1);
}

#mainMenuButton_tomato {
    background: url('../image/burger/tomato.png');
    width: 45px;
    height: 8px;
    padding-left: 10px;
    margin-top: -12px;
    z-index: var(--burger-layer-3);
}

#mainMenuButton_bottom_bun {
    background: url('../image/burger/bottom_bun.png');
    width: 60px;
    height: 25px;
    margin-top: -10px;
    z-index: var(--burger-layer-2);
}

.menuExpanded #mainMenuButton_top_bun {
    transform: translate(0px, -20px);
}

.menuExpanded #mainMenuButton_lettuce {
    transform: translate(0px, -15px);
}

.menuExpanded #mainMenuButton_sun {
}

.menuExpanded #mainMenuButton_tomato {
    transform: translate(0px, 10px);
}

.menuExpanded #mainMenuButton_bottom_bun {
    transform: translate(0px, 17px);
}

.tabContainer {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tab {
    flex: 1;
    display: flex;
    overflow: hidden;
}

.toolbarButton {
    background: var(--button-background-color);
    border: 1px solid var(--button-border-color);
    padding: 2px 12px;
    cursor: pointer;
    color: var(--button-color);
    white-space: nowrap;
}

.tabButton.active {
    background: var(--button-active-color);
    cursor: default;
    color: black;
}

@keyframes gradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}

#loading {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;

    background: linear-gradient(-45deg, rgba(0,0,0,0.1), rgba(0,0,0,0.90));
    background-size: 400% 400%;
    animation: gradient 5s ease infinite;
}

.statusPopup {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35%;
}

.statusPopupContent {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.popupInnerContent {
    background: var(--background-color);
    padding: 2em;
}

#home {
    overflow-x: hidden;
    overflow-y: auto;
    flex-wrap: wrap;
    flex-direction: row;
}

.infoButton {
    flex: 1;
    display: flex;
}

.diviinityLogo {
    flex: 1;
    background: url('../image/logos/diviinity.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: var(--background-color);
    width: 614px;
    height: 429px;
    min-width: 614px;
    min-height: 429px;
}

.buttonContainer {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    flex: auto;
}

@media (hover: hover) {
    .tile:hover {
        text-decoration: underline;
        background-color: var(--tile-hover-background-color) !important;
    }

    .toolbarButton:hover {
        background: var(--button-hover-background-color);
        color: var(--button-hover-color);
    }
}
