/* 채팅 DOM이 있는 모바일 화면만 적용한다. 다른 페이지와 PC 레이아웃은 유지한다. */
html.chat-mobile-viewport{
  --chat-safe-top:env(safe-area-inset-top,0px);--chat-safe-right:env(safe-area-inset-right,0px);
  --chat-safe-bottom:env(safe-area-inset-bottom,0px);--chat-safe-left:env(safe-area-inset-left,0px);
  --chat-header-height:56px;--chat-bottom-gap:calc(12px + var(--chat-safe-bottom));
  height:100%;overflow:hidden;
}
.chat-mobile-viewport body{height:100%;min-height:0;overflow:hidden;}
.chat-mobile-viewport .wrap.m_wrap{position:fixed;top:var(--chat-viewport-top,0px);left:0;width:100%!important;margin:0!important;height:var(--chat-viewport-height,100vh)!important;min-height:0;overflow:hidden;}
.chat-mobile-viewport .wrap.m_wrap .gpt_search_area{box-sizing:border-box;width:100%;height:100%!important;min-height:0;max-width:none;padding:calc(var(--chat-header-height) + var(--chat-safe-top) + 12px) calc(16px + var(--chat-safe-right)) var(--chat-bottom-gap) calc(16px + var(--chat-safe-left))!important;}
.chat-mobile-viewport .gpt_search_area #chat.send_show{flex:1 1 0;min-height:0;max-height:none;height:auto!important;margin:0;padding:0 0 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;}
.chat-mobile-viewport .gpt_search_area #requestBox{position:static!important;inset:auto!important;flex:none;width:100%!important;min-width:0;max-width:100%;height:auto;}
.chat-mobile-viewport .gpt_search_area .search_box{box-sizing:border-box;flex:none;min-width:0;max-width:100%;max-height:calc(var(--chat-viewport-height,100vh) - var(--chat-header-height) - var(--chat-safe-top) - 24px);overflow-y:auto;overscroll-behavior:contain;}
.chat-mobile-viewport .search_box:after{display:none;}
.chat-mobile-viewport .search_box .input-wrapper{display:block;min-width:0;width:100%;}
.chat-mobile-viewport .search_box .form1{display:flex;flex-direction:column;align-items:stretch;}
.chat-mobile-viewport .search_box .search_input{box-sizing:border-box;width:100%;max-width:100%;margin-left:0;font-size:16px!important;min-height:40px;max-height:120px;-webkit-appearance:none;}
.chat-mobile-viewport .search_box .ai_attach_list{max-height:40px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;}
.chat-mobile-viewport .search_box .ai_attach_chip{flex:none;}
.chat-mobile-viewport .search_box .disflex_justispace_center{display:grid;grid-template-columns:minmax(0,1fr) 36px 36px;align-items:center;gap:8px;width:100%;margin-left:0;}
.chat-mobile-viewport .search_box .pro_btn_area{min-width:0;flex-wrap:nowrap;justify-content:flex-start;}
.chat-mobile-viewport #scrollToBottom{box-sizing:border-box;position:fixed;top:calc(var(--chat-composer-top) - 52px);left:50%;bottom:auto;transform:translateX(-50%);width:44px;height:44px;padding:9px;border:1px solid #d6dee8;border-radius:50%;background:#fff;box-shadow:0 2px 8px #17243b14;line-height:0;z-index:50;}
.chat-mobile-viewport .ham_btn_area{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;position:fixed;top:var(--chat-viewport-top,0px);left:0;width:100%;height:calc(var(--chat-header-height) + var(--chat-safe-top));padding:var(--chat-safe-top) calc(12px + var(--chat-safe-right)) 0 calc(12px + var(--chat-safe-left));background:#fff;}
.chat-mobile-viewport .ham_btn_area .ham_btn,.chat-mobile-viewport .ham_btn_area .mouser,.chat-mobile-viewport .ham_btn_area .mobile_new_chat{position:static;display:flex;align-items:center;justify-content:center;flex:none;min-width:44px;width:44px;min-height:44px;height:44px;margin:0;transform:none;}
.chat-mobile-viewport .ham_btn_area .mouser i{display:block;width:24px;height:24px;}
.chat-mobile-viewport .ham_btn_area .m_logoDipseek{display:block;position:absolute;left:50%;top:calc(var(--chat-safe-top) + var(--chat-header-height)/2);transform:translate(-50%,-50%);}
.chat-mobile-viewport .ham_btn_area .m_logoDipseek img{max-width:110px;max-height:28px;}
.chat-mobile-viewport .wide_side{box-sizing:border-box;top:var(--chat-viewport-top,0px);height:var(--chat-viewport-height,100vh)!important;min-height:0!important;max-height:var(--chat-viewport-height,100vh)!important;padding-top:var(--chat-safe-top);padding-left:var(--chat-safe-left);padding-bottom:var(--chat-safe-bottom);}
.chat-mobile-viewport.chat-input-focused .gpt_search_area{justify-content:flex-end!important;}
.chat-mobile-viewport.chat-input-focused .gpt_search_area>.send_hide{display:none!important;}
.chat-mobile-viewport.chat-compact-viewport .gpt_search_area>.send_hide{display:none!important;}
.chat-mobile-viewport.chat-compact-viewport .gpt_search_area{justify-content:flex-end!important;}
.chat-mobile-viewport .footer_btn{padding-bottom:calc(6px + var(--chat-safe-bottom));}
.chat-mobile-viewport.chat-keyboard-open{--chat-bottom-gap:8px;}
.chat-mobile-viewport.chat-keyboard-open .search_box{min-height:0;padding:8px;}
.chat-mobile-viewport.chat-keyboard-open .search_box .form1{gap:4px;}
.chat-mobile-viewport.chat-keyboard-open .footer_btn{display:none;}
.chat-mobile-viewport .login_popup_overlay,.chat-mobile-viewport .mpopup_overlay{top:var(--chat-viewport-top,0px);bottom:auto;height:var(--chat-viewport-height,100vh);}
.chat-mobile-viewport .login_popup_overlay .login_popup_area,.chat-mobile-viewport .mpopup_container{max-height:calc(var(--chat-viewport-height,100vh) - var(--chat-safe-top) - var(--chat-safe-bottom) - 24px);}
.chat-mobile-viewport.chat-keyboard-open .login_popup_overlay .login_popup_area,.chat-mobile-viewport.chat-keyboard-open .mpopup_container{max-height:calc(var(--chat-viewport-height,100vh) - var(--chat-safe-top) - 24px);}
@media(max-height:500px) and (pointer:coarse){
  html.chat-mobile-viewport{--chat-header-height:44px;}
  .chat-mobile-viewport .wrap.m_wrap .gpt_search_area{padding-top:calc(var(--chat-header-height) + var(--chat-safe-top) + 8px)!important;}
}
/* 아주 낮은 키보드 화면에서도 버튼은 입력란 아래에 유지한다. */
html.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport{--chat-bottom-gap:4px;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .wrap.m_wrap .gpt_search_area{padding-top:calc(var(--chat-header-height) + var(--chat-safe-top) + 4px)!important;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .gpt_search_area #chat.send_show{padding-bottom:0;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box{padding:6px;max-height:calc(var(--chat-viewport-height,100vh) - var(--chat-header-height) - var(--chat-safe-top) - 8px);}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box .form1{gap:2px;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box .ai_attach_list.has_file{height:24px;max-height:24px;padding:0;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box .ai_attach_chip{box-sizing:border-box;height:24px;padding:0 6px;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box .disflex_justispace_center{gap:4px;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport .search_box .pro_btn_area{box-sizing:border-box;padding-right:48px;gap:2px;}
.chat-mobile-viewport.chat-keyboard-open.chat-tight-viewport #scrollToBottom{top:var(--chat-tools-top);left:calc(var(--chat-send-left) - 48px);transform:none;}

/* 동일한 입력 도구를 모바일에서는 터치 영역 안에 정렬한다. */
.chat-mobile-viewport .gpt_search_area>.send_hide{margin-top:auto;margin-bottom:28px;}
.chat-mobile-viewport .gpt_search_area:not(:has(#requestBox))>.search_box{margin-bottom:auto;}
.chat-mobile-viewport .gpt_search_area .send_hide .animation_container{width:30px;height:30px;}
.chat-mobile-viewport .gpt_search_area .send_hide .animation_container,.chat-mobile-viewport .gpt_search_area .send_hide .main_logo{width:34px!important;height:34px!important;inset:auto;}
.chat-mobile-viewport .gpt_search_area .send_hide h1#target1.service_tit{font-size:clamp(17px,5.7vw,24px)!important;font-weight:600;line-height:1.5;text-align:center;white-space:nowrap;word-break:keep-all;}
.chat-mobile-viewport .gpt_search_area .search_box .form1{gap:12px;}
.chat-mobile-viewport .gpt_search_area .search_box .pro_btn_area{gap:6px;flex-wrap:nowrap;}
.chat-mobile-viewport .gpt_search_area .search_box .pro_btn{height:34px;min-width:0;padding:0 8px;font-size:12px;}
.chat-mobile-viewport .gpt_search_area .search_box #ai_attach_btn,.chat-mobile-viewport .gpt_search_area .search_box #senddiv{width:36px;min-width:36px;height:36px;}
.chat-mobile-viewport .gpt_search_area #chat.send_show{padding-top:12px;}
.chat-mobile-viewport.chat-input-focused .gpt_search_area:not(:has(#requestBox))>.search_box,.chat-mobile-viewport.chat-compact-viewport .gpt_search_area:not(:has(#requestBox))>.search_box{margin-top:auto;margin-bottom:0;}
