@font-face {
    font-family: 'omori';
    src: url("assets/OMORI_GAME2.ttf");
}

@font-face {
    font-family: 'tiny5';
    src: url("assets/Tiny5-Regular.ttf");
}

html, body {
    padding: 0;
    margin: 0;
    overflow: hidden;
    image-rendering: pixelated;
}

#canvas {
    width: 100%;
    background-color: white;
    z-index: 1;
}

span {
    opacity: 0;
}

.revealed {
    opacity: 1;
}

h1 {
    font-family: 'omori';
    color: white;
    font-size: 3cqw;
    margin: 0;
    padding: 3%;
}

img {
    -webkit-user-drag: none;
    user-select: none;
}

.container {
    display: flex;
    justify-content: center;
}

.option {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 1%;
}

.backnforth {
    width: 32px;
    height: 32px;
    animation: ltr 1s infinite alternate;
}

.textbox > .backnforth {
    align-self: end;
    justify-self: end;
}

@keyframes ltr {
    100% {
        transform: translateX(15px);
    }
}

.textbox {
    position: absolute;
    display: flex;
    top: 70%;
    width: 50%;
    height: 25%;
    background-color: black;
    border: solid 4px white;
    outline: solid 2px black;
    margin: 0;
    padding: 0;
}

.textbox2 {
    position: absolute;
    right: 25%;
    top: 53%;
    width: 10%;
    height: 15%;
    background-color: black;
    border: solid 4px white;
    outline: solid 2px black;
    margin: 0;
    padding: 0;
}

.textbox3 {
    position: absolute;
    right: 25%;
    top: 35%;
    width: 30%;
    height: 32%;
    background-color: black;
    border: solid 4px white;
    outline: solid 2px black;
    margin: 0;
    padding: 0;
}

#laptop {
    display: flex;
}

#computer {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 55%;
    height: 80%;
    background-color: black;
    border: solid 3px grey;
    margin: 0;
    padding: 0.5%;
}

#computer > img {
    width: 100%;
    height: 100%;
}

.computer-hud {
    display: grid;
    grid-template-columns: 20% 4fr 15%;
    align-items: center;
    width: 100%;
    height: 10%;
    background-color: grey;
    border-top: solid 2px rgb(211, 211, 211);
}

.computer-hud > button {
    background-color: grey;
    height: 80%;
    margin-left: 2%;
    margin-right: 5%;
}

#journal-container {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

#journal {
    display: grid;
    width: 55%;
    height: 80%;
    background-color: white;
    border: solid 3px rgb(0, 0, 0);
    margin: 0;
    padding: 0.5%;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 1fr 8fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

#journal > .screen {
    display: grid;
    place-content: center;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 7fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

.tab {
    align-self: center;
    width: 100%;
    height: 80%;
    background-color: rgb(0, 0, 0);
    border: solid 3px rgb(255, 255, 255);
    outline: solid 3px rgb(0, 0, 0);
    border-bottom: 0;
    margin-left: 20%;
    margin-top: 15%;
    color: white;
    font-size: 2rem;
    font-family: 'omori';
    display: flex;
    justify-items: center;
    padding-left: 4%;
}

.tab-selected {
    background-color: rgb(255, 255, 255);
    color: black;
}

.window {
    grid-area: 2 / 1 / 3 / 5;
    display: grid;
    grid-template-rows: 10% 90%;
    width: 90%;
    height: 90%;
    background-color: rgb(0, 0, 0);
    border: solid 3px rgb(255, 255, 255);
    outline: solid 3px rgb(0, 0, 0);
    margin: 5%;
    margin-top: 0;
    padding: 0.5%;
    padding-right: 0;
}

#entries {
    width: 100%;
    height: 70%;
    max-height: 35cqh;
    max-width: 50cqw;
    overflow: scroll;
}

.entry {
    padding: 3%;
    color: white;
    width: 90%;
    display: flex;
    flex-direction: column;
    font-family: 'omori';
    font-size: 2rem;
}

.entry > h1 {
    padding: 0;
    margin: 0;
}

.entry > p {
    padding: 0;
    margin: 0;
}

#entries > .entry > button {
    font-family: 'omori';
    min-height: 20px;
    min-width: 20px;
    color: black;
    background-color: white;
    border: solid 2px black;
    outline: solid 2px white;
    align-self: end;
}

#entries > .entry > button:hover {
    color: white;
    background-color: black;
    border: solid 2px black;
    outline: solid 2px white;
    align-self: end;
}

.window > .entry > p {
    font-family: 'omori';
    color: white;
    font-size: 2rem;
    margin: 0;
    text-align: justify;
}

#textEditor > p {
    font-family: 'omori';
    color: white;
    font-size: 2rem;
    margin: 0;
    padding: 0 3%;
    max-width: 90%;
    height: auto;
    text-align: justify;
    word-break: break-all;
    pointer-events: auto;
}

#textEditor > button {
    font-family: 'omori';
    background-color: black;
    color: white;
    font-size: 1.5rem;
    margin: 3%;
    padding: 0 3%;
    border: solid 2px white;
    z-index: 9999;
}

#textEditor > button:hover {
    background-color: white;
    color: black;
}

