:root { --acb-red:#9d161c; --acb-gold:#d3a84d; --acb-ink:#11151a; }
.acb { position:fixed; right:24px; bottom:24px; z-index:999999; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; color:#f8f4ea; }
.acb * { box-sizing:border-box; }
.acb__launcher { position:relative; width:80px; height:80px; padding:5px; border:1px solid rgba(211,168,77,.65); border-radius:50%; background:radial-gradient(circle,#27221b 0,#0b0c0e 70%); box-shadow:0 14px 40px rgba(0,0,0,.48),0 0 22px rgba(157,22,28,.25); cursor:pointer; transition:.25s ease; }
.acb__launcher:hover { transform:translateY(-4px) scale(1.04); box-shadow:0 18px 46px rgba(0,0,0,.55),0 0 28px rgba(211,168,77,.35); }
.acb__launcher img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 6px rgba(0,0,0,.55)); }
.acb__pulse { position:absolute; inset:-6px; border:1px solid rgba(211,168,77,.6); border-radius:50%; animation:acbPulse 2.2s infinite; pointer-events:none; }
@keyframes acbPulse { 0%{opacity:.8;transform:scale(.9)} 75%,100%{opacity:0;transform:scale(1.2)} }
.acb__panel { position:absolute; right:0; bottom:108px; width:min(390px,calc(100vw - 28px)); height:min(650px,calc(100vh - 150px)); display:flex; flex-direction:column; overflow:hidden; opacity:0; visibility:hidden; transform:translateY(16px) scale(.96); transform-origin:bottom right; border:1px solid rgba(211,168,77,.5); border-radius:20px; background:linear-gradient(155deg,#171b20,#08090b 75%); box-shadow:0 28px 70px rgba(0,0,0,.65); transition:.25s ease; }
.acb.is-open .acb__panel { opacity:1; visibility:visible; transform:none; }
.acb__header { min-height:78px; display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid rgba(211,168,77,.22); background:linear-gradient(110deg,rgba(157,22,28,.85),rgba(32,22,20,.95)); }
.acb__header img { width:54px; height:58px; object-fit:contain; filter:drop-shadow(0 3px 4px #000); }
.acb__header div { min-width:0; flex:1; }
.acb__header strong,.acb__header span { display:block; }
.acb__header strong { font-family:Georgia,serif; font-size:19px; color:#fff; }
.acb__header span { margin-top:3px; color:#eadfc7; font-size:11px; line-height:1.25; }
.acb__close { width:34px; height:34px; padding:0; border:0; border-radius:50%; background:rgba(0,0,0,.25); color:#fff; font-size:26px; cursor:pointer; }
.acb__messages { flex:1; overflow:auto; padding:16px 13px; scroll-behavior:smooth; }
.acb__message { width:90%; margin:0 0 12px; padding:12px 13px; border-radius:15px; font-size:14px; line-height:1.5; box-shadow:0 5px 18px rgba(0,0,0,.16); }
.acb__message p { margin:5px 0; }
.acb__message small { color:#bcb8ae; }
.acb__message--bot { background:#22272d; border:1px solid rgba(255,255,255,.07); border-bottom-left-radius:4px; }
.acb__message--user { margin-left:auto; background:linear-gradient(135deg,#84151a,#aa2128); border-bottom-right-radius:4px; }
.acb__message--bot>strong { display:block; color:#e3bd68; font-family:Georgia,serif; margin-bottom:5px; }
.acb__suggestions { display:flex; flex-wrap:wrap; gap:7px; margin:2px 0 14px; }
.acb__suggestions button,.acb__depth button { border:1px solid rgba(211,168,77,.42); border-radius:999px; background:rgba(211,168,77,.08); color:#e8d5a9; cursor:pointer; font-size:11px; padding:7px 9px; }
.acb__suggestions button:hover,.acb__depth button.is-active { background:#b38838; color:#111; }
.acb__source { display:inline-block; margin-top:7px; color:#e1bd6b; font-size:11px; text-decoration:none; }
.acb__results { margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.09); }
.acb__results>b { display:block; margin-bottom:5px; color:#e1bd6b; }
.acb__results>a { display:block; padding:7px; border-radius:8px; color:#fff; text-decoration:none; background:rgba(255,255,255,.04); margin-top:5px; }
.acb__results span,.acb__results small { display:block; }
.acb__results small { margin-top:3px; color:#aaa; line-height:1.3; }
.acb__depth { display:flex; gap:6px; padding:8px 12px; border-top:1px solid rgba(255,255,255,.06); }
.acb__form { display:flex; align-items:flex-end; gap:8px; padding:10px 12px; background:#111419; }
.acb__form textarea { flex:1; min-height:42px; max-height:90px; resize:none; border:1px solid #3a4048; border-radius:12px; background:#242930; color:#fff; padding:11px 12px; outline:none; font:inherit; }
.acb__form textarea:focus { border-color:#c89d49; box-shadow:0 0 0 2px rgba(200,157,73,.14); }
.acb__form button { width:42px; height:42px; padding:0; border:0; border-radius:12px; background:linear-gradient(135deg,#d7b05b,#9d731e); color:#17110a; font-size:19px; cursor:pointer; }
.acb__footer { padding:6px 12px 9px; color:#777; background:#111419; text-align:center; font-size:9px; letter-spacing:.35px; }
.acb__typing i { display:inline-block; width:7px; height:7px; margin:0 2px; border-radius:50%; background:#d3a84d; animation:acbDot 1s infinite alternate; }
.acb__typing i:nth-child(2){animation-delay:.2s}.acb__typing i:nth-child(3){animation-delay:.4s}
@keyframes acbDot { to { opacity:.25; transform:translateY(-3px); } }
@media (max-width:600px) { .acb{right:14px;bottom:14px}.acb__launcher{width:66px;height:66px}.acb__panel{bottom:88px;height:calc(100vh - 115px)} }
@media (prefers-reduced-motion:reduce){.acb *{animation:none!important;transition:none!important}}

