.esw-ai-attention-pulse{animation:esw-ai-soft-pulse 2s ease-in-out 3}
.esw-ai-attention-bounce{animation:esw-ai-gentle-bounce 2s ease-in-out 3}
@keyframes esw-ai-soft-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes esw-ai-gentle-bounce{0%,30%,60%,100%{transform:translateY(0)}15%,45%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.esw-ai-attention-pulse,.esw-ai-attention-bounce{animation:none!important}}
.esw-ai-appearance{border:1px solid #dce3ee;border-radius:12px;padding:24px;margin:24px 0}
.esw-ai-appearance legend{float:none;width:auto;padding:0 8px;font-size:20px;font-weight:700}
.esw-ai-appearance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.esw-ai .esw-ai-color-field{display:flex;align-items:center;gap:12px}
.esw-ai .esw-ai-color-field input[type=color]{width:64px;height:44px;padding:4px;cursor:pointer;flex-shrink:0}
.esw-ai-color-field output{font:14px ui-monospace,monospace;color:#36577c}
.esw-ai-appearance-preview{background:#f2f5fa;border:1px solid #dce3ee;border-radius:12px;padding:20px;min-height:250px}
.esw-ai-appearance-preview h3{font-size:16px;margin:0 0 16px}
.esw-ai-preview-chat{overflow:hidden;border:1px solid #dce3ee;border-radius:12px;background:white;font-size:13px}
.esw-ai-preview-chat-bar{padding:12px 15px;background:var(--esw-ai-primary,#1557c9);color:var(--esw-ai-text,#fff);font-weight:700;overflow-wrap:anywhere}
.esw-ai-preview-chat p{padding:15px;margin:0;color:#36577c}
.esw-ai-preview-launch-wrap{padding-top:24px;text-align:right}
.esw-ai-preview-launch{max-width:100%;overflow-wrap:anywhere;display:inline-block;background:linear-gradient(120deg,var(--esw-ai-primary,#1557c9),var(--esw-ai-accent,#6944b9));color:var(--esw-ai-text,#fff);border:0;border-radius:28px;padding:15px 22px;box-shadow:0 6px 24px #12264a40;font:16px system-ui,sans-serif;cursor:pointer}
.esw-ai-appearance-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.esw-ai-contrast-note{margin-top:14px;font-size:12px;color:#7c4319}
@media(max-width:700px){.esw-ai-appearance-grid{grid-template-columns:1fr}.esw-ai-appearance{padding:16px}.esw-ai-appearance-preview{padding:16px}}
