/* ============================================================
   一号位 Vibe Coding 案例馆 · 首页右侧悬浮气泡
   ------------------------------------------------------------
   注入点：zb_users/theme/yd0819/template/footer.php
   目标页：/vibe/  （一号位 Vibe Coding 案例馆 · WorkBuddy 1024 造物挑战参赛作品）
   样式独立成文件的原因同 szxh-bubble.css：规避模板引擎对 { } 的解析。
   ============================================================ */

#wb-bubble{
    position:relative;
    display:block;
    width:56px;
    background:none;
    border:0;
    color:#f3f7fb;
    text-align:center;
    text-decoration:none;
    margin-top:14px;

    transition:transform .34s cubic-bezier(.2,.8,.24,1), filter .34s;
    -webkit-tap-highlight-color:transparent;
    outline:none;
}

/* 气泡外晕：深海蓝呼吸光 */
#wb-bubble::before{
    content:"";
    position:absolute;
    right:-16px;
    top:-16px;
    bottom:-16px;
    left:-16px;
    border-radius:44px;
    background:radial-gradient(58% 46% at 76% 50%, rgba(19,44,75,.50), rgba(19,44,75,0) 72%);
    z-index:-1;
    animation:wb-breath 4.2s ease-in-out infinite;
}

/* 气泡本体：案例馆的深海军蓝 + 朱砂红底线 */
#wb-bubble .wb-core{
    position:relative;
    z-index:1;
    display:block;
    padding:15px 0 15px;
    border-radius:28px 0 0 28px;
    background:linear-gradient(158deg,#1a3a63 0%,#132c4b 44%,#0d2137 100%);
    border-bottom:3px solid #c8402e;
    box-shadow:
        0 8px 26px rgba(13,33,55,.34),
        inset 0 0 0 1px rgba(255,255,255,.16);
}

/* WorkBuddy 图标（图片文件，与气泡同目录引用） */
#wb-bubble .wb-ico{
    display:block;
    width:26px;
    height:26px;
    margin:0 auto 9px;
    border-radius:7px;
    box-shadow:0 0 6px rgba(46,204,167,.55);
}

/* 竖排馆名 */
#wb-bubble .wb-txt{
    display:inline-block;
    writing-mode:vertical-rl;
    text-orientation:upright;
    font-size:15px;
    font-weight:600;
    letter-spacing:5px;
    line-height:1;
    text-shadow:0 1px 2px rgba(0,0,0,.25);
}

#wb-bubble:hover,
#wb-bubble:focus{
    transform:translateY(-50%) translateX(-5px);
    filter:brightness(1.1);
    color:#ffffff;
}

#wb-bubble:hover .wb-core,
#wb-bubble:focus .wb-core{
    box-shadow:
        0 10px 32px rgba(13,33,55,.46),
        inset 0 0 0 1px rgba(255,255,255,.30);
}

#wb-bubble:active{
    transform:translateY(-50%) translateX(-2px);
}

@keyframes wb-breath{
    0%,100%{ opacity:.45; transform:scale(.94); }
    50%    { opacity:.95; transform:scale(1.08); }
}

/* 窄屏收敛，别挡正文 */
@media (max-width:768px){
    #wb-bubble{ width:44px; }
    #wb-bubble .wb-core{ padding:12px 0 12px; border-radius:22px 0 0 22px; }
    #wb-bubble .wb-ico{ width:20px; height:20px; margin-bottom:7px; border-radius:5px; }
    #wb-bubble .wb-txt{ font-size:13px; letter-spacing:3px; }
    #wb-bubble::before{ right:-10px; top:-10px; bottom:-10px; left:-10px; border-radius:34px; }
}

@media (prefers-reduced-motion:reduce){
    #wb-bubble::before{ animation:none; opacity:.7; }
    #wb-bubble{ transition:none; }
}
