.kiwi-chatbot{--kc-brand:var(--ms-brand,#2463cf);position:fixed;right:24px;bottom:24px;z-index:140;font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:#172033}
.kc-launcher{display:flex;align-items:center;gap:9px;min-height:52px;padding:0 18px;border:0;border-radius:999px;background:var(--kc-brand);color:#fff;box-shadow:0 12px 30px rgba(23,32,51,.22);font:700 15px/1 inherit;cursor:pointer}
.kc-launcher svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.kc-panel{position:absolute;right:0;bottom:66px;display:grid;grid-template-rows:auto 1fr auto;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100vh - 120px));overflow:hidden;border:1px solid #e2e5ea;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(23,32,51,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px) scale(.975);transform-origin:right bottom;transition:opacity .22s ease,transform .28s cubic-bezier(.22,.8,.28,1),visibility 0s linear .28s}
.kiwi-chatbot.is-open .kc-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
.kc-head{display:flex;align-items:center;gap:11px;padding:17px 18px;background:var(--kc-brand);color:#fff}
.kc-head-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.18);font-weight:900}
.kc-head-copy{min-width:0;flex:1}.kc-head-copy strong,.kc-head-copy small{display:block}.kc-head-copy strong{font-size:16px}.kc-head-copy small{margin-top:2px;font-size:12px;opacity:.88}
.kc-close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:#fff;font-size:25px;cursor:pointer}
.kc-body{overflow-y:auto;padding:18px;background:#f6f7f9;overscroll-behavior:contain}
.kc-message{display:flex;margin:0 0 12px}.kc-message.is-user{justify-content:flex-end}
.kc-bubble{max-width:86%;padding:11px 13px;border-radius:4px 15px 15px 15px;background:#fff;box-shadow:0 2px 9px rgba(23,32,51,.07);font-size:14px;line-height:1.62;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}
.kc-message.is-user .kc-bubble{border-radius:15px 4px 15px 15px;background:var(--kc-brand);color:#fff}
.kc-quick{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 15px}
.kc-quick button{padding:8px 11px;border:1px solid #cbd5e1;border-color:color-mix(in srgb,var(--kc-brand) 34%,#dfe3e8);border-radius:999px;background:#fff;color:var(--kc-brand);font:700 12px/1.35 inherit;cursor:pointer}
.kc-links{display:flex;gap:7px;margin-top:10px}.kc-links a{flex:1;padding:9px 8px;border:1px solid var(--kc-brand);border-radius:8px;color:var(--kc-brand);font-size:12px;font-weight:800;text-align:center;text-decoration:none}.kc-links a:first-child{background:var(--kc-brand);color:#fff}
.kc-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid #e5e7eb;background:#fff}
.kc-input{min-width:0;height:43px;padding:0 13px;border:1px solid #d8dde5;border-radius:10px;background:#fff;color:#172033;font:14px inherit;outline:none}.kc-input:focus{border-color:color-mix(in srgb,var(--kc-brand) 70%,#d8dde5);box-shadow:none}
.kc-send{height:43px;padding:0 15px;border:0;border-radius:10px;background:var(--kc-brand);color:#fff;font:800 13px inherit;cursor:pointer}.kc-send:disabled{opacity:.5;cursor:default}
.kc-note{grid-column:1/-1;margin:0;color:#6b7280;font-size:11px;line-height:1.45}
@media(max-width:800px){.kiwi-chatbot{right:16px;bottom:88px}.kc-launcher{min-height:48px;padding:0 15px}.kc-panel{position:fixed;right:12px;bottom:78px;width:calc(100vw - 24px);height:min(610px,calc(100dvh - 100px));border-radius:16px}.kc-body{padding:15px}.kc-launcher span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.kiwi-chatbot *{scroll-behavior:auto!important}.kc-panel{transition:none!important;transform:none!important}}

.ms-site .kiwi-chatbot .kc-input:focus,.ms-site .kiwi-chatbot .kc-input:focus-visible,.kiwi-chatbot .kc-input:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important;border-color:#d8dde5}
