/* Trust Site Chat — 위젯 (모바일 우선). 좌측 세로 라인 패턴 미사용. */
#trust-chat-root{--tc-brand:#0E7373;--tc-ink:#1f2937;--tc-sub:#6b7280;--tc-line:#e5e7eb;--tc-bg:#fff;--tc-tint:#f3f7f7}
#trust-chat-root *{box-sizing:border-box}

/* 런처 버튼 */
.tc-launch{position:fixed;right:18px;bottom:18px;z-index:99998;display:flex;align-items:center;gap:8px;
  height:54px;padding:0 20px;border:0;border-radius:28px;background:var(--tc-brand);color:#fff;
  font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);
  font-family:inherit;line-height:1}
.tc-launch:hover{filter:brightness(1.05)}
.tc-launch__dot{width:8px;height:8px;border-radius:50%;background:#7CFFCB;box-shadow:0 0 0 3px rgba(124,255,203,.35)}
.tc-launch[hidden]{display:none}

/* 패널 */
.tc-panel{position:fixed;right:18px;bottom:18px;z-index:99999;width:min(380px,calc(100vw - 24px));
  height:min(620px,calc(100vh - 36px));background:var(--tc-bg);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(0,0,0,.28);font-family:inherit}
.tc-panel[hidden]{display:none}

/* 헤더 */
.tc-head{background:var(--tc-brand);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}
.tc-head__t{font-size:15px;font-weight:800;line-height:1.2}
.tc-head__s{font-size:11px;opacity:.85;margin-top:2px}
.tc-badge{margin-left:auto;font-size:10px;font-weight:700;background:rgba(255,255,255,.22);
  padding:3px 8px;border-radius:10px;letter-spacing:.02em}
.tc-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;margin-left:2px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

/* 메시지 영역 */
.tc-log{flex:1;overflow-y:auto;padding:14px;background:var(--tc-tint);display:flex;flex-direction:column;gap:10px}
.tc-msg{max-width:86%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.55;word-break:break-word;white-space:pre-line}
.tc-msg--bot{align-self:flex-start;background:#fff;color:var(--tc-ink);border:1px solid var(--tc-line);border-bottom-left-radius:5px}
.tc-msg--user{align-self:flex-end;background:var(--tc-brand);color:#fff;border-bottom-right-radius:5px}
.tc-msg--block{border-color:#f0c14b;background:#fff8e8}
.tc-intro{font-size:12px;color:var(--tc-sub);text-align:center;padding:2px 8px}

/* 출처/면책 카드 */
.tc-meta{align-self:flex-start;max-width:86%;font-size:12px;color:var(--tc-sub);background:#fff;
  border:1px dashed var(--tc-line);border-radius:10px;padding:7px 10px}
.tc-meta details summary{cursor:pointer;font-weight:600;color:var(--tc-brand)}
.tc-disc{align-self:flex-start;max-width:86%;font-size:11px;color:var(--tc-sub);line-height:1.5;padding:0 4px}

/* 빠른응답 칩 */
.tc-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 8px}
.tc-chip{border:1px solid var(--tc-brand);color:var(--tc-brand);background:#fff;border-radius:16px;
  padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.tc-chip:hover{background:var(--tc-tint)}
.tc-chip--cta{background:var(--tc-brand);color:#fff}

/* 입력 */
.tc-input{display:flex;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--tc-line);background:#fff}
.tc-input textarea{flex:1;resize:none;border:1px solid var(--tc-line);border-radius:12px;padding:9px 11px;
  font-size:14px;font-family:inherit;max-height:80px;line-height:1.4}
.tc-input textarea:focus{outline:2px solid var(--tc-brand);outline-offset:-1px}
.tc-send{border:0;background:var(--tc-brand);color:#fff;border-radius:12px;padding:0 16px;font-weight:700;cursor:pointer;font-family:inherit}
.tc-send:disabled{opacity:.5;cursor:default}

/* 인계 폼 */
.tc-form{align-self:stretch;background:#fff;border:1px solid var(--tc-line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.tc-form h4{margin:0 0 2px;font-size:14px;color:var(--tc-ink)}
.tc-form input[type=text]{border:1px solid var(--tc-line);border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit;width:100%}
.tc-form input:focus{outline:2px solid var(--tc-brand);outline-offset:-1px}
.tc-consent{display:flex;gap:7px;align-items:flex-start;font-size:11px;color:var(--tc-sub);line-height:1.5}
.tc-consent input{margin-top:2px}
.tc-form__submit{border:0;background:var(--tc-brand);color:#fff;border-radius:10px;padding:10px;font-weight:700;cursor:pointer;font-family:inherit}
.tc-form__submit:disabled{opacity:.5;cursor:default}
.tc-typing{align-self:flex-start;color:var(--tc-sub);font-size:13px;padding:4px 10px}

@media (max-width:480px){
  .tc-panel{right:0;bottom:0;width:100vw;height:100vh;height:100dvh;border-radius:0}
  .tc-launch{right:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){.tc-launch__dot{box-shadow:none}}
