/* DMM Records · WA Community floating badge
   Isolated component. No main player / mini-player selectors are touched. */
.wa-community-float{
    position:fixed;
    left:18px;
    bottom:calc(18px + env(safe-area-inset-bottom,0px));
    z-index:46;
    display:grid;
    justify-items:start;
    gap:10px;
    contain:layout paint style;
}
.wa-community-toggle{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,auto);
    align-items:center;
    gap:10px;
    min-height:56px;
    max-width:214px;
    padding:7px 14px 7px 8px;
    border-radius:999px;
    border:1px solid rgba(232,186,99,.44);
    color:#fff8ea;
    cursor:pointer;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(circle at 18% 16%,rgba(37,211,102,.36),transparent 34%),
        linear-gradient(135deg,rgba(18,18,20,.86),rgba(255,255,255,.08));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 14px 38px rgba(0,0,0,.34),
        0 0 26px rgba(37,211,102,.10);
    backdrop-filter:blur(18px) saturate(150%);
    -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.wa-community-toggle::before{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:-1;
    border-radius:inherit;
    background:linear-gradient(120deg,rgba(37,211,102,.38),rgba(232,186,99,.34),transparent 62%);
    opacity:.55;
}
.wa-community-toggle::after{
    content:"";
    position:absolute;
    width:72px;
    height:72px;
    right:-28px;
    top:-28px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(232,186,99,.28),transparent 68%);
    opacity:.85;
    transform:translateZ(0);
}
.wa-community-orbit{
    position:absolute;
    left:6px;
    top:6px;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px dashed rgba(232,186,99,.34);
    opacity:.74;
    animation:waCommunityOrbit 8s linear infinite;
}
.wa-community-mark,
.wa-community-link-mark{
    display:grid;
    place-items:center;
    border-radius:50%;
    background:
        radial-gradient(circle at 30% 25%,rgba(255,255,255,.98),rgba(37,211,102,.92) 32%,#128c4c 100%);
    color:#06120a;
    box-shadow:0 8px 18px rgba(0,0,0,.30),0 0 18px rgba(37,211,102,.16);
}
.wa-community-mark{
    width:42px;
    height:42px;
}
.wa-community-mark svg,
.wa-community-link-mark svg{
    width:25px;
    height:25px;
    fill:currentColor;
}
.wa-community-copy{
    position:relative;
    z-index:1;
    display:grid;
    gap:1px;
    text-align:left;
    white-space:nowrap;
    line-height:1;
}
.wa-community-copy b{
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff8ea;
}
.wa-community-copy small{
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(232,186,99,.92);
}
.wa-community-panel{
    order:-1;
    width:min(264px,calc(100vw - 28px));
    display:grid;
    gap:8px;
    padding:10px;
    border-radius:24px;
    border:1px solid rgba(232,186,99,.32);
    background:
        radial-gradient(circle at 18% 0,rgba(37,211,102,.18),transparent 42%),
        linear-gradient(145deg,rgba(9,10,12,.90),rgba(255,255,255,.07));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.13),
        0 22px 54px rgba(0,0,0,.40);
    backdrop-filter:blur(20px) saturate(150%);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px) scale(.985);
    transform-origin:bottom left;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.wa-community-float.is-open .wa-community-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}
.wa-community-link{
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 18px;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:8px 9px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
    color:#fff8ea;
    overflow:hidden;
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.wa-community-link::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(37,211,102,.12),transparent 48%,rgba(232,186,99,.10));
    opacity:0;
    transition:opacity .16s ease;
}
.wa-community-link:hover,
.wa-community-link:focus-visible{
    transform:translateY(-1px);
    border-color:rgba(232,186,99,.42);
    background:linear-gradient(135deg,rgba(37,211,102,.13),rgba(255,255,255,.055));
    outline:none;
}
.wa-community-link:hover::before,
.wa-community-link:focus-visible::before{
    opacity:1;
}
.wa-community-link-mark{
    width:34px;
    height:34px;
}
.wa-community-link-mark svg{
    width:20px;
    height:20px;
}
.wa-community-link-copy{
    position:relative;
    z-index:1;
    display:grid;
    gap:2px;
    min-width:0;
}
.wa-community-link-copy b{
    font-size:13px;
    line-height:1.08;
    color:#fff8ea;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wa-community-link-copy small{
    font-size:10px;
    line-height:1;
    color:rgba(232,186,99,.82);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:900;
}
.wa-community-arrow{
    position:relative;
    z-index:1;
    color:rgba(232,186,99,.78);
    font-size:14px;
    justify-self:end;
}
@keyframes waCommunityOrbit{
    to{transform:rotate(360deg)}
}
@media (hover:hover){
    .wa-community-toggle:hover{
        transform:translateY(-1px);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.20),
            0 16px 44px rgba(0,0,0,.38),
            0 0 34px rgba(37,211,102,.18);
    }
}
@media (max-width:980px){
    .wa-community-float{
        left:14px;
        bottom:calc(16px + env(safe-area-inset-bottom,0px));
        right:auto;
        top:auto;
    }
    .wa-community-toggle{
        max-width:56px;
        grid-template-columns:42px;
        padding:7px;
        min-height:56px;
    }
    .wa-community-copy{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        white-space:nowrap;
    }
}
@media (max-width:680px){
    .wa-community-float{
        left:12px;
        bottom:calc(14px + env(safe-area-inset-bottom,0px));
        max-width:calc(100vw - 24px);
    }
    .wa-community-panel{
        width:min(250px,calc(100vw - 24px));
        max-height:min(58vh,360px);
        overflow:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    .wa-community-link{
        min-height:50px;
        padding:8px;
    }
    .wa-community-link-copy b{
        font-size:12px;
    }
}
@media (prefers-reduced-motion:reduce){
    .wa-community-orbit{
        animation:none;
    }
    .wa-community-toggle,
    .wa-community-link,
    .wa-community-panel,
    .wa-community-link::before{
        transition:none!important;
    }
}

@media (max-height:560px){
    .wa-community-float{
        bottom:calc(10px + env(safe-area-inset-bottom,0px));
    }
    .wa-community-panel{
        max-height:calc(100vh - 92px - env(safe-area-inset-bottom,0px));
        overflow:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
}

@media (min-width:981px){
    .wa-community-float{
        left:clamp(14px,1.15vw,22px);
        right:auto;
        top:auto;
    }
}
