/* Public HUMINI entry. Isolated from the survey editor and existing site navigation. */
.hm-public-launcher{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:80;display:grid;grid-template-columns:auto 82px;grid-template-rows:92px 24px;align-items:center;gap:0 10px;max-width:calc(100vw - 32px);color:#283653;text-decoration:none!important;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}
.hm-public-launcher__copy{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #dedff1;border-radius:16px 16px 4px 16px;box-shadow:0 6px 22px #29365312;padding:10px 15px;white-space:nowrap}
.hm-public-launcher__copy strong{font-size:13px;font-weight:700;color:#344267}.hm-public-launcher__copy>span{font-size:11px;color:#6b7391}
.hm-public-launcher__portrait{grid-column:2;grid-row:1;position:relative;display:block;align-self:end;width:82px;height:92px;isolation:isolate;transition:transform .18s ease}
.hm-public-launcher__portrait:before{content:"";position:absolute;z-index:-1;inset:23px 0 0;background:linear-gradient(145deg,#efe9ff,#e8f2ff);border:1px solid #e0daf3;border-radius:50%;box-shadow:0 5px 18px #53477c18}
.hm-public-launcher__portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 2px 3px #3b30532a)}
.hm-public-launcher__name{grid-column:2;grid-row:2;justify-self:center;padding:2px 11px;border-radius:20px;background:#7564c9;color:#fff;font-size:11px;font-weight:700;box-shadow:0 3px 9px #51408720}
.hm-public-launcher:hover .hm-public-launcher__portrait{transform:translateY(-3px)}.hm-public-launcher:hover .hm-public-launcher__copy{border-color:#bcb0de}.hm-public-launcher:focus-visible{outline:3px solid #7564c9;outline-offset:5px;border-radius:14px}
@media(max-width:640px){.hm-public-launcher{right:max(12px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));grid-template-columns:64px;grid-template-rows:72px 23px;gap:0}.hm-public-launcher__portrait{grid-column:1;width:64px;height:72px}.hm-public-launcher__name{grid-column:1}.hm-public-launcher__copy{display:none}}
@media(prefers-reduced-motion:reduce){.hm-public-launcher__portrait{transition:none}.hm-public-launcher:hover .hm-public-launcher__portrait{transform:none}}
@media print{.hm-public-launcher{display:none!important}}
/* Phase25.5: modeless public conversation; survey construction stays in the workspace. */
button.hm-public-launcher{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.hm-public-launcher[hidden],.hm-mini[hidden]{display:none!important}
.hm-mini{position:fixed;z-index:90;right:max(22px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:370px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e1dff0;border-radius:20px;box-shadow:0 14px 55px #2d28552b;color:#293653;font:13px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.hm-mini *{box-sizing:border-box}.hm-mini__header{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid #eceaf4;flex-shrink:0}.hm-mini__header img{border-radius:50%;background:#f0ecff;object-fit:cover;flex:none}.hm-mini__header>div{display:flex;flex-direction:column}.hm-mini__header strong{font-size:14px;color:#293653}.hm-mini__header span{font-size:10px;color:#7b8196}.hm-mini__header>button{margin-left:auto;background:transparent;border:0;color:#7d8097;font-size:24px;width:32px;height:32px;cursor:pointer;flex:none}
.hm-mini__intro{display:flex;align-items:center;gap:10px;padding:12px 16px 10px;background:linear-gradient(140deg,#f8f5ff,#f6faff);flex-shrink:0}.hm-mini__intro img{object-fit:contain;flex:none;width:74px;height:82px}.hm-mini__intro p{margin:0;color:#53607d;font-size:11px;line-height:1.8}
.hm-mini__log{padding:14px;overflow-y:auto;overscroll-behavior:contain;min-height:90px;max-height:260px;flex:1 1 auto;scroll-behavior:smooth}.hm-mini__message{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;width:fit-content;max-width:92%;font-size:12px}.hm-mini__message--assistant{padding:8px 0;color:#354463}.hm-mini__message--user{margin-left:auto;background:#f0ecf9;color:#4f426d;padding:9px 12px;border-radius:14px 14px 3px 14px}.hm-mini__handoff{display:block;margin-top:9px;font-weight:600;color:#6450ac;text-decoration:none}
.hm-mini__shortcuts{display:flex;gap:5px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid #eeedf6;flex-shrink:0}.hm-mini__shortcuts button,.hm-mini__shortcuts a{font:inherit;font-size:11px;border:1px solid #e1dcef;border-radius:10px;background:#fff;padding:5px 8px;color:#66518e;text-decoration:none;cursor:pointer}.hm-mini__status{margin:0;padding:0 14px;color:#7c8195;font-size:10px;flex-shrink:0}.hm-mini__status:empty{display:none}.hm-mini__form{display:flex;gap:7px;align-items:center;margin:0;padding:10px 14px 14px;flex-shrink:0}.hm-mini__form input{width:100%;min-width:0;border:1px solid #dfddea;background:#fcfbff;border-radius:12px;padding:11px 12px;font:inherit;font-size:13px;color:#293653}.hm-mini__form>button{border:0;border-radius:50%;width:34px;height:34px;background:#7863ce;color:#fff;font-size:21px;cursor:pointer;flex:none}.hm-mini button:disabled{opacity:.5;cursor:default}.hm-mini :focus-visible{outline:2px solid #7863ce;outline-offset:2px}.hm-mini__sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hm-mini-noscript{position:fixed;bottom:10px;right:15px;background:white;padding:8px;z-index:90;font-size:12px}
@media(max-width:640px){.hm-mini{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:16px}.hm-mini__log{max-height:240px}.hm-mini__form input{font-size:16px}}
@media(max-height:520px){.hm-mini__intro{display:none}.hm-mini__header{padding:8px 12px}.hm-mini__log{min-height:45px;max-height:150px}.hm-mini__shortcuts{padding:5px 12px}.hm-mini__form{padding:6px 12px 10px}}
@media(prefers-reduced-motion:reduce){.hm-mini__log{scroll-behavior:auto}}@media print{.hm-mini,.hm-mini-noscript{display:none!important}}
/* Phase25.6: complete face image with its built-in margin; never cover-crop. */
.hm-mini__header>img{width:44px;height:44px;max-width:none;object-fit:contain;object-position:center;border-radius:10px;padding:1px;flex:0 0 44px;clip-path:none;overflow:visible}.hm-mini__intro>img{object-fit:contain;object-position:center;max-width:none;border-radius:0;clip-path:none}.hm-mini__suggestions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;white-space:normal}.hm-mini__suggestions button{font:inherit;font-size:11px;background:#fff;border:1px solid #e0dced;border-radius:9px;color:#66518d;padding:4px 7px;cursor:pointer}.hm-mini__suggestions button:hover{background:#f5f1fd}

/* HUMINI 모바일 대화 집중 레이아웃: 데스크톱 기존 스타일 불변 */
@media (max-width:640px){
 .hm-mini{left:2vw;right:2vw;bottom:max(8px,env(safe-area-inset-bottom));width:96vw;max-width:none;height:min(85dvh,calc(100dvh - env(safe-area-inset-top) - 12px));max-height:none;font-size:16px;line-height:1.6;border-radius:18px}
 .hm-mini__header{padding:12px 15px;min-height:62px}
 .hm-mini__header strong{font-size:18px}.hm-mini__header span{font-size:13px}
 .hm-mini__header>button{width:44px;height:44px;font-size:26px}
 .hm-mini__intro{padding:12px 15px}.hm-mini__intro p{font-size:15px;line-height:1.6}
 .hm-mini__log{flex:1 1 auto;min-height:0;max-height:none;padding:14px 16px}
 .hm-mini__message{font-size:16px;line-height:1.65;max-width:96%}
 .hm-mini__message--assistant{padding:8px 0}.hm-mini__message--user{padding:11px 14px}
 .hm-mini__shortcuts{padding:10px 14px;gap:8px}
 .hm-mini__shortcuts button,.hm-mini__shortcuts a,.hm-mini__suggestions button{font-size:15px;min-height:44px;padding:9px 12px}
 .hm-mini__suggestions{gap:8px}.hm-mini__status{font-size:13px}
 .hm-mini__form{padding:10px 14px max(12px,env(safe-area-inset-bottom));gap:10px}
 .hm-mini__form input{font-size:16px;min-height:52px;padding:13px 14px}
 .hm-mini__form>button{width:46px;height:46px;font-size:24px}
 .hm-mini.hm-mini--conversation-started .hm-mini__intro{display:none}
 .hm-mini.hm-mini--conversation-started .hm-mini__header>img,
 .hm-mini.hm-mini--conversation-started .hm-mini__header span{display:none}
 .hm-mini.hm-mini--conversation-started .hm-mini__header{min-height:56px;padding:7px 15px}
}
@media (max-width:640px) and (max-height:520px){
 .hm-mini{height:calc(100dvh - env(safe-area-inset-top) - 8px);bottom:4px}
 .hm-mini__log{min-height:0;max-height:none}
}
