#sup-btn{position:fixed;right:16px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:9998;display:none;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#111827;color:#fff;border:0;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer}
body.support-eligible #sup-btn{display:flex}
#sup-btn svg{width:27px;height:27px}
#sup-panel{position:fixed;right:16px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:9999;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100dvh - 48px));background:#fff;color:#1f2937;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.32);display:none;flex-direction:column;overflow:hidden;font-family:Arial,system-ui,sans-serif;text-align:left}
#sup-panel.open{display:flex}
.sup-hd{background:#111827;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.sup-hd h4{margin:0;font-size:15px;font-weight:800}.sup-hd p{margin:3px 0 0;font-size:11.5px;color:#cbd5e1}
.sup-hd button{background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer}
#sup-msgs{flex:1;overflow-y:auto;padding:16px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}
.sup-m{max-width:85%;font-size:13.5px;line-height:1.5;padding:10px 13px;border-radius:14px;white-space:pre-wrap}
.sup-m.bot{background:#fff;border:1px solid #e8ecf2;color:#1f2937;align-self:flex-start;border-bottom-left-radius:5px}
.sup-m.bot a{color:#1d4ed8;text-decoration:underline;font-weight:700;overflow-wrap:anywhere}
.sup-m.me{background:#111827;color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.sup-q{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;background:#f8fafc}
.sup-q button{background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:600;padding:7px 11px;border-radius:999px;cursor:pointer}
.sup-fm{display:flex;gap:8px;padding:12px;border-top:1px solid #eef0f4;background:#fff}
.sup-fm input{flex:1;min-width:0;border:1px solid #e2e8f0;border-radius:12px;padding:12px 13px;font-size:14px;outline:none;font-family:inherit}
.sup-fm input:focus{border-color:#111827}.sup-fm button{background:#111827;color:#fff;border:0;border-radius:12px;width:46px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sup-fm button svg{width:18px;height:18px}.sup-fm button:disabled{opacity:.5}
.sup-typing{display:flex;gap:4px;align-self:flex-start;background:#fff;border:1px solid #e8ecf2;padding:12px 14px;border-radius:14px}
.sup-typing span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:supb 1.2s infinite}
.sup-typing span:nth-child(2){animation-delay:.2s}.sup-typing span:nth-child(3){animation-delay:.4s}
@keyframes supb{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(max-width:480px){#sup-btn{right:14px;bottom:calc(88px + env(safe-area-inset-bottom))}#sup-panel{right:12px;bottom:calc(88px + env(safe-area-inset-bottom));height:min(540px,calc(100dvh - 112px))}body:has(.card) #sup-btn{bottom:calc(20px + env(safe-area-inset-bottom))}body:has(.card) #sup-panel{bottom:calc(20px + env(safe-area-inset-bottom));height:min(540px,calc(100dvh - 44px))}}
