:root {
    --main-menu-toggle-height: 50px;

    --main-menu-padding: 14px;
}

#main-menu-toggle {
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--main-menu-toggle-height);
    background: var(--input-bg);
    border: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main-menu-toggle img {
    height: 64px;
    width: auto;
}
@media (max-width: 768px) {
        
    #main-menu {
        padding-bottom: calc(var(--main-menu-padding) + var(--main-menu-toggle-height));
    }
    #main-menu-toggle {
        opacity: 1;
        pointer-events: auto;
    }

}


#main-menu {
    overflow: hidden;
    /* overflow-y: auto; */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 14px;
    background: var(--main-menu-bg);
    padding: var(--main-menu-padding);
    max-height: 100vh;
    transition: max-height 0.5s ease, padding .5s ease;
}

#main-menu.collapsed {
    /* overflow: hidden; */
    max-height: var(--main-menu-toggle-height);
    padding: 0;
}

#main-menu.collapsed .main-menu-button {
    opacity: 0;
}

#main-menu-button-add {
    margin-left: 0;
    margin-right: 0;
}

.main-menu-button {
    /* position: absolute; */
    /* left: 10px; */
    opacity: 1;
    background: var(--input-bg);
    color: var(--input-color);
    border-radius: 32px;
    cursor: pointer;
    display: flex;
    align-items: center;
    /* justify-content: center; */
    justify-content: flex-start;
    -webkit-user-select: none;
    /* width: auto; */
    padding: 0 14px 0 14px;
    height: 60px;
    border: none;
    /* gap: 12px; */
    box-sizing: border-box;
    margin: auto 0 auto 0 ;
    /* margin: 0; */
    gap: 0;
    /* transition: max-width .4s ease, gap .2s ease; */
    transition: gap .5s ease-in-out, background .5s ease, opacity .5s ease;
}


.main-menu-button:hover {
    max-width: 100vw;
    /* gap: 14px; */
    background: var(--button-hover)
    /* max-width: 100px; */
    position
}

@media (min-width: 768px) {
    .main-menu-button:hover {
        gap: 12px;
    }
}
.main-menu-button span {
    display: inline-flex;
    /* max-width: 0; */
    max-width: 0;
    opacity: 0;
    /* margin: 0 auto 0 0; */
    margin-left: auto;
    margin-right: 0;
    transition: max-width .5s ease, opacity .3s ease, transform .5s ease, font-weight .5s ease;
    overflow: hidden;
    white-space: nowrap;

    direction: ltr;            /* 👈 expansion happens leftward */
    text-align: left;          /* keeps text readable */
}
.main-menu-button:hover span {
    max-width: 100px;
    opacity: 1;
    /* transform: scale(1.1); */
    /* font-weight: 600; */
    
}
@media (max-width: 768px) {
    
    .main-menu-button {
        max-width: 100vw;
        gap: 12px;
    }
    .main-menu-button span {
        max-width: 100vw;
        opacity: 1;
    }

    #main-menu {
        flex-wrap: wrap;
        padding-bottom: 64px;
    }
}
.main-menu-button img {
    width: 32px;
    height: 32px;
    contain: content;
    border-radius: 0;
}

.main-menu-button:hover {
    background: var(--title-bg-color);
    color: var(--title-color);
}

#main-menu-context-container {
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
}
#main-menu-context-container.show {
    opacity: 1;
    pointer-events: auto;
}
#main-menu-context {
    display: flex;
    flex-direction: column;
    position: fixed;
    margin: 2px 0 0 7px;
    border-radius: 12px;
}
#main-menu-context-title {
    background: var(--context-title-bg);
    padding: 7px;
}
.main-menu-context-text {
    line-height: 48px;
    cursor: text;
}
.main-menu-context-text, .main-menu-context-button {
    /* position: absolute; */
    /* left: 10px; */
    background: var(--input-bg);
    color: var(--input-color);
    display: flex;
    align-items: center;
    -webkit-user-select: none;
    width: auto;
    padding: 0 8px 0 8px;
    height: 48px;
    gap: 12px;
    border: none;
}
.main-menu-context-button img {
    width: 12px;
    height: 12px;
    contain: content;
    border-radius: 0;
}

.main-menu-context-button:hover {
    background: var(--title-bg-color);
    color: white;
}

.main-menu-context-delete {

    background: var(--main-menu-context-delete-bg);
    color: var(--main-menu-context-delete);
    border: none;
}

#main-menu {
    position: relative;
}

#main-menu {
  flex: 0 0 auto;
}

@media (min-width: 768px) {
    #main-menu {
        flex-direction: column;
        /* max-width: 128px; */
        min-width: 0px;
        max-width: 90px;
        justify-content: flex-start;
        position: relative;
        overflow: visible;
    }
    #main-menu button {
        margin-left: auto;
        margin-right: auto;
    }
    #main-menu button:hover {
        z-index: 1000;
    }

}