#artline-chat { position: fixed; bottom: 24px; right: 24px; z-index: 9999; font-family: inherit; }
#artline-chat-toggle { width: 56px; height: 56px; border-radius: 50%; background: #1a1a1a; color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,.25); transition: transform .2s; }
#artline-chat-toggle:hover { transform: scale(1.08); }
#artline-chat-toggle svg { width: 26px; height: 26px; }
#artline-chat-box { position: absolute; bottom: 68px; right: 0; width: 360px; max-height: 540px; background: #fff; border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,.18); display: flex; flex-direction: column; overflow: hidden; }
#artline-chat-box.artline-hidden { display: none; }
#artline-chat-header { background: #1a1a1a; color: #fff; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 15px; }
#artline-chat-close { background: none; border: none; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; }
#artline-chat-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.artline-msg { max-width: 85%; }
.artline-msg p { margin: 0; font-size: 14px; line-height: 1.5; padding: 10px 13px; border-radius: 10px; }
.artline-msg a { color: inherit; text-decoration: underline; }
.artline-msg-user { align-self: flex-end; }
.artline-msg-user p { background: #1a1a1a; color: #fff; border-bottom-right-radius: 3px; }
.artline-msg-assistant { align-self: flex-start; }
.artline-msg-assistant p { background: #f2f2f2; color: #1a1a1a; border-bottom-left-radius: 3px; }
.artline-typing { display: flex; align-items: center; padding: 10px 13px; background: #f2f2f2; border-radius: 10px; border-bottom-left-radius: 3px; width: fit-content; gap: 5px; }
.artline-typing span { width: 7px; height: 7px; background: #999; border-radius: 50%; animation: artline-bounce .9s infinite; }
.artline-typing span:nth-child(2) { animation-delay: .15s; }
.artline-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes artline-bounce { 0%,60%,100% { transform: translateY(0); } 30% { transform: translateY(-6px); } }
.artline-cards { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.artline-card { display: flex; align-items: center; gap: 10px; background: #fafafa; border: 1px solid #e8e8e8; border-radius: 8px; padding: 8px; text-decoration: none; color: inherit; transition: background .15s; }
.artline-card:hover { background: #f0f0f0; }
.artline-card img { width: 56px; height: 56px; object-fit: cover; border-radius: 5px; flex-shrink: 0; }
.artline-card-name { font-size: 13px; font-weight: 500; flex: 1; }
.artline-card-price { font-size: 13px; font-weight: 700; color: #1a1a1a; white-space: nowrap; }
#artline-chat-input-row { display: flex; border-top: 1px solid #e8e8e8; padding: 10px 12px; gap: 8px; }
#artline-chat-input { flex: 1; border: 1px solid #ddd; border-radius: 8px; padding: 8px 12px; font-size: 14px; outline: none; }
#artline-chat-input:focus { border-color: #1a1a1a; }
#artline-chat-send { background: #1a1a1a; color: #fff; border: none; border-radius: 8px; padding: 8px 14px; cursor: pointer; font-size: 16px; }
#artline-chat-send:disabled { opacity: .4; cursor: default; }
@media (max-width: 480px) { #artline-chat-box { width: calc(100vw - 32px); right: -8px; } }