.leon-floating-menu{
    --lfm-size:48px;
    --lfm-mobile-size:46px;
    --lfm-gap:8px;
    --lfm-side-offset:20px;
    --lfm-bottom-offset:80px;
    --lfm-mobile-side-offset:14px;
    --lfm-mobile-bottom-offset:76px;
    --lfm-z:9999;
    --lfm-post-gap:14px;
    position:fixed;
    bottom:var(--lfm-bottom-offset);
    z-index:var(--lfm-z);
    display:flex;
    flex-direction:column;
    align-items:center;
    line-height:1;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.leon-floating-menu.lfm-side-right{right:var(--lfm-side-offset)}
.leon-floating-menu.lfm-side-left{left:var(--lfm-side-offset)}
.leon-floating-menu.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}
.lfm-post-nav,.lfm-main-items{display:flex;flex-direction:column;align-items:center;gap:var(--lfm-gap)}
.lfm-post-nav + .lfm-main-items{margin-top:var(--lfm-post-gap)}
.lfm-button{
    width:var(--lfm-size);
    height:var(--lfm-size);
    min-width:var(--lfm-size);
    min-height:var(--lfm-size);
    padding:0;
    margin:0;
    border:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    box-sizing:border-box;
    text-decoration:none!important;
    cursor:pointer;
    background:transparent;
    box-shadow:none;
    -webkit-tap-highlight-color:transparent;
    transition:transform .16s ease, opacity .16s ease, background-color .16s ease;
}
.lfm-button picture,.lfm-button img{display:block;width:100%;height:100%;border-radius:inherit}
.lfm-button img{object-fit:cover}
.lfm-button:hover{transform:translateY(-1px)}
.lfm-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.lfm-button[data-lfm-action="top"]{
    max-height:var(--lfm-size);
    transition:max-height .24s ease, height .24s ease, min-height .24s ease, margin-bottom .24s ease, opacity .18s ease, transform .24s ease, visibility .18s ease, background-color .16s ease;
    transform-origin:center bottom;
}
.lfm-button.lfm-top-hidden{
    height:0;
    min-height:0;
    max-height:0;
    margin-bottom:calc(var(--lfm-gap) * -1);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(10px) scale(.92);
}
.lfm-main-items > .lfm-top-hidden:only-child{margin-bottom:0}
.lfm-post-nav-button{background:#fff;overflow:visible}
.lfm-post-nav-button.is-disabled{background:#d2d2d2;cursor:default}
.lfm-post-nav-button.is-disabled img{opacity:.24;filter:grayscale(1)}
.lfm-post-nav-button.is-disabled:hover{transform:none}
.lfm-has-tooltips .lfm-button::after{
    content:attr(data-label);
    position:absolute;
    top:50%;
    right:calc(100% + 10px);
    transform:translateY(-50%) translateX(4px);
    padding:7px 9px;
    border-radius:5px;
    background:rgba(20,20,20,.92);
    color:#fff;
    font-size:12px;
    font-weight:500;
    line-height:1;
    white-space:nowrap;
    max-width:min(300px,calc(100vw - 96px));
    overflow:hidden;
    text-overflow:ellipsis;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
    z-index:20;
}
.lfm-has-tooltips.lfm-side-left .lfm-button::after{right:auto;left:calc(100% + 10px);transform:translateY(-50%) translateX(-4px)}
@media (hover:hover) and (pointer:fine){
    .lfm-has-tooltips .lfm-button:hover::after,.lfm-has-tooltips .lfm-button:focus-visible::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
}
@media (max-width:767px){
    .leon-floating-menu{bottom:var(--lfm-mobile-bottom-offset)}
    .leon-floating-menu.lfm-side-right{right:var(--lfm-mobile-side-offset)}
    .leon-floating-menu.lfm-side-left{left:var(--lfm-mobile-side-offset)}
    .lfm-button{width:var(--lfm-mobile-size);height:var(--lfm-mobile-size);min-width:var(--lfm-mobile-size);min-height:var(--lfm-mobile-size)}
    .lfm-button[data-lfm-action="top"]{max-height:var(--lfm-mobile-size)}
    .lfm-button.lfm-top-hidden{height:0;min-height:0;max-height:0}
    .lfm-device-desktop{display:none!important}
    .lfm-button::after{display:none!important}
}
@media (min-width:768px){.lfm-device-mobile{display:none!important}}
@media (prefers-reduced-motion:reduce){.leon-floating-menu,.lfm-button{transition:none!important}.lfm-button:hover{transform:none}}
