/* Preview chat keeps its white canvas in both site themes. */
#dt-chat-float,#dt-panel,#dt-chat-float *,#dt-panel * {box-sizing:border-box}
#dt-chat-float.is-chat-open {animation:none;transform:none}
#proactive.dt-chat-proactive {width:max-content;max-width:calc(100vw - 40px);padding:18px;border-radius:18px;border:1px solid rgba(11,11,11,.06);box-shadow:0 8px 36px rgba(11,11,11,.1);color:#0b0b0b}
#proactive.dt-chat-proactive:not(.dt-chat-hidden) {display:block!important;animation:dtChatGreeting .38s cubic-bezier(.22,1,.36,1) both;transform-origin:bottom right}
#proactive .dt-chat-proactive-title {position:relative;display:grid;color:#0b0b0b;font-size:16px;font-weight:600;line-height:1.5;white-space:nowrap}
#proactive .dt-chat-proactive-text {font-size:14px;color:#666;line-height:1.6;margin-top:5px}
#proactive .dt-chat-mini-btn {border-radius:8px;min-height:34px;font-weight:500;padding:6px 15px;line-height:1.4}
#proactive .dt-chat-mini-btn--dark {background:#f5f5f5;color:#555}
#proactive .dt-chat-mini-btn--dark:hover {background:#eaeaea}
#dt-panel {width:396px;max-width:calc(100vw - 2 * var(--site-edge-inset,28px));opacity:0;visibility:hidden;pointer-events:none;transform:translate(12px,32px) scale(.18);transform-origin:calc(100% - 32px) calc(100% + 40px);transition:opacity .22s ease,transform .28s cubic-bezier(.4,0,.7,.3),visibility .28s;will-change:transform,opacity}
#dt-panel.is-open {opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,0) scale(1);transition:opacity .24s ease,transform .42s cubic-bezier(.18,.85,.26,1.08),visibility 0s}
#dt-panel .dt-chat-card {display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:min(620px,var(--dt-chat-available-height,calc(100dvh - var(--dt-chat-panel-bottom,112px) - 16px)));min-height:0;border-radius:22px;border:1px solid rgba(11,11,11,.08);background:#fff;box-shadow:0 16px 56px rgba(11,11,11,.15),0 3px 12px rgba(11,11,11,.05)}
#dt-panel .dt-chat-head {border-radius:0;padding:16px 20px;gap:12px;background:#ff6e2e;color:#fff}
#dt-panel .dt-chat-title {font-size:17px;font-weight:600;line-height:1.5;color:#fff;letter-spacing:-.025em}
#dt-panel .dt-chat-close {width:32px;height:32px;flex-shrink:0;border-radius:50%;color:#ff6e2e;background:#fff}
#dt-panel .dt-chat-close:hover {background:#fff;opacity:.82}
#dt-panel .dt-chat-close-icon {width:18px;height:18px}
#dt-panel .dt-chat-messages {height:auto;max-height:none;min-height:0;padding:20px 16px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ddd transparent;background:#fff}
#dt-panel .dt-chat-bubble {max-width:86%;padding:12px 15px;font-size:14px;line-height:1.65;border-radius:15px;letter-spacing:-.015em;font-weight:400;box-shadow:none}
#dt-panel .dt-chat-bubble--bot {background:#f5f5f5;color:#0b0b0b;border-bottom-left-radius:4px}
#dt-panel .dt-chat-bubble--me {background:#ff6e2e;color:#fff;border-bottom-right-radius:4px}
#dt-panel .dt-chat-chips {padding:12px 16px 4px;gap:7px;max-height:116px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid #f0f0f0;background:#fff}
#dt-panel .dt-chip {padding:7px 11px;border-radius:999px;background:#f5f5f5;color:#555;font-size:12px;font-weight:500;line-height:1.4;transition:background-color .2s,color .2s}
#dt-panel .dt-chip:hover {background:#fff0e9;color:#ff6e2e}
#dt-panel .dt-chip:active {background:#ff6e2e;color:#fff}
#dt-panel .dt-chat-input-area {padding:12px 16px 16px;background:#fff}
#dt-panel .dt-chat-input-row {gap:8px}
#dt-panel .dt-chat-input {padding:10px 11px;background:#f8f8f8;border:2px solid transparent;border-radius:10px;font-size:16px;line-height:1.4;color:#0b0b0b;transition:border-color .2s,background-color .2s}
#dt-panel .dt-chat-input::placeholder {color:#888;font-size:14px}
#dt-panel .dt-chat-input:focus {border-color:#ff6e2e;outline:none;box-shadow:none;background:#fff}
#dt-panel .dt-chat-send {min-height:45px;padding:10px 15px;border-radius:10px;font-weight:500;font-size:14px;line-height:1.4;background:#ff6e2e;color:#fff}
#dt-panel .dt-chat-send:hover {background:#ee6226;opacity:1}
#dt-panel .dt-chat-send:disabled {opacity:.5}
#dt-panel .dt-chat-loading-bubble {min-width:0}
#dt-panel .dt-chat-loading-avatar {width:40px;height:40px;display:grid;place-items:center;background:transparent;border-radius:0;flex:none}
#dt-panel .dt-chat-loading-avatar .dt-launcher-eyes {width:68%;height:auto;aspect-ratio:104/100}
#dt-panel .dt-chat-loading-avatar .dt-launcher-eye {stroke:#ccc;stroke-width:.8px;vector-effect:non-scaling-stroke}
#dt-panel .dt-chat-loading-avatar .dt-launcher-pupil {animation:dtChatThinking 2.8s ease-in-out infinite}
#dt-panel .dt-chat-loading-text {font-size:13px;white-space:normal;color:#666;margin-top:8px}
#dt-panel .dt-chat-loading-spinner span {background:#ff6e2e}
#dt-panel.is-compact .dt-chat-chips {display:none}
#dt-panel.is-compact .dt-chat-head {padding:10px 16px}
#dt-panel.is-compact .dt-chat-input-area {padding:8px 12px}
#dt-panel button:focus-visible,#proactive button:focus-visible,#dt-launcher:focus-visible {outline:2px solid #ff6e2e;outline-offset:3px}
#dt-panel .dt-chat-head button:focus-visible {outline-color:#fff}
@keyframes dtChatGreeting {from {opacity:0;transform:translateY(8px) scale(.94)}to {opacity:1;transform:none}}
@keyframes dtChatThinking {0%,25%,100% {transform:translate(8px,0)}50%,70% {transform:translate(-7px,-2px)}}
@media(max-width:768px) {#dt-panel {width:396px;max-width:calc(100vw - 32px);right:16px}#dt-panel .dt-chat-card {border-radius:20px}#dt-panel .dt-chat-title {font-size:16px}}
@media(prefers-reduced-motion:reduce) {#dt-chat-float,#proactive.dt-chat-proactive:not(.dt-chat-hidden),#dt-panel .dt-launcher-pupil {animation:none!important}#dt-panel,#dt-panel.is-open {transition:none;transform:none}#dt-panel *,#proactive * {scroll-behavior:auto!important}}
/* Short viewports can put the panel across the fixed mobile header. */
#dt-panel {z-index:400001!important}
#dt-chat-float.is-chat-open {z-index:400002!important}
#dt-panel .dt-chat-chips {max-height:128px;scrollbar-width:none}
#dt-panel .dt-chat-chips::-webkit-scrollbar {display:none}
/* Reuse the launcher area when the footer leaves very little vertical room. */
#dt-chat-float.is-chat-open.is-chat-cramped {visibility:hidden;pointer-events:none}
#dt-panel.is-compact .dt-chat-messages {padding:8px 12px}

/* The hidden measuring copy keeps the greeting width steady while typing. */
#proactive .dt-chat-title-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#proactive :is(.dt-chat-title-measure,.dt-chat-title-visual) {grid-area:1 / 1;display:flex;align-items:center}
#proactive .dt-chat-title-measure {visibility:hidden}
#proactive .dt-chat-typing-caret {display:inline-block;flex:none;width:1.5px;height:1em;margin-left:3px;background:currentColor;animation:dtChatCaret .85s steps(1,end) infinite}
@keyframes dtChatCaret {0%,49% {opacity:1}50%,100% {opacity:0}}
@media(max-width:768px) {#proactive.dt-chat-proactive:not(.dt-chat-hidden) {display:none!important}}
@media(prefers-reduced-motion:reduce) {#proactive .dt-chat-typing-caret {animation:none;display:none}}
