/* Al Demolition chat assistant. Ported from the Gutter Bandits widget, restyled for Al. */
#alFab{position:fixed;z-index:5000;bottom:22px;right:22px;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ink,#17181A);color:#F5B70A;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(23,24,26,.32),0 0 0 3px #F5B70A;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s}
#alFab:hover{transform:translateY(-2px) scale(1.04)}
#alFab:focus-visible{outline:3px solid #8F5700;outline-offset:3px}
#alFab svg{width:28px;height:28px}
.al-dot{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:#F5B70A;border:2px solid #17181A;animation:alPulse 2s ease-in-out infinite}
@keyframes alPulse{0%{box-shadow:0 0 0 0 rgba(245,183,10,.65)}70%{box-shadow:0 0 0 10px rgba(245,183,10,0)}100%{box-shadow:0 0 0 0 rgba(245,183,10,0)}}
body.al-chat-open #alFab{opacity:0;pointer-events:none;transform:scale(.8)}

#alChat{position:fixed;z-index:5001;bottom:22px;right:22px;width:380px;max-height:580px;height:min(580px,calc(100vh - 44px));
  background:#F8F7F4;border:1px solid rgba(23,24,26,.12);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 22px 60px rgba(23,24,26,.28);opacity:0;visibility:hidden;transform:translateY(14px) scale(.98);
  transform-origin:bottom right;transition:opacity .22s,transform .22s,visibility .22s;font-family:'Satoshi',system-ui,sans-serif}
#alChat.open{opacity:1;visibility:visible;transform:none}
.al-head{display:flex;align-items:center;gap:11px;padding:14px 16px;background:#17181A;color:#fff;flex-shrink:0;
  background-image:repeating-linear-gradient(-45deg,transparent 0 10px,rgba(245,183,10,.07) 10px 20px)}
.al-avatar{width:38px;height:38px;border-radius:50%;background:#F5B70A;color:#17181A;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.al-avatar svg{width:22px;height:22px}
.al-name{font-family:'Clash Display',sans-serif;font-weight:600;font-size:16px;line-height:1.1}
.al-sub{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;color:rgba(248,247,244,.6);margin-top:3px}
#alClose{margin-left:auto;background:rgba(255,255,255,.08);border:0;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px}
#alClose:hover{background:rgba(255,255,255,.16)}
.al-tabs{display:flex;background:#fff;border-bottom:1px solid rgba(23,24,26,.1);flex-shrink:0}
.al-tab{flex:1;padding:11px 0;border:0;background:none;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;color:rgba(23,24,26,.5);border-bottom:2px solid transparent}
.al-tab.active{color:#17181A;border-bottom-color:#F5B70A;font-weight:600}
#alFaqBody{flex:1;overflow-y:auto;padding:12px 14px;overscroll-behavior:contain}
#alFaqBody.hidden{display:none}
.al-faq-item{background:#fff;border:1px solid rgba(23,24,26,.1);border-radius:12px;margin-bottom:8px;overflow:hidden}
.al-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:13px 14px;border:0;background:none;cursor:pointer;font-family:'Satoshi',sans-serif;font-weight:700;font-size:14px;color:#17181A}
.al-faq-arrow{font-size:10px;color:#C77800;transition:transform .2s}
.al-faq-item.open .al-faq-arrow{transform:rotate(180deg)}
.al-faq-a{display:none;padding:0 14px 14px;font-size:14px;line-height:1.6;color:rgba(23,24,26,.78)}
.al-faq-item.open .al-faq-a{display:block}
#alBody{flex:1;overflow-y:auto;padding:14px;display:none;overscroll-behavior:contain}
#alBody.active{display:block}
.al-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.55;margin-bottom:9px;animation:alIn .25s ease-out}
.al-msg.bot{background:#fff;border:1px solid rgba(23,24,26,.1);color:#17181A;border-bottom-left-radius:4px}
.al-msg.user{background:#17181A;color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.al-msg a{color:#8F5700;font-weight:700}
.al-msg.user a{color:#F5B70A}
@keyframes alIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.al-typing{display:inline-flex;gap:4px;padding:12px 14px}
.al-typing span{width:6px;height:6px;border-radius:50%;background:rgba(23,24,26,.35);animation:alBlink 1.2s infinite}
.al-typing span:nth-child(2){animation-delay:.15s}.al-typing span:nth-child(3){animation-delay:.3s}
@keyframes alBlink{0%,80%,100%{opacity:.3}40%{opacity:1}}
#alSuggestions{display:none;flex-wrap:wrap;gap:6px;padding:0 14px 10px;flex-shrink:0}
#alSuggestions.active{display:flex}
.al-sug{border:1px solid rgba(23,24,26,.18);background:#fff;border-radius:999px;padding:7px 12px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#17181A;cursor:pointer;transition:all .2s}
.al-sug:hover{background:#17181A;color:#fff;border-color:#17181A}
.al-footer{display:none;gap:8px;padding:10px 12px;border-top:1px solid rgba(23,24,26,.1);background:#fff;flex-shrink:0}
.al-footer.active{display:flex}
#alInput{flex:1;border:1px solid rgba(23,24,26,.15);border-radius:999px;padding:10px 15px;font-family:'Satoshi',sans-serif;font-size:14px;outline:0;background:#F8F7F4;color:#17181A}
#alInput:focus{border-color:#C77800}
#alSend{width:40px;height:40px;border-radius:50%;border:0;background:#17181A;color:#F5B70A;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#alSend:hover{background:#8F5700;color:#fff}
.al-callbar{flex-shrink:0;display:block;text-align:center;padding:9px;background:#F5B70A;color:#17181A;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.04em;text-decoration:none}
.al-callbar:hover{background:#E0A600}

/* the share button on blog posts lived in this corner: stack it above the chat bubble */
.share-fab{bottom:96px!important}

@media(max-width:600px){
  #alFab{bottom:18px;right:18px;width:56px;height:56px}
  #alChat{left:0;right:0;bottom:0;top:auto;width:auto;max-height:none;height:88vh;border-radius:18px 18px 0 0}
  .share-fab{bottom:88px!important}
}
@media(prefers-reduced-motion:reduce){.al-dot,#alChat,.al-msg{animation:none;transition:none}}
