.kami-compact-entry { width:80px; min-height:44px; box-sizing:border-box; }
#customerServiceIcon[data-wechat-ready="true"] { border:0; }
#customerServiceIcon[data-wechat-ready="true"]:focus-visible { outline:3px solid #15803d; outline-offset:3px; }
#qrCodeModal[data-wechat-ready="true"] { max-width:calc(100vw - 100px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box; }
#qrCodeModal[data-wechat-ready="true"] img { max-width:100%; height:auto; }
#kami-assistant-trigger[hidden] { display:none !important; }
#kami-assistant-trigger { position:fixed; top:calc(50% + 34px); right:0; z-index:1001; display:flex; flex-direction:row; align-items:center; justify-content:center; gap:5px; width:80px; min-height:44px; height:44px; box-sizing:border-box; margin:0; padding:6px 8px; border:1px solid #c9def6; border-radius:20px; background:#eff6ff; color:#1d4ed8; box-shadow:0 2px 4px rgba(0,0,0,.1); font:14px/1.4 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; text-align:center; text-transform:none; white-space:nowrap; cursor:pointer; transition:background-color .18s ease,box-shadow .18s ease,transform .12s ease; }
#kami-assistant-trigger:hover, #kami-assistant-trigger:focus-visible { background:#dbeafe; box-shadow:0 4px 10px rgba(29,78,216,.14); }
#kami-assistant-trigger:active { transform:scale(.97); }
#kami-assistant-trigger:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.kami-assistant__entry-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:28px; height:28px; }
.kami-assistant__robot { display:block; width:28px; height:28px; overflow:visible; pointer-events:none; }
.kami-assistant__robot-float { animation:kami-robot-float 5.6s ease-in-out infinite; }
.kami-assistant__robot-face { transform-box:fill-box; transform-origin:50% 85%; transition:transform .24s ease; }
.kami-assistant__robot-eyes { transform-box:fill-box; transform-origin:center; animation:kami-robot-blink 6.2s linear infinite; }
.kami-assistant__robot-light { animation:kami-robot-light 3.6s ease-in-out infinite; }
.kami-assistant__robot-hand { transform-box:fill-box; transform-origin:0 100%; }
#kami-assistant-trigger:hover .kami-assistant__robot-face, #kami-assistant-trigger:focus-visible .kami-assistant__robot-face { transform:rotate(-6deg); }
#kami-assistant-trigger:hover .kami-assistant__robot-hand, #kami-assistant-trigger:focus-visible .kami-assistant__robot-hand { animation:kami-robot-wave .8s ease-in-out; }
#kami-assistant-trigger[aria-expanded="true"] .kami-assistant__robot-float, #kami-assistant-trigger[aria-expanded="true"] .kami-assistant__robot-eyes, #kami-assistant-trigger[aria-expanded="true"] .kami-assistant__robot-light { animation-play-state:paused; }
@keyframes kami-robot-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1px); } }
@keyframes kami-robot-blink { 0%,45%,49%,100% { transform:scaleY(1); } 47% { transform:scaleY(.12); } }
@keyframes kami-robot-light { 0%,100% { opacity:.65; } 50% { opacity:1; } }
@keyframes kami-robot-wave { 0%,100% { transform:rotate(0); } 25%,65% { transform:rotate(-24deg); } 45%,85% { transform:rotate(8deg); } }
@media (prefers-reduced-motion:reduce) {
  #kami-assistant-trigger, #kami-assistant-trigger .kami-assistant__robot-face { transition:none; }
  #kami-assistant-trigger .kami-assistant__robot-float, #kami-assistant-trigger .kami-assistant__robot-eyes, #kami-assistant-trigger .kami-assistant__robot-light, #kami-assistant-trigger .kami-assistant__robot-hand, #kami-assistant-trigger:hover .kami-assistant__robot-hand, #kami-assistant-trigger:focus-visible .kami-assistant__robot-hand { animation:none; }
  #kami-assistant-trigger:active, #kami-assistant-trigger:hover .kami-assistant__robot-face, #kami-assistant-trigger:focus-visible .kami-assistant__robot-face { transform:none; }
}
.kami-assistant[hidden], .kami-assistant [hidden] { display:none !important; }
.kami-assistant { position:fixed; inset:0; z-index:12000; display:flex; align-items:center; justify-content:flex-end; padding:18px; box-sizing:border-box; background:rgba(15,23,42,.42); }
.kami-assistant *, .kami-assistant *::before, .kami-assistant *::after { box-sizing:border-box; }
.kami-assistant__panel { display:flex; flex-direction:column; width:min(440px,100%); height:min(720px,calc(100vh - 36px)); height:min(720px,calc(100dvh - 36px)); margin:0; padding:0; overflow:hidden; border:1px solid #e2e8f0; border-radius:16px; background:#fff; color:#172033; box-shadow:0 18px 70px rgba(15,23,42,.25); font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; text-align:left; }
.kami-assistant__header { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-shrink:0; padding:12px 14px; border-bottom:1px solid #e2e8f0; }
.kami-assistant__header h2 { margin:0; color:#14532d; font-size:18px; line-height:1.4; }
.kami-assistant__header p { margin:3px 0 0; font-size:12px; color:#64748b; }
.kami-assistant__tools { display:flex; gap:3px; }
#kami-assistant-root button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:8px 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#334155; font:inherit; font-size:13px; line-height:1.4; cursor:pointer; text-decoration:none; box-shadow:none; }
#kami-assistant-root button:hover { background:#f0fdf4; }
#kami-assistant-root button:focus-visible, #kami-assistant-root textarea:focus-visible, #kami-assistant-root a:focus-visible { outline:3px solid #16a34a; outline-offset:2px; }
#kami-assistant-root button:disabled { opacity:.55; cursor:wait; }
#kami-assistant-close { min-width:44px; font-size:24px !important; }
.kami-assistant__tabs { display:flex; gap:6px; flex-shrink:0; padding:8px 12px; border-bottom:1px solid #e2e8f0; }
.kami-assistant__tabs button { flex:1; }
#kami-assistant-root [role="tab"][aria-selected="true"] { border-color:#15803d; background:#f0fdf4; color:#166534; font-weight:700; }
.kami-assistant__notice { flex-shrink:0; padding:0 12px; }
.kami-assistant__notice p { margin:8px 0; color:#64748b; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.kami-assistant__notice p:empty { display:none; }
.kami-assistant__notice p[role="alert"] { color:#b42318; }
.kami-assistant__recovery { display:flex; flex-wrap:wrap; gap:6px; }
.kami-assistant__recovery:has(button:not([hidden])) { padding-bottom:8px; }
.kami-assistant__chat { display:flex; flex-direction:column; flex:1; min-height:0; }
.kami-assistant__transcript { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:4px 14px 14px; }
.kami-assistant__starters { margin:10px 0; padding:12px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; }
.kami-assistant__starters h3 { margin:0; color:#1e40af; font-size:14px; line-height:1.5; }
.kami-assistant__starters p { margin:4px 0 10px; color:#64748b; font-size:12px; line-height:1.5; }
.kami-assistant__starter-list { display:grid; gap:8px; }
#kami-assistant-root .kami-assistant__starter { display:block; width:100%; min-width:0; min-height:44px; padding:9px 10px; border-color:#dbeafe; background:#fff; text-align:left; white-space:normal; overflow-wrap:anywhere; font-size:13px; line-height:1.55; }
#kami-assistant-root .kami-assistant__starter:hover { background:#eff6ff; }
.kami-assistant__message { padding:12px 0; border-bottom:1px solid #e2e8f0; overflow-wrap:anywhere; }
.kami-assistant__message:focus-visible { outline:2px solid #2563eb; outline-offset:2px; border-radius:6px; }
.kami-assistant__message--user { text-align:right; }
.kami-assistant__message small { color:#64748b; font-size:12px; }
.kami-assistant__message p { margin:5px 0; color:#172033; font-size:14px; line-height:1.75; white-space:pre-wrap; }
.kami-assistant__message--user p { color:#166534; }
.kami-assistant__sources { margin:6px 0; padding:0; list-style:none; }
.kami-assistant__sources a { display:inline-flex; align-items:center; min-height:44px; color:#15803d; font-size:13px; }
.kami-assistant__rating { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
#kami-assistant-root button[aria-pressed="true"] { border-color:#15803d; color:#166534; background:#f0fdf4; }
#kami-assistant-root .kami-assistant__composer { display:flex; flex-direction:row; flex-shrink:0; align-items:flex-end; gap:8px; width:100%; margin:0; padding:10px 12px; border:0; border-top:1px solid #e2e8f0; background:#fff; }
#kami-assistant-root textarea { flex:1; min-width:0; width:auto; height:auto; min-height:60px; max-height:140px; margin:0; padding:9px 10px; border:1px solid #cbd5e1; border-radius:8px; resize:vertical; background:#fff; color:#172033; font:inherit; font-size:16px; line-height:1.5; box-shadow:none; }
#kami-assistant-root #kami-assistant-send { flex-shrink:0; border-color:#15803d; background:#15803d; color:#fff; }
.kami-assistant__privacy { flex-shrink:0; margin:0; padding:0 12px 10px; color:#64748b; font-size:11px; line-height:1.55; }
.kami-assistant__faq, .kami-assistant__human { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:10px 14px 16px; }
.kami-assistant__faq p, .kami-assistant__human p { margin:8px 0 14px; font-size:13px; line-height:1.7; }
#kami-assistant-root .kami-assistant__faq-item { display:block; width:100%; margin-bottom:8px; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.kami-assistant__human h3 { margin:5px 0 10px; color:#14532d; font-size:17px; }
.kami-assistant__qr { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.kami-assistant__qr figure { min-width:0; margin:0; text-align:center; }
.kami-assistant__qr img { display:block; width:100%; max-width:170px; height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto; }
.kami-assistant__qr figcaption { margin-top:8px; color:#475569; font-size:12px; }
.kami-assistant__sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:600px) {
  .kami-assistant { align-items:flex-end; justify-content:center; padding:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
  .kami-assistant__panel { width:100%; height:calc(100vh - 20px); height:calc(100dvh - 20px - env(safe-area-inset-bottom)); border-radius:14px; }
  .kami-assistant__header { padding:10px 12px; }
}
