/* 모든 스타일은 AI 위젯 내부로 한정합니다. 사이트의 기존 CSS에 영향을 주지 않습니다. */
#soundcom-ai-widget { box-sizing: border-box; }
#soundcom-ai-widget * { box-sizing: border-box; }
#soundcom-ai-widget { position: fixed; top: 24px; right: 24px; z-index: 99999; font-family: Arial, "Malgun Gothic", sans-serif; }
#soundcom-ai-widget button,
#soundcom-ai-widget textarea { font-family: inherit; }
#soundcom-ai-widget #ai-toggle { width: 58px; height: 58px; border: 0; border-radius: 50%; color: #fff; background: #245bb5; font-size: 17px; font-weight: bold; box-shadow: 0 6px 24px rgba(25,52,95,.25); cursor: pointer; }
#soundcom-ai-widget #ai-panel { position: absolute; top: 70px; right: 0; width: 370px; max-width: calc(100vw - 28px); height: 620px; max-height: calc(100vh - 115px); min-height: 400px; display: flex; flex-direction: column; overflow: hidden; background: #fff; color: #20242a; border: 1px solid #dce1e8; border-radius: 16px; box-shadow: 0 14px 48px rgba(20,30,50,.2); }
#soundcom-ai-widget .ai-panel-header { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid #edf0f4; }
#soundcom-ai-widget .ai-panel-header strong { font-size: 14px; }
#soundcom-ai-widget .ai-panel-header small { display: block; margin-top: 4px; color: #7a8290; font-size: 11px; }
#soundcom-ai-widget #ai-close { border: 0; background: transparent; color: #69717d; font-size: 26px; cursor: pointer; }
#soundcom-ai-widget #ai-quick-questions { display: flex; gap: 7px; flex-wrap: wrap; padding: 12px; border-bottom: 1px solid #edf0f4; }
#soundcom-ai-widget .ai-quick-question { padding: 7px 9px; border: 1px solid #dce5f3; border-radius: 14px; color: #2d5795; background: #f6f9ff; font-size: 11px; cursor: pointer; }
#soundcom-ai-widget #ai-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 14px; background: #fafbfd; }
#soundcom-ai-widget .ai-message { max-width: 92%; margin: 0 0 10px; padding: 10px 12px; border-radius: 12px; font-size: 13px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
#soundcom-ai-widget .ai-answer { margin-right: auto; background: #fff; border: 1px solid #e4e8ee; }
#soundcom-ai-widget .ai-user { margin-left: auto; color: #fff; background: #245bb5; }
#soundcom-ai-widget .ai-error { margin-right: auto; color: #8c2e2e; background: #fff1f1; }
#soundcom-ai-widget #ai-loading { padding: 0 14px 8px; color: #777f8b; font-size: 12px; }
#soundcom-ai-widget .ai-input-row { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #edf0f4; }
#soundcom-ai-widget #ai-input { flex: 1; min-width: 0; resize: none; padding: 10px; border: 1px solid #d7dce4; border-radius: 9px; font-size: 13px; line-height: 1.5; }
#soundcom-ai-widget #ai-send { padding: 0 14px; border: 0; border-radius: 9px; color: #fff; background: #245bb5; cursor: pointer; }
#soundcom-ai-widget #ai-send:disabled { opacity: .5; cursor: wait; }
#soundcom-ai-widget .ai-disclaimer { display: block; padding: 0 12px 10px; color: #8a919b; font-size: 10px; line-height: 1.5; }
@media (max-width: 600px) {
    #soundcom-ai-widget { top: 12px; right: 12px; }
    #soundcom-ai-widget #ai-panel { position: fixed; top: 80px; right: 12px; width: calc(100vw - 24px); height: calc(100vh - 100px); max-height: none; }
}
