@import url('https://fonts.googleapis.com/css2?family=Albert+Sans&display=swap');

:root {
    --base-size: 90px;
    --margin-size: 0.5px;
    --border-radius: 0;
}

html, body {display: flex; align-items: center; justify-content: center;}

html {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #fff;
}
body {
    color: #000;
    margin: 0;
    padding: 0;
    width: calc(100vw - 60px);
    height: calc(100vh - 60px);
    background-color: #f1f1f1;
    border-radius: 16px;
    font-family: Albert Sans, sans;
    font-size: 14px;
}

.ab {grid-row: span 1; grid-column: span 1;}
.abb {grid-row: span 1; grid-column: span 2;}
.abbb {grid-row: span 1; grid-column: span 3;}
.aabb {grid-row: span 2; grid-column: span 2;}
.aabbb {grid-row: span 2; grid-column: span 3;}
.aaabbb {grid-row: span 3; grid-column: span 3;}

.box {
    background-color: #e8e8e8;
    border-radius: var(--border-radius);
    margin: var(--margin-size);
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}
.box > .lable {
    align-self: start;
}

.box:hover > .lable, .box:hover > .ico {
    display: flex;
}

#cards {
    display: grid;
    grid-template-columns: repeat(8, var(--base-size));
    grid-auto-rows: var(--base-size);
    grid-auto-flow: dense;
    gap: var(--margin-size);
}

.row {
    display: grid;
    grid-template-columns: repeat(8, var(--base-size));
    grid-auto-rows: var(--base-size);
    gap: var(--margin-size);
}

#panel {
    width: 0;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    transition-duration: 290ms;
    transition-timing-function: ease-in-out;
    flex-direction: column;
    display: flex;
}

.grow {
    flex-grow: 1;
}

.big {
    width: 15%!important;
    border-left: 2px solid #e2e2e2;
}

.lable {
    flex-direction: column;
    position: absolute;
}

.box > * {
    pointer-events: none;
    user-select: none;
}

.ab>.ico,.aabb>.ico,.aaabbb>.ico {
    width: 60%;
    height: 60%;
}
.abb>.ico,.abbb>.ico {
    width: calc(0.6 * (var(--base-size)));
    height: calc(0.6 * (var(--base-size)));
}
.aabbb>.ico {
    width: calc(1.2 * (var(--base-size)));
    height: calc(1.2 * (var(--base-size)));
}

.box:hover > .lable, .box:hover > .ico {
    display: flex;  
}

.ico {
    margin: auto;
    display: flex;
}

.hidhaha {
    display: none;
}

.l {
    height: 40px;
    padding: 1px 5px;
    display: flex;
    align-items: center;
    width: calc(100% - 20px);
    margin: auto;
}
.l > * {
    margin: 2%;
    font-size: 18px;
    font-family: Albert Sans,sans;
    outline: none;
}
.inp {
    border-radius: var(--border-radius);
    border: 1px solid #e8e8e8;
    flex-grow: 1;
    padding: 3px;
}
