@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap");
#dhw-chat-root {
--dhw-bg:          #0C0D10;
--dhw-bg-surface:  #14161b;
--dhw-bg-input:    #1c1f26;
--dhw-amber:       #F59E0B;
--dhw-amber-dim:   rgba(245,158,11,0.6);
--dhw-amber-glow:  rgba(245,158,11,0.15);
--dhw-border:      rgba(245,158,11,0.25);
--dhw-border-dim:  rgba(255,255,255,0.1);
--dhw-text:        #F3F4F6;
--dhw-text-muted:  rgba(243,244,246,0.45);
--dhw-font-ui:     'Inter Tight', system-ui, sans-serif;
--dhw-font-mono:   'DM Mono', 'Courier New', monospace;
--dhw-radius:      12px;
--dhw-shadow:      0 24px 64px rgba(0,0,0,0.6), 0 0 0 1px rgba(245,158,11,0.1);
--dhw-width:       360px;
--dhw-height:      520px;
} #dhw-chat-toggle {
position:        fixed !important;
bottom:          28px !important;
right:           28px !important;
z-index:         9998 !important;
width:           52px !important;
height:          52px !important;
border-radius:   50% !important;
background:      var(--dhw-amber) !important;
border:          none;
cursor:          pointer !important;
display:         flex !important;
align-items:     center !important;
justify-content: center !important;
overflow:        hidden !important;
padding:         0 !important;
box-shadow:      0 4px 20px rgba(245,158,11,0.4) !important;
transition:      transform 0.2s ease, box-shadow 0.2s ease !important;
animation:       dhw-pulse 3s ease-in-out infinite !important;
}
#dhw-chat-toggle:hover {
transform:  scale(1.08) !important;
box-shadow: 0 6px 28px rgba(245,158,11,0.55) !important;
}
#dhw-chat-toggle .toggle-logo {
position:      absolute !important;
inset:         0;
width:         100% !important;
height:        100% !important;
object-fit:    cover !important;
border-radius: 50% !important;
}
#dhw-chat-toggle svg {
width:    22px !important;
height:   22px !important;
fill:     #0C0D10 !important;
position: relative !important;
z-index:  1 !important;
flex-shrink: 0 !important;
}
#dhw-chat-toggle svg.sr-only           { display: none; }
#dhw-chat-toggle svg.icon-close        { display: none; }
#dhw-chat-toggle.is-open .toggle-logo  { display: none; }
#dhw-chat-toggle.is-open svg.icon-chat { display: none; }
#dhw-chat-toggle.is-open svg.icon-close{ display: block; }
@keyframes dhw-pulse {
0%,100% { box-shadow: 0 4px 20px rgba(245,158,11,0.4), 0 0 0 0   rgba(245,158,11,0.25); }
50%      { box-shadow: 0 4px 20px rgba(245,158,11,0.4), 0 0 0 8px rgba(245,158,11,0); }
} #dhw-chat-window {
position:       fixed !important;
bottom:         92px !important;
right:          28px !important;
z-index:        9999 !important;
width:          var(--dhw-width) !important;
height:         var(--dhw-height) !important;
background:     var(--dhw-bg) !important;
border:         1px solid var(--dhw-border) !important;
border-radius:  var(--dhw-radius) !important;
box-shadow:     var(--dhw-shadow) !important;
display:        flex !important;
flex-direction: column !important;
overflow:       hidden !important;
font-family:    var(--dhw-font-ui) !important;
color:          var(--dhw-text) !important;
opacity:        0 !important;
transform:      translateY(16px) scale(0.97) !important;
pointer-events: none;
transition:     opacity 0.25s ease, transform 0.25s ease !important;
}
#dhw-chat-window.is-visible {
opacity:        1 !important;
transform:      translateY(0) scale(1) !important;
pointer-events: auto;
} #dhw-chat-toggle.dhw-pos-left { right: auto; left: 28px; }
#dhw-chat-window.dhw-pos-left { right: auto; left: 28px; } #dhw-chat-header {
display:       flex !important;
align-items:   center !important;
gap:           10px !important;
padding:       13px 16px !important;
background:    var(--dhw-bg-surface) !important;
border-bottom: 1px solid var(--dhw-border-dim) !important;
flex-shrink:   0 !important;
}
.dhw-avatar {
width:           34px !important;
height:          34px !important;
border-radius:   50% !important;
background:      var(--dhw-amber) !important;
display:         flex !important;
align-items:     center !important;
justify-content: center !important;
flex-shrink:     0 !important;
overflow:        hidden !important;
}
.dhw-avatar svg  { width: 17px; height: 17px; fill: #0C0D10; }
.dhw-avatar.has-logo { background: transparent; }
.dhw-avatar img  { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.dhw-header-name {
font-size:      13px !important;
font-weight:    600 !important;
color:          var(--dhw-text) !important;
letter-spacing: 0.01em !important;
}
.dhw-header-status {
font-size:   11px !important;
color:       var(--dhw-amber) !important;
font-family: var(--dhw-font-mono) !important;
display:     flex !important;
align-items: center !important;
gap:         5px !important;
margin-top:  2px !important;
}
.dhw-status-dot {
width:         5px !important;
height:        5px !important;
border-radius: 50% !important;
background:    var(--dhw-amber) !important;
animation:     dhw-blink 2s ease-in-out infinite !important;
}
@keyframes dhw-blink {
0%,100% { opacity: 1; }
50%      { opacity: 0.3; }
} #dhw-chat-messages {
flex:           1 !important;
overflow-y:     auto;
padding:        14px !important;
display:        flex !important;
flex-direction: column !important;
gap:            10px !important;
}
#dhw-chat-messages::-webkit-scrollbar       { width: 3px; }
#dhw-chat-messages::-webkit-scrollbar-track { background: transparent; }
#dhw-chat-messages::-webkit-scrollbar-thumb { background: var(--dhw-border); border-radius: 2px; }
.dhw-msg {
display:   flex !important;
max-width: 100% !important;
animation: dhw-in 0.2s ease !important;
}
@keyframes dhw-in {
from { opacity: 0; transform: translateY(4px); }
to   { opacity: 1; transform: translateY(0); }
}
.dhw-msg-bot  { align-self: flex-start; }
.dhw-msg-user { align-self: flex-end; }
.dhw-msg-bubble {
padding:     9px 13px !important;
font-size:   13.5px !important;
line-height: 1.6 !important;
max-width:   86% !important;
word-break:  break-word !important;
}
.dhw-msg-bubble p           { margin: 0 0 0.4em; }
.dhw-msg-bubble p:last-child { margin-bottom: 0; }
.dhw-msg-bot .dhw-msg-bubble {
background:    var(--dhw-bg-surface) !important;
border:        1px solid var(--dhw-border-dim) !important;
border-radius: 4px 10px 10px 10px !important;
color:         var(--dhw-text) !important;
}
.dhw-msg-user .dhw-msg-bubble {
background:    var(--dhw-amber-glow) !important;
border:        1px solid var(--dhw-border) !important;
border-radius: 10px 4px 10px 10px !important;
color:         var(--dhw-text) !important;
} .dhw-sources {
margin-top:    10px !important;
padding-top:   8px !important;
border-top:    1px solid var(--dhw-border-dim) !important;
display:       flex !important;
flex-direction: column !important;
gap:           5px !important;
}
.dhw-sources a {
display:         block !important;
font-size:       12px !important;
font-family:     var(--dhw-font-ui) !important;
color:           var(--dhw-amber) !important;
text-decoration: none;
padding:         4px 8px !important;
border-radius:   5px !important;
background:      var(--dhw-amber-glow) !important;
border:          1px solid var(--dhw-border) !important;
transition:      background 0.15s, color 0.15s !important;
word-break:      break-word !important;
}
.dhw-sources a:hover {
background: var(--dhw-border) !important;
color:      var(--dhw-text) !important;
} .dhw-cursor {
display:        inline-block !important;
width:          2px !important;
height:         13px !important;
background:     var(--dhw-amber) !important;
margin-left:    2px !important;
vertical-align: middle !important;
animation:      dhw-blink-cursor 0.8s step-end infinite !important;
}
@keyframes dhw-blink-cursor {
0%,100% { opacity: 1; }
50%      { opacity: 0; }
} .dhw-msg-loading .dhw-msg-bubble { display: flex; align-items: center; gap: 5px; padding: 12px 16px; }
.dhw-dot {
width:         6px !important;
height:        6px !important;
border-radius: 50% !important;
background:    var(--dhw-amber) !important;
animation:     dhw-bounce 1.2s ease-in-out infinite !important;
}
.dhw-dot:nth-child(1) { animation-delay: 0s; }
.dhw-dot:nth-child(2) { animation-delay: 0.2s; }
.dhw-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes dhw-bounce {
0%,60%,100% { transform: translateY(0);    opacity: 0.4; }
30%          { transform: translateY(-5px); opacity: 1; }
} #dhw-chat-input-area {
padding:     10px 12px !important;
border-top:  1px solid var(--dhw-border-dim) !important;
background:  var(--dhw-bg-surface) !important;
display:     flex !important;
gap:         8px !important;
align-items: flex-end !important;
flex-shrink: 0 !important;
}
#dhw-chat-input {
flex:          1 !important;
background:    var(--dhw-bg-input) !important;
border:        1px solid var(--dhw-border-dim) !important;
border-radius: 8px !important;
padding:       9px 12px !important;
font-family:   var(--dhw-font-ui) !important;
font-size:     13px !important;
color:         var(--dhw-text) !important;
resize:        none;
outline:       none;
min-height:    38px !important;
max-height:    100px !important;
overflow-y:    auto;
line-height:   1.5 !important;
transition:    border-color 0.2s, box-shadow 0.2s !important;
}
#dhw-chat-input:focus {
border-color: var(--dhw-border) !important;
box-shadow:   0 0 0 3px var(--dhw-amber-glow) !important;
}
#dhw-chat-input::placeholder { color: var(--dhw-text-muted); }
#dhw-chat-send {
width:           36px !important;
height:          36px !important;
border-radius:   8px !important;
background:      var(--dhw-amber) !important;
border:          none;
cursor:          pointer !important;
display:         flex !important;
align-items:     center !important;
justify-content: center !important;
flex-shrink:     0 !important;
transition:      background 0.2s, transform 0.15s !important;
}
#dhw-chat-send:hover    { background: #d97706; transform: scale(1.05); }
#dhw-chat-send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
#dhw-chat-send svg      { width: 15px; height: 15px; fill: #0C0D10; } #dhw-chat-footer {
padding:        5px 14px 9px !important;
background:     var(--dhw-bg-surface) !important;
text-align:     center !important;
font-family:    var(--dhw-font-mono) !important;
font-size:      10px !important;
color:          var(--dhw-text-muted) !important;
letter-spacing: 0.03em !important;
}
#dhw-chat-footer a            { color: var(--dhw-amber-dim); text-decoration: none; }
#dhw-chat-footer a:hover      { color: var(--dhw-amber); } @media (max-width: 480px) {
#dhw-chat-window,
#dhw-chat-window.dhw-pos-left {
width:  calc(100vw - 20px) !important;
left:   10px !important;
right:  10px !important;
bottom: 80px !important;
height: 480px !important;
}
#dhw-chat-toggle,
#dhw-chat-toggle.dhw-pos-left {
bottom: 18px; right: 16px; left: auto !important;
}
}