:root {
    /* --window-width: 380px;
    --window-height: 260px; */
    --window-width: 95vw;
    --window-height: 70vh;
    --bg-image: url(../themes/blueberry/squares.gif);
    --dark-grey: #131316;
    --light-grey: #3f3f49;
}
@font-face {
    font-family: "KarenFat";
    src: url("../fonts/KarenFat.ttf") format("truetype");
}
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
html {
    color: var(--primary-colour);
    background-color: var(--bg-colour);
    background-image: var(--bg-image);
    font-family: "MS UI Gothic", Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    transition: background-image 0.2s ease, color 0.2s ease;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    scrollbar-width: thin;
}
body::before {
    content: '';
    position: fixed;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.3) 100%);
    z-index: -2;
}
.page-wrapper {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: stretch;
    justify-content: center;
}
.grid-container {
    display: grid;
    min-height: var(--window-height);
    width: var(--window-width);
    grid-template-rows: 1fr 1fr minmax(275px, min-content) 1fr 1fr;
    grid-template-columns: 1fr minmax(50px, 100px) minmax(min-content, 460px) minmax(50px, 100px) 1fr;
    overflow: hidden;
    margin: auto;
}
.grid-item {
    padding: 0px;
}
#banner-grid {
    grid-row: 2;
    grid-column: 3;
    place-self: end left;
    z-index: 10;
    margin-bottom: -32px;
    margin-left: -14px;
    transition: transform 0.1s ease;
}
#drawings-grid {
    grid-row: 3;
    grid-column: 2;
    position: relative;
}
.drawing {
    z-index: 2;
    transition: filter 0.2s ease;
    filter: var(--drawing-colour);
}
#main-grid {
    grid-row: 3;
    grid-column: 3;
    display: grid;
    width: 100%;
    grid-template-rows: min-content min-content 3fr min-content;
    grid-template-columns: 1fr 1fr;
    background-color: var(--bg-colour);
    border: 2px solid var(--primary-colour);
    transition: background-color 0.2s ease;
    box-shadow: 4px 4px var(--primary-colour);
}
    #main-grid h1 {
        grid-row: 1;
        grid-column: span 2;
        font-family: "KarenFat", Verdana, Arial, Helvetica, sans-serif;
        font-size: 24px;
        font-weight: normal;
        justify-self: end;
        align-self: center;
        margin-top: 0.6rem;
        margin-bottom: 0.3rem;
        margin-left: 1rem;
        margin-right: 1rem;
    }
        #main-grid h1:hover {
            animation: jelly 0.9s both;
        }
    .nav-container {
        grid-row: 2;
        grid-column: span 2;
    }
    #main-grid nav {
        display: flex;
        justify-content: space-around;
        margin-left: 1rem;
        margin-right: 1rem;
        padding: 0.5rem;
        border-top: 1px solid var(--primary-colour);
        border-bottom: 1px solid var(--primary-colour);
        overflow: auto;
    }
        #main-grid nav a {
            text-decoration: none;
            font-weight: bold;
            transition: color 0.1s ease; 
            color: var(--fade-colour);
        }
        #main-grid nav a:hover {
            color: var(--primary-colour);
        }
    .content {
        grid-row: 3;
        grid-column: span 2;
    }
        .content h2 {
            font-family: "MS UI Gothic", Verdana, Arial, Helvetica, Tahoma, sans-serif;
            font-size: 12px;
            color: var(--accent-colour);
            margin-left: 1rem;
            margin-right: 1rem;
        }
        .content h3 {
            font-family: "MS UI Gothic", Verdana, Arial, Helvetica, Tahoma, sans-serif;
            font-size: 11px;
            font-weight: lighter;
            color: var(--accent-colour);
            margin-left: 1rem;
            margin-right: 1rem;
            margin-top: -0.5rem;
        }
        .content h4 {
            font-family: "MS UI Gothic", Verdana, Arial, Helvetica, Tahoma, sans-serif;
            font-size: 11px;
            font-weight: lighter;
            color: var(--accent-colour);
            margin-left: 1rem;
            margin-right: 1rem;
            margin-top: -0.5rem;
        }
        .content h5 {
            font-family: "MS UI Gothic", Verdana, Arial, Helvetica, Tahoma, sans-serif;
            font-size: 11px;
            font-weight: lighter;
            color: var(--primary-colour);
            margin-left: 1rem;
            margin-right: 1rem;
            margin-top: -0.5rem;
        }
        .content p {
            line-height: 1.3;
            margin-left: 1rem;
            margin-right: 1rem;
        }
        .content img {
            grid-column: 1;
            grid-column-end: 1;
            margin-left: 1rem;
            transition: transform 0.1s ease;
            justify-self: end;
        }
        /* .content img:hover {
            transform: scale(1.1);
        } */
        .content a {
            color: var(--accent-colour);
        }
        .content a:hover {
            color: var(--primary-colour);
        }
        .content ul {
            line-height: 1.2;
        }
        .content hr {
            width: 90%;
            color: var(--primary-colour);
            size: 2px;
        }
        .content table {
            width: 95%;
            border-collapse: collapse;
            justify-content: center;
            transition: all 0.2s ease;
        }
        .content tr {
            height: 2rem;
        }
        .content table td:first-child, .content table th:first-child {
            width: 40%;
            padding-left: 1rem;
            padding-right: 1rem;
        }
        .content table td:nth-child(2), .content table th:nth-child(2) {
            width: 60%;
        }
        .content th, .content td {
            border-bottom: 1px solid var(--table-divider-colour);
            text-align: left;
        }
        .content tr:nth-child(even) {
            background-color: var(--table-nth-child-colour);
        }
    .secondary-text {
        grid-row: 4;
        grid-column: span 2;
        align-self: end;
        transition: color 0.2s ease;
        color: var(--fade-colour);
        margin-left: 1rem;
        margin-right: 1rem;
        line-height: 1.2;
    }
    @keyframes jelly {
        0% {
            transform: scale3d(1, 1, 1);
        }
        30% {
            transform: scale3d(1.25, 0.75, 1);
        }
        40% {
            transform: scale3d(0.75, 1.25, 1);
        }
        50% {
            transform: scale3d(1.15, 0.85, 1);
        }
        65% {
            transform: scale3d(0.95, 1.05, 1);
        }
        75% {
            transform: scale3d(1.05, 0.95, 1);
        }
        100% {
            transform: scale3d(1, 1, 1);
        }
      }
