#home-chat-entry{position:absolute;z-index:6;right:calc(9px + (100% - 18px) / 12 - 28px + 128px);bottom:calc(92px + env(safe-area-inset-bottom,0px));}
#home-chat-entry>img{position:absolute;left:50%;bottom:4px;width:53px;height:49px;max-width:none;object-fit:contain;transform:translateX(-50%);}
/* IPA home_main.pb: tip center (23,29) relative to the 92x83 chat button. */
#home-chat-entry .chat-unread-dot{position:absolute;z-index:1;left:calc(50% + 13.25px);bottom:37.65px;width:15px;height:16px;transform:translateX(-50%);pointer-events:none;}
#home-chat-entry .chat-unread-dot[hidden]{display:none;}
#home-chat-entry .chat-unread-dot img{display:block;width:100%;height:100%;max-width:none;}
.chat-dialog{position:fixed;inset:auto;margin:0;padding:0;max-width:none;max-height:none;box-sizing:border-box;border:1px solid #fa7298;border-radius:0;background:#fff;color:#303640;overflow:hidden;font:14px/1.5 "Microsoft YaHei","PingFang SC",system-ui,sans-serif;}
.chat-dialog[open]{display:flex;flex-direction:column;}
.chat-dialog::backdrop{background:#17233999;}
.chat-dialog *{box-sizing:border-box;}
.chat-dialog [hidden]{display:none!important;}
.chat-dialog button{min-height:40px;padding:7px 12px;border:1px solid #fa7298;border-radius:0;background:#fff;color:#d94f76;box-shadow:none;cursor:pointer;appearance:none;font:inherit;touch-action:manipulation;}
.chat-dialog button:disabled{opacity:.5;cursor:default;}
.chat-dialog button:hover:not(:disabled){background:#fff3f7;}
.chat-dialog button:focus-visible,.chat-dialog textarea:focus-visible,.chat-scroll:focus-visible{outline:2px solid #fa7298;outline-offset:-2px;}
.chat-header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #f2e4e9;flex-shrink:0;}
.chat-header h2{margin:0;font-size:18px;line-height:1.4;}
.chat-scroll{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:none;padding:0 12px;}
.chat-scroll::-webkit-scrollbar{display:none;}
.chat-history{display:flex;flex-shrink:0;align-items:center;justify-content:center;height:36px;margin-top:auto;color:#a0a4ae;font-size:10px;}
.chat-messages{flex-shrink:0;}
.chat-dialog .chat-history button{border:0;min-height:36px;padding:6px;font-size:11px;}
.chat-empty{flex:1;margin:0;display:grid;place-items:center;padding:24px 0;text-align:center;color:#a0a4ae;}
.chat-row{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;column-gap:8px;row-gap:4px;margin:0 0 12px;}
.chat-dialog .chat-avatar{width:40px;height:40px;flex:0 0 40px;min-height:40px;padding:0;border:1px solid #f2c8d6;overflow:hidden;background:#fff6f9;}
.chat-avatar img{display:block;width:100%;height:100%;object-fit:contain;}
.chat-row>.chat-avatar{grid-column:1;grid-row:2;}
.chat-copy{grid-column:2;grid-row:2;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%;}
.chat-meta{grid-column:1 / -1;grid-row:1;display:flex;align-items:baseline;gap:7px;min-width:0;max-width:100%;margin:0;line-height:1.4;}
.chat-name{min-width:0;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-meta time{flex-shrink:0;font-size:10px;color:#9a9fac;white-space:nowrap;}
.chat-text{max-width:100%;margin:0;border:1px solid #ece8eb;background:#fff;padding:8px 10px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;}
.chat-row.is-self{grid-template-columns:minmax(0,1fr) 40px;}
.chat-row.is-self>.chat-avatar{grid-column:2;}
.chat-row.is-self .chat-copy{grid-column:1;justify-self:end;align-items:flex-end;}
.chat-row.is-self .chat-meta{flex-direction:row-reverse;}
.chat-row.is-self .chat-text{border-color:#f7c7d7;background:#fff2f7;}
.chat-row.is-self .chat-avatar:disabled{opacity:1;}
.chat-footer{flex-shrink:0;border-top:1px solid #f2e4e9;padding:10px 12px 4px;background:#fffafd;}
.chat-feedback{height:28px;display:flex;align-items:center;gap:8px;min-width:0;}
.chat-status{flex:1;min-width:0;margin:0;font-size:11px;color:#b14d6e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-status:empty::before{content:'点击头像可切磋';color:#959aa5;}
.chat-dialog .chat-new{min-height:28px;padding:3px 7px;font-size:11px;white-space:nowrap;}
.chat-dialog [data-chat-retry]{min-height:26px;padding:2px 6px;font-size:11px;}
.chat-compose{display:flex;align-items:stretch;gap:8px;}
.chat-compose textarea{display:block;flex:1;min-width:0;height:44px;resize:none;border:1px solid #f3bbce;border-radius:0;background:#fff;color:#303640;padding:9px 8px;font-family:inherit;font-size:16px;line-height:24px;}
.chat-dialog .chat-compose button{min-width:64px;padding:7px 10px;background:#ed6b94;border-color:#ed6b94;color:#fff;}
.chat-dialog .chat-compose button:hover:not(:disabled){background:#de5984;}
.chat-dialog .chat-compose button:disabled{background:#f9dbe5;border-color:#f9dbe5;color:#be7d92;opacity:1;}
.chat-counter{flex-shrink:0;margin:0;color:#959aa5;font-size:10px;font-variant-numeric:tabular-nums;}
.chat-person{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 0 9px;margin-bottom:9px;border-bottom:1px solid #f2e4e9;}
.chat-person strong{flex:1;min-width:90px;font-size:12px;overflow-wrap:anywhere;}
.chat-dialog .chat-person button{min-height:34px;padding:5px 8px;font-size:12px;}
.chat-dialog.is-compact .chat-header{padding:6px 10px;}
.chat-dialog.is-compact .chat-footer{padding-top:6px;}
@media(max-height:450px){.chat-header{padding:6px 10px;}.chat-footer{padding-top:6px;}}
