html, body {
    overflow-x: hidden; /* 좌우 스크롤 제거 */
 }
 body {
   margin: 0;
   padding: 0;
   background: #f5f5f5;
   font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
 }
 /* Safe Area를 고려한 컨테이너 (전체 너비 사용) */
 #chat-container {
   width: 100%;
   margin: 0 auto;
   padding-top: calc(env(safe-area-inset-top, 0px) + 10px);
   padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
   padding-left: calc(env(safe-area-inset-left, 0px) + 10px);
   padding-right: calc(env(safe-area-inset-right, 0px) + 10px);
   box-sizing: border-box;
   height: calc(100vh - 80px);
   overflow: hidden;
 }
 /* 메시지 목록 영역 */
 #messages {
   display: flex;
   flex-direction: column;
   gap: 4px;
   max-height: calc(100% - 80px);
   overflow-y: auto;
   overflow-x: hidden; /* 좌우 스크롤 제거 */
   padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 0px);
   border-bottom: 0px solid #eee;
   margin-bottom: 10px;
 }
 /* 메시지 컨테이너 (헤더, 버블, 타임스탬프를 포함) */
 .message {
   margin-bottom: 4px;
   position: relative;
 }
 /* sent / received 정렬 */
 .sent {
   align-self: flex-end;
 }
 .received {
   align-self: flex-start;
   text-align: left;
 }
 /* 실제 메시지 내용을 담는 버블 (배경 적용) */
 .chat-bubble {
   padding: 8px 12px;
   display: inline-flex;
   max-width: 95%;
 }
 .sent .chat-bubble {
   background-color: #dcf8c6;
   text-align: left;

   /* 모서리 설정: 오른쪽 하단은 0, 나머지는 4px */
   border-top-left-radius: 8px;
   border-top-right-radius: 8px;
   border-bottom-left-radius: 8px;
   border-bottom-right-radius: 0;      
 }
 .received .chat-bubble {
   background-color: #fff;
   
   /* 모서리 설정: 왼쪽 하단은 0, 나머지는 4px */
   border-top-left-radius: 8px;
   border-top-right-radius: 8px;
   border-bottom-right-radius: 8px;
   border-bottom-left-radius: 0;
 }
 .sent .chat-timestamp {
   text-align: right !important;
 }
 /* 시스템 메시지 상단 헤더 (아이콘 + 시스템명), 배경 투명, 상단에 표시 */
 .chat-header {
   display: block;       /* block-level 요소로 만들어 한 줄 전체를 차지 */
   text-align: left;   /* 내부 콘텐츠(아이콘과 시스템명)를 중앙 정렬 */
   white-space: nowrap;  /* 불필요한 줄바꿈 제거 */
   margin-bottom: 4px;
   background: transparent;
 }
 .ai-icon {
   width: 14px;
   height: 14px;
   vertical-align: middle;
   color: #666;
 }
 .system-name {
   font-size: 0.8em;
   vertical-align: middle;
   margin-left: 4px;
   color: #666;
 }
 /* 메시지 하단 타임스탬프, 배경 투명 */
 .chat-timestamp {
   font-size: 0.8em;
   color: #666;
   margin-top: 4px;
   background: transparent;
 }
 /* 타이핑 애니메이션 영역 (기본 숨김) */
 #lottie-container {
   width: 64px;
   height: 40px;
   display: none;  /* 필요할 때만 보임 */
   margin: 0 0 0 10px;
 }
 /* 입력창 영역 */
 #input-area {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
 }

 #message-input {
  flex: 1;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
 }

 /* 이미지 버튼 스타일 */
 #image-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  color: #4a89dc;
  transition: background-color 0.2s;
 }

 #image-button:hover {
  background-color: #e0e0e0;
 }

 #image-button svg {
  width: 24px;
  height: 24px;
 }

 #send-button {
  padding: 0 16px;
  height: 40px;
  background-color: #4a89dc;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
 }

 #send-button:hover {
  background-color: #3b78cc;
 }
 
 /* 방 ID 입력 폼 스타일 */
 #room-form {
   display: flex;
   gap: 10px;
   margin-bottom: 15px;
   padding: 10px;
   background-color: #fff;
   border-radius: 8px;
   box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 }
 #room-id {
   flex: 1;
   padding: 8px;
   border: 1px solid #ddd;
   border-radius: 4px;
 }
 #load-button {
   padding: 8px 16px;
   background-color: #4a89dc;
   color: white;
   border: none;
   border-radius: 4px;
   cursor: pointer;
 }
 #load-button:hover {
   background-color: #3b78cc;
 }
 
 /* 페이지네이션 컨트롤 */
 #pagination-controls {
   display: flex;
   justify-content: center;
   gap: 15px;
   margin-top: 10px;
   margin-bottom: 10px;
 }
 .pagination-button {
   padding: 6px 12px;
   background-color: #f0f0f0;
   border: 1px solid #ddd;
   border-radius: 4px;
   cursor: pointer;
 }
 .pagination-button:hover {
   background-color: #e0e0e0;
 }
 .pagination-info {
   line-height: 30px;
   color: #666;
 }
 
 /* 로딩 표시 */
 #loading-indicator {
   text-align: center;
   padding: 20px;
   color: #666;
   display: none;
 }