.typewriter {
    width: 85%;
    height: 85%;
}

#mewo {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-content: start;
    margin: 0;
    padding: 0.5%;
}

#mewo > img {
    margin-right: 2%;
}

#game-container {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

#game-window {
    display: grid;
    width: 55%;
    height: 80%;
    background-color: white;
    border: solid 3px rgb(0, 0, 0);
    margin: 0;
    padding: 0.5%;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 1fr 8fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

.handle { 
    grid-area: 1 / 1 / 2 / 6;
    width: 100%;
    height: 90%;
    background-color: black;
    display: flex;
    align-items: center;
}

.app-name {
    width: 92%;
    height: 80%;
    background-color: black;
    border: 2px solid white;
    margin: 2px;
    font-family: 'omori';
    font-size: 2.5rem;
    color: white;
}

.app-name > p {
    padding: 0;
    margin: 0;
    margin-left: 2%;
}
.close-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85%;
    aspect-ratio: 1/1;
    background-color: black;
    border: 2px solid white;
    margin: 2px;
}

.close-button:hover {
    background-color: rgb(46, 46, 46);
}

.close-button > img {
    transform: scale(2);
}

.screen { 
    grid-area: 2 / 1 / 4 / 6;
    width: 100%;
    height: 100%;
    background-color: black;
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

#items { 
    grid-area: 1 / 1 / 2 / 2; 
    width: 100%;
    height: 99%;
    background-color: white;
    border: 2px solid black;
    display: flex;
    flex-direction: column;
    gap: 1%;
    align-items: center;
}

#items > button {
    margin: 1%;
    background-color: white;
    font-family: 'omori';
    font-size: 1.5rem;
    width: 95%;
    height: 10%;
}

#items > button:hover {
    background-color: rgb(236, 236, 236);
}

#chillin-spot {
    grid-area: 1 / 2 / 2 / 3;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#chillin-spot > img {
    transform: scale(5);
}

#stats { 
    grid-area: 1 / 3 / 2 / 4;
    width: 99%;
    height: 99%;
    background-color: white;
    border: 2px solid black;
    display: flex;
    flex-direction: column;
    gap: 1%;
    align-items: center;
}

#stats > p {
    font-family: 'omori';
    color: black;
    padding: 0;
    margin: 0;
    padding-left: 5%;
    font-size: 1.5rem;
    align-self: start
}

.progress-bar {
    width: 90%;
    height: 5%;
    background-color: white;
    border: solid 2px black;
}

.value {
    height: 100%;
    background-color: black;
    outline: solid 0.5px white;
}

#sketchCanvas {
    width: 50%;
    background-color: rgb(255, 255, 255);
    z-index: 2;
}

#sketchpad {
    position: absolute;
    width: 100%;
    height: 100%;
    align-items: center;
}

#sketchbook {
    position: absolute;
    display: flex;
    width: 55%;
    height: 80%;
    background-color: rgb(0, 0, 0);
    border: solid 3px rgb(255, 255, 255);
    outline: solid 3px rgb(0, 0, 0);
    margin: 0;
    padding: 0.5%;
    padding-right: 0;
}

#selectionBar {
    display: grid;
    width: 100%;
    height: 100%;
    justify-items: end;
    align-items: center;
    color: black;
    font-family: 'omori';
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(8, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

#pen { 
    grid-area: 1 / 2 / 2 / 3; 
}

#pen:hover {
    opacity: 85%;
}

#eraser {
    grid-area: 2 / 2 / 3 / 3;
}

#eraser:hover {
    opacity: 85%;
}

#color { 
    grid-area: 4 / 2 / 5 / 3;;
    margin-right: 5%;
    display: flex;
    align-items: center;
    gap: 5%;
}

#color > input {
    border-radius: 0;
}

#close {
    grid-area: 3 / 2 / 4 / 3;
}

#close:hover {
    opacity: 85%;
}

#clear-canvas {
    grid-area: 5 / 2 / 6 / 3;
    display: flex;
    margin-right: 5%;
}

#clear-canvas > button {
    color: black;
    font-family: 'omori';
    font-size: 2rem;
    background-color: white;
    border: solid 2px black;
    outline: solid 2px white;
}

#clear-canvas > button:hover {
    background-color: rgb(220, 220, 220);
}

#change-size { 
    grid-area: 6 / 2 / 9 / 3;;
    display: grid;
    width: 150%;
    height: 50%;
    place-content: center;
    grid-template-rows: 1fr 3fr;
    background-color: rgb(255, 255, 255);
    border: solid 3px rgb(0, 0, 0);
    outline: solid 3px rgb(255, 255, 255);
    margin-right: 5%;
    padding: 5%;
}

#change-size > p {
    font-family: 'omori';
    font-size: 2rem;
    color: black;
    margin: 0;
    padding: 0;
}

#change-size > div > button {
    background-color: white;
    border: solid 1px black;
} 

#change-size > div > button:hover {
    background-color: rgb(236, 236, 236);
} 

.div6 { grid-area: 6 / 1 / 9 / 2; }
    
.toggled {
    background-color: rgb(220, 220, 220);
}

#surprise {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    transform: scale(2);
}