:root {
--aivb-color: #6366f1;
--aivb-color-light: #eef2ff;
--aivb-radius: 12px;
--aivb-shadow: 0 4px 24px rgba(0,0,0,0.12);
--aivb-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--aivb-transition: 0.2s ease;
} .aivb-chat-widget {
position: fixed;
z-index: 99999;
font-family: var(--aivb-font);
}
.aivb-chat-widget.aivb-chat-widget--bottom-right { bottom: 24px; right: 24px; }
.aivb-chat-widget.aivb-chat-widget--bottom-left  { bottom: 24px; left: 24px; }
.aivb-chat-widget.aivb-chat-widget--bottom-center {
bottom: 24px;
left: 50%;
transform: translateX(-50%);
} .aivb-chat-toggle {
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--aivb-color);
color: #fff;
border: none;
cursor: pointer;
font-size: 26px;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
transition: transform var(--aivb-transition), box-shadow var(--aivb-transition);
position: relative;
}
.aivb-chat-toggle:hover {
transform: scale(1.08);
box-shadow: 0 6px 24px rgba(0,0,0,0.25);
}
.aivb-chat-toggle__open,
.aivb-chat-toggle__close {
position: absolute;
transition: opacity 0.2s, transform 0.2s;
line-height: 1;
}
.aivb-chat-toggle__close {
opacity: 0;
transform: rotate(-90deg);
font-size: 20px;
}
.aivb-chat-toggle--open .aivb-chat-toggle__open {
opacity: 0;
transform: rotate(90deg);
}
.aivb-chat-toggle--open .aivb-chat-toggle__close {
opacity: 1;
transform: rotate(0deg);
} .aivb-chat-window {
position: absolute;
bottom: 72px;
width: 360px;
max-height: 520px;
background: #fff;
border-radius: var(--aivb-radius);
box-shadow: var(--aivb-shadow);
display: flex;
flex-direction: column;
overflow: hidden;
opacity: 0;
transform: translateY(12px) scale(0.97);
pointer-events: none;
transition: opacity 0.22s ease, transform 0.22s ease;
}
.aivb-chat-widget--bottom-right .aivb-chat-window { right: 0; }
.aivb-chat-widget--bottom-left  .aivb-chat-window { left: 0; }
.aivb-chat-widget--bottom-center .aivb-chat-window {
left: 50%;
transform: translateX(-50%) translateY(12px) scale(0.97);
}
.aivb-chat-window--open {
opacity: 1;
transform: translateY(0) scale(1);
pointer-events: auto;
}
.aivb-chat-widget--bottom-center .aivb-chat-window--open {
transform: translateX(-50%) translateY(0) scale(1);
} .aivb-chat-header {
background: var(--aivb-color);
color: #fff;
padding: 14px 16px;
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
}
.aivb-chat-header__avatar { font-size: 24px; line-height: 1; }
.aivb-chat-header__info {
flex: 1;
display: flex;
flex-direction: column;
line-height: 1.3;
}
.aivb-chat-header__info strong { font-size: 15px; }
.aivb-chat-header__status {
font-size: 12px;
opacity: 0.85;
display: flex;
align-items: center;
gap: 4px;
}
.aivb-dot {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 50%;
background: #4ade80;
}
.aivb-chat-close {
background: rgba(255,255,255,0.15);
border: none;
color: #fff;
width: 28px;
height: 28px;
border-radius: 50%;
cursor: pointer;
font-size: 13px;
display: flex;
align-items: center;
justify-content: center;
transition: background var(--aivb-transition);
}
.aivb-chat-close:hover { background: rgba(255,255,255,0.25); } .aivb-chat-messages {
flex: 1;
overflow-y: auto;
padding: 16px;
display: flex;
flex-direction: column;
gap: 12px;
scroll-behavior: smooth;
}
.aivb-chat-message {
display: flex;
align-items: flex-end;
gap: 8px;
}
.aivb-chat-message--user {
flex-direction: row-reverse;
}
.aivb-chat-message__avatar {
font-size: 20px;
flex-shrink: 0;
line-height: 1;
}
.aivb-chat-message__bubble {
max-width: 78%;
padding: 10px 14px;
border-radius: 18px;
font-size: 14px;
line-height: 1.5;
word-break: break-word;
}
.aivb-chat-message--bot .aivb-chat-message__bubble {
background: #f3f4f6;
color: #111827;
border-bottom-left-radius: 4px;
}
.aivb-chat-message--user .aivb-chat-message__bubble {
background: var(--aivb-color);
color: #fff;
border-bottom-right-radius: 4px;
} .aivb-chat-typing {
display: flex;
align-items: flex-end;
gap: 8px;
padding: 0 16px 8px;
}
.aivb-typing-indicator {
display: flex;
gap: 4px;
align-items: center;
padding: 10px 14px;
}
.aivb-typing-indicator span {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 50%;
background: #9ca3af;
animation: aivb-bounce 1.2s infinite ease-in-out;
}
.aivb-typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.aivb-typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
@keyframes aivb-bounce {
0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }
40%           { transform: scale(1);   opacity: 1; }
} .aivb-chat-input-area {
padding: 12px 14px;
border-top: 1px solid #f3f4f6;
display: flex;
gap: 8px;
align-items: center;
flex-shrink: 0;
}
.aivb-chat-input {
flex: 1;
border: 1.5px solid #e5e7eb;
border-radius: 999px;
padding: 9px 16px;
font-size: 14px;
outline: none;
transition: border-color var(--aivb-transition);
font-family: var(--aivb-font);
}
.aivb-chat-input:focus { border-color: var(--aivb-color); }
.aivb-chat-send {
width: 38px;
height: 38px;
border-radius: 50%;
background: var(--aivb-color);
color: #fff;
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: opacity var(--aivb-transition);
}
.aivb-chat-send:disabled { opacity: 0.5; cursor: not-allowed; }
.aivb-chat-send:not(:disabled):hover { opacity: 0.88; } @media (max-width: 480px) {
.aivb-chat-window {
width: calc(100vw - 32px);
bottom: 76px;
}
} .aivb-voice-search {
font-family: var(--aivb-font);
}
.aivb-voice-search__bar {
display: flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1.5px solid #e5e7eb;
border-radius: 999px;
padding: 6px 8px 6px 16px;
box-shadow: 0 1px 4px rgba(0,0,0,0.06);
transition: border-color var(--aivb-transition), box-shadow var(--aivb-transition);
}
.aivb-voice-search__bar:focus-within {
border-color: var(--aivb-color);
box-shadow: 0 0 0 3px rgba(99,102,241,0.12);
}
.aivb-voice-btn {
background: none;
border: 1.5px solid #e5e7eb;
border-radius: 50%;
width: 38px;
height: 38px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: #6b7280;
transition: all var(--aivb-transition);
flex-shrink: 0;
}
.aivb-voice-btn:hover { border-color: var(--aivb-color); color: var(--aivb-color); }
.aivb-voice-btn--listening {
background: #fee2e2;
border-color: #ef4444;
color: #ef4444;
animation: aivb-pulse 1.2s infinite;
}
@keyframes aivb-pulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0.4); }
50%       { box-shadow: 0 0 0 8px rgba(239,68,68,0); }
}
.aivb-voice-input {
flex: 1;
border: none;
outline: none;
font-size: 15px;
background: transparent;
min-width: 0;
font-family: var(--aivb-font);
}
.aivb-voice-submit {
background: var(--aivb-color);
color: #fff;
border: none;
border-radius: 999px;
padding: 9px 22px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
transition: opacity var(--aivb-transition);
font-family: var(--aivb-font);
}
.aivb-voice-submit:hover { opacity: 0.88; }
.aivb-voice-status {
margin-top: 8px;
font-size: 13px;
color: #6366f1;
text-align: center;
padding: 4px 0;
}
.aivb-voice-status--error { color: #ef4444; } .aivb-voice-results {
margin-top: 12px;
border: 1px solid #e5e7eb;
border-radius: var(--aivb-radius);
overflow: hidden;
background: #fff;
}
.aivb-voice-results__meta {
padding: 10px 16px;
font-size: 13px;
color: #6b7280;
border-bottom: 1px solid #f3f4f6;
margin: 0;
}
.aivb-voice-results__list { display: flex; flex-direction: column; }
.aivb-voice-result-item {
padding: 12px 16px;
border-bottom: 1px solid #f9fafb;
text-decoration: none;
color: inherit;
transition: background var(--aivb-transition);
display: block;
}
.aivb-voice-result-item:hover { background: #f8f9ff; }
.aivb-voice-result-item:last-child { border-bottom: none; }
.aivb-voice-result-type {
display: inline-block;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
background: var(--aivb-color-light);
color: var(--aivb-color);
padding: 2px 8px;
border-radius: 999px;
margin-bottom: 4px;
}
.aivb-voice-result-item strong {
display: block;
font-size: 14px;
color: #111827;
margin-bottom: 2px;
}
.aivb-voice-result-item p {
font-size: 13px;
color: #6b7280;
margin: 0;
line-height: 1.4;
}
.aivb-voice-results__empty, .aivb-voice-results__error {
padding: 20px 16px;
text-align: center;
color: #6b7280;
font-size: 14px;
} .aivb-faq {
font-family: var(--aivb-font);
}
.aivb-faq__title {
font-size: 1.6rem;
font-weight: 700;
color: #111827;
margin: 0 0 24px;
}
.aivb-faq__list { display: flex; flex-direction: column; gap: 8px; } .aivb-faq--bordered .aivb-faq-item {
border: 1.5px solid #e5e7eb;
border-radius: 10px;
overflow: hidden;
transition: border-color var(--aivb-transition);
}
.aivb-faq--bordered .aivb-faq-item:hover,
.aivb-faq--bordered .aivb-faq-item--open { border-color: var(--aivb-color); } .aivb-faq--card .aivb-faq-item {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 1px 4px rgba(0,0,0,0.08);
background: #fff;
} .aivb-faq--minimal .aivb-faq-item {
border-bottom: 1px solid #e5e7eb;
}
.aivb-faq-item__trigger {
width: 100%;
background: transparent;
border: none;
padding: 16px 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
text-align: left;
font-family: var(--aivb-font);
}
.aivb-faq-item__trigger:hover { background: rgba(0,0,0,0.02); }
.aivb-faq-item__question {
font-size: 15px;
font-weight: 600;
color: #111827;
line-height: 1.4;
}
.aivb-faq-item--open .aivb-faq-item__question { color: var(--aivb-color); }
.aivb-faq-item__icon {
color: #9ca3af;
flex-shrink: 0;
transition: transform 0.25s ease, color 0.2s;
}
.aivb-faq-item--open .aivb-faq-item__icon {
transform: rotate(180deg);
color: var(--aivb-color);
}
.aivb-faq-item__panel { max-height: 0; overflow: hidden; }
.aivb-faq-item__answer {
padding: 4px 20px 18px;
font-size: 14px;
color: #4b5563;
line-height: 1.65;
}
.aivb-faq-item__answer a { color: var(--aivb-color); } .aivb-search-widget {
font-family: var(--aivb-font);
position: relative;
}
.aivb-search-bar {
display: flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1.5px solid #e5e7eb;
border-radius: 10px;
padding: 10px 12px;
box-shadow: 0 1px 4px rgba(0,0,0,0.06);
transition: border-color var(--aivb-transition), box-shadow var(--aivb-transition);
}
.aivb-search-bar:focus-within {
border-color: var(--aivb-color);
box-shadow: 0 0 0 3px rgba(99,102,241,0.12);
}
.aivb-search-icon { color: #9ca3af; flex-shrink: 0; }
.aivb-search-input {
flex: 1;
border: none;
outline: none;
font-size: 15px;
background: transparent;
min-width: 0;
font-family: var(--aivb-font);
}
.aivb-search-btn {
background: var(--aivb-color);
color: #fff;
border: none;
border-radius: 8px;
padding: 9px 18px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
transition: opacity var(--aivb-transition);
font-family: var(--aivb-font);
}
.aivb-search-btn:hover { opacity: 0.88; } .aivb-search-dropdown {
position: absolute;
top: calc(100% + 6px);
left: 0;
right: 0;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 10px;
box-shadow: var(--aivb-shadow);
z-index: 9999;
overflow: hidden;
}
.aivb-search-result {
display: block;
padding: 12px 16px;
text-decoration: none;
color: inherit;
border-bottom: 1px solid #f9fafb;
transition: background var(--aivb-transition);
}
.aivb-search-result:hover { background: #f8f9ff; }
.aivb-search-result:last-of-type { border-bottom: none; }
.aivb-search-result__top {
display: flex;
align-items: baseline;
gap: 8px;
margin-bottom: 3px;
}
.aivb-search-result__type {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
background: var(--aivb-color-light);
color: var(--aivb-color);
padding: 2px 8px;
border-radius: 999px;
flex-shrink: 0;
}
.aivb-search-result__title {
font-size: 14px;
color: #111827;
}
.aivb-search-result__title mark {
background: #fef08a;
color: inherit;
border-radius: 2px;
padding: 0 1px;
}
.aivb-search-result__excerpt {
font-size: 12px;
color: #6b7280;
margin: 0;
line-height: 1.4;
}
.aivb-search-footer {
padding: 8px 16px;
font-size: 12px;
color: #9ca3af;
border-top: 1px solid #f3f4f6;
background: #fafafa;
}
.aivb-search-empty {
padding: 20px 16px;
text-align: center;
color: #6b7280;
font-size: 14px;
}
.aivb-search-loading {
padding: 16px;
display: flex;
justify-content: center;
gap: 6px;
}
.aivb-search-loading span {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--aivb-color);
animation: aivb-bounce 1.2s infinite ease-in-out;
}
.aivb-search-loading span:nth-child(2) { animation-delay: 0.2s; }
.aivb-search-loading span:nth-child(3) { animation-delay: 0.4s; } .aivb-docs-kb {
font-family: var(--aivb-font);
} .aivb-docs-kb__header {
text-align: center;
margin-bottom: 28px;
}
.aivb-docs-kb__title {
font-size: 2rem;
font-weight: 800;
color: #111827;
margin: 0 0 8px;
}
.aivb-docs-kb__subtitle {
color: #6b7280;
font-size: 1rem;
margin: 0 0 20px;
} .aivb-docs-kb__search-wrap {
position: relative;
max-width: 560px;
margin: 0 auto;
}
.aivb-docs-kb__search-icon {
position: absolute;
left: 16px;
top: 50%;
transform: translateY(-50%);
color: #9ca3af;
pointer-events: none;
}
.aivb-docs-kb__search {
width: 100%;
box-sizing: border-box;
padding: 12px 16px 12px 44px;
border: 2px solid #e5e7eb;
border-radius: 10px;
font-size: 15px;
outline: none;
transition: border-color var(--aivb-transition);
font-family: var(--aivb-font);
}
.aivb-docs-kb__search:focus { border-color: var(--aivb-color); } .aivb-docs-kb__tabs {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 24px;
}
.aivb-docs-kb__tab {
background: #f3f4f6;
border: 1.5px solid transparent;
border-radius: 999px;
padding: 7px 18px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
color: #4b5563;
transition: all var(--aivb-transition);
font-family: var(--aivb-font);
display: inline-flex;
align-items: center;
gap: 6px;
}
.aivb-docs-kb__tab:hover { border-color: var(--aivb-color); color: var(--aivb-color); }
.aivb-docs-kb__tab--active {
background: var(--aivb-color);
color: #fff;
border-color: var(--aivb-color);
}
.aivb-docs-kb__tab-count {
background: rgba(255,255,255,0.25);
border-radius: 999px;
font-size: 11px;
padding: 1px 7px;
font-weight: 700;
}
.aivb-docs-kb__tab--active .aivb-docs-kb__tab-count { background: rgba(0,0,0,0.15); } .aivb-docs-kb__grid {
display: grid;
grid-template-columns: repeat( var(--aivb-cols, 3), 1fr );
gap: 20px;
}
.aivb-docs-kb--list .aivb-docs-kb__grid {
grid-template-columns: 1fr;
} .aivb-docs-kb-card {
background: #fff;
border: 1.5px solid #e5e7eb;
border-radius: 12px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 8px;
transition: border-color var(--aivb-transition), box-shadow var(--aivb-transition);
}
.aivb-docs-kb-card:hover {
border-color: var(--aivb-color);
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.aivb-docs-kb-card__top {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.aivb-docs-kb-card__cat {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
background: #eef2ff;
color: var(--aivb-color);
padding: 2px 8px;
border-radius: 999px;
}
.aivb-docs-kb-card__rt {
font-size: 12px;
color: #9ca3af;
}
.aivb-docs-kb-card__title {
font-size: 16px;
font-weight: 700;
margin: 0;
line-height: 1.3;
}
.aivb-docs-kb-card__title a {
color: #111827;
text-decoration: none;
transition: color var(--aivb-transition);
}
.aivb-docs-kb-card__title a:hover { color: var(--aivb-color); }
.aivb-docs-kb-card__excerpt {
font-size: 13px;
color: #6b7280;
margin: 0;
line-height: 1.5;
flex: 1;
}
.aivb-docs-kb-card__footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: auto;
padding-top: 10px;
border-top: 1px solid #f3f4f6;
}
.aivb-docs-kb-card__date { font-size: 12px; color: #9ca3af; }
.aivb-docs-kb-card__read {
font-size: 13px;
font-weight: 600;
color: var(--aivb-color);
text-decoration: none;
}
.aivb-docs-kb-card__read:hover { text-decoration: underline; } .aivb-docs-kb-card__feedback {
display: flex;
align-items: center;
gap: 8px;
padding-top: 10px;
border-top: 1px solid #f3f4f6;
flex-wrap: wrap;
}
.aivb-docs-kb-card__fb-label {
font-size: 12px;
color: #9ca3af;
}
.aivb-docs-kb__fb-btn {
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 999px;
padding: 4px 12px;
font-size: 12px;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 4px;
transition: all var(--aivb-transition);
font-family: var(--aivb-font);
}
.aivb-docs-kb__fb-btn:hover:not(:disabled) { border-color: var(--aivb-color); }
.aivb-docs-kb__fb-btn--voted {
background: var(--aivb-color);
color: #fff;
border-color: var(--aivb-color);
}
.aivb-docs-kb__fb-btn:disabled { opacity: 0.6; cursor: not-allowed; } .aivb-docs-kb__loading {
grid-column: 1 / -1;
display: flex;
justify-content: center;
gap: 8px;
padding: 48px 0;
}
.aivb-docs-kb__loading span {
width: 10px;
height: 10px;
border-radius: 50%;
background: var(--aivb-color);
animation: aivb-bounce 1.2s infinite ease-in-out;
}
.aivb-docs-kb__loading span:nth-child(2) { animation-delay: 0.2s; }
.aivb-docs-kb__loading span:nth-child(3) { animation-delay: 0.4s; }
.aivb-docs-kb__empty,
.aivb-docs-kb__error {
grid-column: 1 / -1;
text-align: center;
padding: 40px;
color: #6b7280;
font-size: 15px;
} .aivb-docs-kb__pagination {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 6px;
margin-top: 28px;
}
.aivb-docs-kb__page-btn {
background: #f3f4f6;
border: 1.5px solid transparent;
border-radius: 8px;
padding: 7px 14px;
font-size: 14px;
cursor: pointer;
font-family: var(--aivb-font);
transition: all var(--aivb-transition);
}
.aivb-docs-kb__page-btn:hover { border-color: var(--aivb-color); color: var(--aivb-color); }
.aivb-docs-kb__page-btn--active {
background: var(--aivb-color);
color: #fff;
border-color: var(--aivb-color);
} .aivb-cat-grid { font-family: var(--aivb-font); }
.aivb-cat-grid__title {
font-size: 1.5rem;
font-weight: 700;
color: #111827;
margin: 0 0 20px;
}
.aivb-cat-grid__grid {
display: grid;
grid-template-columns: repeat( var(--aivb-cols, 3), 1fr );
gap: 16px;
}
.aivb-cat-grid__card {
background: #fff;
border: 1.5px solid #e5e7eb;
border-radius: 12px;
padding: 20px;
text-decoration: none;
color: inherit;
display: flex;
flex-direction: column;
gap: 6px;
transition: all var(--aivb-transition);
position: relative;
}
.aivb-cat-grid__card:hover {
border-color: var(--aivb-color);
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
transform: translateY(-2px);
}
.aivb-cat-grid__icon { font-size: 28px; line-height: 1; margin-bottom: 4px; }
.aivb-cat-grid__name {
font-size: 15px;
font-weight: 700;
color: #111827;
margin: 0;
}
.aivb-cat-grid__desc {
font-size: 13px;
color: #6b7280;
margin: 0;
line-height: 1.4;
}
.aivb-cat-grid__count {
font-size: 12px;
font-weight: 600;
color: var(--aivb-color);
}
.aivb-cat-grid__arrow {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
color: #d1d5db;
font-size: 16px;
transition: color var(--aivb-transition), right var(--aivb-transition);
}
.aivb-cat-grid__card:hover .aivb-cat-grid__arrow {
color: var(--aivb-color);
right: 12px;
} .aivb-docs-search { font-family: var(--aivb-font); position: relative; } .aivb-docs-search--hero {
background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
border-radius: 16px;
padding: 48px 32px;
text-align: center;
}
.aivb-docs-search__hero-title {
font-size: 2rem;
font-weight: 800;
color: #fff;
margin: 0 0 10px;
}
.aivb-docs-search__hero-sub {
color: rgba(255,255,255,0.8);
font-size: 1rem;
margin: 0 0 24px;
} .aivb-docs-search__bar {
position: relative;
display: flex;
align-items: center;
max-width: 600px;
margin: 0 auto;
}
.aivb-docs-search__icon {
position: absolute;
left: 16px;
color: #9ca3af;
pointer-events: none;
}
.aivb-docs-search__input {
width: 100%;
box-sizing: border-box;
padding: 14px 44px 14px 48px;
border: 2px solid #e5e7eb;
border-radius: 12px;
font-size: 16px;
outline: none;
font-family: var(--aivb-font);
transition: border-color var(--aivb-transition), box-shadow var(--aivb-transition);
}
.aivb-docs-search--hero .aivb-docs-search__input { box-shadow: 0 4px 24px rgba(0,0,0,0.15); border-color: transparent; }
.aivb-docs-search__input:focus {
border-color: var(--aivb-color);
box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}
.aivb-docs-search__clear {
position: absolute;
right: 14px;
background: none;
border: none;
font-size: 14px;
color: #9ca3af;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 50%;
transition: background var(--aivb-transition);
}
.aivb-docs-search__clear:hover { background: #f3f4f6; color: #374151; } .aivb-docs-search__dropdown {
position: absolute;
top: calc(100% + 8px);
left: 0;
right: 0;
max-width: 600px;
margin: 0 auto;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 12px;
box-shadow: var(--aivb-shadow);
z-index: 9999;
overflow: hidden;
}
.aivb-docs-search__result {
display: block;
padding: 12px 16px;
text-decoration: none;
color: inherit;
border-bottom: 1px solid #f9fafb;
transition: background var(--aivb-transition);
}
.aivb-docs-search__result:hover { background: #f8f9ff; }
.aivb-docs-search__result:last-of-type { border-bottom: none; }
.aivb-docs-search__result-top {
display: flex;
gap: 8px;
align-items: center;
margin-bottom: 3px;
}
.aivb-docs-search__result-cat {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
background: #eef2ff;
color: var(--aivb-color);
padding: 2px 8px;
border-radius: 999px;
}
.aivb-docs-search__result-rt { font-size: 11px; color: #9ca3af; }
.aivb-docs-search__result-title {
display: block;
font-size: 14px;
color: #111827;
margin-bottom: 2px;
}
.aivb-docs-search__result-title mark {
background: #fef08a;
color: inherit;
border-radius: 2px;
}
.aivb-docs-search__result-excerpt {
font-size: 12px;
color: #6b7280;
margin: 0;
line-height: 1.4;
}
.aivb-docs-search__result-empty {
padding: 20px;
text-align: center;
color: #6b7280;
font-size: 14px;
}
.aivb-docs-search__result-footer {
padding: 8px 16px;
font-size: 12px;
color: #9ca3af;
background: #fafafa;
border-top: 1px solid #f3f4f6;
}
.aivb-docs-search__loading {
padding: 16px;
display: flex;
justify-content: center;
gap: 6px;
}
.aivb-docs-search__loading span {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--aivb-color);
animation: aivb-bounce 1.2s infinite ease-in-out;
}
.aivb-docs-search__loading span:nth-child(2) { animation-delay: 0.2s; }
.aivb-docs-search__loading span:nth-child(3) { animation-delay: 0.4s; } .aivb-docs-search__popular {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-top: 16px;
justify-content: center;
}
.aivb-docs-search__popular-label {
font-size: 13px;
color: rgba(255,255,255,0.7);
}
.aivb-docs-search--hero .aivb-docs-search__popular-label { color: rgba(255,255,255,0.7); }
.aivb-docs-search__popular-link {
font-size: 12px;
padding: 4px 12px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,0.4);
color: #fff;
text-decoration: none;
transition: background var(--aivb-transition);
background: rgba(255,255,255,0.1);
}
.aivb-docs-search__popular-link:hover { background: rgba(255,255,255,0.25); }
.aivb-docs-empty {
text-align: center;
color: #6b7280;
padding: 24px;
font-size: 14px;
} @media (max-width: 768px) {
.aivb-docs-kb__grid,
.aivb-cat-grid__grid {
grid-template-columns: 1fr;
}
.aivb-docs-kb__title { font-size: 1.5rem; }
.aivb-docs-search--hero { padding: 32px 16px; }
.aivb-docs-search__hero-title { font-size: 1.5rem; }
}  .aivb-chat-login {
flex-direction: column;
padding: 20px 16px;
gap: 10px;
flex: 1;
overflow-y: auto;
}
.aivb-chat-login__intro {
font-size: 14px;
color: #4b5563;
margin: 0 0 4px;
text-align: center;
}
.aivb-chat-name,
.aivb-chat-email {
width: 100%;
box-sizing: border-box;
padding: 10px 14px;
border: 1.5px solid #e5e7eb;
border-radius: 8px;
font-size: 14px;
outline: none;
font-family: inherit;
transition: border-color 0.15s;
}
.aivb-chat-name:focus,
.aivb-chat-email:focus { border-color: var(--aivb-color); }
.aivb-chat-login-error {
font-size: 12px;
color: #ef4444;
background: #fef2f2;
border-radius: 6px;
padding: 6px 10px;
}
.aivb-chat-login-btn {
background: var(--aivb-color);
color: #fff;
border: none;
border-radius: 8px;
padding: 11px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
width: 100%;
transition: opacity 0.15s;
font-family: inherit;
}
.aivb-chat-login-btn:hover:not(:disabled) { opacity: 0.88; }
.aivb-chat-login-btn:disabled { opacity: 0.5; cursor: not-allowed; } .aivb-chat-human-badge {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
background: #f0fdf4;
border-top: 1px solid #bbf7d0;
border-bottom: 1px solid #bbf7d0;
padding: 10px 16px;
flex-shrink: 0;
}
.aivb-chat-human-badge > span {
font-size: 12px;
color: #15803d;
font-weight: 500;
}
.aivb-chat-human-btn {
background: #16a34a;
color: #fff;
border: none;
border-radius: 999px;
padding: 6px 14px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
font-family: inherit;
transition: opacity 0.15s;
}
.aivb-chat-human-btn:hover { opacity: 0.88; }
.aivb-chat-human-btn:disabled { opacity: 0.5; cursor: not-allowed; } .aivb-chat-system-msg {
text-align: center;
font-size: 12px;
color: #6b7280;
background: #f9fafb;
border-radius: 999px;
padding: 6px 16px;
margin: 4px auto;
max-width: 90%;
} .aivb-docs-viewer {
display: flex;
border: 1px solid #e5e7eb;
border-radius: 12px;
overflow: hidden;
background: #fff;
font-family: var(--aivb-font);
position: relative;
} .aivb-dv__sidebar {
width: var(--aivb-dv-sidebar, 280px);
min-width: 220px;
flex-shrink: 0;
border-right: 1px solid #e5e7eb;
display: flex;
flex-direction: column;
background: #fafafa;
overflow: hidden;
} .aivb-dv__search-wrap {
padding: 12px;
border-bottom: 1px solid #e5e7eb;
position: relative;
flex-shrink: 0;
}
.aivb-dv__search-icon {
position: absolute;
left: 22px;
top: 50%;
transform: translateY(-50%);
color: #9ca3af;
pointer-events: none;
}
.aivb-dv__search {
width: 100%;
box-sizing: border-box;
padding: 8px 10px 8px 30px;
border: 1px solid #e5e7eb;
border-radius: 6px;
font-size: 13px;
outline: none;
background: #fff;
font-family: var(--aivb-font);
transition: border-color 0.15s;
color: #374151;
}
.aivb-dv__search:focus { border-color: var(--aivb-dv-color, #2563eb); } .aivb-dv__tree {
flex: 1;
overflow-y: auto;
padding: 8px 0;
}
.aivb-dv__tree-empty {
padding: 16px;
font-size: 13px;
color: #9ca3af;
text-align: center;
} .aivb-dv__cat { margin-bottom: 2px; }
.aivb-dv__cat-toggle {
width: 100%;
background: none;
border: none;
padding: 8px 14px;
display: flex;
align-items: center;
gap: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 700;
color: #111827;
text-align: left;
font-family: var(--aivb-font);
transition: background 0.12s;
border-radius: 4px;
margin: 0 4px;
width: calc(100% - 8px);
}
.aivb-dv__cat-toggle:hover { background: #f3f4f6; }
.aivb-dv__cat--open > .aivb-dv__cat-toggle { color: var(--aivb-dv-color, #2563eb); }
.aivb-dv__cat-caret {
font-size: 14px;
color: #9ca3af;
width: 12px;
flex-shrink: 0;
transition: transform 0.15s;
display: inline-block;
} .aivb-dv__doc-list {
list-style: none;
margin: 0;
padding: 0 0 4px;
}
.aivb-dv__doc-item { margin: 0; }
.aivb-dv__doc-btn {
width: calc(100% - 8px);
margin: 0 4px;
background: none;
border: none;
padding: 7px 10px 7px 28px;
font-size: 13px;
color: #4b5563;
text-align: left;
cursor: pointer;
border-radius: 4px;
display: flex;
align-items: center;
gap: 7px;
font-family: var(--aivb-font);
transition: background 0.12s, color 0.12s;
line-height: 1.3;
}
.aivb-dv__doc-btn:hover { background: #f3f4f6; color: #111827; }
.aivb-dv__doc-btn--active {
background: #eff6ff;
color: var(--aivb-dv-color, #2563eb);
font-weight: 600;
}
.aivb-dv__doc-icon { flex-shrink: 0; color: #9ca3af; }
.aivb-dv__doc-btn--active .aivb-dv__doc-icon { color: var(--aivb-dv-color, #2563eb); } .aivb-dv__content {
flex: 1;
min-width: 0;
overflow-y: auto;
display: flex;
flex-direction: column;
} .aivb-dv__welcome {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 32px;
}
.aivb-dv__welcome-inner { max-width: 600px; }
.aivb-dv__welcome-inner h2 {
font-size: 1.6rem;
font-weight: 800;
color: #111827;
margin: 0 0 12px;
}
.aivb-dv__welcome-inner p {
color: #6b7280;
font-size: 15px;
line-height: 1.6;
margin: 0 0 24px;
}
.aivb-dv__welcome-cats {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.aivb-dv__welcome-cat-btn {
background: #f3f4f6;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 8px 16px;
font-size: 13px;
font-weight: 500;
cursor: pointer;
color: #374151;
display: inline-flex;
align-items: center;
gap: 8px;
font-family: var(--aivb-font);
transition: all 0.15s;
}
.aivb-dv__welcome-cat-btn:hover {
border-color: var(--aivb-dv-color, #2563eb);
color: var(--aivb-dv-color, #2563eb);
background: #eff6ff;
}
.aivb-dv__welcome-cat-count {
background: var(--aivb-dv-color, #2563eb);
color: #fff;
border-radius: 999px;
font-size: 11px;
padding: 1px 7px;
font-weight: 700;
} .aivb-dv__loading {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.aivb-dv__spinner {
width: 32px;
height: 32px;
border: 3px solid #e5e7eb;
border-top-color: var(--aivb-dv-color, #2563eb);
border-radius: 50%;
animation: aivb-spin 0.7s linear infinite;
}
@keyframes aivb-spin { to { transform: rotate(360deg); } } .aivb-dv__search-results {
padding: 0;
overflow-y: auto;
}
.aivb-dv__search-header {
padding: 14px 24px 10px;
font-size: 13px;
color: #6b7280;
border-bottom: 1px solid #f3f4f6;
}
.aivb-dv__search-item {
width: 100%;
background: none;
border: none;
border-bottom: 1px solid #f9fafb;
padding: 14px 24px;
text-align: left;
cursor: pointer;
font-family: var(--aivb-font);
transition: background 0.12s;
}
.aivb-dv__search-item:hover { background: #f8f9ff; }
.aivb-dv__search-item__cat {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
color: var(--aivb-dv-color, #2563eb);
margin-bottom: 4px;
}
.aivb-dv__search-item__title {
font-size: 15px;
font-weight: 600;
color: #111827;
margin-bottom: 4px;
}
.aivb-dv__search-item__title mark { background: #fef08a; border-radius: 2px; }
.aivb-dv__search-item__excerpt { font-size: 13px; color: #6b7280; line-height: 1.4; }
.aivb-dv__search-empty {
padding: 48px 24px;
text-align: center;
color: #9ca3af;
}
.aivb-dv__search-empty svg { color: #d1d5db; margin-bottom: 12px; }
.aivb-dv__search-empty p { font-size: 14px; margin: 0; } .aivb-dv__article { padding: 32px 36px 40px; max-width: 820px; } .aivb-dv__breadcrumb {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
color: #9ca3af;
margin-bottom: 10px;
}
.aivb-dv__bc-cat { color: var(--aivb-dv-color, #2563eb); font-weight: 500; }
.aivb-dv__bc-sep { color: #d1d5db; }
.aivb-dv__article-title {
font-size: 1.75rem;
font-weight: 800;
color: #111827;
margin: 0 0 12px;
line-height: 1.2;
}
.aivb-dv__article-meta {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px solid #f3f4f6;
}
.aivb-dv__meta-item { font-size: 13px; color: #9ca3af; } .aivb-dv__toc {
background: #f8faff;
border: 1px solid #dbeafe;
border-radius: 8px;
padding: 14px 18px;
margin-bottom: 24px;
}
.aivb-dv__toc-title {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.6px;
color: #6b7280;
display: block;
margin-bottom: 8px;
}
.aivb-dv__toc-list {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 4px;
}
.aivb-dv__toc-item--h3 { padding-left: 14px; }
.aivb-dv__toc-link {
font-size: 13px;
color: #4b5563;
text-decoration: none;
transition: color 0.12s;
display: block;
padding: 2px 0;
}
.aivb-dv__toc-link:hover,
.aivb-dv__toc-link--active { color: var(--aivb-dv-color, #2563eb); font-weight: 600; } .aivb-dv__body {
font-size: 15px;
line-height: 1.7;
color: #374151;
}
.aivb-dv__body h2 {
font-size: 1.25rem;
font-weight: 700;
color: #111827;
margin: 28px 0 12px;
padding-top: 4px;
border-bottom: 1px solid #f3f4f6;
padding-bottom: 8px;
}
.aivb-dv__body h3 {
font-size: 1.05rem;
font-weight: 700;
color: #111827;
margin: 20px 0 8px;
}
.aivb-dv__body p { margin: 0 0 16px; }
.aivb-dv__body a { color: var(--aivb-dv-color, #2563eb); text-decoration: underline; }
.aivb-dv__body code {
background: #f3f4f6;
border-radius: 4px;
padding: 2px 6px;
font-size: 13px;
font-family: 'SFMono-Regular', Consolas, monospace;
color: #7c3aed;
}
.aivb-dv__body pre {
background: #1e1e2e;
color: #cdd6f4;
border-radius: 8px;
padding: 16px 20px;
overflow-x: auto;
font-size: 13px;
line-height: 1.6;
margin: 16px 0;
}
.aivb-dv__body pre code { background: none; color: inherit; padding: 0; }
.aivb-dv__body ul,
.aivb-dv__body ol { padding-left: 22px; margin: 0 0 16px; }
.aivb-dv__body li { margin-bottom: 6px; }
.aivb-dv__body blockquote {
border-left: 3px solid var(--aivb-dv-color, #2563eb);
padding: 10px 16px;
margin: 16px 0;
background: #f8faff;
border-radius: 0 6px 6px 0;
color: #4b5563;
font-style: italic;
}
.aivb-dv__body img {
max-width: 100%;
border-radius: 8px;
margin: 12px 0;
}
.aivb-dv__body table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
margin: 16px 0;
}
.aivb-dv__body th {
background: #f3f4f6;
font-weight: 700;
padding: 10px 12px;
text-align: left;
border: 1px solid #e5e7eb;
}
.aivb-dv__body td {
padding: 9px 12px;
border: 1px solid #e5e7eb;
} .aivb-dv__feedback {
margin-top: 36px;
padding-top: 24px;
border-top: 1px solid #f3f4f6;
}
.aivb-dv__feedback-q {
font-size: 14px;
font-weight: 600;
color: #374151;
margin: 0 0 12px;
}
.aivb-dv__feedback-btns { display: flex; gap: 10px; }
.aivb-dv__fb-btn {
background: #f3f4f6;
border: 1.5px solid #e5e7eb;
border-radius: 8px;
padding: 8px 20px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 6px;
font-family: var(--aivb-font);
transition: all 0.15s;
}
.aivb-dv__fb-btn:hover:not(:disabled) { border-color: var(--aivb-dv-color, #2563eb); }
.aivb-dv__fb-btn--voted { background: var(--aivb-dv-color, #2563eb); color: #fff; border-color: var(--aivb-dv-color, #2563eb); }
.aivb-dv__fb-btn:disabled { opacity: 0.65; cursor: not-allowed; }
.aivb-dv__fb-count {
background: rgba(0,0,0,0.1);
border-radius: 999px;
font-size: 11px;
padding: 1px 7px;
font-weight: 700;
}
.aivb-dv__fb-btn--voted .aivb-dv__fb-count { background: rgba(255,255,255,0.25); }
.aivb-dv__feedback-thanks {
margin-top: 10px;
font-size: 13px;
color: #16a34a;
font-weight: 500;
} .aivb-dv__nav {
display: flex;
justify-content: space-between;
gap: 12px;
margin-top: 32px;
padding-top: 24px;
border-top: 1px solid #f3f4f6;
}
.aivb-dv__nav-btn {
background: #fff;
border: 1.5px solid #e5e7eb;
border-radius: 10px;
padding: 12px 18px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
color: #374151;
font-family: var(--aivb-font);
transition: all 0.15s;
max-width: 48%;
}
.aivb-dv__nav-btn:hover { border-color: var(--aivb-dv-color, #2563eb); color: var(--aivb-dv-color, #2563eb); }
.aivb-dv__nav-btn--next { margin-left: auto; text-align: right; } @media (max-width: 680px) {
.aivb-docs-viewer { flex-direction: column; height: auto !important; }
.aivb-dv__sidebar { width: 100% !important; max-height: 260px; border-right: none; border-bottom: 1px solid #e5e7eb; }
.aivb-dv__content { min-height: 400px; }
.aivb-dv__article { padding: 20px 16px; }
} .aivb-chat-quick-questions {
display: flex;
flex-direction: column;
gap: 8px;
margin: 8px 0;
padding: 12px;
background: #f8fafc;
border-radius: var(--aivb-radius);
border: 1px solid #e2e8f0;
}
.aivb-chat-quick-questions-title {
font-size: 12px;
font-weight: 600;
color: #64748b;
margin: 0 0 6px 0;
}
.aivb-chat-qq-btn {
background: #fff;
border: 1px solid #cbd5e1;
border-radius: 999px;
padding: 8px 14px;
font-size: 13px;
color: #334155;
cursor: pointer;
text-align: left;
transition: all var(--aivb-transition);
width: 100%;
}
.aivb-chat-qq-btn:hover:not(:disabled) {
background: var(--aivb-color-light);
border-color: var(--aivb-color);
color: var(--aivb-color);
}
.aivb-chat-qq-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}