
.tpg{--sun:#FABA01;--teal:#0F766E;--teal2:#0B5A54;--cream:#FBF7EE;--ink:#1f2a28;--muted:#5f6b68;--line:#e6e2d8;display:grid;grid-template-columns:minmax(340px,430px) 1fr;gap:0;height:min(760px,calc(100vh - 96px));min-height:560px;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR","Noto Sans SC",sans-serif;word-break:keep-all;overflow-wrap:anywhere;box-shadow:0 10px 40px rgba(31,42,40,.08)}
.tpg *{box-sizing:border-box}
.tpg-chat{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;border-right:1px solid var(--line)}
.tpg-log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.tpg-row{display:flex;gap:9px;align-items:flex-start}
.tpg-row.me{justify-content:flex-end}
.tpg-av{width:34px;height:34px;border-radius:11px;flex:none}
.tpg-b{background:var(--cream);border-radius:4px 16px 16px 16px;padding:10px 13px;max-width:100%;white-space:pre-wrap}
.me .tpg-b{background:var(--teal);color:#fff;border-radius:16px 4px 16px 16px;max-width:85%}
.tpg-col{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.tpg-dots{display:inline-flex;gap:4px;padding:4px 2px}.tpg-dots i{width:7px;height:7px;border-radius:50%;background:#b9b4a6;animation:tpgd 1.1s infinite}.tpg-dots i:nth-child(2){animation-delay:.15s}.tpg-dots i:nth-child(3){animation-delay:.3s}
@keyframes tpgd{0%,60%,100%{opacity:.35}30%{opacity:1}}
@media (prefers-reduced-motion:reduce){.tpg-dots i{animation:none}.tpg-log{scroll-behavior:auto}}
.tpg-st{display:grid;gap:7px;margin-top:2px}
.tpg-st button{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-weight:600;font-size:14px;line-height:1.35;background:#fff;transition:border-color .15s,background .15s}
.tpg-st button:hover,.tpg-st button:focus-visible{border-color:var(--teal);background:#f3f9f7}
.tpg-card{border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fff;display:grid;gap:4px}
.tpg-card b{font-size:14.5px;line-height:1.35}.tpg-card small{color:var(--muted);font-size:12.5px;line-height:1.4}
.tpg-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;align-items:center}
.tpg-btn{all:unset;box-sizing:border-box;cursor:pointer;background:var(--teal);color:#fff;font-weight:700;font-size:13.5px;padding:7px 14px;border-radius:999px;text-align:center}
.tpg-btn:hover{background:var(--teal2)}.tpg-btn:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.tpg-btn[disabled]{background:#c9c6bc;cursor:default}
.tpg-link{color:var(--teal2);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:2px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.tpg-tag{font-size:12px;font-weight:700;color:#7a5a00;background:#fff3cf;border-radius:999px;padding:2px 8px;justify-self:start}
.tpg-form{display:grid;gap:7px;border:1px solid var(--teal);border-radius:14px;padding:12px;background:#fbfdfc}
.tpg-form h3{margin:0 0 2px;font-size:14.5px;line-height:1.35}
.tpg-form label{display:grid;gap:3px;font-size:12.5px;font-weight:600;color:var(--ink)}
.tpg-form input[type=text],.tpg-form input[type=tel]{font:inherit;font-size:16px;padding:8px 10px;border:1px solid #cfcbc0;border-radius:9px;width:100%;background:#fff;color:var(--ink)}
.tpg-form input:focus{outline:2px solid var(--teal);outline-offset:0}
.tpg-form .ck{display:flex;gap:7px;align-items:flex-start;font-weight:500}.tpg-form .ck input{margin-top:3px}
.tpg-form .e{color:#b42318;font-size:12.5px;font-weight:600}
.tpg-hp{position:absolute;left:-9999px}
.tpg-in{display:flex;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--line);background:#fff}
.tpg-in textarea{flex:1;resize:none;font:inherit;font-size:16px;line-height:1.35;padding:10px 12px;border:1px solid #cfcbc0;border-radius:14px;height:44px;max-height:110px;color:var(--ink);background:#fff}
.tpg-in textarea:focus{outline:2px solid var(--teal);outline-offset:0}
.tpg-chat button:focus-visible,.tpg-map button:focus-visible,.tpg-chips button:focus-visible,.tpg-map a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.tpg-in button{all:unset;cursor:pointer;background:var(--teal);color:#fff;font-weight:700;padding:0 16px;border-radius:14px;font-size:14px}
.tpg-in button[disabled]{opacity:.5;cursor:default}
.tpg-note{margin:0;padding:0 14px 9px;color:var(--muted);font-size:11.5px;line-height:1.4}
.tpg-map{position:relative;min-width:0;min-height:0;background:#eef2ee}
.tpg-mapc{position:absolute;inset:0}
.tpg-chips{position:absolute;z-index:2;top:12px;left:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.tpg-chips button{all:unset;pointer-events:auto;cursor:pointer;background:#fff;border-radius:999px;padding:6px 13px;font-weight:700;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.tpg-chips button[aria-pressed=true]{background:var(--teal);color:#fff}
.tpg-chips button:focus-visible{outline:2px solid var(--sun)}
.tpg-hint{position:absolute;z-index:2;left:12px;bottom:12px;max-width:62%;background:rgba(255,255,255,.92);border-radius:9px;padding:5px 9px;font-size:11.5px;color:var(--muted)}
.tpg-m{cursor:pointer;border:0;padding:0;background:none;display:block}
.tpg-m.m img{width:42px;height:42px;border-radius:13px;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.3);display:block}
.tpg-m.s span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:13px;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.3)}
.tpg-m.p span{display:block;width:15px;height:15px;border-radius:50%;background:var(--sun);border:2.5px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.tpg-m.on span,.tpg-m.on img{outline:3px solid #e8590c;outline-offset:1px}
.tpg .maplibregl-popup-content{border-radius:13px;padding:11px 13px;font:13.5px/1.45 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;max-width:250px;color:var(--ink)}
.tpg .maplibregl-popup-close-button{font-size:18px;width:26px;height:26px}
.tpg-pop b{display:block;padding-right:16px}.tpg-pop small{display:block;color:var(--muted);margin:2px 0 6px}.tpg-pop .tpg-acts{margin-top:4px}
@media (max-width:820px){
.tpg{grid-template-columns:1fr;grid-template-rows:38vh 1fr;height:calc(100dvh - 72px);min-height:520px;border-radius:16px}
.tpg-map{order:-1;border-bottom:1px solid var(--line)}.tpg-chat{border-right:0;min-height:0}.tpg-hint{display:none}
.tpg-chips{flex-wrap:nowrap;overflow-x:auto;right:0;left:0;padding:0 10px}.tpg-chips button{flex:none}
.tpg-log{padding:14px 12px 6px}
}
.tpg-hint:empty{display:none}.tpg-src{color:var(--muted);font-size:11.5px}.tpg-inl{color:var(--teal2);font-weight:600;word-break:break-all}a.tpg-btn{text-decoration:none;display:inline-block}.tpg-st button.is-join{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}.tpg-st button.is-join:hover,.tpg-st button.is-join:focus-visible{background:var(--teal2);border-color:var(--teal2)}
