.acw-open-button {
position: fixed;
bottom: 24px;
right: 24px;
z-index: 999998;
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--acw-button-bg-color, #2563eb);
color: var(--acw-button-text-color, white);
border: none;
cursor: pointer;
box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
.acw-open-button:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
background: var(--acw-button-bg-color, #2563eb);
filter: brightness(0.85);
}
.acw-open-button:active {
transform: scale(0.95);
} .acw-chat-window {
position: fixed;
bottom: 24px;
right: 24px;
z-index: 999999;
width: 384px;
height: 600px;
max-height: calc(100vh - 48px);
background: white;
border-radius: 16px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
display: flex;
flex-direction: column;
overflow: hidden;
border: 1px solid #e5e7eb;
animation: acw-slide-up 0.3s ease-out;
}
@keyframes acw-slide-up {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.acw-chat-window.acw-minimized {
height: 64px;
overflow: hidden;
} .acw-header {
background: var(--acw-button-bg-color, #2563eb);
color: var(--acw-button-text-color, white);
padding: 16px;
display: flex;
align-items: center;
justify-content: space-between;
flex-shrink: 0;
}
.acw-header-content {
display: flex;
align-items: center;
gap: 12px;
}
.acw-header-icon {
width: 32px;
height: 32px;
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.acw-header-text h3 {
margin: 0;
font-size: 14px;
font-weight: 600;
line-height: 1.2;
}
.acw-header-text p {
margin: 0;
font-size: 12px;
opacity: 0.9;
line-height: 1.2;
}
.acw-header-actions {
display: flex;
gap: 8px;
}
.acw-icon-btn {
background: transparent;
border: none;
color: white;
cursor: pointer;
padding: 4px;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s;
}
.acw-icon-btn:hover {
background: rgba(255, 255, 255, 0.2);
} .acw-messages {
flex: 1;
overflow-y: auto;
padding: 16px;
background: #f9fafb;
display: flex;
flex-direction: column;
gap: 16px;
}
.acw-message {
display: flex;
max-width: 80%;
animation: acw-fade-in 0.3s ease-out;
}
@keyframes acw-fade-in {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.acw-message.acw-user {
align-self: flex-end;
justify-content: flex-end;
}
.acw-message.acw-assistant {
align-self: flex-start;
justify-content: flex-start;
}
.acw-message-content {
padding: 12px 16px;
border-radius: 12px;
line-height: 1.5;
word-wrap: break-word;
font-size: 14px;
}
.acw-message.acw-user .acw-message-content {
background: var(--acw-user-bg-color, #2563eb);
color: var(--acw-user-text-color, white);
border-bottom-right-radius: 4px;
}
.acw-message.acw-assistant .acw-message-content {
background: var(--acw-bot-bg-color, #f3f4f6);
color: var(--acw-bot-text-color, #1f2937);
border: 1px solid var(--acw-bot-bg-color, #e5e7eb);
border-bottom-left-radius: 4px;
} .acw-typing {
padding: 0 16px 16px;
background: #f9fafb;
}
.acw-typing-dots {
display: flex;
gap: 4px;
padding: 12px 16px;
background: white;
border: 1px solid #e5e7eb;
border-radius: 12px;
width: fit-content;
border-bottom-left-radius: 4px;
}
.acw-typing-dots span {
width: 8px;
height: 8px;
background: #9ca3af;
border-radius: 50%;
animation: acw-bounce 1.4s infinite ease-in-out;
}
.acw-typing-dots span:nth-child(1) {
animation-delay: -0.32s;
}
.acw-typing-dots span:nth-child(2) {
animation-delay: -0.16s;
}
@keyframes acw-bounce {
0%, 80%, 100% {
transform: scale(0);
}
40% {
transform: scale(1);
}
} .acw-input-area {
padding: 16px;
background: white;
border-top: 1px solid #e5e7eb;
flex-shrink: 0;
}
#acw-chat-form {
display: flex;
gap: 8px;
align-items: flex-end;
}
.acw-message-input {
flex: 1;
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 12px 16px;
font-size: 14px;
font-family: inherit;
resize: none;
max-height: 120px;
line-height: 1.5;
transition: border-color 0.2s;
}
.acw-message-input:focus {
outline: none;
border-color: var(--acw-button-bg-color, #2563eb);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.acw-send-button {
width: 40px;
height: 40px;
border-radius: 12px;
background: var(--acw-button-bg-color, #2563eb);
color: var(--acw-button-text-color, white);
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
flex-shrink: 0;
}
.acw-send-button:hover:not(:disabled) {
background: var(--acw-button-bg-color, #2563eb);
filter: brightness(0.85);
transform: scale(1.05);
}
.acw-send-button:disabled {
opacity: 0.5;
cursor: not-allowed;
} @media (max-width: 768px) {
.acw-chat-window {
width: calc(100vw - 32px);
height: calc(100vh - 32px);
max-height: calc(100vh - 32px);
bottom: 16px;
right: 16px;
border-radius: 12px;
}
.acw-open-button {
bottom: 16px;
right: 16px;
}
} .acw-messages::-webkit-scrollbar {
width: 6px;
}
.acw-messages::-webkit-scrollbar-track {
background: transparent;
}
.acw-messages::-webkit-scrollbar-thumb {
background: #d1d5db;
border-radius: 3px;
}
.acw-messages::-webkit-scrollbar-thumb:hover {
background: #9ca3af;
} .acw-shortcode-container {
margin: 0;
width: 100%;
padding: 0;
}
.acw-shortcode-window {
width: 100%;
background: transparent;
display: flex;
flex-direction: column;
min-height: 400px;
border: none;
box-shadow: none;
border-radius: 0;
overflow: visible; } .acw-messages-integrated {
flex: 1;
overflow-y: visible; overflow-x: hidden;
padding: 0;
background: transparent;
display: flex;
flex-direction: column;
gap: 0;
margin-bottom: 0;
}
.acw-messages-integrated .acw-message {
display: flex;
width: 100%;
padding: 16px 0;
animation: acw-fade-in 0.3s ease-out;
}
.acw-messages-integrated .acw-message.acw-user {
justify-content: flex-end;
padding-right: 0;
}
.acw-messages-integrated .acw-message.acw-assistant {
justify-content: flex-start;
padding-left: 0;
}
.acw-messages-integrated .acw-message-content {
max-width: 85%;
padding: 12px 16px;
border-radius: 18px;
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
} .acw-messages-integrated .acw-message.acw-user .acw-message-content {
background: var(--acw-user-bg-color, #2563eb) !important;
color: var(--acw-user-text-color, white) !important;
border-bottom-right-radius: 4px;
} .acw-messages-integrated .acw-message.acw-assistant .acw-message-content {
background: var(--acw-bot-bg-color, #f3f4f6);
color: var(--acw-bot-text-color, #1f2937);
border: 1px solid var(--acw-bot-bg-color, #e5e7eb);
border-bottom-left-radius: 4px;
} .acw-messages-integrated .acw-message.acw-assistant:first-child .acw-message-content {
background: var(--acw-bot-bg-color, #f3f4f6) !important;
color: var(--acw-bot-text-color, #1f2937) !important;
border: none !important;
} .acw-redirect-text {
margin: 12px 0 8px 0;
color: #6b7280;
font-size: 14px;
font-style: italic;
}
.acw-redirect-button {
display: inline-block;
padding: 12px 24px;
background: var(--acw-button-bg-color, #2563eb) !important;
color: var(--acw-button-text-color, white) !important;
text-decoration: none;
border-radius: 8px;
font-weight: 500;
margin-top: 8px;
transition: all 0.2s ease;
border: none !important;
cursor: pointer;
}
.acw-redirect-button:hover {
background: var(--acw-button-bg-color, #2563eb) !important;
filter: brightness(0.85);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
color: var(--acw-button-text-color, white) !important;
text-decoration: none;
}
.acw-redirect-button:active {
transform: translateY(0);
} .acw-message-content a {
text-decoration: underline;
word-break: break-all;
transition: opacity 0.2s ease;
}
.acw-message-content a:hover {
opacity: 0.75;
}
.acw-message.acw-assistant .acw-message-content a:not(.acw-redirect-button) {
color: var(--acw-button-bg-color, #2563eb);
}
.acw-message.acw-user .acw-message-content a {
color: inherit;
} .acw-typing-integrated {
padding: 16px 0;
background: transparent;
display: flex;
justify-content: flex-start;
}
.acw-typing-dots-integrated {
display: flex;
gap: 4px;
padding: 12px 16px;
background: #f3f4f6;
border: 1px solid #e5e7eb;
border-radius: 18px;
border-bottom-left-radius: 4px;
width: fit-content;
}
.acw-typing-dots-integrated span {
width: 8px;
height: 8px;
background: #9ca3af;
border-radius: 50%;
animation: acw-bounce 1.4s infinite ease-in-out;
}
.acw-typing-dots-integrated span:nth-child(1) {
animation-delay: -0.32s;
}
.acw-typing-dots-integrated span:nth-child(2) {
animation-delay: -0.16s;
} .acw-input-area-integrated {
padding: 20px 0;
background: transparent;
border: none;
margin-top: auto;
position: sticky;
bottom: 0;
}
.acw-form-integrated {
max-width: 768px;
margin: 0 auto;
width: 100%;
}
.acw-input-wrapper-integrated {
position: relative;
display: flex;
align-items: center;
background: white !important;
border-radius: 24px;
padding: 4px 4px 4px 16px;
border: none !important;
border-width: 0 !important;
outline: none !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
transition: box-shadow 0.2s ease;
-webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.acw-input-wrapper-integrated * {
border: none !important;
outline: none !important;
}
.acw-input-wrapper-integrated:focus-within {
background: white !important;
box-shadow: 0 4px 16px rgba(199, 210, 69, 0.5) !important;
outline: none !important;
border: none !important;
-webkit-box-shadow: 0 4px 16px rgba(199, 210, 69, 0.5) !important;
}
.acw-input-wrapper-integrated:focus,
.acw-input-wrapper-integrated:active,
.acw-input-wrapper-integrated:focus-visible {
background: white !important;
border: none !important;
outline: none !important;
box-shadow: 0 4px 16px rgba(199, 210, 69, 0.5) !important;
-webkit-box-shadow: 0 4px 16px rgba(199, 210, 69, 0.5) !important;
}
.acw-message-input-integrated {
flex: 1;
border: none !important;
border-width: 0 !important;
background: transparent !important;
padding: 8px 12px !important;
font-size: 16px !important; font-family: inherit;
resize: none;
height: 40px !important;
min-height: 40px !important;
max-height: 200px;
line-height: 1.5;
color: #1f2937;
outline: none !important;
-webkit-appearance: none !important;
-webkit-tap-highlight-color: transparent;
box-sizing: border-box;
box-shadow: none !important;
-webkit-box-shadow: none !important;
inset: none !important;
}
.acw-message-input-integrated:focus,
.acw-message-input-integrated:active,
.acw-message-input-integrated:focus-visible {
border: none !important;
outline: none !important;
box-shadow: none !important;
-webkit-box-shadow: none !important;
background: transparent !important;
background-color: transparent !important;
}
.acw-message-input-integrated::placeholder {
color: #9ca3af;
}
.acw-send-button-integrated {
width: 36px !important;
height: 36px !important;
min-width: 36px !important;
min-height: 36px !important;
border-radius: 50% !important;
background: var(--acw-button-bg-color, #2563eb) !important;
background-color: var(--acw-button-bg-color, #2563eb) !important;
color: var(--acw-button-text-color, white) !important;
border: none !important;
border-color: transparent !important;
cursor: pointer;
display: flex !important;
align-items: center !important;
justify-content: center !important;
transition: all 0.2s ease;
flex-shrink: 0;
margin-left: 8px;
padding: 0 !important;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}
.acw-send-button-integrated:hover:not(:disabled) {
background: var(--acw-button-bg-color, #2563eb) !important;
background-color: var(--acw-button-bg-color, #2563eb) !important;
filter: brightness(0.85);
transform: scale(1.08);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;
}
.acw-send-button-integrated:active:not(:disabled) {
background: var(--acw-button-bg-color, #2563eb) !important;
background-color: var(--acw-button-bg-color, #2563eb) !important;
filter: brightness(0.8);
}
.acw-send-button-integrated svg {
stroke: white !important;
fill: none !important;
color: white !important;
}
.acw-send-button-integrated svg * {
stroke: white !important;
fill: none !important;
color: white !important;
}
.acw-send-button-integrated:active:not(:disabled) {
transform: scale(0.95);
}
.acw-send-button-integrated:disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.acw-send-button-integrated svg {
width: 18px;
height: 18px;
display: block;
margin: 0 auto;
} @media (max-width: 768px) {
.acw-shortcode-window {
min-height: 300px;
}
.acw-messages-integrated .acw-message {
padding: 12px 0;
}
.acw-messages-integrated .acw-message-content {
max-width: 90%;
font-size: 14px;
padding: 10px 14px;
}
.acw-input-wrapper-integrated {
border-radius: 20px;
padding: 10px 14px;
}
.acw-message-input-integrated {
font-size: 16px !important; }
} @supports (-webkit-touch-callout: none) { .acw-message-input-integrated {
font-size: 16px !important;
}
.acw-input-wrapper-integrated {
font-size: 16px !important;
}
} .acw-messages-integrated::-webkit-scrollbar {
width: 8px;
}
.acw-messages-integrated::-webkit-scrollbar-track {
background: transparent;
}
.acw-messages-integrated::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
}
.acw-messages-integrated::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.3);
} .acw-chat-actions {
display: flex;
justify-content: center;
margin-top: 12px;
padding: 0 20px;
}
.acw-restart-button {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: transparent;
border: 1px solid #d1d5db;
border-radius: 8px;
color: #6b7280;
font-size: 14px;
cursor: pointer;
transition: all 0.2s;
}
.acw-restart-button:hover {
background: #f9fafb;
border-color: #9ca3af;
color: #374151;
}
.acw-restart-button svg {
width: 16px;
height: 16px;
} .acw-disclaimer {
text-align: center;
margin-top: 12px;
padding: 0 20px;
}
.acw-disclaimer p {
font-size: 11px;
color: #4b5563;
margin: 0;
line-height: 1.6;
font-weight: 400;
}