#themes-grid {
    grid-row: 3;
    grid-column: 4;
}
    #themes-grid img { 
        filter: var(--drawing-colour);
    }
    .switch {
        z-index: 1;
        transition: transform 0.05s ease;
    }
    .switch:hover {
        transform: scale(1.1);
        cursor: pointer;
    }
    .switch:active {
        transform: scale(0.9);
    }
    .switch.disabled {
        opacity: 0.3;
        transform: scale(0.9);
        pointer-events: none;
    }
    #pickatheme {
        position: relative;
        top: 30px;
        left: 14px;
    }
    #blueberry {
        position: relative;
        top: 76px;
        left: -21px;
    }
    #grape {
        position: relative;
        top: 32px;
        right: -22px;
    }
    #shroom {
        position: relative;
        top: 66px;
        right: 7px;
    }
    #boba {
        position: relative;
        top: 82px;
        right: 4px;
    }
    #icecream {
        position: relative;
        top: 72px;
        right: -16px;
    }
    #pear {
        position: relative;
        top: 88px;
        right: -14px
    }
#buttons-grid {
    grid-row: 4;
    grid-column: 3;
    margin-top: 8px;
}
#character-grid {
    grid-row: 4;
    grid-column: 4;
    margin-top: -80px;
    margin-left: -76px;
    z-index: 100;
}
@keyframes floatUpFadeOut {
    0% {
        opacity: 0;
        transform: translateY(0);
        scale: 0;
    }
    15% {
        opacity: 1;
        transform: translateY(-40px);
        scale: 1;
    }
    30% {
        transform: translateY(-37px);
    }
    45% {
        transform: translateY(-40px);
    }
    60% {
        transform: translateY(-37px);
    }
    75% {
        transform: translateY(-40px);
    }
    90% {
        opacity: 1;
        transform: translateY(-37px);
    }
    100% {
        opacity: 0;
        transform: translateY(-40px);
    }
}
.artefact {
    filter: drop-shadow(0px 0px 8px var(--primary-colour));
}
.artefact-animation {
    animation: floatUpFadeOut 7s ease-in-out;
}
.toast {
    padding: 0.5rem;
    margin: 0;
    transition: opacity 0.6s ease-in-out, visibility 0.5s ease-in-out;
    border: 2px solid var(--primary-colour);
    background-color: var(--bg-colour);
    justify-content: center;
    align-items: center;
    text-align: center;
}
#chest {
    cursor: pointer;
}