/* ALPHABYTE AI ASSISTANT */
.ab-launch{position:fixed;right:1rem;bottom:5rem;z-index:61;display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--gold,#cfb04e);background:var(--n900,#081634);color:var(--gold2,#e4cc85);font:600 .95rem var(--head,system-ui,sans-serif);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.ab-launch:hover{transform:translateY(-2px);background:var(--n800,#0c2147)}
.ab-launch svg{width:22px;height:22px;flex:none}
.ab-chat{position:fixed;right:1rem;bottom:1rem;z-index:70;width:392px;max-width:calc(100vw - 2rem);height:min(640px,calc(100dvh - 6rem));display:flex;flex-direction:column;background:var(--n950,#050e22);color:#fff;border:1px solid var(--gold,#cfb04e);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.6);overflow:hidden;font:400 1rem/1.5 var(--body,system-ui,sans-serif)}
.ab-chat[hidden]{display:none}
body.ab-open .fab,body.ab-open .ab-launch{visibility:hidden}
.ab-head{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;background:linear-gradient(135deg,var(--n800,#0c2147),var(--n900,#081634));border-bottom:1px solid rgba(207,176,78,.3)}
.ab-mark{width:36px;height:36px;border-radius:10px;background:var(--gold,#cfb04e);color:var(--n950,#050e22);display:grid;place-items:center;font:700 .85rem var(--head,system-ui,sans-serif);flex:none}
.ab-title{flex:1;min-width:0}.ab-title strong{display:block;font:600 .92rem var(--head,system-ui,sans-serif);letter-spacing:.02em}.ab-title span{font-size:.8rem;color:var(--mist,#c3cde2)}
.ab-x{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:44px;height:44px;border-radius:10px;cursor:pointer;font-size:1.3rem;line-height:1;flex:none}
.ab-x:hover{border-color:var(--gold,#cfb04e)}
.ab-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;overscroll-behavior:contain}
.ab-msg{max-width:88%;padding:.65rem .85rem;border-radius:14px;word-wrap:break-word;overflow-wrap:anywhere}
.ab-msg p{margin:0 0 .5em}.ab-msg p:last-child{margin-bottom:0}.ab-msg ul{margin:.3em 0;padding-left:1.2em}
.ab-msg.bot{align-self:flex-start;background:var(--n800,#0c2147);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:4px}
.ab-msg.me{align-self:flex-end;background:var(--gold,#cfb04e);color:var(--n950,#050e22);border-bottom-right-radius:4px}
.ab-msg.err{border-color:#e07a7a}
.ab-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.ab-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem .95rem;border-radius:999px;border:1px solid var(--gold,#cfb04e);background:transparent;color:var(--gold2,#e4cc85);font:600 .9rem var(--head,system-ui,sans-serif);text-decoration:none;cursor:pointer}
.ab-btn:hover{background:rgba(207,176,78,.14)}.ab-btn.solid{background:var(--gold,#cfb04e);color:var(--n950,#050e22)}.ab-btn.solid:hover{background:var(--gold2,#e4cc85)}
.ab-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .6rem}
.ab-typing{display:inline-flex;gap:5px;padding:.4rem 0}.ab-typing i{width:8px;height:8px;border-radius:50%;background:var(--gold,#cfb04e);opacity:.4;animation:abdot 1s infinite}.ab-typing i:nth-child(2){animation-delay:.15s}.ab-typing i:nth-child(3){animation-delay:.3s}
@keyframes abdot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.ab-in{display:flex;gap:.5rem;padding:.7rem 1rem;border-top:1px solid rgba(255,255,255,.1);background:var(--n900,#081634)}
.ab-in textarea{flex:1;resize:none;height:48px;max-height:110px;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:var(--n950,#050e22);color:#fff;font:inherit;font-size:16px}
.ab-in textarea:focus{outline:2px solid var(--gold,#cfb04e);border-color:var(--gold,#cfb04e)}
.ab-send{width:48px;height:48px;border-radius:12px;border:0;background:var(--gold,#cfb04e);color:var(--n950,#050e22);cursor:pointer;display:grid;place-items:center;flex:none}
.ab-send:disabled{opacity:.4;cursor:not-allowed}.ab-send svg{width:22px;height:22px}
.ab-foot{padding:.5rem 1rem .7rem;background:var(--n900,#081634);display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center;font-size:.78rem;color:var(--mist,#c3cde2)}
.ab-foot button{background:none;border:0;color:var(--gold2,#e4cc85);text-decoration:underline;cursor:pointer;font:inherit;padding:.3rem 0;min-height:32px}
.ab-form{display:grid;gap:.6rem;background:var(--n800,#0c2147);border:1px solid var(--gold,#cfb04e);border-radius:14px;padding:.9rem}
.ab-form h3{margin:0;font:600 1rem var(--head,system-ui,sans-serif)}.ab-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.2rem}
.ab-form input[type=text],.ab-form select,.ab-form textarea{width:100%;padding:.6rem .7rem;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:var(--n950,#050e22);color:#fff;font:inherit;font-size:16px;min-height:44px}
.ab-form textarea{min-height:84px;resize:vertical}.ab-form select option{color:#000}
.ab-form input:focus,.ab-form select:focus,.ab-form textarea:focus{outline:2px solid var(--gold,#cfb04e)}
.ab-form .cb{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem}.ab-form .cb input{width:22px;height:22px;margin-top:.1rem;flex:none}
.ab-form .st{font-size:.88rem;min-height:1.2em}.ab-form .st.bad{color:#ffb4b4}
.ab-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media (max-width:640px){.ab-chat{left:.5rem;right:.5rem;bottom:.5rem;width:auto;max-width:none;height:min(640px,calc(100dvh - 5.5rem))}.ab-launch{bottom:4.9rem}.ab-launch .t{display:none}.ab-launch{padding:.6rem}}
@media (prefers-reduced-motion:reduce){.ab-typing i{animation:none;opacity:.7}.ab-log{scroll-behavior:auto}}
