/* 悬浮按钮 */
.fl-btn{
    position:fixed;
    right:12px;
    bottom:90px;          /* 离底部距离，可调 */
    width:46px;
    height:46px;
    background:#ff5722;
    color:#fff;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size:11px;
    box-shadow:0 2px 6px rgba(0,0,0,.2);
    z-index:999;
}
.fl-btn .fl-icon{
    width:18px;
    height:18px;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>') no-repeat center/contain;
    margin-bottom:2px;
}

/* 展开面板 */
.fl-box{
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    max-height:0;
    background:#fff;
    border-top:1px solid #eee;
    overflow:hidden;
    transition:max-height .3s;
    z-index:1000;
}
.fl-box.open{ max-height:60%; }

.fl-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 15px;
    font-size:16px;
    font-weight:bold;
    border-bottom:1px solid #eee;
}
.fl-close{
    width:18px;
    height:18px;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23000" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>') no-repeat center/contain;
    cursor:pointer;
}

.fl-body{
    padding:10px 15px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.fl-body a{
    padding:4px 8px;
    background:#f2f2f2;
    color:#333;
    border-radius:3px;
    font-size:13px;
    text-decoration:none;
}